// source: api/bucketsd/pb/bucketsd.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.api.bucketsd.pb.Archive', null, global);
goog.exportSymbol('proto.api.bucketsd.pb.ArchiveConfig', null, global);
goog.exportSymbol('proto.api.bucketsd.pb.ArchiveRenew', null, global);
goog.exportSymbol('proto.api.bucketsd.pb.ArchiveRequest', null, global);
goog.exportSymbol('proto.api.bucketsd.pb.ArchiveResponse', null, global);
goog.exportSymbol('proto.api.bucketsd.pb.ArchiveStatus', null, global);
goog.exportSymbol('proto.api.bucketsd.pb.ArchiveWatchRequest', null, global);
goog.exportSymbol('proto.api.bucketsd.pb.ArchiveWatchResponse', null, global);
goog.exportSymbol('proto.api.bucketsd.pb.Archives', null, global);
goog.exportSymbol('proto.api.bucketsd.pb.ArchivesRequest', null, global);
goog.exportSymbol('proto.api.bucketsd.pb.ArchivesResponse', null, global);
goog.exportSymbol('proto.api.bucketsd.pb.CreateRequest', null, global);
goog.exportSymbol('proto.api.bucketsd.pb.CreateResponse', null, global);
goog.exportSymbol('proto.api.bucketsd.pb.DealInfo', null, global);
goog.exportSymbol('proto.api.bucketsd.pb.DefaultArchiveConfigRequest', null, global);
goog.exportSymbol('proto.api.bucketsd.pb.DefaultArchiveConfigResponse', null, global);
goog.exportSymbol('proto.api.bucketsd.pb.LinksRequest', null, global);
goog.exportSymbol('proto.api.bucketsd.pb.LinksResponse', null, global);
goog.exportSymbol('proto.api.bucketsd.pb.ListIpfsPathRequest', null, global);
goog.exportSymbol('proto.api.bucketsd.pb.ListIpfsPathResponse', null, global);
goog.exportSymbol('proto.api.bucketsd.pb.ListPathRequest', null, global);
goog.exportSymbol('proto.api.bucketsd.pb.ListPathResponse', null, global);
goog.exportSymbol('proto.api.bucketsd.pb.ListRequest', null, global);
goog.exportSymbol('proto.api.bucketsd.pb.ListResponse', null, global);
goog.exportSymbol('proto.api.bucketsd.pb.Metadata', null, global);
goog.exportSymbol('proto.api.bucketsd.pb.MovePathRequest', null, global);
goog.exportSymbol('proto.api.bucketsd.pb.MovePathResponse', null, global);
goog.exportSymbol('proto.api.bucketsd.pb.PathAccessRole', null, global);
goog.exportSymbol('proto.api.bucketsd.pb.PathItem', null, global);
goog.exportSymbol('proto.api.bucketsd.pb.PullIpfsPathRequest', null, global);
goog.exportSymbol('proto.api.bucketsd.pb.PullIpfsPathResponse', null, global);
goog.exportSymbol('proto.api.bucketsd.pb.PullPathAccessRolesRequest', null, global);
goog.exportSymbol('proto.api.bucketsd.pb.PullPathAccessRolesResponse', null, global);
goog.exportSymbol('proto.api.bucketsd.pb.PullPathRequest', null, global);
goog.exportSymbol('proto.api.bucketsd.pb.PullPathResponse', null, global);
goog.exportSymbol('proto.api.bucketsd.pb.PushPathAccessRolesRequest', null, global);
goog.exportSymbol('proto.api.bucketsd.pb.PushPathAccessRolesResponse', null, global);
goog.exportSymbol('proto.api.bucketsd.pb.PushPathRequest', null, global);
goog.exportSymbol('proto.api.bucketsd.pb.PushPathRequest.Header', null, global);
goog.exportSymbol('proto.api.bucketsd.pb.PushPathRequest.PayloadCase', null, global);
goog.exportSymbol('proto.api.bucketsd.pb.PushPathResponse', null, global);
goog.exportSymbol('proto.api.bucketsd.pb.PushPathResponse.Event', null, global);
goog.exportSymbol('proto.api.bucketsd.pb.PushPathsRequest', null, global);
goog.exportSymbol('proto.api.bucketsd.pb.PushPathsRequest.Chunk', null, global);
goog.exportSymbol('proto.api.bucketsd.pb.PushPathsRequest.Header', null, global);
goog.exportSymbol('proto.api.bucketsd.pb.PushPathsRequest.PayloadCase', null, global);
goog.exportSymbol('proto.api.bucketsd.pb.PushPathsResponse', null, global);
goog.exportSymbol('proto.api.bucketsd.pb.RemovePathRequest', null, global);
goog.exportSymbol('proto.api.bucketsd.pb.RemovePathResponse', null, global);
goog.exportSymbol('proto.api.bucketsd.pb.RemoveRequest', null, global);
goog.exportSymbol('proto.api.bucketsd.pb.RemoveResponse', null, global);
goog.exportSymbol('proto.api.bucketsd.pb.Root', null, global);
goog.exportSymbol('proto.api.bucketsd.pb.RootRequest', null, global);
goog.exportSymbol('proto.api.bucketsd.pb.RootResponse', null, global);
goog.exportSymbol('proto.api.bucketsd.pb.SetDefaultArchiveConfigRequest', null, global);
goog.exportSymbol('proto.api.bucketsd.pb.SetDefaultArchiveConfigResponse', null, global);
goog.exportSymbol('proto.api.bucketsd.pb.SetPathRequest', null, global);
goog.exportSymbol('proto.api.bucketsd.pb.SetPathResponse', 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.api.bucketsd.pb.Metadata = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.api.bucketsd.pb.Metadata, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.api.bucketsd.pb.Metadata.displayName = 'proto.api.bucketsd.pb.Metadata';
}
/**
 * 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.api.bucketsd.pb.Root = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.api.bucketsd.pb.Root, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.api.bucketsd.pb.Root.displayName = 'proto.api.bucketsd.pb.Root';
}
/**
 * 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.api.bucketsd.pb.ListRequest = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.api.bucketsd.pb.ListRequest, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.api.bucketsd.pb.ListRequest.displayName = 'proto.api.bucketsd.pb.ListRequest';
}
/**
 * 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.api.bucketsd.pb.ListResponse = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, proto.api.bucketsd.pb.ListResponse.repeatedFields_, null);
};
goog.inherits(proto.api.bucketsd.pb.ListResponse, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.api.bucketsd.pb.ListResponse.displayName = 'proto.api.bucketsd.pb.ListResponse';
}
/**
 * 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.api.bucketsd.pb.CreateRequest = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.api.bucketsd.pb.CreateRequest, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.api.bucketsd.pb.CreateRequest.displayName = 'proto.api.bucketsd.pb.CreateRequest';
}
/**
 * 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.api.bucketsd.pb.CreateResponse = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.api.bucketsd.pb.CreateResponse, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.api.bucketsd.pb.CreateResponse.displayName = 'proto.api.bucketsd.pb.CreateResponse';
}
/**
 * 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.api.bucketsd.pb.RootRequest = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.api.bucketsd.pb.RootRequest, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.api.bucketsd.pb.RootRequest.displayName = 'proto.api.bucketsd.pb.RootRequest';
}
/**
 * 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.api.bucketsd.pb.RootResponse = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.api.bucketsd.pb.RootResponse, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.api.bucketsd.pb.RootResponse.displayName = 'proto.api.bucketsd.pb.RootResponse';
}
/**
 * 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.api.bucketsd.pb.LinksRequest = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.api.bucketsd.pb.LinksRequest, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.api.bucketsd.pb.LinksRequest.displayName = 'proto.api.bucketsd.pb.LinksRequest';
}
/**
 * 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.api.bucketsd.pb.LinksResponse = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.api.bucketsd.pb.LinksResponse, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.api.bucketsd.pb.LinksResponse.displayName = 'proto.api.bucketsd.pb.LinksResponse';
}
/**
 * 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.api.bucketsd.pb.ListPathRequest = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.api.bucketsd.pb.ListPathRequest, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.api.bucketsd.pb.ListPathRequest.displayName = 'proto.api.bucketsd.pb.ListPathRequest';
}
/**
 * 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.api.bucketsd.pb.ListPathResponse = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.api.bucketsd.pb.ListPathResponse, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.api.bucketsd.pb.ListPathResponse.displayName = 'proto.api.bucketsd.pb.ListPathResponse';
}
/**
 * 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.api.bucketsd.pb.PathItem = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, proto.api.bucketsd.pb.PathItem.repeatedFields_, null);
};
goog.inherits(proto.api.bucketsd.pb.PathItem, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.api.bucketsd.pb.PathItem.displayName = 'proto.api.bucketsd.pb.PathItem';
}
/**
 * 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.api.bucketsd.pb.ListIpfsPathRequest = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.api.bucketsd.pb.ListIpfsPathRequest, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.api.bucketsd.pb.ListIpfsPathRequest.displayName = 'proto.api.bucketsd.pb.ListIpfsPathRequest';
}
/**
 * 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.api.bucketsd.pb.ListIpfsPathResponse = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.api.bucketsd.pb.ListIpfsPathResponse, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.api.bucketsd.pb.ListIpfsPathResponse.displayName = 'proto.api.bucketsd.pb.ListIpfsPathResponse';
}
/**
 * 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.api.bucketsd.pb.PushPathRequest = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, proto.api.bucketsd.pb.PushPathRequest.oneofGroups_);
};
goog.inherits(proto.api.bucketsd.pb.PushPathRequest, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.api.bucketsd.pb.PushPathRequest.displayName = 'proto.api.bucketsd.pb.PushPathRequest';
}
/**
 * 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.api.bucketsd.pb.PushPathRequest.Header = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.api.bucketsd.pb.PushPathRequest.Header, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.api.bucketsd.pb.PushPathRequest.Header.displayName = 'proto.api.bucketsd.pb.PushPathRequest.Header';
}
/**
 * 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.api.bucketsd.pb.PushPathResponse = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.api.bucketsd.pb.PushPathResponse, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.api.bucketsd.pb.PushPathResponse.displayName = 'proto.api.bucketsd.pb.PushPathResponse';
}
/**
 * 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.api.bucketsd.pb.PushPathResponse.Event = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.api.bucketsd.pb.PushPathResponse.Event, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.api.bucketsd.pb.PushPathResponse.Event.displayName = 'proto.api.bucketsd.pb.PushPathResponse.Event';
}
/**
 * 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.api.bucketsd.pb.PushPathsRequest = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, proto.api.bucketsd.pb.PushPathsRequest.oneofGroups_);
};
goog.inherits(proto.api.bucketsd.pb.PushPathsRequest, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.api.bucketsd.pb.PushPathsRequest.displayName = 'proto.api.bucketsd.pb.PushPathsRequest';
}
/**
 * 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.api.bucketsd.pb.PushPathsRequest.Header = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.api.bucketsd.pb.PushPathsRequest.Header, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.api.bucketsd.pb.PushPathsRequest.Header.displayName = 'proto.api.bucketsd.pb.PushPathsRequest.Header';
}
/**
 * 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.api.bucketsd.pb.PushPathsRequest.Chunk = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.api.bucketsd.pb.PushPathsRequest.Chunk, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.api.bucketsd.pb.PushPathsRequest.Chunk.displayName = 'proto.api.bucketsd.pb.PushPathsRequest.Chunk';
}
/**
 * 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.api.bucketsd.pb.PushPathsResponse = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.api.bucketsd.pb.PushPathsResponse, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.api.bucketsd.pb.PushPathsResponse.displayName = 'proto.api.bucketsd.pb.PushPathsResponse';
}
/**
 * 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.api.bucketsd.pb.PullPathRequest = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.api.bucketsd.pb.PullPathRequest, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.api.bucketsd.pb.PullPathRequest.displayName = 'proto.api.bucketsd.pb.PullPathRequest';
}
/**
 * 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.api.bucketsd.pb.PullPathResponse = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.api.bucketsd.pb.PullPathResponse, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.api.bucketsd.pb.PullPathResponse.displayName = 'proto.api.bucketsd.pb.PullPathResponse';
}
/**
 * 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.api.bucketsd.pb.PullIpfsPathRequest = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.api.bucketsd.pb.PullIpfsPathRequest, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.api.bucketsd.pb.PullIpfsPathRequest.displayName = 'proto.api.bucketsd.pb.PullIpfsPathRequest';
}
/**
 * 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.api.bucketsd.pb.PullIpfsPathResponse = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.api.bucketsd.pb.PullIpfsPathResponse, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.api.bucketsd.pb.PullIpfsPathResponse.displayName = 'proto.api.bucketsd.pb.PullIpfsPathResponse';
}
/**
 * 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.api.bucketsd.pb.SetPathRequest = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.api.bucketsd.pb.SetPathRequest, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.api.bucketsd.pb.SetPathRequest.displayName = 'proto.api.bucketsd.pb.SetPathRequest';
}
/**
 * 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.api.bucketsd.pb.SetPathResponse = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.api.bucketsd.pb.SetPathResponse, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.api.bucketsd.pb.SetPathResponse.displayName = 'proto.api.bucketsd.pb.SetPathResponse';
}
/**
 * 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.api.bucketsd.pb.MovePathRequest = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.api.bucketsd.pb.MovePathRequest, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.api.bucketsd.pb.MovePathRequest.displayName = 'proto.api.bucketsd.pb.MovePathRequest';
}
/**
 * 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.api.bucketsd.pb.MovePathResponse = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.api.bucketsd.pb.MovePathResponse, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.api.bucketsd.pb.MovePathResponse.displayName = 'proto.api.bucketsd.pb.MovePathResponse';
}
/**
 * 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.api.bucketsd.pb.RemoveRequest = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.api.bucketsd.pb.RemoveRequest, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.api.bucketsd.pb.RemoveRequest.displayName = 'proto.api.bucketsd.pb.RemoveRequest';
}
/**
 * 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.api.bucketsd.pb.RemoveResponse = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.api.bucketsd.pb.RemoveResponse, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.api.bucketsd.pb.RemoveResponse.displayName = 'proto.api.bucketsd.pb.RemoveResponse';
}
/**
 * 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.api.bucketsd.pb.RemovePathRequest = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.api.bucketsd.pb.RemovePathRequest, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.api.bucketsd.pb.RemovePathRequest.displayName = 'proto.api.bucketsd.pb.RemovePathRequest';
}
/**
 * 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.api.bucketsd.pb.RemovePathResponse = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.api.bucketsd.pb.RemovePathResponse, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.api.bucketsd.pb.RemovePathResponse.displayName = 'proto.api.bucketsd.pb.RemovePathResponse';
}
/**
 * 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.api.bucketsd.pb.PushPathAccessRolesRequest = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.api.bucketsd.pb.PushPathAccessRolesRequest, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.api.bucketsd.pb.PushPathAccessRolesRequest.displayName = 'proto.api.bucketsd.pb.PushPathAccessRolesRequest';
}
/**
 * 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.api.bucketsd.pb.PushPathAccessRolesResponse = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.api.bucketsd.pb.PushPathAccessRolesResponse, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.api.bucketsd.pb.PushPathAccessRolesResponse.displayName = 'proto.api.bucketsd.pb.PushPathAccessRolesResponse';
}
/**
 * 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.api.bucketsd.pb.PullPathAccessRolesRequest = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.api.bucketsd.pb.PullPathAccessRolesRequest, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.api.bucketsd.pb.PullPathAccessRolesRequest.displayName = 'proto.api.bucketsd.pb.PullPathAccessRolesRequest';
}
/**
 * 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.api.bucketsd.pb.PullPathAccessRolesResponse = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.api.bucketsd.pb.PullPathAccessRolesResponse, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.api.bucketsd.pb.PullPathAccessRolesResponse.displayName = 'proto.api.bucketsd.pb.PullPathAccessRolesResponse';
}
/**
 * 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.api.bucketsd.pb.ArchiveConfig = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, proto.api.bucketsd.pb.ArchiveConfig.repeatedFields_, null);
};
goog.inherits(proto.api.bucketsd.pb.ArchiveConfig, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.api.bucketsd.pb.ArchiveConfig.displayName = 'proto.api.bucketsd.pb.ArchiveConfig';
}
/**
 * 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.api.bucketsd.pb.Archives = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, proto.api.bucketsd.pb.Archives.repeatedFields_, null);
};
goog.inherits(proto.api.bucketsd.pb.Archives, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.api.bucketsd.pb.Archives.displayName = 'proto.api.bucketsd.pb.Archives';
}
/**
 * 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.api.bucketsd.pb.Archive = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, proto.api.bucketsd.pb.Archive.repeatedFields_, null);
};
goog.inherits(proto.api.bucketsd.pb.Archive, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.api.bucketsd.pb.Archive.displayName = 'proto.api.bucketsd.pb.Archive';
}
/**
 * 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.api.bucketsd.pb.DealInfo = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.api.bucketsd.pb.DealInfo, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.api.bucketsd.pb.DealInfo.displayName = 'proto.api.bucketsd.pb.DealInfo';
}
/**
 * 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.api.bucketsd.pb.ArchiveRenew = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.api.bucketsd.pb.ArchiveRenew, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.api.bucketsd.pb.ArchiveRenew.displayName = 'proto.api.bucketsd.pb.ArchiveRenew';
}
/**
 * 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.api.bucketsd.pb.DefaultArchiveConfigRequest = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.api.bucketsd.pb.DefaultArchiveConfigRequest, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.api.bucketsd.pb.DefaultArchiveConfigRequest.displayName = 'proto.api.bucketsd.pb.DefaultArchiveConfigRequest';
}
/**
 * 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.api.bucketsd.pb.DefaultArchiveConfigResponse = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.api.bucketsd.pb.DefaultArchiveConfigResponse, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.api.bucketsd.pb.DefaultArchiveConfigResponse.displayName = 'proto.api.bucketsd.pb.DefaultArchiveConfigResponse';
}
/**
 * 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.api.bucketsd.pb.SetDefaultArchiveConfigRequest = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.api.bucketsd.pb.SetDefaultArchiveConfigRequest, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.api.bucketsd.pb.SetDefaultArchiveConfigRequest.displayName = 'proto.api.bucketsd.pb.SetDefaultArchiveConfigRequest';
}
/**
 * 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.api.bucketsd.pb.SetDefaultArchiveConfigResponse = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.api.bucketsd.pb.SetDefaultArchiveConfigResponse, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.api.bucketsd.pb.SetDefaultArchiveConfigResponse.displayName = 'proto.api.bucketsd.pb.SetDefaultArchiveConfigResponse';
}
/**
 * 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.api.bucketsd.pb.ArchiveRequest = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.api.bucketsd.pb.ArchiveRequest, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.api.bucketsd.pb.ArchiveRequest.displayName = 'proto.api.bucketsd.pb.ArchiveRequest';
}
/**
 * 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.api.bucketsd.pb.ArchiveResponse = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.api.bucketsd.pb.ArchiveResponse, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.api.bucketsd.pb.ArchiveResponse.displayName = 'proto.api.bucketsd.pb.ArchiveResponse';
}
/**
 * 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.api.bucketsd.pb.ArchivesRequest = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.api.bucketsd.pb.ArchivesRequest, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.api.bucketsd.pb.ArchivesRequest.displayName = 'proto.api.bucketsd.pb.ArchivesRequest';
}
/**
 * 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.api.bucketsd.pb.ArchivesResponse = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, proto.api.bucketsd.pb.ArchivesResponse.repeatedFields_, null);
};
goog.inherits(proto.api.bucketsd.pb.ArchivesResponse, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.api.bucketsd.pb.ArchivesResponse.displayName = 'proto.api.bucketsd.pb.ArchivesResponse';
}
/**
 * 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.api.bucketsd.pb.ArchiveWatchRequest = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.api.bucketsd.pb.ArchiveWatchRequest, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.api.bucketsd.pb.ArchiveWatchRequest.displayName = 'proto.api.bucketsd.pb.ArchiveWatchRequest';
}
/**
 * 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.api.bucketsd.pb.ArchiveWatchResponse = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.api.bucketsd.pb.ArchiveWatchResponse, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.api.bucketsd.pb.ArchiveWatchResponse.displayName = 'proto.api.bucketsd.pb.ArchiveWatchResponse';
}



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.api.bucketsd.pb.Metadata.prototype.toObject = function(opt_includeInstance) {
  return proto.api.bucketsd.pb.Metadata.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.api.bucketsd.pb.Metadata} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.api.bucketsd.pb.Metadata.toObject = function(includeInstance, msg) {
  var f, obj = {
    rolesMap: (f = msg.getRolesMap()) ? f.toObject(includeInstance, undefined) : [],
    updatedAt: jspb.Message.getFieldWithDefault(msg, 2, 0),
    key: jspb.Message.getFieldWithDefault(msg, 3, "")
  };

  if (includeInstance) {
    obj.$jspbMessageInstance = msg;
  }
  return obj;
};
}


/**
 * Deserializes binary data (in protobuf wire format).
 * @param {jspb.ByteSource} bytes The bytes to deserialize.
 * @return {!proto.api.bucketsd.pb.Metadata}
 */
proto.api.bucketsd.pb.Metadata.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.api.bucketsd.pb.Metadata;
  return proto.api.bucketsd.pb.Metadata.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.api.bucketsd.pb.Metadata} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.api.bucketsd.pb.Metadata}
 */
proto.api.bucketsd.pb.Metadata.deserializeBinaryFromReader = function(msg, reader) {
  while (reader.nextField()) {
    if (reader.isEndGroup()) {
      break;
    }
    var field = reader.getFieldNumber();
    switch (field) {
    case 1:
      var value = msg.getRolesMap();
      reader.readMessage(value, function(message, reader) {
        jspb.Map.deserializeBinary(message, reader, jspb.BinaryReader.prototype.readString, jspb.BinaryReader.prototype.readEnum, null, "", 0);
         });
      break;
    case 2:
      var value = /** @type {number} */ (reader.readInt64());
      msg.setUpdatedAt(value);
      break;
    case 3:
      var value = /** @type {string} */ (reader.readString());
      msg.setKey(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


/**
 * Serializes the message to binary data (in protobuf wire format).
 * @return {!Uint8Array}
 */
proto.api.bucketsd.pb.Metadata.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  proto.api.bucketsd.pb.Metadata.serializeBinaryToWriter(this, writer);
  return writer.getResultBuffer();
};


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.api.bucketsd.pb.Metadata} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.api.bucketsd.pb.Metadata.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getRolesMap(true);
  if (f && f.getLength() > 0) {
    f.serializeBinary(1, writer, jspb.BinaryWriter.prototype.writeString, jspb.BinaryWriter.prototype.writeEnum);
  }
  f = message.getUpdatedAt();
  if (f !== 0) {
    writer.writeInt64(
      2,
      f
    );
  }
  f = message.getKey();
  if (f.length > 0) {
    writer.writeString(
      3,
      f
    );
  }
};


/**
 * map<string, PathAccessRole> roles = 1;
 * @param {boolean=} opt_noLazyCreate Do not create the map if
 * empty, instead returning `undefined`
 * @return {!jspb.Map<string,!proto.api.bucketsd.pb.PathAccessRole>}
 */
proto.api.bucketsd.pb.Metadata.prototype.getRolesMap = function(opt_noLazyCreate) {
  return /** @type {!jspb.Map<string,!proto.api.bucketsd.pb.PathAccessRole>} */ (
      jspb.Message.getMapField(this, 1, opt_noLazyCreate,
      null));
};


/**
 * Clears values from the map. The map will be non-null.
 * @return {!proto.api.bucketsd.pb.Metadata} returns this
 */
proto.api.bucketsd.pb.Metadata.prototype.clearRolesMap = function() {
  this.getRolesMap().clear();
  return this;};


/**
 * optional int64 updated_at = 2;
 * @return {number}
 */
proto.api.bucketsd.pb.Metadata.prototype.getUpdatedAt = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));
};


/**
 * @param {number} value
 * @return {!proto.api.bucketsd.pb.Metadata} returns this
 */
proto.api.bucketsd.pb.Metadata.prototype.setUpdatedAt = function(value) {
  return jspb.Message.setProto3IntField(this, 2, value);
};


/**
 * optional string key = 3;
 * @return {string}
 */
proto.api.bucketsd.pb.Metadata.prototype.getKey = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, ""));
};


/**
 * @param {string} value
 * @return {!proto.api.bucketsd.pb.Metadata} returns this
 */
proto.api.bucketsd.pb.Metadata.prototype.setKey = function(value) {
  return jspb.Message.setProto3StringField(this, 3, value);
};





if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * Optional fields that are not set will be set to undefined.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     net/proto2/compiler/js/internal/generator.cc#kKeyword.
 * @param {boolean=} opt_includeInstance Deprecated. whether to include the
 *     JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @return {!Object}
 */
proto.api.bucketsd.pb.Root.prototype.toObject = function(opt_includeInstance) {
  return proto.api.bucketsd.pb.Root.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.api.bucketsd.pb.Root} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.api.bucketsd.pb.Root.toObject = function(includeInstance, msg) {
  var f, obj = {
    key: jspb.Message.getFieldWithDefault(msg, 1, ""),
    name: jspb.Message.getFieldWithDefault(msg, 2, ""),
    path: jspb.Message.getFieldWithDefault(msg, 3, ""),
    createdAt: jspb.Message.getFieldWithDefault(msg, 4, 0),
    updatedAt: jspb.Message.getFieldWithDefault(msg, 5, 0),
    thread: jspb.Message.getFieldWithDefault(msg, 6, ""),
    owner: jspb.Message.getFieldWithDefault(msg, 7, ""),
    version: jspb.Message.getFieldWithDefault(msg, 8, 0),
    metadata: (f = msg.getMetadata()) && proto.api.bucketsd.pb.Metadata.toObject(includeInstance, f),
    linkKey: jspb.Message.getFieldWithDefault(msg, 10, ""),
    pathMetadataMap: (f = msg.getPathMetadataMap()) ? f.toObject(includeInstance, proto.api.bucketsd.pb.Metadata.toObject) : [],
    archives: (f = msg.getArchives()) && proto.api.bucketsd.pb.Archives.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.api.bucketsd.pb.Root}
 */
proto.api.bucketsd.pb.Root.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.api.bucketsd.pb.Root;
  return proto.api.bucketsd.pb.Root.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.api.bucketsd.pb.Root} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.api.bucketsd.pb.Root}
 */
proto.api.bucketsd.pb.Root.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.setKey(value);
      break;
    case 2:
      var value = /** @type {string} */ (reader.readString());
      msg.setName(value);
      break;
    case 3:
      var value = /** @type {string} */ (reader.readString());
      msg.setPath(value);
      break;
    case 4:
      var value = /** @type {number} */ (reader.readInt64());
      msg.setCreatedAt(value);
      break;
    case 5:
      var value = /** @type {number} */ (reader.readInt64());
      msg.setUpdatedAt(value);
      break;
    case 6:
      var value = /** @type {string} */ (reader.readString());
      msg.setThread(value);
      break;
    case 7:
      var value = /** @type {string} */ (reader.readString());
      msg.setOwner(value);
      break;
    case 8:
      var value = /** @type {number} */ (reader.readInt32());
      msg.setVersion(value);
      break;
    case 9:
      var value = new proto.api.bucketsd.pb.Metadata;
      reader.readMessage(value,proto.api.bucketsd.pb.Metadata.deserializeBinaryFromReader);
      msg.setMetadata(value);
      break;
    case 10:
      var value = /** @type {string} */ (reader.readString());
      msg.setLinkKey(value);
      break;
    case 11:
      var value = msg.getPathMetadataMap();
      reader.readMessage(value, function(message, reader) {
        jspb.Map.deserializeBinary(message, reader, jspb.BinaryReader.prototype.readString, jspb.BinaryReader.prototype.readMessage, proto.api.bucketsd.pb.Metadata.deserializeBinaryFromReader, "", new proto.api.bucketsd.pb.Metadata());
         });
      break;
    case 12:
      var value = new proto.api.bucketsd.pb.Archives;
      reader.readMessage(value,proto.api.bucketsd.pb.Archives.deserializeBinaryFromReader);
      msg.setArchives(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


/**
 * Serializes the message to binary data (in protobuf wire format).
 * @return {!Uint8Array}
 */
proto.api.bucketsd.pb.Root.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  proto.api.bucketsd.pb.Root.serializeBinaryToWriter(this, writer);
  return writer.getResultBuffer();
};


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.api.bucketsd.pb.Root} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.api.bucketsd.pb.Root.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getKey();
  if (f.length > 0) {
    writer.writeString(
      1,
      f
    );
  }
  f = message.getName();
  if (f.length > 0) {
    writer.writeString(
      2,
      f
    );
  }
  f = message.getPath();
  if (f.length > 0) {
    writer.writeString(
      3,
      f
    );
  }
  f = message.getCreatedAt();
  if (f !== 0) {
    writer.writeInt64(
      4,
      f
    );
  }
  f = message.getUpdatedAt();
  if (f !== 0) {
    writer.writeInt64(
      5,
      f
    );
  }
  f = message.getThread();
  if (f.length > 0) {
    writer.writeString(
      6,
      f
    );
  }
  f = message.getOwner();
  if (f.length > 0) {
    writer.writeString(
      7,
      f
    );
  }
  f = message.getVersion();
  if (f !== 0) {
    writer.writeInt32(
      8,
      f
    );
  }
  f = message.getMetadata();
  if (f != null) {
    writer.writeMessage(
      9,
      f,
      proto.api.bucketsd.pb.Metadata.serializeBinaryToWriter
    );
  }
  f = message.getLinkKey();
  if (f.length > 0) {
    writer.writeString(
      10,
      f
    );
  }
  f = message.getPathMetadataMap(true);
  if (f && f.getLength() > 0) {
    f.serializeBinary(11, writer, jspb.BinaryWriter.prototype.writeString, jspb.BinaryWriter.prototype.writeMessage, proto.api.bucketsd.pb.Metadata.serializeBinaryToWriter);
  }
  f = message.getArchives();
  if (f != null) {
    writer.writeMessage(
      12,
      f,
      proto.api.bucketsd.pb.Archives.serializeBinaryToWriter
    );
  }
};


