// source: im.proto
/**
 * @fileoverview
 * @enhanceable
 * @suppress {missingRequire} reports error on implicit type usages.
 * @suppress {messageConventions} JS Compiler reports an error if a variable or
 *     field starts with 'MSG_' and isn't a translatable message.
 * @public
 */
// GENERATED CODE -- DO NOT EDIT!
/* eslint-disable */
// @ts-nocheck

var jspb = require('google-protobuf');
var goog = jspb;
var global = Function('return this')();

goog.exportSymbol('proto.im.Column', null, global);
goog.exportSymbol('proto.im.CreateReply', null, global);
goog.exportSymbol('proto.im.CreateRoleRequest', null, global);
goog.exportSymbol('proto.im.CreateShopRequest', null, global);
goog.exportSymbol('proto.im.CreateSystemRequest', null, global);
goog.exportSymbol('proto.im.DefaultReply', null, global);
goog.exportSymbol('proto.im.DefaultRequest', null, global);
goog.exportSymbol('proto.im.ErrorCode', null, global);
goog.exportSymbol('proto.im.Message', null, global);
goog.exportSymbol('proto.im.Message.Level', null, global);
goog.exportSymbol('proto.im.PermissionCheck', null, global);
goog.exportSymbol('proto.im.Role', null, global);
goog.exportSymbol('proto.im.RoleListReply', null, global);
goog.exportSymbol('proto.im.RoleListRequest', null, global);
goog.exportSymbol('proto.im.RolePermissionRequest', null, global);
goog.exportSymbol('proto.im.SaveServiceListRequest', null, global);
goog.exportSymbol('proto.im.Service', null, global);
goog.exportSymbol('proto.im.ServiceListReply', null, global);
goog.exportSymbol('proto.im.ServiceListRequest', null, global);
goog.exportSymbol('proto.im.ServiceRemoveRequest', null, global);
goog.exportSymbol('proto.im.SessionCheckReply', null, global);
goog.exportSymbol('proto.im.ShopInfo', null, global);
goog.exportSymbol('proto.im.ShopListReply', null, global);
goog.exportSymbol('proto.im.ShopListRequest', null, global);
goog.exportSymbol('proto.im.SignInPasswordRequest', null, global);
goog.exportSymbol('proto.im.SignUpReply', null, global);
goog.exportSymbol('proto.im.SignUpRequest', null, global);
goog.exportSymbol('proto.im.Status', null, global);
goog.exportSymbol('proto.im.SystemAddShopRequest', null, global);
goog.exportSymbol('proto.im.SystemAddUserRequest', null, global);
goog.exportSymbol('proto.im.TokenParam', null, global);
goog.exportSymbol('proto.im.UserGetColumnListReply', null, global);
goog.exportSymbol('proto.im.UserGetColumnListRequest', null, global);
goog.exportSymbol('proto.im.UserGetInfoRequest', null, global);
goog.exportSymbol('proto.im.UserInfo', null, global);
goog.exportSymbol('proto.im.UserListReply', null, global);
goog.exportSymbol('proto.im.UserListRequest', null, global);
goog.exportSymbol('proto.im.UserRolesRequest', 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.im.DefaultRequest = function (opt_data) {
    jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.im.DefaultRequest, jspb.Message);
if (goog.DEBUG && !COMPILED) {
    /**
     * @public
     * @override
     */
    proto.im.DefaultRequest.displayName = 'proto.im.DefaultRequest';
}
/**
 * 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.im.TokenParam = function (opt_data) {
    jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.im.TokenParam, jspb.Message);
if (goog.DEBUG && !COMPILED) {
    /**
     * @public
     * @override
     */
    proto.im.TokenParam.displayName = 'proto.im.TokenParam';
}
/**
 * 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.im.DefaultReply = function (opt_data) {
    jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.im.DefaultReply, jspb.Message);
if (goog.DEBUG && !COMPILED) {
    /**
     * @public
     * @override
     */
    proto.im.DefaultReply.displayName = 'proto.im.DefaultReply';
}
/**
 * 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.im.SignUpReply = function (opt_data) {
    jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.im.SignUpReply, jspb.Message);
if (goog.DEBUG && !COMPILED) {
    /**
     * @public
     * @override
     */
    proto.im.SignUpReply.displayName = 'proto.im.SignUpReply';
}
/**
 * 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.im.SignInPasswordRequest = function (opt_data) {
    jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.im.SignInPasswordRequest, jspb.Message);
if (goog.DEBUG && !COMPILED) {
    /**
     * @public
     * @override
     */
    proto.im.SignInPasswordRequest.displayName = 'proto.im.SignInPasswordRequest';
}
/**
 * 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.im.SignUpRequest = function (opt_data) {
    jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.im.SignUpRequest, jspb.Message);
if (goog.DEBUG && !COMPILED) {
    /**
     * @public
     * @override
     */
    proto.im.SignUpRequest.displayName = 'proto.im.SignUpRequest';
}
/**
 * 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.im.UserInfo = function (opt_data) {
    jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.im.UserInfo, jspb.Message);
if (goog.DEBUG && !COMPILED) {
    /**
     * @public
     * @override
     */
    proto.im.UserInfo.displayName = 'proto.im.UserInfo';
}
/**
 * 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.im.CreateReply = function (opt_data) {
    jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.im.CreateReply, jspb.Message);
if (goog.DEBUG && !COMPILED) {
    /**
     * @public
     * @override
     */
    proto.im.CreateReply.displayName = 'proto.im.CreateReply';
}
/**
 * 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.im.PermissionCheck = function (opt_data) {
    jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.im.PermissionCheck, jspb.Message);
if (goog.DEBUG && !COMPILED) {
    /**
     * @public
     * @override
     */
    proto.im.PermissionCheck.displayName = 'proto.im.PermissionCheck';
}
/**
 * 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.im.SessionCheckReply = function (opt_data) {
    jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.im.SessionCheckReply, jspb.Message);
if (goog.DEBUG && !COMPILED) {
    /**
     * @public
     * @override
     */
    proto.im.SessionCheckReply.displayName = 'proto.im.SessionCheckReply';
}
/**
 * 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.im.Service = function (opt_data) {
    jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.im.Service, jspb.Message);
if (goog.DEBUG && !COMPILED) {
    /**
     * @public
     * @override
     */
    proto.im.Service.displayName = 'proto.im.Service';
}
/**
 * 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.im.SaveServiceListRequest = function (opt_data) {
    jspb.Message.initialize(this, opt_data, 0, -1, proto.im.SaveServiceListRequest.repeatedFields_, null);
};
goog.inherits(proto.im.SaveServiceListRequest, jspb.Message);
if (goog.DEBUG && !COMPILED) {
    /**
     * @public
     * @override
     */
    proto.im.SaveServiceListRequest.displayName = 'proto.im.SaveServiceListRequest';
}
/**
 * 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.im.CreateSystemRequest = function (opt_data) {
    jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.im.CreateSystemRequest, jspb.Message);
if (goog.DEBUG && !COMPILED) {
    /**
     * @public
     * @override
     */
    proto.im.CreateSystemRequest.displayName = 'proto.im.CreateSystemRequest';
}
/**
 * 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.im.UserGetColumnListRequest = function (opt_data) {
    jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.im.UserGetColumnListRequest, jspb.Message);
if (goog.DEBUG && !COMPILED) {
    /**
     * @public
     * @override
     */
    proto.im.UserGetColumnListRequest.displayName = 'proto.im.UserGetColumnListRequest';
}
/**
 * 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.im.Column = function (opt_data) {
    jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.im.Column, jspb.Message);
if (goog.DEBUG && !COMPILED) {
    /**
     * @public
     * @override
     */
    proto.im.Column.displayName = 'proto.im.Column';
}
/**
 * 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.im.UserGetColumnListReply = function (opt_data) {
    jspb.Message.initialize(this, opt_data, 0, -1, proto.im.UserGetColumnListReply.repeatedFields_, null);
};
goog.inherits(proto.im.UserGetColumnListReply, jspb.Message);
if (goog.DEBUG && !COMPILED) {
    /**
     * @public
     * @override
     */
    proto.im.UserGetColumnListReply.displayName = 'proto.im.UserGetColumnListReply';
}
/**
 * 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.im.CreateRoleRequest = function (opt_data) {
    jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.im.CreateRoleRequest, jspb.Message);
if (goog.DEBUG && !COMPILED) {
    /**
     * @public
     * @override
     */
    proto.im.CreateRoleRequest.displayName = 'proto.im.CreateRoleRequest';
}
/**
 * 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.im.Role = function (opt_data) {
    jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.im.Role, jspb.Message);
if (goog.DEBUG && !COMPILED) {
    /**
     * @public
     * @override
     */
    proto.im.Role.displayName = 'proto.im.Role';
}
/**
 * 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.im.RoleListRequest = function (opt_data) {
    jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.im.RoleListRequest, jspb.Message);
if (goog.DEBUG && !COMPILED) {
    /**
     * @public
     * @override
     */
    proto.im.RoleListRequest.displayName = 'proto.im.RoleListRequest';
}
/**
 * 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.im.UserListRequest = function (opt_data) {
    jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.im.UserListRequest, jspb.Message);
if (goog.DEBUG && !COMPILED) {
    /**
     * @public
     * @override
     */
    proto.im.UserListRequest.displayName = 'proto.im.UserListRequest';
}
/**
 * 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.im.UserListReply = function (opt_data) {
    jspb.Message.initialize(this, opt_data, 0, -1, proto.im.UserListReply.repeatedFields_, null);
};
goog.inherits(proto.im.UserListReply, jspb.Message);
if (goog.DEBUG && !COMPILED) {
    /**
     * @public
     * @override
     */
    proto.im.UserListReply.displayName = 'proto.im.UserListReply';
}
/**
 * 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.im.UserGetInfoRequest = function (opt_data) {
    jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.im.UserGetInfoRequest, jspb.Message);
if (goog.DEBUG && !COMPILED) {
    /**
     * @public
     * @override
     */
    proto.im.UserGetInfoRequest.displayName = 'proto.im.UserGetInfoRequest';
}
/**
 * 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.im.UserRolesRequest = function (opt_data) {
    jspb.Message.initialize(this, opt_data, 0, -1, proto.im.UserRolesRequest.repeatedFields_, null);
};
goog.inherits(proto.im.UserRolesRequest, jspb.Message);
if (goog.DEBUG && !COMPILED) {
    /**
     * @public
     * @override
     */
    proto.im.UserRolesRequest.displayName = 'proto.im.UserRolesRequest';
}
/**
 * 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.im.RoleListReply = function (opt_data) {
    jspb.Message.initialize(this, opt_data, 0, -1, proto.im.RoleListReply.repeatedFields_, null);
};
goog.inherits(proto.im.RoleListReply, jspb.Message);
if (goog.DEBUG && !COMPILED) {
    /**
     * @public
     * @override
     */
    proto.im.RoleListReply.displayName = 'proto.im.RoleListReply';
}
/**
 * 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.im.RolePermissionRequest = function (opt_data) {
    jspb.Message.initialize(this, opt_data, 0, -1, proto.im.RolePermissionRequest.repeatedFields_, null);
};
goog.inherits(proto.im.RolePermissionRequest, jspb.Message);
if (goog.DEBUG && !COMPILED) {
    /**
     * @public
     * @override
     */
    proto.im.RolePermissionRequest.displayName = 'proto.im.RolePermissionRequest';
}
/**
 * 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.im.ServiceListRequest = function (opt_data) {
    jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.im.ServiceListRequest, jspb.Message);
if (goog.DEBUG && !COMPILED) {
    /**
     * @public
     * @override
     */
    proto.im.ServiceListRequest.displayName = 'proto.im.ServiceListRequest';
}
/**
 * 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.im.ServiceListReply = function (opt_data) {
    jspb.Message.initialize(this, opt_data, 0, -1, proto.im.ServiceListReply.repeatedFields_, null);
};
goog.inherits(proto.im.ServiceListReply, jspb.Message);
if (goog.DEBUG && !COMPILED) {
    /**
     * @public
     * @override
     */
    proto.im.ServiceListReply.displayName = 'proto.im.ServiceListReply';
}
/**
 * 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.im.ServiceRemoveRequest = function (opt_data) {
    jspb.Message.initialize(this, opt_data, 0, -1, proto.im.ServiceRemoveRequest.repeatedFields_, null);
};
goog.inherits(proto.im.ServiceRemoveRequest, jspb.Message);
if (goog.DEBUG && !COMPILED) {
    /**
     * @public
     * @override
     */
    proto.im.ServiceRemoveRequest.displayName = 'proto.im.ServiceRemoveRequest';
}
/**
 * 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.im.CreateShopRequest = function (opt_data) {
    jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.im.CreateShopRequest, jspb.Message);
if (goog.DEBUG && !COMPILED) {
    /**
     * @public
     * @override
     */
    proto.im.CreateShopRequest.displayName = 'proto.im.CreateShopRequest';
}
/**
 * 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.im.ShopListRequest = function (opt_data) {
    jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.im.ShopListRequest, jspb.Message);
if (goog.DEBUG && !COMPILED) {
    /**
     * @public
     * @override
     */
    proto.im.ShopListRequest.displayName = 'proto.im.ShopListRequest';
}
/**
 * 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.im.ShopInfo = function (opt_data) {
    jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.im.ShopInfo, jspb.Message);
if (goog.DEBUG && !COMPILED) {
    /**
     * @public
     * @override
     */
    proto.im.ShopInfo.displayName = 'proto.im.ShopInfo';
}
/**
 * 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.im.ShopListReply = function (opt_data) {
    jspb.Message.initialize(this, opt_data, 0, -1, proto.im.ShopListReply.repeatedFields_, null);
};
goog.inherits(proto.im.ShopListReply, jspb.Message);
if (goog.DEBUG && !COMPILED) {
    /**
     * @public
     * @override
     */
    proto.im.ShopListReply.displayName = 'proto.im.ShopListReply';
}
/**
 * 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.im.SystemAddShopRequest = function (opt_data) {
    jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.im.SystemAddShopRequest, jspb.Message);
if (goog.DEBUG && !COMPILED) {
    /**
     * @public
     * @override
     */
    proto.im.SystemAddShopRequest.displayName = 'proto.im.SystemAddShopRequest';
}
/**
 * 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.im.SystemAddUserRequest = function (opt_data) {
    jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.im.SystemAddUserRequest, jspb.Message);
if (goog.DEBUG && !COMPILED) {
    /**
     * @public
     * @override
     */
    proto.im.SystemAddUserRequest.displayName = 'proto.im.SystemAddUserRequest';
}
/**
 * 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.im.Message = function (opt_data) {
    jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.im.Message, jspb.Message);
if (goog.DEBUG && !COMPILED) {
    /**
     * @public
     * @override
     */
    proto.im.Message.displayName = 'proto.im.Message';
}


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.im.DefaultRequest.prototype.toObject = function (opt_includeInstance) {
        return proto.im.DefaultRequest.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.im.DefaultRequest} msg The msg instance to transform.
     * @return {!Object}
     * @suppress {unusedLocalVariables} f is only used for nested messages
     */
    proto.im.DefaultRequest.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.im.DefaultRequest}
 */
