package connserver

import proto "github.com/golang/protobuf/proto"
import fmt "fmt"
import math "math"
import common "bk-bscp/internal/protocol/common"

import (
	context "golang.org/x/net/context"
	grpc "google.golang.org/grpc"
)

var _ = proto.Marshal
var _ = fmt.Errorf
var _ = math.Inf

const _ = proto.ProtoPackageIsVersion2 

type SignallingChannelCmd int32

const (
	SignallingChannelCmd_SCCMD_C2S_PING                       SignallingChannelCmd = 0
	SignallingChannelCmd_SCCMD_S2C_PONG                       SignallingChannelCmd = 1
	SignallingChannelCmd_SCCMD_S2C_PUSH_NOTIFICATION          SignallingChannelCmd = 2
	SignallingChannelCmd_SCCMD_S2C_PUSH_ROLLBACK_NOTIFICATION SignallingChannelCmd = 3
	SignallingChannelCmd_SCCMD_S2C_PUSH_RELOAD_NOTIFICATION   SignallingChannelCmd = 4
)

var SignallingChannelCmd_name = map[int32]string{
	0: "SCCMD_C2S_PING",
	1: "SCCMD_S2C_PONG",
	2: "SCCMD_S2C_PUSH_NOTIFICATION",
	3: "SCCMD_S2C_PUSH_ROLLBACK_NOTIFICATION",
	4: "SCCMD_S2C_PUSH_RELOAD_NOTIFICATION",
}
var SignallingChannelCmd_value = map[string]int32{
	"SCCMD_C2S_PING":                       0,
	"SCCMD_S2C_PONG":                       1,
	"SCCMD_S2C_PUSH_NOTIFICATION":          2,
	"SCCMD_S2C_PUSH_ROLLBACK_NOTIFICATION": 3,
	"SCCMD_S2C_PUSH_RELOAD_NOTIFICATION":   4,
}

func (x SignallingChannelCmd) String() string {
	return proto.EnumName(SignallingChannelCmd_name, int32(x))
}
func (SignallingChannelCmd) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }

type QueryAppMetadataReq struct {
	Seq          uint64 `protobuf:"varint,1,opt,name=seq" json:"seq,omitempty"`
	BusinessName string `protobuf:"bytes,2,opt,name=businessName" json:"businessName,omitempty"`
	AppName      string `protobuf:"bytes,3,opt,name=appName" json:"appName,omitempty"`
	ClusterName  string `protobuf:"bytes,4,opt,name=clusterName" json:"clusterName,omitempty"`
	ZoneName     string `protobuf:"bytes,5,opt,name=zoneName" json:"zoneName,omitempty"`

	ClusterLabels string `protobuf:"bytes,6,opt,name=clusterLabels" json:"clusterLabels,omitempty"`
}

func (m *QueryAppMetadataReq) Reset()                    { *m = QueryAppMetadataReq{} }
func (m *QueryAppMetadataReq) String() string            { return proto.CompactTextString(m) }
func (*QueryAppMetadataReq) ProtoMessage()               {}
func (*QueryAppMetadataReq) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }

func (m *QueryAppMetadataReq) GetSeq() uint64 {
	if m != nil {
		return m.Seq
	}
	return 0
}

func (m *QueryAppMetadataReq) GetBusinessName() string {
	if m != nil {
		return m.BusinessName
	}
	return ""
}

func (m *QueryAppMetadataReq) GetAppName() string {
	if m != nil {
		return m.AppName
	}
	return ""
}

func (m *QueryAppMetadataReq) GetClusterName() string {
	if m != nil {
		return m.ClusterName
	}
	return ""
}

func (m *QueryAppMetadataReq) GetZoneName() string {
	if m != nil {
		return m.ZoneName
	}
	return ""
}

func (m *QueryAppMetadataReq) GetClusterLabels() string {
	if m != nil {
		return m.ClusterLabels
	}
	return ""
}

type QueryAppMetadataResp struct {
	Seq       uint64         `protobuf:"varint,1,opt,name=seq" json:"seq,omitempty"`
	ErrCode   common.ErrCode `protobuf:"varint,2,opt,name=errCode,enum=common.ErrCode" json:"errCode,omitempty"`
	ErrMsg    string         `protobuf:"bytes,3,opt,name=errMsg" json:"errMsg,omitempty"`
	Bid       string         `protobuf:"bytes,4,opt,name=bid" json:"bid,omitempty"`
	Appid     string         `protobuf:"bytes,5,opt,name=appid" json:"appid,omitempty"`
	Clusterid string         `protobuf:"bytes,6,opt,name=clusterid" json:"clusterid,omitempty"`
	Zoneid    string         `protobuf:"bytes,7,opt,name=zoneid" json:"zoneid,omitempty"`
}

func (m *QueryAppMetadataResp) Reset()                    { *m = QueryAppMetadataResp{} }
func (m *QueryAppMetadataResp) String() string            { return proto.CompactTextString(m) }
func (*QueryAppMetadataResp) ProtoMessage()               {}
func (*QueryAppMetadataResp) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{1} }

func (m *QueryAppMetadataResp) GetSeq() uint64 {
	if m != nil {
		return m.Seq
	}
	return 0
}

func (m *QueryAppMetadataResp) GetErrCode() common.ErrCode {
	if m != nil {
		return m.ErrCode
	}
	return common.ErrCode_E_OK
}

func (m *QueryAppMetadataResp) GetErrMsg() string {
	if m != nil {
		return m.ErrMsg
	}
	return ""
}

func (m *QueryAppMetadataResp) GetBid() string {
	if m != nil {
		return m.Bid
	}
	return ""
}

func (m *QueryAppMetadataResp) GetAppid() string {
	if m != nil {
		return m.Appid
	}
	return ""
}

func (m *QueryAppMetadataResp) GetClusterid() string {
	if m != nil {
		return m.Clusterid
	}
	return ""
}

func (m *QueryAppMetadataResp) GetZoneid() string {
	if m != nil {
		return m.Zoneid
	}
	return ""
}

type AccessReq struct {
	Seq       uint64 `protobuf:"varint,1,opt,name=seq" json:"seq,omitempty"`
	Bid       string `protobuf:"bytes,2,opt,name=bid" json:"bid,omitempty"`
	Appid     string `protobuf:"bytes,3,opt,name=appid" json:"appid,omitempty"`
	Clusterid string `protobuf:"bytes,4,opt,name=clusterid" json:"clusterid,omitempty"`
	Zoneid    string `protobuf:"bytes,5,opt,name=zoneid" json:"zoneid,omitempty"`
	Dc        string `protobuf:"bytes,6,opt,name=dc" json:"dc,omitempty"`
	IP        string `protobuf:"bytes,7,opt,name=IP" json:"IP,omitempty"`
	Labels    string `protobuf:"bytes,8,opt,name=labels" json:"labels,omitempty"`
}

func (m *AccessReq) Reset()                    { *m = AccessReq{} }
func (m *AccessReq) String() string            { return proto.CompactTextString(m) }
func (*AccessReq) ProtoMessage()               {}
func (*AccessReq) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{2} }

func (m *AccessReq) GetSeq() uint64 {
	if m != nil {
		return m.Seq
	}
	return 0
}

func (m *AccessReq) GetBid() string {
	if m != nil {
		return m.Bid
	}
	return ""
}

func (m *AccessReq) GetAppid() string {
	if m != nil {
		return m.Appid
	}
	return ""
}

func (m *AccessReq) GetClusterid() string {
	if m != nil {
		return m.Clusterid
	}
	return ""
}

func (m *AccessReq) GetZoneid() string {
	if m != nil {
		return m.Zoneid
	}
	return ""
}

func (m *AccessReq) GetDc() string {
	if m != nil {
		return m.Dc
	}
	return ""
}

func (m *AccessReq) GetIP() string {
	if m != nil {
		return m.IP
	}
	return ""
}

func (m *AccessReq) GetLabels() string {
	if m != nil {
		return m.Labels
	}
	return ""
}

type AccessResp struct {
	Seq       uint64             `protobuf:"varint,1,opt,name=seq" json:"seq,omitempty"`
	ErrCode   common.ErrCode     `protobuf:"varint,2,opt,name=errCode,enum=common.ErrCode" json:"errCode,omitempty"`
	ErrMsg    string             `protobuf:"bytes,3,opt,name=errMsg" json:"errMsg,omitempty"`
	Endpoints []*common.Endpoint `protobuf:"bytes,4,rep,name=endpoints" json:"endpoints,omitempty"`
}

func (m *AccessResp) Reset()                    { *m = AccessResp{} }
func (m *AccessResp) String() string            { return proto.CompactTextString(m) }
func (*AccessResp) ProtoMessage()               {}
func (*AccessResp) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{3} }

func (m *AccessResp) GetSeq() uint64 {
	if m != nil {
		return m.Seq
	}
	return 0
}

func (m *AccessResp) GetErrCode() common.ErrCode {
	if m != nil {
		return m.ErrCode
	}
	return common.ErrCode_E_OK
}

func (m *AccessResp) GetErrMsg() string {
	if m != nil {
		return m.ErrMsg
	}
	return ""
}

func (m *AccessResp) GetEndpoints() []*common.Endpoint {
	if m != nil {
		return m.Endpoints
	}
	return nil
}

type SCCMDPing struct {
	Bid       string `protobuf:"bytes,1,opt,name=bid" json:"bid,omitempty"`
	Appid     string `protobuf:"bytes,2,opt,name=appid" json:"appid,omitempty"`
	Clusterid string `protobuf:"bytes,3,opt,name=clusterid" json:"clusterid,omitempty"`
	Zoneid    string `protobuf:"bytes,4,opt,name=zoneid" json:"zoneid,omitempty"`
	Dc        string `protobuf:"bytes,5,opt,name=dc" json:"dc,omitempty"`
	IP        string `protobuf:"bytes,6,opt,name=IP" json:"IP,omitempty"`
	Labels    string `protobuf:"bytes,7,opt,name=labels" json:"labels,omitempty"`
	Timeout   int64  `protobuf:"varint,8,opt,name=timeout" json:"timeout,omitempty"`
}

func (m *SCCMDPing) Reset()                    { *m = SCCMDPing{} }
func (m *SCCMDPing) String() string            { return proto.CompactTextString(m) }
func (*SCCMDPing) ProtoMessage()               {}
func (*SCCMDPing) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{4} }

func (m *SCCMDPing) GetBid() string {
	if m != nil {
		return m.Bid
	}
	return ""
}

func (m *SCCMDPing) GetAppid() string {
	if m != nil {
		return m.Appid
	}
	return ""
}

func (m *SCCMDPing) GetClusterid() string {
	if m != nil {
		return m.Clusterid
	}
	return ""
}

func (m *SCCMDPing) GetZoneid() string {
	if m != nil {
		return m.Zoneid
	}
	return ""
}

func (m *SCCMDPing) GetDc() string {
	if m != nil {
		return m.Dc
	}
	return ""
}

func (m *SCCMDPing) GetIP() string {
	if m != nil {
		return m.IP
	}
	return ""
}

func (m *SCCMDPing) GetLabels() string {
	if m != nil {
		return m.Labels
	}
	return ""
}

func (m *SCCMDPing) GetTimeout() int64 {
	if m != nil {
		return m.Timeout
	}
	return 0
}