/**
 * optional string key = 1;
 * @return {string}
 */
proto.api.bucketsd.pb.Root.prototype.getKey = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
};


/**
 * @param {string} value
 * @return {!proto.api.bucketsd.pb.Root} returns this
 */
proto.api.bucketsd.pb.Root.prototype.setKey = function(value) {
  return jspb.Message.setProto3StringField(this, 1, value);
};


/**
 * optional string name = 2;
 * @return {string}
 */
proto.api.bucketsd.pb.Root.prototype.getName = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
};


/**
 * @param {string} value
 * @return {!proto.api.bucketsd.pb.Root} returns this
 */
proto.api.bucketsd.pb.Root.prototype.setName = function(value) {
  return jspb.Message.setProto3StringField(this, 2, value);
};


/**
 * optional string path = 3;
 * @return {string}
 */
proto.api.bucketsd.pb.Root.prototype.getPath = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, ""));
};


/**
 * @param {string} value
 * @return {!proto.api.bucketsd.pb.Root} returns this
 */
proto.api.bucketsd.pb.Root.prototype.setPath = function(value) {
  return jspb.Message.setProto3StringField(this, 3, value);
};


/**
 * optional int64 created_at = 4;
 * @return {number}
 */
proto.api.bucketsd.pb.Root.prototype.getCreatedAt = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 4, 0));
};


/**
 * @param {number} value
 * @return {!proto.api.bucketsd.pb.Root} returns this
 */
proto.api.bucketsd.pb.Root.prototype.setCreatedAt = function(value) {
  return jspb.Message.setProto3IntField(this, 4, value);
};


/**
 * optional int64 updated_at = 5;
 * @return {number}
 */
proto.api.bucketsd.pb.Root.prototype.getUpdatedAt = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 5, 0));
};


/**
 * @param {number} value
 * @return {!proto.api.bucketsd.pb.Root} returns this
 */
proto.api.bucketsd.pb.Root.prototype.setUpdatedAt = function(value) {
  return jspb.Message.setProto3IntField(this, 5, value);
};


/**
 * optional string thread = 6;
 * @return {string}
 */
proto.api.bucketsd.pb.Root.prototype.getThread = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 6, ""));
};


/**
 * @param {string} value
 * @return {!proto.api.bucketsd.pb.Root} returns this
 */
proto.api.bucketsd.pb.Root.prototype.setThread = function(value) {
  return jspb.Message.setProto3StringField(this, 6, value);
};


/**
 * optional string owner = 7;
 * @return {string}
 */
proto.api.bucketsd.pb.Root.prototype.getOwner = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 7, ""));
};


/**
 * @param {string} value
 * @return {!proto.api.bucketsd.pb.Root} returns this
 */
proto.api.bucketsd.pb.Root.prototype.setOwner = function(value) {
  return jspb.Message.setProto3StringField(this, 7, value);
};


/**
 * optional int32 version = 8;
 * @return {number}
 */
proto.api.bucketsd.pb.Root.prototype.getVersion = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 8, 0));
};


/**
 * @param {number} value
 * @return {!proto.api.bucketsd.pb.Root} returns this
 */
proto.api.bucketsd.pb.Root.prototype.setVersion = function(value) {
  return jspb.Message.setProto3IntField(this, 8, value);
};


/**
 * optional Metadata metadata = 9;
 * @return {?proto.api.bucketsd.pb.Metadata}
 */
proto.api.bucketsd.pb.Root.prototype.getMetadata = function() {
  return /** @type{?proto.api.bucketsd.pb.Metadata} */ (
    jspb.Message.getWrapperField(this, proto.api.bucketsd.pb.Metadata, 9));
};


/**
 * @param {?proto.api.bucketsd.pb.Metadata|undefined} value
 * @return {!proto.api.bucketsd.pb.Root} returns this
*/
proto.api.bucketsd.pb.Root.prototype.setMetadata = function(value) {
  return jspb.Message.setWrapperField(this, 9, value);
};


/**
 * Clears the message field making it undefined.
 * @return {!proto.api.bucketsd.pb.Root} returns this
 */
proto.api.bucketsd.pb.Root.prototype.clearMetadata = function() {
  return this.setMetadata(undefined);
};


/**
 * Returns whether this field is set.
 * @return {boolean}
 */
proto.api.bucketsd.pb.Root.prototype.hasMetadata = function() {
  return jspb.Message.getField(this, 9) != null;
};


/**
 * optional string link_key = 10;
 * @return {string}
 */
proto.api.bucketsd.pb.Root.prototype.getLinkKey = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 10, ""));
};


/**
 * @param {string} value
 * @return {!proto.api.bucketsd.pb.Root} returns this
 */
proto.api.bucketsd.pb.Root.prototype.setLinkKey = function(value) {
  return jspb.Message.setProto3StringField(this, 10, value);
};


/**
 * map<string, Metadata> path_metadata = 11;
 * @param {boolean=} opt_noLazyCreate Do not create the map if
 * empty, instead returning `undefined`
 * @return {!jspb.Map<string,!proto.api.bucketsd.pb.Metadata>}
 */
proto.api.bucketsd.pb.Root.prototype.getPathMetadataMap = function(opt_noLazyCreate) {
  return /** @type {!jspb.Map<string,!proto.api.bucketsd.pb.Metadata>} */ (
      jspb.Message.getMapField(this, 11, opt_noLazyCreate,
      proto.api.bucketsd.pb.Metadata));
};


/**
 * Clears values from the map. The map will be non-null.
 * @return {!proto.api.bucketsd.pb.Root} returns this
 */
proto.api.bucketsd.pb.Root.prototype.clearPathMetadataMap = function() {
  this.getPathMetadataMap().clear();
  return this;};


/**
 * optional Archives archives = 12;
 * @return {?proto.api.bucketsd.pb.Archives}
 */
proto.api.bucketsd.pb.Root.prototype.getArchives = function() {
  return /** @type{?proto.api.bucketsd.pb.Archives} */ (
    jspb.Message.getWrapperField(this, proto.api.bucketsd.pb.Archives, 12));
};


/**
 * @param {?proto.api.bucketsd.pb.Archives|undefined} value
 * @return {!proto.api.bucketsd.pb.Root} returns this
*/
proto.api.bucketsd.pb.Root.prototype.setArchives = function(value) {
  return jspb.Message.setWrapperField(this, 12, value);
};


/**
 * Clears the message field making it undefined.
 * @return {!proto.api.bucketsd.pb.Root} returns this
 */
proto.api.bucketsd.pb.Root.prototype.clearArchives = function() {
  return this.setArchives(undefined);
};


/**
 * Returns whether this field is set.
 * @return {boolean}
 */
proto.api.bucketsd.pb.Root.prototype.hasArchives = function() {
  return jspb.Message.getField(this, 12) != 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.api.bucketsd.pb.ListRequest.prototype.toObject = function(opt_includeInstance) {
  return proto.api.bucketsd.pb.ListRequest.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.api.bucketsd.pb.ListRequest} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.api.bucketsd.pb.ListRequest.toObject = function(includeInstance, msg) {
  var f, obj = {

  };

  if (includeInstance) {
    obj.$jspbMessageInstance = msg;
  }
  return obj;
};
}


/**
 * Deserializes binary data (in protobuf wire format).
 * @param {jspb.ByteSource} bytes The bytes to deserialize.
 * @return {!proto.api.bucketsd.pb.ListRequest}
 */
proto.api.bucketsd.pb.ListRequest.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.api.bucketsd.pb.ListRequest;
  return proto.api.bucketsd.pb.ListRequest.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.api.bucketsd.pb.ListRequest} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.api.bucketsd.pb.ListRequest}
 */
proto.api.bucketsd.pb.ListRequest.deserializeBinaryFromReader = function(msg, reader) {
  while (reader.nextField()) {
    if (reader.isEndGroup()) {
      break;
    }
    var field = reader.getFieldNumber();
    switch (field) {
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


/**
 * Serializes the message to binary data (in protobuf wire format).
 * @return {!Uint8Array}
 */
proto.api.bucketsd.pb.ListRequest.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  proto.api.bucketsd.pb.ListRequest.serializeBinaryToWriter(this, writer);
  return writer.getResultBuffer();
};


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.api.bucketsd.pb.ListRequest} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.api.bucketsd.pb.ListRequest.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
};



/**
 * List of repeated fields within this message type.
 * @private {!Array<number>}
 * @const
 */
proto.api.bucketsd.pb.ListResponse.repeatedFields_ = [1];



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.api.bucketsd.pb.ListResponse.prototype.toObject = function(opt_includeInstance) {
  return proto.api.bucketsd.pb.ListResponse.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.api.bucketsd.pb.ListResponse} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.api.bucketsd.pb.ListResponse.toObject = function(includeInstance, msg) {
  var f, obj = {
    rootsList: jspb.Message.toObjectList(msg.getRootsList(),
    proto.api.bucketsd.pb.Root.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.api.bucketsd.pb.ListResponse}
 */
proto.api.bucketsd.pb.ListResponse.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.api.bucketsd.pb.ListResponse;
  return proto.api.bucketsd.pb.ListResponse.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.api.bucketsd.pb.ListResponse} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.api.bucketsd.pb.ListResponse}
 */
proto.api.bucketsd.pb.ListResponse.deserializeBinaryFromReader = function(msg, reader) {
  while (reader.nextField()) {
    if (reader.isEndGroup()) {
      break;
    }
    var field = reader.getFieldNumber();
    switch (field) {
    case 1:
      var value = new proto.api.bucketsd.pb.Root;
      reader.readMessage(value,proto.api.bucketsd.pb.Root.deserializeBinaryFromReader);
      msg.addRoots(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


/**
 * Serializes the message to binary data (in protobuf wire format).
 * @return {!Uint8Array}
 */
proto.api.bucketsd.pb.ListResponse.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  proto.api.bucketsd.pb.ListResponse.serializeBinaryToWriter(this, writer);
  return writer.getResultBuffer();
};


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.api.bucketsd.pb.ListResponse} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.api.bucketsd.pb.ListResponse.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getRootsList();
  if (f.length > 0) {
    writer.writeRepeatedMessage(
      1,
      f,
      proto.api.bucketsd.pb.Root.serializeBinaryToWriter
    );
  }
};


/**
 * repeated Root roots = 1;
 * @return {!Array<!proto.api.bucketsd.pb.Root>}
 */
proto.api.bucketsd.pb.ListResponse.prototype.getRootsList = function() {
  return /** @type{!Array<!proto.api.bucketsd.pb.Root>} */ (
    jspb.Message.getRepeatedWrapperField(this, proto.api.bucketsd.pb.Root, 1));
};


/**
 * @param {!Array<!proto.api.bucketsd.pb.Root>} value
 * @return {!proto.api.bucketsd.pb.ListResponse} returns this
*/
proto.api.bucketsd.pb.ListResponse.prototype.setRootsList = function(value) {
  return jspb.Message.setRepeatedWrapperField(this, 1, value);
};


/**
 * @param {!proto.api.bucketsd.pb.Root=} opt_value
 * @param {number=} opt_index
 * @return {!proto.api.bucketsd.pb.Root}
 */
proto.api.bucketsd.pb.ListResponse.prototype.addRoots = function(opt_value, opt_index) {
  return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.api.bucketsd.pb.Root, opt_index);
};


/**
 * Clears the list making it empty but non-null.
 * @return {!proto.api.bucketsd.pb.ListResponse} returns this
 */
proto.api.bucketsd.pb.ListResponse.prototype.clearRootsList = function() {
  return this.setRootsList([]);
};





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.api.bucketsd.pb.CreateRequest.prototype.toObject = function(opt_includeInstance) {
  return proto.api.bucketsd.pb.CreateRequest.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.api.bucketsd.pb.CreateRequest} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.api.bucketsd.pb.CreateRequest.toObject = function(includeInstance, msg) {
  var f, obj = {
    name: jspb.Message.getFieldWithDefault(msg, 1, ""),
    bootstrapCid: jspb.Message.getFieldWithDefault(msg, 2, ""),
    pb_private: jspb.Message.getBooleanFieldWithDefault(msg, 3, false),
    unfreeze: jspb.Message.getBooleanFieldWithDefault(msg, 4, 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.api.bucketsd.pb.CreateRequest}
 */
proto.api.bucketsd.pb.CreateRequest.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.api.bucketsd.pb.CreateRequest;
  return proto.api.bucketsd.pb.CreateRequest.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.api.bucketsd.pb.CreateRequest} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.api.bucketsd.pb.CreateRequest}
 */
proto.api.bucketsd.pb.CreateRequest.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.setName(value);
      break;
    case 2:
      var value = /** @type {string} */ (reader.readString());
      msg.setBootstrapCid(value);
      break;
    case 3:
      var value = /** @type {boolean} */ (reader.readBool());
      msg.setPrivate(value);
      break;
    case 4:
      var value = /** @type {boolean} */ (reader.readBool());
      msg.setUnfreeze(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


/**
 * Serializes the message to binary data (in protobuf wire format).
 * @return {!Uint8Array}
 */
proto.api.bucketsd.pb.CreateRequest.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  proto.api.bucketsd.pb.CreateRequest.serializeBinaryToWriter(this, writer);
  return writer.getResultBuffer();
};


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.api.bucketsd.pb.CreateRequest} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.api.bucketsd.pb.CreateRequest.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getName();
  if (f.length > 0) {
    writer.writeString(
      1,
      f
    );
  }
  f = message.getBootstrapCid();
  if (f.length > 0) {
    writer.writeString(
      2,
      f
    );
  }
  f = message.getPrivate();
  if (f) {
    writer.writeBool(
      3,
      f
    );
  }
  f = message.getUnfreeze();
  if (f) {
    writer.writeBool(
      4,
      f
    );
  }
};


/**
 * optional string name = 1;
 * @return {string}
 */
proto.api.bucketsd.pb.CreateRequest.prototype.getName = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
};


/**
 * @param {string} value
 * @return {!proto.api.bucketsd.pb.CreateRequest} returns this
 */
proto.api.bucketsd.pb.CreateRequest.prototype.setName = function(value) {
  return jspb.Message.setProto3StringField(this, 1, value);
};


/**
 * optional string bootstrap_cid = 2;
 * @return {string}
 */
proto.api.bucketsd.pb.CreateRequest.prototype.getBootstrapCid = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
};


/**
 * @param {string} value
 * @return {!proto.api.bucketsd.pb.CreateRequest} returns this
 */
proto.api.bucketsd.pb.CreateRequest.prototype.setBootstrapCid = function(value) {
  return jspb.Message.setProto3StringField(this, 2, value);
};


/**
 * optional bool private = 3;
 * @return {boolean}
 */
proto.api.bucketsd.pb.CreateRequest.prototype.getPrivate = function() {
  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 3, false));
};


/**
 * @param {boolean} value
 * @return {!proto.api.bucketsd.pb.CreateRequest} returns this
 */
proto.api.bucketsd.pb.CreateRequest.prototype.setPrivate = function(value) {
  return jspb.Message.setProto3BooleanField(this, 3, value);
};


/**
 * optional bool unfreeze = 4;
 * @return {boolean}
 */
proto.api.bucketsd.pb.CreateRequest.prototype.getUnfreeze = function() {
  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 4, false));
};


/**
 * @param {boolean} value
 * @return {!proto.api.bucketsd.pb.CreateRequest} returns this
 */
proto.api.bucketsd.pb.CreateRequest.prototype.setUnfreeze = function(value) {
  return jspb.Message.setProto3BooleanField(this, 4, 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.api.bucketsd.pb.CreateResponse.prototype.toObject = function(opt_includeInstance) {
  return proto.api.bucketsd.pb.CreateResponse.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.api.bucketsd.pb.CreateResponse} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.api.bucketsd.pb.CreateResponse.toObject = function(includeInstance, msg) {
  var f, obj = {
    root: (f = msg.getRoot()) && proto.api.bucketsd.pb.Root.toObject(includeInstance, f),
    links: (f = msg.getLinks()) && proto.api.bucketsd.pb.LinksResponse.toObject(includeInstance, f),
    seed: msg.getSeed_asB64(),
    seedCid: jspb.Message.getFieldWithDefault(msg, 4, ""),
    pinned: jspb.Message.getFieldWithDefault(msg, 5, 0),
    retrievalId: jspb.Message.getFieldWithDefault(msg, 6, "")
  };

  if (includeInstance) {
    obj.$jspbMessageInstance = msg;
  }
  return obj;
};
}


/**
 * Deserializes binary data (in protobuf wire format).
 * @param {jspb.ByteSource} bytes The bytes to deserialize.
 * @return {!proto.api.bucketsd.pb.CreateResponse}
 */
proto.api.bucketsd.pb.CreateResponse.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.api.bucketsd.pb.CreateResponse;
  return proto.api.bucketsd.pb.CreateResponse.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.api.bucketsd.pb.CreateResponse} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.api.bucketsd.pb.CreateResponse}
 */
proto.api.bucketsd.pb.CreateResponse.deserializeBinaryFromReader = function(msg, reader) {
  while (reader.nextField()) {
    if (reader.isEndGroup()) {
      break;
    }
    var field = reader.getFieldNumber();
    switch (field) {
    case 1:
      var value = new proto.api.bucketsd.pb.Root;
      reader.readMessage(value,proto.api.bucketsd.pb.Root.deserializeBinaryFromReader);
      msg.setRoot(value);
      break;
    case 2:
      var value = new proto.api.bucketsd.pb.LinksResponse;
      reader.readMessage(value,proto.api.bucketsd.pb.LinksResponse.deserializeBinaryFromReader);
      msg.setLinks(value);
      break;
    case 3:
      var value = /** @type {!Uint8Array} */ (reader.readBytes());
      msg.setSeed(value);
      break;
    case 4:
      var value = /** @type {string} */ (reader.readString());
      msg.setSeedCid(value);
      break;
    case 5:
      var value = /** @type {number} */ (reader.readInt64());
      msg.setPinned(value);
      break;
    case 6:
      var value = /** @type {string} */ (reader.readString());
      msg.setRetrievalId(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


/**
 * Serializes the message to binary data (in protobuf wire format).
 * @return {!Uint8Array}
 */
proto.api.bucketsd.pb.CreateResponse.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  proto.api.bucketsd.pb.CreateResponse.serializeBinaryToWriter(this, writer);
  return writer.getResultBuffer();
};


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.api.bucketsd.pb.CreateResponse} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.api.bucketsd.pb.CreateResponse.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getRoot();
  if (f != null) {
    writer.writeMessage(
      1,
      f,
      proto.api.bucketsd.pb.Root.serializeBinaryToWriter
    );
  }
  f = message.getLinks();
  if (f != null) {
    writer.writeMessage(
      2,
      f,
      proto.api.bucketsd.pb.LinksResponse.serializeBinaryToWriter
    );
  }
  f = message.getSeed_asU8();
  if (f.length > 0) {
    writer.writeBytes(
      3,
      f
    );
  }
  f = message.getSeedCid();
  if (f.length > 0) {
    writer.writeString(
      4,
      f
    );
  }
  f = message.getPinned();
  if (f !== 0) {
    writer.writeInt64(
      5,
      f
    );
  }
  f = message.getRetrievalId();
  if (f.length > 0) {
    writer.writeString(
      6,
      f
    );
  }
};


/**
 * optional Root root = 1;
 * @return {?proto.api.bucketsd.pb.Root}
 */
proto.api.bucketsd.pb.CreateResponse.prototype.getRoot = function() {
  return /** @type{?proto.api.bucketsd.pb.Root} */ (
    jspb.Message.getWrapperField(this, proto.api.bucketsd.pb.Root, 1));
};


/**
 * @param {?proto.api.bucketsd.pb.Root|undefined} value
 * @return {!proto.api.bucketsd.pb.CreateResponse} returns this
*/
proto.api.bucketsd.pb.CreateResponse.prototype.setRoot = function(value) {
  return jspb.Message.setWrapperField(this, 1, value);
};


/**
 * Clears the message field making it undefined.
 * @return {!proto.api.bucketsd.pb.CreateResponse} returns this
 */
proto.api.bucketsd.pb.CreateResponse.prototype.clearRoot = function() {
  return this.setRoot(undefined);
};


/**
 * Returns whether this field is set.
 * @return {boolean}
 */
proto.api.bucketsd.pb.CreateResponse.prototype.hasRoot = function() {
  return jspb.Message.getField(this, 1) != null;
};


/**
 * optional LinksResponse links = 2;
 * @return {?proto.api.bucketsd.pb.LinksResponse}
 */
proto.api.bucketsd.pb.CreateResponse.prototype.getLinks = function() {
  return /** @type{?proto.api.bucketsd.pb.LinksResponse} */ (
    jspb.Message.getWrapperField(this, proto.api.bucketsd.pb.LinksResponse, 2));
};


/**
 * @param {?proto.api.bucketsd.pb.LinksResponse|undefined} value
 * @return {!proto.api.bucketsd.pb.CreateResponse} returns this
*/
proto.api.bucketsd.pb.CreateResponse.prototype.setLinks = function(value) {
  return jspb.Message.setWrapperField(this, 2, value);
};


/**
 * Clears the message field making it undefined.
 * @return {!proto.api.bucketsd.pb.CreateResponse} returns this
 */
proto.api.bucketsd.pb.CreateResponse.prototype.clearLinks = function() {
  return this.setLinks(undefined);
};


/**
 * Returns whether this field is set.
 * @return {boolean}
 */
proto.api.bucketsd.pb.CreateResponse.prototype.hasLinks = function() {
  return jspb.Message.getField(this, 2) != null;
};


/**
 * optional bytes seed = 3;
 * @return {!(string|Uint8Array)}
 */
proto.api.bucketsd.pb.CreateResponse.prototype.getSeed = function() {
  return /** @type {!(string|Uint8Array)} */ (jspb.Message.getFieldWithDefault(this, 3, ""));
};


/**
 * optional bytes seed = 3;
 * This is a type-conversion wrapper around `getSeed()`
 * @return {string}
 */
proto.api.bucketsd.pb.CreateResponse.prototype.getSeed_asB64 = function() {
  return /** @type {string} */ (jspb.Message.bytesAsB64(
      this.getSeed()));
};


/**
 * optional bytes seed = 3;
 * Note that Uint8Array is not supported on all browsers.
 * @see http://caniuse.com/Uint8Array
 * This is a type-conversion wrapper around `getSeed()`
 * @return {!Uint8Array}
 */
proto.api.bucketsd.pb.CreateResponse.prototype.getSeed_asU8 = function() {
  return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(
      this.getSeed()));
};


/**
 * @param {!(string|Uint8Array)} value
 * @return {!proto.api.bucketsd.pb.CreateResponse} returns this
 */
proto.api.bucketsd.pb.CreateResponse.prototype.setSeed = function(value) {
  return jspb.Message.setProto3BytesField(this, 3, value);
};


/**
 * optional string seed_cid = 4;
 * @return {string}
 */
proto.api.bucketsd.pb.CreateResponse.prototype.getSeedCid = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, ""));
};


/**
 * @param {string} value
 * @return {!proto.api.bucketsd.pb.CreateResponse} returns this
 */
proto.api.bucketsd.pb.CreateResponse.prototype.setSeedCid = function(value) {
  return jspb.Message.setProto3StringField(this, 4, value);
};


/**
 * optional int64 pinned = 5;
 * @return {number}
 */
proto.api.bucketsd.pb.CreateResponse.prototype.getPinned = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 5, 0));
};


/**
 * @param {number} value
 * @return {!proto.api.bucketsd.pb.CreateResponse} returns this
 */
proto.api.bucketsd.pb.CreateResponse.prototype.setPinned = function(value) {
  return jspb.Message.setProto3IntField(this, 5, value);
};


/**
 * optional string retrieval_id = 6;
 * @return {string}
 */
proto.api.bucketsd.pb.CreateResponse.prototype.getRetrievalId = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 6, ""));
};


/**
 * @param {string} value
 * @return {!proto.api.bucketsd.pb.CreateResponse} returns this
 */
proto.api.bucketsd.pb.CreateResponse.prototype.setRetrievalId = function(value) {
  return jspb.Message.setProto3StringField(this, 6, 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.api.bucketsd.pb.RootRequest.prototype.toObject = function(opt_includeInstance) {
  return proto.api.bucketsd.pb.RootRequest.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.api.bucketsd.pb.RootRequest} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.api.bucketsd.pb.RootRequest.toObject = function(includeInstance, msg) {
  var f, obj = {
    key: jspb.Message.getFieldWithDefault(msg, 1, "")
  };

  if (includeInstance) {
    obj.$jspbMessageInstance = msg;
  }
  return obj;
};
}


/**
 * Deserializes binary data (in protobuf wire format).
 * @param {jspb.ByteSource} bytes The bytes to deserialize.
 * @return {!proto.api.bucketsd.pb.RootRequest}
 */
proto.api.bucketsd.pb.RootRequest.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.api.bucketsd.pb.RootRequest;
  return proto.api.bucketsd.pb.RootRequest.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.api.bucketsd.pb.RootRequest} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.api.bucketsd.pb.RootRequest}
 */
proto.api.bucketsd.pb.RootRequest.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.setKey(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


/**
 * Serializes the message to binary data (in protobuf wire format).
 * @return {!Uint8Array}
 */
proto.api.bucketsd.pb.RootRequest.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  proto.api.bucketsd.pb.RootRequest.serializeBinaryToWriter(this, writer);
  return writer.getResultBuffer();
};


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.api.bucketsd.pb.RootRequest} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.api.bucketsd.pb.RootRequest.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getKey();
  if (f.length > 0) {
    writer.writeString(
      1,
      f
    );
  }
};


/**
 * optional string key = 1;
 * @return {string}
 */
proto.api.bucketsd.pb.RootRequest.prototype.getKey = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
};


/**
 * @param {string} value
 * @return {!proto.api.bucketsd.pb.RootRequest} returns this
 */
proto.api.bucketsd.pb.RootRequest.prototype.setKey = function(value) {
  return jspb.Message.setProto3StringField(this, 1, 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.api.bucketsd.pb.RootResponse.prototype.toObject = function(opt_includeInstance) {
  return proto.api.bucketsd.pb.RootResponse.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.api.bucketsd.pb.RootResponse} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.api.bucketsd.pb.RootResponse.toObject = function(includeInstance, msg) {
  var f, obj = {
    root: (f = msg.getRoot()) && proto.api.bucketsd.pb.Root.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.api.bucketsd.pb.RootResponse}
 */
proto.api.bucketsd.pb.RootResponse.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.api.bucketsd.pb.RootResponse;
  return proto.api.bucketsd.pb.RootResponse.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.api.bucketsd.pb.RootResponse} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.api.bucketsd.pb.RootResponse}
 */
proto.api.bucketsd.pb.RootResponse.deserializeBinaryFromReader = function(msg, reader) {
  while (reader.nextField()) {
    if (reader.isEndGroup()) {
      break;
    }
    var field = reader.getFieldNumber();
    switch (field) {
    case 1:
      var value = new proto.api.bucketsd.pb.Root;
      reader.readMessage(value,proto.api.bucketsd.pb.Root.deserializeBinaryFromReader);
      msg.setRoot(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


/**
 * Serializes the message to binary data (in protobuf wire format).
 * @return {!Uint8Array}
 */
proto.api.bucketsd.pb.RootResponse.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  proto.api.bucketsd.pb.RootResponse.serializeBinaryToWriter(this, writer);
  return writer.getResultBuffer();
};


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.api.bucketsd.pb.RootResponse} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.api.bucketsd.pb.RootResponse.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getRoot();
  if (f != null) {
    writer.writeMessage(
      1,
      f,
      proto.api.bucketsd.pb.Root.serializeBinaryToWriter
    );
  }
};


/**
 * optional Root root = 1;
 * @return {?proto.api.bucketsd.pb.Root}
 */
proto.api.bucketsd.pb.RootResponse.prototype.getRoot = function() {
  return /** @type{?proto.api.bucketsd.pb.Root} */ (
    jspb.Message.getWrapperField(this, proto.api.bucketsd.pb.Root, 1));
};


/**
 * @param {?proto.api.bucketsd.pb.Root|undefined} value
 * @return {!proto.api.bucketsd.pb.RootResponse} returns this
*/
proto.api.bucketsd.pb.RootResponse.prototype.setRoot = function(value) {
  return jspb.Message.setWrapperField(this, 1, value);
};


/**
 * Clears the message field making it undefined.
 * @return {!proto.api.bucketsd.pb.RootResponse} returns this
 */
proto.api.bucketsd.pb.RootResponse.prototype.clearRoot = function() {
  return this.setRoot(undefined);
};


/**
 * Returns whether this field is set.
 * @return {boolean}
 */
proto.api.bucketsd.pb.RootResponse.prototype.hasRoot = function() {
  return jspb.Message.getField(this, 1) != 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.api.bucketsd.pb.LinksRequest.prototype.toObject = function(opt_includeInstance) {
  return proto.api.bucketsd.pb.LinksRequest.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.api.bucketsd.pb.LinksRequest} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.api.bucketsd.pb.LinksRequest.toObject = function(includeInstance, msg) {
  var f, obj = {
    key: jspb.Message.getFieldWithDefault(msg, 1, ""),
    path: 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.api.bucketsd.pb.LinksRequest}
 */
proto.api.bucketsd.pb.LinksRequest.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.api.bucketsd.pb.LinksRequest;
  return proto.api.bucketsd.pb.LinksRequest.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.api.bucketsd.pb.LinksRequest} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.api.bucketsd.pb.LinksRequest}
 */
proto.api.bucketsd.pb.LinksRequest.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.setKey(value);
      break;
    case 2:
      var value = /** @type {string} */ (reader.readString());
      msg.setPath(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


/**
 * Serializes the message to binary data (in protobuf wire format).
 * @return {!Uint8Array}
 */
proto.api.bucketsd.pb.LinksRequest.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  proto.api.bucketsd.pb.LinksRequest.serializeBinaryToWriter(this, writer);
  return writer.getResultBuffer();
};


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.api.bucketsd.pb.LinksRequest} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.api.bucketsd.pb.LinksRequest.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getKey();
  if (f.length > 0) {
    writer.writeString(
      1,
      f
    );
  }
  f = message.getPath();
  if (f.length > 0) {
    writer.writeString(
      2,
      f
    );
  }
};