proto.im.DefaultRequest.deserializeBinary = function (bytes) {
    var reader = new jspb.BinaryReader(bytes);
    var msg = new proto.im.DefaultRequest;
    return proto.im.DefaultRequest.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.im.DefaultRequest} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.im.DefaultRequest}
 */
proto.im.DefaultRequest.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.im.DefaultRequest.prototype.serializeBinary = function () {
    var writer = new jspb.BinaryWriter();
    proto.im.DefaultRequest.serializeBinaryToWriter(this, writer);
    return writer.getResultBuffer();
};


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.im.DefaultRequest} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.im.DefaultRequest.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.im.TokenParam.prototype.toObject = function (opt_includeInstance) {
        return proto.im.TokenParam.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.im.TokenParam} msg The msg instance to transform.
     * @return {!Object}
     * @suppress {unusedLocalVariables} f is only used for nested messages
     */
    proto.im.TokenParam.toObject = function (includeInstance, msg) {
        var f, obj = {
            token: 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.im.TokenParam}
 */
proto.im.TokenParam.deserializeBinary = function (bytes) {
    var reader = new jspb.BinaryReader(bytes);
    var msg = new proto.im.TokenParam;
    return proto.im.TokenParam.deserializeBinaryFromReader(msg, reader);
};


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


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


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


/**
 * optional string token = 1;
 * @return {string}
 */
proto.im.TokenParam.prototype.getToken = function () {
    return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
};


/**
 * @param {string} value
 * @return {!proto.im.TokenParam} returns this
 */
proto.im.TokenParam.prototype.setToken = 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.im.DefaultReply.prototype.toObject = function (opt_includeInstance) {
        return proto.im.DefaultReply.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.im.DefaultReply} msg The msg instance to transform.
     * @return {!Object}
     * @suppress {unusedLocalVariables} f is only used for nested messages
     */
    proto.im.DefaultReply.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.im.DefaultReply}
 */
proto.im.DefaultReply.deserializeBinary = function (bytes) {
    var reader = new jspb.BinaryReader(bytes);
    var msg = new proto.im.DefaultReply;
    return proto.im.DefaultReply.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.im.DefaultReply} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.im.DefaultReply}
 */
proto.im.DefaultReply.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.im.DefaultReply.prototype.serializeBinary = function () {
    var writer = new jspb.BinaryWriter();
    proto.im.DefaultReply.serializeBinaryToWriter(this, writer);
    return writer.getResultBuffer();
};


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.im.DefaultReply} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.im.DefaultReply.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.im.SignUpReply.prototype.toObject = function (opt_includeInstance) {
        return proto.im.SignUpReply.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.im.SignUpReply} msg The msg instance to transform.
     * @return {!Object}
     * @suppress {unusedLocalVariables} f is only used for nested messages
     */
    proto.im.SignUpReply.toObject = function (includeInstance, msg) {
        var f, obj = {
            userid: 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.im.SignUpReply}
 */
proto.im.SignUpReply.deserializeBinary = function (bytes) {
    var reader = new jspb.BinaryReader(bytes);
    var msg = new proto.im.SignUpReply;
    return proto.im.SignUpReply.deserializeBinaryFromReader(msg, reader);
};


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


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


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


/**
 * optional int64 userId = 1;
 * @return {number}
 */
proto.im.SignUpReply.prototype.getUserid = function () {
    return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));
};


/**
 * @param {number} value
 * @return {!proto.im.SignUpReply} returns this
 */
proto.im.SignUpReply.prototype.setUserid = 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.im.SignInPasswordRequest.prototype.toObject = function (opt_includeInstance) {
        return proto.im.SignInPasswordRequest.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.im.SignInPasswordRequest} msg The msg instance to transform.
     * @return {!Object}
     * @suppress {unusedLocalVariables} f is only used for nested messages
     */
    proto.im.SignInPasswordRequest.toObject = function (includeInstance, msg) {
        var f, obj = {
            auth: jspb.Message.getFieldWithDefault(msg, 1, ""),
            password: jspb.Message.getFieldWithDefault(msg, 2, ""),
            sysid: jspb.Message.getFieldWithDefault(msg, 3, 0),
            expirationsec: jspb.Message.getFieldWithDefault(msg, 4, 0)
        };

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


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


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.im.SignInPasswordRequest} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.im.SignInPasswordRequest}
 */
proto.im.SignInPasswordRequest.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.setAuth(value);
                break;
            case 2:
                var value = /** @type {string} */ (reader.readString());
                msg.setPassword(value);
                break;
            case 3:
                var value = /** @type {number} */ (reader.readInt64());
                msg.setSysid(value);
                break;
            case 4:
                var value = /** @type {number} */ (reader.readInt64());
                msg.setExpirationsec(value);
                break;
            default:
                reader.skipField();
                break;
        }
    }
    return msg;
};


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


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.im.SignInPasswordRequest} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.im.SignInPasswordRequest.serializeBinaryToWriter = function (message, writer) {
    var f = undefined;
    f = message.getAuth();
    if (f.length > 0) {
        writer.writeString(
            1,
            f
        );
    }
    f = message.getPassword();
    if (f.length > 0) {
        writer.writeString(
            2,
            f
        );
    }
    f = message.getSysid();
    if (f !== 0) {
        writer.writeInt64(
            3,
            f
        );
    }
    f = message.getExpirationsec();
    if (f !== 0) {
        writer.writeInt64(
            4,
            f
        );
    }
};


/**
 * optional string auth = 1;
 * @return {string}
 */
proto.im.SignInPasswordRequest.prototype.getAuth = function () {
    return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
};


/**
 * @param {string} value
 * @return {!proto.im.SignInPasswordRequest} returns this
 */
proto.im.SignInPasswordRequest.prototype.setAuth = function (value) {
    return jspb.Message.setProto3StringField(this, 1, value);
};


/**
 * optional string password = 2;
 * @return {string}
 */
proto.im.SignInPasswordRequest.prototype.getPassword = function () {
    return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
};


/**
 * @param {string} value
 * @return {!proto.im.SignInPasswordRequest} returns this
 */
proto.im.SignInPasswordRequest.prototype.setPassword = function (value) {
    return jspb.Message.setProto3StringField(this, 2, value);
};


/**
 * optional int64 sysId = 3;
 * @return {number}
 */
proto.im.SignInPasswordRequest.prototype.getSysid = function () {
    return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 3, 0));
};


/**
 * @param {number} value
 * @return {!proto.im.SignInPasswordRequest} returns this
 */
proto.im.SignInPasswordRequest.prototype.setSysid = function (value) {
    return jspb.Message.setProto3IntField(this, 3, value);
};


/**
 * optional int64 expirationSec = 4;
 * @return {number}
 */
proto.im.SignInPasswordRequest.prototype.getExpirationsec = function () {
    return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 4, 0));
};


/**
 * @param {number} value
 * @return {!proto.im.SignInPasswordRequest} returns this
 */