type SCCMDPushNotification struct {
	Bid         string `protobuf:"bytes,1,opt,name=bid" json:"bid,omitempty"`
	Appid       string `protobuf:"bytes,2,opt,name=appid" json:"appid,omitempty"`
	Cfgsetid    string `protobuf:"bytes,3,opt,name=cfgsetid" json:"cfgsetid,omitempty"`
	CfgsetName  string `protobuf:"bytes,4,opt,name=cfgsetName" json:"cfgsetName,omitempty"`
	Serialno    uint64 `protobuf:"varint,5,opt,name=serialno" json:"serialno,omitempty"`
	Releaseid   string `protobuf:"bytes,6,opt,name=releaseid" json:"releaseid,omitempty"`
	CfgsetFpath string `protobuf:"bytes,7,opt,name=cfgsetFpath" json:"cfgsetFpath,omitempty"`
}

func (m *SCCMDPushNotification) Reset()                    { *m = SCCMDPushNotification{} }
func (m *SCCMDPushNotification) String() string            { return proto.CompactTextString(m) }
func (*SCCMDPushNotification) ProtoMessage()               {}
func (*SCCMDPushNotification) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{5} }

func (m *SCCMDPushNotification) GetBid() string {
	if m != nil {
		return m.Bid
	}
	return ""
}

func (m *SCCMDPushNotification) GetAppid() string {
	if m != nil {
		return m.Appid
	}
	return ""
}

func (m *SCCMDPushNotification) GetCfgsetid() string {
	if m != nil {
		return m.Cfgsetid
	}
	return ""
}

func (m *SCCMDPushNotification) GetCfgsetName() string {
	if m != nil {
		return m.CfgsetName
	}
	return ""
}

func (m *SCCMDPushNotification) GetSerialno() uint64 {
	if m != nil {
		return m.Serialno
	}
	return 0
}

func (m *SCCMDPushNotification) GetReleaseid() string {
	if m != nil {
		return m.Releaseid
	}
	return ""
}

func (m *SCCMDPushNotification) GetCfgsetFpath() string {
	if m != nil {
		return m.CfgsetFpath
	}
	return ""
}

type SCCMDPushRollbackNotification struct {
	Bid         string `protobuf:"bytes,1,opt,name=bid" json:"bid,omitempty"`
	Appid       string `protobuf:"bytes,2,opt,name=appid" json:"appid,omitempty"`
	Cfgsetid    string `protobuf:"bytes,3,opt,name=cfgsetid" json:"cfgsetid,omitempty"`
	CfgsetName  string `protobuf:"bytes,4,opt,name=cfgsetName" json:"cfgsetName,omitempty"`
	Serialno    uint64 `protobuf:"varint,5,opt,name=serialno" json:"serialno,omitempty"`
	Releaseid   string `protobuf:"bytes,6,opt,name=releaseid" json:"releaseid,omitempty"`
	CfgsetFpath string `protobuf:"bytes,7,opt,name=cfgsetFpath" json:"cfgsetFpath,omitempty"`
}

func (m *SCCMDPushRollbackNotification) Reset()                    { *m = SCCMDPushRollbackNotification{} }
func (m *SCCMDPushRollbackNotification) String() string            { return proto.CompactTextString(m) }
func (*SCCMDPushRollbackNotification) ProtoMessage()               {}
func (*SCCMDPushRollbackNotification) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{6} }

func (m *SCCMDPushRollbackNotification) GetBid() string {
	if m != nil {
		return m.Bid
	}
	return ""
}

func (m *SCCMDPushRollbackNotification) GetAppid() string {
	if m != nil {
		return m.Appid
	}
	return ""
}

func (m *SCCMDPushRollbackNotification) GetCfgsetid() string {
	if m != nil {
		return m.Cfgsetid
	}
	return ""
}

func (m *SCCMDPushRollbackNotification) GetCfgsetName() string {
	if m != nil {
		return m.CfgsetName
	}
	return ""
}

func (m *SCCMDPushRollbackNotification) GetSerialno() uint64 {
	if m != nil {
		return m.Serialno
	}
	return 0
}

func (m *SCCMDPushRollbackNotification) GetReleaseid() string {
	if m != nil {
		return m.Releaseid
	}
	return ""
}

func (m *SCCMDPushRollbackNotification) GetCfgsetFpath() string {
	if m != nil {
		return m.CfgsetFpath
	}
	return ""
}

type SCCMDPushReloadNotification struct {
	Bid        string             `protobuf:"bytes,1,opt,name=bid" json:"bid,omitempty"`
	Appid      string             `protobuf:"bytes,2,opt,name=appid" json:"appid,omitempty"`
	ReloadSpec *common.ReloadSpec `protobuf:"bytes,3,opt,name=reloadSpec" json:"reloadSpec,omitempty"`
}

func (m *SCCMDPushReloadNotification) Reset()                    { *m = SCCMDPushReloadNotification{} }
func (m *SCCMDPushReloadNotification) String() string            { return proto.CompactTextString(m) }
func (*SCCMDPushReloadNotification) ProtoMessage()               {}
func (*SCCMDPushReloadNotification) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{7} }

func (m *SCCMDPushReloadNotification) GetBid() string {
	if m != nil {
		return m.Bid
	}
	return ""
}

func (m *SCCMDPushReloadNotification) GetAppid() string {
	if m != nil {
		return m.Appid
	}
	return ""
}

func (m *SCCMDPushReloadNotification) GetReloadSpec() *common.ReloadSpec {
	if m != nil {
		return m.ReloadSpec
	}
	return nil
}

type SignallingChannelDownStream struct {
	Seq     uint64               `protobuf:"varint,1,opt,name=seq" json:"seq,omitempty"`
	Cmd     SignallingChannelCmd `protobuf:"varint,2,opt,name=cmd,enum=connserver.SignallingChannelCmd" json:"cmd,omitempty"`
	CmdPing *SCCMDPing           `protobuf:"bytes,3,opt,name=cmdPing" json:"cmdPing,omitempty"`
}

func (m *SignallingChannelDownStream) Reset()                    { *m = SignallingChannelDownStream{} }
func (m *SignallingChannelDownStream) String() string            { return proto.CompactTextString(m) }
func (*SignallingChannelDownStream) ProtoMessage()               {}
func (*SignallingChannelDownStream) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{8} }

func (m *SignallingChannelDownStream) GetSeq() uint64 {
	if m != nil {
		return m.Seq
	}
	return 0
}

func (m *SignallingChannelDownStream) GetCmd() SignallingChannelCmd {
	if m != nil {
		return m.Cmd
	}
	return SignallingChannelCmd_SCCMD_C2S_PING
}

func (m *SignallingChannelDownStream) GetCmdPing() *SCCMDPing {
	if m != nil {
		return m.CmdPing
	}
	return nil
}

type SignallingChannelUpStream struct {
	Seq         uint64                         `protobuf:"varint,1,opt,name=seq" json:"seq,omitempty"`
	Cmd         SignallingChannelCmd           `protobuf:"varint,2,opt,name=cmd,enum=connserver.SignallingChannelCmd" json:"cmd,omitempty"`
	CmdPush     *SCCMDPushNotification         `protobuf:"bytes,3,opt,name=cmdPush" json:"cmdPush,omitempty"`
	CmdRollback *SCCMDPushRollbackNotification `protobuf:"bytes,4,opt,name=cmdRollback" json:"cmdRollback,omitempty"`
	CmdReload   *SCCMDPushReloadNotification   `protobuf:"bytes,5,opt,name=cmdReload" json:"cmdReload,omitempty"`
}

func (m *SignallingChannelUpStream) Reset()                    { *m = SignallingChannelUpStream{} }
func (m *SignallingChannelUpStream) String() string            { return proto.CompactTextString(m) }
func (*SignallingChannelUpStream) ProtoMessage()               {}
func (*SignallingChannelUpStream) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{9} }

func (m *SignallingChannelUpStream) GetSeq() uint64 {
	if m != nil {
		return m.Seq
	}
	return 0
}

func (m *SignallingChannelUpStream) GetCmd() SignallingChannelCmd {
	if m != nil {
		return m.Cmd
	}
	return SignallingChannelCmd_SCCMD_C2S_PING
}

func (m *SignallingChannelUpStream) GetCmdPush() *SCCMDPushNotification {
	if m != nil {
		return m.CmdPush
	}
	return nil
}

func (m *SignallingChannelUpStream) GetCmdRollback() *SCCMDPushRollbackNotification {
	if m != nil {
		return m.CmdRollback
	}
	return nil
}

func (m *SignallingChannelUpStream) GetCmdReload() *SCCMDPushReloadNotification {
	if m != nil {
		return m.CmdReload
	}
	return nil
}

type ReportReq struct {
	Seq       uint64               `protobuf:"varint,1,opt,name=seq" json:"seq,omitempty"`
	Bid       string               `protobuf:"bytes,2,opt,name=bid" json:"bid,omitempty"`
	Appid     string               `protobuf:"bytes,3,opt,name=appid" json:"appid,omitempty"`
	Clusterid string               `protobuf:"bytes,4,opt,name=clusterid" json:"clusterid,omitempty"`
	Zoneid    string               `protobuf:"bytes,5,opt,name=zoneid" json:"zoneid,omitempty"`
	Dc        string               `protobuf:"bytes,6,opt,name=dc" json:"dc,omitempty"`
	IP        string               `protobuf:"bytes,7,opt,name=IP" json:"IP,omitempty"`
	Labels    string               `protobuf:"bytes,8,opt,name=labels" json:"labels,omitempty"`
	Infos     []*common.ReportInfo `protobuf:"bytes,9,rep,name=infos" json:"infos,omitempty"`
}

func (m *ReportReq) Reset()                    { *m = ReportReq{} }
func (m *ReportReq) String() string            { return proto.CompactTextString(m) }
func (*ReportReq) ProtoMessage()               {}
func (*ReportReq) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{10} }

func (m *ReportReq) GetSeq() uint64 {
	if m != nil {
		return m.Seq
	}
	return 0
}

func (m *ReportReq) GetBid() string {
	if m != nil {
		return m.Bid
	}
	return ""
}

func (m *ReportReq) GetAppid() string {
	if m != nil {
		return m.Appid
	}
	return ""
}

func (m *ReportReq) GetClusterid() string {
	if m != nil {
		return m.Clusterid
	}
	return ""
}

func (m *ReportReq) GetZoneid() string {
	if m != nil {
		return m.Zoneid
	}
	return ""
}

func (m *ReportReq) GetDc() string {
	if m != nil {
		return m.Dc
	}
	return ""
}

func (m *ReportReq) GetIP() string {
	if m != nil {
		return m.IP
	}
	return ""
}

func (m *ReportReq) GetLabels() string {
	if m != nil {
		return m.Labels
	}
	return ""
}

func (m *ReportReq) GetInfos() []*common.ReportInfo {
	if m != nil {
		return m.Infos
	}
	return nil
}

type ReportResp struct {
	Seq     uint64         `protobuf:"varint,1,opt,name=seq" json:"seq,omitempty"`
	ErrCode common.ErrCode `protobuf:"varint,2,opt,name=errCode,enum=common.ErrCode" json:"errCode,omitempty"`
	ErrMsg  string         `protobuf:"bytes,3,opt,name=errMsg" json:"errMsg,omitempty"`
}

func (m *ReportResp) Reset()                    { *m = ReportResp{} }
func (m *ReportResp) String() string            { return proto.CompactTextString(m) }
func (*ReportResp) ProtoMessage()               {}
func (*ReportResp) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{11} }

func (m *ReportResp) GetSeq() uint64 {
	if m != nil {
		return m.Seq
	}
	return 0
}

func (m *ReportResp) GetErrCode() common.ErrCode {
	if m != nil {
		return m.ErrCode
	}
	return common.ErrCode_E_OK
}

