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

package smsc;

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

  public static void registerAllExtensions(
      com.google.protobuf.ExtensionRegistry registry) {
    registerAllExtensions(
        (com.google.protobuf.ExtensionRegistryLite) registry);
  }
  /**
   * Protobuf enum {@code smsc.OrderState}
   */
  public enum OrderState
      implements com.google.protobuf.ProtocolMessageEnum {
    /**
     * <code>OSUndefined = 0;</code>
     */
    OSUndefined(0),
    /**
     * <pre>
     *待发货
     * </pre>
     *
     * <code>OSTodelivered = 1;</code>
     */
    OSTodelivered(1),
    /**
     * <pre>
     *已发货，待运输
     * </pre>
     *
     * <code>OSToCarried = 2;</code>
     */
    OSToCarried(2),
    /**
     * <pre>
     *运输中
     * </pre>
     *
     * <code>OSCarrying = 3;</code>
     */
    OSCarrying(3),
    /**
     * <pre>
     *已点货
     * </pre>
     *
     * <code>OSChecked = 4;</code>
     */
    OSChecked(4),
    /**
     * <pre>
     *拒收
     * </pre>
     *
     * <code>OSRefused = 5;</code>
     */
    OSRefused(5),
    UNRECOGNIZED(-1),
    ;

    /**
     * <code>OSUndefined = 0;</code>
     */
    public static final int OSUndefined_VALUE = 0;
    /**
     * <pre>
     *待发货
     * </pre>
     *
     * <code>OSTodelivered = 1;</code>
     */
    public static final int OSTodelivered_VALUE = 1;
    /**
     * <pre>
     *已发货，待运输
     * </pre>
     *
     * <code>OSToCarried = 2;</code>
     */
    public static final int OSToCarried_VALUE = 2;
    /**
     * <pre>
     *运输中
     * </pre>
     *
     * <code>OSCarrying = 3;</code>
     */
    public static final int OSCarrying_VALUE = 3;
    /**
     * <pre>
     *已点货
     * </pre>
     *
     * <code>OSChecked = 4;</code>
     */
    public static final int OSChecked_VALUE = 4;
    /**
     * <pre>
     *拒收
     * </pre>
     *
     * <code>OSRefused = 5;</code>
     */
    public static final int OSRefused_VALUE = 5;


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

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

    public static OrderState forNumber(int value) {
      switch (value) {
        case 0: return OSUndefined;
        case 1: return OSTodelivered;
        case 2: return OSToCarried;
        case 3: return OSCarrying;
        case 4: return OSChecked;
        case 5: return OSRefused;
        default: return null;
      }
    }

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

    public final com.google.protobuf.Descriptors.EnumValueDescriptor
        getValueDescriptor() {
      return getDescriptor().getValues().get(ordinal());
    }
    public final com.google.protobuf.Descriptors.EnumDescriptor
        getDescriptorForType() {
      return getDescriptor();
    }
    public static final com.google.protobuf.Descriptors.EnumDescriptor
        getDescriptor() {
      return smsc.Api.getDescriptor().getEnumTypes().get(0);
    }

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

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

    private final int value;

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

    // @@protoc_insertion_point(enum_scope:smsc.OrderState)
  }

  /**
   * Protobuf enum {@code smsc.Role}
   */
  public enum Role
      implements com.google.protobuf.ProtocolMessageEnum {
    /**
     * <code>RUndefined = 0;</code>
     */
    RUndefined(0),
    /**
     * <code>RPlanner = 1;</code>
     */
    RPlanner(1),
    /**
     * <code>RSupplier = 2;</code>
     */
    RSupplier(2),
    /**
     * <code>RCarrier = 3;</code>
     */
    RCarrier(3),
    /**
     * <code>RChecker = 4;</code>
     */
    RChecker(4),
    UNRECOGNIZED(-1),
    ;

    /**
     * <code>RUndefined = 0;</code>
     */
    public static final int RUndefined_VALUE = 0;
    /**
     * <code>RPlanner = 1;</code>
     */
    public static final int RPlanner_VALUE = 1;
    /**
     * <code>RSupplier = 2;</code>
     */
    public static final int RSupplier_VALUE = 2;
    /**
     * <code>RCarrier = 3;</code>
     */
    public static final int RCarrier_VALUE = 3;
    /**
     * <code>RChecker = 4;</code>
     */
    public static final int RChecker_VALUE = 4;


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

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

    public static Role forNumber(int value) {
      switch (value) {
        case 0: return RUndefined;
        case 1: return RPlanner;
        case 2: return RSupplier;
        case 3: return RCarrier;
        case 4: return RChecker;
        default: return null;
      }
    }

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

    public final com.google.protobuf.Descriptors.EnumValueDescriptor
        getValueDescriptor() {
      return getDescriptor().getValues().get(ordinal());
    }
    public final com.google.protobuf.Descriptors.EnumDescriptor
        getDescriptorForType() {
      return getDescriptor();
    }
    public static final com.google.protobuf.Descriptors.EnumDescriptor
        getDescriptor() {
      return smsc.Api.getDescriptor().getEnumTypes().get(1);
    }

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

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

    private final int value;

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

    // @@protoc_insertion_point(enum_scope:smsc.Role)
  }

  /**
   * Protobuf enum {@code smsc.MessageType}
   */
  public enum MessageType
      implements com.google.protobuf.ProtocolMessageEnum {
    /**
     * <code>MsgError = 0;</code>
     */
    MsgError(0),
    /**
     * <pre>
     *设置管理员公钥
     * </pre>
     *
     * <code>MsgSetAdmin = 1;</code>
     */
    MsgSetAdmin(1),
    /**
     * <pre>
     *创建用户
     * </pre>
     *
     * <code>MsgCreateAccount = 2;</code>
     */
    MsgCreateAccount(2),
    /**
     * <pre>
     *编辑用户
     * </pre>
     *
     * <code>MsgEditAccount = 3;</code>
     */
    MsgEditAccount(3),
    /**
     * <pre>
     *删除用户
     * </pre>
     *
     * <code>MsgDeleteAccount = 4;</code>
     */
    MsgDeleteAccount(4),
    /**
     * <pre>
     *增加或删除供应商
     * </pre>
     *
     * <code>MsgSetSupplier = 5;</code>
     */
    MsgSetSupplier(5),
    /**
     * <pre>
     *订单发布
     * </pre>
     *
     * <code>MsgCreateOrder = 6;</code>
     */
    MsgCreateOrder(6),
    /**
     * <pre>
     *发货
     * </pre>
     *
     * <code>MsgDelivery = 7;</code>
     */
    MsgDelivery(7),
    /**
     * <pre>
     *承运
     * </pre>
     *
     * <code>MsgCarry = 8;</code>
     */
    MsgCarry(8),
    /**
     * <pre>
     *点货
     * </pre>
     *
     * <code>MsgCheck = 9;</code>
     */
    MsgCheck(9),
    /**
     * <code>MsgCount = 10;</code>
     */
    MsgCount(10),
    UNRECOGNIZED(-1),
    ;

    /**
     * <code>MsgError = 0;</code>
     */
    public static final int MsgError_VALUE = 0;
    /**
     * <pre>
     *设置管理员公钥
     * </pre>
     *
     * <code>MsgSetAdmin = 1;</code>
     */
    public static final int MsgSetAdmin_VALUE = 1;
    /**
     * <pre>
     *创建用户
     * </pre>
     *
     * <code>MsgCreateAccount = 2;</code>
     */
    public static final int MsgCreateAccount_VALUE = 2;
    /**
     * <pre>
     *编辑用户
     * </pre>
     *
     * <code>MsgEditAccount = 3;</code>
     */
    public static final int MsgEditAccount_VALUE = 3;
    /**
     * <pre>
     *删除用户
     * </pre>
     *
     * <code>MsgDeleteAccount = 4;</code>
     */
    public static final int MsgDeleteAccount_VALUE = 4;
    /**
     * <pre>
     *增加或删除供应商
     * </pre>
     *
     * <code>MsgSetSupplier = 5;</code>
     */
    public static final int MsgSetSupplier_VALUE = 5;
    /**
     * <pre>
     *订单发布
     * </pre>
     *
     * <code>MsgCreateOrder = 6;</code>
     */
    public static final int MsgCreateOrder_VALUE = 6;
    /**
     * <pre>
     *发货
     * </pre>
     *
     * <code>MsgDelivery = 7;</code>
     */
    public static final int MsgDelivery_VALUE = 7;
    /**
     * <pre>
     *承运
     * </pre>
     *
     * <code>MsgCarry = 8;</code>
     */
    public static final int MsgCarry_VALUE = 8;
    /**
     * <pre>
     *点货
     * </pre>
     *
     * <code>MsgCheck = 9;</code>
     */
    public static final int MsgCheck_VALUE = 9;
    /**
     * <code>MsgCount = 10;</code>
     */
    public static final int MsgCount_VALUE = 10;


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

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

    public static MessageType forNumber(int value) {
      switch (value) {
        case 0: return MsgError;
        case 1: return MsgSetAdmin;
        case 2: return MsgCreateAccount;
        case 3: return MsgEditAccount;
        case 4: return MsgDeleteAccount;
        case 5: return MsgSetSupplier;
        case 6: return MsgCreateOrder;
        case 7: return MsgDelivery;
        case 8: return MsgCarry;
        case 9: return MsgCheck;
        case 10: return MsgCount;
        default: return null;
      }
    }

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

    public final com.google.protobuf.Descriptors.EnumValueDescriptor
        getValueDescriptor() {
      return getDescriptor().getValues().get(ordinal());
    }
    public final com.google.protobuf.Descriptors.EnumDescriptor
        getDescriptorForType() {
      return getDescriptor();
    }
    public static final com.google.protobuf.Descriptors.EnumDescriptor
        getDescriptor() {
      return smsc.Api.getDescriptor().getEnumTypes().get(2);
    }

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

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

    private final int value;

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

    // @@protoc_insertion_point(enum_scope:smsc.MessageType)
  }

  /**
   * Protobuf enum {@code smsc.Operate}
   */
  public enum Operate
      implements com.google.protobuf.ProtocolMessageEnum {
    /**
     * <code>OUndefined = 0;</code>
     */
    OUndefined(0),
    /**
     * <pre>
     *增加供应商
     * </pre>
     *
     * <code>OAdd = 1;</code>
     */
    OAdd(1),
    /**
     * <pre>
     *删除供应商
     * </pre>
     *
     * <code>ODel = 2;</code>
     */
    ODel(2),
    /**
     * <pre>
     *拒收
     * </pre>
     *
     * <code>ORefuse = 3;</code>
     */
    ORefuse(3),
    /**
     * <pre>
     *确认点货
     * </pre>
     *
     * <code>OPass = 4;</code>
     */
    OPass(4),
    UNRECOGNIZED(-1),
    ;

    /**
     * <code>OUndefined = 0;</code>
     */
    public static final int OUndefined_VALUE = 0;
    /**
     * <pre>
     *增加供应商
     * </pre>
     *
     * <code>OAdd = 1;</code>
     */
    public static final int OAdd_VALUE = 1;
    /**
     * <pre>
     *删除供应商
     * </pre>
     *
     * <code>ODel = 2;</code>
     */
    public static final int ODel_VALUE = 2;
    /**
     * <pre>
     *拒收
     * </pre>
     *
     * <code>ORefuse = 3;</code>
     */
    public static final int ORefuse_VALUE = 3;
    /**
     * <pre>
     *确认点货
     * </pre>
     *
     * <code>OPass = 4;</code>
     */
    public static final int OPass_VALUE = 4;


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

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

    public static Operate forNumber(int value) {
      switch (value) {
        case 0: return OUndefined;
        case 1: return OAdd;
        case 2: return ODel;
        case 3: return ORefuse;
        case 4: return OPass;
        default: return null;
      }
    }

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

    public final com.google.protobuf.Descriptors.EnumValueDescriptor
        getValueDescriptor() {
      return getDescriptor().getValues().get(ordinal());
    }
    public final com.google.protobuf.Descriptors.EnumDescriptor
        getDescriptorForType() {
      return getDescriptor();
    }
    public static final com.google.protobuf.Descriptors.EnumDescriptor
        getDescriptor() {
      return smsc.Api.getDescriptor().getEnumTypes().get(3);
    }

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

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

    private final int value;

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

    // @@protoc_insertion_point(enum_scope:smsc.Operate)
  }

  public interface AdminOrBuilder extends
      // @@protoc_insertion_point(interface_extends:smsc.Admin)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <pre>
     *公钥
     * </pre>
     *
     * <code>optional bytes pubkey = 1;</code>
     */
    com.google.protobuf.ByteString getPubkey();
  }
  /**
   * <pre>
   *管理员
   * </pre>
   *
   * Protobuf type {@code smsc.Admin}
   */
  public  static final class Admin extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:smsc.Admin)
      AdminOrBuilder {
    // Use Admin.newBuilder() to construct.
    private Admin(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private Admin() {
      pubkey_ = com.google.protobuf.ByteString.EMPTY;
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return com.google.protobuf.UnknownFieldSet.getDefaultInstance();
    }
    private Admin(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      int mutable_bitField0_ = 0;
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!input.skipField(tag)) {
                done = true;
              }
              break;
            }
            case 10: {

              pubkey_ = input.readBytes();
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return smsc.Api.internal_static_smsc_Admin_descriptor;
    }

    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return smsc.Api.internal_static_smsc_Admin_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              smsc.Api.Admin.class, smsc.Api.Admin.Builder.class);
    }

    public static final int PUBKEY_FIELD_NUMBER = 1;
    private com.google.protobuf.ByteString pubkey_;
    /**
     * <pre>
     *公钥
     * </pre>
     *
     * <code>optional bytes pubkey = 1;</code>
     */
    public com.google.protobuf.ByteString getPubkey() {
      return pubkey_;
    }

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

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (!pubkey_.isEmpty()) {
        output.writeBytes(1, pubkey_);
      }
    }

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

      size = 0;
      if (!pubkey_.isEmpty()) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(1, pubkey_);
      }
      memoizedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof smsc.Api.Admin)) {
        return super.equals(obj);
      }
      smsc.Api.Admin other = (smsc.Api.Admin) obj;

      boolean result = true;
      result = result && getPubkey()
          .equals(other.getPubkey());
      return result;
    }

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

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

    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(smsc.Api.Admin prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * <pre>
     *管理员
     * </pre>
     *
     * Protobuf type {@code smsc.Admin}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:smsc.Admin)
        smsc.Api.AdminOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return smsc.Api.internal_static_smsc_Admin_descriptor;
      }

      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return smsc.Api.internal_static_smsc_Admin_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                smsc.Api.Admin.class, smsc.Api.Admin.Builder.class);
      }

      // Construct using smsc.Api.Admin.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
        }
      }
      public Builder clear() {
        super.clear();
        pubkey_ = com.google.protobuf.ByteString.EMPTY;

        return this;
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return smsc.Api.internal_static_smsc_Admin_descriptor;
      }

      public smsc.Api.Admin getDefaultInstanceForType() {
        return smsc.Api.Admin.getDefaultInstance();
      }

      public smsc.Api.Admin build() {
        smsc.Api.Admin result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public smsc.Api.Admin buildPartial() {
        smsc.Api.Admin result = new smsc.Api.Admin(this);
        result.pubkey_ = pubkey_;
        onBuilt();
        return result;
      }

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

      public Builder mergeFrom(smsc.Api.Admin other) {
        if (other == smsc.Api.Admin.getDefaultInstance()) return this;
        if (other.getPubkey() != com.google.protobuf.ByteString.EMPTY) {
          setPubkey(other.getPubkey());
        }
        onChanged();
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        smsc.Api.Admin parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (smsc.Api.Admin) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }

      private com.google.protobuf.ByteString pubkey_ = com.google.protobuf.ByteString.EMPTY;
      /**
       * <pre>
       *公钥
       * </pre>
       *
       * <code>optional bytes pubkey = 1;</code>
       */
      public com.google.protobuf.ByteString getPubkey() {
        return pubkey_;
      }
      /**
       * <pre>
       *公钥
       * </pre>
       *
       * <code>optional bytes pubkey = 1;</code>
       */
      public Builder setPubkey(com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        pubkey_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *公钥
       * </pre>
       *
       * <code>optional bytes pubkey = 1;</code>
       */
      public Builder clearPubkey() {
        
        pubkey_ = getDefaultInstance().getPubkey();
        onChanged();
        return this;
      }
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return this;
      }

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


      // @@protoc_insertion_point(builder_scope:smsc.Admin)
    }

    // @@protoc_insertion_point(class_scope:smsc.Admin)
    private static final smsc.Api.Admin DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new smsc.Api.Admin();
    }

    public static smsc.Api.Admin getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

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

    public smsc.Api.Admin getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface PlannerOrBuilder extends
      // @@protoc_insertion_point(interface_extends:smsc.Planner)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <pre>
     *计划员ID
     * </pre>
     *
     * <code>optional int64 id = 1;</code>
     */
    long getId();

    /**
     * <pre>
     *计划员账号
     * </pre>
     *
     * <code>optional string account = 2;</code>
     */
    java.lang.String getAccount();
    /**
     * <pre>
     *计划员账号
     * </pre>
     *
     * <code>optional string account = 2;</code>
     */
    com.google.protobuf.ByteString
        getAccountBytes();

    /**
     * <pre>
     *计划员名称
     * </pre>
     *
     * <code>optional string name = 3;</code>
     */
    java.lang.String getName();
    /**
     * <pre>
     *计划员名称
     * </pre>
     *
     * <code>optional string name = 3;</code>
     */
    com.google.protobuf.ByteString
        getNameBytes();

    /**
     * <pre>
     *管理供应商
     * </pre>
     *
     * <code>repeated int64 supplier = 4;</code>
     */
    java.util.List<java.lang.Long> getSupplierList();
    /**
     * <pre>
     *管理供应商
     * </pre>
     *
     * <code>repeated int64 supplier = 4;</code>
     */
    int getSupplierCount();
    /**
     * <pre>
     *管理供应商
     * </pre>
     *
     * <code>repeated int64 supplier = 4;</code>
     */
    long getSupplier(int index);

    /**
     * <pre>
     *公钥
     * </pre>
     *
     * <code>optional bytes pubkey = 5;</code>
     */
    com.google.protobuf.ByteString getPubkey();
  }
  /**
   * <pre>
   *计划员
   * </pre>
   *
   * Protobuf type {@code smsc.Planner}
   */
  public  static final class Planner extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:smsc.Planner)
      PlannerOrBuilder {
    // Use Planner.newBuilder() to construct.
    private Planner(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private Planner() {
      id_ = 0L;
      account_ = "";
      name_ = "";
      supplier_ = java.util.Collections.emptyList();
      pubkey_ = com.google.protobuf.ByteString.EMPTY;
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return com.google.protobuf.UnknownFieldSet.getDefaultInstance();
    }
    private Planner(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      int mutable_bitField0_ = 0;
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!input.skipField(tag)) {
                done = true;
              }
              break;
            }
            case 8: {

              id_ = input.readInt64();
              break;
            }
            case 18: {
              java.lang.String s = input.readStringRequireUtf8();

              account_ = s;
              break;
            }
            case 26: {
              java.lang.String s = input.readStringRequireUtf8();

              name_ = s;
              break;
            }
            case 32: {
              if (!((mutable_bitField0_ & 0x00000008) == 0x00000008)) {
                supplier_ = new java.util.ArrayList<java.lang.Long>();
                mutable_bitField0_ |= 0x00000008;
              }
              supplier_.add(input.readInt64());
              break;
            }
            case 34: {
              int length = input.readRawVarint32();
              int limit = input.pushLimit(length);
              if (!((mutable_bitField0_ & 0x00000008) == 0x00000008) && input.getBytesUntilLimit() > 0) {
                supplier_ = new java.util.ArrayList<java.lang.Long>();
                mutable_bitField0_ |= 0x00000008;
              }
              while (input.getBytesUntilLimit() > 0) {
                supplier_.add(input.readInt64());
              }
              input.popLimit(limit);
              break;
            }
            case 42: {

              pubkey_ = input.readBytes();
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        if (((mutable_bitField0_ & 0x00000008) == 0x00000008)) {
          supplier_ = java.util.Collections.unmodifiableList(supplier_);
        }
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return smsc.Api.internal_static_smsc_Planner_descriptor;
    }

    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return smsc.Api.internal_static_smsc_Planner_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              smsc.Api.Planner.class, smsc.Api.Planner.Builder.class);
    }

    private int bitField0_;
    public static final int ID_FIELD_NUMBER = 1;
    private long id_;
    /**
     * <pre>
     *计划员ID
     * </pre>
     *
     * <code>optional int64 id = 1;</code>
     */
    public long getId() {
      return id_;
    }

    public static final int ACCOUNT_FIELD_NUMBER = 2;
    private volatile java.lang.Object account_;
    /**
     * <pre>
     *计划员账号
     * </pre>
     *
     * <code>optional string account = 2;</code>
     */
    public java.lang.String getAccount() {
      java.lang.Object ref = account_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        account_ = s;
        return s;
      }
    }
    /**
     * <pre>
     *计划员账号
     * </pre>
     *
     * <code>optional string account = 2;</code>
     */
    public com.google.protobuf.ByteString
        getAccountBytes() {
      java.lang.Object ref = account_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        account_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int NAME_FIELD_NUMBER = 3;
    private volatile java.lang.Object name_;
    /**
     * <pre>
     *计划员名称
     * </pre>
     *
     * <code>optional string name = 3;</code>
     */
    public java.lang.String getName() {
      java.lang.Object ref = name_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        name_ = s;
        return s;
      }
    }
    /**
     * <pre>
     *计划员名称
     * </pre>
     *
     * <code>optional string name = 3;</code>
     */
    public com.google.protobuf.ByteString
        getNameBytes() {
      java.lang.Object ref = name_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        name_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int SUPPLIER_FIELD_NUMBER = 4;
    private java.util.List<java.lang.Long> supplier_;
    /**
     * <pre>
     *管理供应商
     * </pre>
     *
     * <code>repeated int64 supplier = 4;</code>
     */
    public java.util.List<java.lang.Long>
        getSupplierList() {
      return supplier_;
    }
    /**
     * <pre>
     *管理供应商
     * </pre>
     *
     * <code>repeated int64 supplier = 4;</code>
     */
    public int getSupplierCount() {
      return supplier_.size();
    }
    /**
     * <pre>
     *管理供应商
     * </pre>
     *
     * <code>repeated int64 supplier = 4;</code>
     */
    public long getSupplier(int index) {
      return supplier_.get(index);
    }
    private int supplierMemoizedSerializedSize = -1;

    public static final int PUBKEY_FIELD_NUMBER = 5;
    private com.google.protobuf.ByteString pubkey_;
    /**
     * <pre>
     *公钥
     * </pre>
     *
     * <code>optional bytes pubkey = 5;</code>
     */
    public com.google.protobuf.ByteString getPubkey() {
      return pubkey_;
    }

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

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (id_ != 0L) {
        output.writeInt64(1, id_);
      }
      if (!getAccountBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 2, account_);
      }
      if (!getNameBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 3, name_);
      }
      if (getSupplierList().size() > 0) {
        output.writeUInt32NoTag(34);
        output.writeUInt32NoTag(supplierMemoizedSerializedSize);
      }
      for (int i = 0; i < supplier_.size(); i++) {
        output.writeInt64NoTag(supplier_.get(i));
      }
      if (!pubkey_.isEmpty()) {
        output.writeBytes(5, pubkey_);
      }
    }

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

      size = 0;
      if (id_ != 0L) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt64Size(1, id_);
      }
      if (!getAccountBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, account_);
      }
      if (!getNameBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3, name_);
      }
      {
        int dataSize = 0;
        for (int i = 0; i < supplier_.size(); i++) {
          dataSize += com.google.protobuf.CodedOutputStream
            .computeInt64SizeNoTag(supplier_.get(i));
        }
        size += dataSize;
        if (!getSupplierList().isEmpty()) {
          size += 1;
          size += com.google.protobuf.CodedOutputStream
              .computeInt32SizeNoTag(dataSize);
        }
        supplierMemoizedSerializedSize = dataSize;
      }
      if (!pubkey_.isEmpty()) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(5, pubkey_);
      }
      memoizedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof smsc.Api.Planner)) {
        return super.equals(obj);
      }
      smsc.Api.Planner other = (smsc.Api.Planner) obj;

      boolean result = true;
      result = result && (getId()
          == other.getId());
      result = result && getAccount()
          .equals(other.getAccount());
      result = result && getName()
          .equals(other.getName());
      result = result && getSupplierList()
          .equals(other.getSupplierList());
      result = result && getPubkey()
          .equals(other.getPubkey());
      return result;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptorForType().hashCode();
      hash = (37 * hash) + ID_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
          getId());
      hash = (37 * hash) + ACCOUNT_FIELD_NUMBER;
      hash = (53 * hash) + getAccount().hashCode();
      hash = (37 * hash) + NAME_FIELD_NUMBER;
      hash = (53 * hash) + getName().hashCode();
      if (getSupplierCount() > 0) {
        hash = (37 * hash) + SUPPLIER_FIELD_NUMBER;
        hash = (53 * hash) + getSupplierList().hashCode();
      }
      hash = (37 * hash) + PUBKEY_FIELD_NUMBER;
      hash = (53 * hash) + getPubkey().hashCode();
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

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

    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(smsc.Api.Planner prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * <pre>
     *计划员
     * </pre>
     *
     * Protobuf type {@code smsc.Planner}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:smsc.Planner)
        smsc.Api.PlannerOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return smsc.Api.internal_static_smsc_Planner_descriptor;
      }

      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return smsc.Api.internal_static_smsc_Planner_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                smsc.Api.Planner.class, smsc.Api.Planner.Builder.class);
      }

      // Construct using smsc.Api.Planner.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
        }
      }
      public Builder clear() {
        super.clear();
        id_ = 0L;

        account_ = "";

        name_ = "";

        supplier_ = java.util.Collections.emptyList();
        bitField0_ = (bitField0_ & ~0x00000008);
        pubkey_ = com.google.protobuf.ByteString.EMPTY;

        return this;
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return smsc.Api.internal_static_smsc_Planner_descriptor;
      }

      public smsc.Api.Planner getDefaultInstanceForType() {
        return smsc.Api.Planner.getDefaultInstance();
      }

      public smsc.Api.Planner build() {
        smsc.Api.Planner result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public smsc.Api.Planner buildPartial() {
        smsc.Api.Planner result = new smsc.Api.Planner(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        result.id_ = id_;
        result.account_ = account_;
        result.name_ = name_;
        if (((bitField0_ & 0x00000008) == 0x00000008)) {
          supplier_ = java.util.Collections.unmodifiableList(supplier_);
          bitField0_ = (bitField0_ & ~0x00000008);
        }
        result.supplier_ = supplier_;
        result.pubkey_ = pubkey_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

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

      public Builder mergeFrom(smsc.Api.Planner other) {
        if (other == smsc.Api.Planner.getDefaultInstance()) return this;
        if (other.getId() != 0L) {
          setId(other.getId());
        }
        if (!other.getAccount().isEmpty()) {
          account_ = other.account_;
          onChanged();
        }
        if (!other.getName().isEmpty()) {
          name_ = other.name_;
          onChanged();
        }
        if (!other.supplier_.isEmpty()) {
          if (supplier_.isEmpty()) {
            supplier_ = other.supplier_;
            bitField0_ = (bitField0_ & ~0x00000008);
          } else {
            ensureSupplierIsMutable();
            supplier_.addAll(other.supplier_);
          }
          onChanged();
        }
        if (other.getPubkey() != com.google.protobuf.ByteString.EMPTY) {
          setPubkey(other.getPubkey());
        }
        onChanged();
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

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

      private long id_ ;
      /**
       * <pre>
       *计划员ID
       * </pre>
       *
       * <code>optional int64 id = 1;</code>
       */
      public long getId() {
        return id_;
      }
      /**
       * <pre>
       *计划员ID
       * </pre>
       *
       * <code>optional int64 id = 1;</code>
       */
      public Builder setId(long value) {
        
        id_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *计划员ID
       * </pre>
       *
       * <code>optional int64 id = 1;</code>
       */
      public Builder clearId() {
        
        id_ = 0L;
        onChanged();
        return this;
      }

      private java.lang.Object account_ = "";
      /**
       * <pre>
       *计划员账号
       * </pre>
       *
       * <code>optional string account = 2;</code>
       */
      public java.lang.String getAccount() {
        java.lang.Object ref = account_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          account_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <pre>
       *计划员账号
       * </pre>
       *
       * <code>optional string account = 2;</code>
       */
      public com.google.protobuf.ByteString
          getAccountBytes() {
        java.lang.Object ref = account_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          account_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <pre>
       *计划员账号
       * </pre>
       *
       * <code>optional string account = 2;</code>
       */
      public Builder setAccount(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        account_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *计划员账号
       * </pre>
       *
       * <code>optional string account = 2;</code>
       */
      public Builder clearAccount() {
        
        account_ = getDefaultInstance().getAccount();
        onChanged();
        return this;
      }
      /**
       * <pre>
       *计划员账号
       * </pre>
       *
       * <code>optional string account = 2;</code>
       */
      public Builder setAccountBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        account_ = value;
        onChanged();
        return this;
      }

      private java.lang.Object name_ = "";
      /**
       * <pre>
       *计划员名称
       * </pre>
       *
       * <code>optional string name = 3;</code>
       */
      public java.lang.String getName() {
        java.lang.Object ref = name_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          name_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <pre>
       *计划员名称
       * </pre>
       *
       * <code>optional string name = 3;</code>
       */
      public com.google.protobuf.ByteString
          getNameBytes() {
        java.lang.Object ref = name_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          name_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <pre>
       *计划员名称
       * </pre>
       *
       * <code>optional string name = 3;</code>
       */
      public Builder setName(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        name_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *计划员名称
       * </pre>
       *
       * <code>optional string name = 3;</code>
       */
      public Builder clearName() {
        
        name_ = getDefaultInstance().getName();
        onChanged();
        return this;
      }
      /**
       * <pre>
       *计划员名称
       * </pre>
       *
       * <code>optional string name = 3;</code>
       */
      public Builder setNameBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        name_ = value;
        onChanged();
        return this;
      }

      private java.util.List<java.lang.Long> supplier_ = java.util.Collections.emptyList();
      private void ensureSupplierIsMutable() {
        if (!((bitField0_ & 0x00000008) == 0x00000008)) {
          supplier_ = new java.util.ArrayList<java.lang.Long>(supplier_);
          bitField0_ |= 0x00000008;
         }
      }
      /**
       * <pre>
       *管理供应商
       * </pre>
       *
       * <code>repeated int64 supplier = 4;</code>
       */
      public java.util.List<java.lang.Long>
          getSupplierList() {
        return java.util.Collections.unmodifiableList(supplier_);
      }
      /**
       * <pre>
       *管理供应商
       * </pre>
       *
       * <code>repeated int64 supplier = 4;</code>
       */
      public int getSupplierCount() {
        return supplier_.size();
      }
      /**
       * <pre>
       *管理供应商
       * </pre>
       *
       * <code>repeated int64 supplier = 4;</code>
       */
      public long getSupplier(int index) {
        return supplier_.get(index);
      }
      /**
       * <pre>
       *管理供应商
       * </pre>
       *
       * <code>repeated int64 supplier = 4;</code>
       */
      public Builder setSupplier(
          int index, long value) {
        ensureSupplierIsMutable();
        supplier_.set(index, value);
        onChanged();
        return this;
      }
      /**
       * <pre>
       *管理供应商
       * </pre>
       *
       * <code>repeated int64 supplier = 4;</code>
       */
      public Builder addSupplier(long value) {
        ensureSupplierIsMutable();
        supplier_.add(value);
        onChanged();
        return this;
      }
      /**
       * <pre>
       *管理供应商
       * </pre>
       *
       * <code>repeated int64 supplier = 4;</code>
       */
      public Builder addAllSupplier(
          java.lang.Iterable<? extends java.lang.Long> values) {
        ensureSupplierIsMutable();
        com.google.protobuf.AbstractMessageLite.Builder.addAll(
            values, supplier_);
        onChanged();
        return this;
      }
      /**
       * <pre>
       *管理供应商
       * </pre>
       *
       * <code>repeated int64 supplier = 4;</code>
       */
      public Builder clearSupplier() {
        supplier_ = java.util.Collections.emptyList();
        bitField0_ = (bitField0_ & ~0x00000008);
        onChanged();
        return this;
      }

      private com.google.protobuf.ByteString pubkey_ = com.google.protobuf.ByteString.EMPTY;
      /**
       * <pre>
       *公钥
       * </pre>
       *
       * <code>optional bytes pubkey = 5;</code>
       */
      public com.google.protobuf.ByteString getPubkey() {
        return pubkey_;
      }
      /**
       * <pre>
       *公钥
       * </pre>
       *
       * <code>optional bytes pubkey = 5;</code>
       */
      public Builder setPubkey(com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        pubkey_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *公钥
       * </pre>
       *
       * <code>optional bytes pubkey = 5;</code>
       */
      public Builder clearPubkey() {
        
        pubkey_ = getDefaultInstance().getPubkey();
        onChanged();
        return this;
      }
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return this;
      }

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


      // @@protoc_insertion_point(builder_scope:smsc.Planner)
    }

    // @@protoc_insertion_point(class_scope:smsc.Planner)
    private static final smsc.Api.Planner DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new smsc.Api.Planner();
    }

    public static smsc.Api.Planner getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

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

    public smsc.Api.Planner getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface SupplierOrBuilder extends
      // @@protoc_insertion_point(interface_extends:smsc.Supplier)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <pre>
     *供应商ID
     * </pre>
     *
     * <code>optional int64 id = 1;</code>
     */
    long getId();

    /**
     * <pre>
     *供应商账号
     * </pre>
     *
     * <code>optional string account = 2;</code>
     */
    java.lang.String getAccount();
    /**
     * <pre>
     *供应商账号
     * </pre>
     *
     * <code>optional string account = 2;</code>
     */
    com.google.protobuf.ByteString
        getAccountBytes();

    /**
     * <pre>
     *供应商名称
     * </pre>
     *
     * <code>optional string name = 3;</code>
     */
    java.lang.String getName();
    /**
     * <pre>
     *供应商名称
     * </pre>
     *
     * <code>optional string name = 3;</code>
     */
    com.google.protobuf.ByteString
        getNameBytes();

    /**
     * <pre>
     *所属计划员
     * </pre>
     *
     * <code>optional int64 planner = 4;</code>
     */
    long getPlanner();

    /**
     * <pre>
     *公钥
     * </pre>
     *
     * <code>optional bytes pubkey = 5;</code>
     */
    com.google.protobuf.ByteString getPubkey();
  }
  /**
   * <pre>
   *供应商
   * </pre>
   *
   * Protobuf type {@code smsc.Supplier}
   */
  public  static final class Supplier extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:smsc.Supplier)
      SupplierOrBuilder {
    // Use Supplier.newBuilder() to construct.
    private Supplier(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private Supplier() {
      id_ = 0L;
      account_ = "";
      name_ = "";
      planner_ = 0L;
      pubkey_ = com.google.protobuf.ByteString.EMPTY;
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return com.google.protobuf.UnknownFieldSet.getDefaultInstance();
    }
    private Supplier(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      int mutable_bitField0_ = 0;
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!input.skipField(tag)) {
                done = true;
              }
              break;
            }
            case 8: {

              id_ = input.readInt64();
              break;
            }
            case 18: {
              java.lang.String s = input.readStringRequireUtf8();

              account_ = s;
              break;
            }
            case 26: {
              java.lang.String s = input.readStringRequireUtf8();

              name_ = s;
              break;
            }
            case 32: {

              planner_ = input.readInt64();
              break;
            }
            case 42: {

              pubkey_ = input.readBytes();
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return smsc.Api.internal_static_smsc_Supplier_descriptor;
    }

    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return smsc.Api.internal_static_smsc_Supplier_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              smsc.Api.Supplier.class, smsc.Api.Supplier.Builder.class);
    }

    public static final int ID_FIELD_NUMBER = 1;
    private long id_;
    /**
     * <pre>
     *供应商ID
     * </pre>
     *
     * <code>optional int64 id = 1;</code>
     */
    public long getId() {
      return id_;
    }

    public static final int ACCOUNT_FIELD_NUMBER = 2;
    private volatile java.lang.Object account_;
    /**
     * <pre>
     *供应商账号
     * </pre>
     *
     * <code>optional string account = 2;</code>
     */
    public java.lang.String getAccount() {
      java.lang.Object ref = account_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        account_ = s;
        return s;
      }
    }
    /**
     * <pre>
     *供应商账号
     * </pre>
     *
     * <code>optional string account = 2;</code>
     */
    public com.google.protobuf.ByteString
        getAccountBytes() {
      java.lang.Object ref = account_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        account_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int NAME_FIELD_NUMBER = 3;
    private volatile java.lang.Object name_;
    /**
     * <pre>
     *供应商名称
     * </pre>
     *
     * <code>optional string name = 3;</code>
     */
    public java.lang.String getName() {
      java.lang.Object ref = name_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        name_ = s;
        return s;
      }
    }
    /**
     * <pre>
     *供应商名称
     * </pre>
     *
     * <code>optional string name = 3;</code>
     */
    public com.google.protobuf.ByteString
        getNameBytes() {
      java.lang.Object ref = name_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        name_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int PLANNER_FIELD_NUMBER = 4;
    private long planner_;
    /**
     * <pre>
     *所属计划员
     * </pre>
     *
     * <code>optional int64 planner = 4;</code>
     */
    public long getPlanner() {
      return planner_;
    }

    public static final int PUBKEY_FIELD_NUMBER = 5;
    private com.google.protobuf.ByteString pubkey_;
    /**
     * <pre>
     *公钥
     * </pre>
     *
     * <code>optional bytes pubkey = 5;</code>
     */
    public com.google.protobuf.ByteString getPubkey() {
      return pubkey_;
    }

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

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (id_ != 0L) {
        output.writeInt64(1, id_);
      }
      if (!getAccountBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 2, account_);
      }
      if (!getNameBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 3, name_);
      }
      if (planner_ != 0L) {
        output.writeInt64(4, planner_);
      }
      if (!pubkey_.isEmpty()) {
        output.writeBytes(5, pubkey_);
      }
    }

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

      size = 0;
      if (id_ != 0L) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt64Size(1, id_);
      }
      if (!getAccountBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, account_);
      }
      if (!getNameBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3, name_);
      }
      if (planner_ != 0L) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt64Size(4, planner_);
      }
      if (!pubkey_.isEmpty()) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(5, pubkey_);
      }
      memoizedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof smsc.Api.Supplier)) {
        return super.equals(obj);
      }
      smsc.Api.Supplier other = (smsc.Api.Supplier) obj;

      boolean result = true;
      result = result && (getId()
          == other.getId());
      result = result && getAccount()
          .equals(other.getAccount());
      result = result && getName()
          .equals(other.getName());
      result = result && (getPlanner()
          == other.getPlanner());
      result = result && getPubkey()
          .equals(other.getPubkey());
      return result;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptorForType().hashCode();
      hash = (37 * hash) + ID_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
          getId());
      hash = (37 * hash) + ACCOUNT_FIELD_NUMBER;
      hash = (53 * hash) + getAccount().hashCode();
      hash = (37 * hash) + NAME_FIELD_NUMBER;
      hash = (53 * hash) + getName().hashCode();
      hash = (37 * hash) + PLANNER_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
          getPlanner());
      hash = (37 * hash) + PUBKEY_FIELD_NUMBER;
      hash = (53 * hash) + getPubkey().hashCode();
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

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

    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(smsc.Api.Supplier prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * <pre>
     *供应商
     * </pre>
     *
     * Protobuf type {@code smsc.Supplier}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:smsc.Supplier)
        smsc.Api.SupplierOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return smsc.Api.internal_static_smsc_Supplier_descriptor;
      }

      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return smsc.Api.internal_static_smsc_Supplier_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                smsc.Api.Supplier.class, smsc.Api.Supplier.Builder.class);
      }

      // Construct using smsc.Api.Supplier.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
        }
      }
      public Builder clear() {
        super.clear();
        id_ = 0L;

        account_ = "";

        name_ = "";

        planner_ = 0L;

        pubkey_ = com.google.protobuf.ByteString.EMPTY;

        return this;
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return smsc.Api.internal_static_smsc_Supplier_descriptor;
      }

      public smsc.Api.Supplier getDefaultInstanceForType() {
        return smsc.Api.Supplier.getDefaultInstance();
      }

      public smsc.Api.Supplier build() {
        smsc.Api.Supplier result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public smsc.Api.Supplier buildPartial() {
        smsc.Api.Supplier result = new smsc.Api.Supplier(this);
        result.id_ = id_;
        result.account_ = account_;
        result.name_ = name_;
        result.planner_ = planner_;
        result.pubkey_ = pubkey_;
        onBuilt();
        return result;
      }

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

      public Builder mergeFrom(smsc.Api.Supplier other) {
        if (other == smsc.Api.Supplier.getDefaultInstance()) return this;
        if (other.getId() != 0L) {
          setId(other.getId());
        }
        if (!other.getAccount().isEmpty()) {
          account_ = other.account_;
          onChanged();
        }
        if (!other.getName().isEmpty()) {
          name_ = other.name_;
          onChanged();
        }
        if (other.getPlanner() != 0L) {
          setPlanner(other.getPlanner());
        }
        if (other.getPubkey() != com.google.protobuf.ByteString.EMPTY) {
          setPubkey(other.getPubkey());
        }
        onChanged();
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        smsc.Api.Supplier parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (smsc.Api.Supplier) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }

      private long id_ ;
      /**
       * <pre>
       *供应商ID
       * </pre>
       *
       * <code>optional int64 id = 1;</code>
       */
      public long getId() {
        return id_;
      }
      /**
       * <pre>
       *供应商ID
       * </pre>
       *
       * <code>optional int64 id = 1;</code>
       */
      public Builder setId(long value) {
        
        id_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *供应商ID
       * </pre>
       *
       * <code>optional int64 id = 1;</code>
       */
      public Builder clearId() {
        
        id_ = 0L;
        onChanged();
        return this;
      }

      private java.lang.Object account_ = "";
      /**
       * <pre>
       *供应商账号
       * </pre>
       *
       * <code>optional string account = 2;</code>
       */
      public java.lang.String getAccount() {
        java.lang.Object ref = account_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          account_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <pre>
       *供应商账号
       * </pre>
       *
       * <code>optional string account = 2;</code>
       */
      public com.google.protobuf.ByteString
          getAccountBytes() {
        java.lang.Object ref = account_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          account_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <pre>
       *供应商账号
       * </pre>
       *
       * <code>optional string account = 2;</code>
       */
      public Builder setAccount(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        account_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *供应商账号
       * </pre>
       *
       * <code>optional string account = 2;</code>
       */
      public Builder clearAccount() {
        
        account_ = getDefaultInstance().getAccount();
        onChanged();
        return this;
      }
      /**
       * <pre>
       *供应商账号
       * </pre>
       *
       * <code>optional string account = 2;</code>
       */
      public Builder setAccountBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        account_ = value;
        onChanged();
        return this;
      }

      private java.lang.Object name_ = "";
      /**
       * <pre>
       *供应商名称
       * </pre>
       *
       * <code>optional string name = 3;</code>
       */
      public java.lang.String getName() {
        java.lang.Object ref = name_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          name_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <pre>
       *供应商名称
       * </pre>
       *
       * <code>optional string name = 3;</code>
       */
      public com.google.protobuf.ByteString
          getNameBytes() {
        java.lang.Object ref = name_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          name_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <pre>
       *供应商名称
       * </pre>
       *
       * <code>optional string name = 3;</code>
       */
      public Builder setName(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        name_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *供应商名称
       * </pre>
       *
       * <code>optional string name = 3;</code>
       */
      public Builder clearName() {
        
        name_ = getDefaultInstance().getName();
        onChanged();
        return this;
      }
      /**
       * <pre>
       *供应商名称
       * </pre>
       *
       * <code>optional string name = 3;</code>
       */
      public Builder setNameBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        name_ = value;
        onChanged();
        return this;
      }

      private long planner_ ;
      /**
       * <pre>
       *所属计划员
       * </pre>
       *
       * <code>optional int64 planner = 4;</code>
       */
      public long getPlanner() {
        return planner_;
      }
      /**
       * <pre>
       *所属计划员
       * </pre>
       *
       * <code>optional int64 planner = 4;</code>
       */
      public Builder setPlanner(long value) {
        
        planner_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *所属计划员
       * </pre>
       *
       * <code>optional int64 planner = 4;</code>
       */
      public Builder clearPlanner() {
        
        planner_ = 0L;
        onChanged();
        return this;
      }

      private com.google.protobuf.ByteString pubkey_ = com.google.protobuf.ByteString.EMPTY;
      /**
       * <pre>
       *公钥
       * </pre>
       *
       * <code>optional bytes pubkey = 5;</code>
       */
      public com.google.protobuf.ByteString getPubkey() {
        return pubkey_;
      }
      /**
       * <pre>
       *公钥
       * </pre>
       *
       * <code>optional bytes pubkey = 5;</code>
       */
      public Builder setPubkey(com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        pubkey_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *公钥
       * </pre>
       *
       * <code>optional bytes pubkey = 5;</code>
       */
      public Builder clearPubkey() {
        
        pubkey_ = getDefaultInstance().getPubkey();
        onChanged();
        return this;
      }
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return this;
      }

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


      // @@protoc_insertion_point(builder_scope:smsc.Supplier)
    }

    // @@protoc_insertion_point(class_scope:smsc.Supplier)
    private static final smsc.Api.Supplier DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new smsc.Api.Supplier();
    }

    public static smsc.Api.Supplier getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

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

    public smsc.Api.Supplier getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface CarrierOrBuilder extends
      // @@protoc_insertion_point(interface_extends:smsc.Carrier)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <pre>
     *承运商ID
     * </pre>
     *
     * <code>optional int64 id = 1;</code>
     */
    long getId();

    /**
     * <pre>
     *承运商账号
     * </pre>
     *
     * <code>optional string account = 2;</code>
     */
    java.lang.String getAccount();
    /**
     * <pre>
     *承运商账号
     * </pre>
     *
     * <code>optional string account = 2;</code>
     */
    com.google.protobuf.ByteString
        getAccountBytes();

    /**
     * <pre>
     *承运商名称
     * </pre>
     *
     * <code>optional string name = 3;</code>
     */
    java.lang.String getName();
    /**
     * <pre>
     *承运商名称
     * </pre>
     *
     * <code>optional string name = 3;</code>
     */
    com.google.protobuf.ByteString
        getNameBytes();

    /**
     * <pre>
     *公钥
     * </pre>
     *
     * <code>optional bytes pubkey = 4;</code>
     */
    com.google.protobuf.ByteString getPubkey();
  }
  /**
   * <pre>
   *承运商
   * </pre>
   *
   * Protobuf type {@code smsc.Carrier}
   */
  public  static final class Carrier extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:smsc.Carrier)
      CarrierOrBuilder {
    // Use Carrier.newBuilder() to construct.
    private Carrier(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private Carrier() {
      id_ = 0L;
      account_ = "";
      name_ = "";
      pubkey_ = com.google.protobuf.ByteString.EMPTY;
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return com.google.protobuf.UnknownFieldSet.getDefaultInstance();
    }
    private Carrier(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      int mutable_bitField0_ = 0;
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!input.skipField(tag)) {
                done = true;
              }
              break;
            }
            case 8: {

              id_ = input.readInt64();
              break;
            }
            case 18: {
              java.lang.String s = input.readStringRequireUtf8();

              account_ = s;
              break;
            }
            case 26: {
              java.lang.String s = input.readStringRequireUtf8();

              name_ = s;
              break;
            }
            case 34: {

              pubkey_ = input.readBytes();
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return smsc.Api.internal_static_smsc_Carrier_descriptor;
    }

    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return smsc.Api.internal_static_smsc_Carrier_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              smsc.Api.Carrier.class, smsc.Api.Carrier.Builder.class);
    }

    public static final int ID_FIELD_NUMBER = 1;
    private long id_;
    /**
     * <pre>
     *承运商ID
     * </pre>
     *
     * <code>optional int64 id = 1;</code>
     */
    public long getId() {
      return id_;
    }

    public static final int ACCOUNT_FIELD_NUMBER = 2;
    private volatile java.lang.Object account_;
    /**
     * <pre>
     *承运商账号
     * </pre>
     *
     * <code>optional string account = 2;</code>
     */
    public java.lang.String getAccount() {
      java.lang.Object ref = account_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        account_ = s;
        return s;
      }
    }
    /**
     * <pre>
     *承运商账号
     * </pre>
     *
     * <code>optional string account = 2;</code>
     */
    public com.google.protobuf.ByteString
        getAccountBytes() {
      java.lang.Object ref = account_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        account_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int NAME_FIELD_NUMBER = 3;
    private volatile java.lang.Object name_;
    /**
     * <pre>
     *承运商名称
     * </pre>
     *
     * <code>optional string name = 3;</code>
     */
    public java.lang.String getName() {
      java.lang.Object ref = name_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        name_ = s;
        return s;
      }
    }
    /**
     * <pre>
     *承运商名称
     * </pre>
     *
     * <code>optional string name = 3;</code>
     */
    public com.google.protobuf.ByteString
        getNameBytes() {
      java.lang.Object ref = name_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        name_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int PUBKEY_FIELD_NUMBER = 4;
    private com.google.protobuf.ByteString pubkey_;
    /**
     * <pre>
     *公钥
     * </pre>
     *
     * <code>optional bytes pubkey = 4;</code>
     */
    public com.google.protobuf.ByteString getPubkey() {
      return pubkey_;
    }

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

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (id_ != 0L) {
        output.writeInt64(1, id_);
      }
      if (!getAccountBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 2, account_);
      }
      if (!getNameBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 3, name_);
      }
      if (!pubkey_.isEmpty()) {
        output.writeBytes(4, pubkey_);
      }
    }

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

      size = 0;
      if (id_ != 0L) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt64Size(1, id_);
      }
      if (!getAccountBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, account_);
      }
      if (!getNameBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3, name_);
      }
      if (!pubkey_.isEmpty()) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(4, pubkey_);
      }
      memoizedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof smsc.Api.Carrier)) {
        return super.equals(obj);
      }
      smsc.Api.Carrier other = (smsc.Api.Carrier) obj;

      boolean result = true;
      result = result && (getId()
          == other.getId());
      result = result && getAccount()
          .equals(other.getAccount());
      result = result && getName()
          .equals(other.getName());
      result = result && getPubkey()
          .equals(other.getPubkey());
      return result;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptorForType().hashCode();
      hash = (37 * hash) + ID_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
          getId());
      hash = (37 * hash) + ACCOUNT_FIELD_NUMBER;
      hash = (53 * hash) + getAccount().hashCode();
      hash = (37 * hash) + NAME_FIELD_NUMBER;
      hash = (53 * hash) + getName().hashCode();
      hash = (37 * hash) + PUBKEY_FIELD_NUMBER;
      hash = (53 * hash) + getPubkey().hashCode();
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

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

    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(smsc.Api.Carrier prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * <pre>
     *承运商
     * </pre>
     *
     * Protobuf type {@code smsc.Carrier}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:smsc.Carrier)
        smsc.Api.CarrierOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return smsc.Api.internal_static_smsc_Carrier_descriptor;
      }

      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return smsc.Api.internal_static_smsc_Carrier_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                smsc.Api.Carrier.class, smsc.Api.Carrier.Builder.class);
      }

      // Construct using smsc.Api.Carrier.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
        }
      }
      public Builder clear() {
        super.clear();
        id_ = 0L;

        account_ = "";

        name_ = "";

        pubkey_ = com.google.protobuf.ByteString.EMPTY;

        return this;
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return smsc.Api.internal_static_smsc_Carrier_descriptor;
      }

      public smsc.Api.Carrier getDefaultInstanceForType() {
        return smsc.Api.Carrier.getDefaultInstance();
      }

      public smsc.Api.Carrier build() {
        smsc.Api.Carrier result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public smsc.Api.Carrier buildPartial() {
        smsc.Api.Carrier result = new smsc.Api.Carrier(this);
        result.id_ = id_;
        result.account_ = account_;
        result.name_ = name_;
        result.pubkey_ = pubkey_;
        onBuilt();
        return result;
      }

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

      public Builder mergeFrom(smsc.Api.Carrier other) {
        if (other == smsc.Api.Carrier.getDefaultInstance()) return this;
        if (other.getId() != 0L) {
          setId(other.getId());
        }
        if (!other.getAccount().isEmpty()) {
          account_ = other.account_;
          onChanged();
        }
        if (!other.getName().isEmpty()) {
          name_ = other.name_;
          onChanged();
        }
        if (other.getPubkey() != com.google.protobuf.ByteString.EMPTY) {
          setPubkey(other.getPubkey());
        }
        onChanged();
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        smsc.Api.Carrier parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (smsc.Api.Carrier) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }

      private long id_ ;
      /**
       * <pre>
       *承运商ID
       * </pre>
       *
       * <code>optional int64 id = 1;</code>
       */
      public long getId() {
        return id_;
      }
      /**
       * <pre>
       *承运商ID
       * </pre>
       *
       * <code>optional int64 id = 1;</code>
       */
      public Builder setId(long value) {
        
        id_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *承运商ID
       * </pre>
       *
       * <code>optional int64 id = 1;</code>
       */
      public Builder clearId() {
        
        id_ = 0L;
        onChanged();
        return this;
      }

      private java.lang.Object account_ = "";
      /**
       * <pre>
       *承运商账号
       * </pre>
       *
       * <code>optional string account = 2;</code>
       */
      public java.lang.String getAccount() {
        java.lang.Object ref = account_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          account_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <pre>
       *承运商账号
       * </pre>
       *
       * <code>optional string account = 2;</code>
       */
      public com.google.protobuf.ByteString
          getAccountBytes() {
        java.lang.Object ref = account_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          account_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <pre>
       *承运商账号
       * </pre>
       *
       * <code>optional string account = 2;</code>
       */
      public Builder setAccount(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        account_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *承运商账号
       * </pre>
       *
       * <code>optional string account = 2;</code>
       */
      public Builder clearAccount() {
        
        account_ = getDefaultInstance().getAccount();
        onChanged();
        return this;
      }
      /**
       * <pre>
       *承运商账号
       * </pre>
       *
       * <code>optional string account = 2;</code>
       */
      public Builder setAccountBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        account_ = value;
        onChanged();
        return this;
      }

      private java.lang.Object name_ = "";
      /**
       * <pre>
       *承运商名称
       * </pre>
       *
       * <code>optional string name = 3;</code>
       */
      public java.lang.String getName() {
        java.lang.Object ref = name_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          name_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <pre>
       *承运商名称
       * </pre>
       *
       * <code>optional string name = 3;</code>
       */
      public com.google.protobuf.ByteString
          getNameBytes() {
        java.lang.Object ref = name_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          name_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <pre>
       *承运商名称
       * </pre>
       *
       * <code>optional string name = 3;</code>
       */
      public Builder setName(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        name_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *承运商名称
       * </pre>
       *
       * <code>optional string name = 3;</code>
       */
      public Builder clearName() {
        
        name_ = getDefaultInstance().getName();
        onChanged();
        return this;
      }
      /**
       * <pre>
       *承运商名称
       * </pre>
       *
       * <code>optional string name = 3;</code>
       */
      public Builder setNameBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        name_ = value;
        onChanged();
        return this;
      }

      private com.google.protobuf.ByteString pubkey_ = com.google.protobuf.ByteString.EMPTY;
      /**
       * <pre>
       *公钥
       * </pre>
       *
       * <code>optional bytes pubkey = 4;</code>
       */
      public com.google.protobuf.ByteString getPubkey() {
        return pubkey_;
      }
      /**
       * <pre>
       *公钥
       * </pre>
       *
       * <code>optional bytes pubkey = 4;</code>
       */
      public Builder setPubkey(com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        pubkey_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *公钥
       * </pre>
       *
       * <code>optional bytes pubkey = 4;</code>
       */
      public Builder clearPubkey() {
        
        pubkey_ = getDefaultInstance().getPubkey();
        onChanged();
        return this;
      }
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return this;
      }

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


      // @@protoc_insertion_point(builder_scope:smsc.Carrier)
    }

    // @@protoc_insertion_point(class_scope:smsc.Carrier)
    private static final smsc.Api.Carrier DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new smsc.Api.Carrier();
    }

    public static smsc.Api.Carrier getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

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

    public smsc.Api.Carrier getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface CheckerOrBuilder extends
      // @@protoc_insertion_point(interface_extends:smsc.Checker)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <pre>
     *收货员ID
     * </pre>
     *
     * <code>optional int64 id = 1;</code>
     */
    long getId();

    /**
     * <pre>
     *收货员账号
     * </pre>
     *
     * <code>optional string account = 2;</code>
     */
    java.lang.String getAccount();
    /**
     * <pre>
     *收货员账号
     * </pre>
     *
     * <code>optional string account = 2;</code>
     */
    com.google.protobuf.ByteString
        getAccountBytes();

    /**
     * <pre>
     *收货员名称
     * </pre>
     *
     * <code>optional string name = 3;</code>
     */
    java.lang.String getName();
    /**
     * <pre>
     *收货员名称
     * </pre>
     *
     * <code>optional string name = 3;</code>
     */
    com.google.protobuf.ByteString
        getNameBytes();

    /**
     * <pre>
     *公钥
     * </pre>
     *
     * <code>optional bytes pubkey = 4;</code>
     */
    com.google.protobuf.ByteString getPubkey();
  }
  /**
   * <pre>
   *收货员
   * </pre>
   *
   * Protobuf type {@code smsc.Checker}
   */
  public  static final class Checker extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:smsc.Checker)
      CheckerOrBuilder {
    // Use Checker.newBuilder() to construct.
    private Checker(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private Checker() {
      id_ = 0L;
      account_ = "";
      name_ = "";
      pubkey_ = com.google.protobuf.ByteString.EMPTY;
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return com.google.protobuf.UnknownFieldSet.getDefaultInstance();
    }
    private Checker(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      int mutable_bitField0_ = 0;
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!input.skipField(tag)) {
                done = true;
              }
              break;
            }
            case 8: {

              id_ = input.readInt64();
              break;
            }
            case 18: {
              java.lang.String s = input.readStringRequireUtf8();

              account_ = s;
              break;
            }
            case 26: {
              java.lang.String s = input.readStringRequireUtf8();

              name_ = s;
              break;
            }
            case 34: {

              pubkey_ = input.readBytes();
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return smsc.Api.internal_static_smsc_Checker_descriptor;
    }

    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return smsc.Api.internal_static_smsc_Checker_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              smsc.Api.Checker.class, smsc.Api.Checker.Builder.class);
    }

    public static final int ID_FIELD_NUMBER = 1;
    private long id_;
    /**
     * <pre>
     *收货员ID
     * </pre>
     *
     * <code>optional int64 id = 1;</code>
     */
    public long getId() {
      return id_;
    }

    public static final int ACCOUNT_FIELD_NUMBER = 2;
    private volatile java.lang.Object account_;
    /**
     * <pre>
     *收货员账号
     * </pre>
     *
     * <code>optional string account = 2;</code>
     */
    public java.lang.String getAccount() {
      java.lang.Object ref = account_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        account_ = s;
        return s;
      }
    }
    /**
     * <pre>
     *收货员账号
     * </pre>
     *
     * <code>optional string account = 2;</code>
     */
    public com.google.protobuf.ByteString
        getAccountBytes() {
      java.lang.Object ref = account_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        account_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int NAME_FIELD_NUMBER = 3;
    private volatile java.lang.Object name_;
    /**
     * <pre>
     *收货员名称
     * </pre>
     *
     * <code>optional string name = 3;</code>
     */
    public java.lang.String getName() {
      java.lang.Object ref = name_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        name_ = s;
        return s;
      }
    }
    /**
     * <pre>
     *收货员名称
     * </pre>
     *
     * <code>optional string name = 3;</code>
     */
    public com.google.protobuf.ByteString
        getNameBytes() {
      java.lang.Object ref = name_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        name_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int PUBKEY_FIELD_NUMBER = 4;
    private com.google.protobuf.ByteString pubkey_;
    /**
     * <pre>
     *公钥
     * </pre>
     *
     * <code>optional bytes pubkey = 4;</code>
     */
    public com.google.protobuf.ByteString getPubkey() {
      return pubkey_;
    }

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

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (id_ != 0L) {
        output.writeInt64(1, id_);
      }
      if (!getAccountBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 2, account_);
      }
      if (!getNameBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 3, name_);
      }
      if (!pubkey_.isEmpty()) {
        output.writeBytes(4, pubkey_);
      }
    }

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

      size = 0;
      if (id_ != 0L) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt64Size(1, id_);
      }
      if (!getAccountBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, account_);
      }
      if (!getNameBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3, name_);
      }
      if (!pubkey_.isEmpty()) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(4, pubkey_);
      }
      memoizedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof smsc.Api.Checker)) {
        return super.equals(obj);
      }
      smsc.Api.Checker other = (smsc.Api.Checker) obj;

      boolean result = true;
      result = result && (getId()
          == other.getId());
      result = result && getAccount()
          .equals(other.getAccount());
      result = result && getName()
          .equals(other.getName());
      result = result && getPubkey()
          .equals(other.getPubkey());
      return result;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptorForType().hashCode();
      hash = (37 * hash) + ID_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
          getId());
      hash = (37 * hash) + ACCOUNT_FIELD_NUMBER;
      hash = (53 * hash) + getAccount().hashCode();
      hash = (37 * hash) + NAME_FIELD_NUMBER;
      hash = (53 * hash) + getName().hashCode();
      hash = (37 * hash) + PUBKEY_FIELD_NUMBER;
      hash = (53 * hash) + getPubkey().hashCode();
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

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

    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(smsc.Api.Checker prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * <pre>
     *收货员
     * </pre>
     *
     * Protobuf type {@code smsc.Checker}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:smsc.Checker)
        smsc.Api.CheckerOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return smsc.Api.internal_static_smsc_Checker_descriptor;
      }

      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return smsc.Api.internal_static_smsc_Checker_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                smsc.Api.Checker.class, smsc.Api.Checker.Builder.class);
      }

      // Construct using smsc.Api.Checker.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
        }
      }
      public Builder clear() {
        super.clear();
        id_ = 0L;

        account_ = "";

        name_ = "";

        pubkey_ = com.google.protobuf.ByteString.EMPTY;

        return this;
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return smsc.Api.internal_static_smsc_Checker_descriptor;
      }

      public smsc.Api.Checker getDefaultInstanceForType() {
        return smsc.Api.Checker.getDefaultInstance();
      }

      public smsc.Api.Checker build() {
        smsc.Api.Checker result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public smsc.Api.Checker buildPartial() {
        smsc.Api.Checker result = new smsc.Api.Checker(this);
        result.id_ = id_;
        result.account_ = account_;
        result.name_ = name_;
        result.pubkey_ = pubkey_;
        onBuilt();
        return result;
      }

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

      public Builder mergeFrom(smsc.Api.Checker other) {
        if (other == smsc.Api.Checker.getDefaultInstance()) return this;
        if (other.getId() != 0L) {
          setId(other.getId());
        }
        if (!other.getAccount().isEmpty()) {
          account_ = other.account_;
          onChanged();
        }
        if (!other.getName().isEmpty()) {
          name_ = other.name_;
          onChanged();
        }
        if (other.getPubkey() != com.google.protobuf.ByteString.EMPTY) {
          setPubkey(other.getPubkey());
        }
        onChanged();
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        smsc.Api.Checker parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (smsc.Api.Checker) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }

      private long id_ ;
      /**
       * <pre>
       *收货员ID
       * </pre>
       *
       * <code>optional int64 id = 1;</code>
       */
      public long getId() {
        return id_;
      }
      /**
       * <pre>
       *收货员ID
       * </pre>
       *
       * <code>optional int64 id = 1;</code>
       */
      public Builder setId(long value) {
        
        id_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *收货员ID
       * </pre>
       *
       * <code>optional int64 id = 1;</code>
       */
      public Builder clearId() {
        
        id_ = 0L;
        onChanged();
        return this;
      }

      private java.lang.Object account_ = "";
      /**
       * <pre>
       *收货员账号
       * </pre>
       *
       * <code>optional string account = 2;</code>
       */
      public java.lang.String getAccount() {
        java.lang.Object ref = account_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          account_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <pre>
       *收货员账号
       * </pre>
       *
       * <code>optional string account = 2;</code>
       */
      public com.google.protobuf.ByteString
          getAccountBytes() {
        java.lang.Object ref = account_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          account_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <pre>
       *收货员账号
       * </pre>
       *
       * <code>optional string account = 2;</code>
       */
      public Builder setAccount(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        account_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *收货员账号
       * </pre>
       *
       * <code>optional string account = 2;</code>
       */
      public Builder clearAccount() {
        
        account_ = getDefaultInstance().getAccount();
        onChanged();
        return this;
      }
      /**
       * <pre>
       *收货员账号
       * </pre>
       *
       * <code>optional string account = 2;</code>
       */
      public Builder setAccountBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        account_ = value;
        onChanged();
        return this;
      }

      private java.lang.Object name_ = "";
      /**
       * <pre>
       *收货员名称
       * </pre>
       *
       * <code>optional string name = 3;</code>
       */
      public java.lang.String getName() {
        java.lang.Object ref = name_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          name_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <pre>
       *收货员名称
       * </pre>
       *
       * <code>optional string name = 3;</code>
       */
      public com.google.protobuf.ByteString
          getNameBytes() {
        java.lang.Object ref = name_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          name_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <pre>
       *收货员名称
       * </pre>
       *
       * <code>optional string name = 3;</code>
       */
      public Builder setName(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        name_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *收货员名称
       * </pre>
       *
       * <code>optional string name = 3;</code>
       */
      public Builder clearName() {
        
        name_ = getDefaultInstance().getName();
        onChanged();
        return this;
      }
      /**
       * <pre>
       *收货员名称
       * </pre>
       *
       * <code>optional string name = 3;</code>
       */
      public Builder setNameBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        name_ = value;
        onChanged();
        return this;
      }

      private com.google.protobuf.ByteString pubkey_ = com.google.protobuf.ByteString.EMPTY;
      /**
       * <pre>
       *公钥
       * </pre>
       *
       * <code>optional bytes pubkey = 4;</code>
       */
      public com.google.protobuf.ByteString getPubkey() {
        return pubkey_;
      }
      /**
       * <pre>
       *公钥
       * </pre>
       *
       * <code>optional bytes pubkey = 4;</code>
       */
      public Builder setPubkey(com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        pubkey_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *公钥
       * </pre>
       *
       * <code>optional bytes pubkey = 4;</code>
       */
      public Builder clearPubkey() {
        
        pubkey_ = getDefaultInstance().getPubkey();
        onChanged();
        return this;
      }
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return this;
      }

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


      // @@protoc_insertion_point(builder_scope:smsc.Checker)
    }

    // @@protoc_insertion_point(class_scope:smsc.Checker)
    private static final smsc.Api.Checker DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new smsc.Api.Checker();
    }

    public static smsc.Api.Checker getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

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

    public smsc.Api.Checker getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface OrderOrBuilder extends
      // @@protoc_insertion_point(interface_extends:smsc.Order)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <pre>
     *订单编号
     * </pre>
     *
     * <code>optional string id = 1;</code>
     */
    java.lang.String getId();
    /**
     * <pre>
     *订单编号
     * </pre>
     *
     * <code>optional string id = 1;</code>
     */
    com.google.protobuf.ByteString
        getIdBytes();

    /**
     * <pre>
     *零件号
     * </pre>
     *
     * <code>optional string partId = 2;</code>
     */
    java.lang.String getPartId();
    /**
     * <pre>
     *零件号
     * </pre>
     *
     * <code>optional string partId = 2;</code>
     */
    com.google.protobuf.ByteString
        getPartIdBytes();

    /**
     * <pre>
     *箱号
     * </pre>
     *
     * <code>optional string boxId = 3;</code>
     */
    java.lang.String getBoxId();
    /**
     * <pre>
     *箱号
     * </pre>
     *
     * <code>optional string boxId = 3;</code>
     */
    com.google.protobuf.ByteString
        getBoxIdBytes();

    /**
     * <pre>
     *箱中零件数量
     * </pre>
     *
     * <code>optional int64 partNum = 4;</code>
     */
    long getPartNum();

    /**
     * <pre>
     *订单信息
     * </pre>
     *
     * <code>optional string info = 5;</code>
     */
    java.lang.String getInfo();
    /**
     * <pre>
     *订单信息
     * </pre>
     *
     * <code>optional string info = 5;</code>
     */
    com.google.protobuf.ByteString
        getInfoBytes();

    /**
     * <pre>
     *车牌号码
     * </pre>
     *
     * <code>optional string carId = 6;</code>
     */
    java.lang.String getCarId();
    /**
     * <pre>
     *车牌号码
     * </pre>
     *
     * <code>optional string carId = 6;</code>
     */
    com.google.protobuf.ByteString
        getCarIdBytes();

    /**
     * <pre>
     *订单需求日期
     * </pre>
     *
     * <code>optional string requiredDate = 7;</code>
     */
    java.lang.String getRequiredDate();
    /**
     * <pre>
     *订单需求日期
     * </pre>
     *
     * <code>optional string requiredDate = 7;</code>
     */
    com.google.protobuf.ByteString
        getRequiredDateBytes();

    /**
     * <pre>
     *发货日期
     * </pre>
     *
     * <code>optional string deliveryDate = 8;</code>
     */
    java.lang.String getDeliveryDate();
    /**
     * <pre>
     *发货日期
     * </pre>
     *
     * <code>optional string deliveryDate = 8;</code>
     */
    com.google.protobuf.ByteString
        getDeliveryDateBytes();

    /**
     * <pre>
     *承运日期
     * </pre>
     *
     * <code>optional string carryDate = 9;</code>
     */
    java.lang.String getCarryDate();
    /**
     * <pre>
     *承运日期
     * </pre>
     *
     * <code>optional string carryDate = 9;</code>
     */
    com.google.protobuf.ByteString
        getCarryDateBytes();

    /**
     * <pre>
     *点货日期
     * </pre>
     *
     * <code>optional string checkDate = 10;</code>
     */
    java.lang.String getCheckDate();
    /**
     * <pre>
     *点货日期
     * </pre>
     *
     * <code>optional string checkDate = 10;</code>
     */
    com.google.protobuf.ByteString
        getCheckDateBytes();

    /**
     * <pre>
     *计划员
     * </pre>
     *
     * <code>optional int64 planner = 11;</code>
     */
    long getPlanner();

    /**
     * <pre>
     *供应商
     * </pre>
     *
     * <code>optional int64 supplier = 12;</code>
     */
    long getSupplier();

    /**
     * <pre>
     *承运商
     * </pre>
     *
     * <code>optional int64 carrier = 13;</code>
     */
    long getCarrier();

    /**
     * <pre>
     *点货员
     * </pre>
     *
     * <code>optional int64 checker = 14;</code>
     */
    long getChecker();

    /**
     * <pre>
     *状态
     * </pre>
     *
     * <code>optional .smsc.OrderState state = 15;</code>
     */
    int getStateValue();
    /**
     * <pre>
     *状态
     * </pre>
     *
     * <code>optional .smsc.OrderState state = 15;</code>
     */
    smsc.Api.OrderState getState();
  }
  /**
   * <pre>
   *订单
   * </pre>
   *
   * Protobuf type {@code smsc.Order}
   */
  public  static final class Order extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:smsc.Order)
      OrderOrBuilder {
    // Use Order.newBuilder() to construct.
    private Order(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private Order() {
      id_ = "";
      partId_ = "";
      boxId_ = "";
      partNum_ = 0L;
      info_ = "";
      carId_ = "";
      requiredDate_ = "";
      deliveryDate_ = "";
      carryDate_ = "";
      checkDate_ = "";
      planner_ = 0L;
      supplier_ = 0L;
      carrier_ = 0L;
      checker_ = 0L;
      state_ = 0;
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return com.google.protobuf.UnknownFieldSet.getDefaultInstance();
    }
    private Order(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      int mutable_bitField0_ = 0;
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!input.skipField(tag)) {
                done = true;
              }
              break;
            }
            case 10: {
              java.lang.String s = input.readStringRequireUtf8();

              id_ = s;
              break;
            }
            case 18: {
              java.lang.String s = input.readStringRequireUtf8();

              partId_ = s;
              break;
            }
            case 26: {
              java.lang.String s = input.readStringRequireUtf8();

              boxId_ = s;
              break;
            }
            case 32: {

              partNum_ = input.readInt64();
              break;
            }
            case 42: {
              java.lang.String s = input.readStringRequireUtf8();

              info_ = s;
              break;
            }
            case 50: {
              java.lang.String s = input.readStringRequireUtf8();

              carId_ = s;
              break;
            }
            case 58: {
              java.lang.String s = input.readStringRequireUtf8();

              requiredDate_ = s;
              break;
            }
            case 66: {
              java.lang.String s = input.readStringRequireUtf8();

              deliveryDate_ = s;
              break;
            }
            case 74: {
              java.lang.String s = input.readStringRequireUtf8();

              carryDate_ = s;
              break;
            }
            case 82: {
              java.lang.String s = input.readStringRequireUtf8();

              checkDate_ = s;
              break;
            }
            case 88: {

              planner_ = input.readInt64();
              break;
            }
            case 96: {

              supplier_ = input.readInt64();
              break;
            }
            case 104: {

              carrier_ = input.readInt64();
              break;
            }
            case 112: {

              checker_ = input.readInt64();
              break;
            }
            case 120: {
              int rawValue = input.readEnum();

              state_ = rawValue;
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return smsc.Api.internal_static_smsc_Order_descriptor;
    }

    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return smsc.Api.internal_static_smsc_Order_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              smsc.Api.Order.class, smsc.Api.Order.Builder.class);
    }

    public static final int ID_FIELD_NUMBER = 1;
    private volatile java.lang.Object id_;
    /**
     * <pre>
     *订单编号
     * </pre>
     *
     * <code>optional string id = 1;</code>
     */
    public java.lang.String getId() {
      java.lang.Object ref = id_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        id_ = s;
        return s;
      }
    }
    /**
     * <pre>
     *订单编号
     * </pre>
     *
     * <code>optional string id = 1;</code>
     */
    public com.google.protobuf.ByteString
        getIdBytes() {
      java.lang.Object ref = id_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        id_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int PARTID_FIELD_NUMBER = 2;
    private volatile java.lang.Object partId_;
    /**
     * <pre>
     *零件号
     * </pre>
     *
     * <code>optional string partId = 2;</code>
     */
    public java.lang.String getPartId() {
      java.lang.Object ref = partId_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        partId_ = s;
        return s;
      }
    }
    /**
     * <pre>
     *零件号
     * </pre>
     *
     * <code>optional string partId = 2;</code>
     */
    public com.google.protobuf.ByteString
        getPartIdBytes() {
      java.lang.Object ref = partId_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        partId_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int BOXID_FIELD_NUMBER = 3;
    private volatile java.lang.Object boxId_;
    /**
     * <pre>
     *箱号
     * </pre>
     *
     * <code>optional string boxId = 3;</code>
     */
    public java.lang.String getBoxId() {
      java.lang.Object ref = boxId_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        boxId_ = s;
        return s;
      }
    }
    /**
     * <pre>
     *箱号
     * </pre>
     *
     * <code>optional string boxId = 3;</code>
     */
    public com.google.protobuf.ByteString
        getBoxIdBytes() {
      java.lang.Object ref = boxId_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        boxId_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int PARTNUM_FIELD_NUMBER = 4;
    private long partNum_;
    /**
     * <pre>
     *箱中零件数量
     * </pre>
     *
     * <code>optional int64 partNum = 4;</code>
     */
    public long getPartNum() {
      return partNum_;
    }

    public static final int INFO_FIELD_NUMBER = 5;
    private volatile java.lang.Object info_;
    /**
     * <pre>
     *订单信息
     * </pre>
     *
     * <code>optional string info = 5;</code>
     */
    public java.lang.String getInfo() {
      java.lang.Object ref = info_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        info_ = s;
        return s;
      }
    }
    /**
     * <pre>
     *订单信息
     * </pre>
     *
     * <code>optional string info = 5;</code>
     */
    public com.google.protobuf.ByteString
        getInfoBytes() {
      java.lang.Object ref = info_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        info_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int CARID_FIELD_NUMBER = 6;
    private volatile java.lang.Object carId_;
    /**
     * <pre>
     *车牌号码
     * </pre>
     *
     * <code>optional string carId = 6;</code>
     */
    public java.lang.String getCarId() {
      java.lang.Object ref = carId_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        carId_ = s;
        return s;
      }
    }
    /**
     * <pre>
     *车牌号码
     * </pre>
     *
     * <code>optional string carId = 6;</code>
     */
    public com.google.protobuf.ByteString
        getCarIdBytes() {
      java.lang.Object ref = carId_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        carId_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int REQUIREDDATE_FIELD_NUMBER = 7;
    private volatile java.lang.Object requiredDate_;
    /**
     * <pre>
     *订单需求日期
     * </pre>
     *
     * <code>optional string requiredDate = 7;</code>
     */
    public java.lang.String getRequiredDate() {
      java.lang.Object ref = requiredDate_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        requiredDate_ = s;
        return s;
      }
    }
    /**
     * <pre>
     *订单需求日期
     * </pre>
     *
     * <code>optional string requiredDate = 7;</code>
     */
    public com.google.protobuf.ByteString
        getRequiredDateBytes() {
      java.lang.Object ref = requiredDate_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        requiredDate_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int DELIVERYDATE_FIELD_NUMBER = 8;
    private volatile java.lang.Object deliveryDate_;
    /**
     * <pre>
     *发货日期
     * </pre>
     *
     * <code>optional string deliveryDate = 8;</code>
     */
    public java.lang.String getDeliveryDate() {
      java.lang.Object ref = deliveryDate_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        deliveryDate_ = s;
        return s;
      }
    }
    /**
     * <pre>
     *发货日期
     * </pre>
     *
     * <code>optional string deliveryDate = 8;</code>
     */
    public com.google.protobuf.ByteString
        getDeliveryDateBytes() {
      java.lang.Object ref = deliveryDate_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        deliveryDate_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int CARRYDATE_FIELD_NUMBER = 9;
    private volatile java.lang.Object carryDate_;
    /**
     * <pre>
     *承运日期
     * </pre>
     *
     * <code>optional string carryDate = 9;</code>
     */
    public java.lang.String getCarryDate() {
      java.lang.Object ref = carryDate_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        carryDate_ = s;
        return s;
      }
    }
    /**
     * <pre>
     *承运日期
     * </pre>
     *
     * <code>optional string carryDate = 9;</code>
     */
    public com.google.protobuf.ByteString
        getCarryDateBytes() {
      java.lang.Object ref = carryDate_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        carryDate_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int CHECKDATE_FIELD_NUMBER = 10;
    private volatile java.lang.Object checkDate_;
    /**
     * <pre>
     *点货日期
     * </pre>
     *
     * <code>optional string checkDate = 10;</code>
     */
    public java.lang.String getCheckDate() {
      java.lang.Object ref = checkDate_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        checkDate_ = s;
        return s;
      }
    }
    /**
     * <pre>
     *点货日期
     * </pre>
     *
     * <code>optional string checkDate = 10;</code>
     */
    public com.google.protobuf.ByteString
        getCheckDateBytes() {
      java.lang.Object ref = checkDate_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        checkDate_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int PLANNER_FIELD_NUMBER = 11;
    private long planner_;
    /**
     * <pre>
     *计划员
     * </pre>
     *
     * <code>optional int64 planner = 11;</code>
     */
    public long getPlanner() {
      return planner_;
    }

    public static final int SUPPLIER_FIELD_NUMBER = 12;
    private long supplier_;
    /**
     * <pre>
     *供应商
     * </pre>
     *
     * <code>optional int64 supplier = 12;</code>
     */
    public long getSupplier() {
      return supplier_;
    }

    public static final int CARRIER_FIELD_NUMBER = 13;
    private long carrier_;
    /**
     * <pre>
     *承运商
     * </pre>
     *
     * <code>optional int64 carrier = 13;</code>
     */
    public long getCarrier() {
      return carrier_;
    }

    public static final int CHECKER_FIELD_NUMBER = 14;
    private long checker_;
    /**
     * <pre>
     *点货员
     * </pre>
     *
     * <code>optional int64 checker = 14;</code>
     */
    public long getChecker() {
      return checker_;
    }

    public static final int STATE_FIELD_NUMBER = 15;
    private int state_;
    /**
     * <pre>
     *状态
     * </pre>
     *
     * <code>optional .smsc.OrderState state = 15;</code>
     */
    public int getStateValue() {
      return state_;
    }
    /**
     * <pre>
     *状态
     * </pre>
     *
     * <code>optional .smsc.OrderState state = 15;</code>
     */
    public smsc.Api.OrderState getState() {
      smsc.Api.OrderState result = smsc.Api.OrderState.valueOf(state_);
      return result == null ? smsc.Api.OrderState.UNRECOGNIZED : result;
    }

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

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (!getIdBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 1, id_);
      }
      if (!getPartIdBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 2, partId_);
      }
      if (!getBoxIdBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 3, boxId_);
      }
      if (partNum_ != 0L) {
        output.writeInt64(4, partNum_);
      }
      if (!getInfoBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 5, info_);
      }
      if (!getCarIdBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 6, carId_);
      }
      if (!getRequiredDateBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 7, requiredDate_);
      }
      if (!getDeliveryDateBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 8, deliveryDate_);
      }
      if (!getCarryDateBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 9, carryDate_);
      }
      if (!getCheckDateBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 10, checkDate_);
      }
      if (planner_ != 0L) {
        output.writeInt64(11, planner_);
      }
      if (supplier_ != 0L) {
        output.writeInt64(12, supplier_);
      }
      if (carrier_ != 0L) {
        output.writeInt64(13, carrier_);
      }
      if (checker_ != 0L) {
        output.writeInt64(14, checker_);
      }
      if (state_ != smsc.Api.OrderState.OSUndefined.getNumber()) {
        output.writeEnum(15, state_);
      }
    }

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

      size = 0;
      if (!getIdBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, id_);
      }
      if (!getPartIdBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, partId_);
      }
      if (!getBoxIdBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3, boxId_);
      }
      if (partNum_ != 0L) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt64Size(4, partNum_);
      }
      if (!getInfoBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(5, info_);
      }
      if (!getCarIdBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(6, carId_);
      }
      if (!getRequiredDateBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(7, requiredDate_);
      }
      if (!getDeliveryDateBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(8, deliveryDate_);
      }
      if (!getCarryDateBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(9, carryDate_);
      }
      if (!getCheckDateBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(10, checkDate_);
      }
      if (planner_ != 0L) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt64Size(11, planner_);
      }
      if (supplier_ != 0L) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt64Size(12, supplier_);
      }
      if (carrier_ != 0L) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt64Size(13, carrier_);
      }
      if (checker_ != 0L) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt64Size(14, checker_);
      }
      if (state_ != smsc.Api.OrderState.OSUndefined.getNumber()) {
        size += com.google.protobuf.CodedOutputStream
          .computeEnumSize(15, state_);
      }
      memoizedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof smsc.Api.Order)) {
        return super.equals(obj);
      }
      smsc.Api.Order other = (smsc.Api.Order) obj;

      boolean result = true;
      result = result && getId()
          .equals(other.getId());
      result = result && getPartId()
          .equals(other.getPartId());
      result = result && getBoxId()
          .equals(other.getBoxId());
      result = result && (getPartNum()
          == other.getPartNum());
      result = result && getInfo()
          .equals(other.getInfo());
      result = result && getCarId()
          .equals(other.getCarId());
      result = result && getRequiredDate()
          .equals(other.getRequiredDate());
      result = result && getDeliveryDate()
          .equals(other.getDeliveryDate());
      result = result && getCarryDate()
          .equals(other.getCarryDate());
      result = result && getCheckDate()
          .equals(other.getCheckDate());
      result = result && (getPlanner()
          == other.getPlanner());
      result = result && (getSupplier()
          == other.getSupplier());
      result = result && (getCarrier()
          == other.getCarrier());
      result = result && (getChecker()
          == other.getChecker());
      result = result && state_ == other.state_;
      return result;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptorForType().hashCode();
      hash = (37 * hash) + ID_FIELD_NUMBER;
      hash = (53 * hash) + getId().hashCode();
      hash = (37 * hash) + PARTID_FIELD_NUMBER;
      hash = (53 * hash) + getPartId().hashCode();
      hash = (37 * hash) + BOXID_FIELD_NUMBER;
      hash = (53 * hash) + getBoxId().hashCode();
      hash = (37 * hash) + PARTNUM_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
          getPartNum());
      hash = (37 * hash) + INFO_FIELD_NUMBER;
      hash = (53 * hash) + getInfo().hashCode();
      hash = (37 * hash) + CARID_FIELD_NUMBER;
      hash = (53 * hash) + getCarId().hashCode();
      hash = (37 * hash) + REQUIREDDATE_FIELD_NUMBER;
      hash = (53 * hash) + getRequiredDate().hashCode();
      hash = (37 * hash) + DELIVERYDATE_FIELD_NUMBER;
      hash = (53 * hash) + getDeliveryDate().hashCode();
      hash = (37 * hash) + CARRYDATE_FIELD_NUMBER;
      hash = (53 * hash) + getCarryDate().hashCode();
      hash = (37 * hash) + CHECKDATE_FIELD_NUMBER;
      hash = (53 * hash) + getCheckDate().hashCode();
      hash = (37 * hash) + PLANNER_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
          getPlanner());
      hash = (37 * hash) + SUPPLIER_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
          getSupplier());
      hash = (37 * hash) + CARRIER_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
          getCarrier());
      hash = (37 * hash) + CHECKER_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
          getChecker());
      hash = (37 * hash) + STATE_FIELD_NUMBER;
      hash = (53 * hash) + state_;
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

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

    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(smsc.Api.Order prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * <pre>
     *订单
     * </pre>
     *
     * Protobuf type {@code smsc.Order}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:smsc.Order)
        smsc.Api.OrderOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return smsc.Api.internal_static_smsc_Order_descriptor;
      }

      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return smsc.Api.internal_static_smsc_Order_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                smsc.Api.Order.class, smsc.Api.Order.Builder.class);
      }

      // Construct using smsc.Api.Order.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
        }
      }
      public Builder clear() {
        super.clear();
        id_ = "";

        partId_ = "";

        boxId_ = "";

        partNum_ = 0L;

        info_ = "";

        carId_ = "";

        requiredDate_ = "";

        deliveryDate_ = "";

        carryDate_ = "";

        checkDate_ = "";

        planner_ = 0L;

        supplier_ = 0L;

        carrier_ = 0L;

        checker_ = 0L;

        state_ = 0;

        return this;
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return smsc.Api.internal_static_smsc_Order_descriptor;
      }

      public smsc.Api.Order getDefaultInstanceForType() {
        return smsc.Api.Order.getDefaultInstance();
      }

      public smsc.Api.Order build() {
        smsc.Api.Order result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public smsc.Api.Order buildPartial() {
        smsc.Api.Order result = new smsc.Api.Order(this);
        result.id_ = id_;
        result.partId_ = partId_;
        result.boxId_ = boxId_;
        result.partNum_ = partNum_;
        result.info_ = info_;
        result.carId_ = carId_;
        result.requiredDate_ = requiredDate_;
        result.deliveryDate_ = deliveryDate_;
        result.carryDate_ = carryDate_;
        result.checkDate_ = checkDate_;
        result.planner_ = planner_;
        result.supplier_ = supplier_;
        result.carrier_ = carrier_;
        result.checker_ = checker_;
        result.state_ = state_;
        onBuilt();
        return result;
      }

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

      public Builder mergeFrom(smsc.Api.Order other) {
        if (other == smsc.Api.Order.getDefaultInstance()) return this;
        if (!other.getId().isEmpty()) {
          id_ = other.id_;
          onChanged();
        }
        if (!other.getPartId().isEmpty()) {
          partId_ = other.partId_;
          onChanged();
        }
        if (!other.getBoxId().isEmpty()) {
          boxId_ = other.boxId_;
          onChanged();
        }
        if (other.getPartNum() != 0L) {
          setPartNum(other.getPartNum());
        }
        if (!other.getInfo().isEmpty()) {
          info_ = other.info_;
          onChanged();
        }
        if (!other.getCarId().isEmpty()) {
          carId_ = other.carId_;
          onChanged();
        }
        if (!other.getRequiredDate().isEmpty()) {
          requiredDate_ = other.requiredDate_;
          onChanged();
        }
        if (!other.getDeliveryDate().isEmpty()) {
          deliveryDate_ = other.deliveryDate_;
          onChanged();
        }
        if (!other.getCarryDate().isEmpty()) {
          carryDate_ = other.carryDate_;
          onChanged();
        }
        if (!other.getCheckDate().isEmpty()) {
          checkDate_ = other.checkDate_;
          onChanged();
        }
        if (other.getPlanner() != 0L) {
          setPlanner(other.getPlanner());
        }
        if (other.getSupplier() != 0L) {
          setSupplier(other.getSupplier());
        }
        if (other.getCarrier() != 0L) {
          setCarrier(other.getCarrier());
        }
        if (other.getChecker() != 0L) {
          setChecker(other.getChecker());
        }
        if (other.state_ != 0) {
          setStateValue(other.getStateValue());
        }
        onChanged();
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        smsc.Api.Order parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (smsc.Api.Order) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }

      private java.lang.Object id_ = "";
      /**
       * <pre>
       *订单编号
       * </pre>
       *
       * <code>optional string id = 1;</code>
       */
      public java.lang.String getId() {
        java.lang.Object ref = id_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          id_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <pre>
       *订单编号
       * </pre>
       *
       * <code>optional string id = 1;</code>
       */
      public com.google.protobuf.ByteString
          getIdBytes() {
        java.lang.Object ref = id_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          id_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <pre>
       *订单编号
       * </pre>
       *
       * <code>optional string id = 1;</code>
       */
      public Builder setId(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        id_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *订单编号
       * </pre>
       *
       * <code>optional string id = 1;</code>
       */
      public Builder clearId() {
        
        id_ = getDefaultInstance().getId();
        onChanged();
        return this;
      }
      /**
       * <pre>
       *订单编号
       * </pre>
       *
       * <code>optional string id = 1;</code>
       */
      public Builder setIdBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        id_ = value;
        onChanged();
        return this;
      }

      private java.lang.Object partId_ = "";
      /**
       * <pre>
       *零件号
       * </pre>
       *
       * <code>optional string partId = 2;</code>
       */
      public java.lang.String getPartId() {
        java.lang.Object ref = partId_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          partId_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <pre>
       *零件号
       * </pre>
       *
       * <code>optional string partId = 2;</code>
       */
      public com.google.protobuf.ByteString
          getPartIdBytes() {
        java.lang.Object ref = partId_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          partId_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <pre>
       *零件号
       * </pre>
       *
       * <code>optional string partId = 2;</code>
       */
      public Builder setPartId(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        partId_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *零件号
       * </pre>
       *
       * <code>optional string partId = 2;</code>
       */
      public Builder clearPartId() {
        
        partId_ = getDefaultInstance().getPartId();
        onChanged();
        return this;
      }
      /**
       * <pre>
       *零件号
       * </pre>
       *
       * <code>optional string partId = 2;</code>
       */
      public Builder setPartIdBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        partId_ = value;
        onChanged();
        return this;
      }

      private java.lang.Object boxId_ = "";
      /**
       * <pre>
       *箱号
       * </pre>
       *
       * <code>optional string boxId = 3;</code>
       */
      public java.lang.String getBoxId() {
        java.lang.Object ref = boxId_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          boxId_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <pre>
       *箱号
       * </pre>
       *
       * <code>optional string boxId = 3;</code>
       */
      public com.google.protobuf.ByteString
          getBoxIdBytes() {
        java.lang.Object ref = boxId_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          boxId_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <pre>
       *箱号
       * </pre>
       *
       * <code>optional string boxId = 3;</code>
       */
      public Builder setBoxId(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        boxId_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *箱号
       * </pre>
       *
       * <code>optional string boxId = 3;</code>
       */
      public Builder clearBoxId() {
        
        boxId_ = getDefaultInstance().getBoxId();
        onChanged();
        return this;
      }
      /**
       * <pre>
       *箱号
       * </pre>
       *
       * <code>optional string boxId = 3;</code>
       */
      public Builder setBoxIdBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        boxId_ = value;
        onChanged();
        return this;
      }

      private long partNum_ ;
      /**
       * <pre>
       *箱中零件数量
       * </pre>
       *
       * <code>optional int64 partNum = 4;</code>
       */
      public long getPartNum() {
        return partNum_;
      }
      /**
       * <pre>
       *箱中零件数量
       * </pre>
       *
       * <code>optional int64 partNum = 4;</code>
       */
      public Builder setPartNum(long value) {
        
        partNum_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *箱中零件数量
       * </pre>
       *
       * <code>optional int64 partNum = 4;</code>
       */
      public Builder clearPartNum() {
        
        partNum_ = 0L;
        onChanged();
        return this;
      }

      private java.lang.Object info_ = "";
      /**
       * <pre>
       *订单信息
       * </pre>
       *
       * <code>optional string info = 5;</code>
       */
      public java.lang.String getInfo() {
        java.lang.Object ref = info_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          info_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <pre>
       *订单信息
       * </pre>
       *
       * <code>optional string info = 5;</code>
       */
      public com.google.protobuf.ByteString
          getInfoBytes() {
        java.lang.Object ref = info_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          info_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <pre>
       *订单信息
       * </pre>
       *
       * <code>optional string info = 5;</code>
       */
      public Builder setInfo(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        info_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *订单信息
       * </pre>
       *
       * <code>optional string info = 5;</code>
       */
      public Builder clearInfo() {
        
        info_ = getDefaultInstance().getInfo();
        onChanged();
        return this;
      }
      /**
       * <pre>
       *订单信息
       * </pre>
       *
       * <code>optional string info = 5;</code>
       */
      public Builder setInfoBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        info_ = value;
        onChanged();
        return this;
      }

      private java.lang.Object carId_ = "";
      /**
       * <pre>
       *车牌号码
       * </pre>
       *
       * <code>optional string carId = 6;</code>
       */
      public java.lang.String getCarId() {
        java.lang.Object ref = carId_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          carId_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <pre>
       *车牌号码
       * </pre>
       *
       * <code>optional string carId = 6;</code>
       */
      public com.google.protobuf.ByteString
          getCarIdBytes() {
        java.lang.Object ref = carId_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          carId_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <pre>
       *车牌号码
       * </pre>
       *
       * <code>optional string carId = 6;</code>
       */
      public Builder setCarId(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        carId_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *车牌号码
       * </pre>
       *
       * <code>optional string carId = 6;</code>
       */
      public Builder clearCarId() {
        
        carId_ = getDefaultInstance().getCarId();
        onChanged();
        return this;
      }
      /**
       * <pre>
       *车牌号码
       * </pre>
       *
       * <code>optional string carId = 6;</code>
       */
      public Builder setCarIdBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        carId_ = value;
        onChanged();
        return this;
      }

      private java.lang.Object requiredDate_ = "";
      /**
       * <pre>
       *订单需求日期
       * </pre>
       *
       * <code>optional string requiredDate = 7;</code>
       */
      public java.lang.String getRequiredDate() {
        java.lang.Object ref = requiredDate_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          requiredDate_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <pre>
       *订单需求日期
       * </pre>
       *
       * <code>optional string requiredDate = 7;</code>
       */
      public com.google.protobuf.ByteString
          getRequiredDateBytes() {
        java.lang.Object ref = requiredDate_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          requiredDate_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <pre>
       *订单需求日期
       * </pre>
       *
       * <code>optional string requiredDate = 7;</code>
       */
      public Builder setRequiredDate(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        requiredDate_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *订单需求日期
       * </pre>
       *
       * <code>optional string requiredDate = 7;</code>
       */
      public Builder clearRequiredDate() {
        
        requiredDate_ = getDefaultInstance().getRequiredDate();
        onChanged();
        return this;
      }
      /**
       * <pre>
       *订单需求日期
       * </pre>
       *
       * <code>optional string requiredDate = 7;</code>
       */
      public Builder setRequiredDateBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        requiredDate_ = value;
        onChanged();
        return this;
      }

      private java.lang.Object deliveryDate_ = "";
      /**
       * <pre>
       *发货日期
       * </pre>
       *
       * <code>optional string deliveryDate = 8;</code>
       */
      public java.lang.String getDeliveryDate() {
        java.lang.Object ref = deliveryDate_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          deliveryDate_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <pre>
       *发货日期
       * </pre>
       *
       * <code>optional string deliveryDate = 8;</code>
       */
      public com.google.protobuf.ByteString
          getDeliveryDateBytes() {
        java.lang.Object ref = deliveryDate_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          deliveryDate_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <pre>
       *发货日期
       * </pre>
       *
       * <code>optional string deliveryDate = 8;</code>
       */
      public Builder setDeliveryDate(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        deliveryDate_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *发货日期
       * </pre>
       *
       * <code>optional string deliveryDate = 8;</code>
       */
      public Builder clearDeliveryDate() {
        
        deliveryDate_ = getDefaultInstance().getDeliveryDate();
        onChanged();
        return this;
      }
      /**
       * <pre>
       *发货日期
       * </pre>
       *
       * <code>optional string deliveryDate = 8;</code>
       */
      public Builder setDeliveryDateBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        deliveryDate_ = value;
        onChanged();
        return this;
      }

      private java.lang.Object carryDate_ = "";
      /**
       * <pre>
       *承运日期
       * </pre>
       *
       * <code>optional string carryDate = 9;</code>
       */
      public java.lang.String getCarryDate() {
        java.lang.Object ref = carryDate_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          carryDate_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <pre>
       *承运日期
       * </pre>
       *
       * <code>optional string carryDate = 9;</code>
       */
      public com.google.protobuf.ByteString
          getCarryDateBytes() {
        java.lang.Object ref = carryDate_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          carryDate_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <pre>
       *承运日期
       * </pre>
       *
       * <code>optional string carryDate = 9;</code>
       */
      public Builder setCarryDate(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        carryDate_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *承运日期
       * </pre>
       *
       * <code>optional string carryDate = 9;</code>
       */
      public Builder clearCarryDate() {
        
        carryDate_ = getDefaultInstance().getCarryDate();
        onChanged();
        return this;
      }
      /**
       * <pre>
       *承运日期
       * </pre>
       *
       * <code>optional string carryDate = 9;</code>
       */
      public Builder setCarryDateBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        carryDate_ = value;
        onChanged();
        return this;
      }

      private java.lang.Object checkDate_ = "";
      /**
       * <pre>
       *点货日期
       * </pre>
       *
       * <code>optional string checkDate = 10;</code>
       */
      public java.lang.String getCheckDate() {
        java.lang.Object ref = checkDate_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          checkDate_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <pre>
       *点货日期
       * </pre>
       *
       * <code>optional string checkDate = 10;</code>
       */
      public com.google.protobuf.ByteString
          getCheckDateBytes() {
        java.lang.Object ref = checkDate_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          checkDate_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <pre>
       *点货日期
       * </pre>
       *
       * <code>optional string checkDate = 10;</code>
       */
      public Builder setCheckDate(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        checkDate_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *点货日期
       * </pre>
       *
       * <code>optional string checkDate = 10;</code>
       */
      public Builder clearCheckDate() {
        
        checkDate_ = getDefaultInstance().getCheckDate();
        onChanged();
        return this;
      }
      /**
       * <pre>
       *点货日期
       * </pre>
       *
       * <code>optional string checkDate = 10;</code>
       */
      public Builder setCheckDateBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        checkDate_ = value;
        onChanged();
        return this;
      }

      private long planner_ ;
      /**
       * <pre>
       *计划员
       * </pre>
       *
       * <code>optional int64 planner = 11;</code>
       */
      public long getPlanner() {
        return planner_;
      }
      /**
       * <pre>
       *计划员
       * </pre>
       *
       * <code>optional int64 planner = 11;</code>
       */
      public Builder setPlanner(long value) {
        
        planner_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *计划员
       * </pre>
       *
       * <code>optional int64 planner = 11;</code>
       */
      public Builder clearPlanner() {
        
        planner_ = 0L;
        onChanged();
        return this;
      }

      private long supplier_ ;
      /**
       * <pre>
       *供应商
       * </pre>
       *
       * <code>optional int64 supplier = 12;</code>
       */
      public long getSupplier() {
        return supplier_;
      }
      /**
       * <pre>
       *供应商
       * </pre>
       *
       * <code>optional int64 supplier = 12;</code>
       */
      public Builder setSupplier(long value) {
        
        supplier_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *供应商
       * </pre>
       *
       * <code>optional int64 supplier = 12;</code>
       */
      public Builder clearSupplier() {
        
        supplier_ = 0L;
        onChanged();
        return this;
      }

      private long carrier_ ;
      /**
       * <pre>
       *承运商
       * </pre>
       *
       * <code>optional int64 carrier = 13;</code>
       */
      public long getCarrier() {
        return carrier_;
      }
      /**
       * <pre>
       *承运商
       * </pre>
       *
       * <code>optional int64 carrier = 13;</code>
       */
      public Builder setCarrier(long value) {
        
        carrier_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *承运商
       * </pre>
       *
       * <code>optional int64 carrier = 13;</code>
       */
      public Builder clearCarrier() {
        
        carrier_ = 0L;
        onChanged();
        return this;
      }

      private long checker_ ;
      /**
       * <pre>
       *点货员
       * </pre>
       *
       * <code>optional int64 checker = 14;</code>
       */
      public long getChecker() {
        return checker_;
      }
      /**
       * <pre>
       *点货员
       * </pre>
       *
       * <code>optional int64 checker = 14;</code>
       */
      public Builder setChecker(long value) {
        
        checker_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *点货员
       * </pre>
       *
       * <code>optional int64 checker = 14;</code>
       */
      public Builder clearChecker() {
        
        checker_ = 0L;
        onChanged();
        return this;
      }

      private int state_ = 0;
      /**
       * <pre>
       *状态
       * </pre>
       *
       * <code>optional .smsc.OrderState state = 15;</code>
       */
      public int getStateValue() {
        return state_;
      }
      /**
       * <pre>
       *状态
       * </pre>
       *
       * <code>optional .smsc.OrderState state = 15;</code>
       */
      public Builder setStateValue(int value) {
        state_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *状态
       * </pre>
       *
       * <code>optional .smsc.OrderState state = 15;</code>
       */
      public smsc.Api.OrderState getState() {
        smsc.Api.OrderState result = smsc.Api.OrderState.valueOf(state_);
        return result == null ? smsc.Api.OrderState.UNRECOGNIZED : result;
      }
      /**
       * <pre>
       *状态
       * </pre>
       *
       * <code>optional .smsc.OrderState state = 15;</code>
       */
      public Builder setState(smsc.Api.OrderState value) {
        if (value == null) {
          throw new NullPointerException();
        }
        
        state_ = value.getNumber();
        onChanged();
        return this;
      }
      /**
       * <pre>
       *状态
       * </pre>
       *
       * <code>optional .smsc.OrderState state = 15;</code>
       */
      public Builder clearState() {
        
        state_ = 0;
        onChanged();
        return this;
      }
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return this;
      }

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


      // @@protoc_insertion_point(builder_scope:smsc.Order)
    }

    // @@protoc_insertion_point(class_scope:smsc.Order)
    private static final smsc.Api.Order DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new smsc.Api.Order();
    }

    public static smsc.Api.Order getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

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

    public smsc.Api.Order getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

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

    /**
     * <code>optional .smsc.RequestSetAdmin setAdmin = 1;</code>
     */
    smsc.Api.RequestSetAdmin getSetAdmin();
    /**
     * <code>optional .smsc.RequestSetAdmin setAdmin = 1;</code>
     */
    smsc.Api.RequestSetAdminOrBuilder getSetAdminOrBuilder();

    /**
     * <code>optional .smsc.RequestCreateAccount createAccount = 2;</code>
     */
    smsc.Api.RequestCreateAccount getCreateAccount();
    /**
     * <code>optional .smsc.RequestCreateAccount createAccount = 2;</code>
     */
    smsc.Api.RequestCreateAccountOrBuilder getCreateAccountOrBuilder();

    /**
     * <code>optional .smsc.RequestEditAccount editAccount = 3;</code>
     */
    smsc.Api.RequestEditAccount getEditAccount();
    /**
     * <code>optional .smsc.RequestEditAccount editAccount = 3;</code>
     */
    smsc.Api.RequestEditAccountOrBuilder getEditAccountOrBuilder();

    /**
     * <code>optional .smsc.RequestDeleteAccount deleteAccount = 4;</code>
     */
    smsc.Api.RequestDeleteAccount getDeleteAccount();
    /**
     * <code>optional .smsc.RequestDeleteAccount deleteAccount = 4;</code>
     */
    smsc.Api.RequestDeleteAccountOrBuilder getDeleteAccountOrBuilder();

    /**
     * <code>optional .smsc.RequestSetSupplier setSupplier = 5;</code>
     */
    smsc.Api.RequestSetSupplier getSetSupplier();
    /**
     * <code>optional .smsc.RequestSetSupplier setSupplier = 5;</code>
     */
    smsc.Api.RequestSetSupplierOrBuilder getSetSupplierOrBuilder();

    /**
     * <code>optional .smsc.RequestCreateOrder createOrder = 6;</code>
     */
    smsc.Api.RequestCreateOrder getCreateOrder();
    /**
     * <code>optional .smsc.RequestCreateOrder createOrder = 6;</code>
     */
    smsc.Api.RequestCreateOrderOrBuilder getCreateOrderOrBuilder();

    /**
     * <code>optional .smsc.RequestDelivery delivery = 7;</code>
     */
    smsc.Api.RequestDelivery getDelivery();
    /**
     * <code>optional .smsc.RequestDelivery delivery = 7;</code>
     */
    smsc.Api.RequestDeliveryOrBuilder getDeliveryOrBuilder();

    /**
     * <code>optional .smsc.RequestCarry carry = 8;</code>
     */
    smsc.Api.RequestCarry getCarry();
    /**
     * <code>optional .smsc.RequestCarry carry = 8;</code>
     */
    smsc.Api.RequestCarryOrBuilder getCarryOrBuilder();

    /**
     * <code>optional .smsc.RequestCheck check = 9;</code>
     */
    smsc.Api.RequestCheck getCheck();
    /**
     * <code>optional .smsc.RequestCheck check = 9;</code>
     */
    smsc.Api.RequestCheckOrBuilder getCheckOrBuilder();

    /**
     * <code>optional int64 uid = 10;</code>
     */
    long getUid();

    /**
     * <code>optional int64 instructionId = 11;</code>
     */
    long getInstructionId();

    /**
     * <code>optional bytes pubkey = 12;</code>
     */
    com.google.protobuf.ByteString getPubkey();

    /**
     * <code>optional bytes sign = 13;</code>
     */
    com.google.protobuf.ByteString getSign();

    /**
     * <code>optional .smsc.MessageType actionId = 14;</code>
     */
    int getActionIdValue();
    /**
     * <code>optional .smsc.MessageType actionId = 14;</code>
     */
    smsc.Api.MessageType getActionId();

    public smsc.Api.Request.ValueCase getValueCase();
  }
  /**
   * Protobuf type {@code smsc.Request}
   */
  public  static final class Request extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:smsc.Request)
      RequestOrBuilder {
    // Use Request.newBuilder() to construct.
    private Request(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private Request() {
      uid_ = 0L;
      instructionId_ = 0L;
      pubkey_ = com.google.protobuf.ByteString.EMPTY;
      sign_ = com.google.protobuf.ByteString.EMPTY;
      actionId_ = 0;
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return com.google.protobuf.UnknownFieldSet.getDefaultInstance();
    }
    private Request(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      int mutable_bitField0_ = 0;
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!input.skipField(tag)) {
                done = true;
              }
              break;
            }
            case 10: {
              smsc.Api.RequestSetAdmin.Builder subBuilder = null;
              if (valueCase_ == 1) {
                subBuilder = ((smsc.Api.RequestSetAdmin) value_).toBuilder();
              }
              value_ =
                  input.readMessage(smsc.Api.RequestSetAdmin.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom((smsc.Api.RequestSetAdmin) value_);
                value_ = subBuilder.buildPartial();
              }
              valueCase_ = 1;
              break;
            }
            case 18: {
              smsc.Api.RequestCreateAccount.Builder subBuilder = null;
              if (valueCase_ == 2) {
                subBuilder = ((smsc.Api.RequestCreateAccount) value_).toBuilder();
              }
              value_ =
                  input.readMessage(smsc.Api.RequestCreateAccount.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom((smsc.Api.RequestCreateAccount) value_);
                value_ = subBuilder.buildPartial();
              }
              valueCase_ = 2;
              break;
            }
            case 26: {
              smsc.Api.RequestEditAccount.Builder subBuilder = null;
              if (valueCase_ == 3) {
                subBuilder = ((smsc.Api.RequestEditAccount) value_).toBuilder();
              }
              value_ =
                  input.readMessage(smsc.Api.RequestEditAccount.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom((smsc.Api.RequestEditAccount) value_);
                value_ = subBuilder.buildPartial();
              }
              valueCase_ = 3;
              break;
            }
            case 34: {
              smsc.Api.RequestDeleteAccount.Builder subBuilder = null;
              if (valueCase_ == 4) {
                subBuilder = ((smsc.Api.RequestDeleteAccount) value_).toBuilder();
              }
              value_ =
                  input.readMessage(smsc.Api.RequestDeleteAccount.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom((smsc.Api.RequestDeleteAccount) value_);
                value_ = subBuilder.buildPartial();
              }
              valueCase_ = 4;
              break;
            }
            case 42: {
              smsc.Api.RequestSetSupplier.Builder subBuilder = null;
              if (valueCase_ == 5) {
                subBuilder = ((smsc.Api.RequestSetSupplier) value_).toBuilder();
              }
              value_ =
                  input.readMessage(smsc.Api.RequestSetSupplier.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom((smsc.Api.RequestSetSupplier) value_);
                value_ = subBuilder.buildPartial();
              }
              valueCase_ = 5;
              break;
            }
            case 50: {
              smsc.Api.RequestCreateOrder.Builder subBuilder = null;
              if (valueCase_ == 6) {
                subBuilder = ((smsc.Api.RequestCreateOrder) value_).toBuilder();
              }
              value_ =
                  input.readMessage(smsc.Api.RequestCreateOrder.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom((smsc.Api.RequestCreateOrder) value_);
                value_ = subBuilder.buildPartial();
              }
              valueCase_ = 6;
              break;
            }
            case 58: {
              smsc.Api.RequestDelivery.Builder subBuilder = null;
              if (valueCase_ == 7) {
                subBuilder = ((smsc.Api.RequestDelivery) value_).toBuilder();
              }
              value_ =
                  input.readMessage(smsc.Api.RequestDelivery.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom((smsc.Api.RequestDelivery) value_);
                value_ = subBuilder.buildPartial();
              }
              valueCase_ = 7;
              break;
            }
            case 66: {
              smsc.Api.RequestCarry.Builder subBuilder = null;
              if (valueCase_ == 8) {
                subBuilder = ((smsc.Api.RequestCarry) value_).toBuilder();
              }
              value_ =
                  input.readMessage(smsc.Api.RequestCarry.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom((smsc.Api.RequestCarry) value_);
                value_ = subBuilder.buildPartial();
              }
              valueCase_ = 8;
              break;
            }
            case 74: {
              smsc.Api.RequestCheck.Builder subBuilder = null;
              if (valueCase_ == 9) {
                subBuilder = ((smsc.Api.RequestCheck) value_).toBuilder();
              }
              value_ =
                  input.readMessage(smsc.Api.RequestCheck.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom((smsc.Api.RequestCheck) value_);
                value_ = subBuilder.buildPartial();
              }
              valueCase_ = 9;
              break;
            }
            case 80: {

              uid_ = input.readInt64();
              break;
            }
            case 88: {

              instructionId_ = input.readInt64();
              break;
            }
            case 98: {

              pubkey_ = input.readBytes();
              break;
            }
            case 106: {

              sign_ = input.readBytes();
              break;
            }
            case 112: {
              int rawValue = input.readEnum();

              actionId_ = rawValue;
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return smsc.Api.internal_static_smsc_Request_descriptor;
    }

    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return smsc.Api.internal_static_smsc_Request_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              smsc.Api.Request.class, smsc.Api.Request.Builder.class);
    }

    private int valueCase_ = 0;
    private java.lang.Object value_;
    public enum ValueCase
        implements com.google.protobuf.Internal.EnumLite {
      SETADMIN(1),
      CREATEACCOUNT(2),
      EDITACCOUNT(3),
      DELETEACCOUNT(4),
      SETSUPPLIER(5),
      CREATEORDER(6),
      DELIVERY(7),
      CARRY(8),
      CHECK(9),
      VALUE_NOT_SET(0);
      private final int value;
      private ValueCase(int value) {
        this.value = value;
      }
      /**
       * @deprecated Use {@link #forNumber(int)} instead.
       */
      @java.lang.Deprecated
      public static ValueCase valueOf(int value) {
        return forNumber(value);
      }

      public static ValueCase forNumber(int value) {
        switch (value) {
          case 1: return SETADMIN;
          case 2: return CREATEACCOUNT;
          case 3: return EDITACCOUNT;
          case 4: return DELETEACCOUNT;
          case 5: return SETSUPPLIER;
          case 6: return CREATEORDER;
          case 7: return DELIVERY;
          case 8: return CARRY;
          case 9: return CHECK;
          case 0: return VALUE_NOT_SET;
          default: return null;
        }
      }
      public int getNumber() {
        return this.value;
      }
    };

    public ValueCase
    getValueCase() {
      return ValueCase.forNumber(
          valueCase_);
    }

    public static final int SETADMIN_FIELD_NUMBER = 1;
    /**
     * <code>optional .smsc.RequestSetAdmin setAdmin = 1;</code>
     */
    public smsc.Api.RequestSetAdmin getSetAdmin() {
      if (valueCase_ == 1) {
         return (smsc.Api.RequestSetAdmin) value_;
      }
      return smsc.Api.RequestSetAdmin.getDefaultInstance();
    }
    /**
     * <code>optional .smsc.RequestSetAdmin setAdmin = 1;</code>
     */
    public smsc.Api.RequestSetAdminOrBuilder getSetAdminOrBuilder() {
      if (valueCase_ == 1) {
         return (smsc.Api.RequestSetAdmin) value_;
      }
      return smsc.Api.RequestSetAdmin.getDefaultInstance();
    }

    public static final int CREATEACCOUNT_FIELD_NUMBER = 2;
    /**
     * <code>optional .smsc.RequestCreateAccount createAccount = 2;</code>
     */
    public smsc.Api.RequestCreateAccount getCreateAccount() {
      if (valueCase_ == 2) {
         return (smsc.Api.RequestCreateAccount) value_;
      }
      return smsc.Api.RequestCreateAccount.getDefaultInstance();
    }
    /**
     * <code>optional .smsc.RequestCreateAccount createAccount = 2;</code>
     */
    public smsc.Api.RequestCreateAccountOrBuilder getCreateAccountOrBuilder() {
      if (valueCase_ == 2) {
         return (smsc.Api.RequestCreateAccount) value_;
      }
      return smsc.Api.RequestCreateAccount.getDefaultInstance();
    }

    public static final int EDITACCOUNT_FIELD_NUMBER = 3;
    /**
     * <code>optional .smsc.RequestEditAccount editAccount = 3;</code>
     */
    public smsc.Api.RequestEditAccount getEditAccount() {
      if (valueCase_ == 3) {
         return (smsc.Api.RequestEditAccount) value_;
      }
      return smsc.Api.RequestEditAccount.getDefaultInstance();
    }
    /**
     * <code>optional .smsc.RequestEditAccount editAccount = 3;</code>
     */
    public smsc.Api.RequestEditAccountOrBuilder getEditAccountOrBuilder() {
      if (valueCase_ == 3) {
         return (smsc.Api.RequestEditAccount) value_;
      }
      return smsc.Api.RequestEditAccount.getDefaultInstance();
    }

    public static final int DELETEACCOUNT_FIELD_NUMBER = 4;
    /**
     * <code>optional .smsc.RequestDeleteAccount deleteAccount = 4;</code>
     */
    public smsc.Api.RequestDeleteAccount getDeleteAccount() {
      if (valueCase_ == 4) {
         return (smsc.Api.RequestDeleteAccount) value_;
      }
      return smsc.Api.RequestDeleteAccount.getDefaultInstance();
    }
    /**
     * <code>optional .smsc.RequestDeleteAccount deleteAccount = 4;</code>
     */
    public smsc.Api.RequestDeleteAccountOrBuilder getDeleteAccountOrBuilder() {
      if (valueCase_ == 4) {
         return (smsc.Api.RequestDeleteAccount) value_;
      }
      return smsc.Api.RequestDeleteAccount.getDefaultInstance();
    }

    public static final int SETSUPPLIER_FIELD_NUMBER = 5;
    /**
     * <code>optional .smsc.RequestSetSupplier setSupplier = 5;</code>
     */
    public smsc.Api.RequestSetSupplier getSetSupplier() {
      if (valueCase_ == 5) {
         return (smsc.Api.RequestSetSupplier) value_;
      }
      return smsc.Api.RequestSetSupplier.getDefaultInstance();
    }
    /**
     * <code>optional .smsc.RequestSetSupplier setSupplier = 5;</code>
     */
    public smsc.Api.RequestSetSupplierOrBuilder getSetSupplierOrBuilder() {
      if (valueCase_ == 5) {
         return (smsc.Api.RequestSetSupplier) value_;
      }
      return smsc.Api.RequestSetSupplier.getDefaultInstance();
    }

    public static final int CREATEORDER_FIELD_NUMBER = 6;
    /**
     * <code>optional .smsc.RequestCreateOrder createOrder = 6;</code>
     */
    public smsc.Api.RequestCreateOrder getCreateOrder() {
      if (valueCase_ == 6) {
         return (smsc.Api.RequestCreateOrder) value_;
      }
      return smsc.Api.RequestCreateOrder.getDefaultInstance();
    }
    /**
     * <code>optional .smsc.RequestCreateOrder createOrder = 6;</code>
     */
    public smsc.Api.RequestCreateOrderOrBuilder getCreateOrderOrBuilder() {
      if (valueCase_ == 6) {
         return (smsc.Api.RequestCreateOrder) value_;
      }
      return smsc.Api.RequestCreateOrder.getDefaultInstance();
    }

    public static final int DELIVERY_FIELD_NUMBER = 7;
    /**
     * <code>optional .smsc.RequestDelivery delivery = 7;</code>
     */
    public smsc.Api.RequestDelivery getDelivery() {
      if (valueCase_ == 7) {
         return (smsc.Api.RequestDelivery) value_;
      }
      return smsc.Api.RequestDelivery.getDefaultInstance();
    }
    /**
     * <code>optional .smsc.RequestDelivery delivery = 7;</code>
     */
    public smsc.Api.RequestDeliveryOrBuilder getDeliveryOrBuilder() {
      if (valueCase_ == 7) {
         return (smsc.Api.RequestDelivery) value_;
      }
      return smsc.Api.RequestDelivery.getDefaultInstance();
    }

    public static final int CARRY_FIELD_NUMBER = 8;
    /**
     * <code>optional .smsc.RequestCarry carry = 8;</code>
     */
    public smsc.Api.RequestCarry getCarry() {
      if (valueCase_ == 8) {
         return (smsc.Api.RequestCarry) value_;
      }
      return smsc.Api.RequestCarry.getDefaultInstance();
    }
    /**
     * <code>optional .smsc.RequestCarry carry = 8;</code>
     */
    public smsc.Api.RequestCarryOrBuilder getCarryOrBuilder() {
      if (valueCase_ == 8) {
         return (smsc.Api.RequestCarry) value_;
      }
      return smsc.Api.RequestCarry.getDefaultInstance();
    }

    public static final int CHECK_FIELD_NUMBER = 9;
    /**
     * <code>optional .smsc.RequestCheck check = 9;</code>
     */
    public smsc.Api.RequestCheck getCheck() {
      if (valueCase_ == 9) {
         return (smsc.Api.RequestCheck) value_;
      }
      return smsc.Api.RequestCheck.getDefaultInstance();
    }
    /**
     * <code>optional .smsc.RequestCheck check = 9;</code>
     */
    public smsc.Api.RequestCheckOrBuilder getCheckOrBuilder() {
      if (valueCase_ == 9) {
         return (smsc.Api.RequestCheck) value_;
      }
      return smsc.Api.RequestCheck.getDefaultInstance();
    }

    public static final int UID_FIELD_NUMBER = 10;
    private long uid_;
    /**
     * <code>optional int64 uid = 10;</code>
     */
    public long getUid() {
      return uid_;
    }

    public static final int INSTRUCTIONID_FIELD_NUMBER = 11;
    private long instructionId_;
    /**
     * <code>optional int64 instructionId = 11;</code>
     */
    public long getInstructionId() {
      return instructionId_;
    }

    public static final int PUBKEY_FIELD_NUMBER = 12;
    private com.google.protobuf.ByteString pubkey_;
    /**
     * <code>optional bytes pubkey = 12;</code>
     */
    public com.google.protobuf.ByteString getPubkey() {
      return pubkey_;
    }

    public static final int SIGN_FIELD_NUMBER = 13;
    private com.google.protobuf.ByteString sign_;
    /**
     * <code>optional bytes sign = 13;</code>
     */
    public com.google.protobuf.ByteString getSign() {
      return sign_;
    }

    public static final int ACTIONID_FIELD_NUMBER = 14;
    private int actionId_;
    /**
     * <code>optional .smsc.MessageType actionId = 14;</code>
     */
    public int getActionIdValue() {
      return actionId_;
    }
    /**
     * <code>optional .smsc.MessageType actionId = 14;</code>
     */
    public smsc.Api.MessageType getActionId() {
      smsc.Api.MessageType result = smsc.Api.MessageType.valueOf(actionId_);
      return result == null ? smsc.Api.MessageType.UNRECOGNIZED : result;
    }

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

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (valueCase_ == 1) {
        output.writeMessage(1, (smsc.Api.RequestSetAdmin) value_);
      }
      if (valueCase_ == 2) {
        output.writeMessage(2, (smsc.Api.RequestCreateAccount) value_);
      }
      if (valueCase_ == 3) {
        output.writeMessage(3, (smsc.Api.RequestEditAccount) value_);
      }
      if (valueCase_ == 4) {
        output.writeMessage(4, (smsc.Api.RequestDeleteAccount) value_);
      }
      if (valueCase_ == 5) {
        output.writeMessage(5, (smsc.Api.RequestSetSupplier) value_);
      }
      if (valueCase_ == 6) {
        output.writeMessage(6, (smsc.Api.RequestCreateOrder) value_);
      }
      if (valueCase_ == 7) {
        output.writeMessage(7, (smsc.Api.RequestDelivery) value_);
      }
      if (valueCase_ == 8) {
        output.writeMessage(8, (smsc.Api.RequestCarry) value_);
      }
      if (valueCase_ == 9) {
        output.writeMessage(9, (smsc.Api.RequestCheck) value_);
      }
      if (uid_ != 0L) {
        output.writeInt64(10, uid_);
      }
      if (instructionId_ != 0L) {
        output.writeInt64(11, instructionId_);
      }
      if (!pubkey_.isEmpty()) {
        output.writeBytes(12, pubkey_);
      }
      if (!sign_.isEmpty()) {
        output.writeBytes(13, sign_);
      }
      if (actionId_ != smsc.Api.MessageType.MsgError.getNumber()) {
        output.writeEnum(14, actionId_);
      }
    }

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

      size = 0;
      if (valueCase_ == 1) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(1, (smsc.Api.RequestSetAdmin) value_);
      }
      if (valueCase_ == 2) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(2, (smsc.Api.RequestCreateAccount) value_);
      }
      if (valueCase_ == 3) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(3, (smsc.Api.RequestEditAccount) value_);
      }
      if (valueCase_ == 4) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(4, (smsc.Api.RequestDeleteAccount) value_);
      }
      if (valueCase_ == 5) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(5, (smsc.Api.RequestSetSupplier) value_);
      }
      if (valueCase_ == 6) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(6, (smsc.Api.RequestCreateOrder) value_);
      }
      if (valueCase_ == 7) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(7, (smsc.Api.RequestDelivery) value_);
      }
      if (valueCase_ == 8) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(8, (smsc.Api.RequestCarry) value_);
      }
      if (valueCase_ == 9) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(9, (smsc.Api.RequestCheck) value_);
      }
      if (uid_ != 0L) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt64Size(10, uid_);
      }
      if (instructionId_ != 0L) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt64Size(11, instructionId_);
      }
      if (!pubkey_.isEmpty()) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(12, pubkey_);
      }
      if (!sign_.isEmpty()) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(13, sign_);
      }
      if (actionId_ != smsc.Api.MessageType.MsgError.getNumber()) {
        size += com.google.protobuf.CodedOutputStream
          .computeEnumSize(14, actionId_);
      }
      memoizedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof smsc.Api.Request)) {
        return super.equals(obj);
      }
      smsc.Api.Request other = (smsc.Api.Request) obj;

      boolean result = true;
      result = result && (getUid()
          == other.getUid());
      result = result && (getInstructionId()
          == other.getInstructionId());
      result = result && getPubkey()
          .equals(other.getPubkey());
      result = result && getSign()
          .equals(other.getSign());
      result = result && actionId_ == other.actionId_;
      result = result && getValueCase().equals(
          other.getValueCase());
      if (!result) return false;
      switch (valueCase_) {
        case 1:
          result = result && getSetAdmin()
              .equals(other.getSetAdmin());
          break;
        case 2:
          result = result && getCreateAccount()
              .equals(other.getCreateAccount());
          break;
        case 3:
          result = result && getEditAccount()
              .equals(other.getEditAccount());
          break;
        case 4:
          result = result && getDeleteAccount()
              .equals(other.getDeleteAccount());
          break;
        case 5:
          result = result && getSetSupplier()
              .equals(other.getSetSupplier());
          break;
        case 6:
          result = result && getCreateOrder()
              .equals(other.getCreateOrder());
          break;
        case 7:
          result = result && getDelivery()
              .equals(other.getDelivery());
          break;
        case 8:
          result = result && getCarry()
              .equals(other.getCarry());
          break;
        case 9:
          result = result && getCheck()
              .equals(other.getCheck());
          break;
        case 0:
        default:
      }
      return result;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptorForType().hashCode();
      hash = (37 * hash) + UID_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
          getUid());
      hash = (37 * hash) + INSTRUCTIONID_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
          getInstructionId());
      hash = (37 * hash) + PUBKEY_FIELD_NUMBER;
      hash = (53 * hash) + getPubkey().hashCode();
      hash = (37 * hash) + SIGN_FIELD_NUMBER;
      hash = (53 * hash) + getSign().hashCode();
      hash = (37 * hash) + ACTIONID_FIELD_NUMBER;
      hash = (53 * hash) + actionId_;
      switch (valueCase_) {
        case 1:
          hash = (37 * hash) + SETADMIN_FIELD_NUMBER;
          hash = (53 * hash) + getSetAdmin().hashCode();
          break;
        case 2:
          hash = (37 * hash) + CREATEACCOUNT_FIELD_NUMBER;
          hash = (53 * hash) + getCreateAccount().hashCode();
          break;
        case 3:
          hash = (37 * hash) + EDITACCOUNT_FIELD_NUMBER;
          hash = (53 * hash) + getEditAccount().hashCode();
          break;
        case 4:
          hash = (37 * hash) + DELETEACCOUNT_FIELD_NUMBER;
          hash = (53 * hash) + getDeleteAccount().hashCode();
          break;
        case 5:
          hash = (37 * hash) + SETSUPPLIER_FIELD_NUMBER;
          hash = (53 * hash) + getSetSupplier().hashCode();
          break;
        case 6:
          hash = (37 * hash) + CREATEORDER_FIELD_NUMBER;
          hash = (53 * hash) + getCreateOrder().hashCode();
          break;
        case 7:
          hash = (37 * hash) + DELIVERY_FIELD_NUMBER;
          hash = (53 * hash) + getDelivery().hashCode();
          break;
        case 8:
          hash = (37 * hash) + CARRY_FIELD_NUMBER;
          hash = (53 * hash) + getCarry().hashCode();
          break;
        case 9:
          hash = (37 * hash) + CHECK_FIELD_NUMBER;
          hash = (53 * hash) + getCheck().hashCode();
          break;
        case 0:
        default:
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

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

    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(smsc.Api.Request prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

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

      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return smsc.Api.internal_static_smsc_Request_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                smsc.Api.Request.class, smsc.Api.Request.Builder.class);
      }

      // Construct using smsc.Api.Request.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
        }
      }
      public Builder clear() {
        super.clear();
        uid_ = 0L;

        instructionId_ = 0L;

        pubkey_ = com.google.protobuf.ByteString.EMPTY;

        sign_ = com.google.protobuf.ByteString.EMPTY;

        actionId_ = 0;

        valueCase_ = 0;
        value_ = null;
        return this;
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return smsc.Api.internal_static_smsc_Request_descriptor;
      }

      public smsc.Api.Request getDefaultInstanceForType() {
        return smsc.Api.Request.getDefaultInstance();
      }

      public smsc.Api.Request build() {
        smsc.Api.Request result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public smsc.Api.Request buildPartial() {
        smsc.Api.Request result = new smsc.Api.Request(this);
        if (valueCase_ == 1) {
          if (setAdminBuilder_ == null) {
            result.value_ = value_;
          } else {
            result.value_ = setAdminBuilder_.build();
          }
        }
        if (valueCase_ == 2) {
          if (createAccountBuilder_ == null) {
            result.value_ = value_;
          } else {
            result.value_ = createAccountBuilder_.build();
          }
        }
        if (valueCase_ == 3) {
          if (editAccountBuilder_ == null) {
            result.value_ = value_;
          } else {
            result.value_ = editAccountBuilder_.build();
          }
        }
        if (valueCase_ == 4) {
          if (deleteAccountBuilder_ == null) {
            result.value_ = value_;
          } else {
            result.value_ = deleteAccountBuilder_.build();
          }
        }
        if (valueCase_ == 5) {
          if (setSupplierBuilder_ == null) {
            result.value_ = value_;
          } else {
            result.value_ = setSupplierBuilder_.build();
          }
        }
        if (valueCase_ == 6) {
          if (createOrderBuilder_ == null) {
            result.value_ = value_;
          } else {
            result.value_ = createOrderBuilder_.build();
          }
        }
        if (valueCase_ == 7) {
          if (deliveryBuilder_ == null) {
            result.value_ = value_;
          } else {
            result.value_ = deliveryBuilder_.build();
          }
        }
        if (valueCase_ == 8) {
          if (carryBuilder_ == null) {
            result.value_ = value_;
          } else {
            result.value_ = carryBuilder_.build();
          }
        }
        if (valueCase_ == 9) {
          if (checkBuilder_ == null) {
            result.value_ = value_;
          } else {
            result.value_ = checkBuilder_.build();
          }
        }
        result.uid_ = uid_;
        result.instructionId_ = instructionId_;
        result.pubkey_ = pubkey_;
        result.sign_ = sign_;
        result.actionId_ = actionId_;
        result.valueCase_ = valueCase_;
        onBuilt();
        return result;
      }

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

      public Builder mergeFrom(smsc.Api.Request other) {
        if (other == smsc.Api.Request.getDefaultInstance()) return this;
        if (other.getUid() != 0L) {
          setUid(other.getUid());
        }
        if (other.getInstructionId() != 0L) {
          setInstructionId(other.getInstructionId());
        }
        if (other.getPubkey() != com.google.protobuf.ByteString.EMPTY) {
          setPubkey(other.getPubkey());
        }
        if (other.getSign() != com.google.protobuf.ByteString.EMPTY) {
          setSign(other.getSign());
        }
        if (other.actionId_ != 0) {
          setActionIdValue(other.getActionIdValue());
        }
        switch (other.getValueCase()) {
          case SETADMIN: {
            mergeSetAdmin(other.getSetAdmin());
            break;
          }
          case CREATEACCOUNT: {
            mergeCreateAccount(other.getCreateAccount());
            break;
          }
          case EDITACCOUNT: {
            mergeEditAccount(other.getEditAccount());
            break;
          }
          case DELETEACCOUNT: {
            mergeDeleteAccount(other.getDeleteAccount());
            break;
          }
          case SETSUPPLIER: {
            mergeSetSupplier(other.getSetSupplier());
            break;
          }
          case CREATEORDER: {
            mergeCreateOrder(other.getCreateOrder());
            break;
          }
          case DELIVERY: {
            mergeDelivery(other.getDelivery());
            break;
          }
          case CARRY: {
            mergeCarry(other.getCarry());
            break;
          }
          case CHECK: {
            mergeCheck(other.getCheck());
            break;
          }
          case VALUE_NOT_SET: {
            break;
          }
        }
        onChanged();
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        smsc.Api.Request parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (smsc.Api.Request) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int valueCase_ = 0;
      private java.lang.Object value_;
      public ValueCase
          getValueCase() {
        return ValueCase.forNumber(
            valueCase_);
      }

      public Builder clearValue() {
        valueCase_ = 0;
        value_ = null;
        onChanged();
        return this;
      }


      private com.google.protobuf.SingleFieldBuilderV3<
          smsc.Api.RequestSetAdmin, smsc.Api.RequestSetAdmin.Builder, smsc.Api.RequestSetAdminOrBuilder> setAdminBuilder_;
      /**
       * <code>optional .smsc.RequestSetAdmin setAdmin = 1;</code>
       */
      public smsc.Api.RequestSetAdmin getSetAdmin() {
        if (setAdminBuilder_ == null) {
          if (valueCase_ == 1) {
            return (smsc.Api.RequestSetAdmin) value_;
          }
          return smsc.Api.RequestSetAdmin.getDefaultInstance();
        } else {
          if (valueCase_ == 1) {
            return setAdminBuilder_.getMessage();
          }
          return smsc.Api.RequestSetAdmin.getDefaultInstance();
        }
      }
      /**
       * <code>optional .smsc.RequestSetAdmin setAdmin = 1;</code>
       */
      public Builder setSetAdmin(smsc.Api.RequestSetAdmin value) {
        if (setAdminBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          value_ = value;
          onChanged();
        } else {
          setAdminBuilder_.setMessage(value);
        }
        valueCase_ = 1;
        return this;
      }
      /**
       * <code>optional .smsc.RequestSetAdmin setAdmin = 1;</code>
       */
      public Builder setSetAdmin(
          smsc.Api.RequestSetAdmin.Builder builderForValue) {
        if (setAdminBuilder_ == null) {
          value_ = builderForValue.build();
          onChanged();
        } else {
          setAdminBuilder_.setMessage(builderForValue.build());
        }
        valueCase_ = 1;
        return this;
      }
      /**
       * <code>optional .smsc.RequestSetAdmin setAdmin = 1;</code>
       */
      public Builder mergeSetAdmin(smsc.Api.RequestSetAdmin value) {
        if (setAdminBuilder_ == null) {
          if (valueCase_ == 1 &&
              value_ != smsc.Api.RequestSetAdmin.getDefaultInstance()) {
            value_ = smsc.Api.RequestSetAdmin.newBuilder((smsc.Api.RequestSetAdmin) value_)
                .mergeFrom(value).buildPartial();
          } else {
            value_ = value;
          }
          onChanged();
        } else {
          if (valueCase_ == 1) {
            setAdminBuilder_.mergeFrom(value);
          }
          setAdminBuilder_.setMessage(value);
        }
        valueCase_ = 1;
        return this;
      }
      /**
       * <code>optional .smsc.RequestSetAdmin setAdmin = 1;</code>
       */
      public Builder clearSetAdmin() {
        if (setAdminBuilder_ == null) {
          if (valueCase_ == 1) {
            valueCase_ = 0;
            value_ = null;
            onChanged();
          }
        } else {
          if (valueCase_ == 1) {
            valueCase_ = 0;
            value_ = null;
          }
          setAdminBuilder_.clear();
        }
        return this;
      }
      /**
       * <code>optional .smsc.RequestSetAdmin setAdmin = 1;</code>
       */
      public smsc.Api.RequestSetAdmin.Builder getSetAdminBuilder() {
        return getSetAdminFieldBuilder().getBuilder();
      }
      /**
       * <code>optional .smsc.RequestSetAdmin setAdmin = 1;</code>
       */
      public smsc.Api.RequestSetAdminOrBuilder getSetAdminOrBuilder() {
        if ((valueCase_ == 1) && (setAdminBuilder_ != null)) {
          return setAdminBuilder_.getMessageOrBuilder();
        } else {
          if (valueCase_ == 1) {
            return (smsc.Api.RequestSetAdmin) value_;
          }
          return smsc.Api.RequestSetAdmin.getDefaultInstance();
        }
      }
      /**
       * <code>optional .smsc.RequestSetAdmin setAdmin = 1;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          smsc.Api.RequestSetAdmin, smsc.Api.RequestSetAdmin.Builder, smsc.Api.RequestSetAdminOrBuilder> 
          getSetAdminFieldBuilder() {
        if (setAdminBuilder_ == null) {
          if (!(valueCase_ == 1)) {
            value_ = smsc.Api.RequestSetAdmin.getDefaultInstance();
          }
          setAdminBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              smsc.Api.RequestSetAdmin, smsc.Api.RequestSetAdmin.Builder, smsc.Api.RequestSetAdminOrBuilder>(
                  (smsc.Api.RequestSetAdmin) value_,
                  getParentForChildren(),
                  isClean());
          value_ = null;
        }
        valueCase_ = 1;
        onChanged();;
        return setAdminBuilder_;
      }

      private com.google.protobuf.SingleFieldBuilderV3<
          smsc.Api.RequestCreateAccount, smsc.Api.RequestCreateAccount.Builder, smsc.Api.RequestCreateAccountOrBuilder> createAccountBuilder_;
      /**
       * <code>optional .smsc.RequestCreateAccount createAccount = 2;</code>
       */
      public smsc.Api.RequestCreateAccount getCreateAccount() {
        if (createAccountBuilder_ == null) {
          if (valueCase_ == 2) {
            return (smsc.Api.RequestCreateAccount) value_;
          }
          return smsc.Api.RequestCreateAccount.getDefaultInstance();
        } else {
          if (valueCase_ == 2) {
            return createAccountBuilder_.getMessage();
          }
          return smsc.Api.RequestCreateAccount.getDefaultInstance();
        }
      }
      /**
       * <code>optional .smsc.RequestCreateAccount createAccount = 2;</code>
       */
      public Builder setCreateAccount(smsc.Api.RequestCreateAccount value) {
        if (createAccountBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          value_ = value;
          onChanged();
        } else {
          createAccountBuilder_.setMessage(value);
        }
        valueCase_ = 2;
        return this;
      }
      /**
       * <code>optional .smsc.RequestCreateAccount createAccount = 2;</code>
       */
      public Builder setCreateAccount(
          smsc.Api.RequestCreateAccount.Builder builderForValue) {
        if (createAccountBuilder_ == null) {
          value_ = builderForValue.build();
          onChanged();
        } else {
          createAccountBuilder_.setMessage(builderForValue.build());
        }
        valueCase_ = 2;
        return this;
      }
      /**
       * <code>optional .smsc.RequestCreateAccount createAccount = 2;</code>
       */
      public Builder mergeCreateAccount(smsc.Api.RequestCreateAccount value) {
        if (createAccountBuilder_ == null) {
          if (valueCase_ == 2 &&
              value_ != smsc.Api.RequestCreateAccount.getDefaultInstance()) {
            value_ = smsc.Api.RequestCreateAccount.newBuilder((smsc.Api.RequestCreateAccount) value_)
                .mergeFrom(value).buildPartial();
          } else {
            value_ = value;
          }
          onChanged();
        } else {
          if (valueCase_ == 2) {
            createAccountBuilder_.mergeFrom(value);
          }
          createAccountBuilder_.setMessage(value);
        }
        valueCase_ = 2;
        return this;
      }
      /**
       * <code>optional .smsc.RequestCreateAccount createAccount = 2;</code>
       */
      public Builder clearCreateAccount() {
        if (createAccountBuilder_ == null) {
          if (valueCase_ == 2) {
            valueCase_ = 0;
            value_ = null;
            onChanged();
          }
        } else {
          if (valueCase_ == 2) {
            valueCase_ = 0;
            value_ = null;
          }
          createAccountBuilder_.clear();
        }
        return this;
      }
      /**
       * <code>optional .smsc.RequestCreateAccount createAccount = 2;</code>
       */
      public smsc.Api.RequestCreateAccount.Builder getCreateAccountBuilder() {
        return getCreateAccountFieldBuilder().getBuilder();
      }
      /**
       * <code>optional .smsc.RequestCreateAccount createAccount = 2;</code>
       */
      public smsc.Api.RequestCreateAccountOrBuilder getCreateAccountOrBuilder() {
        if ((valueCase_ == 2) && (createAccountBuilder_ != null)) {
          return createAccountBuilder_.getMessageOrBuilder();
        } else {
          if (valueCase_ == 2) {
            return (smsc.Api.RequestCreateAccount) value_;
          }
          return smsc.Api.RequestCreateAccount.getDefaultInstance();
        }
      }
      /**
       * <code>optional .smsc.RequestCreateAccount createAccount = 2;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          smsc.Api.RequestCreateAccount, smsc.Api.RequestCreateAccount.Builder, smsc.Api.RequestCreateAccountOrBuilder> 
          getCreateAccountFieldBuilder() {
        if (createAccountBuilder_ == null) {
          if (!(valueCase_ == 2)) {
            value_ = smsc.Api.RequestCreateAccount.getDefaultInstance();
          }
          createAccountBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              smsc.Api.RequestCreateAccount, smsc.Api.RequestCreateAccount.Builder, smsc.Api.RequestCreateAccountOrBuilder>(
                  (smsc.Api.RequestCreateAccount) value_,
                  getParentForChildren(),
                  isClean());
          value_ = null;
        }
        valueCase_ = 2;
        onChanged();;
        return createAccountBuilder_;
      }

      private com.google.protobuf.SingleFieldBuilderV3<
          smsc.Api.RequestEditAccount, smsc.Api.RequestEditAccount.Builder, smsc.Api.RequestEditAccountOrBuilder> editAccountBuilder_;
      /**
       * <code>optional .smsc.RequestEditAccount editAccount = 3;</code>
       */
      public smsc.Api.RequestEditAccount getEditAccount() {
        if (editAccountBuilder_ == null) {
          if (valueCase_ == 3) {
            return (smsc.Api.RequestEditAccount) value_;
          }
          return smsc.Api.RequestEditAccount.getDefaultInstance();
        } else {
          if (valueCase_ == 3) {
            return editAccountBuilder_.getMessage();
          }
          return smsc.Api.RequestEditAccount.getDefaultInstance();
        }
      }
      /**
       * <code>optional .smsc.RequestEditAccount editAccount = 3;</code>
       */
      public Builder setEditAccount(smsc.Api.RequestEditAccount value) {
        if (editAccountBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          value_ = value;
          onChanged();
        } else {
          editAccountBuilder_.setMessage(value);
        }
        valueCase_ = 3;
        return this;
      }
      /**
       * <code>optional .smsc.RequestEditAccount editAccount = 3;</code>
       */
      public Builder setEditAccount(
          smsc.Api.RequestEditAccount.Builder builderForValue) {
        if (editAccountBuilder_ == null) {
          value_ = builderForValue.build();
          onChanged();
        } else {
          editAccountBuilder_.setMessage(builderForValue.build());
        }
        valueCase_ = 3;
        return this;
      }
      /**
       * <code>optional .smsc.RequestEditAccount editAccount = 3;</code>
       */
      public Builder mergeEditAccount(smsc.Api.RequestEditAccount value) {
        if (editAccountBuilder_ == null) {
          if (valueCase_ == 3 &&
              value_ != smsc.Api.RequestEditAccount.getDefaultInstance()) {
            value_ = smsc.Api.RequestEditAccount.newBuilder((smsc.Api.RequestEditAccount) value_)
                .mergeFrom(value).buildPartial();
          } else {
            value_ = value;
          }
          onChanged();
        } else {
          if (valueCase_ == 3) {
            editAccountBuilder_.mergeFrom(value);
          }
          editAccountBuilder_.setMessage(value);
        }
        valueCase_ = 3;
        return this;
      }
      /**
       * <code>optional .smsc.RequestEditAccount editAccount = 3;</code>
       */
      public Builder clearEditAccount() {
        if (editAccountBuilder_ == null) {
          if (valueCase_ == 3) {
            valueCase_ = 0;
            value_ = null;
            onChanged();
          }
        } else {
          if (valueCase_ == 3) {
            valueCase_ = 0;
            value_ = null;
          }
          editAccountBuilder_.clear();
        }
        return this;
      }
      /**
       * <code>optional .smsc.RequestEditAccount editAccount = 3;</code>
       */
      public smsc.Api.RequestEditAccount.Builder getEditAccountBuilder() {
        return getEditAccountFieldBuilder().getBuilder();
      }
      /**
       * <code>optional .smsc.RequestEditAccount editAccount = 3;</code>
       */
      public smsc.Api.RequestEditAccountOrBuilder getEditAccountOrBuilder() {
        if ((valueCase_ == 3) && (editAccountBuilder_ != null)) {
          return editAccountBuilder_.getMessageOrBuilder();
        } else {
          if (valueCase_ == 3) {
            return (smsc.Api.RequestEditAccount) value_;
          }
          return smsc.Api.RequestEditAccount.getDefaultInstance();
        }
      }
      /**
       * <code>optional .smsc.RequestEditAccount editAccount = 3;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          smsc.Api.RequestEditAccount, smsc.Api.RequestEditAccount.Builder, smsc.Api.RequestEditAccountOrBuilder> 
          getEditAccountFieldBuilder() {
        if (editAccountBuilder_ == null) {
          if (!(valueCase_ == 3)) {
            value_ = smsc.Api.RequestEditAccount.getDefaultInstance();
          }
          editAccountBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              smsc.Api.RequestEditAccount, smsc.Api.RequestEditAccount.Builder, smsc.Api.RequestEditAccountOrBuilder>(
                  (smsc.Api.RequestEditAccount) value_,
                  getParentForChildren(),
                  isClean());
          value_ = null;
        }
        valueCase_ = 3;
        onChanged();;
        return editAccountBuilder_;
      }

      private com.google.protobuf.SingleFieldBuilderV3<
          smsc.Api.RequestDeleteAccount, smsc.Api.RequestDeleteAccount.Builder, smsc.Api.RequestDeleteAccountOrBuilder> deleteAccountBuilder_;
      /**
       * <code>optional .smsc.RequestDeleteAccount deleteAccount = 4;</code>
       */
      public smsc.Api.RequestDeleteAccount getDeleteAccount() {
        if (deleteAccountBuilder_ == null) {
          if (valueCase_ == 4) {
            return (smsc.Api.RequestDeleteAccount) value_;
          }
          return smsc.Api.RequestDeleteAccount.getDefaultInstance();
        } else {
          if (valueCase_ == 4) {
            return deleteAccountBuilder_.getMessage();
          }
          return smsc.Api.RequestDeleteAccount.getDefaultInstance();
        }
      }
      /**
       * <code>optional .smsc.RequestDeleteAccount deleteAccount = 4;</code>
       */
      public Builder setDeleteAccount(smsc.Api.RequestDeleteAccount value) {
        if (deleteAccountBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          value_ = value;
          onChanged();
        } else {
          deleteAccountBuilder_.setMessage(value);
        }
        valueCase_ = 4;
        return this;
      }
      /**
       * <code>optional .smsc.RequestDeleteAccount deleteAccount = 4;</code>
       */
      public Builder setDeleteAccount(
          smsc.Api.RequestDeleteAccount.Builder builderForValue) {
        if (deleteAccountBuilder_ == null) {
          value_ = builderForValue.build();
          onChanged();
        } else {
          deleteAccountBuilder_.setMessage(builderForValue.build());
        }
        valueCase_ = 4;
        return this;
      }
      /**
       * <code>optional .smsc.RequestDeleteAccount deleteAccount = 4;</code>
       */
      public Builder mergeDeleteAccount(smsc.Api.RequestDeleteAccount value) {
        if (deleteAccountBuilder_ == null) {
          if (valueCase_ == 4 &&
              value_ != smsc.Api.RequestDeleteAccount.getDefaultInstance()) {
            value_ = smsc.Api.RequestDeleteAccount.newBuilder((smsc.Api.RequestDeleteAccount) value_)
                .mergeFrom(value).buildPartial();
          } else {
            value_ = value;
          }
          onChanged();
        } else {
          if (valueCase_ == 4) {
            deleteAccountBuilder_.mergeFrom(value);
          }
          deleteAccountBuilder_.setMessage(value);
        }
        valueCase_ = 4;
        return this;
      }
      /**
       * <code>optional .smsc.RequestDeleteAccount deleteAccount = 4;</code>
       */
      public Builder clearDeleteAccount() {
        if (deleteAccountBuilder_ == null) {
          if (valueCase_ == 4) {
            valueCase_ = 0;
            value_ = null;
            onChanged();
          }
        } else {
          if (valueCase_ == 4) {
            valueCase_ = 0;
            value_ = null;
          }
          deleteAccountBuilder_.clear();
        }
        return this;
      }
      /**
       * <code>optional .smsc.RequestDeleteAccount deleteAccount = 4;</code>
       */
      public smsc.Api.RequestDeleteAccount.Builder getDeleteAccountBuilder() {
        return getDeleteAccountFieldBuilder().getBuilder();
      }
      /**
       * <code>optional .smsc.RequestDeleteAccount deleteAccount = 4;</code>
       */
      public smsc.Api.RequestDeleteAccountOrBuilder getDeleteAccountOrBuilder() {
        if ((valueCase_ == 4) && (deleteAccountBuilder_ != null)) {
          return deleteAccountBuilder_.getMessageOrBuilder();
        } else {
          if (valueCase_ == 4) {
            return (smsc.Api.RequestDeleteAccount) value_;
          }
          return smsc.Api.RequestDeleteAccount.getDefaultInstance();
        }
      }
      /**
       * <code>optional .smsc.RequestDeleteAccount deleteAccount = 4;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          smsc.Api.RequestDeleteAccount, smsc.Api.RequestDeleteAccount.Builder, smsc.Api.RequestDeleteAccountOrBuilder> 
          getDeleteAccountFieldBuilder() {
        if (deleteAccountBuilder_ == null) {
          if (!(valueCase_ == 4)) {
            value_ = smsc.Api.RequestDeleteAccount.getDefaultInstance();
          }
          deleteAccountBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              smsc.Api.RequestDeleteAccount, smsc.Api.RequestDeleteAccount.Builder, smsc.Api.RequestDeleteAccountOrBuilder>(
                  (smsc.Api.RequestDeleteAccount) value_,
                  getParentForChildren(),
                  isClean());
          value_ = null;
        }
        valueCase_ = 4;
        onChanged();;
        return deleteAccountBuilder_;
      }

      private com.google.protobuf.SingleFieldBuilderV3<
          smsc.Api.RequestSetSupplier, smsc.Api.RequestSetSupplier.Builder, smsc.Api.RequestSetSupplierOrBuilder> setSupplierBuilder_;
      /**
       * <code>optional .smsc.RequestSetSupplier setSupplier = 5;</code>
       */
      public smsc.Api.RequestSetSupplier getSetSupplier() {
        if (setSupplierBuilder_ == null) {
          if (valueCase_ == 5) {
            return (smsc.Api.RequestSetSupplier) value_;
          }
          return smsc.Api.RequestSetSupplier.getDefaultInstance();
        } else {
          if (valueCase_ == 5) {
            return setSupplierBuilder_.getMessage();
          }
          return smsc.Api.RequestSetSupplier.getDefaultInstance();
        }
      }
      /**
       * <code>optional .smsc.RequestSetSupplier setSupplier = 5;</code>
       */
      public Builder setSetSupplier(smsc.Api.RequestSetSupplier value) {
        if (setSupplierBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          value_ = value;
          onChanged();
        } else {
          setSupplierBuilder_.setMessage(value);
        }
        valueCase_ = 5;
        return this;
      }
      /**
       * <code>optional .smsc.RequestSetSupplier setSupplier = 5;</code>
       */
      public Builder setSetSupplier(
          smsc.Api.RequestSetSupplier.Builder builderForValue) {
        if (setSupplierBuilder_ == null) {
          value_ = builderForValue.build();
          onChanged();
        } else {
          setSupplierBuilder_.setMessage(builderForValue.build());
        }
        valueCase_ = 5;
        return this;
      }
      /**
       * <code>optional .smsc.RequestSetSupplier setSupplier = 5;</code>
       */
      public Builder mergeSetSupplier(smsc.Api.RequestSetSupplier value) {
        if (setSupplierBuilder_ == null) {
          if (valueCase_ == 5 &&
              value_ != smsc.Api.RequestSetSupplier.getDefaultInstance()) {
            value_ = smsc.Api.RequestSetSupplier.newBuilder((smsc.Api.RequestSetSupplier) value_)
                .mergeFrom(value).buildPartial();
          } else {
            value_ = value;
          }
          onChanged();
        } else {
          if (valueCase_ == 5) {
            setSupplierBuilder_.mergeFrom(value);
          }
          setSupplierBuilder_.setMessage(value);
        }
        valueCase_ = 5;
        return this;
      }
      /**
       * <code>optional .smsc.RequestSetSupplier setSupplier = 5;</code>
       */
      public Builder clearSetSupplier() {
        if (setSupplierBuilder_ == null) {
          if (valueCase_ == 5) {
            valueCase_ = 0;
            value_ = null;
            onChanged();
          }
        } else {
          if (valueCase_ == 5) {
            valueCase_ = 0;
            value_ = null;
          }
          setSupplierBuilder_.clear();
        }
        return this;
      }
      /**
       * <code>optional .smsc.RequestSetSupplier setSupplier = 5;</code>
       */
      public smsc.Api.RequestSetSupplier.Builder getSetSupplierBuilder() {
        return getSetSupplierFieldBuilder().getBuilder();
      }
      /**
       * <code>optional .smsc.RequestSetSupplier setSupplier = 5;</code>
       */
      public smsc.Api.RequestSetSupplierOrBuilder getSetSupplierOrBuilder() {
        if ((valueCase_ == 5) && (setSupplierBuilder_ != null)) {
          return setSupplierBuilder_.getMessageOrBuilder();
        } else {
          if (valueCase_ == 5) {
            return (smsc.Api.RequestSetSupplier) value_;
          }
          return smsc.Api.RequestSetSupplier.getDefaultInstance();
        }
      }
      /**
       * <code>optional .smsc.RequestSetSupplier setSupplier = 5;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          smsc.Api.RequestSetSupplier, smsc.Api.RequestSetSupplier.Builder, smsc.Api.RequestSetSupplierOrBuilder> 
          getSetSupplierFieldBuilder() {
        if (setSupplierBuilder_ == null) {
          if (!(valueCase_ == 5)) {
            value_ = smsc.Api.RequestSetSupplier.getDefaultInstance();
          }
          setSupplierBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              smsc.Api.RequestSetSupplier, smsc.Api.RequestSetSupplier.Builder, smsc.Api.RequestSetSupplierOrBuilder>(
                  (smsc.Api.RequestSetSupplier) value_,
                  getParentForChildren(),
                  isClean());
          value_ = null;
        }
        valueCase_ = 5;
        onChanged();;
        return setSupplierBuilder_;
      }

      private com.google.protobuf.SingleFieldBuilderV3<
          smsc.Api.RequestCreateOrder, smsc.Api.RequestCreateOrder.Builder, smsc.Api.RequestCreateOrderOrBuilder> createOrderBuilder_;
      /**
       * <code>optional .smsc.RequestCreateOrder createOrder = 6;</code>
       */
      public smsc.Api.RequestCreateOrder getCreateOrder() {
        if (createOrderBuilder_ == null) {
          if (valueCase_ == 6) {
            return (smsc.Api.RequestCreateOrder) value_;
          }
          return smsc.Api.RequestCreateOrder.getDefaultInstance();
        } else {
          if (valueCase_ == 6) {
            return createOrderBuilder_.getMessage();
          }
          return smsc.Api.RequestCreateOrder.getDefaultInstance();
        }
      }
      /**
       * <code>optional .smsc.RequestCreateOrder createOrder = 6;</code>
       */
      public Builder setCreateOrder(smsc.Api.RequestCreateOrder value) {
        if (createOrderBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          value_ = value;
          onChanged();
        } else {
          createOrderBuilder_.setMessage(value);
        }
        valueCase_ = 6;
        return this;
      }
      /**
       * <code>optional .smsc.RequestCreateOrder createOrder = 6;</code>
       */
      public Builder setCreateOrder(
          smsc.Api.RequestCreateOrder.Builder builderForValue) {
        if (createOrderBuilder_ == null) {
          value_ = builderForValue.build();
          onChanged();
        } else {
          createOrderBuilder_.setMessage(builderForValue.build());
        }
        valueCase_ = 6;
        return this;
      }
      /**
       * <code>optional .smsc.RequestCreateOrder createOrder = 6;</code>
       */
      public Builder mergeCreateOrder(smsc.Api.RequestCreateOrder value) {
        if (createOrderBuilder_ == null) {
          if (valueCase_ == 6 &&
              value_ != smsc.Api.RequestCreateOrder.getDefaultInstance()) {
            value_ = smsc.Api.RequestCreateOrder.newBuilder((smsc.Api.RequestCreateOrder) value_)
                .mergeFrom(value).buildPartial();
          } else {
            value_ = value;
          }
          onChanged();
        } else {
          if (valueCase_ == 6) {
            createOrderBuilder_.mergeFrom(value);
          }
          createOrderBuilder_.setMessage(value);
        }
        valueCase_ = 6;
        return this;
      }
      /**
       * <code>optional .smsc.RequestCreateOrder createOrder = 6;</code>
       */
      public Builder clearCreateOrder() {
        if (createOrderBuilder_ == null) {
          if (valueCase_ == 6) {
            valueCase_ = 0;
            value_ = null;
            onChanged();
          }
        } else {
          if (valueCase_ == 6) {
            valueCase_ = 0;
            value_ = null;
          }
          createOrderBuilder_.clear();
        }
        return this;
      }
      /**
       * <code>optional .smsc.RequestCreateOrder createOrder = 6;</code>
       */
      public smsc.Api.RequestCreateOrder.Builder getCreateOrderBuilder() {
        return getCreateOrderFieldBuilder().getBuilder();
      }
      /**
       * <code>optional .smsc.RequestCreateOrder createOrder = 6;</code>
       */
      public smsc.Api.RequestCreateOrderOrBuilder getCreateOrderOrBuilder() {
        if ((valueCase_ == 6) && (createOrderBuilder_ != null)) {
          return createOrderBuilder_.getMessageOrBuilder();
        } else {
          if (valueCase_ == 6) {
            return (smsc.Api.RequestCreateOrder) value_;
          }
          return smsc.Api.RequestCreateOrder.getDefaultInstance();
        }
      }
      /**
       * <code>optional .smsc.RequestCreateOrder createOrder = 6;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          smsc.Api.RequestCreateOrder, smsc.Api.RequestCreateOrder.Builder, smsc.Api.RequestCreateOrderOrBuilder> 
          getCreateOrderFieldBuilder() {
        if (createOrderBuilder_ == null) {
          if (!(valueCase_ == 6)) {
            value_ = smsc.Api.RequestCreateOrder.getDefaultInstance();
          }
          createOrderBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              smsc.Api.RequestCreateOrder, smsc.Api.RequestCreateOrder.Builder, smsc.Api.RequestCreateOrderOrBuilder>(
                  (smsc.Api.RequestCreateOrder) value_,
                  getParentForChildren(),
                  isClean());
          value_ = null;
        }
        valueCase_ = 6;
        onChanged();;
        return createOrderBuilder_;
      }

      private com.google.protobuf.SingleFieldBuilderV3<
          smsc.Api.RequestDelivery, smsc.Api.RequestDelivery.Builder, smsc.Api.RequestDeliveryOrBuilder> deliveryBuilder_;
      /**
       * <code>optional .smsc.RequestDelivery delivery = 7;</code>
       */
      public smsc.Api.RequestDelivery getDelivery() {
        if (deliveryBuilder_ == null) {
          if (valueCase_ == 7) {
            return (smsc.Api.RequestDelivery) value_;
          }
          return smsc.Api.RequestDelivery.getDefaultInstance();
        } else {
          if (valueCase_ == 7) {
            return deliveryBuilder_.getMessage();
          }
          return smsc.Api.RequestDelivery.getDefaultInstance();
        }
      }
      /**
       * <code>optional .smsc.RequestDelivery delivery = 7;</code>
       */
      public Builder setDelivery(smsc.Api.RequestDelivery value) {
        if (deliveryBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          value_ = value;
          onChanged();
        } else {
          deliveryBuilder_.setMessage(value);
        }
        valueCase_ = 7;
        return this;
      }
      /**
       * <code>optional .smsc.RequestDelivery delivery = 7;</code>
       */
      public Builder setDelivery(
          smsc.Api.RequestDelivery.Builder builderForValue) {
        if (deliveryBuilder_ == null) {
          value_ = builderForValue.build();
          onChanged();
        } else {
          deliveryBuilder_.setMessage(builderForValue.build());
        }
        valueCase_ = 7;
        return this;
      }
      /**
       * <code>optional .smsc.RequestDelivery delivery = 7;</code>
       */
      public Builder mergeDelivery(smsc.Api.RequestDelivery value) {
        if (deliveryBuilder_ == null) {
          if (valueCase_ == 7 &&
              value_ != smsc.Api.RequestDelivery.getDefaultInstance()) {
            value_ = smsc.Api.RequestDelivery.newBuilder((smsc.Api.RequestDelivery) value_)
                .mergeFrom(value).buildPartial();
          } else {
            value_ = value;
          }
          onChanged();
        } else {
          if (valueCase_ == 7) {
            deliveryBuilder_.mergeFrom(value);
          }
          deliveryBuilder_.setMessage(value);
        }
        valueCase_ = 7;
        return this;
      }
      /**
       * <code>optional .smsc.RequestDelivery delivery = 7;</code>
       */
      public Builder clearDelivery() {
        if (deliveryBuilder_ == null) {
          if (valueCase_ == 7) {
            valueCase_ = 0;
            value_ = null;
            onChanged();
          }
        } else {
          if (valueCase_ == 7) {
            valueCase_ = 0;
            value_ = null;
          }
          deliveryBuilder_.clear();
        }
        return this;
      }
      /**
       * <code>optional .smsc.RequestDelivery delivery = 7;</code>
       */
      public smsc.Api.RequestDelivery.Builder getDeliveryBuilder() {
        return getDeliveryFieldBuilder().getBuilder();
      }
      /**
       * <code>optional .smsc.RequestDelivery delivery = 7;</code>
       */
      public smsc.Api.RequestDeliveryOrBuilder getDeliveryOrBuilder() {
        if ((valueCase_ == 7) && (deliveryBuilder_ != null)) {
          return deliveryBuilder_.getMessageOrBuilder();
        } else {
          if (valueCase_ == 7) {
            return (smsc.Api.RequestDelivery) value_;
          }
          return smsc.Api.RequestDelivery.getDefaultInstance();
        }
      }
      /**
       * <code>optional .smsc.RequestDelivery delivery = 7;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          smsc.Api.RequestDelivery, smsc.Api.RequestDelivery.Builder, smsc.Api.RequestDeliveryOrBuilder> 
          getDeliveryFieldBuilder() {
        if (deliveryBuilder_ == null) {
          if (!(valueCase_ == 7)) {
            value_ = smsc.Api.RequestDelivery.getDefaultInstance();
          }
          deliveryBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              smsc.Api.RequestDelivery, smsc.Api.RequestDelivery.Builder, smsc.Api.RequestDeliveryOrBuilder>(
                  (smsc.Api.RequestDelivery) value_,
                  getParentForChildren(),
                  isClean());
          value_ = null;
        }
        valueCase_ = 7;
        onChanged();;
        return deliveryBuilder_;
      }

      private com.google.protobuf.SingleFieldBuilderV3<
          smsc.Api.RequestCarry, smsc.Api.RequestCarry.Builder, smsc.Api.RequestCarryOrBuilder> carryBuilder_;
      /**
       * <code>optional .smsc.RequestCarry carry = 8;</code>
       */
      public smsc.Api.RequestCarry getCarry() {
        if (carryBuilder_ == null) {
          if (valueCase_ == 8) {
            return (smsc.Api.RequestCarry) value_;
          }
          return smsc.Api.RequestCarry.getDefaultInstance();
        } else {
          if (valueCase_ == 8) {
            return carryBuilder_.getMessage();
          }
          return smsc.Api.RequestCarry.getDefaultInstance();
        }
      }
      /**
       * <code>optional .smsc.RequestCarry carry = 8;</code>
       */
      public Builder setCarry(smsc.Api.RequestCarry value) {
        if (carryBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          value_ = value;
          onChanged();
        } else {
          carryBuilder_.setMessage(value);
        }
        valueCase_ = 8;
        return this;
      }
      /**
       * <code>optional .smsc.RequestCarry carry = 8;</code>
       */
      public Builder setCarry(
          smsc.Api.RequestCarry.Builder builderForValue) {
        if (carryBuilder_ == null) {
          value_ = builderForValue.build();
          onChanged();
        } else {
          carryBuilder_.setMessage(builderForValue.build());
        }
        valueCase_ = 8;
        return this;
      }
      /**
       * <code>optional .smsc.RequestCarry carry = 8;</code>
       */
      public Builder mergeCarry(smsc.Api.RequestCarry value) {
        if (carryBuilder_ == null) {
          if (valueCase_ == 8 &&
              value_ != smsc.Api.RequestCarry.getDefaultInstance()) {
            value_ = smsc.Api.RequestCarry.newBuilder((smsc.Api.RequestCarry) value_)
                .mergeFrom(value).buildPartial();
          } else {
            value_ = value;
          }
          onChanged();
        } else {
          if (valueCase_ == 8) {
            carryBuilder_.mergeFrom(value);
          }
          carryBuilder_.setMessage(value);
        }
        valueCase_ = 8;
        return this;
      }
      /**
       * <code>optional .smsc.RequestCarry carry = 8;</code>
       */
      public Builder clearCarry() {
        if (carryBuilder_ == null) {
          if (valueCase_ == 8) {
            valueCase_ = 0;
            value_ = null;
            onChanged();
          }
        } else {
          if (valueCase_ == 8) {
            valueCase_ = 0;
            value_ = null;
          }
          carryBuilder_.clear();
        }
        return this;
      }
      /**
       * <code>optional .smsc.RequestCarry carry = 8;</code>
       */
      public smsc.Api.RequestCarry.Builder getCarryBuilder() {
        return getCarryFieldBuilder().getBuilder();
      }
      /**
       * <code>optional .smsc.RequestCarry carry = 8;</code>
       */
      public smsc.Api.RequestCarryOrBuilder getCarryOrBuilder() {
        if ((valueCase_ == 8) && (carryBuilder_ != null)) {
          return carryBuilder_.getMessageOrBuilder();
        } else {
          if (valueCase_ == 8) {
            return (smsc.Api.RequestCarry) value_;
          }
          return smsc.Api.RequestCarry.getDefaultInstance();
        }
      }
      /**
       * <code>optional .smsc.RequestCarry carry = 8;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          smsc.Api.RequestCarry, smsc.Api.RequestCarry.Builder, smsc.Api.RequestCarryOrBuilder> 
          getCarryFieldBuilder() {
        if (carryBuilder_ == null) {
          if (!(valueCase_ == 8)) {
            value_ = smsc.Api.RequestCarry.getDefaultInstance();
          }
          carryBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              smsc.Api.RequestCarry, smsc.Api.RequestCarry.Builder, smsc.Api.RequestCarryOrBuilder>(
                  (smsc.Api.RequestCarry) value_,
                  getParentForChildren(),
                  isClean());
          value_ = null;
        }
        valueCase_ = 8;
        onChanged();;
        return carryBuilder_;
      }

      private com.google.protobuf.SingleFieldBuilderV3<
          smsc.Api.RequestCheck, smsc.Api.RequestCheck.Builder, smsc.Api.RequestCheckOrBuilder> checkBuilder_;
      /**
       * <code>optional .smsc.RequestCheck check = 9;</code>
       */
      public smsc.Api.RequestCheck getCheck() {
        if (checkBuilder_ == null) {
          if (valueCase_ == 9) {
            return (smsc.Api.RequestCheck) value_;
          }
          return smsc.Api.RequestCheck.getDefaultInstance();
        } else {
          if (valueCase_ == 9) {
            return checkBuilder_.getMessage();
          }
          return smsc.Api.RequestCheck.getDefaultInstance();
        }
      }
      /**
       * <code>optional .smsc.RequestCheck check = 9;</code>
       */
      public Builder setCheck(smsc.Api.RequestCheck value) {
        if (checkBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          value_ = value;
          onChanged();
        } else {
          checkBuilder_.setMessage(value);
        }
        valueCase_ = 9;
        return this;
      }
      /**
       * <code>optional .smsc.RequestCheck check = 9;</code>
       */
      public Builder setCheck(
          smsc.Api.RequestCheck.Builder builderForValue) {
        if (checkBuilder_ == null) {
          value_ = builderForValue.build();
          onChanged();
        } else {
          checkBuilder_.setMessage(builderForValue.build());
        }
        valueCase_ = 9;
        return this;
      }
      /**
       * <code>optional .smsc.RequestCheck check = 9;</code>
       */
      public Builder mergeCheck(smsc.Api.RequestCheck value) {
        if (checkBuilder_ == null) {
          if (valueCase_ == 9 &&
              value_ != smsc.Api.RequestCheck.getDefaultInstance()) {
            value_ = smsc.Api.RequestCheck.newBuilder((smsc.Api.RequestCheck) value_)
                .mergeFrom(value).buildPartial();
          } else {
            value_ = value;
          }
          onChanged();
        } else {
          if (valueCase_ == 9) {
            checkBuilder_.mergeFrom(value);
          }
          checkBuilder_.setMessage(value);
        }
        valueCase_ = 9;
        return this;
      }
      /**
       * <code>optional .smsc.RequestCheck check = 9;</code>
       */
      public Builder clearCheck() {
        if (checkBuilder_ == null) {
          if (valueCase_ == 9) {
            valueCase_ = 0;
            value_ = null;
            onChanged();
          }
        } else {
          if (valueCase_ == 9) {
            valueCase_ = 0;
            value_ = null;
          }
          checkBuilder_.clear();
        }
        return this;
      }
      /**
       * <code>optional .smsc.RequestCheck check = 9;</code>
       */
      public smsc.Api.RequestCheck.Builder getCheckBuilder() {
        return getCheckFieldBuilder().getBuilder();
      }
      /**
       * <code>optional .smsc.RequestCheck check = 9;</code>
       */
      public smsc.Api.RequestCheckOrBuilder getCheckOrBuilder() {
        if ((valueCase_ == 9) && (checkBuilder_ != null)) {
          return checkBuilder_.getMessageOrBuilder();
        } else {
          if (valueCase_ == 9) {
            return (smsc.Api.RequestCheck) value_;
          }
          return smsc.Api.RequestCheck.getDefaultInstance();
        }
      }
      /**
       * <code>optional .smsc.RequestCheck check = 9;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          smsc.Api.RequestCheck, smsc.Api.RequestCheck.Builder, smsc.Api.RequestCheckOrBuilder> 
          getCheckFieldBuilder() {
        if (checkBuilder_ == null) {
          if (!(valueCase_ == 9)) {
            value_ = smsc.Api.RequestCheck.getDefaultInstance();
          }
          checkBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              smsc.Api.RequestCheck, smsc.Api.RequestCheck.Builder, smsc.Api.RequestCheckOrBuilder>(
                  (smsc.Api.RequestCheck) value_,
                  getParentForChildren(),
                  isClean());
          value_ = null;
        }
        valueCase_ = 9;
        onChanged();;
        return checkBuilder_;
      }

      private long uid_ ;
      /**
       * <code>optional int64 uid = 10;</code>
       */
      public long getUid() {
        return uid_;
      }
      /**
       * <code>optional int64 uid = 10;</code>
       */
      public Builder setUid(long value) {
        
        uid_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional int64 uid = 10;</code>
       */
      public Builder clearUid() {
        
        uid_ = 0L;
        onChanged();
        return this;
      }

      private long instructionId_ ;
      /**
       * <code>optional int64 instructionId = 11;</code>
       */
      public long getInstructionId() {
        return instructionId_;
      }
      /**
       * <code>optional int64 instructionId = 11;</code>
       */
      public Builder setInstructionId(long value) {
        
        instructionId_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional int64 instructionId = 11;</code>
       */
      public Builder clearInstructionId() {
        
        instructionId_ = 0L;
        onChanged();
        return this;
      }

      private com.google.protobuf.ByteString pubkey_ = com.google.protobuf.ByteString.EMPTY;
      /**
       * <code>optional bytes pubkey = 12;</code>
       */
      public com.google.protobuf.ByteString getPubkey() {
        return pubkey_;
      }
      /**
       * <code>optional bytes pubkey = 12;</code>
       */
      public Builder setPubkey(com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        pubkey_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional bytes pubkey = 12;</code>
       */
      public Builder clearPubkey() {
        
        pubkey_ = getDefaultInstance().getPubkey();
        onChanged();
        return this;
      }

      private com.google.protobuf.ByteString sign_ = com.google.protobuf.ByteString.EMPTY;
      /**
       * <code>optional bytes sign = 13;</code>
       */
      public com.google.protobuf.ByteString getSign() {
        return sign_;
      }
      /**
       * <code>optional bytes sign = 13;</code>
       */
      public Builder setSign(com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        sign_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional bytes sign = 13;</code>
       */
      public Builder clearSign() {
        
        sign_ = getDefaultInstance().getSign();
        onChanged();
        return this;
      }

      private int actionId_ = 0;
      /**
       * <code>optional .smsc.MessageType actionId = 14;</code>
       */
      public int getActionIdValue() {
        return actionId_;
      }
      /**
       * <code>optional .smsc.MessageType actionId = 14;</code>
       */
      public Builder setActionIdValue(int value) {
        actionId_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional .smsc.MessageType actionId = 14;</code>
       */
      public smsc.Api.MessageType getActionId() {
        smsc.Api.MessageType result = smsc.Api.MessageType.valueOf(actionId_);
        return result == null ? smsc.Api.MessageType.UNRECOGNIZED : result;
      }
      /**
       * <code>optional .smsc.MessageType actionId = 14;</code>
       */
      public Builder setActionId(smsc.Api.MessageType value) {
        if (value == null) {
          throw new NullPointerException();
        }
        
        actionId_ = value.getNumber();
        onChanged();
        return this;
      }
      /**
       * <code>optional .smsc.MessageType actionId = 14;</code>
       */
      public Builder clearActionId() {
        
        actionId_ = 0;
        onChanged();
        return this;
      }
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return this;
      }

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


      // @@protoc_insertion_point(builder_scope:smsc.Request)
    }

    // @@protoc_insertion_point(class_scope:smsc.Request)
    private static final smsc.Api.Request DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new smsc.Api.Request();
    }

    public static smsc.Api.Request getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

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

    public smsc.Api.Request getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface RequestSetAdminOrBuilder extends
      // @@protoc_insertion_point(interface_extends:smsc.RequestSetAdmin)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <pre>
     *管理员公钥
     * </pre>
     *
     * <code>optional bytes pubkey = 1;</code>
     */
    com.google.protobuf.ByteString getPubkey();
  }
  /**
   * Protobuf type {@code smsc.RequestSetAdmin}
   */
  public  static final class RequestSetAdmin extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:smsc.RequestSetAdmin)
      RequestSetAdminOrBuilder {
    // Use RequestSetAdmin.newBuilder() to construct.
    private RequestSetAdmin(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private RequestSetAdmin() {
      pubkey_ = com.google.protobuf.ByteString.EMPTY;
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return com.google.protobuf.UnknownFieldSet.getDefaultInstance();
    }
    private RequestSetAdmin(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      int mutable_bitField0_ = 0;
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!input.skipField(tag)) {
                done = true;
              }
              break;
            }
            case 10: {

              pubkey_ = input.readBytes();
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return smsc.Api.internal_static_smsc_RequestSetAdmin_descriptor;
    }

    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return smsc.Api.internal_static_smsc_RequestSetAdmin_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              smsc.Api.RequestSetAdmin.class, smsc.Api.RequestSetAdmin.Builder.class);
    }

    public static final int PUBKEY_FIELD_NUMBER = 1;
    private com.google.protobuf.ByteString pubkey_;
    /**
     * <pre>
     *管理员公钥
     * </pre>
     *
     * <code>optional bytes pubkey = 1;</code>
     */
    public com.google.protobuf.ByteString getPubkey() {
      return pubkey_;
    }

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

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (!pubkey_.isEmpty()) {
        output.writeBytes(1, pubkey_);
      }
    }

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

      size = 0;
      if (!pubkey_.isEmpty()) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(1, pubkey_);
      }
      memoizedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof smsc.Api.RequestSetAdmin)) {
        return super.equals(obj);
      }
      smsc.Api.RequestSetAdmin other = (smsc.Api.RequestSetAdmin) obj;

      boolean result = true;
      result = result && getPubkey()
          .equals(other.getPubkey());
      return result;
    }

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

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

    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(smsc.Api.RequestSetAdmin prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code smsc.RequestSetAdmin}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:smsc.RequestSetAdmin)
        smsc.Api.RequestSetAdminOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return smsc.Api.internal_static_smsc_RequestSetAdmin_descriptor;
      }

      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return smsc.Api.internal_static_smsc_RequestSetAdmin_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                smsc.Api.RequestSetAdmin.class, smsc.Api.RequestSetAdmin.Builder.class);
      }

      // Construct using smsc.Api.RequestSetAdmin.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
        }
      }
      public Builder clear() {
        super.clear();
        pubkey_ = com.google.protobuf.ByteString.EMPTY;

        return this;
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return smsc.Api.internal_static_smsc_RequestSetAdmin_descriptor;
      }

      public smsc.Api.RequestSetAdmin getDefaultInstanceForType() {
        return smsc.Api.RequestSetAdmin.getDefaultInstance();
      }

      public smsc.Api.RequestSetAdmin build() {
        smsc.Api.RequestSetAdmin result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public smsc.Api.RequestSetAdmin buildPartial() {
        smsc.Api.RequestSetAdmin result = new smsc.Api.RequestSetAdmin(this);
        result.pubkey_ = pubkey_;
        onBuilt();
        return result;
      }

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

      public Builder mergeFrom(smsc.Api.RequestSetAdmin other) {
        if (other == smsc.Api.RequestSetAdmin.getDefaultInstance()) return this;
        if (other.getPubkey() != com.google.protobuf.ByteString.EMPTY) {
          setPubkey(other.getPubkey());
        }
        onChanged();
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        smsc.Api.RequestSetAdmin parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (smsc.Api.RequestSetAdmin) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }

      private com.google.protobuf.ByteString pubkey_ = com.google.protobuf.ByteString.EMPTY;
      /**
       * <pre>
       *管理员公钥
       * </pre>
       *
       * <code>optional bytes pubkey = 1;</code>
       */
      public com.google.protobuf.ByteString getPubkey() {
        return pubkey_;
      }
      /**
       * <pre>
       *管理员公钥
       * </pre>
       *
       * <code>optional bytes pubkey = 1;</code>
       */
      public Builder setPubkey(com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        pubkey_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *管理员公钥
       * </pre>
       *
       * <code>optional bytes pubkey = 1;</code>
       */
      public Builder clearPubkey() {
        
        pubkey_ = getDefaultInstance().getPubkey();
        onChanged();
        return this;
      }
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return this;
      }

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


      // @@protoc_insertion_point(builder_scope:smsc.RequestSetAdmin)
    }

    // @@protoc_insertion_point(class_scope:smsc.RequestSetAdmin)
    private static final smsc.Api.RequestSetAdmin DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new smsc.Api.RequestSetAdmin();
    }

    public static smsc.Api.RequestSetAdmin getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

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

    public smsc.Api.RequestSetAdmin getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface RequestCreateAccountOrBuilder extends
      // @@protoc_insertion_point(interface_extends:smsc.RequestCreateAccount)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <pre>
     *用户id
     * </pre>
     *
     * <code>optional int64 id = 1;</code>
     */
    long getId();

    /**
     * <pre>
     *用户公钥
     * </pre>
     *
     * <code>optional bytes pubkey = 2;</code>
     */
    com.google.protobuf.ByteString getPubkey();

    /**
     * <pre>
     *账号
     * </pre>
     *
     * <code>optional string account = 3;</code>
     */
    java.lang.String getAccount();
    /**
     * <pre>
     *账号
     * </pre>
     *
     * <code>optional string account = 3;</code>
     */
    com.google.protobuf.ByteString
        getAccountBytes();

    /**
     * <pre>
     *名称
     * </pre>
     *
     * <code>optional string name = 4;</code>
     */
    java.lang.String getName();
    /**
     * <pre>
     *名称
     * </pre>
     *
     * <code>optional string name = 4;</code>
     */
    com.google.protobuf.ByteString
        getNameBytes();

    /**
     * <pre>
     *角色
     * </pre>
     *
     * <code>optional .smsc.Role role = 5;</code>
     */
    int getRoleValue();
    /**
     * <pre>
     *角色
     * </pre>
     *
     * <code>optional .smsc.Role role = 5;</code>
     */
    smsc.Api.Role getRole();
  }
  /**
   * Protobuf type {@code smsc.RequestCreateAccount}
   */
  public  static final class RequestCreateAccount extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:smsc.RequestCreateAccount)
      RequestCreateAccountOrBuilder {
    // Use RequestCreateAccount.newBuilder() to construct.
    private RequestCreateAccount(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private RequestCreateAccount() {
      id_ = 0L;
      pubkey_ = com.google.protobuf.ByteString.EMPTY;
      account_ = "";
      name_ = "";
      role_ = 0;
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return com.google.protobuf.UnknownFieldSet.getDefaultInstance();
    }
    private RequestCreateAccount(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      int mutable_bitField0_ = 0;
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!input.skipField(tag)) {
                done = true;
              }
              break;
            }
            case 8: {

              id_ = input.readInt64();
              break;
            }
            case 18: {

              pubkey_ = input.readBytes();
              break;
            }
            case 26: {
              java.lang.String s = input.readStringRequireUtf8();

              account_ = s;
              break;
            }
            case 34: {
              java.lang.String s = input.readStringRequireUtf8();

              name_ = s;
              break;
            }
            case 40: {
              int rawValue = input.readEnum();

              role_ = rawValue;
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return smsc.Api.internal_static_smsc_RequestCreateAccount_descriptor;
    }

    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return smsc.Api.internal_static_smsc_RequestCreateAccount_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              smsc.Api.RequestCreateAccount.class, smsc.Api.RequestCreateAccount.Builder.class);
    }

    public static final int ID_FIELD_NUMBER = 1;
    private long id_;
    /**
     * <pre>
     *用户id
     * </pre>
     *
     * <code>optional int64 id = 1;</code>
     */
    public long getId() {
      return id_;
    }

    public static final int PUBKEY_FIELD_NUMBER = 2;
    private com.google.protobuf.ByteString pubkey_;
    /**
     * <pre>
     *用户公钥
     * </pre>
     *
     * <code>optional bytes pubkey = 2;</code>
     */
    public com.google.protobuf.ByteString getPubkey() {
      return pubkey_;
    }

    public static final int ACCOUNT_FIELD_NUMBER = 3;
    private volatile java.lang.Object account_;
    /**
     * <pre>
     *账号
     * </pre>
     *
     * <code>optional string account = 3;</code>
     */
    public java.lang.String getAccount() {
      java.lang.Object ref = account_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        account_ = s;
        return s;
      }
    }
    /**
     * <pre>
     *账号
     * </pre>
     *
     * <code>optional string account = 3;</code>
     */
    public com.google.protobuf.ByteString
        getAccountBytes() {
      java.lang.Object ref = account_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        account_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int NAME_FIELD_NUMBER = 4;
    private volatile java.lang.Object name_;
    /**
     * <pre>
     *名称
     * </pre>
     *
     * <code>optional string name = 4;</code>
     */
    public java.lang.String getName() {
      java.lang.Object ref = name_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        name_ = s;
        return s;
      }
    }
    /**
     * <pre>
     *名称
     * </pre>
     *
     * <code>optional string name = 4;</code>
     */
    public com.google.protobuf.ByteString
        getNameBytes() {
      java.lang.Object ref = name_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        name_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int ROLE_FIELD_NUMBER = 5;
    private int role_;
    /**
     * <pre>
     *角色
     * </pre>
     *
     * <code>optional .smsc.Role role = 5;</code>
     */
    public int getRoleValue() {
      return role_;
    }
    /**
     * <pre>
     *角色
     * </pre>
     *
     * <code>optional .smsc.Role role = 5;</code>
     */
    public smsc.Api.Role getRole() {
      smsc.Api.Role result = smsc.Api.Role.valueOf(role_);
      return result == null ? smsc.Api.Role.UNRECOGNIZED : result;
    }

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

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (id_ != 0L) {
        output.writeInt64(1, id_);
      }
      if (!pubkey_.isEmpty()) {
        output.writeBytes(2, pubkey_);
      }
      if (!getAccountBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 3, account_);
      }
      if (!getNameBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 4, name_);
      }
      if (role_ != smsc.Api.Role.RUndefined.getNumber()) {
        output.writeEnum(5, role_);
      }
    }

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

      size = 0;
      if (id_ != 0L) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt64Size(1, id_);
      }
      if (!pubkey_.isEmpty()) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(2, pubkey_);
      }
      if (!getAccountBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3, account_);
      }
      if (!getNameBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(4, name_);
      }
      if (role_ != smsc.Api.Role.RUndefined.getNumber()) {
        size += com.google.protobuf.CodedOutputStream
          .computeEnumSize(5, role_);
      }
      memoizedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof smsc.Api.RequestCreateAccount)) {
        return super.equals(obj);
      }
      smsc.Api.RequestCreateAccount other = (smsc.Api.RequestCreateAccount) obj;

      boolean result = true;
      result = result && (getId()
          == other.getId());
      result = result && getPubkey()
          .equals(other.getPubkey());
      result = result && getAccount()
          .equals(other.getAccount());
      result = result && getName()
          .equals(other.getName());
      result = result && role_ == other.role_;
      return result;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptorForType().hashCode();
      hash = (37 * hash) + ID_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
          getId());
      hash = (37 * hash) + PUBKEY_FIELD_NUMBER;
      hash = (53 * hash) + getPubkey().hashCode();
      hash = (37 * hash) + ACCOUNT_FIELD_NUMBER;
      hash = (53 * hash) + getAccount().hashCode();
      hash = (37 * hash) + NAME_FIELD_NUMBER;
      hash = (53 * hash) + getName().hashCode();
      hash = (37 * hash) + ROLE_FIELD_NUMBER;
      hash = (53 * hash) + role_;
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

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

    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(smsc.Api.RequestCreateAccount prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code smsc.RequestCreateAccount}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:smsc.RequestCreateAccount)
        smsc.Api.RequestCreateAccountOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return smsc.Api.internal_static_smsc_RequestCreateAccount_descriptor;
      }

      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return smsc.Api.internal_static_smsc_RequestCreateAccount_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                smsc.Api.RequestCreateAccount.class, smsc.Api.RequestCreateAccount.Builder.class);
      }

      // Construct using smsc.Api.RequestCreateAccount.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
        }
      }
      public Builder clear() {
        super.clear();
        id_ = 0L;

        pubkey_ = com.google.protobuf.ByteString.EMPTY;

        account_ = "";

        name_ = "";

        role_ = 0;

        return this;
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return smsc.Api.internal_static_smsc_RequestCreateAccount_descriptor;
      }

      public smsc.Api.RequestCreateAccount getDefaultInstanceForType() {
        return smsc.Api.RequestCreateAccount.getDefaultInstance();
      }

      public smsc.Api.RequestCreateAccount build() {
        smsc.Api.RequestCreateAccount result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public smsc.Api.RequestCreateAccount buildPartial() {
        smsc.Api.RequestCreateAccount result = new smsc.Api.RequestCreateAccount(this);
        result.id_ = id_;
        result.pubkey_ = pubkey_;
        result.account_ = account_;
        result.name_ = name_;
        result.role_ = role_;
        onBuilt();
        return result;
      }

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

      public Builder mergeFrom(smsc.Api.RequestCreateAccount other) {
        if (other == smsc.Api.RequestCreateAccount.getDefaultInstance()) return this;
        if (other.getId() != 0L) {
          setId(other.getId());
        }
        if (other.getPubkey() != com.google.protobuf.ByteString.EMPTY) {
          setPubkey(other.getPubkey());
        }
        if (!other.getAccount().isEmpty()) {
          account_ = other.account_;
          onChanged();
        }
        if (!other.getName().isEmpty()) {
          name_ = other.name_;
          onChanged();
        }
        if (other.role_ != 0) {
          setRoleValue(other.getRoleValue());
        }
        onChanged();
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        smsc.Api.RequestCreateAccount parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (smsc.Api.RequestCreateAccount) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }

      private long id_ ;
      /**
       * <pre>
       *用户id
       * </pre>
       *
       * <code>optional int64 id = 1;</code>
       */
      public long getId() {
        return id_;
      }
      /**
       * <pre>
       *用户id
       * </pre>
       *
       * <code>optional int64 id = 1;</code>
       */
      public Builder setId(long value) {
        
        id_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *用户id
       * </pre>
       *
       * <code>optional int64 id = 1;</code>
       */
      public Builder clearId() {
        
        id_ = 0L;
        onChanged();
        return this;
      }

      private com.google.protobuf.ByteString pubkey_ = com.google.protobuf.ByteString.EMPTY;
      /**
       * <pre>
       *用户公钥
       * </pre>
       *
       * <code>optional bytes pubkey = 2;</code>
       */
      public com.google.protobuf.ByteString getPubkey() {
        return pubkey_;
      }
      /**
       * <pre>
       *用户公钥
       * </pre>
       *
       * <code>optional bytes pubkey = 2;</code>
       */
      public Builder setPubkey(com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        pubkey_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *用户公钥
       * </pre>
       *
       * <code>optional bytes pubkey = 2;</code>
       */
      public Builder clearPubkey() {
        
        pubkey_ = getDefaultInstance().getPubkey();
        onChanged();
        return this;
      }

      private java.lang.Object account_ = "";
      /**
       * <pre>
       *账号
       * </pre>
       *
       * <code>optional string account = 3;</code>
       */
      public java.lang.String getAccount() {
        java.lang.Object ref = account_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          account_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <pre>
       *账号
       * </pre>
       *
       * <code>optional string account = 3;</code>
       */
      public com.google.protobuf.ByteString
          getAccountBytes() {
        java.lang.Object ref = account_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          account_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <pre>
       *账号
       * </pre>
       *
       * <code>optional string account = 3;</code>
       */
      public Builder setAccount(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        account_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *账号
       * </pre>
       *
       * <code>optional string account = 3;</code>
       */
      public Builder clearAccount() {
        
        account_ = getDefaultInstance().getAccount();
        onChanged();
        return this;
      }
      /**
       * <pre>
       *账号
       * </pre>
       *
       * <code>optional string account = 3;</code>
       */
      public Builder setAccountBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        account_ = value;
        onChanged();
        return this;
      }

      private java.lang.Object name_ = "";
      /**
       * <pre>
       *名称
       * </pre>
       *
       * <code>optional string name = 4;</code>
       */
      public java.lang.String getName() {
        java.lang.Object ref = name_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          name_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <pre>
       *名称
       * </pre>
       *
       * <code>optional string name = 4;</code>
       */
      public com.google.protobuf.ByteString
          getNameBytes() {
        java.lang.Object ref = name_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          name_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <pre>
       *名称
       * </pre>
       *
       * <code>optional string name = 4;</code>
       */
      public Builder setName(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        name_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *名称
       * </pre>
       *
       * <code>optional string name = 4;</code>
       */
      public Builder clearName() {
        
        name_ = getDefaultInstance().getName();
        onChanged();
        return this;
      }
      /**
       * <pre>
       *名称
       * </pre>
       *
       * <code>optional string name = 4;</code>
       */
      public Builder setNameBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        name_ = value;
        onChanged();
        return this;
      }

      private int role_ = 0;
      /**
       * <pre>
       *角色
       * </pre>
       *
       * <code>optional .smsc.Role role = 5;</code>
       */
      public int getRoleValue() {
        return role_;
      }
      /**
       * <pre>
       *角色
       * </pre>
       *
       * <code>optional .smsc.Role role = 5;</code>
       */
      public Builder setRoleValue(int value) {
        role_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *角色
       * </pre>
       *
       * <code>optional .smsc.Role role = 5;</code>
       */
      public smsc.Api.Role getRole() {
        smsc.Api.Role result = smsc.Api.Role.valueOf(role_);
        return result == null ? smsc.Api.Role.UNRECOGNIZED : result;
      }
      /**
       * <pre>
       *角色
       * </pre>
       *
       * <code>optional .smsc.Role role = 5;</code>
       */
      public Builder setRole(smsc.Api.Role value) {
        if (value == null) {
          throw new NullPointerException();
        }
        
        role_ = value.getNumber();
        onChanged();
        return this;
      }
      /**
       * <pre>
       *角色
       * </pre>
       *
       * <code>optional .smsc.Role role = 5;</code>
       */
      public Builder clearRole() {
        
        role_ = 0;
        onChanged();
        return this;
      }
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return this;
      }

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


      // @@protoc_insertion_point(builder_scope:smsc.RequestCreateAccount)
    }

    // @@protoc_insertion_point(class_scope:smsc.RequestCreateAccount)
    private static final smsc.Api.RequestCreateAccount DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new smsc.Api.RequestCreateAccount();
    }

    public static smsc.Api.RequestCreateAccount getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

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

    public smsc.Api.RequestCreateAccount getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface RequestEditAccountOrBuilder extends
      // @@protoc_insertion_point(interface_extends:smsc.RequestEditAccount)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <pre>
     *用户id
     * </pre>
     *
     * <code>optional int64 id = 1;</code>
     */
    long getId();

    /**
     * <pre>
     *用户公钥
     * </pre>
     *
     * <code>optional bytes pubkey = 2;</code>
     */
    com.google.protobuf.ByteString getPubkey();

    /**
     * <pre>
     *账号
     * </pre>
     *
     * <code>optional string account = 3;</code>
     */
    java.lang.String getAccount();
    /**
     * <pre>
     *账号
     * </pre>
     *
     * <code>optional string account = 3;</code>
     */
    com.google.protobuf.ByteString
        getAccountBytes();

    /**
     * <pre>
     *名称
     * </pre>
     *
     * <code>optional string name = 4;</code>
     */
    java.lang.String getName();
    /**
     * <pre>
     *名称
     * </pre>
     *
     * <code>optional string name = 4;</code>
     */
    com.google.protobuf.ByteString
        getNameBytes();

    /**
     * <pre>
     *角色
     * </pre>
     *
     * <code>optional .smsc.Role role = 5;</code>
     */
    int getRoleValue();
    /**
     * <pre>
     *角色
     * </pre>
     *
     * <code>optional .smsc.Role role = 5;</code>
     */
    smsc.Api.Role getRole();
  }
  /**
   * Protobuf type {@code smsc.RequestEditAccount}
   */
  public  static final class RequestEditAccount extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:smsc.RequestEditAccount)
      RequestEditAccountOrBuilder {
    // Use RequestEditAccount.newBuilder() to construct.
    private RequestEditAccount(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private RequestEditAccount() {
      id_ = 0L;
      pubkey_ = com.google.protobuf.ByteString.EMPTY;
      account_ = "";
      name_ = "";
      role_ = 0;
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return com.google.protobuf.UnknownFieldSet.getDefaultInstance();
    }
    private RequestEditAccount(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      int mutable_bitField0_ = 0;
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!input.skipField(tag)) {
                done = true;
              }
              break;
            }
            case 8: {

              id_ = input.readInt64();
              break;
            }
            case 18: {

              pubkey_ = input.readBytes();
              break;
            }
            case 26: {
              java.lang.String s = input.readStringRequireUtf8();

              account_ = s;
              break;
            }
            case 34: {
              java.lang.String s = input.readStringRequireUtf8();

              name_ = s;
              break;
            }
            case 40: {
              int rawValue = input.readEnum();

              role_ = rawValue;
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return smsc.Api.internal_static_smsc_RequestEditAccount_descriptor;
    }

    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return smsc.Api.internal_static_smsc_RequestEditAccount_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              smsc.Api.RequestEditAccount.class, smsc.Api.RequestEditAccount.Builder.class);
    }

    public static final int ID_FIELD_NUMBER = 1;
    private long id_;
    /**
     * <pre>
     *用户id
     * </pre>
     *
     * <code>optional int64 id = 1;</code>
     */
    public long getId() {
      return id_;
    }

    public static final int PUBKEY_FIELD_NUMBER = 2;
    private com.google.protobuf.ByteString pubkey_;
    /**
     * <pre>
     *用户公钥
     * </pre>
     *
     * <code>optional bytes pubkey = 2;</code>
     */
    public com.google.protobuf.ByteString getPubkey() {
      return pubkey_;
    }

    public static final int ACCOUNT_FIELD_NUMBER = 3;
    private volatile java.lang.Object account_;
    /**
     * <pre>
     *账号
     * </pre>
     *
     * <code>optional string account = 3;</code>
     */
    public java.lang.String getAccount() {
      java.lang.Object ref = account_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        account_ = s;
        return s;
      }
    }
    /**
     * <pre>
     *账号
     * </pre>
     *
     * <code>optional string account = 3;</code>
     */
    public com.google.protobuf.ByteString
        getAccountBytes() {
      java.lang.Object ref = account_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        account_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int NAME_FIELD_NUMBER = 4;
    private volatile java.lang.Object name_;
    /**
     * <pre>
     *名称
     * </pre>
     *
     * <code>optional string name = 4;</code>
     */
    public java.lang.String getName() {
      java.lang.Object ref = name_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        name_ = s;
        return s;
      }
    }
    /**
     * <pre>
     *名称
     * </pre>
     *
     * <code>optional string name = 4;</code>
     */
    public com.google.protobuf.ByteString
        getNameBytes() {
      java.lang.Object ref = name_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        name_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int ROLE_FIELD_NUMBER = 5;
    private int role_;
    /**
     * <pre>
     *角色
     * </pre>
     *
     * <code>optional .smsc.Role role = 5;</code>
     */
    public int getRoleValue() {
      return role_;
    }
    /**
     * <pre>
     *角色
     * </pre>
     *
     * <code>optional .smsc.Role role = 5;</code>
     */
    public smsc.Api.Role getRole() {
      smsc.Api.Role result = smsc.Api.Role.valueOf(role_);
      return result == null ? smsc.Api.Role.UNRECOGNIZED : result;
    }

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

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (id_ != 0L) {
        output.writeInt64(1, id_);
      }
      if (!pubkey_.isEmpty()) {
        output.writeBytes(2, pubkey_);
      }
      if (!getAccountBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 3, account_);
      }
      if (!getNameBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 4, name_);
      }
      if (role_ != smsc.Api.Role.RUndefined.getNumber()) {
        output.writeEnum(5, role_);
      }
    }

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

      size = 0;
      if (id_ != 0L) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt64Size(1, id_);
      }
      if (!pubkey_.isEmpty()) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(2, pubkey_);
      }
      if (!getAccountBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3, account_);
      }
      if (!getNameBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(4, name_);
      }
      if (role_ != smsc.Api.Role.RUndefined.getNumber()) {
        size += com.google.protobuf.CodedOutputStream
          .computeEnumSize(5, role_);
      }
      memoizedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof smsc.Api.RequestEditAccount)) {
        return super.equals(obj);
      }
      smsc.Api.RequestEditAccount other = (smsc.Api.RequestEditAccount) obj;

      boolean result = true;
      result = result && (getId()
          == other.getId());
      result = result && getPubkey()
          .equals(other.getPubkey());
      result = result && getAccount()
          .equals(other.getAccount());
      result = result && getName()
          .equals(other.getName());
      result = result && role_ == other.role_;
      return result;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptorForType().hashCode();
      hash = (37 * hash) + ID_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
          getId());
      hash = (37 * hash) + PUBKEY_FIELD_NUMBER;
      hash = (53 * hash) + getPubkey().hashCode();
      hash = (37 * hash) + ACCOUNT_FIELD_NUMBER;
      hash = (53 * hash) + getAccount().hashCode();
      hash = (37 * hash) + NAME_FIELD_NUMBER;
      hash = (53 * hash) + getName().hashCode();
      hash = (37 * hash) + ROLE_FIELD_NUMBER;
      hash = (53 * hash) + role_;
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

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

    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(smsc.Api.RequestEditAccount prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code smsc.RequestEditAccount}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:smsc.RequestEditAccount)
        smsc.Api.RequestEditAccountOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return smsc.Api.internal_static_smsc_RequestEditAccount_descriptor;
      }

      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return smsc.Api.internal_static_smsc_RequestEditAccount_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                smsc.Api.RequestEditAccount.class, smsc.Api.RequestEditAccount.Builder.class);
      }

      // Construct using smsc.Api.RequestEditAccount.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
        }
      }
      public Builder clear() {
        super.clear();
        id_ = 0L;

        pubkey_ = com.google.protobuf.ByteString.EMPTY;

        account_ = "";

        name_ = "";

        role_ = 0;

        return this;
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return smsc.Api.internal_static_smsc_RequestEditAccount_descriptor;
      }

      public smsc.Api.RequestEditAccount getDefaultInstanceForType() {
        return smsc.Api.RequestEditAccount.getDefaultInstance();
      }

      public smsc.Api.RequestEditAccount build() {
        smsc.Api.RequestEditAccount result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public smsc.Api.RequestEditAccount buildPartial() {
        smsc.Api.RequestEditAccount result = new smsc.Api.RequestEditAccount(this);
        result.id_ = id_;
        result.pubkey_ = pubkey_;
        result.account_ = account_;
        result.name_ = name_;
        result.role_ = role_;
        onBuilt();
        return result;
      }

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

      public Builder mergeFrom(smsc.Api.RequestEditAccount other) {
        if (other == smsc.Api.RequestEditAccount.getDefaultInstance()) return this;
        if (other.getId() != 0L) {
          setId(other.getId());
        }
        if (other.getPubkey() != com.google.protobuf.ByteString.EMPTY) {
          setPubkey(other.getPubkey());
        }
        if (!other.getAccount().isEmpty()) {
          account_ = other.account_;
          onChanged();
        }
        if (!other.getName().isEmpty()) {
          name_ = other.name_;
          onChanged();
        }
        if (other.role_ != 0) {
          setRoleValue(other.getRoleValue());
        }
        onChanged();
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        smsc.Api.RequestEditAccount parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (smsc.Api.RequestEditAccount) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }

      private long id_ ;
      /**
       * <pre>
       *用户id
       * </pre>
       *
       * <code>optional int64 id = 1;</code>
       */
      public long getId() {
        return id_;
      }
      /**
       * <pre>
       *用户id
       * </pre>
       *
       * <code>optional int64 id = 1;</code>
       */
      public Builder setId(long value) {
        
        id_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *用户id
       * </pre>
       *
       * <code>optional int64 id = 1;</code>
       */
      public Builder clearId() {
        
        id_ = 0L;
        onChanged();
        return this;
      }

      private com.google.protobuf.ByteString pubkey_ = com.google.protobuf.ByteString.EMPTY;
      /**
       * <pre>
       *用户公钥
       * </pre>
       *
       * <code>optional bytes pubkey = 2;</code>
       */
      public com.google.protobuf.ByteString getPubkey() {
        return pubkey_;
      }
      /**
       * <pre>
       *用户公钥
       * </pre>
       *
       * <code>optional bytes pubkey = 2;</code>
       */
      public Builder setPubkey(com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        pubkey_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *用户公钥
       * </pre>
       *
       * <code>optional bytes pubkey = 2;</code>
       */
      public Builder clearPubkey() {
        
        pubkey_ = getDefaultInstance().getPubkey();
        onChanged();
        return this;
      }

      private java.lang.Object account_ = "";
      /**
       * <pre>
       *账号
       * </pre>
       *
       * <code>optional string account = 3;</code>
       */
      public java.lang.String getAccount() {
        java.lang.Object ref = account_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          account_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <pre>
       *账号
       * </pre>
       *
       * <code>optional string account = 3;</code>
       */
      public com.google.protobuf.ByteString
          getAccountBytes() {
        java.lang.Object ref = account_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          account_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <pre>
       *账号
       * </pre>
       *
       * <code>optional string account = 3;</code>
       */
      public Builder setAccount(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        account_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *账号
       * </pre>
       *
       * <code>optional string account = 3;</code>
       */
      public Builder clearAccount() {
        
        account_ = getDefaultInstance().getAccount();
        onChanged();
        return this;
      }
      /**
       * <pre>
       *账号
       * </pre>
       *
       * <code>optional string account = 3;</code>
       */
      public Builder setAccountBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        account_ = value;
        onChanged();
        return this;
      }

      private java.lang.Object name_ = "";
      /**
       * <pre>
       *名称
       * </pre>
       *
       * <code>optional string name = 4;</code>
       */
      public java.lang.String getName() {
        java.lang.Object ref = name_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          name_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <pre>
       *名称
       * </pre>
       *
       * <code>optional string name = 4;</code>
       */
      public com.google.protobuf.ByteString
          getNameBytes() {
        java.lang.Object ref = name_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          name_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <pre>
       *名称
       * </pre>
       *
       * <code>optional string name = 4;</code>
       */
      public Builder setName(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        name_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *名称
       * </pre>
       *
       * <code>optional string name = 4;</code>
       */
      public Builder clearName() {
        
        name_ = getDefaultInstance().getName();
        onChanged();
        return this;
      }
      /**
       * <pre>
       *名称
       * </pre>
       *
       * <code>optional string name = 4;</code>
       */
      public Builder setNameBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        name_ = value;
        onChanged();
        return this;
      }

      private int role_ = 0;
      /**
       * <pre>
       *角色
       * </pre>
       *
       * <code>optional .smsc.Role role = 5;</code>
       */
      public int getRoleValue() {
        return role_;
      }
      /**
       * <pre>
       *角色
       * </pre>
       *
       * <code>optional .smsc.Role role = 5;</code>
       */
      public Builder setRoleValue(int value) {
        role_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *角色
       * </pre>
       *
       * <code>optional .smsc.Role role = 5;</code>
       */
      public smsc.Api.Role getRole() {
        smsc.Api.Role result = smsc.Api.Role.valueOf(role_);
        return result == null ? smsc.Api.Role.UNRECOGNIZED : result;
      }
      /**
       * <pre>
       *角色
       * </pre>
       *
       * <code>optional .smsc.Role role = 5;</code>
       */
      public Builder setRole(smsc.Api.Role value) {
        if (value == null) {
          throw new NullPointerException();
        }
        
        role_ = value.getNumber();
        onChanged();
        return this;
      }
      /**
       * <pre>
       *角色
       * </pre>
       *
       * <code>optional .smsc.Role role = 5;</code>
       */
      public Builder clearRole() {
        
        role_ = 0;
        onChanged();
        return this;
      }
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return this;
      }

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


      // @@protoc_insertion_point(builder_scope:smsc.RequestEditAccount)
    }

    // @@protoc_insertion_point(class_scope:smsc.RequestEditAccount)
    private static final smsc.Api.RequestEditAccount DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new smsc.Api.RequestEditAccount();
    }

    public static smsc.Api.RequestEditAccount getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

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

    public smsc.Api.RequestEditAccount getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface RequestDeleteAccountOrBuilder extends
      // @@protoc_insertion_point(interface_extends:smsc.RequestDeleteAccount)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <pre>
     *用户id
     * </pre>
     *
     * <code>repeated int64 id = 1;</code>
     */
    java.util.List<java.lang.Long> getIdList();
    /**
     * <pre>
     *用户id
     * </pre>
     *
     * <code>repeated int64 id = 1;</code>
     */
    int getIdCount();
    /**
     * <pre>
     *用户id
     * </pre>
     *
     * <code>repeated int64 id = 1;</code>
     */
    long getId(int index);

    /**
     * <pre>
     *用户角色
     * </pre>
     *
     * <code>repeated .smsc.Role role = 2;</code>
     */
    java.util.List<smsc.Api.Role> getRoleList();
    /**
     * <pre>
     *用户角色
     * </pre>
     *
     * <code>repeated .smsc.Role role = 2;</code>
     */
    int getRoleCount();
    /**
     * <pre>
     *用户角色
     * </pre>
     *
     * <code>repeated .smsc.Role role = 2;</code>
     */
    smsc.Api.Role getRole(int index);
    /**
     * <pre>
     *用户角色
     * </pre>
     *
     * <code>repeated .smsc.Role role = 2;</code>
     */
    java.util.List<java.lang.Integer>
    getRoleValueList();
    /**
     * <pre>
     *用户角色
     * </pre>
     *
     * <code>repeated .smsc.Role role = 2;</code>
     */
    int getRoleValue(int index);

    /**
     * <pre>
     *用户账号
     * </pre>
     *
     * <code>repeated string account = 3;</code>
     */
    java.util.List<java.lang.String>
        getAccountList();
    /**
     * <pre>
     *用户账号
     * </pre>
     *
     * <code>repeated string account = 3;</code>
     */
    int getAccountCount();
    /**
     * <pre>
     *用户账号
     * </pre>
     *
     * <code>repeated string account = 3;</code>
     */
    java.lang.String getAccount(int index);
    /**
     * <pre>
     *用户账号
     * </pre>
     *
     * <code>repeated string account = 3;</code>
     */
    com.google.protobuf.ByteString
        getAccountBytes(int index);

    /**
     * <pre>
     *用户名称
     * </pre>
     *
     * <code>repeated string name = 4;</code>
     */
    java.util.List<java.lang.String>
        getNameList();
    /**
     * <pre>
     *用户名称
     * </pre>
     *
     * <code>repeated string name = 4;</code>
     */
    int getNameCount();
    /**
     * <pre>
     *用户名称
     * </pre>
     *
     * <code>repeated string name = 4;</code>
     */
    java.lang.String getName(int index);
    /**
     * <pre>
     *用户名称
     * </pre>
     *
     * <code>repeated string name = 4;</code>
     */
    com.google.protobuf.ByteString
        getNameBytes(int index);
  }
  /**
   * Protobuf type {@code smsc.RequestDeleteAccount}
   */
  public  static final class RequestDeleteAccount extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:smsc.RequestDeleteAccount)
      RequestDeleteAccountOrBuilder {
    // Use RequestDeleteAccount.newBuilder() to construct.
    private RequestDeleteAccount(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private RequestDeleteAccount() {
      id_ = java.util.Collections.emptyList();
      role_ = java.util.Collections.emptyList();
      account_ = com.google.protobuf.LazyStringArrayList.EMPTY;
      name_ = com.google.protobuf.LazyStringArrayList.EMPTY;
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return com.google.protobuf.UnknownFieldSet.getDefaultInstance();
    }
    private RequestDeleteAccount(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      int mutable_bitField0_ = 0;
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!input.skipField(tag)) {
                done = true;
              }
              break;
            }
            case 8: {
              if (!((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
                id_ = new java.util.ArrayList<java.lang.Long>();
                mutable_bitField0_ |= 0x00000001;
              }
              id_.add(input.readInt64());
              break;
            }
            case 10: {
              int length = input.readRawVarint32();
              int limit = input.pushLimit(length);
              if (!((mutable_bitField0_ & 0x00000001) == 0x00000001) && input.getBytesUntilLimit() > 0) {
                id_ = new java.util.ArrayList<java.lang.Long>();
                mutable_bitField0_ |= 0x00000001;
              }
              while (input.getBytesUntilLimit() > 0) {
                id_.add(input.readInt64());
              }
              input.popLimit(limit);
              break;
            }
            case 16: {
              int rawValue = input.readEnum();
              if (!((mutable_bitField0_ & 0x00000002) == 0x00000002)) {
                role_ = new java.util.ArrayList<java.lang.Integer>();
                mutable_bitField0_ |= 0x00000002;
              }
              role_.add(rawValue);
              break;
            }
            case 18: {
              int length = input.readRawVarint32();
              int oldLimit = input.pushLimit(length);
              while(input.getBytesUntilLimit() > 0) {
                int rawValue = input.readEnum();
                if (!((mutable_bitField0_ & 0x00000002) == 0x00000002)) {
                  role_ = new java.util.ArrayList<java.lang.Integer>();
                  mutable_bitField0_ |= 0x00000002;
                }
                role_.add(rawValue);
              }
              input.popLimit(oldLimit);
              break;
            }
            case 26: {
              java.lang.String s = input.readStringRequireUtf8();
              if (!((mutable_bitField0_ & 0x00000004) == 0x00000004)) {
                account_ = new com.google.protobuf.LazyStringArrayList();
                mutable_bitField0_ |= 0x00000004;
              }
              account_.add(s);
              break;
            }
            case 34: {
              java.lang.String s = input.readStringRequireUtf8();
              if (!((mutable_bitField0_ & 0x00000008) == 0x00000008)) {
                name_ = new com.google.protobuf.LazyStringArrayList();
                mutable_bitField0_ |= 0x00000008;
              }
              name_.add(s);
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        if (((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
          id_ = java.util.Collections.unmodifiableList(id_);
        }
        if (((mutable_bitField0_ & 0x00000002) == 0x00000002)) {
          role_ = java.util.Collections.unmodifiableList(role_);
        }
        if (((mutable_bitField0_ & 0x00000004) == 0x00000004)) {
          account_ = account_.getUnmodifiableView();
        }
        if (((mutable_bitField0_ & 0x00000008) == 0x00000008)) {
          name_ = name_.getUnmodifiableView();
        }
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return smsc.Api.internal_static_smsc_RequestDeleteAccount_descriptor;
    }

    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return smsc.Api.internal_static_smsc_RequestDeleteAccount_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              smsc.Api.RequestDeleteAccount.class, smsc.Api.RequestDeleteAccount.Builder.class);
    }

    public static final int ID_FIELD_NUMBER = 1;
    private java.util.List<java.lang.Long> id_;
    /**
     * <pre>
     *用户id
     * </pre>
     *
     * <code>repeated int64 id = 1;</code>
     */
    public java.util.List<java.lang.Long>
        getIdList() {
      return id_;
    }
    /**
     * <pre>
     *用户id
     * </pre>
     *
     * <code>repeated int64 id = 1;</code>
     */
    public int getIdCount() {
      return id_.size();
    }
    /**
     * <pre>
     *用户id
     * </pre>
     *
     * <code>repeated int64 id = 1;</code>
     */
    public long getId(int index) {
      return id_.get(index);
    }
    private int idMemoizedSerializedSize = -1;

    public static final int ROLE_FIELD_NUMBER = 2;
    private java.util.List<java.lang.Integer> role_;
    private static final com.google.protobuf.Internal.ListAdapter.Converter<
        java.lang.Integer, smsc.Api.Role> role_converter_ =
            new com.google.protobuf.Internal.ListAdapter.Converter<
                java.lang.Integer, smsc.Api.Role>() {
              public smsc.Api.Role convert(java.lang.Integer from) {
                smsc.Api.Role result = smsc.Api.Role.valueOf(from);
                return result == null ? smsc.Api.Role.UNRECOGNIZED : result;
              }
            };
    /**
     * <pre>
     *用户角色
     * </pre>
     *
     * <code>repeated .smsc.Role role = 2;</code>
     */
    public java.util.List<smsc.Api.Role> getRoleList() {
      return new com.google.protobuf.Internal.ListAdapter<
          java.lang.Integer, smsc.Api.Role>(role_, role_converter_);
    }
    /**
     * <pre>
     *用户角色
     * </pre>
     *
     * <code>repeated .smsc.Role role = 2;</code>
     */
    public int getRoleCount() {
      return role_.size();
    }
    /**
     * <pre>
     *用户角色
     * </pre>
     *
     * <code>repeated .smsc.Role role = 2;</code>
     */
    public smsc.Api.Role getRole(int index) {
      return role_converter_.convert(role_.get(index));
    }
    /**
     * <pre>
     *用户角色
     * </pre>
     *
     * <code>repeated .smsc.Role role = 2;</code>
     */
    public java.util.List<java.lang.Integer>
    getRoleValueList() {
      return role_;
    }
    /**
     * <pre>
     *用户角色
     * </pre>
     *
     * <code>repeated .smsc.Role role = 2;</code>
     */
    public int getRoleValue(int index) {
      return role_.get(index);
    }
    private int roleMemoizedSerializedSize;

    public static final int ACCOUNT_FIELD_NUMBER = 3;
    private com.google.protobuf.LazyStringList account_;
    /**
     * <pre>
     *用户账号
     * </pre>
     *
     * <code>repeated string account = 3;</code>
     */
    public com.google.protobuf.ProtocolStringList
        getAccountList() {
      return account_;
    }
    /**
     * <pre>
     *用户账号
     * </pre>
     *
     * <code>repeated string account = 3;</code>
     */
    public int getAccountCount() {
      return account_.size();
    }
    /**
     * <pre>
     *用户账号
     * </pre>
     *
     * <code>repeated string account = 3;</code>
     */
    public java.lang.String getAccount(int index) {
      return account_.get(index);
    }
    /**
     * <pre>
     *用户账号
     * </pre>
     *
     * <code>repeated string account = 3;</code>
     */
    public com.google.protobuf.ByteString
        getAccountBytes(int index) {
      return account_.getByteString(index);
    }

    public static final int NAME_FIELD_NUMBER = 4;
    private com.google.protobuf.LazyStringList name_;
    /**
     * <pre>
     *用户名称
     * </pre>
     *
     * <code>repeated string name = 4;</code>
     */
    public com.google.protobuf.ProtocolStringList
        getNameList() {
      return name_;
    }
    /**
     * <pre>
     *用户名称
     * </pre>
     *
     * <code>repeated string name = 4;</code>
     */
    public int getNameCount() {
      return name_.size();
    }
    /**
     * <pre>
     *用户名称
     * </pre>
     *
     * <code>repeated string name = 4;</code>
     */
    public java.lang.String getName(int index) {
      return name_.get(index);
    }
    /**
     * <pre>
     *用户名称
     * </pre>
     *
     * <code>repeated string name = 4;</code>
     */
    public com.google.protobuf.ByteString
        getNameBytes(int index) {
      return name_.getByteString(index);
    }

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

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (getIdList().size() > 0) {
        output.writeUInt32NoTag(10);
        output.writeUInt32NoTag(idMemoizedSerializedSize);
      }
      for (int i = 0; i < id_.size(); i++) {
        output.writeInt64NoTag(id_.get(i));
      }
      if (getRoleList().size() > 0) {
        output.writeUInt32NoTag(18);
        output.writeUInt32NoTag(roleMemoizedSerializedSize);
      }
      for (int i = 0; i < role_.size(); i++) {
        output.writeEnumNoTag(role_.get(i));
      }
      for (int i = 0; i < account_.size(); i++) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 3, account_.getRaw(i));
      }
      for (int i = 0; i < name_.size(); i++) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 4, name_.getRaw(i));
      }
    }

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

      size = 0;
      {
        int dataSize = 0;
        for (int i = 0; i < id_.size(); i++) {
          dataSize += com.google.protobuf.CodedOutputStream
            .computeInt64SizeNoTag(id_.get(i));
        }
        size += dataSize;
        if (!getIdList().isEmpty()) {
          size += 1;
          size += com.google.protobuf.CodedOutputStream
              .computeInt32SizeNoTag(dataSize);
        }
        idMemoizedSerializedSize = dataSize;
      }
      {
        int dataSize = 0;
        for (int i = 0; i < role_.size(); i++) {
          dataSize += com.google.protobuf.CodedOutputStream
            .computeEnumSizeNoTag(role_.get(i));
        }
        size += dataSize;
        if (!getRoleList().isEmpty()) {  size += 1;
          size += com.google.protobuf.CodedOutputStream
            .computeUInt32SizeNoTag(dataSize);
        }roleMemoizedSerializedSize = dataSize;
      }
      {
        int dataSize = 0;
        for (int i = 0; i < account_.size(); i++) {
          dataSize += computeStringSizeNoTag(account_.getRaw(i));
        }
        size += dataSize;
        size += 1 * getAccountList().size();
      }
      {
        int dataSize = 0;
        for (int i = 0; i < name_.size(); i++) {
          dataSize += computeStringSizeNoTag(name_.getRaw(i));
        }
        size += dataSize;
        size += 1 * getNameList().size();
      }
      memoizedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof smsc.Api.RequestDeleteAccount)) {
        return super.equals(obj);
      }
      smsc.Api.RequestDeleteAccount other = (smsc.Api.RequestDeleteAccount) obj;

      boolean result = true;
      result = result && getIdList()
          .equals(other.getIdList());
      result = result && role_.equals(other.role_);
      result = result && getAccountList()
          .equals(other.getAccountList());
      result = result && getNameList()
          .equals(other.getNameList());
      return result;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptorForType().hashCode();
      if (getIdCount() > 0) {
        hash = (37 * hash) + ID_FIELD_NUMBER;
        hash = (53 * hash) + getIdList().hashCode();
      }
      if (getRoleCount() > 0) {
        hash = (37 * hash) + ROLE_FIELD_NUMBER;
        hash = (53 * hash) + role_.hashCode();
      }
      if (getAccountCount() > 0) {
        hash = (37 * hash) + ACCOUNT_FIELD_NUMBER;
        hash = (53 * hash) + getAccountList().hashCode();
      }
      if (getNameCount() > 0) {
        hash = (37 * hash) + NAME_FIELD_NUMBER;
        hash = (53 * hash) + getNameList().hashCode();
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

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

    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(smsc.Api.RequestDeleteAccount prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code smsc.RequestDeleteAccount}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:smsc.RequestDeleteAccount)
        smsc.Api.RequestDeleteAccountOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return smsc.Api.internal_static_smsc_RequestDeleteAccount_descriptor;
      }

      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return smsc.Api.internal_static_smsc_RequestDeleteAccount_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                smsc.Api.RequestDeleteAccount.class, smsc.Api.RequestDeleteAccount.Builder.class);
      }

      // Construct using smsc.Api.RequestDeleteAccount.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
        }
      }
      public Builder clear() {
        super.clear();
        id_ = java.util.Collections.emptyList();
        bitField0_ = (bitField0_ & ~0x00000001);
        role_ = java.util.Collections.emptyList();
        bitField0_ = (bitField0_ & ~0x00000002);
        account_ = com.google.protobuf.LazyStringArrayList.EMPTY;
        bitField0_ = (bitField0_ & ~0x00000004);
        name_ = com.google.protobuf.LazyStringArrayList.EMPTY;
        bitField0_ = (bitField0_ & ~0x00000008);
        return this;
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return smsc.Api.internal_static_smsc_RequestDeleteAccount_descriptor;
      }

      public smsc.Api.RequestDeleteAccount getDefaultInstanceForType() {
        return smsc.Api.RequestDeleteAccount.getDefaultInstance();
      }

      public smsc.Api.RequestDeleteAccount build() {
        smsc.Api.RequestDeleteAccount result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public smsc.Api.RequestDeleteAccount buildPartial() {
        smsc.Api.RequestDeleteAccount result = new smsc.Api.RequestDeleteAccount(this);
        int from_bitField0_ = bitField0_;
        if (((bitField0_ & 0x00000001) == 0x00000001)) {
          id_ = java.util.Collections.unmodifiableList(id_);
          bitField0_ = (bitField0_ & ~0x00000001);
        }
        result.id_ = id_;
        if (((bitField0_ & 0x00000002) == 0x00000002)) {
          role_ = java.util.Collections.unmodifiableList(role_);
          bitField0_ = (bitField0_ & ~0x00000002);
        }
        result.role_ = role_;
        if (((bitField0_ & 0x00000004) == 0x00000004)) {
          account_ = account_.getUnmodifiableView();
          bitField0_ = (bitField0_ & ~0x00000004);
        }
        result.account_ = account_;
        if (((bitField0_ & 0x00000008) == 0x00000008)) {
          name_ = name_.getUnmodifiableView();
          bitField0_ = (bitField0_ & ~0x00000008);
        }
        result.name_ = name_;
        onBuilt();
        return result;
      }

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

      public Builder mergeFrom(smsc.Api.RequestDeleteAccount other) {
        if (other == smsc.Api.RequestDeleteAccount.getDefaultInstance()) return this;
        if (!other.id_.isEmpty()) {
          if (id_.isEmpty()) {
            id_ = other.id_;
            bitField0_ = (bitField0_ & ~0x00000001);
          } else {
            ensureIdIsMutable();
            id_.addAll(other.id_);
          }
          onChanged();
        }
        if (!other.role_.isEmpty()) {
          if (role_.isEmpty()) {
            role_ = other.role_;
            bitField0_ = (bitField0_ & ~0x00000002);
          } else {
            ensureRoleIsMutable();
            role_.addAll(other.role_);
          }
          onChanged();
        }
        if (!other.account_.isEmpty()) {
          if (account_.isEmpty()) {
            account_ = other.account_;
            bitField0_ = (bitField0_ & ~0x00000004);
          } else {
            ensureAccountIsMutable();
            account_.addAll(other.account_);
          }
          onChanged();
        }
        if (!other.name_.isEmpty()) {
          if (name_.isEmpty()) {
            name_ = other.name_;
            bitField0_ = (bitField0_ & ~0x00000008);
          } else {
            ensureNameIsMutable();
            name_.addAll(other.name_);
          }
          onChanged();
        }
        onChanged();
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

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

      private java.util.List<java.lang.Long> id_ = java.util.Collections.emptyList();
      private void ensureIdIsMutable() {
        if (!((bitField0_ & 0x00000001) == 0x00000001)) {
          id_ = new java.util.ArrayList<java.lang.Long>(id_);
          bitField0_ |= 0x00000001;
         }
      }
      /**
       * <pre>
       *用户id
       * </pre>
       *
       * <code>repeated int64 id = 1;</code>
       */
      public java.util.List<java.lang.Long>
          getIdList() {
        return java.util.Collections.unmodifiableList(id_);
      }
      /**
       * <pre>
       *用户id
       * </pre>
       *
       * <code>repeated int64 id = 1;</code>
       */
      public int getIdCount() {
        return id_.size();
      }
      /**
       * <pre>
       *用户id
       * </pre>
       *
       * <code>repeated int64 id = 1;</code>
       */
      public long getId(int index) {
        return id_.get(index);
      }
      /**
       * <pre>
       *用户id
       * </pre>
       *
       * <code>repeated int64 id = 1;</code>
       */
      public Builder setId(
          int index, long value) {
        ensureIdIsMutable();
        id_.set(index, value);
        onChanged();
        return this;
      }
      /**
       * <pre>
       *用户id
       * </pre>
       *
       * <code>repeated int64 id = 1;</code>
       */
      public Builder addId(long value) {
        ensureIdIsMutable();
        id_.add(value);
        onChanged();
        return this;
      }
      /**
       * <pre>
       *用户id
       * </pre>
       *
       * <code>repeated int64 id = 1;</code>
       */
      public Builder addAllId(
          java.lang.Iterable<? extends java.lang.Long> values) {
        ensureIdIsMutable();
        com.google.protobuf.AbstractMessageLite.Builder.addAll(
            values, id_);
        onChanged();
        return this;
      }
      /**
       * <pre>
       *用户id
       * </pre>
       *
       * <code>repeated int64 id = 1;</code>
       */
      public Builder clearId() {
        id_ = java.util.Collections.emptyList();
        bitField0_ = (bitField0_ & ~0x00000001);
        onChanged();
        return this;
      }

      private java.util.List<java.lang.Integer> role_ =
        java.util.Collections.emptyList();
      private void ensureRoleIsMutable() {
        if (!((bitField0_ & 0x00000002) == 0x00000002)) {
          role_ = new java.util.ArrayList<java.lang.Integer>(role_);
          bitField0_ |= 0x00000002;
        }
      }
      /**
       * <pre>
       *用户角色
       * </pre>
       *
       * <code>repeated .smsc.Role role = 2;</code>
       */
      public java.util.List<smsc.Api.Role> getRoleList() {
        return new com.google.protobuf.Internal.ListAdapter<
            java.lang.Integer, smsc.Api.Role>(role_, role_converter_);
      }
      /**
       * <pre>
       *用户角色
       * </pre>
       *
       * <code>repeated .smsc.Role role = 2;</code>
       */
      public int getRoleCount() {
        return role_.size();
      }
      /**
       * <pre>
       *用户角色
       * </pre>
       *
       * <code>repeated .smsc.Role role = 2;</code>
       */
      public smsc.Api.Role getRole(int index) {
        return role_converter_.convert(role_.get(index));
      }
      /**
       * <pre>
       *用户角色
       * </pre>
       *
       * <code>repeated .smsc.Role role = 2;</code>
       */
      public Builder setRole(
          int index, smsc.Api.Role value) {
        if (value == null) {
          throw new NullPointerException();
        }
        ensureRoleIsMutable();
        role_.set(index, value.getNumber());
        onChanged();
        return this;
      }
      /**
       * <pre>
       *用户角色
       * </pre>
       *
       * <code>repeated .smsc.Role role = 2;</code>
       */
      public Builder addRole(smsc.Api.Role value) {
        if (value == null) {
          throw new NullPointerException();
        }
        ensureRoleIsMutable();
        role_.add(value.getNumber());
        onChanged();
        return this;
      }
      /**
       * <pre>
       *用户角色
       * </pre>
       *
       * <code>repeated .smsc.Role role = 2;</code>
       */
      public Builder addAllRole(
          java.lang.Iterable<? extends smsc.Api.Role> values) {
        ensureRoleIsMutable();
        for (smsc.Api.Role value : values) {
          role_.add(value.getNumber());
        }
        onChanged();
        return this;
      }
      /**
       * <pre>
       *用户角色
       * </pre>
       *
       * <code>repeated .smsc.Role role = 2;</code>
       */
      public Builder clearRole() {
        role_ = java.util.Collections.emptyList();
        bitField0_ = (bitField0_ & ~0x00000002);
        onChanged();
        return this;
      }
      /**
       * <pre>
       *用户角色
       * </pre>
       *
       * <code>repeated .smsc.Role role = 2;</code>
       */
      public java.util.List<java.lang.Integer>
      getRoleValueList() {
        return java.util.Collections.unmodifiableList(role_);
      }
      /**
       * <pre>
       *用户角色
       * </pre>
       *
       * <code>repeated .smsc.Role role = 2;</code>
       */
      public int getRoleValue(int index) {
        return role_.get(index);
      }
      /**
       * <pre>
       *用户角色
       * </pre>
       *
       * <code>repeated .smsc.Role role = 2;</code>
       */
      public Builder setRoleValue(
          int index, int value) {
        ensureRoleIsMutable();
        role_.set(index, value);
        onChanged();
        return this;
      }
      /**
       * <pre>
       *用户角色
       * </pre>
       *
       * <code>repeated .smsc.Role role = 2;</code>
       */
      public Builder addRoleValue(int value) {
        ensureRoleIsMutable();
        role_.add(value);
        onChanged();
        return this;
      }
      /**
       * <pre>
       *用户角色
       * </pre>
       *
       * <code>repeated .smsc.Role role = 2;</code>
       */
      public Builder addAllRoleValue(
          java.lang.Iterable<java.lang.Integer> values) {
        ensureRoleIsMutable();
        for (int value : values) {
          role_.add(value);
        }
        onChanged();
        return this;
      }

      private com.google.protobuf.LazyStringList account_ = com.google.protobuf.LazyStringArrayList.EMPTY;
      private void ensureAccountIsMutable() {
        if (!((bitField0_ & 0x00000004) == 0x00000004)) {
          account_ = new com.google.protobuf.LazyStringArrayList(account_);
          bitField0_ |= 0x00000004;
         }
      }
      /**
       * <pre>
       *用户账号
       * </pre>
       *
       * <code>repeated string account = 3;</code>
       */
      public com.google.protobuf.ProtocolStringList
          getAccountList() {
        return account_.getUnmodifiableView();
      }
      /**
       * <pre>
       *用户账号
       * </pre>
       *
       * <code>repeated string account = 3;</code>
       */
      public int getAccountCount() {
        return account_.size();
      }
      /**
       * <pre>
       *用户账号
       * </pre>
       *
       * <code>repeated string account = 3;</code>
       */
      public java.lang.String getAccount(int index) {
        return account_.get(index);
      }
      /**
       * <pre>
       *用户账号
       * </pre>
       *
       * <code>repeated string account = 3;</code>
       */
      public com.google.protobuf.ByteString
          getAccountBytes(int index) {
        return account_.getByteString(index);
      }
      /**
       * <pre>
       *用户账号
       * </pre>
       *
       * <code>repeated string account = 3;</code>
       */
      public Builder setAccount(
          int index, java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  ensureAccountIsMutable();
        account_.set(index, value);
        onChanged();
        return this;
      }
      /**
       * <pre>
       *用户账号
       * </pre>
       *
       * <code>repeated string account = 3;</code>
       */
      public Builder addAccount(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  ensureAccountIsMutable();
        account_.add(value);
        onChanged();
        return this;
      }
      /**
       * <pre>
       *用户账号
       * </pre>
       *
       * <code>repeated string account = 3;</code>
       */
      public Builder addAllAccount(
          java.lang.Iterable<java.lang.String> values) {
        ensureAccountIsMutable();
        com.google.protobuf.AbstractMessageLite.Builder.addAll(
            values, account_);
        onChanged();
        return this;
      }
      /**
       * <pre>
       *用户账号
       * </pre>
       *
       * <code>repeated string account = 3;</code>
       */
      public Builder clearAccount() {
        account_ = com.google.protobuf.LazyStringArrayList.EMPTY;
        bitField0_ = (bitField0_ & ~0x00000004);
        onChanged();
        return this;
      }
      /**
       * <pre>
       *用户账号
       * </pre>
       *
       * <code>repeated string account = 3;</code>
       */
      public Builder addAccountBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        ensureAccountIsMutable();
        account_.add(value);
        onChanged();
        return this;
      }

      private com.google.protobuf.LazyStringList name_ = com.google.protobuf.LazyStringArrayList.EMPTY;
      private void ensureNameIsMutable() {
        if (!((bitField0_ & 0x00000008) == 0x00000008)) {
          name_ = new com.google.protobuf.LazyStringArrayList(name_);
          bitField0_ |= 0x00000008;
         }
      }
      /**
       * <pre>
       *用户名称
       * </pre>
       *
       * <code>repeated string name = 4;</code>
       */
      public com.google.protobuf.ProtocolStringList
          getNameList() {
        return name_.getUnmodifiableView();
      }
      /**
       * <pre>
       *用户名称
       * </pre>
       *
       * <code>repeated string name = 4;</code>
       */
      public int getNameCount() {
        return name_.size();
      }
      /**
       * <pre>
       *用户名称
       * </pre>
       *
       * <code>repeated string name = 4;</code>
       */
      public java.lang.String getName(int index) {
        return name_.get(index);
      }
      /**
       * <pre>
       *用户名称
       * </pre>
       *
       * <code>repeated string name = 4;</code>
       */
      public com.google.protobuf.ByteString
          getNameBytes(int index) {
        return name_.getByteString(index);
      }
      /**
       * <pre>
       *用户名称
       * </pre>
       *
       * <code>repeated string name = 4;</code>
       */
      public Builder setName(
          int index, java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  ensureNameIsMutable();
        name_.set(index, value);
        onChanged();
        return this;
      }
      /**
       * <pre>
       *用户名称
       * </pre>
       *
       * <code>repeated string name = 4;</code>
       */
      public Builder addName(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  ensureNameIsMutable();
        name_.add(value);
        onChanged();
        return this;
      }
      /**
       * <pre>
       *用户名称
       * </pre>
       *
       * <code>repeated string name = 4;</code>
       */
      public Builder addAllName(
          java.lang.Iterable<java.lang.String> values) {
        ensureNameIsMutable();
        com.google.protobuf.AbstractMessageLite.Builder.addAll(
            values, name_);
        onChanged();
        return this;
      }
      /**
       * <pre>
       *用户名称
       * </pre>
       *
       * <code>repeated string name = 4;</code>
       */
      public Builder clearName() {
        name_ = com.google.protobuf.LazyStringArrayList.EMPTY;
        bitField0_ = (bitField0_ & ~0x00000008);
        onChanged();
        return this;
      }
      /**
       * <pre>
       *用户名称
       * </pre>
       *
       * <code>repeated string name = 4;</code>
       */
      public Builder addNameBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        ensureNameIsMutable();
        name_.add(value);
        onChanged();
        return this;
      }
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return this;
      }

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


      // @@protoc_insertion_point(builder_scope:smsc.RequestDeleteAccount)
    }

    // @@protoc_insertion_point(class_scope:smsc.RequestDeleteAccount)
    private static final smsc.Api.RequestDeleteAccount DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new smsc.Api.RequestDeleteAccount();
    }

    public static smsc.Api.RequestDeleteAccount getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

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

    public smsc.Api.RequestDeleteAccount getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface RequestSetSupplierOrBuilder extends
      // @@protoc_insertion_point(interface_extends:smsc.RequestSetSupplier)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <pre>
     *计划员id
     * </pre>
     *
     * <code>optional int64 plannerId = 1;</code>
     */
    long getPlannerId();

    /**
     * <pre>
     *增加的供应商id
     * </pre>
     *
     * <code>repeated int64 supplierIdAdd = 2;</code>
     */
    java.util.List<java.lang.Long> getSupplierIdAddList();
    /**
     * <pre>
     *增加的供应商id
     * </pre>
     *
     * <code>repeated int64 supplierIdAdd = 2;</code>
     */
    int getSupplierIdAddCount();
    /**
     * <pre>
     *增加的供应商id
     * </pre>
     *
     * <code>repeated int64 supplierIdAdd = 2;</code>
     */
    long getSupplierIdAdd(int index);

    /**
     * <pre>
     *删除的供应商id
     * </pre>
     *
     * <code>repeated int64 supplierIdDel = 3;</code>
     */
    java.util.List<java.lang.Long> getSupplierIdDelList();
    /**
     * <pre>
     *删除的供应商id
     * </pre>
     *
     * <code>repeated int64 supplierIdDel = 3;</code>
     */
    int getSupplierIdDelCount();
    /**
     * <pre>
     *删除的供应商id
     * </pre>
     *
     * <code>repeated int64 supplierIdDel = 3;</code>
     */
    long getSupplierIdDel(int index);

    /**
     * <pre>
     *增加的供应商账号
     * </pre>
     *
     * <code>repeated string supplierAccountAdd = 4;</code>
     */
    java.util.List<java.lang.String>
        getSupplierAccountAddList();
    /**
     * <pre>
     *增加的供应商账号
     * </pre>
     *
     * <code>repeated string supplierAccountAdd = 4;</code>
     */
    int getSupplierAccountAddCount();
    /**
     * <pre>
     *增加的供应商账号
     * </pre>
     *
     * <code>repeated string supplierAccountAdd = 4;</code>
     */
    java.lang.String getSupplierAccountAdd(int index);
    /**
     * <pre>
     *增加的供应商账号
     * </pre>
     *
     * <code>repeated string supplierAccountAdd = 4;</code>
     */
    com.google.protobuf.ByteString
        getSupplierAccountAddBytes(int index);

    /**
     * <pre>
     *删除的供应商账号
     * </pre>
     *
     * <code>repeated string supplierAccountDel = 5;</code>
     */
    java.util.List<java.lang.String>
        getSupplierAccountDelList();
    /**
     * <pre>
     *删除的供应商账号
     * </pre>
     *
     * <code>repeated string supplierAccountDel = 5;</code>
     */
    int getSupplierAccountDelCount();
    /**
     * <pre>
     *删除的供应商账号
     * </pre>
     *
     * <code>repeated string supplierAccountDel = 5;</code>
     */
    java.lang.String getSupplierAccountDel(int index);
    /**
     * <pre>
     *删除的供应商账号
     * </pre>
     *
     * <code>repeated string supplierAccountDel = 5;</code>
     */
    com.google.protobuf.ByteString
        getSupplierAccountDelBytes(int index);

    /**
     * <pre>
     *增加的供应商名称
     * </pre>
     *
     * <code>repeated string supplierNameAdd = 6;</code>
     */
    java.util.List<java.lang.String>
        getSupplierNameAddList();
    /**
     * <pre>
     *增加的供应商名称
     * </pre>
     *
     * <code>repeated string supplierNameAdd = 6;</code>
     */
    int getSupplierNameAddCount();
    /**
     * <pre>
     *增加的供应商名称
     * </pre>
     *
     * <code>repeated string supplierNameAdd = 6;</code>
     */
    java.lang.String getSupplierNameAdd(int index);
    /**
     * <pre>
     *增加的供应商名称
     * </pre>
     *
     * <code>repeated string supplierNameAdd = 6;</code>
     */
    com.google.protobuf.ByteString
        getSupplierNameAddBytes(int index);

    /**
     * <pre>
     *删除的供应商名称
     * </pre>
     *
     * <code>repeated string supplierNameDel = 7;</code>
     */
    java.util.List<java.lang.String>
        getSupplierNameDelList();
    /**
     * <pre>
     *删除的供应商名称
     * </pre>
     *
     * <code>repeated string supplierNameDel = 7;</code>
     */
    int getSupplierNameDelCount();
    /**
     * <pre>
     *删除的供应商名称
     * </pre>
     *
     * <code>repeated string supplierNameDel = 7;</code>
     */
    java.lang.String getSupplierNameDel(int index);
    /**
     * <pre>
     *删除的供应商名称
     * </pre>
     *
     * <code>repeated string supplierNameDel = 7;</code>
     */
    com.google.protobuf.ByteString
        getSupplierNameDelBytes(int index);
  }
  /**
   * Protobuf type {@code smsc.RequestSetSupplier}
   */
  public  static final class RequestSetSupplier extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:smsc.RequestSetSupplier)
      RequestSetSupplierOrBuilder {
    // Use RequestSetSupplier.newBuilder() to construct.
    private RequestSetSupplier(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private RequestSetSupplier() {
      plannerId_ = 0L;
      supplierIdAdd_ = java.util.Collections.emptyList();
      supplierIdDel_ = java.util.Collections.emptyList();
      supplierAccountAdd_ = com.google.protobuf.LazyStringArrayList.EMPTY;
      supplierAccountDel_ = com.google.protobuf.LazyStringArrayList.EMPTY;
      supplierNameAdd_ = com.google.protobuf.LazyStringArrayList.EMPTY;
      supplierNameDel_ = com.google.protobuf.LazyStringArrayList.EMPTY;
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return com.google.protobuf.UnknownFieldSet.getDefaultInstance();
    }
    private RequestSetSupplier(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      int mutable_bitField0_ = 0;
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!input.skipField(tag)) {
                done = true;
              }
              break;
            }
            case 8: {

              plannerId_ = input.readInt64();
              break;
            }
            case 16: {
              if (!((mutable_bitField0_ & 0x00000002) == 0x00000002)) {
                supplierIdAdd_ = new java.util.ArrayList<java.lang.Long>();
                mutable_bitField0_ |= 0x00000002;
              }
              supplierIdAdd_.add(input.readInt64());
              break;
            }
            case 18: {
              int length = input.readRawVarint32();
              int limit = input.pushLimit(length);
              if (!((mutable_bitField0_ & 0x00000002) == 0x00000002) && input.getBytesUntilLimit() > 0) {
                supplierIdAdd_ = new java.util.ArrayList<java.lang.Long>();
                mutable_bitField0_ |= 0x00000002;
              }
              while (input.getBytesUntilLimit() > 0) {
                supplierIdAdd_.add(input.readInt64());
              }
              input.popLimit(limit);
              break;
            }
            case 24: {
              if (!((mutable_bitField0_ & 0x00000004) == 0x00000004)) {
                supplierIdDel_ = new java.util.ArrayList<java.lang.Long>();
                mutable_bitField0_ |= 0x00000004;
              }
              supplierIdDel_.add(input.readInt64());
              break;
            }
            case 26: {
              int length = input.readRawVarint32();
              int limit = input.pushLimit(length);
              if (!((mutable_bitField0_ & 0x00000004) == 0x00000004) && input.getBytesUntilLimit() > 0) {
                supplierIdDel_ = new java.util.ArrayList<java.lang.Long>();
                mutable_bitField0_ |= 0x00000004;
              }
              while (input.getBytesUntilLimit() > 0) {
                supplierIdDel_.add(input.readInt64());
              }
              input.popLimit(limit);
              break;
            }
            case 34: {
              java.lang.String s = input.readStringRequireUtf8();
              if (!((mutable_bitField0_ & 0x00000008) == 0x00000008)) {
                supplierAccountAdd_ = new com.google.protobuf.LazyStringArrayList();
                mutable_bitField0_ |= 0x00000008;
              }
              supplierAccountAdd_.add(s);
              break;
            }
            case 42: {
              java.lang.String s = input.readStringRequireUtf8();
              if (!((mutable_bitField0_ & 0x00000010) == 0x00000010)) {
                supplierAccountDel_ = new com.google.protobuf.LazyStringArrayList();
                mutable_bitField0_ |= 0x00000010;
              }
              supplierAccountDel_.add(s);
              break;
            }
            case 50: {
              java.lang.String s = input.readStringRequireUtf8();
              if (!((mutable_bitField0_ & 0x00000020) == 0x00000020)) {
                supplierNameAdd_ = new com.google.protobuf.LazyStringArrayList();
                mutable_bitField0_ |= 0x00000020;
              }
              supplierNameAdd_.add(s);
              break;
            }
            case 58: {
              java.lang.String s = input.readStringRequireUtf8();
              if (!((mutable_bitField0_ & 0x00000040) == 0x00000040)) {
                supplierNameDel_ = new com.google.protobuf.LazyStringArrayList();
                mutable_bitField0_ |= 0x00000040;
              }
              supplierNameDel_.add(s);
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        if (((mutable_bitField0_ & 0x00000002) == 0x00000002)) {
          supplierIdAdd_ = java.util.Collections.unmodifiableList(supplierIdAdd_);
        }
        if (((mutable_bitField0_ & 0x00000004) == 0x00000004)) {
          supplierIdDel_ = java.util.Collections.unmodifiableList(supplierIdDel_);
        }
        if (((mutable_bitField0_ & 0x00000008) == 0x00000008)) {
          supplierAccountAdd_ = supplierAccountAdd_.getUnmodifiableView();
        }
        if (((mutable_bitField0_ & 0x00000010) == 0x00000010)) {
          supplierAccountDel_ = supplierAccountDel_.getUnmodifiableView();
        }
        if (((mutable_bitField0_ & 0x00000020) == 0x00000020)) {
          supplierNameAdd_ = supplierNameAdd_.getUnmodifiableView();
        }
        if (((mutable_bitField0_ & 0x00000040) == 0x00000040)) {
          supplierNameDel_ = supplierNameDel_.getUnmodifiableView();
        }
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return smsc.Api.internal_static_smsc_RequestSetSupplier_descriptor;
    }

    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return smsc.Api.internal_static_smsc_RequestSetSupplier_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              smsc.Api.RequestSetSupplier.class, smsc.Api.RequestSetSupplier.Builder.class);
    }

    private int bitField0_;
    public static final int PLANNERID_FIELD_NUMBER = 1;
    private long plannerId_;
    /**
     * <pre>
     *计划员id
     * </pre>
     *
     * <code>optional int64 plannerId = 1;</code>
     */
    public long getPlannerId() {
      return plannerId_;
    }

    public static final int SUPPLIERIDADD_FIELD_NUMBER = 2;
    private java.util.List<java.lang.Long> supplierIdAdd_;
    /**
     * <pre>
     *增加的供应商id
     * </pre>
     *
     * <code>repeated int64 supplierIdAdd = 2;</code>
     */
    public java.util.List<java.lang.Long>
        getSupplierIdAddList() {
      return supplierIdAdd_;
    }
    /**
     * <pre>
     *增加的供应商id
     * </pre>
     *
     * <code>repeated int64 supplierIdAdd = 2;</code>
     */
    public int getSupplierIdAddCount() {
      return supplierIdAdd_.size();
    }
    /**
     * <pre>
     *增加的供应商id
     * </pre>
     *
     * <code>repeated int64 supplierIdAdd = 2;</code>
     */
    public long getSupplierIdAdd(int index) {
      return supplierIdAdd_.get(index);
    }
    private int supplierIdAddMemoizedSerializedSize = -1;

    public static final int SUPPLIERIDDEL_FIELD_NUMBER = 3;
    private java.util.List<java.lang.Long> supplierIdDel_;
    /**
     * <pre>
     *删除的供应商id
     * </pre>
     *
     * <code>repeated int64 supplierIdDel = 3;</code>
     */
    public java.util.List<java.lang.Long>
        getSupplierIdDelList() {
      return supplierIdDel_;
    }
    /**
     * <pre>
     *删除的供应商id
     * </pre>
     *
     * <code>repeated int64 supplierIdDel = 3;</code>
     */
    public int getSupplierIdDelCount() {
      return supplierIdDel_.size();
    }
    /**
     * <pre>
     *删除的供应商id
     * </pre>
     *
     * <code>repeated int64 supplierIdDel = 3;</code>
     */
    public long getSupplierIdDel(int index) {
      return supplierIdDel_.get(index);
    }
    private int supplierIdDelMemoizedSerializedSize = -1;

    public static final int SUPPLIERACCOUNTADD_FIELD_NUMBER = 4;
    private com.google.protobuf.LazyStringList supplierAccountAdd_;
    /**
     * <pre>
     *增加的供应商账号
     * </pre>
     *
     * <code>repeated string supplierAccountAdd = 4;</code>
     */
    public com.google.protobuf.ProtocolStringList
        getSupplierAccountAddList() {
      return supplierAccountAdd_;
    }
    /**
     * <pre>
     *增加的供应商账号
     * </pre>
     *
     * <code>repeated string supplierAccountAdd = 4;</code>
     */
    public int getSupplierAccountAddCount() {
      return supplierAccountAdd_.size();
    }
    /**
     * <pre>
     *增加的供应商账号
     * </pre>
     *
     * <code>repeated string supplierAccountAdd = 4;</code>
     */
    public java.lang.String getSupplierAccountAdd(int index) {
      return supplierAccountAdd_.get(index);
    }
    /**
     * <pre>
     *增加的供应商账号
     * </pre>
     *
     * <code>repeated string supplierAccountAdd = 4;</code>
     */
    public com.google.protobuf.ByteString
        getSupplierAccountAddBytes(int index) {
      return supplierAccountAdd_.getByteString(index);
    }

    public static final int SUPPLIERACCOUNTDEL_FIELD_NUMBER = 5;
    private com.google.protobuf.LazyStringList supplierAccountDel_;
    /**
     * <pre>
     *删除的供应商账号
     * </pre>
     *
     * <code>repeated string supplierAccountDel = 5;</code>
     */
    public com.google.protobuf.ProtocolStringList
        getSupplierAccountDelList() {
      return supplierAccountDel_;
    }
    /**
     * <pre>
     *删除的供应商账号
     * </pre>
     *
     * <code>repeated string supplierAccountDel = 5;</code>
     */
    public int getSupplierAccountDelCount() {
      return supplierAccountDel_.size();
    }
    /**
     * <pre>
     *删除的供应商账号
     * </pre>
     *
     * <code>repeated string supplierAccountDel = 5;</code>
     */
    public java.lang.String getSupplierAccountDel(int index) {
      return supplierAccountDel_.get(index);
    }
    /**
     * <pre>
     *删除的供应商账号
     * </pre>
     *
     * <code>repeated string supplierAccountDel = 5;</code>
     */
    public com.google.protobuf.ByteString
        getSupplierAccountDelBytes(int index) {
      return supplierAccountDel_.getByteString(index);
    }

    public static final int SUPPLIERNAMEADD_FIELD_NUMBER = 6;
    private com.google.protobuf.LazyStringList supplierNameAdd_;
    /**
     * <pre>
     *增加的供应商名称
     * </pre>
     *
     * <code>repeated string supplierNameAdd = 6;</code>
     */
    public com.google.protobuf.ProtocolStringList
        getSupplierNameAddList() {
      return supplierNameAdd_;
    }
    /**
     * <pre>
     *增加的供应商名称
     * </pre>
     *
     * <code>repeated string supplierNameAdd = 6;</code>
     */
    public int getSupplierNameAddCount() {
      return supplierNameAdd_.size();
    }
    /**
     * <pre>
     *增加的供应商名称
     * </pre>
     *
     * <code>repeated string supplierNameAdd = 6;</code>
     */
    public java.lang.String getSupplierNameAdd(int index) {
      return supplierNameAdd_.get(index);
    }
    /**
     * <pre>
     *增加的供应商名称
     * </pre>
     *
     * <code>repeated string supplierNameAdd = 6;</code>
     */
    public com.google.protobuf.ByteString
        getSupplierNameAddBytes(int index) {
      return supplierNameAdd_.getByteString(index);
    }

    public static final int SUPPLIERNAMEDEL_FIELD_NUMBER = 7;
    private com.google.protobuf.LazyStringList supplierNameDel_;
    /**
     * <pre>
     *删除的供应商名称
     * </pre>
     *
     * <code>repeated string supplierNameDel = 7;</code>
     */
    public com.google.protobuf.ProtocolStringList
        getSupplierNameDelList() {
      return supplierNameDel_;
    }
    /**
     * <pre>
     *删除的供应商名称
     * </pre>
     *
     * <code>repeated string supplierNameDel = 7;</code>
     */
    public int getSupplierNameDelCount() {
      return supplierNameDel_.size();
    }
    /**
     * <pre>
     *删除的供应商名称
     * </pre>
     *
     * <code>repeated string supplierNameDel = 7;</code>
     */
    public java.lang.String getSupplierNameDel(int index) {
      return supplierNameDel_.get(index);
    }
    /**
     * <pre>
     *删除的供应商名称
     * </pre>
     *
     * <code>repeated string supplierNameDel = 7;</code>
     */
    public com.google.protobuf.ByteString
        getSupplierNameDelBytes(int index) {
      return supplierNameDel_.getByteString(index);
    }

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

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (plannerId_ != 0L) {
        output.writeInt64(1, plannerId_);
      }
      if (getSupplierIdAddList().size() > 0) {
        output.writeUInt32NoTag(18);
        output.writeUInt32NoTag(supplierIdAddMemoizedSerializedSize);
      }
      for (int i = 0; i < supplierIdAdd_.size(); i++) {
        output.writeInt64NoTag(supplierIdAdd_.get(i));
      }
      if (getSupplierIdDelList().size() > 0) {
        output.writeUInt32NoTag(26);
        output.writeUInt32NoTag(supplierIdDelMemoizedSerializedSize);
      }
      for (int i = 0; i < supplierIdDel_.size(); i++) {
        output.writeInt64NoTag(supplierIdDel_.get(i));
      }
      for (int i = 0; i < supplierAccountAdd_.size(); i++) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 4, supplierAccountAdd_.getRaw(i));
      }
      for (int i = 0; i < supplierAccountDel_.size(); i++) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 5, supplierAccountDel_.getRaw(i));
      }
      for (int i = 0; i < supplierNameAdd_.size(); i++) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 6, supplierNameAdd_.getRaw(i));
      }
      for (int i = 0; i < supplierNameDel_.size(); i++) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 7, supplierNameDel_.getRaw(i));
      }
    }

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

      size = 0;
      if (plannerId_ != 0L) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt64Size(1, plannerId_);
      }
      {
        int dataSize = 0;
        for (int i = 0; i < supplierIdAdd_.size(); i++) {
          dataSize += com.google.protobuf.CodedOutputStream
            .computeInt64SizeNoTag(supplierIdAdd_.get(i));
        }
        size += dataSize;
        if (!getSupplierIdAddList().isEmpty()) {
          size += 1;
          size += com.google.protobuf.CodedOutputStream
              .computeInt32SizeNoTag(dataSize);
        }
        supplierIdAddMemoizedSerializedSize = dataSize;
      }
      {
        int dataSize = 0;
        for (int i = 0; i < supplierIdDel_.size(); i++) {
          dataSize += com.google.protobuf.CodedOutputStream
            .computeInt64SizeNoTag(supplierIdDel_.get(i));
        }
        size += dataSize;
        if (!getSupplierIdDelList().isEmpty()) {
          size += 1;
          size += com.google.protobuf.CodedOutputStream
              .computeInt32SizeNoTag(dataSize);
        }
        supplierIdDelMemoizedSerializedSize = dataSize;
      }
      {
        int dataSize = 0;
        for (int i = 0; i < supplierAccountAdd_.size(); i++) {
          dataSize += computeStringSizeNoTag(supplierAccountAdd_.getRaw(i));
        }
        size += dataSize;
        size += 1 * getSupplierAccountAddList().size();
      }
      {
        int dataSize = 0;
        for (int i = 0; i < supplierAccountDel_.size(); i++) {
          dataSize += computeStringSizeNoTag(supplierAccountDel_.getRaw(i));
        }
        size += dataSize;
        size += 1 * getSupplierAccountDelList().size();
      }
      {
        int dataSize = 0;
        for (int i = 0; i < supplierNameAdd_.size(); i++) {
          dataSize += computeStringSizeNoTag(supplierNameAdd_.getRaw(i));
        }
        size += dataSize;
        size += 1 * getSupplierNameAddList().size();
      }
      {
        int dataSize = 0;
        for (int i = 0; i < supplierNameDel_.size(); i++) {
          dataSize += computeStringSizeNoTag(supplierNameDel_.getRaw(i));
        }
        size += dataSize;
        size += 1 * getSupplierNameDelList().size();
      }
      memoizedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof smsc.Api.RequestSetSupplier)) {
        return super.equals(obj);
      }
      smsc.Api.RequestSetSupplier other = (smsc.Api.RequestSetSupplier) obj;

      boolean result = true;
      result = result && (getPlannerId()
          == other.getPlannerId());
      result = result && getSupplierIdAddList()
          .equals(other.getSupplierIdAddList());
      result = result && getSupplierIdDelList()
          .equals(other.getSupplierIdDelList());
      result = result && getSupplierAccountAddList()
          .equals(other.getSupplierAccountAddList());
      result = result && getSupplierAccountDelList()
          .equals(other.getSupplierAccountDelList());
      result = result && getSupplierNameAddList()
          .equals(other.getSupplierNameAddList());
      result = result && getSupplierNameDelList()
          .equals(other.getSupplierNameDelList());
      return result;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptorForType().hashCode();
      hash = (37 * hash) + PLANNERID_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
          getPlannerId());
      if (getSupplierIdAddCount() > 0) {
        hash = (37 * hash) + SUPPLIERIDADD_FIELD_NUMBER;
        hash = (53 * hash) + getSupplierIdAddList().hashCode();
      }
      if (getSupplierIdDelCount() > 0) {
        hash = (37 * hash) + SUPPLIERIDDEL_FIELD_NUMBER;
        hash = (53 * hash) + getSupplierIdDelList().hashCode();
      }
      if (getSupplierAccountAddCount() > 0) {
        hash = (37 * hash) + SUPPLIERACCOUNTADD_FIELD_NUMBER;
        hash = (53 * hash) + getSupplierAccountAddList().hashCode();
      }
      if (getSupplierAccountDelCount() > 0) {
        hash = (37 * hash) + SUPPLIERACCOUNTDEL_FIELD_NUMBER;
        hash = (53 * hash) + getSupplierAccountDelList().hashCode();
      }
      if (getSupplierNameAddCount() > 0) {
        hash = (37 * hash) + SUPPLIERNAMEADD_FIELD_NUMBER;
        hash = (53 * hash) + getSupplierNameAddList().hashCode();
      }
      if (getSupplierNameDelCount() > 0) {
        hash = (37 * hash) + SUPPLIERNAMEDEL_FIELD_NUMBER;
        hash = (53 * hash) + getSupplierNameDelList().hashCode();
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

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

    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(smsc.Api.RequestSetSupplier prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code smsc.RequestSetSupplier}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:smsc.RequestSetSupplier)
        smsc.Api.RequestSetSupplierOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return smsc.Api.internal_static_smsc_RequestSetSupplier_descriptor;
      }

      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return smsc.Api.internal_static_smsc_RequestSetSupplier_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                smsc.Api.RequestSetSupplier.class, smsc.Api.RequestSetSupplier.Builder.class);
      }

      // Construct using smsc.Api.RequestSetSupplier.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
        }
      }
      public Builder clear() {
        super.clear();
        plannerId_ = 0L;

        supplierIdAdd_ = java.util.Collections.emptyList();
        bitField0_ = (bitField0_ & ~0x00000002);
        supplierIdDel_ = java.util.Collections.emptyList();
        bitField0_ = (bitField0_ & ~0x00000004);
        supplierAccountAdd_ = com.google.protobuf.LazyStringArrayList.EMPTY;
        bitField0_ = (bitField0_ & ~0x00000008);
        supplierAccountDel_ = com.google.protobuf.LazyStringArrayList.EMPTY;
        bitField0_ = (bitField0_ & ~0x00000010);
        supplierNameAdd_ = com.google.protobuf.LazyStringArrayList.EMPTY;
        bitField0_ = (bitField0_ & ~0x00000020);
        supplierNameDel_ = com.google.protobuf.LazyStringArrayList.EMPTY;
        bitField0_ = (bitField0_ & ~0x00000040);
        return this;
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return smsc.Api.internal_static_smsc_RequestSetSupplier_descriptor;
      }

      public smsc.Api.RequestSetSupplier getDefaultInstanceForType() {
        return smsc.Api.RequestSetSupplier.getDefaultInstance();
      }

      public smsc.Api.RequestSetSupplier build() {
        smsc.Api.RequestSetSupplier result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public smsc.Api.RequestSetSupplier buildPartial() {
        smsc.Api.RequestSetSupplier result = new smsc.Api.RequestSetSupplier(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        result.plannerId_ = plannerId_;
        if (((bitField0_ & 0x00000002) == 0x00000002)) {
          supplierIdAdd_ = java.util.Collections.unmodifiableList(supplierIdAdd_);
          bitField0_ = (bitField0_ & ~0x00000002);
        }
        result.supplierIdAdd_ = supplierIdAdd_;
        if (((bitField0_ & 0x00000004) == 0x00000004)) {
          supplierIdDel_ = java.util.Collections.unmodifiableList(supplierIdDel_);
          bitField0_ = (bitField0_ & ~0x00000004);
        }
        result.supplierIdDel_ = supplierIdDel_;
        if (((bitField0_ & 0x00000008) == 0x00000008)) {
          supplierAccountAdd_ = supplierAccountAdd_.getUnmodifiableView();
          bitField0_ = (bitField0_ & ~0x00000008);
        }
        result.supplierAccountAdd_ = supplierAccountAdd_;
        if (((bitField0_ & 0x00000010) == 0x00000010)) {
          supplierAccountDel_ = supplierAccountDel_.getUnmodifiableView();
          bitField0_ = (bitField0_ & ~0x00000010);
        }
        result.supplierAccountDel_ = supplierAccountDel_;
        if (((bitField0_ & 0x00000020) == 0x00000020)) {
          supplierNameAdd_ = supplierNameAdd_.getUnmodifiableView();
          bitField0_ = (bitField0_ & ~0x00000020);
        }
        result.supplierNameAdd_ = supplierNameAdd_;
        if (((bitField0_ & 0x00000040) == 0x00000040)) {
          supplierNameDel_ = supplierNameDel_.getUnmodifiableView();
          bitField0_ = (bitField0_ & ~0x00000040);
        }
        result.supplierNameDel_ = supplierNameDel_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

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

      public Builder mergeFrom(smsc.Api.RequestSetSupplier other) {
        if (other == smsc.Api.RequestSetSupplier.getDefaultInstance()) return this;
        if (other.getPlannerId() != 0L) {
          setPlannerId(other.getPlannerId());
        }
        if (!other.supplierIdAdd_.isEmpty()) {
          if (supplierIdAdd_.isEmpty()) {
            supplierIdAdd_ = other.supplierIdAdd_;
            bitField0_ = (bitField0_ & ~0x00000002);
          } else {
            ensureSupplierIdAddIsMutable();
            supplierIdAdd_.addAll(other.supplierIdAdd_);
          }
          onChanged();
        }
        if (!other.supplierIdDel_.isEmpty()) {
          if (supplierIdDel_.isEmpty()) {
            supplierIdDel_ = other.supplierIdDel_;
            bitField0_ = (bitField0_ & ~0x00000004);
          } else {
            ensureSupplierIdDelIsMutable();
            supplierIdDel_.addAll(other.supplierIdDel_);
          }
          onChanged();
        }
        if (!other.supplierAccountAdd_.isEmpty()) {
          if (supplierAccountAdd_.isEmpty()) {
            supplierAccountAdd_ = other.supplierAccountAdd_;
            bitField0_ = (bitField0_ & ~0x00000008);
          } else {
            ensureSupplierAccountAddIsMutable();
            supplierAccountAdd_.addAll(other.supplierAccountAdd_);
          }
          onChanged();
        }
        if (!other.supplierAccountDel_.isEmpty()) {
          if (supplierAccountDel_.isEmpty()) {
            supplierAccountDel_ = other.supplierAccountDel_;
            bitField0_ = (bitField0_ & ~0x00000010);
          } else {
            ensureSupplierAccountDelIsMutable();
            supplierAccountDel_.addAll(other.supplierAccountDel_);
          }
          onChanged();
        }
        if (!other.supplierNameAdd_.isEmpty()) {
          if (supplierNameAdd_.isEmpty()) {
            supplierNameAdd_ = other.supplierNameAdd_;
            bitField0_ = (bitField0_ & ~0x00000020);
          } else {
            ensureSupplierNameAddIsMutable();
            supplierNameAdd_.addAll(other.supplierNameAdd_);
          }
          onChanged();
        }
        if (!other.supplierNameDel_.isEmpty()) {
          if (supplierNameDel_.isEmpty()) {
            supplierNameDel_ = other.supplierNameDel_;
            bitField0_ = (bitField0_ & ~0x00000040);
          } else {
            ensureSupplierNameDelIsMutable();
            supplierNameDel_.addAll(other.supplierNameDel_);
          }
          onChanged();
        }
        onChanged();
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

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

      private long plannerId_ ;
      /**
       * <pre>
       *计划员id
       * </pre>
       *
       * <code>optional int64 plannerId = 1;</code>
       */
      public long getPlannerId() {
        return plannerId_;
      }
      /**
       * <pre>
       *计划员id
       * </pre>
       *
       * <code>optional int64 plannerId = 1;</code>
       */
      public Builder setPlannerId(long value) {
        
        plannerId_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *计划员id
       * </pre>
       *
       * <code>optional int64 plannerId = 1;</code>
       */
      public Builder clearPlannerId() {
        
        plannerId_ = 0L;
        onChanged();
        return this;
      }

      private java.util.List<java.lang.Long> supplierIdAdd_ = java.util.Collections.emptyList();
      private void ensureSupplierIdAddIsMutable() {
        if (!((bitField0_ & 0x00000002) == 0x00000002)) {
          supplierIdAdd_ = new java.util.ArrayList<java.lang.Long>(supplierIdAdd_);
          bitField0_ |= 0x00000002;
         }
      }
      /**
       * <pre>
       *增加的供应商id
       * </pre>
       *
       * <code>repeated int64 supplierIdAdd = 2;</code>
       */
      public java.util.List<java.lang.Long>
          getSupplierIdAddList() {
        return java.util.Collections.unmodifiableList(supplierIdAdd_);
      }
      /**
       * <pre>
       *增加的供应商id
       * </pre>
       *
       * <code>repeated int64 supplierIdAdd = 2;</code>
       */
      public int getSupplierIdAddCount() {
        return supplierIdAdd_.size();
      }
      /**
       * <pre>
       *增加的供应商id
       * </pre>
       *
       * <code>repeated int64 supplierIdAdd = 2;</code>
       */
      public long getSupplierIdAdd(int index) {
        return supplierIdAdd_.get(index);
      }
      /**
       * <pre>
       *增加的供应商id
       * </pre>
       *
       * <code>repeated int64 supplierIdAdd = 2;</code>
       */
      public Builder setSupplierIdAdd(
          int index, long value) {
        ensureSupplierIdAddIsMutable();
        supplierIdAdd_.set(index, value);
        onChanged();
        return this;
      }
      /**
       * <pre>
       *增加的供应商id
       * </pre>
       *
       * <code>repeated int64 supplierIdAdd = 2;</code>
       */
      public Builder addSupplierIdAdd(long value) {
        ensureSupplierIdAddIsMutable();
        supplierIdAdd_.add(value);
        onChanged();
        return this;
      }
      /**
       * <pre>
       *增加的供应商id
       * </pre>
       *
       * <code>repeated int64 supplierIdAdd = 2;</code>
       */
      public Builder addAllSupplierIdAdd(
          java.lang.Iterable<? extends java.lang.Long> values) {
        ensureSupplierIdAddIsMutable();
        com.google.protobuf.AbstractMessageLite.Builder.addAll(
            values, supplierIdAdd_);
        onChanged();
        return this;
      }
      /**
       * <pre>
       *增加的供应商id
       * </pre>
       *
       * <code>repeated int64 supplierIdAdd = 2;</code>
       */
      public Builder clearSupplierIdAdd() {
        supplierIdAdd_ = java.util.Collections.emptyList();
        bitField0_ = (bitField0_ & ~0x00000002);
        onChanged();
        return this;
      }

      private java.util.List<java.lang.Long> supplierIdDel_ = java.util.Collections.emptyList();
      private void ensureSupplierIdDelIsMutable() {
        if (!((bitField0_ & 0x00000004) == 0x00000004)) {
          supplierIdDel_ = new java.util.ArrayList<java.lang.Long>(supplierIdDel_);
          bitField0_ |= 0x00000004;
         }
      }
      /**
       * <pre>
       *删除的供应商id
       * </pre>
       *
       * <code>repeated int64 supplierIdDel = 3;</code>
       */
      public java.util.List<java.lang.Long>
          getSupplierIdDelList() {
        return java.util.Collections.unmodifiableList(supplierIdDel_);
      }
      /**
       * <pre>
       *删除的供应商id
       * </pre>
       *
       * <code>repeated int64 supplierIdDel = 3;</code>
       */
      public int getSupplierIdDelCount() {
        return supplierIdDel_.size();
      }
      /**
       * <pre>
       *删除的供应商id
       * </pre>
       *
       * <code>repeated int64 supplierIdDel = 3;</code>
       */
      public long getSupplierIdDel(int index) {
        return supplierIdDel_.get(index);
      }
      /**
       * <pre>
       *删除的供应商id
       * </pre>
       *
       * <code>repeated int64 supplierIdDel = 3;</code>
       */
      public Builder setSupplierIdDel(
          int index, long value) {
        ensureSupplierIdDelIsMutable();
        supplierIdDel_.set(index, value);
        onChanged();
        return this;
      }
      /**
       * <pre>
       *删除的供应商id
       * </pre>
       *
       * <code>repeated int64 supplierIdDel = 3;</code>
       */
      public Builder addSupplierIdDel(long value) {
        ensureSupplierIdDelIsMutable();
        supplierIdDel_.add(value);
        onChanged();
        return this;
      }
      /**
       * <pre>
       *删除的供应商id
       * </pre>
       *
       * <code>repeated int64 supplierIdDel = 3;</code>
       */
      public Builder addAllSupplierIdDel(
          java.lang.Iterable<? extends java.lang.Long> values) {
        ensureSupplierIdDelIsMutable();
        com.google.protobuf.AbstractMessageLite.Builder.addAll(
            values, supplierIdDel_);
        onChanged();
        return this;
      }
      /**
       * <pre>
       *删除的供应商id
       * </pre>
       *
       * <code>repeated int64 supplierIdDel = 3;</code>
       */
      public Builder clearSupplierIdDel() {
        supplierIdDel_ = java.util.Collections.emptyList();
        bitField0_ = (bitField0_ & ~0x00000004);
        onChanged();
        return this;
      }

      private com.google.protobuf.LazyStringList supplierAccountAdd_ = com.google.protobuf.LazyStringArrayList.EMPTY;
      private void ensureSupplierAccountAddIsMutable() {
        if (!((bitField0_ & 0x00000008) == 0x00000008)) {
          supplierAccountAdd_ = new com.google.protobuf.LazyStringArrayList(supplierAccountAdd_);
          bitField0_ |= 0x00000008;
         }
      }
      /**
       * <pre>
       *增加的供应商账号
       * </pre>
       *
       * <code>repeated string supplierAccountAdd = 4;</code>
       */
      public com.google.protobuf.ProtocolStringList
          getSupplierAccountAddList() {
        return supplierAccountAdd_.getUnmodifiableView();
      }
      /**
       * <pre>
       *增加的供应商账号
       * </pre>
       *
       * <code>repeated string supplierAccountAdd = 4;</code>
       */
      public int getSupplierAccountAddCount() {
        return supplierAccountAdd_.size();
      }
      /**
       * <pre>
       *增加的供应商账号
       * </pre>
       *
       * <code>repeated string supplierAccountAdd = 4;</code>
       */
      public java.lang.String getSupplierAccountAdd(int index) {
        return supplierAccountAdd_.get(index);
      }
      /**
       * <pre>
       *增加的供应商账号
       * </pre>
       *
       * <code>repeated string supplierAccountAdd = 4;</code>
       */
      public com.google.protobuf.ByteString
          getSupplierAccountAddBytes(int index) {
        return supplierAccountAdd_.getByteString(index);
      }
      /**
       * <pre>
       *增加的供应商账号
       * </pre>
       *
       * <code>repeated string supplierAccountAdd = 4;</code>
       */
      public Builder setSupplierAccountAdd(
          int index, java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  ensureSupplierAccountAddIsMutable();
        supplierAccountAdd_.set(index, value);
        onChanged();
        return this;
      }
      /**
       * <pre>
       *增加的供应商账号
       * </pre>
       *
       * <code>repeated string supplierAccountAdd = 4;</code>
       */
      public Builder addSupplierAccountAdd(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  ensureSupplierAccountAddIsMutable();
        supplierAccountAdd_.add(value);
        onChanged();
        return this;
      }
      /**
       * <pre>
       *增加的供应商账号
       * </pre>
       *
       * <code>repeated string supplierAccountAdd = 4;</code>
       */
      public Builder addAllSupplierAccountAdd(
          java.lang.Iterable<java.lang.String> values) {
        ensureSupplierAccountAddIsMutable();
        com.google.protobuf.AbstractMessageLite.Builder.addAll(
            values, supplierAccountAdd_);
        onChanged();
        return this;
      }
      /**
       * <pre>
       *增加的供应商账号
       * </pre>
       *
       * <code>repeated string supplierAccountAdd = 4;</code>
       */
      public Builder clearSupplierAccountAdd() {
        supplierAccountAdd_ = com.google.protobuf.LazyStringArrayList.EMPTY;
        bitField0_ = (bitField0_ & ~0x00000008);
        onChanged();
        return this;
      }
      /**
       * <pre>
       *增加的供应商账号
       * </pre>
       *
       * <code>repeated string supplierAccountAdd = 4;</code>
       */
      public Builder addSupplierAccountAddBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        ensureSupplierAccountAddIsMutable();
        supplierAccountAdd_.add(value);
        onChanged();
        return this;
      }

      private com.google.protobuf.LazyStringList supplierAccountDel_ = com.google.protobuf.LazyStringArrayList.EMPTY;
      private void ensureSupplierAccountDelIsMutable() {
        if (!((bitField0_ & 0x00000010) == 0x00000010)) {
          supplierAccountDel_ = new com.google.protobuf.LazyStringArrayList(supplierAccountDel_);
          bitField0_ |= 0x00000010;
         }
      }
      /**
       * <pre>
       *删除的供应商账号
       * </pre>
       *
       * <code>repeated string supplierAccountDel = 5;</code>
       */
      public com.google.protobuf.ProtocolStringList
          getSupplierAccountDelList() {
        return supplierAccountDel_.getUnmodifiableView();
      }
      /**
       * <pre>
       *删除的供应商账号
       * </pre>
       *
       * <code>repeated string supplierAccountDel = 5;</code>
       */
      public int getSupplierAccountDelCount() {
        return supplierAccountDel_.size();
      }
      /**
       * <pre>
       *删除的供应商账号
       * </pre>
       *
       * <code>repeated string supplierAccountDel = 5;</code>
       */
      public java.lang.String getSupplierAccountDel(int index) {
        return supplierAccountDel_.get(index);
      }
      /**
       * <pre>
       *删除的供应商账号
       * </pre>
       *
       * <code>repeated string supplierAccountDel = 5;</code>
       */
      public com.google.protobuf.ByteString
          getSupplierAccountDelBytes(int index) {
        return supplierAccountDel_.getByteString(index);
      }
      /**
       * <pre>
       *删除的供应商账号
       * </pre>
       *
       * <code>repeated string supplierAccountDel = 5;</code>
       */
      public Builder setSupplierAccountDel(
          int index, java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  ensureSupplierAccountDelIsMutable();
        supplierAccountDel_.set(index, value);
        onChanged();
        return this;
      }
      /**
       * <pre>
       *删除的供应商账号
       * </pre>
       *
       * <code>repeated string supplierAccountDel = 5;</code>
       */
      public Builder addSupplierAccountDel(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  ensureSupplierAccountDelIsMutable();
        supplierAccountDel_.add(value);
        onChanged();
        return this;
      }
      /**
       * <pre>
       *删除的供应商账号
       * </pre>
       *
       * <code>repeated string supplierAccountDel = 5;</code>
       */
      public Builder addAllSupplierAccountDel(
          java.lang.Iterable<java.lang.String> values) {
        ensureSupplierAccountDelIsMutable();
        com.google.protobuf.AbstractMessageLite.Builder.addAll(
            values, supplierAccountDel_);
        onChanged();
        return this;
      }
      /**
       * <pre>
       *删除的供应商账号
       * </pre>
       *
       * <code>repeated string supplierAccountDel = 5;</code>
       */
      public Builder clearSupplierAccountDel() {
        supplierAccountDel_ = com.google.protobuf.LazyStringArrayList.EMPTY;
        bitField0_ = (bitField0_ & ~0x00000010);
        onChanged();
        return this;
      }
      /**
       * <pre>
       *删除的供应商账号
       * </pre>
       *
       * <code>repeated string supplierAccountDel = 5;</code>
       */
      public Builder addSupplierAccountDelBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        ensureSupplierAccountDelIsMutable();
        supplierAccountDel_.add(value);
        onChanged();
        return this;
      }

      private com.google.protobuf.LazyStringList supplierNameAdd_ = com.google.protobuf.LazyStringArrayList.EMPTY;
      private void ensureSupplierNameAddIsMutable() {
        if (!((bitField0_ & 0x00000020) == 0x00000020)) {
          supplierNameAdd_ = new com.google.protobuf.LazyStringArrayList(supplierNameAdd_);
          bitField0_ |= 0x00000020;
         }
      }
      /**
       * <pre>
       *增加的供应商名称
       * </pre>
       *
       * <code>repeated string supplierNameAdd = 6;</code>
       */
      public com.google.protobuf.ProtocolStringList
          getSupplierNameAddList() {
        return supplierNameAdd_.getUnmodifiableView();
      }
      /**
       * <pre>
       *增加的供应商名称
       * </pre>
       *
       * <code>repeated string supplierNameAdd = 6;</code>
       */
      public int getSupplierNameAddCount() {
        return supplierNameAdd_.size();
      }
      /**
       * <pre>
       *增加的供应商名称
       * </pre>
       *
       * <code>repeated string supplierNameAdd = 6;</code>
       */
      public java.lang.String getSupplierNameAdd(int index) {
        return supplierNameAdd_.get(index);
      }
      /**
       * <pre>
       *增加的供应商名称
       * </pre>
       *
       * <code>repeated string supplierNameAdd = 6;</code>
       */
      public com.google.protobuf.ByteString
          getSupplierNameAddBytes(int index) {
        return supplierNameAdd_.getByteString(index);
      }
      /**
       * <pre>
       *增加的供应商名称
       * </pre>
       *
       * <code>repeated string supplierNameAdd = 6;</code>
       */
      public Builder setSupplierNameAdd(
          int index, java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  ensureSupplierNameAddIsMutable();
        supplierNameAdd_.set(index, value);
        onChanged();
        return this;
      }
      /**
       * <pre>
       *增加的供应商名称
       * </pre>
       *
       * <code>repeated string supplierNameAdd = 6;</code>
       */
      public Builder addSupplierNameAdd(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  ensureSupplierNameAddIsMutable();
        supplierNameAdd_.add(value);
        onChanged();
        return this;
      }
      /**
       * <pre>
       *增加的供应商名称
       * </pre>
       *
       * <code>repeated string supplierNameAdd = 6;</code>
       */
      public Builder addAllSupplierNameAdd(
          java.lang.Iterable<java.lang.String> values) {
        ensureSupplierNameAddIsMutable();
        com.google.protobuf.AbstractMessageLite.Builder.addAll(
            values, supplierNameAdd_);
        onChanged();
        return this;
      }
      /**
       * <pre>
       *增加的供应商名称
       * </pre>
       *
       * <code>repeated string supplierNameAdd = 6;</code>
       */
      public Builder clearSupplierNameAdd() {
        supplierNameAdd_ = com.google.protobuf.LazyStringArrayList.EMPTY;
        bitField0_ = (bitField0_ & ~0x00000020);
        onChanged();
        return this;
      }
      /**
       * <pre>
       *增加的供应商名称
       * </pre>
       *
       * <code>repeated string supplierNameAdd = 6;</code>
       */
      public Builder addSupplierNameAddBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        ensureSupplierNameAddIsMutable();
        supplierNameAdd_.add(value);
        onChanged();
        return this;
      }

      private com.google.protobuf.LazyStringList supplierNameDel_ = com.google.protobuf.LazyStringArrayList.EMPTY;
      private void ensureSupplierNameDelIsMutable() {
        if (!((bitField0_ & 0x00000040) == 0x00000040)) {
          supplierNameDel_ = new com.google.protobuf.LazyStringArrayList(supplierNameDel_);
          bitField0_ |= 0x00000040;
         }
      }
      /**
       * <pre>
       *删除的供应商名称
       * </pre>
       *
       * <code>repeated string supplierNameDel = 7;</code>
       */
      public com.google.protobuf.ProtocolStringList
          getSupplierNameDelList() {
        return supplierNameDel_.getUnmodifiableView();
      }
      /**
       * <pre>
       *删除的供应商名称
       * </pre>
       *
       * <code>repeated string supplierNameDel = 7;</code>
       */
      public int getSupplierNameDelCount() {
        return supplierNameDel_.size();
      }
      /**
       * <pre>
       *删除的供应商名称
       * </pre>
       *
       * <code>repeated string supplierNameDel = 7;</code>
       */
      public java.lang.String getSupplierNameDel(int index) {
        return supplierNameDel_.get(index);
      }
      /**
       * <pre>
       *删除的供应商名称
       * </pre>
       *
       * <code>repeated string supplierNameDel = 7;</code>
       */
      public com.google.protobuf.ByteString
          getSupplierNameDelBytes(int index) {
        return supplierNameDel_.getByteString(index);
      }
      /**
       * <pre>
       *删除的供应商名称
       * </pre>
       *
       * <code>repeated string supplierNameDel = 7;</code>
       */
      public Builder setSupplierNameDel(
          int index, java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  ensureSupplierNameDelIsMutable();
        supplierNameDel_.set(index, value);
        onChanged();
        return this;
      }
      /**
       * <pre>
       *删除的供应商名称
       * </pre>
       *
       * <code>repeated string supplierNameDel = 7;</code>
       */
      public Builder addSupplierNameDel(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  ensureSupplierNameDelIsMutable();
        supplierNameDel_.add(value);
        onChanged();
        return this;
      }
      /**
       * <pre>
       *删除的供应商名称
       * </pre>
       *
       * <code>repeated string supplierNameDel = 7;</code>
       */
      public Builder addAllSupplierNameDel(
          java.lang.Iterable<java.lang.String> values) {
        ensureSupplierNameDelIsMutable();
        com.google.protobuf.AbstractMessageLite.Builder.addAll(
            values, supplierNameDel_);
        onChanged();
        return this;
      }
      /**
       * <pre>
       *删除的供应商名称
       * </pre>
       *
       * <code>repeated string supplierNameDel = 7;</code>
       */
      public Builder clearSupplierNameDel() {
        supplierNameDel_ = com.google.protobuf.LazyStringArrayList.EMPTY;
        bitField0_ = (bitField0_ & ~0x00000040);
        onChanged();
        return this;
      }
      /**
       * <pre>
       *删除的供应商名称
       * </pre>
       *
       * <code>repeated string supplierNameDel = 7;</code>
       */
      public Builder addSupplierNameDelBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        ensureSupplierNameDelIsMutable();
        supplierNameDel_.add(value);
        onChanged();
        return this;
      }
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return this;
      }

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


      // @@protoc_insertion_point(builder_scope:smsc.RequestSetSupplier)
    }

    // @@protoc_insertion_point(class_scope:smsc.RequestSetSupplier)
    private static final smsc.Api.RequestSetSupplier DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new smsc.Api.RequestSetSupplier();
    }

    public static smsc.Api.RequestSetSupplier getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

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

    public smsc.Api.RequestSetSupplier getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface RequestCreateOrderOrBuilder extends
      // @@protoc_insertion_point(interface_extends:smsc.RequestCreateOrder)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <pre>
     *订单id
     * </pre>
     *
     * <code>optional string orderId = 1;</code>
     */
    java.lang.String getOrderId();
    /**
     * <pre>
     *订单id
     * </pre>
     *
     * <code>optional string orderId = 1;</code>
     */
    com.google.protobuf.ByteString
        getOrderIdBytes();

    /**
     * <pre>
     *供应商
     * </pre>
     *
     * <code>optional int64 supplier = 2;</code>
     */
    long getSupplier();

    /**
     * <pre>
     *零件号
     * </pre>
     *
     * <code>optional string partId = 3;</code>
     */
    java.lang.String getPartId();
    /**
     * <pre>
     *零件号
     * </pre>
     *
     * <code>optional string partId = 3;</code>
     */
    com.google.protobuf.ByteString
        getPartIdBytes();

    /**
     * <pre>
     *箱号
     * </pre>
     *
     * <code>optional string boxId = 4;</code>
     */
    java.lang.String getBoxId();
    /**
     * <pre>
     *箱号
     * </pre>
     *
     * <code>optional string boxId = 4;</code>
     */
    com.google.protobuf.ByteString
        getBoxIdBytes();

    /**
     * <pre>
     *箱中零件数量
     * </pre>
     *
     * <code>optional int64 partNum = 5;</code>
     */
    long getPartNum();

    /**
     * <pre>
     *订单需求日期
     * </pre>
     *
     * <code>optional string requiredDate = 6;</code>
     */
    java.lang.String getRequiredDate();
    /**
     * <pre>
     *订单需求日期
     * </pre>
     *
     * <code>optional string requiredDate = 6;</code>
     */
    com.google.protobuf.ByteString
        getRequiredDateBytes();

    /**
     * <pre>
     *计划员账号
     * </pre>
     *
     * <code>optional string plannerAccount = 7;</code>
     */
    java.lang.String getPlannerAccount();
    /**
     * <pre>
     *计划员账号
     * </pre>
     *
     * <code>optional string plannerAccount = 7;</code>
     */
    com.google.protobuf.ByteString
        getPlannerAccountBytes();

    /**
     * <pre>
     *计划员名称
     * </pre>
     *
     * <code>optional string plannerName = 8;</code>
     */
    java.lang.String getPlannerName();
    /**
     * <pre>
     *计划员名称
     * </pre>
     *
     * <code>optional string plannerName = 8;</code>
     */
    com.google.protobuf.ByteString
        getPlannerNameBytes();

    /**
     * <pre>
     *供货商账号
     * </pre>
     *
     * <code>optional string supplierAccount = 9;</code>
     */
    java.lang.String getSupplierAccount();
    /**
     * <pre>
     *供货商账号
     * </pre>
     *
     * <code>optional string supplierAccount = 9;</code>
     */
    com.google.protobuf.ByteString
        getSupplierAccountBytes();

    /**
     * <pre>
     *供货商名称
     * </pre>
     *
     * <code>optional string supplierName = 10;</code>
     */
    java.lang.String getSupplierName();
    /**
     * <pre>
     *供货商名称
     * </pre>
     *
     * <code>optional string supplierName = 10;</code>
     */
    com.google.protobuf.ByteString
        getSupplierNameBytes();
  }
  /**
   * Protobuf type {@code smsc.RequestCreateOrder}
   */
  public  static final class RequestCreateOrder extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:smsc.RequestCreateOrder)
      RequestCreateOrderOrBuilder {
    // Use RequestCreateOrder.newBuilder() to construct.
    private RequestCreateOrder(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private RequestCreateOrder() {
      orderId_ = "";
      supplier_ = 0L;
      partId_ = "";
      boxId_ = "";
      partNum_ = 0L;
      requiredDate_ = "";
      plannerAccount_ = "";
      plannerName_ = "";
      supplierAccount_ = "";
      supplierName_ = "";
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return com.google.protobuf.UnknownFieldSet.getDefaultInstance();
    }
    private RequestCreateOrder(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      int mutable_bitField0_ = 0;
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!input.skipField(tag)) {
                done = true;
              }
              break;
            }
            case 10: {
              java.lang.String s = input.readStringRequireUtf8();

              orderId_ = s;
              break;
            }
            case 16: {

              supplier_ = input.readInt64();
              break;
            }
            case 26: {
              java.lang.String s = input.readStringRequireUtf8();

              partId_ = s;
              break;
            }
            case 34: {
              java.lang.String s = input.readStringRequireUtf8();

              boxId_ = s;
              break;
            }
            case 40: {

              partNum_ = input.readInt64();
              break;
            }
            case 50: {
              java.lang.String s = input.readStringRequireUtf8();

              requiredDate_ = s;
              break;
            }
            case 58: {
              java.lang.String s = input.readStringRequireUtf8();

              plannerAccount_ = s;
              break;
            }
            case 66: {
              java.lang.String s = input.readStringRequireUtf8();

              plannerName_ = s;
              break;
            }
            case 74: {
              java.lang.String s = input.readStringRequireUtf8();

              supplierAccount_ = s;
              break;
            }
            case 82: {
              java.lang.String s = input.readStringRequireUtf8();

              supplierName_ = s;
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return smsc.Api.internal_static_smsc_RequestCreateOrder_descriptor;
    }

    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return smsc.Api.internal_static_smsc_RequestCreateOrder_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              smsc.Api.RequestCreateOrder.class, smsc.Api.RequestCreateOrder.Builder.class);
    }

    public static final int ORDERID_FIELD_NUMBER = 1;
    private volatile java.lang.Object orderId_;
    /**
     * <pre>
     *订单id
     * </pre>
     *
     * <code>optional string orderId = 1;</code>
     */
    public java.lang.String getOrderId() {
      java.lang.Object ref = orderId_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        orderId_ = s;
        return s;
      }
    }
    /**
     * <pre>
     *订单id
     * </pre>
     *
     * <code>optional string orderId = 1;</code>
     */
    public com.google.protobuf.ByteString
        getOrderIdBytes() {
      java.lang.Object ref = orderId_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        orderId_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int SUPPLIER_FIELD_NUMBER = 2;
    private long supplier_;
    /**
     * <pre>
     *供应商
     * </pre>
     *
     * <code>optional int64 supplier = 2;</code>
     */
    public long getSupplier() {
      return supplier_;
    }

    public static final int PARTID_FIELD_NUMBER = 3;
    private volatile java.lang.Object partId_;
    /**
     * <pre>
     *零件号
     * </pre>
     *
     * <code>optional string partId = 3;</code>
     */
    public java.lang.String getPartId() {
      java.lang.Object ref = partId_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        partId_ = s;
        return s;
      }
    }
    /**
     * <pre>
     *零件号
     * </pre>
     *
     * <code>optional string partId = 3;</code>
     */
    public com.google.protobuf.ByteString
        getPartIdBytes() {
      java.lang.Object ref = partId_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        partId_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int BOXID_FIELD_NUMBER = 4;
    private volatile java.lang.Object boxId_;
    /**
     * <pre>
     *箱号
     * </pre>
     *
     * <code>optional string boxId = 4;</code>
     */
    public java.lang.String getBoxId() {
      java.lang.Object ref = boxId_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        boxId_ = s;
        return s;
      }
    }
    /**
     * <pre>
     *箱号
     * </pre>
     *
     * <code>optional string boxId = 4;</code>
     */
    public com.google.protobuf.ByteString
        getBoxIdBytes() {
      java.lang.Object ref = boxId_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        boxId_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int PARTNUM_FIELD_NUMBER = 5;
    private long partNum_;
    /**
     * <pre>
     *箱中零件数量
     * </pre>
     *
     * <code>optional int64 partNum = 5;</code>
     */
    public long getPartNum() {
      return partNum_;
    }

    public static final int REQUIREDDATE_FIELD_NUMBER = 6;
    private volatile java.lang.Object requiredDate_;
    /**
     * <pre>
     *订单需求日期
     * </pre>
     *
     * <code>optional string requiredDate = 6;</code>
     */
    public java.lang.String getRequiredDate() {
      java.lang.Object ref = requiredDate_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        requiredDate_ = s;
        return s;
      }
    }
    /**
     * <pre>
     *订单需求日期
     * </pre>
     *
     * <code>optional string requiredDate = 6;</code>
     */
    public com.google.protobuf.ByteString
        getRequiredDateBytes() {
      java.lang.Object ref = requiredDate_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        requiredDate_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int PLANNERACCOUNT_FIELD_NUMBER = 7;
    private volatile java.lang.Object plannerAccount_;
    /**
     * <pre>
     *计划员账号
     * </pre>
     *
     * <code>optional string plannerAccount = 7;</code>
     */
    public java.lang.String getPlannerAccount() {
      java.lang.Object ref = plannerAccount_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        plannerAccount_ = s;
        return s;
      }
    }
    /**
     * <pre>
     *计划员账号
     * </pre>
     *
     * <code>optional string plannerAccount = 7;</code>
     */
    public com.google.protobuf.ByteString
        getPlannerAccountBytes() {
      java.lang.Object ref = plannerAccount_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        plannerAccount_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int PLANNERNAME_FIELD_NUMBER = 8;
    private volatile java.lang.Object plannerName_;
    /**
     * <pre>
     *计划员名称
     * </pre>
     *
     * <code>optional string plannerName = 8;</code>
     */
    public java.lang.String getPlannerName() {
      java.lang.Object ref = plannerName_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        plannerName_ = s;
        return s;
      }
    }
    /**
     * <pre>
     *计划员名称
     * </pre>
     *
     * <code>optional string plannerName = 8;</code>
     */
    public com.google.protobuf.ByteString
        getPlannerNameBytes() {
      java.lang.Object ref = plannerName_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        plannerName_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int SUPPLIERACCOUNT_FIELD_NUMBER = 9;
    private volatile java.lang.Object supplierAccount_;
    /**
     * <pre>
     *供货商账号
     * </pre>
     *
     * <code>optional string supplierAccount = 9;</code>
     */
    public java.lang.String getSupplierAccount() {
      java.lang.Object ref = supplierAccount_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        supplierAccount_ = s;
        return s;
      }
    }
    /**
     * <pre>
     *供货商账号
     * </pre>
     *
     * <code>optional string supplierAccount = 9;</code>
     */
    public com.google.protobuf.ByteString
        getSupplierAccountBytes() {
      java.lang.Object ref = supplierAccount_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        supplierAccount_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int SUPPLIERNAME_FIELD_NUMBER = 10;
    private volatile java.lang.Object supplierName_;
    /**
     * <pre>
     *供货商名称
     * </pre>
     *
     * <code>optional string supplierName = 10;</code>
     */
    public java.lang.String getSupplierName() {
      java.lang.Object ref = supplierName_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        supplierName_ = s;
        return s;
      }
    }
    /**
     * <pre>
     *供货商名称
     * </pre>
     *
     * <code>optional string supplierName = 10;</code>
     */
    public com.google.protobuf.ByteString
        getSupplierNameBytes() {
      java.lang.Object ref = supplierName_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        supplierName_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

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

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (!getOrderIdBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 1, orderId_);
      }
      if (supplier_ != 0L) {
        output.writeInt64(2, supplier_);
      }
      if (!getPartIdBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 3, partId_);
      }
      if (!getBoxIdBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 4, boxId_);
      }
      if (partNum_ != 0L) {
        output.writeInt64(5, partNum_);
      }
      if (!getRequiredDateBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 6, requiredDate_);
      }
      if (!getPlannerAccountBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 7, plannerAccount_);
      }
      if (!getPlannerNameBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 8, plannerName_);
      }
      if (!getSupplierAccountBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 9, supplierAccount_);
      }
      if (!getSupplierNameBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 10, supplierName_);
      }
    }

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

      size = 0;
      if (!getOrderIdBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, orderId_);
      }
      if (supplier_ != 0L) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt64Size(2, supplier_);
      }
      if (!getPartIdBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3, partId_);
      }
      if (!getBoxIdBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(4, boxId_);
      }
      if (partNum_ != 0L) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt64Size(5, partNum_);
      }
      if (!getRequiredDateBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(6, requiredDate_);
      }
      if (!getPlannerAccountBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(7, plannerAccount_);
      }
      if (!getPlannerNameBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(8, plannerName_);
      }
      if (!getSupplierAccountBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(9, supplierAccount_);
      }
      if (!getSupplierNameBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(10, supplierName_);
      }
      memoizedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof smsc.Api.RequestCreateOrder)) {
        return super.equals(obj);
      }
      smsc.Api.RequestCreateOrder other = (smsc.Api.RequestCreateOrder) obj;

      boolean result = true;
      result = result && getOrderId()
          .equals(other.getOrderId());
      result = result && (getSupplier()
          == other.getSupplier());
      result = result && getPartId()
          .equals(other.getPartId());
      result = result && getBoxId()
          .equals(other.getBoxId());
      result = result && (getPartNum()
          == other.getPartNum());
      result = result && getRequiredDate()
          .equals(other.getRequiredDate());
      result = result && getPlannerAccount()
          .equals(other.getPlannerAccount());
      result = result && getPlannerName()
          .equals(other.getPlannerName());
      result = result && getSupplierAccount()
          .equals(other.getSupplierAccount());
      result = result && getSupplierName()
          .equals(other.getSupplierName());
      return result;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptorForType().hashCode();
      hash = (37 * hash) + ORDERID_FIELD_NUMBER;
      hash = (53 * hash) + getOrderId().hashCode();
      hash = (37 * hash) + SUPPLIER_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
          getSupplier());
      hash = (37 * hash) + PARTID_FIELD_NUMBER;
      hash = (53 * hash) + getPartId().hashCode();
      hash = (37 * hash) + BOXID_FIELD_NUMBER;
      hash = (53 * hash) + getBoxId().hashCode();
      hash = (37 * hash) + PARTNUM_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
          getPartNum());
      hash = (37 * hash) + REQUIREDDATE_FIELD_NUMBER;
      hash = (53 * hash) + getRequiredDate().hashCode();
      hash = (37 * hash) + PLANNERACCOUNT_FIELD_NUMBER;
      hash = (53 * hash) + getPlannerAccount().hashCode();
      hash = (37 * hash) + PLANNERNAME_FIELD_NUMBER;
      hash = (53 * hash) + getPlannerName().hashCode();
      hash = (37 * hash) + SUPPLIERACCOUNT_FIELD_NUMBER;
      hash = (53 * hash) + getSupplierAccount().hashCode();
      hash = (37 * hash) + SUPPLIERNAME_FIELD_NUMBER;
      hash = (53 * hash) + getSupplierName().hashCode();
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

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

    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(smsc.Api.RequestCreateOrder prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code smsc.RequestCreateOrder}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:smsc.RequestCreateOrder)
        smsc.Api.RequestCreateOrderOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return smsc.Api.internal_static_smsc_RequestCreateOrder_descriptor;
      }

      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return smsc.Api.internal_static_smsc_RequestCreateOrder_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                smsc.Api.RequestCreateOrder.class, smsc.Api.RequestCreateOrder.Builder.class);
      }

      // Construct using smsc.Api.RequestCreateOrder.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
        }
      }
      public Builder clear() {
        super.clear();
        orderId_ = "";

        supplier_ = 0L;

        partId_ = "";

        boxId_ = "";

        partNum_ = 0L;

        requiredDate_ = "";

        plannerAccount_ = "";

        plannerName_ = "";

        supplierAccount_ = "";

        supplierName_ = "";

        return this;
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return smsc.Api.internal_static_smsc_RequestCreateOrder_descriptor;
      }

      public smsc.Api.RequestCreateOrder getDefaultInstanceForType() {
        return smsc.Api.RequestCreateOrder.getDefaultInstance();
      }

      public smsc.Api.RequestCreateOrder build() {
        smsc.Api.RequestCreateOrder result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public smsc.Api.RequestCreateOrder buildPartial() {
        smsc.Api.RequestCreateOrder result = new smsc.Api.RequestCreateOrder(this);
        result.orderId_ = orderId_;
        result.supplier_ = supplier_;
        result.partId_ = partId_;
        result.boxId_ = boxId_;
        result.partNum_ = partNum_;
        result.requiredDate_ = requiredDate_;
        result.plannerAccount_ = plannerAccount_;
        result.plannerName_ = plannerName_;
        result.supplierAccount_ = supplierAccount_;
        result.supplierName_ = supplierName_;
        onBuilt();
        return result;
      }

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

      public Builder mergeFrom(smsc.Api.RequestCreateOrder other) {
        if (other == smsc.Api.RequestCreateOrder.getDefaultInstance()) return this;
        if (!other.getOrderId().isEmpty()) {
          orderId_ = other.orderId_;
          onChanged();
        }
        if (other.getSupplier() != 0L) {
          setSupplier(other.getSupplier());
        }
        if (!other.getPartId().isEmpty()) {
          partId_ = other.partId_;
          onChanged();
        }
        if (!other.getBoxId().isEmpty()) {
          boxId_ = other.boxId_;
          onChanged();
        }
        if (other.getPartNum() != 0L) {
          setPartNum(other.getPartNum());
        }
        if (!other.getRequiredDate().isEmpty()) {
          requiredDate_ = other.requiredDate_;
          onChanged();
        }
        if (!other.getPlannerAccount().isEmpty()) {
          plannerAccount_ = other.plannerAccount_;
          onChanged();
        }
        if (!other.getPlannerName().isEmpty()) {
          plannerName_ = other.plannerName_;
          onChanged();
        }
        if (!other.getSupplierAccount().isEmpty()) {
          supplierAccount_ = other.supplierAccount_;
          onChanged();
        }
        if (!other.getSupplierName().isEmpty()) {
          supplierName_ = other.supplierName_;
          onChanged();
        }
        onChanged();
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        smsc.Api.RequestCreateOrder parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (smsc.Api.RequestCreateOrder) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }

      private java.lang.Object orderId_ = "";
      /**
       * <pre>
       *订单id
       * </pre>
       *
       * <code>optional string orderId = 1;</code>
       */
      public java.lang.String getOrderId() {
        java.lang.Object ref = orderId_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          orderId_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <pre>
       *订单id
       * </pre>
       *
       * <code>optional string orderId = 1;</code>
       */
      public com.google.protobuf.ByteString
          getOrderIdBytes() {
        java.lang.Object ref = orderId_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          orderId_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <pre>
       *订单id
       * </pre>
       *
       * <code>optional string orderId = 1;</code>
       */
      public Builder setOrderId(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        orderId_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *订单id
       * </pre>
       *
       * <code>optional string orderId = 1;</code>
       */
      public Builder clearOrderId() {
        
        orderId_ = getDefaultInstance().getOrderId();
        onChanged();
        return this;
      }
      /**
       * <pre>
       *订单id
       * </pre>
       *
       * <code>optional string orderId = 1;</code>
       */
      public Builder setOrderIdBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        orderId_ = value;
        onChanged();
        return this;
      }

      private long supplier_ ;
      /**
       * <pre>
       *供应商
       * </pre>
       *
       * <code>optional int64 supplier = 2;</code>
       */
      public long getSupplier() {
        return supplier_;
      }
      /**
       * <pre>
       *供应商
       * </pre>
       *
       * <code>optional int64 supplier = 2;</code>
       */
      public Builder setSupplier(long value) {
        
        supplier_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *供应商
       * </pre>
       *
       * <code>optional int64 supplier = 2;</code>
       */
      public Builder clearSupplier() {
        
        supplier_ = 0L;
        onChanged();
        return this;
      }

      private java.lang.Object partId_ = "";
      /**
       * <pre>
       *零件号
       * </pre>
       *
       * <code>optional string partId = 3;</code>
       */
      public java.lang.String getPartId() {
        java.lang.Object ref = partId_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          partId_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <pre>
       *零件号
       * </pre>
       *
       * <code>optional string partId = 3;</code>
       */
      public com.google.protobuf.ByteString
          getPartIdBytes() {
        java.lang.Object ref = partId_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          partId_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <pre>
       *零件号
       * </pre>
       *
       * <code>optional string partId = 3;</code>
       */
      public Builder setPartId(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        partId_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *零件号
       * </pre>
       *
       * <code>optional string partId = 3;</code>
       */
      public Builder clearPartId() {
        
        partId_ = getDefaultInstance().getPartId();
        onChanged();
        return this;
      }
      /**
       * <pre>
       *零件号
       * </pre>
       *
       * <code>optional string partId = 3;</code>
       */
      public Builder setPartIdBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        partId_ = value;
        onChanged();
        return this;
      }

      private java.lang.Object boxId_ = "";
      /**
       * <pre>
       *箱号
       * </pre>
       *
       * <code>optional string boxId = 4;</code>
       */
      public java.lang.String getBoxId() {
        java.lang.Object ref = boxId_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          boxId_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <pre>
       *箱号
       * </pre>
       *
       * <code>optional string boxId = 4;</code>
       */
      public com.google.protobuf.ByteString
          getBoxIdBytes() {
        java.lang.Object ref = boxId_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          boxId_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <pre>
       *箱号
       * </pre>
       *
       * <code>optional string boxId = 4;</code>
       */
      public Builder setBoxId(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        boxId_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *箱号
       * </pre>
       *
       * <code>optional string boxId = 4;</code>
       */
      public Builder clearBoxId() {
        
        boxId_ = getDefaultInstance().getBoxId();
        onChanged();
        return this;
      }
      /**
       * <pre>
       *箱号
       * </pre>
       *
       * <code>optional string boxId = 4;</code>
       */
      public Builder setBoxIdBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        boxId_ = value;
        onChanged();
        return this;
      }

      private long partNum_ ;
      /**
       * <pre>
       *箱中零件数量
       * </pre>
       *
       * <code>optional int64 partNum = 5;</code>
       */
      public long getPartNum() {
        return partNum_;
      }
      /**
       * <pre>
       *箱中零件数量
       * </pre>
       *
       * <code>optional int64 partNum = 5;</code>
       */
      public Builder setPartNum(long value) {
        
        partNum_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *箱中零件数量
       * </pre>
       *
       * <code>optional int64 partNum = 5;</code>
       */
      public Builder clearPartNum() {
        
        partNum_ = 0L;
        onChanged();
        return this;
      }

      private java.lang.Object requiredDate_ = "";
      /**
       * <pre>
       *订单需求日期
       * </pre>
       *
       * <code>optional string requiredDate = 6;</code>
       */
      public java.lang.String getRequiredDate() {
        java.lang.Object ref = requiredDate_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          requiredDate_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <pre>
       *订单需求日期
       * </pre>
       *
       * <code>optional string requiredDate = 6;</code>
       */
      public com.google.protobuf.ByteString
          getRequiredDateBytes() {
        java.lang.Object ref = requiredDate_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          requiredDate_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <pre>
       *订单需求日期
       * </pre>
       *
       * <code>optional string requiredDate = 6;</code>
       */
      public Builder setRequiredDate(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        requiredDate_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *订单需求日期
       * </pre>
       *
       * <code>optional string requiredDate = 6;</code>
       */
      public Builder clearRequiredDate() {
        
        requiredDate_ = getDefaultInstance().getRequiredDate();
        onChanged();
        return this;
      }
      /**
       * <pre>
       *订单需求日期
       * </pre>
       *
       * <code>optional string requiredDate = 6;</code>
       */
      public Builder setRequiredDateBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        requiredDate_ = value;
        onChanged();
        return this;
      }

      private java.lang.Object plannerAccount_ = "";
      /**
       * <pre>
       *计划员账号
       * </pre>
       *
       * <code>optional string plannerAccount = 7;</code>
       */
      public java.lang.String getPlannerAccount() {
        java.lang.Object ref = plannerAccount_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          plannerAccount_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <pre>
       *计划员账号
       * </pre>
       *
       * <code>optional string plannerAccount = 7;</code>
       */
      public com.google.protobuf.ByteString
          getPlannerAccountBytes() {
        java.lang.Object ref = plannerAccount_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          plannerAccount_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <pre>
       *计划员账号
       * </pre>
       *
       * <code>optional string plannerAccount = 7;</code>
       */
      public Builder setPlannerAccount(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        plannerAccount_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *计划员账号
       * </pre>
       *
       * <code>optional string plannerAccount = 7;</code>
       */
      public Builder clearPlannerAccount() {
        
        plannerAccount_ = getDefaultInstance().getPlannerAccount();
        onChanged();
        return this;
      }
      /**
       * <pre>
       *计划员账号
       * </pre>
       *
       * <code>optional string plannerAccount = 7;</code>
       */
      public Builder setPlannerAccountBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        plannerAccount_ = value;
        onChanged();
        return this;
      }

      private java.lang.Object plannerName_ = "";
      /**
       * <pre>
       *计划员名称
       * </pre>
       *
       * <code>optional string plannerName = 8;</code>
       */
      public java.lang.String getPlannerName() {
        java.lang.Object ref = plannerName_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          plannerName_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <pre>
       *计划员名称
       * </pre>
       *
       * <code>optional string plannerName = 8;</code>
       */
      public com.google.protobuf.ByteString
          getPlannerNameBytes() {
        java.lang.Object ref = plannerName_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          plannerName_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <pre>
       *计划员名称
       * </pre>
       *
       * <code>optional string plannerName = 8;</code>
       */
      public Builder setPlannerName(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        plannerName_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *计划员名称
       * </pre>
       *
       * <code>optional string plannerName = 8;</code>
       */
      public Builder clearPlannerName() {
        
        plannerName_ = getDefaultInstance().getPlannerName();
        onChanged();
        return this;
      }
      /**
       * <pre>
       *计划员名称
       * </pre>
       *
       * <code>optional string plannerName = 8;</code>
       */
      public Builder setPlannerNameBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        plannerName_ = value;
        onChanged();
        return this;
      }

      private java.lang.Object supplierAccount_ = "";
      /**
       * <pre>
       *供货商账号
       * </pre>
       *
       * <code>optional string supplierAccount = 9;</code>
       */
      public java.lang.String getSupplierAccount() {
        java.lang.Object ref = supplierAccount_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          supplierAccount_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <pre>
       *供货商账号
       * </pre>
       *
       * <code>optional string supplierAccount = 9;</code>
       */
      public com.google.protobuf.ByteString
          getSupplierAccountBytes() {
        java.lang.Object ref = supplierAccount_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          supplierAccount_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <pre>
       *供货商账号
       * </pre>
       *
       * <code>optional string supplierAccount = 9;</code>
       */
      public Builder setSupplierAccount(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        supplierAccount_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *供货商账号
       * </pre>
       *
       * <code>optional string supplierAccount = 9;</code>
       */
      public Builder clearSupplierAccount() {
        
        supplierAccount_ = getDefaultInstance().getSupplierAccount();
        onChanged();
        return this;
      }
      /**
       * <pre>
       *供货商账号
       * </pre>
       *
       * <code>optional string supplierAccount = 9;</code>
       */
      public Builder setSupplierAccountBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        supplierAccount_ = value;
        onChanged();
        return this;
      }

      private java.lang.Object supplierName_ = "";
      /**
       * <pre>
       *供货商名称
       * </pre>
       *
       * <code>optional string supplierName = 10;</code>
       */
      public java.lang.String getSupplierName() {
        java.lang.Object ref = supplierName_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          supplierName_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <pre>
       *供货商名称
       * </pre>
       *
       * <code>optional string supplierName = 10;</code>
       */
      public com.google.protobuf.ByteString
          getSupplierNameBytes() {
        java.lang.Object ref = supplierName_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          supplierName_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <pre>
       *供货商名称
       * </pre>
       *
       * <code>optional string supplierName = 10;</code>
       */
      public Builder setSupplierName(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        supplierName_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *供货商名称
       * </pre>
       *
       * <code>optional string supplierName = 10;</code>
       */
      public Builder clearSupplierName() {
        
        supplierName_ = getDefaultInstance().getSupplierName();
        onChanged();
        return this;
      }
      /**
       * <pre>
       *供货商名称
       * </pre>
       *
       * <code>optional string supplierName = 10;</code>
       */
      public Builder setSupplierNameBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        supplierName_ = value;
        onChanged();
        return this;
      }
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return this;
      }

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


      // @@protoc_insertion_point(builder_scope:smsc.RequestCreateOrder)
    }

    // @@protoc_insertion_point(class_scope:smsc.RequestCreateOrder)
    private static final smsc.Api.RequestCreateOrder DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new smsc.Api.RequestCreateOrder();
    }

    public static smsc.Api.RequestCreateOrder getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

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

    public smsc.Api.RequestCreateOrder getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface RequestDeliveryOrBuilder extends
      // @@protoc_insertion_point(interface_extends:smsc.RequestDelivery)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <pre>
     *订单id
     * </pre>
     *
     * <code>optional string orderId = 1;</code>
     */
    java.lang.String getOrderId();
    /**
     * <pre>
     *订单id
     * </pre>
     *
     * <code>optional string orderId = 1;</code>
     */
    com.google.protobuf.ByteString
        getOrderIdBytes();

    /**
     * <pre>
     *承运商
     * </pre>
     *
     * <code>optional int64 carrier = 2;</code>
     */
    long getCarrier();

    /**
     * <pre>
     *零件号
     * </pre>
     *
     * <code>optional string partId = 3;</code>
     */
    java.lang.String getPartId();
    /**
     * <pre>
     *零件号
     * </pre>
     *
     * <code>optional string partId = 3;</code>
     */
    com.google.protobuf.ByteString
        getPartIdBytes();

    /**
     * <pre>
     *箱号
     * </pre>
     *
     * <code>optional string boxId = 4;</code>
     */
    java.lang.String getBoxId();
    /**
     * <pre>
     *箱号
     * </pre>
     *
     * <code>optional string boxId = 4;</code>
     */
    com.google.protobuf.ByteString
        getBoxIdBytes();

    /**
     * <pre>
     *箱中零件数量
     * </pre>
     *
     * <code>optional int64 partNum = 5;</code>
     */
    long getPartNum();

    /**
     * <pre>
     *订单发货日期
     * </pre>
     *
     * <code>optional string deliveryDate = 6;</code>
     */
    java.lang.String getDeliveryDate();
    /**
     * <pre>
     *订单发货日期
     * </pre>
     *
     * <code>optional string deliveryDate = 6;</code>
     */
    com.google.protobuf.ByteString
        getDeliveryDateBytes();

    /**
     * <pre>
     *供货商账号
     * </pre>
     *
     * <code>optional string supplierAccount = 7;</code>
     */
    java.lang.String getSupplierAccount();
    /**
     * <pre>
     *供货商账号
     * </pre>
     *
     * <code>optional string supplierAccount = 7;</code>
     */
    com.google.protobuf.ByteString
        getSupplierAccountBytes();

    /**
     * <pre>
     *供货商名称
     * </pre>
     *
     * <code>optional string supplierName = 8;</code>
     */
    java.lang.String getSupplierName();
    /**
     * <pre>
     *供货商名称
     * </pre>
     *
     * <code>optional string supplierName = 8;</code>
     */
    com.google.protobuf.ByteString
        getSupplierNameBytes();

    /**
     * <pre>
     *承运商账号
     * </pre>
     *
     * <code>optional string carrierAccount = 9;</code>
     */
    java.lang.String getCarrierAccount();
    /**
     * <pre>
     *承运商账号
     * </pre>
     *
     * <code>optional string carrierAccount = 9;</code>
     */
    com.google.protobuf.ByteString
        getCarrierAccountBytes();

    /**
     * <pre>
     *承运商名称
     * </pre>
     *
     * <code>optional string carrierName = 10;</code>
     */
    java.lang.String getCarrierName();
    /**
     * <pre>
     *承运商名称
     * </pre>
     *
     * <code>optional string carrierName = 10;</code>
     */
    com.google.protobuf.ByteString
        getCarrierNameBytes();
  }
  /**
   * Protobuf type {@code smsc.RequestDelivery}
   */
  public  static final class RequestDelivery extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:smsc.RequestDelivery)
      RequestDeliveryOrBuilder {
    // Use RequestDelivery.newBuilder() to construct.
    private RequestDelivery(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private RequestDelivery() {
      orderId_ = "";
      carrier_ = 0L;
      partId_ = "";
      boxId_ = "";
      partNum_ = 0L;
      deliveryDate_ = "";
      supplierAccount_ = "";
      supplierName_ = "";
      carrierAccount_ = "";
      carrierName_ = "";
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return com.google.protobuf.UnknownFieldSet.getDefaultInstance();
    }
    private RequestDelivery(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      int mutable_bitField0_ = 0;
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!input.skipField(tag)) {
                done = true;
              }
              break;
            }
            case 10: {
              java.lang.String s = input.readStringRequireUtf8();

              orderId_ = s;
              break;
            }
            case 16: {

              carrier_ = input.readInt64();
              break;
            }
            case 26: {
              java.lang.String s = input.readStringRequireUtf8();

              partId_ = s;
              break;
            }
            case 34: {
              java.lang.String s = input.readStringRequireUtf8();

              boxId_ = s;
              break;
            }
            case 40: {

              partNum_ = input.readInt64();
              break;
            }
            case 50: {
              java.lang.String s = input.readStringRequireUtf8();

              deliveryDate_ = s;
              break;
            }
            case 58: {
              java.lang.String s = input.readStringRequireUtf8();

              supplierAccount_ = s;
              break;
            }
            case 66: {
              java.lang.String s = input.readStringRequireUtf8();

              supplierName_ = s;
              break;
            }
            case 74: {
              java.lang.String s = input.readStringRequireUtf8();

              carrierAccount_ = s;
              break;
            }
            case 82: {
              java.lang.String s = input.readStringRequireUtf8();

              carrierName_ = s;
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return smsc.Api.internal_static_smsc_RequestDelivery_descriptor;
    }

    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return smsc.Api.internal_static_smsc_RequestDelivery_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              smsc.Api.RequestDelivery.class, smsc.Api.RequestDelivery.Builder.class);
    }

    public static final int ORDERID_FIELD_NUMBER = 1;
    private volatile java.lang.Object orderId_;
    /**
     * <pre>
     *订单id
     * </pre>
     *
     * <code>optional string orderId = 1;</code>
     */
    public java.lang.String getOrderId() {
      java.lang.Object ref = orderId_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        orderId_ = s;
        return s;
      }
    }
    /**
     * <pre>
     *订单id
     * </pre>
     *
     * <code>optional string orderId = 1;</code>
     */
    public com.google.protobuf.ByteString
        getOrderIdBytes() {
      java.lang.Object ref = orderId_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        orderId_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int CARRIER_FIELD_NUMBER = 2;
    private long carrier_;
    /**
     * <pre>
     *承运商
     * </pre>
     *
     * <code>optional int64 carrier = 2;</code>
     */
    public long getCarrier() {
      return carrier_;
    }

    public static final int PARTID_FIELD_NUMBER = 3;
    private volatile java.lang.Object partId_;
    /**
     * <pre>
     *零件号
     * </pre>
     *
     * <code>optional string partId = 3;</code>
     */
    public java.lang.String getPartId() {
      java.lang.Object ref = partId_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        partId_ = s;
        return s;
      }
    }
    /**
     * <pre>
     *零件号
     * </pre>
     *
     * <code>optional string partId = 3;</code>
     */
    public com.google.protobuf.ByteString
        getPartIdBytes() {
      java.lang.Object ref = partId_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        partId_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int BOXID_FIELD_NUMBER = 4;
    private volatile java.lang.Object boxId_;
    /**
     * <pre>
     *箱号
     * </pre>
     *
     * <code>optional string boxId = 4;</code>
     */
    public java.lang.String getBoxId() {
      java.lang.Object ref = boxId_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        boxId_ = s;
        return s;
      }
    }
    /**
     * <pre>
     *箱号
     * </pre>
     *
     * <code>optional string boxId = 4;</code>
     */
    public com.google.protobuf.ByteString
        getBoxIdBytes() {
      java.lang.Object ref = boxId_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        boxId_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int PARTNUM_FIELD_NUMBER = 5;
    private long partNum_;
    /**
     * <pre>
     *箱中零件数量
     * </pre>
     *
     * <code>optional int64 partNum = 5;</code>
     */
    public long getPartNum() {
      return partNum_;
    }

    public static final int DELIVERYDATE_FIELD_NUMBER = 6;
    private volatile java.lang.Object deliveryDate_;
    /**
     * <pre>
     *订单发货日期
     * </pre>
     *
     * <code>optional string deliveryDate = 6;</code>
     */
    public java.lang.String getDeliveryDate() {
      java.lang.Object ref = deliveryDate_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        deliveryDate_ = s;
        return s;
      }
    }
    /**
     * <pre>
     *订单发货日期
     * </pre>
     *
     * <code>optional string deliveryDate = 6;</code>
     */
    public com.google.protobuf.ByteString
        getDeliveryDateBytes() {
      java.lang.Object ref = deliveryDate_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        deliveryDate_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int SUPPLIERACCOUNT_FIELD_NUMBER = 7;
    private volatile java.lang.Object supplierAccount_;
    /**
     * <pre>
     *供货商账号
     * </pre>
     *
     * <code>optional string supplierAccount = 7;</code>
     */
    public java.lang.String getSupplierAccount() {
      java.lang.Object ref = supplierAccount_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        supplierAccount_ = s;
        return s;
      }
    }
    /**
     * <pre>
     *供货商账号
     * </pre>
     *
     * <code>optional string supplierAccount = 7;</code>
     */
    public com.google.protobuf.ByteString
        getSupplierAccountBytes() {
      java.lang.Object ref = supplierAccount_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        supplierAccount_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int SUPPLIERNAME_FIELD_NUMBER = 8;
    private volatile java.lang.Object supplierName_;
    /**
     * <pre>
     *供货商名称
     * </pre>
     *
     * <code>optional string supplierName = 8;</code>
     */
    public java.lang.String getSupplierName() {
      java.lang.Object ref = supplierName_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        supplierName_ = s;
        return s;
      }
    }
    /**
     * <pre>
     *供货商名称
     * </pre>
     *
     * <code>optional string supplierName = 8;</code>
     */
    public com.google.protobuf.ByteString
        getSupplierNameBytes() {
      java.lang.Object ref = supplierName_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        supplierName_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int CARRIERACCOUNT_FIELD_NUMBER = 9;
    private volatile java.lang.Object carrierAccount_;
    /**
     * <pre>
     *承运商账号
     * </pre>
     *
     * <code>optional string carrierAccount = 9;</code>
     */
    public java.lang.String getCarrierAccount() {
      java.lang.Object ref = carrierAccount_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        carrierAccount_ = s;
        return s;
      }
    }
    /**
     * <pre>
     *承运商账号
     * </pre>
     *
     * <code>optional string carrierAccount = 9;</code>
     */
    public com.google.protobuf.ByteString
        getCarrierAccountBytes() {
      java.lang.Object ref = carrierAccount_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        carrierAccount_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int CARRIERNAME_FIELD_NUMBER = 10;
    private volatile java.lang.Object carrierName_;
    /**
     * <pre>
     *承运商名称
     * </pre>
     *
     * <code>optional string carrierName = 10;</code>
     */
    public java.lang.String getCarrierName() {
      java.lang.Object ref = carrierName_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        carrierName_ = s;
        return s;
      }
    }
    /**
     * <pre>
     *承运商名称
     * </pre>
     *
     * <code>optional string carrierName = 10;</code>
     */
    public com.google.protobuf.ByteString
        getCarrierNameBytes() {
      java.lang.Object ref = carrierName_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        carrierName_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

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

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (!getOrderIdBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 1, orderId_);
      }
      if (carrier_ != 0L) {
        output.writeInt64(2, carrier_);
      }
      if (!getPartIdBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 3, partId_);
      }
      if (!getBoxIdBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 4, boxId_);
      }
      if (partNum_ != 0L) {
        output.writeInt64(5, partNum_);
      }
      if (!getDeliveryDateBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 6, deliveryDate_);
      }
      if (!getSupplierAccountBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 7, supplierAccount_);
      }
      if (!getSupplierNameBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 8, supplierName_);
      }
      if (!getCarrierAccountBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 9, carrierAccount_);
      }
      if (!getCarrierNameBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 10, carrierName_);
      }
    }

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

      size = 0;
      if (!getOrderIdBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, orderId_);
      }
      if (carrier_ != 0L) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt64Size(2, carrier_);
      }
      if (!getPartIdBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3, partId_);
      }
      if (!getBoxIdBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(4, boxId_);
      }
      if (partNum_ != 0L) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt64Size(5, partNum_);
      }
      if (!getDeliveryDateBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(6, deliveryDate_);
      }
      if (!getSupplierAccountBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(7, supplierAccount_);
      }
      if (!getSupplierNameBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(8, supplierName_);
      }
      if (!getCarrierAccountBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(9, carrierAccount_);
      }
      if (!getCarrierNameBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(10, carrierName_);
      }
      memoizedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof smsc.Api.RequestDelivery)) {
        return super.equals(obj);
      }
      smsc.Api.RequestDelivery other = (smsc.Api.RequestDelivery) obj;

      boolean result = true;
      result = result && getOrderId()
          .equals(other.getOrderId());
      result = result && (getCarrier()
          == other.getCarrier());
      result = result && getPartId()
          .equals(other.getPartId());
      result = result && getBoxId()
          .equals(other.getBoxId());
      result = result && (getPartNum()
          == other.getPartNum());
      result = result && getDeliveryDate()
          .equals(other.getDeliveryDate());
      result = result && getSupplierAccount()
          .equals(other.getSupplierAccount());
      result = result && getSupplierName()
          .equals(other.getSupplierName());
      result = result && getCarrierAccount()
          .equals(other.getCarrierAccount());
      result = result && getCarrierName()
          .equals(other.getCarrierName());
      return result;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptorForType().hashCode();
      hash = (37 * hash) + ORDERID_FIELD_NUMBER;
      hash = (53 * hash) + getOrderId().hashCode();
      hash = (37 * hash) + CARRIER_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
          getCarrier());
      hash = (37 * hash) + PARTID_FIELD_NUMBER;
      hash = (53 * hash) + getPartId().hashCode();
      hash = (37 * hash) + BOXID_FIELD_NUMBER;
      hash = (53 * hash) + getBoxId().hashCode();
      hash = (37 * hash) + PARTNUM_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
          getPartNum());
      hash = (37 * hash) + DELIVERYDATE_FIELD_NUMBER;
      hash = (53 * hash) + getDeliveryDate().hashCode();
      hash = (37 * hash) + SUPPLIERACCOUNT_FIELD_NUMBER;
      hash = (53 * hash) + getSupplierAccount().hashCode();
      hash = (37 * hash) + SUPPLIERNAME_FIELD_NUMBER;
      hash = (53 * hash) + getSupplierName().hashCode();
      hash = (37 * hash) + CARRIERACCOUNT_FIELD_NUMBER;
      hash = (53 * hash) + getCarrierAccount().hashCode();
      hash = (37 * hash) + CARRIERNAME_FIELD_NUMBER;
      hash = (53 * hash) + getCarrierName().hashCode();
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

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

    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(smsc.Api.RequestDelivery prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code smsc.RequestDelivery}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:smsc.RequestDelivery)
        smsc.Api.RequestDeliveryOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return smsc.Api.internal_static_smsc_RequestDelivery_descriptor;
      }

      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return smsc.Api.internal_static_smsc_RequestDelivery_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                smsc.Api.RequestDelivery.class, smsc.Api.RequestDelivery.Builder.class);
      }

      // Construct using smsc.Api.RequestDelivery.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
        }
      }
      public Builder clear() {
        super.clear();
        orderId_ = "";

        carrier_ = 0L;

        partId_ = "";

        boxId_ = "";

        partNum_ = 0L;

        deliveryDate_ = "";

        supplierAccount_ = "";

        supplierName_ = "";

        carrierAccount_ = "";

        carrierName_ = "";

        return this;
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return smsc.Api.internal_static_smsc_RequestDelivery_descriptor;
      }

      public smsc.Api.RequestDelivery getDefaultInstanceForType() {
        return smsc.Api.RequestDelivery.getDefaultInstance();
      }

      public smsc.Api.RequestDelivery build() {
        smsc.Api.RequestDelivery result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public smsc.Api.RequestDelivery buildPartial() {
        smsc.Api.RequestDelivery result = new smsc.Api.RequestDelivery(this);
        result.orderId_ = orderId_;
        result.carrier_ = carrier_;
        result.partId_ = partId_;
        result.boxId_ = boxId_;
        result.partNum_ = partNum_;
        result.deliveryDate_ = deliveryDate_;
        result.supplierAccount_ = supplierAccount_;
        result.supplierName_ = supplierName_;
        result.carrierAccount_ = carrierAccount_;
        result.carrierName_ = carrierName_;
        onBuilt();
        return result;
      }

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

      public Builder mergeFrom(smsc.Api.RequestDelivery other) {
        if (other == smsc.Api.RequestDelivery.getDefaultInstance()) return this;
        if (!other.getOrderId().isEmpty()) {
          orderId_ = other.orderId_;
          onChanged();
        }
        if (other.getCarrier() != 0L) {
          setCarrier(other.getCarrier());
        }
        if (!other.getPartId().isEmpty()) {
          partId_ = other.partId_;
          onChanged();
        }
        if (!other.getBoxId().isEmpty()) {
          boxId_ = other.boxId_;
          onChanged();
        }
        if (other.getPartNum() != 0L) {
          setPartNum(other.getPartNum());
        }
        if (!other.getDeliveryDate().isEmpty()) {
          deliveryDate_ = other.deliveryDate_;
          onChanged();
        }
        if (!other.getSupplierAccount().isEmpty()) {
          supplierAccount_ = other.supplierAccount_;
          onChanged();
        }
        if (!other.getSupplierName().isEmpty()) {
          supplierName_ = other.supplierName_;
          onChanged();
        }
        if (!other.getCarrierAccount().isEmpty()) {
          carrierAccount_ = other.carrierAccount_;
          onChanged();
        }
        if (!other.getCarrierName().isEmpty()) {
          carrierName_ = other.carrierName_;
          onChanged();
        }
        onChanged();
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        smsc.Api.RequestDelivery parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (smsc.Api.RequestDelivery) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }

      private java.lang.Object orderId_ = "";
      /**
       * <pre>
       *订单id
       * </pre>
       *
       * <code>optional string orderId = 1;</code>
       */
      public java.lang.String getOrderId() {
        java.lang.Object ref = orderId_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          orderId_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <pre>
       *订单id
       * </pre>
       *
       * <code>optional string orderId = 1;</code>
       */
      public com.google.protobuf.ByteString
          getOrderIdBytes() {
        java.lang.Object ref = orderId_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          orderId_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <pre>
       *订单id
       * </pre>
       *
       * <code>optional string orderId = 1;</code>
       */
      public Builder setOrderId(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        orderId_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *订单id
       * </pre>
       *
       * <code>optional string orderId = 1;</code>
       */
      public Builder clearOrderId() {
        
        orderId_ = getDefaultInstance().getOrderId();
        onChanged();
        return this;
      }
      /**
       * <pre>
       *订单id
       * </pre>
       *
       * <code>optional string orderId = 1;</code>
       */
      public Builder setOrderIdBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        orderId_ = value;
        onChanged();
        return this;
      }

      private long carrier_ ;
      /**
       * <pre>
       *承运商
       * </pre>
       *
       * <code>optional int64 carrier = 2;</code>
       */
      public long getCarrier() {
        return carrier_;
      }
      /**
       * <pre>
       *承运商
       * </pre>
       *
       * <code>optional int64 carrier = 2;</code>
       */
      public Builder setCarrier(long value) {
        
        carrier_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *承运商
       * </pre>
       *
       * <code>optional int64 carrier = 2;</code>
       */
      public Builder clearCarrier() {
        
        carrier_ = 0L;
        onChanged();
        return this;
      }

      private java.lang.Object partId_ = "";
      /**
       * <pre>
       *零件号
       * </pre>
       *
       * <code>optional string partId = 3;</code>
       */
      public java.lang.String getPartId() {
        java.lang.Object ref = partId_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          partId_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <pre>
       *零件号
       * </pre>
       *
       * <code>optional string partId = 3;</code>
       */
      public com.google.protobuf.ByteString
          getPartIdBytes() {
        java.lang.Object ref = partId_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          partId_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <pre>
       *零件号
       * </pre>
       *
       * <code>optional string partId = 3;</code>
       */
      public Builder setPartId(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        partId_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *零件号
       * </pre>
       *
       * <code>optional string partId = 3;</code>
       */
      public Builder clearPartId() {
        
        partId_ = getDefaultInstance().getPartId();
        onChanged();
        return this;
      }
      /**
       * <pre>
       *零件号
       * </pre>
       *
       * <code>optional string partId = 3;</code>
       */
      public Builder setPartIdBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        partId_ = value;
        onChanged();
        return this;
      }

      private java.lang.Object boxId_ = "";
      /**
       * <pre>
       *箱号
       * </pre>
       *
       * <code>optional string boxId = 4;</code>
       */
      public java.lang.String getBoxId() {
        java.lang.Object ref = boxId_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          boxId_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <pre>
       *箱号
       * </pre>
       *
       * <code>optional string boxId = 4;</code>
       */
      public com.google.protobuf.ByteString
          getBoxIdBytes() {
        java.lang.Object ref = boxId_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          boxId_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <pre>
       *箱号
       * </pre>
       *
       * <code>optional string boxId = 4;</code>
       */
      public Builder setBoxId(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        boxId_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *箱号
       * </pre>
       *
       * <code>optional string boxId = 4;</code>
       */
      public Builder clearBoxId() {
        
        boxId_ = getDefaultInstance().getBoxId();
        onChanged();
        return this;
      }
      /**
       * <pre>
       *箱号
       * </pre>
       *
       * <code>optional string boxId = 4;</code>
       */
      public Builder setBoxIdBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        boxId_ = value;
        onChanged();
        return this;
      }

      private long partNum_ ;
      /**
       * <pre>
       *箱中零件数量
       * </pre>
       *
       * <code>optional int64 partNum = 5;</code>
       */
      public long getPartNum() {
        return partNum_;
      }
      /**
       * <pre>
       *箱中零件数量
       * </pre>
       *
       * <code>optional int64 partNum = 5;</code>
       */
      public Builder setPartNum(long value) {
        
        partNum_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *箱中零件数量
       * </pre>
       *
       * <code>optional int64 partNum = 5;</code>
       */
      public Builder clearPartNum() {
        
        partNum_ = 0L;
        onChanged();
        return this;
      }

      private java.lang.Object deliveryDate_ = "";
      /**
       * <pre>
       *订单发货日期
       * </pre>
       *
       * <code>optional string deliveryDate = 6;</code>
       */
      public java.lang.String getDeliveryDate() {
        java.lang.Object ref = deliveryDate_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          deliveryDate_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <pre>
       *订单发货日期
       * </pre>
       *
       * <code>optional string deliveryDate = 6;</code>
       */
      public com.google.protobuf.ByteString
          getDeliveryDateBytes() {
        java.lang.Object ref = deliveryDate_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          deliveryDate_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <pre>
       *订单发货日期
       * </pre>
       *
       * <code>optional string deliveryDate = 6;</code>
       */
      public Builder setDeliveryDate(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        deliveryDate_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *订单发货日期
       * </pre>
       *
       * <code>optional string deliveryDate = 6;</code>
       */
      public Builder clearDeliveryDate() {
        
        deliveryDate_ = getDefaultInstance().getDeliveryDate();
        onChanged();
        return this;
      }
      /**
       * <pre>
       *订单发货日期
       * </pre>
       *
       * <code>optional string deliveryDate = 6;</code>
       */
      public Builder setDeliveryDateBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        deliveryDate_ = value;
        onChanged();
        return this;
      }

      private java.lang.Object supplierAccount_ = "";
      /**
       * <pre>
       *供货商账号
       * </pre>
       *
       * <code>optional string supplierAccount = 7;</code>
       */
      public java.lang.String getSupplierAccount() {
        java.lang.Object ref = supplierAccount_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          supplierAccount_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <pre>
       *供货商账号
       * </pre>
       *
       * <code>optional string supplierAccount = 7;</code>
       */
      public com.google.protobuf.ByteString
          getSupplierAccountBytes() {
        java.lang.Object ref = supplierAccount_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          supplierAccount_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <pre>
       *供货商账号
       * </pre>
       *
       * <code>optional string supplierAccount = 7;</code>
       */
      public Builder setSupplierAccount(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        supplierAccount_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *供货商账号
       * </pre>
       *
       * <code>optional string supplierAccount = 7;</code>
       */
      public Builder clearSupplierAccount() {
        
        supplierAccount_ = getDefaultInstance().getSupplierAccount();
        onChanged();
        return this;
      }
      /**
       * <pre>
       *供货商账号
       * </pre>
       *
       * <code>optional string supplierAccount = 7;</code>
       */
      public Builder setSupplierAccountBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        supplierAccount_ = value;
        onChanged();
        return this;
      }

      private java.lang.Object supplierName_ = "";
      /**
       * <pre>
       *供货商名称
       * </pre>
       *
       * <code>optional string supplierName = 8;</code>
       */
      public java.lang.String getSupplierName() {
        java.lang.Object ref = supplierName_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          supplierName_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <pre>
       *供货商名称
       * </pre>
       *
       * <code>optional string supplierName = 8;</code>
       */
      public com.google.protobuf.ByteString
          getSupplierNameBytes() {
        java.lang.Object ref = supplierName_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          supplierName_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <pre>
       *供货商名称
       * </pre>
       *
       * <code>optional string supplierName = 8;</code>
       */
      public Builder setSupplierName(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        supplierName_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *供货商名称
       * </pre>
       *
       * <code>optional string supplierName = 8;</code>
       */
      public Builder clearSupplierName() {
        
        supplierName_ = getDefaultInstance().getSupplierName();
        onChanged();
        return this;
      }
      /**
       * <pre>
       *供货商名称
       * </pre>
       *
       * <code>optional string supplierName = 8;</code>
       */
      public Builder setSupplierNameBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        supplierName_ = value;
        onChanged();
        return this;
      }

      private java.lang.Object carrierAccount_ = "";
      /**
       * <pre>
       *承运商账号
       * </pre>
       *
       * <code>optional string carrierAccount = 9;</code>
       */
      public java.lang.String getCarrierAccount() {
        java.lang.Object ref = carrierAccount_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          carrierAccount_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <pre>
       *承运商账号
       * </pre>
       *
       * <code>optional string carrierAccount = 9;</code>
       */
      public com.google.protobuf.ByteString
          getCarrierAccountBytes() {
        java.lang.Object ref = carrierAccount_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          carrierAccount_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <pre>
       *承运商账号
       * </pre>
       *
       * <code>optional string carrierAccount = 9;</code>
       */
      public Builder setCarrierAccount(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        carrierAccount_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *承运商账号
       * </pre>
       *
       * <code>optional string carrierAccount = 9;</code>
       */
      public Builder clearCarrierAccount() {
        
        carrierAccount_ = getDefaultInstance().getCarrierAccount();
        onChanged();
        return this;
      }
      /**
       * <pre>
       *承运商账号
       * </pre>
       *
       * <code>optional string carrierAccount = 9;</code>
       */
      public Builder setCarrierAccountBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        carrierAccount_ = value;
        onChanged();
        return this;
      }

      private java.lang.Object carrierName_ = "";
      /**
       * <pre>
       *承运商名称
       * </pre>
       *
       * <code>optional string carrierName = 10;</code>
       */
      public java.lang.String getCarrierName() {
        java.lang.Object ref = carrierName_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          carrierName_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <pre>
       *承运商名称
       * </pre>
       *
       * <code>optional string carrierName = 10;</code>
       */
      public com.google.protobuf.ByteString
          getCarrierNameBytes() {
        java.lang.Object ref = carrierName_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          carrierName_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <pre>
       *承运商名称
       * </pre>
       *
       * <code>optional string carrierName = 10;</code>
       */
      public Builder setCarrierName(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        carrierName_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *承运商名称
       * </pre>
       *
       * <code>optional string carrierName = 10;</code>
       */
      public Builder clearCarrierName() {
        
        carrierName_ = getDefaultInstance().getCarrierName();
        onChanged();
        return this;
      }
      /**
       * <pre>
       *承运商名称
       * </pre>
       *
       * <code>optional string carrierName = 10;</code>
       */
      public Builder setCarrierNameBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        carrierName_ = value;
        onChanged();
        return this;
      }
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return this;
      }

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


      // @@protoc_insertion_point(builder_scope:smsc.RequestDelivery)
    }

    // @@protoc_insertion_point(class_scope:smsc.RequestDelivery)
    private static final smsc.Api.RequestDelivery DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new smsc.Api.RequestDelivery();
    }

    public static smsc.Api.RequestDelivery getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

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

    public smsc.Api.RequestDelivery getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface RequestCarryOrBuilder extends
      // @@protoc_insertion_point(interface_extends:smsc.RequestCarry)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <pre>
     *订单id
     * </pre>
     *
     * <code>optional string orderId = 1;</code>
     */
    java.lang.String getOrderId();
    /**
     * <pre>
     *订单id
     * </pre>
     *
     * <code>optional string orderId = 1;</code>
     */
    com.google.protobuf.ByteString
        getOrderIdBytes();

    /**
     * <pre>
     *箱号
     * </pre>
     *
     * <code>optional string boxId = 2;</code>
     */
    java.lang.String getBoxId();
    /**
     * <pre>
     *箱号
     * </pre>
     *
     * <code>optional string boxId = 2;</code>
     */
    com.google.protobuf.ByteString
        getBoxIdBytes();

    /**
     * <pre>
     *车牌号码
     * </pre>
     *
     * <code>optional string carId = 3;</code>
     */
    java.lang.String getCarId();
    /**
     * <pre>
     *车牌号码
     * </pre>
     *
     * <code>optional string carId = 3;</code>
     */
    com.google.protobuf.ByteString
        getCarIdBytes();

    /**
     * <pre>
     *承运日期
     * </pre>
     *
     * <code>optional string carryDate = 4;</code>
     */
    java.lang.String getCarryDate();
    /**
     * <pre>
     *承运日期
     * </pre>
     *
     * <code>optional string carryDate = 4;</code>
     */
    com.google.protobuf.ByteString
        getCarryDateBytes();

    /**
     * <pre>
     *承运商账号
     * </pre>
     *
     * <code>optional string carrierAccount = 5;</code>
     */
    java.lang.String getCarrierAccount();
    /**
     * <pre>
     *承运商账号
     * </pre>
     *
     * <code>optional string carrierAccount = 5;</code>
     */
    com.google.protobuf.ByteString
        getCarrierAccountBytes();

    /**
     * <pre>
     *承运商名称
     * </pre>
     *
     * <code>optional string carrierName = 6;</code>
     */
    java.lang.String getCarrierName();
    /**
     * <pre>
     *承运商名称
     * </pre>
     *
     * <code>optional string carrierName = 6;</code>
     */
    com.google.protobuf.ByteString
        getCarrierNameBytes();

    /**
     * <pre>
     *箱数
     * </pre>
     *
     * <code>optional int64 boxNum = 7;</code>
     */
    long getBoxNum();
  }
  /**
   * Protobuf type {@code smsc.RequestCarry}
   */
  public  static final class RequestCarry extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:smsc.RequestCarry)
      RequestCarryOrBuilder {
    // Use RequestCarry.newBuilder() to construct.
    private RequestCarry(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private RequestCarry() {
      orderId_ = "";
      boxId_ = "";
      carId_ = "";
      carryDate_ = "";
      carrierAccount_ = "";
      carrierName_ = "";
      boxNum_ = 0L;
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return com.google.protobuf.UnknownFieldSet.getDefaultInstance();
    }
    private RequestCarry(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      int mutable_bitField0_ = 0;
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!input.skipField(tag)) {
                done = true;
              }
              break;
            }
            case 10: {
              java.lang.String s = input.readStringRequireUtf8();

              orderId_ = s;
              break;
            }
            case 18: {
              java.lang.String s = input.readStringRequireUtf8();

              boxId_ = s;
              break;
            }
            case 26: {
              java.lang.String s = input.readStringRequireUtf8();

              carId_ = s;
              break;
            }
            case 34: {
              java.lang.String s = input.readStringRequireUtf8();

              carryDate_ = s;
              break;
            }
            case 42: {
              java.lang.String s = input.readStringRequireUtf8();

              carrierAccount_ = s;
              break;
            }
            case 50: {
              java.lang.String s = input.readStringRequireUtf8();

              carrierName_ = s;
              break;
            }
            case 56: {

              boxNum_ = input.readInt64();
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return smsc.Api.internal_static_smsc_RequestCarry_descriptor;
    }

    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return smsc.Api.internal_static_smsc_RequestCarry_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              smsc.Api.RequestCarry.class, smsc.Api.RequestCarry.Builder.class);
    }

    public static final int ORDERID_FIELD_NUMBER = 1;
    private volatile java.lang.Object orderId_;
    /**
     * <pre>
     *订单id
     * </pre>
     *
     * <code>optional string orderId = 1;</code>
     */
    public java.lang.String getOrderId() {
      java.lang.Object ref = orderId_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        orderId_ = s;
        return s;
      }
    }
    /**
     * <pre>
     *订单id
     * </pre>
     *
     * <code>optional string orderId = 1;</code>
     */
    public com.google.protobuf.ByteString
        getOrderIdBytes() {
      java.lang.Object ref = orderId_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        orderId_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int BOXID_FIELD_NUMBER = 2;
    private volatile java.lang.Object boxId_;
    /**
     * <pre>
     *箱号
     * </pre>
     *
     * <code>optional string boxId = 2;</code>
     */
    public java.lang.String getBoxId() {
      java.lang.Object ref = boxId_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        boxId_ = s;
        return s;
      }
    }
    /**
     * <pre>
     *箱号
     * </pre>
     *
     * <code>optional string boxId = 2;</code>
     */
    public com.google.protobuf.ByteString
        getBoxIdBytes() {
      java.lang.Object ref = boxId_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        boxId_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int CARID_FIELD_NUMBER = 3;
    private volatile java.lang.Object carId_;
    /**
     * <pre>
     *车牌号码
     * </pre>
     *
     * <code>optional string carId = 3;</code>
     */
    public java.lang.String getCarId() {
      java.lang.Object ref = carId_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        carId_ = s;
        return s;
      }
    }
    /**
     * <pre>
     *车牌号码
     * </pre>
     *
     * <code>optional string carId = 3;</code>
     */
    public com.google.protobuf.ByteString
        getCarIdBytes() {
      java.lang.Object ref = carId_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        carId_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int CARRYDATE_FIELD_NUMBER = 4;
    private volatile java.lang.Object carryDate_;
    /**
     * <pre>
     *承运日期
     * </pre>
     *
     * <code>optional string carryDate = 4;</code>
     */
    public java.lang.String getCarryDate() {
      java.lang.Object ref = carryDate_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        carryDate_ = s;
        return s;
      }
    }
    /**
     * <pre>
     *承运日期
     * </pre>
     *
     * <code>optional string carryDate = 4;</code>
     */
    public com.google.protobuf.ByteString
        getCarryDateBytes() {
      java.lang.Object ref = carryDate_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        carryDate_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int CARRIERACCOUNT_FIELD_NUMBER = 5;
    private volatile java.lang.Object carrierAccount_;
    /**
     * <pre>
     *承运商账号
     * </pre>
     *
     * <code>optional string carrierAccount = 5;</code>
     */
    public java.lang.String getCarrierAccount() {
      java.lang.Object ref = carrierAccount_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        carrierAccount_ = s;
        return s;
      }
    }
    /**
     * <pre>
     *承运商账号
     * </pre>
     *
     * <code>optional string carrierAccount = 5;</code>
     */
    public com.google.protobuf.ByteString
        getCarrierAccountBytes() {
      java.lang.Object ref = carrierAccount_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        carrierAccount_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int CARRIERNAME_FIELD_NUMBER = 6;
    private volatile java.lang.Object carrierName_;
    /**
     * <pre>
     *承运商名称
     * </pre>
     *
     * <code>optional string carrierName = 6;</code>
     */
    public java.lang.String getCarrierName() {
      java.lang.Object ref = carrierName_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        carrierName_ = s;
        return s;
      }
    }
    /**
     * <pre>
     *承运商名称
     * </pre>
     *
     * <code>optional string carrierName = 6;</code>
     */
    public com.google.protobuf.ByteString
        getCarrierNameBytes() {
      java.lang.Object ref = carrierName_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        carrierName_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int BOXNUM_FIELD_NUMBER = 7;
    private long boxNum_;
    /**
     * <pre>
     *箱数
     * </pre>
     *
     * <code>optional int64 boxNum = 7;</code>
     */
    public long getBoxNum() {
      return boxNum_;
    }

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

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (!getOrderIdBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 1, orderId_);
      }
      if (!getBoxIdBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 2, boxId_);
      }
      if (!getCarIdBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 3, carId_);
      }
      if (!getCarryDateBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 4, carryDate_);
      }
      if (!getCarrierAccountBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 5, carrierAccount_);
      }
      if (!getCarrierNameBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 6, carrierName_);
      }
      if (boxNum_ != 0L) {
        output.writeInt64(7, boxNum_);
      }
    }

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

      size = 0;
      if (!getOrderIdBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, orderId_);
      }
      if (!getBoxIdBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, boxId_);
      }
      if (!getCarIdBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3, carId_);
      }
      if (!getCarryDateBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(4, carryDate_);
      }
      if (!getCarrierAccountBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(5, carrierAccount_);
      }
      if (!getCarrierNameBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(6, carrierName_);
      }
      if (boxNum_ != 0L) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt64Size(7, boxNum_);
      }
      memoizedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof smsc.Api.RequestCarry)) {
        return super.equals(obj);
      }
      smsc.Api.RequestCarry other = (smsc.Api.RequestCarry) obj;

      boolean result = true;
      result = result && getOrderId()
          .equals(other.getOrderId());
      result = result && getBoxId()
          .equals(other.getBoxId());
      result = result && getCarId()
          .equals(other.getCarId());
      result = result && getCarryDate()
          .equals(other.getCarryDate());
      result = result && getCarrierAccount()
          .equals(other.getCarrierAccount());
      result = result && getCarrierName()
          .equals(other.getCarrierName());
      result = result && (getBoxNum()
          == other.getBoxNum());
      return result;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptorForType().hashCode();
      hash = (37 * hash) + ORDERID_FIELD_NUMBER;
      hash = (53 * hash) + getOrderId().hashCode();
      hash = (37 * hash) + BOXID_FIELD_NUMBER;
      hash = (53 * hash) + getBoxId().hashCode();
      hash = (37 * hash) + CARID_FIELD_NUMBER;
      hash = (53 * hash) + getCarId().hashCode();
      hash = (37 * hash) + CARRYDATE_FIELD_NUMBER;
      hash = (53 * hash) + getCarryDate().hashCode();
      hash = (37 * hash) + CARRIERACCOUNT_FIELD_NUMBER;
      hash = (53 * hash) + getCarrierAccount().hashCode();
      hash = (37 * hash) + CARRIERNAME_FIELD_NUMBER;
      hash = (53 * hash) + getCarrierName().hashCode();
      hash = (37 * hash) + BOXNUM_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
          getBoxNum());
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

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

    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(smsc.Api.RequestCarry prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code smsc.RequestCarry}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:smsc.RequestCarry)
        smsc.Api.RequestCarryOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return smsc.Api.internal_static_smsc_RequestCarry_descriptor;
      }

      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return smsc.Api.internal_static_smsc_RequestCarry_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                smsc.Api.RequestCarry.class, smsc.Api.RequestCarry.Builder.class);
      }

      // Construct using smsc.Api.RequestCarry.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
        }
      }
      public Builder clear() {
        super.clear();
        orderId_ = "";

        boxId_ = "";

        carId_ = "";

        carryDate_ = "";

        carrierAccount_ = "";

        carrierName_ = "";

        boxNum_ = 0L;

        return this;
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return smsc.Api.internal_static_smsc_RequestCarry_descriptor;
      }

      public smsc.Api.RequestCarry getDefaultInstanceForType() {
        return smsc.Api.RequestCarry.getDefaultInstance();
      }

      public smsc.Api.RequestCarry build() {
        smsc.Api.RequestCarry result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public smsc.Api.RequestCarry buildPartial() {
        smsc.Api.RequestCarry result = new smsc.Api.RequestCarry(this);
        result.orderId_ = orderId_;
        result.boxId_ = boxId_;
        result.carId_ = carId_;
        result.carryDate_ = carryDate_;
        result.carrierAccount_ = carrierAccount_;
        result.carrierName_ = carrierName_;
        result.boxNum_ = boxNum_;
        onBuilt();
        return result;
      }

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

      public Builder mergeFrom(smsc.Api.RequestCarry other) {
        if (other == smsc.Api.RequestCarry.getDefaultInstance()) return this;
        if (!other.getOrderId().isEmpty()) {
          orderId_ = other.orderId_;
          onChanged();
        }
        if (!other.getBoxId().isEmpty()) {
          boxId_ = other.boxId_;
          onChanged();
        }
        if (!other.getCarId().isEmpty()) {
          carId_ = other.carId_;
          onChanged();
        }
        if (!other.getCarryDate().isEmpty()) {
          carryDate_ = other.carryDate_;
          onChanged();
        }
        if (!other.getCarrierAccount().isEmpty()) {
          carrierAccount_ = other.carrierAccount_;
          onChanged();
        }
        if (!other.getCarrierName().isEmpty()) {
          carrierName_ = other.carrierName_;
          onChanged();
        }
        if (other.getBoxNum() != 0L) {
          setBoxNum(other.getBoxNum());
        }
        onChanged();
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        smsc.Api.RequestCarry parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (smsc.Api.RequestCarry) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }

      private java.lang.Object orderId_ = "";
      /**
       * <pre>
       *订单id
       * </pre>
       *
       * <code>optional string orderId = 1;</code>
       */
      public java.lang.String getOrderId() {
        java.lang.Object ref = orderId_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          orderId_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <pre>
       *订单id
       * </pre>
       *
       * <code>optional string orderId = 1;</code>
       */
      public com.google.protobuf.ByteString
          getOrderIdBytes() {
        java.lang.Object ref = orderId_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          orderId_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <pre>
       *订单id
       * </pre>
       *
       * <code>optional string orderId = 1;</code>
       */
      public Builder setOrderId(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        orderId_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *订单id
       * </pre>
       *
       * <code>optional string orderId = 1;</code>
       */
      public Builder clearOrderId() {
        
        orderId_ = getDefaultInstance().getOrderId();
        onChanged();
        return this;
      }
      /**
       * <pre>
       *订单id
       * </pre>
       *
       * <code>optional string orderId = 1;</code>
       */
      public Builder setOrderIdBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        orderId_ = value;
        onChanged();
        return this;
      }

      private java.lang.Object boxId_ = "";
      /**
       * <pre>
       *箱号
       * </pre>
       *
       * <code>optional string boxId = 2;</code>
       */
      public java.lang.String getBoxId() {
        java.lang.Object ref = boxId_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          boxId_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <pre>
       *箱号
       * </pre>
       *
       * <code>optional string boxId = 2;</code>
       */
      public com.google.protobuf.ByteString
          getBoxIdBytes() {
        java.lang.Object ref = boxId_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          boxId_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <pre>
       *箱号
       * </pre>
       *
       * <code>optional string boxId = 2;</code>
       */
      public Builder setBoxId(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        boxId_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *箱号
       * </pre>
       *
       * <code>optional string boxId = 2;</code>
       */
      public Builder clearBoxId() {
        
        boxId_ = getDefaultInstance().getBoxId();
        onChanged();
        return this;
      }
      /**
       * <pre>
       *箱号
       * </pre>
       *
       * <code>optional string boxId = 2;</code>
       */
      public Builder setBoxIdBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        boxId_ = value;
        onChanged();
        return this;
      }

      private java.lang.Object carId_ = "";
      /**
       * <pre>
       *车牌号码
       * </pre>
       *
       * <code>optional string carId = 3;</code>
       */
      public java.lang.String getCarId() {
        java.lang.Object ref = carId_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          carId_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <pre>
       *车牌号码
       * </pre>
       *
       * <code>optional string carId = 3;</code>
       */
      public com.google.protobuf.ByteString
          getCarIdBytes() {
        java.lang.Object ref = carId_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          carId_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <pre>
       *车牌号码
       * </pre>
       *
       * <code>optional string carId = 3;</code>
       */
      public Builder setCarId(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        carId_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *车牌号码
       * </pre>
       *
       * <code>optional string carId = 3;</code>
       */
      public Builder clearCarId() {
        
        carId_ = getDefaultInstance().getCarId();
        onChanged();
        return this;
      }
      /**
       * <pre>
       *车牌号码
       * </pre>
       *
       * <code>optional string carId = 3;</code>
       */
      public Builder setCarIdBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        carId_ = value;
        onChanged();
        return this;
      }

      private java.lang.Object carryDate_ = "";
      /**
       * <pre>
       *承运日期
       * </pre>
       *
       * <code>optional string carryDate = 4;</code>
       */
      public java.lang.String getCarryDate() {
        java.lang.Object ref = carryDate_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          carryDate_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <pre>
       *承运日期
       * </pre>
       *
       * <code>optional string carryDate = 4;</code>
       */
      public com.google.protobuf.ByteString
          getCarryDateBytes() {
        java.lang.Object ref = carryDate_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          carryDate_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <pre>
       *承运日期
       * </pre>
       *
       * <code>optional string carryDate = 4;</code>
       */
      public Builder setCarryDate(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        carryDate_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *承运日期
       * </pre>
       *
       * <code>optional string carryDate = 4;</code>
       */
      public Builder clearCarryDate() {
        
        carryDate_ = getDefaultInstance().getCarryDate();
        onChanged();
        return this;
      }
      /**
       * <pre>
       *承运日期
       * </pre>
       *
       * <code>optional string carryDate = 4;</code>
       */
      public Builder setCarryDateBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        carryDate_ = value;
        onChanged();
        return this;
      }

      private java.lang.Object carrierAccount_ = "";
      /**
       * <pre>
       *承运商账号
       * </pre>
       *
       * <code>optional string carrierAccount = 5;</code>
       */
      public java.lang.String getCarrierAccount() {
        java.lang.Object ref = carrierAccount_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          carrierAccount_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <pre>
       *承运商账号
       * </pre>
       *
       * <code>optional string carrierAccount = 5;</code>
       */
      public com.google.protobuf.ByteString
          getCarrierAccountBytes() {
        java.lang.Object ref = carrierAccount_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          carrierAccount_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <pre>
       *承运商账号
       * </pre>
       *
       * <code>optional string carrierAccount = 5;</code>
       */
      public Builder setCarrierAccount(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        carrierAccount_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *承运商账号
       * </pre>
       *
       * <code>optional string carrierAccount = 5;</code>
       */
      public Builder clearCarrierAccount() {
        
        carrierAccount_ = getDefaultInstance().getCarrierAccount();
        onChanged();
        return this;
      }
      /**
       * <pre>
       *承运商账号
       * </pre>
       *
       * <code>optional string carrierAccount = 5;</code>
       */
      public Builder setCarrierAccountBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        carrierAccount_ = value;
        onChanged();
        return this;
      }

      private java.lang.Object carrierName_ = "";
      /**
       * <pre>
       *承运商名称
       * </pre>
       *
       * <code>optional string carrierName = 6;</code>
       */
      public java.lang.String getCarrierName() {
        java.lang.Object ref = carrierName_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          carrierName_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <pre>
       *承运商名称
       * </pre>
       *
       * <code>optional string carrierName = 6;</code>
       */
      public com.google.protobuf.ByteString
          getCarrierNameBytes() {
        java.lang.Object ref = carrierName_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          carrierName_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <pre>
       *承运商名称
       * </pre>
       *
       * <code>optional string carrierName = 6;</code>
       */
      public Builder setCarrierName(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        carrierName_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *承运商名称
       * </pre>
       *
       * <code>optional string carrierName = 6;</code>
       */
      public Builder clearCarrierName() {
        
        carrierName_ = getDefaultInstance().getCarrierName();
        onChanged();
        return this;
      }
      /**
       * <pre>
       *承运商名称
       * </pre>
       *
       * <code>optional string carrierName = 6;</code>
       */
      public Builder setCarrierNameBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        carrierName_ = value;
        onChanged();
        return this;
      }

      private long boxNum_ ;
      /**
       * <pre>
       *箱数
       * </pre>
       *
       * <code>optional int64 boxNum = 7;</code>
       */
      public long getBoxNum() {
        return boxNum_;
      }
      /**
       * <pre>
       *箱数
       * </pre>
       *
       * <code>optional int64 boxNum = 7;</code>
       */
      public Builder setBoxNum(long value) {
        
        boxNum_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *箱数
       * </pre>
       *
       * <code>optional int64 boxNum = 7;</code>
       */
      public Builder clearBoxNum() {
        
        boxNum_ = 0L;
        onChanged();
        return this;
      }
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return this;
      }

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


      // @@protoc_insertion_point(builder_scope:smsc.RequestCarry)
    }

    // @@protoc_insertion_point(class_scope:smsc.RequestCarry)
    private static final smsc.Api.RequestCarry DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new smsc.Api.RequestCarry();
    }

    public static smsc.Api.RequestCarry getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

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

    public smsc.Api.RequestCarry getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface RequestCheckOrBuilder extends
      // @@protoc_insertion_point(interface_extends:smsc.RequestCheck)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <pre>
     *订单id
     * </pre>
     *
     * <code>optional string orderId = 1;</code>
     */
    java.lang.String getOrderId();
    /**
     * <pre>
     *订单id
     * </pre>
     *
     * <code>optional string orderId = 1;</code>
     */
    com.google.protobuf.ByteString
        getOrderIdBytes();

    /**
     * <pre>
     *确认点货或拒收
     * </pre>
     *
     * <code>optional .smsc.Operate op = 2;</code>
     */
    int getOpValue();
    /**
     * <pre>
     *确认点货或拒收
     * </pre>
     *
     * <code>optional .smsc.Operate op = 2;</code>
     */
    smsc.Api.Operate getOp();

    /**
     * <pre>
     *点货日期
     * </pre>
     *
     * <code>optional string checkDate = 3;</code>
     */
    java.lang.String getCheckDate();
    /**
     * <pre>
     *点货日期
     * </pre>
     *
     * <code>optional string checkDate = 3;</code>
     */
    com.google.protobuf.ByteString
        getCheckDateBytes();

    /**
     * <pre>
     *点货员账号
     * </pre>
     *
     * <code>optional string checkerAccount = 4;</code>
     */
    java.lang.String getCheckerAccount();
    /**
     * <pre>
     *点货员账号
     * </pre>
     *
     * <code>optional string checkerAccount = 4;</code>
     */
    com.google.protobuf.ByteString
        getCheckerAccountBytes();

    /**
     * <pre>
     *点货员名称
     * </pre>
     *
     * <code>optional string checkerName = 5;</code>
     */
    java.lang.String getCheckerName();
    /**
     * <pre>
     *点货员名称
     * </pre>
     *
     * <code>optional string checkerName = 5;</code>
     */
    com.google.protobuf.ByteString
        getCheckerNameBytes();

    /**
     * <pre>
     *零件号
     * </pre>
     *
     * <code>optional string partId = 6;</code>
     */
    java.lang.String getPartId();
    /**
     * <pre>
     *零件号
     * </pre>
     *
     * <code>optional string partId = 6;</code>
     */
    com.google.protobuf.ByteString
        getPartIdBytes();

    /**
     * <pre>
     *箱号
     * </pre>
     *
     * <code>optional string boxId = 7;</code>
     */
    java.lang.String getBoxId();
    /**
     * <pre>
     *箱号
     * </pre>
     *
     * <code>optional string boxId = 7;</code>
     */
    com.google.protobuf.ByteString
        getBoxIdBytes();

    /**
     * <pre>
     *箱数
     * </pre>
     *
     * <code>optional int64 boxNum = 8;</code>
     */
    long getBoxNum();

    /**
     * <pre>
     *车牌号码
     * </pre>
     *
     * <code>optional string carId = 9;</code>
     */
    java.lang.String getCarId();
    /**
     * <pre>
     *车牌号码
     * </pre>
     *
     * <code>optional string carId = 9;</code>
     */
    com.google.protobuf.ByteString
        getCarIdBytes();
  }
  /**
   * Protobuf type {@code smsc.RequestCheck}
   */
  public  static final class RequestCheck extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:smsc.RequestCheck)
      RequestCheckOrBuilder {
    // Use RequestCheck.newBuilder() to construct.
    private RequestCheck(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private RequestCheck() {
      orderId_ = "";
      op_ = 0;
      checkDate_ = "";
      checkerAccount_ = "";
      checkerName_ = "";
      partId_ = "";
      boxId_ = "";
      boxNum_ = 0L;
      carId_ = "";
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return com.google.protobuf.UnknownFieldSet.getDefaultInstance();
    }
    private RequestCheck(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      int mutable_bitField0_ = 0;
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!input.skipField(tag)) {
                done = true;
              }
              break;
            }
            case 10: {
              java.lang.String s = input.readStringRequireUtf8();

              orderId_ = s;
              break;
            }
            case 16: {
              int rawValue = input.readEnum();

              op_ = rawValue;
              break;
            }
            case 26: {
              java.lang.String s = input.readStringRequireUtf8();

              checkDate_ = s;
              break;
            }
            case 34: {
              java.lang.String s = input.readStringRequireUtf8();

              checkerAccount_ = s;
              break;
            }
            case 42: {
              java.lang.String s = input.readStringRequireUtf8();

              checkerName_ = s;
              break;
            }
            case 50: {
              java.lang.String s = input.readStringRequireUtf8();

              partId_ = s;
              break;
            }
            case 58: {
              java.lang.String s = input.readStringRequireUtf8();

              boxId_ = s;
              break;
            }
            case 64: {

              boxNum_ = input.readInt64();
              break;
            }
            case 74: {
              java.lang.String s = input.readStringRequireUtf8();

              carId_ = s;
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return smsc.Api.internal_static_smsc_RequestCheck_descriptor;
    }

    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return smsc.Api.internal_static_smsc_RequestCheck_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              smsc.Api.RequestCheck.class, smsc.Api.RequestCheck.Builder.class);
    }

    public static final int ORDERID_FIELD_NUMBER = 1;
    private volatile java.lang.Object orderId_;
    /**
     * <pre>
     *订单id
     * </pre>
     *
     * <code>optional string orderId = 1;</code>
     */
    public java.lang.String getOrderId() {
      java.lang.Object ref = orderId_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        orderId_ = s;
        return s;
      }
    }
    /**
     * <pre>
     *订单id
     * </pre>
     *
     * <code>optional string orderId = 1;</code>
     */
    public com.google.protobuf.ByteString
        getOrderIdBytes() {
      java.lang.Object ref = orderId_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        orderId_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int OP_FIELD_NUMBER = 2;
    private int op_;
    /**
     * <pre>
     *确认点货或拒收
     * </pre>
     *
     * <code>optional .smsc.Operate op = 2;</code>
     */
    public int getOpValue() {
      return op_;
    }
    /**
     * <pre>
     *确认点货或拒收
     * </pre>
     *
     * <code>optional .smsc.Operate op = 2;</code>
     */
    public smsc.Api.Operate getOp() {
      smsc.Api.Operate result = smsc.Api.Operate.valueOf(op_);
      return result == null ? smsc.Api.Operate.UNRECOGNIZED : result;
    }

    public static final int CHECKDATE_FIELD_NUMBER = 3;
    private volatile java.lang.Object checkDate_;
    /**
     * <pre>
     *点货日期
     * </pre>
     *
     * <code>optional string checkDate = 3;</code>
     */
    public java.lang.String getCheckDate() {
      java.lang.Object ref = checkDate_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        checkDate_ = s;
        return s;
      }
    }
    /**
     * <pre>
     *点货日期
     * </pre>
     *
     * <code>optional string checkDate = 3;</code>
     */
    public com.google.protobuf.ByteString
        getCheckDateBytes() {
      java.lang.Object ref = checkDate_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        checkDate_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int CHECKERACCOUNT_FIELD_NUMBER = 4;
    private volatile java.lang.Object checkerAccount_;
    /**
     * <pre>
     *点货员账号
     * </pre>
     *
     * <code>optional string checkerAccount = 4;</code>
     */
    public java.lang.String getCheckerAccount() {
      java.lang.Object ref = checkerAccount_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        checkerAccount_ = s;
        return s;
      }
    }
    /**
     * <pre>
     *点货员账号
     * </pre>
     *
     * <code>optional string checkerAccount = 4;</code>
     */
    public com.google.protobuf.ByteString
        getCheckerAccountBytes() {
      java.lang.Object ref = checkerAccount_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        checkerAccount_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int CHECKERNAME_FIELD_NUMBER = 5;
    private volatile java.lang.Object checkerName_;
    /**
     * <pre>
     *点货员名称
     * </pre>
     *
     * <code>optional string checkerName = 5;</code>
     */
    public java.lang.String getCheckerName() {
      java.lang.Object ref = checkerName_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        checkerName_ = s;
        return s;
      }
    }
    /**
     * <pre>
     *点货员名称
     * </pre>
     *
     * <code>optional string checkerName = 5;</code>
     */
    public com.google.protobuf.ByteString
        getCheckerNameBytes() {
      java.lang.Object ref = checkerName_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        checkerName_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int PARTID_FIELD_NUMBER = 6;
    private volatile java.lang.Object partId_;
    /**
     * <pre>
     *零件号
     * </pre>
     *
     * <code>optional string partId = 6;</code>
     */
    public java.lang.String getPartId() {
      java.lang.Object ref = partId_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        partId_ = s;
        return s;
      }
    }
    /**
     * <pre>
     *零件号
     * </pre>
     *
     * <code>optional string partId = 6;</code>
     */
    public com.google.protobuf.ByteString
        getPartIdBytes() {
      java.lang.Object ref = partId_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        partId_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int BOXID_FIELD_NUMBER = 7;
    private volatile java.lang.Object boxId_;
    /**
     * <pre>
     *箱号
     * </pre>
     *
     * <code>optional string boxId = 7;</code>
     */
    public java.lang.String getBoxId() {
      java.lang.Object ref = boxId_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        boxId_ = s;
        return s;
      }
    }
    /**
     * <pre>
     *箱号
     * </pre>
     *
     * <code>optional string boxId = 7;</code>
     */
    public com.google.protobuf.ByteString
        getBoxIdBytes() {
      java.lang.Object ref = boxId_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        boxId_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int BOXNUM_FIELD_NUMBER = 8;
    private long boxNum_;
    /**
     * <pre>
     *箱数
     * </pre>
     *
     * <code>optional int64 boxNum = 8;</code>
     */
    public long getBoxNum() {
      return boxNum_;
    }

    public static final int CARID_FIELD_NUMBER = 9;
    private volatile java.lang.Object carId_;
    /**
     * <pre>
     *车牌号码
     * </pre>
     *
     * <code>optional string carId = 9;</code>
     */
    public java.lang.String getCarId() {
      java.lang.Object ref = carId_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        carId_ = s;
        return s;
      }
    }
    /**
     * <pre>
     *车牌号码
     * </pre>
     *
     * <code>optional string carId = 9;</code>
     */
    public com.google.protobuf.ByteString
        getCarIdBytes() {
      java.lang.Object ref = carId_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        carId_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

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

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (!getOrderIdBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 1, orderId_);
      }
      if (op_ != smsc.Api.Operate.OUndefined.getNumber()) {
        output.writeEnum(2, op_);
      }
      if (!getCheckDateBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 3, checkDate_);
      }
      if (!getCheckerAccountBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 4, checkerAccount_);
      }
      if (!getCheckerNameBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 5, checkerName_);
      }
      if (!getPartIdBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 6, partId_);
      }
      if (!getBoxIdBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 7, boxId_);
      }
      if (boxNum_ != 0L) {
        output.writeInt64(8, boxNum_);
      }
      if (!getCarIdBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 9, carId_);
      }
    }

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

      size = 0;
      if (!getOrderIdBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, orderId_);
      }
      if (op_ != smsc.Api.Operate.OUndefined.getNumber()) {
        size += com.google.protobuf.CodedOutputStream
          .computeEnumSize(2, op_);
      }
      if (!getCheckDateBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3, checkDate_);
      }
      if (!getCheckerAccountBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(4, checkerAccount_);
      }
      if (!getCheckerNameBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(5, checkerName_);
      }
      if (!getPartIdBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(6, partId_);
      }
      if (!getBoxIdBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(7, boxId_);
      }
      if (boxNum_ != 0L) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt64Size(8, boxNum_);
      }
      if (!getCarIdBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(9, carId_);
      }
      memoizedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof smsc.Api.RequestCheck)) {
        return super.equals(obj);
      }
      smsc.Api.RequestCheck other = (smsc.Api.RequestCheck) obj;

      boolean result = true;
      result = result && getOrderId()
          .equals(other.getOrderId());
      result = result && op_ == other.op_;
      result = result && getCheckDate()
          .equals(other.getCheckDate());
      result = result && getCheckerAccount()
          .equals(other.getCheckerAccount());
      result = result && getCheckerName()
          .equals(other.getCheckerName());
      result = result && getPartId()
          .equals(other.getPartId());
      result = result && getBoxId()
          .equals(other.getBoxId());
      result = result && (getBoxNum()
          == other.getBoxNum());
      result = result && getCarId()
          .equals(other.getCarId());
      return result;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptorForType().hashCode();
      hash = (37 * hash) + ORDERID_FIELD_NUMBER;
      hash = (53 * hash) + getOrderId().hashCode();
      hash = (37 * hash) + OP_FIELD_NUMBER;
      hash = (53 * hash) + op_;
      hash = (37 * hash) + CHECKDATE_FIELD_NUMBER;
      hash = (53 * hash) + getCheckDate().hashCode();
      hash = (37 * hash) + CHECKERACCOUNT_FIELD_NUMBER;
      hash = (53 * hash) + getCheckerAccount().hashCode();
      hash = (37 * hash) + CHECKERNAME_FIELD_NUMBER;
      hash = (53 * hash) + getCheckerName().hashCode();
      hash = (37 * hash) + PARTID_FIELD_NUMBER;
      hash = (53 * hash) + getPartId().hashCode();
      hash = (37 * hash) + BOXID_FIELD_NUMBER;
      hash = (53 * hash) + getBoxId().hashCode();
      hash = (37 * hash) + BOXNUM_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
          getBoxNum());
      hash = (37 * hash) + CARID_FIELD_NUMBER;
      hash = (53 * hash) + getCarId().hashCode();
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

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

    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(smsc.Api.RequestCheck prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code smsc.RequestCheck}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:smsc.RequestCheck)
        smsc.Api.RequestCheckOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return smsc.Api.internal_static_smsc_RequestCheck_descriptor;
      }

      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return smsc.Api.internal_static_smsc_RequestCheck_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                smsc.Api.RequestCheck.class, smsc.Api.RequestCheck.Builder.class);
      }

      // Construct using smsc.Api.RequestCheck.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
        }
      }
      public Builder clear() {
        super.clear();
        orderId_ = "";

        op_ = 0;

        checkDate_ = "";

        checkerAccount_ = "";

        checkerName_ = "";

        partId_ = "";

        boxId_ = "";

        boxNum_ = 0L;

        carId_ = "";

        return this;
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return smsc.Api.internal_static_smsc_RequestCheck_descriptor;
      }

      public smsc.Api.RequestCheck getDefaultInstanceForType() {
        return smsc.Api.RequestCheck.getDefaultInstance();
      }

      public smsc.Api.RequestCheck build() {
        smsc.Api.RequestCheck result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public smsc.Api.RequestCheck buildPartial() {
        smsc.Api.RequestCheck result = new smsc.Api.RequestCheck(this);
        result.orderId_ = orderId_;
        result.op_ = op_;
        result.checkDate_ = checkDate_;
        result.checkerAccount_ = checkerAccount_;
        result.checkerName_ = checkerName_;
        result.partId_ = partId_;
        result.boxId_ = boxId_;
        result.boxNum_ = boxNum_;
        result.carId_ = carId_;
        onBuilt();
        return result;
      }

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

      public Builder mergeFrom(smsc.Api.RequestCheck other) {
        if (other == smsc.Api.RequestCheck.getDefaultInstance()) return this;
        if (!other.getOrderId().isEmpty()) {
          orderId_ = other.orderId_;
          onChanged();
        }
        if (other.op_ != 0) {
          setOpValue(other.getOpValue());
        }
        if (!other.getCheckDate().isEmpty()) {
          checkDate_ = other.checkDate_;
          onChanged();
        }
        if (!other.getCheckerAccount().isEmpty()) {
          checkerAccount_ = other.checkerAccount_;
          onChanged();
        }
        if (!other.getCheckerName().isEmpty()) {
          checkerName_ = other.checkerName_;
          onChanged();
        }
        if (!other.getPartId().isEmpty()) {
          partId_ = other.partId_;
          onChanged();
        }
        if (!other.getBoxId().isEmpty()) {
          boxId_ = other.boxId_;
          onChanged();
        }
        if (other.getBoxNum() != 0L) {
          setBoxNum(other.getBoxNum());
        }
        if (!other.getCarId().isEmpty()) {
          carId_ = other.carId_;
          onChanged();
        }
        onChanged();
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        smsc.Api.RequestCheck parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (smsc.Api.RequestCheck) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }

      private java.lang.Object orderId_ = "";
      /**
       * <pre>
       *订单id
       * </pre>
       *
       * <code>optional string orderId = 1;</code>
       */
      public java.lang.String getOrderId() {
        java.lang.Object ref = orderId_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          orderId_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <pre>
       *订单id
       * </pre>
       *
       * <code>optional string orderId = 1;</code>
       */
      public com.google.protobuf.ByteString
          getOrderIdBytes() {
        java.lang.Object ref = orderId_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          orderId_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <pre>
       *订单id
       * </pre>
       *
       * <code>optional string orderId = 1;</code>
       */
      public Builder setOrderId(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        orderId_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *订单id
       * </pre>
       *
       * <code>optional string orderId = 1;</code>
       */
      public Builder clearOrderId() {
        
        orderId_ = getDefaultInstance().getOrderId();
        onChanged();
        return this;
      }
      /**
       * <pre>
       *订单id
       * </pre>
       *
       * <code>optional string orderId = 1;</code>
       */
      public Builder setOrderIdBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        orderId_ = value;
        onChanged();
        return this;
      }

      private int op_ = 0;
      /**
       * <pre>
       *确认点货或拒收
       * </pre>
       *
       * <code>optional .smsc.Operate op = 2;</code>
       */
      public int getOpValue() {
        return op_;
      }
      /**
       * <pre>
       *确认点货或拒收
       * </pre>
       *
       * <code>optional .smsc.Operate op = 2;</code>
       */
      public Builder setOpValue(int value) {
        op_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *确认点货或拒收
       * </pre>
       *
       * <code>optional .smsc.Operate op = 2;</code>
       */
      public smsc.Api.Operate getOp() {
        smsc.Api.Operate result = smsc.Api.Operate.valueOf(op_);
        return result == null ? smsc.Api.Operate.UNRECOGNIZED : result;
      }
      /**
       * <pre>
       *确认点货或拒收
       * </pre>
       *
       * <code>optional .smsc.Operate op = 2;</code>
       */
      public Builder setOp(smsc.Api.Operate value) {
        if (value == null) {
          throw new NullPointerException();
        }
        
        op_ = value.getNumber();
        onChanged();
        return this;
      }
      /**
       * <pre>
       *确认点货或拒收
       * </pre>
       *
       * <code>optional .smsc.Operate op = 2;</code>
       */
      public Builder clearOp() {
        
        op_ = 0;
        onChanged();
        return this;
      }

      private java.lang.Object checkDate_ = "";
      /**
       * <pre>
       *点货日期
       * </pre>
       *
       * <code>optional string checkDate = 3;</code>
       */
      public java.lang.String getCheckDate() {
        java.lang.Object ref = checkDate_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          checkDate_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <pre>
       *点货日期
       * </pre>
       *
       * <code>optional string checkDate = 3;</code>
       */
      public com.google.protobuf.ByteString
          getCheckDateBytes() {
        java.lang.Object ref = checkDate_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          checkDate_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <pre>
       *点货日期
       * </pre>
       *
       * <code>optional string checkDate = 3;</code>
       */
      public Builder setCheckDate(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        checkDate_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *点货日期
       * </pre>
       *
       * <code>optional string checkDate = 3;</code>
       */
      public Builder clearCheckDate() {
        
        checkDate_ = getDefaultInstance().getCheckDate();
        onChanged();
        return this;
      }
      /**
       * <pre>
       *点货日期
       * </pre>
       *
       * <code>optional string checkDate = 3;</code>
       */
      public Builder setCheckDateBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        checkDate_ = value;
        onChanged();
        return this;
      }

      private java.lang.Object checkerAccount_ = "";
      /**
       * <pre>
       *点货员账号
       * </pre>
       *
       * <code>optional string checkerAccount = 4;</code>
       */
      public java.lang.String getCheckerAccount() {
        java.lang.Object ref = checkerAccount_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          checkerAccount_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <pre>
       *点货员账号
       * </pre>
       *
       * <code>optional string checkerAccount = 4;</code>
       */
      public com.google.protobuf.ByteString
          getCheckerAccountBytes() {
        java.lang.Object ref = checkerAccount_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          checkerAccount_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <pre>
       *点货员账号
       * </pre>
       *
       * <code>optional string checkerAccount = 4;</code>
       */
      public Builder setCheckerAccount(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        checkerAccount_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *点货员账号
       * </pre>
       *
       * <code>optional string checkerAccount = 4;</code>
       */
      public Builder clearCheckerAccount() {
        
        checkerAccount_ = getDefaultInstance().getCheckerAccount();
        onChanged();
        return this;
      }
      /**
       * <pre>
       *点货员账号
       * </pre>
       *
       * <code>optional string checkerAccount = 4;</code>
       */
      public Builder setCheckerAccountBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        checkerAccount_ = value;
        onChanged();
        return this;
      }

      private java.lang.Object checkerName_ = "";
      /**
       * <pre>
       *点货员名称
       * </pre>
       *
       * <code>optional string checkerName = 5;</code>
       */
      public java.lang.String getCheckerName() {
        java.lang.Object ref = checkerName_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          checkerName_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <pre>
       *点货员名称
       * </pre>
       *
       * <code>optional string checkerName = 5;</code>
       */
      public com.google.protobuf.ByteString
          getCheckerNameBytes() {
        java.lang.Object ref = checkerName_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          checkerName_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <pre>
       *点货员名称
       * </pre>
       *
       * <code>optional string checkerName = 5;</code>
       */
      public Builder setCheckerName(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        checkerName_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *点货员名称
       * </pre>
       *
       * <code>optional string checkerName = 5;</code>
       */
      public Builder clearCheckerName() {
        
        checkerName_ = getDefaultInstance().getCheckerName();
        onChanged();
        return this;
      }
      /**
       * <pre>
       *点货员名称
       * </pre>
       *
       * <code>optional string checkerName = 5;</code>
       */
      public Builder setCheckerNameBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        checkerName_ = value;
        onChanged();
        return this;
      }

      private java.lang.Object partId_ = "";
      /**
       * <pre>
       *零件号
       * </pre>
       *
       * <code>optional string partId = 6;</code>
       */
      public java.lang.String getPartId() {
        java.lang.Object ref = partId_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          partId_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <pre>
       *零件号
       * </pre>
       *
       * <code>optional string partId = 6;</code>
       */
      public com.google.protobuf.ByteString
          getPartIdBytes() {
        java.lang.Object ref = partId_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          partId_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <pre>
       *零件号
       * </pre>
       *
       * <code>optional string partId = 6;</code>
       */
      public Builder setPartId(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        partId_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *零件号
       * </pre>
       *
       * <code>optional string partId = 6;</code>
       */
      public Builder clearPartId() {
        
        partId_ = getDefaultInstance().getPartId();
        onChanged();
        return this;
      }
      /**
       * <pre>
       *零件号
       * </pre>
       *
       * <code>optional string partId = 6;</code>
       */
      public Builder setPartIdBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        partId_ = value;
        onChanged();
        return this;
      }

      private java.lang.Object boxId_ = "";
      /**
       * <pre>
       *箱号
       * </pre>
       *
       * <code>optional string boxId = 7;</code>
       */
      public java.lang.String getBoxId() {
        java.lang.Object ref = boxId_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          boxId_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <pre>
       *箱号
       * </pre>
       *
       * <code>optional string boxId = 7;</code>
       */
      public com.google.protobuf.ByteString
          getBoxIdBytes() {
        java.lang.Object ref = boxId_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          boxId_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <pre>
       *箱号
       * </pre>
       *
       * <code>optional string boxId = 7;</code>
       */
      public Builder setBoxId(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        boxId_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *箱号
       * </pre>
       *
       * <code>optional string boxId = 7;</code>
       */
      public Builder clearBoxId() {
        
        boxId_ = getDefaultInstance().getBoxId();
        onChanged();
        return this;
      }
      /**
       * <pre>
       *箱号
       * </pre>
       *
       * <code>optional string boxId = 7;</code>
       */
      public Builder setBoxIdBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        boxId_ = value;
        onChanged();
        return this;
      }

      private long boxNum_ ;
      /**
       * <pre>
       *箱数
       * </pre>
       *
       * <code>optional int64 boxNum = 8;</code>
       */
      public long getBoxNum() {
        return boxNum_;
      }
      /**
       * <pre>
       *箱数
       * </pre>
       *
       * <code>optional int64 boxNum = 8;</code>
       */
      public Builder setBoxNum(long value) {
        
        boxNum_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *箱数
       * </pre>
       *
       * <code>optional int64 boxNum = 8;</code>
       */
      public Builder clearBoxNum() {
        
        boxNum_ = 0L;
        onChanged();
        return this;
      }

      private java.lang.Object carId_ = "";
      /**
       * <pre>
       *车牌号码
       * </pre>
       *
       * <code>optional string carId = 9;</code>
       */
      public java.lang.String getCarId() {
        java.lang.Object ref = carId_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          carId_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <pre>
       *车牌号码
       * </pre>
       *
       * <code>optional string carId = 9;</code>
       */
      public com.google.protobuf.ByteString
          getCarIdBytes() {
        java.lang.Object ref = carId_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          carId_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <pre>
       *车牌号码
       * </pre>
       *
       * <code>optional string carId = 9;</code>
       */
      public Builder setCarId(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        carId_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *车牌号码
       * </pre>
       *
       * <code>optional string carId = 9;</code>
       */
      public Builder clearCarId() {
        
        carId_ = getDefaultInstance().getCarId();
        onChanged();
        return this;
      }
      /**
       * <pre>
       *车牌号码
       * </pre>
       *
       * <code>optional string carId = 9;</code>
       */
      public Builder setCarIdBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        carId_ = value;
        onChanged();
        return this;
      }
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return this;
      }

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


      // @@protoc_insertion_point(builder_scope:smsc.RequestCheck)
    }

    // @@protoc_insertion_point(class_scope:smsc.RequestCheck)
    private static final smsc.Api.RequestCheck DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new smsc.Api.RequestCheck();
    }

    public static smsc.Api.RequestCheck getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

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

    public smsc.Api.RequestCheck getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface ResponseOrBuilder extends
      // @@protoc_insertion_point(interface_extends:smsc.Response)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <code>optional .smsc.ResponseSetAdmin setAdmin = 1;</code>
     */
    smsc.Api.ResponseSetAdmin getSetAdmin();
    /**
     * <code>optional .smsc.ResponseSetAdmin setAdmin = 1;</code>
     */
    smsc.Api.ResponseSetAdminOrBuilder getSetAdminOrBuilder();

    /**
     * <code>optional .smsc.ResponseCreateAccount createAccount = 2;</code>
     */
    smsc.Api.ResponseCreateAccount getCreateAccount();
    /**
     * <code>optional .smsc.ResponseCreateAccount createAccount = 2;</code>
     */
    smsc.Api.ResponseCreateAccountOrBuilder getCreateAccountOrBuilder();

    /**
     * <code>optional .smsc.ResponseEditAccount editAccount = 3;</code>
     */
    smsc.Api.ResponseEditAccount getEditAccount();
    /**
     * <code>optional .smsc.ResponseEditAccount editAccount = 3;</code>
     */
    smsc.Api.ResponseEditAccountOrBuilder getEditAccountOrBuilder();

    /**
     * <code>optional .smsc.ResponseDeleteAccount deleteAccount = 4;</code>
     */
    smsc.Api.ResponseDeleteAccount getDeleteAccount();
    /**
     * <code>optional .smsc.ResponseDeleteAccount deleteAccount = 4;</code>
     */
    smsc.Api.ResponseDeleteAccountOrBuilder getDeleteAccountOrBuilder();

    /**
     * <code>optional .smsc.ResponseSetSupplier setSupplier = 5;</code>
     */
    smsc.Api.ResponseSetSupplier getSetSupplier();
    /**
     * <code>optional .smsc.ResponseSetSupplier setSupplier = 5;</code>
     */
    smsc.Api.ResponseSetSupplierOrBuilder getSetSupplierOrBuilder();

    /**
     * <code>optional .smsc.ResponseCreateOrder createOrder = 6;</code>
     */
    smsc.Api.ResponseCreateOrder getCreateOrder();
    /**
     * <code>optional .smsc.ResponseCreateOrder createOrder = 6;</code>
     */
    smsc.Api.ResponseCreateOrderOrBuilder getCreateOrderOrBuilder();

    /**
     * <code>optional .smsc.ResponseDelivery delivery = 7;</code>
     */
    smsc.Api.ResponseDelivery getDelivery();
    /**
     * <code>optional .smsc.ResponseDelivery delivery = 7;</code>
     */
    smsc.Api.ResponseDeliveryOrBuilder getDeliveryOrBuilder();

    /**
     * <code>optional .smsc.ResponseCarry carry = 8;</code>
     */
    smsc.Api.ResponseCarry getCarry();
    /**
     * <code>optional .smsc.ResponseCarry carry = 8;</code>
     */
    smsc.Api.ResponseCarryOrBuilder getCarryOrBuilder();

    /**
     * <code>optional .smsc.ResponseCheck check = 9;</code>
     */
    smsc.Api.ResponseCheck getCheck();
    /**
     * <code>optional .smsc.ResponseCheck check = 9;</code>
     */
    smsc.Api.ResponseCheckOrBuilder getCheckOrBuilder();

    /**
     * <code>optional .smsc.ResponseOK ok = 10;</code>
     */
    smsc.Api.ResponseOK getOk();
    /**
     * <code>optional .smsc.ResponseOK ok = 10;</code>
     */
    smsc.Api.ResponseOKOrBuilder getOkOrBuilder();

    /**
     * <code>optional .smsc.ResponseException exception = 11;</code>
     */
    smsc.Api.ResponseException getException();
    /**
     * <code>optional .smsc.ResponseException exception = 11;</code>
     */
    smsc.Api.ResponseExceptionOrBuilder getExceptionOrBuilder();

    public smsc.Api.Response.ValueCase getValueCase();
  }
  /**
   * Protobuf type {@code smsc.Response}
   */
  public  static final class Response extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:smsc.Response)
      ResponseOrBuilder {
    // Use Response.newBuilder() to construct.
    private Response(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private Response() {
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return com.google.protobuf.UnknownFieldSet.getDefaultInstance();
    }
    private Response(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      int mutable_bitField0_ = 0;
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!input.skipField(tag)) {
                done = true;
              }
              break;
            }
            case 10: {
              smsc.Api.ResponseSetAdmin.Builder subBuilder = null;
              if (valueCase_ == 1) {
                subBuilder = ((smsc.Api.ResponseSetAdmin) value_).toBuilder();
              }
              value_ =
                  input.readMessage(smsc.Api.ResponseSetAdmin.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom((smsc.Api.ResponseSetAdmin) value_);
                value_ = subBuilder.buildPartial();
              }
              valueCase_ = 1;
              break;
            }
            case 18: {
              smsc.Api.ResponseCreateAccount.Builder subBuilder = null;
              if (valueCase_ == 2) {
                subBuilder = ((smsc.Api.ResponseCreateAccount) value_).toBuilder();
              }
              value_ =
                  input.readMessage(smsc.Api.ResponseCreateAccount.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom((smsc.Api.ResponseCreateAccount) value_);
                value_ = subBuilder.buildPartial();
              }
              valueCase_ = 2;
              break;
            }
            case 26: {
              smsc.Api.ResponseEditAccount.Builder subBuilder = null;
              if (valueCase_ == 3) {
                subBuilder = ((smsc.Api.ResponseEditAccount) value_).toBuilder();
              }
              value_ =
                  input.readMessage(smsc.Api.ResponseEditAccount.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom((smsc.Api.ResponseEditAccount) value_);
                value_ = subBuilder.buildPartial();
              }
              valueCase_ = 3;
              break;
            }
            case 34: {
              smsc.Api.ResponseDeleteAccount.Builder subBuilder = null;
              if (valueCase_ == 4) {
                subBuilder = ((smsc.Api.ResponseDeleteAccount) value_).toBuilder();
              }
              value_ =
                  input.readMessage(smsc.Api.ResponseDeleteAccount.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom((smsc.Api.ResponseDeleteAccount) value_);
                value_ = subBuilder.buildPartial();
              }
              valueCase_ = 4;
              break;
            }
            case 42: {
              smsc.Api.ResponseSetSupplier.Builder subBuilder = null;
              if (valueCase_ == 5) {
                subBuilder = ((smsc.Api.ResponseSetSupplier) value_).toBuilder();
              }
              value_ =
                  input.readMessage(smsc.Api.ResponseSetSupplier.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom((smsc.Api.ResponseSetSupplier) value_);
                value_ = subBuilder.buildPartial();
              }
              valueCase_ = 5;
              break;
            }
            case 50: {
              smsc.Api.ResponseCreateOrder.Builder subBuilder = null;
              if (valueCase_ == 6) {
                subBuilder = ((smsc.Api.ResponseCreateOrder) value_).toBuilder();
              }
              value_ =
                  input.readMessage(smsc.Api.ResponseCreateOrder.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom((smsc.Api.ResponseCreateOrder) value_);
                value_ = subBuilder.buildPartial();
              }
              valueCase_ = 6;
              break;
            }
            case 58: {
              smsc.Api.ResponseDelivery.Builder subBuilder = null;
              if (valueCase_ == 7) {
                subBuilder = ((smsc.Api.ResponseDelivery) value_).toBuilder();
              }
              value_ =
                  input.readMessage(smsc.Api.ResponseDelivery.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom((smsc.Api.ResponseDelivery) value_);
                value_ = subBuilder.buildPartial();
              }
              valueCase_ = 7;
              break;
            }
            case 66: {
              smsc.Api.ResponseCarry.Builder subBuilder = null;
              if (valueCase_ == 8) {
                subBuilder = ((smsc.Api.ResponseCarry) value_).toBuilder();
              }
              value_ =
                  input.readMessage(smsc.Api.ResponseCarry.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom((smsc.Api.ResponseCarry) value_);
                value_ = subBuilder.buildPartial();
              }
              valueCase_ = 8;
              break;
            }
            case 74: {
              smsc.Api.ResponseCheck.Builder subBuilder = null;
              if (valueCase_ == 9) {
                subBuilder = ((smsc.Api.ResponseCheck) value_).toBuilder();
              }
              value_ =
                  input.readMessage(smsc.Api.ResponseCheck.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom((smsc.Api.ResponseCheck) value_);
                value_ = subBuilder.buildPartial();
              }
              valueCase_ = 9;
              break;
            }
            case 82: {
              smsc.Api.ResponseOK.Builder subBuilder = null;
              if (valueCase_ == 10) {
                subBuilder = ((smsc.Api.ResponseOK) value_).toBuilder();
              }
              value_ =
                  input.readMessage(smsc.Api.ResponseOK.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom((smsc.Api.ResponseOK) value_);
                value_ = subBuilder.buildPartial();
              }
              valueCase_ = 10;
              break;
            }
            case 90: {
              smsc.Api.ResponseException.Builder subBuilder = null;
              if (valueCase_ == 11) {
                subBuilder = ((smsc.Api.ResponseException) value_).toBuilder();
              }
              value_ =
                  input.readMessage(smsc.Api.ResponseException.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom((smsc.Api.ResponseException) value_);
                value_ = subBuilder.buildPartial();
              }
              valueCase_ = 11;
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return smsc.Api.internal_static_smsc_Response_descriptor;
    }

    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return smsc.Api.internal_static_smsc_Response_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              smsc.Api.Response.class, smsc.Api.Response.Builder.class);
    }

    private int valueCase_ = 0;
    private java.lang.Object value_;
    public enum ValueCase
        implements com.google.protobuf.Internal.EnumLite {
      SETADMIN(1),
      CREATEACCOUNT(2),
      EDITACCOUNT(3),
      DELETEACCOUNT(4),
      SETSUPPLIER(5),
      CREATEORDER(6),
      DELIVERY(7),
      CARRY(8),
      CHECK(9),
      OK(10),
      EXCEPTION(11),
      VALUE_NOT_SET(0);
      private final int value;
      private ValueCase(int value) {
        this.value = value;
      }
      /**
       * @deprecated Use {@link #forNumber(int)} instead.
       */
      @java.lang.Deprecated
      public static ValueCase valueOf(int value) {
        return forNumber(value);
      }

      public static ValueCase forNumber(int value) {
        switch (value) {
          case 1: return SETADMIN;
          case 2: return CREATEACCOUNT;
          case 3: return EDITACCOUNT;
          case 4: return DELETEACCOUNT;
          case 5: return SETSUPPLIER;
          case 6: return CREATEORDER;
          case 7: return DELIVERY;
          case 8: return CARRY;
          case 9: return CHECK;
          case 10: return OK;
          case 11: return EXCEPTION;
          case 0: return VALUE_NOT_SET;
          default: return null;
        }
      }
      public int getNumber() {
        return this.value;
      }
    };

    public ValueCase
    getValueCase() {
      return ValueCase.forNumber(
          valueCase_);
    }

    public static final int SETADMIN_FIELD_NUMBER = 1;
    /**
     * <code>optional .smsc.ResponseSetAdmin setAdmin = 1;</code>
     */
    public smsc.Api.ResponseSetAdmin getSetAdmin() {
      if (valueCase_ == 1) {
         return (smsc.Api.ResponseSetAdmin) value_;
      }
      return smsc.Api.ResponseSetAdmin.getDefaultInstance();
    }
    /**
     * <code>optional .smsc.ResponseSetAdmin setAdmin = 1;</code>
     */
    public smsc.Api.ResponseSetAdminOrBuilder getSetAdminOrBuilder() {
      if (valueCase_ == 1) {
         return (smsc.Api.ResponseSetAdmin) value_;
      }
      return smsc.Api.ResponseSetAdmin.getDefaultInstance();
    }

    public static final int CREATEACCOUNT_FIELD_NUMBER = 2;
    /**
     * <code>optional .smsc.ResponseCreateAccount createAccount = 2;</code>
     */
    public smsc.Api.ResponseCreateAccount getCreateAccount() {
      if (valueCase_ == 2) {
         return (smsc.Api.ResponseCreateAccount) value_;
      }
      return smsc.Api.ResponseCreateAccount.getDefaultInstance();
    }
    /**
     * <code>optional .smsc.ResponseCreateAccount createAccount = 2;</code>
     */
    public smsc.Api.ResponseCreateAccountOrBuilder getCreateAccountOrBuilder() {
      if (valueCase_ == 2) {
         return (smsc.Api.ResponseCreateAccount) value_;
      }
      return smsc.Api.ResponseCreateAccount.getDefaultInstance();
    }

    public static final int EDITACCOUNT_FIELD_NUMBER = 3;
    /**
     * <code>optional .smsc.ResponseEditAccount editAccount = 3;</code>
     */
    public smsc.Api.ResponseEditAccount getEditAccount() {
      if (valueCase_ == 3) {
         return (smsc.Api.ResponseEditAccount) value_;
      }
      return smsc.Api.ResponseEditAccount.getDefaultInstance();
    }
    /**
     * <code>optional .smsc.ResponseEditAccount editAccount = 3;</code>
     */
    public smsc.Api.ResponseEditAccountOrBuilder getEditAccountOrBuilder() {
      if (valueCase_ == 3) {
         return (smsc.Api.ResponseEditAccount) value_;
      }
      return smsc.Api.ResponseEditAccount.getDefaultInstance();
    }

    public static final int DELETEACCOUNT_FIELD_NUMBER = 4;
    /**
     * <code>optional .smsc.ResponseDeleteAccount deleteAccount = 4;</code>
     */
    public smsc.Api.ResponseDeleteAccount getDeleteAccount() {
      if (valueCase_ == 4) {
         return (smsc.Api.ResponseDeleteAccount) value_;
      }
      return smsc.Api.ResponseDeleteAccount.getDefaultInstance();
    }
    /**
     * <code>optional .smsc.ResponseDeleteAccount deleteAccount = 4;</code>
     */
    public smsc.Api.ResponseDeleteAccountOrBuilder getDeleteAccountOrBuilder() {
      if (valueCase_ == 4) {
         return (smsc.Api.ResponseDeleteAccount) value_;
      }
      return smsc.Api.ResponseDeleteAccount.getDefaultInstance();
    }

    public static final int SETSUPPLIER_FIELD_NUMBER = 5;
    /**
     * <code>optional .smsc.ResponseSetSupplier setSupplier = 5;</code>
     */
    public smsc.Api.ResponseSetSupplier getSetSupplier() {
      if (valueCase_ == 5) {
         return (smsc.Api.ResponseSetSupplier) value_;
      }
      return smsc.Api.ResponseSetSupplier.getDefaultInstance();
    }
    /**
     * <code>optional .smsc.ResponseSetSupplier setSupplier = 5;</code>
     */
    public smsc.Api.ResponseSetSupplierOrBuilder getSetSupplierOrBuilder() {
      if (valueCase_ == 5) {
         return (smsc.Api.ResponseSetSupplier) value_;
      }
      return smsc.Api.ResponseSetSupplier.getDefaultInstance();
    }

    public static final int CREATEORDER_FIELD_NUMBER = 6;
    /**
     * <code>optional .smsc.ResponseCreateOrder createOrder = 6;</code>
     */
    public smsc.Api.ResponseCreateOrder getCreateOrder() {
      if (valueCase_ == 6) {
         return (smsc.Api.ResponseCreateOrder) value_;
      }
      return smsc.Api.ResponseCreateOrder.getDefaultInstance();
    }
    /**
     * <code>optional .smsc.ResponseCreateOrder createOrder = 6;</code>
     */
    public smsc.Api.ResponseCreateOrderOrBuilder getCreateOrderOrBuilder() {
      if (valueCase_ == 6) {
         return (smsc.Api.ResponseCreateOrder) value_;
      }
      return smsc.Api.ResponseCreateOrder.getDefaultInstance();
    }

    public static final int DELIVERY_FIELD_NUMBER = 7;
    /**
     * <code>optional .smsc.ResponseDelivery delivery = 7;</code>
     */
    public smsc.Api.ResponseDelivery getDelivery() {
      if (valueCase_ == 7) {
         return (smsc.Api.ResponseDelivery) value_;
      }
      return smsc.Api.ResponseDelivery.getDefaultInstance();
    }
    /**
     * <code>optional .smsc.ResponseDelivery delivery = 7;</code>
     */
    public smsc.Api.ResponseDeliveryOrBuilder getDeliveryOrBuilder() {
      if (valueCase_ == 7) {
         return (smsc.Api.ResponseDelivery) value_;
      }
      return smsc.Api.ResponseDelivery.getDefaultInstance();
    }

    public static final int CARRY_FIELD_NUMBER = 8;
    /**
     * <code>optional .smsc.ResponseCarry carry = 8;</code>
     */
    public smsc.Api.ResponseCarry getCarry() {
      if (valueCase_ == 8) {
         return (smsc.Api.ResponseCarry) value_;
      }
      return smsc.Api.ResponseCarry.getDefaultInstance();
    }
    /**
     * <code>optional .smsc.ResponseCarry carry = 8;</code>
     */
    public smsc.Api.ResponseCarryOrBuilder getCarryOrBuilder() {
      if (valueCase_ == 8) {
         return (smsc.Api.ResponseCarry) value_;
      }
      return smsc.Api.ResponseCarry.getDefaultInstance();
    }

    public static final int CHECK_FIELD_NUMBER = 9;
    /**
     * <code>optional .smsc.ResponseCheck check = 9;</code>
     */
    public smsc.Api.ResponseCheck getCheck() {
      if (valueCase_ == 9) {
         return (smsc.Api.ResponseCheck) value_;
      }
      return smsc.Api.ResponseCheck.getDefaultInstance();
    }
    /**
     * <code>optional .smsc.ResponseCheck check = 9;</code>
     */
    public smsc.Api.ResponseCheckOrBuilder getCheckOrBuilder() {
      if (valueCase_ == 9) {
         return (smsc.Api.ResponseCheck) value_;
      }
      return smsc.Api.ResponseCheck.getDefaultInstance();
    }

    public static final int OK_FIELD_NUMBER = 10;
    /**
     * <code>optional .smsc.ResponseOK ok = 10;</code>
     */
    public smsc.Api.ResponseOK getOk() {
      if (valueCase_ == 10) {
         return (smsc.Api.ResponseOK) value_;
      }
      return smsc.Api.ResponseOK.getDefaultInstance();
    }
    /**
     * <code>optional .smsc.ResponseOK ok = 10;</code>
     */
    public smsc.Api.ResponseOKOrBuilder getOkOrBuilder() {
      if (valueCase_ == 10) {
         return (smsc.Api.ResponseOK) value_;
      }
      return smsc.Api.ResponseOK.getDefaultInstance();
    }

    public static final int EXCEPTION_FIELD_NUMBER = 11;
    /**
     * <code>optional .smsc.ResponseException exception = 11;</code>
     */
    public smsc.Api.ResponseException getException() {
      if (valueCase_ == 11) {
         return (smsc.Api.ResponseException) value_;
      }
      return smsc.Api.ResponseException.getDefaultInstance();
    }
    /**
     * <code>optional .smsc.ResponseException exception = 11;</code>
     */
    public smsc.Api.ResponseExceptionOrBuilder getExceptionOrBuilder() {
      if (valueCase_ == 11) {
         return (smsc.Api.ResponseException) value_;
      }
      return smsc.Api.ResponseException.getDefaultInstance();
    }

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

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (valueCase_ == 1) {
        output.writeMessage(1, (smsc.Api.ResponseSetAdmin) value_);
      }
      if (valueCase_ == 2) {
        output.writeMessage(2, (smsc.Api.ResponseCreateAccount) value_);
      }
      if (valueCase_ == 3) {
        output.writeMessage(3, (smsc.Api.ResponseEditAccount) value_);
      }
      if (valueCase_ == 4) {
        output.writeMessage(4, (smsc.Api.ResponseDeleteAccount) value_);
      }
      if (valueCase_ == 5) {
        output.writeMessage(5, (smsc.Api.ResponseSetSupplier) value_);
      }
      if (valueCase_ == 6) {
        output.writeMessage(6, (smsc.Api.ResponseCreateOrder) value_);
      }
      if (valueCase_ == 7) {
        output.writeMessage(7, (smsc.Api.ResponseDelivery) value_);
      }
      if (valueCase_ == 8) {
        output.writeMessage(8, (smsc.Api.ResponseCarry) value_);
      }
      if (valueCase_ == 9) {
        output.writeMessage(9, (smsc.Api.ResponseCheck) value_);
      }
      if (valueCase_ == 10) {
        output.writeMessage(10, (smsc.Api.ResponseOK) value_);
      }
      if (valueCase_ == 11) {
        output.writeMessage(11, (smsc.Api.ResponseException) value_);
      }
    }

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

      size = 0;
      if (valueCase_ == 1) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(1, (smsc.Api.ResponseSetAdmin) value_);
      }
      if (valueCase_ == 2) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(2, (smsc.Api.ResponseCreateAccount) value_);
      }
      if (valueCase_ == 3) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(3, (smsc.Api.ResponseEditAccount) value_);
      }
      if (valueCase_ == 4) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(4, (smsc.Api.ResponseDeleteAccount) value_);
      }
      if (valueCase_ == 5) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(5, (smsc.Api.ResponseSetSupplier) value_);
      }
      if (valueCase_ == 6) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(6, (smsc.Api.ResponseCreateOrder) value_);
      }
      if (valueCase_ == 7) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(7, (smsc.Api.ResponseDelivery) value_);
      }
      if (valueCase_ == 8) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(8, (smsc.Api.ResponseCarry) value_);
      }
      if (valueCase_ == 9) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(9, (smsc.Api.ResponseCheck) value_);
      }
      if (valueCase_ == 10) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(10, (smsc.Api.ResponseOK) value_);
      }
      if (valueCase_ == 11) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(11, (smsc.Api.ResponseException) value_);
      }
      memoizedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof smsc.Api.Response)) {
        return super.equals(obj);
      }
      smsc.Api.Response other = (smsc.Api.Response) obj;

      boolean result = true;
      result = result && getValueCase().equals(
          other.getValueCase());
      if (!result) return false;
      switch (valueCase_) {
        case 1:
          result = result && getSetAdmin()
              .equals(other.getSetAdmin());
          break;
        case 2:
          result = result && getCreateAccount()
              .equals(other.getCreateAccount());
          break;
        case 3:
          result = result && getEditAccount()
              .equals(other.getEditAccount());
          break;
        case 4:
          result = result && getDeleteAccount()
              .equals(other.getDeleteAccount());
          break;
        case 5:
          result = result && getSetSupplier()
              .equals(other.getSetSupplier());
          break;
        case 6:
          result = result && getCreateOrder()
              .equals(other.getCreateOrder());
          break;
        case 7:
          result = result && getDelivery()
              .equals(other.getDelivery());
          break;
        case 8:
          result = result && getCarry()
              .equals(other.getCarry());
          break;
        case 9:
          result = result && getCheck()
              .equals(other.getCheck());
          break;
        case 10:
          result = result && getOk()
              .equals(other.getOk());
          break;
        case 11:
          result = result && getException()
              .equals(other.getException());
          break;
        case 0:
        default:
      }
      return result;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptorForType().hashCode();
      switch (valueCase_) {
        case 1:
          hash = (37 * hash) + SETADMIN_FIELD_NUMBER;
          hash = (53 * hash) + getSetAdmin().hashCode();
          break;
        case 2:
          hash = (37 * hash) + CREATEACCOUNT_FIELD_NUMBER;
          hash = (53 * hash) + getCreateAccount().hashCode();
          break;
        case 3:
          hash = (37 * hash) + EDITACCOUNT_FIELD_NUMBER;
          hash = (53 * hash) + getEditAccount().hashCode();
          break;
        case 4:
          hash = (37 * hash) + DELETEACCOUNT_FIELD_NUMBER;
          hash = (53 * hash) + getDeleteAccount().hashCode();
          break;
        case 5:
          hash = (37 * hash) + SETSUPPLIER_FIELD_NUMBER;
          hash = (53 * hash) + getSetSupplier().hashCode();
          break;
        case 6:
          hash = (37 * hash) + CREATEORDER_FIELD_NUMBER;
          hash = (53 * hash) + getCreateOrder().hashCode();
          break;
        case 7:
          hash = (37 * hash) + DELIVERY_FIELD_NUMBER;
          hash = (53 * hash) + getDelivery().hashCode();
          break;
        case 8:
          hash = (37 * hash) + CARRY_FIELD_NUMBER;
          hash = (53 * hash) + getCarry().hashCode();
          break;
        case 9:
          hash = (37 * hash) + CHECK_FIELD_NUMBER;
          hash = (53 * hash) + getCheck().hashCode();
          break;
        case 10:
          hash = (37 * hash) + OK_FIELD_NUMBER;
          hash = (53 * hash) + getOk().hashCode();
          break;
        case 11:
          hash = (37 * hash) + EXCEPTION_FIELD_NUMBER;
          hash = (53 * hash) + getException().hashCode();
          break;
        case 0:
        default:
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

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

    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(smsc.Api.Response prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code smsc.Response}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:smsc.Response)
        smsc.Api.ResponseOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return smsc.Api.internal_static_smsc_Response_descriptor;
      }

      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return smsc.Api.internal_static_smsc_Response_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                smsc.Api.Response.class, smsc.Api.Response.Builder.class);
      }

      // Construct using smsc.Api.Response.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
        }
      }
      public Builder clear() {
        super.clear();
        valueCase_ = 0;
        value_ = null;
        return this;
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return smsc.Api.internal_static_smsc_Response_descriptor;
      }

      public smsc.Api.Response getDefaultInstanceForType() {
        return smsc.Api.Response.getDefaultInstance();
      }

      public smsc.Api.Response build() {
        smsc.Api.Response result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public smsc.Api.Response buildPartial() {
        smsc.Api.Response result = new smsc.Api.Response(this);
        if (valueCase_ == 1) {
          if (setAdminBuilder_ == null) {
            result.value_ = value_;
          } else {
            result.value_ = setAdminBuilder_.build();
          }
        }
        if (valueCase_ == 2) {
          if (createAccountBuilder_ == null) {
            result.value_ = value_;
          } else {
            result.value_ = createAccountBuilder_.build();
          }
        }
        if (valueCase_ == 3) {
          if (editAccountBuilder_ == null) {
            result.value_ = value_;
          } else {
            result.value_ = editAccountBuilder_.build();
          }
        }
        if (valueCase_ == 4) {
          if (deleteAccountBuilder_ == null) {
            result.value_ = value_;
          } else {
            result.value_ = deleteAccountBuilder_.build();
          }
        }
        if (valueCase_ == 5) {
          if (setSupplierBuilder_ == null) {
            result.value_ = value_;
          } else {
            result.value_ = setSupplierBuilder_.build();
          }
        }
        if (valueCase_ == 6) {
          if (createOrderBuilder_ == null) {
            result.value_ = value_;
          } else {
            result.value_ = createOrderBuilder_.build();
          }
        }
        if (valueCase_ == 7) {
          if (deliveryBuilder_ == null) {
            result.value_ = value_;
          } else {
            result.value_ = deliveryBuilder_.build();
          }
        }
        if (valueCase_ == 8) {
          if (carryBuilder_ == null) {
            result.value_ = value_;
          } else {
            result.value_ = carryBuilder_.build();
          }
        }
        if (valueCase_ == 9) {
          if (checkBuilder_ == null) {
            result.value_ = value_;
          } else {
            result.value_ = checkBuilder_.build();
          }
        }
        if (valueCase_ == 10) {
          if (okBuilder_ == null) {
            result.value_ = value_;
          } else {
            result.value_ = okBuilder_.build();
          }
        }
        if (valueCase_ == 11) {
          if (exceptionBuilder_ == null) {
            result.value_ = value_;
          } else {
            result.value_ = exceptionBuilder_.build();
          }
        }
        result.valueCase_ = valueCase_;
        onBuilt();
        return result;
      }

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

      public Builder mergeFrom(smsc.Api.Response other) {
        if (other == smsc.Api.Response.getDefaultInstance()) return this;
        switch (other.getValueCase()) {
          case SETADMIN: {
            mergeSetAdmin(other.getSetAdmin());
            break;
          }
          case CREATEACCOUNT: {
            mergeCreateAccount(other.getCreateAccount());
            break;
          }
          case EDITACCOUNT: {
            mergeEditAccount(other.getEditAccount());
            break;
          }
          case DELETEACCOUNT: {
            mergeDeleteAccount(other.getDeleteAccount());
            break;
          }
          case SETSUPPLIER: {
            mergeSetSupplier(other.getSetSupplier());
            break;
          }
          case CREATEORDER: {
            mergeCreateOrder(other.getCreateOrder());
            break;
          }
          case DELIVERY: {
            mergeDelivery(other.getDelivery());
            break;
          }
          case CARRY: {
            mergeCarry(other.getCarry());
            break;
          }
          case CHECK: {
            mergeCheck(other.getCheck());
            break;
          }
          case OK: {
            mergeOk(other.getOk());
            break;
          }
          case EXCEPTION: {
            mergeException(other.getException());
            break;
          }
          case VALUE_NOT_SET: {
            break;
          }
        }
        onChanged();
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        smsc.Api.Response parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (smsc.Api.Response) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int valueCase_ = 0;
      private java.lang.Object value_;
      public ValueCase
          getValueCase() {
        return ValueCase.forNumber(
            valueCase_);
      }

      public Builder clearValue() {
        valueCase_ = 0;
        value_ = null;
        onChanged();
        return this;
      }


      private com.google.protobuf.SingleFieldBuilderV3<
          smsc.Api.ResponseSetAdmin, smsc.Api.ResponseSetAdmin.Builder, smsc.Api.ResponseSetAdminOrBuilder> setAdminBuilder_;
      /**
       * <code>optional .smsc.ResponseSetAdmin setAdmin = 1;</code>
       */
      public smsc.Api.ResponseSetAdmin getSetAdmin() {
        if (setAdminBuilder_ == null) {
          if (valueCase_ == 1) {
            return (smsc.Api.ResponseSetAdmin) value_;
          }
          return smsc.Api.ResponseSetAdmin.getDefaultInstance();
        } else {
          if (valueCase_ == 1) {
            return setAdminBuilder_.getMessage();
          }
          return smsc.Api.ResponseSetAdmin.getDefaultInstance();
        }
      }
      /**
       * <code>optional .smsc.ResponseSetAdmin setAdmin = 1;</code>
       */
      public Builder setSetAdmin(smsc.Api.ResponseSetAdmin value) {
        if (setAdminBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          value_ = value;
          onChanged();
        } else {
          setAdminBuilder_.setMessage(value);
        }
        valueCase_ = 1;
        return this;
      }
      /**
       * <code>optional .smsc.ResponseSetAdmin setAdmin = 1;</code>
       */
      public Builder setSetAdmin(
          smsc.Api.ResponseSetAdmin.Builder builderForValue) {
        if (setAdminBuilder_ == null) {
          value_ = builderForValue.build();
          onChanged();
        } else {
          setAdminBuilder_.setMessage(builderForValue.build());
        }
        valueCase_ = 1;
        return this;
      }
      /**
       * <code>optional .smsc.ResponseSetAdmin setAdmin = 1;</code>
       */
      public Builder mergeSetAdmin(smsc.Api.ResponseSetAdmin value) {
        if (setAdminBuilder_ == null) {
          if (valueCase_ == 1 &&
              value_ != smsc.Api.ResponseSetAdmin.getDefaultInstance()) {
            value_ = smsc.Api.ResponseSetAdmin.newBuilder((smsc.Api.ResponseSetAdmin) value_)
                .mergeFrom(value).buildPartial();
          } else {
            value_ = value;
          }
          onChanged();
        } else {
          if (valueCase_ == 1) {
            setAdminBuilder_.mergeFrom(value);
          }
          setAdminBuilder_.setMessage(value);
        }
        valueCase_ = 1;
        return this;
      }
      /**
       * <code>optional .smsc.ResponseSetAdmin setAdmin = 1;</code>
       */
      public Builder clearSetAdmin() {
        if (setAdminBuilder_ == null) {
          if (valueCase_ == 1) {
            valueCase_ = 0;
            value_ = null;
            onChanged();
          }
        } else {
          if (valueCase_ == 1) {
            valueCase_ = 0;
            value_ = null;
          }
          setAdminBuilder_.clear();
        }
        return this;
      }
      /**
       * <code>optional .smsc.ResponseSetAdmin setAdmin = 1;</code>
       */
      public smsc.Api.ResponseSetAdmin.Builder getSetAdminBuilder() {
        return getSetAdminFieldBuilder().getBuilder();
      }
      /**
       * <code>optional .smsc.ResponseSetAdmin setAdmin = 1;</code>
       */
      public smsc.Api.ResponseSetAdminOrBuilder getSetAdminOrBuilder() {
        if ((valueCase_ == 1) && (setAdminBuilder_ != null)) {
          return setAdminBuilder_.getMessageOrBuilder();
        } else {
          if (valueCase_ == 1) {
            return (smsc.Api.ResponseSetAdmin) value_;
          }
          return smsc.Api.ResponseSetAdmin.getDefaultInstance();
        }
      }
      /**
       * <code>optional .smsc.ResponseSetAdmin setAdmin = 1;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          smsc.Api.ResponseSetAdmin, smsc.Api.ResponseSetAdmin.Builder, smsc.Api.ResponseSetAdminOrBuilder> 
          getSetAdminFieldBuilder() {
        if (setAdminBuilder_ == null) {
          if (!(valueCase_ == 1)) {
            value_ = smsc.Api.ResponseSetAdmin.getDefaultInstance();
          }
          setAdminBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              smsc.Api.ResponseSetAdmin, smsc.Api.ResponseSetAdmin.Builder, smsc.Api.ResponseSetAdminOrBuilder>(
                  (smsc.Api.ResponseSetAdmin) value_,
                  getParentForChildren(),
                  isClean());
          value_ = null;
        }
        valueCase_ = 1;
        onChanged();;
        return setAdminBuilder_;
      }

      private com.google.protobuf.SingleFieldBuilderV3<
          smsc.Api.ResponseCreateAccount, smsc.Api.ResponseCreateAccount.Builder, smsc.Api.ResponseCreateAccountOrBuilder> createAccountBuilder_;
      /**
       * <code>optional .smsc.ResponseCreateAccount createAccount = 2;</code>
       */
      public smsc.Api.ResponseCreateAccount getCreateAccount() {
        if (createAccountBuilder_ == null) {
          if (valueCase_ == 2) {
            return (smsc.Api.ResponseCreateAccount) value_;
          }
          return smsc.Api.ResponseCreateAccount.getDefaultInstance();
        } else {
          if (valueCase_ == 2) {
            return createAccountBuilder_.getMessage();
          }
          return smsc.Api.ResponseCreateAccount.getDefaultInstance();
        }
      }
      /**
       * <code>optional .smsc.ResponseCreateAccount createAccount = 2;</code>
       */
      public Builder setCreateAccount(smsc.Api.ResponseCreateAccount value) {
        if (createAccountBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          value_ = value;
          onChanged();
        } else {
          createAccountBuilder_.setMessage(value);
        }
        valueCase_ = 2;
        return this;
      }
      /**
       * <code>optional .smsc.ResponseCreateAccount createAccount = 2;</code>
       */
      public Builder setCreateAccount(
          smsc.Api.ResponseCreateAccount.Builder builderForValue) {
        if (createAccountBuilder_ == null) {
          value_ = builderForValue.build();
          onChanged();
        } else {
          createAccountBuilder_.setMessage(builderForValue.build());
        }
        valueCase_ = 2;
        return this;
      }
      /**
       * <code>optional .smsc.ResponseCreateAccount createAccount = 2;</code>
       */
      public Builder mergeCreateAccount(smsc.Api.ResponseCreateAccount value) {
        if (createAccountBuilder_ == null) {
          if (valueCase_ == 2 &&
              value_ != smsc.Api.ResponseCreateAccount.getDefaultInstance()) {
            value_ = smsc.Api.ResponseCreateAccount.newBuilder((smsc.Api.ResponseCreateAccount) value_)
                .mergeFrom(value).buildPartial();
          } else {
            value_ = value;
          }
          onChanged();
        } else {
          if (valueCase_ == 2) {
            createAccountBuilder_.mergeFrom(value);
          }
          createAccountBuilder_.setMessage(value);
        }
        valueCase_ = 2;
        return this;
      }
      /**
       * <code>optional .smsc.ResponseCreateAccount createAccount = 2;</code>
       */
      public Builder clearCreateAccount() {
        if (createAccountBuilder_ == null) {
          if (valueCase_ == 2) {
            valueCase_ = 0;
            value_ = null;
            onChanged();
          }
        } else {
          if (valueCase_ == 2) {
            valueCase_ = 0;
            value_ = null;
          }
          createAccountBuilder_.clear();
        }
        return this;
      }
      /**
       * <code>optional .smsc.ResponseCreateAccount createAccount = 2;</code>
       */
      public smsc.Api.ResponseCreateAccount.Builder getCreateAccountBuilder() {
        return getCreateAccountFieldBuilder().getBuilder();
      }
      /**
       * <code>optional .smsc.ResponseCreateAccount createAccount = 2;</code>
       */
      public smsc.Api.ResponseCreateAccountOrBuilder getCreateAccountOrBuilder() {
        if ((valueCase_ == 2) && (createAccountBuilder_ != null)) {
          return createAccountBuilder_.getMessageOrBuilder();
        } else {
          if (valueCase_ == 2) {
            return (smsc.Api.ResponseCreateAccount) value_;
          }
          return smsc.Api.ResponseCreateAccount.getDefaultInstance();
        }
      }
      /**
       * <code>optional .smsc.ResponseCreateAccount createAccount = 2;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          smsc.Api.ResponseCreateAccount, smsc.Api.ResponseCreateAccount.Builder, smsc.Api.ResponseCreateAccountOrBuilder> 
          getCreateAccountFieldBuilder() {
        if (createAccountBuilder_ == null) {
          if (!(valueCase_ == 2)) {
            value_ = smsc.Api.ResponseCreateAccount.getDefaultInstance();
          }
          createAccountBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              smsc.Api.ResponseCreateAccount, smsc.Api.ResponseCreateAccount.Builder, smsc.Api.ResponseCreateAccountOrBuilder>(
                  (smsc.Api.ResponseCreateAccount) value_,
                  getParentForChildren(),
                  isClean());
          value_ = null;
        }
        valueCase_ = 2;
        onChanged();;
        return createAccountBuilder_;
      }

      private com.google.protobuf.SingleFieldBuilderV3<
          smsc.Api.ResponseEditAccount, smsc.Api.ResponseEditAccount.Builder, smsc.Api.ResponseEditAccountOrBuilder> editAccountBuilder_;
      /**
       * <code>optional .smsc.ResponseEditAccount editAccount = 3;</code>
       */
      public smsc.Api.ResponseEditAccount getEditAccount() {
        if (editAccountBuilder_ == null) {
          if (valueCase_ == 3) {
            return (smsc.Api.ResponseEditAccount) value_;
          }
          return smsc.Api.ResponseEditAccount.getDefaultInstance();
        } else {
          if (valueCase_ == 3) {
            return editAccountBuilder_.getMessage();
          }
          return smsc.Api.ResponseEditAccount.getDefaultInstance();
        }
      }
      /**
       * <code>optional .smsc.ResponseEditAccount editAccount = 3;</code>
       */
      public Builder setEditAccount(smsc.Api.ResponseEditAccount value) {
        if (editAccountBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          value_ = value;
          onChanged();
        } else {
          editAccountBuilder_.setMessage(value);
        }
        valueCase_ = 3;
        return this;
      }
      /**
       * <code>optional .smsc.ResponseEditAccount editAccount = 3;</code>
       */
      public Builder setEditAccount(
          smsc.Api.ResponseEditAccount.Builder builderForValue) {
        if (editAccountBuilder_ == null) {
          value_ = builderForValue.build();
          onChanged();
        } else {
          editAccountBuilder_.setMessage(builderForValue.build());
        }
        valueCase_ = 3;
        return this;
      }
      /**
       * <code>optional .smsc.ResponseEditAccount editAccount = 3;</code>
       */
      public Builder mergeEditAccount(smsc.Api.ResponseEditAccount value) {
        if (editAccountBuilder_ == null) {
          if (valueCase_ == 3 &&
              value_ != smsc.Api.ResponseEditAccount.getDefaultInstance()) {
            value_ = smsc.Api.ResponseEditAccount.newBuilder((smsc.Api.ResponseEditAccount) value_)
                .mergeFrom(value).buildPartial();
          } else {
            value_ = value;
          }
          onChanged();
        } else {
          if (valueCase_ == 3) {
            editAccountBuilder_.mergeFrom(value);
          }
          editAccountBuilder_.setMessage(value);
        }
        valueCase_ = 3;
        return this;
      }
      /**
       * <code>optional .smsc.ResponseEditAccount editAccount = 3;</code>
       */
      public Builder clearEditAccount() {
        if (editAccountBuilder_ == null) {
          if (valueCase_ == 3) {
            valueCase_ = 0;
            value_ = null;
            onChanged();
          }
        } else {
          if (valueCase_ == 3) {
            valueCase_ = 0;
            value_ = null;
          }
          editAccountBuilder_.clear();
        }
        return this;
      }
      /**
       * <code>optional .smsc.ResponseEditAccount editAccount = 3;</code>
       */
      public smsc.Api.ResponseEditAccount.Builder getEditAccountBuilder() {
        return getEditAccountFieldBuilder().getBuilder();
      }
      /**
       * <code>optional .smsc.ResponseEditAccount editAccount = 3;</code>
       */
      public smsc.Api.ResponseEditAccountOrBuilder getEditAccountOrBuilder() {
        if ((valueCase_ == 3) && (editAccountBuilder_ != null)) {
          return editAccountBuilder_.getMessageOrBuilder();
        } else {
          if (valueCase_ == 3) {
            return (smsc.Api.ResponseEditAccount) value_;
          }
          return smsc.Api.ResponseEditAccount.getDefaultInstance();
        }
      }
      /**
       * <code>optional .smsc.ResponseEditAccount editAccount = 3;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          smsc.Api.ResponseEditAccount, smsc.Api.ResponseEditAccount.Builder, smsc.Api.ResponseEditAccountOrBuilder> 
          getEditAccountFieldBuilder() {
        if (editAccountBuilder_ == null) {
          if (!(valueCase_ == 3)) {
            value_ = smsc.Api.ResponseEditAccount.getDefaultInstance();
          }
          editAccountBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              smsc.Api.ResponseEditAccount, smsc.Api.ResponseEditAccount.Builder, smsc.Api.ResponseEditAccountOrBuilder>(
                  (smsc.Api.ResponseEditAccount) value_,
                  getParentForChildren(),
                  isClean());
          value_ = null;
        }
        valueCase_ = 3;
        onChanged();;
        return editAccountBuilder_;
      }

      private com.google.protobuf.SingleFieldBuilderV3<
          smsc.Api.ResponseDeleteAccount, smsc.Api.ResponseDeleteAccount.Builder, smsc.Api.ResponseDeleteAccountOrBuilder> deleteAccountBuilder_;
      /**
       * <code>optional .smsc.ResponseDeleteAccount deleteAccount = 4;</code>
       */
      public smsc.Api.ResponseDeleteAccount getDeleteAccount() {
        if (deleteAccountBuilder_ == null) {
          if (valueCase_ == 4) {
            return (smsc.Api.ResponseDeleteAccount) value_;
          }
          return smsc.Api.ResponseDeleteAccount.getDefaultInstance();
        } else {
          if (valueCase_ == 4) {
            return deleteAccountBuilder_.getMessage();
          }
          return smsc.Api.ResponseDeleteAccount.getDefaultInstance();
        }
      }
      /**
       * <code>optional .smsc.ResponseDeleteAccount deleteAccount = 4;</code>
       */
      public Builder setDeleteAccount(smsc.Api.ResponseDeleteAccount value) {
        if (deleteAccountBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          value_ = value;
          onChanged();
        } else {
          deleteAccountBuilder_.setMessage(value);
        }
        valueCase_ = 4;
        return this;
      }
      /**
       * <code>optional .smsc.ResponseDeleteAccount deleteAccount = 4;</code>
       */
      public Builder setDeleteAccount(
          smsc.Api.ResponseDeleteAccount.Builder builderForValue) {
        if (deleteAccountBuilder_ == null) {
          value_ = builderForValue.build();
          onChanged();
        } else {
          deleteAccountBuilder_.setMessage(builderForValue.build());
        }
        valueCase_ = 4;
        return this;
      }
      /**
       * <code>optional .smsc.ResponseDeleteAccount deleteAccount = 4;</code>
       */
      public Builder mergeDeleteAccount(smsc.Api.ResponseDeleteAccount value) {
        if (deleteAccountBuilder_ == null) {
          if (valueCase_ == 4 &&
              value_ != smsc.Api.ResponseDeleteAccount.getDefaultInstance()) {
            value_ = smsc.Api.ResponseDeleteAccount.newBuilder((smsc.Api.ResponseDeleteAccount) value_)
                .mergeFrom(value).buildPartial();
          } else {
            value_ = value;
          }
          onChanged();
        } else {
          if (valueCase_ == 4) {
            deleteAccountBuilder_.mergeFrom(value);
          }
          deleteAccountBuilder_.setMessage(value);
        }
        valueCase_ = 4;
        return this;
      }
      /**
       * <code>optional .smsc.ResponseDeleteAccount deleteAccount = 4;</code>
       */
      public Builder clearDeleteAccount() {
        if (deleteAccountBuilder_ == null) {
          if (valueCase_ == 4) {
            valueCase_ = 0;
            value_ = null;
            onChanged();
          }
        } else {
          if (valueCase_ == 4) {
            valueCase_ = 0;
            value_ = null;
          }
          deleteAccountBuilder_.clear();
        }
        return this;
      }
      /**
       * <code>optional .smsc.ResponseDeleteAccount deleteAccount = 4;</code>
       */
      public smsc.Api.ResponseDeleteAccount.Builder getDeleteAccountBuilder() {
        return getDeleteAccountFieldBuilder().getBuilder();
      }
      /**
       * <code>optional .smsc.ResponseDeleteAccount deleteAccount = 4;</code>
       */
      public smsc.Api.ResponseDeleteAccountOrBuilder getDeleteAccountOrBuilder() {
        if ((valueCase_ == 4) && (deleteAccountBuilder_ != null)) {
          return deleteAccountBuilder_.getMessageOrBuilder();
        } else {
          if (valueCase_ == 4) {
            return (smsc.Api.ResponseDeleteAccount) value_;
          }
          return smsc.Api.ResponseDeleteAccount.getDefaultInstance();
        }
      }
      /**
       * <code>optional .smsc.ResponseDeleteAccount deleteAccount = 4;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          smsc.Api.ResponseDeleteAccount, smsc.Api.ResponseDeleteAccount.Builder, smsc.Api.ResponseDeleteAccountOrBuilder> 
          getDeleteAccountFieldBuilder() {
        if (deleteAccountBuilder_ == null) {
          if (!(valueCase_ == 4)) {
            value_ = smsc.Api.ResponseDeleteAccount.getDefaultInstance();
          }
          deleteAccountBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              smsc.Api.ResponseDeleteAccount, smsc.Api.ResponseDeleteAccount.Builder, smsc.Api.ResponseDeleteAccountOrBuilder>(
                  (smsc.Api.ResponseDeleteAccount) value_,
                  getParentForChildren(),
                  isClean());
          value_ = null;
        }
        valueCase_ = 4;
        onChanged();;
        return deleteAccountBuilder_;
      }

      private com.google.protobuf.SingleFieldBuilderV3<
          smsc.Api.ResponseSetSupplier, smsc.Api.ResponseSetSupplier.Builder, smsc.Api.ResponseSetSupplierOrBuilder> setSupplierBuilder_;
      /**
       * <code>optional .smsc.ResponseSetSupplier setSupplier = 5;</code>
       */
      public smsc.Api.ResponseSetSupplier getSetSupplier() {
        if (setSupplierBuilder_ == null) {
          if (valueCase_ == 5) {
            return (smsc.Api.ResponseSetSupplier) value_;
          }
          return smsc.Api.ResponseSetSupplier.getDefaultInstance();
        } else {
          if (valueCase_ == 5) {
            return setSupplierBuilder_.getMessage();
          }
          return smsc.Api.ResponseSetSupplier.getDefaultInstance();
        }
      }
      /**
       * <code>optional .smsc.ResponseSetSupplier setSupplier = 5;</code>
       */
      public Builder setSetSupplier(smsc.Api.ResponseSetSupplier value) {
        if (setSupplierBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          value_ = value;
          onChanged();
        } else {
          setSupplierBuilder_.setMessage(value);
        }
        valueCase_ = 5;
        return this;
      }
      /**
       * <code>optional .smsc.ResponseSetSupplier setSupplier = 5;</code>
       */
      public Builder setSetSupplier(
          smsc.Api.ResponseSetSupplier.Builder builderForValue) {
        if (setSupplierBuilder_ == null) {
          value_ = builderForValue.build();
          onChanged();
        } else {
          setSupplierBuilder_.setMessage(builderForValue.build());
        }
        valueCase_ = 5;
        return this;
      }
      /**
       * <code>optional .smsc.ResponseSetSupplier setSupplier = 5;</code>
       */
      public Builder mergeSetSupplier(smsc.Api.ResponseSetSupplier value) {
        if (setSupplierBuilder_ == null) {
          if (valueCase_ == 5 &&
              value_ != smsc.Api.ResponseSetSupplier.getDefaultInstance()) {
            value_ = smsc.Api.ResponseSetSupplier.newBuilder((smsc.Api.ResponseSetSupplier) value_)
                .mergeFrom(value).buildPartial();
          } else {
            value_ = value;
          }
          onChanged();
        } else {
          if (valueCase_ == 5) {
            setSupplierBuilder_.mergeFrom(value);
          }
          setSupplierBuilder_.setMessage(value);
        }
        valueCase_ = 5;
        return this;
      }
      /**
       * <code>optional .smsc.ResponseSetSupplier setSupplier = 5;</code>
       */
      public Builder clearSetSupplier() {
        if (setSupplierBuilder_ == null) {
          if (valueCase_ == 5) {
            valueCase_ = 0;
            value_ = null;
            onChanged();
          }
        } else {
          if (valueCase_ == 5) {
            valueCase_ = 0;
            value_ = null;
          }
          setSupplierBuilder_.clear();
        }
        return this;
      }
      /**
       * <code>optional .smsc.ResponseSetSupplier setSupplier = 5;</code>
       */
      public smsc.Api.ResponseSetSupplier.Builder getSetSupplierBuilder() {
        return getSetSupplierFieldBuilder().getBuilder();
      }
      /**
       * <code>optional .smsc.ResponseSetSupplier setSupplier = 5;</code>
       */
      public smsc.Api.ResponseSetSupplierOrBuilder getSetSupplierOrBuilder() {
        if ((valueCase_ == 5) && (setSupplierBuilder_ != null)) {
          return setSupplierBuilder_.getMessageOrBuilder();
        } else {
          if (valueCase_ == 5) {
            return (smsc.Api.ResponseSetSupplier) value_;
          }
          return smsc.Api.ResponseSetSupplier.getDefaultInstance();
        }
      }
      /**
       * <code>optional .smsc.ResponseSetSupplier setSupplier = 5;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          smsc.Api.ResponseSetSupplier, smsc.Api.ResponseSetSupplier.Builder, smsc.Api.ResponseSetSupplierOrBuilder> 
          getSetSupplierFieldBuilder() {
        if (setSupplierBuilder_ == null) {
          if (!(valueCase_ == 5)) {
            value_ = smsc.Api.ResponseSetSupplier.getDefaultInstance();
          }
          setSupplierBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              smsc.Api.ResponseSetSupplier, smsc.Api.ResponseSetSupplier.Builder, smsc.Api.ResponseSetSupplierOrBuilder>(
                  (smsc.Api.ResponseSetSupplier) value_,
                  getParentForChildren(),
                  isClean());
          value_ = null;
        }
        valueCase_ = 5;
        onChanged();;
        return setSupplierBuilder_;
      }

      private com.google.protobuf.SingleFieldBuilderV3<
          smsc.Api.ResponseCreateOrder, smsc.Api.ResponseCreateOrder.Builder, smsc.Api.ResponseCreateOrderOrBuilder> createOrderBuilder_;
      /**
       * <code>optional .smsc.ResponseCreateOrder createOrder = 6;</code>
       */
      public smsc.Api.ResponseCreateOrder getCreateOrder() {
        if (createOrderBuilder_ == null) {
          if (valueCase_ == 6) {
            return (smsc.Api.ResponseCreateOrder) value_;
          }
          return smsc.Api.ResponseCreateOrder.getDefaultInstance();
        } else {
          if (valueCase_ == 6) {
            return createOrderBuilder_.getMessage();
          }
          return smsc.Api.ResponseCreateOrder.getDefaultInstance();
        }
      }
      /**
       * <code>optional .smsc.ResponseCreateOrder createOrder = 6;</code>
       */
      public Builder setCreateOrder(smsc.Api.ResponseCreateOrder value) {
        if (createOrderBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          value_ = value;
          onChanged();
        } else {
          createOrderBuilder_.setMessage(value);
        }
        valueCase_ = 6;
        return this;
      }
      /**
       * <code>optional .smsc.ResponseCreateOrder createOrder = 6;</code>
       */
      public Builder setCreateOrder(
          smsc.Api.ResponseCreateOrder.Builder builderForValue) {
        if (createOrderBuilder_ == null) {
          value_ = builderForValue.build();
          onChanged();
        } else {
          createOrderBuilder_.setMessage(builderForValue.build());
        }
        valueCase_ = 6;
        return this;
      }
      /**
       * <code>optional .smsc.ResponseCreateOrder createOrder = 6;</code>
       */
      public Builder mergeCreateOrder(smsc.Api.ResponseCreateOrder value) {
        if (createOrderBuilder_ == null) {
          if (valueCase_ == 6 &&
              value_ != smsc.Api.ResponseCreateOrder.getDefaultInstance()) {
            value_ = smsc.Api.ResponseCreateOrder.newBuilder((smsc.Api.ResponseCreateOrder) value_)
                .mergeFrom(value).buildPartial();
          } else {
            value_ = value;
          }
          onChanged();
        } else {
          if (valueCase_ == 6) {
            createOrderBuilder_.mergeFrom(value);
          }
          createOrderBuilder_.setMessage(value);
        }
        valueCase_ = 6;
        return this;
      }
      /**
       * <code>optional .smsc.ResponseCreateOrder createOrder = 6;</code>
       */
      public Builder clearCreateOrder() {
        if (createOrderBuilder_ == null) {
          if (valueCase_ == 6) {
            valueCase_ = 0;
            value_ = null;
            onChanged();
          }
        } else {
          if (valueCase_ == 6) {
            valueCase_ = 0;
            value_ = null;
          }
          createOrderBuilder_.clear();
        }
        return this;
      }
      /**
       * <code>optional .smsc.ResponseCreateOrder createOrder = 6;</code>
       */
      public smsc.Api.ResponseCreateOrder.Builder getCreateOrderBuilder() {
        return getCreateOrderFieldBuilder().getBuilder();
      }
      /**
       * <code>optional .smsc.ResponseCreateOrder createOrder = 6;</code>
       */
      public smsc.Api.ResponseCreateOrderOrBuilder getCreateOrderOrBuilder() {
        if ((valueCase_ == 6) && (createOrderBuilder_ != null)) {
          return createOrderBuilder_.getMessageOrBuilder();
        } else {
          if (valueCase_ == 6) {
            return (smsc.Api.ResponseCreateOrder) value_;
          }
          return smsc.Api.ResponseCreateOrder.getDefaultInstance();
        }
      }
      /**
       * <code>optional .smsc.ResponseCreateOrder createOrder = 6;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          smsc.Api.ResponseCreateOrder, smsc.Api.ResponseCreateOrder.Builder, smsc.Api.ResponseCreateOrderOrBuilder> 
          getCreateOrderFieldBuilder() {
        if (createOrderBuilder_ == null) {
          if (!(valueCase_ == 6)) {
            value_ = smsc.Api.ResponseCreateOrder.getDefaultInstance();
          }
          createOrderBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              smsc.Api.ResponseCreateOrder, smsc.Api.ResponseCreateOrder.Builder, smsc.Api.ResponseCreateOrderOrBuilder>(
                  (smsc.Api.ResponseCreateOrder) value_,
                  getParentForChildren(),
                  isClean());
          value_ = null;
        }
        valueCase_ = 6;
        onChanged();;
        return createOrderBuilder_;
      }

      private com.google.protobuf.SingleFieldBuilderV3<
          smsc.Api.ResponseDelivery, smsc.Api.ResponseDelivery.Builder, smsc.Api.ResponseDeliveryOrBuilder> deliveryBuilder_;
      /**
       * <code>optional .smsc.ResponseDelivery delivery = 7;</code>
       */
      public smsc.Api.ResponseDelivery getDelivery() {
        if (deliveryBuilder_ == null) {
          if (valueCase_ == 7) {
            return (smsc.Api.ResponseDelivery) value_;
          }
          return smsc.Api.ResponseDelivery.getDefaultInstance();
        } else {
          if (valueCase_ == 7) {
            return deliveryBuilder_.getMessage();
          }
          return smsc.Api.ResponseDelivery.getDefaultInstance();
        }
      }
      /**
       * <code>optional .smsc.ResponseDelivery delivery = 7;</code>
       */
      public Builder setDelivery(smsc.Api.ResponseDelivery value) {
        if (deliveryBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          value_ = value;
          onChanged();
        } else {
          deliveryBuilder_.setMessage(value);
        }
        valueCase_ = 7;
        return this;
      }
      /**
       * <code>optional .smsc.ResponseDelivery delivery = 7;</code>
       */
      public Builder setDelivery(
          smsc.Api.ResponseDelivery.Builder builderForValue) {
        if (deliveryBuilder_ == null) {
          value_ = builderForValue.build();
          onChanged();
        } else {
          deliveryBuilder_.setMessage(builderForValue.build());
        }
        valueCase_ = 7;
        return this;
      }
      /**
       * <code>optional .smsc.ResponseDelivery delivery = 7;</code>
       */
      public Builder mergeDelivery(smsc.Api.ResponseDelivery value) {
        if (deliveryBuilder_ == null) {
          if (valueCase_ == 7 &&
              value_ != smsc.Api.ResponseDelivery.getDefaultInstance()) {
            value_ = smsc.Api.ResponseDelivery.newBuilder((smsc.Api.ResponseDelivery) value_)
                .mergeFrom(value).buildPartial();
          } else {
            value_ = value;
          }
          onChanged();
        } else {
          if (valueCase_ == 7) {
            deliveryBuilder_.mergeFrom(value);
          }
          deliveryBuilder_.setMessage(value);
        }
        valueCase_ = 7;
        return this;
      }
      /**
       * <code>optional .smsc.ResponseDelivery delivery = 7;</code>
       */
      public Builder clearDelivery() {
        if (deliveryBuilder_ == null) {
          if (valueCase_ == 7) {
            valueCase_ = 0;
            value_ = null;
            onChanged();
          }
        } else {
          if (valueCase_ == 7) {
            valueCase_ = 0;
            value_ = null;
          }
          deliveryBuilder_.clear();
        }
        return this;
      }
      /**
       * <code>optional .smsc.ResponseDelivery delivery = 7;</code>
       */
      public smsc.Api.ResponseDelivery.Builder getDeliveryBuilder() {
        return getDeliveryFieldBuilder().getBuilder();
      }
      /**
       * <code>optional .smsc.ResponseDelivery delivery = 7;</code>
       */
      public smsc.Api.ResponseDeliveryOrBuilder getDeliveryOrBuilder() {
        if ((valueCase_ == 7) && (deliveryBuilder_ != null)) {
          return deliveryBuilder_.getMessageOrBuilder();
        } else {
          if (valueCase_ == 7) {
            return (smsc.Api.ResponseDelivery) value_;
          }
          return smsc.Api.ResponseDelivery.getDefaultInstance();
        }
      }
      /**
       * <code>optional .smsc.ResponseDelivery delivery = 7;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          smsc.Api.ResponseDelivery, smsc.Api.ResponseDelivery.Builder, smsc.Api.ResponseDeliveryOrBuilder> 
          getDeliveryFieldBuilder() {
        if (deliveryBuilder_ == null) {
          if (!(valueCase_ == 7)) {
            value_ = smsc.Api.ResponseDelivery.getDefaultInstance();
          }
          deliveryBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              smsc.Api.ResponseDelivery, smsc.Api.ResponseDelivery.Builder, smsc.Api.ResponseDeliveryOrBuilder>(
                  (smsc.Api.ResponseDelivery) value_,
                  getParentForChildren(),
                  isClean());
          value_ = null;
        }
        valueCase_ = 7;
        onChanged();;
        return deliveryBuilder_;
      }

      private com.google.protobuf.SingleFieldBuilderV3<
          smsc.Api.ResponseCarry, smsc.Api.ResponseCarry.Builder, smsc.Api.ResponseCarryOrBuilder> carryBuilder_;
      /**
       * <code>optional .smsc.ResponseCarry carry = 8;</code>
       */
      public smsc.Api.ResponseCarry getCarry() {
        if (carryBuilder_ == null) {
          if (valueCase_ == 8) {
            return (smsc.Api.ResponseCarry) value_;
          }
          return smsc.Api.ResponseCarry.getDefaultInstance();
        } else {
          if (valueCase_ == 8) {
            return carryBuilder_.getMessage();
          }
          return smsc.Api.ResponseCarry.getDefaultInstance();
        }
      }
      /**
       * <code>optional .smsc.ResponseCarry carry = 8;</code>
       */
      public Builder setCarry(smsc.Api.ResponseCarry value) {
        if (carryBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          value_ = value;
          onChanged();
        } else {
          carryBuilder_.setMessage(value);
        }
        valueCase_ = 8;
        return this;
      }
      /**
       * <code>optional .smsc.ResponseCarry carry = 8;</code>
       */
      public Builder setCarry(
          smsc.Api.ResponseCarry.Builder builderForValue) {
        if (carryBuilder_ == null) {
          value_ = builderForValue.build();
          onChanged();
        } else {
          carryBuilder_.setMessage(builderForValue.build());
        }
        valueCase_ = 8;
        return this;
      }
      /**
       * <code>optional .smsc.ResponseCarry carry = 8;</code>
       */
      public Builder mergeCarry(smsc.Api.ResponseCarry value) {
        if (carryBuilder_ == null) {
          if (valueCase_ == 8 &&
              value_ != smsc.Api.ResponseCarry.getDefaultInstance()) {
            value_ = smsc.Api.ResponseCarry.newBuilder((smsc.Api.ResponseCarry) value_)
                .mergeFrom(value).buildPartial();
          } else {
            value_ = value;
          }
          onChanged();
        } else {
          if (valueCase_ == 8) {
            carryBuilder_.mergeFrom(value);
          }
          carryBuilder_.setMessage(value);
        }
        valueCase_ = 8;
        return this;
      }
      /**
       * <code>optional .smsc.ResponseCarry carry = 8;</code>
       */
      public Builder clearCarry() {
        if (carryBuilder_ == null) {
          if (valueCase_ == 8) {
            valueCase_ = 0;
            value_ = null;
            onChanged();
          }
        } else {
          if (valueCase_ == 8) {
            valueCase_ = 0;
            value_ = null;
          }
          carryBuilder_.clear();
        }
        return this;
      }
      /**
       * <code>optional .smsc.ResponseCarry carry = 8;</code>
       */
      public smsc.Api.ResponseCarry.Builder getCarryBuilder() {
        return getCarryFieldBuilder().getBuilder();
      }
      /**
       * <code>optional .smsc.ResponseCarry carry = 8;</code>
       */
      public smsc.Api.ResponseCarryOrBuilder getCarryOrBuilder() {
        if ((valueCase_ == 8) && (carryBuilder_ != null)) {
          return carryBuilder_.getMessageOrBuilder();
        } else {
          if (valueCase_ == 8) {
            return (smsc.Api.ResponseCarry) value_;
          }
          return smsc.Api.ResponseCarry.getDefaultInstance();
        }
      }
      /**
       * <code>optional .smsc.ResponseCarry carry = 8;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          smsc.Api.ResponseCarry, smsc.Api.ResponseCarry.Builder, smsc.Api.ResponseCarryOrBuilder> 
          getCarryFieldBuilder() {
        if (carryBuilder_ == null) {
          if (!(valueCase_ == 8)) {
            value_ = smsc.Api.ResponseCarry.getDefaultInstance();
          }
          carryBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              smsc.Api.ResponseCarry, smsc.Api.ResponseCarry.Builder, smsc.Api.ResponseCarryOrBuilder>(
                  (smsc.Api.ResponseCarry) value_,
                  getParentForChildren(),
                  isClean());
          value_ = null;
        }
        valueCase_ = 8;
        onChanged();;
        return carryBuilder_;
      }

      private com.google.protobuf.SingleFieldBuilderV3<
          smsc.Api.ResponseCheck, smsc.Api.ResponseCheck.Builder, smsc.Api.ResponseCheckOrBuilder> checkBuilder_;
      /**
       * <code>optional .smsc.ResponseCheck check = 9;</code>
       */
      public smsc.Api.ResponseCheck getCheck() {
        if (checkBuilder_ == null) {
          if (valueCase_ == 9) {
            return (smsc.Api.ResponseCheck) value_;
          }
          return smsc.Api.ResponseCheck.getDefaultInstance();
        } else {
          if (valueCase_ == 9) {
            return checkBuilder_.getMessage();
          }
          return smsc.Api.ResponseCheck.getDefaultInstance();
        }
      }
      /**
       * <code>optional .smsc.ResponseCheck check = 9;</code>
       */
      public Builder setCheck(smsc.Api.ResponseCheck value) {
        if (checkBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          value_ = value;
          onChanged();
        } else {
          checkBuilder_.setMessage(value);
        }
        valueCase_ = 9;
        return this;
      }
      /**
       * <code>optional .smsc.ResponseCheck check = 9;</code>
       */
      public Builder setCheck(
          smsc.Api.ResponseCheck.Builder builderForValue) {
        if (checkBuilder_ == null) {
          value_ = builderForValue.build();
          onChanged();
        } else {
          checkBuilder_.setMessage(builderForValue.build());
        }
        valueCase_ = 9;
        return this;
      }
      /**
       * <code>optional .smsc.ResponseCheck check = 9;</code>
       */
      public Builder mergeCheck(smsc.Api.ResponseCheck value) {
        if (checkBuilder_ == null) {
          if (valueCase_ == 9 &&
              value_ != smsc.Api.ResponseCheck.getDefaultInstance()) {
            value_ = smsc.Api.ResponseCheck.newBuilder((smsc.Api.ResponseCheck) value_)
                .mergeFrom(value).buildPartial();
          } else {
            value_ = value;
          }
          onChanged();
        } else {
          if (valueCase_ == 9) {
            checkBuilder_.mergeFrom(value);
          }
          checkBuilder_.setMessage(value);
        }
        valueCase_ = 9;
        return this;
      }
      /**
       * <code>optional .smsc.ResponseCheck check = 9;</code>
       */
      public Builder clearCheck() {
        if (checkBuilder_ == null) {
          if (valueCase_ == 9) {
            valueCase_ = 0;
            value_ = null;
            onChanged();
          }
        } else {
          if (valueCase_ == 9) {
            valueCase_ = 0;
            value_ = null;
          }
          checkBuilder_.clear();
        }
        return this;
      }
      /**
       * <code>optional .smsc.ResponseCheck check = 9;</code>
       */
      public smsc.Api.ResponseCheck.Builder getCheckBuilder() {
        return getCheckFieldBuilder().getBuilder();
      }
      /**
       * <code>optional .smsc.ResponseCheck check = 9;</code>
       */
      public smsc.Api.ResponseCheckOrBuilder getCheckOrBuilder() {
        if ((valueCase_ == 9) && (checkBuilder_ != null)) {
          return checkBuilder_.getMessageOrBuilder();
        } else {
          if (valueCase_ == 9) {
            return (smsc.Api.ResponseCheck) value_;
          }
          return smsc.Api.ResponseCheck.getDefaultInstance();
        }
      }
      /**
       * <code>optional .smsc.ResponseCheck check = 9;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          smsc.Api.ResponseCheck, smsc.Api.ResponseCheck.Builder, smsc.Api.ResponseCheckOrBuilder> 
          getCheckFieldBuilder() {
        if (checkBuilder_ == null) {
          if (!(valueCase_ == 9)) {
            value_ = smsc.Api.ResponseCheck.getDefaultInstance();
          }
          checkBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              smsc.Api.ResponseCheck, smsc.Api.ResponseCheck.Builder, smsc.Api.ResponseCheckOrBuilder>(
                  (smsc.Api.ResponseCheck) value_,
                  getParentForChildren(),
                  isClean());
          value_ = null;
        }
        valueCase_ = 9;
        onChanged();;
        return checkBuilder_;
      }

      private com.google.protobuf.SingleFieldBuilderV3<
          smsc.Api.ResponseOK, smsc.Api.ResponseOK.Builder, smsc.Api.ResponseOKOrBuilder> okBuilder_;
      /**
       * <code>optional .smsc.ResponseOK ok = 10;</code>
       */
      public smsc.Api.ResponseOK getOk() {
        if (okBuilder_ == null) {
          if (valueCase_ == 10) {
            return (smsc.Api.ResponseOK) value_;
          }
          return smsc.Api.ResponseOK.getDefaultInstance();
        } else {
          if (valueCase_ == 10) {
            return okBuilder_.getMessage();
          }
          return smsc.Api.ResponseOK.getDefaultInstance();
        }
      }
      /**
       * <code>optional .smsc.ResponseOK ok = 10;</code>
       */
      public Builder setOk(smsc.Api.ResponseOK value) {
        if (okBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          value_ = value;
          onChanged();
        } else {
          okBuilder_.setMessage(value);
        }
        valueCase_ = 10;
        return this;
      }
      /**
       * <code>optional .smsc.ResponseOK ok = 10;</code>
       */
      public Builder setOk(
          smsc.Api.ResponseOK.Builder builderForValue) {
        if (okBuilder_ == null) {
          value_ = builderForValue.build();
          onChanged();
        } else {
          okBuilder_.setMessage(builderForValue.build());
        }
        valueCase_ = 10;
        return this;
      }
      /**
       * <code>optional .smsc.ResponseOK ok = 10;</code>
       */
      public Builder mergeOk(smsc.Api.ResponseOK value) {
        if (okBuilder_ == null) {
          if (valueCase_ == 10 &&
              value_ != smsc.Api.ResponseOK.getDefaultInstance()) {
            value_ = smsc.Api.ResponseOK.newBuilder((smsc.Api.ResponseOK) value_)
                .mergeFrom(value).buildPartial();
          } else {
            value_ = value;
          }
          onChanged();
        } else {
          if (valueCase_ == 10) {
            okBuilder_.mergeFrom(value);
          }
          okBuilder_.setMessage(value);
        }
        valueCase_ = 10;
        return this;
      }
      /**
       * <code>optional .smsc.ResponseOK ok = 10;</code>
       */
      public Builder clearOk() {
        if (okBuilder_ == null) {
          if (valueCase_ == 10) {
            valueCase_ = 0;
            value_ = null;
            onChanged();
          }
        } else {
          if (valueCase_ == 10) {
            valueCase_ = 0;
            value_ = null;
          }
          okBuilder_.clear();
        }
        return this;
      }
      /**
       * <code>optional .smsc.ResponseOK ok = 10;</code>
       */
      public smsc.Api.ResponseOK.Builder getOkBuilder() {
        return getOkFieldBuilder().getBuilder();
      }
      /**
       * <code>optional .smsc.ResponseOK ok = 10;</code>
       */
      public smsc.Api.ResponseOKOrBuilder getOkOrBuilder() {
        if ((valueCase_ == 10) && (okBuilder_ != null)) {
          return okBuilder_.getMessageOrBuilder();
        } else {
          if (valueCase_ == 10) {
            return (smsc.Api.ResponseOK) value_;
          }
          return smsc.Api.ResponseOK.getDefaultInstance();
        }
      }
      /**
       * <code>optional .smsc.ResponseOK ok = 10;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          smsc.Api.ResponseOK, smsc.Api.ResponseOK.Builder, smsc.Api.ResponseOKOrBuilder> 
          getOkFieldBuilder() {
        if (okBuilder_ == null) {
          if (!(valueCase_ == 10)) {
            value_ = smsc.Api.ResponseOK.getDefaultInstance();
          }
          okBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              smsc.Api.ResponseOK, smsc.Api.ResponseOK.Builder, smsc.Api.ResponseOKOrBuilder>(
                  (smsc.Api.ResponseOK) value_,
                  getParentForChildren(),
                  isClean());
          value_ = null;
        }
        valueCase_ = 10;
        onChanged();;
        return okBuilder_;
      }

      private com.google.protobuf.SingleFieldBuilderV3<
          smsc.Api.ResponseException, smsc.Api.ResponseException.Builder, smsc.Api.ResponseExceptionOrBuilder> exceptionBuilder_;
      /**
       * <code>optional .smsc.ResponseException exception = 11;</code>
       */
      public smsc.Api.ResponseException getException() {
        if (exceptionBuilder_ == null) {
          if (valueCase_ == 11) {
            return (smsc.Api.ResponseException) value_;
          }
          return smsc.Api.ResponseException.getDefaultInstance();
        } else {
          if (valueCase_ == 11) {
            return exceptionBuilder_.getMessage();
          }
          return smsc.Api.ResponseException.getDefaultInstance();
        }
      }
      /**
       * <code>optional .smsc.ResponseException exception = 11;</code>
       */
      public Builder setException(smsc.Api.ResponseException value) {
        if (exceptionBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          value_ = value;
          onChanged();
        } else {
          exceptionBuilder_.setMessage(value);
        }
        valueCase_ = 11;
        return this;
      }
      /**
       * <code>optional .smsc.ResponseException exception = 11;</code>
       */
      public Builder setException(
          smsc.Api.ResponseException.Builder builderForValue) {
        if (exceptionBuilder_ == null) {
          value_ = builderForValue.build();
          onChanged();
        } else {
          exceptionBuilder_.setMessage(builderForValue.build());
        }
        valueCase_ = 11;
        return this;
      }
      /**
       * <code>optional .smsc.ResponseException exception = 11;</code>
       */
      public Builder mergeException(smsc.Api.ResponseException value) {
        if (exceptionBuilder_ == null) {
          if (valueCase_ == 11 &&
              value_ != smsc.Api.ResponseException.getDefaultInstance()) {
            value_ = smsc.Api.ResponseException.newBuilder((smsc.Api.ResponseException) value_)
                .mergeFrom(value).buildPartial();
          } else {
            value_ = value;
          }
          onChanged();
        } else {
          if (valueCase_ == 11) {
            exceptionBuilder_.mergeFrom(value);
          }
          exceptionBuilder_.setMessage(value);
        }
        valueCase_ = 11;
        return this;
      }
      /**
       * <code>optional .smsc.ResponseException exception = 11;</code>
       */
      public Builder clearException() {
        if (exceptionBuilder_ == null) {
          if (valueCase_ == 11) {
            valueCase_ = 0;
            value_ = null;
            onChanged();
          }
        } else {
          if (valueCase_ == 11) {
            valueCase_ = 0;
            value_ = null;
          }
          exceptionBuilder_.clear();
        }
        return this;
      }
      /**
       * <code>optional .smsc.ResponseException exception = 11;</code>
       */
      public smsc.Api.ResponseException.Builder getExceptionBuilder() {
        return getExceptionFieldBuilder().getBuilder();
      }
      /**
       * <code>optional .smsc.ResponseException exception = 11;</code>
       */
      public smsc.Api.ResponseExceptionOrBuilder getExceptionOrBuilder() {
        if ((valueCase_ == 11) && (exceptionBuilder_ != null)) {
          return exceptionBuilder_.getMessageOrBuilder();
        } else {
          if (valueCase_ == 11) {
            return (smsc.Api.ResponseException) value_;
          }
          return smsc.Api.ResponseException.getDefaultInstance();
        }
      }
      /**
       * <code>optional .smsc.ResponseException exception = 11;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          smsc.Api.ResponseException, smsc.Api.ResponseException.Builder, smsc.Api.ResponseExceptionOrBuilder> 
          getExceptionFieldBuilder() {
        if (exceptionBuilder_ == null) {
          if (!(valueCase_ == 11)) {
            value_ = smsc.Api.ResponseException.getDefaultInstance();
          }
          exceptionBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              smsc.Api.ResponseException, smsc.Api.ResponseException.Builder, smsc.Api.ResponseExceptionOrBuilder>(
                  (smsc.Api.ResponseException) value_,
                  getParentForChildren(),
                  isClean());
          value_ = null;
        }
        valueCase_ = 11;
        onChanged();;
        return exceptionBuilder_;
      }
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return this;
      }

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


      // @@protoc_insertion_point(builder_scope:smsc.Response)
    }

    // @@protoc_insertion_point(class_scope:smsc.Response)
    private static final smsc.Api.Response DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new smsc.Api.Response();
    }

    public static smsc.Api.Response getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

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

    public smsc.Api.Response getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface ResponseExceptionOrBuilder extends
      // @@protoc_insertion_point(interface_extends:smsc.ResponseException)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <code>optional string error = 1;</code>
     */
    java.lang.String getError();
    /**
     * <code>optional string error = 1;</code>
     */
    com.google.protobuf.ByteString
        getErrorBytes();
  }
  /**
   * Protobuf type {@code smsc.ResponseException}
   */
  public  static final class ResponseException extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:smsc.ResponseException)
      ResponseExceptionOrBuilder {
    // Use ResponseException.newBuilder() to construct.
    private ResponseException(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private ResponseException() {
      error_ = "";
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return com.google.protobuf.UnknownFieldSet.getDefaultInstance();
    }
    private ResponseException(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      int mutable_bitField0_ = 0;
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!input.skipField(tag)) {
                done = true;
              }
              break;
            }
            case 10: {
              java.lang.String s = input.readStringRequireUtf8();

              error_ = s;
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return smsc.Api.internal_static_smsc_ResponseException_descriptor;
    }

    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return smsc.Api.internal_static_smsc_ResponseException_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              smsc.Api.ResponseException.class, smsc.Api.ResponseException.Builder.class);
    }

    public static final int ERROR_FIELD_NUMBER = 1;
    private volatile java.lang.Object error_;
    /**
     * <code>optional string error = 1;</code>
     */
    public java.lang.String getError() {
      java.lang.Object ref = error_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        error_ = s;
        return s;
      }
    }
    /**
     * <code>optional string error = 1;</code>
     */
    public com.google.protobuf.ByteString
        getErrorBytes() {
      java.lang.Object ref = error_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        error_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

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

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (!getErrorBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 1, error_);
      }
    }

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

      size = 0;
      if (!getErrorBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, error_);
      }
      memoizedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof smsc.Api.ResponseException)) {
        return super.equals(obj);
      }
      smsc.Api.ResponseException other = (smsc.Api.ResponseException) obj;

      boolean result = true;
      result = result && getError()
          .equals(other.getError());
      return result;
    }

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

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

    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(smsc.Api.ResponseException prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code smsc.ResponseException}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:smsc.ResponseException)
        smsc.Api.ResponseExceptionOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return smsc.Api.internal_static_smsc_ResponseException_descriptor;
      }

      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return smsc.Api.internal_static_smsc_ResponseException_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                smsc.Api.ResponseException.class, smsc.Api.ResponseException.Builder.class);
      }

      // Construct using smsc.Api.ResponseException.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
        }
      }
      public Builder clear() {
        super.clear();
        error_ = "";

        return this;
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return smsc.Api.internal_static_smsc_ResponseException_descriptor;
      }

      public smsc.Api.ResponseException getDefaultInstanceForType() {
        return smsc.Api.ResponseException.getDefaultInstance();
      }

      public smsc.Api.ResponseException build() {
        smsc.Api.ResponseException result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public smsc.Api.ResponseException buildPartial() {
        smsc.Api.ResponseException result = new smsc.Api.ResponseException(this);
        result.error_ = error_;
        onBuilt();
        return result;
      }

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

      public Builder mergeFrom(smsc.Api.ResponseException other) {
        if (other == smsc.Api.ResponseException.getDefaultInstance()) return this;
        if (!other.getError().isEmpty()) {
          error_ = other.error_;
          onChanged();
        }
        onChanged();
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        smsc.Api.ResponseException parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (smsc.Api.ResponseException) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }

      private java.lang.Object error_ = "";
      /**
       * <code>optional string error = 1;</code>
       */
      public java.lang.String getError() {
        java.lang.Object ref = error_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          error_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>optional string error = 1;</code>
       */
      public com.google.protobuf.ByteString
          getErrorBytes() {
        java.lang.Object ref = error_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          error_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>optional string error = 1;</code>
       */
      public Builder setError(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        error_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional string error = 1;</code>
       */
      public Builder clearError() {
        
        error_ = getDefaultInstance().getError();
        onChanged();
        return this;
      }
      /**
       * <code>optional string error = 1;</code>
       */
      public Builder setErrorBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        error_ = value;
        onChanged();
        return this;
      }
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return this;
      }

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


      // @@protoc_insertion_point(builder_scope:smsc.ResponseException)
    }

    // @@protoc_insertion_point(class_scope:smsc.ResponseException)
    private static final smsc.Api.ResponseException DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new smsc.Api.ResponseException();
    }

    public static smsc.Api.ResponseException getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

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

    public smsc.Api.ResponseException getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface ResponseOKOrBuilder extends
      // @@protoc_insertion_point(interface_extends:smsc.ResponseOK)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <code>optional bool ok = 1;</code>
     */
    boolean getOk();
  }
  /**
   * Protobuf type {@code smsc.ResponseOK}
   */
  public  static final class ResponseOK extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:smsc.ResponseOK)
      ResponseOKOrBuilder {
    // Use ResponseOK.newBuilder() to construct.
    private ResponseOK(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private ResponseOK() {
      ok_ = false;
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return com.google.protobuf.UnknownFieldSet.getDefaultInstance();
    }
    private ResponseOK(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      int mutable_bitField0_ = 0;
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!input.skipField(tag)) {
                done = true;
              }
              break;
            }
            case 8: {

              ok_ = input.readBool();
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return smsc.Api.internal_static_smsc_ResponseOK_descriptor;
    }

    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return smsc.Api.internal_static_smsc_ResponseOK_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              smsc.Api.ResponseOK.class, smsc.Api.ResponseOK.Builder.class);
    }

    public static final int OK_FIELD_NUMBER = 1;
    private boolean ok_;
    /**
     * <code>optional bool ok = 1;</code>
     */
    public boolean getOk() {
      return ok_;
    }

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

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (ok_ != false) {
        output.writeBool(1, ok_);
      }
    }

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

      size = 0;
      if (ok_ != false) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(1, ok_);
      }
      memoizedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof smsc.Api.ResponseOK)) {
        return super.equals(obj);
      }
      smsc.Api.ResponseOK other = (smsc.Api.ResponseOK) obj;

      boolean result = true;
      result = result && (getOk()
          == other.getOk());
      return result;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptorForType().hashCode();
      hash = (37 * hash) + OK_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
          getOk());
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

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

    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(smsc.Api.ResponseOK prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code smsc.ResponseOK}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:smsc.ResponseOK)
        smsc.Api.ResponseOKOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return smsc.Api.internal_static_smsc_ResponseOK_descriptor;
      }

      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return smsc.Api.internal_static_smsc_ResponseOK_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                smsc.Api.ResponseOK.class, smsc.Api.ResponseOK.Builder.class);
      }

      // Construct using smsc.Api.ResponseOK.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
        }
      }
      public Builder clear() {
        super.clear();
        ok_ = false;

        return this;
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return smsc.Api.internal_static_smsc_ResponseOK_descriptor;
      }

      public smsc.Api.ResponseOK getDefaultInstanceForType() {
        return smsc.Api.ResponseOK.getDefaultInstance();
      }

      public smsc.Api.ResponseOK build() {
        smsc.Api.ResponseOK result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public smsc.Api.ResponseOK buildPartial() {
        smsc.Api.ResponseOK result = new smsc.Api.ResponseOK(this);
        result.ok_ = ok_;
        onBuilt();
        return result;
      }

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

      public Builder mergeFrom(smsc.Api.ResponseOK other) {
        if (other == smsc.Api.ResponseOK.getDefaultInstance()) return this;
        if (other.getOk() != false) {
          setOk(other.getOk());
        }
        onChanged();
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        smsc.Api.ResponseOK parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (smsc.Api.ResponseOK) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }

      private boolean ok_ ;
      /**
       * <code>optional bool ok = 1;</code>
       */
      public boolean getOk() {
        return ok_;
      }
      /**
       * <code>optional bool ok = 1;</code>
       */
      public Builder setOk(boolean value) {
        
        ok_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional bool ok = 1;</code>
       */
      public Builder clearOk() {
        
        ok_ = false;
        onChanged();
        return this;
      }
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return this;
      }

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


      // @@protoc_insertion_point(builder_scope:smsc.ResponseOK)
    }

    // @@protoc_insertion_point(class_scope:smsc.ResponseOK)
    private static final smsc.Api.ResponseOK DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new smsc.Api.ResponseOK();
    }

    public static smsc.Api.ResponseOK getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

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

    public smsc.Api.ResponseOK getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface ReceiptOrBuilder extends
      // @@protoc_insertion_point(interface_extends:smsc.Receipt)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <code>optional bool isOk = 1;</code>
     */
    boolean getIsOk();

    /**
     * <code>optional bytes err = 2;</code>
     */
    com.google.protobuf.ByteString getErr();
  }
  /**
   * Protobuf type {@code smsc.Receipt}
   */
  public  static final class Receipt extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:smsc.Receipt)
      ReceiptOrBuilder {
    // Use Receipt.newBuilder() to construct.
    private Receipt(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private Receipt() {
      isOk_ = false;
      err_ = com.google.protobuf.ByteString.EMPTY;
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return com.google.protobuf.UnknownFieldSet.getDefaultInstance();
    }
    private Receipt(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      int mutable_bitField0_ = 0;
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!input.skipField(tag)) {
                done = true;
              }
              break;
            }
            case 8: {

              isOk_ = input.readBool();
              break;
            }
            case 18: {

              err_ = input.readBytes();
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return smsc.Api.internal_static_smsc_Receipt_descriptor;
    }

    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return smsc.Api.internal_static_smsc_Receipt_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              smsc.Api.Receipt.class, smsc.Api.Receipt.Builder.class);
    }

    public static final int ISOK_FIELD_NUMBER = 1;
    private boolean isOk_;
    /**
     * <code>optional bool isOk = 1;</code>
     */
    public boolean getIsOk() {
      return isOk_;
    }

    public static final int ERR_FIELD_NUMBER = 2;
    private com.google.protobuf.ByteString err_;
    /**
     * <code>optional bytes err = 2;</code>
     */
    public com.google.protobuf.ByteString getErr() {
      return err_;
    }

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

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (isOk_ != false) {
        output.writeBool(1, isOk_);
      }
      if (!err_.isEmpty()) {
        output.writeBytes(2, err_);
      }
    }

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

      size = 0;
      if (isOk_ != false) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(1, isOk_);
      }
      if (!err_.isEmpty()) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(2, err_);
      }
      memoizedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof smsc.Api.Receipt)) {
        return super.equals(obj);
      }
      smsc.Api.Receipt other = (smsc.Api.Receipt) obj;

      boolean result = true;
      result = result && (getIsOk()
          == other.getIsOk());
      result = result && getErr()
          .equals(other.getErr());
      return result;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptorForType().hashCode();
      hash = (37 * hash) + ISOK_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
          getIsOk());
      hash = (37 * hash) + ERR_FIELD_NUMBER;
      hash = (53 * hash) + getErr().hashCode();
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

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

    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(smsc.Api.Receipt prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code smsc.Receipt}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:smsc.Receipt)
        smsc.Api.ReceiptOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return smsc.Api.internal_static_smsc_Receipt_descriptor;
      }

      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return smsc.Api.internal_static_smsc_Receipt_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                smsc.Api.Receipt.class, smsc.Api.Receipt.Builder.class);
      }

      // Construct using smsc.Api.Receipt.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
        }
      }
      public Builder clear() {
        super.clear();
        isOk_ = false;

        err_ = com.google.protobuf.ByteString.EMPTY;

        return this;
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return smsc.Api.internal_static_smsc_Receipt_descriptor;
      }

      public smsc.Api.Receipt getDefaultInstanceForType() {
        return smsc.Api.Receipt.getDefaultInstance();
      }

      public smsc.Api.Receipt build() {
        smsc.Api.Receipt result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public smsc.Api.Receipt buildPartial() {
        smsc.Api.Receipt result = new smsc.Api.Receipt(this);
        result.isOk_ = isOk_;
        result.err_ = err_;
        onBuilt();
        return result;
      }

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

      public Builder mergeFrom(smsc.Api.Receipt other) {
        if (other == smsc.Api.Receipt.getDefaultInstance()) return this;
        if (other.getIsOk() != false) {
          setIsOk(other.getIsOk());
        }
        if (other.getErr() != com.google.protobuf.ByteString.EMPTY) {
          setErr(other.getErr());
        }
        onChanged();
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        smsc.Api.Receipt parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (smsc.Api.Receipt) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }

      private boolean isOk_ ;
      /**
       * <code>optional bool isOk = 1;</code>
       */
      public boolean getIsOk() {
        return isOk_;
      }
      /**
       * <code>optional bool isOk = 1;</code>
       */
      public Builder setIsOk(boolean value) {
        
        isOk_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional bool isOk = 1;</code>
       */
      public Builder clearIsOk() {
        
        isOk_ = false;
        onChanged();
        return this;
      }

      private com.google.protobuf.ByteString err_ = com.google.protobuf.ByteString.EMPTY;
      /**
       * <code>optional bytes err = 2;</code>
       */
      public com.google.protobuf.ByteString getErr() {
        return err_;
      }
      /**
       * <code>optional bytes err = 2;</code>
       */
      public Builder setErr(com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        err_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional bytes err = 2;</code>
       */
      public Builder clearErr() {
        
        err_ = getDefaultInstance().getErr();
        onChanged();
        return this;
      }
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return this;
      }

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


      // @@protoc_insertion_point(builder_scope:smsc.Receipt)
    }

    // @@protoc_insertion_point(class_scope:smsc.Receipt)
    private static final smsc.Api.Receipt DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new smsc.Api.Receipt();
    }

    public static smsc.Api.Receipt getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

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

    public smsc.Api.Receipt getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface ResponseSetAdminOrBuilder extends
      // @@protoc_insertion_point(interface_extends:smsc.ResponseSetAdmin)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <code>optional int64 instructionId = 1;</code>
     */
    long getInstructionId();

    /**
     * <code>optional .smsc.Event event = 2;</code>
     */
    boolean hasEvent();
    /**
     * <code>optional .smsc.Event event = 2;</code>
     */
    smsc.Api.Event getEvent();
    /**
     * <code>optional .smsc.Event event = 2;</code>
     */
    smsc.Api.EventOrBuilder getEventOrBuilder();
  }
  /**
   * Protobuf type {@code smsc.ResponseSetAdmin}
   */
  public  static final class ResponseSetAdmin extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:smsc.ResponseSetAdmin)
      ResponseSetAdminOrBuilder {
    // Use ResponseSetAdmin.newBuilder() to construct.
    private ResponseSetAdmin(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private ResponseSetAdmin() {
      instructionId_ = 0L;
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return com.google.protobuf.UnknownFieldSet.getDefaultInstance();
    }
    private ResponseSetAdmin(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      int mutable_bitField0_ = 0;
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!input.skipField(tag)) {
                done = true;
              }
              break;
            }
            case 8: {

              instructionId_ = input.readInt64();
              break;
            }
            case 18: {
              smsc.Api.Event.Builder subBuilder = null;
              if (event_ != null) {
                subBuilder = event_.toBuilder();
              }
              event_ = input.readMessage(smsc.Api.Event.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(event_);
                event_ = subBuilder.buildPartial();
              }

              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return smsc.Api.internal_static_smsc_ResponseSetAdmin_descriptor;
    }

    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return smsc.Api.internal_static_smsc_ResponseSetAdmin_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              smsc.Api.ResponseSetAdmin.class, smsc.Api.ResponseSetAdmin.Builder.class);
    }

    public static final int INSTRUCTIONID_FIELD_NUMBER = 1;
    private long instructionId_;
    /**
     * <code>optional int64 instructionId = 1;</code>
     */
    public long getInstructionId() {
      return instructionId_;
    }

    public static final int EVENT_FIELD_NUMBER = 2;
    private smsc.Api.Event event_;
    /**
     * <code>optional .smsc.Event event = 2;</code>
     */
    public boolean hasEvent() {
      return event_ != null;
    }
    /**
     * <code>optional .smsc.Event event = 2;</code>
     */
    public smsc.Api.Event getEvent() {
      return event_ == null ? smsc.Api.Event.getDefaultInstance() : event_;
    }
    /**
     * <code>optional .smsc.Event event = 2;</code>
     */
    public smsc.Api.EventOrBuilder getEventOrBuilder() {
      return getEvent();
    }

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

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (instructionId_ != 0L) {
        output.writeInt64(1, instructionId_);
      }
      if (event_ != null) {
        output.writeMessage(2, getEvent());
      }
    }

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

      size = 0;
      if (instructionId_ != 0L) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt64Size(1, instructionId_);
      }
      if (event_ != null) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(2, getEvent());
      }
      memoizedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof smsc.Api.ResponseSetAdmin)) {
        return super.equals(obj);
      }
      smsc.Api.ResponseSetAdmin other = (smsc.Api.ResponseSetAdmin) obj;

      boolean result = true;
      result = result && (getInstructionId()
          == other.getInstructionId());
      result = result && (hasEvent() == other.hasEvent());
      if (hasEvent()) {
        result = result && getEvent()
            .equals(other.getEvent());
      }
      return result;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptorForType().hashCode();
      hash = (37 * hash) + INSTRUCTIONID_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
          getInstructionId());
      if (hasEvent()) {
        hash = (37 * hash) + EVENT_FIELD_NUMBER;
        hash = (53 * hash) + getEvent().hashCode();
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

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

    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(smsc.Api.ResponseSetAdmin prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code smsc.ResponseSetAdmin}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:smsc.ResponseSetAdmin)
        smsc.Api.ResponseSetAdminOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return smsc.Api.internal_static_smsc_ResponseSetAdmin_descriptor;
      }

      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return smsc.Api.internal_static_smsc_ResponseSetAdmin_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                smsc.Api.ResponseSetAdmin.class, smsc.Api.ResponseSetAdmin.Builder.class);
      }

      // Construct using smsc.Api.ResponseSetAdmin.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
        }
      }
      public Builder clear() {
        super.clear();
        instructionId_ = 0L;

        if (eventBuilder_ == null) {
          event_ = null;
        } else {
          event_ = null;
          eventBuilder_ = null;
        }
        return this;
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return smsc.Api.internal_static_smsc_ResponseSetAdmin_descriptor;
      }

      public smsc.Api.ResponseSetAdmin getDefaultInstanceForType() {
        return smsc.Api.ResponseSetAdmin.getDefaultInstance();
      }

      public smsc.Api.ResponseSetAdmin build() {
        smsc.Api.ResponseSetAdmin result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public smsc.Api.ResponseSetAdmin buildPartial() {
        smsc.Api.ResponseSetAdmin result = new smsc.Api.ResponseSetAdmin(this);
        result.instructionId_ = instructionId_;
        if (eventBuilder_ == null) {
          result.event_ = event_;
        } else {
          result.event_ = eventBuilder_.build();
        }
        onBuilt();
        return result;
      }

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

      public Builder mergeFrom(smsc.Api.ResponseSetAdmin other) {
        if (other == smsc.Api.ResponseSetAdmin.getDefaultInstance()) return this;
        if (other.getInstructionId() != 0L) {
          setInstructionId(other.getInstructionId());
        }
        if (other.hasEvent()) {
          mergeEvent(other.getEvent());
        }
        onChanged();
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        smsc.Api.ResponseSetAdmin parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (smsc.Api.ResponseSetAdmin) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }

      private long instructionId_ ;
      /**
       * <code>optional int64 instructionId = 1;</code>
       */
      public long getInstructionId() {
        return instructionId_;
      }
      /**
       * <code>optional int64 instructionId = 1;</code>
       */
      public Builder setInstructionId(long value) {
        
        instructionId_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional int64 instructionId = 1;</code>
       */
      public Builder clearInstructionId() {
        
        instructionId_ = 0L;
        onChanged();
        return this;
      }

      private smsc.Api.Event event_ = null;
      private com.google.protobuf.SingleFieldBuilderV3<
          smsc.Api.Event, smsc.Api.Event.Builder, smsc.Api.EventOrBuilder> eventBuilder_;
      /**
       * <code>optional .smsc.Event event = 2;</code>
       */
      public boolean hasEvent() {
        return eventBuilder_ != null || event_ != null;
      }
      /**
       * <code>optional .smsc.Event event = 2;</code>
       */
      public smsc.Api.Event getEvent() {
        if (eventBuilder_ == null) {
          return event_ == null ? smsc.Api.Event.getDefaultInstance() : event_;
        } else {
          return eventBuilder_.getMessage();
        }
      }
      /**
       * <code>optional .smsc.Event event = 2;</code>
       */
      public Builder setEvent(smsc.Api.Event value) {
        if (eventBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          event_ = value;
          onChanged();
        } else {
          eventBuilder_.setMessage(value);
        }

        return this;
      }
      /**
       * <code>optional .smsc.Event event = 2;</code>
       */
      public Builder setEvent(
          smsc.Api.Event.Builder builderForValue) {
        if (eventBuilder_ == null) {
          event_ = builderForValue.build();
          onChanged();
        } else {
          eventBuilder_.setMessage(builderForValue.build());
        }

        return this;
      }
      /**
       * <code>optional .smsc.Event event = 2;</code>
       */
      public Builder mergeEvent(smsc.Api.Event value) {
        if (eventBuilder_ == null) {
          if (event_ != null) {
            event_ =
              smsc.Api.Event.newBuilder(event_).mergeFrom(value).buildPartial();
          } else {
            event_ = value;
          }
          onChanged();
        } else {
          eventBuilder_.mergeFrom(value);
        }

        return this;
      }
      /**
       * <code>optional .smsc.Event event = 2;</code>
       */
      public Builder clearEvent() {
        if (eventBuilder_ == null) {
          event_ = null;
          onChanged();
        } else {
          event_ = null;
          eventBuilder_ = null;
        }

        return this;
      }
      /**
       * <code>optional .smsc.Event event = 2;</code>
       */
      public smsc.Api.Event.Builder getEventBuilder() {
        
        onChanged();
        return getEventFieldBuilder().getBuilder();
      }
      /**
       * <code>optional .smsc.Event event = 2;</code>
       */
      public smsc.Api.EventOrBuilder getEventOrBuilder() {
        if (eventBuilder_ != null) {
          return eventBuilder_.getMessageOrBuilder();
        } else {
          return event_ == null ?
              smsc.Api.Event.getDefaultInstance() : event_;
        }
      }
      /**
       * <code>optional .smsc.Event event = 2;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          smsc.Api.Event, smsc.Api.Event.Builder, smsc.Api.EventOrBuilder> 
          getEventFieldBuilder() {
        if (eventBuilder_ == null) {
          eventBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              smsc.Api.Event, smsc.Api.Event.Builder, smsc.Api.EventOrBuilder>(
                  getEvent(),
                  getParentForChildren(),
                  isClean());
          event_ = null;
        }
        return eventBuilder_;
      }
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return this;
      }

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


      // @@protoc_insertion_point(builder_scope:smsc.ResponseSetAdmin)
    }

    // @@protoc_insertion_point(class_scope:smsc.ResponseSetAdmin)
    private static final smsc.Api.ResponseSetAdmin DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new smsc.Api.ResponseSetAdmin();
    }

    public static smsc.Api.ResponseSetAdmin getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

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

    public smsc.Api.ResponseSetAdmin getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface ResponseCreateAccountOrBuilder extends
      // @@protoc_insertion_point(interface_extends:smsc.ResponseCreateAccount)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <code>optional int64 instructionId = 1;</code>
     */
    long getInstructionId();

    /**
     * <code>optional .smsc.Event event = 2;</code>
     */
    boolean hasEvent();
    /**
     * <code>optional .smsc.Event event = 2;</code>
     */
    smsc.Api.Event getEvent();
    /**
     * <code>optional .smsc.Event event = 2;</code>
     */
    smsc.Api.EventOrBuilder getEventOrBuilder();
  }
  /**
   * Protobuf type {@code smsc.ResponseCreateAccount}
   */
  public  static final class ResponseCreateAccount extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:smsc.ResponseCreateAccount)
      ResponseCreateAccountOrBuilder {
    // Use ResponseCreateAccount.newBuilder() to construct.
    private ResponseCreateAccount(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private ResponseCreateAccount() {
      instructionId_ = 0L;
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return com.google.protobuf.UnknownFieldSet.getDefaultInstance();
    }
    private ResponseCreateAccount(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      int mutable_bitField0_ = 0;
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!input.skipField(tag)) {
                done = true;
              }
              break;
            }
            case 8: {

              instructionId_ = input.readInt64();
              break;
            }
            case 18: {
              smsc.Api.Event.Builder subBuilder = null;
              if (event_ != null) {
                subBuilder = event_.toBuilder();
              }
              event_ = input.readMessage(smsc.Api.Event.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(event_);
                event_ = subBuilder.buildPartial();
              }

              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return smsc.Api.internal_static_smsc_ResponseCreateAccount_descriptor;
    }

    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return smsc.Api.internal_static_smsc_ResponseCreateAccount_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              smsc.Api.ResponseCreateAccount.class, smsc.Api.ResponseCreateAccount.Builder.class);
    }

    public static final int INSTRUCTIONID_FIELD_NUMBER = 1;
    private long instructionId_;
    /**
     * <code>optional int64 instructionId = 1;</code>
     */
    public long getInstructionId() {
      return instructionId_;
    }

    public static final int EVENT_FIELD_NUMBER = 2;
    private smsc.Api.Event event_;
    /**
     * <code>optional .smsc.Event event = 2;</code>
     */
    public boolean hasEvent() {
      return event_ != null;
    }
    /**
     * <code>optional .smsc.Event event = 2;</code>
     */
    public smsc.Api.Event getEvent() {
      return event_ == null ? smsc.Api.Event.getDefaultInstance() : event_;
    }
    /**
     * <code>optional .smsc.Event event = 2;</code>
     */
    public smsc.Api.EventOrBuilder getEventOrBuilder() {
      return getEvent();
    }

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

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (instructionId_ != 0L) {
        output.writeInt64(1, instructionId_);
      }
      if (event_ != null) {
        output.writeMessage(2, getEvent());
      }
    }

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

      size = 0;
      if (instructionId_ != 0L) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt64Size(1, instructionId_);
      }
      if (event_ != null) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(2, getEvent());
      }
      memoizedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof smsc.Api.ResponseCreateAccount)) {
        return super.equals(obj);
      }
      smsc.Api.ResponseCreateAccount other = (smsc.Api.ResponseCreateAccount) obj;

      boolean result = true;
      result = result && (getInstructionId()
          == other.getInstructionId());
      result = result && (hasEvent() == other.hasEvent());
      if (hasEvent()) {
        result = result && getEvent()
            .equals(other.getEvent());
      }
      return result;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptorForType().hashCode();
      hash = (37 * hash) + INSTRUCTIONID_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
          getInstructionId());
      if (hasEvent()) {
        hash = (37 * hash) + EVENT_FIELD_NUMBER;
        hash = (53 * hash) + getEvent().hashCode();
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

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

    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(smsc.Api.ResponseCreateAccount prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code smsc.ResponseCreateAccount}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:smsc.ResponseCreateAccount)
        smsc.Api.ResponseCreateAccountOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return smsc.Api.internal_static_smsc_ResponseCreateAccount_descriptor;
      }

      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return smsc.Api.internal_static_smsc_ResponseCreateAccount_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                smsc.Api.ResponseCreateAccount.class, smsc.Api.ResponseCreateAccount.Builder.class);
      }

      // Construct using smsc.Api.ResponseCreateAccount.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
        }
      }
      public Builder clear() {
        super.clear();
        instructionId_ = 0L;

        if (eventBuilder_ == null) {
          event_ = null;
        } else {
          event_ = null;
          eventBuilder_ = null;
        }
        return this;
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return smsc.Api.internal_static_smsc_ResponseCreateAccount_descriptor;
      }

      public smsc.Api.ResponseCreateAccount getDefaultInstanceForType() {
        return smsc.Api.ResponseCreateAccount.getDefaultInstance();
      }

      public smsc.Api.ResponseCreateAccount build() {
        smsc.Api.ResponseCreateAccount result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public smsc.Api.ResponseCreateAccount buildPartial() {
        smsc.Api.ResponseCreateAccount result = new smsc.Api.ResponseCreateAccount(this);
        result.instructionId_ = instructionId_;
        if (eventBuilder_ == null) {
          result.event_ = event_;
        } else {
          result.event_ = eventBuilder_.build();
        }
        onBuilt();
        return result;
      }

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

      public Builder mergeFrom(smsc.Api.ResponseCreateAccount other) {
        if (other == smsc.Api.ResponseCreateAccount.getDefaultInstance()) return this;
        if (other.getInstructionId() != 0L) {
          setInstructionId(other.getInstructionId());
        }
        if (other.hasEvent()) {
          mergeEvent(other.getEvent());
        }
        onChanged();
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        smsc.Api.ResponseCreateAccount parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (smsc.Api.ResponseCreateAccount) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }

      private long instructionId_ ;
      /**
       * <code>optional int64 instructionId = 1;</code>
       */
      public long getInstructionId() {
        return instructionId_;
      }
      /**
       * <code>optional int64 instructionId = 1;</code>
       */
      public Builder setInstructionId(long value) {
        
        instructionId_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional int64 instructionId = 1;</code>
       */
      public Builder clearInstructionId() {
        
        instructionId_ = 0L;
        onChanged();
        return this;
      }

      private smsc.Api.Event event_ = null;
      private com.google.protobuf.SingleFieldBuilderV3<
          smsc.Api.Event, smsc.Api.Event.Builder, smsc.Api.EventOrBuilder> eventBuilder_;
      /**
       * <code>optional .smsc.Event event = 2;</code>
       */
      public boolean hasEvent() {
        return eventBuilder_ != null || event_ != null;
      }
      /**
       * <code>optional .smsc.Event event = 2;</code>
       */
      public smsc.Api.Event getEvent() {
        if (eventBuilder_ == null) {
          return event_ == null ? smsc.Api.Event.getDefaultInstance() : event_;
        } else {
          return eventBuilder_.getMessage();
        }
      }
      /**
       * <code>optional .smsc.Event event = 2;</code>
       */
      public Builder setEvent(smsc.Api.Event value) {
        if (eventBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          event_ = value;
          onChanged();
        } else {
          eventBuilder_.setMessage(value);
        }

        return this;
      }
      /**
       * <code>optional .smsc.Event event = 2;</code>
       */
      public Builder setEvent(
          smsc.Api.Event.Builder builderForValue) {
        if (eventBuilder_ == null) {
          event_ = builderForValue.build();
          onChanged();
        } else {
          eventBuilder_.setMessage(builderForValue.build());
        }

        return this;
      }
      /**
       * <code>optional .smsc.Event event = 2;</code>
       */
      public Builder mergeEvent(smsc.Api.Event value) {
        if (eventBuilder_ == null) {
          if (event_ != null) {
            event_ =
              smsc.Api.Event.newBuilder(event_).mergeFrom(value).buildPartial();
          } else {
            event_ = value;
          }
          onChanged();
        } else {
          eventBuilder_.mergeFrom(value);
        }

        return this;
      }
      /**
       * <code>optional .smsc.Event event = 2;</code>
       */
      public Builder clearEvent() {
        if (eventBuilder_ == null) {
          event_ = null;
          onChanged();
        } else {
          event_ = null;
          eventBuilder_ = null;
        }

        return this;
      }
      /**
       * <code>optional .smsc.Event event = 2;</code>
       */
      public smsc.Api.Event.Builder getEventBuilder() {
        
        onChanged();
        return getEventFieldBuilder().getBuilder();
      }
      /**
       * <code>optional .smsc.Event event = 2;</code>
       */
      public smsc.Api.EventOrBuilder getEventOrBuilder() {
        if (eventBuilder_ != null) {
          return eventBuilder_.getMessageOrBuilder();
        } else {
          return event_ == null ?
              smsc.Api.Event.getDefaultInstance() : event_;
        }
      }
      /**
       * <code>optional .smsc.Event event = 2;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          smsc.Api.Event, smsc.Api.Event.Builder, smsc.Api.EventOrBuilder> 
          getEventFieldBuilder() {
        if (eventBuilder_ == null) {
          eventBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              smsc.Api.Event, smsc.Api.Event.Builder, smsc.Api.EventOrBuilder>(
                  getEvent(),
                  getParentForChildren(),
                  isClean());
          event_ = null;
        }
        return eventBuilder_;
      }
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return this;
      }

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


      // @@protoc_insertion_point(builder_scope:smsc.ResponseCreateAccount)
    }

    // @@protoc_insertion_point(class_scope:smsc.ResponseCreateAccount)
    private static final smsc.Api.ResponseCreateAccount DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new smsc.Api.ResponseCreateAccount();
    }

    public static smsc.Api.ResponseCreateAccount getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

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

    public smsc.Api.ResponseCreateAccount getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface ResponseEditAccountOrBuilder extends
      // @@protoc_insertion_point(interface_extends:smsc.ResponseEditAccount)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <code>optional int64 instructionId = 1;</code>
     */
    long getInstructionId();

    /**
     * <code>optional .smsc.Event event = 2;</code>
     */
    boolean hasEvent();
    /**
     * <code>optional .smsc.Event event = 2;</code>
     */
    smsc.Api.Event getEvent();
    /**
     * <code>optional .smsc.Event event = 2;</code>
     */
    smsc.Api.EventOrBuilder getEventOrBuilder();
  }
  /**
   * Protobuf type {@code smsc.ResponseEditAccount}
   */
  public  static final class ResponseEditAccount extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:smsc.ResponseEditAccount)
      ResponseEditAccountOrBuilder {
    // Use ResponseEditAccount.newBuilder() to construct.
    private ResponseEditAccount(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private ResponseEditAccount() {
      instructionId_ = 0L;
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return com.google.protobuf.UnknownFieldSet.getDefaultInstance();
    }
    private ResponseEditAccount(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      int mutable_bitField0_ = 0;
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!input.skipField(tag)) {
                done = true;
              }
              break;
            }
            case 8: {

              instructionId_ = input.readInt64();
              break;
            }
            case 18: {
              smsc.Api.Event.Builder subBuilder = null;
              if (event_ != null) {
                subBuilder = event_.toBuilder();
              }
              event_ = input.readMessage(smsc.Api.Event.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(event_);
                event_ = subBuilder.buildPartial();
              }

              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return smsc.Api.internal_static_smsc_ResponseEditAccount_descriptor;
    }

    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return smsc.Api.internal_static_smsc_ResponseEditAccount_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              smsc.Api.ResponseEditAccount.class, smsc.Api.ResponseEditAccount.Builder.class);
    }

    public static final int INSTRUCTIONID_FIELD_NUMBER = 1;
    private long instructionId_;
    /**
     * <code>optional int64 instructionId = 1;</code>
     */
    public long getInstructionId() {
      return instructionId_;
    }

    public static final int EVENT_FIELD_NUMBER = 2;
    private smsc.Api.Event event_;
    /**
     * <code>optional .smsc.Event event = 2;</code>
     */
    public boolean hasEvent() {
      return event_ != null;
    }
    /**
     * <code>optional .smsc.Event event = 2;</code>
     */
    public smsc.Api.Event getEvent() {
      return event_ == null ? smsc.Api.Event.getDefaultInstance() : event_;
    }
    /**
     * <code>optional .smsc.Event event = 2;</code>
     */
    public smsc.Api.EventOrBuilder getEventOrBuilder() {
      return getEvent();
    }

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

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (instructionId_ != 0L) {
        output.writeInt64(1, instructionId_);
      }
      if (event_ != null) {
        output.writeMessage(2, getEvent());
      }
    }

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

      size = 0;
      if (instructionId_ != 0L) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt64Size(1, instructionId_);
      }
      if (event_ != null) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(2, getEvent());
      }
      memoizedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof smsc.Api.ResponseEditAccount)) {
        return super.equals(obj);
      }
      smsc.Api.ResponseEditAccount other = (smsc.Api.ResponseEditAccount) obj;

      boolean result = true;
      result = result && (getInstructionId()
          == other.getInstructionId());
      result = result && (hasEvent() == other.hasEvent());
      if (hasEvent()) {
        result = result && getEvent()
            .equals(other.getEvent());
      }
      return result;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptorForType().hashCode();
      hash = (37 * hash) + INSTRUCTIONID_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
          getInstructionId());
      if (hasEvent()) {
        hash = (37 * hash) + EVENT_FIELD_NUMBER;
        hash = (53 * hash) + getEvent().hashCode();
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

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

    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(smsc.Api.ResponseEditAccount prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code smsc.ResponseEditAccount}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:smsc.ResponseEditAccount)
        smsc.Api.ResponseEditAccountOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return smsc.Api.internal_static_smsc_ResponseEditAccount_descriptor;
      }

      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return smsc.Api.internal_static_smsc_ResponseEditAccount_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                smsc.Api.ResponseEditAccount.class, smsc.Api.ResponseEditAccount.Builder.class);
      }

      // Construct using smsc.Api.ResponseEditAccount.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
        }
      }
      public Builder clear() {
        super.clear();
        instructionId_ = 0L;

        if (eventBuilder_ == null) {
          event_ = null;
        } else {
          event_ = null;
          eventBuilder_ = null;
        }
        return this;
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return smsc.Api.internal_static_smsc_ResponseEditAccount_descriptor;
      }

      public smsc.Api.ResponseEditAccount getDefaultInstanceForType() {
        return smsc.Api.ResponseEditAccount.getDefaultInstance();
      }

      public smsc.Api.ResponseEditAccount build() {
        smsc.Api.ResponseEditAccount result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public smsc.Api.ResponseEditAccount buildPartial() {
        smsc.Api.ResponseEditAccount result = new smsc.Api.ResponseEditAccount(this);
        result.instructionId_ = instructionId_;
        if (eventBuilder_ == null) {
          result.event_ = event_;
        } else {
          result.event_ = eventBuilder_.build();
        }
        onBuilt();
        return result;
      }

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

      public Builder mergeFrom(smsc.Api.ResponseEditAccount other) {
        if (other == smsc.Api.ResponseEditAccount.getDefaultInstance()) return this;
        if (other.getInstructionId() != 0L) {
          setInstructionId(other.getInstructionId());
        }
        if (other.hasEvent()) {
          mergeEvent(other.getEvent());
        }
        onChanged();
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        smsc.Api.ResponseEditAccount parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (smsc.Api.ResponseEditAccount) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }

      private long instructionId_ ;
      /**
       * <code>optional int64 instructionId = 1;</code>
       */
      public long getInstructionId() {
        return instructionId_;
      }
      /**
       * <code>optional int64 instructionId = 1;</code>
       */
      public Builder setInstructionId(long value) {
        
        instructionId_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional int64 instructionId = 1;</code>
       */
      public Builder clearInstructionId() {
        
        instructionId_ = 0L;
        onChanged();
        return this;
      }

      private smsc.Api.Event event_ = null;
      private com.google.protobuf.SingleFieldBuilderV3<
          smsc.Api.Event, smsc.Api.Event.Builder, smsc.Api.EventOrBuilder> eventBuilder_;
      /**
       * <code>optional .smsc.Event event = 2;</code>
       */
      public boolean hasEvent() {
        return eventBuilder_ != null || event_ != null;
      }
      /**
       * <code>optional .smsc.Event event = 2;</code>
       */
      public smsc.Api.Event getEvent() {
        if (eventBuilder_ == null) {
          return event_ == null ? smsc.Api.Event.getDefaultInstance() : event_;
        } else {
          return eventBuilder_.getMessage();
        }
      }
      /**
       * <code>optional .smsc.Event event = 2;</code>
       */
      public Builder setEvent(smsc.Api.Event value) {
        if (eventBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          event_ = value;
          onChanged();
        } else {
          eventBuilder_.setMessage(value);
        }

        return this;
      }
      /**
       * <code>optional .smsc.Event event = 2;</code>
       */
      public Builder setEvent(
          smsc.Api.Event.Builder builderForValue) {
        if (eventBuilder_ == null) {
          event_ = builderForValue.build();
          onChanged();
        } else {
          eventBuilder_.setMessage(builderForValue.build());
        }

        return this;
      }
      /**
       * <code>optional .smsc.Event event = 2;</code>
       */
      public Builder mergeEvent(smsc.Api.Event value) {
        if (eventBuilder_ == null) {
          if (event_ != null) {
            event_ =
              smsc.Api.Event.newBuilder(event_).mergeFrom(value).buildPartial();
          } else {
            event_ = value;
          }
          onChanged();
        } else {
          eventBuilder_.mergeFrom(value);
        }

        return this;
      }
      /**
       * <code>optional .smsc.Event event = 2;</code>
       */
      public Builder clearEvent() {
        if (eventBuilder_ == null) {
          event_ = null;
          onChanged();
        } else {
          event_ = null;
          eventBuilder_ = null;
        }

        return this;
      }
      /**
       * <code>optional .smsc.Event event = 2;</code>
       */
      public smsc.Api.Event.Builder getEventBuilder() {
        
        onChanged();
        return getEventFieldBuilder().getBuilder();
      }
      /**
       * <code>optional .smsc.Event event = 2;</code>
       */
      public smsc.Api.EventOrBuilder getEventOrBuilder() {
        if (eventBuilder_ != null) {
          return eventBuilder_.getMessageOrBuilder();
        } else {
          return event_ == null ?
              smsc.Api.Event.getDefaultInstance() : event_;
        }
      }
      /**
       * <code>optional .smsc.Event event = 2;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          smsc.Api.Event, smsc.Api.Event.Builder, smsc.Api.EventOrBuilder> 
          getEventFieldBuilder() {
        if (eventBuilder_ == null) {
          eventBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              smsc.Api.Event, smsc.Api.Event.Builder, smsc.Api.EventOrBuilder>(
                  getEvent(),
                  getParentForChildren(),
                  isClean());
          event_ = null;
        }
        return eventBuilder_;
      }
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return this;
      }

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


      // @@protoc_insertion_point(builder_scope:smsc.ResponseEditAccount)
    }

    // @@protoc_insertion_point(class_scope:smsc.ResponseEditAccount)
    private static final smsc.Api.ResponseEditAccount DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new smsc.Api.ResponseEditAccount();
    }

    public static smsc.Api.ResponseEditAccount getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

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

    public smsc.Api.ResponseEditAccount getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface ResponseDeleteAccountOrBuilder extends
      // @@protoc_insertion_point(interface_extends:smsc.ResponseDeleteAccount)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <code>optional int64 instructionId = 1;</code>
     */
    long getInstructionId();

    /**
     * <code>optional .smsc.Event event = 2;</code>
     */
    boolean hasEvent();
    /**
     * <code>optional .smsc.Event event = 2;</code>
     */
    smsc.Api.Event getEvent();
    /**
     * <code>optional .smsc.Event event = 2;</code>
     */
    smsc.Api.EventOrBuilder getEventOrBuilder();
  }
  /**
   * Protobuf type {@code smsc.ResponseDeleteAccount}
   */
  public  static final class ResponseDeleteAccount extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:smsc.ResponseDeleteAccount)
      ResponseDeleteAccountOrBuilder {
    // Use ResponseDeleteAccount.newBuilder() to construct.
    private ResponseDeleteAccount(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private ResponseDeleteAccount() {
      instructionId_ = 0L;
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return com.google.protobuf.UnknownFieldSet.getDefaultInstance();
    }
    private ResponseDeleteAccount(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      int mutable_bitField0_ = 0;
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!input.skipField(tag)) {
                done = true;
              }
              break;
            }
            case 8: {

              instructionId_ = input.readInt64();
              break;
            }
            case 18: {
              smsc.Api.Event.Builder subBuilder = null;
              if (event_ != null) {
                subBuilder = event_.toBuilder();
              }
              event_ = input.readMessage(smsc.Api.Event.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(event_);
                event_ = subBuilder.buildPartial();
              }

              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return smsc.Api.internal_static_smsc_ResponseDeleteAccount_descriptor;
    }

    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return smsc.Api.internal_static_smsc_ResponseDeleteAccount_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              smsc.Api.ResponseDeleteAccount.class, smsc.Api.ResponseDeleteAccount.Builder.class);
    }

    public static final int INSTRUCTIONID_FIELD_NUMBER = 1;
    private long instructionId_;
    /**
     * <code>optional int64 instructionId = 1;</code>
     */
    public long getInstructionId() {
      return instructionId_;
    }

    public static final int EVENT_FIELD_NUMBER = 2;
    private smsc.Api.Event event_;
    /**
     * <code>optional .smsc.Event event = 2;</code>
     */
    public boolean hasEvent() {
      return event_ != null;
    }
    /**
     * <code>optional .smsc.Event event = 2;</code>
     */
    public smsc.Api.Event getEvent() {
      return event_ == null ? smsc.Api.Event.getDefaultInstance() : event_;
    }
    /**
     * <code>optional .smsc.Event event = 2;</code>
     */
    public smsc.Api.EventOrBuilder getEventOrBuilder() {
      return getEvent();
    }

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

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (instructionId_ != 0L) {
        output.writeInt64(1, instructionId_);
      }
      if (event_ != null) {
        output.writeMessage(2, getEvent());
      }
    }

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

      size = 0;
      if (instructionId_ != 0L) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt64Size(1, instructionId_);
      }
      if (event_ != null) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(2, getEvent());
      }
      memoizedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof smsc.Api.ResponseDeleteAccount)) {
        return super.equals(obj);
      }
      smsc.Api.ResponseDeleteAccount other = (smsc.Api.ResponseDeleteAccount) obj;

      boolean result = true;
      result = result && (getInstructionId()
          == other.getInstructionId());
      result = result && (hasEvent() == other.hasEvent());
      if (hasEvent()) {
        result = result && getEvent()
            .equals(other.getEvent());
      }
      return result;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptorForType().hashCode();
      hash = (37 * hash) + INSTRUCTIONID_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
          getInstructionId());
      if (hasEvent()) {
        hash = (37 * hash) + EVENT_FIELD_NUMBER;
        hash = (53 * hash) + getEvent().hashCode();
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

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

    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(smsc.Api.ResponseDeleteAccount prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code smsc.ResponseDeleteAccount}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:smsc.ResponseDeleteAccount)
        smsc.Api.ResponseDeleteAccountOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return smsc.Api.internal_static_smsc_ResponseDeleteAccount_descriptor;
      }

      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return smsc.Api.internal_static_smsc_ResponseDeleteAccount_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                smsc.Api.ResponseDeleteAccount.class, smsc.Api.ResponseDeleteAccount.Builder.class);
      }

      // Construct using smsc.Api.ResponseDeleteAccount.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
        }
      }
      public Builder clear() {
        super.clear();
        instructionId_ = 0L;

        if (eventBuilder_ == null) {
          event_ = null;
        } else {
          event_ = null;
          eventBuilder_ = null;
        }
        return this;
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return smsc.Api.internal_static_smsc_ResponseDeleteAccount_descriptor;
      }

      public smsc.Api.ResponseDeleteAccount getDefaultInstanceForType() {
        return smsc.Api.ResponseDeleteAccount.getDefaultInstance();
      }

      public smsc.Api.ResponseDeleteAccount build() {
        smsc.Api.ResponseDeleteAccount result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public smsc.Api.ResponseDeleteAccount buildPartial() {
        smsc.Api.ResponseDeleteAccount result = new smsc.Api.ResponseDeleteAccount(this);
        result.instructionId_ = instructionId_;
        if (eventBuilder_ == null) {
          result.event_ = event_;
        } else {
          result.event_ = eventBuilder_.build();
        }
        onBuilt();
        return result;
      }

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

      public Builder mergeFrom(smsc.Api.ResponseDeleteAccount other) {
        if (other == smsc.Api.ResponseDeleteAccount.getDefaultInstance()) return this;
        if (other.getInstructionId() != 0L) {
          setInstructionId(other.getInstructionId());
        }
        if (other.hasEvent()) {
          mergeEvent(other.getEvent());
        }
        onChanged();
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        smsc.Api.ResponseDeleteAccount parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (smsc.Api.ResponseDeleteAccount) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }

      private long instructionId_ ;
      /**
       * <code>optional int64 instructionId = 1;</code>
       */
      public long getInstructionId() {
        return instructionId_;
      }
      /**
       * <code>optional int64 instructionId = 1;</code>
       */
      public Builder setInstructionId(long value) {
        
        instructionId_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional int64 instructionId = 1;</code>
       */
      public Builder clearInstructionId() {
        
        instructionId_ = 0L;
        onChanged();
        return this;
      }

      private smsc.Api.Event event_ = null;
      private com.google.protobuf.SingleFieldBuilderV3<
          smsc.Api.Event, smsc.Api.Event.Builder, smsc.Api.EventOrBuilder> eventBuilder_;
      /**
       * <code>optional .smsc.Event event = 2;</code>
       */
      public boolean hasEvent() {
        return eventBuilder_ != null || event_ != null;
      }
      /**
       * <code>optional .smsc.Event event = 2;</code>
       */
      public smsc.Api.Event getEvent() {
        if (eventBuilder_ == null) {
          return event_ == null ? smsc.Api.Event.getDefaultInstance() : event_;
        } else {
          return eventBuilder_.getMessage();
        }
      }
      /**
       * <code>optional .smsc.Event event = 2;</code>
       */
      public Builder setEvent(smsc.Api.Event value) {
        if (eventBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          event_ = value;
          onChanged();
        } else {
          eventBuilder_.setMessage(value);
        }

        return this;
      }
      /**
       * <code>optional .smsc.Event event = 2;</code>
       */
      public Builder setEvent(
          smsc.Api.Event.Builder builderForValue) {
        if (eventBuilder_ == null) {
          event_ = builderForValue.build();
          onChanged();
        } else {
          eventBuilder_.setMessage(builderForValue.build());
        }

        return this;
      }
      /**
       * <code>optional .smsc.Event event = 2;</code>
       */
      public Builder mergeEvent(smsc.Api.Event value) {
        if (eventBuilder_ == null) {
          if (event_ != null) {
            event_ =
              smsc.Api.Event.newBuilder(event_).mergeFrom(value).buildPartial();
          } else {
            event_ = value;
          }
          onChanged();
        } else {
          eventBuilder_.mergeFrom(value);
        }

        return this;
      }
      /**
       * <code>optional .smsc.Event event = 2;</code>
       */
      public Builder clearEvent() {
        if (eventBuilder_ == null) {
          event_ = null;
          onChanged();
        } else {
          event_ = null;
          eventBuilder_ = null;
        }

        return this;
      }
      /**
       * <code>optional .smsc.Event event = 2;</code>
       */
      public smsc.Api.Event.Builder getEventBuilder() {
        
        onChanged();
        return getEventFieldBuilder().getBuilder();
      }
      /**
       * <code>optional .smsc.Event event = 2;</code>
       */
      public smsc.Api.EventOrBuilder getEventOrBuilder() {
        if (eventBuilder_ != null) {
          return eventBuilder_.getMessageOrBuilder();
        } else {
          return event_ == null ?
              smsc.Api.Event.getDefaultInstance() : event_;
        }
      }
      /**
       * <code>optional .smsc.Event event = 2;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          smsc.Api.Event, smsc.Api.Event.Builder, smsc.Api.EventOrBuilder> 
          getEventFieldBuilder() {
        if (eventBuilder_ == null) {
          eventBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              smsc.Api.Event, smsc.Api.Event.Builder, smsc.Api.EventOrBuilder>(
                  getEvent(),
                  getParentForChildren(),
                  isClean());
          event_ = null;
        }
        return eventBuilder_;
      }
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return this;
      }

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


      // @@protoc_insertion_point(builder_scope:smsc.ResponseDeleteAccount)
    }

    // @@protoc_insertion_point(class_scope:smsc.ResponseDeleteAccount)
    private static final smsc.Api.ResponseDeleteAccount DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new smsc.Api.ResponseDeleteAccount();
    }

    public static smsc.Api.ResponseDeleteAccount getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

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

    public smsc.Api.ResponseDeleteAccount getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface ResponseSetSupplierOrBuilder extends
      // @@protoc_insertion_point(interface_extends:smsc.ResponseSetSupplier)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <code>optional int64 instructionId = 1;</code>
     */
    long getInstructionId();

    /**
     * <code>optional .smsc.Event event = 2;</code>
     */
    boolean hasEvent();
    /**
     * <code>optional .smsc.Event event = 2;</code>
     */
    smsc.Api.Event getEvent();
    /**
     * <code>optional .smsc.Event event = 2;</code>
     */
    smsc.Api.EventOrBuilder getEventOrBuilder();
  }
  /**
   * Protobuf type {@code smsc.ResponseSetSupplier}
   */
  public  static final class ResponseSetSupplier extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:smsc.ResponseSetSupplier)
      ResponseSetSupplierOrBuilder {
    // Use ResponseSetSupplier.newBuilder() to construct.
    private ResponseSetSupplier(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private ResponseSetSupplier() {
      instructionId_ = 0L;
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return com.google.protobuf.UnknownFieldSet.getDefaultInstance();
    }
    private ResponseSetSupplier(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      int mutable_bitField0_ = 0;
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!input.skipField(tag)) {
                done = true;
              }
              break;
            }
            case 8: {

              instructionId_ = input.readInt64();
              break;
            }
            case 18: {
              smsc.Api.Event.Builder subBuilder = null;
              if (event_ != null) {
                subBuilder = event_.toBuilder();
              }
              event_ = input.readMessage(smsc.Api.Event.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(event_);
                event_ = subBuilder.buildPartial();
              }

              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return smsc.Api.internal_static_smsc_ResponseSetSupplier_descriptor;
    }

    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return smsc.Api.internal_static_smsc_ResponseSetSupplier_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              smsc.Api.ResponseSetSupplier.class, smsc.Api.ResponseSetSupplier.Builder.class);
    }

    public static final int INSTRUCTIONID_FIELD_NUMBER = 1;
    private long instructionId_;
    /**
     * <code>optional int64 instructionId = 1;</code>
     */
    public long getInstructionId() {
      return instructionId_;
    }

    public static final int EVENT_FIELD_NUMBER = 2;
    private smsc.Api.Event event_;
    /**
     * <code>optional .smsc.Event event = 2;</code>
     */
    public boolean hasEvent() {
      return event_ != null;
    }
    /**
     * <code>optional .smsc.Event event = 2;</code>
     */
    public smsc.Api.Event getEvent() {
      return event_ == null ? smsc.Api.Event.getDefaultInstance() : event_;
    }
    /**
     * <code>optional .smsc.Event event = 2;</code>
     */
    public smsc.Api.EventOrBuilder getEventOrBuilder() {
      return getEvent();
    }

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

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (instructionId_ != 0L) {
        output.writeInt64(1, instructionId_);
      }
      if (event_ != null) {
        output.writeMessage(2, getEvent());
      }
    }

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

      size = 0;
      if (instructionId_ != 0L) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt64Size(1, instructionId_);
      }
      if (event_ != null) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(2, getEvent());
      }
      memoizedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof smsc.Api.ResponseSetSupplier)) {
        return super.equals(obj);
      }
      smsc.Api.ResponseSetSupplier other = (smsc.Api.ResponseSetSupplier) obj;

      boolean result = true;
      result = result && (getInstructionId()
          == other.getInstructionId());
      result = result && (hasEvent() == other.hasEvent());
      if (hasEvent()) {
        result = result && getEvent()
            .equals(other.getEvent());
      }
      return result;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptorForType().hashCode();
      hash = (37 * hash) + INSTRUCTIONID_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
          getInstructionId());
      if (hasEvent()) {
        hash = (37 * hash) + EVENT_FIELD_NUMBER;
        hash = (53 * hash) + getEvent().hashCode();
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

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

    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(smsc.Api.ResponseSetSupplier prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code smsc.ResponseSetSupplier}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:smsc.ResponseSetSupplier)
        smsc.Api.ResponseSetSupplierOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return smsc.Api.internal_static_smsc_ResponseSetSupplier_descriptor;
      }

      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return smsc.Api.internal_static_smsc_ResponseSetSupplier_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                smsc.Api.ResponseSetSupplier.class, smsc.Api.ResponseSetSupplier.Builder.class);
      }

      // Construct using smsc.Api.ResponseSetSupplier.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
        }
      }
      public Builder clear() {
        super.clear();
        instructionId_ = 0L;

        if (eventBuilder_ == null) {
          event_ = null;
        } else {
          event_ = null;
          eventBuilder_ = null;
        }
        return this;
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return smsc.Api.internal_static_smsc_ResponseSetSupplier_descriptor;
      }

      public smsc.Api.ResponseSetSupplier getDefaultInstanceForType() {
        return smsc.Api.ResponseSetSupplier.getDefaultInstance();
      }

      public smsc.Api.ResponseSetSupplier build() {
        smsc.Api.ResponseSetSupplier result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public smsc.Api.ResponseSetSupplier buildPartial() {
        smsc.Api.ResponseSetSupplier result = new smsc.Api.ResponseSetSupplier(this);
        result.instructionId_ = instructionId_;
        if (eventBuilder_ == null) {
          result.event_ = event_;
        } else {
          result.event_ = eventBuilder_.build();
        }
        onBuilt();
        return result;
      }

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

      public Builder mergeFrom(smsc.Api.ResponseSetSupplier other) {
        if (other == smsc.Api.ResponseSetSupplier.getDefaultInstance()) return this;
        if (other.getInstructionId() != 0L) {
          setInstructionId(other.getInstructionId());
        }
        if (other.hasEvent()) {
          mergeEvent(other.getEvent());
        }
        onChanged();
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        smsc.Api.ResponseSetSupplier parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (smsc.Api.ResponseSetSupplier) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }

      private long instructionId_ ;
      /**
       * <code>optional int64 instructionId = 1;</code>
       */
      public long getInstructionId() {
        return instructionId_;
      }
      /**
       * <code>optional int64 instructionId = 1;</code>
       */
      public Builder setInstructionId(long value) {
        
        instructionId_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional int64 instructionId = 1;</code>
       */
      public Builder clearInstructionId() {
        
        instructionId_ = 0L;
        onChanged();
        return this;
      }

      private smsc.Api.Event event_ = null;
      private com.google.protobuf.SingleFieldBuilderV3<
          smsc.Api.Event, smsc.Api.Event.Builder, smsc.Api.EventOrBuilder> eventBuilder_;
      /**
       * <code>optional .smsc.Event event = 2;</code>
       */
      public boolean hasEvent() {
        return eventBuilder_ != null || event_ != null;
      }
      /**
       * <code>optional .smsc.Event event = 2;</code>
       */
      public smsc.Api.Event getEvent() {
        if (eventBuilder_ == null) {
          return event_ == null ? smsc.Api.Event.getDefaultInstance() : event_;
        } else {
          return eventBuilder_.getMessage();
        }
      }
      /**
       * <code>optional .smsc.Event event = 2;</code>
       */
      public Builder setEvent(smsc.Api.Event value) {
        if (eventBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          event_ = value;
          onChanged();
        } else {
          eventBuilder_.setMessage(value);
        }

        return this;
      }
      /**
       * <code>optional .smsc.Event event = 2;</code>
       */
      public Builder setEvent(
          smsc.Api.Event.Builder builderForValue) {
        if (eventBuilder_ == null) {
          event_ = builderForValue.build();
          onChanged();
        } else {
          eventBuilder_.setMessage(builderForValue.build());
        }

        return this;
      }
      /**
       * <code>optional .smsc.Event event = 2;</code>
       */
      public Builder mergeEvent(smsc.Api.Event value) {
        if (eventBuilder_ == null) {
          if (event_ != null) {
            event_ =
              smsc.Api.Event.newBuilder(event_).mergeFrom(value).buildPartial();
          } else {
            event_ = value;
          }
          onChanged();
        } else {
          eventBuilder_.mergeFrom(value);
        }

        return this;
      }
      /**
       * <code>optional .smsc.Event event = 2;</code>
       */
      public Builder clearEvent() {
        if (eventBuilder_ == null) {
          event_ = null;
          onChanged();
        } else {
          event_ = null;
          eventBuilder_ = null;
        }

        return this;
      }
      /**
       * <code>optional .smsc.Event event = 2;</code>
       */
      public smsc.Api.Event.Builder getEventBuilder() {
        
        onChanged();
        return getEventFieldBuilder().getBuilder();
      }
      /**
       * <code>optional .smsc.Event event = 2;</code>
       */
      public smsc.Api.EventOrBuilder getEventOrBuilder() {
        if (eventBuilder_ != null) {
          return eventBuilder_.getMessageOrBuilder();
        } else {
          return event_ == null ?
              smsc.Api.Event.getDefaultInstance() : event_;
        }
      }
      /**
       * <code>optional .smsc.Event event = 2;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          smsc.Api.Event, smsc.Api.Event.Builder, smsc.Api.EventOrBuilder> 
          getEventFieldBuilder() {
        if (eventBuilder_ == null) {
          eventBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              smsc.Api.Event, smsc.Api.Event.Builder, smsc.Api.EventOrBuilder>(
                  getEvent(),
                  getParentForChildren(),
                  isClean());
          event_ = null;
        }
        return eventBuilder_;
      }
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return this;
      }

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


      // @@protoc_insertion_point(builder_scope:smsc.ResponseSetSupplier)
    }

    // @@protoc_insertion_point(class_scope:smsc.ResponseSetSupplier)
    private static final smsc.Api.ResponseSetSupplier DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new smsc.Api.ResponseSetSupplier();
    }

    public static smsc.Api.ResponseSetSupplier getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

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

    public smsc.Api.ResponseSetSupplier getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface ResponseCreateOrderOrBuilder extends
      // @@protoc_insertion_point(interface_extends:smsc.ResponseCreateOrder)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <code>optional int64 instructionId = 1;</code>
     */
    long getInstructionId();

    /**
     * <code>optional .smsc.Event event = 2;</code>
     */
    boolean hasEvent();
    /**
     * <code>optional .smsc.Event event = 2;</code>
     */
    smsc.Api.Event getEvent();
    /**
     * <code>optional .smsc.Event event = 2;</code>
     */
    smsc.Api.EventOrBuilder getEventOrBuilder();
  }
  /**
   * Protobuf type {@code smsc.ResponseCreateOrder}
   */
  public  static final class ResponseCreateOrder extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:smsc.ResponseCreateOrder)
      ResponseCreateOrderOrBuilder {
    // Use ResponseCreateOrder.newBuilder() to construct.
    private ResponseCreateOrder(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private ResponseCreateOrder() {
      instructionId_ = 0L;
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return com.google.protobuf.UnknownFieldSet.getDefaultInstance();
    }
    private ResponseCreateOrder(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      int mutable_bitField0_ = 0;
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!input.skipField(tag)) {
                done = true;
              }
              break;
            }
            case 8: {

              instructionId_ = input.readInt64();
              break;
            }
            case 18: {
              smsc.Api.Event.Builder subBuilder = null;
              if (event_ != null) {
                subBuilder = event_.toBuilder();
              }
              event_ = input.readMessage(smsc.Api.Event.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(event_);
                event_ = subBuilder.buildPartial();
              }

              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return smsc.Api.internal_static_smsc_ResponseCreateOrder_descriptor;
    }

    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return smsc.Api.internal_static_smsc_ResponseCreateOrder_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              smsc.Api.ResponseCreateOrder.class, smsc.Api.ResponseCreateOrder.Builder.class);
    }

    public static final int INSTRUCTIONID_FIELD_NUMBER = 1;
    private long instructionId_;
    /**
     * <code>optional int64 instructionId = 1;</code>
     */
    public long getInstructionId() {
      return instructionId_;
    }

    public static final int EVENT_FIELD_NUMBER = 2;
    private smsc.Api.Event event_;
    /**
     * <code>optional .smsc.Event event = 2;</code>
     */
    public boolean hasEvent() {
      return event_ != null;
    }
    /**
     * <code>optional .smsc.Event event = 2;</code>
     */
    public smsc.Api.Event getEvent() {
      return event_ == null ? smsc.Api.Event.getDefaultInstance() : event_;
    }
    /**
     * <code>optional .smsc.Event event = 2;</code>
     */
    public smsc.Api.EventOrBuilder getEventOrBuilder() {
      return getEvent();
    }

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

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (instructionId_ != 0L) {
        output.writeInt64(1, instructionId_);
      }
      if (event_ != null) {
        output.writeMessage(2, getEvent());
      }
    }

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

      size = 0;
      if (instructionId_ != 0L) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt64Size(1, instructionId_);
      }
      if (event_ != null) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(2, getEvent());
      }
      memoizedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof smsc.Api.ResponseCreateOrder)) {
        return super.equals(obj);
      }
      smsc.Api.ResponseCreateOrder other = (smsc.Api.ResponseCreateOrder) obj;

      boolean result = true;
      result = result && (getInstructionId()
          == other.getInstructionId());
      result = result && (hasEvent() == other.hasEvent());
      if (hasEvent()) {
        result = result && getEvent()
            .equals(other.getEvent());
      }
      return result;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptorForType().hashCode();
      hash = (37 * hash) + INSTRUCTIONID_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
          getInstructionId());
      if (hasEvent()) {
        hash = (37 * hash) + EVENT_FIELD_NUMBER;
        hash = (53 * hash) + getEvent().hashCode();
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

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

    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(smsc.Api.ResponseCreateOrder prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code smsc.ResponseCreateOrder}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:smsc.ResponseCreateOrder)
        smsc.Api.ResponseCreateOrderOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return smsc.Api.internal_static_smsc_ResponseCreateOrder_descriptor;
      }

      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return smsc.Api.internal_static_smsc_ResponseCreateOrder_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                smsc.Api.ResponseCreateOrder.class, smsc.Api.ResponseCreateOrder.Builder.class);
      }

      // Construct using smsc.Api.ResponseCreateOrder.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
        }
      }
      public Builder clear() {
        super.clear();
        instructionId_ = 0L;

        if (eventBuilder_ == null) {
          event_ = null;
        } else {
          event_ = null;
          eventBuilder_ = null;
        }
        return this;
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return smsc.Api.internal_static_smsc_ResponseCreateOrder_descriptor;
      }

      public smsc.Api.ResponseCreateOrder getDefaultInstanceForType() {
        return smsc.Api.ResponseCreateOrder.getDefaultInstance();
      }

      public smsc.Api.ResponseCreateOrder build() {
        smsc.Api.ResponseCreateOrder result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public smsc.Api.ResponseCreateOrder buildPartial() {
        smsc.Api.ResponseCreateOrder result = new smsc.Api.ResponseCreateOrder(this);
        result.instructionId_ = instructionId_;
        if (eventBuilder_ == null) {
          result.event_ = event_;
        } else {
          result.event_ = eventBuilder_.build();
        }
        onBuilt();
        return result;
      }

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

      public Builder mergeFrom(smsc.Api.ResponseCreateOrder other) {
        if (other == smsc.Api.ResponseCreateOrder.getDefaultInstance()) return this;
        if (other.getInstructionId() != 0L) {
          setInstructionId(other.getInstructionId());
        }
        if (other.hasEvent()) {
          mergeEvent(other.getEvent());
        }
        onChanged();
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        smsc.Api.ResponseCreateOrder parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (smsc.Api.ResponseCreateOrder) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }

      private long instructionId_ ;
      /**
       * <code>optional int64 instructionId = 1;</code>
       */
      public long getInstructionId() {
        return instructionId_;
      }
      /**
       * <code>optional int64 instructionId = 1;</code>
       */
      public Builder setInstructionId(long value) {
        
        instructionId_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional int64 instructionId = 1;</code>
       */
      public Builder clearInstructionId() {
        
        instructionId_ = 0L;
        onChanged();
        return this;
      }

      private smsc.Api.Event event_ = null;
      private com.google.protobuf.SingleFieldBuilderV3<
          smsc.Api.Event, smsc.Api.Event.Builder, smsc.Api.EventOrBuilder> eventBuilder_;
      /**
       * <code>optional .smsc.Event event = 2;</code>
       */
      public boolean hasEvent() {
        return eventBuilder_ != null || event_ != null;
      }
      /**
       * <code>optional .smsc.Event event = 2;</code>
       */
      public smsc.Api.Event getEvent() {
        if (eventBuilder_ == null) {
          return event_ == null ? smsc.Api.Event.getDefaultInstance() : event_;
        } else {
          return eventBuilder_.getMessage();
        }
      }
      /**
       * <code>optional .smsc.Event event = 2;</code>
       */
      public Builder setEvent(smsc.Api.Event value) {
        if (eventBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          event_ = value;
          onChanged();
        } else {
          eventBuilder_.setMessage(value);
        }

        return this;
      }
      /**
       * <code>optional .smsc.Event event = 2;</code>
       */
      public Builder setEvent(
          smsc.Api.Event.Builder builderForValue) {
        if (eventBuilder_ == null) {
          event_ = builderForValue.build();
          onChanged();
        } else {
          eventBuilder_.setMessage(builderForValue.build());
        }

        return this;
      }
      /**
       * <code>optional .smsc.Event event = 2;</code>
       */
      public Builder mergeEvent(smsc.Api.Event value) {
        if (eventBuilder_ == null) {
          if (event_ != null) {
            event_ =
              smsc.Api.Event.newBuilder(event_).mergeFrom(value).buildPartial();
          } else {
            event_ = value;
          }
          onChanged();
        } else {
          eventBuilder_.mergeFrom(value);
        }

        return this;
      }
      /**
       * <code>optional .smsc.Event event = 2;</code>
       */
      public Builder clearEvent() {
        if (eventBuilder_ == null) {
          event_ = null;
          onChanged();
        } else {
          event_ = null;
          eventBuilder_ = null;
        }

        return this;
      }
      /**
       * <code>optional .smsc.Event event = 2;</code>
       */
      public smsc.Api.Event.Builder getEventBuilder() {
        
        onChanged();
        return getEventFieldBuilder().getBuilder();
      }
      /**
       * <code>optional .smsc.Event event = 2;</code>
       */
      public smsc.Api.EventOrBuilder getEventOrBuilder() {
        if (eventBuilder_ != null) {
          return eventBuilder_.getMessageOrBuilder();
        } else {
          return event_ == null ?
              smsc.Api.Event.getDefaultInstance() : event_;
        }
      }
      /**
       * <code>optional .smsc.Event event = 2;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          smsc.Api.Event, smsc.Api.Event.Builder, smsc.Api.EventOrBuilder> 
          getEventFieldBuilder() {
        if (eventBuilder_ == null) {
          eventBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              smsc.Api.Event, smsc.Api.Event.Builder, smsc.Api.EventOrBuilder>(
                  getEvent(),
                  getParentForChildren(),
                  isClean());
          event_ = null;
        }
        return eventBuilder_;
      }
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return this;
      }

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


      // @@protoc_insertion_point(builder_scope:smsc.ResponseCreateOrder)
    }

    // @@protoc_insertion_point(class_scope:smsc.ResponseCreateOrder)
    private static final smsc.Api.ResponseCreateOrder DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new smsc.Api.ResponseCreateOrder();
    }

    public static smsc.Api.ResponseCreateOrder getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

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

    public smsc.Api.ResponseCreateOrder getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface ResponseDeliveryOrBuilder extends
      // @@protoc_insertion_point(interface_extends:smsc.ResponseDelivery)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <code>optional int64 instructionId = 1;</code>
     */
    long getInstructionId();

    /**
     * <code>optional .smsc.Event event = 2;</code>
     */
    boolean hasEvent();
    /**
     * <code>optional .smsc.Event event = 2;</code>
     */
    smsc.Api.Event getEvent();
    /**
     * <code>optional .smsc.Event event = 2;</code>
     */
    smsc.Api.EventOrBuilder getEventOrBuilder();
  }
  /**
   * Protobuf type {@code smsc.ResponseDelivery}
   */
  public  static final class ResponseDelivery extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:smsc.ResponseDelivery)
      ResponseDeliveryOrBuilder {
    // Use ResponseDelivery.newBuilder() to construct.
    private ResponseDelivery(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private ResponseDelivery() {
      instructionId_ = 0L;
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return com.google.protobuf.UnknownFieldSet.getDefaultInstance();
    }
    private ResponseDelivery(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      int mutable_bitField0_ = 0;
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!input.skipField(tag)) {
                done = true;
              }
              break;
            }
            case 8: {

              instructionId_ = input.readInt64();
              break;
            }
            case 18: {
              smsc.Api.Event.Builder subBuilder = null;
              if (event_ != null) {
                subBuilder = event_.toBuilder();
              }
              event_ = input.readMessage(smsc.Api.Event.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(event_);
                event_ = subBuilder.buildPartial();
              }

              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return smsc.Api.internal_static_smsc_ResponseDelivery_descriptor;
    }

    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return smsc.Api.internal_static_smsc_ResponseDelivery_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              smsc.Api.ResponseDelivery.class, smsc.Api.ResponseDelivery.Builder.class);
    }

    public static final int INSTRUCTIONID_FIELD_NUMBER = 1;
    private long instructionId_;
    /**
     * <code>optional int64 instructionId = 1;</code>
     */
    public long getInstructionId() {
      return instructionId_;
    }

    public static final int EVENT_FIELD_NUMBER = 2;
    private smsc.Api.Event event_;
    /**
     * <code>optional .smsc.Event event = 2;</code>
     */
    public boolean hasEvent() {
      return event_ != null;
    }
    /**
     * <code>optional .smsc.Event event = 2;</code>
     */
    public smsc.Api.Event getEvent() {
      return event_ == null ? smsc.Api.Event.getDefaultInstance() : event_;
    }
    /**
     * <code>optional .smsc.Event event = 2;</code>
     */
    public smsc.Api.EventOrBuilder getEventOrBuilder() {
      return getEvent();
    }

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

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (instructionId_ != 0L) {
        output.writeInt64(1, instructionId_);
      }
      if (event_ != null) {
        output.writeMessage(2, getEvent());
      }
    }

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

      size = 0;
      if (instructionId_ != 0L) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt64Size(1, instructionId_);
      }
      if (event_ != null) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(2, getEvent());
      }
      memoizedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof smsc.Api.ResponseDelivery)) {
        return super.equals(obj);
      }
      smsc.Api.ResponseDelivery other = (smsc.Api.ResponseDelivery) obj;

      boolean result = true;
      result = result && (getInstructionId()
          == other.getInstructionId());
      result = result && (hasEvent() == other.hasEvent());
      if (hasEvent()) {
        result = result && getEvent()
            .equals(other.getEvent());
      }
      return result;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptorForType().hashCode();
      hash = (37 * hash) + INSTRUCTIONID_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
          getInstructionId());
      if (hasEvent()) {
        hash = (37 * hash) + EVENT_FIELD_NUMBER;
        hash = (53 * hash) + getEvent().hashCode();
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

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

    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(smsc.Api.ResponseDelivery prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code smsc.ResponseDelivery}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:smsc.ResponseDelivery)
        smsc.Api.ResponseDeliveryOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return smsc.Api.internal_static_smsc_ResponseDelivery_descriptor;
      }

      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return smsc.Api.internal_static_smsc_ResponseDelivery_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                smsc.Api.ResponseDelivery.class, smsc.Api.ResponseDelivery.Builder.class);
      }

      // Construct using smsc.Api.ResponseDelivery.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
        }
      }
      public Builder clear() {
        super.clear();
        instructionId_ = 0L;

        if (eventBuilder_ == null) {
          event_ = null;
        } else {
          event_ = null;
          eventBuilder_ = null;
        }
        return this;
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return smsc.Api.internal_static_smsc_ResponseDelivery_descriptor;
      }

      public smsc.Api.ResponseDelivery getDefaultInstanceForType() {
        return smsc.Api.ResponseDelivery.getDefaultInstance();
      }

      public smsc.Api.ResponseDelivery build() {
        smsc.Api.ResponseDelivery result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public smsc.Api.ResponseDelivery buildPartial() {
        smsc.Api.ResponseDelivery result = new smsc.Api.ResponseDelivery(this);
        result.instructionId_ = instructionId_;
        if (eventBuilder_ == null) {
          result.event_ = event_;
        } else {
          result.event_ = eventBuilder_.build();
        }
        onBuilt();
        return result;
      }

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

      public Builder mergeFrom(smsc.Api.ResponseDelivery other) {
        if (other == smsc.Api.ResponseDelivery.getDefaultInstance()) return this;
        if (other.getInstructionId() != 0L) {
          setInstructionId(other.getInstructionId());
        }
        if (other.hasEvent()) {
          mergeEvent(other.getEvent());
        }
        onChanged();
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        smsc.Api.ResponseDelivery parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (smsc.Api.ResponseDelivery) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }

      private long instructionId_ ;
      /**
       * <code>optional int64 instructionId = 1;</code>
       */
      public long getInstructionId() {
        return instructionId_;
      }
      /**
       * <code>optional int64 instructionId = 1;</code>
       */
      public Builder setInstructionId(long value) {
        
        instructionId_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional int64 instructionId = 1;</code>
       */
      public Builder clearInstructionId() {
        
        instructionId_ = 0L;
        onChanged();
        return this;
      }

      private smsc.Api.Event event_ = null;
      private com.google.protobuf.SingleFieldBuilderV3<
          smsc.Api.Event, smsc.Api.Event.Builder, smsc.Api.EventOrBuilder> eventBuilder_;
      /**
       * <code>optional .smsc.Event event = 2;</code>
       */
      public boolean hasEvent() {
        return eventBuilder_ != null || event_ != null;
      }
      /**
       * <code>optional .smsc.Event event = 2;</code>
       */
      public smsc.Api.Event getEvent() {
        if (eventBuilder_ == null) {
          return event_ == null ? smsc.Api.Event.getDefaultInstance() : event_;
        } else {
          return eventBuilder_.getMessage();
        }
      }
      /**
       * <code>optional .smsc.Event event = 2;</code>
       */
      public Builder setEvent(smsc.Api.Event value) {
        if (eventBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          event_ = value;
          onChanged();
        } else {
          eventBuilder_.setMessage(value);
        }

        return this;
      }
      /**
       * <code>optional .smsc.Event event = 2;</code>
       */
      public Builder setEvent(
          smsc.Api.Event.Builder builderForValue) {
        if (eventBuilder_ == null) {
          event_ = builderForValue.build();
          onChanged();
        } else {
          eventBuilder_.setMessage(builderForValue.build());
        }

        return this;
      }
      /**
       * <code>optional .smsc.Event event = 2;</code>
       */
      public Builder mergeEvent(smsc.Api.Event value) {
        if (eventBuilder_ == null) {
          if (event_ != null) {
            event_ =
              smsc.Api.Event.newBuilder(event_).mergeFrom(value).buildPartial();
          } else {
            event_ = value;
          }
          onChanged();
        } else {
          eventBuilder_.mergeFrom(value);
        }

        return this;
      }
      /**
       * <code>optional .smsc.Event event = 2;</code>
       */
      public Builder clearEvent() {
        if (eventBuilder_ == null) {
          event_ = null;
          onChanged();
        } else {
          event_ = null;
          eventBuilder_ = null;
        }

        return this;
      }
      /**
       * <code>optional .smsc.Event event = 2;</code>
       */
      public smsc.Api.Event.Builder getEventBuilder() {
        
        onChanged();
        return getEventFieldBuilder().getBuilder();
      }
      /**
       * <code>optional .smsc.Event event = 2;</code>
       */
      public smsc.Api.EventOrBuilder getEventOrBuilder() {
        if (eventBuilder_ != null) {
          return eventBuilder_.getMessageOrBuilder();
        } else {
          return event_ == null ?
              smsc.Api.Event.getDefaultInstance() : event_;
        }
      }
      /**
       * <code>optional .smsc.Event event = 2;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          smsc.Api.Event, smsc.Api.Event.Builder, smsc.Api.EventOrBuilder> 
          getEventFieldBuilder() {
        if (eventBuilder_ == null) {
          eventBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              smsc.Api.Event, smsc.Api.Event.Builder, smsc.Api.EventOrBuilder>(
                  getEvent(),
                  getParentForChildren(),
                  isClean());
          event_ = null;
        }
        return eventBuilder_;
      }
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return this;
      }

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


      // @@protoc_insertion_point(builder_scope:smsc.ResponseDelivery)
    }

    // @@protoc_insertion_point(class_scope:smsc.ResponseDelivery)
    private static final smsc.Api.ResponseDelivery DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new smsc.Api.ResponseDelivery();
    }

    public static smsc.Api.ResponseDelivery getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

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

    public smsc.Api.ResponseDelivery getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface ResponseCarryOrBuilder extends
      // @@protoc_insertion_point(interface_extends:smsc.ResponseCarry)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <code>optional int64 instructionId = 1;</code>
     */
    long getInstructionId();

    /**
     * <code>optional .smsc.Event event = 2;</code>
     */
    boolean hasEvent();
    /**
     * <code>optional .smsc.Event event = 2;</code>
     */
    smsc.Api.Event getEvent();
    /**
     * <code>optional .smsc.Event event = 2;</code>
     */
    smsc.Api.EventOrBuilder getEventOrBuilder();
  }
  /**
   * Protobuf type {@code smsc.ResponseCarry}
   */
  public  static final class ResponseCarry extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:smsc.ResponseCarry)
      ResponseCarryOrBuilder {
    // Use ResponseCarry.newBuilder() to construct.
    private ResponseCarry(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private ResponseCarry() {
      instructionId_ = 0L;
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return com.google.protobuf.UnknownFieldSet.getDefaultInstance();
    }
    private ResponseCarry(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      int mutable_bitField0_ = 0;
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!input.skipField(tag)) {
                done = true;
              }
              break;
            }
            case 8: {

              instructionId_ = input.readInt64();
              break;
            }
            case 18: {
              smsc.Api.Event.Builder subBuilder = null;
              if (event_ != null) {
                subBuilder = event_.toBuilder();
              }
              event_ = input.readMessage(smsc.Api.Event.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(event_);
                event_ = subBuilder.buildPartial();
              }

              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return smsc.Api.internal_static_smsc_ResponseCarry_descriptor;
    }

    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return smsc.Api.internal_static_smsc_ResponseCarry_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              smsc.Api.ResponseCarry.class, smsc.Api.ResponseCarry.Builder.class);
    }

    public static final int INSTRUCTIONID_FIELD_NUMBER = 1;
    private long instructionId_;
    /**
     * <code>optional int64 instructionId = 1;</code>
     */
    public long getInstructionId() {
      return instructionId_;
    }

    public static final int EVENT_FIELD_NUMBER = 2;
    private smsc.Api.Event event_;
    /**
     * <code>optional .smsc.Event event = 2;</code>
     */
    public boolean hasEvent() {
      return event_ != null;
    }
    /**
     * <code>optional .smsc.Event event = 2;</code>
     */
    public smsc.Api.Event getEvent() {
      return event_ == null ? smsc.Api.Event.getDefaultInstance() : event_;
    }
    /**
     * <code>optional .smsc.Event event = 2;</code>
     */
    public smsc.Api.EventOrBuilder getEventOrBuilder() {
      return getEvent();
    }

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

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (instructionId_ != 0L) {
        output.writeInt64(1, instructionId_);
      }
      if (event_ != null) {
        output.writeMessage(2, getEvent());
      }
    }

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

      size = 0;
      if (instructionId_ != 0L) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt64Size(1, instructionId_);
      }
      if (event_ != null) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(2, getEvent());
      }
      memoizedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof smsc.Api.ResponseCarry)) {
        return super.equals(obj);
      }
      smsc.Api.ResponseCarry other = (smsc.Api.ResponseCarry) obj;

      boolean result = true;
      result = result && (getInstructionId()
          == other.getInstructionId());
      result = result && (hasEvent() == other.hasEvent());
      if (hasEvent()) {
        result = result && getEvent()
            .equals(other.getEvent());
      }
      return result;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptorForType().hashCode();
      hash = (37 * hash) + INSTRUCTIONID_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
          getInstructionId());
      if (hasEvent()) {
        hash = (37 * hash) + EVENT_FIELD_NUMBER;
        hash = (53 * hash) + getEvent().hashCode();
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

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

    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(smsc.Api.ResponseCarry prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code smsc.ResponseCarry}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:smsc.ResponseCarry)
        smsc.Api.ResponseCarryOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return smsc.Api.internal_static_smsc_ResponseCarry_descriptor;
      }

      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return smsc.Api.internal_static_smsc_ResponseCarry_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                smsc.Api.ResponseCarry.class, smsc.Api.ResponseCarry.Builder.class);
      }

      // Construct using smsc.Api.ResponseCarry.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
        }
      }
      public Builder clear() {
        super.clear();
        instructionId_ = 0L;

        if (eventBuilder_ == null) {
          event_ = null;
        } else {
          event_ = null;
          eventBuilder_ = null;
        }
        return this;
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return smsc.Api.internal_static_smsc_ResponseCarry_descriptor;
      }

      public smsc.Api.ResponseCarry getDefaultInstanceForType() {
        return smsc.Api.ResponseCarry.getDefaultInstance();
      }

      public smsc.Api.ResponseCarry build() {
        smsc.Api.ResponseCarry result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public smsc.Api.ResponseCarry buildPartial() {
        smsc.Api.ResponseCarry result = new smsc.Api.ResponseCarry(this);
        result.instructionId_ = instructionId_;
        if (eventBuilder_ == null) {
          result.event_ = event_;
        } else {
          result.event_ = eventBuilder_.build();
        }
        onBuilt();
        return result;
      }

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

      public Builder mergeFrom(smsc.Api.ResponseCarry other) {
        if (other == smsc.Api.ResponseCarry.getDefaultInstance()) return this;
        if (other.getInstructionId() != 0L) {
          setInstructionId(other.getInstructionId());
        }
        if (other.hasEvent()) {
          mergeEvent(other.getEvent());
        }
        onChanged();
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        smsc.Api.ResponseCarry parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (smsc.Api.ResponseCarry) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }

      private long instructionId_ ;
      /**
       * <code>optional int64 instructionId = 1;</code>
       */
      public long getInstructionId() {
        return instructionId_;
      }
      /**
       * <code>optional int64 instructionId = 1;</code>
       */
      public Builder setInstructionId(long value) {
        
        instructionId_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional int64 instructionId = 1;</code>
       */
      public Builder clearInstructionId() {
        
        instructionId_ = 0L;
        onChanged();
        return this;
      }

      private smsc.Api.Event event_ = null;
      private com.google.protobuf.SingleFieldBuilderV3<
          smsc.Api.Event, smsc.Api.Event.Builder, smsc.Api.EventOrBuilder> eventBuilder_;
      /**
       * <code>optional .smsc.Event event = 2;</code>
       */
      public boolean hasEvent() {
        return eventBuilder_ != null || event_ != null;
      }
      /**
       * <code>optional .smsc.Event event = 2;</code>
       */
      public smsc.Api.Event getEvent() {
        if (eventBuilder_ == null) {
          return event_ == null ? smsc.Api.Event.getDefaultInstance() : event_;
        } else {
          return eventBuilder_.getMessage();
        }
      }
      /**
       * <code>optional .smsc.Event event = 2;</code>
       */
      public Builder setEvent(smsc.Api.Event value) {
        if (eventBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          event_ = value;
          onChanged();
        } else {
          eventBuilder_.setMessage(value);
        }

        return this;
      }
      /**
       * <code>optional .smsc.Event event = 2;</code>
       */
      public Builder setEvent(
          smsc.Api.Event.Builder builderForValue) {
        if (eventBuilder_ == null) {
          event_ = builderForValue.build();
          onChanged();
        } else {
          eventBuilder_.setMessage(builderForValue.build());
        }

        return this;
      }
      /**
       * <code>optional .smsc.Event event = 2;</code>
       */
      public Builder mergeEvent(smsc.Api.Event value) {
        if (eventBuilder_ == null) {
          if (event_ != null) {
            event_ =
              smsc.Api.Event.newBuilder(event_).mergeFrom(value).buildPartial();
          } else {
            event_ = value;
          }
          onChanged();
        } else {
          eventBuilder_.mergeFrom(value);
        }

        return this;
      }
      /**
       * <code>optional .smsc.Event event = 2;</code>
       */
      public Builder clearEvent() {
        if (eventBuilder_ == null) {
          event_ = null;
          onChanged();
        } else {
          event_ = null;
          eventBuilder_ = null;
        }

        return this;
      }
      /**
       * <code>optional .smsc.Event event = 2;</code>
       */
      public smsc.Api.Event.Builder getEventBuilder() {
        
        onChanged();
        return getEventFieldBuilder().getBuilder();
      }
      /**
       * <code>optional .smsc.Event event = 2;</code>
       */
      public smsc.Api.EventOrBuilder getEventOrBuilder() {
        if (eventBuilder_ != null) {
          return eventBuilder_.getMessageOrBuilder();
        } else {
          return event_ == null ?
              smsc.Api.Event.getDefaultInstance() : event_;
        }
      }
      /**
       * <code>optional .smsc.Event event = 2;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          smsc.Api.Event, smsc.Api.Event.Builder, smsc.Api.EventOrBuilder> 
          getEventFieldBuilder() {
        if (eventBuilder_ == null) {
          eventBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              smsc.Api.Event, smsc.Api.Event.Builder, smsc.Api.EventOrBuilder>(
                  getEvent(),
                  getParentForChildren(),
                  isClean());
          event_ = null;
        }
        return eventBuilder_;
      }
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return this;
      }

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


      // @@protoc_insertion_point(builder_scope:smsc.ResponseCarry)
    }

    // @@protoc_insertion_point(class_scope:smsc.ResponseCarry)
    private static final smsc.Api.ResponseCarry DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new smsc.Api.ResponseCarry();
    }

    public static smsc.Api.ResponseCarry getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

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

    public smsc.Api.ResponseCarry getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface ResponseCheckOrBuilder extends
      // @@protoc_insertion_point(interface_extends:smsc.ResponseCheck)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <code>optional int64 instructionId = 1;</code>
     */
    long getInstructionId();

    /**
     * <code>optional .smsc.Event event = 2;</code>
     */
    boolean hasEvent();
    /**
     * <code>optional .smsc.Event event = 2;</code>
     */
    smsc.Api.Event getEvent();
    /**
     * <code>optional .smsc.Event event = 2;</code>
     */
    smsc.Api.EventOrBuilder getEventOrBuilder();
  }
  /**
   * Protobuf type {@code smsc.ResponseCheck}
   */
  public  static final class ResponseCheck extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:smsc.ResponseCheck)
      ResponseCheckOrBuilder {
    // Use ResponseCheck.newBuilder() to construct.
    private ResponseCheck(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private ResponseCheck() {
      instructionId_ = 0L;
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return com.google.protobuf.UnknownFieldSet.getDefaultInstance();
    }
    private ResponseCheck(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      int mutable_bitField0_ = 0;
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!input.skipField(tag)) {
                done = true;
              }
              break;
            }
            case 8: {

              instructionId_ = input.readInt64();
              break;
            }
            case 18: {
              smsc.Api.Event.Builder subBuilder = null;
              if (event_ != null) {
                subBuilder = event_.toBuilder();
              }
              event_ = input.readMessage(smsc.Api.Event.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(event_);
                event_ = subBuilder.buildPartial();
              }

              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return smsc.Api.internal_static_smsc_ResponseCheck_descriptor;
    }

    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return smsc.Api.internal_static_smsc_ResponseCheck_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              smsc.Api.ResponseCheck.class, smsc.Api.ResponseCheck.Builder.class);
    }

    public static final int INSTRUCTIONID_FIELD_NUMBER = 1;
    private long instructionId_;
    /**
     * <code>optional int64 instructionId = 1;</code>
     */
    public long getInstructionId() {
      return instructionId_;
    }

    public static final int EVENT_FIELD_NUMBER = 2;
    private smsc.Api.Event event_;
    /**
     * <code>optional .smsc.Event event = 2;</code>
     */
    public boolean hasEvent() {
      return event_ != null;
    }
    /**
     * <code>optional .smsc.Event event = 2;</code>
     */
    public smsc.Api.Event getEvent() {
      return event_ == null ? smsc.Api.Event.getDefaultInstance() : event_;
    }
    /**
     * <code>optional .smsc.Event event = 2;</code>
     */
    public smsc.Api.EventOrBuilder getEventOrBuilder() {
      return getEvent();
    }

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

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (instructionId_ != 0L) {
        output.writeInt64(1, instructionId_);
      }
      if (event_ != null) {
        output.writeMessage(2, getEvent());
      }
    }

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

      size = 0;
      if (instructionId_ != 0L) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt64Size(1, instructionId_);
      }
      if (event_ != null) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(2, getEvent());
      }
      memoizedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof smsc.Api.ResponseCheck)) {
        return super.equals(obj);
      }
      smsc.Api.ResponseCheck other = (smsc.Api.ResponseCheck) obj;

      boolean result = true;
      result = result && (getInstructionId()
          == other.getInstructionId());
      result = result && (hasEvent() == other.hasEvent());
      if (hasEvent()) {
        result = result && getEvent()
            .equals(other.getEvent());
      }
      return result;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptorForType().hashCode();
      hash = (37 * hash) + INSTRUCTIONID_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
          getInstructionId());
      if (hasEvent()) {
        hash = (37 * hash) + EVENT_FIELD_NUMBER;
        hash = (53 * hash) + getEvent().hashCode();
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

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

    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(smsc.Api.ResponseCheck prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code smsc.ResponseCheck}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:smsc.ResponseCheck)
        smsc.Api.ResponseCheckOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return smsc.Api.internal_static_smsc_ResponseCheck_descriptor;
      }

      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return smsc.Api.internal_static_smsc_ResponseCheck_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                smsc.Api.ResponseCheck.class, smsc.Api.ResponseCheck.Builder.class);
      }

      // Construct using smsc.Api.ResponseCheck.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
        }
      }
      public Builder clear() {
        super.clear();
        instructionId_ = 0L;

        if (eventBuilder_ == null) {
          event_ = null;
        } else {
          event_ = null;
          eventBuilder_ = null;
        }
        return this;
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return smsc.Api.internal_static_smsc_ResponseCheck_descriptor;
      }

      public smsc.Api.ResponseCheck getDefaultInstanceForType() {
        return smsc.Api.ResponseCheck.getDefaultInstance();
      }

      public smsc.Api.ResponseCheck build() {
        smsc.Api.ResponseCheck result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public smsc.Api.ResponseCheck buildPartial() {
        smsc.Api.ResponseCheck result = new smsc.Api.ResponseCheck(this);
        result.instructionId_ = instructionId_;
        if (eventBuilder_ == null) {
          result.event_ = event_;
        } else {
          result.event_ = eventBuilder_.build();
        }
        onBuilt();
        return result;
      }

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

      public Builder mergeFrom(smsc.Api.ResponseCheck other) {
        if (other == smsc.Api.ResponseCheck.getDefaultInstance()) return this;
        if (other.getInstructionId() != 0L) {
          setInstructionId(other.getInstructionId());
        }
        if (other.hasEvent()) {
          mergeEvent(other.getEvent());
        }
        onChanged();
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        smsc.Api.ResponseCheck parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (smsc.Api.ResponseCheck) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }

      private long instructionId_ ;
      /**
       * <code>optional int64 instructionId = 1;</code>
       */
      public long getInstructionId() {
        return instructionId_;
      }
      /**
       * <code>optional int64 instructionId = 1;</code>
       */
      public Builder setInstructionId(long value) {
        
        instructionId_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional int64 instructionId = 1;</code>
       */
      public Builder clearInstructionId() {
        
        instructionId_ = 0L;
        onChanged();
        return this;
      }

      private smsc.Api.Event event_ = null;
      private com.google.protobuf.SingleFieldBuilderV3<
          smsc.Api.Event, smsc.Api.Event.Builder, smsc.Api.EventOrBuilder> eventBuilder_;
      /**
       * <code>optional .smsc.Event event = 2;</code>
       */
      public boolean hasEvent() {
        return eventBuilder_ != null || event_ != null;
      }
      /**
       * <code>optional .smsc.Event event = 2;</code>
       */
      public smsc.Api.Event getEvent() {
        if (eventBuilder_ == null) {
          return event_ == null ? smsc.Api.Event.getDefaultInstance() : event_;
        } else {
          return eventBuilder_.getMessage();
        }
      }
      /**
       * <code>optional .smsc.Event event = 2;</code>
       */
      public Builder setEvent(smsc.Api.Event value) {
        if (eventBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          event_ = value;
          onChanged();
        } else {
          eventBuilder_.setMessage(value);
        }

        return this;
      }
      /**
       * <code>optional .smsc.Event event = 2;</code>
       */
      public Builder setEvent(
          smsc.Api.Event.Builder builderForValue) {
        if (eventBuilder_ == null) {
          event_ = builderForValue.build();
          onChanged();
        } else {
          eventBuilder_.setMessage(builderForValue.build());
        }

        return this;
      }
      /**
       * <code>optional .smsc.Event event = 2;</code>
       */
      public Builder mergeEvent(smsc.Api.Event value) {
        if (eventBuilder_ == null) {
          if (event_ != null) {
            event_ =
              smsc.Api.Event.newBuilder(event_).mergeFrom(value).buildPartial();
          } else {
            event_ = value;
          }
          onChanged();
        } else {
          eventBuilder_.mergeFrom(value);
        }

        return this;
      }
      /**
       * <code>optional .smsc.Event event = 2;</code>
       */
      public Builder clearEvent() {
        if (eventBuilder_ == null) {
          event_ = null;
          onChanged();
        } else {
          event_ = null;
          eventBuilder_ = null;
        }

        return this;
      }
      /**
       * <code>optional .smsc.Event event = 2;</code>
       */
      public smsc.Api.Event.Builder getEventBuilder() {
        
        onChanged();
        return getEventFieldBuilder().getBuilder();
      }
      /**
       * <code>optional .smsc.Event event = 2;</code>
       */
      public smsc.Api.EventOrBuilder getEventOrBuilder() {
        if (eventBuilder_ != null) {
          return eventBuilder_.getMessageOrBuilder();
        } else {
          return event_ == null ?
              smsc.Api.Event.getDefaultInstance() : event_;
        }
      }
      /**
       * <code>optional .smsc.Event event = 2;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          smsc.Api.Event, smsc.Api.Event.Builder, smsc.Api.EventOrBuilder> 
          getEventFieldBuilder() {
        if (eventBuilder_ == null) {
          eventBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              smsc.Api.Event, smsc.Api.Event.Builder, smsc.Api.EventOrBuilder>(
                  getEvent(),
                  getParentForChildren(),
                  isClean());
          event_ = null;
        }
        return eventBuilder_;
      }
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return this;
      }

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


      // @@protoc_insertion_point(builder_scope:smsc.ResponseCheck)
    }

    // @@protoc_insertion_point(class_scope:smsc.ResponseCheck)
    private static final smsc.Api.ResponseCheck DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new smsc.Api.ResponseCheck();
    }

    public static smsc.Api.ResponseCheck getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

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

    public smsc.Api.ResponseCheck getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface EventOrBuilder extends
      // @@protoc_insertion_point(interface_extends:smsc.Event)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <code>optional .smsc.EventSetAdmin setAdmin = 1;</code>
     */
    smsc.Api.EventSetAdmin getSetAdmin();
    /**
     * <code>optional .smsc.EventSetAdmin setAdmin = 1;</code>
     */
    smsc.Api.EventSetAdminOrBuilder getSetAdminOrBuilder();

    /**
     * <code>optional .smsc.EventCreateAccount createAccount = 2;</code>
     */
    smsc.Api.EventCreateAccount getCreateAccount();
    /**
     * <code>optional .smsc.EventCreateAccount createAccount = 2;</code>
     */
    smsc.Api.EventCreateAccountOrBuilder getCreateAccountOrBuilder();

    /**
     * <code>optional .smsc.EventEditAccount editAccount = 3;</code>
     */
    smsc.Api.EventEditAccount getEditAccount();
    /**
     * <code>optional .smsc.EventEditAccount editAccount = 3;</code>
     */
    smsc.Api.EventEditAccountOrBuilder getEditAccountOrBuilder();

    /**
     * <code>optional .smsc.EventDeleteAccount deleteAccount = 4;</code>
     */
    smsc.Api.EventDeleteAccount getDeleteAccount();
    /**
     * <code>optional .smsc.EventDeleteAccount deleteAccount = 4;</code>
     */
    smsc.Api.EventDeleteAccountOrBuilder getDeleteAccountOrBuilder();

    /**
     * <code>optional .smsc.EventSetSupplier setSupplier = 5;</code>
     */
    smsc.Api.EventSetSupplier getSetSupplier();
    /**
     * <code>optional .smsc.EventSetSupplier setSupplier = 5;</code>
     */
    smsc.Api.EventSetSupplierOrBuilder getSetSupplierOrBuilder();

    /**
     * <code>optional .smsc.EventCreateOrder createOrder = 6;</code>
     */
    smsc.Api.EventCreateOrder getCreateOrder();
    /**
     * <code>optional .smsc.EventCreateOrder createOrder = 6;</code>
     */
    smsc.Api.EventCreateOrderOrBuilder getCreateOrderOrBuilder();

    /**
     * <code>optional .smsc.EventDelivery delivery = 7;</code>
     */
    smsc.Api.EventDelivery getDelivery();
    /**
     * <code>optional .smsc.EventDelivery delivery = 7;</code>
     */
    smsc.Api.EventDeliveryOrBuilder getDeliveryOrBuilder();

    /**
     * <code>optional .smsc.EventCarry carry = 8;</code>
     */
    smsc.Api.EventCarry getCarry();
    /**
     * <code>optional .smsc.EventCarry carry = 8;</code>
     */
    smsc.Api.EventCarryOrBuilder getCarryOrBuilder();

    /**
     * <code>optional .smsc.EventCheck check = 9;</code>
     */
    smsc.Api.EventCheck getCheck();
    /**
     * <code>optional .smsc.EventCheck check = 9;</code>
     */
    smsc.Api.EventCheckOrBuilder getCheckOrBuilder();

    public smsc.Api.Event.ValueCase getValueCase();
  }
  /**
   * Protobuf type {@code smsc.Event}
   */
  public  static final class Event extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:smsc.Event)
      EventOrBuilder {
    // Use Event.newBuilder() to construct.
    private Event(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private Event() {
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return com.google.protobuf.UnknownFieldSet.getDefaultInstance();
    }
    private Event(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      int mutable_bitField0_ = 0;
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!input.skipField(tag)) {
                done = true;
              }
              break;
            }
            case 10: {
              smsc.Api.EventSetAdmin.Builder subBuilder = null;
              if (valueCase_ == 1) {
                subBuilder = ((smsc.Api.EventSetAdmin) value_).toBuilder();
              }
              value_ =
                  input.readMessage(smsc.Api.EventSetAdmin.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom((smsc.Api.EventSetAdmin) value_);
                value_ = subBuilder.buildPartial();
              }
              valueCase_ = 1;
              break;
            }
            case 18: {
              smsc.Api.EventCreateAccount.Builder subBuilder = null;
              if (valueCase_ == 2) {
                subBuilder = ((smsc.Api.EventCreateAccount) value_).toBuilder();
              }
              value_ =
                  input.readMessage(smsc.Api.EventCreateAccount.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom((smsc.Api.EventCreateAccount) value_);
                value_ = subBuilder.buildPartial();
              }
              valueCase_ = 2;
              break;
            }
            case 26: {
              smsc.Api.EventEditAccount.Builder subBuilder = null;
              if (valueCase_ == 3) {
                subBuilder = ((smsc.Api.EventEditAccount) value_).toBuilder();
              }
              value_ =
                  input.readMessage(smsc.Api.EventEditAccount.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom((smsc.Api.EventEditAccount) value_);
                value_ = subBuilder.buildPartial();
              }
              valueCase_ = 3;
              break;
            }
            case 34: {
              smsc.Api.EventDeleteAccount.Builder subBuilder = null;
              if (valueCase_ == 4) {
                subBuilder = ((smsc.Api.EventDeleteAccount) value_).toBuilder();
              }
              value_ =
                  input.readMessage(smsc.Api.EventDeleteAccount.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom((smsc.Api.EventDeleteAccount) value_);
                value_ = subBuilder.buildPartial();
              }
              valueCase_ = 4;
              break;
            }
            case 42: {
              smsc.Api.EventSetSupplier.Builder subBuilder = null;
              if (valueCase_ == 5) {
                subBuilder = ((smsc.Api.EventSetSupplier) value_).toBuilder();
              }
              value_ =
                  input.readMessage(smsc.Api.EventSetSupplier.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom((smsc.Api.EventSetSupplier) value_);
                value_ = subBuilder.buildPartial();
              }
              valueCase_ = 5;
              break;
            }
            case 50: {
              smsc.Api.EventCreateOrder.Builder subBuilder = null;
              if (valueCase_ == 6) {
                subBuilder = ((smsc.Api.EventCreateOrder) value_).toBuilder();
              }
              value_ =
                  input.readMessage(smsc.Api.EventCreateOrder.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom((smsc.Api.EventCreateOrder) value_);
                value_ = subBuilder.buildPartial();
              }
              valueCase_ = 6;
              break;
            }
            case 58: {
              smsc.Api.EventDelivery.Builder subBuilder = null;
              if (valueCase_ == 7) {
                subBuilder = ((smsc.Api.EventDelivery) value_).toBuilder();
              }
              value_ =
                  input.readMessage(smsc.Api.EventDelivery.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom((smsc.Api.EventDelivery) value_);
                value_ = subBuilder.buildPartial();
              }
              valueCase_ = 7;
              break;
            }
            case 66: {
              smsc.Api.EventCarry.Builder subBuilder = null;
              if (valueCase_ == 8) {
                subBuilder = ((smsc.Api.EventCarry) value_).toBuilder();
              }
              value_ =
                  input.readMessage(smsc.Api.EventCarry.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom((smsc.Api.EventCarry) value_);
                value_ = subBuilder.buildPartial();
              }
              valueCase_ = 8;
              break;
            }
            case 74: {
              smsc.Api.EventCheck.Builder subBuilder = null;
              if (valueCase_ == 9) {
                subBuilder = ((smsc.Api.EventCheck) value_).toBuilder();
              }
              value_ =
                  input.readMessage(smsc.Api.EventCheck.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom((smsc.Api.EventCheck) value_);
                value_ = subBuilder.buildPartial();
              }
              valueCase_ = 9;
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return smsc.Api.internal_static_smsc_Event_descriptor;
    }

    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return smsc.Api.internal_static_smsc_Event_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              smsc.Api.Event.class, smsc.Api.Event.Builder.class);
    }

    private int valueCase_ = 0;
    private java.lang.Object value_;
    public enum ValueCase
        implements com.google.protobuf.Internal.EnumLite {
      SETADMIN(1),
      CREATEACCOUNT(2),
      EDITACCOUNT(3),
      DELETEACCOUNT(4),
      SETSUPPLIER(5),
      CREATEORDER(6),
      DELIVERY(7),
      CARRY(8),
      CHECK(9),
      VALUE_NOT_SET(0);
      private final int value;
      private ValueCase(int value) {
        this.value = value;
      }
      /**
       * @deprecated Use {@link #forNumber(int)} instead.
       */
      @java.lang.Deprecated
      public static ValueCase valueOf(int value) {
        return forNumber(value);
      }

      public static ValueCase forNumber(int value) {
        switch (value) {
          case 1: return SETADMIN;
          case 2: return CREATEACCOUNT;
          case 3: return EDITACCOUNT;
          case 4: return DELETEACCOUNT;
          case 5: return SETSUPPLIER;
          case 6: return CREATEORDER;
          case 7: return DELIVERY;
          case 8: return CARRY;
          case 9: return CHECK;
          case 0: return VALUE_NOT_SET;
          default: return null;
        }
      }
      public int getNumber() {
        return this.value;
      }
    };

    public ValueCase
    getValueCase() {
      return ValueCase.forNumber(
          valueCase_);
    }

    public static final int SETADMIN_FIELD_NUMBER = 1;
    /**
     * <code>optional .smsc.EventSetAdmin setAdmin = 1;</code>
     */
    public smsc.Api.EventSetAdmin getSetAdmin() {
      if (valueCase_ == 1) {
         return (smsc.Api.EventSetAdmin) value_;
      }
      return smsc.Api.EventSetAdmin.getDefaultInstance();
    }
    /**
     * <code>optional .smsc.EventSetAdmin setAdmin = 1;</code>
     */
    public smsc.Api.EventSetAdminOrBuilder getSetAdminOrBuilder() {
      if (valueCase_ == 1) {
         return (smsc.Api.EventSetAdmin) value_;
      }
      return smsc.Api.EventSetAdmin.getDefaultInstance();
    }

    public static final int CREATEACCOUNT_FIELD_NUMBER = 2;
    /**
     * <code>optional .smsc.EventCreateAccount createAccount = 2;</code>
     */
    public smsc.Api.EventCreateAccount getCreateAccount() {
      if (valueCase_ == 2) {
         return (smsc.Api.EventCreateAccount) value_;
      }
      return smsc.Api.EventCreateAccount.getDefaultInstance();
    }
    /**
     * <code>optional .smsc.EventCreateAccount createAccount = 2;</code>
     */
    public smsc.Api.EventCreateAccountOrBuilder getCreateAccountOrBuilder() {
      if (valueCase_ == 2) {
         return (smsc.Api.EventCreateAccount) value_;
      }
      return smsc.Api.EventCreateAccount.getDefaultInstance();
    }

    public static final int EDITACCOUNT_FIELD_NUMBER = 3;
    /**
     * <code>optional .smsc.EventEditAccount editAccount = 3;</code>
     */
    public smsc.Api.EventEditAccount getEditAccount() {
      if (valueCase_ == 3) {
         return (smsc.Api.EventEditAccount) value_;
      }
      return smsc.Api.EventEditAccount.getDefaultInstance();
    }
    /**
     * <code>optional .smsc.EventEditAccount editAccount = 3;</code>
     */
    public smsc.Api.EventEditAccountOrBuilder getEditAccountOrBuilder() {
      if (valueCase_ == 3) {
         return (smsc.Api.EventEditAccount) value_;
      }
      return smsc.Api.EventEditAccount.getDefaultInstance();
    }

    public static final int DELETEACCOUNT_FIELD_NUMBER = 4;
    /**
     * <code>optional .smsc.EventDeleteAccount deleteAccount = 4;</code>
     */
    public smsc.Api.EventDeleteAccount getDeleteAccount() {
      if (valueCase_ == 4) {
         return (smsc.Api.EventDeleteAccount) value_;
      }
      return smsc.Api.EventDeleteAccount.getDefaultInstance();
    }
    /**
     * <code>optional .smsc.EventDeleteAccount deleteAccount = 4;</code>
     */
    public smsc.Api.EventDeleteAccountOrBuilder getDeleteAccountOrBuilder() {
      if (valueCase_ == 4) {
         return (smsc.Api.EventDeleteAccount) value_;
      }
      return smsc.Api.EventDeleteAccount.getDefaultInstance();
    }

    public static final int SETSUPPLIER_FIELD_NUMBER = 5;
    /**
     * <code>optional .smsc.EventSetSupplier setSupplier = 5;</code>
     */
    public smsc.Api.EventSetSupplier getSetSupplier() {
      if (valueCase_ == 5) {
         return (smsc.Api.EventSetSupplier) value_;
      }
      return smsc.Api.EventSetSupplier.getDefaultInstance();
    }
    /**
     * <code>optional .smsc.EventSetSupplier setSupplier = 5;</code>
     */
    public smsc.Api.EventSetSupplierOrBuilder getSetSupplierOrBuilder() {
      if (valueCase_ == 5) {
         return (smsc.Api.EventSetSupplier) value_;
      }
      return smsc.Api.EventSetSupplier.getDefaultInstance();
    }

    public static final int CREATEORDER_FIELD_NUMBER = 6;
    /**
     * <code>optional .smsc.EventCreateOrder createOrder = 6;</code>
     */
    public smsc.Api.EventCreateOrder getCreateOrder() {
      if (valueCase_ == 6) {
         return (smsc.Api.EventCreateOrder) value_;
      }
      return smsc.Api.EventCreateOrder.getDefaultInstance();
    }
    /**
     * <code>optional .smsc.EventCreateOrder createOrder = 6;</code>
     */
    public smsc.Api.EventCreateOrderOrBuilder getCreateOrderOrBuilder() {
      if (valueCase_ == 6) {
         return (smsc.Api.EventCreateOrder) value_;
      }
      return smsc.Api.EventCreateOrder.getDefaultInstance();
    }

    public static final int DELIVERY_FIELD_NUMBER = 7;
    /**
     * <code>optional .smsc.EventDelivery delivery = 7;</code>
     */
    public smsc.Api.EventDelivery getDelivery() {
      if (valueCase_ == 7) {
         return (smsc.Api.EventDelivery) value_;
      }
      return smsc.Api.EventDelivery.getDefaultInstance();
    }
    /**
     * <code>optional .smsc.EventDelivery delivery = 7;</code>
     */
    public smsc.Api.EventDeliveryOrBuilder getDeliveryOrBuilder() {
      if (valueCase_ == 7) {
         return (smsc.Api.EventDelivery) value_;
      }
      return smsc.Api.EventDelivery.getDefaultInstance();
    }

    public static final int CARRY_FIELD_NUMBER = 8;
    /**
     * <code>optional .smsc.EventCarry carry = 8;</code>
     */
    public smsc.Api.EventCarry getCarry() {
      if (valueCase_ == 8) {
         return (smsc.Api.EventCarry) value_;
      }
      return smsc.Api.EventCarry.getDefaultInstance();
    }
    /**
     * <code>optional .smsc.EventCarry carry = 8;</code>
     */
    public smsc.Api.EventCarryOrBuilder getCarryOrBuilder() {
      if (valueCase_ == 8) {
         return (smsc.Api.EventCarry) value_;
      }
      return smsc.Api.EventCarry.getDefaultInstance();
    }

    public static final int CHECK_FIELD_NUMBER = 9;
    /**
     * <code>optional .smsc.EventCheck check = 9;</code>
     */
    public smsc.Api.EventCheck getCheck() {
      if (valueCase_ == 9) {
         return (smsc.Api.EventCheck) value_;
      }
      return smsc.Api.EventCheck.getDefaultInstance();
    }
    /**
     * <code>optional .smsc.EventCheck check = 9;</code>
     */
    public smsc.Api.EventCheckOrBuilder getCheckOrBuilder() {
      if (valueCase_ == 9) {
         return (smsc.Api.EventCheck) value_;
      }
      return smsc.Api.EventCheck.getDefaultInstance();
    }

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

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (valueCase_ == 1) {
        output.writeMessage(1, (smsc.Api.EventSetAdmin) value_);
      }
      if (valueCase_ == 2) {
        output.writeMessage(2, (smsc.Api.EventCreateAccount) value_);
      }
      if (valueCase_ == 3) {
        output.writeMessage(3, (smsc.Api.EventEditAccount) value_);
      }
      if (valueCase_ == 4) {
        output.writeMessage(4, (smsc.Api.EventDeleteAccount) value_);
      }
      if (valueCase_ == 5) {
        output.writeMessage(5, (smsc.Api.EventSetSupplier) value_);
      }
      if (valueCase_ == 6) {
        output.writeMessage(6, (smsc.Api.EventCreateOrder) value_);
      }
      if (valueCase_ == 7) {
        output.writeMessage(7, (smsc.Api.EventDelivery) value_);
      }
      if (valueCase_ == 8) {
        output.writeMessage(8, (smsc.Api.EventCarry) value_);
      }
      if (valueCase_ == 9) {
        output.writeMessage(9, (smsc.Api.EventCheck) value_);
      }
    }

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

      size = 0;
      if (valueCase_ == 1) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(1, (smsc.Api.EventSetAdmin) value_);
      }
      if (valueCase_ == 2) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(2, (smsc.Api.EventCreateAccount) value_);
      }
      if (valueCase_ == 3) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(3, (smsc.Api.EventEditAccount) value_);
      }
      if (valueCase_ == 4) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(4, (smsc.Api.EventDeleteAccount) value_);
      }
      if (valueCase_ == 5) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(5, (smsc.Api.EventSetSupplier) value_);
      }
      if (valueCase_ == 6) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(6, (smsc.Api.EventCreateOrder) value_);
      }
      if (valueCase_ == 7) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(7, (smsc.Api.EventDelivery) value_);
      }
      if (valueCase_ == 8) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(8, (smsc.Api.EventCarry) value_);
      }
      if (valueCase_ == 9) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(9, (smsc.Api.EventCheck) value_);
      }
      memoizedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof smsc.Api.Event)) {
        return super.equals(obj);
      }
      smsc.Api.Event other = (smsc.Api.Event) obj;

      boolean result = true;
      result = result && getValueCase().equals(
          other.getValueCase());
      if (!result) return false;
      switch (valueCase_) {
        case 1:
          result = result && getSetAdmin()
              .equals(other.getSetAdmin());
          break;
        case 2:
          result = result && getCreateAccount()
              .equals(other.getCreateAccount());
          break;
        case 3:
          result = result && getEditAccount()
              .equals(other.getEditAccount());
          break;
        case 4:
          result = result && getDeleteAccount()
              .equals(other.getDeleteAccount());
          break;
        case 5:
          result = result && getSetSupplier()
              .equals(other.getSetSupplier());
          break;
        case 6:
          result = result && getCreateOrder()
              .equals(other.getCreateOrder());
          break;
        case 7:
          result = result && getDelivery()
              .equals(other.getDelivery());
          break;
        case 8:
          result = result && getCarry()
              .equals(other.getCarry());
          break;
        case 9:
          result = result && getCheck()
              .equals(other.getCheck());
          break;
        case 0:
        default:
      }
      return result;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptorForType().hashCode();
      switch (valueCase_) {
        case 1:
          hash = (37 * hash) + SETADMIN_FIELD_NUMBER;
          hash = (53 * hash) + getSetAdmin().hashCode();
          break;
        case 2:
          hash = (37 * hash) + CREATEACCOUNT_FIELD_NUMBER;
          hash = (53 * hash) + getCreateAccount().hashCode();
          break;
        case 3:
          hash = (37 * hash) + EDITACCOUNT_FIELD_NUMBER;
          hash = (53 * hash) + getEditAccount().hashCode();
          break;
        case 4:
          hash = (37 * hash) + DELETEACCOUNT_FIELD_NUMBER;
          hash = (53 * hash) + getDeleteAccount().hashCode();
          break;
        case 5:
          hash = (37 * hash) + SETSUPPLIER_FIELD_NUMBER;
          hash = (53 * hash) + getSetSupplier().hashCode();
          break;
        case 6:
          hash = (37 * hash) + CREATEORDER_FIELD_NUMBER;
          hash = (53 * hash) + getCreateOrder().hashCode();
          break;
        case 7:
          hash = (37 * hash) + DELIVERY_FIELD_NUMBER;
          hash = (53 * hash) + getDelivery().hashCode();
          break;
        case 8:
          hash = (37 * hash) + CARRY_FIELD_NUMBER;
          hash = (53 * hash) + getCarry().hashCode();
          break;
        case 9:
          hash = (37 * hash) + CHECK_FIELD_NUMBER;
          hash = (53 * hash) + getCheck().hashCode();
          break;
        case 0:
        default:
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

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

    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(smsc.Api.Event prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code smsc.Event}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:smsc.Event)
        smsc.Api.EventOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return smsc.Api.internal_static_smsc_Event_descriptor;
      }

      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return smsc.Api.internal_static_smsc_Event_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                smsc.Api.Event.class, smsc.Api.Event.Builder.class);
      }

      // Construct using smsc.Api.Event.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
        }
      }
      public Builder clear() {
        super.clear();
        valueCase_ = 0;
        value_ = null;
        return this;
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return smsc.Api.internal_static_smsc_Event_descriptor;
      }

      public smsc.Api.Event getDefaultInstanceForType() {
        return smsc.Api.Event.getDefaultInstance();
      }

      public smsc.Api.Event build() {
        smsc.Api.Event result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public smsc.Api.Event buildPartial() {
        smsc.Api.Event result = new smsc.Api.Event(this);
        if (valueCase_ == 1) {
          if (setAdminBuilder_ == null) {
            result.value_ = value_;
          } else {
            result.value_ = setAdminBuilder_.build();
          }
        }
        if (valueCase_ == 2) {
          if (createAccountBuilder_ == null) {
            result.value_ = value_;
          } else {
            result.value_ = createAccountBuilder_.build();
          }
        }
        if (valueCase_ == 3) {
          if (editAccountBuilder_ == null) {
            result.value_ = value_;
          } else {
            result.value_ = editAccountBuilder_.build();
          }
        }
        if (valueCase_ == 4) {
          if (deleteAccountBuilder_ == null) {
            result.value_ = value_;
          } else {
            result.value_ = deleteAccountBuilder_.build();
          }
        }
        if (valueCase_ == 5) {
          if (setSupplierBuilder_ == null) {
            result.value_ = value_;
          } else {
            result.value_ = setSupplierBuilder_.build();
          }
        }
        if (valueCase_ == 6) {
          if (createOrderBuilder_ == null) {
            result.value_ = value_;
          } else {
            result.value_ = createOrderBuilder_.build();
          }
        }
        if (valueCase_ == 7) {
          if (deliveryBuilder_ == null) {
            result.value_ = value_;
          } else {
            result.value_ = deliveryBuilder_.build();
          }
        }
        if (valueCase_ == 8) {
          if (carryBuilder_ == null) {
            result.value_ = value_;
          } else {
            result.value_ = carryBuilder_.build();
          }
        }
        if (valueCase_ == 9) {
          if (checkBuilder_ == null) {
            result.value_ = value_;
          } else {
            result.value_ = checkBuilder_.build();
          }
        }
        result.valueCase_ = valueCase_;
        onBuilt();
        return result;
      }

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

      public Builder mergeFrom(smsc.Api.Event other) {
        if (other == smsc.Api.Event.getDefaultInstance()) return this;
        switch (other.getValueCase()) {
          case SETADMIN: {
            mergeSetAdmin(other.getSetAdmin());
            break;
          }
          case CREATEACCOUNT: {
            mergeCreateAccount(other.getCreateAccount());
            break;
          }
          case EDITACCOUNT: {
            mergeEditAccount(other.getEditAccount());
            break;
          }
          case DELETEACCOUNT: {
            mergeDeleteAccount(other.getDeleteAccount());
            break;
          }
          case SETSUPPLIER: {
            mergeSetSupplier(other.getSetSupplier());
            break;
          }
          case CREATEORDER: {
            mergeCreateOrder(other.getCreateOrder());
            break;
          }
          case DELIVERY: {
            mergeDelivery(other.getDelivery());
            break;
          }
          case CARRY: {
            mergeCarry(other.getCarry());
            break;
          }
          case CHECK: {
            mergeCheck(other.getCheck());
            break;
          }
          case VALUE_NOT_SET: {
            break;
          }
        }
        onChanged();
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        smsc.Api.Event parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (smsc.Api.Event) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int valueCase_ = 0;
      private java.lang.Object value_;
      public ValueCase
          getValueCase() {
        return ValueCase.forNumber(
            valueCase_);
      }

      public Builder clearValue() {
        valueCase_ = 0;
        value_ = null;
        onChanged();
        return this;
      }


      private com.google.protobuf.SingleFieldBuilderV3<
          smsc.Api.EventSetAdmin, smsc.Api.EventSetAdmin.Builder, smsc.Api.EventSetAdminOrBuilder> setAdminBuilder_;
      /**
       * <code>optional .smsc.EventSetAdmin setAdmin = 1;</code>
       */
      public smsc.Api.EventSetAdmin getSetAdmin() {
        if (setAdminBuilder_ == null) {
          if (valueCase_ == 1) {
            return (smsc.Api.EventSetAdmin) value_;
          }
          return smsc.Api.EventSetAdmin.getDefaultInstance();
        } else {
          if (valueCase_ == 1) {
            return setAdminBuilder_.getMessage();
          }
          return smsc.Api.EventSetAdmin.getDefaultInstance();
        }
      }
      /**
       * <code>optional .smsc.EventSetAdmin setAdmin = 1;</code>
       */
      public Builder setSetAdmin(smsc.Api.EventSetAdmin value) {
        if (setAdminBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          value_ = value;
          onChanged();
        } else {
          setAdminBuilder_.setMessage(value);
        }
        valueCase_ = 1;
        return this;
      }
      /**
       * <code>optional .smsc.EventSetAdmin setAdmin = 1;</code>
       */
      public Builder setSetAdmin(
          smsc.Api.EventSetAdmin.Builder builderForValue) {
        if (setAdminBuilder_ == null) {
          value_ = builderForValue.build();
          onChanged();
        } else {
          setAdminBuilder_.setMessage(builderForValue.build());
        }
        valueCase_ = 1;
        return this;
      }
      /**
       * <code>optional .smsc.EventSetAdmin setAdmin = 1;</code>
       */
      public Builder mergeSetAdmin(smsc.Api.EventSetAdmin value) {
        if (setAdminBuilder_ == null) {
          if (valueCase_ == 1 &&
              value_ != smsc.Api.EventSetAdmin.getDefaultInstance()) {
            value_ = smsc.Api.EventSetAdmin.newBuilder((smsc.Api.EventSetAdmin) value_)
                .mergeFrom(value).buildPartial();
          } else {
            value_ = value;
          }
          onChanged();
        } else {
          if (valueCase_ == 1) {
            setAdminBuilder_.mergeFrom(value);
          }
          setAdminBuilder_.setMessage(value);
        }
        valueCase_ = 1;
        return this;
      }
      /**
       * <code>optional .smsc.EventSetAdmin setAdmin = 1;</code>
       */
      public Builder clearSetAdmin() {
        if (setAdminBuilder_ == null) {
          if (valueCase_ == 1) {
            valueCase_ = 0;
            value_ = null;
            onChanged();
          }
        } else {
          if (valueCase_ == 1) {
            valueCase_ = 0;
            value_ = null;
          }
          setAdminBuilder_.clear();
        }
        return this;
      }
      /**
       * <code>optional .smsc.EventSetAdmin setAdmin = 1;</code>
       */
      public smsc.Api.EventSetAdmin.Builder getSetAdminBuilder() {
        return getSetAdminFieldBuilder().getBuilder();
      }
      /**
       * <code>optional .smsc.EventSetAdmin setAdmin = 1;</code>
       */
      public smsc.Api.EventSetAdminOrBuilder getSetAdminOrBuilder() {
        if ((valueCase_ == 1) && (setAdminBuilder_ != null)) {
          return setAdminBuilder_.getMessageOrBuilder();
        } else {
          if (valueCase_ == 1) {
            return (smsc.Api.EventSetAdmin) value_;
          }
          return smsc.Api.EventSetAdmin.getDefaultInstance();
        }
      }
      /**
       * <code>optional .smsc.EventSetAdmin setAdmin = 1;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          smsc.Api.EventSetAdmin, smsc.Api.EventSetAdmin.Builder, smsc.Api.EventSetAdminOrBuilder> 
          getSetAdminFieldBuilder() {
        if (setAdminBuilder_ == null) {
          if (!(valueCase_ == 1)) {
            value_ = smsc.Api.EventSetAdmin.getDefaultInstance();
          }
          setAdminBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              smsc.Api.EventSetAdmin, smsc.Api.EventSetAdmin.Builder, smsc.Api.EventSetAdminOrBuilder>(
                  (smsc.Api.EventSetAdmin) value_,
                  getParentForChildren(),
                  isClean());
          value_ = null;
        }
        valueCase_ = 1;
        onChanged();;
        return setAdminBuilder_;
      }

      private com.google.protobuf.SingleFieldBuilderV3<
          smsc.Api.EventCreateAccount, smsc.Api.EventCreateAccount.Builder, smsc.Api.EventCreateAccountOrBuilder> createAccountBuilder_;
      /**
       * <code>optional .smsc.EventCreateAccount createAccount = 2;</code>
       */
      public smsc.Api.EventCreateAccount getCreateAccount() {
        if (createAccountBuilder_ == null) {
          if (valueCase_ == 2) {
            return (smsc.Api.EventCreateAccount) value_;
          }
          return smsc.Api.EventCreateAccount.getDefaultInstance();
        } else {
          if (valueCase_ == 2) {
            return createAccountBuilder_.getMessage();
          }
          return smsc.Api.EventCreateAccount.getDefaultInstance();
        }
      }
      /**
       * <code>optional .smsc.EventCreateAccount createAccount = 2;</code>
       */
      public Builder setCreateAccount(smsc.Api.EventCreateAccount value) {
        if (createAccountBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          value_ = value;
          onChanged();
        } else {
          createAccountBuilder_.setMessage(value);
        }
        valueCase_ = 2;
        return this;
      }
      /**
       * <code>optional .smsc.EventCreateAccount createAccount = 2;</code>
       */
      public Builder setCreateAccount(
          smsc.Api.EventCreateAccount.Builder builderForValue) {
        if (createAccountBuilder_ == null) {
          value_ = builderForValue.build();
          onChanged();
        } else {
          createAccountBuilder_.setMessage(builderForValue.build());
        }
        valueCase_ = 2;
        return this;
      }
      /**
       * <code>optional .smsc.EventCreateAccount createAccount = 2;</code>
       */
      public Builder mergeCreateAccount(smsc.Api.EventCreateAccount value) {
        if (createAccountBuilder_ == null) {
          if (valueCase_ == 2 &&
              value_ != smsc.Api.EventCreateAccount.getDefaultInstance()) {
            value_ = smsc.Api.EventCreateAccount.newBuilder((smsc.Api.EventCreateAccount) value_)
                .mergeFrom(value).buildPartial();
          } else {
            value_ = value;
          }
          onChanged();
        } else {
          if (valueCase_ == 2) {
            createAccountBuilder_.mergeFrom(value);
          }
          createAccountBuilder_.setMessage(value);
        }
        valueCase_ = 2;
        return this;
      }
      /**
       * <code>optional .smsc.EventCreateAccount createAccount = 2;</code>
       */
      public Builder clearCreateAccount() {
        if (createAccountBuilder_ == null) {
          if (valueCase_ == 2) {
            valueCase_ = 0;
            value_ = null;
            onChanged();
          }
        } else {
          if (valueCase_ == 2) {
            valueCase_ = 0;
            value_ = null;
          }
          createAccountBuilder_.clear();
        }
        return this;
      }
      /**
       * <code>optional .smsc.EventCreateAccount createAccount = 2;</code>
       */
      public smsc.Api.EventCreateAccount.Builder getCreateAccountBuilder() {
        return getCreateAccountFieldBuilder().getBuilder();
      }
      /**
       * <code>optional .smsc.EventCreateAccount createAccount = 2;</code>
       */
      public smsc.Api.EventCreateAccountOrBuilder getCreateAccountOrBuilder() {
        if ((valueCase_ == 2) && (createAccountBuilder_ != null)) {
          return createAccountBuilder_.getMessageOrBuilder();
        } else {
          if (valueCase_ == 2) {
            return (smsc.Api.EventCreateAccount) value_;
          }
          return smsc.Api.EventCreateAccount.getDefaultInstance();
        }
      }
      /**
       * <code>optional .smsc.EventCreateAccount createAccount = 2;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          smsc.Api.EventCreateAccount, smsc.Api.EventCreateAccount.Builder, smsc.Api.EventCreateAccountOrBuilder> 
          getCreateAccountFieldBuilder() {
        if (createAccountBuilder_ == null) {
          if (!(valueCase_ == 2)) {
            value_ = smsc.Api.EventCreateAccount.getDefaultInstance();
          }
          createAccountBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              smsc.Api.EventCreateAccount, smsc.Api.EventCreateAccount.Builder, smsc.Api.EventCreateAccountOrBuilder>(
                  (smsc.Api.EventCreateAccount) value_,
                  getParentForChildren(),
                  isClean());
          value_ = null;
        }
        valueCase_ = 2;
        onChanged();;
        return createAccountBuilder_;
      }

      private com.google.protobuf.SingleFieldBuilderV3<
          smsc.Api.EventEditAccount, smsc.Api.EventEditAccount.Builder, smsc.Api.EventEditAccountOrBuilder> editAccountBuilder_;
      /**
       * <code>optional .smsc.EventEditAccount editAccount = 3;</code>
       */
      public smsc.Api.EventEditAccount getEditAccount() {
        if (editAccountBuilder_ == null) {
          if (valueCase_ == 3) {
            return (smsc.Api.EventEditAccount) value_;
          }
          return smsc.Api.EventEditAccount.getDefaultInstance();
        } else {
          if (valueCase_ == 3) {
            return editAccountBuilder_.getMessage();
          }
          return smsc.Api.EventEditAccount.getDefaultInstance();
        }
      }
      /**
       * <code>optional .smsc.EventEditAccount editAccount = 3;</code>
       */
      public Builder setEditAccount(smsc.Api.EventEditAccount value) {
        if (editAccountBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          value_ = value;
          onChanged();
        } else {
          editAccountBuilder_.setMessage(value);
        }
        valueCase_ = 3;
        return this;
      }
      /**
       * <code>optional .smsc.EventEditAccount editAccount = 3;</code>
       */
      public Builder setEditAccount(
          smsc.Api.EventEditAccount.Builder builderForValue) {
        if (editAccountBuilder_ == null) {
          value_ = builderForValue.build();
          onChanged();
        } else {
          editAccountBuilder_.setMessage(builderForValue.build());
        }
        valueCase_ = 3;
        return this;
      }
      /**
       * <code>optional .smsc.EventEditAccount editAccount = 3;</code>
       */
      public Builder mergeEditAccount(smsc.Api.EventEditAccount value) {
        if (editAccountBuilder_ == null) {
          if (valueCase_ == 3 &&
              value_ != smsc.Api.EventEditAccount.getDefaultInstance()) {
            value_ = smsc.Api.EventEditAccount.newBuilder((smsc.Api.EventEditAccount) value_)
                .mergeFrom(value).buildPartial();
          } else {
            value_ = value;
          }
          onChanged();
        } else {
          if (valueCase_ == 3) {
            editAccountBuilder_.mergeFrom(value);
          }
          editAccountBuilder_.setMessage(value);
        }
        valueCase_ = 3;
        return this;
      }
      /**
       * <code>optional .smsc.EventEditAccount editAccount = 3;</code>
       */
      public Builder clearEditAccount() {
        if (editAccountBuilder_ == null) {
          if (valueCase_ == 3) {
            valueCase_ = 0;
            value_ = null;
            onChanged();
          }
        } else {
          if (valueCase_ == 3) {
            valueCase_ = 0;
            value_ = null;
          }
          editAccountBuilder_.clear();
        }
        return this;
      }
      /**
       * <code>optional .smsc.EventEditAccount editAccount = 3;</code>
       */
      public smsc.Api.EventEditAccount.Builder getEditAccountBuilder() {
        return getEditAccountFieldBuilder().getBuilder();
      }
      /**
       * <code>optional .smsc.EventEditAccount editAccount = 3;</code>
       */
      public smsc.Api.EventEditAccountOrBuilder getEditAccountOrBuilder() {
        if ((valueCase_ == 3) && (editAccountBuilder_ != null)) {
          return editAccountBuilder_.getMessageOrBuilder();
        } else {
          if (valueCase_ == 3) {
            return (smsc.Api.EventEditAccount) value_;
          }
          return smsc.Api.EventEditAccount.getDefaultInstance();
        }
      }
      /**
       * <code>optional .smsc.EventEditAccount editAccount = 3;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          smsc.Api.EventEditAccount, smsc.Api.EventEditAccount.Builder, smsc.Api.EventEditAccountOrBuilder> 
          getEditAccountFieldBuilder() {
        if (editAccountBuilder_ == null) {
          if (!(valueCase_ == 3)) {
            value_ = smsc.Api.EventEditAccount.getDefaultInstance();
          }
          editAccountBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              smsc.Api.EventEditAccount, smsc.Api.EventEditAccount.Builder, smsc.Api.EventEditAccountOrBuilder>(
                  (smsc.Api.EventEditAccount) value_,
                  getParentForChildren(),
                  isClean());
          value_ = null;
        }
        valueCase_ = 3;
        onChanged();;
        return editAccountBuilder_;
      }

      private com.google.protobuf.SingleFieldBuilderV3<
          smsc.Api.EventDeleteAccount, smsc.Api.EventDeleteAccount.Builder, smsc.Api.EventDeleteAccountOrBuilder> deleteAccountBuilder_;
      /**
       * <code>optional .smsc.EventDeleteAccount deleteAccount = 4;</code>
       */
      public smsc.Api.EventDeleteAccount getDeleteAccount() {
        if (deleteAccountBuilder_ == null) {
          if (valueCase_ == 4) {
            return (smsc.Api.EventDeleteAccount) value_;
          }
          return smsc.Api.EventDeleteAccount.getDefaultInstance();
        } else {
          if (valueCase_ == 4) {
            return deleteAccountBuilder_.getMessage();
          }
          return smsc.Api.EventDeleteAccount.getDefaultInstance();
        }
      }
      /**
       * <code>optional .smsc.EventDeleteAccount deleteAccount = 4;</code>
       */
      public Builder setDeleteAccount(smsc.Api.EventDeleteAccount value) {
        if (deleteAccountBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          value_ = value;
          onChanged();
        } else {
          deleteAccountBuilder_.setMessage(value);
        }
        valueCase_ = 4;
        return this;
      }
      /**
       * <code>optional .smsc.EventDeleteAccount deleteAccount = 4;</code>
       */
      public Builder setDeleteAccount(
          smsc.Api.EventDeleteAccount.Builder builderForValue) {
        if (deleteAccountBuilder_ == null) {
          value_ = builderForValue.build();
          onChanged();
        } else {
          deleteAccountBuilder_.setMessage(builderForValue.build());
        }
        valueCase_ = 4;
        return this;
      }
      /**
       * <code>optional .smsc.EventDeleteAccount deleteAccount = 4;</code>
       */
      public Builder mergeDeleteAccount(smsc.Api.EventDeleteAccount value) {
        if (deleteAccountBuilder_ == null) {
          if (valueCase_ == 4 &&
              value_ != smsc.Api.EventDeleteAccount.getDefaultInstance()) {
            value_ = smsc.Api.EventDeleteAccount.newBuilder((smsc.Api.EventDeleteAccount) value_)
                .mergeFrom(value).buildPartial();
          } else {
            value_ = value;
          }
          onChanged();
        } else {
          if (valueCase_ == 4) {
            deleteAccountBuilder_.mergeFrom(value);
          }
          deleteAccountBuilder_.setMessage(value);
        }
        valueCase_ = 4;
        return this;
      }
      /**
       * <code>optional .smsc.EventDeleteAccount deleteAccount = 4;</code>
       */
      public Builder clearDeleteAccount() {
        if (deleteAccountBuilder_ == null) {
          if (valueCase_ == 4) {
            valueCase_ = 0;
            value_ = null;
            onChanged();
          }
        } else {
          if (valueCase_ == 4) {
            valueCase_ = 0;
            value_ = null;
          }
          deleteAccountBuilder_.clear();
        }
        return this;
      }
      /**
       * <code>optional .smsc.EventDeleteAccount deleteAccount = 4;</code>
       */
      public smsc.Api.EventDeleteAccount.Builder getDeleteAccountBuilder() {
        return getDeleteAccountFieldBuilder().getBuilder();
      }
      /**
       * <code>optional .smsc.EventDeleteAccount deleteAccount = 4;</code>
       */
      public smsc.Api.EventDeleteAccountOrBuilder getDeleteAccountOrBuilder() {
        if ((valueCase_ == 4) && (deleteAccountBuilder_ != null)) {
          return deleteAccountBuilder_.getMessageOrBuilder();
        } else {
          if (valueCase_ == 4) {
            return (smsc.Api.EventDeleteAccount) value_;
          }
          return smsc.Api.EventDeleteAccount.getDefaultInstance();
        }
      }
      /**
       * <code>optional .smsc.EventDeleteAccount deleteAccount = 4;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          smsc.Api.EventDeleteAccount, smsc.Api.EventDeleteAccount.Builder, smsc.Api.EventDeleteAccountOrBuilder> 
          getDeleteAccountFieldBuilder() {
        if (deleteAccountBuilder_ == null) {
          if (!(valueCase_ == 4)) {
            value_ = smsc.Api.EventDeleteAccount.getDefaultInstance();
          }
          deleteAccountBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              smsc.Api.EventDeleteAccount, smsc.Api.EventDeleteAccount.Builder, smsc.Api.EventDeleteAccountOrBuilder>(
                  (smsc.Api.EventDeleteAccount) value_,
                  getParentForChildren(),
                  isClean());
          value_ = null;
        }
        valueCase_ = 4;
        onChanged();;
        return deleteAccountBuilder_;
      }

      private com.google.protobuf.SingleFieldBuilderV3<
          smsc.Api.EventSetSupplier, smsc.Api.EventSetSupplier.Builder, smsc.Api.EventSetSupplierOrBuilder> setSupplierBuilder_;
      /**
       * <code>optional .smsc.EventSetSupplier setSupplier = 5;</code>
       */
      public smsc.Api.EventSetSupplier getSetSupplier() {
        if (setSupplierBuilder_ == null) {
          if (valueCase_ == 5) {
            return (smsc.Api.EventSetSupplier) value_;
          }
          return smsc.Api.EventSetSupplier.getDefaultInstance();
        } else {
          if (valueCase_ == 5) {
            return setSupplierBuilder_.getMessage();
          }
          return smsc.Api.EventSetSupplier.getDefaultInstance();
        }
      }
      /**
       * <code>optional .smsc.EventSetSupplier setSupplier = 5;</code>
       */
      public Builder setSetSupplier(smsc.Api.EventSetSupplier value) {
        if (setSupplierBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          value_ = value;
          onChanged();
        } else {
          setSupplierBuilder_.setMessage(value);
        }
        valueCase_ = 5;
        return this;
      }
      /**
       * <code>optional .smsc.EventSetSupplier setSupplier = 5;</code>
       */
      public Builder setSetSupplier(
          smsc.Api.EventSetSupplier.Builder builderForValue) {
        if (setSupplierBuilder_ == null) {
          value_ = builderForValue.build();
          onChanged();
        } else {
          setSupplierBuilder_.setMessage(builderForValue.build());
        }
        valueCase_ = 5;
        return this;
      }
      /**
       * <code>optional .smsc.EventSetSupplier setSupplier = 5;</code>
       */
      public Builder mergeSetSupplier(smsc.Api.EventSetSupplier value) {
        if (setSupplierBuilder_ == null) {
          if (valueCase_ == 5 &&
              value_ != smsc.Api.EventSetSupplier.getDefaultInstance()) {
            value_ = smsc.Api.EventSetSupplier.newBuilder((smsc.Api.EventSetSupplier) value_)
                .mergeFrom(value).buildPartial();
          } else {
            value_ = value;
          }
          onChanged();
        } else {
          if (valueCase_ == 5) {
            setSupplierBuilder_.mergeFrom(value);
          }
          setSupplierBuilder_.setMessage(value);
        }
        valueCase_ = 5;
        return this;
      }
      /**
       * <code>optional .smsc.EventSetSupplier setSupplier = 5;</code>
       */
      public Builder clearSetSupplier() {
        if (setSupplierBuilder_ == null) {
          if (valueCase_ == 5) {
            valueCase_ = 0;
            value_ = null;
            onChanged();
          }
        } else {
          if (valueCase_ == 5) {
            valueCase_ = 0;
            value_ = null;
          }
          setSupplierBuilder_.clear();
        }
        return this;
      }
      /**
       * <code>optional .smsc.EventSetSupplier setSupplier = 5;</code>
       */
      public smsc.Api.EventSetSupplier.Builder getSetSupplierBuilder() {
        return getSetSupplierFieldBuilder().getBuilder();
      }
      /**
       * <code>optional .smsc.EventSetSupplier setSupplier = 5;</code>
       */
      public smsc.Api.EventSetSupplierOrBuilder getSetSupplierOrBuilder() {
        if ((valueCase_ == 5) && (setSupplierBuilder_ != null)) {
          return setSupplierBuilder_.getMessageOrBuilder();
        } else {
          if (valueCase_ == 5) {
            return (smsc.Api.EventSetSupplier) value_;
          }
          return smsc.Api.EventSetSupplier.getDefaultInstance();
        }
      }
      /**
       * <code>optional .smsc.EventSetSupplier setSupplier = 5;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          smsc.Api.EventSetSupplier, smsc.Api.EventSetSupplier.Builder, smsc.Api.EventSetSupplierOrBuilder> 
          getSetSupplierFieldBuilder() {
        if (setSupplierBuilder_ == null) {
          if (!(valueCase_ == 5)) {
            value_ = smsc.Api.EventSetSupplier.getDefaultInstance();
          }
          setSupplierBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              smsc.Api.EventSetSupplier, smsc.Api.EventSetSupplier.Builder, smsc.Api.EventSetSupplierOrBuilder>(
                  (smsc.Api.EventSetSupplier) value_,
                  getParentForChildren(),
                  isClean());
          value_ = null;
        }
        valueCase_ = 5;
        onChanged();;
        return setSupplierBuilder_;
      }

      private com.google.protobuf.SingleFieldBuilderV3<
          smsc.Api.EventCreateOrder, smsc.Api.EventCreateOrder.Builder, smsc.Api.EventCreateOrderOrBuilder> createOrderBuilder_;
      /**
       * <code>optional .smsc.EventCreateOrder createOrder = 6;</code>
       */
      public smsc.Api.EventCreateOrder getCreateOrder() {
        if (createOrderBuilder_ == null) {
          if (valueCase_ == 6) {
            return (smsc.Api.EventCreateOrder) value_;
          }
          return smsc.Api.EventCreateOrder.getDefaultInstance();
        } else {
          if (valueCase_ == 6) {
            return createOrderBuilder_.getMessage();
          }
          return smsc.Api.EventCreateOrder.getDefaultInstance();
        }
      }
      /**
       * <code>optional .smsc.EventCreateOrder createOrder = 6;</code>
       */
      public Builder setCreateOrder(smsc.Api.EventCreateOrder value) {
        if (createOrderBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          value_ = value;
          onChanged();
        } else {
          createOrderBuilder_.setMessage(value);
        }
        valueCase_ = 6;
        return this;
      }
      /**
       * <code>optional .smsc.EventCreateOrder createOrder = 6;</code>
       */
      public Builder setCreateOrder(
          smsc.Api.EventCreateOrder.Builder builderForValue) {
        if (createOrderBuilder_ == null) {
          value_ = builderForValue.build();
          onChanged();
        } else {
          createOrderBuilder_.setMessage(builderForValue.build());
        }
        valueCase_ = 6;
        return this;
      }
      /**
       * <code>optional .smsc.EventCreateOrder createOrder = 6;</code>
       */
      public Builder mergeCreateOrder(smsc.Api.EventCreateOrder value) {
        if (createOrderBuilder_ == null) {
          if (valueCase_ == 6 &&
              value_ != smsc.Api.EventCreateOrder.getDefaultInstance()) {
            value_ = smsc.Api.EventCreateOrder.newBuilder((smsc.Api.EventCreateOrder) value_)
                .mergeFrom(value).buildPartial();
          } else {
            value_ = value;
          }
          onChanged();
        } else {
          if (valueCase_ == 6) {
            createOrderBuilder_.mergeFrom(value);
          }
          createOrderBuilder_.setMessage(value);
        }
        valueCase_ = 6;
        return this;
      }
      /**
       * <code>optional .smsc.EventCreateOrder createOrder = 6;</code>
       */
      public Builder clearCreateOrder() {
        if (createOrderBuilder_ == null) {
          if (valueCase_ == 6) {
            valueCase_ = 0;
            value_ = null;
            onChanged();
          }
        } else {
          if (valueCase_ == 6) {
            valueCase_ = 0;
            value_ = null;
          }
          createOrderBuilder_.clear();
        }
        return this;
      }
      /**
       * <code>optional .smsc.EventCreateOrder createOrder = 6;</code>
       */
      public smsc.Api.EventCreateOrder.Builder getCreateOrderBuilder() {
        return getCreateOrderFieldBuilder().getBuilder();
      }
      /**
       * <code>optional .smsc.EventCreateOrder createOrder = 6;</code>
       */
      public smsc.Api.EventCreateOrderOrBuilder getCreateOrderOrBuilder() {
        if ((valueCase_ == 6) && (createOrderBuilder_ != null)) {
          return createOrderBuilder_.getMessageOrBuilder();
        } else {
          if (valueCase_ == 6) {
            return (smsc.Api.EventCreateOrder) value_;
          }
          return smsc.Api.EventCreateOrder.getDefaultInstance();
        }
      }
      /**
       * <code>optional .smsc.EventCreateOrder createOrder = 6;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          smsc.Api.EventCreateOrder, smsc.Api.EventCreateOrder.Builder, smsc.Api.EventCreateOrderOrBuilder> 
          getCreateOrderFieldBuilder() {
        if (createOrderBuilder_ == null) {
          if (!(valueCase_ == 6)) {
            value_ = smsc.Api.EventCreateOrder.getDefaultInstance();
          }
          createOrderBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              smsc.Api.EventCreateOrder, smsc.Api.EventCreateOrder.Builder, smsc.Api.EventCreateOrderOrBuilder>(
                  (smsc.Api.EventCreateOrder) value_,
                  getParentForChildren(),
                  isClean());
          value_ = null;
        }
        valueCase_ = 6;
        onChanged();;
        return createOrderBuilder_;
      }

      private com.google.protobuf.SingleFieldBuilderV3<
          smsc.Api.EventDelivery, smsc.Api.EventDelivery.Builder, smsc.Api.EventDeliveryOrBuilder> deliveryBuilder_;
      /**
       * <code>optional .smsc.EventDelivery delivery = 7;</code>
       */
      public smsc.Api.EventDelivery getDelivery() {
        if (deliveryBuilder_ == null) {
          if (valueCase_ == 7) {
            return (smsc.Api.EventDelivery) value_;
          }
          return smsc.Api.EventDelivery.getDefaultInstance();
        } else {
          if (valueCase_ == 7) {
            return deliveryBuilder_.getMessage();
          }
          return smsc.Api.EventDelivery.getDefaultInstance();
        }
      }
      /**
       * <code>optional .smsc.EventDelivery delivery = 7;</code>
       */
      public Builder setDelivery(smsc.Api.EventDelivery value) {
        if (deliveryBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          value_ = value;
          onChanged();
        } else {
          deliveryBuilder_.setMessage(value);
        }
        valueCase_ = 7;
        return this;
      }
      /**
       * <code>optional .smsc.EventDelivery delivery = 7;</code>
       */
      public Builder setDelivery(
          smsc.Api.EventDelivery.Builder builderForValue) {
        if (deliveryBuilder_ == null) {
          value_ = builderForValue.build();
          onChanged();
        } else {
          deliveryBuilder_.setMessage(builderForValue.build());
        }
        valueCase_ = 7;
        return this;
      }
      /**
       * <code>optional .smsc.EventDelivery delivery = 7;</code>
       */
      public Builder mergeDelivery(smsc.Api.EventDelivery value) {
        if (deliveryBuilder_ == null) {
          if (valueCase_ == 7 &&
              value_ != smsc.Api.EventDelivery.getDefaultInstance()) {
            value_ = smsc.Api.EventDelivery.newBuilder((smsc.Api.EventDelivery) value_)
                .mergeFrom(value).buildPartial();
          } else {
            value_ = value;
          }
          onChanged();
        } else {
          if (valueCase_ == 7) {
            deliveryBuilder_.mergeFrom(value);
          }
          deliveryBuilder_.setMessage(value);
        }
        valueCase_ = 7;
        return this;
      }
      /**
       * <code>optional .smsc.EventDelivery delivery = 7;</code>
       */
      public Builder clearDelivery() {
        if (deliveryBuilder_ == null) {
          if (valueCase_ == 7) {
            valueCase_ = 0;
            value_ = null;
            onChanged();
          }
        } else {
          if (valueCase_ == 7) {
            valueCase_ = 0;
            value_ = null;
          }
          deliveryBuilder_.clear();
        }
        return this;
      }
      /**
       * <code>optional .smsc.EventDelivery delivery = 7;</code>
       */
      public smsc.Api.EventDelivery.Builder getDeliveryBuilder() {
        return getDeliveryFieldBuilder().getBuilder();
      }
      /**
       * <code>optional .smsc.EventDelivery delivery = 7;</code>
       */
      public smsc.Api.EventDeliveryOrBuilder getDeliveryOrBuilder() {
        if ((valueCase_ == 7) && (deliveryBuilder_ != null)) {
          return deliveryBuilder_.getMessageOrBuilder();
        } else {
          if (valueCase_ == 7) {
            return (smsc.Api.EventDelivery) value_;
          }
          return smsc.Api.EventDelivery.getDefaultInstance();
        }
      }
      /**
       * <code>optional .smsc.EventDelivery delivery = 7;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          smsc.Api.EventDelivery, smsc.Api.EventDelivery.Builder, smsc.Api.EventDeliveryOrBuilder> 
          getDeliveryFieldBuilder() {
        if (deliveryBuilder_ == null) {
          if (!(valueCase_ == 7)) {
            value_ = smsc.Api.EventDelivery.getDefaultInstance();
          }
          deliveryBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              smsc.Api.EventDelivery, smsc.Api.EventDelivery.Builder, smsc.Api.EventDeliveryOrBuilder>(
                  (smsc.Api.EventDelivery) value_,
                  getParentForChildren(),
                  isClean());
          value_ = null;
        }
        valueCase_ = 7;
        onChanged();;
        return deliveryBuilder_;
      }

      private com.google.protobuf.SingleFieldBuilderV3<
          smsc.Api.EventCarry, smsc.Api.EventCarry.Builder, smsc.Api.EventCarryOrBuilder> carryBuilder_;
      /**
       * <code>optional .smsc.EventCarry carry = 8;</code>
       */
      public smsc.Api.EventCarry getCarry() {
        if (carryBuilder_ == null) {
          if (valueCase_ == 8) {
            return (smsc.Api.EventCarry) value_;
          }
          return smsc.Api.EventCarry.getDefaultInstance();
        } else {
          if (valueCase_ == 8) {
            return carryBuilder_.getMessage();
          }
          return smsc.Api.EventCarry.getDefaultInstance();
        }
      }
      /**
       * <code>optional .smsc.EventCarry carry = 8;</code>
       */
      public Builder setCarry(smsc.Api.EventCarry value) {
        if (carryBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          value_ = value;
          onChanged();
        } else {
          carryBuilder_.setMessage(value);
        }
        valueCase_ = 8;
        return this;
      }
      /**
       * <code>optional .smsc.EventCarry carry = 8;</code>
       */
      public Builder setCarry(
          smsc.Api.EventCarry.Builder builderForValue) {
        if (carryBuilder_ == null) {
          value_ = builderForValue.build();
          onChanged();
        } else {
          carryBuilder_.setMessage(builderForValue.build());
        }
        valueCase_ = 8;
        return this;
      }
      /**
       * <code>optional .smsc.EventCarry carry = 8;</code>
       */
      public Builder mergeCarry(smsc.Api.EventCarry value) {
        if (carryBuilder_ == null) {
          if (valueCase_ == 8 &&
              value_ != smsc.Api.EventCarry.getDefaultInstance()) {
            value_ = smsc.Api.EventCarry.newBuilder((smsc.Api.EventCarry) value_)
                .mergeFrom(value).buildPartial();
          } else {
            value_ = value;
          }
          onChanged();
        } else {
          if (valueCase_ == 8) {
            carryBuilder_.mergeFrom(value);
          }
          carryBuilder_.setMessage(value);
        }
        valueCase_ = 8;
        return this;
      }
      /**
       * <code>optional .smsc.EventCarry carry = 8;</code>
       */
      public Builder clearCarry() {
        if (carryBuilder_ == null) {
          if (valueCase_ == 8) {
            valueCase_ = 0;
            value_ = null;
            onChanged();
          }
        } else {
          if (valueCase_ == 8) {
            valueCase_ = 0;
            value_ = null;
          }
          carryBuilder_.clear();
        }
        return this;
      }
      /**
       * <code>optional .smsc.EventCarry carry = 8;</code>
       */
      public smsc.Api.EventCarry.Builder getCarryBuilder() {
        return getCarryFieldBuilder().getBuilder();
      }
      /**
       * <code>optional .smsc.EventCarry carry = 8;</code>
       */
      public smsc.Api.EventCarryOrBuilder getCarryOrBuilder() {
        if ((valueCase_ == 8) && (carryBuilder_ != null)) {
          return carryBuilder_.getMessageOrBuilder();
        } else {
          if (valueCase_ == 8) {
            return (smsc.Api.EventCarry) value_;
          }
          return smsc.Api.EventCarry.getDefaultInstance();
        }
      }
      /**
       * <code>optional .smsc.EventCarry carry = 8;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          smsc.Api.EventCarry, smsc.Api.EventCarry.Builder, smsc.Api.EventCarryOrBuilder> 
          getCarryFieldBuilder() {
        if (carryBuilder_ == null) {
          if (!(valueCase_ == 8)) {
            value_ = smsc.Api.EventCarry.getDefaultInstance();
          }
          carryBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              smsc.Api.EventCarry, smsc.Api.EventCarry.Builder, smsc.Api.EventCarryOrBuilder>(
                  (smsc.Api.EventCarry) value_,
                  getParentForChildren(),
                  isClean());
          value_ = null;
        }
        valueCase_ = 8;
        onChanged();;
        return carryBuilder_;
      }

      private com.google.protobuf.SingleFieldBuilderV3<
          smsc.Api.EventCheck, smsc.Api.EventCheck.Builder, smsc.Api.EventCheckOrBuilder> checkBuilder_;
      /**
       * <code>optional .smsc.EventCheck check = 9;</code>
       */
      public smsc.Api.EventCheck getCheck() {
        if (checkBuilder_ == null) {
          if (valueCase_ == 9) {
            return (smsc.Api.EventCheck) value_;
          }
          return smsc.Api.EventCheck.getDefaultInstance();
        } else {
          if (valueCase_ == 9) {
            return checkBuilder_.getMessage();
          }
          return smsc.Api.EventCheck.getDefaultInstance();
        }
      }
      /**
       * <code>optional .smsc.EventCheck check = 9;</code>
       */
      public Builder setCheck(smsc.Api.EventCheck value) {
        if (checkBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          value_ = value;
          onChanged();
        } else {
          checkBuilder_.setMessage(value);
        }
        valueCase_ = 9;
        return this;
      }
      /**
       * <code>optional .smsc.EventCheck check = 9;</code>
       */
      public Builder setCheck(
          smsc.Api.EventCheck.Builder builderForValue) {
        if (checkBuilder_ == null) {
          value_ = builderForValue.build();
          onChanged();
        } else {
          checkBuilder_.setMessage(builderForValue.build());
        }
        valueCase_ = 9;
        return this;
      }
      /**
       * <code>optional .smsc.EventCheck check = 9;</code>
       */
      public Builder mergeCheck(smsc.Api.EventCheck value) {
        if (checkBuilder_ == null) {
          if (valueCase_ == 9 &&
              value_ != smsc.Api.EventCheck.getDefaultInstance()) {
            value_ = smsc.Api.EventCheck.newBuilder((smsc.Api.EventCheck) value_)
                .mergeFrom(value).buildPartial();
          } else {
            value_ = value;
          }
          onChanged();
        } else {
          if (valueCase_ == 9) {
            checkBuilder_.mergeFrom(value);
          }
          checkBuilder_.setMessage(value);
        }
        valueCase_ = 9;
        return this;
      }
      /**
       * <code>optional .smsc.EventCheck check = 9;</code>
       */
      public Builder clearCheck() {
        if (checkBuilder_ == null) {
          if (valueCase_ == 9) {
            valueCase_ = 0;
            value_ = null;
            onChanged();
          }
        } else {
          if (valueCase_ == 9) {
            valueCase_ = 0;
            value_ = null;
          }
          checkBuilder_.clear();
        }
        return this;
      }
      /**
       * <code>optional .smsc.EventCheck check = 9;</code>
       */
      public smsc.Api.EventCheck.Builder getCheckBuilder() {
        return getCheckFieldBuilder().getBuilder();
      }
      /**
       * <code>optional .smsc.EventCheck check = 9;</code>
       */
      public smsc.Api.EventCheckOrBuilder getCheckOrBuilder() {
        if ((valueCase_ == 9) && (checkBuilder_ != null)) {
          return checkBuilder_.getMessageOrBuilder();
        } else {
          if (valueCase_ == 9) {
            return (smsc.Api.EventCheck) value_;
          }
          return smsc.Api.EventCheck.getDefaultInstance();
        }
      }
      /**
       * <code>optional .smsc.EventCheck check = 9;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          smsc.Api.EventCheck, smsc.Api.EventCheck.Builder, smsc.Api.EventCheckOrBuilder> 
          getCheckFieldBuilder() {
        if (checkBuilder_ == null) {
          if (!(valueCase_ == 9)) {
            value_ = smsc.Api.EventCheck.getDefaultInstance();
          }
          checkBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              smsc.Api.EventCheck, smsc.Api.EventCheck.Builder, smsc.Api.EventCheckOrBuilder>(
                  (smsc.Api.EventCheck) value_,
                  getParentForChildren(),
                  isClean());
          value_ = null;
        }
        valueCase_ = 9;
        onChanged();;
        return checkBuilder_;
      }
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return this;
      }

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


      // @@protoc_insertion_point(builder_scope:smsc.Event)
    }

    // @@protoc_insertion_point(class_scope:smsc.Event)
    private static final smsc.Api.Event DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new smsc.Api.Event();
    }

    public static smsc.Api.Event getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

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

    public smsc.Api.Event getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface EventSetAdminOrBuilder extends
      // @@protoc_insertion_point(interface_extends:smsc.EventSetAdmin)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <code>optional bytes pubkey = 1;</code>
     */
    com.google.protobuf.ByteString getPubkey();
  }
  /**
   * Protobuf type {@code smsc.EventSetAdmin}
   */
  public  static final class EventSetAdmin extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:smsc.EventSetAdmin)
      EventSetAdminOrBuilder {
    // Use EventSetAdmin.newBuilder() to construct.
    private EventSetAdmin(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private EventSetAdmin() {
      pubkey_ = com.google.protobuf.ByteString.EMPTY;
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return com.google.protobuf.UnknownFieldSet.getDefaultInstance();
    }
    private EventSetAdmin(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      int mutable_bitField0_ = 0;
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!input.skipField(tag)) {
                done = true;
              }
              break;
            }
            case 10: {

              pubkey_ = input.readBytes();
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return smsc.Api.internal_static_smsc_EventSetAdmin_descriptor;
    }

    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return smsc.Api.internal_static_smsc_EventSetAdmin_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              smsc.Api.EventSetAdmin.class, smsc.Api.EventSetAdmin.Builder.class);
    }

    public static final int PUBKEY_FIELD_NUMBER = 1;
    private com.google.protobuf.ByteString pubkey_;
    /**
     * <code>optional bytes pubkey = 1;</code>
     */
    public com.google.protobuf.ByteString getPubkey() {
      return pubkey_;
    }

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

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (!pubkey_.isEmpty()) {
        output.writeBytes(1, pubkey_);
      }
    }

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

      size = 0;
      if (!pubkey_.isEmpty()) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(1, pubkey_);
      }
      memoizedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof smsc.Api.EventSetAdmin)) {
        return super.equals(obj);
      }
      smsc.Api.EventSetAdmin other = (smsc.Api.EventSetAdmin) obj;

      boolean result = true;
      result = result && getPubkey()
          .equals(other.getPubkey());
      return result;
    }

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

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

    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(smsc.Api.EventSetAdmin prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code smsc.EventSetAdmin}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:smsc.EventSetAdmin)
        smsc.Api.EventSetAdminOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return smsc.Api.internal_static_smsc_EventSetAdmin_descriptor;
      }

      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return smsc.Api.internal_static_smsc_EventSetAdmin_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                smsc.Api.EventSetAdmin.class, smsc.Api.EventSetAdmin.Builder.class);
      }

      // Construct using smsc.Api.EventSetAdmin.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
        }
      }
      public Builder clear() {
        super.clear();
        pubkey_ = com.google.protobuf.ByteString.EMPTY;

        return this;
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return smsc.Api.internal_static_smsc_EventSetAdmin_descriptor;
      }

      public smsc.Api.EventSetAdmin getDefaultInstanceForType() {
        return smsc.Api.EventSetAdmin.getDefaultInstance();
      }

      public smsc.Api.EventSetAdmin build() {
        smsc.Api.EventSetAdmin result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public smsc.Api.EventSetAdmin buildPartial() {
        smsc.Api.EventSetAdmin result = new smsc.Api.EventSetAdmin(this);
        result.pubkey_ = pubkey_;
        onBuilt();
        return result;
      }

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

      public Builder mergeFrom(smsc.Api.EventSetAdmin other) {
        if (other == smsc.Api.EventSetAdmin.getDefaultInstance()) return this;
        if (other.getPubkey() != com.google.protobuf.ByteString.EMPTY) {
          setPubkey(other.getPubkey());
        }
        onChanged();
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        smsc.Api.EventSetAdmin parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (smsc.Api.EventSetAdmin) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }

      private com.google.protobuf.ByteString pubkey_ = com.google.protobuf.ByteString.EMPTY;
      /**
       * <code>optional bytes pubkey = 1;</code>
       */
      public com.google.protobuf.ByteString getPubkey() {
        return pubkey_;
      }
      /**
       * <code>optional bytes pubkey = 1;</code>
       */
      public Builder setPubkey(com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        pubkey_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional bytes pubkey = 1;</code>
       */
      public Builder clearPubkey() {
        
        pubkey_ = getDefaultInstance().getPubkey();
        onChanged();
        return this;
      }
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return this;
      }

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


      // @@protoc_insertion_point(builder_scope:smsc.EventSetAdmin)
    }

    // @@protoc_insertion_point(class_scope:smsc.EventSetAdmin)
    private static final smsc.Api.EventSetAdmin DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new smsc.Api.EventSetAdmin();
    }

    public static smsc.Api.EventSetAdmin getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

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

    public smsc.Api.EventSetAdmin getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface EventCreateAccountOrBuilder extends
      // @@protoc_insertion_point(interface_extends:smsc.EventCreateAccount)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <code>optional int64 id = 1;</code>
     */
    long getId();
  }
  /**
   * Protobuf type {@code smsc.EventCreateAccount}
   */
  public  static final class EventCreateAccount extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:smsc.EventCreateAccount)
      EventCreateAccountOrBuilder {
    // Use EventCreateAccount.newBuilder() to construct.
    private EventCreateAccount(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private EventCreateAccount() {
      id_ = 0L;
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return com.google.protobuf.UnknownFieldSet.getDefaultInstance();
    }
    private EventCreateAccount(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      int mutable_bitField0_ = 0;
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!input.skipField(tag)) {
                done = true;
              }
              break;
            }
            case 8: {

              id_ = input.readInt64();
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return smsc.Api.internal_static_smsc_EventCreateAccount_descriptor;
    }

    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return smsc.Api.internal_static_smsc_EventCreateAccount_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              smsc.Api.EventCreateAccount.class, smsc.Api.EventCreateAccount.Builder.class);
    }

    public static final int ID_FIELD_NUMBER = 1;
    private long id_;
    /**
     * <code>optional int64 id = 1;</code>
     */
    public long getId() {
      return id_;
    }

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

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (id_ != 0L) {
        output.writeInt64(1, id_);
      }
    }

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

      size = 0;
      if (id_ != 0L) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt64Size(1, id_);
      }
      memoizedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof smsc.Api.EventCreateAccount)) {
        return super.equals(obj);
      }
      smsc.Api.EventCreateAccount other = (smsc.Api.EventCreateAccount) obj;

      boolean result = true;
      result = result && (getId()
          == other.getId());
      return result;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptorForType().hashCode();
      hash = (37 * hash) + ID_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
          getId());
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

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

    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(smsc.Api.EventCreateAccount prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code smsc.EventCreateAccount}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:smsc.EventCreateAccount)
        smsc.Api.EventCreateAccountOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return smsc.Api.internal_static_smsc_EventCreateAccount_descriptor;
      }

      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return smsc.Api.internal_static_smsc_EventCreateAccount_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                smsc.Api.EventCreateAccount.class, smsc.Api.EventCreateAccount.Builder.class);
      }

      // Construct using smsc.Api.EventCreateAccount.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
        }
      }
      public Builder clear() {
        super.clear();
        id_ = 0L;

        return this;
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return smsc.Api.internal_static_smsc_EventCreateAccount_descriptor;
      }

      public smsc.Api.EventCreateAccount getDefaultInstanceForType() {
        return smsc.Api.EventCreateAccount.getDefaultInstance();
      }

      public smsc.Api.EventCreateAccount build() {
        smsc.Api.EventCreateAccount result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public smsc.Api.EventCreateAccount buildPartial() {
        smsc.Api.EventCreateAccount result = new smsc.Api.EventCreateAccount(this);
        result.id_ = id_;
        onBuilt();
        return result;
      }

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

      public Builder mergeFrom(smsc.Api.EventCreateAccount other) {
        if (other == smsc.Api.EventCreateAccount.getDefaultInstance()) return this;
        if (other.getId() != 0L) {
          setId(other.getId());
        }
        onChanged();
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        smsc.Api.EventCreateAccount parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (smsc.Api.EventCreateAccount) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }

      private long id_ ;
      /**
       * <code>optional int64 id = 1;</code>
       */
      public long getId() {
        return id_;
      }
      /**
       * <code>optional int64 id = 1;</code>
       */
      public Builder setId(long value) {
        
        id_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional int64 id = 1;</code>
       */
      public Builder clearId() {
        
        id_ = 0L;
        onChanged();
        return this;
      }
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return this;
      }

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


      // @@protoc_insertion_point(builder_scope:smsc.EventCreateAccount)
    }

    // @@protoc_insertion_point(class_scope:smsc.EventCreateAccount)
    private static final smsc.Api.EventCreateAccount DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new smsc.Api.EventCreateAccount();
    }

    public static smsc.Api.EventCreateAccount getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

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

    public smsc.Api.EventCreateAccount getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface EventEditAccountOrBuilder extends
      // @@protoc_insertion_point(interface_extends:smsc.EventEditAccount)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <code>optional bytes newPubkey = 1;</code>
     */
    com.google.protobuf.ByteString getNewPubkey();
  }
  /**
   * Protobuf type {@code smsc.EventEditAccount}
   */
  public  static final class EventEditAccount extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:smsc.EventEditAccount)
      EventEditAccountOrBuilder {
    // Use EventEditAccount.newBuilder() to construct.
    private EventEditAccount(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private EventEditAccount() {
      newPubkey_ = com.google.protobuf.ByteString.EMPTY;
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return com.google.protobuf.UnknownFieldSet.getDefaultInstance();
    }
    private EventEditAccount(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      int mutable_bitField0_ = 0;
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!input.skipField(tag)) {
                done = true;
              }
              break;
            }
            case 10: {

              newPubkey_ = input.readBytes();
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return smsc.Api.internal_static_smsc_EventEditAccount_descriptor;
    }

    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return smsc.Api.internal_static_smsc_EventEditAccount_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              smsc.Api.EventEditAccount.class, smsc.Api.EventEditAccount.Builder.class);
    }

    public static final int NEWPUBKEY_FIELD_NUMBER = 1;
    private com.google.protobuf.ByteString newPubkey_;
    /**
     * <code>optional bytes newPubkey = 1;</code>
     */
    public com.google.protobuf.ByteString getNewPubkey() {
      return newPubkey_;
    }

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

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (!newPubkey_.isEmpty()) {
        output.writeBytes(1, newPubkey_);
      }
    }

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

      size = 0;
      if (!newPubkey_.isEmpty()) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(1, newPubkey_);
      }
      memoizedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof smsc.Api.EventEditAccount)) {
        return super.equals(obj);
      }
      smsc.Api.EventEditAccount other = (smsc.Api.EventEditAccount) obj;

      boolean result = true;
      result = result && getNewPubkey()
          .equals(other.getNewPubkey());
      return result;
    }

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

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

    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(smsc.Api.EventEditAccount prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code smsc.EventEditAccount}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:smsc.EventEditAccount)
        smsc.Api.EventEditAccountOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return smsc.Api.internal_static_smsc_EventEditAccount_descriptor;
      }

      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return smsc.Api.internal_static_smsc_EventEditAccount_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                smsc.Api.EventEditAccount.class, smsc.Api.EventEditAccount.Builder.class);
      }

      // Construct using smsc.Api.EventEditAccount.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
        }
      }
      public Builder clear() {
        super.clear();
        newPubkey_ = com.google.protobuf.ByteString.EMPTY;

        return this;
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return smsc.Api.internal_static_smsc_EventEditAccount_descriptor;
      }

      public smsc.Api.EventEditAccount getDefaultInstanceForType() {
        return smsc.Api.EventEditAccount.getDefaultInstance();
      }

      public smsc.Api.EventEditAccount build() {
        smsc.Api.EventEditAccount result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public smsc.Api.EventEditAccount buildPartial() {
        smsc.Api.EventEditAccount result = new smsc.Api.EventEditAccount(this);
        result.newPubkey_ = newPubkey_;
        onBuilt();
        return result;
      }

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

      public Builder mergeFrom(smsc.Api.EventEditAccount other) {
        if (other == smsc.Api.EventEditAccount.getDefaultInstance()) return this;
        if (other.getNewPubkey() != com.google.protobuf.ByteString.EMPTY) {
          setNewPubkey(other.getNewPubkey());
        }
        onChanged();
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        smsc.Api.EventEditAccount parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (smsc.Api.EventEditAccount) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }

      private com.google.protobuf.ByteString newPubkey_ = com.google.protobuf.ByteString.EMPTY;
      /**
       * <code>optional bytes newPubkey = 1;</code>
       */
      public com.google.protobuf.ByteString getNewPubkey() {
        return newPubkey_;
      }
      /**
       * <code>optional bytes newPubkey = 1;</code>
       */
      public Builder setNewPubkey(com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        newPubkey_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional bytes newPubkey = 1;</code>
       */
      public Builder clearNewPubkey() {
        
        newPubkey_ = getDefaultInstance().getNewPubkey();
        onChanged();
        return this;
      }
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return this;
      }

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


      // @@protoc_insertion_point(builder_scope:smsc.EventEditAccount)
    }

    // @@protoc_insertion_point(class_scope:smsc.EventEditAccount)
    private static final smsc.Api.EventEditAccount DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new smsc.Api.EventEditAccount();
    }

    public static smsc.Api.EventEditAccount getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

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

    public smsc.Api.EventEditAccount getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface EventDeleteAccountOrBuilder extends
      // @@protoc_insertion_point(interface_extends:smsc.EventDeleteAccount)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <code>repeated int64 id = 1;</code>
     */
    java.util.List<java.lang.Long> getIdList();
    /**
     * <code>repeated int64 id = 1;</code>
     */
    int getIdCount();
    /**
     * <code>repeated int64 id = 1;</code>
     */
    long getId(int index);
  }
  /**
   * Protobuf type {@code smsc.EventDeleteAccount}
   */
  public  static final class EventDeleteAccount extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:smsc.EventDeleteAccount)
      EventDeleteAccountOrBuilder {
    // Use EventDeleteAccount.newBuilder() to construct.
    private EventDeleteAccount(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private EventDeleteAccount() {
      id_ = java.util.Collections.emptyList();
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return com.google.protobuf.UnknownFieldSet.getDefaultInstance();
    }
    private EventDeleteAccount(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      int mutable_bitField0_ = 0;
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!input.skipField(tag)) {
                done = true;
              }
              break;
            }
            case 8: {
              if (!((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
                id_ = new java.util.ArrayList<java.lang.Long>();
                mutable_bitField0_ |= 0x00000001;
              }
              id_.add(input.readInt64());
              break;
            }
            case 10: {
              int length = input.readRawVarint32();
              int limit = input.pushLimit(length);
              if (!((mutable_bitField0_ & 0x00000001) == 0x00000001) && input.getBytesUntilLimit() > 0) {
                id_ = new java.util.ArrayList<java.lang.Long>();
                mutable_bitField0_ |= 0x00000001;
              }
              while (input.getBytesUntilLimit() > 0) {
                id_.add(input.readInt64());
              }
              input.popLimit(limit);
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        if (((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
          id_ = java.util.Collections.unmodifiableList(id_);
        }
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return smsc.Api.internal_static_smsc_EventDeleteAccount_descriptor;
    }

    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return smsc.Api.internal_static_smsc_EventDeleteAccount_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              smsc.Api.EventDeleteAccount.class, smsc.Api.EventDeleteAccount.Builder.class);
    }

    public static final int ID_FIELD_NUMBER = 1;
    private java.util.List<java.lang.Long> id_;
    /**
     * <code>repeated int64 id = 1;</code>
     */
    public java.util.List<java.lang.Long>
        getIdList() {
      return id_;
    }
    /**
     * <code>repeated int64 id = 1;</code>
     */
    public int getIdCount() {
      return id_.size();
    }
    /**
     * <code>repeated int64 id = 1;</code>
     */
    public long getId(int index) {
      return id_.get(index);
    }
    private int idMemoizedSerializedSize = -1;

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

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (getIdList().size() > 0) {
        output.writeUInt32NoTag(10);
        output.writeUInt32NoTag(idMemoizedSerializedSize);
      }
      for (int i = 0; i < id_.size(); i++) {
        output.writeInt64NoTag(id_.get(i));
      }
    }

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

      size = 0;
      {
        int dataSize = 0;
        for (int i = 0; i < id_.size(); i++) {
          dataSize += com.google.protobuf.CodedOutputStream
            .computeInt64SizeNoTag(id_.get(i));
        }
        size += dataSize;
        if (!getIdList().isEmpty()) {
          size += 1;
          size += com.google.protobuf.CodedOutputStream
              .computeInt32SizeNoTag(dataSize);
        }
        idMemoizedSerializedSize = dataSize;
      }
      memoizedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof smsc.Api.EventDeleteAccount)) {
        return super.equals(obj);
      }
      smsc.Api.EventDeleteAccount other = (smsc.Api.EventDeleteAccount) obj;

      boolean result = true;
      result = result && getIdList()
          .equals(other.getIdList());
      return result;
    }

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

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

    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(smsc.Api.EventDeleteAccount prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code smsc.EventDeleteAccount}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:smsc.EventDeleteAccount)
        smsc.Api.EventDeleteAccountOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return smsc.Api.internal_static_smsc_EventDeleteAccount_descriptor;
      }

      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return smsc.Api.internal_static_smsc_EventDeleteAccount_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                smsc.Api.EventDeleteAccount.class, smsc.Api.EventDeleteAccount.Builder.class);
      }

      // Construct using smsc.Api.EventDeleteAccount.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

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

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return smsc.Api.internal_static_smsc_EventDeleteAccount_descriptor;
      }

      public smsc.Api.EventDeleteAccount getDefaultInstanceForType() {
        return smsc.Api.EventDeleteAccount.getDefaultInstance();
      }

      public smsc.Api.EventDeleteAccount build() {
        smsc.Api.EventDeleteAccount result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public smsc.Api.EventDeleteAccount buildPartial() {
        smsc.Api.EventDeleteAccount result = new smsc.Api.EventDeleteAccount(this);
        int from_bitField0_ = bitField0_;
        if (((bitField0_ & 0x00000001) == 0x00000001)) {
          id_ = java.util.Collections.unmodifiableList(id_);
          bitField0_ = (bitField0_ & ~0x00000001);
        }
        result.id_ = id_;
        onBuilt();
        return result;
      }

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

      public Builder mergeFrom(smsc.Api.EventDeleteAccount other) {
        if (other == smsc.Api.EventDeleteAccount.getDefaultInstance()) return this;
        if (!other.id_.isEmpty()) {
          if (id_.isEmpty()) {
            id_ = other.id_;
            bitField0_ = (bitField0_ & ~0x00000001);
          } else {
            ensureIdIsMutable();
            id_.addAll(other.id_);
          }
          onChanged();
        }
        onChanged();
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

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

      private java.util.List<java.lang.Long> id_ = java.util.Collections.emptyList();
      private void ensureIdIsMutable() {
        if (!((bitField0_ & 0x00000001) == 0x00000001)) {
          id_ = new java.util.ArrayList<java.lang.Long>(id_);
          bitField0_ |= 0x00000001;
         }
      }
      /**
       * <code>repeated int64 id = 1;</code>
       */
      public java.util.List<java.lang.Long>
          getIdList() {
        return java.util.Collections.unmodifiableList(id_);
      }
      /**
       * <code>repeated int64 id = 1;</code>
       */
      public int getIdCount() {
        return id_.size();
      }
      /**
       * <code>repeated int64 id = 1;</code>
       */
      public long getId(int index) {
        return id_.get(index);
      }
      /**
       * <code>repeated int64 id = 1;</code>
       */
      public Builder setId(
          int index, long value) {
        ensureIdIsMutable();
        id_.set(index, value);
        onChanged();
        return this;
      }
      /**
       * <code>repeated int64 id = 1;</code>
       */
      public Builder addId(long value) {
        ensureIdIsMutable();
        id_.add(value);
        onChanged();
        return this;
      }
      /**
       * <code>repeated int64 id = 1;</code>
       */
      public Builder addAllId(
          java.lang.Iterable<? extends java.lang.Long> values) {
        ensureIdIsMutable();
        com.google.protobuf.AbstractMessageLite.Builder.addAll(
            values, id_);
        onChanged();
        return this;
      }
      /**
       * <code>repeated int64 id = 1;</code>
       */
      public Builder clearId() {
        id_ = java.util.Collections.emptyList();
        bitField0_ = (bitField0_ & ~0x00000001);
        onChanged();
        return this;
      }
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return this;
      }

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


      // @@protoc_insertion_point(builder_scope:smsc.EventDeleteAccount)
    }

    // @@protoc_insertion_point(class_scope:smsc.EventDeleteAccount)
    private static final smsc.Api.EventDeleteAccount DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new smsc.Api.EventDeleteAccount();
    }

    public static smsc.Api.EventDeleteAccount getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

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

    public smsc.Api.EventDeleteAccount getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface EventSetSupplierOrBuilder extends
      // @@protoc_insertion_point(interface_extends:smsc.EventSetSupplier)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <code>repeated int64 supplierIdAdd = 1;</code>
     */
    java.util.List<java.lang.Long> getSupplierIdAddList();
    /**
     * <code>repeated int64 supplierIdAdd = 1;</code>
     */
    int getSupplierIdAddCount();
    /**
     * <code>repeated int64 supplierIdAdd = 1;</code>
     */
    long getSupplierIdAdd(int index);

    /**
     * <code>repeated int64 supplierIdDel = 2;</code>
     */
    java.util.List<java.lang.Long> getSupplierIdDelList();
    /**
     * <code>repeated int64 supplierIdDel = 2;</code>
     */
    int getSupplierIdDelCount();
    /**
     * <code>repeated int64 supplierIdDel = 2;</code>
     */
    long getSupplierIdDel(int index);
  }
  /**
   * Protobuf type {@code smsc.EventSetSupplier}
   */
  public  static final class EventSetSupplier extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:smsc.EventSetSupplier)
      EventSetSupplierOrBuilder {
    // Use EventSetSupplier.newBuilder() to construct.
    private EventSetSupplier(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private EventSetSupplier() {
      supplierIdAdd_ = java.util.Collections.emptyList();
      supplierIdDel_ = java.util.Collections.emptyList();
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return com.google.protobuf.UnknownFieldSet.getDefaultInstance();
    }
    private EventSetSupplier(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      int mutable_bitField0_ = 0;
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!input.skipField(tag)) {
                done = true;
              }
              break;
            }
            case 8: {
              if (!((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
                supplierIdAdd_ = new java.util.ArrayList<java.lang.Long>();
                mutable_bitField0_ |= 0x00000001;
              }
              supplierIdAdd_.add(input.readInt64());
              break;
            }
            case 10: {
              int length = input.readRawVarint32();
              int limit = input.pushLimit(length);
              if (!((mutable_bitField0_ & 0x00000001) == 0x00000001) && input.getBytesUntilLimit() > 0) {
                supplierIdAdd_ = new java.util.ArrayList<java.lang.Long>();
                mutable_bitField0_ |= 0x00000001;
              }
              while (input.getBytesUntilLimit() > 0) {
                supplierIdAdd_.add(input.readInt64());
              }
              input.popLimit(limit);
              break;
            }
            case 16: {
              if (!((mutable_bitField0_ & 0x00000002) == 0x00000002)) {
                supplierIdDel_ = new java.util.ArrayList<java.lang.Long>();
                mutable_bitField0_ |= 0x00000002;
              }
              supplierIdDel_.add(input.readInt64());
              break;
            }
            case 18: {
              int length = input.readRawVarint32();
              int limit = input.pushLimit(length);
              if (!((mutable_bitField0_ & 0x00000002) == 0x00000002) && input.getBytesUntilLimit() > 0) {
                supplierIdDel_ = new java.util.ArrayList<java.lang.Long>();
                mutable_bitField0_ |= 0x00000002;
              }
              while (input.getBytesUntilLimit() > 0) {
                supplierIdDel_.add(input.readInt64());
              }
              input.popLimit(limit);
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        if (((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
          supplierIdAdd_ = java.util.Collections.unmodifiableList(supplierIdAdd_);
        }
        if (((mutable_bitField0_ & 0x00000002) == 0x00000002)) {
          supplierIdDel_ = java.util.Collections.unmodifiableList(supplierIdDel_);
        }
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return smsc.Api.internal_static_smsc_EventSetSupplier_descriptor;
    }

    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return smsc.Api.internal_static_smsc_EventSetSupplier_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              smsc.Api.EventSetSupplier.class, smsc.Api.EventSetSupplier.Builder.class);
    }

    public static final int SUPPLIERIDADD_FIELD_NUMBER = 1;
    private java.util.List<java.lang.Long> supplierIdAdd_;
    /**
     * <code>repeated int64 supplierIdAdd = 1;</code>
     */
    public java.util.List<java.lang.Long>
        getSupplierIdAddList() {
      return supplierIdAdd_;
    }
    /**
     * <code>repeated int64 supplierIdAdd = 1;</code>
     */
    public int getSupplierIdAddCount() {
      return supplierIdAdd_.size();
    }
    /**
     * <code>repeated int64 supplierIdAdd = 1;</code>
     */
    public long getSupplierIdAdd(int index) {
      return supplierIdAdd_.get(index);
    }
    private int supplierIdAddMemoizedSerializedSize = -1;

    public static final int SUPPLIERIDDEL_FIELD_NUMBER = 2;
    private java.util.List<java.lang.Long> supplierIdDel_;
    /**
     * <code>repeated int64 supplierIdDel = 2;</code>
     */
    public java.util.List<java.lang.Long>
        getSupplierIdDelList() {
      return supplierIdDel_;
    }
    /**
     * <code>repeated int64 supplierIdDel = 2;</code>
     */
    public int getSupplierIdDelCount() {
      return supplierIdDel_.size();
    }
    /**
     * <code>repeated int64 supplierIdDel = 2;</code>
     */
    public long getSupplierIdDel(int index) {
      return supplierIdDel_.get(index);
    }
    private int supplierIdDelMemoizedSerializedSize = -1;

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

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (getSupplierIdAddList().size() > 0) {
        output.writeUInt32NoTag(10);
        output.writeUInt32NoTag(supplierIdAddMemoizedSerializedSize);
      }
      for (int i = 0; i < supplierIdAdd_.size(); i++) {
        output.writeInt64NoTag(supplierIdAdd_.get(i));
      }
      if (getSupplierIdDelList().size() > 0) {
        output.writeUInt32NoTag(18);
        output.writeUInt32NoTag(supplierIdDelMemoizedSerializedSize);
      }
      for (int i = 0; i < supplierIdDel_.size(); i++) {
        output.writeInt64NoTag(supplierIdDel_.get(i));
      }
    }

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

      size = 0;
      {
        int dataSize = 0;
        for (int i = 0; i < supplierIdAdd_.size(); i++) {
          dataSize += com.google.protobuf.CodedOutputStream
            .computeInt64SizeNoTag(supplierIdAdd_.get(i));
        }
        size += dataSize;
        if (!getSupplierIdAddList().isEmpty()) {
          size += 1;
          size += com.google.protobuf.CodedOutputStream
              .computeInt32SizeNoTag(dataSize);
        }
        supplierIdAddMemoizedSerializedSize = dataSize;
      }
      {
        int dataSize = 0;
        for (int i = 0; i < supplierIdDel_.size(); i++) {
          dataSize += com.google.protobuf.CodedOutputStream
            .computeInt64SizeNoTag(supplierIdDel_.get(i));
        }
        size += dataSize;
        if (!getSupplierIdDelList().isEmpty()) {
          size += 1;
          size += com.google.protobuf.CodedOutputStream
              .computeInt32SizeNoTag(dataSize);
        }
        supplierIdDelMemoizedSerializedSize = dataSize;
      }
      memoizedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof smsc.Api.EventSetSupplier)) {
        return super.equals(obj);
      }
      smsc.Api.EventSetSupplier other = (smsc.Api.EventSetSupplier) obj;

      boolean result = true;
      result = result && getSupplierIdAddList()
          .equals(other.getSupplierIdAddList());
      result = result && getSupplierIdDelList()
          .equals(other.getSupplierIdDelList());
      return result;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptorForType().hashCode();
      if (getSupplierIdAddCount() > 0) {
        hash = (37 * hash) + SUPPLIERIDADD_FIELD_NUMBER;
        hash = (53 * hash) + getSupplierIdAddList().hashCode();
      }
      if (getSupplierIdDelCount() > 0) {
        hash = (37 * hash) + SUPPLIERIDDEL_FIELD_NUMBER;
        hash = (53 * hash) + getSupplierIdDelList().hashCode();
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

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

    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(smsc.Api.EventSetSupplier prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code smsc.EventSetSupplier}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:smsc.EventSetSupplier)
        smsc.Api.EventSetSupplierOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return smsc.Api.internal_static_smsc_EventSetSupplier_descriptor;
      }

      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return smsc.Api.internal_static_smsc_EventSetSupplier_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                smsc.Api.EventSetSupplier.class, smsc.Api.EventSetSupplier.Builder.class);
      }

      // Construct using smsc.Api.EventSetSupplier.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
        }
      }
      public Builder clear() {
        super.clear();
        supplierIdAdd_ = java.util.Collections.emptyList();
        bitField0_ = (bitField0_ & ~0x00000001);
        supplierIdDel_ = java.util.Collections.emptyList();
        bitField0_ = (bitField0_ & ~0x00000002);
        return this;
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return smsc.Api.internal_static_smsc_EventSetSupplier_descriptor;
      }

      public smsc.Api.EventSetSupplier getDefaultInstanceForType() {
        return smsc.Api.EventSetSupplier.getDefaultInstance();
      }

      public smsc.Api.EventSetSupplier build() {
        smsc.Api.EventSetSupplier result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public smsc.Api.EventSetSupplier buildPartial() {
        smsc.Api.EventSetSupplier result = new smsc.Api.EventSetSupplier(this);
        int from_bitField0_ = bitField0_;
        if (((bitField0_ & 0x00000001) == 0x00000001)) {
          supplierIdAdd_ = java.util.Collections.unmodifiableList(supplierIdAdd_);
          bitField0_ = (bitField0_ & ~0x00000001);
        }
        result.supplierIdAdd_ = supplierIdAdd_;
        if (((bitField0_ & 0x00000002) == 0x00000002)) {
          supplierIdDel_ = java.util.Collections.unmodifiableList(supplierIdDel_);
          bitField0_ = (bitField0_ & ~0x00000002);
        }
        result.supplierIdDel_ = supplierIdDel_;
        onBuilt();
        return result;
      }

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

      public Builder mergeFrom(smsc.Api.EventSetSupplier other) {
        if (other == smsc.Api.EventSetSupplier.getDefaultInstance()) return this;
        if (!other.supplierIdAdd_.isEmpty()) {
          if (supplierIdAdd_.isEmpty()) {
            supplierIdAdd_ = other.supplierIdAdd_;
            bitField0_ = (bitField0_ & ~0x00000001);
          } else {
            ensureSupplierIdAddIsMutable();
            supplierIdAdd_.addAll(other.supplierIdAdd_);
          }
          onChanged();
        }
        if (!other.supplierIdDel_.isEmpty()) {
          if (supplierIdDel_.isEmpty()) {
            supplierIdDel_ = other.supplierIdDel_;
            bitField0_ = (bitField0_ & ~0x00000002);
          } else {
            ensureSupplierIdDelIsMutable();
            supplierIdDel_.addAll(other.supplierIdDel_);
          }
          onChanged();
        }
        onChanged();
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

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

      private java.util.List<java.lang.Long> supplierIdAdd_ = java.util.Collections.emptyList();
      private void ensureSupplierIdAddIsMutable() {
        if (!((bitField0_ & 0x00000001) == 0x00000001)) {
          supplierIdAdd_ = new java.util.ArrayList<java.lang.Long>(supplierIdAdd_);
          bitField0_ |= 0x00000001;
         }
      }
      /**
       * <code>repeated int64 supplierIdAdd = 1;</code>
       */
      public java.util.List<java.lang.Long>
          getSupplierIdAddList() {
        return java.util.Collections.unmodifiableList(supplierIdAdd_);
      }
      /**
       * <code>repeated int64 supplierIdAdd = 1;</code>
       */
      public int getSupplierIdAddCount() {
        return supplierIdAdd_.size();
      }
      /**
       * <code>repeated int64 supplierIdAdd = 1;</code>
       */
      public long getSupplierIdAdd(int index) {
        return supplierIdAdd_.get(index);
      }
      /**
       * <code>repeated int64 supplierIdAdd = 1;</code>
       */
      public Builder setSupplierIdAdd(
          int index, long value) {
        ensureSupplierIdAddIsMutable();
        supplierIdAdd_.set(index, value);
        onChanged();
        return this;
      }
      /**
       * <code>repeated int64 supplierIdAdd = 1;</code>
       */
      public Builder addSupplierIdAdd(long value) {
        ensureSupplierIdAddIsMutable();
        supplierIdAdd_.add(value);
        onChanged();
        return this;
      }
      /**
       * <code>repeated int64 supplierIdAdd = 1;</code>
       */
      public Builder addAllSupplierIdAdd(
          java.lang.Iterable<? extends java.lang.Long> values) {
        ensureSupplierIdAddIsMutable();
        com.google.protobuf.AbstractMessageLite.Builder.addAll(
            values, supplierIdAdd_);
        onChanged();
        return this;
      }
      /**
       * <code>repeated int64 supplierIdAdd = 1;</code>
       */
      public Builder clearSupplierIdAdd() {
        supplierIdAdd_ = java.util.Collections.emptyList();
        bitField0_ = (bitField0_ & ~0x00000001);
        onChanged();
        return this;
      }

      private java.util.List<java.lang.Long> supplierIdDel_ = java.util.Collections.emptyList();
      private void ensureSupplierIdDelIsMutable() {
        if (!((bitField0_ & 0x00000002) == 0x00000002)) {
          supplierIdDel_ = new java.util.ArrayList<java.lang.Long>(supplierIdDel_);
          bitField0_ |= 0x00000002;
         }
      }
      /**
       * <code>repeated int64 supplierIdDel = 2;</code>
       */
      public java.util.List<java.lang.Long>
          getSupplierIdDelList() {
        return java.util.Collections.unmodifiableList(supplierIdDel_);
      }
      /**
       * <code>repeated int64 supplierIdDel = 2;</code>
       */
      public int getSupplierIdDelCount() {
        return supplierIdDel_.size();
      }
      /**
       * <code>repeated int64 supplierIdDel = 2;</code>
       */
      public long getSupplierIdDel(int index) {
        return supplierIdDel_.get(index);
      }
      /**
       * <code>repeated int64 supplierIdDel = 2;</code>
       */
      public Builder setSupplierIdDel(
          int index, long value) {
        ensureSupplierIdDelIsMutable();
        supplierIdDel_.set(index, value);
        onChanged();
        return this;
      }
      /**
       * <code>repeated int64 supplierIdDel = 2;</code>
       */
      public Builder addSupplierIdDel(long value) {
        ensureSupplierIdDelIsMutable();
        supplierIdDel_.add(value);
        onChanged();
        return this;
      }
      /**
       * <code>repeated int64 supplierIdDel = 2;</code>
       */
      public Builder addAllSupplierIdDel(
          java.lang.Iterable<? extends java.lang.Long> values) {
        ensureSupplierIdDelIsMutable();
        com.google.protobuf.AbstractMessageLite.Builder.addAll(
            values, supplierIdDel_);
        onChanged();
        return this;
      }
      /**
       * <code>repeated int64 supplierIdDel = 2;</code>
       */
      public Builder clearSupplierIdDel() {
        supplierIdDel_ = java.util.Collections.emptyList();
        bitField0_ = (bitField0_ & ~0x00000002);
        onChanged();
        return this;
      }
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return this;
      }

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


      // @@protoc_insertion_point(builder_scope:smsc.EventSetSupplier)
    }

    // @@protoc_insertion_point(class_scope:smsc.EventSetSupplier)
    private static final smsc.Api.EventSetSupplier DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new smsc.Api.EventSetSupplier();
    }

    public static smsc.Api.EventSetSupplier getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

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

    public smsc.Api.EventSetSupplier getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface EventCreateOrderOrBuilder extends
      // @@protoc_insertion_point(interface_extends:smsc.EventCreateOrder)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <pre>
     *订单id
     * </pre>
     *
     * <code>optional string id = 1;</code>
     */
    java.lang.String getId();
    /**
     * <pre>
     *订单id
     * </pre>
     *
     * <code>optional string id = 1;</code>
     */
    com.google.protobuf.ByteString
        getIdBytes();
  }
  /**
   * Protobuf type {@code smsc.EventCreateOrder}
   */
  public  static final class EventCreateOrder extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:smsc.EventCreateOrder)
      EventCreateOrderOrBuilder {
    // Use EventCreateOrder.newBuilder() to construct.
    private EventCreateOrder(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private EventCreateOrder() {
      id_ = "";
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return com.google.protobuf.UnknownFieldSet.getDefaultInstance();
    }
    private EventCreateOrder(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      int mutable_bitField0_ = 0;
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!input.skipField(tag)) {
                done = true;
              }
              break;
            }
            case 10: {
              java.lang.String s = input.readStringRequireUtf8();

              id_ = s;
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return smsc.Api.internal_static_smsc_EventCreateOrder_descriptor;
    }

    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return smsc.Api.internal_static_smsc_EventCreateOrder_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              smsc.Api.EventCreateOrder.class, smsc.Api.EventCreateOrder.Builder.class);
    }

    public static final int ID_FIELD_NUMBER = 1;
    private volatile java.lang.Object id_;
    /**
     * <pre>
     *订单id
     * </pre>
     *
     * <code>optional string id = 1;</code>
     */
    public java.lang.String getId() {
      java.lang.Object ref = id_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        id_ = s;
        return s;
      }
    }
    /**
     * <pre>
     *订单id
     * </pre>
     *
     * <code>optional string id = 1;</code>
     */
    public com.google.protobuf.ByteString
        getIdBytes() {
      java.lang.Object ref = id_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        id_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

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

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (!getIdBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 1, id_);
      }
    }

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

      size = 0;
      if (!getIdBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, id_);
      }
      memoizedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof smsc.Api.EventCreateOrder)) {
        return super.equals(obj);
      }
      smsc.Api.EventCreateOrder other = (smsc.Api.EventCreateOrder) obj;

      boolean result = true;
      result = result && getId()
          .equals(other.getId());
      return result;
    }

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

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

    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(smsc.Api.EventCreateOrder prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code smsc.EventCreateOrder}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:smsc.EventCreateOrder)
        smsc.Api.EventCreateOrderOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return smsc.Api.internal_static_smsc_EventCreateOrder_descriptor;
      }

      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return smsc.Api.internal_static_smsc_EventCreateOrder_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                smsc.Api.EventCreateOrder.class, smsc.Api.EventCreateOrder.Builder.class);
      }

      // Construct using smsc.Api.EventCreateOrder.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
        }
      }
      public Builder clear() {
        super.clear();
        id_ = "";

        return this;
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return smsc.Api.internal_static_smsc_EventCreateOrder_descriptor;
      }

      public smsc.Api.EventCreateOrder getDefaultInstanceForType() {
        return smsc.Api.EventCreateOrder.getDefaultInstance();
      }

      public smsc.Api.EventCreateOrder build() {
        smsc.Api.EventCreateOrder result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public smsc.Api.EventCreateOrder buildPartial() {
        smsc.Api.EventCreateOrder result = new smsc.Api.EventCreateOrder(this);
        result.id_ = id_;
        onBuilt();
        return result;
      }

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

      public Builder mergeFrom(smsc.Api.EventCreateOrder other) {
        if (other == smsc.Api.EventCreateOrder.getDefaultInstance()) return this;
        if (!other.getId().isEmpty()) {
          id_ = other.id_;
          onChanged();
        }
        onChanged();
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        smsc.Api.EventCreateOrder parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (smsc.Api.EventCreateOrder) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }

      private java.lang.Object id_ = "";
      /**
       * <pre>
       *订单id
       * </pre>
       *
       * <code>optional string id = 1;</code>
       */
      public java.lang.String getId() {
        java.lang.Object ref = id_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          id_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <pre>
       *订单id
       * </pre>
       *
       * <code>optional string id = 1;</code>
       */
      public com.google.protobuf.ByteString
          getIdBytes() {
        java.lang.Object ref = id_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          id_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <pre>
       *订单id
       * </pre>
       *
       * <code>optional string id = 1;</code>
       */
      public Builder setId(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        id_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *订单id
       * </pre>
       *
       * <code>optional string id = 1;</code>
       */
      public Builder clearId() {
        
        id_ = getDefaultInstance().getId();
        onChanged();
        return this;
      }
      /**
       * <pre>
       *订单id
       * </pre>
       *
       * <code>optional string id = 1;</code>
       */
      public Builder setIdBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        id_ = value;
        onChanged();
        return this;
      }
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return this;
      }

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


      // @@protoc_insertion_point(builder_scope:smsc.EventCreateOrder)
    }

    // @@protoc_insertion_point(class_scope:smsc.EventCreateOrder)
    private static final smsc.Api.EventCreateOrder DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new smsc.Api.EventCreateOrder();
    }

    public static smsc.Api.EventCreateOrder getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

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

    public smsc.Api.EventCreateOrder getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface EventDeliveryOrBuilder extends
      // @@protoc_insertion_point(interface_extends:smsc.EventDelivery)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <pre>
     *承运商ID
     * </pre>
     *
     * <code>optional int64 carrier = 1;</code>
     */
    long getCarrier();
  }
  /**
   * Protobuf type {@code smsc.EventDelivery}
   */
  public  static final class EventDelivery extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:smsc.EventDelivery)
      EventDeliveryOrBuilder {
    // Use EventDelivery.newBuilder() to construct.
    private EventDelivery(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private EventDelivery() {
      carrier_ = 0L;
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return com.google.protobuf.UnknownFieldSet.getDefaultInstance();
    }
    private EventDelivery(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      int mutable_bitField0_ = 0;
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!input.skipField(tag)) {
                done = true;
              }
              break;
            }
            case 8: {

              carrier_ = input.readInt64();
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return smsc.Api.internal_static_smsc_EventDelivery_descriptor;
    }

    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return smsc.Api.internal_static_smsc_EventDelivery_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              smsc.Api.EventDelivery.class, smsc.Api.EventDelivery.Builder.class);
    }

    public static final int CARRIER_FIELD_NUMBER = 1;
    private long carrier_;
    /**
     * <pre>
     *承运商ID
     * </pre>
     *
     * <code>optional int64 carrier = 1;</code>
     */
    public long getCarrier() {
      return carrier_;
    }

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

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (carrier_ != 0L) {
        output.writeInt64(1, carrier_);
      }
    }

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

      size = 0;
      if (carrier_ != 0L) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt64Size(1, carrier_);
      }
      memoizedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof smsc.Api.EventDelivery)) {
        return super.equals(obj);
      }
      smsc.Api.EventDelivery other = (smsc.Api.EventDelivery) obj;

      boolean result = true;
      result = result && (getCarrier()
          == other.getCarrier());
      return result;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptorForType().hashCode();
      hash = (37 * hash) + CARRIER_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
          getCarrier());
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

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

    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(smsc.Api.EventDelivery prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code smsc.EventDelivery}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:smsc.EventDelivery)
        smsc.Api.EventDeliveryOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return smsc.Api.internal_static_smsc_EventDelivery_descriptor;
      }

      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return smsc.Api.internal_static_smsc_EventDelivery_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                smsc.Api.EventDelivery.class, smsc.Api.EventDelivery.Builder.class);
      }

      // Construct using smsc.Api.EventDelivery.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
        }
      }
      public Builder clear() {
        super.clear();
        carrier_ = 0L;

        return this;
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return smsc.Api.internal_static_smsc_EventDelivery_descriptor;
      }

      public smsc.Api.EventDelivery getDefaultInstanceForType() {
        return smsc.Api.EventDelivery.getDefaultInstance();
      }

      public smsc.Api.EventDelivery build() {
        smsc.Api.EventDelivery result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public smsc.Api.EventDelivery buildPartial() {
        smsc.Api.EventDelivery result = new smsc.Api.EventDelivery(this);
        result.carrier_ = carrier_;
        onBuilt();
        return result;
      }

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

      public Builder mergeFrom(smsc.Api.EventDelivery other) {
        if (other == smsc.Api.EventDelivery.getDefaultInstance()) return this;
        if (other.getCarrier() != 0L) {
          setCarrier(other.getCarrier());
        }
        onChanged();
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        smsc.Api.EventDelivery parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (smsc.Api.EventDelivery) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }

      private long carrier_ ;
      /**
       * <pre>
       *承运商ID
       * </pre>
       *
       * <code>optional int64 carrier = 1;</code>
       */
      public long getCarrier() {
        return carrier_;
      }
      /**
       * <pre>
       *承运商ID
       * </pre>
       *
       * <code>optional int64 carrier = 1;</code>
       */
      public Builder setCarrier(long value) {
        
        carrier_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *承运商ID
       * </pre>
       *
       * <code>optional int64 carrier = 1;</code>
       */
      public Builder clearCarrier() {
        
        carrier_ = 0L;
        onChanged();
        return this;
      }
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return this;
      }

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


      // @@protoc_insertion_point(builder_scope:smsc.EventDelivery)
    }

    // @@protoc_insertion_point(class_scope:smsc.EventDelivery)
    private static final smsc.Api.EventDelivery DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new smsc.Api.EventDelivery();
    }

    public static smsc.Api.EventDelivery getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

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

    public smsc.Api.EventDelivery getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface EventCarryOrBuilder extends
      // @@protoc_insertion_point(interface_extends:smsc.EventCarry)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <pre>
     *车牌号码
     * </pre>
     *
     * <code>optional string carId = 1;</code>
     */
    java.lang.String getCarId();
    /**
     * <pre>
     *车牌号码
     * </pre>
     *
     * <code>optional string carId = 1;</code>
     */
    com.google.protobuf.ByteString
        getCarIdBytes();
  }
  /**
   * Protobuf type {@code smsc.EventCarry}
   */
  public  static final class EventCarry extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:smsc.EventCarry)
      EventCarryOrBuilder {
    // Use EventCarry.newBuilder() to construct.
    private EventCarry(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private EventCarry() {
      carId_ = "";
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return com.google.protobuf.UnknownFieldSet.getDefaultInstance();
    }
    private EventCarry(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      int mutable_bitField0_ = 0;
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!input.skipField(tag)) {
                done = true;
              }
              break;
            }
            case 10: {
              java.lang.String s = input.readStringRequireUtf8();

              carId_ = s;
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return smsc.Api.internal_static_smsc_EventCarry_descriptor;
    }

    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return smsc.Api.internal_static_smsc_EventCarry_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              smsc.Api.EventCarry.class, smsc.Api.EventCarry.Builder.class);
    }

    public static final int CARID_FIELD_NUMBER = 1;
    private volatile java.lang.Object carId_;
    /**
     * <pre>
     *车牌号码
     * </pre>
     *
     * <code>optional string carId = 1;</code>
     */
    public java.lang.String getCarId() {
      java.lang.Object ref = carId_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        carId_ = s;
        return s;
      }
    }
    /**
     * <pre>
     *车牌号码
     * </pre>
     *
     * <code>optional string carId = 1;</code>
     */
    public com.google.protobuf.ByteString
        getCarIdBytes() {
      java.lang.Object ref = carId_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        carId_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

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

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (!getCarIdBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 1, carId_);
      }
    }

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

      size = 0;
      if (!getCarIdBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, carId_);
      }
      memoizedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof smsc.Api.EventCarry)) {
        return super.equals(obj);
      }
      smsc.Api.EventCarry other = (smsc.Api.EventCarry) obj;

      boolean result = true;
      result = result && getCarId()
          .equals(other.getCarId());
      return result;
    }

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

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

    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(smsc.Api.EventCarry prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code smsc.EventCarry}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:smsc.EventCarry)
        smsc.Api.EventCarryOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return smsc.Api.internal_static_smsc_EventCarry_descriptor;
      }

      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return smsc.Api.internal_static_smsc_EventCarry_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                smsc.Api.EventCarry.class, smsc.Api.EventCarry.Builder.class);
      }

      // Construct using smsc.Api.EventCarry.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
        }
      }
      public Builder clear() {
        super.clear();
        carId_ = "";

        return this;
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return smsc.Api.internal_static_smsc_EventCarry_descriptor;
      }

      public smsc.Api.EventCarry getDefaultInstanceForType() {
        return smsc.Api.EventCarry.getDefaultInstance();
      }

      public smsc.Api.EventCarry build() {
        smsc.Api.EventCarry result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public smsc.Api.EventCarry buildPartial() {
        smsc.Api.EventCarry result = new smsc.Api.EventCarry(this);
        result.carId_ = carId_;
        onBuilt();
        return result;
      }

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

      public Builder mergeFrom(smsc.Api.EventCarry other) {
        if (other == smsc.Api.EventCarry.getDefaultInstance()) return this;
        if (!other.getCarId().isEmpty()) {
          carId_ = other.carId_;
          onChanged();
        }
        onChanged();
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        smsc.Api.EventCarry parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (smsc.Api.EventCarry) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }

      private java.lang.Object carId_ = "";
      /**
       * <pre>
       *车牌号码
       * </pre>
       *
       * <code>optional string carId = 1;</code>
       */
      public java.lang.String getCarId() {
        java.lang.Object ref = carId_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          carId_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <pre>
       *车牌号码
       * </pre>
       *
       * <code>optional string carId = 1;</code>
       */
      public com.google.protobuf.ByteString
          getCarIdBytes() {
        java.lang.Object ref = carId_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          carId_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <pre>
       *车牌号码
       * </pre>
       *
       * <code>optional string carId = 1;</code>
       */
      public Builder setCarId(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        carId_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *车牌号码
       * </pre>
       *
       * <code>optional string carId = 1;</code>
       */
      public Builder clearCarId() {
        
        carId_ = getDefaultInstance().getCarId();
        onChanged();
        return this;
      }
      /**
       * <pre>
       *车牌号码
       * </pre>
       *
       * <code>optional string carId = 1;</code>
       */
      public Builder setCarIdBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        carId_ = value;
        onChanged();
        return this;
      }
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return this;
      }

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


      // @@protoc_insertion_point(builder_scope:smsc.EventCarry)
    }

    // @@protoc_insertion_point(class_scope:smsc.EventCarry)
    private static final smsc.Api.EventCarry DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new smsc.Api.EventCarry();
    }

    public static smsc.Api.EventCarry getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

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

    public smsc.Api.EventCarry getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface EventCheckOrBuilder extends
      // @@protoc_insertion_point(interface_extends:smsc.EventCheck)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <pre>
     *订单id
     * </pre>
     *
     * <code>optional string orderId = 1;</code>
     */
    java.lang.String getOrderId();
    /**
     * <pre>
     *订单id
     * </pre>
     *
     * <code>optional string orderId = 1;</code>
     */
    com.google.protobuf.ByteString
        getOrderIdBytes();
  }
  /**
   * Protobuf type {@code smsc.EventCheck}
   */
  public  static final class EventCheck extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:smsc.EventCheck)
      EventCheckOrBuilder {
    // Use EventCheck.newBuilder() to construct.
    private EventCheck(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private EventCheck() {
      orderId_ = "";
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return com.google.protobuf.UnknownFieldSet.getDefaultInstance();
    }
    private EventCheck(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      int mutable_bitField0_ = 0;
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!input.skipField(tag)) {
                done = true;
              }
              break;
            }
            case 10: {
              java.lang.String s = input.readStringRequireUtf8();

              orderId_ = s;
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return smsc.Api.internal_static_smsc_EventCheck_descriptor;
    }

    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return smsc.Api.internal_static_smsc_EventCheck_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              smsc.Api.EventCheck.class, smsc.Api.EventCheck.Builder.class);
    }

    public static final int ORDERID_FIELD_NUMBER = 1;
    private volatile java.lang.Object orderId_;
    /**
     * <pre>
     *订单id
     * </pre>
     *
     * <code>optional string orderId = 1;</code>
     */
    public java.lang.String getOrderId() {
      java.lang.Object ref = orderId_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        orderId_ = s;
        return s;
      }
    }
    /**
     * <pre>
     *订单id
     * </pre>
     *
     * <code>optional string orderId = 1;</code>
     */
    public com.google.protobuf.ByteString
        getOrderIdBytes() {
      java.lang.Object ref = orderId_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        orderId_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

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

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (!getOrderIdBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 1, orderId_);
      }
    }

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

      size = 0;
      if (!getOrderIdBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, orderId_);
      }
      memoizedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof smsc.Api.EventCheck)) {
        return super.equals(obj);
      }
      smsc.Api.EventCheck other = (smsc.Api.EventCheck) obj;

      boolean result = true;
      result = result && getOrderId()
          .equals(other.getOrderId());
      return result;
    }

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

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

    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(smsc.Api.EventCheck prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code smsc.EventCheck}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:smsc.EventCheck)
        smsc.Api.EventCheckOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return smsc.Api.internal_static_smsc_EventCheck_descriptor;
      }

      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return smsc.Api.internal_static_smsc_EventCheck_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                smsc.Api.EventCheck.class, smsc.Api.EventCheck.Builder.class);
      }

      // Construct using smsc.Api.EventCheck.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
        }
      }
      public Builder clear() {
        super.clear();
        orderId_ = "";

        return this;
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return smsc.Api.internal_static_smsc_EventCheck_descriptor;
      }

      public smsc.Api.EventCheck getDefaultInstanceForType() {
        return smsc.Api.EventCheck.getDefaultInstance();
      }

      public smsc.Api.EventCheck build() {
        smsc.Api.EventCheck result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public smsc.Api.EventCheck buildPartial() {
        smsc.Api.EventCheck result = new smsc.Api.EventCheck(this);
        result.orderId_ = orderId_;
        onBuilt();
        return result;
      }

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

      public Builder mergeFrom(smsc.Api.EventCheck other) {
        if (other == smsc.Api.EventCheck.getDefaultInstance()) return this;
        if (!other.getOrderId().isEmpty()) {
          orderId_ = other.orderId_;
          onChanged();
        }
        onChanged();
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        smsc.Api.EventCheck parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (smsc.Api.EventCheck) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }

      private java.lang.Object orderId_ = "";
      /**
       * <pre>
       *订单id
       * </pre>
       *
       * <code>optional string orderId = 1;</code>
       */
      public java.lang.String getOrderId() {
        java.lang.Object ref = orderId_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          orderId_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <pre>
       *订单id
       * </pre>
       *
       * <code>optional string orderId = 1;</code>
       */
      public com.google.protobuf.ByteString
          getOrderIdBytes() {
        java.lang.Object ref = orderId_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          orderId_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <pre>
       *订单id
       * </pre>
       *
       * <code>optional string orderId = 1;</code>
       */
      public Builder setOrderId(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        orderId_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *订单id
       * </pre>
       *
       * <code>optional string orderId = 1;</code>
       */
      public Builder clearOrderId() {
        
        orderId_ = getDefaultInstance().getOrderId();
        onChanged();
        return this;
      }
      /**
       * <pre>
       *订单id
       * </pre>
       *
       * <code>optional string orderId = 1;</code>
       */
      public Builder setOrderIdBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        orderId_ = value;
        onChanged();
        return this;
      }
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return this;
      }

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


      // @@protoc_insertion_point(builder_scope:smsc.EventCheck)
    }

    // @@protoc_insertion_point(class_scope:smsc.EventCheck)
    private static final smsc.Api.EventCheck DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new smsc.Api.EventCheck();
    }

    public static smsc.Api.EventCheck getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

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

    public smsc.Api.EventCheck getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_smsc_Admin_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_smsc_Admin_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_smsc_Planner_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_smsc_Planner_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_smsc_Supplier_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_smsc_Supplier_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_smsc_Carrier_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_smsc_Carrier_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_smsc_Checker_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_smsc_Checker_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_smsc_Order_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_smsc_Order_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_smsc_Request_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_smsc_Request_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_smsc_RequestSetAdmin_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_smsc_RequestSetAdmin_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_smsc_RequestCreateAccount_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_smsc_RequestCreateAccount_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_smsc_RequestEditAccount_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_smsc_RequestEditAccount_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_smsc_RequestDeleteAccount_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_smsc_RequestDeleteAccount_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_smsc_RequestSetSupplier_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_smsc_RequestSetSupplier_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_smsc_RequestCreateOrder_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_smsc_RequestCreateOrder_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_smsc_RequestDelivery_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_smsc_RequestDelivery_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_smsc_RequestCarry_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_smsc_RequestCarry_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_smsc_RequestCheck_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_smsc_RequestCheck_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_smsc_Response_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_smsc_Response_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_smsc_ResponseException_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_smsc_ResponseException_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_smsc_ResponseOK_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_smsc_ResponseOK_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_smsc_Receipt_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_smsc_Receipt_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_smsc_ResponseSetAdmin_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_smsc_ResponseSetAdmin_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_smsc_ResponseCreateAccount_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_smsc_ResponseCreateAccount_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_smsc_ResponseEditAccount_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_smsc_ResponseEditAccount_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_smsc_ResponseDeleteAccount_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_smsc_ResponseDeleteAccount_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_smsc_ResponseSetSupplier_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_smsc_ResponseSetSupplier_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_smsc_ResponseCreateOrder_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_smsc_ResponseCreateOrder_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_smsc_ResponseDelivery_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_smsc_ResponseDelivery_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_smsc_ResponseCarry_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_smsc_ResponseCarry_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_smsc_ResponseCheck_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_smsc_ResponseCheck_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_smsc_Event_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_smsc_Event_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_smsc_EventSetAdmin_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_smsc_EventSetAdmin_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_smsc_EventCreateAccount_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_smsc_EventCreateAccount_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_smsc_EventEditAccount_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_smsc_EventEditAccount_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_smsc_EventDeleteAccount_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_smsc_EventDeleteAccount_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_smsc_EventSetSupplier_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_smsc_EventSetSupplier_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_smsc_EventCreateOrder_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_smsc_EventCreateOrder_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_smsc_EventDelivery_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_smsc_EventDelivery_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_smsc_EventCarry_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_smsc_EventCarry_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_smsc_EventCheck_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_smsc_EventCheck_fieldAccessorTable;

  public static com.google.protobuf.Descriptors.FileDescriptor
      getDescriptor() {
    return descriptor;
  }
  private static  com.google.protobuf.Descriptors.FileDescriptor
      descriptor;
  static {
    java.lang.String[] descriptorData = {
      "\n\tapi.proto\022\004smsc\"\027\n\005Admin\022\016\n\006pubkey\030\001 \001" +
      "(\014\"V\n\007Planner\022\n\n\002id\030\001 \001(\003\022\017\n\007account\030\002 \001" +
      "(\t\022\014\n\004name\030\003 \001(\t\022\020\n\010supplier\030\004 \003(\003\022\016\n\006pu" +
      "bkey\030\005 \001(\014\"V\n\010Supplier\022\n\n\002id\030\001 \001(\003\022\017\n\007ac" +
      "count\030\002 \001(\t\022\014\n\004name\030\003 \001(\t\022\017\n\007planner\030\004 \001" +
      "(\003\022\016\n\006pubkey\030\005 \001(\014\"D\n\007Carrier\022\n\n\002id\030\001 \001(" +
      "\003\022\017\n\007account\030\002 \001(\t\022\014\n\004name\030\003 \001(\t\022\016\n\006pubk" +
      "ey\030\004 \001(\014\"D\n\007Checker\022\n\n\002id\030\001 \001(\003\022\017\n\007accou" +
      "nt\030\002 \001(\t\022\014\n\004name\030\003 \001(\t\022\016\n\006pubkey\030\004 \001(\014\"\230" +
      "\002\n\005Order\022\n\n\002id\030\001 \001(\t\022\016\n\006partId\030\002 \001(\t\022\r\n\005",
      "boxId\030\003 \001(\t\022\017\n\007partNum\030\004 \001(\003\022\014\n\004info\030\005 \001" +
      "(\t\022\r\n\005carId\030\006 \001(\t\022\024\n\014requiredDate\030\007 \001(\t\022" +
      "\024\n\014deliveryDate\030\010 \001(\t\022\021\n\tcarryDate\030\t \001(\t" +
      "\022\021\n\tcheckDate\030\n \001(\t\022\017\n\007planner\030\013 \001(\003\022\020\n\010" +
      "supplier\030\014 \001(\003\022\017\n\007carrier\030\r \001(\003\022\017\n\007check" +
      "er\030\016 \001(\003\022\037\n\005state\030\017 \001(\0162\020.smsc.OrderStat" +
      "e\"\226\004\n\007Request\022)\n\010setAdmin\030\001 \001(\0132\025.smsc.R" +
      "equestSetAdminH\000\0223\n\rcreateAccount\030\002 \001(\0132" +
      "\032.smsc.RequestCreateAccountH\000\022/\n\013editAcc" +
      "ount\030\003 \001(\0132\030.smsc.RequestEditAccountH\000\0223",
      "\n\rdeleteAccount\030\004 \001(\0132\032.smsc.RequestDele" +
      "teAccountH\000\022/\n\013setSupplier\030\005 \001(\0132\030.smsc." +
      "RequestSetSupplierH\000\022/\n\013createOrder\030\006 \001(" +
      "\0132\030.smsc.RequestCreateOrderH\000\022)\n\010deliver" +
      "y\030\007 \001(\0132\025.smsc.RequestDeliveryH\000\022#\n\005carr" +
      "y\030\010 \001(\0132\022.smsc.RequestCarryH\000\022#\n\005check\030\t" +
      " \001(\0132\022.smsc.RequestCheckH\000\022\013\n\003uid\030\n \001(\003\022" +
      "\025\n\rinstructionId\030\013 \001(\003\022\016\n\006pubkey\030\014 \001(\014\022\014" +
      "\n\004sign\030\r \001(\014\022#\n\010actionId\030\016 \001(\0162\021.smsc.Me" +
      "ssageTypeB\007\n\005value\"!\n\017RequestSetAdmin\022\016\n",
      "\006pubkey\030\001 \001(\014\"k\n\024RequestCreateAccount\022\n\n" +
      "\002id\030\001 \001(\003\022\016\n\006pubkey\030\002 \001(\014\022\017\n\007account\030\003 \001" +
      "(\t\022\014\n\004name\030\004 \001(\t\022\030\n\004role\030\005 \001(\0162\n.smsc.Ro" +
      "le\"i\n\022RequestEditAccount\022\n\n\002id\030\001 \001(\003\022\016\n\006" +
      "pubkey\030\002 \001(\014\022\017\n\007account\030\003 \001(\t\022\014\n\004name\030\004 " +
      "\001(\t\022\030\n\004role\030\005 \001(\0162\n.smsc.Role\"[\n\024Request" +
      "DeleteAccount\022\n\n\002id\030\001 \003(\003\022\030\n\004role\030\002 \003(\0162" +
      "\n.smsc.Role\022\017\n\007account\030\003 \003(\t\022\014\n\004name\030\004 \003" +
      "(\t\"\277\001\n\022RequestSetSupplier\022\021\n\tplannerId\030\001" +
      " \001(\003\022\025\n\rsupplierIdAdd\030\002 \003(\003\022\025\n\rsupplierI",
      "dDel\030\003 \003(\003\022\032\n\022supplierAccountAdd\030\004 \003(\t\022\032" +
      "\n\022supplierAccountDel\030\005 \003(\t\022\027\n\017supplierNa" +
      "meAdd\030\006 \003(\t\022\027\n\017supplierNameDel\030\007 \003(\t\"\331\001\n" +
      "\022RequestCreateOrder\022\017\n\007orderId\030\001 \001(\t\022\020\n\010" +
      "supplier\030\002 \001(\003\022\016\n\006partId\030\003 \001(\t\022\r\n\005boxId\030" +
      "\004 \001(\t\022\017\n\007partNum\030\005 \001(\003\022\024\n\014requiredDate\030\006" +
      " \001(\t\022\026\n\016plannerAccount\030\007 \001(\t\022\023\n\013plannerN" +
      "ame\030\010 \001(\t\022\027\n\017supplierAccount\030\t \001(\t\022\024\n\014su" +
      "pplierName\030\n \001(\t\"\325\001\n\017RequestDelivery\022\017\n\007" +
      "orderId\030\001 \001(\t\022\017\n\007carrier\030\002 \001(\003\022\016\n\006partId",
      "\030\003 \001(\t\022\r\n\005boxId\030\004 \001(\t\022\017\n\007partNum\030\005 \001(\003\022\024" +
      "\n\014deliveryDate\030\006 \001(\t\022\027\n\017supplierAccount\030" +
      "\007 \001(\t\022\024\n\014supplierName\030\010 \001(\t\022\026\n\016carrierAc" +
      "count\030\t \001(\t\022\023\n\013carrierName\030\n \001(\t\"\215\001\n\014Req" +
      "uestCarry\022\017\n\007orderId\030\001 \001(\t\022\r\n\005boxId\030\002 \001(" +
      "\t\022\r\n\005carId\030\003 \001(\t\022\021\n\tcarryDate\030\004 \001(\t\022\026\n\016c" +
      "arrierAccount\030\005 \001(\t\022\023\n\013carrierName\030\006 \001(\t" +
      "\022\016\n\006boxNum\030\007 \001(\003\"\270\001\n\014RequestCheck\022\017\n\007ord" +
      "erId\030\001 \001(\t\022\031\n\002op\030\002 \001(\0162\r.smsc.Operate\022\021\n" +
      "\tcheckDate\030\003 \001(\t\022\026\n\016checkerAccount\030\004 \001(\t",
      "\022\023\n\013checkerName\030\005 \001(\t\022\016\n\006partId\030\006 \001(\t\022\r\n" +
      "\005boxId\030\007 \001(\t\022\016\n\006boxNum\030\010 \001(\003\022\r\n\005carId\030\t " +
      "\001(\t\"\207\004\n\010Response\022*\n\010setAdmin\030\001 \001(\0132\026.sms" +
      "c.ResponseSetAdminH\000\0224\n\rcreateAccount\030\002 " +
      "\001(\0132\033.smsc.ResponseCreateAccountH\000\0220\n\013ed" +
      "itAccount\030\003 \001(\0132\031.smsc.ResponseEditAccou" +
      "ntH\000\0224\n\rdeleteAccount\030\004 \001(\0132\033.smsc.Respo" +
      "nseDeleteAccountH\000\0220\n\013setSupplier\030\005 \001(\0132" +
      "\031.smsc.ResponseSetSupplierH\000\0220\n\013createOr" +
      "der\030\006 \001(\0132\031.smsc.ResponseCreateOrderH\000\022*",
      "\n\010delivery\030\007 \001(\0132\026.smsc.ResponseDelivery" +
      "H\000\022$\n\005carry\030\010 \001(\0132\023.smsc.ResponseCarryH\000" +
      "\022$\n\005check\030\t \001(\0132\023.smsc.ResponseCheckH\000\022\036" +
      "\n\002ok\030\n \001(\0132\020.smsc.ResponseOKH\000\022,\n\texcept" +
      "ion\030\013 \001(\0132\027.smsc.ResponseExceptionH\000B\007\n\005" +
      "value\"\"\n\021ResponseException\022\r\n\005error\030\001 \001(" +
      "\t\"\030\n\nResponseOK\022\n\n\002ok\030\001 \001(\010\"$\n\007Receipt\022\014" +
      "\n\004isOk\030\001 \001(\010\022\013\n\003err\030\002 \001(\014\"E\n\020ResponseSet" +
      "Admin\022\025\n\rinstructionId\030\001 \001(\003\022\032\n\005event\030\002 " +
      "\001(\0132\013.smsc.Event\"J\n\025ResponseCreateAccoun",
      "t\022\025\n\rinstructionId\030\001 \001(\003\022\032\n\005event\030\002 \001(\0132" +
      "\013.smsc.Event\"H\n\023ResponseEditAccount\022\025\n\ri" +
      "nstructionId\030\001 \001(\003\022\032\n\005event\030\002 \001(\0132\013.smsc" +
      ".Event\"J\n\025ResponseDeleteAccount\022\025\n\rinstr" +
      "uctionId\030\001 \001(\003\022\032\n\005event\030\002 \001(\0132\013.smsc.Eve" +
      "nt\"H\n\023ResponseSetSupplier\022\025\n\rinstruction" +
      "Id\030\001 \001(\003\022\032\n\005event\030\002 \001(\0132\013.smsc.Event\"H\n\023" +
      "ResponseCreateOrder\022\025\n\rinstructionId\030\001 \001" +
      "(\003\022\032\n\005event\030\002 \001(\0132\013.smsc.Event\"E\n\020Respon" +
      "seDelivery\022\025\n\rinstructionId\030\001 \001(\003\022\032\n\005eve",
      "nt\030\002 \001(\0132\013.smsc.Event\"B\n\rResponseCarry\022\025" +
      "\n\rinstructionId\030\001 \001(\003\022\032\n\005event\030\002 \001(\0132\013.s" +
      "msc.Event\"B\n\rResponseCheck\022\025\n\rinstructio" +
      "nId\030\001 \001(\003\022\032\n\005event\030\002 \001(\0132\013.smsc.Event\"\233\003" +
      "\n\005Event\022\'\n\010setAdmin\030\001 \001(\0132\023.smsc.EventSe" +
      "tAdminH\000\0221\n\rcreateAccount\030\002 \001(\0132\030.smsc.E" +
      "ventCreateAccountH\000\022-\n\013editAccount\030\003 \001(\013" +
      "2\026.smsc.EventEditAccountH\000\0221\n\rdeleteAcco" +
      "unt\030\004 \001(\0132\030.smsc.EventDeleteAccountH\000\022-\n" +
      "\013setSupplier\030\005 \001(\0132\026.smsc.EventSetSuppli",
      "erH\000\022-\n\013createOrder\030\006 \001(\0132\026.smsc.EventCr" +
      "eateOrderH\000\022\'\n\010delivery\030\007 \001(\0132\023.smsc.Eve" +
      "ntDeliveryH\000\022!\n\005carry\030\010 \001(\0132\020.smsc.Event" +
      "CarryH\000\022!\n\005check\030\t \001(\0132\020.smsc.EventCheck" +
      "H\000B\007\n\005value\"\037\n\rEventSetAdmin\022\016\n\006pubkey\030\001" +
      " \001(\014\" \n\022EventCreateAccount\022\n\n\002id\030\001 \001(\003\"%" +
      "\n\020EventEditAccount\022\021\n\tnewPubkey\030\001 \001(\014\" \n" +
      "\022EventDeleteAccount\022\n\n\002id\030\001 \003(\003\"@\n\020Event" +
      "SetSupplier\022\025\n\rsupplierIdAdd\030\001 \003(\003\022\025\n\rsu" +
      "pplierIdDel\030\002 \003(\003\"\036\n\020EventCreateOrder\022\n\n",
      "\002id\030\001 \001(\t\" \n\rEventDelivery\022\017\n\007carrier\030\001 " +
      "\001(\003\"\033\n\nEventCarry\022\r\n\005carId\030\001 \001(\t\"\035\n\nEven" +
      "tCheck\022\017\n\007orderId\030\001 \001(\t*o\n\nOrderState\022\017\n" +
      "\013OSUndefined\020\000\022\021\n\rOSTodelivered\020\001\022\017\n\013OST" +
      "oCarried\020\002\022\016\n\nOSCarrying\020\003\022\r\n\tOSChecked\020" +
      "\004\022\r\n\tOSRefused\020\005*O\n\004Role\022\016\n\nRUndefined\020\000" +
      "\022\014\n\010RPlanner\020\001\022\r\n\tRSupplier\020\002\022\014\n\010RCarrie" +
      "r\020\003\022\014\n\010RChecker\020\004*\317\001\n\013MessageType\022\014\n\010Msg" +
      "Error\020\000\022\017\n\013MsgSetAdmin\020\001\022\024\n\020MsgCreateAcc" +
      "ount\020\002\022\022\n\016MsgEditAccount\020\003\022\024\n\020MsgDeleteA",
      "ccount\020\004\022\022\n\016MsgSetSupplier\020\005\022\022\n\016MsgCreat" +
      "eOrder\020\006\022\017\n\013MsgDelivery\020\007\022\014\n\010MsgCarry\020\010\022" +
      "\014\n\010MsgCheck\020\t\022\014\n\010MsgCount\020\n*E\n\007Operate\022\016" +
      "\n\nOUndefined\020\000\022\010\n\004OAdd\020\001\022\010\n\004ODel\020\002\022\013\n\007OR" +
      "efuse\020\003\022\t\n\005OPass\020\004b\006proto3"
    };
    com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner assigner =
        new com.google.protobuf.Descriptors.FileDescriptor.    InternalDescriptorAssigner() {
          public com.google.protobuf.ExtensionRegistry assignDescriptors(
              com.google.protobuf.Descriptors.FileDescriptor root) {
            descriptor = root;
            return null;
          }
        };
    com.google.protobuf.Descriptors.FileDescriptor
      .internalBuildGeneratedFileFrom(descriptorData,
        new com.google.protobuf.Descriptors.FileDescriptor[] {
        }, assigner);
    internal_static_smsc_Admin_descriptor =
      getDescriptor().getMessageTypes().get(0);
    internal_static_smsc_Admin_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_smsc_Admin_descriptor,
        new java.lang.String[] { "Pubkey", });
    internal_static_smsc_Planner_descriptor =
      getDescriptor().getMessageTypes().get(1);
    internal_static_smsc_Planner_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_smsc_Planner_descriptor,
        new java.lang.String[] { "Id", "Account", "Name", "Supplier", "Pubkey", });
    internal_static_smsc_Supplier_descriptor =
      getDescriptor().getMessageTypes().get(2);
    internal_static_smsc_Supplier_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_smsc_Supplier_descriptor,
        new java.lang.String[] { "Id", "Account", "Name", "Planner", "Pubkey", });
    internal_static_smsc_Carrier_descriptor =
      getDescriptor().getMessageTypes().get(3);
    internal_static_smsc_Carrier_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_smsc_Carrier_descriptor,
        new java.lang.String[] { "Id", "Account", "Name", "Pubkey", });
    internal_static_smsc_Checker_descriptor =
      getDescriptor().getMessageTypes().get(4);
    internal_static_smsc_Checker_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_smsc_Checker_descriptor,
        new java.lang.String[] { "Id", "Account", "Name", "Pubkey", });
    internal_static_smsc_Order_descriptor =
      getDescriptor().getMessageTypes().get(5);
    internal_static_smsc_Order_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_smsc_Order_descriptor,
        new java.lang.String[] { "Id", "PartId", "BoxId", "PartNum", "Info", "CarId", "RequiredDate", "DeliveryDate", "CarryDate", "CheckDate", "Planner", "Supplier", "Carrier", "Checker", "State", });
    internal_static_smsc_Request_descriptor =
      getDescriptor().getMessageTypes().get(6);
    internal_static_smsc_Request_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_smsc_Request_descriptor,
        new java.lang.String[] { "SetAdmin", "CreateAccount", "EditAccount", "DeleteAccount", "SetSupplier", "CreateOrder", "Delivery", "Carry", "Check", "Uid", "InstructionId", "Pubkey", "Sign", "ActionId", "Value", });
    internal_static_smsc_RequestSetAdmin_descriptor =
      getDescriptor().getMessageTypes().get(7);
    internal_static_smsc_RequestSetAdmin_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_smsc_RequestSetAdmin_descriptor,
        new java.lang.String[] { "Pubkey", });
    internal_static_smsc_RequestCreateAccount_descriptor =
      getDescriptor().getMessageTypes().get(8);
    internal_static_smsc_RequestCreateAccount_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_smsc_RequestCreateAccount_descriptor,
        new java.lang.String[] { "Id", "Pubkey", "Account", "Name", "Role", });
    internal_static_smsc_RequestEditAccount_descriptor =
      getDescriptor().getMessageTypes().get(9);
    internal_static_smsc_RequestEditAccount_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_smsc_RequestEditAccount_descriptor,
        new java.lang.String[] { "Id", "Pubkey", "Account", "Name", "Role", });
    internal_static_smsc_RequestDeleteAccount_descriptor =
      getDescriptor().getMessageTypes().get(10);
    internal_static_smsc_RequestDeleteAccount_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_smsc_RequestDeleteAccount_descriptor,
        new java.lang.String[] { "Id", "Role", "Account", "Name", });
    internal_static_smsc_RequestSetSupplier_descriptor =
      getDescriptor().getMessageTypes().get(11);
    internal_static_smsc_RequestSetSupplier_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_smsc_RequestSetSupplier_descriptor,
        new java.lang.String[] { "PlannerId", "SupplierIdAdd", "SupplierIdDel", "SupplierAccountAdd", "SupplierAccountDel", "SupplierNameAdd", "SupplierNameDel", });
    internal_static_smsc_RequestCreateOrder_descriptor =
      getDescriptor().getMessageTypes().get(12);
    internal_static_smsc_RequestCreateOrder_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_smsc_RequestCreateOrder_descriptor,
        new java.lang.String[] { "OrderId", "Supplier", "PartId", "BoxId", "PartNum", "RequiredDate", "PlannerAccount", "PlannerName", "SupplierAccount", "SupplierName", });
    internal_static_smsc_RequestDelivery_descriptor =
      getDescriptor().getMessageTypes().get(13);
    internal_static_smsc_RequestDelivery_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_smsc_RequestDelivery_descriptor,
        new java.lang.String[] { "OrderId", "Carrier", "PartId", "BoxId", "PartNum", "DeliveryDate", "SupplierAccount", "SupplierName", "CarrierAccount", "CarrierName", });
    internal_static_smsc_RequestCarry_descriptor =
      getDescriptor().getMessageTypes().get(14);
    internal_static_smsc_RequestCarry_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_smsc_RequestCarry_descriptor,
        new java.lang.String[] { "OrderId", "BoxId", "CarId", "CarryDate", "CarrierAccount", "CarrierName", "BoxNum", });
    internal_static_smsc_RequestCheck_descriptor =
      getDescriptor().getMessageTypes().get(15);
    internal_static_smsc_RequestCheck_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_smsc_RequestCheck_descriptor,
        new java.lang.String[] { "OrderId", "Op", "CheckDate", "CheckerAccount", "CheckerName", "PartId", "BoxId", "BoxNum", "CarId", });
    internal_static_smsc_Response_descriptor =
      getDescriptor().getMessageTypes().get(16);
    internal_static_smsc_Response_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_smsc_Response_descriptor,
        new java.lang.String[] { "SetAdmin", "CreateAccount", "EditAccount", "DeleteAccount", "SetSupplier", "CreateOrder", "Delivery", "Carry", "Check", "Ok", "Exception", "Value", });
    internal_static_smsc_ResponseException_descriptor =
      getDescriptor().getMessageTypes().get(17);
    internal_static_smsc_ResponseException_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_smsc_ResponseException_descriptor,
        new java.lang.String[] { "Error", });
    internal_static_smsc_ResponseOK_descriptor =
      getDescriptor().getMessageTypes().get(18);
    internal_static_smsc_ResponseOK_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_smsc_ResponseOK_descriptor,
        new java.lang.String[] { "Ok", });
    internal_static_smsc_Receipt_descriptor =
      getDescriptor().getMessageTypes().get(19);
    internal_static_smsc_Receipt_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_smsc_Receipt_descriptor,
        new java.lang.String[] { "IsOk", "Err", });
    internal_static_smsc_ResponseSetAdmin_descriptor =
      getDescriptor().getMessageTypes().get(20);
    internal_static_smsc_ResponseSetAdmin_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_smsc_ResponseSetAdmin_descriptor,
        new java.lang.String[] { "InstructionId", "Event", });
    internal_static_smsc_ResponseCreateAccount_descriptor =
      getDescriptor().getMessageTypes().get(21);
    internal_static_smsc_ResponseCreateAccount_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_smsc_ResponseCreateAccount_descriptor,
        new java.lang.String[] { "InstructionId", "Event", });
    internal_static_smsc_ResponseEditAccount_descriptor =
      getDescriptor().getMessageTypes().get(22);
    internal_static_smsc_ResponseEditAccount_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_smsc_ResponseEditAccount_descriptor,
        new java.lang.String[] { "InstructionId", "Event", });
    internal_static_smsc_ResponseDeleteAccount_descriptor =
      getDescriptor().getMessageTypes().get(23);
    internal_static_smsc_ResponseDeleteAccount_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_smsc_ResponseDeleteAccount_descriptor,
        new java.lang.String[] { "InstructionId", "Event", });
    internal_static_smsc_ResponseSetSupplier_descriptor =
      getDescriptor().getMessageTypes().get(24);
    internal_static_smsc_ResponseSetSupplier_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_smsc_ResponseSetSupplier_descriptor,
        new java.lang.String[] { "InstructionId", "Event", });
    internal_static_smsc_ResponseCreateOrder_descriptor =
      getDescriptor().getMessageTypes().get(25);
    internal_static_smsc_ResponseCreateOrder_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_smsc_ResponseCreateOrder_descriptor,
        new java.lang.String[] { "InstructionId", "Event", });
    internal_static_smsc_ResponseDelivery_descriptor =
      getDescriptor().getMessageTypes().get(26);
    internal_static_smsc_ResponseDelivery_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_smsc_ResponseDelivery_descriptor,
        new java.lang.String[] { "InstructionId", "Event", });
    internal_static_smsc_ResponseCarry_descriptor =
      getDescriptor().getMessageTypes().get(27);
    internal_static_smsc_ResponseCarry_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_smsc_ResponseCarry_descriptor,
        new java.lang.String[] { "InstructionId", "Event", });
    internal_static_smsc_ResponseCheck_descriptor =
      getDescriptor().getMessageTypes().get(28);
    internal_static_smsc_ResponseCheck_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_smsc_ResponseCheck_descriptor,
        new java.lang.String[] { "InstructionId", "Event", });
    internal_static_smsc_Event_descriptor =
      getDescriptor().getMessageTypes().get(29);
    internal_static_smsc_Event_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_smsc_Event_descriptor,
        new java.lang.String[] { "SetAdmin", "CreateAccount", "EditAccount", "DeleteAccount", "SetSupplier", "CreateOrder", "Delivery", "Carry", "Check", "Value", });
    internal_static_smsc_EventSetAdmin_descriptor =
      getDescriptor().getMessageTypes().get(30);
    internal_static_smsc_EventSetAdmin_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_smsc_EventSetAdmin_descriptor,
        new java.lang.String[] { "Pubkey", });
    internal_static_smsc_EventCreateAccount_descriptor =
      getDescriptor().getMessageTypes().get(31);
    internal_static_smsc_EventCreateAccount_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_smsc_EventCreateAccount_descriptor,
        new java.lang.String[] { "Id", });
    internal_static_smsc_EventEditAccount_descriptor =
      getDescriptor().getMessageTypes().get(32);
    internal_static_smsc_EventEditAccount_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_smsc_EventEditAccount_descriptor,
        new java.lang.String[] { "NewPubkey", });
    internal_static_smsc_EventDeleteAccount_descriptor =
      getDescriptor().getMessageTypes().get(33);
    internal_static_smsc_EventDeleteAccount_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_smsc_EventDeleteAccount_descriptor,
        new java.lang.String[] { "Id", });
    internal_static_smsc_EventSetSupplier_descriptor =
      getDescriptor().getMessageTypes().get(34);
    internal_static_smsc_EventSetSupplier_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_smsc_EventSetSupplier_descriptor,
        new java.lang.String[] { "SupplierIdAdd", "SupplierIdDel", });
    internal_static_smsc_EventCreateOrder_descriptor =
      getDescriptor().getMessageTypes().get(35);
    internal_static_smsc_EventCreateOrder_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_smsc_EventCreateOrder_descriptor,
        new java.lang.String[] { "Id", });
    internal_static_smsc_EventDelivery_descriptor =
      getDescriptor().getMessageTypes().get(36);
    internal_static_smsc_EventDelivery_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_smsc_EventDelivery_descriptor,
        new java.lang.String[] { "Carrier", });
    internal_static_smsc_EventCarry_descriptor =
      getDescriptor().getMessageTypes().get(37);
    internal_static_smsc_EventCarry_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_smsc_EventCarry_descriptor,
        new java.lang.String[] { "CarId", });
    internal_static_smsc_EventCheck_descriptor =
      getDescriptor().getMessageTypes().get(38);
    internal_static_smsc_EventCheck_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_smsc_EventCheck_descriptor,
        new java.lang.String[] { "OrderId", });
  }

  // @@protoc_insertion_point(outer_class_scope)
}