proto.im.SignInPasswordRequest.prototype.setExpirationsec = function (value) {
    return jspb.Message.setProto3IntField(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.im.SignUpRequest.prototype.toObject = function (opt_includeInstance) {
        return proto.im.SignUpRequest.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.im.SignUpRequest} msg The msg instance to transform.
     * @return {!Object}
     * @suppress {unusedLocalVariables} f is only used for nested messages
     */
    proto.im.SignUpRequest.toObject = function (includeInstance, msg) {
        var f, obj = {
            usercode: jspb.Message.getFieldWithDefault(msg, 1, ""),
            name: jspb.Message.getFieldWithDefault(msg, 2, ""),
            email: jspb.Message.getFieldWithDefault(msg, 3, ""),
            phone: jspb.Message.getFieldWithDefault(msg, 4, ""),
            wxopenid: jspb.Message.getFieldWithDefault(msg, 5, ""),
            qq: jspb.Message.getFieldWithDefault(msg, 6, ""),
            password: jspb.Message.getFieldWithDefault(msg, 7, ""),
            question: jspb.Message.getFieldWithDefault(msg, 8, ""),
            answer: jspb.Message.getFieldWithDefault(msg, 9, ""),
            memo: jspb.Message.getFieldWithDefault(msg, 10, "")
        };

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


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


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.im.SignUpRequest} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.im.SignUpRequest}
 */
proto.im.SignUpRequest.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.setUsercode(value);
                break;
            case 2:
                var value = /** @type {string} */ (reader.readString());
                msg.setName(value);
                break;
            case 3:
                var value = /** @type {string} */ (reader.readString());
                msg.setEmail(value);
                break;
            case 4:
                var value = /** @type {string} */ (reader.readString());
                msg.setPhone(value);
                break;
            case 5:
                var value = /** @type {string} */ (reader.readString());
                msg.setWxopenid(value);
                break;
            case 6:
                var value = /** @type {string} */ (reader.readString());
                msg.setQq(value);
                break;
            case 7:
                var value = /** @type {string} */ (reader.readString());
                msg.setPassword(value);
                break;
            case 8:
                var value = /** @type {string} */ (reader.readString());
                msg.setQuestion(value);
                break;
            case 9:
                var value = /** @type {string} */ (reader.readString());
                msg.setAnswer(value);
                break;
            case 10:
                var value = /** @type {string} */ (reader.readString());
                msg.setMemo(value);
                break;
            default:
                reader.skipField();
                break;
        }
    }
    return msg;
};


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


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.im.SignUpRequest} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.im.SignUpRequest.serializeBinaryToWriter = function (message, writer) {
    var f = undefined;
    f = message.getUsercode();
    if (f.length > 0) {
        writer.writeString(
            1,
            f
        );
    }
    f = message.getName();
    if (f.length > 0) {
        writer.writeString(
            2,
            f
        );
    }
    f = message.getEmail();
    if (f.length > 0) {
        writer.writeString(
            3,
            f
        );
    }
    f = message.getPhone();
    if (f.length > 0) {
        writer.writeString(
            4,
            f
        );
    }
    f = message.getWxopenid();
    if (f.length > 0) {
        writer.writeString(
            5,
            f
        );
    }
    f = message.getQq();
    if (f.length > 0) {
        writer.writeString(
            6,
            f
        );
    }
    f = message.getPassword();
    if (f.length > 0) {
        writer.writeString(
            7,
            f
        );
    }
    f = message.getQuestion();
    if (f.length > 0) {
        writer.writeString(
            8,
            f
        );
    }
    f = message.getAnswer();
    if (f.length > 0) {
        writer.writeString(
            9,
            f
        );
    }
    f = message.getMemo();
    if (f.length > 0) {
        writer.writeString(
            10,
            f
        );
    }
};


/**
 * optional string userCode = 1;
 * @return {string}
 */
proto.im.SignUpRequest.prototype.getUsercode = function () {
    return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
};


/**
 * @param {string} value
 * @return {!proto.im.SignUpRequest} returns this
 */
proto.im.SignUpRequest.prototype.setUsercode = function (value) {
    return jspb.Message.setProto3StringField(this, 1, value);
};


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


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


/**
 * optional string email = 3;
 * @return {string}
 */
proto.im.SignUpRequest.prototype.getEmail = function () {
    return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, ""));
};


/**
 * @param {string} value
 * @return {!proto.im.SignUpRequest} returns this
 */
proto.im.SignUpRequest.prototype.setEmail = function (value) {
    return jspb.Message.setProto3StringField(this, 3, value);
};


/**
 * optional string phone = 4;
 * @return {string}
 */
proto.im.SignUpRequest.prototype.getPhone = function () {
    return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, ""));
};


/**
 * @param {string} value
 * @return {!proto.im.SignUpRequest} returns this
 */
proto.im.SignUpRequest.prototype.setPhone = function (value) {
    return jspb.Message.setProto3StringField(this, 4, value);
};


/**
 * optional string wxOpenId = 5;
 * @return {string}
 */
proto.im.SignUpRequest.prototype.getWxopenid = function () {
    return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 5, ""));
};


/**
 * @param {string} value
 * @return {!proto.im.SignUpRequest} returns this
 */
proto.im.SignUpRequest.prototype.setWxopenid = function (value) {
    return jspb.Message.setProto3StringField(this, 5, value);
};


/**
 * optional string qq = 6;
 * @return {string}
 */
proto.im.SignUpRequest.prototype.getQq = function () {
    return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 6, ""));
};


/**
 * @param {string} value
 * @return {!proto.im.SignUpRequest} returns this
 */
proto.im.SignUpRequest.prototype.setQq = function (value) {
    return jspb.Message.setProto3StringField(this, 6, value);
};


/**
 * optional string password = 7;
 * @return {string}
 */
proto.im.SignUpRequest.prototype.getPassword = function () {
    return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 7, ""));
};


/**
 * @param {string} value
 * @return {!proto.im.SignUpRequest} returns this
 */
proto.im.SignUpRequest.prototype.setPassword = function (value) {
    return jspb.Message.setProto3StringField(this, 7, value);
};


/**
 * optional string question = 8;
 * @return {string}
 */
proto.im.SignUpRequest.prototype.getQuestion = function () {
    return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 8, ""));
};


/**
 * @param {string} value
 * @return {!proto.im.SignUpRequest} returns this
 */
proto.im.SignUpRequest.prototype.setQuestion = function (value) {
    return jspb.Message.setProto3StringField(this, 8, value);
};


/**
 * optional string answer = 9;
 * @return {string}
 */
proto.im.SignUpRequest.prototype.getAnswer = function () {
    return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 9, ""));
};


/**
 * @param {string} value
 * @return {!proto.im.SignUpRequest} returns this
 */
proto.im.SignUpRequest.prototype.setAnswer = function (value) {
    return jspb.Message.setProto3StringField(this, 9, value);
};


/**
 * optional string memo = 10;
 * @return {string}
 */
proto.im.SignUpRequest.prototype.getMemo = function () {
    return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 10, ""));
};


/**
 * @param {string} value
 * @return {!proto.im.SignUpRequest} returns this
 */
proto.im.SignUpRequest.prototype.setMemo = function (value) {
    return jspb.Message.setProto3StringField(this, 10, 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.im.UserInfo.prototype.toObject = function (opt_includeInstance) {
        return proto.im.UserInfo.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.im.UserInfo} msg The msg instance to transform.
     * @return {!Object}
     * @suppress {unusedLocalVariables} f is only used for nested messages
     */
    proto.im.UserInfo.toObject = function (includeInstance, msg) {
        var f, obj = {
            id: jspb.Message.getFieldWithDefault(msg, 1, 0),
            usercode: jspb.Message.getFieldWithDefault(msg, 2, ""),
            name: jspb.Message.getFieldWithDefault(msg, 3, ""),
            email: jspb.Message.getFieldWithDefault(msg, 4, ""),
            phone: jspb.Message.getFieldWithDefault(msg, 5, ""),
            qq: jspb.Message.getFieldWithDefault(msg, 7, ""),
            memo: jspb.Message.getFieldWithDefault(msg, 11, ""),
            status: jspb.Message.getFieldWithDefault(msg, 12, 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.im.UserInfo}
 */
proto.im.UserInfo.deserializeBinary = function (bytes) {
    var reader = new jspb.BinaryReader(bytes);
    var msg = new proto.im.UserInfo;
    return proto.im.UserInfo.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.im.UserInfo} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.im.UserInfo}
 */
proto.im.UserInfo.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.setId(value);
                break;
            case 2:
                var value = /** @type {string} */ (reader.readString());
                msg.setUsercode(value);
                break;
            case 3:
                var value = /** @type {string} */ (reader.readString());
                msg.setName(value);
                break;
            case 4:
                var value = /** @type {string} */ (reader.readString());
                msg.setEmail(value);
                break;
            case 5:
                var value = /** @type {string} */ (reader.readString());
                msg.setPhone(value);
                break;
            case 7:
                var value = /** @type {string} */ (reader.readString());
                msg.setQq(value);
                break;
            case 11:
                var value = /** @type {string} */ (reader.readString());
                msg.setMemo(value);
                break;
            case 12:
                var value = /** @type {!proto.im.Status} */ (reader.readEnum());
                msg.setStatus(value);
                break;
            default:
                reader.skipField();
                break;
        }
    }
    return msg;
};


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


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.im.UserInfo} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.im.UserInfo.serializeBinaryToWriter = function (message, writer) {
    var f = undefined;
    f = message.getId();
    if (f !== 0) {
        writer.writeInt64(
            1,
            f
        );
    }
    f = message.getUsercode();
    if (f.length > 0) {
        writer.writeString(
            2,
            f
        );
    }
    f = message.getName();
    if (f.length > 0) {
        writer.writeString(
            3,
            f
        );
    }
    f = message.getEmail();
    if (f.length > 0) {
        writer.writeString(
            4,
            f
        );
    }
    f = message.getPhone();
    if (f.length > 0) {
        writer.writeString(
            5,
            f
        );
    }
    f = message.getQq();
    if (f.length > 0) {
        writer.writeString(
            7,
            f
        );
    }
    f = message.getMemo();
    if (f.length > 0) {
        writer.writeString(
            11,
            f
        );
    }
    f = message.getStatus();
    if (f !== 0.0) {
        writer.writeEnum(
            12,
            f
        );
    }
};


/**
 * optional int64 id = 1;
 * @return {number}
 */
proto.im.UserInfo.prototype.getId = function () {
    return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));
};


/**
 * @param {number} value
 * @return {!proto.im.UserInfo} returns this
 */
proto.im.UserInfo.prototype.setId = function (value) {
    return jspb.Message.setProto3IntField(this, 1, value);
};


/**
 * optional string userCode = 2;
 * @return {string}
 */
proto.im.UserInfo.prototype.getUsercode = function () {
    return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
};


/**
 * @param {string} value
 * @return {!proto.im.UserInfo} returns this
 */
proto.im.UserInfo.prototype.setUsercode = function (value) {
    return jspb.Message.setProto3StringField(this, 2, value);
};


/**
 * optional string name = 3;
 * @return {string}
 */
proto.im.UserInfo.prototype.getName = function () {
    return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, ""));
};


/**
 * @param {string} value
 * @return {!proto.im.UserInfo} returns this
 */
proto.im.UserInfo.prototype.setName = function (value) {
    return jspb.Message.setProto3StringField(this, 3, value);
};


/**
 * optional string email = 4;
 * @return {string}
 */
proto.im.UserInfo.prototype.getEmail = function () {
    return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, ""));
};


/**
 * @param {string} value
 * @return {!proto.im.UserInfo} returns this
 */
proto.im.UserInfo.prototype.setEmail = function (value) {
    return jspb.Message.setProto3StringField(this, 4, value);
};


/**
 * optional string phone = 5;
 * @return {string}
 */
proto.im.UserInfo.prototype.getPhone = function () {
    return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 5, ""));
};


/**
 * @param {string} value
 * @return {!proto.im.UserInfo} returns this
 */
proto.im.UserInfo.prototype.setPhone = function (value) {
    return jspb.Message.setProto3StringField(this, 5, value);
};


/**
 * optional string qq = 7;
 * @return {string}
 */
proto.im.UserInfo.prototype.getQq = function () {
    return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 7, ""));
};


/**
 * @param {string} value
 * @return {!proto.im.UserInfo} returns this
 */
proto.im.UserInfo.prototype.setQq = function (value) {
    return jspb.Message.setProto3StringField(this, 7, value);
};


/**
 * optional string memo = 11;
 * @return {string}
 */
proto.im.UserInfo.prototype.getMemo = function () {
    return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 11, ""));
};


/**
 * @param {string} value
 * @return {!proto.im.UserInfo} returns this
 */
proto.im.UserInfo.prototype.setMemo = function (value) {
    return jspb.Message.setProto3StringField(this, 11, value);
};


/**
 * optional Status status = 12;
 * @return {!proto.im.Status}
 */
proto.im.UserInfo.prototype.getStatus = function () {
    return /** @type {!proto.im.Status} */ (jspb.Message.getFieldWithDefault(this, 12, 0));
};


/**
 * @param {!proto.im.Status} value
 * @return {!proto.im.UserInfo} returns this
 */
