text: // source: dapp_test_service.proto
  /**
   * @fileoverview
   * @enhanceable
   * @suppress {missingRequire} reports error on implicit type usages.
   * @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!
  /* eslint-disable */
  // @ts-nocheck
  
  var jspb = require('google-protobuf');
  var goog = jspb;
  var global = Function('return this')();
  
  var google_protobuf_empty_pb = require('google-protobuf/google/protobuf/empty_pb.js');
  goog.object.extend(proto, google_protobuf_empty_pb);
  var common_pb = require('./common_pb.js');
  goog.object.extend(proto, common_pb);
  goog.exportSymbol('proto.darcher.ConsoleErrorMsg', null, global);
  goog.exportSymbol('proto.darcher.DAppDriverControlMsg', null, global);
  goog.exportSymbol('proto.darcher.DAppDriverControlType', null, global);
  goog.exportSymbol('proto.darcher.TestEndMsg', null, global);
  goog.exportSymbol('proto.darcher.TestStartMsg', null, global);
  goog.exportSymbol('proto.darcher.TxMsg', 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.darcher.TestStartMsg = function(opt_data) {
    jspb.Message.initialize(this, opt_data, 0, -1, null, null);
  };
  goog.inherits(proto.darcher.TestStartMsg, jspb.Message);
  if (goog.DEBUG && !COMPILED) {
    /**
     * @public
     * @override
     */
    proto.darcher.TestStartMsg.displayName = 'proto.darcher.TestStartMsg';
  }
  /**
   * 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.darcher.TestEndMsg = function(opt_data) {
    jspb.Message.initialize(this, opt_data, 0, -1, null, null);
  };
  goog.inherits(proto.darcher.TestEndMsg, jspb.Message);
  if (goog.DEBUG && !COMPILED) {
    /**
     * @public
     * @override
     */
    proto.darcher.TestEndMsg.displayName = 'proto.darcher.TestEndMsg';
  }
  /**
   * 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.darcher.TxMsg = function(opt_data) {
    jspb.Message.initialize(this, opt_data, 0, -1, null, null);
  };
  goog.inherits(proto.darcher.TxMsg, jspb.Message);
  if (goog.DEBUG && !COMPILED) {
    /**
     * @public
     * @override
     */
    proto.darcher.TxMsg.displayName = 'proto.darcher.TxMsg';
  }
  /**
   * 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.darcher.ConsoleErrorMsg = function(opt_data) {
    jspb.Message.initialize(this, opt_data, 0, -1, null, null);
  };
  goog.inherits(proto.darcher.ConsoleErrorMsg, jspb.Message);
  if (goog.DEBUG && !COMPILED) {
    /**
     * @public
     * @override
     */
    proto.darcher.ConsoleErrorMsg.displayName = 'proto.darcher.ConsoleErrorMsg';
  }
  /**
   * 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.darcher.DAppDriverControlMsg = function(opt_data) {
    jspb.Message.initialize(this, opt_data, 0, -1, null, null);
  };
  goog.inherits(proto.darcher.DAppDriverControlMsg, jspb.Message);
  if (goog.DEBUG && !COMPILED) {
    /**
     * @public
     * @override
     */
    proto.darcher.DAppDriverControlMsg.displayName = 'proto.darcher.DAppDriverControlMsg';
  }
  
  
  
  if (jspb.Message.GENERATE_TO_OBJECT) {
  /**
   * Creates an object representation of this proto.
   * Field names that are reserved in JavaScript and will be renamed to pb_name.
   * Optional fields that are not set will be set to undefined.
   * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
   * For the list of reserved names please see:
   *     net/proto2/compiler/js/internal/generator.cc#kKeyword.
   * @param {boolean=} opt_includeInstance Deprecated. whether to include the
   *     JSPB instance for transitional soy proto support:
   *     http://goto/soy-param-migration
   * @return {!Object}
   */
  proto.darcher.TestStartMsg.prototype.toObject = function(opt_includeInstance) {
    return proto.darcher.TestStartMsg.toObject(opt_includeInstance, this);
  };
  
  
  /**
   * Static version of the {@see toObject} method.
   * @param {boolean|undefined} includeInstance Deprecated. Whether to include
   *     the JSPB instance for transitional soy proto support:
   *     http://goto/soy-param-migration
   * @param {!proto.darcher.TestStartMsg} msg The msg instance to transform.
   * @return {!Object}
   * @suppress {unusedLocalVariables} f is only used for nested messages
   */
  proto.darcher.TestStartMsg.toObject = function(includeInstance, msg) {
    var f, obj = {
      dappName: jspb.Message.getFieldWithDefault(msg, 1, ""),
      instanceId: 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.darcher.TestStartMsg}
   */
  proto.darcher.TestStartMsg.deserializeBinary = function(bytes) {
    var reader = new jspb.BinaryReader(bytes);
    var msg = new proto.darcher.TestStartMsg;
    return proto.darcher.TestStartMsg.deserializeBinaryFromReader(msg, reader);
  };
  
  
  /**
   * Deserializes binary data (in protobuf wire format) from the
   * given reader into the given message object.
   * @param {!proto.darcher.TestStartMsg} msg The message object to deserialize into.
   * @param {!jspb.BinaryReader} reader The BinaryReader to use.
   * @return {!proto.darcher.TestStartMsg}
   */
  proto.darcher.TestStartMsg.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.setDappName(value);
        break;
      case 2:
        var value = /** @type {string} */ (reader.readString());
        msg.setInstanceId(value);
        break;
      default:
        reader.skipField();
        break;
      }
    }
    return msg;
  };
  
  
  /**
   * Serializes the message to binary data (in protobuf wire format).
   * @return {!Uint8Array}
   */
  proto.darcher.TestStartMsg.prototype.serializeBinary = function() {
    var writer = new jspb.BinaryWriter();
    proto.darcher.TestStartMsg.serializeBinaryToWriter(this, writer);
    return writer.getResultBuffer();
  };
  
  
  /**
   * Serializes the given message to binary data (in protobuf wire
   * format), writing to the given BinaryWriter.
   * @param {!proto.darcher.TestStartMsg} message
   * @param {!jspb.BinaryWriter} writer
   * @suppress {unusedLocalVariables} f is only used for nested messages
   */
  proto.darcher.TestStartMsg.serializeBinaryToWriter = function(message, writer) {
    var f = undefined;
    f = message.getDappName();
    if (f.length > 0) {
      writer.writeString(
        1,
        f
      );
    }
    f = message.getInstanceId();
    if (f.length > 0) {
      writer.writeString(
        2,
        f
      );
    }
  };
  
  
  /**
   * optional string dapp_name = 1;
   * @return {string}
   */
  proto.darcher.TestStartMsg.prototype.getDappName = function() {
    return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
  };
  
  
  /**
   * @param {string} value
   * @return {!proto.darcher.TestStartMsg} returns this
   */
  proto.darcher.TestStartMsg.prototype.setDappName = function(value) {
    return jspb.Message.setProto3StringField(this, 1, value);
  };
  
  
  /**
   * optional string instance_id = 2;
   * @return {string}
   */
  proto.darcher.TestStartMsg.prototype.getInstanceId = function() {
    return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
  };
  
  
  /**
   * @param {string} value
   * @return {!proto.darcher.TestStartMsg} returns this
   */
  proto.darcher.TestStartMsg.prototype.setInstanceId = function(value) {
    return jspb.Message.setProto3StringField(this, 2, value);
  };
  
  
  
  
  
  if (jspb.Message.GENERATE_TO_OBJECT) {
  /**
   * Creates an object representation of this proto.
   * Field names that are reserved in JavaScript and will be renamed to pb_name.
   * Optional fields that are not set will be set to undefined.
   * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
   * For the list of reserved names please see:
   *     net/proto2/compiler/js/internal/generator.cc#kKeyword.
   * @param {boolean=} opt_includeInstance Deprecated. whether to include the
   *     JSPB instance for transitional soy proto support:
   *     http://goto/soy-param-migration
   * @return {!Object}
   */
  proto.darcher.TestEndMsg.prototype.toObject = function(opt_includeInstance) {
    return proto.darcher.TestEndMsg.toObject(opt_includeInstance, this);
  };
  
  
  /**
   * Static version of the {@see toObject} method.
   * @param {boolean|undefined} includeInstance Deprecated. Whether to include
   *     the JSPB instance for transitional soy proto support:
   *     http://goto/soy-param-migration
   * @param {!proto.darcher.TestEndMsg} msg The msg instance to transform.
   * @return {!Object}
   * @suppress {unusedLocalVariables} f is only used for nested messages
   */
  proto.darcher.TestEndMsg.toObject = function(includeInstance, msg) {
    var f, obj = {
      dappName: jspb.Message.getFieldWithDefault(msg, 1, ""),
      instanceId: 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.darcher.TestEndMsg}
   */
  proto.darcher.TestEndMsg.deserializeBinary = function(bytes) {
    var reader = new jspb.BinaryReader(bytes);
    var msg = new proto.darcher.TestEndMsg;
    return proto.darcher.TestEndMsg.deserializeBinaryFromReader(msg, reader);
  };
  
  
  /**
   * Deserializes binary data (in protobuf wire format) from the
   * given reader into the given message object.
   * @param {!proto.darcher.TestEndMsg} msg The message object to deserialize into.
   * @param {!jspb.BinaryReader} reader The BinaryReader to use.
   * @return {!proto.darcher.TestEndMsg}
   */
  proto.darcher.TestEndMsg.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.setDappName(value);
        break;
      case 2:
        var value = /** @type {string} */ (reader.readString());
        msg.setInstanceId(value);
        break;
      default:
        reader.skipField();
        break;
      }
    }
    return msg;
  };
  
  
  /**
   * Serializes the message to binary data (in protobuf wire format).
   * @return {!Uint8Array}
   */
  proto.darcher.TestEndMsg.prototype.serializeBinary = function() {
    var writer = new jspb.BinaryWriter();
    proto.darcher.TestEndMsg.serializeBinaryToWriter(this, writer);
    return writer.getResultBuffer();
  };
  
  
  /**
   * Serializes the given message to binary data (in protobuf wire
   * format), writing to the given BinaryWriter.
   * @param {!proto.darcher.TestEndMsg} message
   * @param {!jspb.BinaryWriter} writer
   * @suppress {unusedLocalVariables} f is only used for nested messages
   */
  proto.darcher.TestEndMsg.serializeBinaryToWriter = function(message, writer) {
    var f = undefined;
    f = message.getDappName();
    if (f.length > 0) {
      writer.writeString(
        1,
        f
      );
    }
    f = message.getInstanceId();
    if (f.length > 0) {
      writer.writeString(
        2,
        f
      );
    }
  };
  
  
  /**
   * optional string dapp_name = 1;
   * @return {string}
   */
  proto.darcher.TestEndMsg.prototype.getDappName = function() {
    return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
  };
  
  
  /**
   * @param {string} value
   * @return {!proto.darcher.TestEndMsg} returns this
   */
  proto.darcher.TestEndMsg.prototype.setDappName = function(value) {
    return jspb.Message.setProto3StringField(this, 1, value);
  };
  
  
  /**
   * optional string instance_id = 2;
   * @return {string}
   */
  proto.darcher.TestEndMsg.prototype.getInstanceId = function() {
    return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
  };
  
  
  /**
   * @param {string} value
   * @return {!proto.darcher.TestEndMsg} returns this
   */
  proto.darcher.TestEndMsg.prototype.setInstanceId = function(value) {
    return jspb.Message.setProto3StringField(this, 2, value);
  };
  
  
  
  
  
  if (jspb.Message.GENERATE_TO_OBJECT) {
  /**
   * Creates an object representation of this proto.
   * Field names that are reserved in JavaScript and will be renamed to pb_name.
   * Optional fields that are not set will be set to undefined.
   * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
   * For the list of reserved names please see:
   *     net/proto2/compiler/js/internal/generator.cc#kKeyword.
   * @param {boolean=} opt_includeInstance Deprecated. whether to include the
   *     JSPB instance for transitional soy proto support:
   *     http://goto/soy-param-migration
   * @return {!Object}
   */
  proto.darcher.TxMsg.prototype.toObject = function(opt_includeInstance) {
    return proto.darcher.TxMsg.toObject(opt_includeInstance, this);
  };
  
  
  /**
   * Static version of the {@see toObject} method.
   * @param {boolean|undefined} includeInstance Deprecated. Whether to include
   *     the JSPB instance for transitional soy proto support:
   *     http://goto/soy-param-migration
   * @param {!proto.darcher.TxMsg} msg The msg instance to transform.
   * @return {!Object}
   * @suppress {unusedLocalVariables} f is only used for nested messages
   */
  proto.darcher.TxMsg.toObject = function(includeInstance, msg) {
    var f, obj = {
      dappName: jspb.Message.getFieldWithDefault(msg, 1, ""),
      instanceId: jspb.Message.getFieldWithDefault(msg, 2, ""),
      hash: jspb.Message.getFieldWithDefault(msg, 3, ""),
      from: jspb.Message.getFieldWithDefault(msg, 4, ""),
      to: jspb.Message.getFieldWithDefault(msg, 5, ""),
      states: jspb.Message.getFieldWithDefault(msg, 6, ""),
      events: jspb.Message.getFieldWithDefault(msg, 7, "")
    };
  
    if (includeInstance) {
      obj.$jspbMessageInstance = msg;
    }
    return obj;
  };
  }
  
  
  /**
   * Deserializes binary data (in protobuf wire format).
   * @param {jspb.ByteSource} bytes The bytes to deserialize.
   * @return {!proto.darcher.TxMsg}
   */
  proto.darcher.TxMsg.deserializeBinary = function(bytes) {
    var reader = new jspb.BinaryReader(bytes);
    var msg = new proto.darcher.TxMsg;
    return proto.darcher.TxMsg.deserializeBinaryFromReader(msg, reader);
  };
  
  
  /**
   * Deserializes binary data (in protobuf wire format) from the
   * given reader into the given message object.
   * @param {!proto.darcher.TxMsg} msg The message object to deserialize into.
   * @param {!jspb.BinaryReader} reader The BinaryReader to use.
   * @return {!proto.darcher.TxMsg}
   */
  proto.darcher.TxMsg.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.setDappName(value);
        break;
      case 2:
        var value = /** @type {string} */ (reader.readString());
        msg.setInstanceId(value);
        break;
      case 3:
        var value = /** @type {string} */ (reader.readString());
        msg.setHash(value);
        break;
      case 4:
        var value = /** @type {string} */ (reader.readString());
        msg.setFrom(value);
        break;
      case 5:
        var value = /** @type {string} */ (reader.readString());
        msg.setTo(value);
        break;
      case 6:
        var value = /** @type {string} */ (reader.readString());
        msg.setStates(value);
        break;
      case 7:
        var value = /** @type {string} */ (reader.readString());
        msg.setEvents(value);
        break;
      default:
        reader.skipField();
        break;
      }
    }
    return msg;
  };
  
  
  /**
   * Serializes the message to binary data (in protobuf wire format).
   * @return {!Uint8Array}
   */
  proto.darcher.TxMsg.prototype.serializeBinary = function() {
    var writer = new jspb.BinaryWriter();
    proto.darcher.TxMsg.serializeBinaryToWriter(this, writer);
    return writer.getResultBuffer();
  };
  
  
  /**
   * Serializes the given message to binary data (in protobuf wire
   * format), writing to the given BinaryWriter.
   * @param {!proto.darcher.TxMsg} message
   * @param {!jspb.BinaryWriter} writer
   * @suppress {unusedLocalVariables} f is only used for nested messages
   */
  proto.darcher.TxMsg.serializeBinaryToWriter = function(message, writer) {
    var f = undefined;
    f = message.getDappName();
    if (f.length > 0) {
      writer.writeString(
        1,
        f
      );
    }
    f = message.getInstanceId();
    if (f.length > 0) {
      writer.writeString(
        2,
        f
      );
    }
    f = message.getHash();
    if (f.length > 0) {
      writer.writeString(
        3,
        f
      );
    }
    f = message.getFrom();
    if (f.length > 0) {
      writer.writeString(
        4,
        f
      );
    }
    f = message.getTo();
    if (f.length > 0) {
      writer.writeString(
        5,
        f
      );
    }
    f = message.getStates();
    if (f.length > 0) {
      writer.writeString(
        6,
        f
      );
    }
    f = message.getEvents();
    if (f.length > 0) {
      writer.writeString(
        7,
        f
      );
    }
  };
  
  
  /**
   * optional string dapp_name = 1;
   * @return {string}
   */
  proto.darcher.TxMsg.prototype.getDappName = function() {
    return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
  };
  
  
  /**
   * @param {string} value
   * @return {!proto.darcher.TxMsg} returns this
   */
  proto.darcher.TxMsg.prototype.setDappName = function(value) {
    return jspb.Message.setProto3StringField(this, 1, value);
  };
  
  
  /**
   * optional string instance_id = 2;
   * @return {string}
   */
  proto.darcher.TxMsg.prototype.getInstanceId = function() {
    return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
  };
  
  
  /**
   * @param {string} value
   * @return {!proto.darcher.TxMsg} returns this
   */
  proto.darcher.TxMsg.prototype.setInstanceId = function(value) {
    return jspb.Message.setProto3StringField(this, 2, value);
  };
  
  
  /**
   * optional string hash = 3;
   * @return {string}
   */
  proto.darcher.TxMsg.prototype.getHash = function() {
    return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, ""));
  };
  
  
  /**
   * @param {string} value
   * @return {!proto.darcher.TxMsg} returns this
   */
  proto.darcher.TxMsg.prototype.setHash = function(value) {
    return jspb.Message.setProto3StringField(this, 3, value);
  };
  
  
  /**
   * optional string from = 4;
   * @return {string}
   */
  proto.darcher.TxMsg.prototype.getFrom = function() {
    return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, ""));
  };
  
  
  /**
   * @param {string} value
   * @return {!proto.darcher.TxMsg} returns this
   */
  proto.darcher.TxMsg.prototype.setFrom = function(value) {
    return jspb.Message.setProto3StringField(this, 4, value);
  };
  
  
  /**
   * optional string to = 5;
   * @return {string}
   */
  proto.darcher.TxMsg.prototype.getTo = function() {
    return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 5, ""));
  };
  
  
  /**
   * @param {string} value
   * @return {!proto.darcher.TxMsg} returns this
   */
  proto.darcher.TxMsg.prototype.setTo = function(value) {
    return jspb.Message.setProto3StringField(this, 5, value);
  };
  
  
  /**
   * optional string states = 6;
   * @return {string}
   */
  proto.darcher.TxMsg.prototype.getStates = function() {
    return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 6, ""));
  };
  
  
  /**
   * @param {string} value
   * @return {!proto.darcher.TxMsg} returns this
   */
  proto.darcher.TxMsg.prototype.setStates = function(value) {
    return jspb.Message.setProto3StringField(this, 6, value);
  };
  
  
  /**
   * optional string events = 7;
   * @return {string}
   */
  proto.darcher.TxMsg.prototype.getEvents = function() {
    return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 7, ""));
  };
  
  
  /**
   * @param {string} value
   * @return {!proto.darcher.TxMsg} returns this
   */
  proto.darcher.TxMsg.prototype.setEvents = function(value) {
    return jspb.Message.setProto3StringField(this, 7, value);
  };
  
  
  
  
  
  if (jspb.Message.GENERATE_TO_OBJECT) {
  /**
   * Creates an object representation of this proto.
   * Field names that are reserved in JavaScript and will be renamed to pb_name.
   * Optional fields that are not set will be set to undefined.
   * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
   * For the list of reserved names please see:
   *     net/proto2/compiler/js/internal/generator.cc#kKeyword.
   * @param {boolean=} opt_includeInstance Deprecated. whether to include the
   *     JSPB instance for transitional soy proto support:
   *     http://goto/soy-param-migration
   * @return {!Object}
   */
  proto.darcher.ConsoleErrorMsg.prototype.toObject = function(opt_includeInstance) {
    return proto.darcher.ConsoleErrorMsg.toObject(opt_includeInstance, this);
  };
  
  
  /**
   * Static version of the {@see toObject} method.
   * @param {boolean|undefined} includeInstance Deprecated. Whether to include
   *     the JSPB instance for transitional soy proto support:
   *     http://goto/soy-param-migration
   * @param {!proto.darcher.ConsoleErrorMsg} msg The msg instance to transform.
   * @return {!Object}
   * @suppress {unusedLocalVariables} f is only used for nested messages
   */
  proto.darcher.ConsoleErrorMsg.toObject = function(includeInstance, msg) {
    var f, obj = {
      dappName: jspb.Message.getFieldWithDefault(msg, 1, ""),
      instanceId: jspb.Message.getFieldWithDefault(msg, 2, ""),
      errorString: jspb.Message.getFieldWithDefault(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.darcher.ConsoleErrorMsg}
   */
  proto.darcher.ConsoleErrorMsg.deserializeBinary = function(bytes) {
    var reader = new jspb.BinaryReader(bytes);
    var msg = new proto.darcher.ConsoleErrorMsg;
    return proto.darcher.ConsoleErrorMsg.deserializeBinaryFromReader(msg, reader);
  };
  
  
  /**
   * Deserializes binary data (in protobuf wire format) from the
   * given reader into the given message object.
   * @param {!proto.darcher.ConsoleErrorMsg} msg The message object to deserialize into.
   * @param {!jspb.BinaryReader} reader The BinaryReader to use.
   * @return {!proto.darcher.ConsoleErrorMsg}
   */
  proto.darcher.ConsoleErrorMsg.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.setDappName(value);
        break;
      case 2:
        var value = /** @type {string} */ (reader.readString());
        msg.setInstanceId(value);
        break;
      case 3:
        var value = /** @type {string} */ (reader.readString());
        msg.setErrorString(value);
        break;
      default:
        reader.skipField();
        break;
      }
    }
    return msg;
  };
  
  
  /**
   * Serializes the message to binary data (in protobuf wire format).
   * @return {!Uint8Array}
   */
  proto.darcher.ConsoleErrorMsg.prototype.serializeBinary = function() {
    var writer = new jspb.BinaryWriter();
    proto.darcher.ConsoleErrorMsg.serializeBinaryToWriter(this, writer);
    return writer.getResultBuffer();
  };
  
  
  /**
   * Serializes the given message to binary data (in protobuf wire
   * format), writing to the given BinaryWriter.
   * @param {!proto.darcher.ConsoleErrorMsg} message
   * @param {!jspb.BinaryWriter} writer
   * @suppress {unusedLocalVariables} f is only used for nested messages
   */
  proto.darcher.ConsoleErrorMsg.serializeBinaryToWriter = function(message, writer) {
    var f = undefined;
    f = message.getDappName();
    if (f.length > 0) {
      writer.writeString(
        1,
        f
      );
    }
    f = message.getInstanceId();
    if (f.length > 0) {
      writer.writeString(
        2,
        f
      );
    }
    f = message.getErrorString();
    if (f.length > 0) {
      writer.writeString(
        3,
        f
      );
    }
  };
  
  
  /**
   * optional string dapp_name = 1;
   * @return {string}
   */
  proto.darcher.ConsoleErrorMsg.prototype.getDappName = function() {
    return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
  };
  
  
  /**
   * @param {string} value
   * @return {!proto.darcher.ConsoleErrorMsg} returns this
   */
  proto.darcher.ConsoleErrorMsg.prototype.setDappName = function(value) {
    return jspb.Message.setProto3StringField(this, 1, value);
  };
  
  
  /**
   * optional string instance_id = 2;
   * @return {string}
   */
  proto.darcher.ConsoleErrorMsg.prototype.getInstanceId = function() {
    return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
  };
  
  
  /**
   * @param {string} value
   * @return {!proto.darcher.ConsoleErrorMsg} returns this
   */
  proto.darcher.ConsoleErrorMsg.prototype.setInstanceId = function(value) {
    return jspb.Message.setProto3StringField(this, 2, value);
  };
  
  
  /**
   * optional string error_string = 3;
   * @return {string}
   */
  proto.darcher.ConsoleErrorMsg.prototype.getErrorString = function() {
    return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, ""));
  };
  
  
  /**
   * @param {string} value
   * @return {!proto.darcher.ConsoleErrorMsg} returns this
   */
  proto.darcher.ConsoleErrorMsg.prototype.setErrorString = function(value) {
    return jspb.Message.setProto3StringField(this, 3, value);
  };
  
  
  
  
  
  if (jspb.Message.GENERATE_TO_OBJECT) {
  /**
   * Creates an object representation of this proto.
   * Field names that are reserved in JavaScript and will be renamed to pb_name.
   * Optional fields that are not set will be set to undefined.
   * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
   * For the list of reserved names please see:
   *     net/proto2/compiler/js/internal/generator.cc#kKeyword.
   * @param {boolean=} opt_includeInstance Deprecated. whether to include the
   *     JSPB instance for transitional soy proto support:
   *     http://goto/soy-param-migration
   * @return {!Object}
   */
  proto.darcher.DAppDriverControlMsg.prototype.toObject = function(opt_includeInstance) {
    return proto.darcher.DAppDriverControlMsg.toObject(opt_includeInstance, this);
  };
  
  
  /**
   * Static version of the {@see toObject} method.
   * @param {boolean|undefined} includeInstance Deprecated. Whether to include
   *     the JSPB instance for transitional soy proto support:
   *     http://goto/soy-param-migration
   * @param {!proto.darcher.DAppDriverControlMsg} msg The msg instance to transform.
   * @return {!Object}
   * @suppress {unusedLocalVariables} f is only used for nested messages
   */
  proto.darcher.DAppDriverControlMsg.toObject = function(includeInstance, msg) {
    var f, obj = {
      role: jspb.Message.getFieldWithDefault(msg, 1, 0),
      id: jspb.Message.getFieldWithDefault(msg, 2, ""),
      dappName: jspb.Message.getFieldWithDefault(msg, 3, ""),
      instanceId: jspb.Message.getFieldWithDefault(msg, 4, ""),
      controlType: jspb.Message.getFieldWithDefault(msg, 5, 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.darcher.DAppDriverControlMsg}
   */
  proto.darcher.DAppDriverControlMsg.deserializeBinary = function(bytes) {
    var reader = new jspb.BinaryReader(bytes);
    var msg = new proto.darcher.DAppDriverControlMsg;
    return proto.darcher.DAppDriverControlMsg.deserializeBinaryFromReader(msg, reader);
  };
  
  
  /**
   * Deserializes binary data (in protobuf wire format) from the
   * given reader into the given message object.
   * @param {!proto.darcher.DAppDriverControlMsg} msg The message object to deserialize into.
   * @param {!jspb.BinaryReader} reader The BinaryReader to use.
   * @return {!proto.darcher.DAppDriverControlMsg}
   */
  proto.darcher.DAppDriverControlMsg.deserializeBinaryFromReader = function(msg, reader) {
    while (reader.nextField()) {
      if (reader.isEndGroup()) {
        break;
      }
      var field = reader.getFieldNumber();
      switch (field) {
      case 1:
        var value = /** @type {!proto.darcher.Role} */ (reader.readEnum());
        msg.setRole(value);
        break;
      case 2:
        var value = /** @type {string} */ (reader.readString());
        msg.setId(value);
        break;
      case 3:
        var value = /** @type {string} */ (reader.readString());
        msg.setDappName(value);
        break;
      case 4:
        var value = /** @type {string} */ (reader.readString());
        msg.setInstanceId(value);
        break;
      case 5:
        var value = /** @type {!proto.darcher.DAppDriverControlType} */ (reader.readEnum());
        msg.setControlType(value);
        break;
      default:
        reader.skipField();
        break;
      }
    }
    return msg;
  };
  
  
  /**
   * Serializes the message to binary data (in protobuf wire format).
   * @return {!Uint8Array}
   */
  proto.darcher.DAppDriverControlMsg.prototype.serializeBinary = function() {
    var writer = new jspb.BinaryWriter();
    proto.darcher.DAppDriverControlMsg.serializeBinaryToWriter(this, writer);
    return writer.getResultBuffer();
  };
  
  
  /**
   * Serializes the given message to binary data (in protobuf wire
   * format), writing to the given BinaryWriter.
   * @param {!proto.darcher.DAppDriverControlMsg} message
   * @param {!jspb.BinaryWriter} writer
   * @suppress {unusedLocalVariables} f is only used for nested messages
   */
  proto.darcher.DAppDriverControlMsg.serializeBinaryToWriter = function(message, writer) {
    var f = undefined;
    f = message.getRole();
    if (f !== 0.0) {
      writer.writeEnum(
        1,
        f
      );
    }
    f = message.getId();
    if (f.length > 0) {
      writer.writeString(
        2,
        f
      );
    }
    f = message.getDappName();
    if (f.length > 0) {
      writer.writeString(
        3,
        f
      );
    }
    f = message.getInstanceId();
    if (f.length > 0) {
      writer.writeString(
        4,
        f
      );
    }
    f = message.getControlType();
    if (f !== 0.0) {
      writer.writeEnum(
        5,
        f
      );
    }
  };
  
  
  /**
   * optional Role role = 1;
   * @return {!proto.darcher.Role}
   */
  proto.darcher.DAppDriverControlMsg.prototype.getRole = function() {
    return /** @type {!proto.darcher.Role} */ (jspb.Message.getFieldWithDefault(this, 1, 0));
  };
  
  
  /**
   * @param {!proto.darcher.Role} value
   * @return {!proto.darcher.DAppDriverControlMsg} returns this
   */
  proto.darcher.DAppDriverControlMsg.prototype.setRole = function(value) {
    return jspb.Message.setProto3EnumField(this, 1, value);
  };
  
  
  /**
   * optional string id = 2;
   * @return {string}
   */
  proto.darcher.DAppDriverControlMsg.prototype.getId = function() {
    return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
  };
  
  
  /**
   * @param {string} value
   * @return {!proto.darcher.DAppDriverControlMsg} returns this
   */
  proto.darcher.DAppDriverControlMsg.prototype.setId = function(value) {
    return jspb.Message.setProto3StringField(this, 2, value);
  };
  
  
  /**
   * optional string dapp_name = 3;
   * @return {string}
   */
  proto.darcher.DAppDriverControlMsg.prototype.getDappName = function() {
    return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, ""));
  };
  
  
  /**
   * @param {string} value
   * @return {!proto.darcher.DAppDriverControlMsg} returns this
   */
  proto.darcher.DAppDriverControlMsg.prototype.setDappName = function(value) {
    return jspb.Message.setProto3StringField(this, 3, value);
  };
  
  
  /**
   * optional string instance_id = 4;
   * @return {string}
   */
  proto.darcher.DAppDriverControlMsg.prototype.getInstanceId = function() {
    return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, ""));
  };
  
  
  /**
   * @param {string} value
   * @return {!proto.darcher.DAppDriverControlMsg} returns this
   */
  proto.darcher.DAppDriverControlMsg.prototype.setInstanceId = function(value) {
    return jspb.Message.setProto3StringField(this, 4, value);
  };
  
  
  /**
   * optional DAppDriverControlType control_type = 5;
   * @return {!proto.darcher.DAppDriverControlType}
   */
  proto.darcher.DAppDriverControlMsg.prototype.getControlType = function() {
    return /** @type {!proto.darcher.DAppDriverControlType} */ (jspb.Message.getFieldWithDefault(this, 5, 0));
  };
  
  
  /**
   * @param {!proto.darcher.DAppDriverControlType} value
   * @return {!proto.darcher.DAppDriverControlMsg} returns this
   */
  proto.darcher.DAppDriverControlMsg.prototype.setControlType = function(value) {
    return jspb.Message.setProto3EnumField(this, 5, value);
  };
  
  
  /**
   * @enum {number}
   */
  proto.darcher.DAppDriverControlType = {
    NILTYPE: 0,
    REFRESH: 1
  };
  
  goog.object.extend(exports, proto.darcher);
  