text: /**
   * @fileoverview
   * @enhanceable
   * @suppress {messageConventions} JS Compiler reports an error if a variable or
   *     field starts with 'MSG_' and isn't a translatable message.
   * @public
   */
  // GENERATED CODE -- DO NOT EDIT!
  
  var jspb = require('google-protobuf');
  var goog = jspb;
  var global = Function('return this')();
  
  var google_protobuf_wrappers_pb = require('google-protobuf/google/protobuf/wrappers_pb.js');
  goog.object.extend(proto, google_protobuf_wrappers_pb);
  var ThreadDump_pb = require('./ThreadDump_pb.js');
  goog.object.extend(proto, ThreadDump_pb);
  goog.exportSymbol('proto.v1.PCmdActiveThreadCount', null, global);
  goog.exportSymbol('proto.v1.PCmdActiveThreadCountRes', null, global);
  goog.exportSymbol('proto.v1.PCmdActiveThreadDump', null, global);
  goog.exportSymbol('proto.v1.PCmdActiveThreadDumpRes', null, global);
  goog.exportSymbol('proto.v1.PCmdActiveThreadLightDump', null, global);
  goog.exportSymbol('proto.v1.PCmdActiveThreadLightDumpRes', null, global);
  goog.exportSymbol('proto.v1.PCmdEcho', null, global);
  goog.exportSymbol('proto.v1.PCmdEchoResponse', null, global);
  goog.exportSymbol('proto.v1.PCmdMessage', null, global);
  goog.exportSymbol('proto.v1.PCmdRequest', null, global);
  goog.exportSymbol('proto.v1.PCmdResponse', null, global);
  goog.exportSymbol('proto.v1.PCmdServiceHandshake', null, global);
  goog.exportSymbol('proto.v1.PCmdStreamResponse', null, global);
  goog.exportSymbol('proto.v1.PCommandType', null, global);
  
  /**
   * Generated by JsPbCodeGenerator.
   * @param {Array=} opt_data Optional initial data array, typically from a
   * server response, or constructed directly in Javascript. The array is used
   * in place and becomes part of the constructed object. It is not cloned.
   * If no data is provided, the constructed object will be empty, but still
   * valid.
   * @extends {jspb.Message}
   * @constructor
   */
  proto.v1.PCmdMessage = function(opt_data) {
    jspb.Message.initialize(this, opt_data, 0, -1, null, proto.v1.PCmdMessage.oneofGroups_);
  };
  goog.inherits(proto.v1.PCmdMessage, jspb.Message);
  if (goog.DEBUG && !COMPILED) {
    proto.v1.PCmdMessage.displayName = 'proto.v1.PCmdMessage';
  }
  /**
   * Oneof group definitions for this message. Each group defines the field
   * numbers belonging to that group. When of these fields' value is set, all
   * other fields in the group are cleared. During deserialization, if multiple
   * fields are encountered for a group, only the last value seen will be kept.
   * @private {!Array<!Array<number>>}
   * @const
   */
  proto.v1.PCmdMessage.oneofGroups_ = [[1,2]];
  
  /**
   * @enum {number}
   */
  proto.v1.PCmdMessage.MessageCase = {
    MESSAGE_NOT_SET: 0,
    HANDSHAKEMESSAGE: 1,
    FAILMESSAGE: 2
  };
  
  /**
   * @return {proto.v1.PCmdMessage.MessageCase}
   */
  proto.v1.PCmdMessage.prototype.getMessageCase = function() {
    return /** @type {proto.v1.PCmdMessage.MessageCase} */(jspb.Message.computeOneofCase(this, proto.v1.PCmdMessage.oneofGroups_[0]));
  };
  
  
  
  if (jspb.Message.GENERATE_TO_OBJECT) {
  /**
   * Creates an object representation of this proto suitable for use in Soy templates.
   * Field names that are reserved in JavaScript and will be renamed to pb_name.
   * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
   * For the list of reserved names please see:
   *     com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.
   * @param {boolean=} opt_includeInstance Whether to include the JSPB instance
   *     for transitional soy proto support: http://goto/soy-param-migration
   * @return {!Object}
   */
  proto.v1.PCmdMessage.prototype.toObject = function(opt_includeInstance) {
    return proto.v1.PCmdMessage.toObject(opt_includeInstance, this);
  };
  
  
  /**
   * Static version of the {@see toObject} method.
   * @param {boolean|undefined} includeInstance Whether to include the JSPB
   *     instance for transitional soy proto support:
   *     http://goto/soy-param-migration
   * @param {!proto.v1.PCmdMessage} msg The msg instance to transform.
   * @return {!Object}
   * @suppress {unusedLocalVariables} f is only used for nested messages
   */
  proto.v1.PCmdMessage.toObject = function(includeInstance, msg) {
    var f, obj = {
      handshakemessage: (f = msg.getHandshakemessage()) && proto.v1.PCmdServiceHandshake.toObject(includeInstance, f),
      failmessage: (f = msg.getFailmessage()) && proto.v1.PCmdResponse.toObject(includeInstance, f)
    };
  
    if (includeInstance) {
      obj.$jspbMessageInstance = msg;
    }
    return obj;
  };
  }
  
  
  /**
   * Deserializes binary data (in protobuf wire format).
   * @param {jspb.ByteSource} bytes The bytes to deserialize.
   * @return {!proto.v1.PCmdMessage}
   */
  proto.v1.PCmdMessage.deserializeBinary = function(bytes) {
    var reader = new jspb.BinaryReader(bytes);
    var msg = new proto.v1.PCmdMessage;
    return proto.v1.PCmdMessage.deserializeBinaryFromReader(msg, reader);
  };
  
  
  /**
   * Deserializes binary data (in protobuf wire format) from the
   * given reader into the given message object.
   * @param {!proto.v1.PCmdMessage} msg The message object to deserialize into.
   * @param {!jspb.BinaryReader} reader The BinaryReader to use.
   * @return {!proto.v1.PCmdMessage}
   */
  proto.v1.PCmdMessage.deserializeBinaryFromReader = function(msg, reader) {
    while (reader.nextField()) {
      if (reader.isEndGroup()) {
        break;
      }
      var field = reader.getFieldNumber();
      switch (field) {
      case 1:
        var value = new proto.v1.PCmdServiceHandshake;
        reader.readMessage(value,proto.v1.PCmdServiceHandshake.deserializeBinaryFromReader);
        msg.setHandshakemessage(value);
        break;
      case 2:
        var value = new proto.v1.PCmdResponse;
        reader.readMessage(value,proto.v1.PCmdResponse.deserializeBinaryFromReader);
        msg.setFailmessage(value);
        break;
      default:
        reader.skipField();
        break;
      }
    }
    return msg;
  };
  
  
  /**
   * Serializes the message to binary data (in protobuf wire format).
   * @return {!Uint8Array}
   */
  proto.v1.PCmdMessage.prototype.serializeBinary = function() {
    var writer = new jspb.BinaryWriter();
    proto.v1.PCmdMessage.serializeBinaryToWriter(this, writer);
    return writer.getResultBuffer();
  };
  
  
  /**
   * Serializes the given message to binary data (in protobuf wire
   * format), writing to the given BinaryWriter.
   * @param {!proto.v1.PCmdMessage} message
   * @param {!jspb.BinaryWriter} writer
   * @suppress {unusedLocalVariables} f is only used for nested messages
   */
  proto.v1.PCmdMessage.serializeBinaryToWriter = function(message, writer) {
    var f = undefined;
    f = message.getHandshakemessage();
    if (f != null) {
      writer.writeMessage(
        1,
        f,
        proto.v1.PCmdServiceHandshake.serializeBinaryToWriter
      );
    }
    f = message.getFailmessage();
    if (f != null) {
      writer.writeMessage(
        2,
        f,
        proto.v1.PCmdResponse.serializeBinaryToWriter
      );
    }
  };
  
  
  /**
   * optional PCmdServiceHandshake handshakeMessage = 1;
   * @return {?proto.v1.PCmdServiceHandshake}
   */
  proto.v1.PCmdMessage.prototype.getHandshakemessage = function() {
    return /** @type{?proto.v1.PCmdServiceHandshake} */ (
      jspb.Message.getWrapperField(this, proto.v1.PCmdServiceHandshake, 1));
  };
  
  
  /** @param {?proto.v1.PCmdServiceHandshake|undefined} value */
  proto.v1.PCmdMessage.prototype.setHandshakemessage = function(value) {
    jspb.Message.setOneofWrapperField(this, 1, proto.v1.PCmdMessage.oneofGroups_[0], value);
  };
  
  
  proto.v1.PCmdMessage.prototype.clearHandshakemessage = function() {
    this.setHandshakemessage(undefined);
  };
  
  
  /**
   * Returns whether this field is set.
   * @return {boolean}
   */
  proto.v1.PCmdMessage.prototype.hasHandshakemessage = function() {
    return jspb.Message.getField(this, 1) != null;
  };
  
  
  /**
   * optional PCmdResponse failMessage = 2;
   * @return {?proto.v1.PCmdResponse}
   */
  proto.v1.PCmdMessage.prototype.getFailmessage = function() {
    return /** @type{?proto.v1.PCmdResponse} */ (
      jspb.Message.getWrapperField(this, proto.v1.PCmdResponse, 2));
  };
  
  
  /** @param {?proto.v1.PCmdResponse|undefined} value */
  proto.v1.PCmdMessage.prototype.setFailmessage = function(value) {
    jspb.Message.setOneofWrapperField(this, 2, proto.v1.PCmdMessage.oneofGroups_[0], value);
  };
  
  
  proto.v1.PCmdMessage.prototype.clearFailmessage = function() {
    this.setFailmessage(undefined);
  };
  
  
  /**
   * Returns whether this field is set.
   * @return {boolean}
   */
  proto.v1.PCmdMessage.prototype.hasFailmessage = function() {
    return jspb.Message.getField(this, 2) != null;
  };
  
  
  
  /**
   * Generated by JsPbCodeGenerator.
   * @param {Array=} opt_data Optional initial data array, typically from a
   * server response, or constructed directly in Javascript. The array is used
   * in place and becomes part of the constructed object. It is not cloned.
   * If no data is provided, the constructed object will be empty, but still
   * valid.
   * @extends {jspb.Message}
   * @constructor
   */
  proto.v1.PCmdServiceHandshake = function(opt_data) {
    jspb.Message.initialize(this, opt_data, 0, -1, proto.v1.PCmdServiceHandshake.repeatedFields_, null);
  };
  goog.inherits(proto.v1.PCmdServiceHandshake, jspb.Message);
  if (goog.DEBUG && !COMPILED) {
    proto.v1.PCmdServiceHandshake.displayName = 'proto.v1.PCmdServiceHandshake';
  }
  /**
   * List of repeated fields within this message type.
   * @private {!Array<number>}
   * @const
   */
  proto.v1.PCmdServiceHandshake.repeatedFields_ = [1];
  
  
  
  if (jspb.Message.GENERATE_TO_OBJECT) {
  /**
   * Creates an object representation of this proto suitable for use in Soy templates.
   * Field names that are reserved in JavaScript and will be renamed to pb_name.
   * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
   * For the list of reserved names please see:
   *     com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.
   * @param {boolean=} opt_includeInstance Whether to include the JSPB instance
   *     for transitional soy proto support: http://goto/soy-param-migration
   * @return {!Object}
   */
  proto.v1.PCmdServiceHandshake.prototype.toObject = function(opt_includeInstance) {
    return proto.v1.PCmdServiceHandshake.toObject(opt_includeInstance, this);
  };
  
  
  /**
   * Static version of the {@see toObject} method.
   * @param {boolean|undefined} includeInstance Whether to include the JSPB
   *     instance for transitional soy proto support:
   *     http://goto/soy-param-migration
   * @param {!proto.v1.PCmdServiceHandshake} msg The msg instance to transform.
   * @return {!Object}
   * @suppress {unusedLocalVariables} f is only used for nested messages
   */
  proto.v1.PCmdServiceHandshake.toObject = function(includeInstance, msg) {
    var f, obj = {
      supportcommandservicekeyList: jspb.Message.getRepeatedField(msg, 1)
    };
  
    if (includeInstance) {
      obj.$jspbMessageInstance = msg;
    }
    return obj;
  };
  }
  
  
  /**
   * Deserializes binary data (in protobuf wire format).
   * @param {jspb.ByteSource} bytes The bytes to deserialize.
   * @return {!proto.v1.PCmdServiceHandshake}
   */
  proto.v1.PCmdServiceHandshake.deserializeBinary = function(bytes) {
    var reader = new jspb.BinaryReader(bytes);
    var msg = new proto.v1.PCmdServiceHandshake;
    return proto.v1.PCmdServiceHandshake.deserializeBinaryFromReader(msg, reader);
  };
  
  
  /**
   * Deserializes binary data (in protobuf wire format) from the
   * given reader into the given message object.
   * @param {!proto.v1.PCmdServiceHandshake} msg The message object to deserialize into.
   * @param {!jspb.BinaryReader} reader The BinaryReader to use.
   * @return {!proto.v1.PCmdServiceHandshake}
   */
  proto.v1.PCmdServiceHandshake.deserializeBinaryFromReader = function(msg, reader) {
    while (reader.nextField()) {
      if (reader.isEndGroup()) {
        break;
      }
      var field = reader.getFieldNumber();
      switch (field) {
      case 1:
        var value = /** @type {!Array<number>} */ (reader.readPackedInt32());
        msg.setSupportcommandservicekeyList(value);
        break;
      default:
        reader.skipField();
        break;
      }
    }
    return msg;
  };
  
  
  /**
   * Serializes the message to binary data (in protobuf wire format).
   * @return {!Uint8Array}
   */
  proto.v1.PCmdServiceHandshake.prototype.serializeBinary = function() {
    var writer = new jspb.BinaryWriter();
    proto.v1.PCmdServiceHandshake.serializeBinaryToWriter(this, writer);
    return writer.getResultBuffer();
  };
  
  
  /**
   * Serializes the given message to binary data (in protobuf wire
   * format), writing to the given BinaryWriter.
   * @param {!proto.v1.PCmdServiceHandshake} message
   * @param {!jspb.BinaryWriter} writer
   * @suppress {unusedLocalVariables} f is only used for nested messages
   */
  proto.v1.PCmdServiceHandshake.serializeBinaryToWriter = function(message, writer) {
    var f = undefined;
    f = message.getSupportcommandservicekeyList();
    if (f.length > 0) {
      writer.writePackedInt32(
        1,
        f
      );
    }
  };
  
  
  /**
   * repeated int32 supportCommandServiceKey = 1;
   * @return {!Array<number>}
   */
  proto.v1.PCmdServiceHandshake.prototype.getSupportcommandservicekeyList = function() {
    return /** @type {!Array<number>} */ (jspb.Message.getRepeatedField(this, 1));
  };
  
  
  /** @param {!Array<number>} value */
  proto.v1.PCmdServiceHandshake.prototype.setSupportcommandservicekeyList = function(value) {
    jspb.Message.setField(this, 1, value || []);
  };
  
  
  /**
   * @param {number} value
   * @param {number=} opt_index
   */
  proto.v1.PCmdServiceHandshake.prototype.addSupportcommandservicekey = function(value, opt_index) {
    jspb.Message.addToRepeatedField(this, 1, value, opt_index);
  };
  
  
  proto.v1.PCmdServiceHandshake.prototype.clearSupportcommandservicekeyList = function() {
    this.setSupportcommandservicekeyList([]);
  };
  
  
  
  /**
   * Generated by JsPbCodeGenerator.
   * @param {Array=} opt_data Optional initial data array, typically from a
   * server response, or constructed directly in Javascript. The array is used
   * in place and becomes part of the constructed object. It is not cloned.
   * If no data is provided, the constructed object will be empty, but still
   * valid.
   * @extends {jspb.Message}
   * @constructor
   */
  proto.v1.PCmdResponse = function(opt_data) {
    jspb.Message.initialize(this, opt_data, 0, -1, null, null);
  };
  goog.inherits(proto.v1.PCmdResponse, jspb.Message);
  if (goog.DEBUG && !COMPILED) {
    proto.v1.PCmdResponse.displayName = 'proto.v1.PCmdResponse';
  }
  
  
  if (jspb.Message.GENERATE_TO_OBJECT) {
  /**
   * Creates an object representation of this proto suitable for use in Soy templates.
   * Field names that are reserved in JavaScript and will be renamed to pb_name.
   * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
   * For the list of reserved names please see:
   *     com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.
   * @param {boolean=} opt_includeInstance Whether to include the JSPB instance
   *     for transitional soy proto support: http://goto/soy-param-migration
   * @return {!Object}
   */
  proto.v1.PCmdResponse.prototype.toObject = function(opt_includeInstance) {
    return proto.v1.PCmdResponse.toObject(opt_includeInstance, this);
  };
  
  
  /**
   * Static version of the {@see toObject} method.
   * @param {boolean|undefined} includeInstance Whether to include the JSPB
   *     instance for transitional soy proto support:
   *     http://goto/soy-param-migration
   * @param {!proto.v1.PCmdResponse} msg The msg instance to transform.
   * @return {!Object}
   * @suppress {unusedLocalVariables} f is only used for nested messages
   */
  proto.v1.PCmdResponse.toObject = function(includeInstance, msg) {
    var f, obj = {
      responseid: jspb.Message.getFieldWithDefault(msg, 1, 0),
      status: jspb.Message.getFieldWithDefault(msg, 2, 0),
      message: (f = msg.getMessage()) && google_protobuf_wrappers_pb.StringValue.toObject(includeInstance, f)
    };
  
    if (includeInstance) {
      obj.$jspbMessageInstance = msg;
    }
    return obj;
  };
  }
  
  
  /**
   * Deserializes binary data (in protobuf wire format).
   * @param {jspb.ByteSource} bytes The bytes to deserialize.
   * @return {!proto.v1.PCmdResponse}
   */
  proto.v1.PCmdResponse.deserializeBinary = function(bytes) {
    var reader = new jspb.BinaryReader(bytes);
    var msg = new proto.v1.PCmdResponse;
    return proto.v1.PCmdResponse.deserializeBinaryFromReader(msg, reader);
  };
  
  
  /**
   * Deserializes binary data (in protobuf wire format) from the
   * given reader into the given message object.
   * @param {!proto.v1.PCmdResponse} msg The message object to deserialize into.
   * @param {!jspb.BinaryReader} reader The BinaryReader to use.
   * @return {!proto.v1.PCmdResponse}
   */
  proto.v1.PCmdResponse.deserializeBinaryFromReader = function(msg, reader) {
    while (reader.nextField()) {
      if (reader.isEndGroup()) {
        break;
      }
      var field = reader.getFieldNumber();
      switch (field) {
      case 1:
        var value = /** @type {number} */ (reader.readInt32());
        msg.setResponseid(value);
        break;
      case 2:
        var value = /** @type {number} */ (reader.readInt32());
        msg.setStatus(value);
        break;
      case 3:
        var value = new google_protobuf_wrappers_pb.StringValue;
        reader.readMessage(value,google_protobuf_wrappers_pb.StringValue.deserializeBinaryFromReader);
        msg.setMessage(value);
        break;
      default:
        reader.skipField();
        break;
      }
    }
    return msg;
  };
  
  
  /**
   * Serializes the message to binary data (in protobuf wire format).
   * @return {!Uint8Array}
   */
  proto.v1.PCmdResponse.prototype.serializeBinary = function() {
    var writer = new jspb.BinaryWriter();
    proto.v1.PCmdResponse.serializeBinaryToWriter(this, writer);
    return writer.getResultBuffer();
  };
  
  
  /**
   * Serializes the given message to binary data (in protobuf wire
   * format), writing to the given BinaryWriter.
   * @param {!proto.v1.PCmdResponse} message
   * @param {!jspb.BinaryWriter} writer
   * @suppress {unusedLocalVariables} f is only used for nested messages
   */
  proto.v1.PCmdResponse.serializeBinaryToWriter = function(message, writer) {
    var f = undefined;
    f = message.getResponseid();
    if (f !== 0) {
      writer.writeInt32(
        1,
        f
      );
    }
    f = message.getStatus();
    if (f !== 0) {
      writer.writeInt32(
        2,
        f
      );
    }
    f = message.getMessage();
    if (f != null) {
      writer.writeMessage(
        3,
        f,
        google_protobuf_wrappers_pb.StringValue.serializeBinaryToWriter
      );
    }
  };
  
  
  /**
   * optional int32 responseId = 1;
   * @return {number}
   */
  proto.v1.PCmdResponse.prototype.getResponseid = function() {
    return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));
  };
  
  
  /** @param {number} value */
  proto.v1.PCmdResponse.prototype.setResponseid = function(value) {
    jspb.Message.setProto3IntField(this, 1, value);
  };
  
  
  /**
   * optional int32 status = 2;
   * @return {number}
   */
  proto.v1.PCmdResponse.prototype.getStatus = function() {
    return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));
  };
  
  
  /** @param {number} value */
  proto.v1.PCmdResponse.prototype.setStatus = function(value) {
    jspb.Message.setProto3IntField(this, 2, value);
  };
  
  
  /**
   * optional google.protobuf.StringValue message = 3;
   * @return {?proto.google.protobuf.StringValue}
   */
  proto.v1.PCmdResponse.prototype.getMessage = function() {
    return /** @type{?proto.google.protobuf.StringValue} */ (
      jspb.Message.getWrapperField(this, google_protobuf_wrappers_pb.StringValue, 3));
  };
  
  
  /** @param {?proto.google.protobuf.StringValue|undefined} value */
  proto.v1.PCmdResponse.prototype.setMessage = function(value) {
    jspb.Message.setWrapperField(this, 3, value);
  };
  
  
  proto.v1.PCmdResponse.prototype.clearMessage = function() {
    this.setMessage(undefined);
  };
  
  
  /**
   * Returns whether this field is set.
   * @return {boolean}
   */
  proto.v1.PCmdResponse.prototype.hasMessage = function() {
    return jspb.Message.getField(this, 3) != null;
  };
  
  
  
  /**
   * Generated by JsPbCodeGenerator.
   * @param {Array=} opt_data Optional initial data array, typically from a
   * server response, or constructed directly in Javascript. The array is used
   * in place and becomes part of the constructed object. It is not cloned.
   * If no data is provided, the constructed object will be empty, but still
   * valid.
   * @extends {jspb.Message}
   * @constructor
   */
  proto.v1.PCmdStreamResponse = function(opt_data) {
    jspb.Message.initialize(this, opt_data, 0, -1, null, null);
  };
  goog.inherits(proto.v1.PCmdStreamResponse, jspb.Message);
  if (goog.DEBUG && !COMPILED) {
    proto.v1.PCmdStreamResponse.displayName = 'proto.v1.PCmdStreamResponse';
  }
  
  
  if (jspb.Message.GENERATE_TO_OBJECT) {
  /**
   * Creates an object representation of this proto suitable for use in Soy templates.
   * Field names that are reserved in JavaScript and will be renamed to pb_name.
   * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
   * For the list of reserved names please see:
   *     com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.
   * @param {boolean=} opt_includeInstance Whether to include the JSPB instance
   *     for transitional soy proto support: http://goto/soy-param-migration
   * @return {!Object}
   */
  proto.v1.PCmdStreamResponse.prototype.toObject = function(opt_includeInstance) {
    return proto.v1.PCmdStreamResponse.toObject(opt_includeInstance, this);
  };
  
  
  /**
   * Static version of the {@see toObject} method.
   * @param {boolean|undefined} includeInstance Whether to include the JSPB
   *     instance for transitional soy proto support:
   *     http://goto/soy-param-migration
   * @param {!proto.v1.PCmdStreamResponse} msg The msg instance to transform.
   * @return {!Object}
   * @suppress {unusedLocalVariables} f is only used for nested messages
   */
  proto.v1.PCmdStreamResponse.toObject = function(includeInstance, msg) {
    var f, obj = {
      responseid: jspb.Message.getFieldWithDefault(msg, 1, 0),
      sequenceid: jspb.Message.getFieldWithDefault(msg, 2, 0),
      message: (f = msg.getMessage()) && google_protobuf_wrappers_pb.StringValue.toObject(includeInstance, f)
    };
  
    if (includeInstance) {
      obj.$jspbMessageInstance = msg;
    }
    return obj;
  };
  }
  
  
  /**
   * Deserializes binary data (in protobuf wire format).
   * @param {jspb.ByteSource} bytes The bytes to deserialize.
   * @return {!proto.v1.PCmdStreamResponse}
   */
  proto.v1.PCmdStreamResponse.deserializeBinary = function(bytes) {
    var reader = new jspb.BinaryReader(bytes);
    var msg = new proto.v1.PCmdStreamResponse;
    return proto.v1.PCmdStreamResponse.deserializeBinaryFromReader(msg, reader);
  };
  
  
  /**
   * Deserializes binary data (in protobuf wire format) from the
   * given reader into the given message object.
   * @param {!proto.v1.PCmdStreamResponse} msg The message object to deserialize into.
   * @param {!jspb.BinaryReader} reader The BinaryReader to use.
   * @return {!proto.v1.PCmdStreamResponse}
   */
  proto.v1.PCmdStreamResponse.deserializeBinaryFromReader = function(msg, reader) {
    while (reader.nextField()) {
      if (reader.isEndGroup()) {
        break;
      }
      var field = reader.getFieldNumber();
      switch (field) {
      case 1:
        var value = /** @type {number} */ (reader.readInt32());
        msg.setResponseid(value);
        break;
      case 2:
        var value = /** @type {number} */ (reader.readInt32());
        msg.setSequenceid(value);
        break;
      case 3:
        var value = new google_protobuf_wrappers_pb.StringValue;
        reader.readMessage(value,google_protobuf_wrappers_pb.StringValue.deserializeBinaryFromReader);
        msg.setMessage(value);
        break;
      default:
        reader.skipField();
        break;
      }
    }
    return msg;
  };
  
  
  /**
   * Serializes the message to binary data (in protobuf wire format).
   * @return {!Uint8Array}
   */
  proto.v1.PCmdStreamResponse.prototype.serializeBinary = function() {
    var writer = new jspb.BinaryWriter();
    proto.v1.PCmdStreamResponse.serializeBinaryToWriter(this, writer);
    return writer.getResultBuffer();
  };
  
  
  /**
   * Serializes the given message to binary data (in protobuf wire
   * format), writing to the given BinaryWriter.
   * @param {!proto.v1.PCmdStreamResponse} message
   * @param {!jspb.BinaryWriter} writer
   * @suppress {unusedLocalVariables} f is only used for nested messages
   */
  proto.v1.PCmdStreamResponse.serializeBinaryToWriter = function(message, writer) {
    var f = undefined;
    f = message.getResponseid();
    if (f !== 0) {
      writer.writeInt32(
        1,
        f
      );
    }
    f = message.getSequenceid();
    if (f !== 0) {
      writer.writeInt32(
        2,
        f
      );
    }
    f = message.getMessage();
    if (f != null) {
      writer.writeMessage(
        3,
        f,
        google_protobuf_wrappers_pb.StringValue.serializeBinaryToWriter
      );
    }
  };
  
  
  /**
   * optional int32 responseId = 1;
   * @return {number}
   */
  proto.v1.PCmdStreamResponse.prototype.getResponseid = function() {
    return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));
  };
  
  
  /** @param {number} value */
  proto.v1.PCmdStreamResponse.prototype.setResponseid = function(value) {
    jspb.Message.setProto3IntField(this, 1, value);
  };
  
  
  /**
   * optional int32 sequenceId = 2;
   * @return {number}
   */
  proto.v1.PCmdStreamResponse.prototype.getSequenceid = function() {
    return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));
  };
  
  
  /** @param {number} value */
  proto.v1.PCmdStreamResponse.prototype.setSequenceid = function(value) {
    jspb.Message.setProto3IntField(this, 2, value);
  };
  
  
  /**
   * optional google.protobuf.StringValue message = 3;
   * @return {?proto.google.protobuf.StringValue}
   */
  proto.v1.PCmdStreamResponse.prototype.getMessage = function() {
    return /** @type{?proto.google.protobuf.StringValue} */ (
      jspb.Message.getWrapperField(this, google_protobuf_wrappers_pb.StringValue, 3));
  };
  
  
  /** @param {?proto.google.protobuf.StringValue|undefined} value */
  proto.v1.PCmdStreamResponse.prototype.setMessage = function(value) {
    jspb.Message.setWrapperField(this, 3, value);
  };
  
  
  proto.v1.PCmdStreamResponse.prototype.clearMessage = function() {
    this.setMessage(undefined);
  };
  
  
  /**
   * Returns whether this field is set.
   * @return {boolean}
   */
  proto.v1.PCmdStreamResponse.prototype.hasMessage = function() {
    return jspb.Message.getField(this, 3) != null;
  };
  
  
  
  /**
   * Generated by JsPbCodeGenerator.
   * @param {Array=} opt_data Optional initial data array, typically from a
   * server response, or constructed directly in Javascript. The array is used
   * in place and becomes part of the constructed object. It is not cloned.
   * If no data is provided, the constructed object will be empty, but still
   * valid.
   * @extends {jspb.Message}
   * @constructor
   */
  proto.v1.PCmdRequest = function(opt_data) {
    jspb.Message.initialize(this, opt_data, 0, 500, null, proto.v1.PCmdRequest.oneofGroups_);
  };
  goog.inherits(proto.v1.PCmdRequest, jspb.Message);
  if (goog.DEBUG && !COMPILED) {
    proto.v1.PCmdRequest.displayName = 'proto.v1.PCmdRequest';
  }
  /**
   * Oneof group definitions for this message. Each group defines the field
   * numbers belonging to that group. When of these fields' value is set, all
   * other fields in the group are cleared. During deserialization, if multiple
   * fields are encountered for a group, only the last value seen will be kept.
   * @private {!Array<!Array<number>>}
   * @const
   */
  proto.v1.PCmdRequest.oneofGroups_ = [[710,730,740,750]];
  
  /**
   * @enum {number}
   */
  proto.v1.PCmdRequest.CommandCase = {
    COMMAND_NOT_SET: 0,
    COMMANDECHO: 710,
    COMMANDACTIVETHREADCOUNT: 730,
    COMMANDACTIVETHREADDUMP: 740,
    COMMANDACTIVETHREADLIGHTDUMP: 750
  };
  
  /**
   * @return {proto.v1.PCmdRequest.CommandCase}
   */
  proto.v1.PCmdRequest.prototype.getCommandCase = function() {
    return /** @type {proto.v1.PCmdRequest.CommandCase} */(jspb.Message.computeOneofCase(this, proto.v1.PCmdRequest.oneofGroups_[0]));
  };
  
  
  
  if (jspb.Message.GENERATE_TO_OBJECT) {
  /**
   * Creates an object representation of this proto suitable for use in Soy templates.
   * Field names that are reserved in JavaScript and will be renamed to pb_name.
   * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
   * For the list of reserved names please see:
   *     com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.
   * @param {boolean=} opt_includeInstance Whether to include the JSPB instance
   *     for transitional soy proto support: http://goto/soy-param-migration
   * @return {!Object}
   */
  proto.v1.PCmdRequest.prototype.toObject = function(opt_includeInstance) {
    return proto.v1.PCmdRequest.toObject(opt_includeInstance, this);
  };
  
  
  /**
   * Static version of the {@see toObject} method.
   * @param {boolean|undefined} includeInstance Whether to include the JSPB
   *     instance for transitional soy proto support:
   *     http://goto/soy-param-migration
   * @param {!proto.v1.PCmdRequest} msg The msg instance to transform.
   * @return {!Object}
   * @suppress {unusedLocalVariables} f is only used for nested messages
   */
  proto.v1.PCmdRequest.toObject = function(includeInstance, msg) {
    var f, obj = {
      requestid: jspb.Message.getFieldWithDefault(msg, 1, 0),
      commandecho: (f = msg.getCommandecho()) && proto.v1.PCmdEcho.toObject(includeInstance, f),
      commandactivethreadcount: (f = msg.getCommandactivethreadcount()) && proto.v1.PCmdActiveThreadCount.toObject(includeInstance, f),
      commandactivethreaddump: (f = msg.getCommandactivethreaddump()) && proto.v1.PCmdActiveThreadDump.toObject(includeInstance, f),
      commandactivethreadlightdump: (f = msg.getCommandactivethreadlightdump()) && proto.v1.PCmdActiveThreadLightDump.toObject(includeInstance, f)
    };
  
    if (includeInstance) {
      obj.$jspbMessageInstance = msg;
    }
    return obj;
  };
  }
  
  
  /**
   * Deserializes binary data (in protobuf wire format).
   * @param {jspb.ByteSource} bytes The bytes to deserialize.
   * @return {!proto.v1.PCmdRequest}
   */
  proto.v1.PCmdRequest.deserializeBinary = function(bytes) {
    var reader = new jspb.BinaryReader(bytes);
    var msg = new proto.v1.PCmdRequest;
    return proto.v1.PCmdRequest.deserializeBinaryFromReader(msg, reader);
  };
  
  
  /**
   * Deserializes binary data (in protobuf wire format) from the
   * given reader into the given message object.
   * @param {!proto.v1.PCmdRequest} msg The message object to deserialize into.
   * @param {!jspb.BinaryReader} reader The BinaryReader to use.
   * @return {!proto.v1.PCmdRequest}
   */
  proto.v1.PCmdRequest.deserializeBinaryFromReader = function(msg, reader) {
    while (reader.nextField()) {
      if (reader.isEndGroup()) {
        break;
      }
      var field = reader.getFieldNumber();
      switch (field) {
      case 1:
        var value = /** @type {number} */ (reader.readInt32());
        msg.setRequestid(value);
        break;
      case 710:
        var value = new proto.v1.PCmdEcho;
        reader.readMessage(value,proto.v1.PCmdEcho.deserializeBinaryFromReader);
        msg.setCommandecho(value);
        break;
      case 730:
        var value = new proto.v1.PCmdActiveThreadCount;
        reader.readMessage(value,proto.v1.PCmdActiveThreadCount.deserializeBinaryFromReader);
        msg.setCommandactivethreadcount(value);
        break;
      case 740:
        var value = new proto.v1.PCmdActiveThreadDump;
        reader.readMessage(value,proto.v1.PCmdActiveThreadDump.deserializeBinaryFromReader);
        msg.setCommandactivethreaddump(value);
        break;
      case 750:
        var value = new proto.v1.PCmdActiveThreadLightDump;
        reader.readMessage(value,proto.v1.PCmdActiveThreadLightDump.deserializeBinaryFromReader);
        msg.setCommandactivethreadlightdump(value);
        break;
      default:
        reader.skipField();
        break;
      }
    }
    return msg;
  };
  
  
  /**
   * Serializes the message to binary data (in protobuf wire format).
   * @return {!Uint8Array}
   */
  proto.v1.PCmdRequest.prototype.serializeBinary = function() {
    var writer = new jspb.BinaryWriter();
    proto.v1.PCmdRequest.serializeBinaryToWriter(this, writer);
    return writer.getResultBuffer();
  };
  
  
  /**
   * Serializes the given message to binary data (in protobuf wire
   * format), writing to the given BinaryWriter.
   * @param {!proto.v1.PCmdRequest} message
   * @param {!jspb.BinaryWriter} writer
   * @suppress {unusedLocalVariables} f is only used for nested messages
   */
  proto.v1.PCmdRequest.serializeBinaryToWriter = function(message, writer) {
    var f = undefined;
    f = message.getRequestid();
    if (f !== 0) {
      writer.writeInt32(
        1,
        f
      );
    }
    f = message.getCommandecho();
    if (f != null) {
      writer.writeMessage(
        710,
        f,
        proto.v1.PCmdEcho.serializeBinaryToWriter
      );
    }
    f = message.getCommandactivethreadcount();
    if (f != null) {
      writer.writeMessage(
        730,
        f,
        proto.v1.PCmdActiveThreadCount.serializeBinaryToWriter
      );
    }
    f = message.getCommandactivethreaddump();
    if (f != null) {
      writer.writeMessage(
        740,
        f,
        proto.v1.PCmdActiveThreadDump.serializeBinaryToWriter
      );
    }
    f = message.getCommandactivethreadlightdump();
    if (f != null) {
      writer.writeMessage(
        750,
        f,
        proto.v1.PCmdActiveThreadLightDump.serializeBinaryToWriter
      );
    }
  };
  
  
  /**
   * optional int32 requestId = 1;
   * @return {number}
   */
  proto.v1.PCmdRequest.prototype.getRequestid = function() {
    return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));
  };
  
  
  /** @param {number} value */
  proto.v1.PCmdRequest.prototype.setRequestid = function(value) {
    jspb.Message.setProto3IntField(this, 1, value);
  };
  
  
  /**
   * optional PCmdEcho commandEcho = 710;
   * @return {?proto.v1.PCmdEcho}
   */
  proto.v1.PCmdRequest.prototype.getCommandecho = function() {
    return /** @type{?proto.v1.PCmdEcho} */ (
      jspb.Message.getWrapperField(this, proto.v1.PCmdEcho, 710));
  };
  
  
  /** @param {?proto.v1.PCmdEcho|undefined} value */
  proto.v1.PCmdRequest.prototype.setCommandecho = function(value) {
    jspb.Message.setOneofWrapperField(this, 710, proto.v1.PCmdRequest.oneofGroups_[0], value);
  };
  
  
  proto.v1.PCmdRequest.prototype.clearCommandecho = function() {
    this.setCommandecho(undefined);
  };
  
  
  /**
   * Returns whether this field is set.
   * @return {boolean}
   */
  proto.v1.PCmdRequest.prototype.hasCommandecho = function() {
    return jspb.Message.getField(this, 710) != null;
  };
  
  
  /**
   * optional PCmdActiveThreadCount commandActiveThreadCount = 730;
   * @return {?proto.v1.PCmdActiveThreadCount}
   */
  proto.v1.PCmdRequest.prototype.getCommandactivethreadcount = function() {
    return /** @type{?proto.v1.PCmdActiveThreadCount} */ (
      jspb.Message.getWrapperField(this, proto.v1.PCmdActiveThreadCount, 730));
  };
  
  
  /** @param {?proto.v1.PCmdActiveThreadCount|undefined} value */
  proto.v1.PCmdRequest.prototype.setCommandactivethreadcount = function(value) {
    jspb.Message.setOneofWrapperField(this, 730, proto.v1.PCmdRequest.oneofGroups_[0], value);
  };
  
  
  proto.v1.PCmdRequest.prototype.clearCommandactivethreadcount = function() {
    this.setCommandactivethreadcount(undefined);
  };
  
  
  /**
   * Returns whether this field is set.
   * @return {boolean}
   */
  proto.v1.PCmdRequest.prototype.hasCommandactivethreadcount = function() {
    return jspb.Message.getField(this, 730) != null;
  };
  
  
  /**
   * optional PCmdActiveThreadDump commandActiveThreadDump = 740;
   * @return {?proto.v1.PCmdActiveThreadDump}
   */
  proto.v1.PCmdRequest.prototype.getCommandactivethreaddump = function() {
    return /** @type{?proto.v1.PCmdActiveThreadDump} */ (
      jspb.Message.getWrapperField(this, proto.v1.PCmdActiveThreadDump, 740));
  };
  
  
  /** @param {?proto.v1.PCmdActiveThreadDump|undefined} value */
  proto.v1.PCmdRequest.prototype.setCommandactivethreaddump = function(value) {
    jspb.Message.setOneofWrapperField(this, 740, proto.v1.PCmdRequest.oneofGroups_[0], value);
  };
  
  
  proto.v1.PCmdRequest.prototype.clearCommandactivethreaddump = function() {
    this.setCommandactivethreaddump(undefined);
  };
  
  
  /**
   * Returns whether this field is set.
   * @return {boolean}
   */
  proto.v1.PCmdRequest.prototype.hasCommandactivethreaddump = function() {
    return jspb.Message.getField(this, 740) != null;
  };
  
  
  /**
   * optional PCmdActiveThreadLightDump commandActiveThreadLightDump = 750;
   * @return {?proto.v1.PCmdActiveThreadLightDump}
   */
  proto.v1.PCmdRequest.prototype.getCommandactivethreadlightdump = function() {
    return /** @type{?proto.v1.PCmdActiveThreadLightDump} */ (
      jspb.Message.getWrapperField(this, proto.v1.PCmdActiveThreadLightDump, 750));
  };
  
  
  /** @param {?proto.v1.PCmdActiveThreadLightDump|undefined} value */
  proto.v1.PCmdRequest.prototype.setCommandactivethreadlightdump = function(value) {
    jspb.Message.setOneofWrapperField(this, 750, proto.v1.PCmdRequest.oneofGroups_[0], value);
  };
  
  
  proto.v1.PCmdRequest.prototype.clearCommandactivethreadlightdump = function() {
    this.setCommandactivethreadlightdump(undefined);
  };
  
  
  /**
   * Returns whether this field is set.
   * @return {boolean}
   */
  proto.v1.PCmdRequest.prototype.hasCommandactivethreadlightdump = function() {
    return jspb.Message.getField(this, 750) != null;
  };
  
  
  
  /**
   * Generated by JsPbCodeGenerator.
   * @param {Array=} opt_data Optional initial data array, typically from a
   * server response, or constructed directly in Javascript. The array is used
   * in place and becomes part of the constructed object. It is not cloned.
   * If no data is provided, the constructed object will be empty, but still
   * valid.
   * @extends {jspb.Message}
   * @constructor
   */
  proto.v1.PCmdEcho = function(opt_data) {
    jspb.Message.initialize(this, opt_data, 0, -1, null, null);
  };
  goog.inherits(proto.v1.PCmdEcho, jspb.Message);
  if (goog.DEBUG && !COMPILED) {
    proto.v1.PCmdEcho.displayName = 'proto.v1.PCmdEcho';
  }
  
  
  if (jspb.Message.GENERATE_TO_OBJECT) {
  /**
   * Creates an object representation of this proto suitable for use in Soy templates.
   * Field names that are reserved in JavaScript and will be renamed to pb_name.
   * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
   * For the list of reserved names please see:
   *     com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.
   * @param {boolean=} opt_includeInstance Whether to include the JSPB instance
   *     for transitional soy proto support: http://goto/soy-param-migration
   * @return {!Object}
   */
  proto.v1.PCmdEcho.prototype.toObject = function(opt_includeInstance) {
    return proto.v1.PCmdEcho.toObject(opt_includeInstance, this);
  };
  
  
  /**
   * Static version of the {@see toObject} method.
   * @param {boolean|undefined} includeInstance Whether to include the JSPB
   *     instance for transitional soy proto support:
   *     http://goto/soy-param-migration
   * @param {!proto.v1.PCmdEcho} msg The msg instance to transform.
   * @return {!Object}
   * @suppress {unusedLocalVariables} f is only used for nested messages
   */
  proto.v1.PCmdEcho.toObject = function(includeInstance, msg) {
    var f, obj = {
      message: jspb.Message.getFieldWithDefault(msg, 1, "")
    };
  
    if (includeInstance) {
      obj.$jspbMessageInstance = msg;
    }
    return obj;
  };
  }
  
  
  /**
   * Deserializes binary data (in protobuf wire format).
   * @param {jspb.ByteSource} bytes The bytes to deserialize.
   * @return {!proto.v1.PCmdEcho}
   */
  proto.v1.PCmdEcho.deserializeBinary = function(bytes) {
    var reader = new jspb.BinaryReader(bytes);
    var msg = new proto.v1.PCmdEcho;
    return proto.v1.PCmdEcho.deserializeBinaryFromReader(msg, reader);
  };
  
  
  /**
   * Deserializes binary data (in protobuf wire format) from the
   * given reader into the given message object.
   * @param {!proto.v1.PCmdEcho} msg The message object to deserialize into.
   * @param {!jspb.BinaryReader} reader The BinaryReader to use.
   * @return {!proto.v1.PCmdEcho}
   */
  proto.v1.PCmdEcho.deserializeBinaryFromReader = function(msg, reader) {
    while (reader.nextField()) {
      if (reader.isEndGroup()) {
        break;
      }
      var field = reader.getFieldNumber();
      switch (field) {
      case 1:
        var value = /** @type {string} */ (reader.readString());
        msg.setMessage(value);
        break;
      default:
        reader.skipField();
        break;
      }
    }
    return msg;
  };
  
  
  /**
   * Serializes the message to binary data (in protobuf wire format).
   * @return {!Uint8Array}
   */
  proto.v1.PCmdEcho.prototype.serializeBinary = function() {
    var writer = new jspb.BinaryWriter();
    proto.v1.PCmdEcho.serializeBinaryToWriter(this, writer);
    return writer.getResultBuffer();
  };
  
  
  /**
   * Serializes the given message to binary data (in protobuf wire
   * format), writing to the given BinaryWriter.
   * @param {!proto.v1.PCmdEcho} message
   * @param {!jspb.BinaryWriter} writer
   * @suppress {unusedLocalVariables} f is only used for nested messages
   */
  proto.v1.PCmdEcho.serializeBinaryToWriter = function(message, writer) {
    var f = undefined;
    f = message.getMessage();
    if (f.length > 0) {
      writer.writeString(
        1,
        f
      );
    }
  };
  
  
  /**
   * optional string message = 1;
   * @return {string}
   */
  proto.v1.PCmdEcho.prototype.getMessage = function() {
    return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
  };
  
  
  /** @param {string} value */
  proto.v1.PCmdEcho.prototype.setMessage = function(value) {
    jspb.Message.setProto3StringField(this, 1, value);
  };
  
  
  
  /**
   * Generated by JsPbCodeGenerator.
   * @param {Array=} opt_data Optional initial data array, typically from a
   * server response, or constructed directly in Javascript. The array is used
   * in place and becomes part of the constructed object. It is not cloned.
   * If no data is provided, the constructed object will be empty, but still
   * valid.
   * @extends {jspb.Message}
   * @constructor
   */
  proto.v1.PCmdEchoResponse = function(opt_data) {
    jspb.Message.initialize(this, opt_data, 0, -1, null, null);
  };
  goog.inherits(proto.v1.PCmdEchoResponse, jspb.Message);
  if (goog.DEBUG && !COMPILED) {
    proto.v1.PCmdEchoResponse.displayName = 'proto.v1.PCmdEchoResponse';
  }
  
  
  if (jspb.Message.GENERATE_TO_OBJECT) {
  /**
   * Creates an object representation of this proto suitable for use in Soy templates.
   * Field names that are reserved in JavaScript and will be renamed to pb_name.
   * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
   * For the list of reserved names please see:
   *     com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.
   * @param {boolean=} opt_includeInstance Whether to include the JSPB instance
   *     for transitional soy proto support: http://goto/soy-param-migration
   * @return {!Object}
   */
  proto.v1.PCmdEchoResponse.prototype.toObject = function(opt_includeInstance) {
    return proto.v1.PCmdEchoResponse.toObject(opt_includeInstance, this);
  };
  
  
  /**
   * Static version of the {@see toObject} method.
   * @param {boolean|undefined} includeInstance Whether to include the JSPB
   *     instance for transitional soy proto support:
   *     http://goto/soy-param-migration
   * @param {!proto.v1.PCmdEchoResponse} msg The msg instance to transform.
   * @return {!Object}
   * @suppress {unusedLocalVariables} f is only used for nested messages
   */
  proto.v1.PCmdEchoResponse.toObject = function(includeInstance, msg) {
    var f, obj = {
      commonresponse: (f = msg.getCommonresponse()) && proto.v1.PCmdResponse.toObject(includeInstance, f),
      message: jspb.Message.getFieldWithDefault(msg, 2, "")
    };
  
    if (includeInstance) {
      obj.$jspbMessageInstance = msg;
    }
    return obj;
  };
  }
  
  
  /**
   * Deserializes binary data (in protobuf wire format).
   * @param {jspb.ByteSource} bytes The bytes to deserialize.
   * @return {!proto.v1.PCmdEchoResponse}
   */
  proto.v1.PCmdEchoResponse.deserializeBinary = function(bytes) {
    var reader = new jspb.BinaryReader(bytes);
    var msg = new proto.v1.PCmdEchoResponse;
    return proto.v1.PCmdEchoResponse.deserializeBinaryFromReader(msg, reader);
  };
  
  
  /**
   * Deserializes binary data (in protobuf wire format) from the
   * given reader into the given message object.
   * @param {!proto.v1.PCmdEchoResponse} msg The message object to deserialize into.
   * @param {!jspb.BinaryReader} reader The BinaryReader to use.
   * @return {!proto.v1.PCmdEchoResponse}
   */
  proto.v1.PCmdEchoResponse.deserializeBinaryFromReader = function(msg, reader) {
    while (reader.nextField()) {
      if (reader.isEndGroup()) {
        break;
      }
      var field = reader.getFieldNumber();
      switch (field) {
      case 1:
        var value = new proto.v1.PCmdResponse;
        reader.readMessage(value,proto.v1.PCmdResponse.deserializeBinaryFromReader);
        msg.setCommonresponse(value);
        break;
      case 2:
        var value = /** @type {string} */ (reader.readString());
        msg.setMessage(value);
        break;
      default:
        reader.skipField();
        break;
      }
    }
    return msg;
  };
  
  
  /**
   * Serializes the message to binary data (in protobuf wire format).
   * @return {!Uint8Array}
   */
  proto.v1.PCmdEchoResponse.prototype.serializeBinary = function() {
    var writer = new jspb.BinaryWriter();
    proto.v1.PCmdEchoResponse.serializeBinaryToWriter(this, writer);
    return writer.getResultBuffer();
  };
  
  
  /**
   * Serializes the given message to binary data (in protobuf wire
   * format), writing to the given BinaryWriter.
   * @param {!proto.v1.PCmdEchoResponse} message
   * @param {!jspb.BinaryWriter} writer
   * @suppress {unusedLocalVariables} f is only used for nested messages
   */
  proto.v1.PCmdEchoResponse.serializeBinaryToWriter = function(message, writer) {
    var f = undefined;
    f = message.getCommonresponse();
    if (f != null) {
      writer.writeMessage(
        1,
        f,
        proto.v1.PCmdResponse.serializeBinaryToWriter
      );
    }
    f = message.getMessage();
    if (f.length > 0) {
      writer.writeString(
        2,
        f
      );
    }
  };
  
  
  /**
   * optional PCmdResponse commonResponse = 1;
   * @return {?proto.v1.PCmdResponse}
   */
  proto.v1.PCmdEchoResponse.prototype.getCommonresponse = function() {
    return /** @type{?proto.v1.PCmdResponse} */ (
      jspb.Message.getWrapperField(this, proto.v1.PCmdResponse, 1));
  };
  
  
  /** @param {?proto.v1.PCmdResponse|undefined} value */
  proto.v1.PCmdEchoResponse.prototype.setCommonresponse = function(value) {
    jspb.Message.setWrapperField(this, 1, value);
  };
  
  
  proto.v1.PCmdEchoResponse.prototype.clearCommonresponse = function() {
    this.setCommonresponse(undefined);
  };
  
  
  /**
   * Returns whether this field is set.
   * @return {boolean}
   */
  proto.v1.PCmdEchoResponse.prototype.hasCommonresponse = function() {
    return jspb.Message.getField(this, 1) != null;
  };
  
  
  /**
   * optional string message = 2;
   * @return {string}
   */
  proto.v1.PCmdEchoResponse.prototype.getMessage = function() {
    return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
  };
  
  
  /** @param {string} value */
  proto.v1.PCmdEchoResponse.prototype.setMessage = function(value) {
    jspb.Message.setProto3StringField(this, 2, value);
  };
  
  
  
  /**
   * Generated by JsPbCodeGenerator.
   * @param {Array=} opt_data Optional initial data array, typically from a
   * server response, or constructed directly in Javascript. The array is used
   * in place and becomes part of the constructed object. It is not cloned.
   * If no data is provided, the constructed object will be empty, but still
   * valid.
   * @extends {jspb.Message}
   * @constructor
   */
  proto.v1.PCmdActiveThreadDump = function(opt_data) {
    jspb.Message.initialize(this, opt_data, 0, -1, proto.v1.PCmdActiveThreadDump.repeatedFields_, null);
  };
  goog.inherits(proto.v1.PCmdActiveThreadDump, jspb.Message);
  if (goog.DEBUG && !COMPILED) {
    proto.v1.PCmdActiveThreadDump.displayName = 'proto.v1.PCmdActiveThreadDump';
  }
  /**
   * List of repeated fields within this message type.
   * @private {!Array<number>}
   * @const
   */
  proto.v1.PCmdActiveThreadDump.repeatedFields_ = [2,3];
  
  
  
  if (jspb.Message.GENERATE_TO_OBJECT) {
  /**
   * Creates an object representation of this proto suitable for use in Soy templates.
   * Field names that are reserved in JavaScript and will be renamed to pb_name.
   * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
   * For the list of reserved names please see:
   *     com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.
   * @param {boolean=} opt_includeInstance Whether to include the JSPB instance
   *     for transitional soy proto support: http://goto/soy-param-migration
   * @return {!Object}
   */
  proto.v1.PCmdActiveThreadDump.prototype.toObject = function(opt_includeInstance) {
    return proto.v1.PCmdActiveThreadDump.toObject(opt_includeInstance, this);
  };
  
  
  /**
   * Static version of the {@see toObject} method.
   * @param {boolean|undefined} includeInstance Whether to include the JSPB
   *     instance for transitional soy proto support:
   *     http://goto/soy-param-migration
   * @param {!proto.v1.PCmdActiveThreadDump} msg The msg instance to transform.
   * @return {!Object}
   * @suppress {unusedLocalVariables} f is only used for nested messages
   */
  proto.v1.PCmdActiveThreadDump.toObject = function(includeInstance, msg) {
    var f, obj = {
      limit: jspb.Message.getFieldWithDefault(msg, 1, 0),
      threadnameList: jspb.Message.getRepeatedField(msg, 2),
      localtraceidList: jspb.Message.getRepeatedField(msg, 3)
    };
  
    if (includeInstance) {
      obj.$jspbMessageInstance = msg;
    }
    return obj;
  };
  }
  
  
  /**
   * Deserializes binary data (in protobuf wire format).
   * @param {jspb.ByteSource} bytes The bytes to deserialize.
   * @return {!proto.v1.PCmdActiveThreadDump}
   */
  proto.v1.PCmdActiveThreadDump.deserializeBinary = function(bytes) {
    var reader = new jspb.BinaryReader(bytes);
    var msg = new proto.v1.PCmdActiveThreadDump;
    return proto.v1.PCmdActiveThreadDump.deserializeBinaryFromReader(msg, reader);
  };
  
  
  /**
   * Deserializes binary data (in protobuf wire format) from the
   * given reader into the given message object.
   * @param {!proto.v1.PCmdActiveThreadDump} msg The message object to deserialize into.
   * @param {!jspb.BinaryReader} reader The BinaryReader to use.
   * @return {!proto.v1.PCmdActiveThreadDump}
   */
  proto.v1.PCmdActiveThreadDump.deserializeBinaryFromReader = function(msg, reader) {
    while (reader.nextField()) {
      if (reader.isEndGroup()) {
        break;
      }
      var field = reader.getFieldNumber();
      switch (field) {
      case 1:
        var value = /** @type {number} */ (reader.readInt32());
        msg.setLimit(value);
        break;
      case 2:
        var value = /** @type {string} */ (reader.readString());
        msg.addThreadname(value);
        break;
      case 3:
        var value = /** @type {!Array<number>} */ (reader.readPackedInt64());
        msg.setLocaltraceidList(value);
        break;
      default:
        reader.skipField();
        break;
      }
    }
    return msg;
  };
  
  
  /**
   * Serializes the message to binary data (in protobuf wire format).
   * @return {!Uint8Array}
   */
  proto.v1.PCmdActiveThreadDump.prototype.serializeBinary = function() {
    var writer = new jspb.BinaryWriter();
    proto.v1.PCmdActiveThreadDump.serializeBinaryToWriter(this, writer);
    return writer.getResultBuffer();
  };
  
  
  /**
   * Serializes the given message to binary data (in protobuf wire
   * format), writing to the given BinaryWriter.
   * @param {!proto.v1.PCmdActiveThreadDump} message
   * @param {!jspb.BinaryWriter} writer
   * @suppress {unusedLocalVariables} f is only used for nested messages
   */
  proto.v1.PCmdActiveThreadDump.serializeBinaryToWriter = function(message, writer) {
    var f = undefined;
    f = message.getLimit();
    if (f !== 0) {
      writer.writeInt32(
        1,
        f
      );
    }
    f = message.getThreadnameList();
    if (f.length > 0) {
      writer.writeRepeatedString(
        2,
        f
      );
    }
    f = message.getLocaltraceidList();
    if (f.length > 0) {
      writer.writePackedInt64(
        3,
        f
      );
    }
  };
  
  
  /**
   * optional int32 limit = 1;
   * @return {number}
   */
  proto.v1.PCmdActiveThreadDump.prototype.getLimit = function() {
    return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));
  };
  
  
  /** @param {number} value */
  proto.v1.PCmdActiveThreadDump.prototype.setLimit = function(value) {
    jspb.Message.setProto3IntField(this, 1, value);
  };
  
  
  /**
   * repeated string threadName = 2;
   * @return {!Array<string>}
   */
  proto.v1.PCmdActiveThreadDump.prototype.getThreadnameList = function() {
    return /** @type {!Array<string>} */ (jspb.Message.getRepeatedField(this, 2));
  };
  
  
  /** @param {!Array<string>} value */
  proto.v1.PCmdActiveThreadDump.prototype.setThreadnameList = function(value) {
    jspb.Message.setField(this, 2, value || []);
  };
  
  
  /**
   * @param {string} value
   * @param {number=} opt_index
   */
  proto.v1.PCmdActiveThreadDump.prototype.addThreadname = function(value, opt_index) {
    jspb.Message.addToRepeatedField(this, 2, value, opt_index);
  };
  
  
  proto.v1.PCmdActiveThreadDump.prototype.clearThreadnameList = function() {
    this.setThreadnameList([]);
  };
  
  
  /**
   * repeated int64 localTraceId = 3;
   * @return {!Array<number>}
   */
  proto.v1.PCmdActiveThreadDump.prototype.getLocaltraceidList = function() {
    return /** @type {!Array<number>} */ (jspb.Message.getRepeatedField(this, 3));
  };
  
  
  /** @param {!Array<number>} value */
  proto.v1.PCmdActiveThreadDump.prototype.setLocaltraceidList = function(value) {
    jspb.Message.setField(this, 3, value || []);
  };
  
  
  /**
   * @param {number} value
   * @param {number=} opt_index
   */
  proto.v1.PCmdActiveThreadDump.prototype.addLocaltraceid = function(value, opt_index) {
    jspb.Message.addToRepeatedField(this, 3, value, opt_index);
  };
  
  
  proto.v1.PCmdActiveThreadDump.prototype.clearLocaltraceidList = function() {
    this.setLocaltraceidList([]);
  };
  
  
  
  /**
   * Generated by JsPbCodeGenerator.
   * @param {Array=} opt_data Optional initial data array, typically from a
   * server response, or constructed directly in Javascript. The array is used
   * in place and becomes part of the constructed object. It is not cloned.
   * If no data is provided, the constructed object will be empty, but still
   * valid.
   * @extends {jspb.Message}
   * @constructor
   */
  proto.v1.PCmdActiveThreadDumpRes = function(opt_data) {
    jspb.Message.initialize(this, opt_data, 0, -1, proto.v1.PCmdActiveThreadDumpRes.repeatedFields_, null);
  };
  goog.inherits(proto.v1.PCmdActiveThreadDumpRes, jspb.Message);
  if (goog.DEBUG && !COMPILED) {
    proto.v1.PCmdActiveThreadDumpRes.displayName = 'proto.v1.PCmdActiveThreadDumpRes';
  }
  /**
   * List of repeated fields within this message type.
   * @private {!Array<number>}
   * @const
   */
  proto.v1.PCmdActiveThreadDumpRes.repeatedFields_ = [2];
  
  
  
  if (jspb.Message.GENERATE_TO_OBJECT) {
  /**
   * Creates an object representation of this proto suitable for use in Soy templates.
   * Field names that are reserved in JavaScript and will be renamed to pb_name.
   * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
   * For the list of reserved names please see:
   *     com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.
   * @param {boolean=} opt_includeInstance Whether to include the JSPB instance
   *     for transitional soy proto support: http://goto/soy-param-migration
   * @return {!Object}
   */
  proto.v1.PCmdActiveThreadDumpRes.prototype.toObject = function(opt_includeInstance) {
    return proto.v1.PCmdActiveThreadDumpRes.toObject(opt_includeInstance, this);
  };
  
  
  /**
   * Static version of the {@see toObject} method.
   * @param {boolean|undefined} includeInstance Whether to include the JSPB
   *     instance for transitional soy proto support:
   *     http://goto/soy-param-migration
   * @param {!proto.v1.PCmdActiveThreadDumpRes} msg The msg instance to transform.
   * @return {!Object}
   * @suppress {unusedLocalVariables} f is only used for nested messages
   */
  proto.v1.PCmdActiveThreadDumpRes.toObject = function(includeInstance, msg) {
    var f, obj = {
      commonresponse: (f = msg.getCommonresponse()) && proto.v1.PCmdResponse.toObject(includeInstance, f),
      threaddumpList: jspb.Message.toObjectList(msg.getThreaddumpList(),
      ThreadDump_pb.PActiveThreadDump.toObject, includeInstance),
      type: jspb.Message.getFieldWithDefault(msg, 3, ""),
      subtype: jspb.Message.getFieldWithDefault(msg, 4, ""),
      version: jspb.Message.getFieldWithDefault(msg, 5, "")
    };
  
    if (includeInstance) {
      obj.$jspbMessageInstance = msg;
    }
    return obj;
  };
  }
  
  
  /**
   * Deserializes binary data (in protobuf wire format).
   * @param {jspb.ByteSource} bytes The bytes to deserialize.
   * @return {!proto.v1.PCmdActiveThreadDumpRes}
   */
  proto.v1.PCmdActiveThreadDumpRes.deserializeBinary = function(bytes) {
    var reader = new jspb.BinaryReader(bytes);
    var msg = new proto.v1.PCmdActiveThreadDumpRes;
    return proto.v1.PCmdActiveThreadDumpRes.deserializeBinaryFromReader(msg, reader);
  };
  
  
  /**
   * Deserializes binary data (in protobuf wire format) from the
   * given reader into the given message object.
   * @param {!proto.v1.PCmdActiveThreadDumpRes} msg The message object to deserialize into.
   * @param {!jspb.BinaryReader} reader The BinaryReader to use.
   * @return {!proto.v1.PCmdActiveThreadDumpRes}
   */
  proto.v1.PCmdActiveThreadDumpRes.deserializeBinaryFromReader = function(msg, reader) {
    while (reader.nextField()) {
      if (reader.isEndGroup()) {
        break;
      }
      var field = reader.getFieldNumber();
      switch (field) {
      case 1:
        var value = new proto.v1.PCmdResponse;
        reader.readMessage(value,proto.v1.PCmdResponse.deserializeBinaryFromReader);
        msg.setCommonresponse(value);
        break;
      case 2:
        var value = new ThreadDump_pb.PActiveThreadDump;
        reader.readMessage(value,ThreadDump_pb.PActiveThreadDump.deserializeBinaryFromReader);
        msg.addThreaddump(value);
        break;
      case 3:
        var value = /** @type {string} */ (reader.readString());
        msg.setType(value);
        break;
      case 4:
        var value = /** @type {string} */ (reader.readString());
        msg.setSubtype(value);
        break;
      case 5:
        var value = /** @type {string} */ (reader.readString());
        msg.setVersion(value);
        break;
      default:
        reader.skipField();
        break;
      }
    }
    return msg;
  };
  
  
  /**
   * Serializes the message to binary data (in protobuf wire format).
   * @return {!Uint8Array}
   */
  proto.v1.PCmdActiveThreadDumpRes.prototype.serializeBinary = function() {
    var writer = new jspb.BinaryWriter();
    proto.v1.PCmdActiveThreadDumpRes.serializeBinaryToWriter(this, writer);
    return writer.getResultBuffer();
  };
  
  
  /**
   * Serializes the given message to binary data (in protobuf wire
   * format), writing to the given BinaryWriter.
   * @param {!proto.v1.PCmdActiveThreadDumpRes} message
   * @param {!jspb.BinaryWriter} writer
   * @suppress {unusedLocalVariables} f is only used for nested messages
   */
  proto.v1.PCmdActiveThreadDumpRes.serializeBinaryToWriter = function(message, writer) {
    var f = undefined;
    f = message.getCommonresponse();
    if (f != null) {
      writer.writeMessage(
        1,
        f,
        proto.v1.PCmdResponse.serializeBinaryToWriter
      );
    }
    f = message.getThreaddumpList();
    if (f.length > 0) {
      writer.writeRepeatedMessage(
        2,
        f,
        ThreadDump_pb.PActiveThreadDump.serializeBinaryToWriter
      );
    }
    f = message.getType();
    if (f.length > 0) {
      writer.writeString(
        3,
        f
      );
    }
    f = message.getSubtype();
    if (f.length > 0) {
      writer.writeString(
        4,
        f
      );
    }
    f = message.getVersion();
    if (f.length > 0) {
      writer.writeString(
        5,
        f
      );
    }
  };
  
  
  /**
   * optional PCmdResponse commonResponse = 1;
   * @return {?proto.v1.PCmdResponse}
   */
  proto.v1.PCmdActiveThreadDumpRes.prototype.getCommonresponse = function() {
    return /** @type{?proto.v1.PCmdResponse} */ (
      jspb.Message.getWrapperField(this, proto.v1.PCmdResponse, 1));
  };
  
  
  /** @param {?proto.v1.PCmdResponse|undefined} value */
  proto.v1.PCmdActiveThreadDumpRes.prototype.setCommonresponse = function(value) {
    jspb.Message.setWrapperField(this, 1, value);
  };
  
  
  proto.v1.PCmdActiveThreadDumpRes.prototype.clearCommonresponse = function() {
    this.setCommonresponse(undefined);
  };
  
  
  /**
   * Returns whether this field is set.
   * @return {boolean}
   */
  proto.v1.PCmdActiveThreadDumpRes.prototype.hasCommonresponse = function() {
    return jspb.Message.getField(this, 1) != null;
  };
  
  
  /**
   * repeated PActiveThreadDump threadDump = 2;
   * @return {!Array<!proto.v1.PActiveThreadDump>}
   */
  proto.v1.PCmdActiveThreadDumpRes.prototype.getThreaddumpList = function() {
    return /** @type{!Array<!proto.v1.PActiveThreadDump>} */ (
      jspb.Message.getRepeatedWrapperField(this, ThreadDump_pb.PActiveThreadDump, 2));
  };
  
  
  /** @param {!Array<!proto.v1.PActiveThreadDump>} value */
  proto.v1.PCmdActiveThreadDumpRes.prototype.setThreaddumpList = function(value) {
    jspb.Message.setRepeatedWrapperField(this, 2, value);
  };
  
  
  /**
   * @param {!proto.v1.PActiveThreadDump=} opt_value
   * @param {number=} opt_index
   * @return {!proto.v1.PActiveThreadDump}
   */
  proto.v1.PCmdActiveThreadDumpRes.prototype.addThreaddump = function(opt_value, opt_index) {
    return jspb.Message.addToRepeatedWrapperField(this, 2, opt_value, proto.v1.PActiveThreadDump, opt_index);
  };
  
  
  proto.v1.PCmdActiveThreadDumpRes.prototype.clearThreaddumpList = function() {
    this.setThreaddumpList([]);
  };
  
  
  /**
   * optional string type = 3;
   * @return {string}
   */
  proto.v1.PCmdActiveThreadDumpRes.prototype.getType = function() {
    return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, ""));
  };
  
  
  /** @param {string} value */
  proto.v1.PCmdActiveThreadDumpRes.prototype.setType = function(value) {
    jspb.Message.setProto3StringField(this, 3, value);
  };
  
  
  /**
   * optional string subType = 4;
   * @return {string}
   */
  proto.v1.PCmdActiveThreadDumpRes.prototype.getSubtype = function() {
    return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, ""));
  };
  
  
  /** @param {string} value */
  proto.v1.PCmdActiveThreadDumpRes.prototype.setSubtype = function(value) {
    jspb.Message.setProto3StringField(this, 4, value);
  };
  
  
  /**
   * optional string version = 5;
   * @return {string}
   */
  proto.v1.PCmdActiveThreadDumpRes.prototype.getVersion = function() {
    return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 5, ""));
  };
  
  
  /** @param {string} value */
  proto.v1.PCmdActiveThreadDumpRes.prototype.setVersion = function(value) {
    jspb.Message.setProto3StringField(this, 5, value);
  };
  
  
  
  /**
   * Generated by JsPbCodeGenerator.
   * @param {Array=} opt_data Optional initial data array, typically from a
   * server response, or constructed directly in Javascript. The array is used
   * in place and becomes part of the constructed object. It is not cloned.
   * If no data is provided, the constructed object will be empty, but still
   * valid.
   * @extends {jspb.Message}
   * @constructor
   */
  proto.v1.PCmdActiveThreadLightDump = function(opt_data) {
    jspb.Message.initialize(this, opt_data, 0, -1, proto.v1.PCmdActiveThreadLightDump.repeatedFields_, null);
  };
  goog.inherits(proto.v1.PCmdActiveThreadLightDump, jspb.Message);
  if (goog.DEBUG && !COMPILED) {
    proto.v1.PCmdActiveThreadLightDump.displayName = 'proto.v1.PCmdActiveThreadLightDump';
  }
  /**
   * List of repeated fields within this message type.
   * @private {!Array<number>}
   * @const
   */
  proto.v1.PCmdActiveThreadLightDump.repeatedFields_ = [2,3];
  
  
  
  if (jspb.Message.GENERATE_TO_OBJECT) {
  /**
   * Creates an object representation of this proto suitable for use in Soy templates.
   * Field names that are reserved in JavaScript and will be renamed to pb_name.
   * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
   * For the list of reserved names please see:
   *     com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.
   * @param {boolean=} opt_includeInstance Whether to include the JSPB instance
   *     for transitional soy proto support: http://goto/soy-param-migration
   * @return {!Object}
   */
  proto.v1.PCmdActiveThreadLightDump.prototype.toObject = function(opt_includeInstance) {
    return proto.v1.PCmdActiveThreadLightDump.toObject(opt_includeInstance, this);
  };
  
  
  /**
   * Static version of the {@see toObject} method.
   * @param {boolean|undefined} includeInstance Whether to include the JSPB
   *     instance for transitional soy proto support:
   *     http://goto/soy-param-migration
   * @param {!proto.v1.PCmdActiveThreadLightDump} msg The msg instance to transform.
   * @return {!Object}
   * @suppress {unusedLocalVariables} f is only used for nested messages
   */
  proto.v1.PCmdActiveThreadLightDump.toObject = function(includeInstance, msg) {
    var f, obj = {
      limit: jspb.Message.getFieldWithDefault(msg, 1, 0),
      threadnameList: jspb.Message.getRepeatedField(msg, 2),
      localtraceidList: jspb.Message.getRepeatedField(msg, 3)
    };
  
    if (includeInstance) {
      obj.$jspbMessageInstance = msg;
    }
    return obj;
  };
  }
  
  
  /**
   * Deserializes binary data (in protobuf wire format).
   * @param {jspb.ByteSource} bytes The bytes to deserialize.
   * @return {!proto.v1.PCmdActiveThreadLightDump}
   */
  proto.v1.PCmdActiveThreadLightDump.deserializeBinary = function(bytes) {
    var reader = new jspb.BinaryReader(bytes);
    var msg = new proto.v1.PCmdActiveThreadLightDump;
    return proto.v1.PCmdActiveThreadLightDump.deserializeBinaryFromReader(msg, reader);
  };
  
  
  /**
   * Deserializes binary data (in protobuf wire format) from the
   * given reader into the given message object.
   * @param {!proto.v1.PCmdActiveThreadLightDump} msg The message object to deserialize into.
   * @param {!jspb.BinaryReader} reader The BinaryReader to use.
   * @return {!proto.v1.PCmdActiveThreadLightDump}
   */
  proto.v1.PCmdActiveThreadLightDump.deserializeBinaryFromReader = function(msg, reader) {
    while (reader.nextField()) {
      if (reader.isEndGroup()) {
        break;
      }
      var field = reader.getFieldNumber();
      switch (field) {
      case 1:
        var value = /** @type {number} */ (reader.readInt32());
        msg.setLimit(value);
        break;
      case 2:
        var value = /** @type {string} */ (reader.readString());
        msg.addThreadname(value);
        break;
      case 3:
        var value = /** @type {!Array<number>} */ (reader.readPackedInt64());
        msg.setLocaltraceidList(value);
        break;
      default:
        reader.skipField();
        break;
      }
    }
    return msg;
  };
  
  
  /**
   * Serializes the message to binary data (in protobuf wire format).
   * @return {!Uint8Array}
   */
  proto.v1.PCmdActiveThreadLightDump.prototype.serializeBinary = function() {
    var writer = new jspb.BinaryWriter();
    proto.v1.PCmdActiveThreadLightDump.serializeBinaryToWriter(this, writer);
    return writer.getResultBuffer();
  };
  
  
  /**
   * Serializes the given message to binary data (in protobuf wire
   * format), writing to the given BinaryWriter.
   * @param {!proto.v1.PCmdActiveThreadLightDump} message
   * @param {!jspb.BinaryWriter} writer
   * @suppress {unusedLocalVariables} f is only used for nested messages
   */
  proto.v1.PCmdActiveThreadLightDump.serializeBinaryToWriter = function(message, writer) {
    var f = undefined;
    f = message.getLimit();
    if (f !== 0) {
      writer.writeInt32(
        1,
        f
      );
    }
    f = message.getThreadnameList();
    if (f.length > 0) {
      writer.writeRepeatedString(
        2,
        f
      );
    }
    f = message.getLocaltraceidList();
    if (f.length > 0) {
      writer.writePackedInt64(
        3,
        f
      );
    }
  };
  
  
  /**
   * optional int32 limit = 1;
   * @return {number}
   */
  proto.v1.PCmdActiveThreadLightDump.prototype.getLimit = function() {
    return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));
  };
  
  
  /** @param {number} value */
  proto.v1.PCmdActiveThreadLightDump.prototype.setLimit = function(value) {
    jspb.Message.setProto3IntField(this, 1, value);
  };
  
  
  /**
   * repeated string threadName = 2;
   * @return {!Array<string>}
   */
  proto.v1.PCmdActiveThreadLightDump.prototype.getThreadnameList = function() {
    return /** @type {!Array<string>} */ (jspb.Message.getRepeatedField(this, 2));
  };
  
  
  /** @param {!Array<string>} value */
  proto.v1.PCmdActiveThreadLightDump.prototype.setThreadnameList = function(value) {
    jspb.Message.setField(this, 2, value || []);
  };
  
  
  /**
   * @param {string} value
   * @param {number=} opt_index
   */
  proto.v1.PCmdActiveThreadLightDump.prototype.addThreadname = function(value, opt_index) {
    jspb.Message.addToRepeatedField(this, 2, value, opt_index);
  };
  
  
  proto.v1.PCmdActiveThreadLightDump.prototype.clearThreadnameList = function() {
    this.setThreadnameList([]);
  };
  
  
  /**
   * repeated int64 localTraceId = 3;
   * @return {!Array<number>}
   */
  proto.v1.PCmdActiveThreadLightDump.prototype.getLocaltraceidList = function() {
    return /** @type {!Array<number>} */ (jspb.Message.getRepeatedField(this, 3));
  };
  
  
  /** @param {!Array<number>} value */
  proto.v1.PCmdActiveThreadLightDump.prototype.setLocaltraceidList = function(value) {
    jspb.Message.setField(this, 3, value || []);
  };
  
  
  /**
   * @param {number} value
   * @param {number=} opt_index
   */
  proto.v1.PCmdActiveThreadLightDump.prototype.addLocaltraceid = function(value, opt_index) {
    jspb.Message.addToRepeatedField(this, 3, value, opt_index);
  };
  
  
  proto.v1.PCmdActiveThreadLightDump.prototype.clearLocaltraceidList = function() {
    this.setLocaltraceidList([]);
  };
  
  
  
  /**
   * Generated by JsPbCodeGenerator.
   * @param {Array=} opt_data Optional initial data array, typically from a
   * server response, or constructed directly in Javascript. The array is used
   * in place and becomes part of the constructed object. It is not cloned.
   * If no data is provided, the constructed object will be empty, but still
   * valid.
   * @extends {jspb.Message}
   * @constructor
   */
  proto.v1.PCmdActiveThreadLightDumpRes = function(opt_data) {
    jspb.Message.initialize(this, opt_data, 0, -1, proto.v1.PCmdActiveThreadLightDumpRes.repeatedFields_, null);
  };
  goog.inherits(proto.v1.PCmdActiveThreadLightDumpRes, jspb.Message);
  if (goog.DEBUG && !COMPILED) {
    proto.v1.PCmdActiveThreadLightDumpRes.displayName = 'proto.v1.PCmdActiveThreadLightDumpRes';
  }
  /**
   * List of repeated fields within this message type.
   * @private {!Array<number>}
   * @const
   */
  proto.v1.PCmdActiveThreadLightDumpRes.repeatedFields_ = [2];
  
  
  
  if (jspb.Message.GENERATE_TO_OBJECT) {
  /**
   * Creates an object representation of this proto suitable for use in Soy templates.
   * Field names that are reserved in JavaScript and will be renamed to pb_name.
   * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
   * For the list of reserved names please see:
   *     com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.
   * @param {boolean=} opt_includeInstance Whether to include the JSPB instance
   *     for transitional soy proto support: http://goto/soy-param-migration
   * @return {!Object}
   */
  proto.v1.PCmdActiveThreadLightDumpRes.prototype.toObject = function(opt_includeInstance) {
    return proto.v1.PCmdActiveThreadLightDumpRes.toObject(opt_includeInstance, this);
  };
  
  
  /**
   * Static version of the {@see toObject} method.
   * @param {boolean|undefined} includeInstance Whether to include the JSPB
   *     instance for transitional soy proto support:
   *     http://goto/soy-param-migration
   * @param {!proto.v1.PCmdActiveThreadLightDumpRes} msg The msg instance to transform.
   * @return {!Object}
   * @suppress {unusedLocalVariables} f is only used for nested messages
   */
  proto.v1.PCmdActiveThreadLightDumpRes.toObject = function(includeInstance, msg) {
    var f, obj = {
      commonresponse: (f = msg.getCommonresponse()) && proto.v1.PCmdResponse.toObject(includeInstance, f),
      threaddumpList: jspb.Message.toObjectList(msg.getThreaddumpList(),
      ThreadDump_pb.PActiveThreadLightDump.toObject, includeInstance),
      type: jspb.Message.getFieldWithDefault(msg, 3, ""),
      subtype: jspb.Message.getFieldWithDefault(msg, 4, ""),
      version: jspb.Message.getFieldWithDefault(msg, 5, "")
    };
  
    if (includeInstance) {
      obj.$jspbMessageInstance = msg;
    }
    return obj;
  };
  }
  
  
  /**
   * Deserializes binary data (in protobuf wire format).
   * @param {jspb.ByteSource} bytes The bytes to deserialize.
   * @return {!proto.v1.PCmdActiveThreadLightDumpRes}
   */
  proto.v1.PCmdActiveThreadLightDumpRes.deserializeBinary = function(bytes) {
    var reader = new jspb.BinaryReader(bytes);
    var msg = new proto.v1.PCmdActiveThreadLightDumpRes;
    return proto.v1.PCmdActiveThreadLightDumpRes.deserializeBinaryFromReader(msg, reader);
  };
  
  
  /**
   * Deserializes binary data (in protobuf wire format) from the
   * given reader into the given message object.
   * @param {!proto.v1.PCmdActiveThreadLightDumpRes} msg The message object to deserialize into.
   * @param {!jspb.BinaryReader} reader The BinaryReader to use.
   * @return {!proto.v1.PCmdActiveThreadLightDumpRes}
   */
  proto.v1.PCmdActiveThreadLightDumpRes.deserializeBinaryFromReader = function(msg, reader) {
    while (reader.nextField()) {
      if (reader.isEndGroup()) {
        break;
      }
      var field = reader.getFieldNumber();
      switch (field) {
      case 1:
        var value = new proto.v1.PCmdResponse;
        reader.readMessage(value,proto.v1.PCmdResponse.deserializeBinaryFromReader);
        msg.setCommonresponse(value);
        break;
      case 2:
        var value = new ThreadDump_pb.PActiveThreadLightDump;
        reader.readMessage(value,ThreadDump_pb.PActiveThreadLightDump.deserializeBinaryFromReader);
        msg.addThreaddump(value);
        break;
      case 3:
        var value = /** @type {string} */ (reader.readString());
        msg.setType(value);
        break;
      case 4:
        var value = /** @type {string} */ (reader.readString());
        msg.setSubtype(value);
        break;
      case 5:
        var value = /** @type {string} */ (reader.readString());
        msg.setVersion(value);
        break;
      default:
        reader.skipField();
        break;
      }
    }
    return msg;
  };
  
  
  /**
   * Serializes the message to binary data (in protobuf wire format).
   * @return {!Uint8Array}
   */
  proto.v1.PCmdActiveThreadLightDumpRes.prototype.serializeBinary = function() {
    var writer = new jspb.BinaryWriter();
    proto.v1.PCmdActiveThreadLightDumpRes.serializeBinaryToWriter(this, writer);
    return writer.getResultBuffer();
  };
  
  
  /**
   * Serializes the given message to binary data (in protobuf wire
   * format), writing to the given BinaryWriter.
   * @param {!proto.v1.PCmdActiveThreadLightDumpRes} message
   * @param {!jspb.BinaryWriter} writer
   * @suppress {unusedLocalVariables} f is only used for nested messages
   */
  proto.v1.PCmdActiveThreadLightDumpRes.serializeBinaryToWriter = function(message, writer) {
    var f = undefined;
    f = message.getCommonresponse();
    if (f != null) {
      writer.writeMessage(
        1,
        f,
        proto.v1.PCmdResponse.serializeBinaryToWriter
      );
    }
    f = message.getThreaddumpList();
    if (f.length > 0) {
      writer.writeRepeatedMessage(
        2,
        f,
        ThreadDump_pb.PActiveThreadLightDump.serializeBinaryToWriter
      );
    }
    f = message.getType();
    if (f.length > 0) {
      writer.writeString(
        3,
        f
      );
    }
    f = message.getSubtype();
    if (f.length > 0) {
      writer.writeString(
        4,
        f
      );
    }
    f = message.getVersion();
    if (f.length > 0) {
      writer.writeString(
        5,
        f
      );
    }
  };
  
  
  /**
   * optional PCmdResponse commonResponse = 1;
   * @return {?proto.v1.PCmdResponse}
   */
  proto.v1.PCmdActiveThreadLightDumpRes.prototype.getCommonresponse = function() {
    return /** @type{?proto.v1.PCmdResponse} */ (
      jspb.Message.getWrapperField(this, proto.v1.PCmdResponse, 1));
  };
  
  
  /** @param {?proto.v1.PCmdResponse|undefined} value */
  proto.v1.PCmdActiveThreadLightDumpRes.prototype.setCommonresponse = function(value) {
    jspb.Message.setWrapperField(this, 1, value);
  };
  
  
  proto.v1.PCmdActiveThreadLightDumpRes.prototype.clearCommonresponse = function() {
    this.setCommonresponse(undefined);
  };
  
  
  /**
   * Returns whether this field is set.
   * @return {boolean}
   */
  proto.v1.PCmdActiveThreadLightDumpRes.prototype.hasCommonresponse = function() {
    return jspb.Message.getField(this, 1) != null;
  };
  
  
  /**
   * repeated PActiveThreadLightDump threadDump = 2;
   * @return {!Array<!proto.v1.PActiveThreadLightDump>}
   */
  proto.v1.PCmdActiveThreadLightDumpRes.prototype.getThreaddumpList = function() {
    return /** @type{!Array<!proto.v1.PActiveThreadLightDump>} */ (
      jspb.Message.getRepeatedWrapperField(this, ThreadDump_pb.PActiveThreadLightDump, 2));
  };
  
  
  /** @param {!Array<!proto.v1.PActiveThreadLightDump>} value */
  proto.v1.PCmdActiveThreadLightDumpRes.prototype.setThreaddumpList = function(value) {
    jspb.Message.setRepeatedWrapperField(this, 2, value);
  };
  
  
  /**
   * @param {!proto.v1.PActiveThreadLightDump=} opt_value
   * @param {number=} opt_index
   * @return {!proto.v1.PActiveThreadLightDump}
   */
  proto.v1.PCmdActiveThreadLightDumpRes.prototype.addThreaddump = function(opt_value, opt_index) {
    return jspb.Message.addToRepeatedWrapperField(this, 2, opt_value, proto.v1.PActiveThreadLightDump, opt_index);
  };
  
  
  proto.v1.PCmdActiveThreadLightDumpRes.prototype.clearThreaddumpList = function() {
    this.setThreaddumpList([]);
  };
  
  
  /**
   * optional string type = 3;
   * @return {string}
   */
  proto.v1.PCmdActiveThreadLightDumpRes.prototype.getType = function() {
    return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, ""));
  };
  
  
  /** @param {string} value */
  proto.v1.PCmdActiveThreadLightDumpRes.prototype.setType = function(value) {
    jspb.Message.setProto3StringField(this, 3, value);
  };
  
  
  /**
   * optional string subType = 4;
   * @return {string}
   */
  proto.v1.PCmdActiveThreadLightDumpRes.prototype.getSubtype = function() {
    return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, ""));
  };
  
  
  /** @param {string} value */
  proto.v1.PCmdActiveThreadLightDumpRes.prototype.setSubtype = function(value) {
    jspb.Message.setProto3StringField(this, 4, value);
  };
  
  
  /**
   * optional string version = 5;
   * @return {string}
   */
  proto.v1.PCmdActiveThreadLightDumpRes.prototype.getVersion = function() {
    return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 5, ""));
  };
  
  
  /** @param {string} value */
  proto.v1.PCmdActiveThreadLightDumpRes.prototype.setVersion = function(value) {
    jspb.Message.setProto3StringField(this, 5, value);
  };
  
  
  
  /**
   * Generated by JsPbCodeGenerator.
   * @param {Array=} opt_data Optional initial data array, typically from a
   * server response, or constructed directly in Javascript. The array is used
   * in place and becomes part of the constructed object. It is not cloned.
   * If no data is provided, the constructed object will be empty, but still
   * valid.
   * @extends {jspb.Message}
   * @constructor
   */
  proto.v1.PCmdActiveThreadCount = function(opt_data) {
    jspb.Message.initialize(this, opt_data, 0, -1, null, null);
  };
  goog.inherits(proto.v1.PCmdActiveThreadCount, jspb.Message);
  if (goog.DEBUG && !COMPILED) {
    proto.v1.PCmdActiveThreadCount.displayName = 'proto.v1.PCmdActiveThreadCount';
  }
  
  
  if (jspb.Message.GENERATE_TO_OBJECT) {
  /**
   * Creates an object representation of this proto suitable for use in Soy templates.
   * Field names that are reserved in JavaScript and will be renamed to pb_name.
   * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
   * For the list of reserved names please see:
   *     com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.
   * @param {boolean=} opt_includeInstance Whether to include the JSPB instance
   *     for transitional soy proto support: http://goto/soy-param-migration
   * @return {!Object}
   */
  proto.v1.PCmdActiveThreadCount.prototype.toObject = function(opt_includeInstance) {
    return proto.v1.PCmdActiveThreadCount.toObject(opt_includeInstance, this);
  };
  
  
  /**
   * Static version of the {@see toObject} method.
   * @param {boolean|undefined} includeInstance Whether to include the JSPB
   *     instance for transitional soy proto support:
   *     http://goto/soy-param-migration
   * @param {!proto.v1.PCmdActiveThreadCount} msg The msg instance to transform.
   * @return {!Object}
   * @suppress {unusedLocalVariables} f is only used for nested messages
   */
  proto.v1.PCmdActiveThreadCount.toObject = function(includeInstance, msg) {
    var f, obj = {
  
    };
  
    if (includeInstance) {
      obj.$jspbMessageInstance = msg;
    }
    return obj;
  };
  }
  
  
  /**
   * Deserializes binary data (in protobuf wire format).
   * @param {jspb.ByteSource} bytes The bytes to deserialize.
   * @return {!proto.v1.PCmdActiveThreadCount}
   */
  proto.v1.PCmdActiveThreadCount.deserializeBinary = function(bytes) {
    var reader = new jspb.BinaryReader(bytes);
    var msg = new proto.v1.PCmdActiveThreadCount;
    return proto.v1.PCmdActiveThreadCount.deserializeBinaryFromReader(msg, reader);
  };
  
  
  /**
   * Deserializes binary data (in protobuf wire format) from the
   * given reader into the given message object.
   * @param {!proto.v1.PCmdActiveThreadCount} msg The message object to deserialize into.
   * @param {!jspb.BinaryReader} reader The BinaryReader to use.
   * @return {!proto.v1.PCmdActiveThreadCount}
   */
  proto.v1.PCmdActiveThreadCount.deserializeBinaryFromReader = function(msg, reader) {
    while (reader.nextField()) {
      if (reader.isEndGroup()) {
        break;
      }
      var field = reader.getFieldNumber();
      switch (field) {
      default:
        reader.skipField();
        break;
      }
    }
    return msg;
  };
  
  
  /**
   * Serializes the message to binary data (in protobuf wire format).
   * @return {!Uint8Array}
   */
  proto.v1.PCmdActiveThreadCount.prototype.serializeBinary = function() {
    var writer = new jspb.BinaryWriter();
    proto.v1.PCmdActiveThreadCount.serializeBinaryToWriter(this, writer);
    return writer.getResultBuffer();
  };
  
  
  /**
   * Serializes the given message to binary data (in protobuf wire
   * format), writing to the given BinaryWriter.
   * @param {!proto.v1.PCmdActiveThreadCount} message
   * @param {!jspb.BinaryWriter} writer
   * @suppress {unusedLocalVariables} f is only used for nested messages
   */
  proto.v1.PCmdActiveThreadCount.serializeBinaryToWriter = function(message, writer) {
    var f = undefined;
  };
  
  
  
  /**
   * Generated by JsPbCodeGenerator.
   * @param {Array=} opt_data Optional initial data array, typically from a
   * server response, or constructed directly in Javascript. The array is used
   * in place and becomes part of the constructed object. It is not cloned.
   * If no data is provided, the constructed object will be empty, but still
   * valid.
   * @extends {jspb.Message}
   * @constructor
   */
  proto.v1.PCmdActiveThreadCountRes = function(opt_data) {
    jspb.Message.initialize(this, opt_data, 0, -1, proto.v1.PCmdActiveThreadCountRes.repeatedFields_, null);
  };
  goog.inherits(proto.v1.PCmdActiveThreadCountRes, jspb.Message);
  if (goog.DEBUG && !COMPILED) {
    proto.v1.PCmdActiveThreadCountRes.displayName = 'proto.v1.PCmdActiveThreadCountRes';
  }
  /**
   * List of repeated fields within this message type.
   * @private {!Array<number>}
   * @const
   */
  proto.v1.PCmdActiveThreadCountRes.repeatedFields_ = [3];
  
  
  
  if (jspb.Message.GENERATE_TO_OBJECT) {
  /**
   * Creates an object representation of this proto suitable for use in Soy templates.
   * Field names that are reserved in JavaScript and will be renamed to pb_name.
   * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
   * For the list of reserved names please see:
   *     com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.
   * @param {boolean=} opt_includeInstance Whether to include the JSPB instance
   *     for transitional soy proto support: http://goto/soy-param-migration
   * @return {!Object}
   */
  proto.v1.PCmdActiveThreadCountRes.prototype.toObject = function(opt_includeInstance) {
    return proto.v1.PCmdActiveThreadCountRes.toObject(opt_includeInstance, this);
  };
  
  
  /**
   * Static version of the {@see toObject} method.
   * @param {boolean|undefined} includeInstance Whether to include the JSPB
   *     instance for transitional soy proto support:
   *     http://goto/soy-param-migration
   * @param {!proto.v1.PCmdActiveThreadCountRes} msg The msg instance to transform.
   * @return {!Object}
   * @suppress {unusedLocalVariables} f is only used for nested messages
   */
  proto.v1.PCmdActiveThreadCountRes.toObject = function(includeInstance, msg) {
    var f, obj = {
      commonstreamresponse: (f = msg.getCommonstreamresponse()) && proto.v1.PCmdStreamResponse.toObject(includeInstance, f),
      histogramschematype: jspb.Message.getFieldWithDefault(msg, 2, 0),
      activethreadcountList: jspb.Message.getRepeatedField(msg, 3),
      timestamp: jspb.Message.getFieldWithDefault(msg, 4, 0)
    };
  
    if (includeInstance) {
      obj.$jspbMessageInstance = msg;
    }
    return obj;
  };
  }
  
  
  /**
   * Deserializes binary data (in protobuf wire format).
   * @param {jspb.ByteSource} bytes The bytes to deserialize.
   * @return {!proto.v1.PCmdActiveThreadCountRes}
   */
  proto.v1.PCmdActiveThreadCountRes.deserializeBinary = function(bytes) {
    var reader = new jspb.BinaryReader(bytes);
    var msg = new proto.v1.PCmdActiveThreadCountRes;
    return proto.v1.PCmdActiveThreadCountRes.deserializeBinaryFromReader(msg, reader);
  };
  
  
  /**
   * Deserializes binary data (in protobuf wire format) from the
   * given reader into the given message object.
   * @param {!proto.v1.PCmdActiveThreadCountRes} msg The message object to deserialize into.
   * @param {!jspb.BinaryReader} reader The BinaryReader to use.
   * @return {!proto.v1.PCmdActiveThreadCountRes}
   */
  proto.v1.PCmdActiveThreadCountRes.deserializeBinaryFromReader = function(msg, reader) {
    while (reader.nextField()) {
      if (reader.isEndGroup()) {
        break;
      }
      var field = reader.getFieldNumber();
      switch (field) {
      case 1:
        var value = new proto.v1.PCmdStreamResponse;
        reader.readMessage(value,proto.v1.PCmdStreamResponse.deserializeBinaryFromReader);
        msg.setCommonstreamresponse(value);
        break;
      case 2:
        var value = /** @type {number} */ (reader.readInt32());
        msg.setHistogramschematype(value);
        break;
      case 3:
        var value = /** @type {!Array<number>} */ (reader.readPackedInt32());
        msg.setActivethreadcountList(value);
        break;
      case 4:
        var value = /** @type {number} */ (reader.readInt64());
        msg.setTimestamp(value);
        break;
      default:
        reader.skipField();
        break;
      }
    }
    return msg;
  };
  
  
  /**
   * Serializes the message to binary data (in protobuf wire format).
   * @return {!Uint8Array}
   */
  proto.v1.PCmdActiveThreadCountRes.prototype.serializeBinary = function() {
    var writer = new jspb.BinaryWriter();
    proto.v1.PCmdActiveThreadCountRes.serializeBinaryToWriter(this, writer);
    return writer.getResultBuffer();
  };
  
  
  /**
   * Serializes the given message to binary data (in protobuf wire
   * format), writing to the given BinaryWriter.
   * @param {!proto.v1.PCmdActiveThreadCountRes} message
   * @param {!jspb.BinaryWriter} writer
   * @suppress {unusedLocalVariables} f is only used for nested messages
   */
  proto.v1.PCmdActiveThreadCountRes.serializeBinaryToWriter = function(message, writer) {
    var f = undefined;
    f = message.getCommonstreamresponse();
    if (f != null) {
      writer.writeMessage(
        1,
        f,
        proto.v1.PCmdStreamResponse.serializeBinaryToWriter
      );
    }
    f = message.getHistogramschematype();
    if (f !== 0) {
      writer.writeInt32(
        2,
        f
      );
    }
    f = message.getActivethreadcountList();
    if (f.length > 0) {
      writer.writePackedInt32(
        3,
        f
      );
    }
    f = message.getTimestamp();
    if (f !== 0) {
      writer.writeInt64(
        4,
        f
      );
    }
  };
  
  
  /**
   * optional PCmdStreamResponse commonStreamResponse = 1;
   * @return {?proto.v1.PCmdStreamResponse}
   */
  proto.v1.PCmdActiveThreadCountRes.prototype.getCommonstreamresponse = function() {
    return /** @type{?proto.v1.PCmdStreamResponse} */ (
      jspb.Message.getWrapperField(this, proto.v1.PCmdStreamResponse, 1));
  };
  
  
  /** @param {?proto.v1.PCmdStreamResponse|undefined} value */
  proto.v1.PCmdActiveThreadCountRes.prototype.setCommonstreamresponse = function(value) {
    jspb.Message.setWrapperField(this, 1, value);
  };
  
  
  proto.v1.PCmdActiveThreadCountRes.prototype.clearCommonstreamresponse = function() {
    this.setCommonstreamresponse(undefined);
  };
  
  
  /**
   * Returns whether this field is set.
   * @return {boolean}
   */
  proto.v1.PCmdActiveThreadCountRes.prototype.hasCommonstreamresponse = function() {
    return jspb.Message.getField(this, 1) != null;
  };
  
  
  /**
   * optional int32 histogramSchemaType = 2;
   * @return {number}
   */
  proto.v1.PCmdActiveThreadCountRes.prototype.getHistogramschematype = function() {
    return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));
  };
  
  
  /** @param {number} value */
  proto.v1.PCmdActiveThreadCountRes.prototype.setHistogramschematype = function(value) {
    jspb.Message.setProto3IntField(this, 2, value);
  };
  
  
  /**
   * repeated int32 activeThreadCount = 3;
   * @return {!Array<number>}
   */
  proto.v1.PCmdActiveThreadCountRes.prototype.getActivethreadcountList = function() {
    return /** @type {!Array<number>} */ (jspb.Message.getRepeatedField(this, 3));
  };
  
  
  /** @param {!Array<number>} value */
  proto.v1.PCmdActiveThreadCountRes.prototype.setActivethreadcountList = function(value) {
    jspb.Message.setField(this, 3, value || []);
  };
  
  
  /**
   * @param {number} value
   * @param {number=} opt_index
   */
  proto.v1.PCmdActiveThreadCountRes.prototype.addActivethreadcount = function(value, opt_index) {
    jspb.Message.addToRepeatedField(this, 3, value, opt_index);
  };
  
  
  proto.v1.PCmdActiveThreadCountRes.prototype.clearActivethreadcountList = function() {
    this.setActivethreadcountList([]);
  };
  
  
  /**
   * optional int64 timeStamp = 4;
   * @return {number}
   */
  proto.v1.PCmdActiveThreadCountRes.prototype.getTimestamp = function() {
    return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 4, 0));
  };
  
  
  /** @param {number} value */
  proto.v1.PCmdActiveThreadCountRes.prototype.setTimestamp = function(value) {
    jspb.Message.setProto3IntField(this, 4, value);
  };
  
  
  /**
   * @enum {number}
   */
  proto.v1.PCommandType = {
    NONE: 0,
    PING: 100,
    PONG: 101,
    ECHO: 710,
    ACTIVE_THREAD_COUNT: 730,
    ACTIVE_THREAD_DUMP: 740,
    ACTIVE_THREAD_LIGHT_DUMP: 750
  };
  
  goog.object.extend(exports, proto.v1);
  