proto.im.UserInfo.prototype.setStatus = function (value) {
    return jspb.Message.setProto3EnumField(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.im.CreateReply.prototype.toObject = function (opt_includeInstance) {
        return proto.im.CreateReply.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.im.CreateReply} msg The msg instance to transform.
     * @return {!Object}
     * @suppress {unusedLocalVariables} f is only used for nested messages
     */
    proto.im.CreateReply.toObject = function (includeInstance, msg) {
        var f, obj = {
            id: 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.im.CreateReply}
 */
proto.im.CreateReply.deserializeBinary = function (bytes) {
    var reader = new jspb.BinaryReader(bytes);
    var msg = new proto.im.CreateReply;
    return proto.im.CreateReply.deserializeBinaryFromReader(msg, reader);
};


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


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


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


/**
 * optional int64 id = 1;
 * @return {number}
 */
proto.im.CreateReply.prototype.getId = function () {
    return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));
};


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


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


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


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


/**
 * optional string token = 1;
 * @return {string}
 */
proto.im.PermissionCheck.prototype.getToken = function () {
    return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
};


/**
 * @param {string} value
 * @return {!proto.im.PermissionCheck} returns this
 */
proto.im.PermissionCheck.prototype.setToken = function (value) {
    return jspb.Message.setProto3StringField(this, 1, value);
};


/**
 * optional string servicePath = 2;
 * @return {string}
 */
proto.im.PermissionCheck.prototype.getServicepath = function () {
    return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
};


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


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


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


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


/**
 * optional int64 userId = 1;
 * @return {number}
 */
proto.im.SessionCheckReply.prototype.getUserid = function () {
    return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));
};


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


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


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


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


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


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


/**
 * optional string memo = 2;
 * @return {string}
 */
proto.im.Service.prototype.getMemo = function () {
    return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
};


/**
 * @param {string} value
 * @return {!proto.im.Service} returns this
 */
proto.im.Service.prototype.setMemo = function (value) {
    return jspb.Message.setProto3StringField(this, 2, value);
};


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


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


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


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


/**
 * repeated Service list = 1;
 * @return {!Array<!proto.im.Service>}
 */
proto.im.SaveServiceListRequest.prototype.getListList = function () {
    return /** @type{!Array<!proto.im.Service>} */ (
        jspb.Message.getRepeatedWrapperField(this, proto.im.Service, 1));
};


/**
 * @param {!Array<!proto.im.Service>} value
 * @return {!proto.im.SaveServiceListRequest} returns this
 */
proto.im.SaveServiceListRequest.prototype.setListList = function (value) {
    return jspb.Message.setRepeatedWrapperField(this, 1, value);
};


/**
 * @param {!proto.im.Service=} opt_value
 * @param {number=} opt_index
 * @return {!proto.im.Service}
 */
proto.im.SaveServiceListRequest.prototype.addList = function (opt_value, opt_index) {
    return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.im.Service, opt_index);
};


/**
 * Clears the list making it empty but non-null.
 * @return {!proto.im.SaveServiceListRequest} returns this
 */
proto.im.SaveServiceListRequest.prototype.clearListList = function () {
    return this.setListList([]);
};


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.im.CreateSystemRequest.prototype.toObject = function (opt_includeInstance) {
        return proto.im.CreateSystemRequest.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.im.CreateSystemRequest} msg The msg instance to transform.
     * @return {!Object}
     * @suppress {unusedLocalVariables} f is only used for nested messages
     */
    proto.im.CreateSystemRequest.toObject = function (includeInstance, msg) {
        var f, obj = {
            fullname: jspb.Message.getFieldWithDefault(msg, 1, ""),
            shortname: jspb.Message.getFieldWithDefault(msg, 2, ""),
            sysurl: jspb.Message.getFieldWithDefault(msg, 3, ""),
            memo: jspb.Message.getFieldWithDefault(msg, 4, "")
        };

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


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


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.im.CreateSystemRequest} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.im.CreateSystemRequest}
 */
proto.im.CreateSystemRequest.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.setFullname(value);
                break;
            case 2:
                var value = /** @type {string} */ (reader.readString());
                msg.setShortname(value);
                break;
            case 3:
                var value = /** @type {string} */ (reader.readString());
                msg.setSysurl(value);
                break;
            case 4:
                var value = /** @type {string} */ (reader.readString());
                msg.setMemo(value);
                break;
            default:
                reader.skipField();
                break;
        }
    }
    return msg;
};


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


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.im.CreateSystemRequest} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.im.CreateSystemRequest.serializeBinaryToWriter = function (message, writer) {
    var f = undefined;
    f = message.getFullname();
    if (f.length > 0) {
        writer.writeString(
            1,
            f
        );
    }
    f = message.getShortname();
    if (f.length > 0) {
        writer.writeString(
            2,
            f
        );
    }
    f = message.getSysurl();
    if (f.length > 0) {
        writer.writeString(
            3,
            f
        );
    }
    f = message.getMemo();
    if (f.length > 0) {
        writer.writeString(
            4,
            f
        );
    }
};


/**
 * optional string fullName = 1;
 * @return {string}
 */
proto.im.CreateSystemRequest.prototype.getFullname = function () {
    return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
};


/**
 * @param {string} value
 * @return {!proto.im.CreateSystemRequest} returns this
 */
proto.im.CreateSystemRequest.prototype.setFullname = function (value) {
    return jspb.Message.setProto3StringField(this, 1, value);
};


/**
 * optional string shortname = 2;
 * @return {string}
 */
proto.im.CreateSystemRequest.prototype.getShortname = function () {
    return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
};


/**
 * @param {string} value
 * @return {!proto.im.CreateSystemRequest} returns this
 */
proto.im.CreateSystemRequest.prototype.setShortname = function (value) {
    return jspb.Message.setProto3StringField(this, 2, value);
};


/**
 * optional string sysUrl = 3;
 * @return {string}
 */
proto.im.CreateSystemRequest.prototype.getSysurl = function () {
    return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, ""));
};


/**
 * @param {string} value
 * @return {!proto.im.CreateSystemRequest} returns this
 */
proto.im.CreateSystemRequest.prototype.setSysurl = function (value) {
    return jspb.Message.setProto3StringField(this, 3, value);
};


/**
 * optional string memo = 4;
 * @return {string}
 */
proto.im.CreateSystemRequest.prototype.getMemo = function () {
    return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, ""));
};


/**
 * @param {string} value
 * @return {!proto.im.CreateSystemRequest} returns this
 */
proto.im.CreateSystemRequest.prototype.setMemo = function (value) {
    return jspb.Message.setProto3StringField(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.im.UserGetColumnListRequest.prototype.toObject = function (opt_includeInstance) {
        return proto.im.UserGetColumnListRequest.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.im.UserGetColumnListRequest} msg The msg instance to transform.
     * @return {!Object}
     * @suppress {unusedLocalVariables} f is only used for nested messages
     */
    proto.im.UserGetColumnListRequest.toObject = function (includeInstance, msg) {
        var f, obj = {
            userid: jspb.Message.getFieldWithDefault(msg, 1, 0),
            parentid: jspb.Message.getFieldWithDefault(msg, 2, 0),
            sysid: jspb.Message.getFieldWithDefault(msg, 3, 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.im.UserGetColumnListRequest}
 */
proto.im.UserGetColumnListRequest.deserializeBinary = function (bytes) {
    var reader = new jspb.BinaryReader(bytes);
    var msg = new proto.im.UserGetColumnListRequest;
    return proto.im.UserGetColumnListRequest.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.im.UserGetColumnListRequest} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.im.UserGetColumnListRequest}
 */
proto.im.UserGetColumnListRequest.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.setUserid(value);
                break;
            case 2:
                var value = /** @type {number} */ (reader.readInt32());
                msg.setParentid(value);
                break;
            case 3:
                var value = /** @type {number} */ (reader.readInt64());
                msg.setSysid(value);
                break;
            default:
                reader.skipField();
                break;
        }
    }
    return msg;
};


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


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.im.UserGetColumnListRequest} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.im.UserGetColumnListRequest.serializeBinaryToWriter = function (message, writer) {
    var f = undefined;
    f = message.getUserid();
    if (f !== 0) {
        writer.writeInt64(
            1,
            f
        );
    }
    f = message.getParentid();
    if (f !== 0) {
        writer.writeInt32(
            2,
            f
        );
    }
    f = message.getSysid();
    if (f !== 0) {
        writer.writeInt64(
            3,
            f
        );
    }
};


/**
 * optional int64 userId = 1;
 * @return {number}
 */
proto.im.UserGetColumnListRequest.prototype.getUserid = function () {
    return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));
};


/**
 * @param {number} value
 * @return {!proto.im.UserGetColumnListRequest} returns this
 */
proto.im.UserGetColumnListRequest.prototype.setUserid = function (value) {
    return jspb.Message.setProto3IntField(this, 1, value);
};


/**
 * optional int32 parentId = 2;
 * @return {number}
 */
proto.im.UserGetColumnListRequest.prototype.getParentid = function () {
    return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));
};


/**
 * @param {number} value
 * @return {!proto.im.UserGetColumnListRequest} returns this
 */
proto.im.UserGetColumnListRequest.prototype.setParentid = function (value) {
    return jspb.Message.setProto3IntField(this, 2, value);
};


/**
 * optional int64 sysId = 3;
 * @return {number}
 */
proto.im.UserGetColumnListRequest.prototype.getSysid = function () {
    return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 3, 0));
};


/**
 * @param {number} value
 * @return {!proto.im.UserGetColumnListRequest} returns this
 */
proto.im.UserGetColumnListRequest.prototype.setSysid = function (value) {
    return jspb.Message.setProto3IntField(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.im.Column.prototype.toObject = function (opt_includeInstance) {
        return proto.im.Column.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.im.Column} msg The msg instance to transform.
     * @return {!Object}
     * @suppress {unusedLocalVariables} f is only used for nested messages
     */
    proto.im.Column.toObject = function (includeInstance, msg) {
        var f, obj = {
            name: jspb.Message.getFieldWithDefault(msg, 1, ""),
            url: jspb.Message.getFieldWithDefault(msg, 2, ""),
            code: jspb.Message.getFieldWithDefault(msg, 3, ""),
            sn: jspb.Message.getFieldWithDefault(msg, 4, 0),
            status: jspb.Message.getFieldWithDefault(msg, 5, 0),
            navshow: jspb.Message.getBooleanFieldWithDefault(msg, 6, false),
            id: jspb.Message.getFieldWithDefault(msg, 7, 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.im.Column}
 */
proto.im.Column.deserializeBinary = function (bytes) {
    var reader = new jspb.BinaryReader(bytes);
    var msg = new proto.im.Column;
    return proto.im.Column.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.im.Column} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.im.Column}
 */
proto.im.Column.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.setUrl(value);
                break;
            case 3:
                var value = /** @type {string} */ (reader.readString());
                msg.setCode(value);
                break;
            case 4:
                var value = /** @type {number} */ (reader.readInt32());
                msg.setSn(value);
                break;
            case 5:
                var value = /** @type {!proto.im.Status} */ (reader.readEnum());
                msg.setStatus(value);
                break;
            case 6:
                var value = /** @type {boolean} */ (reader.readBool());
                msg.setNavshow(value);
                break;
            case 7:
                var value = /** @type {number} */ (reader.readInt64());
                msg.setId(value);
                break;
            default:
                reader.skipField();
                break;
        }
    }
    return msg;
};


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


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.im.Column} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.im.Column.serializeBinaryToWriter = function (message, writer) {
    var f = undefined;
    f = message.getName();
    if (f.length > 0) {
        writer.writeString(
            1,
            f
        );
    }
    f = message.getUrl();
    if (f.length > 0) {
        writer.writeString(
            2,
            f
        );
    }
    f = message.getCode();
    if (f.length > 0) {
        writer.writeString(
            3,
            f
        );
    }
    f = message.getSn();
    if (f !== 0) {
        writer.writeInt32(
            4,
            f
        );
    }
    f = message.getStatus();
    if (f !== 0.0) {
        writer.writeEnum(
            5,
            f
        );
    }
    f = message.getNavshow();
    if (f) {
        writer.writeBool(
            6,
            f
        );
    }
    f = message.getId();
    if (f !== 0) {
        writer.writeInt64(
            7,
            f
        );
    }
};


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


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


/**
 * optional string url = 2;
 * @return {string}
 */
proto.im.Column.prototype.getUrl = function () {
    return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
};