func (m *ReportResp) GetErrMsg() string {
	if m != nil {
		return m.ErrMsg
	}
	return ""
}

type PullReleaseReq struct {
	Seq            uint64 `protobuf:"varint,1,opt,name=seq" json:"seq,omitempty"`
	Bid            string `protobuf:"bytes,2,opt,name=bid" json:"bid,omitempty"`
	Appid          string `protobuf:"bytes,3,opt,name=appid" json:"appid,omitempty"`
	Clusterid      string `protobuf:"bytes,4,opt,name=clusterid" json:"clusterid,omitempty"`
	Zoneid         string `protobuf:"bytes,5,opt,name=zoneid" json:"zoneid,omitempty"`
	Dc             string `protobuf:"bytes,6,opt,name=dc" json:"dc,omitempty"`
	IP             string `protobuf:"bytes,7,opt,name=IP" json:"IP,omitempty"`
	Labels         string `protobuf:"bytes,8,opt,name=labels" json:"labels,omitempty"`
	Cfgsetid       string `protobuf:"bytes,9,opt,name=cfgsetid" json:"cfgsetid,omitempty"`
	LocalReleaseid string `protobuf:"bytes,10,opt,name=localReleaseid" json:"localReleaseid,omitempty"`
	Releaseid      string `protobuf:"bytes,11,opt,name=releaseid" json:"releaseid,omitempty"`
}

func (m *PullReleaseReq) Reset()                    { *m = PullReleaseReq{} }
func (m *PullReleaseReq) String() string            { return proto.CompactTextString(m) }
func (*PullReleaseReq) ProtoMessage()               {}
func (*PullReleaseReq) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{12} }

func (m *PullReleaseReq) GetSeq() uint64 {
	if m != nil {
		return m.Seq
	}
	return 0
}

func (m *PullReleaseReq) GetBid() string {
	if m != nil {
		return m.Bid
	}
	return ""
}

func (m *PullReleaseReq) GetAppid() string {
	if m != nil {
		return m.Appid
	}
	return ""
}

func (m *PullReleaseReq) GetClusterid() string {
	if m != nil {
		return m.Clusterid
	}
	return ""
}

func (m *PullReleaseReq) GetZoneid() string {
	if m != nil {
		return m.Zoneid
	}
	return ""
}

func (m *PullReleaseReq) GetDc() string {
	if m != nil {
		return m.Dc
	}
	return ""
}

func (m *PullReleaseReq) GetIP() string {
	if m != nil {
		return m.IP
	}
	return ""
}

func (m *PullReleaseReq) GetLabels() string {
	if m != nil {
		return m.Labels
	}
	return ""
}

func (m *PullReleaseReq) GetCfgsetid() string {
	if m != nil {
		return m.Cfgsetid
	}
	return ""
}

func (m *PullReleaseReq) GetLocalReleaseid() string {
	if m != nil {
		return m.LocalReleaseid
	}
	return ""
}

func (m *PullReleaseReq) GetReleaseid() string {
	if m != nil {
		return m.Releaseid
	}
	return ""
}

type PullReleaseResp struct {
	Seq        uint64          `protobuf:"varint,1,opt,name=seq" json:"seq,omitempty"`
	ErrCode    common.ErrCode  `protobuf:"varint,2,opt,name=errCode,enum=common.ErrCode" json:"errCode,omitempty"`
	ErrMsg     string          `protobuf:"bytes,3,opt,name=errMsg" json:"errMsg,omitempty"`
	NeedEffect bool            `protobuf:"varint,4,opt,name=needEffect" json:"needEffect,omitempty"`
	Release    *common.Release `protobuf:"bytes,5,opt,name=release" json:"release,omitempty"`
	Cid        string          `protobuf:"bytes,6,opt,name=cid" json:"cid,omitempty"`
	CfgLink    string          `protobuf:"bytes,7,opt,name=cfgLink" json:"cfgLink,omitempty"`
}

func (m *PullReleaseResp) Reset()                    { *m = PullReleaseResp{} }
func (m *PullReleaseResp) String() string            { return proto.CompactTextString(m) }
func (*PullReleaseResp) ProtoMessage()               {}
func (*PullReleaseResp) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{13} }

func (m *PullReleaseResp) GetSeq() uint64 {
	if m != nil {
		return m.Seq
	}
	return 0
}

func (m *PullReleaseResp) GetErrCode() common.ErrCode {
	if m != nil {
		return m.ErrCode
	}
	return common.ErrCode_E_OK
}

func (m *PullReleaseResp) GetErrMsg() string {
	if m != nil {
		return m.ErrMsg
	}
	return ""
}

func (m *PullReleaseResp) GetNeedEffect() bool {
	if m != nil {
		return m.NeedEffect
	}
	return false
}

func (m *PullReleaseResp) GetRelease() *common.Release {
	if m != nil {
		return m.Release
	}
	return nil
}

func (m *PullReleaseResp) GetCid() string {
	if m != nil {
		return m.Cid
	}
	return ""
}

func (m *PullReleaseResp) GetCfgLink() string {
	if m != nil {
		return m.CfgLink
	}
	return ""
}

type PullReleaseConfigsReq struct {
	Seq       uint64 `protobuf:"varint,1,opt,name=seq" json:"seq,omitempty"`
	Bid       string `protobuf:"bytes,2,opt,name=bid" json:"bid,omitempty"`
	Appid     string `protobuf:"bytes,3,opt,name=appid" json:"appid,omitempty"`
	Clusterid string `protobuf:"bytes,4,opt,name=clusterid" json:"clusterid,omitempty"`
	Zoneid    string `protobuf:"bytes,5,opt,name=zoneid" json:"zoneid,omitempty"`
	Cfgsetid  string `protobuf:"bytes,6,opt,name=cfgsetid" json:"cfgsetid,omitempty"`
	Releaseid string `protobuf:"bytes,7,opt,name=releaseid" json:"releaseid,omitempty"`
	Cid       string `protobuf:"bytes,8,opt,name=cid" json:"cid,omitempty"`

	IP string `protobuf:"bytes,9,opt,name=IP" json:"IP,omitempty"`
}

func (m *PullReleaseConfigsReq) Reset()                    { *m = PullReleaseConfigsReq{} }
func (m *PullReleaseConfigsReq) String() string            { return proto.CompactTextString(m) }
func (*PullReleaseConfigsReq) ProtoMessage()               {}
func (*PullReleaseConfigsReq) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{14} }

func (m *PullReleaseConfigsReq) GetSeq() uint64 {
	if m != nil {
		return m.Seq
	}
	return 0
}

func (m *PullReleaseConfigsReq) GetBid() string {
	if m != nil {
		return m.Bid
	}
	return ""
}

func (m *PullReleaseConfigsReq) GetAppid() string {
	if m != nil {
		return m.Appid
	}
	return ""
}

func (m *PullReleaseConfigsReq) GetClusterid() string {
	if m != nil {
		return m.Clusterid
	}
	return ""
}

func (m *PullReleaseConfigsReq) GetZoneid() string {
	if m != nil {
		return m.Zoneid
	}
	return ""
}

func (m *PullReleaseConfigsReq) GetCfgsetid() string {
	if m != nil {
		return m.Cfgsetid
	}
	return ""
}

func (m *PullReleaseConfigsReq) GetReleaseid() string {
	if m != nil {
		return m.Releaseid
	}
	return ""
}

func (m *PullReleaseConfigsReq) GetCid() string {
	if m != nil {
		return m.Cid
	}
	return ""
}

func (m *PullReleaseConfigsReq) GetIP() string {
	if m != nil {
		return m.IP
	}
	return ""
}

type PullReleaseConfigsResp struct {
	Seq     uint64         `protobuf:"varint,1,opt,name=seq" json:"seq,omitempty"`
	ErrCode common.ErrCode `protobuf:"varint,2,opt,name=errCode,enum=common.ErrCode" json:"errCode,omitempty"`
	ErrMsg  string         `protobuf:"bytes,3,opt,name=errMsg" json:"errMsg,omitempty"`
	Cid     string         `protobuf:"bytes,4,opt,name=cid" json:"cid,omitempty"`
	CfgLink string         `protobuf:"bytes,5,opt,name=cfgLink" json:"cfgLink,omitempty"`
	Content []byte         `protobuf:"bytes,6,opt,name=content,proto3" json:"content,omitempty"`
}

func (m *PullReleaseConfigsResp) Reset()                    { *m = PullReleaseConfigsResp{} }
func (m *PullReleaseConfigsResp) String() string            { return proto.CompactTextString(m) }
func (*PullReleaseConfigsResp) ProtoMessage()               {}
func (*PullReleaseConfigsResp) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{15} }

func (m *PullReleaseConfigsResp) GetSeq() uint64 {
	if m != nil {
		return m.Seq
	}
	return 0
}

func (m *PullReleaseConfigsResp) GetErrCode() common.ErrCode {
	if m != nil {
		return m.ErrCode
	}
	return common.ErrCode_E_OK
}

func (m *PullReleaseConfigsResp) GetErrMsg() string {
	if m != nil {
		return m.ErrMsg
	}
	return ""
}

func (m *PullReleaseConfigsResp) GetCid() string {
	if m != nil {
		return m.Cid
	}
	return ""
}

func (m *PullReleaseConfigsResp) GetCfgLink() string {
	if m != nil {
		return m.CfgLink
	}
	return ""
}

func (m *PullReleaseConfigsResp) GetContent() []byte {
	if m != nil {
		return m.Content
	}
	return nil
}

type PullConfigSetListReq struct {
	Seq   uint64 `protobuf:"varint,1,opt,name=seq" json:"seq,omitempty"`
	Bid   string `protobuf:"bytes,2,opt,name=bid" json:"bid,omitempty"`
	Appid string `protobuf:"bytes,3,opt,name=appid" json:"appid,omitempty"`
	Index int32  `protobuf:"varint,4,opt,name=index" json:"index,omitempty"`
	Limit int32  `protobuf:"varint,5,opt,name=limit" json:"limit,omitempty"`
}

func (m *PullConfigSetListReq) Reset()                    { *m = PullConfigSetListReq{} }
func (m *PullConfigSetListReq) String() string            { return proto.CompactTextString(m) }
func (*PullConfigSetListReq) ProtoMessage()               {}
func (*PullConfigSetListReq) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{16} }

func (m *PullConfigSetListReq) GetSeq() uint64 {
	if m != nil {
		return m.Seq
	}
	return 0
}

func (m *PullConfigSetListReq) GetBid() string {
	if m != nil {
		return m.Bid
	}
	return ""
}

func (m *PullConfigSetListReq) GetAppid() string {
	if m != nil {
		return m.Appid
	}
	return ""
}

func (m *PullConfigSetListReq) GetIndex() int32 {
	if m != nil {
		return m.Index
	}
	return 0
}

func (m *PullConfigSetListReq) GetLimit() int32 {
	if m != nil {
		return m.Limit
	}
	return 0
}

type PullConfigSetListResp struct {
	Seq        uint64              `protobuf:"varint,1,opt,name=seq" json:"seq,omitempty"`
	ErrCode    common.ErrCode      `protobuf:"varint,2,opt,name=errCode,enum=common.ErrCode" json:"errCode,omitempty"`
	ErrMsg     string              `protobuf:"bytes,3,opt,name=errMsg" json:"errMsg,omitempty"`
	ConfigSets []*common.ConfigSet `protobuf:"bytes,4,rep,name=configSets" json:"configSets,omitempty"`
}

func (m *PullConfigSetListResp) Reset()                    { *m = PullConfigSetListResp{} }
func (m *PullConfigSetListResp) String() string            { return proto.CompactTextString(m) }
func (*PullConfigSetListResp) ProtoMessage()               {}
func (*PullConfigSetListResp) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{17} }

