text: // source: beacons_v1.proto
  /**
   * @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')();
  
  goog.exportSymbol('proto.beacons_v1.Beacon', null, global);
  goog.exportSymbol('proto.beacons_v1.BeaconIdRequest', null, global);
  goog.exportSymbol('proto.beacons_v1.BeaconReply', null, global);
  goog.exportSymbol('proto.beacons_v1.BeaconRequest', null, global);
  goog.exportSymbol('proto.beacons_v1.BeaconUdiRequest', null, global);
  goog.exportSymbol('proto.beacons_v1.BeaconsPage', null, global);
  goog.exportSymbol('proto.beacons_v1.BeaconsPageReply', null, global);
  goog.exportSymbol('proto.beacons_v1.BeaconsPageRequest', null, global);
  goog.exportSymbol('proto.beacons_v1.BeaconsPositionReply', null, global);
  goog.exportSymbol('proto.beacons_v1.BeaconsPositionRequest', null, global);
  goog.exportSymbol('proto.beacons_v1.ErrorDescription', null, global);
  goog.exportSymbol('proto.beacons_v1.PagingParams', null, global);
  goog.exportSymbol('proto.beacons_v1.Point', 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.beacons_v1.ErrorDescription = function(opt_data) {
    jspb.Message.initialize(this, opt_data, 0, -1, null, null);
  };
  goog.inherits(proto.beacons_v1.ErrorDescription, jspb.Message);
  if (goog.DEBUG && !COMPILED) {
    /**
     * @public
     * @override
     */
    proto.beacons_v1.ErrorDescription.displayName = 'proto.beacons_v1.ErrorDescription';
  }
  /**
   * 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.beacons_v1.PagingParams = function(opt_data) {
    jspb.Message.initialize(this, opt_data, 0, -1, null, null);
  };
  goog.inherits(proto.beacons_v1.PagingParams, jspb.Message);
  if (goog.DEBUG && !COMPILED) {
    /**
     * @public
     * @override
     */
    proto.beacons_v1.PagingParams.displayName = 'proto.beacons_v1.PagingParams';
  }
  /**
   * 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.beacons_v1.Point = function(opt_data) {
    jspb.Message.initialize(this, opt_data, 0, -1, proto.beacons_v1.Point.repeatedFields_, null);
  };
  goog.inherits(proto.beacons_v1.Point, jspb.Message);
  if (goog.DEBUG && !COMPILED) {
    /**
     * @public
     * @override
     */
    proto.beacons_v1.Point.displayName = 'proto.beacons_v1.Point';
  }
  /**
   * 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.beacons_v1.Beacon = function(opt_data) {
    jspb.Message.initialize(this, opt_data, 0, -1, null, null);
  };
  goog.inherits(proto.beacons_v1.Beacon, jspb.Message);
  if (goog.DEBUG && !COMPILED) {
    /**
     * @public
     * @override
     */
    proto.beacons_v1.Beacon.displayName = 'proto.beacons_v1.Beacon';
  }
  /**
   * 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.beacons_v1.BeaconsPage = function(opt_data) {
    jspb.Message.initialize(this, opt_data, 0, -1, proto.beacons_v1.BeaconsPage.repeatedFields_, null);
  };
  goog.inherits(proto.beacons_v1.BeaconsPage, jspb.Message);
  if (goog.DEBUG && !COMPILED) {
    /**
     * @public
     * @override
     */
    proto.beacons_v1.BeaconsPage.displayName = 'proto.beacons_v1.BeaconsPage';
  }
  /**
   * 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.beacons_v1.BeaconsPageRequest = function(opt_data) {
    jspb.Message.initialize(this, opt_data, 0, -1, null, null);
  };
  goog.inherits(proto.beacons_v1.BeaconsPageRequest, jspb.Message);
  if (goog.DEBUG && !COMPILED) {
    /**
     * @public
     * @override
     */
    proto.beacons_v1.BeaconsPageRequest.displayName = 'proto.beacons_v1.BeaconsPageRequest';
  }
  /**
   * 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.beacons_v1.BeaconsPageReply = function(opt_data) {
    jspb.Message.initialize(this, opt_data, 0, -1, null, null);
  };
  goog.inherits(proto.beacons_v1.BeaconsPageReply, jspb.Message);
  if (goog.DEBUG && !COMPILED) {
    /**
     * @public
     * @override
     */
    proto.beacons_v1.BeaconsPageReply.displayName = 'proto.beacons_v1.BeaconsPageReply';
  }
  /**
   * 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.beacons_v1.BeaconIdRequest = function(opt_data) {
    jspb.Message.initialize(this, opt_data, 0, -1, null, null);
  };
  goog.inherits(proto.beacons_v1.BeaconIdRequest, jspb.Message);
  if (goog.DEBUG && !COMPILED) {
    /**
     * @public
     * @override
     */
    proto.beacons_v1.BeaconIdRequest.displayName = 'proto.beacons_v1.BeaconIdRequest';
  }
  /**
   * 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.beacons_v1.BeaconReply = function(opt_data) {
    jspb.Message.initialize(this, opt_data, 0, -1, null, null);
  };
  goog.inherits(proto.beacons_v1.BeaconReply, jspb.Message);
  if (goog.DEBUG && !COMPILED) {
    /**
     * @public
     * @override
     */
    proto.beacons_v1.BeaconReply.displayName = 'proto.beacons_v1.BeaconReply';
  }
  /**
   * 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.beacons_v1.BeaconUdiRequest = function(opt_data) {
    jspb.Message.initialize(this, opt_data, 0, -1, null, null);
  };
  goog.inherits(proto.beacons_v1.BeaconUdiRequest, jspb.Message);
  if (goog.DEBUG && !COMPILED) {
    /**
     * @public
     * @override
     */
    proto.beacons_v1.BeaconUdiRequest.displayName = 'proto.beacons_v1.BeaconUdiRequest';
  }
  /**
   * 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.beacons_v1.BeaconsPositionRequest = function(opt_data) {
    jspb.Message.initialize(this, opt_data, 0, -1, proto.beacons_v1.BeaconsPositionRequest.repeatedFields_, null);
  };
  goog.inherits(proto.beacons_v1.BeaconsPositionRequest, jspb.Message);
  if (goog.DEBUG && !COMPILED) {
    /**
     * @public
     * @override
     */
    proto.beacons_v1.BeaconsPositionRequest.displayName = 'proto.beacons_v1.BeaconsPositionRequest';
  }
  /**
   * 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.beacons_v1.BeaconsPositionReply = function(opt_data) {
    jspb.Message.initialize(this, opt_data, 0, -1, null, null);
  };
  goog.inherits(proto.beacons_v1.BeaconsPositionReply, jspb.Message);
  if (goog.DEBUG && !COMPILED) {
    /**
     * @public
     * @override
     */
    proto.beacons_v1.BeaconsPositionReply.displayName = 'proto.beacons_v1.BeaconsPositionReply';
  }
  /**
   * 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.beacons_v1.BeaconRequest = function(opt_data) {
    jspb.Message.initialize(this, opt_data, 0, -1, null, null);
  };
  goog.inherits(proto.beacons_v1.BeaconRequest, jspb.Message);
  if (goog.DEBUG && !COMPILED) {
    /**
     * @public
     * @override
     */
    proto.beacons_v1.BeaconRequest.displayName = 'proto.beacons_v1.BeaconRequest';
  }
  
  
  
  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.beacons_v1.ErrorDescription.prototype.toObject = function(opt_includeInstance) {
    return proto.beacons_v1.ErrorDescription.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.beacons_v1.ErrorDescription} msg The msg instance to transform.
   * @return {!Object}
   * @suppress {unusedLocalVariables} f is only used for nested messages
   */
  proto.beacons_v1.ErrorDescription.toObject = function(includeInstance, msg) {
    var f, obj = {
      type: jspb.Message.getFieldWithDefault(msg, 1, ""),
      category: jspb.Message.getFieldWithDefault(msg, 2, ""),
      code: jspb.Message.getFieldWithDefault(msg, 3, ""),
      correlationId: jspb.Message.getFieldWithDefault(msg, 4, ""),
      status: jspb.Message.getFieldWithDefault(msg, 5, ""),
      message: jspb.Message.getFieldWithDefault(msg, 6, ""),
      cause: jspb.Message.getFieldWithDefault(msg, 7, ""),
      stackTrace: jspb.Message.getFieldWithDefault(msg, 8, ""),
      detailsMap: (f = msg.getDetailsMap()) ? f.toObject(includeInstance, undefined) : []
    };
  
    if (includeInstance) {
      obj.$jspbMessageInstance = msg;
    }
    return obj;
  };
  }
  
  
  /**
   * Deserializes binary data (in protobuf wire format).
   * @param {jspb.ByteSource} bytes The bytes to deserialize.
   * @return {!proto.beacons_v1.ErrorDescription}
   */
  proto.beacons_v1.ErrorDescription.deserializeBinary = function(bytes) {
    var reader = new jspb.BinaryReader(bytes);
    var msg = new proto.beacons_v1.ErrorDescription;
    return proto.beacons_v1.ErrorDescription.deserializeBinaryFromReader(msg, reader);
  };
  
  
  /**
   * Deserializes binary data (in protobuf wire format) from the
   * given reader into the given message object.
   * @param {!proto.beacons_v1.ErrorDescription} msg The message object to deserialize into.
   * @param {!jspb.BinaryReader} reader The BinaryReader to use.
   * @return {!proto.beacons_v1.ErrorDescription}
   */
  proto.beacons_v1.ErrorDescription.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.setType(value);
        break;
      case 2:
        var value = /** @type {string} */ (reader.readString());
        msg.setCategory(value);
        break;
      case 3:
        var value = /** @type {string} */ (reader.readString());
        msg.setCode(value);
        break;
      case 4:
        var value = /** @type {string} */ (reader.readString());
        msg.setCorrelationId(value);
        break;
      case 5:
        var value = /** @type {string} */ (reader.readString());
        msg.setStatus(value);
        break;
      case 6:
        var value = /** @type {string} */ (reader.readString());
        msg.setMessage(value);
        break;
      case 7:
        var value = /** @type {string} */ (reader.readString());
        msg.setCause(value);
        break;
      case 8:
        var value = /** @type {string} */ (reader.readString());
        msg.setStackTrace(value);
        break;
      case 9:
        var value = msg.getDetailsMap();
        reader.readMessage(value, function(message, reader) {
          jspb.Map.deserializeBinary(message, reader, jspb.BinaryReader.prototype.readString, jspb.BinaryReader.prototype.readString, null, "", "");
           });
        break;
      default:
        reader.skipField();
        break;
      }
    }
    return msg;
  };
  
  
  /**
   * Serializes the message to binary data (in protobuf wire format).
   * @return {!Uint8Array}
   */
  proto.beacons_v1.ErrorDescription.prototype.serializeBinary = function() {
    var writer = new jspb.BinaryWriter();
    proto.beacons_v1.ErrorDescription.serializeBinaryToWriter(this, writer);
    return writer.getResultBuffer();
  };
  
  
  /**
   * Serializes the given message to binary data (in protobuf wire
   * format), writing to the given BinaryWriter.
   * @param {!proto.beacons_v1.ErrorDescription} message
   * @param {!jspb.BinaryWriter} writer
   * @suppress {unusedLocalVariables} f is only used for nested messages
   */
  proto.beacons_v1.ErrorDescription.serializeBinaryToWriter = function(message, writer) {
    var f = undefined;
    f = message.getType();
    if (f.length > 0) {
      writer.writeString(
        1,
        f
      );
    }
    f = message.getCategory();
    if (f.length > 0) {
      writer.writeString(
        2,
        f
      );
    }
    f = message.getCode();
    if (f.length > 0) {
      writer.writeString(
        3,
        f
      );
    }
    f = message.getCorrelationId();
    if (f.length > 0) {
      writer.writeString(
        4,
        f
      );
    }
    f = message.getStatus();
    if (f.length > 0) {
      writer.writeString(
        5,
        f
      );
    }
    f = message.getMessage();
    if (f.length > 0) {
      writer.writeString(
        6,
        f
      );
    }
    f = message.getCause();
    if (f.length > 0) {
      writer.writeString(
        7,
        f
      );
    }
    f = message.getStackTrace();
    if (f.length > 0) {
      writer.writeString(
        8,
        f
      );
    }
    f = message.getDetailsMap(true);
    if (f && f.getLength() > 0) {
      f.serializeBinary(9, writer, jspb.BinaryWriter.prototype.writeString, jspb.BinaryWriter.prototype.writeString);
    }
  };
  
  
  /**
   * optional string type = 1;
   * @return {string}
   */
  proto.beacons_v1.ErrorDescription.prototype.getType = function() {
    return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
  };
  
  
  /**
   * @param {string} value
   * @return {!proto.beacons_v1.ErrorDescription} returns this
   */
  proto.beacons_v1.ErrorDescription.prototype.setType = function(value) {
    return jspb.Message.setProto3StringField(this, 1, value);
  };
  
  
  /**
   * optional string category = 2;
   * @return {string}
   */
  proto.beacons_v1.ErrorDescription.prototype.getCategory = function() {
    return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
  };
  
  
  /**
   * @param {string} value
   * @return {!proto.beacons_v1.ErrorDescription} returns this
   */
  proto.beacons_v1.ErrorDescription.prototype.setCategory = function(value) {
    return jspb.Message.setProto3StringField(this, 2, value);
  };
  
  
  /**
   * optional string code = 3;
   * @return {string}
   */
  proto.beacons_v1.ErrorDescription.prototype.getCode = function() {
    return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, ""));
  };
  
  
  /**
   * @param {string} value
   * @return {!proto.beacons_v1.ErrorDescription} returns this
   */
  proto.beacons_v1.ErrorDescription.prototype.setCode = function(value) {
    return jspb.Message.setProto3StringField(this, 3, value);
  };
  
  
  /**
   * optional string correlation_id = 4;
   * @return {string}
   */
  proto.beacons_v1.ErrorDescription.prototype.getCorrelationId = function() {
    return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, ""));
  };
  
  
  /**
   * @param {string} value
   * @return {!proto.beacons_v1.ErrorDescription} returns this
   */
  proto.beacons_v1.ErrorDescription.prototype.setCorrelationId = function(value) {
    return jspb.Message.setProto3StringField(this, 4, value);
  };
  
  
  /**
   * optional string status = 5;
   * @return {string}
   */
  proto.beacons_v1.ErrorDescription.prototype.getStatus = function() {
    return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 5, ""));
  };
  
  
  /**
   * @param {string} value
   * @return {!proto.beacons_v1.ErrorDescription} returns this
   */
  proto.beacons_v1.ErrorDescription.prototype.setStatus = function(value) {
    return jspb.Message.setProto3StringField(this, 5, value);
  };
  
  
  /**
   * optional string message = 6;
   * @return {string}
   */
  proto.beacons_v1.ErrorDescription.prototype.getMessage = function() {
    return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 6, ""));
  };
  
  
  /**
   * @param {string} value
   * @return {!proto.beacons_v1.ErrorDescription} returns this
   */
  proto.beacons_v1.ErrorDescription.prototype.setMessage = function(value) {
    return jspb.Message.setProto3StringField(this, 6, value);
  };
  
  
  /**
   * optional string cause = 7;
   * @return {string}
   */
  proto.beacons_v1.ErrorDescription.prototype.getCause = function() {
    return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 7, ""));
  };
  
  
  /**
   * @param {string} value
   * @return {!proto.beacons_v1.ErrorDescription} returns this
   */
  proto.beacons_v1.ErrorDescription.prototype.setCause = function(value) {
    return jspb.Message.setProto3StringField(this, 7, value);
  };
  
  
  /**
   * optional string stack_trace = 8;
   * @return {string}
   */
  proto.beacons_v1.ErrorDescription.prototype.getStackTrace = function() {
    return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 8, ""));
  };
  
  
  /**
   * @param {string} value
   * @return {!proto.beacons_v1.ErrorDescription} returns this
   */
  proto.beacons_v1.ErrorDescription.prototype.setStackTrace = function(value) {
    return jspb.Message.setProto3StringField(this, 8, value);
  };
  
  
  /**
   * map<string, string> details = 9;
   * @param {boolean=} opt_noLazyCreate Do not create the map if
   * empty, instead returning `undefined`
   * @return {!jspb.Map<string,string>}
   */
  proto.beacons_v1.ErrorDescription.prototype.getDetailsMap = function(opt_noLazyCreate) {
    return /** @type {!jspb.Map<string,string>} */ (
        jspb.Message.getMapField(this, 9, opt_noLazyCreate,
        null));
  };
  
  
  /**
   * Clears values from the map. The map will be non-null.
   * @return {!proto.beacons_v1.ErrorDescription} returns this
   */
  proto.beacons_v1.ErrorDescription.prototype.clearDetailsMap = function() {
    this.getDetailsMap().clear();
    return this;};
  
  
  
  
  
  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.beacons_v1.PagingParams.prototype.toObject = function(opt_includeInstance) {
    return proto.beacons_v1.PagingParams.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.beacons_v1.PagingParams} msg The msg instance to transform.
   * @return {!Object}
   * @suppress {unusedLocalVariables} f is only used for nested messages
   */
  proto.beacons_v1.PagingParams.toObject = function(includeInstance, msg) {
    var f, obj = {
      skip: jspb.Message.getFieldWithDefault(msg, 1, null),
      take: jspb.Message.getFieldWithDefault(msg, 2, null),
      total: jspb.Message.getBooleanFieldWithDefault(msg, 3, false)
    };
  
    if (includeInstance) {
      obj.$jspbMessageInstance = msg;
    }
    return obj;
  };
  }
  
  
  /**
   * Deserializes binary data (in protobuf wire format).
   * @param {jspb.ByteSource} bytes The bytes to deserialize.
   * @return {!proto.beacons_v1.PagingParams}
   */
  proto.beacons_v1.PagingParams.deserializeBinary = function(bytes) {
    var reader = new jspb.BinaryReader(bytes);
    var msg = new proto.beacons_v1.PagingParams;
    return proto.beacons_v1.PagingParams.deserializeBinaryFromReader(msg, reader);
  };
  
  
  /**
   * Deserializes binary data (in protobuf wire format) from the
   * given reader into the given message object.
   * @param {!proto.beacons_v1.PagingParams} msg The message object to deserialize into.
   * @param {!jspb.BinaryReader} reader The BinaryReader to use.
   * @return {!proto.beacons_v1.PagingParams}
   */
  proto.beacons_v1.PagingParams.deserializeBinaryFromReader = function(msg, reader) {
    while (reader.nextField()) {
      if (reader.isEndGroup()) {
        break;
      }
      var field = reader.getFieldNumber();
      switch (field) {
      case 1:
        var value = /** @type {number} */ (reader.readInt64());
        msg.setSkip(value);
        break;
      case 2:
        var value = /** @type {number} */ (reader.readInt32());
        msg.setTake(value);
        break;
      case 3:
        var value = /** @type {boolean} */ (reader.readBool());
        msg.setTotal(value);
        break;
      default:
        reader.skipField();
        break;
      }
    }
    return msg;
  };
  
  
  /**
   * Serializes the message to binary data (in protobuf wire format).
   * @return {!Uint8Array}
   */
  proto.beacons_v1.PagingParams.prototype.serializeBinary = function() {
    var writer = new jspb.BinaryWriter();
    proto.beacons_v1.PagingParams.serializeBinaryToWriter(this, writer);
    return writer.getResultBuffer();
  };
  
  
  /**
   * Serializes the given message to binary data (in protobuf wire
   * format), writing to the given BinaryWriter.
   * @param {!proto.beacons_v1.PagingParams} message
   * @param {!jspb.BinaryWriter} writer
   * @suppress {unusedLocalVariables} f is only used for nested messages
   */
  proto.beacons_v1.PagingParams.serializeBinaryToWriter = function(message, writer) {
    var f = undefined;
    f = message.getSkip();
    if (f !== 0) {
      writer.writeInt64(
        1,
        f
      );
    }
    f = message.getTake();
    if (f !== 0) {
      writer.writeInt32(
        2,
        f
      );
    }
    f = message.getTotal();
    if (f) {
      writer.writeBool(
        3,
        f
      );
    }
  };
  
  
  /**
   * optional int64 skip = 1;
   * @return {number}
   */
  proto.beacons_v1.PagingParams.prototype.getSkip = function() {
    return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, null));
  };
  
  
  /**
   * @param {number} value
   * @return {!proto.beacons_v1.PagingParams} returns this
   */
  proto.beacons_v1.PagingParams.prototype.setSkip = function(value) {
    return jspb.Message.setProto3IntField(this, 1, value);
  };
  
  
  /**
   * optional int32 take = 2;
   * @return {number}
   */
  proto.beacons_v1.PagingParams.prototype.getTake = function() {
    return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, null));
  };
  
  
  /**
   * @param {number} value
   * @return {!proto.beacons_v1.PagingParams} returns this
   */
  proto.beacons_v1.PagingParams.prototype.setTake = function(value) {
    return jspb.Message.setProto3IntField(this, 2, value);
  };
  
  
  /**
   * optional bool total = 3;
   * @return {boolean}
   */
  proto.beacons_v1.PagingParams.prototype.getTotal = function() {
    return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 3, false));
  };
  
  
  /**
   * @param {boolean} value
   * @return {!proto.beacons_v1.PagingParams} returns this
   */
  proto.beacons_v1.PagingParams.prototype.setTotal = function(value) {
    return jspb.Message.setProto3BooleanField(this, 3, value);
  };
  
  
  
  /**
   * List of repeated fields within this message type.
   * @private {!Array<number>}
   * @const
   */
  proto.beacons_v1.Point.repeatedFields_ = [2];
  
  
  
  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.beacons_v1.Point.prototype.toObject = function(opt_includeInstance) {
    return proto.beacons_v1.Point.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.beacons_v1.Point} msg The msg instance to transform.
   * @return {!Object}
   * @suppress {unusedLocalVariables} f is only used for nested messages
   */
  proto.beacons_v1.Point.toObject = function(includeInstance, msg) {
    var f, obj = {
      type: jspb.Message.getFieldWithDefault(msg, 1, ""),
      coordinatesList: (f = jspb.Message.getRepeatedFloatingPointField(msg, 2)) == null ? undefined : 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.beacons_v1.Point}
   */
  proto.beacons_v1.Point.deserializeBinary = function(bytes) {
    var reader = new jspb.BinaryReader(bytes);
    var msg = new proto.beacons_v1.Point;
    return proto.beacons_v1.Point.deserializeBinaryFromReader(msg, reader);
  };
  
  
  /**
   * Deserializes binary data (in protobuf wire format) from the
   * given reader into the given message object.
   * @param {!proto.beacons_v1.Point} msg The message object to deserialize into.
   * @param {!jspb.BinaryReader} reader The BinaryReader to use.
   * @return {!proto.beacons_v1.Point}
   */
  proto.beacons_v1.Point.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.setType(value);
        break;
      case 2:
        var value = /** @type {!Array<number>} */ (reader.readPackedDouble());
        msg.setCoordinatesList(value);
        break;
      default:
        reader.skipField();
        break;
      }
    }
    return msg;
  };
  
  
  /**
   * Serializes the message to binary data (in protobuf wire format).
   * @return {!Uint8Array}
   */
  proto.beacons_v1.Point.prototype.serializeBinary = function() {
    var writer = new jspb.BinaryWriter();
    proto.beacons_v1.Point.serializeBinaryToWriter(this, writer);
    return writer.getResultBuffer();
  };
  
  
  /**
   * Serializes the given message to binary data (in protobuf wire
   * format), writing to the given BinaryWriter.
   * @param {!proto.beacons_v1.Point} message
   * @param {!jspb.BinaryWriter} writer
   * @suppress {unusedLocalVariables} f is only used for nested messages
   */
  proto.beacons_v1.Point.serializeBinaryToWriter = function(message, writer) {
    var f = undefined;
    f = message.getType();
    if (f.length > 0) {
      writer.writeString(
        1,
        f
      );
    }
    f = message.getCoordinatesList();
    if (f.length > 0) {
      writer.writePackedDouble(
        2,
        f
      );
    }
  };
  
  
  /**
   * optional string type = 1;
   * @return {string}
   */
  proto.beacons_v1.Point.prototype.getType = function() {
    return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
  };
  
  
  /**
   * @param {string} value
   * @return {!proto.beacons_v1.Point} returns this
   */
  proto.beacons_v1.Point.prototype.setType = function(value) {
    return jspb.Message.setProto3StringField(this, 1, value);
  };
  
  
  /**
   * repeated double coordinates = 2;
   * @return {!Array<number>}
   */
  proto.beacons_v1.Point.prototype.getCoordinatesList = function() {
    return /** @type {!Array<number>} */ (jspb.Message.getRepeatedFloatingPointField(this, 2));
  };
  
  
  /**
   * @param {!Array<number>} value
   * @return {!proto.beacons_v1.Point} returns this
   */
  proto.beacons_v1.Point.prototype.setCoordinatesList = function(value) {
    return jspb.Message.setField(this, 2, value || []);
  };
  
  
  /**
   * @param {number} value
   * @param {number=} opt_index
   * @return {!proto.beacons_v1.Point} returns this
   */
  proto.beacons_v1.Point.prototype.addCoordinates = function(value, opt_index) {
    return jspb.Message.addToRepeatedField(this, 2, value, opt_index);
  };
  
  
  /**
   * Clears the list making it empty but non-null.
   * @return {!proto.beacons_v1.Point} returns this
   */
  proto.beacons_v1.Point.prototype.clearCoordinatesList = function() {
    return this.setCoordinatesList([]);
  };
  
  
  
  
  
  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.beacons_v1.Beacon.prototype.toObject = function(opt_includeInstance) {
    return proto.beacons_v1.Beacon.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.beacons_v1.Beacon} msg The msg instance to transform.
   * @return {!Object}
   * @suppress {unusedLocalVariables} f is only used for nested messages
   */
  proto.beacons_v1.Beacon.toObject = function(includeInstance, msg) {
    var f, obj = {
      id: jspb.Message.getFieldWithDefault(msg, 1, ""),
      siteId: jspb.Message.getFieldWithDefault(msg, 2, ""),
      type: jspb.Message.getFieldWithDefault(msg, 3, ""),
      udi: jspb.Message.getFieldWithDefault(msg, 4, ""),
      label: jspb.Message.getFieldWithDefault(msg, 5, ""),
      center: (f = msg.getCenter()) && proto.beacons_v1.Point.toObject(includeInstance, f),
      radius: jspb.Message.getFloatingPointFieldWithDefault(msg, 7, 0.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.beacons_v1.Beacon}
   */
  proto.beacons_v1.Beacon.deserializeBinary = function(bytes) {
    var reader = new jspb.BinaryReader(bytes);
    var msg = new proto.beacons_v1.Beacon;
    return proto.beacons_v1.Beacon.deserializeBinaryFromReader(msg, reader);
  };
  
  
  /**
   * Deserializes binary data (in protobuf wire format) from the
   * given reader into the given message object.
   * @param {!proto.beacons_v1.Beacon} msg The message object to deserialize into.
   * @param {!jspb.BinaryReader} reader The BinaryReader to use.
   * @return {!proto.beacons_v1.Beacon}
   */
  proto.beacons_v1.Beacon.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.setId(value);
        break;
      case 2:
        var value = /** @type {string} */ (reader.readString());
        msg.setSiteId(value);
        break;
      case 3:
        var value = /** @type {string} */ (reader.readString());
        msg.setType(value);
        break;
      case 4:
        var value = /** @type {string} */ (reader.readString());
        msg.setUdi(value);
        break;
      case 5:
        var value = /** @type {string} */ (reader.readString());
        msg.setLabel(value);
        break;
      case 6:
        var value = new proto.beacons_v1.Point;
        reader.readMessage(value,proto.beacons_v1.Point.deserializeBinaryFromReader);
        msg.setCenter(value);
        break;
      case 7:
        var value = /** @type {number} */ (reader.readDouble());
        msg.setRadius(value);
        break;
      default:
        reader.skipField();
        break;
      }
    }
    return msg;
  };
  
  
  /**
   * Serializes the message to binary data (in protobuf wire format).
   * @return {!Uint8Array}
   */
  proto.beacons_v1.Beacon.prototype.serializeBinary = function() {
    var writer = new jspb.BinaryWriter();
    proto.beacons_v1.Beacon.serializeBinaryToWriter(this, writer);
    return writer.getResultBuffer();
  };
  
  
  /**
   * Serializes the given message to binary data (in protobuf wire
   * format), writing to the given BinaryWriter.
   * @param {!proto.beacons_v1.Beacon} message
   * @param {!jspb.BinaryWriter} writer
   * @suppress {unusedLocalVariables} f is only used for nested messages
   */
  proto.beacons_v1.Beacon.serializeBinaryToWriter = function(message, writer) {
    var f = undefined;
    f = message.getId();
    if (f.length > 0) {
      writer.writeString(
        1,
        f
      );
    }
    f = message.getSiteId();
    if (f.length > 0) {
      writer.writeString(
        2,
        f
      );
    }
    f = message.getType();
    if (f.length > 0) {
      writer.writeString(
        3,
        f
      );
    }
    f = message.getUdi();
    if (f.length > 0) {
      writer.writeString(
        4,
        f
      );
    }
    f = message.getLabel();
    if (f.length > 0) {
      writer.writeString(
        5,
        f
      );
    }
    f = message.getCenter();
    if (f != null) {
      writer.writeMessage(
        6,
        f,
        proto.beacons_v1.Point.serializeBinaryToWriter
      );
    }
    f = message.getRadius();
    if (f !== 0.0) {
      writer.writeDouble(
        7,
        f
      );
    }
  };
  
  
  /**
   * optional string id = 1;
   * @return {string}
   */
  proto.beacons_v1.Beacon.prototype.getId = function() {
    return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
  };
  
  
  /**
   * @param {string} value
   * @return {!proto.beacons_v1.Beacon} returns this
   */
  proto.beacons_v1.Beacon.prototype.setId = function(value) {
    return jspb.Message.setProto3StringField(this, 1, value);
  };
  
  
  /**
   * optional string site_id = 2;
   * @return {string}
   */
  proto.beacons_v1.Beacon.prototype.getSiteId = function() {
    return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
  };
  
  
  /**
   * @param {string} value
   * @return {!proto.beacons_v1.Beacon} returns this
   */
  proto.beacons_v1.Beacon.prototype.setSiteId = function(value) {
    return jspb.Message.setProto3StringField(this, 2, value);
  };
  
  
  /**
   * optional string type = 3;
   * @return {string}
   */
  proto.beacons_v1.Beacon.prototype.getType = function() {
    return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, ""));
  };
  
  
  /**
   * @param {string} value
   * @return {!proto.beacons_v1.Beacon} returns this
   */
  proto.beacons_v1.Beacon.prototype.setType = function(value) {
    return jspb.Message.setProto3StringField(this, 3, value);
  };
  
  
  /**
   * optional string udi = 4;
   * @return {string}
   */
  proto.beacons_v1.Beacon.prototype.getUdi = function() {
    return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, ""));
  };
  
  
  /**
   * @param {string} value
   * @return {!proto.beacons_v1.Beacon} returns this
   */
  proto.beacons_v1.Beacon.prototype.setUdi = function(value) {
    return jspb.Message.setProto3StringField(this, 4, value);
  };
  
  
  /**
   * optional string label = 5;
   * @return {string}
   */
  proto.beacons_v1.Beacon.prototype.getLabel = function() {
    return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 5, ""));
  };
  
  
  /**
   * @param {string} value
   * @return {!proto.beacons_v1.Beacon} returns this
   */
  proto.beacons_v1.Beacon.prototype.setLabel = function(value) {
    return jspb.Message.setProto3StringField(this, 5, value);
  };
  
  
  /**
   * optional Point center = 6;
   * @return {?proto.beacons_v1.Point}
   */
  proto.beacons_v1.Beacon.prototype.getCenter = function() {
    return /** @type{?proto.beacons_v1.Point} */ (
      jspb.Message.getWrapperField(this, proto.beacons_v1.Point, 6));
  };
  
  
  /**
   * @param {?proto.beacons_v1.Point|undefined} value
   * @return {!proto.beacons_v1.Beacon} returns this
  */
  proto.beacons_v1.Beacon.prototype.setCenter = function(value) {
    return jspb.Message.setWrapperField(this, 6, value);
  };
  
  
  /**
   * Clears the message field making it undefined.
   * @return {!proto.beacons_v1.Beacon} returns this
   */
  proto.beacons_v1.Beacon.prototype.clearCenter = function() {
    return this.setCenter(undefined);
  };
  
  
  /**
   * Returns whether this field is set.
   * @return {boolean}
   */
  proto.beacons_v1.Beacon.prototype.hasCenter = function() {
    return jspb.Message.getField(this, 6) != null;
  };
  
  
  /**
   * optional double radius = 7;
   * @return {number}
   */
  proto.beacons_v1.Beacon.prototype.getRadius = function() {
    return /** @type {number} */ (jspb.Message.getFloatingPointFieldWithDefault(this, 7, 0.0));
  };
  
  
  /**
   * @param {number} value
   * @return {!proto.beacons_v1.Beacon} returns this
   */
  proto.beacons_v1.Beacon.prototype.setRadius = function(value) {
    return jspb.Message.setProto3FloatField(this, 7, value);
  };
  
  
  
  /**
   * List of repeated fields within this message type.
   * @private {!Array<number>}
   * @const
   */
  proto.beacons_v1.BeaconsPage.repeatedFields_ = [2];
  
  
  
  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.beacons_v1.BeaconsPage.prototype.toObject = function(opt_includeInstance) {
    return proto.beacons_v1.BeaconsPage.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.beacons_v1.BeaconsPage} msg The msg instance to transform.
   * @return {!Object}
   * @suppress {unusedLocalVariables} f is only used for nested messages
   */
  proto.beacons_v1.BeaconsPage.toObject = function(includeInstance, msg) {
    var f, obj = {
      total: jspb.Message.getFieldWithDefault(msg, 1, 0),
      dataList: jspb.Message.toObjectList(msg.getDataList(),
      proto.beacons_v1.Beacon.toObject, includeInstance)
    };
  
    if (includeInstance) {
      obj.$jspbMessageInstance = msg;
    }
    return obj;
  };
  }
  
  
  /**
   * Deserializes binary data (in protobuf wire format).
   * @param {jspb.ByteSource} bytes The bytes to deserialize.
   * @return {!proto.beacons_v1.BeaconsPage}
   */
  proto.beacons_v1.BeaconsPage.deserializeBinary = function(bytes) {
    var reader = new jspb.BinaryReader(bytes);
    var msg = new proto.beacons_v1.BeaconsPage;
    return proto.beacons_v1.BeaconsPage.deserializeBinaryFromReader(msg, reader);
  };
  
  
  /**
   * Deserializes binary data (in protobuf wire format) from the
   * given reader into the given message object.
   * @param {!proto.beacons_v1.BeaconsPage} msg The message object to deserialize into.
   * @param {!jspb.BinaryReader} reader The BinaryReader to use.
   * @return {!proto.beacons_v1.BeaconsPage}
   */
  proto.beacons_v1.BeaconsPage.deserializeBinaryFromReader = function(msg, reader) {
    while (reader.nextField()) {
      if (reader.isEndGroup()) {
        break;
      }
      var field = reader.getFieldNumber();
      switch (field) {
      case 1:
        var value = /** @type {number} */ (reader.readInt64());
        msg.setTotal(value);
        break;
      case 2:
        var value = new proto.beacons_v1.Beacon;
        reader.readMessage(value,proto.beacons_v1.Beacon.deserializeBinaryFromReader);
        msg.addData(value);
        break;
      default:
        reader.skipField();
        break;
      }
    }
    return msg;
  };
  
  
  /**
   * Serializes the message to binary data (in protobuf wire format).
   * @return {!Uint8Array}
   */
  proto.beacons_v1.BeaconsPage.prototype.serializeBinary = function() {
    var writer = new jspb.BinaryWriter();
    proto.beacons_v1.BeaconsPage.serializeBinaryToWriter(this, writer);
    return writer.getResultBuffer();
  };
  
  
  /**
   * Serializes the given message to binary data (in protobuf wire
   * format), writing to the given BinaryWriter.
   * @param {!proto.beacons_v1.BeaconsPage} message
   * @param {!jspb.BinaryWriter} writer
   * @suppress {unusedLocalVariables} f is only used for nested messages
   */
  proto.beacons_v1.BeaconsPage.serializeBinaryToWriter = function(message, writer) {
    var f = undefined;
    f = message.getTotal();
    if (f !== 0) {
      writer.writeInt64(
        1,
        f
      );
    }
    f = message.getDataList();
    if (f.length > 0) {
      writer.writeRepeatedMessage(
        2,
        f,
        proto.beacons_v1.Beacon.serializeBinaryToWriter
      );
    }
  };
  
  
  /**
   * optional int64 total = 1;
   * @return {number}
   */
  proto.beacons_v1.BeaconsPage.prototype.getTotal = function() {
    return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));
  };
  
  
  /**
   * @param {number} value
   * @return {!proto.beacons_v1.BeaconsPage} returns this
   */
  proto.beacons_v1.BeaconsPage.prototype.setTotal = function(value) {
    return jspb.Message.setProto3IntField(this, 1, value);
  };
  
  
  /**
   * repeated Beacon data = 2;
   * @return {!Array<!proto.beacons_v1.Beacon>}
   */
  proto.beacons_v1.BeaconsPage.prototype.getDataList = function() {
    return /** @type{!Array<!proto.beacons_v1.Beacon>} */ (
      jspb.Message.getRepeatedWrapperField(this, proto.beacons_v1.Beacon, 2));
  };
  
  
  /**
   * @param {!Array<!proto.beacons_v1.Beacon>} value
   * @return {!proto.beacons_v1.BeaconsPage} returns this
  */
  proto.beacons_v1.BeaconsPage.prototype.setDataList = function(value) {
    return jspb.Message.setRepeatedWrapperField(this, 2, value);
  };
  
  
  /**
   * @param {!proto.beacons_v1.Beacon=} opt_value
   * @param {number=} opt_index
   * @return {!proto.beacons_v1.Beacon}
   */
  proto.beacons_v1.BeaconsPage.prototype.addData = function(opt_value, opt_index) {
    return jspb.Message.addToRepeatedWrapperField(this, 2, opt_value, proto.beacons_v1.Beacon, opt_index);
  };
  
  
  /**
   * Clears the list making it empty but non-null.
   * @return {!proto.beacons_v1.BeaconsPage} returns this
   */
  proto.beacons_v1.BeaconsPage.prototype.clearDataList = function() {
    return this.setDataList([]);
  };
  
  
  
  
  
  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.beacons_v1.BeaconsPageRequest.prototype.toObject = function(opt_includeInstance) {
    return proto.beacons_v1.BeaconsPageRequest.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.beacons_v1.BeaconsPageRequest} msg The msg instance to transform.
   * @return {!Object}
   * @suppress {unusedLocalVariables} f is only used for nested messages
   */
  proto.beacons_v1.BeaconsPageRequest.toObject = function(includeInstance, msg) {
    var f, obj = {
      correlationId: jspb.Message.getFieldWithDefault(msg, 1, ""),
      filterMap: (f = msg.getFilterMap()) ? f.toObject(includeInstance, undefined) : [],
      paging: (f = msg.getPaging()) && proto.beacons_v1.PagingParams.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.beacons_v1.BeaconsPageRequest}
   */
  proto.beacons_v1.BeaconsPageRequest.deserializeBinary = function(bytes) {
    var reader = new jspb.BinaryReader(bytes);
    var msg = new proto.beacons_v1.BeaconsPageRequest;
    return proto.beacons_v1.BeaconsPageRequest.deserializeBinaryFromReader(msg, reader);
  };
  
  
  /**
   * Deserializes binary data (in protobuf wire format) from the
   * given reader into the given message object.
   * @param {!proto.beacons_v1.BeaconsPageRequest} msg The message object to deserialize into.
   * @param {!jspb.BinaryReader} reader The BinaryReader to use.
   * @return {!proto.beacons_v1.BeaconsPageRequest}
   */
  proto.beacons_v1.BeaconsPageRequest.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.setCorrelationId(value);
        break;
      case 2:
        var value = msg.getFilterMap();
        reader.readMessage(value, function(message, reader) {
          jspb.Map.deserializeBinary(message, reader, jspb.BinaryReader.prototype.readString, jspb.BinaryReader.prototype.readString, null, "", "");
           });
        break;
      case 3:
        var value = new proto.beacons_v1.PagingParams;
        reader.readMessage(value,proto.beacons_v1.PagingParams.deserializeBinaryFromReader);
        msg.setPaging(value);
        break;
      default:
        reader.skipField();
        break;
      }
    }
    return msg;
  };
  
  
  /**
   * Serializes the message to binary data (in protobuf wire format).
   * @return {!Uint8Array}
   */
  proto.beacons_v1.BeaconsPageRequest.prototype.serializeBinary = function() {
    var writer = new jspb.BinaryWriter();
    proto.beacons_v1.BeaconsPageRequest.serializeBinaryToWriter(this, writer);
    return writer.getResultBuffer();
  };
  
  
  /**
   * Serializes the given message to binary data (in protobuf wire
   * format), writing to the given BinaryWriter.
   * @param {!proto.beacons_v1.BeaconsPageRequest} message
   * @param {!jspb.BinaryWriter} writer
   * @suppress {unusedLocalVariables} f is only used for nested messages
   */
  proto.beacons_v1.BeaconsPageRequest.serializeBinaryToWriter = function(message, writer) {
    var f = undefined;
    f = message.getCorrelationId();
    if (f.length > 0) {
      writer.writeString(
        1,
        f
      );
    }
    f = message.getFilterMap(true);
    if (f && f.getLength() > 0) {
      f.serializeBinary(2, writer, jspb.BinaryWriter.prototype.writeString, jspb.BinaryWriter.prototype.writeString);
    }
    f = message.getPaging();
    if (f != null) {
      writer.writeMessage(
        3,
        f,
        proto.beacons_v1.PagingParams.serializeBinaryToWriter
      );
    }
  };
  
  
  /**
   * optional string correlation_id = 1;
   * @return {string}
   */
  proto.beacons_v1.BeaconsPageRequest.prototype.getCorrelationId = function() {
    return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
  };
  
  
  /**
   * @param {string} value
   * @return {!proto.beacons_v1.BeaconsPageRequest} returns this
   */
  proto.beacons_v1.BeaconsPageRequest.prototype.setCorrelationId = function(value) {
    return jspb.Message.setProto3StringField(this, 1, value);
  };
  
  
  /**
   * map<string, string> filter = 2;
   * @param {boolean=} opt_noLazyCreate Do not create the map if
   * empty, instead returning `undefined`
   * @return {!jspb.Map<string,string>}
   */
  proto.beacons_v1.BeaconsPageRequest.prototype.getFilterMap = function(opt_noLazyCreate) {
    return /** @type {!jspb.Map<string,string>} */ (
        jspb.Message.getMapField(this, 2, opt_noLazyCreate,
        null));
  };
  
  
  /**
   * Clears values from the map. The map will be non-null.
   * @return {!proto.beacons_v1.BeaconsPageRequest} returns this
   */
  proto.beacons_v1.BeaconsPageRequest.prototype.clearFilterMap = function() {
    this.getFilterMap().clear();
    return this;};
  
  
  /**
   * optional PagingParams paging = 3;
   * @return {?proto.beacons_v1.PagingParams}
   */
  proto.beacons_v1.BeaconsPageRequest.prototype.getPaging = function() {
    return /** @type{?proto.beacons_v1.PagingParams} */ (
      jspb.Message.getWrapperField(this, proto.beacons_v1.PagingParams, 3));
  };
  
  
  /**
   * @param {?proto.beacons_v1.PagingParams|undefined} value
   * @return {!proto.beacons_v1.BeaconsPageRequest} returns this
  */
  proto.beacons_v1.BeaconsPageRequest.prototype.setPaging = function(value) {
    return jspb.Message.setWrapperField(this, 3, value);
  };
  
  
  /**
   * Clears the message field making it undefined.
   * @return {!proto.beacons_v1.BeaconsPageRequest} returns this
   */
  proto.beacons_v1.BeaconsPageRequest.prototype.clearPaging = function() {
    return this.setPaging(undefined);
  };
  
  
  /**
   * Returns whether this field is set.
   * @return {boolean}
   */
  proto.beacons_v1.BeaconsPageRequest.prototype.hasPaging = function() {
    return jspb.Message.getField(this, 3) != null;
  };
  
  
  
  
  
  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.beacons_v1.BeaconsPageReply.prototype.toObject = function(opt_includeInstance) {
    return proto.beacons_v1.BeaconsPageReply.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.beacons_v1.BeaconsPageReply} msg The msg instance to transform.
   * @return {!Object}
   * @suppress {unusedLocalVariables} f is only used for nested messages
   */
  proto.beacons_v1.BeaconsPageReply.toObject = function(includeInstance, msg) {
    var f, obj = {
      error: (f = msg.getError()) && proto.beacons_v1.ErrorDescription.toObject(includeInstance, f),
      page: (f = msg.getPage()) && proto.beacons_v1.BeaconsPage.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.beacons_v1.BeaconsPageReply}
   */
  proto.beacons_v1.BeaconsPageReply.deserializeBinary = function(bytes) {
    var reader = new jspb.BinaryReader(bytes);
    var msg = new proto.beacons_v1.BeaconsPageReply;
    return proto.beacons_v1.BeaconsPageReply.deserializeBinaryFromReader(msg, reader);
  };
  
  
  /**
   * Deserializes binary data (in protobuf wire format) from the
   * given reader into the given message object.
   * @param {!proto.beacons_v1.BeaconsPageReply} msg The message object to deserialize into.
   * @param {!jspb.BinaryReader} reader The BinaryReader to use.
   * @return {!proto.beacons_v1.BeaconsPageReply}
   */
  proto.beacons_v1.BeaconsPageReply.deserializeBinaryFromReader = function(msg, reader) {
    while (reader.nextField()) {
      if (reader.isEndGroup()) {
        break;
      }
      var field = reader.getFieldNumber();
      switch (field) {
      case 1:
        var value = new proto.beacons_v1.ErrorDescription;
        reader.readMessage(value,proto.beacons_v1.ErrorDescription.deserializeBinaryFromReader);
        msg.setError(value);
        break;
      case 2:
        var value = new proto.beacons_v1.BeaconsPage;
        reader.readMessage(value,proto.beacons_v1.BeaconsPage.deserializeBinaryFromReader);
        msg.setPage(value);
        break;
      default:
        reader.skipField();
        break;
      }
    }
    return msg;
  };
  
  
  /**
   * Serializes the message to binary data (in protobuf wire format).
   * @return {!Uint8Array}
   */
  proto.beacons_v1.BeaconsPageReply.prototype.serializeBinary = function() {
    var writer = new jspb.BinaryWriter();
    proto.beacons_v1.BeaconsPageReply.serializeBinaryToWriter(this, writer);
    return writer.getResultBuffer();
  };
  
  
  /**
   * Serializes the given message to binary data (in protobuf wire
   * format), writing to the given BinaryWriter.
   * @param {!proto.beacons_v1.BeaconsPageReply} message
   * @param {!jspb.BinaryWriter} writer
   * @suppress {unusedLocalVariables} f is only used for nested messages
   */
  proto.beacons_v1.BeaconsPageReply.serializeBinaryToWriter = function(message, writer) {
    var f = undefined;
    f = message.getError();
    if (f != null) {
      writer.writeMessage(
        1,
        f,
        proto.beacons_v1.ErrorDescription.serializeBinaryToWriter
      );
    }
    f = message.getPage();
    if (f != null) {
      writer.writeMessage(
        2,
        f,
        proto.beacons_v1.BeaconsPage.serializeBinaryToWriter
      );
    }
  };
  
  
  /**
   * optional ErrorDescription error = 1;
   * @return {?proto.beacons_v1.ErrorDescription}
   */
  proto.beacons_v1.BeaconsPageReply.prototype.getError = function() {
    return /** @type{?proto.beacons_v1.ErrorDescription} */ (
      jspb.Message.getWrapperField(this, proto.beacons_v1.ErrorDescription, 1));
  };
  
  
  /**
   * @param {?proto.beacons_v1.ErrorDescription|undefined} value
   * @return {!proto.beacons_v1.BeaconsPageReply} returns this
  */
  proto.beacons_v1.BeaconsPageReply.prototype.setError = function(value) {
    return jspb.Message.setWrapperField(this, 1, value);
  };
  
  
  /**
   * Clears the message field making it undefined.
   * @return {!proto.beacons_v1.BeaconsPageReply} returns this
   */
  proto.beacons_v1.BeaconsPageReply.prototype.clearError = function() {
    return this.setError(undefined);
  };
  
  
  /**
   * Returns whether this field is set.
   * @return {boolean}
   */
  proto.beacons_v1.BeaconsPageReply.prototype.hasError = function() {
    return jspb.Message.getField(this, 1) != null;
  };
  
  
  /**
   * optional BeaconsPage page = 2;
   * @return {?proto.beacons_v1.BeaconsPage}
   */
  proto.beacons_v1.BeaconsPageReply.prototype.getPage = function() {
    return /** @type{?proto.beacons_v1.BeaconsPage} */ (
      jspb.Message.getWrapperField(this, proto.beacons_v1.BeaconsPage, 2));
  };
  
  
  /**
   * @param {?proto.beacons_v1.BeaconsPage|undefined} value
   * @return {!proto.beacons_v1.BeaconsPageReply} returns this
  */
  proto.beacons_v1.BeaconsPageReply.prototype.setPage = function(value) {
    return jspb.Message.setWrapperField(this, 2, value);
  };
  
  
  /**
   * Clears the message field making it undefined.
   * @return {!proto.beacons_v1.BeaconsPageReply} returns this
   */
  proto.beacons_v1.BeaconsPageReply.prototype.clearPage = function() {
    return this.setPage(undefined);
  };
  
  
  /**
   * Returns whether this field is set.
   * @return {boolean}
   */
  proto.beacons_v1.BeaconsPageReply.prototype.hasPage = function() {
    return jspb.Message.getField(this, 2) != null;
  };
  
  
  
  
  
  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.beacons_v1.BeaconIdRequest.prototype.toObject = function(opt_includeInstance) {
    return proto.beacons_v1.BeaconIdRequest.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.beacons_v1.BeaconIdRequest} msg The msg instance to transform.
   * @return {!Object}
   * @suppress {unusedLocalVariables} f is only used for nested messages
   */
  proto.beacons_v1.BeaconIdRequest.toObject = function(includeInstance, msg) {
    var f, obj = {
      correlationId: jspb.Message.getFieldWithDefault(msg, 1, ""),
      beaconId: 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.beacons_v1.BeaconIdRequest}
   */
  proto.beacons_v1.BeaconIdRequest.deserializeBinary = function(bytes) {
    var reader = new jspb.BinaryReader(bytes);
    var msg = new proto.beacons_v1.BeaconIdRequest;
    return proto.beacons_v1.BeaconIdRequest.deserializeBinaryFromReader(msg, reader);
  };
  
  
  /**
   * Deserializes binary data (in protobuf wire format) from the
   * given reader into the given message object.
   * @param {!proto.beacons_v1.BeaconIdRequest} msg The message object to deserialize into.
   * @param {!jspb.BinaryReader} reader The BinaryReader to use.
   * @return {!proto.beacons_v1.BeaconIdRequest}
   */
  proto.beacons_v1.BeaconIdRequest.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.setCorrelationId(value);
        break;
      case 2:
        var value = /** @type {string} */ (reader.readString());
        msg.setBeaconId(value);
        break;
      default:
        reader.skipField();
        break;
      }
    }
    return msg;
  };
  
  
  /**
   * Serializes the message to binary data (in protobuf wire format).
   * @return {!Uint8Array}
   */
  proto.beacons_v1.BeaconIdRequest.prototype.serializeBinary = function() {
    var writer = new jspb.BinaryWriter();
    proto.beacons_v1.BeaconIdRequest.serializeBinaryToWriter(this, writer);
    return writer.getResultBuffer();
  };
  
  
  /**
   * Serializes the given message to binary data (in protobuf wire
   * format), writing to the given BinaryWriter.
   * @param {!proto.beacons_v1.BeaconIdRequest} message
   * @param {!jspb.BinaryWriter} writer
   * @suppress {unusedLocalVariables} f is only used for nested messages
   */
  proto.beacons_v1.BeaconIdRequest.serializeBinaryToWriter = function(message, writer) {
    var f = undefined;
    f = message.getCorrelationId();
    if (f.length > 0) {
      writer.writeString(
        1,
        f
      );
    }
    f = message.getBeaconId();
    if (f.length > 0) {
      writer.writeString(
        2,
        f
      );
    }
  };
  
  
  /**
   * optional string correlation_id = 1;
   * @return {string}
   */
  proto.beacons_v1.BeaconIdRequest.prototype.getCorrelationId = function() {
    return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
  };
  
  
  /**
   * @param {string} value
   * @return {!proto.beacons_v1.BeaconIdRequest} returns this
   */
  proto.beacons_v1.BeaconIdRequest.prototype.setCorrelationId = function(value) {
    return jspb.Message.setProto3StringField(this, 1, value);
  };
  
  
  /**
   * optional string beacon_id = 2;
   * @return {string}
   */
  proto.beacons_v1.BeaconIdRequest.prototype.getBeaconId = function() {
    return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
  };
  
  
  /**
   * @param {string} value
   * @return {!proto.beacons_v1.BeaconIdRequest} returns this
   */
  proto.beacons_v1.BeaconIdRequest.prototype.setBeaconId = 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.beacons_v1.BeaconReply.prototype.toObject = function(opt_includeInstance) {
    return proto.beacons_v1.BeaconReply.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.beacons_v1.BeaconReply} msg The msg instance to transform.
   * @return {!Object}
   * @suppress {unusedLocalVariables} f is only used for nested messages
   */
  proto.beacons_v1.BeaconReply.toObject = function(includeInstance, msg) {
    var f, obj = {
      error: (f = msg.getError()) && proto.beacons_v1.ErrorDescription.toObject(includeInstance, f),
      beacon: (f = msg.getBeacon()) && proto.beacons_v1.Beacon.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.beacons_v1.BeaconReply}
   */
  proto.beacons_v1.BeaconReply.deserializeBinary = function(bytes) {
    var reader = new jspb.BinaryReader(bytes);
    var msg = new proto.beacons_v1.BeaconReply;
    return proto.beacons_v1.BeaconReply.deserializeBinaryFromReader(msg, reader);
  };
  
  
  /**
   * Deserializes binary data (in protobuf wire format) from the
   * given reader into the given message object.
   * @param {!proto.beacons_v1.BeaconReply} msg The message object to deserialize into.
   * @param {!jspb.BinaryReader} reader The BinaryReader to use.
   * @return {!proto.beacons_v1.BeaconReply}
   */
  proto.beacons_v1.BeaconReply.deserializeBinaryFromReader = function(msg, reader) {
    while (reader.nextField()) {
      if (reader.isEndGroup()) {
        break;
      }
      var field = reader.getFieldNumber();
      switch (field) {
      case 1:
        var value = new proto.beacons_v1.ErrorDescription;
        reader.readMessage(value,proto.beacons_v1.ErrorDescription.deserializeBinaryFromReader);
        msg.setError(value);
        break;
      case 2:
        var value = new proto.beacons_v1.Beacon;
        reader.readMessage(value,proto.beacons_v1.Beacon.deserializeBinaryFromReader);
        msg.setBeacon(value);
        break;
      default:
        reader.skipField();
        break;
      }
    }
    return msg;
  };
  
  
  /**
   * Serializes the message to binary data (in protobuf wire format).
   * @return {!Uint8Array}
   */
  proto.beacons_v1.BeaconReply.prototype.serializeBinary = function() {
    var writer = new jspb.BinaryWriter();
    proto.beacons_v1.BeaconReply.serializeBinaryToWriter(this, writer);
    return writer.getResultBuffer();
  };
  
  
  /**
   * Serializes the given message to binary data (in protobuf wire
   * format), writing to the given BinaryWriter.
   * @param {!proto.beacons_v1.BeaconReply} message
   * @param {!jspb.BinaryWriter} writer
   * @suppress {unusedLocalVariables} f is only used for nested messages
   */
  proto.beacons_v1.BeaconReply.serializeBinaryToWriter = function(message, writer) {
    var f = undefined;
    f = message.getError();
    if (f != null) {
      writer.writeMessage(
        1,
        f,
        proto.beacons_v1.ErrorDescription.serializeBinaryToWriter
      );
    }
    f = message.getBeacon();
    if (f != null) {
      writer.writeMessage(
        2,
        f,
        proto.beacons_v1.Beacon.serializeBinaryToWriter
      );
    }
  };
  
  
  /**
   * optional ErrorDescription error = 1;
   * @return {?proto.beacons_v1.ErrorDescription}
   */
  proto.beacons_v1.BeaconReply.prototype.getError = function() {
    return /** @type{?proto.beacons_v1.ErrorDescription} */ (
      jspb.Message.getWrapperField(this, proto.beacons_v1.ErrorDescription, 1));
  };
  
  
  /**
   * @param {?proto.beacons_v1.ErrorDescription|undefined} value
   * @return {!proto.beacons_v1.BeaconReply} returns this
  */
  proto.beacons_v1.BeaconReply.prototype.setError = function(value) {
    return jspb.Message.setWrapperField(this, 1, value);
  };
  
  
  /**
   * Clears the message field making it undefined.
   * @return {!proto.beacons_v1.BeaconReply} returns this
   */
  proto.beacons_v1.BeaconReply.prototype.clearError = function() {
    return this.setError(undefined);
  };
  
  
  /**
   * Returns whether this field is set.
   * @return {boolean}
   */
  proto.beacons_v1.BeaconReply.prototype.hasError = function() {
    return jspb.Message.getField(this, 1) != null;
  };
  
  
  /**
   * optional Beacon beacon = 2;
   * @return {?proto.beacons_v1.Beacon}
   */
  proto.beacons_v1.BeaconReply.prototype.getBeacon = function() {
    return /** @type{?proto.beacons_v1.Beacon} */ (
      jspb.Message.getWrapperField(this, proto.beacons_v1.Beacon, 2));
  };
  
  
  /**
   * @param {?proto.beacons_v1.Beacon|undefined} value
   * @return {!proto.beacons_v1.BeaconReply} returns this
  */
  proto.beacons_v1.BeaconReply.prototype.setBeacon = function(value) {
    return jspb.Message.setWrapperField(this, 2, value);
  };
  
  
  /**
   * Clears the message field making it undefined.
   * @return {!proto.beacons_v1.BeaconReply} returns this
   */
  proto.beacons_v1.BeaconReply.prototype.clearBeacon = function() {
    return this.setBeacon(undefined);
  };
  
  
  /**
   * Returns whether this field is set.
   * @return {boolean}
   */
  proto.beacons_v1.BeaconReply.prototype.hasBeacon = function() {
    return jspb.Message.getField(this, 2) != null;
  };
  
  
  
  
  
  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.beacons_v1.BeaconUdiRequest.prototype.toObject = function(opt_includeInstance) {
    return proto.beacons_v1.BeaconUdiRequest.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.beacons_v1.BeaconUdiRequest} msg The msg instance to transform.
   * @return {!Object}
   * @suppress {unusedLocalVariables} f is only used for nested messages
   */
  proto.beacons_v1.BeaconUdiRequest.toObject = function(includeInstance, msg) {
    var f, obj = {
      correlationId: jspb.Message.getFieldWithDefault(msg, 1, ""),
      udi: 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.beacons_v1.BeaconUdiRequest}
   */
  proto.beacons_v1.BeaconUdiRequest.deserializeBinary = function(bytes) {
    var reader = new jspb.BinaryReader(bytes);
    var msg = new proto.beacons_v1.BeaconUdiRequest;
    return proto.beacons_v1.BeaconUdiRequest.deserializeBinaryFromReader(msg, reader);
  };
  
  
  /**
   * Deserializes binary data (in protobuf wire format) from the
   * given reader into the given message object.
   * @param {!proto.beacons_v1.BeaconUdiRequest} msg The message object to deserialize into.
   * @param {!jspb.BinaryReader} reader The BinaryReader to use.
   * @return {!proto.beacons_v1.BeaconUdiRequest}
   */
  proto.beacons_v1.BeaconUdiRequest.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.setCorrelationId(value);
        break;
      case 2:
        var value = /** @type {string} */ (reader.readString());
        msg.setUdi(value);
        break;
      default:
        reader.skipField();
        break;
      }
    }
    return msg;
  };
  
  
  /**
   * Serializes the message to binary data (in protobuf wire format).
   * @return {!Uint8Array}
   */
  proto.beacons_v1.BeaconUdiRequest.prototype.serializeBinary = function() {
    var writer = new jspb.BinaryWriter();
    proto.beacons_v1.BeaconUdiRequest.serializeBinaryToWriter(this, writer);
    return writer.getResultBuffer();
  };
  
  
  /**
   * Serializes the given message to binary data (in protobuf wire
   * format), writing to the given BinaryWriter.
   * @param {!proto.beacons_v1.BeaconUdiRequest} message
   * @param {!jspb.BinaryWriter} writer
   * @suppress {unusedLocalVariables} f is only used for nested messages
   */
  proto.beacons_v1.BeaconUdiRequest.serializeBinaryToWriter = function(message, writer) {
    var f = undefined;
    f = message.getCorrelationId();
    if (f.length > 0) {
      writer.writeString(
        1,
        f
      );
    }
    f = message.getUdi();
    if (f.length > 0) {
      writer.writeString(
        2,
        f
      );
    }
  };
  
  
  /**
   * optional string correlation_id = 1;
   * @return {string}
   */
  proto.beacons_v1.BeaconUdiRequest.prototype.getCorrelationId = function() {
    return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
  };
  
  
  /**
   * @param {string} value
   * @return {!proto.beacons_v1.BeaconUdiRequest} returns this
   */
  proto.beacons_v1.BeaconUdiRequest.prototype.setCorrelationId = function(value) {
    return jspb.Message.setProto3StringField(this, 1, value);
  };
  
  
  /**
   * optional string udi = 2;
   * @return {string}
   */
  proto.beacons_v1.BeaconUdiRequest.prototype.getUdi = function() {
    return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
  };
  
  
  /**
   * @param {string} value
   * @return {!proto.beacons_v1.BeaconUdiRequest} returns this
   */
  proto.beacons_v1.BeaconUdiRequest.prototype.setUdi = function(value) {
    return jspb.Message.setProto3StringField(this, 2, value);
  };
  
  
  
  /**
   * List of repeated fields within this message type.
   * @private {!Array<number>}
   * @const
   */
  proto.beacons_v1.BeaconsPositionRequest.repeatedFields_ = [3];
  
  
  
  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.beacons_v1.BeaconsPositionRequest.prototype.toObject = function(opt_includeInstance) {
    return proto.beacons_v1.BeaconsPositionRequest.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.beacons_v1.BeaconsPositionRequest} msg The msg instance to transform.
   * @return {!Object}
   * @suppress {unusedLocalVariables} f is only used for nested messages
   */
  proto.beacons_v1.BeaconsPositionRequest.toObject = function(includeInstance, msg) {
    var f, obj = {
      correlationId: jspb.Message.getFieldWithDefault(msg, 1, ""),
      siteId: jspb.Message.getFieldWithDefault(msg, 2, ""),
      udisList: (f = jspb.Message.getRepeatedField(msg, 3)) == null ? undefined : 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.beacons_v1.BeaconsPositionRequest}
   */
  proto.beacons_v1.BeaconsPositionRequest.deserializeBinary = function(bytes) {
    var reader = new jspb.BinaryReader(bytes);
    var msg = new proto.beacons_v1.BeaconsPositionRequest;
    return proto.beacons_v1.BeaconsPositionRequest.deserializeBinaryFromReader(msg, reader);
  };
  
  
  /**
   * Deserializes binary data (in protobuf wire format) from the
   * given reader into the given message object.
   * @param {!proto.beacons_v1.BeaconsPositionRequest} msg The message object to deserialize into.
   * @param {!jspb.BinaryReader} reader The BinaryReader to use.
   * @return {!proto.beacons_v1.BeaconsPositionRequest}
   */
  proto.beacons_v1.BeaconsPositionRequest.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.setCorrelationId(value);
        break;
      case 2:
        var value = /** @type {string} */ (reader.readString());
        msg.setSiteId(value);
        break;
      case 3:
        var value = /** @type {string} */ (reader.readString());
        msg.addUdis(value);
        break;
      default:
        reader.skipField();
        break;
      }
    }
    return msg;
  };
  
  
  /**
   * Serializes the message to binary data (in protobuf wire format).
   * @return {!Uint8Array}
   */
  proto.beacons_v1.BeaconsPositionRequest.prototype.serializeBinary = function() {
    var writer = new jspb.BinaryWriter();
    proto.beacons_v1.BeaconsPositionRequest.serializeBinaryToWriter(this, writer);
    return writer.getResultBuffer();
  };
  
  
  /**
   * Serializes the given message to binary data (in protobuf wire
   * format), writing to the given BinaryWriter.
   * @param {!proto.beacons_v1.BeaconsPositionRequest} message
   * @param {!jspb.BinaryWriter} writer
   * @suppress {unusedLocalVariables} f is only used for nested messages
   */
  proto.beacons_v1.BeaconsPositionRequest.serializeBinaryToWriter = function(message, writer) {
    var f = undefined;
    f = message.getCorrelationId();
    if (f.length > 0) {
      writer.writeString(
        1,
        f
      );
    }
    f = message.getSiteId();
    if (f.length > 0) {
      writer.writeString(
        2,
        f
      );
    }
    f = message.getUdisList();
    if (f.length > 0) {
      writer.writeRepeatedString(
        3,
        f
      );
    }
  };
  
  
  /**
   * optional string correlation_id = 1;
   * @return {string}
   */
  proto.beacons_v1.BeaconsPositionRequest.prototype.getCorrelationId = function() {
    return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
  };
  
  
  /**
   * @param {string} value
   * @return {!proto.beacons_v1.BeaconsPositionRequest} returns this
   */
  proto.beacons_v1.BeaconsPositionRequest.prototype.setCorrelationId = function(value) {
    return jspb.Message.setProto3StringField(this, 1, value);
  };
  
  
  /**
   * optional string site_id = 2;
   * @return {string}
   */
  proto.beacons_v1.BeaconsPositionRequest.prototype.getSiteId = function() {
    return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
  };
  
  
  /**
   * @param {string} value
   * @return {!proto.beacons_v1.BeaconsPositionRequest} returns this
   */
  proto.beacons_v1.BeaconsPositionRequest.prototype.setSiteId = function(value) {
    return jspb.Message.setProto3StringField(this, 2, value);
  };
  
  
  /**
   * repeated string udis = 3;
   * @return {!Array<string>}
   */
  proto.beacons_v1.BeaconsPositionRequest.prototype.getUdisList = function() {
    return /** @type {!Array<string>} */ (jspb.Message.getRepeatedField(this, 3));
  };
  
  
  /**
   * @param {!Array<string>} value
   * @return {!proto.beacons_v1.BeaconsPositionRequest} returns this
   */
  proto.beacons_v1.BeaconsPositionRequest.prototype.setUdisList = function(value) {
    return jspb.Message.setField(this, 3, value || []);
  };
  
  
  /**
   * @param {string} value
   * @param {number=} opt_index
   * @return {!proto.beacons_v1.BeaconsPositionRequest} returns this
   */
  proto.beacons_v1.BeaconsPositionRequest.prototype.addUdis = function(value, opt_index) {
    return jspb.Message.addToRepeatedField(this, 3, value, opt_index);
  };
  
  
  /**
   * Clears the list making it empty but non-null.
   * @return {!proto.beacons_v1.BeaconsPositionRequest} returns this
   */
  proto.beacons_v1.BeaconsPositionRequest.prototype.clearUdisList = function() {
    return this.setUdisList([]);
  };
  
  
  
  
  
  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.beacons_v1.BeaconsPositionReply.prototype.toObject = function(opt_includeInstance) {
    return proto.beacons_v1.BeaconsPositionReply.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.beacons_v1.BeaconsPositionReply} msg The msg instance to transform.
   * @return {!Object}
   * @suppress {unusedLocalVariables} f is only used for nested messages
   */
  proto.beacons_v1.BeaconsPositionReply.toObject = function(includeInstance, msg) {
    var f, obj = {
      error: (f = msg.getError()) && proto.beacons_v1.ErrorDescription.toObject(includeInstance, f),
      position: (f = msg.getPosition()) && proto.beacons_v1.Point.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.beacons_v1.BeaconsPositionReply}
   */
  proto.beacons_v1.BeaconsPositionReply.deserializeBinary = function(bytes) {
    var reader = new jspb.BinaryReader(bytes);
    var msg = new proto.beacons_v1.BeaconsPositionReply;
    return proto.beacons_v1.BeaconsPositionReply.deserializeBinaryFromReader(msg, reader);
  };
  
  
  /**
   * Deserializes binary data (in protobuf wire format) from the
   * given reader into the given message object.
   * @param {!proto.beacons_v1.BeaconsPositionReply} msg The message object to deserialize into.
   * @param {!jspb.BinaryReader} reader The BinaryReader to use.
   * @return {!proto.beacons_v1.BeaconsPositionReply}
   */
  proto.beacons_v1.BeaconsPositionReply.deserializeBinaryFromReader = function(msg, reader) {
    while (reader.nextField()) {
      if (reader.isEndGroup()) {
        break;
      }
      var field = reader.getFieldNumber();
      switch (field) {
      case 1:
        var value = new proto.beacons_v1.ErrorDescription;
        reader.readMessage(value,proto.beacons_v1.ErrorDescription.deserializeBinaryFromReader);
        msg.setError(value);
        break;
      case 2:
        var value = new proto.beacons_v1.Point;
        reader.readMessage(value,proto.beacons_v1.Point.deserializeBinaryFromReader);
        msg.setPosition(value);
        break;
      default:
        reader.skipField();
        break;
      }
    }
    return msg;
  };
  
  
  /**
   * Serializes the message to binary data (in protobuf wire format).
   * @return {!Uint8Array}
   */
  proto.beacons_v1.BeaconsPositionReply.prototype.serializeBinary = function() {
    var writer = new jspb.BinaryWriter();
    proto.beacons_v1.BeaconsPositionReply.serializeBinaryToWriter(this, writer);
    return writer.getResultBuffer();
  };
  
  
  /**
   * Serializes the given message to binary data (in protobuf wire
   * format), writing to the given BinaryWriter.
   * @param {!proto.beacons_v1.BeaconsPositionReply} message
   * @param {!jspb.BinaryWriter} writer
   * @suppress {unusedLocalVariables} f is only used for nested messages
   */
  proto.beacons_v1.BeaconsPositionReply.serializeBinaryToWriter = function(message, writer) {
    var f = undefined;
    f = message.getError();
    if (f != null) {
      writer.writeMessage(
        1,
        f,
        proto.beacons_v1.ErrorDescription.serializeBinaryToWriter
      );
    }
    f = message.getPosition();
    if (f != null) {
      writer.writeMessage(
        2,
        f,
        proto.beacons_v1.Point.serializeBinaryToWriter
      );
    }
  };
  
  
  /**
   * optional ErrorDescription error = 1;
   * @return {?proto.beacons_v1.ErrorDescription}
   */
  proto.beacons_v1.BeaconsPositionReply.prototype.getError = function() {
    return /** @type{?proto.beacons_v1.ErrorDescription} */ (
      jspb.Message.getWrapperField(this, proto.beacons_v1.ErrorDescription, 1));
  };
  
  
  /**
   * @param {?proto.beacons_v1.ErrorDescription|undefined} value
   * @return {!proto.beacons_v1.BeaconsPositionReply} returns this
  */
  proto.beacons_v1.BeaconsPositionReply.prototype.setError = function(value) {
    return jspb.Message.setWrapperField(this, 1, value);
  };
  
  
  /**
   * Clears the message field making it undefined.
   * @return {!proto.beacons_v1.BeaconsPositionReply} returns this
   */
  proto.beacons_v1.BeaconsPositionReply.prototype.clearError = function() {
    return this.setError(undefined);
  };
  
  
  /**
   * Returns whether this field is set.
   * @return {boolean}
   */
  proto.beacons_v1.BeaconsPositionReply.prototype.hasError = function() {
    return jspb.Message.getField(this, 1) != null;
  };
  
  
  /**
   * optional Point position = 2;
   * @return {?proto.beacons_v1.Point}
   */
  proto.beacons_v1.BeaconsPositionReply.prototype.getPosition = function() {
    return /** @type{?proto.beacons_v1.Point} */ (
      jspb.Message.getWrapperField(this, proto.beacons_v1.Point, 2));
  };
  
  
  /**
   * @param {?proto.beacons_v1.Point|undefined} value
   * @return {!proto.beacons_v1.BeaconsPositionReply} returns this
  */
  proto.beacons_v1.BeaconsPositionReply.prototype.setPosition = function(value) {
    return jspb.Message.setWrapperField(this, 2, value);
  };
  
  
  /**
   * Clears the message field making it undefined.
   * @return {!proto.beacons_v1.BeaconsPositionReply} returns this
   */
  proto.beacons_v1.BeaconsPositionReply.prototype.clearPosition = function() {
    return this.setPosition(undefined);
  };
  
  
  /**
   * Returns whether this field is set.
   * @return {boolean}
   */
  proto.beacons_v1.BeaconsPositionReply.prototype.hasPosition = function() {
    return jspb.Message.getField(this, 2) != null;
  };
  
  
  
  
  
  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.beacons_v1.BeaconRequest.prototype.toObject = function(opt_includeInstance) {
    return proto.beacons_v1.BeaconRequest.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.beacons_v1.BeaconRequest} msg The msg instance to transform.
   * @return {!Object}
   * @suppress {unusedLocalVariables} f is only used for nested messages
   */
  proto.beacons_v1.BeaconRequest.toObject = function(includeInstance, msg) {
    var f, obj = {
      correlationId: jspb.Message.getFieldWithDefault(msg, 1, ""),
      beacon: (f = msg.getBeacon()) && proto.beacons_v1.Beacon.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.beacons_v1.BeaconRequest}
   */
  proto.beacons_v1.BeaconRequest.deserializeBinary = function(bytes) {
    var reader = new jspb.BinaryReader(bytes);
    var msg = new proto.beacons_v1.BeaconRequest;
    return proto.beacons_v1.BeaconRequest.deserializeBinaryFromReader(msg, reader);
  };
  
  
  /**
   * Deserializes binary data (in protobuf wire format) from the
   * given reader into the given message object.
   * @param {!proto.beacons_v1.BeaconRequest} msg The message object to deserialize into.
   * @param {!jspb.BinaryReader} reader The BinaryReader to use.
   * @return {!proto.beacons_v1.BeaconRequest}
   */
  proto.beacons_v1.BeaconRequest.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.setCorrelationId(value);
        break;
      case 2:
        var value = new proto.beacons_v1.Beacon;
        reader.readMessage(value,proto.beacons_v1.Beacon.deserializeBinaryFromReader);
        msg.setBeacon(value);
        break;
      default:
        reader.skipField();
        break;
      }
    }
    return msg;
  };
  
  
  /**
   * Serializes the message to binary data (in protobuf wire format).
   * @return {!Uint8Array}
   */
  proto.beacons_v1.BeaconRequest.prototype.serializeBinary = function() {
    var writer = new jspb.BinaryWriter();
    proto.beacons_v1.BeaconRequest.serializeBinaryToWriter(this, writer);
    return writer.getResultBuffer();
  };
  
  
  /**
   * Serializes the given message to binary data (in protobuf wire
   * format), writing to the given BinaryWriter.
   * @param {!proto.beacons_v1.BeaconRequest} message
   * @param {!jspb.BinaryWriter} writer
   * @suppress {unusedLocalVariables} f is only used for nested messages
   */
  proto.beacons_v1.BeaconRequest.serializeBinaryToWriter = function(message, writer) {
    var f = undefined;
    f = message.getCorrelationId();
    if (f.length > 0) {
      writer.writeString(
        1,
        f
      );
    }
    f = message.getBeacon();
    if (f != null) {
      writer.writeMessage(
        2,
        f,
        proto.beacons_v1.Beacon.serializeBinaryToWriter
      );
    }
  };
  
  
  /**
   * optional string correlation_id = 1;
   * @return {string}
   */
  proto.beacons_v1.BeaconRequest.prototype.getCorrelationId = function() {
    return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
  };
  
  
  /**
   * @param {string} value
   * @return {!proto.beacons_v1.BeaconRequest} returns this
   */
  proto.beacons_v1.BeaconRequest.prototype.setCorrelationId = function(value) {
    return jspb.Message.setProto3StringField(this, 1, value);
  };
  
  
  /**
   * optional Beacon beacon = 2;
   * @return {?proto.beacons_v1.Beacon}
   */
  proto.beacons_v1.BeaconRequest.prototype.getBeacon = function() {
    return /** @type{?proto.beacons_v1.Beacon} */ (
      jspb.Message.getWrapperField(this, proto.beacons_v1.Beacon, 2));
  };
  
  
  /**
   * @param {?proto.beacons_v1.Beacon|undefined} value
   * @return {!proto.beacons_v1.BeaconRequest} returns this
  */
  proto.beacons_v1.BeaconRequest.prototype.setBeacon = function(value) {
    return jspb.Message.setWrapperField(this, 2, value);
  };
  
  
  /**
   * Clears the message field making it undefined.
   * @return {!proto.beacons_v1.BeaconRequest} returns this
   */
  proto.beacons_v1.BeaconRequest.prototype.clearBeacon = function() {
    return this.setBeacon(undefined);
  };
  
  
  /**
   * Returns whether this field is set.
   * @return {boolean}
   */
  proto.beacons_v1.BeaconRequest.prototype.hasBeacon = function() {
    return jspb.Message.getField(this, 2) != null;
  };
  
  
  goog.object.extend(exports, proto.beacons_v1);
  