/**
 * @param {string} value
 * @return {!proto.im.Column} returns this
 */
proto.im.Column.prototype.setUrl = function (value) {
    return jspb.Message.setProto3StringField(this, 2, value);
};


/**
 * optional string code = 3;
 * @return {string}
 */
proto.im.Column.prototype.getCode = function () {
    return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, ""));
};


/**
 * @param {string} value
 * @return {!proto.im.Column} returns this
 */
proto.im.Column.prototype.setCode = function (value) {
    return jspb.Message.setProto3StringField(this, 3, value);
};


/**
 * optional int32 sn = 4;
 * @return {number}
 */
proto.im.Column.prototype.getSn = function () {
    return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 4, 0));
};


/**
 * @param {number} value
 * @return {!proto.im.Column} returns this
 */
proto.im.Column.prototype.setSn = function (value) {
    return jspb.Message.setProto3IntField(this, 4, value);
};


/**
 * optional Status status = 5;
 * @return {!proto.im.Status}
 */
proto.im.Column.prototype.getStatus = function () {
    return /** @type {!proto.im.Status} */ (jspb.Message.getFieldWithDefault(this, 5, 0));
};


/**
 * @param {!proto.im.Status} value
 * @return {!proto.im.Column} returns this
 */
proto.im.Column.prototype.setStatus = function (value) {
    return jspb.Message.setProto3EnumField(this, 5, value);
};


/**
 * optional bool navShow = 6;
 * @return {boolean}
 */
proto.im.Column.prototype.getNavshow = function () {
    return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 6, false));
};


/**
 * @param {boolean} value
 * @return {!proto.im.Column} returns this
 */
proto.im.Column.prototype.setNavshow = function (value) {
    return jspb.Message.setProto3BooleanField(this, 6, value);
};


/**
 * optional int64 id = 7;
 * @return {number}
 */
proto.im.Column.prototype.getId = function () {
    return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 7, 0));
};


/**
 * @param {number} value
 * @return {!proto.im.Column} returns this
 */
proto.im.Column.prototype.setId = function (value) {
    return jspb.Message.setProto3IntField(this, 7, value);
};


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


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


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


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


/**
 * repeated Column list = 1;
 * @return {!Array<!proto.im.Column>}
 */
proto.im.UserGetColumnListReply.prototype.getListList = function () {
    return /** @type{!Array<!proto.im.Column>} */ (
        jspb.Message.getRepeatedWrapperField(this, proto.im.Column, 1));
};


/**
 * @param {!Array<!proto.im.Column>} value
 * @return {!proto.im.UserGetColumnListReply} returns this
 */
proto.im.UserGetColumnListReply.prototype.setListList = function (value) {
    return jspb.Message.setRepeatedWrapperField(this, 1, value);
};


/**
 * @param {!proto.im.Column=} opt_value
 * @param {number=} opt_index
 * @return {!proto.im.Column}
 */
proto.im.UserGetColumnListReply.prototype.addList = function (opt_value, opt_index) {
    return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.im.Column, opt_index);
};


/**
 * Clears the list making it empty but non-null.
 * @return {!proto.im.UserGetColumnListReply} returns this
 */
proto.im.UserGetColumnListReply.prototype.clearListList = function () {
    return this.setListList([]);
};


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


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


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


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


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


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


/**
 * optional string memo = 2;
 * @return {string}
 */
proto.im.CreateRoleRequest.prototype.getMemo = function () {
    return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
};


/**
 * @param {string} value
 * @return {!proto.im.CreateRoleRequest} returns this
 */
proto.im.CreateRoleRequest.prototype.setMemo = 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.im.Role.prototype.toObject = function (opt_includeInstance) {
        return proto.im.Role.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.im.Role} msg The msg instance to transform.
     * @return {!Object}
     * @suppress {unusedLocalVariables} f is only used for nested messages
     */
    proto.im.Role.toObject = function (includeInstance, msg) {
        var f, obj = {
            id: jspb.Message.getFieldWithDefault(msg, 1, 0),
            name: jspb.Message.getFieldWithDefault(msg, 2, ""),
            memo: jspb.Message.getFieldWithDefault(msg, 3, ""),
            status: jspb.Message.getFieldWithDefault(msg, 4, 0),
            systemname: jspb.Message.getFieldWithDefault(msg, 5, "")
        };

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


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


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.im.Role} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.im.Role}
 */
proto.im.Role.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.setId(value);
                break;
            case 2:
                var value = /** @type {string} */ (reader.readString());
                msg.setName(value);
                break;
            case 3:
                var value = /** @type {string} */ (reader.readString());
                msg.setMemo(value);
                break;
            case 4:
                var value = /** @type {!proto.im.Status} */ (reader.readEnum());
                msg.setStatus(value);
                break;
            case 5:
                var value = /** @type {string} */ (reader.readString());
                msg.setSystemname(value);
                break;
            default:
                reader.skipField();
                break;
        }
    }
    return msg;
};


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


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.im.Role} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.im.Role.serializeBinaryToWriter = function (message, writer) {
    var f = undefined;
    f = message.getId();
    if (f !== 0) {
        writer.writeInt64(
            1,
            f
        );
    }
    f = message.getName();
    if (f.length > 0) {
        writer.writeString(
            2,
            f
        );
    }
    f = message.getMemo();
    if (f.length > 0) {
        writer.writeString(
            3,
            f
        );
    }
    f = message.getStatus();
    if (f !== 0.0) {
        writer.writeEnum(
            4,
            f
        );
    }
    f = message.getSystemname();
    if (f.length > 0) {
        writer.writeString(
            5,
            f
        );
    }
};


/**
 * optional int64 id = 1;
 * @return {number}
 */
proto.im.Role.prototype.getId = function () {
    return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));
};


/**
 * @param {number} value
 * @return {!proto.im.Role} returns this
 */
proto.im.Role.prototype.setId = function (value) {
    return jspb.Message.setProto3IntField(this, 1, value);
};


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


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


/**
 * optional string memo = 3;
 * @return {string}
 */
proto.im.Role.prototype.getMemo = function () {
    return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, ""));
};


/**
 * @param {string} value
 * @return {!proto.im.Role} returns this
 */
proto.im.Role.prototype.setMemo = function (value) {
    return jspb.Message.setProto3StringField(this, 3, value);
};


/**
 * optional Status status = 4;
 * @return {!proto.im.Status}
 */
proto.im.Role.prototype.getStatus = function () {
    return /** @type {!proto.im.Status} */ (jspb.Message.getFieldWithDefault(this, 4, 0));
};


/**
 * @param {!proto.im.Status} value
 * @return {!proto.im.Role} returns this
 */
proto.im.Role.prototype.setStatus = function (value) {
    return jspb.Message.setProto3EnumField(this, 4, value);
};


/**
 * optional string systemName = 5;
 * @return {string}
 */
proto.im.Role.prototype.getSystemname = function () {
    return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 5, ""));
};


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


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.im.RoleListRequest} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.im.RoleListRequest}
 */
proto.im.RoleListRequest.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.setUserid(value);
                break;
            case 2:
                var value = /** @type {number} */ (reader.readInt64());
                msg.setSysid(value);
                break;
            default:
                reader.skipField();
                break;
        }
    }
    return msg;
};


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


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


/**
 * optional int64 userId = 1;
 * @return {number}
 */
proto.im.RoleListRequest.prototype.getUserid = function () {
    return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));
};


/**
 * @param {number} value
 * @return {!proto.im.RoleListRequest} returns this
 */
proto.im.RoleListRequest.prototype.setUserid = function (value) {
    return jspb.Message.setProto3IntField(this, 1, value);
};


/**
 * optional int64 sysId = 2;
 * @return {number}
 */
proto.im.RoleListRequest.prototype.getSysid = function () {
    return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));
};


/**
 * @param {number} value
 * @return {!proto.im.RoleListRequest} returns this
 */
proto.im.RoleListRequest.prototype.setSysid = 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.im.UserListRequest.prototype.toObject = function (opt_includeInstance) {
        return proto.im.UserListRequest.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.im.UserListRequest} msg The msg instance to transform.
     * @return {!Object}
     * @suppress {unusedLocalVariables} f is only used for nested messages
     */
    proto.im.UserListRequest.toObject = function (includeInstance, msg) {
        var f, obj = {
            roleid: jspb.Message.getFieldWithDefault(msg, 1, 0),
            status: jspb.Message.getFieldWithDefault(msg, 2, 0),
            name: jspb.Message.getFieldWithDefault(msg, 3, ""),
            lcstypeid: jspb.Message.getFieldWithDefault(msg, 4, 0),
            sysid: jspb.Message.getFieldWithDefault(msg, 5, 0)
        };

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


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


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.im.UserListRequest} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.im.UserListRequest}
 */
proto.im.UserListRequest.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.setRoleid(value);
                break;
            case 2:
                var value = /** @type {!proto.im.Status} */ (reader.readEnum());
                msg.setStatus(value);
                break;
            case 3:
                var value = /** @type {string} */ (reader.readString());
                msg.setName(value);
                break;
            case 4:
                var value = /** @type {number} */ (reader.readInt64());
                msg.setLcstypeid(value);
                break;
            case 5:
                var value = /** @type {number} */ (reader.readInt64());
                msg.setSysid(value);
                break;
            default:
                reader.skipField();
                break;
        }
    }
    return msg;
};


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


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.im.UserListRequest} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.im.UserListRequest.serializeBinaryToWriter = function (message, writer) {
    var f = undefined;
    f = message.getRoleid();
    if (f !== 0) {
        writer.writeInt64(
            1,
            f
        );
    }
    f = message.getStatus();
    if (f !== 0.0) {
        writer.writeEnum(
            2,
            f
        );
    }
    f = message.getName();
    if (f.length > 0) {
        writer.writeString(
            3,
            f
        );
    }
    f = message.getLcstypeid();
    if (f !== 0) {
        writer.writeInt64(
            4,
            f
        );
    }
    f = message.getSysid();
    if (f !== 0) {
        writer.writeInt64(
            5,
            f
        );
    }
};


/**
 * optional int64 roleId = 1;
 * @return {number}
 */
proto.im.UserListRequest.prototype.getRoleid = function () {
    return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));
};


/**
 * @param {number} value
 * @return {!proto.im.UserListRequest} returns this
 */
proto.im.UserListRequest.prototype.setRoleid = function (value) {
    return jspb.Message.setProto3IntField(this, 1, value);
};


/**
 * optional Status status = 2;
 * @return {!proto.im.Status}
 */
proto.im.UserListRequest.prototype.getStatus = function () {
    return /** @type {!proto.im.Status} */ (jspb.Message.getFieldWithDefault(this, 2, 0));
};


/**
 * @param {!proto.im.Status} value
 * @return {!proto.im.UserListRequest} returns this
 */
proto.im.UserListRequest.prototype.setStatus = function (value) {
    return jspb.Message.setProto3EnumField(this, 2, value);
};


/**
 * optional string name = 3;
 * @return {string}
 */
proto.im.UserListRequest.prototype.getName = function () {
    return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, ""));
};


/**
 * @param {string} value
 * @return {!proto.im.UserListRequest} returns this
 */
proto.im.UserListRequest.prototype.setName = function (value) {
    return jspb.Message.setProto3StringField(this, 3, value);
};


/**
 * optional int64 lcstypeid = 4;
 * @return {number}
 */
proto.im.UserListRequest.prototype.getLcstypeid = function () {
    return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 4, 0));
};


/**
 * @param {number} value
 * @return {!proto.im.UserListRequest} returns this
 */
proto.im.UserListRequest.prototype.setLcstypeid = function (value) {
    return jspb.Message.setProto3IntField(this, 4, value);
};


/**
 * optional int64 sysId = 5;
 * @return {number}
 */
proto.im.UserListRequest.prototype.getSysid = function () {
    return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 5, 0));
};


/**
 * @param {number} value
 * @return {!proto.im.UserListRequest} returns this
 */