/**
 * optional string key = 1;
 * @return {string}
 */
proto.api.bucketsd.pb.LinksRequest.prototype.getKey = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
};


/**
 * @param {string} value
 * @return {!proto.api.bucketsd.pb.LinksRequest} returns this
 */
proto.api.bucketsd.pb.LinksRequest.prototype.setKey = function(value) {
  return jspb.Message.setProto3StringField(this, 1, value);
};


/**
 * optional string path = 2;
 * @return {string}
 */
proto.api.bucketsd.pb.LinksRequest.prototype.getPath = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
};


/**
 * @param {string} value
 * @return {!proto.api.bucketsd.pb.LinksRequest} returns this
 */
proto.api.bucketsd.pb.LinksRequest.prototype.setPath = 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.api.bucketsd.pb.LinksResponse.prototype.toObject = function(opt_includeInstance) {
  return proto.api.bucketsd.pb.LinksResponse.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.api.bucketsd.pb.LinksResponse} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.api.bucketsd.pb.LinksResponse.toObject = function(includeInstance, msg) {
  var f, obj = {
    url: jspb.Message.getFieldWithDefault(msg, 1, ""),
    www: jspb.Message.getFieldWithDefault(msg, 2, ""),
    ipns: jspb.Message.getFieldWithDefault(msg, 3, "")
  };

  if (includeInstance) {
    obj.$jspbMessageInstance = msg;
  }
  return obj;
};
}


/**
 * Deserializes binary data (in protobuf wire format).
 * @param {jspb.ByteSource} bytes The bytes to deserialize.
 * @return {!proto.api.bucketsd.pb.LinksResponse}
 */
proto.api.bucketsd.pb.LinksResponse.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.api.bucketsd.pb.LinksResponse;
  return proto.api.bucketsd.pb.LinksResponse.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.api.bucketsd.pb.LinksResponse} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.api.bucketsd.pb.LinksResponse}
 */
proto.api.bucketsd.pb.LinksResponse.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.setUrl(value);
      break;
    case 2:
      var value = /** @type {string} */ (reader.readString());
      msg.setWww(value);
      break;
    case 3:
      var value = /** @type {string} */ (reader.readString());
      msg.setIpns(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


/**
 * Serializes the message to binary data (in protobuf wire format).
 * @return {!Uint8Array}
 */
proto.api.bucketsd.pb.LinksResponse.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  proto.api.bucketsd.pb.LinksResponse.serializeBinaryToWriter(this, writer);
  return writer.getResultBuffer();
};


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.api.bucketsd.pb.LinksResponse} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.api.bucketsd.pb.LinksResponse.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getUrl();
  if (f.length > 0) {
    writer.writeString(
      1,
      f
    );
  }
  f = message.getWww();
  if (f.length > 0) {
    writer.writeString(
      2,
      f
    );
  }
  f = message.getIpns();
  if (f.length > 0) {
    writer.writeString(
      3,
      f
    );
  }
};


/**
 * optional string url = 1;
 * @return {string}
 */
proto.api.bucketsd.pb.LinksResponse.prototype.getUrl = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
};


/**
 * @param {string} value
 * @return {!proto.api.bucketsd.pb.LinksResponse} returns this
 */
proto.api.bucketsd.pb.LinksResponse.prototype.setUrl = function(value) {
  return jspb.Message.setProto3StringField(this, 1, value);
};


/**
 * optional string www = 2;
 * @return {string}
 */
proto.api.bucketsd.pb.LinksResponse.prototype.getWww = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
};


/**
 * @param {string} value
 * @return {!proto.api.bucketsd.pb.LinksResponse} returns this
 */
proto.api.bucketsd.pb.LinksResponse.prototype.setWww = function(value) {
  return jspb.Message.setProto3StringField(this, 2, value);
};


/**
 * optional string ipns = 3;
 * @return {string}
 */
proto.api.bucketsd.pb.LinksResponse.prototype.getIpns = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, ""));
};


/**
 * @param {string} value
 * @return {!proto.api.bucketsd.pb.LinksResponse} returns this
 */
proto.api.bucketsd.pb.LinksResponse.prototype.setIpns = function(value) {
  return jspb.Message.setProto3StringField(this, 3, value);
};





if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * Optional fields that are not set will be set to undefined.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     net/proto2/compiler/js/internal/generator.cc#kKeyword.
 * @param {boolean=} opt_includeInstance Deprecated. whether to include the
 *     JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @return {!Object}
 */
proto.api.bucketsd.pb.ListPathRequest.prototype.toObject = function(opt_includeInstance) {
  return proto.api.bucketsd.pb.ListPathRequest.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.api.bucketsd.pb.ListPathRequest} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.api.bucketsd.pb.ListPathRequest.toObject = function(includeInstance, msg) {
  var f, obj = {
    key: jspb.Message.getFieldWithDefault(msg, 1, ""),
    path: 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.api.bucketsd.pb.ListPathRequest}
 */
proto.api.bucketsd.pb.ListPathRequest.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.api.bucketsd.pb.ListPathRequest;
  return proto.api.bucketsd.pb.ListPathRequest.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.api.bucketsd.pb.ListPathRequest} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.api.bucketsd.pb.ListPathRequest}
 */
proto.api.bucketsd.pb.ListPathRequest.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.setKey(value);
      break;
    case 2:
      var value = /** @type {string} */ (reader.readString());
      msg.setPath(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


/**
 * Serializes the message to binary data (in protobuf wire format).
 * @return {!Uint8Array}
 */
proto.api.bucketsd.pb.ListPathRequest.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  proto.api.bucketsd.pb.ListPathRequest.serializeBinaryToWriter(this, writer);
  return writer.getResultBuffer();
};


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.api.bucketsd.pb.ListPathRequest} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.api.bucketsd.pb.ListPathRequest.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getKey();
  if (f.length > 0) {
    writer.writeString(
      1,
      f
    );
  }
  f = message.getPath();
  if (f.length > 0) {
    writer.writeString(
      2,
      f
    );
  }
};


/**
 * optional string key = 1;
 * @return {string}
 */
proto.api.bucketsd.pb.ListPathRequest.prototype.getKey = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
};


/**
 * @param {string} value
 * @return {!proto.api.bucketsd.pb.ListPathRequest} returns this
 */
proto.api.bucketsd.pb.ListPathRequest.prototype.setKey = function(value) {
  return jspb.Message.setProto3StringField(this, 1, value);
};


/**
 * optional string path = 2;
 * @return {string}
 */
proto.api.bucketsd.pb.ListPathRequest.prototype.getPath = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
};


/**
 * @param {string} value
 * @return {!proto.api.bucketsd.pb.ListPathRequest} returns this
 */
proto.api.bucketsd.pb.ListPathRequest.prototype.setPath = 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.api.bucketsd.pb.ListPathResponse.prototype.toObject = function(opt_includeInstance) {
  return proto.api.bucketsd.pb.ListPathResponse.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.api.bucketsd.pb.ListPathResponse} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.api.bucketsd.pb.ListPathResponse.toObject = function(includeInstance, msg) {
  var f, obj = {
    item: (f = msg.getItem()) && proto.api.bucketsd.pb.PathItem.toObject(includeInstance, f),
    root: (f = msg.getRoot()) && proto.api.bucketsd.pb.Root.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.api.bucketsd.pb.ListPathResponse}
 */
proto.api.bucketsd.pb.ListPathResponse.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.api.bucketsd.pb.ListPathResponse;
  return proto.api.bucketsd.pb.ListPathResponse.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.api.bucketsd.pb.ListPathResponse} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.api.bucketsd.pb.ListPathResponse}
 */
proto.api.bucketsd.pb.ListPathResponse.deserializeBinaryFromReader = function(msg, reader) {
  while (reader.nextField()) {
    if (reader.isEndGroup()) {
      break;
    }
    var field = reader.getFieldNumber();
    switch (field) {
    case 1:
      var value = new proto.api.bucketsd.pb.PathItem;
      reader.readMessage(value,proto.api.bucketsd.pb.PathItem.deserializeBinaryFromReader);
      msg.setItem(value);
      break;
    case 2:
      var value = new proto.api.bucketsd.pb.Root;
      reader.readMessage(value,proto.api.bucketsd.pb.Root.deserializeBinaryFromReader);
      msg.setRoot(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


/**
 * Serializes the message to binary data (in protobuf wire format).
 * @return {!Uint8Array}
 */
proto.api.bucketsd.pb.ListPathResponse.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  proto.api.bucketsd.pb.ListPathResponse.serializeBinaryToWriter(this, writer);
  return writer.getResultBuffer();
};


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.api.bucketsd.pb.ListPathResponse} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.api.bucketsd.pb.ListPathResponse.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getItem();
  if (f != null) {
    writer.writeMessage(
      1,
      f,
      proto.api.bucketsd.pb.PathItem.serializeBinaryToWriter
    );
  }
  f = message.getRoot();
  if (f != null) {
    writer.writeMessage(
      2,
      f,
      proto.api.bucketsd.pb.Root.serializeBinaryToWriter
    );
  }
};


/**
 * optional PathItem item = 1;
 * @return {?proto.api.bucketsd.pb.PathItem}
 */
proto.api.bucketsd.pb.ListPathResponse.prototype.getItem = function() {
  return /** @type{?proto.api.bucketsd.pb.PathItem} */ (
    jspb.Message.getWrapperField(this, proto.api.bucketsd.pb.PathItem, 1));
};


/**
 * @param {?proto.api.bucketsd.pb.PathItem|undefined} value
 * @return {!proto.api.bucketsd.pb.ListPathResponse} returns this
*/
proto.api.bucketsd.pb.ListPathResponse.prototype.setItem = function(value) {
  return jspb.Message.setWrapperField(this, 1, value);
};


/**
 * Clears the message field making it undefined.
 * @return {!proto.api.bucketsd.pb.ListPathResponse} returns this
 */
proto.api.bucketsd.pb.ListPathResponse.prototype.clearItem = function() {
  return this.setItem(undefined);
};


/**
 * Returns whether this field is set.
 * @return {boolean}
 */
proto.api.bucketsd.pb.ListPathResponse.prototype.hasItem = function() {
  return jspb.Message.getField(this, 1) != null;
};


/**
 * optional Root root = 2;
 * @return {?proto.api.bucketsd.pb.Root}
 */
proto.api.bucketsd.pb.ListPathResponse.prototype.getRoot = function() {
  return /** @type{?proto.api.bucketsd.pb.Root} */ (
    jspb.Message.getWrapperField(this, proto.api.bucketsd.pb.Root, 2));
};


/**
 * @param {?proto.api.bucketsd.pb.Root|undefined} value
 * @return {!proto.api.bucketsd.pb.ListPathResponse} returns this
*/
proto.api.bucketsd.pb.ListPathResponse.prototype.setRoot = function(value) {
  return jspb.Message.setWrapperField(this, 2, value);
};


/**
 * Clears the message field making it undefined.
 * @return {!proto.api.bucketsd.pb.ListPathResponse} returns this
 */
proto.api.bucketsd.pb.ListPathResponse.prototype.clearRoot = function() {
  return this.setRoot(undefined);
};


/**
 * Returns whether this field is set.
 * @return {boolean}
 */
proto.api.bucketsd.pb.ListPathResponse.prototype.hasRoot = function() {
  return jspb.Message.getField(this, 2) != null;
};



/**
 * List of repeated fields within this message type.
 * @private {!Array<number>}
 * @const
 */
proto.api.bucketsd.pb.PathItem.repeatedFields_ = [6];



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.api.bucketsd.pb.PathItem.prototype.toObject = function(opt_includeInstance) {
  return proto.api.bucketsd.pb.PathItem.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.api.bucketsd.pb.PathItem} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.api.bucketsd.pb.PathItem.toObject = function(includeInstance, msg) {
  var f, obj = {
    cid: jspb.Message.getFieldWithDefault(msg, 1, ""),
    name: jspb.Message.getFieldWithDefault(msg, 2, ""),
    path: jspb.Message.getFieldWithDefault(msg, 3, ""),
    size: jspb.Message.getFieldWithDefault(msg, 4, 0),
    isDir: jspb.Message.getBooleanFieldWithDefault(msg, 5, false),
    itemsList: jspb.Message.toObjectList(msg.getItemsList(),
    proto.api.bucketsd.pb.PathItem.toObject, includeInstance),
    itemsCount: jspb.Message.getFieldWithDefault(msg, 7, 0),
    metadata: (f = msg.getMetadata()) && proto.api.bucketsd.pb.Metadata.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.api.bucketsd.pb.PathItem}
 */
proto.api.bucketsd.pb.PathItem.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.api.bucketsd.pb.PathItem;
  return proto.api.bucketsd.pb.PathItem.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.api.bucketsd.pb.PathItem} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.api.bucketsd.pb.PathItem}
 */
proto.api.bucketsd.pb.PathItem.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.setCid(value);
      break;
    case 2:
      var value = /** @type {string} */ (reader.readString());
      msg.setName(value);
      break;
    case 3:
      var value = /** @type {string} */ (reader.readString());
      msg.setPath(value);
      break;
    case 4:
      var value = /** @type {number} */ (reader.readInt64());
      msg.setSize(value);
      break;
    case 5:
      var value = /** @type {boolean} */ (reader.readBool());
      msg.setIsDir(value);
      break;
    case 6:
      var value = new proto.api.bucketsd.pb.PathItem;
      reader.readMessage(value,proto.api.bucketsd.pb.PathItem.deserializeBinaryFromReader);
      msg.addItems(value);
      break;
    case 7:
      var value = /** @type {number} */ (reader.readInt32());
      msg.setItemsCount(value);
      break;
    case 9:
      var value = new proto.api.bucketsd.pb.Metadata;
      reader.readMessage(value,proto.api.bucketsd.pb.Metadata.deserializeBinaryFromReader);
      msg.setMetadata(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


/**
 * Serializes the message to binary data (in protobuf wire format).
 * @return {!Uint8Array}
 */
proto.api.bucketsd.pb.PathItem.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  proto.api.bucketsd.pb.PathItem.serializeBinaryToWriter(this, writer);
  return writer.getResultBuffer();
};


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.api.bucketsd.pb.PathItem} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.api.bucketsd.pb.PathItem.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getCid();
  if (f.length > 0) {
    writer.writeString(
      1,
      f
    );
  }
  f = message.getName();
  if (f.length > 0) {
    writer.writeString(
      2,
      f
    );
  }
  f = message.getPath();
  if (f.length > 0) {
    writer.writeString(
      3,
      f
    );
  }
  f = message.getSize();
  if (f !== 0) {
    writer.writeInt64(
      4,
      f
    );
  }
  f = message.getIsDir();
  if (f) {
    writer.writeBool(
      5,
      f
    );
  }
  f = message.getItemsList();
  if (f.length > 0) {
    writer.writeRepeatedMessage(
      6,
      f,
      proto.api.bucketsd.pb.PathItem.serializeBinaryToWriter
    );
  }
  f = message.getItemsCount();
  if (f !== 0) {
    writer.writeInt32(
      7,
      f
    );
  }
  f = message.getMetadata();
  if (f != null) {
    writer.writeMessage(
      9,
      f,
      proto.api.bucketsd.pb.Metadata.serializeBinaryToWriter
    );
  }
};


/**
 * optional string cid = 1;
 * @return {string}
 */
proto.api.bucketsd.pb.PathItem.prototype.getCid = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
};


/**
 * @param {string} value
 * @return {!proto.api.bucketsd.pb.PathItem} returns this
 */
proto.api.bucketsd.pb.PathItem.prototype.setCid = function(value) {
  return jspb.Message.setProto3StringField(this, 1, value);
};


/**
 * optional string name = 2;
 * @return {string}
 */
proto.api.bucketsd.pb.PathItem.prototype.getName = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
};


/**
 * @param {string} value
 * @return {!proto.api.bucketsd.pb.PathItem} returns this
 */
proto.api.bucketsd.pb.PathItem.prototype.setName = function(value) {
  return jspb.Message.setProto3StringField(this, 2, value);
};


/**
 * optional string path = 3;
 * @return {string}
 */
proto.api.bucketsd.pb.PathItem.prototype.getPath = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, ""));
};


/**
 * @param {string} value
 * @return {!proto.api.bucketsd.pb.PathItem} returns this
 */
proto.api.bucketsd.pb.PathItem.prototype.setPath = function(value) {
  return jspb.Message.setProto3StringField(this, 3, value);
};


/**
 * optional int64 size = 4;
 * @return {number}
 */
proto.api.bucketsd.pb.PathItem.prototype.getSize = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 4, 0));
};


/**
 * @param {number} value
 * @return {!proto.api.bucketsd.pb.PathItem} returns this
 */
proto.api.bucketsd.pb.PathItem.prototype.setSize = function(value) {
  return jspb.Message.setProto3IntField(this, 4, value);
};


/**
 * optional bool is_dir = 5;
 * @return {boolean}
 */
proto.api.bucketsd.pb.PathItem.prototype.getIsDir = function() {
  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 5, false));
};


/**
 * @param {boolean} value
 * @return {!proto.api.bucketsd.pb.PathItem} returns this
 */
proto.api.bucketsd.pb.PathItem.prototype.setIsDir = function(value) {
  return jspb.Message.setProto3BooleanField(this, 5, value);
};


/**
 * repeated PathItem items = 6;
 * @return {!Array<!proto.api.bucketsd.pb.PathItem>}
 */
proto.api.bucketsd.pb.PathItem.prototype.getItemsList = function() {
  return /** @type{!Array<!proto.api.bucketsd.pb.PathItem>} */ (
    jspb.Message.getRepeatedWrapperField(this, proto.api.bucketsd.pb.PathItem, 6));
};


/**
 * @param {!Array<!proto.api.bucketsd.pb.PathItem>} value
 * @return {!proto.api.bucketsd.pb.PathItem} returns this
*/
proto.api.bucketsd.pb.PathItem.prototype.setItemsList = function(value) {
  return jspb.Message.setRepeatedWrapperField(this, 6, value);
};


/**
 * @param {!proto.api.bucketsd.pb.PathItem=} opt_value
 * @param {number=} opt_index
 * @return {!proto.api.bucketsd.pb.PathItem}
 */
proto.api.bucketsd.pb.PathItem.prototype.addItems = function(opt_value, opt_index) {
  return jspb.Message.addToRepeatedWrapperField(this, 6, opt_value, proto.api.bucketsd.pb.PathItem, opt_index);
};


/**
 * Clears the list making it empty but non-null.
 * @return {!proto.api.bucketsd.pb.PathItem} returns this
 */
proto.api.bucketsd.pb.PathItem.prototype.clearItemsList = function() {
  return this.setItemsList([]);
};


/**
 * optional int32 items_count = 7;
 * @return {number}
 */
proto.api.bucketsd.pb.PathItem.prototype.getItemsCount = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 7, 0));
};


/**
 * @param {number} value
 * @return {!proto.api.bucketsd.pb.PathItem} returns this
 */
proto.api.bucketsd.pb.PathItem.prototype.setItemsCount = function(value) {
  return jspb.Message.setProto3IntField(this, 7, value);
};


/**
 * optional Metadata metadata = 9;
 * @return {?proto.api.bucketsd.pb.Metadata}
 */
proto.api.bucketsd.pb.PathItem.prototype.getMetadata = function() {
  return /** @type{?proto.api.bucketsd.pb.Metadata} */ (
    jspb.Message.getWrapperField(this, proto.api.bucketsd.pb.Metadata, 9));
};


/**
 * @param {?proto.api.bucketsd.pb.Metadata|undefined} value
 * @return {!proto.api.bucketsd.pb.PathItem} returns this
*/
proto.api.bucketsd.pb.PathItem.prototype.setMetadata = function(value) {
  return jspb.Message.setWrapperField(this, 9, value);
};


/**
 * Clears the message field making it undefined.
 * @return {!proto.api.bucketsd.pb.PathItem} returns this
 */
proto.api.bucketsd.pb.PathItem.prototype.clearMetadata = function() {
  return this.setMetadata(undefined);
};


/**
 * Returns whether this field is set.
 * @return {boolean}
 */
proto.api.bucketsd.pb.PathItem.prototype.hasMetadata = function() {
  return jspb.Message.getField(this, 9) != 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.api.bucketsd.pb.ListIpfsPathRequest.prototype.toObject = function(opt_includeInstance) {
  return proto.api.bucketsd.pb.ListIpfsPathRequest.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.api.bucketsd.pb.ListIpfsPathRequest} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.api.bucketsd.pb.ListIpfsPathRequest.toObject = function(includeInstance, msg) {
  var f, obj = {
    path: jspb.Message.getFieldWithDefault(msg, 1, "")
  };

  if (includeInstance) {
    obj.$jspbMessageInstance = msg;
  }
  return obj;
};
}


/**
 * Deserializes binary data (in protobuf wire format).
 * @param {jspb.ByteSource} bytes The bytes to deserialize.
 * @return {!proto.api.bucketsd.pb.ListIpfsPathRequest}
 */
proto.api.bucketsd.pb.ListIpfsPathRequest.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.api.bucketsd.pb.ListIpfsPathRequest;
  return proto.api.bucketsd.pb.ListIpfsPathRequest.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.api.bucketsd.pb.ListIpfsPathRequest} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.api.bucketsd.pb.ListIpfsPathRequest}
 */
proto.api.bucketsd.pb.ListIpfsPathRequest.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.setPath(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


/**
 * Serializes the message to binary data (in protobuf wire format).
 * @return {!Uint8Array}
 */
proto.api.bucketsd.pb.ListIpfsPathRequest.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  proto.api.bucketsd.pb.ListIpfsPathRequest.serializeBinaryToWriter(this, writer);
  return writer.getResultBuffer();
};


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.api.bucketsd.pb.ListIpfsPathRequest} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.api.bucketsd.pb.ListIpfsPathRequest.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getPath();
  if (f.length > 0) {
    writer.writeString(
      1,
      f
    );
  }
};


/**
 * optional string path = 1;
 * @return {string}
 */
proto.api.bucketsd.pb.ListIpfsPathRequest.prototype.getPath = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
};


/**
 * @param {string} value
 * @return {!proto.api.bucketsd.pb.ListIpfsPathRequest} returns this
 */
proto.api.bucketsd.pb.ListIpfsPathRequest.prototype.setPath = function(value) {
  return jspb.Message.setProto3StringField(this, 1, 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.api.bucketsd.pb.ListIpfsPathResponse.prototype.toObject = function(opt_includeInstance) {
  return proto.api.bucketsd.pb.ListIpfsPathResponse.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.api.bucketsd.pb.ListIpfsPathResponse} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.api.bucketsd.pb.ListIpfsPathResponse.toObject = function(includeInstance, msg) {
  var f, obj = {
    item: (f = msg.getItem()) && proto.api.bucketsd.pb.PathItem.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.api.bucketsd.pb.ListIpfsPathResponse}
 */
proto.api.bucketsd.pb.ListIpfsPathResponse.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.api.bucketsd.pb.ListIpfsPathResponse;
  return proto.api.bucketsd.pb.ListIpfsPathResponse.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.api.bucketsd.pb.ListIpfsPathResponse} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.api.bucketsd.pb.ListIpfsPathResponse}
 */
proto.api.bucketsd.pb.ListIpfsPathResponse.deserializeBinaryFromReader = function(msg, reader) {
  while (reader.nextField()) {
    if (reader.isEndGroup()) {
      break;
    }
    var field = reader.getFieldNumber();
    switch (field) {
    case 1:
      var value = new proto.api.bucketsd.pb.PathItem;
      reader.readMessage(value,proto.api.bucketsd.pb.PathItem.deserializeBinaryFromReader);
      msg.setItem(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


/**
 * Serializes the message to binary data (in protobuf wire format).
 * @return {!Uint8Array}
 */
proto.api.bucketsd.pb.ListIpfsPathResponse.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  proto.api.bucketsd.pb.ListIpfsPathResponse.serializeBinaryToWriter(this, writer);
  return writer.getResultBuffer();
};


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.api.bucketsd.pb.ListIpfsPathResponse} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.api.bucketsd.pb.ListIpfsPathResponse.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getItem();
  if (f != null) {
    writer.writeMessage(
      1,
      f,
      proto.api.bucketsd.pb.PathItem.serializeBinaryToWriter
    );
  }
};


/**
 * optional PathItem item = 1;
 * @return {?proto.api.bucketsd.pb.PathItem}
 */
proto.api.bucketsd.pb.ListIpfsPathResponse.prototype.getItem = function() {
  return /** @type{?proto.api.bucketsd.pb.PathItem} */ (
    jspb.Message.getWrapperField(this, proto.api.bucketsd.pb.PathItem, 1));
};


/**
 * @param {?proto.api.bucketsd.pb.PathItem|undefined} value
 * @return {!proto.api.bucketsd.pb.ListIpfsPathResponse} returns this
*/
proto.api.bucketsd.pb.ListIpfsPathResponse.prototype.setItem = function(value) {
  return jspb.Message.setWrapperField(this, 1, value);
};


/**
 * Clears the message field making it undefined.
 * @return {!proto.api.bucketsd.pb.ListIpfsPathResponse} returns this
 */
proto.api.bucketsd.pb.ListIpfsPathResponse.prototype.clearItem = function() {
  return this.setItem(undefined);
};


/**
 * Returns whether this field is set.
 * @return {boolean}
 */
proto.api.bucketsd.pb.ListIpfsPathResponse.prototype.hasItem = function() {
  return jspb.Message.getField(this, 1) != null;
};



/**
 * Oneof group definitions for this message. Each group defines the field
 * numbers belonging to that group. When of these fields' value is set, all
 * other fields in the group are cleared. During deserialization, if multiple
 * fields are encountered for a group, only the last value seen will be kept.
 * @private {!Array<!Array<number>>}
 * @const
 */
proto.api.bucketsd.pb.PushPathRequest.oneofGroups_ = [[1,2]];

/**
 * @enum {number}
 */
proto.api.bucketsd.pb.PushPathRequest.PayloadCase = {
  PAYLOAD_NOT_SET: 0,
  HEADER: 1,
  CHUNK: 2
};

/**
 * @return {proto.api.bucketsd.pb.PushPathRequest.PayloadCase}
 */
proto.api.bucketsd.pb.PushPathRequest.prototype.getPayloadCase = function() {
  return /** @type {proto.api.bucketsd.pb.PushPathRequest.PayloadCase} */(jspb.Message.computeOneofCase(this, proto.api.bucketsd.pb.PushPathRequest.oneofGroups_[0]));
};



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.api.bucketsd.pb.PushPathRequest.prototype.toObject = function(opt_includeInstance) {
  return proto.api.bucketsd.pb.PushPathRequest.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.api.bucketsd.pb.PushPathRequest} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.api.bucketsd.pb.PushPathRequest.toObject = function(includeInstance, msg) {
  var f, obj = {
    header: (f = msg.getHeader()) && proto.api.bucketsd.pb.PushPathRequest.Header.toObject(includeInstance, f),
    chunk: msg.getChunk_asB64()
  };

  if (includeInstance) {
    obj.$jspbMessageInstance = msg;
  }
  return obj;
};
}


/**
 * Deserializes binary data (in protobuf wire format).
 * @param {jspb.ByteSource} bytes The bytes to deserialize.
 * @return {!proto.api.bucketsd.pb.PushPathRequest}
 */
proto.api.bucketsd.pb.PushPathRequest.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.api.bucketsd.pb.PushPathRequest;
  return proto.api.bucketsd.pb.PushPathRequest.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.api.bucketsd.pb.PushPathRequest} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.api.bucketsd.pb.PushPathRequest}
 */
proto.api.bucketsd.pb.PushPathRequest.deserializeBinaryFromReader = function(msg, reader) {
  while (reader.nextField()) {
    if (reader.isEndGroup()) {
      break;
    }
    var field = reader.getFieldNumber();
    switch (field) {
    case 1:
      var value = new proto.api.bucketsd.pb.PushPathRequest.Header;
      reader.readMessage(value,proto.api.bucketsd.pb.PushPathRequest.Header.deserializeBinaryFromReader);
      msg.setHeader(value);
      break;
    case 2:
      var value = /** @type {!Uint8Array} */ (reader.readBytes());
      msg.setChunk(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


/**
 * Serializes the message to binary data (in protobuf wire format).
 * @return {!Uint8Array}
 */
proto.api.bucketsd.pb.PushPathRequest.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  proto.api.bucketsd.pb.PushPathRequest.serializeBinaryToWriter(this, writer);
  return writer.getResultBuffer();
};


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.api.bucketsd.pb.PushPathRequest} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.api.bucketsd.pb.PushPathRequest.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getHeader();
  if (f != null) {
    writer.writeMessage(
      1,
      f,
      proto.api.bucketsd.pb.PushPathRequest.Header.serializeBinaryToWriter
    );
  }
  f = /** @type {!(string|Uint8Array)} */ (jspb.Message.getField(message, 2));
  if (f != null) {
    writer.writeBytes(
      2,
      f
    );
  }
};





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.api.bucketsd.pb.PushPathRequest.Header.prototype.toObject = function(opt_includeInstance) {
  return proto.api.bucketsd.pb.PushPathRequest.Header.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.api.bucketsd.pb.PushPathRequest.Header} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.api.bucketsd.pb.PushPathRequest.Header.toObject = function(includeInstance, msg) {
  var f, obj = {
    key: jspb.Message.getFieldWithDefault(msg, 1, ""),
    path: jspb.Message.getFieldWithDefault(msg, 2, ""),
    root: jspb.Message.getFieldWithDefault(msg, 3, "")
  };

  if (includeInstance) {
    obj.$jspbMessageInstance = msg;
  }
  return obj;
};
}


