// Code generated by protoc-gen-go. DO NOT EDIT.
// source: apigrpc/apigrpc.proto

package apigrpc

import (
	context "context"
	fmt "fmt"
	proto "github.com/golang/protobuf/proto"
	empty "github.com/golang/protobuf/ptypes/empty"
	_ "github.com/grpc-ecosystem/grpc-gateway/protoc-gen-swagger/options"
	api "github.com/heroiclabs/nakama/api"
	_ "google.golang.org/genproto/googleapis/api/annotations"
	grpc "google.golang.org/grpc"
	math "math"
)

// Reference imports to suppress errors if they are not otherwise used.
var _ = proto.Marshal
var _ = fmt.Errorf
var _ = math.Inf

// This is a compile-time assertion to ensure that this generated file
// is compatible with the proto package it is being compiled against.
// A compilation error at this line likely means your copy of the
// proto package needs to be updated.
const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package

func init() { proto.RegisterFile("apigrpc/apigrpc.proto", fileDescriptor_84e2d31978c605c7) }

var fileDescriptor_84e2d31978c605c7 = []byte{
	// 1999 bytes of a gzipped FileDescriptorProto
	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x59, 0x4d, 0x6f, 0xdb, 0xc8,
	0x19, 0x2e, 0xbd, 0x45, 0x3e, 0x46, 0xfe, 0x1c, 0x7f, 0x24, 0x96, 0xed, 0x44, 0xe6, 0x3a, 0xd9,
	0xac, 0xba, 0x2b, 0x3a, 0x4e, 0xdb, 0xa0, 0xbe, 0x74, 0x65, 0x67, 0xed, 0xec, 0xc6, 0xeb, 0x0d,
	0x9c, 0x4d, 0x03, 0x04, 0x28, 0xd2, 0xd1, 0x70, 0x2c, 0x31, 0x92, 0x38, 0x0c, 0x39, 0x72, 0x1a,
	0x18, 0xc1, 0x02, 0x05, 0x8a, 0x1e, 0x7a, 0x59, 0x64, 0x8b, 0x9e, 0x7a, 0xca, 0xb1, 0xc7, 0x5e,
	0x7a, 0x68, 0xff, 0x45, 0xff, 0x42, 0x7f, 0xc8, 0x62, 0x3e, 0x28, 0xce, 0x88, 0x43, 0xd1, 0x71,
	0x90, 0x93, 0x6c, 0x3e, 0x2f, 0xdf, 0xe7, 0x11, 0xe7, 0x7d, 0xdf, 0x79, 0x38, 0x02, 0x8b, 0x28,
	0x0a, 0xda, 0x71, 0x84, 0x3d, 0xf5, 0xd9, 0x88, 0x62, 0xca, 0x28, 0x04, 0x21, 0xea, 0xa2, 0x3e,
	0x6a, 0xa0, 0x28, 0xa8, 0xae, 0xb6, 0x29, 0x6d, 0xf7, 0x08, 0x8f, 0xf0, 0x50, 0x18, 0x52, 0x86,
	0x58, 0x40, 0xc3, 0x44, 0x46, 0x56, 0x57, 0x14, 0x2a, 0xfe, 0x6b, 0x0d, 0x8e, 0x3d, 0xd2, 0x8f,
	0xd8, 0x2b, 0x05, 0x7e, 0x26, 0x3e, 0xf0, 0xe7, 0x6d, 0x12, 0x7e, 0x9e, 0xbc, 0x44, 0xed, 0x36,
	0x89, 0x3d, 0x1a, 0x89, 0xdb, 0x2d, 0xa9, 0xea, 0xed, 0x80, 0x75, 0x06, 0xad, 0x06, 0xa6, 0x7d,
	0xaf, 0x43, 0x62, 0x1a, 0xe0, 0x1e, 0x6a, 0x25, 0x9e, 0x94, 0x22, 0xe9, 0xa3, 0x40, 0xc6, 0x6e,
	0xfd, 0xe7, 0xd7, 0xe0, 0xc2, 0xa1, 0x00, 0xe0, 0x13, 0x00, 0x9a, 0xbe, 0xbf, 0x17, 0x07, 0x24,
	0xf4, 0x13, 0xb8, 0xd6, 0xc8, 0xa4, 0x37, 0xb2, 0xeb, 0x47, 0xe4, 0xc5, 0x80, 0x24, 0xac, 0xba,
	0xd4, 0x90, 0x7a, 0x1b, 0xa9, 0xde, 0xc6, 0x97, 0x5c, 0xaf, 0x0b, 0xff, 0xf4, 0xbf, 0xff, 0xff,
	0x38, 0x31, 0xe9, 0x02, 0xef, 0x64, 0xcb, 0x3b, 0x16, 0xf7, 0xc0, 0x2e, 0x98, 0x6a, 0xfa, 0xfe,
	0x7e, 0x4c, 0x07, 0xd1, 0xe3, 0x84, 0xc4, 0x09, 0xac, 0x8d, 0xe4, 0xce, 0xa0, 0xb2, 0xf4, 0x35,
	0x91, 0xbe, 0xea, 0x5e, 0xe5, 0xe9, 0xdb, 0xfc, 0x36, 0xef, 0x54, 0x7c, 0x3c, 0x0b, 0xfc, 0xd7,
	0x1e, 0xf2, 0x7d, 0xf8, 0x77, 0x07, 0xc0, 0xe6, 0x80, 0x75, 0x48, 0xc8, 0x02, 0x8c, 0x18, 0xd9,
	0x1d, 0x24, 0x8c, 0xf6, 0xe1, 0x0d, 0x83, 0x32, 0x87, 0xa7, 0xbc, 0xf3, 0x7a, 0xd8, 0x23, 0x92,
	0x24, 0x01, 0x0d, 0xdd, 0x7b, 0x6f, 0x9a, 0x73, 0xad, 0x19, 0x30, 0x05, 0x2e, 0xef, 0xa0, 0x24,
	0xc0, 0xfc, 0x6e, 0xf8, 0x33, 0x21, 0xa4, 0xee, 0x5e, 0xe7, 0x42, 0x10, 0xc6, 0x74, 0x10, 0x32,
	0x0f, 0x69, 0x79, 0x3d, 0x2c, 0x12, 0x6f, 0x5f, 0x54, 0x60, 0x4e, 0xd8, 0x3d, 0x72, 0x12, 0x60,
	0x52, 0x2c, 0x4c, 0xe2, 0x1f, 0x40, 0x98, 0x2f, 0x12, 0x67, 0xc2, 0x7e, 0x74, 0xc0, 0x9c, 0x4e,
	0xfc, 0x65, 0x1f, 0x05, 0x3d, 0xb8, 0x51, 0xa4, 0x4b, 0xc0, 0x63, 0x65, 0xed, 0x16, 0xca, 0xfa,
	0xd4, 0xbd, 0x56, 0x28, 0x8b, 0xf0, 0xbc, 0x99, 0xaa, 0x7f, 0x38, 0x60, 0x41, 0xa7, 0xdd, 0x43,
	0x98, 0xb4, 0x28, 0xed, 0xc2, 0x4f, 0x8a, 0x84, 0xa5, 0x11, 0x63, 0xb5, 0xed, 0x15, 0x6a, 0xfb,
	0xcc, 0x5d, 0x2f, 0xd4, 0x76, 0xac, 0x52, 0x67, 0xf2, 0xde, 0x3a, 0x60, 0x49, 0x27, 0xdf, 0x47,
	0x7d, 0xb2, 0x4b, 0x42, 0x46, 0x62, 0xf8, 0x69, 0x91, 0xc0, 0x2c, 0x66, 0xac, 0xc4, 0xfb, 0x85,
	0x12, 0x1b, 0xee, 0xc7, 0x85, 0x12, 0xdb, 0xa8, 0x4f, 0xb0, 0x48, 0x5e, 0x5c, 0x72, 0xfb, 0xa2,
	0xa7, 0x8a, 0x4b, 0x4e, 0xe2, 0x1f, 0xa0, 0xe4, 0x64, 0x33, 0x17, 0x97, 0xdc, 0x23, 0x46, 0x50,
	0xbf, 0xb8, 0xe4, 0x04, 0xfc, 0x01, 0x4a, 0x2e, 0xe1, 0x79, 0x33, 0x55, 0x08, 0x4c, 0xee, 0xf4,
	0x28, 0xee, 0xa6, 0x23, 0xf0, 0xba, 0xce, 0xa4, 0x23, 0x65, 0x53, 0xea, 0xaa, 0x60, 0x86, 0xee,
	0x6c, 0x36, 0x04, 0xbd, 0x16, 0xbf, 0x1f, 0xfe, 0x0e, 0x54, 0x76, 0x63, 0xc2, 0x1f, 0x35, 0x1f,
	0x5a, 0xf0, 0x9a, 0xce, 0xa0, 0x01, 0x29, 0xc1, 0x9c, 0x8e, 0x0b, 0xc4, 0x5d, 0x10, 0xb9, 0xa7,
	0xdd, 0xcb, 0xc3, 0x09, 0xb8, 0xed, 0xd4, 0xe1, 0xef, 0xc1, 0xd4, 0x3d, 0xd2, 0x23, 0x8c, 0xa4,
	0xda, 0x8d, 0x11, 0x6b, 0x40, 0x67, 0x9c, 0xe0, 0x75, 0x7d, 0x82, 0x63, 0x50, 0x91, 0x39, 0x2c,
	0xb2, 0x35, 0xa0, 0x2c, 0xf5, 0xaa, 0x48, 0xbd, 0x54, 0x5f, 0xb0, 0x4d, 0x6f, 0xf8, 0x17, 0x07,
	0x5c, 0x91, 0xc9, 0x0e, 0x08, 0xf2, 0x49, 0xdc, 0xa2, 0x28, 0xf6, 0x8f, 0x08, 0xa6, 0xb1, 0x0f,
	0xeb, 0x79, 0xc6, 0x5c, 0x50, 0x19, 0xfb, 0x2d, 0xc1, 0xee, 0xd6, 0x6b, 0x9c, 0xbd, 0x97, 0xdd,
	0xed, 0x9d, 0x6a, 0xff, 0x08, 0x25, 0x14, 0xcc, 0x4b, 0x8e, 0x43, 0xca, 0x82, 0x63, 0x5e, 0x2b,
	0x7c, 0x77, 0x85, 0x37, 0xf3, 0x22, 0x8c, 0x80, 0x33, 0x96, 0x45, 0x5d, 0x94, 0x45, 0xa8, 0xdd,
	0x09, 0x4f, 0xc0, 0x82, 0xcc, 0xf7, 0x88, 0xd1, 0x18, 0xb5, 0xc9, 0xb7, 0xad, 0xe7, 0x04, 0xb3,
	0xc4, 0x9c, 0x75, 0xb6, 0x88, 0x32, 0xca, 0x35, 0x41, 0x79, 0xa5, 0x0a, 0x39, 0x65, 0x22, 0x6f,
	0xf5, 0x7c, 0x91, 0x88, 0x97, 0xcd, 0x21, 0x00, 0xfb, 0x84, 0x35, 0x55, 0xfd, 0x17, 0x24, 0x31,
	0x3b, 0x4e, 0x05, 0xbb, 0xf3, 0x22, 0xf3, 0x14, 0xac, 0x68, 0xdd, 0x05, 0x0f, 0xc0, 0xa5, 0x7d,
	0xc2, 0xe4, 0x26, 0xbf, 0x62, 0xd4, 0xae, 0xba, 0x6a, 0x2d, 0x6c, 0x81, 0xb8, 0xb3, 0x22, 0x21,
	0x80, 0x97, 0x78, 0xc2, 0x41, 0x42, 0x62, 0xf8, 0x08, 0x54, 0xee, 0x13, 0xd4, 0x63, 0x1d, 0xdc,
	0x21, 0xb8, 0x5b, 0x28, 0xaf, 0xe8, 0xbb, 0xab, 0x4e, 0x81, 0x93, 0x5e, 0x47, 0xcb, 0xf2, 0x3d,
	0x58, 0xfc, 0xaa, 0x1f, 0xd1, 0x98, 0xa5, 0xdb, 0x45, 0xda, 0x31, 0xb7, 0x74, 0x49, 0xd6, 0x90,
	0xb2, 0x87, 0xbd, 0x21, 0x08, 0xaf, 0xb9, 0xf3, 0x5a, 0xdb, 0xe7, 0x77, 0x0e, 0x1f, 0x5c, 0xfe,
	0x9a, 0x06, 0xa1, 0xec, 0xa4, 0x55, 0x9d, 0x74, 0x78, 0xb9, 0x8c, 0x68, 0x5d, 0x10, 0xad, 0xb8,
	0xcb, 0x56, 0x17, 0xf4, 0x9c, 0x06, 0x21, 0xfc, 0x23, 0x98, 0xe6, 0xe9, 0xbe, 0xa3, 0x83, 0x38,
	0x44, 0x7d, 0x12, 0x32, 0xb8, 0x3e, 0x4a, 0x95, 0x61, 0x65, 0x7c, 0xbf, 0x10, 0x7c, 0x37, 0xe4,
	0xee, 0xc3, 0x86, 0xb7, 0x79, 0xa7, 0xd9, 0xdf, 0x19, 0x73, 0x08, 0xa6, 0x1f, 0x04, 0xb8, 0xab,
	0xd9, 0x3d, 0x83, 0xd9, 0xc4, 0xde, 0xef, 0x9b, 0x76, 0x03, 0xdc, 0x85, 0x6d, 0x00, 0x0e, 0x08,
	0x3a, 0x51, 0xa3, 0xc9, 0xb0, 0xad, 0xd9, 0xf5, 0x32, 0x1e, 0x57, 0xf0, 0xac, 0xba, 0x55, 0x2b,
	0x4f, 0x8f, 0xe7, 0x81, 0x18, 0x80, 0x83, 0x20, 0xec, 0x2a, 0x43, 0xb9, 0x6c, 0x69, 0x0a, 0x09,
	0x95, 0x92, 0x5c, 0xd1, 0x37, 0xa4, 0x5e, 0x10, 0x76, 0x53, 0xaf, 0xe8, 0xd4, 0x53, 0x12, 0x65,
	0x0e, 0x6d, 0x24, 0x12, 0x3a, 0x07, 0x89, 0xf2, 0x7d, 0x4e, 0x1d, 0xfe, 0x01, 0x5c, 0xe6, 0x24,
	0xd2, 0xe8, 0x5d, 0xb5, 0x70, 0x08, 0xa4, 0x74, 0x51, 0x96, 0x72, 0x14, 0xd2, 0xc3, 0x39, 0x75,
	0x98, 0x80, 0x49, 0xce, 0x30, 0x34, 0x6d, 0xc6, 0x56, 0xaa, 0x23, 0x65, 0x0b, 0x53, 0x17, 0x5c,
	0x1b, 0xb2, 0x00, 0x0c, 0xae, 0x7c, 0x67, 0x51, 0x30, 0xcd, 0x53, 0x6b, 0x56, 0x6c, 0xcd, 0xf2,
	0xdd, 0x32, 0xb8, 0x90, 0xf4, 0xa6, 0x20, 0xad, 0xb9, 0x2b, 0x39, 0x52, 0xcd, 0x65, 0x65, 0x8b,
	0xa5, 0x6c, 0x95, 0x6d, 0xb1, 0x24, 0x74, 0x8e, 0xc5, 0x52, 0x8e, 0x29, 0x5b, 0x2c, 0x69, 0x91,
	0x6c, 0x8b, 0x25, 0x90, 0x73, 0x2c, 0x96, 0x74, 0x3f, 0x4e, 0x1d, 0x7e, 0x0f, 0xe6, 0x0f, 0x82,
	0x84, 0xed, 0x76, 0x50, 0x18, 0x92, 0xde, 0x37, 0x24, 0x49, 0x50, 0x9b, 0x8c, 0x6c, 0x77, 0x96,
	0x80, 0x74, 0xe9, 0x4c, 0x13, 0x63, 0xc4, 0xf0, 0xbb, 0xd2, 0x77, 0x36, 0x28, 0xde, 0xd9, 0xb0,
	0xc4, 0xbd, 0x53, 0xf5, 0x87, 0xd8, 0x6f, 0x0f, 0x41, 0x85, 0x47, 0xa6, 0x93, 0xf8, 0x4c, 0xfb,
	0x90, 0x0a, 0x4e, 0xed, 0x0a, 0xd4, 0xed, 0xca, 0x63, 0xbe, 0x2e, 0x09, 0x13, 0x9d, 0x3f, 0xf2,
	0x26, 0x9b, 0x5d, 0x4f, 0xe5, 0x2f, 0xe6, 0x3c, 0x96, 0x50, 0x3d, 0x27, 0xf2, 0x56, 0x60, 0xe6,
	0xb3, 0xe0, 0x0b, 0x5e, 0x5f, 0xea, 0x76, 0xcb, 0x64, 0x33, 0xb1, 0x34, 0xfd, 0x72, 0x2e, 0x3d,
	0x87, 0x05, 0x85, 0x5a, 0x1a, 0x68, 0x1f, 0x6e, 0x62, 0x0b, 0xfc, 0xc1, 0x01, 0x4b, 0x3c, 0x36,
	0x67, 0x76, 0x12, 0xf3, 0x35, 0xc3, 0x1e, 0x93, 0x6a, 0x58, 0x1f, 0x19, 0x8a, 0x66, 0x98, 0xd0,
	0xa2, 0xcc, 0x11, 0x2c, 0x37, 0x47, 0xff, 0x76, 0xc0, 0xba, 0x9d, 0xae, 0x19, 0xd3, 0x41, 0xe8,
	0x7f, 0xfb, 0x32, 0x24, 0x31, 0xfc, 0x65, 0xb9, 0x3a, 0x2d, 0xfc, 0x1d, 0x84, 0xfe, 0x46, 0x08,
	0xbd, 0x03, 0x6f, 0x97, 0x09, 0xf5, 0x28, 0xcf, 0xec, 0x9d, 0x8a, 0x0f, 0xa1, 0xfc, 0x89, 0x2c,
	0xb3, 0x6f, 0x10, 0xc3, 0x1d, 0x92, 0x98, 0x2e, 0x56, 0x03, 0xac, 0x85, 0x21, 0xb0, 0x7c, 0x61,
	0xf4, 0xf9, 0x65, 0xf8, 0x02, 0xcc, 0x71, 0xc8, 0x74, 0x8b, 0x1b, 0xa3, 0xe9, 0xad, 0x5e, 0xd1,
	0x30, 0x00, 0x7a, 0x84, 0xe0, 0x52, 0x8e, 0x11, 0xe6, 0x1d, 0xe3, 0x5b, 0x07, 0x40, 0x1e, 0x32,
	0x62, 0x18, 0x6f, 0x8c, 0x92, 0xda, 0xed, 0xa2, 0xd1, 0x12, 0x46, 0x88, 0xa0, 0xdd, 0x13, 0xb4,
	0x5f, 0xc8, 0x8e, 0x4d, 0x5d, 0xe3, 0x29, 0xa6, 0xbd, 0x1e, 0xc1, 0x9c, 0xfd, 0xf5, 0xd3, 0x0d,
	0xe8, 0x16, 0x61, 0xde, 0x29, 0xaf, 0x5c, 0xf1, 0xc0, 0x03, 0x30, 0xc3, 0xf3, 0x65, 0x46, 0x23,
	0x81, 0xee, 0xa8, 0x40, 0x0d, 0x4c, 0xd5, 0x55, 0xf5, 0x98, 0x0c, 0x17, 0xd2, 0x96, 0x84, 0xb4,
	0x59, 0x38, 0x6d, 0x5a, 0x11, 0xf8, 0x57, 0x07, 0x2c, 0x9a, 0xe9, 0xd2, 0x3e, 0xb9, 0x55, 0xcc,
	0x38, 0xd2, 0x26, 0x35, 0x3b, 0xaf, 0x56, 0x7c, 0x6a, 0x63, 0x80, 0xd7, 0xc6, 0x1b, 0x21, 0xf8,
	0x2f, 0x07, 0xd4, 0xac, 0x54, 0x7a, 0x8b, 0xdc, 0x29, 0x15, 0x66, 0xe9, 0x90, 0x72, 0x8d, 0x77,
	0x85, 0xc6, 0xdb, 0xd0, 0x2b, 0x31, 0x6b, 0xb9, 0xf6, 0x88, 0xe4, 0x78, 0xe3, 0xe3, 0x49, 0x4d,
	0xce, 0xdc, 0x78, 0xcb, 0x30, 0xeb, 0x78, 0x1b, 0xc2, 0xf9, 0xb9, 0xcf, 0x6b, 0x22, 0xab, 0x0c,
	0x35, 0x50, 0x5f, 0x82, 0xb9, 0x87, 0x31, 0xed, 0x53, 0xf5, 0xfa, 0x28, 0x67, 0xaa, 0xd1, 0x37,
	0x39, 0xf8, 0xac, 0x1e, 0x7c, 0xd5, 0x3a, 0x53, 0x23, 0x99, 0x0e, 0x52, 0x00, 0x8f, 0x08, 0xf2,
	0xc7, 0x35, 0x4f, 0x1e, 0xb7, 0x96, 0xa7, 0x19, 0x92, 0x96, 0xa7, 0x5b, 0xd1, 0xba, 0x43, 0x6e,
	0xb1, 0x17, 0x8f, 0x22, 0xbc, 0x37, 0x08, 0x31, 0x9c, 0x31, 0x58, 0x22, 0x5c, 0x1d, 0xbd, 0xe0,
	0x1e, 0xbd, 0x69, 0xba, 0xad, 0x1a, 0x98, 0x01, 0x95, 0xfb, 0x8c, 0x45, 0x0f, 0xc8, 0x2b, 0x79,
	0x9c, 0x21, 0x4e, 0x37, 0x08, 0x8a, 0x49, 0xfc, 0xf5, 0x4b, 0xa6, 0x4e, 0x37, 0x3e, 0x71, 0x27,
	0x39, 0x53, 0x1c, 0x61, 0xef, 0x34, 0xf0, 0x5f, 0x6f, 0x5f, 0x8c, 0xd0, 0xab, 0x1e, 0x45, 0xfe,
	0x53, 0xfe, 0xda, 0xa3, 0x01, 0xb0, 0x0d, 0x26, 0x1f, 0x87, 0xbd, 0xf7, 0xb2, 0xaf, 0xe9, 0xa3,
	0x35, 0xac, 0xd8, 0x20, 0x1c, 0x31, 0xb0, 0x43, 0xa2, 0xf3, 0x5b, 0xd8, 0x71, 0x44, 0x99, 0x89,
	0xf5, 0x41, 0x45, 0x12, 0x9d, 0xd7, 0xc6, 0x7e, 0x2c, 0x68, 0xd6, 0xe4, 0x59, 0xf2, 0x08, 0xcd,
	0xd0, 0xc8, 0xf6, 0xc1, 0xb4, 0x64, 0x19, 0x5a, 0xd9, 0x15, 0x0b, 0x51, 0x0a, 0xbe, 0x9b, 0xa3,
	0x54, 0x5c, 0x43, 0x23, 0x2b, 0x7c, 0xf3, 0xac, 0xa4, 0x7b, 0x7f, 0x13, 0xab, 0x76, 0x74, 0x77,
	0xcd, 0x42, 0x69, 0xda, 0xd8, 0xe1, 0x92, 0x9d, 0xdf, 0xc8, 0x8e, 0x5b, 0xb2, 0xcc, 0xca, 0x0e,
	0x97, 0xec, 0xbc, 0x66, 0x76, 0xdc, 0x92, 0x0d, 0xed, 0x2c, 0x02, 0x53, 0x8f, 0x23, 0x1f, 0x31,
	0x92, 0x9e, 0x6b, 0x18, 0x33, 0xd3, 0x80, 0xca, 0xa6, 0x89, 0x6a, 0xe7, 0xaa, 0x7e, 0xc8, 0xc1,
	0x29, 0x8e, 0x41, 0x45, 0xe6, 0xb1, 0x9c, 0x87, 0x69, 0x40, 0x59, 0xfa, 0xeb, 0x22, 0xfd, 0x72,
	0xd5, 0x7a, 0x1e, 0xc6, 0x79, 0xfe, 0xe6, 0x80, 0xa5, 0x27, 0x71, 0x60, 0x3b, 0x11, 0x33, 0xec,
	0x9f, 0x3d, 0xc6, 0xba, 0xdb, 0xe7, 0xa2, 0xdc, 0x4d, 0x75, 0x7c, 0x5b, 0x6a, 0xfd, 0xb6, 0x2f,
	0xc4, 0x92, 0x9b, 0x81, 0x79, 0xc1, 0x38, 0x32, 0x3f, 0x6f, 0xe6, 0x24, 0xbd, 0xab, 0xfb, 0x68,
	0xe2, 0x6e, 0x62, 0x3e, 0x74, 0x6d, 0x86, 0xfe, 0xe0, 0x80, 0x45, 0x91, 0x75, 0x74, 0xdb, 0x33,
	0xb7, 0x78, 0x6b, 0xc8, 0x19, 0x1f, 0x45, 0x43, 0x50, 0xdf, 0xaa, 0x96, 0xec, 0xef, 0xe9, 0x83,
	0xd8, 0xf9, 0xf3, 0x47, 0x6f, 0x9a, 0xff, 0x9d, 0x80, 0x03, 0x30, 0x25, 0x7f, 0x43, 0xab, 0x35,
	0x1f, 0x7e, 0x55, 0x3b, 0xd9, 0x72, 0x9f, 0x81, 0xf5, 0xef, 0x3a, 0xa4, 0x96, 0x5e, 0x1c, 0xb0,
	0x0e, 0x8d, 0x93, 0xda, 0xcd, 0xda, 0x2e, 0x0d, 0x59, 0x1c, 0xb4, 0x06, 0x8c, 0xf2, 0x8d, 0xae,
	0xc3, 0x58, 0x94, 0x6c, 0x7b, 0xde, 0xb8, 0x9f, 0xeb, 0xaa, 0x0b, 0x1d, 0xd2, 0xeb, 0xd1, 0x2f,
	0x32, 0x80, 0xc7, 0x6d, 0x7d, 0xb4, 0xd5, 0xd8, 0xac, 0x4e, 0xdf, 0xde, 0xba, 0xdb, 0xd8, 0x6c,
	0x6c, 0x36, 0x6e, 0x6f, 0xdf, 0xbd, 0xf3, 0xab, 0xcd, 0xba, 0xe3, 0x6c, 0xcd, 0xa2, 0x28, 0xea,
	0x29, 0x8f, 0xe8, 0x3d, 0x4f, 0x68, 0xb8, 0x9d, 0xbb, 0xf2, 0xf4, 0xb7, 0x60, 0x46, 0x3f, 0x26,
	0x9f, 0xb8, 0xe4, 0x8c, 0xec, 0x2c, 0x60, 0xcd, 0xdc, 0x79, 0xa6, 0x2f, 0x4d, 0x54, 0x2f, 0x71,
	0xb1, 0xcf, 0xba, 0xe4, 0x55, 0x6d, 0x42, 0x9d, 0xb3, 0x67, 0xf1, 0xf1, 0x36, 0x58, 0x51, 0x5f,
	0x35, 0x21, 0xf1, 0x09, 0x89, 0x6b, 0x3e, 0xc5, 0x03, 0xfe, 0xb0, 0xa4, 0x57, 0x5d, 0x49, 0xbf,
	0xa8, 0xf9, 0x25, 0x3c, 0x9f, 0xe2, 0x04, 0x2c, 0x63, 0xda, 0x6f, 0x68, 0x40, 0xb6, 0x3e, 0x3b,
	0xea, 0xa1, 0x36, 0xa3, 0x60, 0x3f, 0x8e, 0xf0, 0x43, 0xe7, 0xe9, 0x45, 0xf5, 0xe3, 0xea, 0xdb,
	0x89, 0x9f, 0x1f, 0x3e, 0x78, 0xb8, 0xf3, 0xcf, 0x09, 0xf5, 0xd3, 0x65, 0xeb, 0x82, 0x68, 0xac,
	0x3b, 0x3f, 0x05, 0x00, 0x00, 0xff, 0xff, 0xee, 0x56, 0xbf, 0x04, 0x86, 0x1d, 0x00, 0x00,
}