proto.im.UserListRequest.prototype.setSysid = function (value) {
    return jspb.Message.setProto3IntField(this, 5, value);
};


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


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


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


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


/**
 * repeated UserInfo list = 1;
 * @return {!Array<!proto.im.UserInfo>}
 */
proto.im.UserListReply.prototype.getListList = function () {
    return /** @type{!Array<!proto.im.UserInfo>} */ (
        jspb.Message.getRepeatedWrapperField(this, proto.im.UserInfo, 1));
};


/**
 * @param {!Array<!proto.im.UserInfo>} value
 * @return {!proto.im.UserListReply} returns this
 */
proto.im.UserListReply.prototype.setListList = function (value) {
    return jspb.Message.setRepeatedWrapperField(this, 1, value);
};


/**
 * @param {!proto.im.UserInfo=} opt_value
 * @param {number=} opt_index
 * @return {!proto.im.UserInfo}
 */
proto.im.UserListReply.prototype.addList = function (opt_value, opt_index) {
    return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.im.UserInfo, opt_index);
};


/**
 * Clears the list making it empty but non-null.
 * @return {!proto.im.UserListReply} returns this
 */
proto.im.UserListReply.prototype.clearListList = function () {
    return this.setListList([]);
};


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


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


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


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


/**
 * optional int64 userId = 1;
 * @return {number}
 */
proto.im.UserGetInfoRequest.prototype.getUserid = function () {
    return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));
};


/**
 * @param {number} value
 * @return {!proto.im.UserGetInfoRequest} returns this
 */
proto.im.UserGetInfoRequest.prototype.setUserid = function (value) {
    return jspb.Message.setProto3IntField(this, 1, value);
};


/**
 * List of repeated fields within this message type.
 * @private {!Array<number>}
 * @const
 */
proto.im.UserRolesRequest.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.im.UserRolesRequest.prototype.toObject = function (opt_includeInstance) {
        return proto.im.UserRolesRequest.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.im.UserRolesRequest} msg The msg instance to transform.
     * @return {!Object}
     * @suppress {unusedLocalVariables} f is only used for nested messages
     */
    proto.im.UserRolesRequest.toObject = function (includeInstance, msg) {
        var f, obj = {
            userid: jspb.Message.getFieldWithDefault(msg, 1, 0),
            roleidlistList: (f = jspb.Message.getRepeatedField(msg, 2)) == null ? undefined : f
        };

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


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


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.im.UserRolesRequest} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.im.UserRolesRequest}
 */
proto.im.UserRolesRequest.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.setUserid(value);
                break;
            case 2:
                var values = /** @type {!Array<number>} */ (reader.isDelimited() ? reader.readPackedInt64() : [reader.readInt64()]);
                for (var i = 0; i < values.length; i++) {
                    msg.addRoleidlist(values[i]);
                }
                break;
            default:
                reader.skipField();
                break;
        }
    }
    return msg;
};


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


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.im.UserRolesRequest} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.im.UserRolesRequest.serializeBinaryToWriter = function (message, writer) {
    var f = undefined;
    f = message.getUserid();
    if (f !== 0) {
        writer.writeInt64(
            1,
            f
        );
    }
    f = message.getRoleidlistList();
    if (f.length > 0) {
        writer.writePackedInt64(
            2,
            f
        );
    }
};


/**
 * optional int64 userId = 1;
 * @return {number}
 */
proto.im.UserRolesRequest.prototype.getUserid = function () {
    return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));
};


/**
 * @param {number} value
 * @return {!proto.im.UserRolesRequest} returns this
 */
proto.im.UserRolesRequest.prototype.setUserid = function (value) {
    return jspb.Message.setProto3IntField(this, 1, value);
};


/**
 * repeated int64 roleIdList = 2;
 * @return {!Array<number>}
 */
proto.im.UserRolesRequest.prototype.getRoleidlistList = function () {
    return /** @type {!Array<number>} */ (jspb.Message.getRepeatedField(this, 2));
};


/**
 * @param {!Array<number>} value
 * @return {!proto.im.UserRolesRequest} returns this
 */
proto.im.UserRolesRequest.prototype.setRoleidlistList = function (value) {
    return jspb.Message.setField(this, 2, value || []);
};


/**
 * @param {number} value
 * @param {number=} opt_index
 * @return {!proto.im.UserRolesRequest} returns this
 */
proto.im.UserRolesRequest.prototype.addRoleidlist = function (value, opt_index) {
    return jspb.Message.addToRepeatedField(this, 2, value, opt_index);
};


/**
 * Clears the list making it empty but non-null.
 * @return {!proto.im.UserRolesRequest} returns this
 */
proto.im.UserRolesRequest.prototype.clearRoleidlistList = function () {
    return this.setRoleidlistList([]);
};


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


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


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


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


/**
 * repeated Role list = 1;
 * @return {!Array<!proto.im.Role>}
 */
proto.im.RoleListReply.prototype.getListList = function () {
    return /** @type{!Array<!proto.im.Role>} */ (
        jspb.Message.getRepeatedWrapperField(this, proto.im.Role, 1));
};


/**
 * @param {!Array<!proto.im.Role>} value
 * @return {!proto.im.RoleListReply} returns this
 */
proto.im.RoleListReply.prototype.setListList = function (value) {
    return jspb.Message.setRepeatedWrapperField(this, 1, value);
};


/**
 * @param {!proto.im.Role=} opt_value
 * @param {number=} opt_index
 * @return {!proto.im.Role}
 */
proto.im.RoleListReply.prototype.addList = function (opt_value, opt_index) {
    return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.im.Role, opt_index);
};


/**
 * Clears the list making it empty but non-null.
 * @return {!proto.im.RoleListReply} returns this
 */
proto.im.RoleListReply.prototype.clearListList = function () {
    return this.setListList([]);
};


/**
 * List of repeated fields within this message type.
 * @private {!Array<number>}
 * @const
 */
proto.im.RolePermissionRequest.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.im.RolePermissionRequest.prototype.toObject = function (opt_includeInstance) {
        return proto.im.RolePermissionRequest.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.im.RolePermissionRequest} msg The msg instance to transform.
     * @return {!Object}
     * @suppress {unusedLocalVariables} f is only used for nested messages
     */
    proto.im.RolePermissionRequest.toObject = function (includeInstance, msg) {
        var f, obj = {
            roleid: jspb.Message.getFieldWithDefault(msg, 1, 0),
            servicepathList: (f = jspb.Message.getRepeatedField(msg, 2)) == null ? undefined : f
        };

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


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


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


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


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.im.RolePermissionRequest} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.im.RolePermissionRequest.serializeBinaryToWriter = function (message, writer) {
    var f = undefined;
    f = message.getRoleid();
    if (f !== 0) {
        writer.writeInt64(
            1,
            f
        );
    }
    f = message.getServicepathList();
    if (f.length > 0) {
        writer.writeRepeatedString(
            2,
            f
        );
    }
};


/**
 * optional int64 roleId = 1;
 * @return {number}
 */
proto.im.RolePermissionRequest.prototype.getRoleid = function () {
    return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));
};


/**
 * @param {number} value
 * @return {!proto.im.RolePermissionRequest} returns this
 */
proto.im.RolePermissionRequest.prototype.setRoleid = function (value) {
    return jspb.Message.setProto3IntField(this, 1, value);
};


/**
 * repeated string servicePath = 2;
 * @return {!Array<string>}
 */
proto.im.RolePermissionRequest.prototype.getServicepathList = function () {
    return /** @type {!Array<string>} */ (jspb.Message.getRepeatedField(this, 2));
};


/**
 * @param {!Array<string>} value
 * @return {!proto.im.RolePermissionRequest} returns this
 */
proto.im.RolePermissionRequest.prototype.setServicepathList = function (value) {
    return jspb.Message.setField(this, 2, value || []);
};


/**
 * @param {string} value
 * @param {number=} opt_index
 * @return {!proto.im.RolePermissionRequest} returns this
 */
proto.im.RolePermissionRequest.prototype.addServicepath = function (value, opt_index) {
    return jspb.Message.addToRepeatedField(this, 2, value, opt_index);
};


/**
 * Clears the list making it empty but non-null.
 * @return {!proto.im.RolePermissionRequest} returns this
 */
proto.im.RolePermissionRequest.prototype.clearServicepathList = function () {
    return this.setServicepathList([]);
};


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


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


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


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


/**
 * optional int64 sysId = 1;
 * @return {number}
 */
proto.im.ServiceListRequest.prototype.getSysid = function () {
    return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));
};


/**
 * @param {number} value
 * @return {!proto.im.ServiceListRequest} returns this
 */
proto.im.ServiceListRequest.prototype.setSysid = function (value) {
    return jspb.Message.setProto3IntField(this, 1, value);
};


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


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


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


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


/**
 * repeated Service list = 1;
 * @return {!Array<!proto.im.Service>}
 */
proto.im.ServiceListReply.prototype.getListList = function () {
    return /** @type{!Array<!proto.im.Service>} */ (
        jspb.Message.getRepeatedWrapperField(this, proto.im.Service, 1));
};


/**
 * @param {!Array<!proto.im.Service>} value
 * @return {!proto.im.ServiceListReply} returns this
 */
proto.im.ServiceListReply.prototype.setListList = function (value) {
    return jspb.Message.setRepeatedWrapperField(this, 1, value);
};


/**
 * @param {!proto.im.Service=} opt_value
 * @param {number=} opt_index
 * @return {!proto.im.Service}
 */
proto.im.ServiceListReply.prototype.addList = function (opt_value, opt_index) {
    return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.im.Service, opt_index);
};


/**
 * Clears the list making it empty but non-null.
 * @return {!proto.im.ServiceListReply} returns this
 */
proto.im.ServiceListReply.prototype.clearListList = function () {
    return this.setListList([]);
};


/**
 * List of repeated fields within this message type.
 * @private {!Array<number>}
 * @const
 */