/**
 * Deserializes binary data (in protobuf wire format).
 * @param {jspb.ByteSource} bytes The bytes to deserialize.
 * @return {!proto.api.bucketsd.pb.PushPathRequest.Header}
 */
proto.api.bucketsd.pb.PushPathRequest.Header.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.api.bucketsd.pb.PushPathRequest.Header;
  return proto.api.bucketsd.pb.PushPathRequest.Header.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.api.bucketsd.pb.PushPathRequest.Header} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.api.bucketsd.pb.PushPathRequest.Header}
 */
proto.api.bucketsd.pb.PushPathRequest.Header.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.setKey(value);
      break;
    case 2:
      var value = /** @type {string} */ (reader.readString());
      msg.setPath(value);
      break;
    case 3:
      var value = /** @type {string} */ (reader.readString());
      msg.setRoot(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


/**
 * Serializes the message to binary data (in protobuf wire format).
 * @return {!Uint8Array}
 */
proto.api.bucketsd.pb.PushPathRequest.Header.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  proto.api.bucketsd.pb.PushPathRequest.Header.serializeBinaryToWriter(this, writer);
  return writer.getResultBuffer();
};


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.api.bucketsd.pb.PushPathRequest.Header} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.api.bucketsd.pb.PushPathRequest.Header.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getKey();
  if (f.length > 0) {
    writer.writeString(
      1,
      f
    );
  }
  f = message.getPath();
  if (f.length > 0) {
    writer.writeString(
      2,
      f
    );
  }
  f = message.getRoot();
  if (f.length > 0) {
    writer.writeString(
      3,
      f
    );
  }
};


/**
 * optional string key = 1;
 * @return {string}
 */
proto.api.bucketsd.pb.PushPathRequest.Header.prototype.getKey = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
};


/**
 * @param {string} value
 * @return {!proto.api.bucketsd.pb.PushPathRequest.Header} returns this
 */
proto.api.bucketsd.pb.PushPathRequest.Header.prototype.setKey = function(value) {
  return jspb.Message.setProto3StringField(this, 1, value);
};


/**
 * optional string path = 2;
 * @return {string}
 */
proto.api.bucketsd.pb.PushPathRequest.Header.prototype.getPath = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
};


/**
 * @param {string} value
 * @return {!proto.api.bucketsd.pb.PushPathRequest.Header} returns this
 */
proto.api.bucketsd.pb.PushPathRequest.Header.prototype.setPath = function(value) {
  return jspb.Message.setProto3StringField(this, 2, value);
};


/**
 * optional string root = 3;
 * @return {string}
 */
proto.api.bucketsd.pb.PushPathRequest.Header.prototype.getRoot = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, ""));
};


/**
 * @param {string} value
 * @return {!proto.api.bucketsd.pb.PushPathRequest.Header} returns this
 */
proto.api.bucketsd.pb.PushPathRequest.Header.prototype.setRoot = function(value) {
  return jspb.Message.setProto3StringField(this, 3, value);
};


/**
 * optional Header header = 1;
 * @return {?proto.api.bucketsd.pb.PushPathRequest.Header}
 */
proto.api.bucketsd.pb.PushPathRequest.prototype.getHeader = function() {
  return /** @type{?proto.api.bucketsd.pb.PushPathRequest.Header} */ (
    jspb.Message.getWrapperField(this, proto.api.bucketsd.pb.PushPathRequest.Header, 1));
};


/**
 * @param {?proto.api.bucketsd.pb.PushPathRequest.Header|undefined} value
 * @return {!proto.api.bucketsd.pb.PushPathRequest} returns this
*/
proto.api.bucketsd.pb.PushPathRequest.prototype.setHeader = function(value) {
  return jspb.Message.setOneofWrapperField(this, 1, proto.api.bucketsd.pb.PushPathRequest.oneofGroups_[0], value);
};


/**
 * Clears the message field making it undefined.
 * @return {!proto.api.bucketsd.pb.PushPathRequest} returns this
 */
proto.api.bucketsd.pb.PushPathRequest.prototype.clearHeader = function() {
  return this.setHeader(undefined);
};


/**
 * Returns whether this field is set.
 * @return {boolean}
 */
proto.api.bucketsd.pb.PushPathRequest.prototype.hasHeader = function() {
  return jspb.Message.getField(this, 1) != null;
};


/**
 * optional bytes chunk = 2;
 * @return {!(string|Uint8Array)}
 */
proto.api.bucketsd.pb.PushPathRequest.prototype.getChunk = function() {
  return /** @type {!(string|Uint8Array)} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
};


/**
 * optional bytes chunk = 2;
 * This is a type-conversion wrapper around `getChunk()`
 * @return {string}
 */
proto.api.bucketsd.pb.PushPathRequest.prototype.getChunk_asB64 = function() {
  return /** @type {string} */ (jspb.Message.bytesAsB64(
      this.getChunk()));
};


/**
 * optional bytes chunk = 2;
 * Note that Uint8Array is not supported on all browsers.
 * @see http://caniuse.com/Uint8Array
 * This is a type-conversion wrapper around `getChunk()`
 * @return {!Uint8Array}
 */
proto.api.bucketsd.pb.PushPathRequest.prototype.getChunk_asU8 = function() {
  return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(
      this.getChunk()));
};


/**
 * @param {!(string|Uint8Array)} value
 * @return {!proto.api.bucketsd.pb.PushPathRequest} returns this
 */
proto.api.bucketsd.pb.PushPathRequest.prototype.setChunk = function(value) {
  return jspb.Message.setOneofField(this, 2, proto.api.bucketsd.pb.PushPathRequest.oneofGroups_[0], value);
};


/**
 * Clears the field making it undefined.
 * @return {!proto.api.bucketsd.pb.PushPathRequest} returns this
 */
proto.api.bucketsd.pb.PushPathRequest.prototype.clearChunk = function() {
  return jspb.Message.setOneofField(this, 2, proto.api.bucketsd.pb.PushPathRequest.oneofGroups_[0], undefined);
};


/**
 * Returns whether this field is set.
 * @return {boolean}
 */
proto.api.bucketsd.pb.PushPathRequest.prototype.hasChunk = 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.api.bucketsd.pb.PushPathResponse.prototype.toObject = function(opt_includeInstance) {
  return proto.api.bucketsd.pb.PushPathResponse.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.api.bucketsd.pb.PushPathResponse} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.api.bucketsd.pb.PushPathResponse.toObject = function(includeInstance, msg) {
  var f, obj = {
    event: (f = msg.getEvent()) && proto.api.bucketsd.pb.PushPathResponse.Event.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.api.bucketsd.pb.PushPathResponse}
 */
proto.api.bucketsd.pb.PushPathResponse.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.api.bucketsd.pb.PushPathResponse;
  return proto.api.bucketsd.pb.PushPathResponse.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.api.bucketsd.pb.PushPathResponse} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.api.bucketsd.pb.PushPathResponse}
 */
proto.api.bucketsd.pb.PushPathResponse.deserializeBinaryFromReader = function(msg, reader) {
  while (reader.nextField()) {
    if (reader.isEndGroup()) {
      break;
    }
    var field = reader.getFieldNumber();
    switch (field) {
    case 1:
      var value = new proto.api.bucketsd.pb.PushPathResponse.Event;
      reader.readMessage(value,proto.api.bucketsd.pb.PushPathResponse.Event.deserializeBinaryFromReader);
      msg.setEvent(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


/**
 * Serializes the message to binary data (in protobuf wire format).
 * @return {!Uint8Array}
 */
proto.api.bucketsd.pb.PushPathResponse.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  proto.api.bucketsd.pb.PushPathResponse.serializeBinaryToWriter(this, writer);
  return writer.getResultBuffer();
};


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.api.bucketsd.pb.PushPathResponse} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.api.bucketsd.pb.PushPathResponse.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getEvent();
  if (f != null) {
    writer.writeMessage(
      1,
      f,
      proto.api.bucketsd.pb.PushPathResponse.Event.serializeBinaryToWriter
    );
  }
};





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.api.bucketsd.pb.PushPathResponse.Event.prototype.toObject = function(opt_includeInstance) {
  return proto.api.bucketsd.pb.PushPathResponse.Event.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.api.bucketsd.pb.PushPathResponse.Event} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.api.bucketsd.pb.PushPathResponse.Event.toObject = function(includeInstance, msg) {
  var f, obj = {
    name: jspb.Message.getFieldWithDefault(msg, 1, ""),
    path: jspb.Message.getFieldWithDefault(msg, 2, ""),
    bytes: jspb.Message.getFieldWithDefault(msg, 3, 0),
    size: jspb.Message.getFieldWithDefault(msg, 4, ""),
    root: (f = msg.getRoot()) && proto.api.bucketsd.pb.Root.toObject(includeInstance, f),
    pinned: jspb.Message.getFieldWithDefault(msg, 6, 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.api.bucketsd.pb.PushPathResponse.Event}
 */
proto.api.bucketsd.pb.PushPathResponse.Event.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.api.bucketsd.pb.PushPathResponse.Event;
  return proto.api.bucketsd.pb.PushPathResponse.Event.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.api.bucketsd.pb.PushPathResponse.Event} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.api.bucketsd.pb.PushPathResponse.Event}
 */
proto.api.bucketsd.pb.PushPathResponse.Event.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.setName(value);
      break;
    case 2:
      var value = /** @type {string} */ (reader.readString());
      msg.setPath(value);
      break;
    case 3:
      var value = /** @type {number} */ (reader.readInt64());
      msg.setBytes(value);
      break;
    case 4:
      var value = /** @type {string} */ (reader.readString());
      msg.setSize(value);
      break;
    case 5:
      var value = new proto.api.bucketsd.pb.Root;
      reader.readMessage(value,proto.api.bucketsd.pb.Root.deserializeBinaryFromReader);
      msg.setRoot(value);
      break;
    case 6:
      var value = /** @type {number} */ (reader.readInt64());
      msg.setPinned(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


/**
 * Serializes the message to binary data (in protobuf wire format).
 * @return {!Uint8Array}
 */
proto.api.bucketsd.pb.PushPathResponse.Event.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  proto.api.bucketsd.pb.PushPathResponse.Event.serializeBinaryToWriter(this, writer);
  return writer.getResultBuffer();
};


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.api.bucketsd.pb.PushPathResponse.Event} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.api.bucketsd.pb.PushPathResponse.Event.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getName();
  if (f.length > 0) {
    writer.writeString(
      1,
      f
    );
  }
  f = message.getPath();
  if (f.length > 0) {
    writer.writeString(
      2,
      f
    );
  }
  f = message.getBytes();
  if (f !== 0) {
    writer.writeInt64(
      3,
      f
    );
  }
  f = message.getSize();
  if (f.length > 0) {
    writer.writeString(
      4,
      f
    );
  }
  f = message.getRoot();
  if (f != null) {
    writer.writeMessage(
      5,
      f,
      proto.api.bucketsd.pb.Root.serializeBinaryToWriter
    );
  }
  f = message.getPinned();
  if (f !== 0) {
    writer.writeInt64(
      6,
      f
    );
  }
};


/**
 * optional string name = 1;
 * @return {string}
 */
proto.api.bucketsd.pb.PushPathResponse.Event.prototype.getName = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
};


/**
 * @param {string} value
 * @return {!proto.api.bucketsd.pb.PushPathResponse.Event} returns this
 */
proto.api.bucketsd.pb.PushPathResponse.Event.prototype.setName = function(value) {
  return jspb.Message.setProto3StringField(this, 1, value);
};


/**
 * optional string path = 2;
 * @return {string}
 */
proto.api.bucketsd.pb.PushPathResponse.Event.prototype.getPath = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
};


/**
 * @param {string} value
 * @return {!proto.api.bucketsd.pb.PushPathResponse.Event} returns this
 */
proto.api.bucketsd.pb.PushPathResponse.Event.prototype.setPath = function(value) {
  return jspb.Message.setProto3StringField(this, 2, value);
};


/**
 * optional int64 bytes = 3;
 * @return {number}
 */
proto.api.bucketsd.pb.PushPathResponse.Event.prototype.getBytes = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 3, 0));
};


/**
 * @param {number} value
 * @return {!proto.api.bucketsd.pb.PushPathResponse.Event} returns this
 */
proto.api.bucketsd.pb.PushPathResponse.Event.prototype.setBytes = function(value) {
  return jspb.Message.setProto3IntField(this, 3, value);
};


/**
 * optional string size = 4;
 * @return {string}
 */
proto.api.bucketsd.pb.PushPathResponse.Event.prototype.getSize = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, ""));
};


/**
 * @param {string} value
 * @return {!proto.api.bucketsd.pb.PushPathResponse.Event} returns this
 */
proto.api.bucketsd.pb.PushPathResponse.Event.prototype.setSize = function(value) {
  return jspb.Message.setProto3StringField(this, 4, value);
};


/**
 * optional Root root = 5;
 * @return {?proto.api.bucketsd.pb.Root}
 */
proto.api.bucketsd.pb.PushPathResponse.Event.prototype.getRoot = function() {
  return /** @type{?proto.api.bucketsd.pb.Root} */ (
    jspb.Message.getWrapperField(this, proto.api.bucketsd.pb.Root, 5));
};


/**
 * @param {?proto.api.bucketsd.pb.Root|undefined} value
 * @return {!proto.api.bucketsd.pb.PushPathResponse.Event} returns this
*/
proto.api.bucketsd.pb.PushPathResponse.Event.prototype.setRoot = function(value) {
  return jspb.Message.setWrapperField(this, 5, value);
};


/**
 * Clears the message field making it undefined.
 * @return {!proto.api.bucketsd.pb.PushPathResponse.Event} returns this
 */
proto.api.bucketsd.pb.PushPathResponse.Event.prototype.clearRoot = function() {
  return this.setRoot(undefined);
};


/**
 * Returns whether this field is set.
 * @return {boolean}
 */
proto.api.bucketsd.pb.PushPathResponse.Event.prototype.hasRoot = function() {
  return jspb.Message.getField(this, 5) != null;
};


/**
 * optional int64 pinned = 6;
 * @return {number}
 */
proto.api.bucketsd.pb.PushPathResponse.Event.prototype.getPinned = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 6, 0));
};


/**
 * @param {number} value
 * @return {!proto.api.bucketsd.pb.PushPathResponse.Event} returns this
 */
proto.api.bucketsd.pb.PushPathResponse.Event.prototype.setPinned = function(value) {
  return jspb.Message.setProto3IntField(this, 6, value);
};


/**
 * optional Event event = 1;
 * @return {?proto.api.bucketsd.pb.PushPathResponse.Event}
 */
proto.api.bucketsd.pb.PushPathResponse.prototype.getEvent = function() {
  return /** @type{?proto.api.bucketsd.pb.PushPathResponse.Event} */ (
    jspb.Message.getWrapperField(this, proto.api.bucketsd.pb.PushPathResponse.Event, 1));
};


/**
 * @param {?proto.api.bucketsd.pb.PushPathResponse.Event|undefined} value
 * @return {!proto.api.bucketsd.pb.PushPathResponse} returns this
*/
proto.api.bucketsd.pb.PushPathResponse.prototype.setEvent = function(value) {
  return jspb.Message.setWrapperField(this, 1, value);
};


/**
 * Clears the message field making it undefined.
 * @return {!proto.api.bucketsd.pb.PushPathResponse} returns this
 */
proto.api.bucketsd.pb.PushPathResponse.prototype.clearEvent = function() {
  return this.setEvent(undefined);
};


/**
 * Returns whether this field is set.
 * @return {boolean}
 */
proto.api.bucketsd.pb.PushPathResponse.prototype.hasEvent = function() {
  return jspb.Message.getField(this, 1) != null;
};



/**
 * Oneof group definitions for this message. Each group defines the field
 * numbers belonging to that group. When of these fields' value is set, all
 * other fields in the group are cleared. During deserialization, if multiple
 * fields are encountered for a group, only the last value seen will be kept.
 * @private {!Array<!Array<number>>}
 * @const
 */
proto.api.bucketsd.pb.PushPathsRequest.oneofGroups_ = [[1,2]];

/**
 * @enum {number}
 */
proto.api.bucketsd.pb.PushPathsRequest.PayloadCase = {
  PAYLOAD_NOT_SET: 0,
  HEADER: 1,
  CHUNK: 2
};

/**
 * @return {proto.api.bucketsd.pb.PushPathsRequest.PayloadCase}
 */
proto.api.bucketsd.pb.PushPathsRequest.prototype.getPayloadCase = function() {
  return /** @type {proto.api.bucketsd.pb.PushPathsRequest.PayloadCase} */(jspb.Message.computeOneofCase(this, proto.api.bucketsd.pb.PushPathsRequest.oneofGroups_[0]));
};



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.api.bucketsd.pb.PushPathsRequest.prototype.toObject = function(opt_includeInstance) {
  return proto.api.bucketsd.pb.PushPathsRequest.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.api.bucketsd.pb.PushPathsRequest} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.api.bucketsd.pb.PushPathsRequest.toObject = function(includeInstance, msg) {
  var f, obj = {
    header: (f = msg.getHeader()) && proto.api.bucketsd.pb.PushPathsRequest.Header.toObject(includeInstance, f),
    chunk: (f = msg.getChunk()) && proto.api.bucketsd.pb.PushPathsRequest.Chunk.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.api.bucketsd.pb.PushPathsRequest}
 */
proto.api.bucketsd.pb.PushPathsRequest.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.api.bucketsd.pb.PushPathsRequest;
  return proto.api.bucketsd.pb.PushPathsRequest.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.api.bucketsd.pb.PushPathsRequest} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.api.bucketsd.pb.PushPathsRequest}
 */
proto.api.bucketsd.pb.PushPathsRequest.deserializeBinaryFromReader = function(msg, reader) {
  while (reader.nextField()) {
    if (reader.isEndGroup()) {
      break;
    }
    var field = reader.getFieldNumber();
    switch (field) {
    case 1:
      var value = new proto.api.bucketsd.pb.PushPathsRequest.Header;
      reader.readMessage(value,proto.api.bucketsd.pb.PushPathsRequest.Header.deserializeBinaryFromReader);
      msg.setHeader(value);
      break;
    case 2:
      var value = new proto.api.bucketsd.pb.PushPathsRequest.Chunk;
      reader.readMessage(value,proto.api.bucketsd.pb.PushPathsRequest.Chunk.deserializeBinaryFromReader);
      msg.setChunk(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


/**
 * Serializes the message to binary data (in protobuf wire format).
 * @return {!Uint8Array}
 */
proto.api.bucketsd.pb.PushPathsRequest.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  proto.api.bucketsd.pb.PushPathsRequest.serializeBinaryToWriter(this, writer);
  return writer.getResultBuffer();
};


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.api.bucketsd.pb.PushPathsRequest} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.api.bucketsd.pb.PushPathsRequest.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getHeader();
  if (f != null) {
    writer.writeMessage(
      1,
      f,
      proto.api.bucketsd.pb.PushPathsRequest.Header.serializeBinaryToWriter
    );
  }
  f = message.getChunk();
  if (f != null) {
    writer.writeMessage(
      2,
      f,
      proto.api.bucketsd.pb.PushPathsRequest.Chunk.serializeBinaryToWriter
    );
  }
};





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.api.bucketsd.pb.PushPathsRequest.Header.prototype.toObject = function(opt_includeInstance) {
  return proto.api.bucketsd.pb.PushPathsRequest.Header.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.api.bucketsd.pb.PushPathsRequest.Header} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.api.bucketsd.pb.PushPathsRequest.Header.toObject = function(includeInstance, msg) {
  var f, obj = {
    key: jspb.Message.getFieldWithDefault(msg, 1, ""),
    root: 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.api.bucketsd.pb.PushPathsRequest.Header}
 */
proto.api.bucketsd.pb.PushPathsRequest.Header.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.api.bucketsd.pb.PushPathsRequest.Header;
  return proto.api.bucketsd.pb.PushPathsRequest.Header.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.api.bucketsd.pb.PushPathsRequest.Header} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.api.bucketsd.pb.PushPathsRequest.Header}
 */
proto.api.bucketsd.pb.PushPathsRequest.Header.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.setKey(value);
      break;
    case 2:
      var value = /** @type {string} */ (reader.readString());
      msg.setRoot(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


/**
 * Serializes the message to binary data (in protobuf wire format).
 * @return {!Uint8Array}
 */
proto.api.bucketsd.pb.PushPathsRequest.Header.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  proto.api.bucketsd.pb.PushPathsRequest.Header.serializeBinaryToWriter(this, writer);
  return writer.getResultBuffer();
};


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.api.bucketsd.pb.PushPathsRequest.Header} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.api.bucketsd.pb.PushPathsRequest.Header.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getKey();
  if (f.length > 0) {
    writer.writeString(
      1,
      f
    );
  }
  f = message.getRoot();
  if (f.length > 0) {
    writer.writeString(
      2,
      f
    );
  }
};


/**
 * optional string key = 1;
 * @return {string}
 */
proto.api.bucketsd.pb.PushPathsRequest.Header.prototype.getKey = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
};


/**
 * @param {string} value
 * @return {!proto.api.bucketsd.pb.PushPathsRequest.Header} returns this
 */
proto.api.bucketsd.pb.PushPathsRequest.Header.prototype.setKey = function(value) {
  return jspb.Message.setProto3StringField(this, 1, value);
};


/**
 * optional string root = 2;
 * @return {string}
 */
proto.api.bucketsd.pb.PushPathsRequest.Header.prototype.getRoot = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
};


/**
 * @param {string} value
 * @return {!proto.api.bucketsd.pb.PushPathsRequest.Header} returns this
 */
proto.api.bucketsd.pb.PushPathsRequest.Header.prototype.setRoot = 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.api.bucketsd.pb.PushPathsRequest.Chunk.prototype.toObject = function(opt_includeInstance) {
  return proto.api.bucketsd.pb.PushPathsRequest.Chunk.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.api.bucketsd.pb.PushPathsRequest.Chunk} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.api.bucketsd.pb.PushPathsRequest.Chunk.toObject = function(includeInstance, msg) {
  var f, obj = {
    path: jspb.Message.getFieldWithDefault(msg, 1, ""),
    data: msg.getData_asB64()
  };

  if (includeInstance) {
    obj.$jspbMessageInstance = msg;
  }
  return obj;
};
}


/**
 * Deserializes binary data (in protobuf wire format).
 * @param {jspb.ByteSource} bytes The bytes to deserialize.
 * @return {!proto.api.bucketsd.pb.PushPathsRequest.Chunk}
 */
proto.api.bucketsd.pb.PushPathsRequest.Chunk.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.api.bucketsd.pb.PushPathsRequest.Chunk;
  return proto.api.bucketsd.pb.PushPathsRequest.Chunk.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.api.bucketsd.pb.PushPathsRequest.Chunk} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.api.bucketsd.pb.PushPathsRequest.Chunk}
 */
proto.api.bucketsd.pb.PushPathsRequest.Chunk.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.setPath(value);
      break;
    case 2:
      var value = /** @type {!Uint8Array} */ (reader.readBytes());
      msg.setData(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


/**
 * Serializes the message to binary data (in protobuf wire format).
 * @return {!Uint8Array}
 */
proto.api.bucketsd.pb.PushPathsRequest.Chunk.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  proto.api.bucketsd.pb.PushPathsRequest.Chunk.serializeBinaryToWriter(this, writer);
  return writer.getResultBuffer();
};


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.api.bucketsd.pb.PushPathsRequest.Chunk} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.api.bucketsd.pb.PushPathsRequest.Chunk.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getPath();
  if (f.length > 0) {
    writer.writeString(
      1,
      f
    );
  }
  f = message.getData_asU8();
  if (f.length > 0) {
    writer.writeBytes(
      2,
      f
    );
  }
};


/**
 * optional string path = 1;
 * @return {string}
 */
proto.api.bucketsd.pb.PushPathsRequest.Chunk.prototype.getPath = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
};


/**
 * @param {string} value
 * @return {!proto.api.bucketsd.pb.PushPathsRequest.Chunk} returns this
 */
proto.api.bucketsd.pb.PushPathsRequest.Chunk.prototype.setPath = function(value) {
  return jspb.Message.setProto3StringField(this, 1, value);
};


/**
 * optional bytes data = 2;
 * @return {!(string|Uint8Array)}
 */
proto.api.bucketsd.pb.PushPathsRequest.Chunk.prototype.getData = function() {
  return /** @type {!(string|Uint8Array)} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
};


/**
 * optional bytes data = 2;
 * This is a type-conversion wrapper around `getData()`
 * @return {string}
 */
proto.api.bucketsd.pb.PushPathsRequest.Chunk.prototype.getData_asB64 = function() {
  return /** @type {string} */ (jspb.Message.bytesAsB64(
      this.getData()));
};


/**
 * optional bytes data = 2;
 * Note that Uint8Array is not supported on all browsers.
 * @see http://caniuse.com/Uint8Array
 * This is a type-conversion wrapper around `getData()`
 * @return {!Uint8Array}
 */
proto.api.bucketsd.pb.PushPathsRequest.Chunk.prototype.getData_asU8 = function() {
  return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(
      this.getData()));
};


/**
 * @param {!(string|Uint8Array)} value
 * @return {!proto.api.bucketsd.pb.PushPathsRequest.Chunk} returns this
 */
proto.api.bucketsd.pb.PushPathsRequest.Chunk.prototype.setData = function(value) {
  return jspb.Message.setProto3BytesField(this, 2, value);
};


/**
 * optional Header header = 1;
 * @return {?proto.api.bucketsd.pb.PushPathsRequest.Header}
 */
proto.api.bucketsd.pb.PushPathsRequest.prototype.getHeader = function() {
  return /** @type{?proto.api.bucketsd.pb.PushPathsRequest.Header} */ (
    jspb.Message.getWrapperField(this, proto.api.bucketsd.pb.PushPathsRequest.Header, 1));
};


/**
 * @param {?proto.api.bucketsd.pb.PushPathsRequest.Header|undefined} value
 * @return {!proto.api.bucketsd.pb.PushPathsRequest} returns this
*/
proto.api.bucketsd.pb.PushPathsRequest.prototype.setHeader = function(value) {
  return jspb.Message.setOneofWrapperField(this, 1, proto.api.bucketsd.pb.PushPathsRequest.oneofGroups_[0], value);
};


/**
 * Clears the message field making it undefined.
 * @return {!proto.api.bucketsd.pb.PushPathsRequest} returns this
 */
proto.api.bucketsd.pb.PushPathsRequest.prototype.clearHeader = function() {
  return this.setHeader(undefined);
};


/**
 * Returns whether this field is set.
 * @return {boolean}
 */
proto.api.bucketsd.pb.PushPathsRequest.prototype.hasHeader = function() {
  return jspb.Message.getField(this, 1) != null;
};


/**
 * optional Chunk chunk = 2;
 * @return {?proto.api.bucketsd.pb.PushPathsRequest.Chunk}
 */
proto.api.bucketsd.pb.PushPathsRequest.prototype.getChunk = function() {
  return /** @type{?proto.api.bucketsd.pb.PushPathsRequest.Chunk} */ (
    jspb.Message.getWrapperField(this, proto.api.bucketsd.pb.PushPathsRequest.Chunk, 2));
};


/**
 * @param {?proto.api.bucketsd.pb.PushPathsRequest.Chunk|undefined} value
 * @return {!proto.api.bucketsd.pb.PushPathsRequest} returns this
*/
proto.api.bucketsd.pb.PushPathsRequest.prototype.setChunk = function(value) {
  return jspb.Message.setOneofWrapperField(this, 2, proto.api.bucketsd.pb.PushPathsRequest.oneofGroups_[0], value);
};


/**
 * Clears the message field making it undefined.
 * @return {!proto.api.bucketsd.pb.PushPathsRequest} returns this
 */
proto.api.bucketsd.pb.PushPathsRequest.prototype.clearChunk = function() {
  return this.setChunk(undefined);
};


/**
 * Returns whether this field is set.
 * @return {boolean}
 */
proto.api.bucketsd.pb.PushPathsRequest.prototype.hasChunk = 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.api.bucketsd.pb.PushPathsResponse.prototype.toObject = function(opt_includeInstance) {
  return proto.api.bucketsd.pb.PushPathsResponse.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.api.bucketsd.pb.PushPathsResponse} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.api.bucketsd.pb.PushPathsResponse.toObject = function(includeInstance, msg) {
  var f, obj = {
    path: jspb.Message.getFieldWithDefault(msg, 1, ""),
    cid: jspb.Message.getFieldWithDefault(msg, 2, ""),
    size: jspb.Message.getFieldWithDefault(msg, 3, 0),
    pinned: jspb.Message.getFieldWithDefault(msg, 4, 0),
    root: (f = msg.getRoot()) && proto.api.bucketsd.pb.Root.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.api.bucketsd.pb.PushPathsResponse}
 */
proto.api.bucketsd.pb.PushPathsResponse.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.api.bucketsd.pb.PushPathsResponse;
  return proto.api.bucketsd.pb.PushPathsResponse.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.api.bucketsd.pb.PushPathsResponse} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.api.bucketsd.pb.PushPathsResponse}
 */