// Reference imports to suppress errors if they are not otherwise used.
var _ context.Context
var _ grpc.ClientConn

// This is a compile-time assertion to ensure that this generated file
// is compatible with the grpc package it is being compiled against.
const _ = grpc.SupportPackageIsVersion4

// NakamaClient is the client API for Nakama service.
//
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
type NakamaClient interface {
	// Add friends by ID or username to a user's account.
	AddFriends(ctx context.Context, in *api.AddFriendsRequest, opts ...grpc.CallOption) (*empty.Empty, error)
	// Add users to a group.
	AddGroupUsers(ctx context.Context, in *api.AddGroupUsersRequest, opts ...grpc.CallOption) (*empty.Empty, error)
	// Authenticate a user with a custom id against the server.
	AuthenticateCustom(ctx context.Context, in *api.AuthenticateCustomRequest, opts ...grpc.CallOption) (*api.Session, error)
	// Authenticate a user with a device id against the server.
	AuthenticateDevice(ctx context.Context, in *api.AuthenticateDeviceRequest, opts ...grpc.CallOption) (*api.Session, error)
	// Authenticate a user with an email+password against the server.
	AuthenticateEmail(ctx context.Context, in *api.AuthenticateEmailRequest, opts ...grpc.CallOption) (*api.Session, error)
	// Authenticate a user with a Facebook OAuth token against the server.
	AuthenticateFacebook(ctx context.Context, in *api.AuthenticateFacebookRequest, opts ...grpc.CallOption) (*api.Session, error)
	// Authenticate a user with Apple's GameCenter against the server.
	AuthenticateGameCenter(ctx context.Context, in *api.AuthenticateGameCenterRequest, opts ...grpc.CallOption) (*api.Session, error)
	// Authenticate a user with Google against the server.
	AuthenticateGoogle(ctx context.Context, in *api.AuthenticateGoogleRequest, opts ...grpc.CallOption) (*api.Session, error)
	// Authenticate a user with Steam against the server.
	AuthenticateSteam(ctx context.Context, in *api.AuthenticateSteamRequest, opts ...grpc.CallOption) (*api.Session, error)
	// Block one or more users by ID or username.
	BlockFriends(ctx context.Context, in *api.BlockFriendsRequest, opts ...grpc.CallOption) (*empty.Empty, error)
	// Create a new group with the current user as the owner.
	CreateGroup(ctx context.Context, in *api.CreateGroupRequest, opts ...grpc.CallOption) (*api.Group, error)
	// Delete one or more users by ID or username.
	DeleteFriends(ctx context.Context, in *api.DeleteFriendsRequest, opts ...grpc.CallOption) (*empty.Empty, error)
	// Delete a group by ID.
	DeleteGroup(ctx context.Context, in *api.DeleteGroupRequest, opts ...grpc.CallOption) (*empty.Empty, error)
	// Delete a leaderboard record.
	DeleteLeaderboardRecord(ctx context.Context, in *api.DeleteLeaderboardRecordRequest, opts ...grpc.CallOption) (*empty.Empty, error)
	// Delete one or more notifications for the current user.
	DeleteNotifications(ctx context.Context, in *api.DeleteNotificationsRequest, opts ...grpc.CallOption) (*empty.Empty, error)
	// Delete one or more objects by ID or username.
	DeleteStorageObjects(ctx context.Context, in *api.DeleteStorageObjectsRequest, opts ...grpc.CallOption) (*empty.Empty, error)
	// Fetch the current user's account.
	GetAccount(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*api.Account, error)
	// Fetch zero or more users by ID and/or username.
	GetUsers(ctx context.Context, in *api.GetUsersRequest, opts ...grpc.CallOption) (*api.Users, error)
	// A healthcheck which load balancers can use to check the service.
	Healthcheck(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*empty.Empty, error)
	// Import Facebook friends and add them to a user's account.
	ImportFacebookFriends(ctx context.Context, in *api.ImportFacebookFriendsRequest, opts ...grpc.CallOption) (*empty.Empty, error)
	// Immediately join an open group, or request to join a closed one.
	JoinGroup(ctx context.Context, in *api.JoinGroupRequest, opts ...grpc.CallOption) (*empty.Empty, error)
	// Attempt to join an open and running tournament.
	JoinTournament(ctx context.Context, in *api.JoinTournamentRequest, opts ...grpc.CallOption) (*empty.Empty, error)
	// Kick a set of users from a group.
	KickGroupUsers(ctx context.Context, in *api.KickGroupUsersRequest, opts ...grpc.CallOption) (*empty.Empty, error)
	// Leave a group the user is a member of.
	LeaveGroup(ctx context.Context, in *api.LeaveGroupRequest, opts ...grpc.CallOption) (*empty.Empty, error)
	// Add a custom ID to the social profiles on the current user's account.
	LinkCustom(ctx context.Context, in *api.AccountCustom, opts ...grpc.CallOption) (*empty.Empty, error)
	// Add a device ID to the social profiles on the current user's account.
	LinkDevice(ctx context.Context, in *api.AccountDevice, opts ...grpc.CallOption) (*empty.Empty, error)
	// Add an email+password to the social profiles on the current user's account.
	LinkEmail(ctx context.Context, in *api.AccountEmail, opts ...grpc.CallOption) (*empty.Empty, error)
	// Add Facebook to the social profiles on the current user's account.
	LinkFacebook(ctx context.Context, in *api.LinkFacebookRequest, opts ...grpc.CallOption) (*empty.Empty, error)
	// Add Apple's GameCenter to the social profiles on the current user's account.
	LinkGameCenter(ctx context.Context, in *api.AccountGameCenter, opts ...grpc.CallOption) (*empty.Empty, error)
	// Add Google to the social profiles on the current user's account.
	LinkGoogle(ctx context.Context, in *api.AccountGoogle, opts ...grpc.CallOption) (*empty.Empty, error)
	// Add Steam to the social profiles on the current user's account.
	LinkSteam(ctx context.Context, in *api.AccountSteam, opts ...grpc.CallOption) (*empty.Empty, error)
	// List a channel's message history.
	ListChannelMessages(ctx context.Context, in *api.ListChannelMessagesRequest, opts ...grpc.CallOption) (*api.ChannelMessageList, error)
	// List all friends for the current user.
	ListFriends(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*api.Friends, error)
	// List groups based on given filters.
	ListGroups(ctx context.Context, in *api.ListGroupsRequest, opts ...grpc.CallOption) (*api.GroupList, error)
	// List all users that are part of a group.
	ListGroupUsers(ctx context.Context, in *api.ListGroupUsersRequest, opts ...grpc.CallOption) (*api.GroupUserList, error)
	// List leaderboard records.
	ListLeaderboardRecords(ctx context.Context, in *api.ListLeaderboardRecordsRequest, opts ...grpc.CallOption) (*api.LeaderboardRecordList, error)
	// List leaderboard records that belong to a user.
	ListLeaderboardRecordsAroundOwner(ctx context.Context, in *api.ListLeaderboardRecordsAroundOwnerRequest, opts ...grpc.CallOption) (*api.LeaderboardRecordList, error)
	// Fetch list of running matches.
	ListMatches(ctx context.Context, in *api.ListMatchesRequest, opts ...grpc.CallOption) (*api.MatchList, error)
	// Fetch list of notifications.
	ListNotifications(ctx context.Context, in *api.ListNotificationsRequest, opts ...grpc.CallOption) (*api.NotificationList, error)
	// List publicly readable storage objects in a given collection.
	ListStorageObjects(ctx context.Context, in *api.ListStorageObjectsRequest, opts ...grpc.CallOption) (*api.StorageObjectList, error)
	// List current or upcoming tournaments.
	ListTournaments(ctx context.Context, in *api.ListTournamentsRequest, opts ...grpc.CallOption) (*api.TournamentList, error)
	// List tournament records.
	ListTournamentRecords(ctx context.Context, in *api.ListTournamentRecordsRequest, opts ...grpc.CallOption) (*api.TournamentRecordList, error)
	// List tournament records for a given owner.
	ListTournamentRecordsAroundOwner(ctx context.Context, in *api.ListTournamentRecordsAroundOwnerRequest, opts ...grpc.CallOption) (*api.TournamentRecordList, error)
	// List groups the current user belongs to.
	ListUserGroups(ctx context.Context, in *api.ListUserGroupsRequest, opts ...grpc.CallOption) (*api.UserGroupList, error)
	// Promote a set of users in a group to the next role up.
	PromoteGroupUsers(ctx context.Context, in *api.PromoteGroupUsersRequest, opts ...grpc.CallOption) (*empty.Empty, error)
	// Get storage objects.
	ReadStorageObjects(ctx context.Context, in *api.ReadStorageObjectsRequest, opts ...grpc.CallOption) (*api.StorageObjects, error)
	// Execute a Lua function on the server.
	RpcFunc(ctx context.Context, in *api.Rpc, opts ...grpc.CallOption) (*api.Rpc, error)
	// Remove the custom ID from the social profiles on the current user's account.
	UnlinkCustom(ctx context.Context, in *api.AccountCustom, opts ...grpc.CallOption) (*empty.Empty, error)
	// Remove the device ID from the social profiles on the current user's account.
	UnlinkDevice(ctx context.Context, in *api.AccountDevice, opts ...grpc.CallOption) (*empty.Empty, error)
	// Remove the email+password from the social profiles on the current user's account.
	UnlinkEmail(ctx context.Context, in *api.AccountEmail, opts ...grpc.CallOption) (*empty.Empty, error)
	// Remove Facebook from the social profiles on the current user's account.
	UnlinkFacebook(ctx context.Context, in *api.AccountFacebook, opts ...grpc.CallOption) (*empty.Empty, error)
	// Remove Apple's GameCenter from the social profiles on the current user's account.
	UnlinkGameCenter(ctx context.Context, in *api.AccountGameCenter, opts ...grpc.CallOption) (*empty.Empty, error)
	// Remove Google from the social profiles on the current user's account.
	UnlinkGoogle(ctx context.Context, in *api.AccountGoogle, opts ...grpc.CallOption) (*empty.Empty, error)
	// Remove Steam from the social profiles on the current user's account.
	UnlinkSteam(ctx context.Context, in *api.AccountSteam, opts ...grpc.CallOption) (*empty.Empty, error)
	// Update fields in the current user's account.
	UpdateAccount(ctx context.Context, in *api.UpdateAccountRequest, opts ...grpc.CallOption) (*empty.Empty, error)
	// Update fields in a given group.
	UpdateGroup(ctx context.Context, in *api.UpdateGroupRequest, opts ...grpc.CallOption) (*empty.Empty, error)
	// Write a record to a leaderboard.
	WriteLeaderboardRecord(ctx context.Context, in *api.WriteLeaderboardRecordRequest, opts ...grpc.CallOption) (*api.LeaderboardRecord, error)
	// Write objects into the storage engine.
	WriteStorageObjects(ctx context.Context, in *api.WriteStorageObjectsRequest, opts ...grpc.CallOption) (*api.StorageObjectAcks, error)
	// Write a record to a tournament.
	WriteTournamentRecord(ctx context.Context, in *api.WriteTournamentRecordRequest, opts ...grpc.CallOption) (*api.LeaderboardRecord, error)
}