proto.im.ServiceRemoveRequest.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.im.ServiceRemoveRequest.prototype.toObject = function (opt_includeInstance) {
        return proto.im.ServiceRemoveRequest.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.im.ServiceRemoveRequest} msg The msg instance to transform.
     * @return {!Object}
     * @suppress {unusedLocalVariables} f is only used for nested messages
     */
    proto.im.ServiceRemoveRequest.toObject = function (includeInstance, msg) {
        var f, obj = {
            pathlistList: (f = jspb.Message.getRepeatedField(msg, 1)) == null ? undefined : f
        };

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


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


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


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


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


/**
 * repeated string pathList = 1;
 * @return {!Array<string>}
 */
proto.im.ServiceRemoveRequest.prototype.getPathlistList = function () {
    return /** @type {!Array<string>} */ (jspb.Message.getRepeatedField(this, 1));
};


/**
 * @param {!Array<string>} value
 * @return {!proto.im.ServiceRemoveRequest} returns this
 */
proto.im.ServiceRemoveRequest.prototype.setPathlistList = function (value) {
    return jspb.Message.setField(this, 1, value || []);
};


/**
 * @param {string} value
 * @param {number=} opt_index
 * @return {!proto.im.ServiceRemoveRequest} returns this
 */
proto.im.ServiceRemoveRequest.prototype.addPathlist = function (value, opt_index) {
    return jspb.Message.addToRepeatedField(this, 1, value, opt_index);
};


/**
 * Clears the list making it empty but non-null.
 * @return {!proto.im.ServiceRemoveRequest} returns this
 */
proto.im.ServiceRemoveRequest.prototype.clearPathlistList = function () {
    return this.setPathlistList([]);
};


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.im.CreateShopRequest.prototype.toObject = function (opt_includeInstance) {
        return proto.im.CreateShopRequest.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.im.CreateShopRequest} msg The msg instance to transform.
     * @return {!Object}
     * @suppress {unusedLocalVariables} f is only used for nested messages
     */
    proto.im.CreateShopRequest.toObject = function (includeInstance, msg) {
        var f, obj = {
            name: jspb.Message.getFieldWithDefault(msg, 1, ""),
            key: jspb.Message.getFieldWithDefault(msg, 2, ""),
            sid: jspb.Message.getFieldWithDefault(msg, 3, 0),
            addr: jspb.Message.getFieldWithDefault(msg, 4, ""),
            phone: jspb.Message.getFieldWithDefault(msg, 5, ""),
            contacts: jspb.Message.getFieldWithDefault(msg, 6, ""),
            createuser: jspb.Message.getFieldWithDefault(msg, 7, 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.im.CreateShopRequest}
 */
proto.im.CreateShopRequest.deserializeBinary = function (bytes) {
    var reader = new jspb.BinaryReader(bytes);
    var msg = new proto.im.CreateShopRequest;
    return proto.im.CreateShopRequest.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.im.CreateShopRequest} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.im.CreateShopRequest}
 */
proto.im.CreateShopRequest.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.setKey(value);
                break;
            case 3:
                var value = /** @type {number} */ (reader.readInt64());
                msg.setSid(value);
                break;
            case 4:
                var value = /** @type {string} */ (reader.readString());
                msg.setAddr(value);
                break;
            case 5:
                var value = /** @type {string} */ (reader.readString());
                msg.setPhone(value);
                break;
            case 6:
                var value = /** @type {string} */ (reader.readString());
                msg.setContacts(value);
                break;
            case 7:
                var value = /** @type {number} */ (reader.readInt64());
                msg.setCreateuser(value);
                break;
            default:
                reader.skipField();
                break;
        }
    }
    return msg;
};


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


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.im.CreateShopRequest} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.im.CreateShopRequest.serializeBinaryToWriter = function (message, writer) {
    var f = undefined;
    f = message.getName();
    if (f.length > 0) {
        writer.writeString(
            1,
            f
        );
    }
    f = message.getKey();
    if (f.length > 0) {
        writer.writeString(
            2,
            f
        );
    }
    f = message.getSid();
    if (f !== 0) {
        writer.writeInt64(
            3,
            f
        );
    }
    f = message.getAddr();
    if (f.length > 0) {
        writer.writeString(
            4,
            f
        );
    }
    f = message.getPhone();
    if (f.length > 0) {
        writer.writeString(
            5,
            f
        );
    }
    f = message.getContacts();
    if (f.length > 0) {
        writer.writeString(
            6,
            f
        );
    }
    f = message.getCreateuser();
    if (f !== 0) {
        writer.writeInt64(
            7,
            f
        );
    }
};


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


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


/**
 * optional string key = 2;
 * @return {string}
 */
proto.im.CreateShopRequest.prototype.getKey = function () {
    return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
};


/**
 * @param {string} value
 * @return {!proto.im.CreateShopRequest} returns this
 */
proto.im.CreateShopRequest.prototype.setKey = function (value) {
    return jspb.Message.setProto3StringField(this, 2, value);
};


/**
 * optional int64 sId = 3;
 * @return {number}
 */
proto.im.CreateShopRequest.prototype.getSid = function () {
    return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 3, 0));
};


/**
 * @param {number} value
 * @return {!proto.im.CreateShopRequest} returns this
 */
proto.im.CreateShopRequest.prototype.setSid = function (value) {
    return jspb.Message.setProto3IntField(this, 3, value);
};


/**
 * optional string addr = 4;
 * @return {string}
 */
proto.im.CreateShopRequest.prototype.getAddr = function () {
    return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, ""));
};


/**
 * @param {string} value
 * @return {!proto.im.CreateShopRequest} returns this
 */
proto.im.CreateShopRequest.prototype.setAddr = function (value) {
    return jspb.Message.setProto3StringField(this, 4, value);
};


/**
 * optional string phone = 5;
 * @return {string}
 */
proto.im.CreateShopRequest.prototype.getPhone = function () {
    return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 5, ""));
};


/**
 * @param {string} value
 * @return {!proto.im.CreateShopRequest} returns this
 */
proto.im.CreateShopRequest.prototype.setPhone = function (value) {
    return jspb.Message.setProto3StringField(this, 5, value);
};


/**
 * optional string contacts = 6;
 * @return {string}
 */
proto.im.CreateShopRequest.prototype.getContacts = function () {
    return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 6, ""));
};


/**
 * @param {string} value
 * @return {!proto.im.CreateShopRequest} returns this
 */
proto.im.CreateShopRequest.prototype.setContacts = function (value) {
    return jspb.Message.setProto3StringField(this, 6, value);
};


/**
 * optional int64 createUser = 7;
 * @return {number}
 */
proto.im.CreateShopRequest.prototype.getCreateuser = function () {
    return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 7, 0));
};


/**
 * @param {number} value
 * @return {!proto.im.CreateShopRequest} returns this
 */
proto.im.CreateShopRequest.prototype.setCreateuser = function (value) {
    return jspb.Message.setProto3IntField(this, 7, value);
};


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

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


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


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.im.ShopListRequest} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.im.ShopListRequest}
 */
proto.im.ShopListRequest.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.setSysid(value);
                break;
            case 2:
                var value = /** @type {string} */ (reader.readString());
                msg.setName(value);
                break;
            case 3:
                var value = /** @type {!proto.im.Status} */ (reader.readEnum());
                msg.setStatus(value);
                break;
            case 4:
                var value = /** @type {number} */ (reader.readInt64());
                msg.setSid(value);
                break;
            default:
                reader.skipField();
                break;
        }
    }
    return msg;
};


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


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.im.ShopListRequest} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.im.ShopListRequest.serializeBinaryToWriter = function (message, writer) {
    var f = undefined;
    f = message.getSysid();
    if (f !== 0) {
        writer.writeInt64(
            1,
            f
        );
    }
    f = message.getName();
    if (f.length > 0) {
        writer.writeString(
            2,
            f
        );
    }
    f = message.getStatus();
    if (f !== 0.0) {
        writer.writeEnum(
            3,
            f
        );
    }
    f = message.getSid();
    if (f !== 0) {
        writer.writeInt64(
            4,
            f
        );
    }
};


/**
 * optional int64 sysId = 1;
 * @return {number}
 */
proto.im.ShopListRequest.prototype.getSysid = function () {
    return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));
};


/**
 * @param {number} value
 * @return {!proto.im.ShopListRequest} returns this
 */
proto.im.ShopListRequest.prototype.setSysid = function (value) {
    return jspb.Message.setProto3IntField(this, 1, value);
};


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


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


/**
 * optional Status status = 3;
 * @return {!proto.im.Status}
 */
proto.im.ShopListRequest.prototype.getStatus = function () {
    return /** @type {!proto.im.Status} */ (jspb.Message.getFieldWithDefault(this, 3, 0));
};


/**
 * @param {!proto.im.Status} value
 * @return {!proto.im.ShopListRequest} returns this
 */
proto.im.ShopListRequest.prototype.setStatus = function (value) {
    return jspb.Message.setProto3EnumField(this, 3, value);
};


/**
 * optional int64 sId = 4;
 * @return {number}
 */
proto.im.ShopListRequest.prototype.getSid = function () {
    return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 4, 0));
};


/**
 * @param {number} value
 * @return {!proto.im.ShopListRequest} returns this
 */
proto.im.ShopListRequest.prototype.setSid = function (value) {
    return jspb.Message.setProto3IntField(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.im.ShopInfo.prototype.toObject = function (opt_includeInstance) {
        return proto.im.ShopInfo.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.im.ShopInfo} msg The msg instance to transform.
     * @return {!Object}
     * @suppress {unusedLocalVariables} f is only used for nested messages
     */
    proto.im.ShopInfo.toObject = function (includeInstance, msg) {
        var f, obj = {
            shopid: jspb.Message.getFieldWithDefault(msg, 1, 0),
            name: jspb.Message.getFieldWithDefault(msg, 2, ""),
            sid: jspb.Message.getFieldWithDefault(msg, 3, 0),
            addr: jspb.Message.getFieldWithDefault(msg, 4, ""),
            phone: jspb.Message.getFieldWithDefault(msg, 5, ""),
            contacts: jspb.Message.getFieldWithDefault(msg, 6, ""),
            status: jspb.Message.getFieldWithDefault(msg, 7, 0),
            createdAt: jspb.Message.getFieldWithDefault(msg, 8, 0),
            createdUser: jspb.Message.getFieldWithDefault(msg, 9, 0),
            updatedAt: jspb.Message.getFieldWithDefault(msg, 10, 0),
            updatedUser: jspb.Message.getFieldWithDefault(msg, 11, 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.im.ShopInfo}
 */
proto.im.ShopInfo.deserializeBinary = function (bytes) {
    var reader = new jspb.BinaryReader(bytes);
    var msg = new proto.im.ShopInfo;
    return proto.im.ShopInfo.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.im.ShopInfo} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.im.ShopInfo}
 */
proto.im.ShopInfo.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.setShopid(value);
                break;
            case 2:
                var value = /** @type {string} */ (reader.readString());
                msg.setName(value);
                break;
            case 3:
                var value = /** @type {number} */ (reader.readInt64());
                msg.setSid(value);
                break;
            case 4:
                var value = /** @type {string} */ (reader.readString());
                msg.setAddr(value);
                break;
            case 5:
                var value = /** @type {string} */ (reader.readString());
                msg.setPhone(value);
                break;
            case 6:
                var value = /** @type {string} */ (reader.readString());
                msg.setContacts(value);
                break;
            case 7:
                var value = /** @type {!proto.im.Status} */ (reader.readEnum());
                msg.setStatus(value);
                break;
            case 8:
                var value = /** @type {number} */ (reader.readInt64());
                msg.setCreatedAt(value);
                break;
            case 9:
                var value = /** @type {number} */ (reader.readInt64());
                msg.setCreatedUser(value);
                break;
            case 10:
                var value = /** @type {number} */ (reader.readInt64());
                msg.setUpdatedAt(value);
                break;
            case 11:
                var value = /** @type {number} */ (reader.readInt64());
                msg.setUpdatedUser(value);
                break;
            default:
                reader.skipField();
                break;
        }
    }
    return msg;
};


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


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.im.ShopInfo} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.im.ShopInfo.serializeBinaryToWriter = function (message, writer) {
    var f = undefined;
    f = message.getShopid();
    if (f !== 0) {
        writer.writeInt64(
            1,
            f
        );
    }
    f = message.getName();
    if (f.length > 0) {
        writer.writeString(
            2,
            f
        );
    }
    f = message.getSid();
    if (f !== 0) {
        writer.writeInt64(
            3,
            f
        );
    }
    f = message.getAddr();
    if (f.length > 0) {
        writer.writeString(
            4,
            f
        );
    }
    f = message.getPhone();
    if (f.length > 0) {
        writer.writeString(
            5,
            f
        );
    }
    f = message.getContacts();
    if (f.length > 0) {
        writer.writeString(
            6,
            f
        );
    }
    f = message.getStatus();
    if (f !== 0.0) {
        writer.writeEnum(
            7,
            f
        );
    }
    f = message.getCreatedAt();
    if (f !== 0) {
        writer.writeInt64(
            8,
            f
        );
    }
    f = message.getCreatedUser();
    if (f !== 0) {
        writer.writeInt64(
            9,
            f
        );
    }
    f = message.getUpdatedAt();
    if (f !== 0) {
        writer.writeInt64(
            10,
            f
        );
    }
    f = message.getUpdatedUser();
    if (f !== 0) {
        writer.writeInt64(
            11,
            f
        );
    }
};


/**
 * optional int64 shopId = 1;
 * @return {number}
 */
proto.im.ShopInfo.prototype.getShopid = function () {
    return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));
};


/**
 * @param {number} value
 * @return {!proto.im.ShopInfo} returns this
 */
proto.im.ShopInfo.prototype.setShopid = function (value) {
    return jspb.Message.setProto3IntField(this, 1, value);
};


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


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


/**
 * optional int64 sId = 3;
 * @return {number}
 */
proto.im.ShopInfo.prototype.getSid = function () {
    return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 3, 0));
};