proto.api.bucketsd.pb.PushPathsResponse.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.setPath(value);
      break;
    case 2:
      var value = /** @type {string} */ (reader.readString());
      msg.setCid(value);
      break;
    case 3:
      var value = /** @type {number} */ (reader.readInt64());
      msg.setSize(value);
      break;
    case 4:
      var value = /** @type {number} */ (reader.readInt64());
      msg.setPinned(value);
      break;
    case 5:
      var value = new proto.api.bucketsd.pb.Root;
      reader.readMessage(value,proto.api.bucketsd.pb.Root.deserializeBinaryFromReader);
      msg.setRoot(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


/**
 * Serializes the message to binary data (in protobuf wire format).
 * @return {!Uint8Array}
 */
proto.api.bucketsd.pb.PushPathsResponse.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  proto.api.bucketsd.pb.PushPathsResponse.serializeBinaryToWriter(this, writer);
  return writer.getResultBuffer();
};


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.api.bucketsd.pb.PushPathsResponse} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.api.bucketsd.pb.PushPathsResponse.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getPath();
  if (f.length > 0) {
    writer.writeString(
      1,
      f
    );
  }
  f = message.getCid();
  if (f.length > 0) {
    writer.writeString(
      2,
      f
    );
  }
  f = message.getSize();
  if (f !== 0) {
    writer.writeInt64(
      3,
      f
    );
  }
  f = message.getPinned();
  if (f !== 0) {
    writer.writeInt64(
      4,
      f
    );
  }
  f = message.getRoot();
  if (f != null) {
    writer.writeMessage(
      5,
      f,
      proto.api.bucketsd.pb.Root.serializeBinaryToWriter
    );
  }
};


/**
 * optional string path = 1;
 * @return {string}
 */
proto.api.bucketsd.pb.PushPathsResponse.prototype.getPath = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
};


/**
 * @param {string} value
 * @return {!proto.api.bucketsd.pb.PushPathsResponse} returns this
 */
proto.api.bucketsd.pb.PushPathsResponse.prototype.setPath = function(value) {
  return jspb.Message.setProto3StringField(this, 1, value);
};


/**
 * optional string cid = 2;
 * @return {string}
 */
proto.api.bucketsd.pb.PushPathsResponse.prototype.getCid = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
};


/**
 * @param {string} value
 * @return {!proto.api.bucketsd.pb.PushPathsResponse} returns this
 */
proto.api.bucketsd.pb.PushPathsResponse.prototype.setCid = function(value) {
  return jspb.Message.setProto3StringField(this, 2, value);
};


/**
 * optional int64 size = 3;
 * @return {number}
 */
proto.api.bucketsd.pb.PushPathsResponse.prototype.getSize = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 3, 0));
};


/**
 * @param {number} value
 * @return {!proto.api.bucketsd.pb.PushPathsResponse} returns this
 */
proto.api.bucketsd.pb.PushPathsResponse.prototype.setSize = function(value) {
  return jspb.Message.setProto3IntField(this, 3, value);
};


/**
 * optional int64 pinned = 4;
 * @return {number}
 */
proto.api.bucketsd.pb.PushPathsResponse.prototype.getPinned = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 4, 0));
};


/**
 * @param {number} value
 * @return {!proto.api.bucketsd.pb.PushPathsResponse} returns this
 */
proto.api.bucketsd.pb.PushPathsResponse.prototype.setPinned = function(value) {
  return jspb.Message.setProto3IntField(this, 4, value);
};


/**
 * optional Root root = 5;
 * @return {?proto.api.bucketsd.pb.Root}
 */
proto.api.bucketsd.pb.PushPathsResponse.prototype.getRoot = function() {
  return /** @type{?proto.api.bucketsd.pb.Root} */ (
    jspb.Message.getWrapperField(this, proto.api.bucketsd.pb.Root, 5));
};


/**
 * @param {?proto.api.bucketsd.pb.Root|undefined} value
 * @return {!proto.api.bucketsd.pb.PushPathsResponse} returns this
*/
proto.api.bucketsd.pb.PushPathsResponse.prototype.setRoot = function(value) {
  return jspb.Message.setWrapperField(this, 5, value);
};


/**
 * Clears the message field making it undefined.
 * @return {!proto.api.bucketsd.pb.PushPathsResponse} returns this
 */
proto.api.bucketsd.pb.PushPathsResponse.prototype.clearRoot = function() {
  return this.setRoot(undefined);
};


/**
 * Returns whether this field is set.
 * @return {boolean}
 */
proto.api.bucketsd.pb.PushPathsResponse.prototype.hasRoot = function() {
  return jspb.Message.getField(this, 5) != 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.api.bucketsd.pb.PullPathRequest.prototype.toObject = function(opt_includeInstance) {
  return proto.api.bucketsd.pb.PullPathRequest.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.api.bucketsd.pb.PullPathRequest} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.api.bucketsd.pb.PullPathRequest.toObject = function(includeInstance, msg) {
  var f, obj = {
    key: jspb.Message.getFieldWithDefault(msg, 1, ""),
    path: 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.api.bucketsd.pb.PullPathRequest}
 */
proto.api.bucketsd.pb.PullPathRequest.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.api.bucketsd.pb.PullPathRequest;
  return proto.api.bucketsd.pb.PullPathRequest.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.api.bucketsd.pb.PullPathRequest} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.api.bucketsd.pb.PullPathRequest}
 */
proto.api.bucketsd.pb.PullPathRequest.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.setKey(value);
      break;
    case 2:
      var value = /** @type {string} */ (reader.readString());
      msg.setPath(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


/**
 * Serializes the message to binary data (in protobuf wire format).
 * @return {!Uint8Array}
 */
proto.api.bucketsd.pb.PullPathRequest.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  proto.api.bucketsd.pb.PullPathRequest.serializeBinaryToWriter(this, writer);
  return writer.getResultBuffer();
};


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.api.bucketsd.pb.PullPathRequest} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.api.bucketsd.pb.PullPathRequest.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getKey();
  if (f.length > 0) {
    writer.writeString(
      1,
      f
    );
  }
  f = message.getPath();
  if (f.length > 0) {
    writer.writeString(
      2,
      f
    );
  }
};


/**
 * optional string key = 1;
 * @return {string}
 */
proto.api.bucketsd.pb.PullPathRequest.prototype.getKey = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
};


/**
 * @param {string} value
 * @return {!proto.api.bucketsd.pb.PullPathRequest} returns this
 */
proto.api.bucketsd.pb.PullPathRequest.prototype.setKey = function(value) {
  return jspb.Message.setProto3StringField(this, 1, value);
};


/**
 * optional string path = 2;
 * @return {string}
 */
proto.api.bucketsd.pb.PullPathRequest.prototype.getPath = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
};


/**
 * @param {string} value
 * @return {!proto.api.bucketsd.pb.PullPathRequest} returns this
 */
proto.api.bucketsd.pb.PullPathRequest.prototype.setPath = 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.api.bucketsd.pb.PullPathResponse.prototype.toObject = function(opt_includeInstance) {
  return proto.api.bucketsd.pb.PullPathResponse.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.api.bucketsd.pb.PullPathResponse} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.api.bucketsd.pb.PullPathResponse.toObject = function(includeInstance, msg) {
  var f, obj = {
    chunk: msg.getChunk_asB64()
  };

  if (includeInstance) {
    obj.$jspbMessageInstance = msg;
  }
  return obj;
};
}


/**
 * Deserializes binary data (in protobuf wire format).
 * @param {jspb.ByteSource} bytes The bytes to deserialize.
 * @return {!proto.api.bucketsd.pb.PullPathResponse}
 */
proto.api.bucketsd.pb.PullPathResponse.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.api.bucketsd.pb.PullPathResponse;
  return proto.api.bucketsd.pb.PullPathResponse.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.api.bucketsd.pb.PullPathResponse} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.api.bucketsd.pb.PullPathResponse}
 */
proto.api.bucketsd.pb.PullPathResponse.deserializeBinaryFromReader = function(msg, reader) {
  while (reader.nextField()) {
    if (reader.isEndGroup()) {
      break;
    }
    var field = reader.getFieldNumber();
    switch (field) {
    case 1:
      var value = /** @type {!Uint8Array} */ (reader.readBytes());
      msg.setChunk(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


/**
 * Serializes the message to binary data (in protobuf wire format).
 * @return {!Uint8Array}
 */
proto.api.bucketsd.pb.PullPathResponse.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  proto.api.bucketsd.pb.PullPathResponse.serializeBinaryToWriter(this, writer);
  return writer.getResultBuffer();
};


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.api.bucketsd.pb.PullPathResponse} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.api.bucketsd.pb.PullPathResponse.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getChunk_asU8();
  if (f.length > 0) {
    writer.writeBytes(
      1,
      f
    );
  }
};


/**
 * optional bytes chunk = 1;
 * @return {!(string|Uint8Array)}
 */
proto.api.bucketsd.pb.PullPathResponse.prototype.getChunk = function() {
  return /** @type {!(string|Uint8Array)} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
};


/**
 * optional bytes chunk = 1;
 * This is a type-conversion wrapper around `getChunk()`
 * @return {string}
 */
proto.api.bucketsd.pb.PullPathResponse.prototype.getChunk_asB64 = function() {
  return /** @type {string} */ (jspb.Message.bytesAsB64(
      this.getChunk()));
};


/**
 * optional bytes chunk = 1;
 * Note that Uint8Array is not supported on all browsers.
 * @see http://caniuse.com/Uint8Array
 * This is a type-conversion wrapper around `getChunk()`
 * @return {!Uint8Array}
 */
proto.api.bucketsd.pb.PullPathResponse.prototype.getChunk_asU8 = function() {
  return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(
      this.getChunk()));
};


/**
 * @param {!(string|Uint8Array)} value
 * @return {!proto.api.bucketsd.pb.PullPathResponse} returns this
 */
proto.api.bucketsd.pb.PullPathResponse.prototype.setChunk = function(value) {
  return jspb.Message.setProto3BytesField(this, 1, 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.api.bucketsd.pb.PullIpfsPathRequest.prototype.toObject = function(opt_includeInstance) {
  return proto.api.bucketsd.pb.PullIpfsPathRequest.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.api.bucketsd.pb.PullIpfsPathRequest} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.api.bucketsd.pb.PullIpfsPathRequest.toObject = function(includeInstance, msg) {
  var f, obj = {
    path: jspb.Message.getFieldWithDefault(msg, 1, "")
  };

  if (includeInstance) {
    obj.$jspbMessageInstance = msg;
  }
  return obj;
};
}


/**
 * Deserializes binary data (in protobuf wire format).
 * @param {jspb.ByteSource} bytes The bytes to deserialize.
 * @return {!proto.api.bucketsd.pb.PullIpfsPathRequest}
 */
proto.api.bucketsd.pb.PullIpfsPathRequest.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.api.bucketsd.pb.PullIpfsPathRequest;
  return proto.api.bucketsd.pb.PullIpfsPathRequest.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.api.bucketsd.pb.PullIpfsPathRequest} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.api.bucketsd.pb.PullIpfsPathRequest}
 */
proto.api.bucketsd.pb.PullIpfsPathRequest.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.setPath(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


/**
 * Serializes the message to binary data (in protobuf wire format).
 * @return {!Uint8Array}
 */
proto.api.bucketsd.pb.PullIpfsPathRequest.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  proto.api.bucketsd.pb.PullIpfsPathRequest.serializeBinaryToWriter(this, writer);
  return writer.getResultBuffer();
};


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.api.bucketsd.pb.PullIpfsPathRequest} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.api.bucketsd.pb.PullIpfsPathRequest.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getPath();
  if (f.length > 0) {
    writer.writeString(
      1,
      f
    );
  }
};


/**
 * optional string path = 1;
 * @return {string}
 */
proto.api.bucketsd.pb.PullIpfsPathRequest.prototype.getPath = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
};


/**
 * @param {string} value
 * @return {!proto.api.bucketsd.pb.PullIpfsPathRequest} returns this
 */
proto.api.bucketsd.pb.PullIpfsPathRequest.prototype.setPath = function(value) {
  return jspb.Message.setProto3StringField(this, 1, 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.api.bucketsd.pb.PullIpfsPathResponse.prototype.toObject = function(opt_includeInstance) {
  return proto.api.bucketsd.pb.PullIpfsPathResponse.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.api.bucketsd.pb.PullIpfsPathResponse} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.api.bucketsd.pb.PullIpfsPathResponse.toObject = function(includeInstance, msg) {
  var f, obj = {
    chunk: msg.getChunk_asB64()
  };

  if (includeInstance) {
    obj.$jspbMessageInstance = msg;
  }
  return obj;
};
}


/**
 * Deserializes binary data (in protobuf wire format).
 * @param {jspb.ByteSource} bytes The bytes to deserialize.
 * @return {!proto.api.bucketsd.pb.PullIpfsPathResponse}
 */
proto.api.bucketsd.pb.PullIpfsPathResponse.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.api.bucketsd.pb.PullIpfsPathResponse;
  return proto.api.bucketsd.pb.PullIpfsPathResponse.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.api.bucketsd.pb.PullIpfsPathResponse} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.api.bucketsd.pb.PullIpfsPathResponse}
 */
proto.api.bucketsd.pb.PullIpfsPathResponse.deserializeBinaryFromReader = function(msg, reader) {
  while (reader.nextField()) {
    if (reader.isEndGroup()) {
      break;
    }
    var field = reader.getFieldNumber();
    switch (field) {
    case 1:
      var value = /** @type {!Uint8Array} */ (reader.readBytes());
      msg.setChunk(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


/**
 * Serializes the message to binary data (in protobuf wire format).
 * @return {!Uint8Array}
 */
proto.api.bucketsd.pb.PullIpfsPathResponse.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  proto.api.bucketsd.pb.PullIpfsPathResponse.serializeBinaryToWriter(this, writer);
  return writer.getResultBuffer();
};


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.api.bucketsd.pb.PullIpfsPathResponse} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.api.bucketsd.pb.PullIpfsPathResponse.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getChunk_asU8();
  if (f.length > 0) {
    writer.writeBytes(
      1,
      f
    );
  }
};


/**
 * optional bytes chunk = 1;
 * @return {!(string|Uint8Array)}
 */
proto.api.bucketsd.pb.PullIpfsPathResponse.prototype.getChunk = function() {
  return /** @type {!(string|Uint8Array)} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
};


/**
 * optional bytes chunk = 1;
 * This is a type-conversion wrapper around `getChunk()`
 * @return {string}
 */
proto.api.bucketsd.pb.PullIpfsPathResponse.prototype.getChunk_asB64 = function() {
  return /** @type {string} */ (jspb.Message.bytesAsB64(
      this.getChunk()));
};


/**
 * optional bytes chunk = 1;
 * Note that Uint8Array is not supported on all browsers.
 * @see http://caniuse.com/Uint8Array
 * This is a type-conversion wrapper around `getChunk()`
 * @return {!Uint8Array}
 */
proto.api.bucketsd.pb.PullIpfsPathResponse.prototype.getChunk_asU8 = function() {
  return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(
      this.getChunk()));
};


/**
 * @param {!(string|Uint8Array)} value
 * @return {!proto.api.bucketsd.pb.PullIpfsPathResponse} returns this
 */
proto.api.bucketsd.pb.PullIpfsPathResponse.prototype.setChunk = function(value) {
  return jspb.Message.setProto3BytesField(this, 1, 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.api.bucketsd.pb.SetPathRequest.prototype.toObject = function(opt_includeInstance) {
  return proto.api.bucketsd.pb.SetPathRequest.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.api.bucketsd.pb.SetPathRequest} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.api.bucketsd.pb.SetPathRequest.toObject = function(includeInstance, msg) {
  var f, obj = {
    key: jspb.Message.getFieldWithDefault(msg, 1, ""),
    path: jspb.Message.getFieldWithDefault(msg, 2, ""),
    cid: jspb.Message.getFieldWithDefault(msg, 3, "")
  };

  if (includeInstance) {
    obj.$jspbMessageInstance = msg;
  }
  return obj;
};
}


/**
 * Deserializes binary data (in protobuf wire format).
 * @param {jspb.ByteSource} bytes The bytes to deserialize.
 * @return {!proto.api.bucketsd.pb.SetPathRequest}
 */
proto.api.bucketsd.pb.SetPathRequest.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.api.bucketsd.pb.SetPathRequest;
  return proto.api.bucketsd.pb.SetPathRequest.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.api.bucketsd.pb.SetPathRequest} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.api.bucketsd.pb.SetPathRequest}
 */
proto.api.bucketsd.pb.SetPathRequest.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.setKey(value);
      break;
    case 2:
      var value = /** @type {string} */ (reader.readString());
      msg.setPath(value);
      break;
    case 3:
      var value = /** @type {string} */ (reader.readString());
      msg.setCid(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


/**
 * Serializes the message to binary data (in protobuf wire format).
 * @return {!Uint8Array}
 */
proto.api.bucketsd.pb.SetPathRequest.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  proto.api.bucketsd.pb.SetPathRequest.serializeBinaryToWriter(this, writer);
  return writer.getResultBuffer();
};


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.api.bucketsd.pb.SetPathRequest} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.api.bucketsd.pb.SetPathRequest.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getKey();
  if (f.length > 0) {
    writer.writeString(
      1,
      f
    );
  }
  f = message.getPath();
  if (f.length > 0) {
    writer.writeString(
      2,
      f
    );
  }
  f = message.getCid();
  if (f.length > 0) {
    writer.writeString(
      3,
      f
    );
  }
};


/**
 * optional string key = 1;
 * @return {string}
 */
proto.api.bucketsd.pb.SetPathRequest.prototype.getKey = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
};


/**
 * @param {string} value
 * @return {!proto.api.bucketsd.pb.SetPathRequest} returns this
 */
proto.api.bucketsd.pb.SetPathRequest.prototype.setKey = function(value) {
  return jspb.Message.setProto3StringField(this, 1, value);
};


/**
 * optional string path = 2;
 * @return {string}
 */
proto.api.bucketsd.pb.SetPathRequest.prototype.getPath = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
};


/**
 * @param {string} value
 * @return {!proto.api.bucketsd.pb.SetPathRequest} returns this
 */
proto.api.bucketsd.pb.SetPathRequest.prototype.setPath = function(value) {
  return jspb.Message.setProto3StringField(this, 2, value);
};


/**
 * optional string cid = 3;
 * @return {string}
 */
proto.api.bucketsd.pb.SetPathRequest.prototype.getCid = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, ""));
};


/**
 * @param {string} value
 * @return {!proto.api.bucketsd.pb.SetPathRequest} returns this
 */
proto.api.bucketsd.pb.SetPathRequest.prototype.setCid = function(value) {
  return jspb.Message.setProto3StringField(this, 3, value);
};





if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * Optional fields that are not set will be set to undefined.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     net/proto2/compiler/js/internal/generator.cc#kKeyword.
 * @param {boolean=} opt_includeInstance Deprecated. whether to include the
 *     JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @return {!Object}
 */
proto.api.bucketsd.pb.SetPathResponse.prototype.toObject = function(opt_includeInstance) {
  return proto.api.bucketsd.pb.SetPathResponse.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.api.bucketsd.pb.SetPathResponse} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.api.bucketsd.pb.SetPathResponse.toObject = function(includeInstance, msg) {
  var f, obj = {
    pinned: jspb.Message.getFieldWithDefault(msg, 1, 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.api.bucketsd.pb.SetPathResponse}
 */
proto.api.bucketsd.pb.SetPathResponse.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.api.bucketsd.pb.SetPathResponse;
  return proto.api.bucketsd.pb.SetPathResponse.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.api.bucketsd.pb.SetPathResponse} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.api.bucketsd.pb.SetPathResponse}
 */
proto.api.bucketsd.pb.SetPathResponse.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.setPinned(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


/**
 * Serializes the message to binary data (in protobuf wire format).
 * @return {!Uint8Array}
 */
proto.api.bucketsd.pb.SetPathResponse.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  proto.api.bucketsd.pb.SetPathResponse.serializeBinaryToWriter(this, writer);
  return writer.getResultBuffer();
};


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.api.bucketsd.pb.SetPathResponse} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.api.bucketsd.pb.SetPathResponse.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getPinned();
  if (f !== 0) {
    writer.writeInt64(
      1,
      f
    );
  }
};


/**
 * optional int64 pinned = 1;
 * @return {number}
 */
proto.api.bucketsd.pb.SetPathResponse.prototype.getPinned = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));
};


/**
 * @param {number} value
 * @return {!proto.api.bucketsd.pb.SetPathResponse} returns this
 */
proto.api.bucketsd.pb.SetPathResponse.prototype.setPinned = function(value) {
  return jspb.Message.setProto3IntField(this, 1, 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.api.bucketsd.pb.MovePathRequest.prototype.toObject = function(opt_includeInstance) {
  return proto.api.bucketsd.pb.MovePathRequest.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.api.bucketsd.pb.MovePathRequest} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.api.bucketsd.pb.MovePathRequest.toObject = function(includeInstance, msg) {
  var f, obj = {
    key: jspb.Message.getFieldWithDefault(msg, 1, ""),
    fromPath: jspb.Message.getFieldWithDefault(msg, 2, ""),
    toPath: jspb.Message.getFieldWithDefault(msg, 3, "")
  };

  if (includeInstance) {
    obj.$jspbMessageInstance = msg;
  }
  return obj;
};
}


/**
 * Deserializes binary data (in protobuf wire format).
 * @param {jspb.ByteSource} bytes The bytes to deserialize.
 * @return {!proto.api.bucketsd.pb.MovePathRequest}
 */
proto.api.bucketsd.pb.MovePathRequest.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.api.bucketsd.pb.MovePathRequest;
  return proto.api.bucketsd.pb.MovePathRequest.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.api.bucketsd.pb.MovePathRequest} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.api.bucketsd.pb.MovePathRequest}
 */
proto.api.bucketsd.pb.MovePathRequest.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.setKey(value);
      break;
    case 2:
      var value = /** @type {string} */ (reader.readString());
      msg.setFromPath(value);
      break;
    case 3:
      var value = /** @type {string} */ (reader.readString());
      msg.setToPath(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


/**
 * Serializes the message to binary data (in protobuf wire format).
 * @return {!Uint8Array}
 */
proto.api.bucketsd.pb.MovePathRequest.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  proto.api.bucketsd.pb.MovePathRequest.serializeBinaryToWriter(this, writer);
  return writer.getResultBuffer();
};


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.api.bucketsd.pb.MovePathRequest} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.api.bucketsd.pb.MovePathRequest.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getKey();
  if (f.length > 0) {
    writer.writeString(
      1,
      f
    );
  }
  f = message.getFromPath();
  if (f.length > 0) {
    writer.writeString(
      2,
      f
    );
  }
  f = message.getToPath();
  if (f.length > 0) {
    writer.writeString(
      3,
      f
    );
  }
};


/**
 * optional string key = 1;
 * @return {string}
 */
proto.api.bucketsd.pb.MovePathRequest.prototype.getKey = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
};


/**
 * @param {string} value
 * @return {!proto.api.bucketsd.pb.MovePathRequest} returns this
 */
proto.api.bucketsd.pb.MovePathRequest.prototype.setKey = function(value) {
  return jspb.Message.setProto3StringField(this, 1, value);
};


/**
 * optional string from_path = 2;
 * @return {string}
 */
proto.api.bucketsd.pb.MovePathRequest.prototype.getFromPath = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
};


/**
 * @param {string} value
 * @return {!proto.api.bucketsd.pb.MovePathRequest} returns this
 */
proto.api.bucketsd.pb.MovePathRequest.prototype.setFromPath = function(value) {
  return jspb.Message.setProto3StringField(this, 2, value);
};


/**
 * optional string to_path = 3;
 * @return {string}
 */
proto.api.bucketsd.pb.MovePathRequest.prototype.getToPath = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, ""));
};


/**
 * @param {string} value
 * @return {!proto.api.bucketsd.pb.MovePathRequest} returns this
 */
proto.api.bucketsd.pb.MovePathRequest.prototype.setToPath = function(value) {
  return jspb.Message.setProto3StringField(this, 3, value);
};





if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * Optional fields that are not set will be set to undefined.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     net/proto2/compiler/js/internal/generator.cc#kKeyword.
 * @param {boolean=} opt_includeInstance Deprecated. whether to include the
 *     JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @return {!Object}
 */
proto.api.bucketsd.pb.MovePathResponse.prototype.toObject = function(opt_includeInstance) {
  return proto.api.bucketsd.pb.MovePathResponse.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.api.bucketsd.pb.MovePathResponse} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.api.bucketsd.pb.MovePathResponse.toObject = function(includeInstance, msg) {
  var f, obj = {

  };

  if (includeInstance) {
    obj.$jspbMessageInstance = msg;
  }
  return obj;
};
}


/**
 * Deserializes binary data (in protobuf wire format).
 * @param {jspb.ByteSource} bytes The bytes to deserialize.
 * @return {!proto.api.bucketsd.pb.MovePathResponse}
 */
proto.api.bucketsd.pb.MovePathResponse.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.api.bucketsd.pb.MovePathResponse;
  return proto.api.bucketsd.pb.MovePathResponse.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.api.bucketsd.pb.MovePathResponse} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.api.bucketsd.pb.MovePathResponse}
 */
proto.api.bucketsd.pb.MovePathResponse.deserializeBinaryFromReader = function(msg, reader) {
  while (reader.nextField()) {
    if (reader.isEndGroup()) {
      break;
    }
    var field = reader.getFieldNumber();
    switch (field) {
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


/**
 * Serializes the message to binary data (in protobuf wire format).
 * @return {!Uint8Array}
 */
proto.api.bucketsd.pb.MovePathResponse.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  proto.api.bucketsd.pb.MovePathResponse.serializeBinaryToWriter(this, writer);
  return writer.getResultBuffer();
};


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.api.bucketsd.pb.MovePathResponse} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.api.bucketsd.pb.MovePathResponse.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
};





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.api.bucketsd.pb.RemoveRequest.prototype.toObject = function(opt_includeInstance) {
  return proto.api.bucketsd.pb.RemoveRequest.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.api.bucketsd.pb.RemoveRequest} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.api.bucketsd.pb.RemoveRequest.toObject = function(includeInstance, msg) {
  var f, obj = {
    key: jspb.Message.getFieldWithDefault(msg, 1, "")
  };

  if (includeInstance) {
    obj.$jspbMessageInstance = msg;
  }
  return obj;
};
}


/**
 * Deserializes binary data (in protobuf wire format).
 * @param {jspb.ByteSource} bytes The bytes to deserialize.
 * @return {!proto.api.bucketsd.pb.RemoveRequest}
 */
proto.api.bucketsd.pb.RemoveRequest.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.api.bucketsd.pb.RemoveRequest;
  return proto.api.bucketsd.pb.RemoveRequest.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.api.bucketsd.pb.RemoveRequest} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.api.bucketsd.pb.RemoveRequest}
 */
proto.api.bucketsd.pb.RemoveRequest.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.setKey(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


/**
 * Serializes the message to binary data (in protobuf wire format).
 * @return {!Uint8Array}
 */
proto.api.bucketsd.pb.RemoveRequest.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  proto.api.bucketsd.pb.RemoveRequest.serializeBinaryToWriter(this, writer);
  return writer.getResultBuffer();
};


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.api.bucketsd.pb.RemoveRequest} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.api.bucketsd.pb.RemoveRequest.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getKey();
  if (f.length > 0) {
    writer.writeString(
      1,
      f
    );
  }
};


/**
 * optional string key = 1;
 * @return {string}
 */
proto.api.bucketsd.pb.RemoveRequest.prototype.getKey = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
};


/**
 * @param {string} value
 * @return {!proto.api.bucketsd.pb.RemoveRequest} returns this
 */
proto.api.bucketsd.pb.RemoveRequest.prototype.setKey = function(value) {
  return jspb.Message.setProto3StringField(this, 1, 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.api.bucketsd.pb.RemoveResponse.prototype.toObject = function(opt_includeInstance) {
  return proto.api.bucketsd.pb.RemoveResponse.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.api.bucketsd.pb.RemoveResponse} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.api.bucketsd.pb.RemoveResponse.toObject = function(includeInstance, msg) {
  var f, obj = {
    pinned: jspb.Message.getFieldWithDefault(msg, 1, 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.api.bucketsd.pb.RemoveResponse}
 */
proto.api.bucketsd.pb.RemoveResponse.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.api.bucketsd.pb.RemoveResponse;
  return proto.api.bucketsd.pb.RemoveResponse.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.api.bucketsd.pb.RemoveResponse} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.api.bucketsd.pb.RemoveResponse}
 */
proto.api.bucketsd.pb.RemoveResponse.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.setPinned(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


/**
 * Serializes the message to binary data (in protobuf wire format).
 * @return {!Uint8Array}
 */
proto.api.bucketsd.pb.RemoveResponse.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  proto.api.bucketsd.pb.RemoveResponse.serializeBinaryToWriter(this, writer);
  return writer.getResultBuffer();
};


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.api.bucketsd.pb.RemoveResponse} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.api.bucketsd.pb.RemoveResponse.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getPinned();
  if (f !== 0) {
    writer.writeInt64(
      1,
      f
    );
  }
};


/**
 * optional int64 pinned = 1;
 * @return {number}
 */