func (m *PullConfigSetListResp) GetSeq() uint64 {
	if m != nil {
		return m.Seq
	}
	return 0
}

func (m *PullConfigSetListResp) GetErrCode() common.ErrCode {
	if m != nil {
		return m.ErrCode
	}
	return common.ErrCode_E_OK
}

func (m *PullConfigSetListResp) GetErrMsg() string {
	if m != nil {
		return m.ErrMsg
	}
	return ""
}

func (m *PullConfigSetListResp) GetConfigSets() []*common.ConfigSet {
	if m != nil {
		return m.ConfigSets
	}
	return nil
}

func init() {
	proto.RegisterType((*QueryAppMetadataReq)(nil), "connserver.QueryAppMetadataReq")
	proto.RegisterType((*QueryAppMetadataResp)(nil), "connserver.QueryAppMetadataResp")
	proto.RegisterType((*AccessReq)(nil), "connserver.AccessReq")
	proto.RegisterType((*AccessResp)(nil), "connserver.AccessResp")
	proto.RegisterType((*SCCMDPing)(nil), "connserver.SCCMDPing")
	proto.RegisterType((*SCCMDPushNotification)(nil), "connserver.SCCMDPushNotification")
	proto.RegisterType((*SCCMDPushRollbackNotification)(nil), "connserver.SCCMDPushRollbackNotification")
	proto.RegisterType((*SCCMDPushReloadNotification)(nil), "connserver.SCCMDPushReloadNotification")
	proto.RegisterType((*SignallingChannelDownStream)(nil), "connserver.SignallingChannelDownStream")
	proto.RegisterType((*SignallingChannelUpStream)(nil), "connserver.SignallingChannelUpStream")
	proto.RegisterType((*ReportReq)(nil), "connserver.ReportReq")
	proto.RegisterType((*ReportResp)(nil), "connserver.ReportResp")
	proto.RegisterType((*PullReleaseReq)(nil), "connserver.PullReleaseReq")
	proto.RegisterType((*PullReleaseResp)(nil), "connserver.PullReleaseResp")
	proto.RegisterType((*PullReleaseConfigsReq)(nil), "connserver.PullReleaseConfigsReq")
	proto.RegisterType((*PullReleaseConfigsResp)(nil), "connserver.PullReleaseConfigsResp")
	proto.RegisterType((*PullConfigSetListReq)(nil), "connserver.PullConfigSetListReq")
	proto.RegisterType((*PullConfigSetListResp)(nil), "connserver.PullConfigSetListResp")
	proto.RegisterEnum("connserver.SignallingChannelCmd", SignallingChannelCmd_name, SignallingChannelCmd_value)
}

var _ context.Context
var _ grpc.ClientConn

const _ = grpc.SupportPackageIsVersion4

type ConnectionClient interface {
	QueryAppMetadata(ctx context.Context, in *QueryAppMetadataReq, opts ...grpc.CallOption) (*QueryAppMetadataResp, error)
	Access(ctx context.Context, in *AccessReq, opts ...grpc.CallOption) (*AccessResp, error)
	SignallingChannel(ctx context.Context, opts ...grpc.CallOption) (Connection_SignallingChannelClient, error)
	Report(ctx context.Context, in *ReportReq, opts ...grpc.CallOption) (*ReportResp, error)
	PullRelease(ctx context.Context, in *PullReleaseReq, opts ...grpc.CallOption) (*PullReleaseResp, error)
	PullReleaseConfigs(ctx context.Context, in *PullReleaseConfigsReq, opts ...grpc.CallOption) (*PullReleaseConfigsResp, error)
	PullConfigSetList(ctx context.Context, in *PullConfigSetListReq, opts ...grpc.CallOption) (*PullConfigSetListResp, error)
}

type connectionClient struct {
	cc *grpc.ClientConn
}

func NewConnectionClient(cc *grpc.ClientConn) ConnectionClient {
	return &connectionClient{cc}
}

func (c *connectionClient) QueryAppMetadata(ctx context.Context, in *QueryAppMetadataReq, opts ...grpc.CallOption) (*QueryAppMetadataResp, error) {
	out := new(QueryAppMetadataResp)
	err := grpc.Invoke(ctx, "/connserver.Connection/QueryAppMetadata", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *connectionClient) Access(ctx context.Context, in *AccessReq, opts ...grpc.CallOption) (*AccessResp, error) {
	out := new(AccessResp)
	err := grpc.Invoke(ctx, "/connserver.Connection/Access", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *connectionClient) SignallingChannel(ctx context.Context, opts ...grpc.CallOption) (Connection_SignallingChannelClient, error) {
	stream, err := grpc.NewClientStream(ctx, &_Connection_serviceDesc.Streams[0], c.cc, "/connserver.Connection/SignallingChannel", opts...)
	if err != nil {
		return nil, err
	}
	x := &connectionSignallingChannelClient{stream}
	return x, nil
}

type Connection_SignallingChannelClient interface {
	Send(*SignallingChannelDownStream) error
	Recv() (*SignallingChannelUpStream, error)
	grpc.ClientStream
}

type connectionSignallingChannelClient struct {
	grpc.ClientStream
}

func (x *connectionSignallingChannelClient) Send(m *SignallingChannelDownStream) error {
	return x.ClientStream.SendMsg(m)
}

func (x *connectionSignallingChannelClient) Recv() (*SignallingChannelUpStream, error) {
	m := new(SignallingChannelUpStream)
	if err := x.ClientStream.RecvMsg(m); err != nil {
		return nil, err
	}
	return m, nil
}

func (c *connectionClient) Report(ctx context.Context, in *ReportReq, opts ...grpc.CallOption) (*ReportResp, error) {
	out := new(ReportResp)
	err := grpc.Invoke(ctx, "/connserver.Connection/Report", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *connectionClient) PullRelease(ctx context.Context, in *PullReleaseReq, opts ...grpc.CallOption) (*PullReleaseResp, error) {
	out := new(PullReleaseResp)
	err := grpc.Invoke(ctx, "/connserver.Connection/PullRelease", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *connectionClient) PullReleaseConfigs(ctx context.Context, in *PullReleaseConfigsReq, opts ...grpc.CallOption) (*PullReleaseConfigsResp, error) {
	out := new(PullReleaseConfigsResp)
	err := grpc.Invoke(ctx, "/connserver.Connection/PullReleaseConfigs", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *connectionClient) PullConfigSetList(ctx context.Context, in *PullConfigSetListReq, opts ...grpc.CallOption) (*PullConfigSetListResp, error) {
	out := new(PullConfigSetListResp)
	err := grpc.Invoke(ctx, "/connserver.Connection/PullConfigSetList", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

type ConnectionServer interface {
	QueryAppMetadata(context.Context, *QueryAppMetadataReq) (*QueryAppMetadataResp, error)
	Access(context.Context, *AccessReq) (*AccessResp, error)
	SignallingChannel(Connection_SignallingChannelServer) error
	Report(context.Context, *ReportReq) (*ReportResp, error)
	PullRelease(context.Context, *PullReleaseReq) (*PullReleaseResp, error)
	PullReleaseConfigs(context.Context, *PullReleaseConfigsReq) (*PullReleaseConfigsResp, error)
	PullConfigSetList(context.Context, *PullConfigSetListReq) (*PullConfigSetListResp, error)
}

func RegisterConnectionServer(s *grpc.Server, srv ConnectionServer) {
	s.RegisterService(&_Connection_serviceDesc, srv)
}

func _Connection_QueryAppMetadata_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(QueryAppMetadataReq)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ConnectionServer).QueryAppMetadata(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/connserver.Connection/QueryAppMetadata",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ConnectionServer).QueryAppMetadata(ctx, req.(*QueryAppMetadataReq))
	}
	return interceptor(ctx, in, info, handler)
}

func _Connection_Access_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(AccessReq)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ConnectionServer).Access(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/connserver.Connection/Access",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ConnectionServer).Access(ctx, req.(*AccessReq))
	}
	return interceptor(ctx, in, info, handler)
}

func _Connection_SignallingChannel_Handler(srv interface{}, stream grpc.ServerStream) error {
	return srv.(ConnectionServer).SignallingChannel(&connectionSignallingChannelServer{stream})
}

type Connection_SignallingChannelServer interface {
	Send(*SignallingChannelUpStream) error
	Recv() (*SignallingChannelDownStream, error)
	grpc.ServerStream
}

type connectionSignallingChannelServer struct {
	grpc.ServerStream
}

func (x *connectionSignallingChannelServer) Send(m *SignallingChannelUpStream) error {
	return x.ServerStream.SendMsg(m)
}

func (x *connectionSignallingChannelServer) Recv() (*SignallingChannelDownStream, error) {
	m := new(SignallingChannelDownStream)
	if err := x.ServerStream.RecvMsg(m); err != nil {
		return nil, err
	}
	return m, nil
}

func _Connection_Report_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ReportReq)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ConnectionServer).Report(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/connserver.Connection/Report",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ConnectionServer).Report(ctx, req.(*ReportReq))
	}
	return interceptor(ctx, in, info, handler)
}

func _Connection_PullRelease_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(PullReleaseReq)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ConnectionServer).PullRelease(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/connserver.Connection/PullRelease",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ConnectionServer).PullRelease(ctx, req.(*PullReleaseReq))
	}
	return interceptor(ctx, in, info, handler)
}

func _Connection_PullReleaseConfigs_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(PullReleaseConfigsReq)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ConnectionServer).PullReleaseConfigs(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/connserver.Connection/PullReleaseConfigs",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ConnectionServer).PullReleaseConfigs(ctx, req.(*PullReleaseConfigsReq))
	}
	return interceptor(ctx, in, info, handler)
}

func _Connection_PullConfigSetList_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(PullConfigSetListReq)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ConnectionServer).PullConfigSetList(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/connserver.Connection/PullConfigSetList",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ConnectionServer).PullConfigSetList(ctx, req.(*PullConfigSetListReq))
	}
	return interceptor(ctx, in, info, handler)
}

var _Connection_serviceDesc = grpc.ServiceDesc{
	ServiceName: "connserver.Connection",
	HandlerType: (*ConnectionServer)(nil),
	Methods: []grpc.MethodDesc{
		{
			MethodName: "QueryAppMetadata",
			Handler:    _Connection_QueryAppMetadata_Handler,
		},
		{
			MethodName: "Access",
			Handler:    _Connection_Access_Handler,
		},
		{
			MethodName: "Report",
			Handler:    _Connection_Report_Handler,
		},
		{
			MethodName: "PullRelease",
			Handler:    _Connection_PullRelease_Handler,
		},
		{
			MethodName: "PullReleaseConfigs",
			Handler:    _Connection_PullReleaseConfigs_Handler,
		},
		{
			MethodName: "PullConfigSetList",
			Handler:    _Connection_PullConfigSetList_Handler,
		},
	},
	Streams: []grpc.StreamDesc{
		{
			StreamName:    "SignallingChannel",
			Handler:       _Connection_SignallingChannel_Handler,
			ServerStreams: true,
			ClientStreams: true,
		},
	},
	Metadata: "connserver.proto",
}

func init() { proto.RegisterFile("connserver.proto", fileDescriptor0) }