/**
 * @param {number} value
 * @return {!proto.im.ShopInfo} returns this
 */
proto.im.ShopInfo.prototype.setSid = function (value) {
    return jspb.Message.setProto3IntField(this, 3, value);
};


/**
 * optional string addr = 4;
 * @return {string}
 */
proto.im.ShopInfo.prototype.getAddr = function () {
    return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, ""));
};


/**
 * @param {string} value
 * @return {!proto.im.ShopInfo} returns this
 */
proto.im.ShopInfo.prototype.setAddr = function (value) {
    return jspb.Message.setProto3StringField(this, 4, value);
};


/**
 * optional string phone = 5;
 * @return {string}
 */
proto.im.ShopInfo.prototype.getPhone = function () {
    return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 5, ""));
};


/**
 * @param {string} value
 * @return {!proto.im.ShopInfo} returns this
 */
proto.im.ShopInfo.prototype.setPhone = function (value) {
    return jspb.Message.setProto3StringField(this, 5, value);
};


/**
 * optional string contacts = 6;
 * @return {string}
 */
proto.im.ShopInfo.prototype.getContacts = function () {
    return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 6, ""));
};


/**
 * @param {string} value
 * @return {!proto.im.ShopInfo} returns this
 */
proto.im.ShopInfo.prototype.setContacts = function (value) {
    return jspb.Message.setProto3StringField(this, 6, value);
};


/**
 * optional Status status = 7;
 * @return {!proto.im.Status}
 */
proto.im.ShopInfo.prototype.getStatus = function () {
    return /** @type {!proto.im.Status} */ (jspb.Message.getFieldWithDefault(this, 7, 0));
};


/**
 * @param {!proto.im.Status} value
 * @return {!proto.im.ShopInfo} returns this
 */
proto.im.ShopInfo.prototype.setStatus = function (value) {
    return jspb.Message.setProto3EnumField(this, 7, value);
};


/**
 * optional int64 created_at = 8;
 * @return {number}
 */
proto.im.ShopInfo.prototype.getCreatedAt = function () {
    return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 8, 0));
};


/**
 * @param {number} value
 * @return {!proto.im.ShopInfo} returns this
 */
proto.im.ShopInfo.prototype.setCreatedAt = function (value) {
    return jspb.Message.setProto3IntField(this, 8, value);
};


/**
 * optional int64 created_user = 9;
 * @return {number}
 */
proto.im.ShopInfo.prototype.getCreatedUser = function () {
    return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 9, 0));
};


/**
 * @param {number} value
 * @return {!proto.im.ShopInfo} returns this
 */
proto.im.ShopInfo.prototype.setCreatedUser = function (value) {
    return jspb.Message.setProto3IntField(this, 9, value);
};


/**
 * optional int64 updated_at = 10;
 * @return {number}
 */
proto.im.ShopInfo.prototype.getUpdatedAt = function () {
    return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 10, 0));
};


/**
 * @param {number} value
 * @return {!proto.im.ShopInfo} returns this
 */
proto.im.ShopInfo.prototype.setUpdatedAt = function (value) {
    return jspb.Message.setProto3IntField(this, 10, value);
};


/**
 * optional int64 updated_user = 11;
 * @return {number}
 */
proto.im.ShopInfo.prototype.getUpdatedUser = function () {
    return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 11, 0));
};


/**
 * @param {number} value
 * @return {!proto.im.ShopInfo} returns this
 */
proto.im.ShopInfo.prototype.setUpdatedUser = function (value) {
    return jspb.Message.setProto3IntField(this, 11, value);
};


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


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


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


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


/**
 * repeated ShopInfo list = 1;
 * @return {!Array<!proto.im.ShopInfo>}
 */
proto.im.ShopListReply.prototype.getListList = function () {
    return /** @type{!Array<!proto.im.ShopInfo>} */ (
        jspb.Message.getRepeatedWrapperField(this, proto.im.ShopInfo, 1));
};


/**
 * @param {!Array<!proto.im.ShopInfo>} value
 * @return {!proto.im.ShopListReply} returns this
 */
proto.im.ShopListReply.prototype.setListList = function (value) {
    return jspb.Message.setRepeatedWrapperField(this, 1, value);
};


/**
 * @param {!proto.im.ShopInfo=} opt_value
 * @param {number=} opt_index
 * @return {!proto.im.ShopInfo}
 */
proto.im.ShopListReply.prototype.addList = function (opt_value, opt_index) {
    return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.im.ShopInfo, opt_index);
};


/**
 * Clears the list making it empty but non-null.
 * @return {!proto.im.ShopListReply} returns this
 */
proto.im.ShopListReply.prototype.clearListList = function () {
    return this.setListList([]);
};


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


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.im.SystemAddShopRequest} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.im.SystemAddShopRequest}
 */
proto.im.SystemAddShopRequest.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.setSysid(value);
                break;
            case 2:
                var value = /** @type {number} */ (reader.readInt64());
                msg.setShopid(value);
                break;
            default:
                reader.skipField();
                break;
        }
    }
    return msg;
};


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


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


/**
 * optional int64 sysId = 1;
 * @return {number}
 */
proto.im.SystemAddShopRequest.prototype.getSysid = function () {
    return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));
};


/**
 * @param {number} value
 * @return {!proto.im.SystemAddShopRequest} returns this
 */
proto.im.SystemAddShopRequest.prototype.setSysid = function (value) {
    return jspb.Message.setProto3IntField(this, 1, value);
};


/**
 * optional int64 shopId = 2;
 * @return {number}
 */
proto.im.SystemAddShopRequest.prototype.getShopid = function () {
    return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));
};


/**
 * @param {number} value
 * @return {!proto.im.SystemAddShopRequest} returns this
 */
proto.im.SystemAddShopRequest.prototype.setShopid = 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.im.SystemAddUserRequest.prototype.toObject = function (opt_includeInstance) {
        return proto.im.SystemAddUserRequest.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.im.SystemAddUserRequest} msg The msg instance to transform.
     * @return {!Object}
     * @suppress {unusedLocalVariables} f is only used for nested messages
     */
    proto.im.SystemAddUserRequest.toObject = function (includeInstance, msg) {
        var f, obj = {
            sysid: jspb.Message.getFieldWithDefault(msg, 1, 0),
            userid: 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.im.SystemAddUserRequest}
 */
proto.im.SystemAddUserRequest.deserializeBinary = function (bytes) {
    var reader = new jspb.BinaryReader(bytes);
    var msg = new proto.im.SystemAddUserRequest;
    return proto.im.SystemAddUserRequest.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.im.SystemAddUserRequest} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.im.SystemAddUserRequest}
 */
proto.im.SystemAddUserRequest.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.setSysid(value);
                break;
            case 2:
                var value = /** @type {number} */ (reader.readInt64());
                msg.setUserid(value);
                break;
            default:
                reader.skipField();
                break;
        }
    }
    return msg;
};


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


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


/**
 * optional int64 sysId = 1;
 * @return {number}
 */
proto.im.SystemAddUserRequest.prototype.getSysid = function () {
    return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));
};


/**
 * @param {number} value
 * @return {!proto.im.SystemAddUserRequest} returns this
 */
proto.im.SystemAddUserRequest.prototype.setSysid = function (value) {
    return jspb.Message.setProto3IntField(this, 1, value);
};


/**
 * optional int64 userId = 2;
 * @return {number}
 */
proto.im.SystemAddUserRequest.prototype.getUserid = function () {
    return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));
};


/**
 * @param {number} value
 * @return {!proto.im.SystemAddUserRequest} returns this
 */
proto.im.SystemAddUserRequest.prototype.setUserid = 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.im.Message.prototype.toObject = function (opt_includeInstance) {
        return proto.im.Message.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.im.Message} msg The msg instance to transform.
     * @return {!Object}
     * @suppress {unusedLocalVariables} f is only used for nested messages
     */
    proto.im.Message.toObject = function (includeInstance, msg) {
        var f, obj = {
            id: jspb.Message.getFieldWithDefault(msg, 1, 0),
            title: jspb.Message.getFieldWithDefault(msg, 2, ""),
            content: jspb.Message.getFieldWithDefault(msg, 3, ""),
            level: jspb.Message.getFieldWithDefault(msg, 4, 0),
            createat: jspb.Message.getFieldWithDefault(msg, 5, 0)
        };

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


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


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.im.Message} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.im.Message}
 */
proto.im.Message.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.setId(value);
                break;
            case 2:
                var value = /** @type {string} */ (reader.readString());
                msg.setTitle(value);
                break;
            case 3:
                var value = /** @type {string} */ (reader.readString());
                msg.setContent(value);
                break;
            case 4:
                var value = /** @type {!proto.im.Message.Level} */ (reader.readEnum());
                msg.setLevel(value);
                break;
            case 5:
                var value = /** @type {number} */ (reader.readInt64());
                msg.setCreateat(value);
                break;
            default:
                reader.skipField();
                break;
        }
    }
    return msg;
};


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


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.im.Message} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.im.Message.serializeBinaryToWriter = function (message, writer) {
    var f = undefined;
    f = message.getId();
    if (f !== 0) {
        writer.writeInt64(
            1,
            f
        );
    }
    f = message.getTitle();
    if (f.length > 0) {
        writer.writeString(
            2,
            f
        );
    }
    f = message.getContent();
    if (f.length > 0) {
        writer.writeString(
            3,
            f
        );
    }
    f = message.getLevel();
    if (f !== 0.0) {
        writer.writeEnum(
            4,
            f
        );
    }
    f = message.getCreateat();
    if (f !== 0) {
        writer.writeInt64(
            5,
            f
        );
    }
};


/**
 * @enum {number}
 */
proto.im.Message.Level = {
    NULL: 0,
    NORMAL: 1,
    WARN: 2,
    ERROR: 3
};

/**
 * optional int64 id = 1;
 * @return {number}
 */
proto.im.Message.prototype.getId = function () {
    return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));
};


/**
 * @param {number} value
 * @return {!proto.im.Message} returns this
 */
proto.im.Message.prototype.setId = function (value) {
    return jspb.Message.setProto3IntField(this, 1, value);
};


/**
 * optional string title = 2;
 * @return {string}
 */
proto.im.Message.prototype.getTitle = function () {
    return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
};


/**
 * @param {string} value
 * @return {!proto.im.Message} returns this
 */
proto.im.Message.prototype.setTitle = function (value) {
    return jspb.Message.setProto3StringField(this, 2, value);
};


/**
 * optional string content = 3;
 * @return {string}
 */
proto.im.Message.prototype.getContent = function () {
    return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, ""));
};


/**
 * @param {string} value
 * @return {!proto.im.Message} returns this
 */
proto.im.Message.prototype.setContent = function (value) {
    return jspb.Message.setProto3StringField(this, 3, value);
};


/**
 * optional Level level = 4;
 * @return {!proto.im.Message.Level}
 */
proto.im.Message.prototype.getLevel = function () {
    return /** @type {!proto.im.Message.Level} */ (jspb.Message.getFieldWithDefault(this, 4, 0));
};


/**
 * @param {!proto.im.Message.Level} value
 * @return {!proto.im.Message} returns this
 */
proto.im.Message.prototype.setLevel = function (value) {
    return jspb.Message.setProto3EnumField(this, 4, value);
};


/**
 * optional int64 createAt = 5;
 * @return {number}
 */
proto.im.Message.prototype.getCreateat = function () {
    return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 5, 0));
};


/**
 * @param {number} value
 * @return {!proto.im.Message} returns this
 */
proto.im.Message.prototype.setCreateat = function (value) {
    return jspb.Message.setProto3IntField(this, 5, value);
};


/**
 * @enum {number}
 */
proto.im.ErrorCode = {
    OK: 0,
    PARAM: 4001,
    EXIST: 4002,
    TOKEN: 4003
};

/**
 * @enum {number}
 */
proto.im.Status = {
    NULL: 0,
    BAN: 1,
    ON: 2,
    DELETE: 9
};

goog.object.extend(exports, proto.im);