proto.api.bucketsd.pb.RemoveResponse.prototype.getPinned = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));
};


/**
 * @param {number} value
 * @return {!proto.api.bucketsd.pb.RemoveResponse} returns this
 */
proto.api.bucketsd.pb.RemoveResponse.prototype.setPinned = function(value) {
  return jspb.Message.setProto3IntField(this, 1, 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.api.bucketsd.pb.RemovePathRequest.prototype.toObject = function(opt_includeInstance) {
  return proto.api.bucketsd.pb.RemovePathRequest.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.api.bucketsd.pb.RemovePathRequest} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.api.bucketsd.pb.RemovePathRequest.toObject = function(includeInstance, msg) {
  var f, obj = {
    key: jspb.Message.getFieldWithDefault(msg, 1, ""),
    path: jspb.Message.getFieldWithDefault(msg, 2, ""),
    root: jspb.Message.getFieldWithDefault(msg, 3, "")
  };

  if (includeInstance) {
    obj.$jspbMessageInstance = msg;
  }
  return obj;
};
}


/**
 * Deserializes binary data (in protobuf wire format).
 * @param {jspb.ByteSource} bytes The bytes to deserialize.
 * @return {!proto.api.bucketsd.pb.RemovePathRequest}
 */
proto.api.bucketsd.pb.RemovePathRequest.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.api.bucketsd.pb.RemovePathRequest;
  return proto.api.bucketsd.pb.RemovePathRequest.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.api.bucketsd.pb.RemovePathRequest} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.api.bucketsd.pb.RemovePathRequest}
 */
proto.api.bucketsd.pb.RemovePathRequest.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.setKey(value);
      break;
    case 2:
      var value = /** @type {string} */ (reader.readString());
      msg.setPath(value);
      break;
    case 3:
      var value = /** @type {string} */ (reader.readString());
      msg.setRoot(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


/**
 * Serializes the message to binary data (in protobuf wire format).
 * @return {!Uint8Array}
 */
proto.api.bucketsd.pb.RemovePathRequest.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  proto.api.bucketsd.pb.RemovePathRequest.serializeBinaryToWriter(this, writer);
  return writer.getResultBuffer();
};


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.api.bucketsd.pb.RemovePathRequest} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.api.bucketsd.pb.RemovePathRequest.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getKey();
  if (f.length > 0) {
    writer.writeString(
      1,
      f
    );
  }
  f = message.getPath();
  if (f.length > 0) {
    writer.writeString(
      2,
      f
    );
  }
  f = message.getRoot();
  if (f.length > 0) {
    writer.writeString(
      3,
      f
    );
  }
};


/**
 * optional string key = 1;
 * @return {string}
 */
proto.api.bucketsd.pb.RemovePathRequest.prototype.getKey = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
};


/**
 * @param {string} value
 * @return {!proto.api.bucketsd.pb.RemovePathRequest} returns this
 */
proto.api.bucketsd.pb.RemovePathRequest.prototype.setKey = function(value) {
  return jspb.Message.setProto3StringField(this, 1, value);
};


/**
 * optional string path = 2;
 * @return {string}
 */
proto.api.bucketsd.pb.RemovePathRequest.prototype.getPath = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
};


/**
 * @param {string} value
 * @return {!proto.api.bucketsd.pb.RemovePathRequest} returns this
 */
proto.api.bucketsd.pb.RemovePathRequest.prototype.setPath = function(value) {
  return jspb.Message.setProto3StringField(this, 2, value);
};


/**
 * optional string root = 3;
 * @return {string}
 */
proto.api.bucketsd.pb.RemovePathRequest.prototype.getRoot = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, ""));
};


/**
 * @param {string} value
 * @return {!proto.api.bucketsd.pb.RemovePathRequest} returns this
 */
proto.api.bucketsd.pb.RemovePathRequest.prototype.setRoot = function(value) {
  return jspb.Message.setProto3StringField(this, 3, value);
};





if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * Optional fields that are not set will be set to undefined.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     net/proto2/compiler/js/internal/generator.cc#kKeyword.
 * @param {boolean=} opt_includeInstance Deprecated. whether to include the
 *     JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @return {!Object}
 */
proto.api.bucketsd.pb.RemovePathResponse.prototype.toObject = function(opt_includeInstance) {
  return proto.api.bucketsd.pb.RemovePathResponse.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.api.bucketsd.pb.RemovePathResponse} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.api.bucketsd.pb.RemovePathResponse.toObject = function(includeInstance, msg) {
  var f, obj = {
    root: (f = msg.getRoot()) && proto.api.bucketsd.pb.Root.toObject(includeInstance, f),
    pinned: jspb.Message.getFieldWithDefault(msg, 2, 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.api.bucketsd.pb.RemovePathResponse}
 */
proto.api.bucketsd.pb.RemovePathResponse.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.api.bucketsd.pb.RemovePathResponse;
  return proto.api.bucketsd.pb.RemovePathResponse.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.api.bucketsd.pb.RemovePathResponse} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.api.bucketsd.pb.RemovePathResponse}
 */
proto.api.bucketsd.pb.RemovePathResponse.deserializeBinaryFromReader = function(msg, reader) {
  while (reader.nextField()) {
    if (reader.isEndGroup()) {
      break;
    }
    var field = reader.getFieldNumber();
    switch (field) {
    case 1:
      var value = new proto.api.bucketsd.pb.Root;
      reader.readMessage(value,proto.api.bucketsd.pb.Root.deserializeBinaryFromReader);
      msg.setRoot(value);
      break;
    case 2:
      var value = /** @type {number} */ (reader.readInt64());
      msg.setPinned(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


/**
 * Serializes the message to binary data (in protobuf wire format).
 * @return {!Uint8Array}
 */
proto.api.bucketsd.pb.RemovePathResponse.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  proto.api.bucketsd.pb.RemovePathResponse.serializeBinaryToWriter(this, writer);
  return writer.getResultBuffer();
};


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.api.bucketsd.pb.RemovePathResponse} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.api.bucketsd.pb.RemovePathResponse.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getRoot();
  if (f != null) {
    writer.writeMessage(
      1,
      f,
      proto.api.bucketsd.pb.Root.serializeBinaryToWriter
    );
  }
  f = message.getPinned();
  if (f !== 0) {
    writer.writeInt64(
      2,
      f
    );
  }
};


/**
 * optional Root root = 1;
 * @return {?proto.api.bucketsd.pb.Root}
 */
proto.api.bucketsd.pb.RemovePathResponse.prototype.getRoot = function() {
  return /** @type{?proto.api.bucketsd.pb.Root} */ (
    jspb.Message.getWrapperField(this, proto.api.bucketsd.pb.Root, 1));
};


/**
 * @param {?proto.api.bucketsd.pb.Root|undefined} value
 * @return {!proto.api.bucketsd.pb.RemovePathResponse} returns this
*/
proto.api.bucketsd.pb.RemovePathResponse.prototype.setRoot = function(value) {
  return jspb.Message.setWrapperField(this, 1, value);
};


/**
 * Clears the message field making it undefined.
 * @return {!proto.api.bucketsd.pb.RemovePathResponse} returns this
 */
proto.api.bucketsd.pb.RemovePathResponse.prototype.clearRoot = function() {
  return this.setRoot(undefined);
};


/**
 * Returns whether this field is set.
 * @return {boolean}
 */
proto.api.bucketsd.pb.RemovePathResponse.prototype.hasRoot = function() {
  return jspb.Message.getField(this, 1) != null;
};


/**
 * optional int64 pinned = 2;
 * @return {number}
 */
proto.api.bucketsd.pb.RemovePathResponse.prototype.getPinned = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));
};


/**
 * @param {number} value
 * @return {!proto.api.bucketsd.pb.RemovePathResponse} returns this
 */
proto.api.bucketsd.pb.RemovePathResponse.prototype.setPinned = function(value) {
  return jspb.Message.setProto3IntField(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.api.bucketsd.pb.PushPathAccessRolesRequest.prototype.toObject = function(opt_includeInstance) {
  return proto.api.bucketsd.pb.PushPathAccessRolesRequest.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.api.bucketsd.pb.PushPathAccessRolesRequest} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.api.bucketsd.pb.PushPathAccessRolesRequest.toObject = function(includeInstance, msg) {
  var f, obj = {
    key: jspb.Message.getFieldWithDefault(msg, 1, ""),
    path: jspb.Message.getFieldWithDefault(msg, 2, ""),
    rolesMap: (f = msg.getRolesMap()) ? 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.api.bucketsd.pb.PushPathAccessRolesRequest}
 */
proto.api.bucketsd.pb.PushPathAccessRolesRequest.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.api.bucketsd.pb.PushPathAccessRolesRequest;
  return proto.api.bucketsd.pb.PushPathAccessRolesRequest.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.api.bucketsd.pb.PushPathAccessRolesRequest} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.api.bucketsd.pb.PushPathAccessRolesRequest}
 */
proto.api.bucketsd.pb.PushPathAccessRolesRequest.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.setKey(value);
      break;
    case 2:
      var value = /** @type {string} */ (reader.readString());
      msg.setPath(value);
      break;
    case 3:
      var value = msg.getRolesMap();
      reader.readMessage(value, function(message, reader) {
        jspb.Map.deserializeBinary(message, reader, jspb.BinaryReader.prototype.readString, jspb.BinaryReader.prototype.readEnum, null, "", 0);
         });
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


/**
 * Serializes the message to binary data (in protobuf wire format).
 * @return {!Uint8Array}
 */
proto.api.bucketsd.pb.PushPathAccessRolesRequest.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  proto.api.bucketsd.pb.PushPathAccessRolesRequest.serializeBinaryToWriter(this, writer);
  return writer.getResultBuffer();
};


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.api.bucketsd.pb.PushPathAccessRolesRequest} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.api.bucketsd.pb.PushPathAccessRolesRequest.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getKey();
  if (f.length > 0) {
    writer.writeString(
      1,
      f
    );
  }
  f = message.getPath();
  if (f.length > 0) {
    writer.writeString(
      2,
      f
    );
  }
  f = message.getRolesMap(true);
  if (f && f.getLength() > 0) {
    f.serializeBinary(3, writer, jspb.BinaryWriter.prototype.writeString, jspb.BinaryWriter.prototype.writeEnum);
  }
};


/**
 * optional string key = 1;
 * @return {string}
 */
proto.api.bucketsd.pb.PushPathAccessRolesRequest.prototype.getKey = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
};


/**
 * @param {string} value
 * @return {!proto.api.bucketsd.pb.PushPathAccessRolesRequest} returns this
 */
proto.api.bucketsd.pb.PushPathAccessRolesRequest.prototype.setKey = function(value) {
  return jspb.Message.setProto3StringField(this, 1, value);
};


/**
 * optional string path = 2;
 * @return {string}
 */
proto.api.bucketsd.pb.PushPathAccessRolesRequest.prototype.getPath = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
};


/**
 * @param {string} value
 * @return {!proto.api.bucketsd.pb.PushPathAccessRolesRequest} returns this
 */
proto.api.bucketsd.pb.PushPathAccessRolesRequest.prototype.setPath = function(value) {
  return jspb.Message.setProto3StringField(this, 2, value);
};


/**
 * map<string, PathAccessRole> roles = 3;
 * @param {boolean=} opt_noLazyCreate Do not create the map if
 * empty, instead returning `undefined`
 * @return {!jspb.Map<string,!proto.api.bucketsd.pb.PathAccessRole>}
 */
proto.api.bucketsd.pb.PushPathAccessRolesRequest.prototype.getRolesMap = function(opt_noLazyCreate) {
  return /** @type {!jspb.Map<string,!proto.api.bucketsd.pb.PathAccessRole>} */ (
      jspb.Message.getMapField(this, 3, opt_noLazyCreate,
      null));
};


/**
 * Clears values from the map. The map will be non-null.
 * @return {!proto.api.bucketsd.pb.PushPathAccessRolesRequest} returns this
 */
proto.api.bucketsd.pb.PushPathAccessRolesRequest.prototype.clearRolesMap = function() {
  this.getRolesMap().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.api.bucketsd.pb.PushPathAccessRolesResponse.prototype.toObject = function(opt_includeInstance) {
  return proto.api.bucketsd.pb.PushPathAccessRolesResponse.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.api.bucketsd.pb.PushPathAccessRolesResponse} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.api.bucketsd.pb.PushPathAccessRolesResponse.toObject = function(includeInstance, msg) {
  var f, obj = {
    pinned: jspb.Message.getFieldWithDefault(msg, 1, 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.api.bucketsd.pb.PushPathAccessRolesResponse}
 */
proto.api.bucketsd.pb.PushPathAccessRolesResponse.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.api.bucketsd.pb.PushPathAccessRolesResponse;
  return proto.api.bucketsd.pb.PushPathAccessRolesResponse.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.api.bucketsd.pb.PushPathAccessRolesResponse} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.api.bucketsd.pb.PushPathAccessRolesResponse}
 */
proto.api.bucketsd.pb.PushPathAccessRolesResponse.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.setPinned(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


/**
 * Serializes the message to binary data (in protobuf wire format).
 * @return {!Uint8Array}
 */
proto.api.bucketsd.pb.PushPathAccessRolesResponse.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  proto.api.bucketsd.pb.PushPathAccessRolesResponse.serializeBinaryToWriter(this, writer);
  return writer.getResultBuffer();
};


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.api.bucketsd.pb.PushPathAccessRolesResponse} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.api.bucketsd.pb.PushPathAccessRolesResponse.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getPinned();
  if (f !== 0) {
    writer.writeInt64(
      1,
      f
    );
  }
};


/**
 * optional int64 pinned = 1;
 * @return {number}
 */
proto.api.bucketsd.pb.PushPathAccessRolesResponse.prototype.getPinned = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));
};


/**
 * @param {number} value
 * @return {!proto.api.bucketsd.pb.PushPathAccessRolesResponse} returns this
 */
proto.api.bucketsd.pb.PushPathAccessRolesResponse.prototype.setPinned = function(value) {
  return jspb.Message.setProto3IntField(this, 1, 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.api.bucketsd.pb.PullPathAccessRolesRequest.prototype.toObject = function(opt_includeInstance) {
  return proto.api.bucketsd.pb.PullPathAccessRolesRequest.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.api.bucketsd.pb.PullPathAccessRolesRequest} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.api.bucketsd.pb.PullPathAccessRolesRequest.toObject = function(includeInstance, msg) {
  var f, obj = {
    key: jspb.Message.getFieldWithDefault(msg, 1, ""),
    path: 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.api.bucketsd.pb.PullPathAccessRolesRequest}
 */
proto.api.bucketsd.pb.PullPathAccessRolesRequest.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.api.bucketsd.pb.PullPathAccessRolesRequest;
  return proto.api.bucketsd.pb.PullPathAccessRolesRequest.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.api.bucketsd.pb.PullPathAccessRolesRequest} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.api.bucketsd.pb.PullPathAccessRolesRequest}
 */
proto.api.bucketsd.pb.PullPathAccessRolesRequest.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.setKey(value);
      break;
    case 2:
      var value = /** @type {string} */ (reader.readString());
      msg.setPath(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


/**
 * Serializes the message to binary data (in protobuf wire format).
 * @return {!Uint8Array}
 */
proto.api.bucketsd.pb.PullPathAccessRolesRequest.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  proto.api.bucketsd.pb.PullPathAccessRolesRequest.serializeBinaryToWriter(this, writer);
  return writer.getResultBuffer();
};


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.api.bucketsd.pb.PullPathAccessRolesRequest} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.api.bucketsd.pb.PullPathAccessRolesRequest.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getKey();
  if (f.length > 0) {
    writer.writeString(
      1,
      f
    );
  }
  f = message.getPath();
  if (f.length > 0) {
    writer.writeString(
      2,
      f
    );
  }
};


/**
 * optional string key = 1;
 * @return {string}
 */
proto.api.bucketsd.pb.PullPathAccessRolesRequest.prototype.getKey = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
};


/**
 * @param {string} value
 * @return {!proto.api.bucketsd.pb.PullPathAccessRolesRequest} returns this
 */
proto.api.bucketsd.pb.PullPathAccessRolesRequest.prototype.setKey = function(value) {
  return jspb.Message.setProto3StringField(this, 1, value);
};


/**
 * optional string path = 2;
 * @return {string}
 */
proto.api.bucketsd.pb.PullPathAccessRolesRequest.prototype.getPath = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
};


/**
 * @param {string} value
 * @return {!proto.api.bucketsd.pb.PullPathAccessRolesRequest} returns this
 */
proto.api.bucketsd.pb.PullPathAccessRolesRequest.prototype.setPath = 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.api.bucketsd.pb.PullPathAccessRolesResponse.prototype.toObject = function(opt_includeInstance) {
  return proto.api.bucketsd.pb.PullPathAccessRolesResponse.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.api.bucketsd.pb.PullPathAccessRolesResponse} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.api.bucketsd.pb.PullPathAccessRolesResponse.toObject = function(includeInstance, msg) {
  var f, obj = {
    rolesMap: (f = msg.getRolesMap()) ? 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.api.bucketsd.pb.PullPathAccessRolesResponse}
 */
proto.api.bucketsd.pb.PullPathAccessRolesResponse.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.api.bucketsd.pb.PullPathAccessRolesResponse;
  return proto.api.bucketsd.pb.PullPathAccessRolesResponse.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.api.bucketsd.pb.PullPathAccessRolesResponse} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.api.bucketsd.pb.PullPathAccessRolesResponse}
 */
proto.api.bucketsd.pb.PullPathAccessRolesResponse.deserializeBinaryFromReader = function(msg, reader) {
  while (reader.nextField()) {
    if (reader.isEndGroup()) {
      break;
    }
    var field = reader.getFieldNumber();
    switch (field) {
    case 1:
      var value = msg.getRolesMap();
      reader.readMessage(value, function(message, reader) {
        jspb.Map.deserializeBinary(message, reader, jspb.BinaryReader.prototype.readString, jspb.BinaryReader.prototype.readEnum, null, "", 0);
         });
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


/**
 * Serializes the message to binary data (in protobuf wire format).
 * @return {!Uint8Array}
 */
proto.api.bucketsd.pb.PullPathAccessRolesResponse.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  proto.api.bucketsd.pb.PullPathAccessRolesResponse.serializeBinaryToWriter(this, writer);
  return writer.getResultBuffer();
};


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.api.bucketsd.pb.PullPathAccessRolesResponse} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.api.bucketsd.pb.PullPathAccessRolesResponse.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getRolesMap(true);
  if (f && f.getLength() > 0) {
    f.serializeBinary(1, writer, jspb.BinaryWriter.prototype.writeString, jspb.BinaryWriter.prototype.writeEnum);
  }
};


/**
 * map<string, PathAccessRole> roles = 1;
 * @param {boolean=} opt_noLazyCreate Do not create the map if
 * empty, instead returning `undefined`
 * @return {!jspb.Map<string,!proto.api.bucketsd.pb.PathAccessRole>}
 */
proto.api.bucketsd.pb.PullPathAccessRolesResponse.prototype.getRolesMap = function(opt_noLazyCreate) {
  return /** @type {!jspb.Map<string,!proto.api.bucketsd.pb.PathAccessRole>} */ (
      jspb.Message.getMapField(this, 1, opt_noLazyCreate,
      null));
};


/**
 * Clears values from the map. The map will be non-null.
 * @return {!proto.api.bucketsd.pb.PullPathAccessRolesResponse} returns this
 */
proto.api.bucketsd.pb.PullPathAccessRolesResponse.prototype.clearRolesMap = function() {
  this.getRolesMap().clear();
  return this;};



/**
 * List of repeated fields within this message type.
 * @private {!Array<number>}
 * @const
 */
proto.api.bucketsd.pb.ArchiveConfig.repeatedFields_ = [3,4,5];



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.api.bucketsd.pb.ArchiveConfig.prototype.toObject = function(opt_includeInstance) {
  return proto.api.bucketsd.pb.ArchiveConfig.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.api.bucketsd.pb.ArchiveConfig} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.api.bucketsd.pb.ArchiveConfig.toObject = function(includeInstance, msg) {
  var f, obj = {
    repFactor: jspb.Message.getFieldWithDefault(msg, 1, 0),
    dealMinDuration: jspb.Message.getFieldWithDefault(msg, 2, 0),
    excludedMinersList: (f = jspb.Message.getRepeatedField(msg, 3)) == null ? undefined : f,
    trustedMinersList: (f = jspb.Message.getRepeatedField(msg, 4)) == null ? undefined : f,
    countryCodesList: (f = jspb.Message.getRepeatedField(msg, 5)) == null ? undefined : f,
    renew: (f = msg.getRenew()) && proto.api.bucketsd.pb.ArchiveRenew.toObject(includeInstance, f),
    maxPrice: jspb.Message.getFieldWithDefault(msg, 7, 0),
    fastRetrieval: jspb.Message.getBooleanFieldWithDefault(msg, 8, false),
    dealStartOffset: jspb.Message.getFieldWithDefault(msg, 9, 0),
    verifiedDeal: jspb.Message.getBooleanFieldWithDefault(msg, 10, 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.api.bucketsd.pb.ArchiveConfig}
 */
proto.api.bucketsd.pb.ArchiveConfig.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.api.bucketsd.pb.ArchiveConfig;
  return proto.api.bucketsd.pb.ArchiveConfig.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.api.bucketsd.pb.ArchiveConfig} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.api.bucketsd.pb.ArchiveConfig}
 */
proto.api.bucketsd.pb.ArchiveConfig.deserializeBinaryFromReader = function(msg, reader) {
  while (reader.nextField()) {
    if (reader.isEndGroup()) {
      break;
    }
    var field = reader.getFieldNumber();
    switch (field) {
    case 1:
      var value = /** @type {number} */ (reader.readInt32());
      msg.setRepFactor(value);
      break;
    case 2:
      var value = /** @type {number} */ (reader.readInt64());
      msg.setDealMinDuration(value);
      break;
    case 3:
      var value = /** @type {string} */ (reader.readString());
      msg.addExcludedMiners(value);
      break;
    case 4:
      var value = /** @type {string} */ (reader.readString());
      msg.addTrustedMiners(value);
      break;
    case 5:
      var value = /** @type {string} */ (reader.readString());
      msg.addCountryCodes(value);
      break;
    case 6:
      var value = new proto.api.bucketsd.pb.ArchiveRenew;
      reader.readMessage(value,proto.api.bucketsd.pb.ArchiveRenew.deserializeBinaryFromReader);
      msg.setRenew(value);
      break;
    case 7:
      var value = /** @type {number} */ (reader.readUint64());
      msg.setMaxPrice(value);
      break;
    case 8:
      var value = /** @type {boolean} */ (reader.readBool());
      msg.setFastRetrieval(value);
      break;
    case 9:
      var value = /** @type {number} */ (reader.readInt64());
      msg.setDealStartOffset(value);
      break;
    case 10:
      var value = /** @type {boolean} */ (reader.readBool());
      msg.setVerifiedDeal(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


/**
 * Serializes the message to binary data (in protobuf wire format).
 * @return {!Uint8Array}
 */
proto.api.bucketsd.pb.ArchiveConfig.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  proto.api.bucketsd.pb.ArchiveConfig.serializeBinaryToWriter(this, writer);
  return writer.getResultBuffer();
};


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.api.bucketsd.pb.ArchiveConfig} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.api.bucketsd.pb.ArchiveConfig.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getRepFactor();
  if (f !== 0) {
    writer.writeInt32(
      1,
      f
    );
  }
  f = message.getDealMinDuration();
  if (f !== 0) {
    writer.writeInt64(
      2,
      f
    );
  }
  f = message.getExcludedMinersList();
  if (f.length > 0) {
    writer.writeRepeatedString(
      3,
      f
    );
  }
  f = message.getTrustedMinersList();
  if (f.length > 0) {
    writer.writeRepeatedString(
      4,
      f
    );
  }
  f = message.getCountryCodesList();
  if (f.length > 0) {
    writer.writeRepeatedString(
      5,
      f
    );
  }
  f = message.getRenew();
  if (f != null) {
    writer.writeMessage(
      6,
      f,
      proto.api.bucketsd.pb.ArchiveRenew.serializeBinaryToWriter
    );
  }
  f = message.getMaxPrice();
  if (f !== 0) {
    writer.writeUint64(
      7,
      f
    );
  }
  f = message.getFastRetrieval();
  if (f) {
    writer.writeBool(
      8,
      f
    );
  }
  f = message.getDealStartOffset();
  if (f !== 0) {
    writer.writeInt64(
      9,
      f
    );
  }
  f = message.getVerifiedDeal();
  if (f) {
    writer.writeBool(
      10,
      f
    );
  }
};


/**
 * optional int32 rep_factor = 1;
 * @return {number}
 */
proto.api.bucketsd.pb.ArchiveConfig.prototype.getRepFactor = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));
};


/**
 * @param {number} value
 * @return {!proto.api.bucketsd.pb.ArchiveConfig} returns this
 */
proto.api.bucketsd.pb.ArchiveConfig.prototype.setRepFactor = function(value) {
  return jspb.Message.setProto3IntField(this, 1, value);
};


/**
 * optional int64 deal_min_duration = 2;
 * @return {number}
 */
proto.api.bucketsd.pb.ArchiveConfig.prototype.getDealMinDuration = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));
};


/**
 * @param {number} value
 * @return {!proto.api.bucketsd.pb.ArchiveConfig} returns this
 */
proto.api.bucketsd.pb.ArchiveConfig.prototype.setDealMinDuration = function(value) {
  return jspb.Message.setProto3IntField(this, 2, value);
};


/**
 * repeated string excluded_miners = 3;
 * @return {!Array<string>}
 */
proto.api.bucketsd.pb.ArchiveConfig.prototype.getExcludedMinersList = function() {
  return /** @type {!Array<string>} */ (jspb.Message.getRepeatedField(this, 3));
};


/**
 * @param {!Array<string>} value
 * @return {!proto.api.bucketsd.pb.ArchiveConfig} returns this
 */
proto.api.bucketsd.pb.ArchiveConfig.prototype.setExcludedMinersList = function(value) {
  return jspb.Message.setField(this, 3, value || []);
};


/**
 * @param {string} value
 * @param {number=} opt_index
 * @return {!proto.api.bucketsd.pb.ArchiveConfig} returns this
 */
proto.api.bucketsd.pb.ArchiveConfig.prototype.addExcludedMiners = function(value, opt_index) {
  return jspb.Message.addToRepeatedField(this, 3, value, opt_index);
};


/**
 * Clears the list making it empty but non-null.
 * @return {!proto.api.bucketsd.pb.ArchiveConfig} returns this
 */
proto.api.bucketsd.pb.ArchiveConfig.prototype.clearExcludedMinersList = function() {
  return this.setExcludedMinersList([]);
};


/**
 * repeated string trusted_miners = 4;
 * @return {!Array<string>}
 */
proto.api.bucketsd.pb.ArchiveConfig.prototype.getTrustedMinersList = function() {
  return /** @type {!Array<string>} */ (jspb.Message.getRepeatedField(this, 4));
};


/**
 * @param {!Array<string>} value
 * @return {!proto.api.bucketsd.pb.ArchiveConfig} returns this
 */
proto.api.bucketsd.pb.ArchiveConfig.prototype.setTrustedMinersList = function(value) {
  return jspb.Message.setField(this, 4, value || []);
};


/**
 * @param {string} value
 * @param {number=} opt_index
 * @return {!proto.api.bucketsd.pb.ArchiveConfig} returns this
 */
proto.api.bucketsd.pb.ArchiveConfig.prototype.addTrustedMiners = function(value, opt_index) {
  return jspb.Message.addToRepeatedField(this, 4, value, opt_index);
};


/**
 * Clears the list making it empty but non-null.
 * @return {!proto.api.bucketsd.pb.ArchiveConfig} returns this
 */
proto.api.bucketsd.pb.ArchiveConfig.prototype.clearTrustedMinersList = function() {
  return this.setTrustedMinersList([]);
};


/**
 * repeated string country_codes = 5;
 * @return {!Array<string>}
 */
proto.api.bucketsd.pb.ArchiveConfig.prototype.getCountryCodesList = function() {
  return /** @type {!Array<string>} */ (jspb.Message.getRepeatedField(this, 5));
};


/**
 * @param {!Array<string>} value
 * @return {!proto.api.bucketsd.pb.ArchiveConfig} returns this
 */
proto.api.bucketsd.pb.ArchiveConfig.prototype.setCountryCodesList = function(value) {
  return jspb.Message.setField(this, 5, value || []);
};


/**
 * @param {string} value
 * @param {number=} opt_index
 * @return {!proto.api.bucketsd.pb.ArchiveConfig} returns this
 */
proto.api.bucketsd.pb.ArchiveConfig.prototype.addCountryCodes = function(value, opt_index) {
  return jspb.Message.addToRepeatedField(this, 5, value, opt_index);
};


/**
 * Clears the list making it empty but non-null.
 * @return {!proto.api.bucketsd.pb.ArchiveConfig} returns this
 */
proto.api.bucketsd.pb.ArchiveConfig.prototype.clearCountryCodesList = function() {
  return this.setCountryCodesList([]);
};


/**
 * optional ArchiveRenew renew = 6;
 * @return {?proto.api.bucketsd.pb.ArchiveRenew}
 */
proto.api.bucketsd.pb.ArchiveConfig.prototype.getRenew = function() {
  return /** @type{?proto.api.bucketsd.pb.ArchiveRenew} */ (
    jspb.Message.getWrapperField(this, proto.api.bucketsd.pb.ArchiveRenew, 6));
};