var fileDescriptor0 = []byte{

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

/*
Package connserver is a generated protocol buffer package.

It is generated from these files:
	connserver.proto

It has these top-level messages:
	QueryAppMetadataReq
	QueryAppMetadataResp
	AccessReq
	AccessResp
	SCCMDPing
	SCCMDPushNotification
	SCCMDPushRollbackNotification
	SCCMDPushReloadNotification
	SignallingChannelDownStream
	SignallingChannelUpStream
	ReportReq
	ReportResp
	PullReleaseReq
	PullReleaseResp
	PullReleaseConfigsReq
	PullReleaseConfigsResp
	PullConfigSetListReq
	PullConfigSetListResp
*/
package connserver

import proto "github.com/golang/protobuf/proto"
import fmt "fmt"
import math "math"
import common "bk-bscp/internal/protocol/common"

import (
	context "golang.org/x/net/context"
	grpc "google.golang.org/grpc"
)

// 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.ProtoPackageIsVersion2 // please upgrade the proto package

type SignallingChannelCmd int32

const (
	SignallingChannelCmd_SCCMD_C2S_PING                       SignallingChannelCmd = 0
	SignallingChannelCmd_SCCMD_S2C_PONG                       SignallingChannelCmd = 1
	SignallingChannelCmd_SCCMD_S2C_PUSH_NOTIFICATION          SignallingChannelCmd = 2
	SignallingChannelCmd_SCCMD_S2C_PUSH_ROLLBACK_NOTIFICATION SignallingChannelCmd = 3
	SignallingChannelCmd_SCCMD_S2C_PUSH_RELOAD_NOTIFICATION   SignallingChannelCmd = 4
)

var SignallingChannelCmd_name = map[int32]string{
	0: "SCCMD_C2S_PING",
	1: "SCCMD_S2C_PONG",
	2: "SCCMD_S2C_PUSH_NOTIFICATION",
	3: "SCCMD_S2C_PUSH_ROLLBACK_NOTIFICATION",
	4: "SCCMD_S2C_PUSH_RELOAD_NOTIFICATION",
}
var SignallingChannelCmd_value = map[string]int32{
	"SCCMD_C2S_PING":                       0,
	"SCCMD_S2C_PONG":                       1,
	"SCCMD_S2C_PUSH_NOTIFICATION":          2,
	"SCCMD_S2C_PUSH_ROLLBACK_NOTIFICATION": 3,
	"SCCMD_S2C_PUSH_RELOAD_NOTIFICATION":   4,
}

func (x SignallingChannelCmd) String() string {
	return proto.EnumName(SignallingChannelCmd_name, int32(x))
}
func (SignallingChannelCmd) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }

type QueryAppMetadataReq struct {
	Seq          uint64 `protobuf:"varint,1,opt,name=seq" json:"seq,omitempty"`
	BusinessName string `protobuf:"bytes,2,opt,name=businessName" json:"businessName,omitempty"`
	AppName      string `protobuf:"bytes,3,opt,name=appName" json:"appName,omitempty"`
	ClusterName  string `protobuf:"bytes,4,opt,name=clusterName" json:"clusterName,omitempty"`
	ZoneName     string `protobuf:"bytes,5,opt,name=zoneName" json:"zoneName,omitempty"`
	// add fields here.
	ClusterLabels string `protobuf:"bytes,6,opt,name=clusterLabels" json:"clusterLabels,omitempty"`
}

func (m *QueryAppMetadataReq) Reset()                    { *m = QueryAppMetadataReq{} }
func (m *QueryAppMetadataReq) String() string            { return proto.CompactTextString(m) }
func (*QueryAppMetadataReq) ProtoMessage()               {}
func (*QueryAppMetadataReq) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }

func (m *QueryAppMetadataReq) GetSeq() uint64 {
	if m != nil {
		return m.Seq
	}
	return 0
}

func (m *QueryAppMetadataReq) GetBusinessName() string {
	if m != nil {
		return m.BusinessName
	}
	return ""
}

func (m *QueryAppMetadataReq) GetAppName() string {
	if m != nil {
		return m.AppName
	}
	return ""
}

func (m *QueryAppMetadataReq) GetClusterName() string {
	if m != nil {
		return m.ClusterName
	}
	return ""
}

func (m *QueryAppMetadataReq) GetZoneName() string {
	if m != nil {
		return m.ZoneName
	}
	return ""
}

func (m *QueryAppMetadataReq) GetClusterLabels() string {
	if m != nil {
		return m.ClusterLabels
	}
	return ""
}

type QueryAppMetadataResp struct {
	Seq       uint64         `protobuf:"varint,1,opt,name=seq" json:"seq,omitempty"`
	ErrCode   common.ErrCode `protobuf:"varint,2,opt,name=errCode,enum=common.ErrCode" json:"errCode,omitempty"`
	ErrMsg    string         `protobuf:"bytes,3,opt,name=errMsg" json:"errMsg,omitempty"`
	Bid       string         `protobuf:"bytes,4,opt,name=bid" json:"bid,omitempty"`
	Appid     string         `protobuf:"bytes,5,opt,name=appid" json:"appid,omitempty"`
	Clusterid string         `protobuf:"bytes,6,opt,name=clusterid" json:"clusterid,omitempty"`
	Zoneid    string         `protobuf:"bytes,7,opt,name=zoneid" json:"zoneid,omitempty"`
}

func (m *QueryAppMetadataResp) Reset()                    { *m = QueryAppMetadataResp{} }
func (m *QueryAppMetadataResp) String() string            { return proto.CompactTextString(m) }
func (*QueryAppMetadataResp) ProtoMessage()               {}
func (*QueryAppMetadataResp) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{1} }

func (m *QueryAppMetadataResp) GetSeq() uint64 {
	if m != nil {
		return m.Seq
	}
	return 0
}

func (m *QueryAppMetadataResp) GetErrCode() common.ErrCode {
	if m != nil {
		return m.ErrCode
	}
	return common.ErrCode_E_OK
}

func (m *QueryAppMetadataResp) GetErrMsg() string {
	if m != nil {
		return m.ErrMsg
	}
	return ""
}

func (m *QueryAppMetadataResp) GetBid() string {
	if m != nil {
		return m.Bid
	}
	return ""
}

func (m *QueryAppMetadataResp) GetAppid() string {
	if m != nil {
		return m.Appid
	}
	return ""
}

func (m *QueryAppMetadataResp) GetClusterid() string {
	if m != nil {
		return m.Clusterid
	}
	return ""
}

func (m *QueryAppMetadataResp) GetZoneid() string {
	if m != nil {
		return m.Zoneid
	}
	return ""
}

type AccessReq struct {
	Seq       uint64 `protobuf:"varint,1,opt,name=seq" json:"seq,omitempty"`
	Bid       string `protobuf:"bytes,2,opt,name=bid" json:"bid,omitempty"`
	Appid     string `protobuf:"bytes,3,opt,name=appid" json:"appid,omitempty"`
	Clusterid string `protobuf:"bytes,4,opt,name=clusterid" json:"clusterid,omitempty"`
	Zoneid    string `protobuf:"bytes,5,opt,name=zoneid" json:"zoneid,omitempty"`
	Dc        string `protobuf:"bytes,6,opt,name=dc" json:"dc,omitempty"`
	IP        string `protobuf:"bytes,7,opt,name=IP" json:"IP,omitempty"`
	Labels    string `protobuf:"bytes,8,opt,name=labels" json:"labels,omitempty"`
}

func (m *AccessReq) Reset()                    { *m = AccessReq{} }
func (m *AccessReq) String() string            { return proto.CompactTextString(m) }
func (*AccessReq) ProtoMessage()               {}
func (*AccessReq) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{2} }

func (m *AccessReq) GetSeq() uint64 {
	if m != nil {
		return m.Seq
	}
	return 0
}

func (m *AccessReq) GetBid() string {
	if m != nil {
		return m.Bid
	}
	return ""
}

func (m *AccessReq) GetAppid() string {
	if m != nil {
		return m.Appid
	}
	return ""
}

func (m *AccessReq) GetClusterid() string {
	if m != nil {
		return m.Clusterid
	}
	return ""
}

func (m *AccessReq) GetZoneid() string {
	if m != nil {
		return m.Zoneid
	}
	return ""
}

func (m *AccessReq) GetDc() string {
	if m != nil {
		return m.Dc
	}
	return ""
}

func (m *AccessReq) GetIP() string {
	if m != nil {
		return m.IP
	}
	return ""
}

func (m *AccessReq) GetLabels() string {
	if m != nil {
		return m.Labels
	}
	return ""
}

type AccessResp struct {
	Seq       uint64             `protobuf:"varint,1,opt,name=seq" json:"seq,omitempty"`
	ErrCode   common.ErrCode     `protobuf:"varint,2,opt,name=errCode,enum=common.ErrCode" json:"errCode,omitempty"`
	ErrMsg    string             `protobuf:"bytes,3,opt,name=errMsg" json:"errMsg,omitempty"`
	Endpoints []*common.Endpoint `protobuf:"bytes,4,rep,name=endpoints" json:"endpoints,omitempty"`
}

func (m *AccessResp) Reset()                    { *m = AccessResp{} }
func (m *AccessResp) String() string            { return proto.CompactTextString(m) }
func (*AccessResp) ProtoMessage()               {}
func (*AccessResp) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{3} }

func (m *AccessResp) GetSeq() uint64 {
	if m != nil {
		return m.Seq
	}
	return 0
}

func (m *AccessResp) GetErrCode() common.ErrCode {
	if m != nil {
		return m.ErrCode
	}
	return common.ErrCode_E_OK
}

func (m *AccessResp) GetErrMsg() string {
	if m != nil {
		return m.ErrMsg
	}
	return ""
}

func (m *AccessResp) GetEndpoints() []*common.Endpoint {
	if m != nil {
		return m.Endpoints
	}
	return nil
}

type SCCMDPing struct {
	Bid       string `protobuf:"bytes,1,opt,name=bid" json:"bid,omitempty"`
	Appid     string `protobuf:"bytes,2,opt,name=appid" json:"appid,omitempty"`
	Clusterid string `protobuf:"bytes,3,opt,name=clusterid" json:"clusterid,omitempty"`
	Zoneid    string `protobuf:"bytes,4,opt,name=zoneid" json:"zoneid,omitempty"`
	Dc        string `protobuf:"bytes,5,opt,name=dc" json:"dc,omitempty"`
	IP        string `protobuf:"bytes,6,opt,name=IP" json:"IP,omitempty"`
	Labels    string `protobuf:"bytes,7,opt,name=labels" json:"labels,omitempty"`
	Timeout   int64  `protobuf:"varint,8,opt,name=timeout" json:"timeout,omitempty"`
}

func (m *SCCMDPing) Reset()                    { *m = SCCMDPing{} }
func (m *SCCMDPing) String() string            { return proto.CompactTextString(m) }
func (*SCCMDPing) ProtoMessage()               {}
func (*SCCMDPing) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{4} }

func (m *SCCMDPing) GetBid() string {
	if m != nil {
		return m.Bid
	}
	return ""
}

func (m *SCCMDPing) GetAppid() string {
	if m != nil {
		return m.Appid
	}
	return ""
}

func (m *SCCMDPing) GetClusterid() string {
	if m != nil {
		return m.Clusterid
	}
	return ""
}

func (m *SCCMDPing) GetZoneid() string {
	if m != nil {
		return m.Zoneid
	}
	return ""
}

func (m *SCCMDPing) GetDc() string {
	if m != nil {
		return m.Dc
	}
	return ""
}

func (m *SCCMDPing) GetIP() string {
	if m != nil {
		return m.IP
	}
	return ""
}

func (m *SCCMDPing) GetLabels() string {
	if m != nil {
		return m.Labels
	}
	return ""
}

func (m *SCCMDPing) GetTimeout() int64 {
	if m != nil {
		return m.Timeout
	}
	return 0
}