type nakamaClient struct {
	cc *grpc.ClientConn
}

func NewNakamaClient(cc *grpc.ClientConn) NakamaClient {
	return &nakamaClient{cc}
}

func (c *nakamaClient) AddFriends(ctx context.Context, in *api.AddFriendsRequest, opts ...grpc.CallOption) (*empty.Empty, error) {
	out := new(empty.Empty)
	err := c.cc.Invoke(ctx, "/nakama.api.Nakama/AddFriends", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nakamaClient) AddGroupUsers(ctx context.Context, in *api.AddGroupUsersRequest, opts ...grpc.CallOption) (*empty.Empty, error) {
	out := new(empty.Empty)
	err := c.cc.Invoke(ctx, "/nakama.api.Nakama/AddGroupUsers", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nakamaClient) AuthenticateCustom(ctx context.Context, in *api.AuthenticateCustomRequest, opts ...grpc.CallOption) (*api.Session, error) {
	out := new(api.Session)
	err := c.cc.Invoke(ctx, "/nakama.api.Nakama/AuthenticateCustom", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nakamaClient) AuthenticateDevice(ctx context.Context, in *api.AuthenticateDeviceRequest, opts ...grpc.CallOption) (*api.Session, error) {
	out := new(api.Session)
	err := c.cc.Invoke(ctx, "/nakama.api.Nakama/AuthenticateDevice", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nakamaClient) AuthenticateEmail(ctx context.Context, in *api.AuthenticateEmailRequest, opts ...grpc.CallOption) (*api.Session, error) {
	out := new(api.Session)
	err := c.cc.Invoke(ctx, "/nakama.api.Nakama/AuthenticateEmail", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nakamaClient) AuthenticateFacebook(ctx context.Context, in *api.AuthenticateFacebookRequest, opts ...grpc.CallOption) (*api.Session, error) {
	out := new(api.Session)
	err := c.cc.Invoke(ctx, "/nakama.api.Nakama/AuthenticateFacebook", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nakamaClient) AuthenticateGameCenter(ctx context.Context, in *api.AuthenticateGameCenterRequest, opts ...grpc.CallOption) (*api.Session, error) {
	out := new(api.Session)
	err := c.cc.Invoke(ctx, "/nakama.api.Nakama/AuthenticateGameCenter", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nakamaClient) AuthenticateGoogle(ctx context.Context, in *api.AuthenticateGoogleRequest, opts ...grpc.CallOption) (*api.Session, error) {
	out := new(api.Session)
	err := c.cc.Invoke(ctx, "/nakama.api.Nakama/AuthenticateGoogle", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nakamaClient) AuthenticateSteam(ctx context.Context, in *api.AuthenticateSteamRequest, opts ...grpc.CallOption) (*api.Session, error) {
	out := new(api.Session)
	err := c.cc.Invoke(ctx, "/nakama.api.Nakama/AuthenticateSteam", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nakamaClient) BlockFriends(ctx context.Context, in *api.BlockFriendsRequest, opts ...grpc.CallOption) (*empty.Empty, error) {
	out := new(empty.Empty)
	err := c.cc.Invoke(ctx, "/nakama.api.Nakama/BlockFriends", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nakamaClient) CreateGroup(ctx context.Context, in *api.CreateGroupRequest, opts ...grpc.CallOption) (*api.Group, error) {
	out := new(api.Group)
	err := c.cc.Invoke(ctx, "/nakama.api.Nakama/CreateGroup", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nakamaClient) DeleteFriends(ctx context.Context, in *api.DeleteFriendsRequest, opts ...grpc.CallOption) (*empty.Empty, error) {
	out := new(empty.Empty)
	err := c.cc.Invoke(ctx, "/nakama.api.Nakama/DeleteFriends", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nakamaClient) DeleteGroup(ctx context.Context, in *api.DeleteGroupRequest, opts ...grpc.CallOption) (*empty.Empty, error) {
	out := new(empty.Empty)
	err := c.cc.Invoke(ctx, "/nakama.api.Nakama/DeleteGroup", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nakamaClient) DeleteLeaderboardRecord(ctx context.Context, in *api.DeleteLeaderboardRecordRequest, opts ...grpc.CallOption) (*empty.Empty, error) {
	out := new(empty.Empty)
	err := c.cc.Invoke(ctx, "/nakama.api.Nakama/DeleteLeaderboardRecord", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nakamaClient) DeleteNotifications(ctx context.Context, in *api.DeleteNotificationsRequest, opts ...grpc.CallOption) (*empty.Empty, error) {
	out := new(empty.Empty)
	err := c.cc.Invoke(ctx, "/nakama.api.Nakama/DeleteNotifications", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nakamaClient) DeleteStorageObjects(ctx context.Context, in *api.DeleteStorageObjectsRequest, opts ...grpc.CallOption) (*empty.Empty, error) {
	out := new(empty.Empty)
	err := c.cc.Invoke(ctx, "/nakama.api.Nakama/DeleteStorageObjects", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nakamaClient) GetAccount(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*api.Account, error) {
	out := new(api.Account)
	err := c.cc.Invoke(ctx, "/nakama.api.Nakama/GetAccount", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nakamaClient) GetUsers(ctx context.Context, in *api.GetUsersRequest, opts ...grpc.CallOption) (*api.Users, error) {
	out := new(api.Users)
	err := c.cc.Invoke(ctx, "/nakama.api.Nakama/GetUsers", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nakamaClient) Healthcheck(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*empty.Empty, error) {
	out := new(empty.Empty)
	err := c.cc.Invoke(ctx, "/nakama.api.Nakama/Healthcheck", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nakamaClient) ImportFacebookFriends(ctx context.Context, in *api.ImportFacebookFriendsRequest, opts ...grpc.CallOption) (*empty.Empty, error) {
	out := new(empty.Empty)
	err := c.cc.Invoke(ctx, "/nakama.api.Nakama/ImportFacebookFriends", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nakamaClient) JoinGroup(ctx context.Context, in *api.JoinGroupRequest, opts ...grpc.CallOption) (*empty.Empty, error) {
	out := new(empty.Empty)
	err := c.cc.Invoke(ctx, "/nakama.api.Nakama/JoinGroup", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nakamaClient) JoinTournament(ctx context.Context, in *api.JoinTournamentRequest, opts ...grpc.CallOption) (*empty.Empty, error) {
	out := new(empty.Empty)
	err := c.cc.Invoke(ctx, "/nakama.api.Nakama/JoinTournament", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nakamaClient) KickGroupUsers(ctx context.Context, in *api.KickGroupUsersRequest, opts ...grpc.CallOption) (*empty.Empty, error) {
	out := new(empty.Empty)
	err := c.cc.Invoke(ctx, "/nakama.api.Nakama/KickGroupUsers", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nakamaClient) LeaveGroup(ctx context.Context, in *api.LeaveGroupRequest, opts ...grpc.CallOption) (*empty.Empty, error) {
	out := new(empty.Empty)
	err := c.cc.Invoke(ctx, "/nakama.api.Nakama/LeaveGroup", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nakamaClient) LinkCustom(ctx context.Context, in *api.AccountCustom, opts ...grpc.CallOption) (*empty.Empty, error) {
	out := new(empty.Empty)
	err := c.cc.Invoke(ctx, "/nakama.api.Nakama/LinkCustom", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nakamaClient) LinkDevice(ctx context.Context, in *api.AccountDevice, opts ...grpc.CallOption) (*empty.Empty, error) {
	out := new(empty.Empty)
	err := c.cc.Invoke(ctx, "/nakama.api.Nakama/LinkDevice", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nakamaClient) LinkEmail(ctx context.Context, in *api.AccountEmail, opts ...grpc.CallOption) (*empty.Empty, error) {
	out := new(empty.Empty)
	err := c.cc.Invoke(ctx, "/nakama.api.Nakama/LinkEmail", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nakamaClient) LinkFacebook(ctx context.Context, in *api.LinkFacebookRequest, opts ...grpc.CallOption) (*empty.Empty, error) {
	out := new(empty.Empty)
	err := c.cc.Invoke(ctx, "/nakama.api.Nakama/LinkFacebook", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nakamaClient) LinkGameCenter(ctx context.Context, in *api.AccountGameCenter, opts ...grpc.CallOption) (*empty.Empty, error) {
	out := new(empty.Empty)
	err := c.cc.Invoke(ctx, "/nakama.api.Nakama/LinkGameCenter", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nakamaClient) LinkGoogle(ctx context.Context, in *api.AccountGoogle, opts ...grpc.CallOption) (*empty.Empty, error) {
	out := new(empty.Empty)
	err := c.cc.Invoke(ctx, "/nakama.api.Nakama/LinkGoogle", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nakamaClient) LinkSteam(ctx context.Context, in *api.AccountSteam, opts ...grpc.CallOption) (*empty.Empty, error) {
	out := new(empty.Empty)
	err := c.cc.Invoke(ctx, "/nakama.api.Nakama/LinkSteam", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nakamaClient) ListChannelMessages(ctx context.Context, in *api.ListChannelMessagesRequest, opts ...grpc.CallOption) (*api.ChannelMessageList, error) {
	out := new(api.ChannelMessageList)
	err := c.cc.Invoke(ctx, "/nakama.api.Nakama/ListChannelMessages", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nakamaClient) ListFriends(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*api.Friends, error) {
	out := new(api.Friends)
	err := c.cc.Invoke(ctx, "/nakama.api.Nakama/ListFriends", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nakamaClient) ListGroups(ctx context.Context, in *api.ListGroupsRequest, opts ...grpc.CallOption) (*api.GroupList, error) {
	out := new(api.GroupList)
	err := c.cc.Invoke(ctx, "/nakama.api.Nakama/ListGroups", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nakamaClient) ListGroupUsers(ctx context.Context, in *api.ListGroupUsersRequest, opts ...grpc.CallOption) (*api.GroupUserList, error) {
	out := new(api.GroupUserList)
	err := c.cc.Invoke(ctx, "/nakama.api.Nakama/ListGroupUsers", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nakamaClient) ListLeaderboardRecords(ctx context.Context, in *api.ListLeaderboardRecordsRequest, opts ...grpc.CallOption) (*api.LeaderboardRecordList, error) {
	out := new(api.LeaderboardRecordList)
	err := c.cc.Invoke(ctx, "/nakama.api.Nakama/ListLeaderboardRecords", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nakamaClient) ListLeaderboardRecordsAroundOwner(ctx context.Context, in *api.ListLeaderboardRecordsAroundOwnerRequest, opts ...grpc.CallOption) (*api.LeaderboardRecordList, error) {
	out := new(api.LeaderboardRecordList)
	err := c.cc.Invoke(ctx, "/nakama.api.Nakama/ListLeaderboardRecordsAroundOwner", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nakamaClient) ListMatches(ctx context.Context, in *api.ListMatchesRequest, opts ...grpc.CallOption) (*api.MatchList, error) {
	out := new(api.MatchList)
	err := c.cc.Invoke(ctx, "/nakama.api.Nakama/ListMatches", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nakamaClient) ListNotifications(ctx context.Context, in *api.ListNotificationsRequest, opts ...grpc.CallOption) (*api.NotificationList, error) {
	out := new(api.NotificationList)
	err := c.cc.Invoke(ctx, "/nakama.api.Nakama/ListNotifications", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nakamaClient) ListStorageObjects(ctx context.Context, in *api.ListStorageObjectsRequest, opts ...grpc.CallOption) (*api.StorageObjectList, error) {
	out := new(api.StorageObjectList)
	err := c.cc.Invoke(ctx, "/nakama.api.Nakama/ListStorageObjects", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nakamaClient) ListTournaments(ctx context.Context, in *api.ListTournamentsRequest, opts ...grpc.CallOption) (*api.TournamentList, error) {
	out := new(api.TournamentList)
	err := c.cc.Invoke(ctx, "/nakama.api.Nakama/ListTournaments", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nakamaClient) ListTournamentRecords(ctx context.Context, in *api.ListTournamentRecordsRequest, opts ...grpc.CallOption) (*api.TournamentRecordList, error) {
	out := new(api.TournamentRecordList)
	err := c.cc.Invoke(ctx, "/nakama.api.Nakama/ListTournamentRecords", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nakamaClient) ListTournamentRecordsAroundOwner(ctx context.Context, in *api.ListTournamentRecordsAroundOwnerRequest, opts ...grpc.CallOption) (*api.TournamentRecordList, error) {
	out := new(api.TournamentRecordList)
	err := c.cc.Invoke(ctx, "/nakama.api.Nakama/ListTournamentRecordsAroundOwner", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nakamaClient) ListUserGroups(ctx context.Context, in *api.ListUserGroupsRequest, opts ...grpc.CallOption) (*api.UserGroupList, error) {
	out := new(api.UserGroupList)
	err := c.cc.Invoke(ctx, "/nakama.api.Nakama/ListUserGroups", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nakamaClient) PromoteGroupUsers(ctx context.Context, in *api.PromoteGroupUsersRequest, opts ...grpc.CallOption) (*empty.Empty, error) {
	out := new(empty.Empty)
	err := c.cc.Invoke(ctx, "/nakama.api.Nakama/PromoteGroupUsers", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nakamaClient) ReadStorageObjects(ctx context.Context, in *api.ReadStorageObjectsRequest, opts ...grpc.CallOption) (*api.StorageObjects, error) {
	out := new(api.StorageObjects)
	err := c.cc.Invoke(ctx, "/nakama.api.Nakama/ReadStorageObjects", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nakamaClient) RpcFunc(ctx context.Context, in *api.Rpc, opts ...grpc.CallOption) (*api.Rpc, error) {
	out := new(api.Rpc)
	err := c.cc.Invoke(ctx, "/nakama.api.Nakama/RpcFunc", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nakamaClient) UnlinkCustom(ctx context.Context, in *api.AccountCustom, opts ...grpc.CallOption) (*empty.Empty, error) {
	out := new(empty.Empty)
	err := c.cc.Invoke(ctx, "/nakama.api.Nakama/UnlinkCustom", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nakamaClient) UnlinkDevice(ctx context.Context, in *api.AccountDevice, opts ...grpc.CallOption) (*empty.Empty, error) {
	out := new(empty.Empty)
	err := c.cc.Invoke(ctx, "/nakama.api.Nakama/UnlinkDevice", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nakamaClient) UnlinkEmail(ctx context.Context, in *api.AccountEmail, opts ...grpc.CallOption) (*empty.Empty, error) {
	out := new(empty.Empty)
	err := c.cc.Invoke(ctx, "/nakama.api.Nakama/UnlinkEmail", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nakamaClient) UnlinkFacebook(ctx context.Context, in *api.AccountFacebook, opts ...grpc.CallOption) (*empty.Empty, error) {
	out := new(empty.Empty)
	err := c.cc.Invoke(ctx, "/nakama.api.Nakama/UnlinkFacebook", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nakamaClient) UnlinkGameCenter(ctx context.Context, in *api.AccountGameCenter, opts ...grpc.CallOption) (*empty.Empty, error) {
	out := new(empty.Empty)
	err := c.cc.Invoke(ctx, "/nakama.api.Nakama/UnlinkGameCenter", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nakamaClient) UnlinkGoogle(ctx context.Context, in *api.AccountGoogle, opts ...grpc.CallOption) (*empty.Empty, error) {
	out := new(empty.Empty)
	err := c.cc.Invoke(ctx, "/nakama.api.Nakama/UnlinkGoogle", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nakamaClient) UnlinkSteam(ctx context.Context, in *api.AccountSteam, opts ...grpc.CallOption) (*empty.Empty, error) {
	out := new(empty.Empty)
	err := c.cc.Invoke(ctx, "/nakama.api.Nakama/UnlinkSteam", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nakamaClient) UpdateAccount(ctx context.Context, in *api.UpdateAccountRequest, opts ...grpc.CallOption) (*empty.Empty, error) {
	out := new(empty.Empty)
	err := c.cc.Invoke(ctx, "/nakama.api.Nakama/UpdateAccount", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nakamaClient) UpdateGroup(ctx context.Context, in *api.UpdateGroupRequest, opts ...grpc.CallOption) (*empty.Empty, error) {
	out := new(empty.Empty)
	err := c.cc.Invoke(ctx, "/nakama.api.Nakama/UpdateGroup", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nakamaClient) WriteLeaderboardRecord(ctx context.Context, in *api.WriteLeaderboardRecordRequest, opts ...grpc.CallOption) (*api.LeaderboardRecord, error) {
	out := new(api.LeaderboardRecord)
	err := c.cc.Invoke(ctx, "/nakama.api.Nakama/WriteLeaderboardRecord", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nakamaClient) WriteStorageObjects(ctx context.Context, in *api.WriteStorageObjectsRequest, opts ...grpc.CallOption) (*api.StorageObjectAcks, error) {
	out := new(api.StorageObjectAcks)
	err := c.cc.Invoke(ctx, "/nakama.api.Nakama/WriteStorageObjects", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *nakamaClient) WriteTournamentRecord(ctx context.Context, in *api.WriteTournamentRecordRequest, opts ...grpc.CallOption) (*api.LeaderboardRecord, error) {
	out := new(api.LeaderboardRecord)
	err := c.cc.Invoke(ctx, "/nakama.api.Nakama/WriteTournamentRecord", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

// NakamaServer is the server API for Nakama service.
type NakamaServer interface {
	// Add friends by ID or username to a user's account.
	AddFriends(context.Context, *api.AddFriendsRequest) (*empty.Empty, error)
	// Add users to a group.
	AddGroupUsers(context.Context, *api.AddGroupUsersRequest) (*empty.Empty, error)
	// Authenticate a user with a custom id against the server.
	AuthenticateCustom(context.Context, *api.AuthenticateCustomRequest) (*api.Session, error)
	// Authenticate a user with a device id against the server.
	AuthenticateDevice(context.Context, *api.AuthenticateDeviceRequest) (*api.Session, error)
	// Authenticate a user with an email+password against the server.
	AuthenticateEmail(context.Context, *api.AuthenticateEmailRequest) (*api.Session, error)
	// Authenticate a user with a Facebook OAuth token against the server.
	AuthenticateFacebook(context.Context, *api.AuthenticateFacebookRequest) (*api.Session, error)
	// Authenticate a user with Apple's GameCenter against the server.
	AuthenticateGameCenter(context.Context, *api.AuthenticateGameCenterRequest) (*api.Session, error)
	// Authenticate a user with Google against the server.
	AuthenticateGoogle(context.Context, *api.AuthenticateGoogleRequest) (*api.Session, error)
	// Authenticate a user with Steam against the server.
	AuthenticateSteam(context.Context, *api.AuthenticateSteamRequest) (*api.Session, error)
	// Block one or more users by ID or username.
	BlockFriends(context.Context, *api.BlockFriendsRequest) (*empty.Empty, error)
	// Create a new group with the current user as the owner.
	CreateGroup(context.Context, *api.CreateGroupRequest) (*api.Group, error)
	// Delete one or more users by ID or username.
	DeleteFriends(context.Context, *api.DeleteFriendsRequest) (*empty.Empty, error)
	// Delete a group by ID.
	DeleteGroup(context.Context, *api.DeleteGroupRequest) (*empty.Empty, error)
	// Delete a leaderboard record.
	DeleteLeaderboardRecord(context.Context, *api.DeleteLeaderboardRecordRequest) (*empty.Empty, error)
	// Delete one or more notifications for the current user.
	DeleteNotifications(context.Context, *api.DeleteNotificationsRequest) (*empty.Empty, error)
	// Delete one or more objects by ID or username.
	DeleteStorageObjects(context.Context, *api.DeleteStorageObjectsRequest) (*empty.Empty, error)
	// Fetch the current user's account.
	GetAccount(context.Context, *empty.Empty) (*api.Account, error)
	// Fetch zero or more users by ID and/or username.
	GetUsers(context.Context, *api.GetUsersRequest) (*api.Users, error)
	// A healthcheck which load balancers can use to check the service.
	Healthcheck(context.Context, *empty.Empty) (*empty.Empty, error)
	// Import Facebook friends and add them to a user's account.
	ImportFacebookFriends(context.Context, *api.ImportFacebookFriendsRequest) (*empty.Empty, error)
	// Immediately join an open group, or request to join a closed one.
	JoinGroup(context.Context, *api.JoinGroupRequest) (*empty.Empty, error)
	// Attempt to join an open and running tournament.
	JoinTournament(context.Context, *api.JoinTournamentRequest) (*empty.Empty, error)
	// Kick a set of users from a group.
	KickGroupUsers(context.Context, *api.KickGroupUsersRequest) (*empty.Empty, error)
	// Leave a group the user is a member of.
	LeaveGroup(context.Context, *api.LeaveGroupRequest) (*empty.Empty, error)
	// Add a custom ID to the social profiles on the current user's account.
	LinkCustom(context.Context, *api.AccountCustom) (*empty.Empty, error)
	// Add a device ID to the social profiles on the current user's account.
	LinkDevice(context.Context, *api.AccountDevice) (*empty.Empty, error)
	// Add an email+password to the social profiles on the current user's account.
	LinkEmail(context.Context, *api.AccountEmail) (*empty.Empty, error)
	// Add Facebook to the social profiles on the current user's account.
	LinkFacebook(context.Context, *api.LinkFacebookRequest) (*empty.Empty, error)
	// Add Apple's GameCenter to the social profiles on the current user's account.
	LinkGameCenter(context.Context, *api.AccountGameCenter) (*empty.Empty, error)
	// Add Google to the social profiles on the current user's account.
	LinkGoogle(context.Context, *api.AccountGoogle) (*empty.Empty, error)
	// Add Steam to the social profiles on the current user's account.
	LinkSteam(context.Context, *api.AccountSteam) (*empty.Empty, error)
	// List a channel's message history.
	ListChannelMessages(context.Context, *api.ListChannelMessagesRequest) (*api.ChannelMessageList, error)
	// List all friends for the current user.
	ListFriends(context.Context, *empty.Empty) (*api.Friends, error)
	// List groups based on given filters.
	ListGroups(context.Context, *api.ListGroupsRequest) (*api.GroupList, error)
	// List all users that are part of a group.
	ListGroupUsers(context.Context, *api.ListGroupUsersRequest) (*api.GroupUserList, error)
	// List leaderboard records.
	ListLeaderboardRecords(context.Context, *api.ListLeaderboardRecordsRequest) (*api.LeaderboardRecordList, error)
	// List leaderboard records that belong to a user.
	ListLeaderboardRecordsAroundOwner(context.Context, *api.ListLeaderboardRecordsAroundOwnerRequest) (*api.LeaderboardRecordList, error)
	// Fetch list of running matches.
	ListMatches(context.Context, *api.ListMatchesRequest) (*api.MatchList, error)
	// Fetch list of notifications.
	ListNotifications(context.Context, *api.ListNotificationsRequest) (*api.NotificationList, error)
	// List publicly readable storage objects in a given collection.
	ListStorageObjects(context.Context, *api.ListStorageObjectsRequest) (*api.StorageObjectList, error)
	// List current or upcoming tournaments.
	ListTournaments(context.Context, *api.ListTournamentsRequest) (*api.TournamentList, error)
	// List tournament records.
	ListTournamentRecords(context.Context, *api.ListTournamentRecordsRequest) (*api.TournamentRecordList, error)
	// List tournament records for a given owner.
	ListTournamentRecordsAroundOwner(context.Context, *api.ListTournamentRecordsAroundOwnerRequest) (*api.TournamentRecordList, error)
	// List groups the current user belongs to.
	ListUserGroups(context.Context, *api.ListUserGroupsRequest) (*api.UserGroupList, error)
	// Promote a set of users in a group to the next role up.
	PromoteGroupUsers(context.Context, *api.PromoteGroupUsersRequest) (*empty.Empty, error)
	// Get storage objects.
	ReadStorageObjects(context.Context, *api.ReadStorageObjectsRequest) (*api.StorageObjects, error)
	// Execute a Lua function on the server.
	RpcFunc(context.Context, *api.Rpc) (*api.Rpc, error)
	// Remove the custom ID from the social profiles on the current user's account.
	UnlinkCustom(context.Context, *api.AccountCustom) (*empty.Empty, error)
	// Remove the device ID from the social profiles on the current user's account.
	UnlinkDevice(context.Context, *api.AccountDevice) (*empty.Empty, error)
	// Remove the email+password from the social profiles on the current user's account.
	UnlinkEmail(context.Context, *api.AccountEmail) (*empty.Empty, error)
	// Remove Facebook from the social profiles on the current user's account.
	UnlinkFacebook(context.Context, *api.AccountFacebook) (*empty.Empty, error)
	// Remove Apple's GameCenter from the social profiles on the current user's account.
	UnlinkGameCenter(context.Context, *api.AccountGameCenter) (*empty.Empty, error)
	// Remove Google from the social profiles on the current user's account.
	UnlinkGoogle(context.Context, *api.AccountGoogle) (*empty.Empty, error)
	// Remove Steam from the social profiles on the current user's account.
	UnlinkSteam(context.Context, *api.AccountSteam) (*empty.Empty, error)
	// Update fields in the current user's account.
	UpdateAccount(context.Context, *api.UpdateAccountRequest) (*empty.Empty, error)
	// Update fields in a given group.
	UpdateGroup(context.Context, *api.UpdateGroupRequest) (*empty.Empty, error)
	// Write a record to a leaderboard.
	WriteLeaderboardRecord(context.Context, *api.WriteLeaderboardRecordRequest) (*api.LeaderboardRecord, error)
	// Write objects into the storage engine.
	WriteStorageObjects(context.Context, *api.WriteStorageObjectsRequest) (*api.StorageObjectAcks, error)
	// Write a record to a tournament.
	WriteTournamentRecord(context.Context, *api.WriteTournamentRecordRequest) (*api.LeaderboardRecord, error)
}

func RegisterNakamaServer(s *grpc.Server, srv NakamaServer) {
	s.RegisterService(&_Nakama_serviceDesc, srv)
}

func _Nakama_AddFriends_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(api.AddFriendsRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NakamaServer).AddFriends(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/nakama.api.Nakama/AddFriends",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NakamaServer).AddFriends(ctx, req.(*api.AddFriendsRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Nakama_AddGroupUsers_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(api.AddGroupUsersRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NakamaServer).AddGroupUsers(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/nakama.api.Nakama/AddGroupUsers",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NakamaServer).AddGroupUsers(ctx, req.(*api.AddGroupUsersRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Nakama_AuthenticateCustom_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(api.AuthenticateCustomRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NakamaServer).AuthenticateCustom(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/nakama.api.Nakama/AuthenticateCustom",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NakamaServer).AuthenticateCustom(ctx, req.(*api.AuthenticateCustomRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Nakama_AuthenticateDevice_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(api.AuthenticateDeviceRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NakamaServer).AuthenticateDevice(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/nakama.api.Nakama/AuthenticateDevice",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NakamaServer).AuthenticateDevice(ctx, req.(*api.AuthenticateDeviceRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Nakama_AuthenticateEmail_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(api.AuthenticateEmailRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NakamaServer).AuthenticateEmail(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/nakama.api.Nakama/AuthenticateEmail",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NakamaServer).AuthenticateEmail(ctx, req.(*api.AuthenticateEmailRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Nakama_AuthenticateFacebook_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(api.AuthenticateFacebookRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NakamaServer).AuthenticateFacebook(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/nakama.api.Nakama/AuthenticateFacebook",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NakamaServer).AuthenticateFacebook(ctx, req.(*api.AuthenticateFacebookRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Nakama_AuthenticateGameCenter_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(api.AuthenticateGameCenterRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NakamaServer).AuthenticateGameCenter(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/nakama.api.Nakama/AuthenticateGameCenter",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NakamaServer).AuthenticateGameCenter(ctx, req.(*api.AuthenticateGameCenterRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Nakama_AuthenticateGoogle_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(api.AuthenticateGoogleRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NakamaServer).AuthenticateGoogle(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/nakama.api.Nakama/AuthenticateGoogle",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NakamaServer).AuthenticateGoogle(ctx, req.(*api.AuthenticateGoogleRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Nakama_AuthenticateSteam_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(api.AuthenticateSteamRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NakamaServer).AuthenticateSteam(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/nakama.api.Nakama/AuthenticateSteam",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NakamaServer).AuthenticateSteam(ctx, req.(*api.AuthenticateSteamRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Nakama_BlockFriends_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(api.BlockFriendsRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NakamaServer).BlockFriends(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/nakama.api.Nakama/BlockFriends",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NakamaServer).BlockFriends(ctx, req.(*api.BlockFriendsRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Nakama_CreateGroup_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(api.CreateGroupRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NakamaServer).CreateGroup(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/nakama.api.Nakama/CreateGroup",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NakamaServer).CreateGroup(ctx, req.(*api.CreateGroupRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Nakama_DeleteFriends_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(api.DeleteFriendsRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NakamaServer).DeleteFriends(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/nakama.api.Nakama/DeleteFriends",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NakamaServer).DeleteFriends(ctx, req.(*api.DeleteFriendsRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Nakama_DeleteGroup_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(api.DeleteGroupRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NakamaServer).DeleteGroup(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/nakama.api.Nakama/DeleteGroup",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NakamaServer).DeleteGroup(ctx, req.(*api.DeleteGroupRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Nakama_DeleteLeaderboardRecord_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(api.DeleteLeaderboardRecordRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NakamaServer).DeleteLeaderboardRecord(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/nakama.api.Nakama/DeleteLeaderboardRecord",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NakamaServer).DeleteLeaderboardRecord(ctx, req.(*api.DeleteLeaderboardRecordRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Nakama_DeleteNotifications_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(api.DeleteNotificationsRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NakamaServer).DeleteNotifications(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/nakama.api.Nakama/DeleteNotifications",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NakamaServer).DeleteNotifications(ctx, req.(*api.DeleteNotificationsRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Nakama_DeleteStorageObjects_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(api.DeleteStorageObjectsRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NakamaServer).DeleteStorageObjects(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/nakama.api.Nakama/DeleteStorageObjects",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NakamaServer).DeleteStorageObjects(ctx, req.(*api.DeleteStorageObjectsRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Nakama_GetAccount_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(empty.Empty)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NakamaServer).GetAccount(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/nakama.api.Nakama/GetAccount",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NakamaServer).GetAccount(ctx, req.(*empty.Empty))
	}
	return interceptor(ctx, in, info, handler)
}

func _Nakama_GetUsers_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(api.GetUsersRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NakamaServer).GetUsers(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/nakama.api.Nakama/GetUsers",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NakamaServer).GetUsers(ctx, req.(*api.GetUsersRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Nakama_Healthcheck_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(empty.Empty)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NakamaServer).Healthcheck(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/nakama.api.Nakama/Healthcheck",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NakamaServer).Healthcheck(ctx, req.(*empty.Empty))
	}
	return interceptor(ctx, in, info, handler)
}

func _Nakama_ImportFacebookFriends_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(api.ImportFacebookFriendsRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NakamaServer).ImportFacebookFriends(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/nakama.api.Nakama/ImportFacebookFriends",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NakamaServer).ImportFacebookFriends(ctx, req.(*api.ImportFacebookFriendsRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Nakama_JoinGroup_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(api.JoinGroupRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NakamaServer).JoinGroup(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/nakama.api.Nakama/JoinGroup",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NakamaServer).JoinGroup(ctx, req.(*api.JoinGroupRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Nakama_JoinTournament_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(api.JoinTournamentRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NakamaServer).JoinTournament(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/nakama.api.Nakama/JoinTournament",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NakamaServer).JoinTournament(ctx, req.(*api.JoinTournamentRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Nakama_KickGroupUsers_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(api.KickGroupUsersRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NakamaServer).KickGroupUsers(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/nakama.api.Nakama/KickGroupUsers",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NakamaServer).KickGroupUsers(ctx, req.(*api.KickGroupUsersRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Nakama_LeaveGroup_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(api.LeaveGroupRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NakamaServer).LeaveGroup(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/nakama.api.Nakama/LeaveGroup",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NakamaServer).LeaveGroup(ctx, req.(*api.LeaveGroupRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Nakama_LinkCustom_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(api.AccountCustom)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NakamaServer).LinkCustom(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/nakama.api.Nakama/LinkCustom",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NakamaServer).LinkCustom(ctx, req.(*api.AccountCustom))
	}
	return interceptor(ctx, in, info, handler)
}

func _Nakama_LinkDevice_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(api.AccountDevice)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NakamaServer).LinkDevice(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/nakama.api.Nakama/LinkDevice",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NakamaServer).LinkDevice(ctx, req.(*api.AccountDevice))
	}
	return interceptor(ctx, in, info, handler)
}

func _Nakama_LinkEmail_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(api.AccountEmail)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NakamaServer).LinkEmail(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/nakama.api.Nakama/LinkEmail",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NakamaServer).LinkEmail(ctx, req.(*api.AccountEmail))
	}
	return interceptor(ctx, in, info, handler)
}

func _Nakama_LinkFacebook_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(api.LinkFacebookRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NakamaServer).LinkFacebook(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/nakama.api.Nakama/LinkFacebook",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NakamaServer).LinkFacebook(ctx, req.(*api.LinkFacebookRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Nakama_LinkGameCenter_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(api.AccountGameCenter)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NakamaServer).LinkGameCenter(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/nakama.api.Nakama/LinkGameCenter",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NakamaServer).LinkGameCenter(ctx, req.(*api.AccountGameCenter))
	}
	return interceptor(ctx, in, info, handler)
}

func _Nakama_LinkGoogle_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(api.AccountGoogle)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NakamaServer).LinkGoogle(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/nakama.api.Nakama/LinkGoogle",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NakamaServer).LinkGoogle(ctx, req.(*api.AccountGoogle))
	}
	return interceptor(ctx, in, info, handler)
}

func _Nakama_LinkSteam_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(api.AccountSteam)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NakamaServer).LinkSteam(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/nakama.api.Nakama/LinkSteam",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NakamaServer).LinkSteam(ctx, req.(*api.AccountSteam))
	}
	return interceptor(ctx, in, info, handler)
}

func _Nakama_ListChannelMessages_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(api.ListChannelMessagesRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NakamaServer).ListChannelMessages(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/nakama.api.Nakama/ListChannelMessages",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NakamaServer).ListChannelMessages(ctx, req.(*api.ListChannelMessagesRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Nakama_ListFriends_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(empty.Empty)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NakamaServer).ListFriends(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/nakama.api.Nakama/ListFriends",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NakamaServer).ListFriends(ctx, req.(*empty.Empty))
	}
	return interceptor(ctx, in, info, handler)
}

func _Nakama_ListGroups_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(api.ListGroupsRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NakamaServer).ListGroups(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/nakama.api.Nakama/ListGroups",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NakamaServer).ListGroups(ctx, req.(*api.ListGroupsRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Nakama_ListGroupUsers_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(api.ListGroupUsersRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NakamaServer).ListGroupUsers(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/nakama.api.Nakama/ListGroupUsers",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NakamaServer).ListGroupUsers(ctx, req.(*api.ListGroupUsersRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Nakama_ListLeaderboardRecords_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(api.ListLeaderboardRecordsRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NakamaServer).ListLeaderboardRecords(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/nakama.api.Nakama/ListLeaderboardRecords",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NakamaServer).ListLeaderboardRecords(ctx, req.(*api.ListLeaderboardRecordsRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Nakama_ListLeaderboardRecordsAroundOwner_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(api.ListLeaderboardRecordsAroundOwnerRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NakamaServer).ListLeaderboardRecordsAroundOwner(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/nakama.api.Nakama/ListLeaderboardRecordsAroundOwner",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NakamaServer).ListLeaderboardRecordsAroundOwner(ctx, req.(*api.ListLeaderboardRecordsAroundOwnerRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Nakama_ListMatches_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(api.ListMatchesRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NakamaServer).ListMatches(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/nakama.api.Nakama/ListMatches",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NakamaServer).ListMatches(ctx, req.(*api.ListMatchesRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Nakama_ListNotifications_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(api.ListNotificationsRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NakamaServer).ListNotifications(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/nakama.api.Nakama/ListNotifications",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NakamaServer).ListNotifications(ctx, req.(*api.ListNotificationsRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Nakama_ListStorageObjects_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(api.ListStorageObjectsRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NakamaServer).ListStorageObjects(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/nakama.api.Nakama/ListStorageObjects",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NakamaServer).ListStorageObjects(ctx, req.(*api.ListStorageObjectsRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Nakama_ListTournaments_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(api.ListTournamentsRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NakamaServer).ListTournaments(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/nakama.api.Nakama/ListTournaments",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NakamaServer).ListTournaments(ctx, req.(*api.ListTournamentsRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Nakama_ListTournamentRecords_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(api.ListTournamentRecordsRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NakamaServer).ListTournamentRecords(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/nakama.api.Nakama/ListTournamentRecords",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NakamaServer).ListTournamentRecords(ctx, req.(*api.ListTournamentRecordsRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Nakama_ListTournamentRecordsAroundOwner_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(api.ListTournamentRecordsAroundOwnerRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NakamaServer).ListTournamentRecordsAroundOwner(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/nakama.api.Nakama/ListTournamentRecordsAroundOwner",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NakamaServer).ListTournamentRecordsAroundOwner(ctx, req.(*api.ListTournamentRecordsAroundOwnerRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Nakama_ListUserGroups_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(api.ListUserGroupsRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NakamaServer).ListUserGroups(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/nakama.api.Nakama/ListUserGroups",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NakamaServer).ListUserGroups(ctx, req.(*api.ListUserGroupsRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Nakama_PromoteGroupUsers_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(api.PromoteGroupUsersRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NakamaServer).PromoteGroupUsers(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/nakama.api.Nakama/PromoteGroupUsers",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NakamaServer).PromoteGroupUsers(ctx, req.(*api.PromoteGroupUsersRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Nakama_ReadStorageObjects_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(api.ReadStorageObjectsRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NakamaServer).ReadStorageObjects(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/nakama.api.Nakama/ReadStorageObjects",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NakamaServer).ReadStorageObjects(ctx, req.(*api.ReadStorageObjectsRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Nakama_RpcFunc_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(api.Rpc)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NakamaServer).RpcFunc(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/nakama.api.Nakama/RpcFunc",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NakamaServer).RpcFunc(ctx, req.(*api.Rpc))
	}
	return interceptor(ctx, in, info, handler)
}

func _Nakama_UnlinkCustom_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(api.AccountCustom)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NakamaServer).UnlinkCustom(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/nakama.api.Nakama/UnlinkCustom",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NakamaServer).UnlinkCustom(ctx, req.(*api.AccountCustom))
	}
	return interceptor(ctx, in, info, handler)
}

func _Nakama_UnlinkDevice_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(api.AccountDevice)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NakamaServer).UnlinkDevice(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/nakama.api.Nakama/UnlinkDevice",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NakamaServer).UnlinkDevice(ctx, req.(*api.AccountDevice))
	}
	return interceptor(ctx, in, info, handler)
}

func _Nakama_UnlinkEmail_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(api.AccountEmail)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NakamaServer).UnlinkEmail(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/nakama.api.Nakama/UnlinkEmail",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NakamaServer).UnlinkEmail(ctx, req.(*api.AccountEmail))
	}
	return interceptor(ctx, in, info, handler)
}

func _Nakama_UnlinkFacebook_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(api.AccountFacebook)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NakamaServer).UnlinkFacebook(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/nakama.api.Nakama/UnlinkFacebook",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NakamaServer).UnlinkFacebook(ctx, req.(*api.AccountFacebook))
	}
	return interceptor(ctx, in, info, handler)
}

func _Nakama_UnlinkGameCenter_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(api.AccountGameCenter)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NakamaServer).UnlinkGameCenter(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/nakama.api.Nakama/UnlinkGameCenter",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NakamaServer).UnlinkGameCenter(ctx, req.(*api.AccountGameCenter))
	}
	return interceptor(ctx, in, info, handler)
}

func _Nakama_UnlinkGoogle_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(api.AccountGoogle)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NakamaServer).UnlinkGoogle(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/nakama.api.Nakama/UnlinkGoogle",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NakamaServer).UnlinkGoogle(ctx, req.(*api.AccountGoogle))
	}
	return interceptor(ctx, in, info, handler)
}

func _Nakama_UnlinkSteam_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(api.AccountSteam)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NakamaServer).UnlinkSteam(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/nakama.api.Nakama/UnlinkSteam",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NakamaServer).UnlinkSteam(ctx, req.(*api.AccountSteam))
	}
	return interceptor(ctx, in, info, handler)
}

func _Nakama_UpdateAccount_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(api.UpdateAccountRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NakamaServer).UpdateAccount(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/nakama.api.Nakama/UpdateAccount",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NakamaServer).UpdateAccount(ctx, req.(*api.UpdateAccountRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Nakama_UpdateGroup_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(api.UpdateGroupRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NakamaServer).UpdateGroup(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/nakama.api.Nakama/UpdateGroup",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NakamaServer).UpdateGroup(ctx, req.(*api.UpdateGroupRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Nakama_WriteLeaderboardRecord_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(api.WriteLeaderboardRecordRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NakamaServer).WriteLeaderboardRecord(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/nakama.api.Nakama/WriteLeaderboardRecord",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NakamaServer).WriteLeaderboardRecord(ctx, req.(*api.WriteLeaderboardRecordRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Nakama_WriteStorageObjects_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(api.WriteStorageObjectsRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NakamaServer).WriteStorageObjects(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/nakama.api.Nakama/WriteStorageObjects",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NakamaServer).WriteStorageObjects(ctx, req.(*api.WriteStorageObjectsRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Nakama_WriteTournamentRecord_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(api.WriteTournamentRecordRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NakamaServer).WriteTournamentRecord(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/nakama.api.Nakama/WriteTournamentRecord",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NakamaServer).WriteTournamentRecord(ctx, req.(*api.WriteTournamentRecordRequest))
	}
	return interceptor(ctx, in, info, handler)
}

var _Nakama_serviceDesc = grpc.ServiceDesc{
	ServiceName: "nakama.api.Nakama",
	HandlerType: (*NakamaServer)(nil),
	Methods: []grpc.MethodDesc{
		{
			MethodName: "AddFriends",
			Handler:    _Nakama_AddFriends_Handler,
		},
		{
			MethodName: "AddGroupUsers",
			Handler:    _Nakama_AddGroupUsers_Handler,
		},
		{
			MethodName: "AuthenticateCustom",
			Handler:    _Nakama_AuthenticateCustom_Handler,
		},
		{
			MethodName: "AuthenticateDevice",
			Handler:    _Nakama_AuthenticateDevice_Handler,
		},
		{
			MethodName: "AuthenticateEmail",
			Handler:    _Nakama_AuthenticateEmail_Handler,
		},
		{
			MethodName: "AuthenticateFacebook",
			Handler:    _Nakama_AuthenticateFacebook_Handler,
		},
		{
			MethodName: "AuthenticateGameCenter",
			Handler:    _Nakama_AuthenticateGameCenter_Handler,
		},
		{
			MethodName: "AuthenticateGoogle",
			Handler:    _Nakama_AuthenticateGoogle_Handler,
		},
		{
			MethodName: "AuthenticateSteam",
			Handler:    _Nakama_AuthenticateSteam_Handler,
		},
		{
			MethodName: "BlockFriends",
			Handler:    _Nakama_BlockFriends_Handler,
		},
		{
			MethodName: "CreateGroup",
			Handler:    _Nakama_CreateGroup_Handler,
		},
		{
			MethodName: "DeleteFriends",
			Handler:    _Nakama_DeleteFriends_Handler,
		},
		{
			MethodName: "DeleteGroup",
			Handler:    _Nakama_DeleteGroup_Handler,
		},
		{
			MethodName: "DeleteLeaderboardRecord",
			Handler:    _Nakama_DeleteLeaderboardRecord_Handler,
		},
		{
			MethodName: "DeleteNotifications",
			Handler:    _Nakama_DeleteNotifications_Handler,
		},
		{
			MethodName: "DeleteStorageObjects",
			Handler:    _Nakama_DeleteStorageObjects_Handler,
		},
		{
			MethodName: "GetAccount",
			Handler:    _Nakama_GetAccount_Handler,
		},
		{
			MethodName: "GetUsers",
			Handler:    _Nakama_GetUsers_Handler,
		},
		{
			MethodName: "Healthcheck",
			Handler:    _Nakama_Healthcheck_Handler,
		},
		{
			MethodName: "ImportFacebookFriends",
			Handler:    _Nakama_ImportFacebookFriends_Handler,
		},
		{
			MethodName: "JoinGroup",
			Handler:    _Nakama_JoinGroup_Handler,
		},
		{
			MethodName: "JoinTournament",
			Handler:    _Nakama_JoinTournament_Handler,
		},
		{
			MethodName: "KickGroupUsers",
			Handler:    _Nakama_KickGroupUsers_Handler,
		},
		{
			MethodName: "LeaveGroup",
			Handler:    _Nakama_LeaveGroup_Handler,
		},
		{
			MethodName: "LinkCustom",
			Handler:    _Nakama_LinkCustom_Handler,
		},
		{
			MethodName: "LinkDevice",
			Handler:    _Nakama_LinkDevice_Handler,
		},
		{
			MethodName: "LinkEmail",
			Handler:    _Nakama_LinkEmail_Handler,
		},
		{
			MethodName: "LinkFacebook",
			Handler:    _Nakama_LinkFacebook_Handler,
		},
		{
			MethodName: "LinkGameCenter",
			Handler:    _Nakama_LinkGameCenter_Handler,
		},
		{
			MethodName: "LinkGoogle",
			Handler:    _Nakama_LinkGoogle_Handler,
		},
		{
			MethodName: "LinkSteam",
			Handler:    _Nakama_LinkSteam_Handler,
		},
		{
			MethodName: "ListChannelMessages",
			Handler:    _Nakama_ListChannelMessages_Handler,
		},
		{
			MethodName: "ListFriends",
			Handler:    _Nakama_ListFriends_Handler,
		},
		{
			MethodName: "ListGroups",
			Handler:    _Nakama_ListGroups_Handler,
		},
		{
			MethodName: "ListGroupUsers",
			Handler:    _Nakama_ListGroupUsers_Handler,
		},
		{
			MethodName: "ListLeaderboardRecords",
			Handler:    _Nakama_ListLeaderboardRecords_Handler,
		},
		{
			MethodName: "ListLeaderboardRecordsAroundOwner",
			Handler:    _Nakama_ListLeaderboardRecordsAroundOwner_Handler,
		},
		{
			MethodName: "ListMatches",
			Handler:    _Nakama_ListMatches_Handler,
		},
		{
			MethodName: "ListNotifications",
			Handler:    _Nakama_ListNotifications_Handler,
		},
		{
			MethodName: "ListStorageObjects",
			Handler:    _Nakama_ListStorageObjects_Handler,
		},
		{
			MethodName: "ListTournaments",
			Handler:    _Nakama_ListTournaments_Handler,
		},
		{
			MethodName: "ListTournamentRecords",
			Handler:    _Nakama_ListTournamentRecords_Handler,
		},
		{
			MethodName: "ListTournamentRecordsAroundOwner",
			Handler:    _Nakama_ListTournamentRecordsAroundOwner_Handler,
		},
		{
			MethodName: "ListUserGroups",
			Handler:    _Nakama_ListUserGroups_Handler,
		},
		{
			MethodName: "PromoteGroupUsers",
			Handler:    _Nakama_PromoteGroupUsers_Handler,
		},
		{
			MethodName: "ReadStorageObjects",
			Handler:    _Nakama_ReadStorageObjects_Handler,
		},
		{
			MethodName: "RpcFunc",
			Handler:    _Nakama_RpcFunc_Handler,
		},
		{
			MethodName: "UnlinkCustom",
			Handler:    _Nakama_UnlinkCustom_Handler,
		},
		{
			MethodName: "UnlinkDevice",
			Handler:    _Nakama_UnlinkDevice_Handler,
		},
		{
			MethodName: "UnlinkEmail",
			Handler:    _Nakama_UnlinkEmail_Handler,
		},
		{
			MethodName: "UnlinkFacebook",
			Handler:    _Nakama_UnlinkFacebook_Handler,
		},
		{
			MethodName: "UnlinkGameCenter",
			Handler:    _Nakama_UnlinkGameCenter_Handler,
		},
		{
			MethodName: "UnlinkGoogle",
			Handler:    _Nakama_UnlinkGoogle_Handler,
		},
		{
			MethodName: "UnlinkSteam",
			Handler:    _Nakama_UnlinkSteam_Handler,
		},
		{
			MethodName: "UpdateAccount",
			Handler:    _Nakama_UpdateAccount_Handler,
		},
		{
			MethodName: "UpdateGroup",
			Handler:    _Nakama_UpdateGroup_Handler,
		},
		{
			MethodName: "WriteLeaderboardRecord",
			Handler:    _Nakama_WriteLeaderboardRecord_Handler,
		},
		{
			MethodName: "WriteStorageObjects",
			Handler:    _Nakama_WriteStorageObjects_Handler,
		},
		{
			MethodName: "WriteTournamentRecord",
			Handler:    _Nakama_WriteTournamentRecord_Handler,
		},
	},
	Streams:  []grpc.StreamDesc{},
	Metadata: "apigrpc/apigrpc.proto",
}