/**
 * @param {?proto.api.bucketsd.pb.ArchiveRenew|undefined} value
 * @return {!proto.api.bucketsd.pb.ArchiveConfig} returns this
*/
proto.api.bucketsd.pb.ArchiveConfig.prototype.setRenew = function(value) {
  return jspb.Message.setWrapperField(this, 6, value);
};


/**
 * Clears the message field making it undefined.
 * @return {!proto.api.bucketsd.pb.ArchiveConfig} returns this
 */
proto.api.bucketsd.pb.ArchiveConfig.prototype.clearRenew = function() {
  return this.setRenew(undefined);
};


/**
 * Returns whether this field is set.
 * @return {boolean}
 */
proto.api.bucketsd.pb.ArchiveConfig.prototype.hasRenew = function() {
  return jspb.Message.getField(this, 6) != null;
};


/**
 * optional uint64 max_price = 7;
 * @return {number}
 */
proto.api.bucketsd.pb.ArchiveConfig.prototype.getMaxPrice = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 7, 0));
};


/**
 * @param {number} value
 * @return {!proto.api.bucketsd.pb.ArchiveConfig} returns this
 */
proto.api.bucketsd.pb.ArchiveConfig.prototype.setMaxPrice = function(value) {
  return jspb.Message.setProto3IntField(this, 7, value);
};


/**
 * optional bool fast_retrieval = 8;
 * @return {boolean}
 */
proto.api.bucketsd.pb.ArchiveConfig.prototype.getFastRetrieval = function() {
  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 8, false));
};


/**
 * @param {boolean} value
 * @return {!proto.api.bucketsd.pb.ArchiveConfig} returns this
 */
proto.api.bucketsd.pb.ArchiveConfig.prototype.setFastRetrieval = function(value) {
  return jspb.Message.setProto3BooleanField(this, 8, value);
};


/**
 * optional int64 deal_start_offset = 9;
 * @return {number}
 */
proto.api.bucketsd.pb.ArchiveConfig.prototype.getDealStartOffset = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 9, 0));
};


/**
 * @param {number} value
 * @return {!proto.api.bucketsd.pb.ArchiveConfig} returns this
 */
proto.api.bucketsd.pb.ArchiveConfig.prototype.setDealStartOffset = function(value) {
  return jspb.Message.setProto3IntField(this, 9, value);
};


/**
 * optional bool verified_deal = 10;
 * @return {boolean}
 */
proto.api.bucketsd.pb.ArchiveConfig.prototype.getVerifiedDeal = function() {
  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 10, false));
};


/**
 * @param {boolean} value
 * @return {!proto.api.bucketsd.pb.ArchiveConfig} returns this
 */
proto.api.bucketsd.pb.ArchiveConfig.prototype.setVerifiedDeal = function(value) {
  return jspb.Message.setProto3BooleanField(this, 10, value);
};



/**
 * List of repeated fields within this message type.
 * @private {!Array<number>}
 * @const
 */
proto.api.bucketsd.pb.Archives.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.api.bucketsd.pb.Archives.prototype.toObject = function(opt_includeInstance) {
  return proto.api.bucketsd.pb.Archives.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.api.bucketsd.pb.Archives} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.api.bucketsd.pb.Archives.toObject = function(includeInstance, msg) {
  var f, obj = {
    current: (f = msg.getCurrent()) && proto.api.bucketsd.pb.Archive.toObject(includeInstance, f),
    historyList: jspb.Message.toObjectList(msg.getHistoryList(),
    proto.api.bucketsd.pb.Archive.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.api.bucketsd.pb.Archives}
 */
proto.api.bucketsd.pb.Archives.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.api.bucketsd.pb.Archives;
  return proto.api.bucketsd.pb.Archives.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.api.bucketsd.pb.Archives} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.api.bucketsd.pb.Archives}
 */
proto.api.bucketsd.pb.Archives.deserializeBinaryFromReader = function(msg, reader) {
  while (reader.nextField()) {
    if (reader.isEndGroup()) {
      break;
    }
    var field = reader.getFieldNumber();
    switch (field) {
    case 1:
      var value = new proto.api.bucketsd.pb.Archive;
      reader.readMessage(value,proto.api.bucketsd.pb.Archive.deserializeBinaryFromReader);
      msg.setCurrent(value);
      break;
    case 2:
      var value = new proto.api.bucketsd.pb.Archive;
      reader.readMessage(value,proto.api.bucketsd.pb.Archive.deserializeBinaryFromReader);
      msg.addHistory(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


/**
 * Serializes the message to binary data (in protobuf wire format).
 * @return {!Uint8Array}
 */
proto.api.bucketsd.pb.Archives.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  proto.api.bucketsd.pb.Archives.serializeBinaryToWriter(this, writer);
  return writer.getResultBuffer();
};


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.api.bucketsd.pb.Archives} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.api.bucketsd.pb.Archives.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getCurrent();
  if (f != null) {
    writer.writeMessage(
      1,
      f,
      proto.api.bucketsd.pb.Archive.serializeBinaryToWriter
    );
  }
  f = message.getHistoryList();
  if (f.length > 0) {
    writer.writeRepeatedMessage(
      2,
      f,
      proto.api.bucketsd.pb.Archive.serializeBinaryToWriter
    );
  }
};


/**
 * optional Archive current = 1;
 * @return {?proto.api.bucketsd.pb.Archive}
 */
proto.api.bucketsd.pb.Archives.prototype.getCurrent = function() {
  return /** @type{?proto.api.bucketsd.pb.Archive} */ (
    jspb.Message.getWrapperField(this, proto.api.bucketsd.pb.Archive, 1));
};


/**
 * @param {?proto.api.bucketsd.pb.Archive|undefined} value
 * @return {!proto.api.bucketsd.pb.Archives} returns this
*/
proto.api.bucketsd.pb.Archives.prototype.setCurrent = function(value) {
  return jspb.Message.setWrapperField(this, 1, value);
};


/**
 * Clears the message field making it undefined.
 * @return {!proto.api.bucketsd.pb.Archives} returns this
 */
proto.api.bucketsd.pb.Archives.prototype.clearCurrent = function() {
  return this.setCurrent(undefined);
};


/**
 * Returns whether this field is set.
 * @return {boolean}
 */
proto.api.bucketsd.pb.Archives.prototype.hasCurrent = function() {
  return jspb.Message.getField(this, 1) != null;
};


/**
 * repeated Archive history = 2;
 * @return {!Array<!proto.api.bucketsd.pb.Archive>}
 */
proto.api.bucketsd.pb.Archives.prototype.getHistoryList = function() {
  return /** @type{!Array<!proto.api.bucketsd.pb.Archive>} */ (
    jspb.Message.getRepeatedWrapperField(this, proto.api.bucketsd.pb.Archive, 2));
};


/**
 * @param {!Array<!proto.api.bucketsd.pb.Archive>} value
 * @return {!proto.api.bucketsd.pb.Archives} returns this
*/
proto.api.bucketsd.pb.Archives.prototype.setHistoryList = function(value) {
  return jspb.Message.setRepeatedWrapperField(this, 2, value);
};


/**
 * @param {!proto.api.bucketsd.pb.Archive=} opt_value
 * @param {number=} opt_index
 * @return {!proto.api.bucketsd.pb.Archive}
 */
proto.api.bucketsd.pb.Archives.prototype.addHistory = function(opt_value, opt_index) {
  return jspb.Message.addToRepeatedWrapperField(this, 2, opt_value, proto.api.bucketsd.pb.Archive, opt_index);
};


/**
 * Clears the list making it empty but non-null.
 * @return {!proto.api.bucketsd.pb.Archives} returns this
 */
proto.api.bucketsd.pb.Archives.prototype.clearHistoryList = function() {
  return this.setHistoryList([]);
};



/**
 * List of repeated fields within this message type.
 * @private {!Array<number>}
 * @const
 */
proto.api.bucketsd.pb.Archive.repeatedFields_ = [8];



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.api.bucketsd.pb.Archive.prototype.toObject = function(opt_includeInstance) {
  return proto.api.bucketsd.pb.Archive.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.api.bucketsd.pb.Archive} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.api.bucketsd.pb.Archive.toObject = function(includeInstance, msg) {
  var f, obj = {
    cid: jspb.Message.getFieldWithDefault(msg, 1, ""),
    jobId: jspb.Message.getFieldWithDefault(msg, 2, ""),
    archiveStatus: jspb.Message.getFieldWithDefault(msg, 3, 0),
    aborted: jspb.Message.getBooleanFieldWithDefault(msg, 4, false),
    abortedMsg: jspb.Message.getFieldWithDefault(msg, 5, ""),
    failureMsg: jspb.Message.getFieldWithDefault(msg, 6, ""),
    createdAt: jspb.Message.getFieldWithDefault(msg, 7, 0),
    dealInfoList: jspb.Message.toObjectList(msg.getDealInfoList(),
    proto.api.bucketsd.pb.DealInfo.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.api.bucketsd.pb.Archive}
 */
proto.api.bucketsd.pb.Archive.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.api.bucketsd.pb.Archive;
  return proto.api.bucketsd.pb.Archive.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.api.bucketsd.pb.Archive} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.api.bucketsd.pb.Archive}
 */
proto.api.bucketsd.pb.Archive.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.setCid(value);
      break;
    case 2:
      var value = /** @type {string} */ (reader.readString());
      msg.setJobId(value);
      break;
    case 3:
      var value = /** @type {!proto.api.bucketsd.pb.ArchiveStatus} */ (reader.readEnum());
      msg.setArchiveStatus(value);
      break;
    case 4:
      var value = /** @type {boolean} */ (reader.readBool());
      msg.setAborted(value);
      break;
    case 5:
      var value = /** @type {string} */ (reader.readString());
      msg.setAbortedMsg(value);
      break;
    case 6:
      var value = /** @type {string} */ (reader.readString());
      msg.setFailureMsg(value);
      break;
    case 7:
      var value = /** @type {number} */ (reader.readInt64());
      msg.setCreatedAt(value);
      break;
    case 8:
      var value = new proto.api.bucketsd.pb.DealInfo;
      reader.readMessage(value,proto.api.bucketsd.pb.DealInfo.deserializeBinaryFromReader);
      msg.addDealInfo(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


/**
 * Serializes the message to binary data (in protobuf wire format).
 * @return {!Uint8Array}
 */
proto.api.bucketsd.pb.Archive.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  proto.api.bucketsd.pb.Archive.serializeBinaryToWriter(this, writer);
  return writer.getResultBuffer();
};


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.api.bucketsd.pb.Archive} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.api.bucketsd.pb.Archive.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getCid();
  if (f.length > 0) {
    writer.writeString(
      1,
      f
    );
  }
  f = message.getJobId();
  if (f.length > 0) {
    writer.writeString(
      2,
      f
    );
  }
  f = message.getArchiveStatus();
  if (f !== 0.0) {
    writer.writeEnum(
      3,
      f
    );
  }
  f = message.getAborted();
  if (f) {
    writer.writeBool(
      4,
      f
    );
  }
  f = message.getAbortedMsg();
  if (f.length > 0) {
    writer.writeString(
      5,
      f
    );
  }
  f = message.getFailureMsg();
  if (f.length > 0) {
    writer.writeString(
      6,
      f
    );
  }
  f = message.getCreatedAt();
  if (f !== 0) {
    writer.writeInt64(
      7,
      f
    );
  }
  f = message.getDealInfoList();
  if (f.length > 0) {
    writer.writeRepeatedMessage(
      8,
      f,
      proto.api.bucketsd.pb.DealInfo.serializeBinaryToWriter
    );
  }
};


/**
 * optional string cid = 1;
 * @return {string}
 */
proto.api.bucketsd.pb.Archive.prototype.getCid = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
};


/**
 * @param {string} value
 * @return {!proto.api.bucketsd.pb.Archive} returns this
 */
proto.api.bucketsd.pb.Archive.prototype.setCid = function(value) {
  return jspb.Message.setProto3StringField(this, 1, value);
};


/**
 * optional string job_id = 2;
 * @return {string}
 */
proto.api.bucketsd.pb.Archive.prototype.getJobId = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
};


/**
 * @param {string} value
 * @return {!proto.api.bucketsd.pb.Archive} returns this
 */
proto.api.bucketsd.pb.Archive.prototype.setJobId = function(value) {
  return jspb.Message.setProto3StringField(this, 2, value);
};


/**
 * optional ArchiveStatus archive_status = 3;
 * @return {!proto.api.bucketsd.pb.ArchiveStatus}
 */
proto.api.bucketsd.pb.Archive.prototype.getArchiveStatus = function() {
  return /** @type {!proto.api.bucketsd.pb.ArchiveStatus} */ (jspb.Message.getFieldWithDefault(this, 3, 0));
};


/**
 * @param {!proto.api.bucketsd.pb.ArchiveStatus} value
 * @return {!proto.api.bucketsd.pb.Archive} returns this
 */
proto.api.bucketsd.pb.Archive.prototype.setArchiveStatus = function(value) {
  return jspb.Message.setProto3EnumField(this, 3, value);
};


/**
 * optional bool aborted = 4;
 * @return {boolean}
 */
proto.api.bucketsd.pb.Archive.prototype.getAborted = function() {
  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 4, false));
};


/**
 * @param {boolean} value
 * @return {!proto.api.bucketsd.pb.Archive} returns this
 */
proto.api.bucketsd.pb.Archive.prototype.setAborted = function(value) {
  return jspb.Message.setProto3BooleanField(this, 4, value);
};


/**
 * optional string aborted_msg = 5;
 * @return {string}
 */
proto.api.bucketsd.pb.Archive.prototype.getAbortedMsg = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 5, ""));
};


/**
 * @param {string} value
 * @return {!proto.api.bucketsd.pb.Archive} returns this
 */
proto.api.bucketsd.pb.Archive.prototype.setAbortedMsg = function(value) {
  return jspb.Message.setProto3StringField(this, 5, value);
};


/**
 * optional string failure_msg = 6;
 * @return {string}
 */
proto.api.bucketsd.pb.Archive.prototype.getFailureMsg = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 6, ""));
};


/**
 * @param {string} value
 * @return {!proto.api.bucketsd.pb.Archive} returns this
 */
proto.api.bucketsd.pb.Archive.prototype.setFailureMsg = function(value) {
  return jspb.Message.setProto3StringField(this, 6, value);
};


/**
 * optional int64 created_at = 7;
 * @return {number}
 */
proto.api.bucketsd.pb.Archive.prototype.getCreatedAt = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 7, 0));
};


/**
 * @param {number} value
 * @return {!proto.api.bucketsd.pb.Archive} returns this
 */
proto.api.bucketsd.pb.Archive.prototype.setCreatedAt = function(value) {
  return jspb.Message.setProto3IntField(this, 7, value);
};


/**
 * repeated DealInfo deal_info = 8;
 * @return {!Array<!proto.api.bucketsd.pb.DealInfo>}
 */
proto.api.bucketsd.pb.Archive.prototype.getDealInfoList = function() {
  return /** @type{!Array<!proto.api.bucketsd.pb.DealInfo>} */ (
    jspb.Message.getRepeatedWrapperField(this, proto.api.bucketsd.pb.DealInfo, 8));
};


/**
 * @param {!Array<!proto.api.bucketsd.pb.DealInfo>} value
 * @return {!proto.api.bucketsd.pb.Archive} returns this
*/
proto.api.bucketsd.pb.Archive.prototype.setDealInfoList = function(value) {
  return jspb.Message.setRepeatedWrapperField(this, 8, value);
};


/**
 * @param {!proto.api.bucketsd.pb.DealInfo=} opt_value
 * @param {number=} opt_index
 * @return {!proto.api.bucketsd.pb.DealInfo}
 */
proto.api.bucketsd.pb.Archive.prototype.addDealInfo = function(opt_value, opt_index) {
  return jspb.Message.addToRepeatedWrapperField(this, 8, opt_value, proto.api.bucketsd.pb.DealInfo, opt_index);
};


/**
 * Clears the list making it empty but non-null.
 * @return {!proto.api.bucketsd.pb.Archive} returns this
 */
proto.api.bucketsd.pb.Archive.prototype.clearDealInfoList = function() {
  return this.setDealInfoList([]);
};





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.api.bucketsd.pb.DealInfo.prototype.toObject = function(opt_includeInstance) {
  return proto.api.bucketsd.pb.DealInfo.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.api.bucketsd.pb.DealInfo} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.api.bucketsd.pb.DealInfo.toObject = function(includeInstance, msg) {
  var f, obj = {
    proposalCid: jspb.Message.getFieldWithDefault(msg, 1, ""),
    stateId: jspb.Message.getFieldWithDefault(msg, 2, 0),
    stateName: jspb.Message.getFieldWithDefault(msg, 3, ""),
    miner: jspb.Message.getFieldWithDefault(msg, 4, ""),
    pieceCid: jspb.Message.getFieldWithDefault(msg, 5, ""),
    size: jspb.Message.getFieldWithDefault(msg, 6, 0),
    pricePerEpoch: jspb.Message.getFieldWithDefault(msg, 7, 0),
    startEpoch: jspb.Message.getFieldWithDefault(msg, 8, 0),
    duration: jspb.Message.getFieldWithDefault(msg, 9, 0),
    dealId: jspb.Message.getFieldWithDefault(msg, 10, 0),
    activationEpoch: jspb.Message.getFieldWithDefault(msg, 11, 0),
    message: jspb.Message.getFieldWithDefault(msg, 12, "")
  };

  if (includeInstance) {
    obj.$jspbMessageInstance = msg;
  }
  return obj;
};
}


/**
 * Deserializes binary data (in protobuf wire format).
 * @param {jspb.ByteSource} bytes The bytes to deserialize.
 * @return {!proto.api.bucketsd.pb.DealInfo}
 */
proto.api.bucketsd.pb.DealInfo.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.api.bucketsd.pb.DealInfo;
  return proto.api.bucketsd.pb.DealInfo.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.api.bucketsd.pb.DealInfo} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.api.bucketsd.pb.DealInfo}
 */
proto.api.bucketsd.pb.DealInfo.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.setProposalCid(value);
      break;
    case 2:
      var value = /** @type {number} */ (reader.readUint64());
      msg.setStateId(value);
      break;
    case 3:
      var value = /** @type {string} */ (reader.readString());
      msg.setStateName(value);
      break;
    case 4:
      var value = /** @type {string} */ (reader.readString());
      msg.setMiner(value);
      break;
    case 5:
      var value = /** @type {string} */ (reader.readString());
      msg.setPieceCid(value);
      break;
    case 6:
      var value = /** @type {number} */ (reader.readUint64());
      msg.setSize(value);
      break;
    case 7:
      var value = /** @type {number} */ (reader.readUint64());
      msg.setPricePerEpoch(value);
      break;
    case 8:
      var value = /** @type {number} */ (reader.readUint64());
      msg.setStartEpoch(value);
      break;
    case 9:
      var value = /** @type {number} */ (reader.readUint64());
      msg.setDuration(value);
      break;
    case 10:
      var value = /** @type {number} */ (reader.readUint64());
      msg.setDealId(value);
      break;
    case 11:
      var value = /** @type {number} */ (reader.readInt64());
      msg.setActivationEpoch(value);
      break;
    case 12:
      var value = /** @type {string} */ (reader.readString());
      msg.setMessage(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


/**
 * Serializes the message to binary data (in protobuf wire format).
 * @return {!Uint8Array}
 */
proto.api.bucketsd.pb.DealInfo.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  proto.api.bucketsd.pb.DealInfo.serializeBinaryToWriter(this, writer);
  return writer.getResultBuffer();
};


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.api.bucketsd.pb.DealInfo} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.api.bucketsd.pb.DealInfo.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getProposalCid();
  if (f.length > 0) {
    writer.writeString(
      1,
      f
    );
  }
  f = message.getStateId();
  if (f !== 0) {
    writer.writeUint64(
      2,
      f
    );
  }
  f = message.getStateName();
  if (f.length > 0) {
    writer.writeString(
      3,
      f
    );
  }
  f = message.getMiner();
  if (f.length > 0) {
    writer.writeString(
      4,
      f
    );
  }
  f = message.getPieceCid();
  if (f.length > 0) {
    writer.writeString(
      5,
      f
    );
  }
  f = message.getSize();
  if (f !== 0) {
    writer.writeUint64(
      6,
      f
    );
  }
  f = message.getPricePerEpoch();
  if (f !== 0) {
    writer.writeUint64(
      7,
      f
    );
  }
  f = message.getStartEpoch();
  if (f !== 0) {
    writer.writeUint64(
      8,
      f
    );
  }
  f = message.getDuration();
  if (f !== 0) {
    writer.writeUint64(
      9,
      f
    );
  }
  f = message.getDealId();
  if (f !== 0) {
    writer.writeUint64(
      10,
      f
    );
  }
  f = message.getActivationEpoch();
  if (f !== 0) {
    writer.writeInt64(
      11,
      f
    );
  }
  f = message.getMessage();
  if (f.length > 0) {
    writer.writeString(
      12,
      f
    );
  }
};


/**
 * optional string proposal_cid = 1;
 * @return {string}
 */
proto.api.bucketsd.pb.DealInfo.prototype.getProposalCid = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
};


/**
 * @param {string} value
 * @return {!proto.api.bucketsd.pb.DealInfo} returns this
 */
proto.api.bucketsd.pb.DealInfo.prototype.setProposalCid = function(value) {
  return jspb.Message.setProto3StringField(this, 1, value);
};


/**
 * optional uint64 state_id = 2;
 * @return {number}
 */
proto.api.bucketsd.pb.DealInfo.prototype.getStateId = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));
};


/**
 * @param {number} value
 * @return {!proto.api.bucketsd.pb.DealInfo} returns this
 */
proto.api.bucketsd.pb.DealInfo.prototype.setStateId = function(value) {
  return jspb.Message.setProto3IntField(this, 2, value);
};


/**
 * optional string state_name = 3;
 * @return {string}
 */
proto.api.bucketsd.pb.DealInfo.prototype.getStateName = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, ""));
};


/**
 * @param {string} value
 * @return {!proto.api.bucketsd.pb.DealInfo} returns this
 */
proto.api.bucketsd.pb.DealInfo.prototype.setStateName = function(value) {
  return jspb.Message.setProto3StringField(this, 3, value);
};


/**
 * optional string miner = 4;
 * @return {string}
 */
proto.api.bucketsd.pb.DealInfo.prototype.getMiner = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, ""));
};


/**
 * @param {string} value
 * @return {!proto.api.bucketsd.pb.DealInfo} returns this
 */
proto.api.bucketsd.pb.DealInfo.prototype.setMiner = function(value) {
  return jspb.Message.setProto3StringField(this, 4, value);
};


/**
 * optional string piece_cid = 5;
 * @return {string}
 */
proto.api.bucketsd.pb.DealInfo.prototype.getPieceCid = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 5, ""));
};


/**
 * @param {string} value
 * @return {!proto.api.bucketsd.pb.DealInfo} returns this
 */
proto.api.bucketsd.pb.DealInfo.prototype.setPieceCid = function(value) {
  return jspb.Message.setProto3StringField(this, 5, value);
};


/**
 * optional uint64 size = 6;
 * @return {number}
 */
proto.api.bucketsd.pb.DealInfo.prototype.getSize = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 6, 0));
};


/**
 * @param {number} value
 * @return {!proto.api.bucketsd.pb.DealInfo} returns this
 */
proto.api.bucketsd.pb.DealInfo.prototype.setSize = function(value) {
  return jspb.Message.setProto3IntField(this, 6, value);
};


/**
 * optional uint64 price_per_epoch = 7;
 * @return {number}
 */
proto.api.bucketsd.pb.DealInfo.prototype.getPricePerEpoch = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 7, 0));
};


/**
 * @param {number} value
 * @return {!proto.api.bucketsd.pb.DealInfo} returns this
 */
proto.api.bucketsd.pb.DealInfo.prototype.setPricePerEpoch = function(value) {
  return jspb.Message.setProto3IntField(this, 7, value);
};


/**
 * optional uint64 start_epoch = 8;
 * @return {number}
 */
proto.api.bucketsd.pb.DealInfo.prototype.getStartEpoch = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 8, 0));
};


/**
 * @param {number} value
 * @return {!proto.api.bucketsd.pb.DealInfo} returns this
 */
proto.api.bucketsd.pb.DealInfo.prototype.setStartEpoch = function(value) {
  return jspb.Message.setProto3IntField(this, 8, value);
};


/**
 * optional uint64 duration = 9;
 * @return {number}
 */
proto.api.bucketsd.pb.DealInfo.prototype.getDuration = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 9, 0));
};


/**
 * @param {number} value
 * @return {!proto.api.bucketsd.pb.DealInfo} returns this
 */
proto.api.bucketsd.pb.DealInfo.prototype.setDuration = function(value) {
  return jspb.Message.setProto3IntField(this, 9, value);
};


/**
 * optional uint64 deal_id = 10;
 * @return {number}
 */
proto.api.bucketsd.pb.DealInfo.prototype.getDealId = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 10, 0));
};


/**
 * @param {number} value
 * @return {!proto.api.bucketsd.pb.DealInfo} returns this
 */
proto.api.bucketsd.pb.DealInfo.prototype.setDealId = function(value) {
  return jspb.Message.setProto3IntField(this, 10, value);
};


/**
 * optional int64 activation_epoch = 11;
 * @return {number}
 */
proto.api.bucketsd.pb.DealInfo.prototype.getActivationEpoch = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 11, 0));
};


/**
 * @param {number} value
 * @return {!proto.api.bucketsd.pb.DealInfo} returns this
 */
proto.api.bucketsd.pb.DealInfo.prototype.setActivationEpoch = function(value) {
  return jspb.Message.setProto3IntField(this, 11, value);
};


/**
 * optional string message = 12;
 * @return {string}
 */
proto.api.bucketsd.pb.DealInfo.prototype.getMessage = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 12, ""));
};


/**
 * @param {string} value
 * @return {!proto.api.bucketsd.pb.DealInfo} returns this
 */
proto.api.bucketsd.pb.DealInfo.prototype.setMessage = function(value) {
  return jspb.Message.setProto3StringField(this, 12, 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.api.bucketsd.pb.ArchiveRenew.prototype.toObject = function(opt_includeInstance) {
  return proto.api.bucketsd.pb.ArchiveRenew.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.api.bucketsd.pb.ArchiveRenew} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.api.bucketsd.pb.ArchiveRenew.toObject = function(includeInstance, msg) {
  var f, obj = {
    enabled: jspb.Message.getBooleanFieldWithDefault(msg, 1, false),
    threshold: jspb.Message.getFieldWithDefault(msg, 2, 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.api.bucketsd.pb.ArchiveRenew}
 */
proto.api.bucketsd.pb.ArchiveRenew.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.api.bucketsd.pb.ArchiveRenew;
  return proto.api.bucketsd.pb.ArchiveRenew.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.api.bucketsd.pb.ArchiveRenew} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.api.bucketsd.pb.ArchiveRenew}
 */
proto.api.bucketsd.pb.ArchiveRenew.deserializeBinaryFromReader = function(msg, reader) {
  while (reader.nextField()) {
    if (reader.isEndGroup()) {
      break;
    }
    var field = reader.getFieldNumber();
    switch (field) {
    case 1:
      var value = /** @type {boolean} */ (reader.readBool());
      msg.setEnabled(value);
      break;
    case 2:
      var value = /** @type {number} */ (reader.readInt32());
      msg.setThreshold(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


/**
 * Serializes the message to binary data (in protobuf wire format).
 * @return {!Uint8Array}
 */
proto.api.bucketsd.pb.ArchiveRenew.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  proto.api.bucketsd.pb.ArchiveRenew.serializeBinaryToWriter(this, writer);
  return writer.getResultBuffer();
};


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.api.bucketsd.pb.ArchiveRenew} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.api.bucketsd.pb.ArchiveRenew.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getEnabled();
  if (f) {
    writer.writeBool(
      1,
      f
    );
  }
  f = message.getThreshold();
  if (f !== 0) {
    writer.writeInt32(
      2,
      f
    );
  }
};


/**
 * optional bool enabled = 1;
 * @return {boolean}
 */
proto.api.bucketsd.pb.ArchiveRenew.prototype.getEnabled = function() {
  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 1, false));
};


/**
 * @param {boolean} value
 * @return {!proto.api.bucketsd.pb.ArchiveRenew} returns this
 */
proto.api.bucketsd.pb.ArchiveRenew.prototype.setEnabled = function(value) {
  return jspb.Message.setProto3BooleanField(this, 1, value);
};


/**
 * optional int32 threshold = 2;
 * @return {number}
 */
proto.api.bucketsd.pb.ArchiveRenew.prototype.getThreshold = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));
};


/**
 * @param {number} value
 * @return {!proto.api.bucketsd.pb.ArchiveRenew} returns this
 */
proto.api.bucketsd.pb.ArchiveRenew.prototype.setThreshold = function(value) {
  return jspb.Message.setProto3IntField(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.api.bucketsd.pb.DefaultArchiveConfigRequest.prototype.toObject = function(opt_includeInstance) {
  return proto.api.bucketsd.pb.DefaultArchiveConfigRequest.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.api.bucketsd.pb.DefaultArchiveConfigRequest} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.api.bucketsd.pb.DefaultArchiveConfigRequest.toObject = function(includeInstance, msg) {
  var f, obj = {
    key: jspb.Message.getFieldWithDefault(msg, 1, "")
  };

  if (includeInstance) {
    obj.$jspbMessageInstance = msg;
  }
  return obj;
};
}


/**
 * Deserializes binary data (in protobuf wire format).
 * @param {jspb.ByteSource} bytes The bytes to deserialize.
 * @return {!proto.api.bucketsd.pb.DefaultArchiveConfigRequest}
 */
proto.api.bucketsd.pb.DefaultArchiveConfigRequest.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.api.bucketsd.pb.DefaultArchiveConfigRequest;
  return proto.api.bucketsd.pb.DefaultArchiveConfigRequest.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.api.bucketsd.pb.DefaultArchiveConfigRequest} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.api.bucketsd.pb.DefaultArchiveConfigRequest}
 */