type SCCMDPushNotification struct {
	Bid         string `protobuf:"bytes,1,opt,name=bid" json:"bid,omitempty"`
	Appid       string `protobuf:"bytes,2,opt,name=appid" json:"appid,omitempty"`
	Cfgsetid    string `protobuf:"bytes,3,opt,name=cfgsetid" json:"cfgsetid,omitempty"`
	CfgsetName  string `protobuf:"bytes,4,opt,name=cfgsetName" json:"cfgsetName,omitempty"`
	Serialno    uint64 `protobuf:"varint,5,opt,name=serialno" json:"serialno,omitempty"`
	Releaseid   string `protobuf:"bytes,6,opt,name=releaseid" json:"releaseid,omitempty"`
	CfgsetFpath string `protobuf:"bytes,7,opt,name=cfgsetFpath" json:"cfgsetFpath,omitempty"`
}

func (m *SCCMDPushNotification) Reset()                    { *m = SCCMDPushNotification{} }
func (m *SCCMDPushNotification) String() string            { return proto.CompactTextString(m) }
func (*SCCMDPushNotification) ProtoMessage()               {}
func (*SCCMDPushNotification) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{5} }

func (m *SCCMDPushNotification) GetBid() string {
	if m != nil {
		return m.Bid
	}
	return ""
}

func (m *SCCMDPushNotification) GetAppid() string {
	if m != nil {
		return m.Appid
	}
	return ""
}

func (m *SCCMDPushNotification) GetCfgsetid() string {
	if m != nil {
		return m.Cfgsetid
	}
	return ""
}

func (m *SCCMDPushNotification) GetCfgsetName() string {
	if m != nil {
		return m.CfgsetName
	}
	return ""
}

func (m *SCCMDPushNotification) GetSerialno() uint64 {
	if m != nil {
		return m.Serialno
	}
	return 0
}

func (m *SCCMDPushNotification) GetReleaseid() string {
	if m != nil {
		return m.Releaseid
	}
	return ""
}

func (m *SCCMDPushNotification) GetCfgsetFpath() string {
	if m != nil {
		return m.CfgsetFpath
	}
	return ""
}

type SCCMDPushRollbackNotification struct {
	Bid         string `protobuf:"bytes,1,opt,name=bid" json:"bid,omitempty"`
	Appid       string `protobuf:"bytes,2,opt,name=appid" json:"appid,omitempty"`
	Cfgsetid    string `protobuf:"bytes,3,opt,name=cfgsetid" json:"cfgsetid,omitempty"`
	CfgsetName  string `protobuf:"bytes,4,opt,name=cfgsetName" json:"cfgsetName,omitempty"`
	Serialno    uint64 `protobuf:"varint,5,opt,name=serialno" json:"serialno,omitempty"`
	Releaseid   string `protobuf:"bytes,6,opt,name=releaseid" json:"releaseid,omitempty"`
	CfgsetFpath string `protobuf:"bytes,7,opt,name=cfgsetFpath" json:"cfgsetFpath,omitempty"`
}

func (m *SCCMDPushRollbackNotification) Reset()                    { *m = SCCMDPushRollbackNotification{} }
func (m *SCCMDPushRollbackNotification) String() string            { return proto.CompactTextString(m) }
func (*SCCMDPushRollbackNotification) ProtoMessage()               {}
func (*SCCMDPushRollbackNotification) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{6} }

func (m *SCCMDPushRollbackNotification) GetBid() string {
	if m != nil {
		return m.Bid
	}
	return ""
}

func (m *SCCMDPushRollbackNotification) GetAppid() string {
	if m != nil {
		return m.Appid
	}
	return ""
}

func (m *SCCMDPushRollbackNotification) GetCfgsetid() string {
	if m != nil {
		return m.Cfgsetid
	}
	return ""
}

func (m *SCCMDPushRollbackNotification) GetCfgsetName() string {
	if m != nil {
		return m.CfgsetName
	}
	return ""
}

func (m *SCCMDPushRollbackNotification) GetSerialno() uint64 {
	if m != nil {
		return m.Serialno
	}
	return 0
}

func (m *SCCMDPushRollbackNotification) GetReleaseid() string {
	if m != nil {
		return m.Releaseid
	}
	return ""
}

func (m *SCCMDPushRollbackNotification) GetCfgsetFpath() string {
	if m != nil {
		return m.CfgsetFpath
	}
	return ""
}

type SCCMDPushReloadNotification struct {
	Bid        string             `protobuf:"bytes,1,opt,name=bid" json:"bid,omitempty"`
	Appid      string             `protobuf:"bytes,2,opt,name=appid" json:"appid,omitempty"`
	ReloadSpec *common.ReloadSpec `protobuf:"bytes,3,opt,name=reloadSpec" json:"reloadSpec,omitempty"`
}

func (m *SCCMDPushReloadNotification) Reset()                    { *m = SCCMDPushReloadNotification{} }
func (m *SCCMDPushReloadNotification) String() string            { return proto.CompactTextString(m) }
func (*SCCMDPushReloadNotification) ProtoMessage()               {}
func (*SCCMDPushReloadNotification) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{7} }

func (m *SCCMDPushReloadNotification) GetBid() string {
	if m != nil {
		return m.Bid
	}
	return ""
}

func (m *SCCMDPushReloadNotification) GetAppid() string {
	if m != nil {
		return m.Appid
	}
	return ""
}

func (m *SCCMDPushReloadNotification) GetReloadSpec() *common.ReloadSpec {
	if m != nil {
		return m.ReloadSpec
	}
	return nil
}

type SignallingChannelDownStream struct {
	Seq     uint64               `protobuf:"varint,1,opt,name=seq" json:"seq,omitempty"`
	Cmd     SignallingChannelCmd `protobuf:"varint,2,opt,name=cmd,enum=connserver.SignallingChannelCmd" json:"cmd,omitempty"`
	CmdPing *SCCMDPing           `protobuf:"bytes,3,opt,name=cmdPing" json:"cmdPing,omitempty"`
}

func (m *SignallingChannelDownStream) Reset()                    { *m = SignallingChannelDownStream{} }
func (m *SignallingChannelDownStream) String() string            { return proto.CompactTextString(m) }
func (*SignallingChannelDownStream) ProtoMessage()               {}
func (*SignallingChannelDownStream) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{8} }

func (m *SignallingChannelDownStream) GetSeq() uint64 {
	if m != nil {
		return m.Seq
	}
	return 0
}

func (m *SignallingChannelDownStream) GetCmd() SignallingChannelCmd {
	if m != nil {
		return m.Cmd
	}
	return SignallingChannelCmd_SCCMD_C2S_PING
}

func (m *SignallingChannelDownStream) GetCmdPing() *SCCMDPing {
	if m != nil {
		return m.CmdPing
	}
	return nil
}

type SignallingChannelUpStream struct {
	Seq         uint64                         `protobuf:"varint,1,opt,name=seq" json:"seq,omitempty"`
	Cmd         SignallingChannelCmd           `protobuf:"varint,2,opt,name=cmd,enum=connserver.SignallingChannelCmd" json:"cmd,omitempty"`
	CmdPush     *SCCMDPushNotification         `protobuf:"bytes,3,opt,name=cmdPush" json:"cmdPush,omitempty"`
	CmdRollback *SCCMDPushRollbackNotification `protobuf:"bytes,4,opt,name=cmdRollback" json:"cmdRollback,omitempty"`
	CmdReload   *SCCMDPushReloadNotification   `protobuf:"bytes,5,opt,name=cmdReload" json:"cmdReload,omitempty"`
}

func (m *SignallingChannelUpStream) Reset()                    { *m = SignallingChannelUpStream{} }
func (m *SignallingChannelUpStream) String() string            { return proto.CompactTextString(m) }
func (*SignallingChannelUpStream) ProtoMessage()               {}
func (*SignallingChannelUpStream) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{9} }

func (m *SignallingChannelUpStream) GetSeq() uint64 {
	if m != nil {
		return m.Seq
	}
	return 0
}

func (m *SignallingChannelUpStream) GetCmd() SignallingChannelCmd {
	if m != nil {
		return m.Cmd
	}
	return SignallingChannelCmd_SCCMD_C2S_PING
}

func (m *SignallingChannelUpStream) GetCmdPush() *SCCMDPushNotification {
	if m != nil {
		return m.CmdPush
	}
	return nil
}

func (m *SignallingChannelUpStream) GetCmdRollback() *SCCMDPushRollbackNotification {
	if m != nil {
		return m.CmdRollback
	}
	return nil
}

func (m *SignallingChannelUpStream) GetCmdReload() *SCCMDPushReloadNotification {
	if m != nil {
		return m.CmdReload
	}
	return nil
}

type ReportReq struct {
	Seq       uint64               `protobuf:"varint,1,opt,name=seq" json:"seq,omitempty"`
	Bid       string               `protobuf:"bytes,2,opt,name=bid" json:"bid,omitempty"`
	Appid     string               `protobuf:"bytes,3,opt,name=appid" json:"appid,omitempty"`
	Clusterid string               `protobuf:"bytes,4,opt,name=clusterid" json:"clusterid,omitempty"`
	Zoneid    string               `protobuf:"bytes,5,opt,name=zoneid" json:"zoneid,omitempty"`
	Dc        string               `protobuf:"bytes,6,opt,name=dc" json:"dc,omitempty"`
	IP        string               `protobuf:"bytes,7,opt,name=IP" json:"IP,omitempty"`
	Labels    string               `protobuf:"bytes,8,opt,name=labels" json:"labels,omitempty"`
	Infos     []*common.ReportInfo `protobuf:"bytes,9,rep,name=infos" json:"infos,omitempty"`
}

func (m *ReportReq) Reset()                    { *m = ReportReq{} }
func (m *ReportReq) String() string            { return proto.CompactTextString(m) }
func (*ReportReq) ProtoMessage()               {}
func (*ReportReq) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{10} }

func (m *ReportReq) GetSeq() uint64 {
	if m != nil {
		return m.Seq
	}
	return 0
}

func (m *ReportReq) GetBid() string {
	if m != nil {
		return m.Bid
	}
	return ""
}

func (m *ReportReq) GetAppid() string {
	if m != nil {
		return m.Appid
	}
	return ""
}

func (m *ReportReq) GetClusterid() string {
	if m != nil {
		return m.Clusterid
	}
	return ""
}

func (m *ReportReq) GetZoneid() string {
	if m != nil {
		return m.Zoneid
	}
	return ""
}

func (m *ReportReq) GetDc() string {
	if m != nil {
		return m.Dc
	}
	return ""
}

func (m *ReportReq) GetIP() string {
	if m != nil {
		return m.IP
	}
	return ""
}

func (m *ReportReq) GetLabels() string {
	if m != nil {
		return m.Labels
	}
	return ""
}

func (m *ReportReq) GetInfos() []*common.ReportInfo {
	if m != nil {
		return m.Infos
	}
	return nil
}

type ReportResp struct {
	Seq     uint64         `protobuf:"varint,1,opt,name=seq" json:"seq,omitempty"`
	ErrCode common.ErrCode `protobuf:"varint,2,opt,name=errCode,enum=common.ErrCode" json:"errCode,omitempty"`
	ErrMsg  string         `protobuf:"bytes,3,opt,name=errMsg" json:"errMsg,omitempty"`
}

func (m *ReportResp) Reset()                    { *m = ReportResp{} }
func (m *ReportResp) String() string            { return proto.CompactTextString(m) }
func (*ReportResp) ProtoMessage()               {}
func (*ReportResp) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{11} }

func (m *ReportResp) GetSeq() uint64 {
	if m != nil {
		return m.Seq
	}
	return 0
}

func (m *ReportResp) GetErrCode() common.ErrCode {
	if m != nil {
		return m.ErrCode
	}
	return common.ErrCode_E_OK
}

func (m *ReportResp) GetErrMsg() string {
	if m != nil {
		return m.ErrMsg
	}
	return ""
}

type PullReleaseReq struct {
	Seq            uint64 `protobuf:"varint,1,opt,name=seq" json:"seq,omitempty"`
	Bid            string `protobuf:"bytes,2,opt,name=bid" json:"bid,omitempty"`
	Appid          string `protobuf:"bytes,3,opt,name=appid" json:"appid,omitempty"`
	Clusterid      string `protobuf:"bytes,4,opt,name=clusterid" json:"clusterid,omitempty"`
	Zoneid         string `protobuf:"bytes,5,opt,name=zoneid" json:"zoneid,omitempty"`
	Dc             string `protobuf:"bytes,6,opt,name=dc" json:"dc,omitempty"`
	IP             string `protobuf:"bytes,7,opt,name=IP" json:"IP,omitempty"`
	Labels         string `protobuf:"bytes,8,opt,name=labels" json:"labels,omitempty"`
	Cfgsetid       string `protobuf:"bytes,9,opt,name=cfgsetid" json:"cfgsetid,omitempty"`
	LocalReleaseid string `protobuf:"bytes,10,opt,name=localReleaseid" json:"localReleaseid,omitempty"`
	Releaseid      string `protobuf:"bytes,11,opt,name=releaseid" json:"releaseid,omitempty"`
}

func (m *PullReleaseReq) Reset()                    { *m = PullReleaseReq{} }
func (m *PullReleaseReq) String() string            { return proto.CompactTextString(m) }
func (*PullReleaseReq) ProtoMessage()               {}
func (*PullReleaseReq) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{12} }

func (m *PullReleaseReq) GetSeq() uint64 {
	if m != nil {
		return m.Seq
	}
	return 0
}

func (m *PullReleaseReq) GetBid() string {
	if m != nil {
		return m.Bid
	}
	return ""
}

func (m *PullReleaseReq) GetAppid() string {
	if m != nil {
		return m.Appid
	}
	return ""
}

func (m *PullReleaseReq) GetClusterid() string {
	if m != nil {
		return m.Clusterid
	}
	return ""
}

func (m *PullReleaseReq) GetZoneid() string {
	if m != nil {
		return m.Zoneid
	}
	return ""
}

func (m *PullReleaseReq) GetDc() string {
	if m != nil {
		return m.Dc
	}
	return ""
}

func (m *PullReleaseReq) GetIP() string {
	if m != nil {
		return m.IP
	}
	return ""
}

func (m *PullReleaseReq) GetLabels() string {
	if m != nil {
		return m.Labels
	}
	return ""
}

func (m *PullReleaseReq) GetCfgsetid() string {
	if m != nil {
		return m.Cfgsetid
	}
	return ""
}

func (m *PullReleaseReq) GetLocalReleaseid() string {
	if m != nil {
		return m.LocalReleaseid
	}
	return ""
}

func (m *PullReleaseReq) GetReleaseid() string {
	if m != nil {
		return m.Releaseid
	}
	return ""
}

type PullReleaseResp struct {
	Seq        uint64          `protobuf:"varint,1,opt,name=seq" json:"seq,omitempty"`
	ErrCode    common.ErrCode  `protobuf:"varint,2,opt,name=errCode,enum=common.ErrCode" json:"errCode,omitempty"`
	ErrMsg     string          `protobuf:"bytes,3,opt,name=errMsg" json:"errMsg,omitempty"`
	NeedEffect bool            `protobuf:"varint,4,opt,name=needEffect" json:"needEffect,omitempty"`
	Release    *common.Release `protobuf:"bytes,5,opt,name=release" json:"release,omitempty"`
	Cid        string          `protobuf:"bytes,6,opt,name=cid" json:"cid,omitempty"`
	CfgLink    string          `protobuf:"bytes,7,opt,name=cfgLink" json:"cfgLink,omitempty"`
}

func (m *PullReleaseResp) Reset()                    { *m = PullReleaseResp{} }
func (m *PullReleaseResp) String() string            { return proto.CompactTextString(m) }
func (*PullReleaseResp) ProtoMessage()               {}
func (*PullReleaseResp) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{13} }

func (m *PullReleaseResp) GetSeq() uint64 {
	if m != nil {
		return m.Seq
	}
	return 0
}

func (m *PullReleaseResp) GetErrCode() common.ErrCode {
	if m != nil {
		return m.ErrCode
	}
	return common.ErrCode_E_OK
}

func (m *PullReleaseResp) GetErrMsg() string {
	if m != nil {
		return m.ErrMsg
	}
	return ""
}

func (m *PullReleaseResp) GetNeedEffect() bool {
	if m != nil {
		return m.NeedEffect
	}
	return false
}

func (m *PullReleaseResp) GetRelease() *common.Release {
	if m != nil {
		return m.Release
	}
	return nil
}

func (m *PullReleaseResp) GetCid() string {
	if m != nil {
		return m.Cid
	}
	return ""
}

func (m *PullReleaseResp) GetCfgLink() string {
	if m != nil {
		return m.CfgLink
	}
	return ""
}

type PullReleaseConfigsReq struct {
	Seq       uint64 `protobuf:"varint,1,opt,name=seq" json:"seq,omitempty"`
	Bid       string `protobuf:"bytes,2,opt,name=bid" json:"bid,omitempty"`
	Appid     string `protobuf:"bytes,3,opt,name=appid" json:"appid,omitempty"`
	Clusterid string `protobuf:"bytes,4,opt,name=clusterid" json:"clusterid,omitempty"`
	Zoneid    string `protobuf:"bytes,5,opt,name=zoneid" json:"zoneid,omitempty"`
	Cfgsetid  string `protobuf:"bytes,6,opt,name=cfgsetid" json:"cfgsetid,omitempty"`
	Releaseid string `protobuf:"bytes,7,opt,name=releaseid" json:"releaseid,omitempty"`
	Cid       string `protobuf:"bytes,8,opt,name=cid" json:"cid,omitempty"`
	// add fields here.
	IP string `protobuf:"bytes,9,opt,name=IP" json:"IP,omitempty"`
}

func (m *PullReleaseConfigsReq) Reset()                    { *m = PullReleaseConfigsReq{} }
func (m *PullReleaseConfigsReq) String() string            { return proto.CompactTextString(m) }
func (*PullReleaseConfigsReq) ProtoMessage()               {}
func (*PullReleaseConfigsReq) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{14} }

func (m *PullReleaseConfigsReq) GetSeq() uint64 {
	if m != nil {
		return m.Seq
	}
	return 0
}

func (m *PullReleaseConfigsReq) GetBid() string {
	if m != nil {
		return m.Bid
	}
	return ""
}

func (m *PullReleaseConfigsReq) GetAppid() string {
	if m != nil {
		return m.Appid
	}
	return ""
}

func (m *PullReleaseConfigsReq) GetClusterid() string {
	if m != nil {
		return m.Clusterid
	}
	return ""
}

func (m *PullReleaseConfigsReq) GetZoneid() string {
	if m != nil {
		return m.Zoneid
	}
	return ""
}

func (m *PullReleaseConfigsReq) GetCfgsetid() string {
	if m != nil {
		return m.Cfgsetid
	}
	return ""
}

func (m *PullReleaseConfigsReq) GetReleaseid() string {
	if m != nil {
		return m.Releaseid
	}
	return ""
}

func (m *PullReleaseConfigsReq) GetCid() string {
	if m != nil {
		return m.Cid
	}
	return ""
}

func (m *PullReleaseConfigsReq) GetIP() string {
	if m != nil {
		return m.IP
	}
	return ""
}

type PullReleaseConfigsResp struct {
	Seq     uint64         `protobuf:"varint,1,opt,name=seq" json:"seq,omitempty"`
	ErrCode common.ErrCode `protobuf:"varint,2,opt,name=errCode,enum=common.ErrCode" json:"errCode,omitempty"`
	ErrMsg  string         `protobuf:"bytes,3,opt,name=errMsg" json:"errMsg,omitempty"`
	Cid     string         `protobuf:"bytes,4,opt,name=cid" json:"cid,omitempty"`
	CfgLink string         `protobuf:"bytes,5,opt,name=cfgLink" json:"cfgLink,omitempty"`
	Content []byte         `protobuf:"bytes,6,opt,name=content,proto3" json:"content,omitempty"`
}

func (m *PullReleaseConfigsResp) Reset()                    { *m = PullReleaseConfigsResp{} }
func (m *PullReleaseConfigsResp) String() string            { return proto.CompactTextString(m) }
func (*PullReleaseConfigsResp) ProtoMessage()               {}
func (*PullReleaseConfigsResp) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{15} }

func (m *PullReleaseConfigsResp) GetSeq() uint64 {
	if m != nil {
		return m.Seq
	}
	return 0
}

func (m *PullReleaseConfigsResp) GetErrCode() common.ErrCode {
	if m != nil {
		return m.ErrCode
	}
	return common.ErrCode_E_OK
}

func (m *PullReleaseConfigsResp) GetErrMsg() string {
	if m != nil {
		return m.ErrMsg
	}
	return ""
}

func (m *PullReleaseConfigsResp) GetCid() string {
	if m != nil {
		return m.Cid
	}
	return ""
}

func (m *PullReleaseConfigsResp) GetCfgLink() string {
	if m != nil {
		return m.CfgLink
	}
	return ""
}

func (m *PullReleaseConfigsResp) GetContent() []byte {
	if m != nil {
		return m.Content
	}
	return nil
}

type PullConfigSetListReq struct {
	Seq   uint64 `protobuf:"varint,1,opt,name=seq" json:"seq,omitempty"`
	Bid   string `protobuf:"bytes,2,opt,name=bid" json:"bid,omitempty"`
	Appid string `protobuf:"bytes,3,opt,name=appid" json:"appid,omitempty"`
	Index int32  `protobuf:"varint,4,opt,name=index" json:"index,omitempty"`
	Limit int32  `protobuf:"varint,5,opt,name=limit" json:"limit,omitempty"`
}

func (m *PullConfigSetListReq) Reset()                    { *m = PullConfigSetListReq{} }
func (m *PullConfigSetListReq) String() string            { return proto.CompactTextString(m) }
func (*PullConfigSetListReq) ProtoMessage()               {}
func (*PullConfigSetListReq) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{16} }

func (m *PullConfigSetListReq) GetSeq() uint64 {
	if m != nil {
		return m.Seq
	}
	return 0
}

func (m *PullConfigSetListReq) GetBid() string {
	if m != nil {
		return m.Bid
	}
	return ""
}

func (m *PullConfigSetListReq) GetAppid() string {
	if m != nil {
		return m.Appid
	}
	return ""
}

func (m *PullConfigSetListReq) GetIndex() int32 {
	if m != nil {
		return m.Index
	}
	return 0
}

func (m *PullConfigSetListReq) GetLimit() int32 {
	if m != nil {
		return m.Limit
	}
	return 0
}

type PullConfigSetListResp struct {
	Seq        uint64              `protobuf:"varint,1,opt,name=seq" json:"seq,omitempty"`
	ErrCode    common.ErrCode      `protobuf:"varint,2,opt,name=errCode,enum=common.ErrCode" json:"errCode,omitempty"`
	ErrMsg     string              `protobuf:"bytes,3,opt,name=errMsg" json:"errMsg,omitempty"`
	ConfigSets []*common.ConfigSet `protobuf:"bytes,4,rep,name=configSets" json:"configSets,omitempty"`
}