proto.api.bucketsd.pb.DefaultArchiveConfigRequest.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.setKey(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


/**
 * Serializes the message to binary data (in protobuf wire format).
 * @return {!Uint8Array}
 */
proto.api.bucketsd.pb.DefaultArchiveConfigRequest.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  proto.api.bucketsd.pb.DefaultArchiveConfigRequest.serializeBinaryToWriter(this, writer);
  return writer.getResultBuffer();
};


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.api.bucketsd.pb.DefaultArchiveConfigRequest} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.api.bucketsd.pb.DefaultArchiveConfigRequest.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getKey();
  if (f.length > 0) {
    writer.writeString(
      1,
      f
    );
  }
};


/**
 * optional string key = 1;
 * @return {string}
 */
proto.api.bucketsd.pb.DefaultArchiveConfigRequest.prototype.getKey = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
};


/**
 * @param {string} value
 * @return {!proto.api.bucketsd.pb.DefaultArchiveConfigRequest} returns this
 */
proto.api.bucketsd.pb.DefaultArchiveConfigRequest.prototype.setKey = function(value) {
  return jspb.Message.setProto3StringField(this, 1, 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.api.bucketsd.pb.DefaultArchiveConfigResponse.prototype.toObject = function(opt_includeInstance) {
  return proto.api.bucketsd.pb.DefaultArchiveConfigResponse.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.api.bucketsd.pb.DefaultArchiveConfigResponse} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.api.bucketsd.pb.DefaultArchiveConfigResponse.toObject = function(includeInstance, msg) {
  var f, obj = {
    archiveConfig: (f = msg.getArchiveConfig()) && proto.api.bucketsd.pb.ArchiveConfig.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.api.bucketsd.pb.DefaultArchiveConfigResponse}
 */
proto.api.bucketsd.pb.DefaultArchiveConfigResponse.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.api.bucketsd.pb.DefaultArchiveConfigResponse;
  return proto.api.bucketsd.pb.DefaultArchiveConfigResponse.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.api.bucketsd.pb.DefaultArchiveConfigResponse} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.api.bucketsd.pb.DefaultArchiveConfigResponse}
 */
proto.api.bucketsd.pb.DefaultArchiveConfigResponse.deserializeBinaryFromReader = function(msg, reader) {
  while (reader.nextField()) {
    if (reader.isEndGroup()) {
      break;
    }
    var field = reader.getFieldNumber();
    switch (field) {
    case 1:
      var value = new proto.api.bucketsd.pb.ArchiveConfig;
      reader.readMessage(value,proto.api.bucketsd.pb.ArchiveConfig.deserializeBinaryFromReader);
      msg.setArchiveConfig(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


/**
 * Serializes the message to binary data (in protobuf wire format).
 * @return {!Uint8Array}
 */
proto.api.bucketsd.pb.DefaultArchiveConfigResponse.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  proto.api.bucketsd.pb.DefaultArchiveConfigResponse.serializeBinaryToWriter(this, writer);
  return writer.getResultBuffer();
};


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.api.bucketsd.pb.DefaultArchiveConfigResponse} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.api.bucketsd.pb.DefaultArchiveConfigResponse.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getArchiveConfig();
  if (f != null) {
    writer.writeMessage(
      1,
      f,
      proto.api.bucketsd.pb.ArchiveConfig.serializeBinaryToWriter
    );
  }
};


/**
 * optional ArchiveConfig archive_config = 1;
 * @return {?proto.api.bucketsd.pb.ArchiveConfig}
 */
proto.api.bucketsd.pb.DefaultArchiveConfigResponse.prototype.getArchiveConfig = function() {
  return /** @type{?proto.api.bucketsd.pb.ArchiveConfig} */ (
    jspb.Message.getWrapperField(this, proto.api.bucketsd.pb.ArchiveConfig, 1));
};


/**
 * @param {?proto.api.bucketsd.pb.ArchiveConfig|undefined} value
 * @return {!proto.api.bucketsd.pb.DefaultArchiveConfigResponse} returns this
*/
proto.api.bucketsd.pb.DefaultArchiveConfigResponse.prototype.setArchiveConfig = function(value) {
  return jspb.Message.setWrapperField(this, 1, value);
};


/**
 * Clears the message field making it undefined.
 * @return {!proto.api.bucketsd.pb.DefaultArchiveConfigResponse} returns this
 */
proto.api.bucketsd.pb.DefaultArchiveConfigResponse.prototype.clearArchiveConfig = function() {
  return this.setArchiveConfig(undefined);
};


/**
 * Returns whether this field is set.
 * @return {boolean}
 */
proto.api.bucketsd.pb.DefaultArchiveConfigResponse.prototype.hasArchiveConfig = function() {
  return jspb.Message.getField(this, 1) != 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.api.bucketsd.pb.SetDefaultArchiveConfigRequest.prototype.toObject = function(opt_includeInstance) {
  return proto.api.bucketsd.pb.SetDefaultArchiveConfigRequest.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.api.bucketsd.pb.SetDefaultArchiveConfigRequest} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.api.bucketsd.pb.SetDefaultArchiveConfigRequest.toObject = function(includeInstance, msg) {
  var f, obj = {
    key: jspb.Message.getFieldWithDefault(msg, 1, ""),
    archiveConfig: (f = msg.getArchiveConfig()) && proto.api.bucketsd.pb.ArchiveConfig.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.api.bucketsd.pb.SetDefaultArchiveConfigRequest}
 */
proto.api.bucketsd.pb.SetDefaultArchiveConfigRequest.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.api.bucketsd.pb.SetDefaultArchiveConfigRequest;
  return proto.api.bucketsd.pb.SetDefaultArchiveConfigRequest.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.api.bucketsd.pb.SetDefaultArchiveConfigRequest} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.api.bucketsd.pb.SetDefaultArchiveConfigRequest}
 */
proto.api.bucketsd.pb.SetDefaultArchiveConfigRequest.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.setKey(value);
      break;
    case 2:
      var value = new proto.api.bucketsd.pb.ArchiveConfig;
      reader.readMessage(value,proto.api.bucketsd.pb.ArchiveConfig.deserializeBinaryFromReader);
      msg.setArchiveConfig(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


/**
 * Serializes the message to binary data (in protobuf wire format).
 * @return {!Uint8Array}
 */
proto.api.bucketsd.pb.SetDefaultArchiveConfigRequest.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  proto.api.bucketsd.pb.SetDefaultArchiveConfigRequest.serializeBinaryToWriter(this, writer);
  return writer.getResultBuffer();
};


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.api.bucketsd.pb.SetDefaultArchiveConfigRequest} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.api.bucketsd.pb.SetDefaultArchiveConfigRequest.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getKey();
  if (f.length > 0) {
    writer.writeString(
      1,
      f
    );
  }
  f = message.getArchiveConfig();
  if (f != null) {
    writer.writeMessage(
      2,
      f,
      proto.api.bucketsd.pb.ArchiveConfig.serializeBinaryToWriter
    );
  }
};


/**
 * optional string key = 1;
 * @return {string}
 */
proto.api.bucketsd.pb.SetDefaultArchiveConfigRequest.prototype.getKey = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
};


/**
 * @param {string} value
 * @return {!proto.api.bucketsd.pb.SetDefaultArchiveConfigRequest} returns this
 */
proto.api.bucketsd.pb.SetDefaultArchiveConfigRequest.prototype.setKey = function(value) {
  return jspb.Message.setProto3StringField(this, 1, value);
};


/**
 * optional ArchiveConfig archive_config = 2;
 * @return {?proto.api.bucketsd.pb.ArchiveConfig}
 */
proto.api.bucketsd.pb.SetDefaultArchiveConfigRequest.prototype.getArchiveConfig = function() {
  return /** @type{?proto.api.bucketsd.pb.ArchiveConfig} */ (
    jspb.Message.getWrapperField(this, proto.api.bucketsd.pb.ArchiveConfig, 2));
};


/**
 * @param {?proto.api.bucketsd.pb.ArchiveConfig|undefined} value
 * @return {!proto.api.bucketsd.pb.SetDefaultArchiveConfigRequest} returns this
*/
proto.api.bucketsd.pb.SetDefaultArchiveConfigRequest.prototype.setArchiveConfig = function(value) {
  return jspb.Message.setWrapperField(this, 2, value);
};


/**
 * Clears the message field making it undefined.
 * @return {!proto.api.bucketsd.pb.SetDefaultArchiveConfigRequest} returns this
 */
proto.api.bucketsd.pb.SetDefaultArchiveConfigRequest.prototype.clearArchiveConfig = function() {
  return this.setArchiveConfig(undefined);
};


/**
 * Returns whether this field is set.
 * @return {boolean}
 */
proto.api.bucketsd.pb.SetDefaultArchiveConfigRequest.prototype.hasArchiveConfig = 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.api.bucketsd.pb.SetDefaultArchiveConfigResponse.prototype.toObject = function(opt_includeInstance) {
  return proto.api.bucketsd.pb.SetDefaultArchiveConfigResponse.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.api.bucketsd.pb.SetDefaultArchiveConfigResponse} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.api.bucketsd.pb.SetDefaultArchiveConfigResponse.toObject = function(includeInstance, msg) {
  var f, obj = {

  };

  if (includeInstance) {
    obj.$jspbMessageInstance = msg;
  }
  return obj;
};
}


/**
 * Deserializes binary data (in protobuf wire format).
 * @param {jspb.ByteSource} bytes The bytes to deserialize.
 * @return {!proto.api.bucketsd.pb.SetDefaultArchiveConfigResponse}
 */
proto.api.bucketsd.pb.SetDefaultArchiveConfigResponse.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.api.bucketsd.pb.SetDefaultArchiveConfigResponse;
  return proto.api.bucketsd.pb.SetDefaultArchiveConfigResponse.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.api.bucketsd.pb.SetDefaultArchiveConfigResponse} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.api.bucketsd.pb.SetDefaultArchiveConfigResponse}
 */
proto.api.bucketsd.pb.SetDefaultArchiveConfigResponse.deserializeBinaryFromReader = function(msg, reader) {
  while (reader.nextField()) {
    if (reader.isEndGroup()) {
      break;
    }
    var field = reader.getFieldNumber();
    switch (field) {
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


/**
 * Serializes the message to binary data (in protobuf wire format).
 * @return {!Uint8Array}
 */
proto.api.bucketsd.pb.SetDefaultArchiveConfigResponse.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  proto.api.bucketsd.pb.SetDefaultArchiveConfigResponse.serializeBinaryToWriter(this, writer);
  return writer.getResultBuffer();
};


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.api.bucketsd.pb.SetDefaultArchiveConfigResponse} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.api.bucketsd.pb.SetDefaultArchiveConfigResponse.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
};





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.api.bucketsd.pb.ArchiveRequest.prototype.toObject = function(opt_includeInstance) {
  return proto.api.bucketsd.pb.ArchiveRequest.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.api.bucketsd.pb.ArchiveRequest} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.api.bucketsd.pb.ArchiveRequest.toObject = function(includeInstance, msg) {
  var f, obj = {
    key: jspb.Message.getFieldWithDefault(msg, 1, ""),
    archiveConfig: (f = msg.getArchiveConfig()) && proto.api.bucketsd.pb.ArchiveConfig.toObject(includeInstance, f),
    skipAutomaticVerifiedDeal: 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.api.bucketsd.pb.ArchiveRequest}
 */
proto.api.bucketsd.pb.ArchiveRequest.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.api.bucketsd.pb.ArchiveRequest;
  return proto.api.bucketsd.pb.ArchiveRequest.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.api.bucketsd.pb.ArchiveRequest} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.api.bucketsd.pb.ArchiveRequest}
 */
proto.api.bucketsd.pb.ArchiveRequest.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.setKey(value);
      break;
    case 2:
      var value = new proto.api.bucketsd.pb.ArchiveConfig;
      reader.readMessage(value,proto.api.bucketsd.pb.ArchiveConfig.deserializeBinaryFromReader);
      msg.setArchiveConfig(value);
      break;
    case 3:
      var value = /** @type {boolean} */ (reader.readBool());
      msg.setSkipAutomaticVerifiedDeal(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


/**
 * Serializes the message to binary data (in protobuf wire format).
 * @return {!Uint8Array}
 */
proto.api.bucketsd.pb.ArchiveRequest.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  proto.api.bucketsd.pb.ArchiveRequest.serializeBinaryToWriter(this, writer);
  return writer.getResultBuffer();
};


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.api.bucketsd.pb.ArchiveRequest} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.api.bucketsd.pb.ArchiveRequest.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getKey();
  if (f.length > 0) {
    writer.writeString(
      1,
      f
    );
  }
  f = message.getArchiveConfig();
  if (f != null) {
    writer.writeMessage(
      2,
      f,
      proto.api.bucketsd.pb.ArchiveConfig.serializeBinaryToWriter
    );
  }
  f = message.getSkipAutomaticVerifiedDeal();
  if (f) {
    writer.writeBool(
      3,
      f
    );
  }
};


/**
 * optional string key = 1;
 * @return {string}
 */
proto.api.bucketsd.pb.ArchiveRequest.prototype.getKey = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
};


/**
 * @param {string} value
 * @return {!proto.api.bucketsd.pb.ArchiveRequest} returns this
 */
proto.api.bucketsd.pb.ArchiveRequest.prototype.setKey = function(value) {
  return jspb.Message.setProto3StringField(this, 1, value);
};


/**
 * optional ArchiveConfig archive_config = 2;
 * @return {?proto.api.bucketsd.pb.ArchiveConfig}
 */
proto.api.bucketsd.pb.ArchiveRequest.prototype.getArchiveConfig = function() {
  return /** @type{?proto.api.bucketsd.pb.ArchiveConfig} */ (
    jspb.Message.getWrapperField(this, proto.api.bucketsd.pb.ArchiveConfig, 2));
};


/**
 * @param {?proto.api.bucketsd.pb.ArchiveConfig|undefined} value
 * @return {!proto.api.bucketsd.pb.ArchiveRequest} returns this
*/
proto.api.bucketsd.pb.ArchiveRequest.prototype.setArchiveConfig = function(value) {
  return jspb.Message.setWrapperField(this, 2, value);
};


/**
 * Clears the message field making it undefined.
 * @return {!proto.api.bucketsd.pb.ArchiveRequest} returns this
 */
proto.api.bucketsd.pb.ArchiveRequest.prototype.clearArchiveConfig = function() {
  return this.setArchiveConfig(undefined);
};


/**
 * Returns whether this field is set.
 * @return {boolean}
 */
proto.api.bucketsd.pb.ArchiveRequest.prototype.hasArchiveConfig = function() {
  return jspb.Message.getField(this, 2) != null;
};


/**
 * optional bool skip_automatic_verified_deal = 3;
 * @return {boolean}
 */
proto.api.bucketsd.pb.ArchiveRequest.prototype.getSkipAutomaticVerifiedDeal = function() {
  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 3, false));
};


/**
 * @param {boolean} value
 * @return {!proto.api.bucketsd.pb.ArchiveRequest} returns this
 */
proto.api.bucketsd.pb.ArchiveRequest.prototype.setSkipAutomaticVerifiedDeal = function(value) {
  return jspb.Message.setProto3BooleanField(this, 3, value);
};





if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * Optional fields that are not set will be set to undefined.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     net/proto2/compiler/js/internal/generator.cc#kKeyword.
 * @param {boolean=} opt_includeInstance Deprecated. whether to include the
 *     JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @return {!Object}
 */
proto.api.bucketsd.pb.ArchiveResponse.prototype.toObject = function(opt_includeInstance) {
  return proto.api.bucketsd.pb.ArchiveResponse.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.api.bucketsd.pb.ArchiveResponse} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.api.bucketsd.pb.ArchiveResponse.toObject = function(includeInstance, msg) {
  var f, obj = {

  };

  if (includeInstance) {
    obj.$jspbMessageInstance = msg;
  }
  return obj;
};
}


/**
 * Deserializes binary data (in protobuf wire format).
 * @param {jspb.ByteSource} bytes The bytes to deserialize.
 * @return {!proto.api.bucketsd.pb.ArchiveResponse}
 */
proto.api.bucketsd.pb.ArchiveResponse.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.api.bucketsd.pb.ArchiveResponse;
  return proto.api.bucketsd.pb.ArchiveResponse.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.api.bucketsd.pb.ArchiveResponse} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.api.bucketsd.pb.ArchiveResponse}
 */
proto.api.bucketsd.pb.ArchiveResponse.deserializeBinaryFromReader = function(msg, reader) {
  while (reader.nextField()) {
    if (reader.isEndGroup()) {
      break;
    }
    var field = reader.getFieldNumber();
    switch (field) {
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


/**
 * Serializes the message to binary data (in protobuf wire format).
 * @return {!Uint8Array}
 */
proto.api.bucketsd.pb.ArchiveResponse.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  proto.api.bucketsd.pb.ArchiveResponse.serializeBinaryToWriter(this, writer);
  return writer.getResultBuffer();
};


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.api.bucketsd.pb.ArchiveResponse} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.api.bucketsd.pb.ArchiveResponse.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
};





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.api.bucketsd.pb.ArchivesRequest.prototype.toObject = function(opt_includeInstance) {
  return proto.api.bucketsd.pb.ArchivesRequest.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.api.bucketsd.pb.ArchivesRequest} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.api.bucketsd.pb.ArchivesRequest.toObject = function(includeInstance, msg) {
  var f, obj = {
    key: jspb.Message.getFieldWithDefault(msg, 1, "")
  };

  if (includeInstance) {
    obj.$jspbMessageInstance = msg;
  }
  return obj;
};
}


/**
 * Deserializes binary data (in protobuf wire format).
 * @param {jspb.ByteSource} bytes The bytes to deserialize.
 * @return {!proto.api.bucketsd.pb.ArchivesRequest}
 */
proto.api.bucketsd.pb.ArchivesRequest.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.api.bucketsd.pb.ArchivesRequest;
  return proto.api.bucketsd.pb.ArchivesRequest.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.api.bucketsd.pb.ArchivesRequest} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.api.bucketsd.pb.ArchivesRequest}
 */
proto.api.bucketsd.pb.ArchivesRequest.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.setKey(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


/**
 * Serializes the message to binary data (in protobuf wire format).
 * @return {!Uint8Array}
 */
proto.api.bucketsd.pb.ArchivesRequest.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  proto.api.bucketsd.pb.ArchivesRequest.serializeBinaryToWriter(this, writer);
  return writer.getResultBuffer();
};


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.api.bucketsd.pb.ArchivesRequest} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.api.bucketsd.pb.ArchivesRequest.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getKey();
  if (f.length > 0) {
    writer.writeString(
      1,
      f
    );
  }
};


/**
 * optional string key = 1;
 * @return {string}
 */
proto.api.bucketsd.pb.ArchivesRequest.prototype.getKey = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
};


/**
 * @param {string} value
 * @return {!proto.api.bucketsd.pb.ArchivesRequest} returns this
 */
proto.api.bucketsd.pb.ArchivesRequest.prototype.setKey = function(value) {
  return jspb.Message.setProto3StringField(this, 1, value);
};



/**
 * List of repeated fields within this message type.
 * @private {!Array<number>}
 * @const
 */
proto.api.bucketsd.pb.ArchivesResponse.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.api.bucketsd.pb.ArchivesResponse.prototype.toObject = function(opt_includeInstance) {
  return proto.api.bucketsd.pb.ArchivesResponse.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.api.bucketsd.pb.ArchivesResponse} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.api.bucketsd.pb.ArchivesResponse.toObject = function(includeInstance, msg) {
  var f, obj = {
    current: (f = msg.getCurrent()) && proto.api.bucketsd.pb.Archive.toObject(includeInstance, f),
    historyList: jspb.Message.toObjectList(msg.getHistoryList(),
    proto.api.bucketsd.pb.Archive.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.api.bucketsd.pb.ArchivesResponse}
 */
proto.api.bucketsd.pb.ArchivesResponse.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.api.bucketsd.pb.ArchivesResponse;
  return proto.api.bucketsd.pb.ArchivesResponse.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.api.bucketsd.pb.ArchivesResponse} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.api.bucketsd.pb.ArchivesResponse}
 */
proto.api.bucketsd.pb.ArchivesResponse.deserializeBinaryFromReader = function(msg, reader) {
  while (reader.nextField()) {
    if (reader.isEndGroup()) {
      break;
    }
    var field = reader.getFieldNumber();
    switch (field) {
    case 1:
      var value = new proto.api.bucketsd.pb.Archive;
      reader.readMessage(value,proto.api.bucketsd.pb.Archive.deserializeBinaryFromReader);
      msg.setCurrent(value);
      break;
    case 2:
      var value = new proto.api.bucketsd.pb.Archive;
      reader.readMessage(value,proto.api.bucketsd.pb.Archive.deserializeBinaryFromReader);
      msg.addHistory(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


/**
 * Serializes the message to binary data (in protobuf wire format).
 * @return {!Uint8Array}
 */
proto.api.bucketsd.pb.ArchivesResponse.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  proto.api.bucketsd.pb.ArchivesResponse.serializeBinaryToWriter(this, writer);
  return writer.getResultBuffer();
};


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.api.bucketsd.pb.ArchivesResponse} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.api.bucketsd.pb.ArchivesResponse.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getCurrent();
  if (f != null) {
    writer.writeMessage(
      1,
      f,
      proto.api.bucketsd.pb.Archive.serializeBinaryToWriter
    );
  }
  f = message.getHistoryList();
  if (f.length > 0) {
    writer.writeRepeatedMessage(
      2,
      f,
      proto.api.bucketsd.pb.Archive.serializeBinaryToWriter
    );
  }
};


/**
 * optional Archive current = 1;
 * @return {?proto.api.bucketsd.pb.Archive}
 */
proto.api.bucketsd.pb.ArchivesResponse.prototype.getCurrent = function() {
  return /** @type{?proto.api.bucketsd.pb.Archive} */ (
    jspb.Message.getWrapperField(this, proto.api.bucketsd.pb.Archive, 1));
};


/**
 * @param {?proto.api.bucketsd.pb.Archive|undefined} value
 * @return {!proto.api.bucketsd.pb.ArchivesResponse} returns this
*/
proto.api.bucketsd.pb.ArchivesResponse.prototype.setCurrent = function(value) {
  return jspb.Message.setWrapperField(this, 1, value);
};


/**
 * Clears the message field making it undefined.
 * @return {!proto.api.bucketsd.pb.ArchivesResponse} returns this
 */
proto.api.bucketsd.pb.ArchivesResponse.prototype.clearCurrent = function() {
  return this.setCurrent(undefined);
};


/**
 * Returns whether this field is set.
 * @return {boolean}
 */
proto.api.bucketsd.pb.ArchivesResponse.prototype.hasCurrent = function() {
  return jspb.Message.getField(this, 1) != null;
};


/**
 * repeated Archive history = 2;
 * @return {!Array<!proto.api.bucketsd.pb.Archive>}
 */
proto.api.bucketsd.pb.ArchivesResponse.prototype.getHistoryList = function() {
  return /** @type{!Array<!proto.api.bucketsd.pb.Archive>} */ (
    jspb.Message.getRepeatedWrapperField(this, proto.api.bucketsd.pb.Archive, 2));
};


/**
 * @param {!Array<!proto.api.bucketsd.pb.Archive>} value
 * @return {!proto.api.bucketsd.pb.ArchivesResponse} returns this
*/
proto.api.bucketsd.pb.ArchivesResponse.prototype.setHistoryList = function(value) {
  return jspb.Message.setRepeatedWrapperField(this, 2, value);
};


/**
 * @param {!proto.api.bucketsd.pb.Archive=} opt_value
 * @param {number=} opt_index
 * @return {!proto.api.bucketsd.pb.Archive}
 */
proto.api.bucketsd.pb.ArchivesResponse.prototype.addHistory = function(opt_value, opt_index) {
  return jspb.Message.addToRepeatedWrapperField(this, 2, opt_value, proto.api.bucketsd.pb.Archive, opt_index);
};


/**
 * Clears the list making it empty but non-null.
 * @return {!proto.api.bucketsd.pb.ArchivesResponse} returns this
 */
proto.api.bucketsd.pb.ArchivesResponse.prototype.clearHistoryList = function() {
  return this.setHistoryList([]);
};





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.api.bucketsd.pb.ArchiveWatchRequest.prototype.toObject = function(opt_includeInstance) {
  return proto.api.bucketsd.pb.ArchiveWatchRequest.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.api.bucketsd.pb.ArchiveWatchRequest} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.api.bucketsd.pb.ArchiveWatchRequest.toObject = function(includeInstance, msg) {
  var f, obj = {
    key: jspb.Message.getFieldWithDefault(msg, 1, "")
  };

  if (includeInstance) {
    obj.$jspbMessageInstance = msg;
  }
  return obj;
};
}


/**
 * Deserializes binary data (in protobuf wire format).
 * @param {jspb.ByteSource} bytes The bytes to deserialize.
 * @return {!proto.api.bucketsd.pb.ArchiveWatchRequest}
 */
proto.api.bucketsd.pb.ArchiveWatchRequest.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.api.bucketsd.pb.ArchiveWatchRequest;
  return proto.api.bucketsd.pb.ArchiveWatchRequest.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.api.bucketsd.pb.ArchiveWatchRequest} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.api.bucketsd.pb.ArchiveWatchRequest}
 */
proto.api.bucketsd.pb.ArchiveWatchRequest.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.setKey(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


/**
 * Serializes the message to binary data (in protobuf wire format).
 * @return {!Uint8Array}
 */
proto.api.bucketsd.pb.ArchiveWatchRequest.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  proto.api.bucketsd.pb.ArchiveWatchRequest.serializeBinaryToWriter(this, writer);
  return writer.getResultBuffer();
};


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.api.bucketsd.pb.ArchiveWatchRequest} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.api.bucketsd.pb.ArchiveWatchRequest.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getKey();
  if (f.length > 0) {
    writer.writeString(
      1,
      f
    );
  }
};


/**
 * optional string key = 1;
 * @return {string}
 */
proto.api.bucketsd.pb.ArchiveWatchRequest.prototype.getKey = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
};


/**
 * @param {string} value
 * @return {!proto.api.bucketsd.pb.ArchiveWatchRequest} returns this
 */
proto.api.bucketsd.pb.ArchiveWatchRequest.prototype.setKey = function(value) {
  return jspb.Message.setProto3StringField(this, 1, 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.api.bucketsd.pb.ArchiveWatchResponse.prototype.toObject = function(opt_includeInstance) {
  return proto.api.bucketsd.pb.ArchiveWatchResponse.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.api.bucketsd.pb.ArchiveWatchResponse} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.api.bucketsd.pb.ArchiveWatchResponse.toObject = function(includeInstance, msg) {
  var f, obj = {
    msg: jspb.Message.getFieldWithDefault(msg, 1, "")
  };

  if (includeInstance) {
    obj.$jspbMessageInstance = msg;
  }
  return obj;
};
}


/**
 * Deserializes binary data (in protobuf wire format).
 * @param {jspb.ByteSource} bytes The bytes to deserialize.
 * @return {!proto.api.bucketsd.pb.ArchiveWatchResponse}
 */
proto.api.bucketsd.pb.ArchiveWatchResponse.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.api.bucketsd.pb.ArchiveWatchResponse;
  return proto.api.bucketsd.pb.ArchiveWatchResponse.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.api.bucketsd.pb.ArchiveWatchResponse} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.api.bucketsd.pb.ArchiveWatchResponse}
 */
proto.api.bucketsd.pb.ArchiveWatchResponse.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.setMsg(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


/**
 * Serializes the message to binary data (in protobuf wire format).
 * @return {!Uint8Array}
 */
proto.api.bucketsd.pb.ArchiveWatchResponse.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  proto.api.bucketsd.pb.ArchiveWatchResponse.serializeBinaryToWriter(this, writer);
  return writer.getResultBuffer();
};


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.api.bucketsd.pb.ArchiveWatchResponse} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.api.bucketsd.pb.ArchiveWatchResponse.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getMsg();
  if (f.length > 0) {
    writer.writeString(
      1,
      f
    );
  }
};


/**
 * optional string msg = 1;
 * @return {string}
 */
proto.api.bucketsd.pb.ArchiveWatchResponse.prototype.getMsg = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
};


/**
 * @param {string} value
 * @return {!proto.api.bucketsd.pb.ArchiveWatchResponse} returns this
 */
proto.api.bucketsd.pb.ArchiveWatchResponse.prototype.setMsg = function(value) {
  return jspb.Message.setProto3StringField(this, 1, value);
};


/**
 * @enum {number}
 */
proto.api.bucketsd.pb.PathAccessRole = {
  PATH_ACCESS_ROLE_UNSPECIFIED: 0,
  PATH_ACCESS_ROLE_READER: 1,
  PATH_ACCESS_ROLE_WRITER: 2,
  PATH_ACCESS_ROLE_ADMIN: 3
};

/**
 * @enum {number}
 */
proto.api.bucketsd.pb.ArchiveStatus = {
  ARCHIVE_STATUS_UNSPECIFIED: 0,
  ARCHIVE_STATUS_QUEUED: 1,
  ARCHIVE_STATUS_EXECUTING: 2,
  ARCHIVE_STATUS_FAILED: 3,
  ARCHIVE_STATUS_CANCELED: 4,
  ARCHIVE_STATUS_SUCCESS: 5
};

goog.object.extend(exports, proto.api.bucketsd.pb);