func (m *PullConfigSetListResp) Reset()                    { *m = PullConfigSetListResp{} }
func (m *PullConfigSetListResp) String() string            { return proto.CompactTextString(m) }
func (*PullConfigSetListResp) ProtoMessage()               {}
func (*PullConfigSetListResp) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{17} }

func (m *PullConfigSetListResp) GetSeq() uint64 {
	if m != nil {
		return m.Seq
	}
	return 0
}

func (m *PullConfigSetListResp) GetErrCode() common.ErrCode {
	if m != nil {
		return m.ErrCode
	}
	return common.ErrCode_E_OK
}

func (m *PullConfigSetListResp) GetErrMsg() string {
	if m != nil {
		return m.ErrMsg
	}
	return ""
}

func (m *PullConfigSetListResp) GetConfigSets() []*common.ConfigSet {
	if m != nil {
		return m.ConfigSets
	}
	return nil
}

func init() {
	proto.RegisterType((*QueryAppMetadataReq)(nil), "connserver.QueryAppMetadataReq")
	proto.RegisterType((*QueryAppMetadataResp)(nil), "connserver.QueryAppMetadataResp")
	proto.RegisterType((*AccessReq)(nil), "connserver.AccessReq")
	proto.RegisterType((*AccessResp)(nil), "connserver.AccessResp")
	proto.RegisterType((*SCCMDPing)(nil), "connserver.SCCMDPing")
	proto.RegisterType((*SCCMDPushNotification)(nil), "connserver.SCCMDPushNotification")
	proto.RegisterType((*SCCMDPushRollbackNotification)(nil), "connserver.SCCMDPushRollbackNotification")
	proto.RegisterType((*SCCMDPushReloadNotification)(nil), "connserver.SCCMDPushReloadNotification")
	proto.RegisterType((*SignallingChannelDownStream)(nil), "connserver.SignallingChannelDownStream")
	proto.RegisterType((*SignallingChannelUpStream)(nil), "connserver.SignallingChannelUpStream")
	proto.RegisterType((*ReportReq)(nil), "connserver.ReportReq")
	proto.RegisterType((*ReportResp)(nil), "connserver.ReportResp")
	proto.RegisterType((*PullReleaseReq)(nil), "connserver.PullReleaseReq")
	proto.RegisterType((*PullReleaseResp)(nil), "connserver.PullReleaseResp")
	proto.RegisterType((*PullReleaseConfigsReq)(nil), "connserver.PullReleaseConfigsReq")
	proto.RegisterType((*PullReleaseConfigsResp)(nil), "connserver.PullReleaseConfigsResp")
	proto.RegisterType((*PullConfigSetListReq)(nil), "connserver.PullConfigSetListReq")
	proto.RegisterType((*PullConfigSetListResp)(nil), "connserver.PullConfigSetListResp")
	proto.RegisterEnum("connserver.SignallingChannelCmd", SignallingChannelCmd_name, SignallingChannelCmd_value)
}

// 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

// Client API for Connection service

type ConnectionClient interface {
	QueryAppMetadata(ctx context.Context, in *QueryAppMetadataReq, opts ...grpc.CallOption) (*QueryAppMetadataResp, error)
	Access(ctx context.Context, in *AccessReq, opts ...grpc.CallOption) (*AccessResp, error)
	SignallingChannel(ctx context.Context, opts ...grpc.CallOption) (Connection_SignallingChannelClient, error)
	Report(ctx context.Context, in *ReportReq, opts ...grpc.CallOption) (*ReportResp, error)
	PullRelease(ctx context.Context, in *PullReleaseReq, opts ...grpc.CallOption) (*PullReleaseResp, error)
	PullReleaseConfigs(ctx context.Context, in *PullReleaseConfigsReq, opts ...grpc.CallOption) (*PullReleaseConfigsResp, error)
	PullConfigSetList(ctx context.Context, in *PullConfigSetListReq, opts ...grpc.CallOption) (*PullConfigSetListResp, error)
}

type connectionClient struct {
	cc *grpc.ClientConn
}

func NewConnectionClient(cc *grpc.ClientConn) ConnectionClient {
	return &connectionClient{cc}
}

func (c *connectionClient) QueryAppMetadata(ctx context.Context, in *QueryAppMetadataReq, opts ...grpc.CallOption) (*QueryAppMetadataResp, error) {
	out := new(QueryAppMetadataResp)
	err := grpc.Invoke(ctx, "/connserver.Connection/QueryAppMetadata", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *connectionClient) Access(ctx context.Context, in *AccessReq, opts ...grpc.CallOption) (*AccessResp, error) {
	out := new(AccessResp)
	err := grpc.Invoke(ctx, "/connserver.Connection/Access", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *connectionClient) SignallingChannel(ctx context.Context, opts ...grpc.CallOption) (Connection_SignallingChannelClient, error) {
	stream, err := grpc.NewClientStream(ctx, &_Connection_serviceDesc.Streams[0], c.cc, "/connserver.Connection/SignallingChannel", opts...)
	if err != nil {
		return nil, err
	}
	x := &connectionSignallingChannelClient{stream}
	return x, nil
}

type Connection_SignallingChannelClient interface {
	Send(*SignallingChannelDownStream) error
	Recv() (*SignallingChannelUpStream, error)
	grpc.ClientStream
}

type connectionSignallingChannelClient struct {
	grpc.ClientStream
}

func (x *connectionSignallingChannelClient) Send(m *SignallingChannelDownStream) error {
	return x.ClientStream.SendMsg(m)
}

func (x *connectionSignallingChannelClient) Recv() (*SignallingChannelUpStream, error) {
	m := new(SignallingChannelUpStream)
	if err := x.ClientStream.RecvMsg(m); err != nil {
		return nil, err
	}
	return m, nil
}

func (c *connectionClient) Report(ctx context.Context, in *ReportReq, opts ...grpc.CallOption) (*ReportResp, error) {
	out := new(ReportResp)
	err := grpc.Invoke(ctx, "/connserver.Connection/Report", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *connectionClient) PullRelease(ctx context.Context, in *PullReleaseReq, opts ...grpc.CallOption) (*PullReleaseResp, error) {
	out := new(PullReleaseResp)
	err := grpc.Invoke(ctx, "/connserver.Connection/PullRelease", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *connectionClient) PullReleaseConfigs(ctx context.Context, in *PullReleaseConfigsReq, opts ...grpc.CallOption) (*PullReleaseConfigsResp, error) {
	out := new(PullReleaseConfigsResp)
	err := grpc.Invoke(ctx, "/connserver.Connection/PullReleaseConfigs", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *connectionClient) PullConfigSetList(ctx context.Context, in *PullConfigSetListReq, opts ...grpc.CallOption) (*PullConfigSetListResp, error) {
	out := new(PullConfigSetListResp)
	err := grpc.Invoke(ctx, "/connserver.Connection/PullConfigSetList", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

// Server API for Connection service

type ConnectionServer interface {
	QueryAppMetadata(context.Context, *QueryAppMetadataReq) (*QueryAppMetadataResp, error)
	Access(context.Context, *AccessReq) (*AccessResp, error)
	SignallingChannel(Connection_SignallingChannelServer) error
	Report(context.Context, *ReportReq) (*ReportResp, error)
	PullRelease(context.Context, *PullReleaseReq) (*PullReleaseResp, error)
	PullReleaseConfigs(context.Context, *PullReleaseConfigsReq) (*PullReleaseConfigsResp, error)
	PullConfigSetList(context.Context, *PullConfigSetListReq) (*PullConfigSetListResp, error)
}

func RegisterConnectionServer(s *grpc.Server, srv ConnectionServer) {
	s.RegisterService(&_Connection_serviceDesc, srv)
}

func _Connection_QueryAppMetadata_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(QueryAppMetadataReq)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ConnectionServer).QueryAppMetadata(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/connserver.Connection/QueryAppMetadata",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ConnectionServer).QueryAppMetadata(ctx, req.(*QueryAppMetadataReq))
	}
	return interceptor(ctx, in, info, handler)
}

func _Connection_Access_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(AccessReq)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ConnectionServer).Access(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/connserver.Connection/Access",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ConnectionServer).Access(ctx, req.(*AccessReq))
	}
	return interceptor(ctx, in, info, handler)
}

func _Connection_SignallingChannel_Handler(srv interface{}, stream grpc.ServerStream) error {
	return srv.(ConnectionServer).SignallingChannel(&connectionSignallingChannelServer{stream})
}

type Connection_SignallingChannelServer interface {
	Send(*SignallingChannelUpStream) error
	Recv() (*SignallingChannelDownStream, error)
	grpc.ServerStream
}

type connectionSignallingChannelServer struct {
	grpc.ServerStream
}

func (x *connectionSignallingChannelServer) Send(m *SignallingChannelUpStream) error {
	return x.ServerStream.SendMsg(m)
}

func (x *connectionSignallingChannelServer) Recv() (*SignallingChannelDownStream, error) {
	m := new(SignallingChannelDownStream)
	if err := x.ServerStream.RecvMsg(m); err != nil {
		return nil, err
	}
	return m, nil
}

func _Connection_Report_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ReportReq)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ConnectionServer).Report(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/connserver.Connection/Report",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ConnectionServer).Report(ctx, req.(*ReportReq))
	}
	return interceptor(ctx, in, info, handler)
}

func _Connection_PullRelease_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(PullReleaseReq)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ConnectionServer).PullRelease(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/connserver.Connection/PullRelease",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ConnectionServer).PullRelease(ctx, req.(*PullReleaseReq))
	}
	return interceptor(ctx, in, info, handler)
}

func _Connection_PullReleaseConfigs_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(PullReleaseConfigsReq)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ConnectionServer).PullReleaseConfigs(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/connserver.Connection/PullReleaseConfigs",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ConnectionServer).PullReleaseConfigs(ctx, req.(*PullReleaseConfigsReq))
	}
	return interceptor(ctx, in, info, handler)
}

func _Connection_PullConfigSetList_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(PullConfigSetListReq)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ConnectionServer).PullConfigSetList(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/connserver.Connection/PullConfigSetList",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ConnectionServer).PullConfigSetList(ctx, req.(*PullConfigSetListReq))
	}
	return interceptor(ctx, in, info, handler)
}

var _Connection_serviceDesc = grpc.ServiceDesc{
	ServiceName: "connserver.Connection",
	HandlerType: (*ConnectionServer)(nil),
	Methods: []grpc.MethodDesc{
		{
			MethodName: "QueryAppMetadata",
			Handler:    _Connection_QueryAppMetadata_Handler,
		},
		{
			MethodName: "Access",
			Handler:    _Connection_Access_Handler,
		},
		{
			MethodName: "Report",
			Handler:    _Connection_Report_Handler,
		},
		{
			MethodName: "PullRelease",
			Handler:    _Connection_PullRelease_Handler,
		},
		{
			MethodName: "PullReleaseConfigs",
			Handler:    _Connection_PullReleaseConfigs_Handler,
		},
		{
			MethodName: "PullConfigSetList",
			Handler:    _Connection_PullConfigSetList_Handler,
		},
	},
	Streams: []grpc.StreamDesc{
		{
			StreamName:    "SignallingChannel",
			Handler:       _Connection_SignallingChannel_Handler,
			ServerStreams: true,
			ClientStreams: true,
		},
	},
	Metadata: "connserver.proto",
}

func init() { proto.RegisterFile("connserver.proto", fileDescriptor0) }

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