// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// 	protoc-gen-go v1.29.1
// 	protoc        (unknown)
// source: zoekt/webserver/v1/query.proto

package v1

import (
	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
	reflect "reflect"
	sync "sync"
)

const (
	// Verify that this generated code is sufficiently up-to-date.
	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
	// Verify that runtime/protoimpl is sufficiently up-to-date.
	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)

type RawConfig_Flag int32

const (
	RawConfig_FLAG_UNKNOWN_UNSPECIFIED RawConfig_Flag = 0
	RawConfig_FLAG_ONLY_PUBLIC         RawConfig_Flag = 1
	RawConfig_FLAG_ONLY_PRIVATE        RawConfig_Flag = 2
	RawConfig_FLAG_ONLY_FORKS          RawConfig_Flag = 4
	RawConfig_FLAG_NO_FORKS            RawConfig_Flag = 8
	RawConfig_FLAG_ONLY_ARCHIVED       RawConfig_Flag = 16
	RawConfig_FLAG_NO_ARCHIVED         RawConfig_Flag = 32
)

// Enum value maps for RawConfig_Flag.
var (
	RawConfig_Flag_name = map[int32]string{
		0:  "FLAG_UNKNOWN_UNSPECIFIED",
		1:  "FLAG_ONLY_PUBLIC",
		2:  "FLAG_ONLY_PRIVATE",
		4:  "FLAG_ONLY_FORKS",
		8:  "FLAG_NO_FORKS",
		16: "FLAG_ONLY_ARCHIVED",
		32: "FLAG_NO_ARCHIVED",
	}
	RawConfig_Flag_value = map[string]int32{
		"FLAG_UNKNOWN_UNSPECIFIED": 0,
		"FLAG_ONLY_PUBLIC":         1,
		"FLAG_ONLY_PRIVATE":        2,
		"FLAG_ONLY_FORKS":          4,
		"FLAG_NO_FORKS":            8,
		"FLAG_ONLY_ARCHIVED":       16,
		"FLAG_NO_ARCHIVED":         32,
	}
)

func (x RawConfig_Flag) Enum() *RawConfig_Flag {
	p := new(RawConfig_Flag)
	*p = x
	return p
}

func (x RawConfig_Flag) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (RawConfig_Flag) Descriptor() protoreflect.EnumDescriptor {
	return file_zoekt_webserver_v1_query_proto_enumTypes[0].Descriptor()
}

func (RawConfig_Flag) Type() protoreflect.EnumType {
	return &file_zoekt_webserver_v1_query_proto_enumTypes[0]
}

func (x RawConfig_Flag) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use RawConfig_Flag.Descriptor instead.
func (RawConfig_Flag) EnumDescriptor() ([]byte, []int) {
	return file_zoekt_webserver_v1_query_proto_rawDescGZIP(), []int{1, 0}
}

type Type_Kind int32

const (
	Type_KIND_UNKNOWN_UNSPECIFIED Type_Kind = 0
	Type_KIND_FILE_MATCH          Type_Kind = 1
	Type_KIND_FILE_NAME           Type_Kind = 2
	Type_KIND_REPO                Type_Kind = 3
)

// Enum value maps for Type_Kind.
var (
	Type_Kind_name = map[int32]string{
		0: "KIND_UNKNOWN_UNSPECIFIED",
		1: "KIND_FILE_MATCH",
		2: "KIND_FILE_NAME",
		3: "KIND_REPO",
	}
	Type_Kind_value = map[string]int32{
		"KIND_UNKNOWN_UNSPECIFIED": 0,
		"KIND_FILE_MATCH":          1,
		"KIND_FILE_NAME":           2,
		"KIND_REPO":                3,
	}
)

func (x Type_Kind) Enum() *Type_Kind {
	p := new(Type_Kind)
	*p = x
	return p
}

func (x Type_Kind) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (Type_Kind) Descriptor() protoreflect.EnumDescriptor {
	return file_zoekt_webserver_v1_query_proto_enumTypes[1].Descriptor()
}

func (Type_Kind) Type() protoreflect.EnumType {
	return &file_zoekt_webserver_v1_query_proto_enumTypes[1]
}

func (x Type_Kind) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use Type_Kind.Descriptor instead.
func (Type_Kind) EnumDescriptor() ([]byte, []int) {
	return file_zoekt_webserver_v1_query_proto_rawDescGZIP(), []int{12, 0}
}

type Q struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Types that are assignable to Query:
	//
	//	*Q_RawConfig
	//	*Q_Regexp
	//	*Q_Symbol
	//	*Q_Language
	//	*Q_Const
	//	*Q_Repo
	//	*Q_RepoRegexp
	//	*Q_BranchesRepos
	//	*Q_RepoIds
	//	*Q_RepoSet
	//	*Q_FileNameSet
	//	*Q_Type
	//	*Q_Substring
	//	*Q_And
	//	*Q_Or
	//	*Q_Not
	//	*Q_Branch
	//	*Q_Boost
	//	*Q_Meta
	Query isQ_Query `protobuf_oneof:"query"`
}

func (x *Q) Reset() {
	*x = Q{}
	if protoimpl.UnsafeEnabled {
		mi := &file_zoekt_webserver_v1_query_proto_msgTypes[0]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *Q) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Q) ProtoMessage() {}

func (x *Q) ProtoReflect() protoreflect.Message {
	mi := &file_zoekt_webserver_v1_query_proto_msgTypes[0]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Q.ProtoReflect.Descriptor instead.
func (*Q) Descriptor() ([]byte, []int) {
	return file_zoekt_webserver_v1_query_proto_rawDescGZIP(), []int{0}
}

func (m *Q) GetQuery() isQ_Query {
	if m != nil {
		return m.Query
	}
	return nil
}

func (x *Q) GetRawConfig() *RawConfig {
	if x, ok := x.GetQuery().(*Q_RawConfig); ok {
		return x.RawConfig
	}
	return nil
}

func (x *Q) GetRegexp() *Regexp {
	if x, ok := x.GetQuery().(*Q_Regexp); ok {
		return x.Regexp
	}
	return nil
}

func (x *Q) GetSymbol() *Symbol {
	if x, ok := x.GetQuery().(*Q_Symbol); ok {
		return x.Symbol
	}
	return nil
}

func (x *Q) GetLanguage() *Language {
	if x, ok := x.GetQuery().(*Q_Language); ok {
		return x.Language
	}
	return nil
}

func (x *Q) GetConst() bool {
	if x, ok := x.GetQuery().(*Q_Const); ok {
		return x.Const
	}
	return false
}

func (x *Q) GetRepo() *Repo {
	if x, ok := x.GetQuery().(*Q_Repo); ok {
		return x.Repo
	}
	return nil
}

func (x *Q) GetRepoRegexp() *RepoRegexp {
	if x, ok := x.GetQuery().(*Q_RepoRegexp); ok {
		return x.RepoRegexp
	}
	return nil
}

func (x *Q) GetBranchesRepos() *BranchesRepos {
	if x, ok := x.GetQuery().(*Q_BranchesRepos); ok {
		return x.BranchesRepos
	}
	return nil
}

func (x *Q) GetRepoIds() *RepoIds {
	if x, ok := x.GetQuery().(*Q_RepoIds); ok {
		return x.RepoIds
	}
	return nil
}

func (x *Q) GetRepoSet() *RepoSet {
	if x, ok := x.GetQuery().(*Q_RepoSet); ok {
		return x.RepoSet
	}
	return nil
}

func (x *Q) GetFileNameSet() *FileNameSet {
	if x, ok := x.GetQuery().(*Q_FileNameSet); ok {
		return x.FileNameSet
	}
	return nil
}

func (x *Q) GetType() *Type {
	if x, ok := x.GetQuery().(*Q_Type); ok {
		return x.Type
	}
	return nil
}

func (x *Q) GetSubstring() *Substring {
	if x, ok := x.GetQuery().(*Q_Substring); ok {
		return x.Substring
	}
	return nil
}

func (x *Q) GetAnd() *And {
	if x, ok := x.GetQuery().(*Q_And); ok {
		return x.And
	}
	return nil
}

func (x *Q) GetOr() *Or {
	if x, ok := x.GetQuery().(*Q_Or); ok {
		return x.Or
	}
	return nil
}

func (x *Q) GetNot() *Not {
	if x, ok := x.GetQuery().(*Q_Not); ok {
		return x.Not
	}
	return nil
}

func (x *Q) GetBranch() *Branch {
	if x, ok := x.GetQuery().(*Q_Branch); ok {
		return x.Branch
	}
	return nil
}

func (x *Q) GetBoost() *Boost {
	if x, ok := x.GetQuery().(*Q_Boost); ok {
		return x.Boost
	}
	return nil
}

func (x *Q) GetMeta() *Meta {
	if x, ok := x.GetQuery().(*Q_Meta); ok {
		return x.Meta
	}
	return nil
}

type isQ_Query interface {
	isQ_Query()
}

type Q_RawConfig struct {
	RawConfig *RawConfig `protobuf:"bytes,1,opt,name=raw_config,json=rawConfig,proto3,oneof"`
}

type Q_Regexp struct {
	Regexp *Regexp `protobuf:"bytes,2,opt,name=regexp,proto3,oneof"`
}

type Q_Symbol struct {
	Symbol *Symbol `protobuf:"bytes,3,opt,name=symbol,proto3,oneof"`
}

type Q_Language struct {
	Language *Language `protobuf:"bytes,4,opt,name=language,proto3,oneof"`
}

type Q_Const struct {
	Const bool `protobuf:"varint,5,opt,name=const,proto3,oneof"`
}

type Q_Repo struct {
	Repo *Repo `protobuf:"bytes,6,opt,name=repo,proto3,oneof"`
}

type Q_RepoRegexp struct {
	RepoRegexp *RepoRegexp `protobuf:"bytes,7,opt,name=repo_regexp,json=repoRegexp,proto3,oneof"`
}

type Q_BranchesRepos struct {
	BranchesRepos *BranchesRepos `protobuf:"bytes,8,opt,name=branches_repos,json=branchesRepos,proto3,oneof"`
}

type Q_RepoIds struct {
	RepoIds *RepoIds `protobuf:"bytes,9,opt,name=repo_ids,json=repoIds,proto3,oneof"`
}

type Q_RepoSet struct {
	RepoSet *RepoSet `protobuf:"bytes,10,opt,name=repo_set,json=repoSet,proto3,oneof"`
}

type Q_FileNameSet struct {
	FileNameSet *FileNameSet `protobuf:"bytes,11,opt,name=file_name_set,json=fileNameSet,proto3,oneof"`
}

type Q_Type struct {
	Type *Type `protobuf:"bytes,12,opt,name=type,proto3,oneof"`
}

type Q_Substring struct {
	Substring *Substring `protobuf:"bytes,13,opt,name=substring,proto3,oneof"`
}

type Q_And struct {
	And *And `protobuf:"bytes,14,opt,name=and,proto3,oneof"`
}

type Q_Or struct {
	Or *Or `protobuf:"bytes,15,opt,name=or,proto3,oneof"`
}

type Q_Not struct {
	Not *Not `protobuf:"bytes,16,opt,name=not,proto3,oneof"`
}

type Q_Branch struct {
	Branch *Branch `protobuf:"bytes,17,opt,name=branch,proto3,oneof"`
}

type Q_Boost struct {
	Boost *Boost `protobuf:"bytes,18,opt,name=boost,proto3,oneof"`
}

type Q_Meta struct {
	Meta *Meta `protobuf:"bytes,19,opt,name=meta,proto3,oneof"`
}

func (*Q_RawConfig) isQ_Query() {}

func (*Q_Regexp) isQ_Query() {}

func (*Q_Symbol) isQ_Query() {}

func (*Q_Language) isQ_Query() {}

func (*Q_Const) isQ_Query() {}

func (*Q_Repo) isQ_Query() {}

func (*Q_RepoRegexp) isQ_Query() {}

func (*Q_BranchesRepos) isQ_Query() {}

func (*Q_RepoIds) isQ_Query() {}

func (*Q_RepoSet) isQ_Query() {}

func (*Q_FileNameSet) isQ_Query() {}

func (*Q_Type) isQ_Query() {}

func (*Q_Substring) isQ_Query() {}

func (*Q_And) isQ_Query() {}

func (*Q_Or) isQ_Query() {}

func (*Q_Not) isQ_Query() {}

func (*Q_Branch) isQ_Query() {}

func (*Q_Boost) isQ_Query() {}

func (*Q_Meta) isQ_Query() {}

// RawConfig filters repositories based on their encoded RawConfig map.
type RawConfig struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Flags []RawConfig_Flag `protobuf:"varint,1,rep,packed,name=flags,proto3,enum=zoekt.webserver.v1.RawConfig_Flag" json:"flags,omitempty"`
}

func (x *RawConfig) Reset() {
	*x = RawConfig{}
	if protoimpl.UnsafeEnabled {
		mi := &file_zoekt_webserver_v1_query_proto_msgTypes[1]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *RawConfig) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*RawConfig) ProtoMessage() {}

func (x *RawConfig) ProtoReflect() protoreflect.Message {
	mi := &file_zoekt_webserver_v1_query_proto_msgTypes[1]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use RawConfig.ProtoReflect.Descriptor instead.
func (*RawConfig) Descriptor() ([]byte, []int) {
	return file_zoekt_webserver_v1_query_proto_rawDescGZIP(), []int{1}
}

func (x *RawConfig) GetFlags() []RawConfig_Flag {
	if x != nil {
		return x.Flags
	}
	return nil
}

// Regexp is a query looking for regular expressions matches.
type Regexp struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Regexp        string `protobuf:"bytes,1,opt,name=regexp,proto3" json:"regexp,omitempty"`
	FileName      bool   `protobuf:"varint,2,opt,name=file_name,json=fileName,proto3" json:"file_name,omitempty"`
	Content       bool   `protobuf:"varint,3,opt,name=content,proto3" json:"content,omitempty"`
	CaseSensitive bool   `protobuf:"varint,4,opt,name=case_sensitive,json=caseSensitive,proto3" json:"case_sensitive,omitempty"`
}

func (x *Regexp) Reset() {
	*x = Regexp{}
	if protoimpl.UnsafeEnabled {
		mi := &file_zoekt_webserver_v1_query_proto_msgTypes[2]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *Regexp) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Regexp) ProtoMessage() {}

func (x *Regexp) ProtoReflect() protoreflect.Message {
	mi := &file_zoekt_webserver_v1_query_proto_msgTypes[2]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Regexp.ProtoReflect.Descriptor instead.
func (*Regexp) Descriptor() ([]byte, []int) {
	return file_zoekt_webserver_v1_query_proto_rawDescGZIP(), []int{2}
}

func (x *Regexp) GetRegexp() string {
	if x != nil {
		return x.Regexp
	}
	return ""
}

func (x *Regexp) GetFileName() bool {
	if x != nil {
		return x.FileName
	}
	return false
}

func (x *Regexp) GetContent() bool {
	if x != nil {
		return x.Content
	}
	return false
}

func (x *Regexp) GetCaseSensitive() bool {
	if x != nil {
		return x.CaseSensitive
	}
	return false
}

type Symbol struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Expr *Q `protobuf:"bytes,1,opt,name=expr,proto3" json:"expr,omitempty"`
}

func (x *Symbol) Reset() {
	*x = Symbol{}
	if protoimpl.UnsafeEnabled {
		mi := &file_zoekt_webserver_v1_query_proto_msgTypes[3]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *Symbol) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Symbol) ProtoMessage() {}

func (x *Symbol) ProtoReflect() protoreflect.Message {
	mi := &file_zoekt_webserver_v1_query_proto_msgTypes[3]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Symbol.ProtoReflect.Descriptor instead.
func (*Symbol) Descriptor() ([]byte, []int) {
	return file_zoekt_webserver_v1_query_proto_rawDescGZIP(), []int{3}
}

func (x *Symbol) GetExpr() *Q {
	if x != nil {
		return x.Expr
	}
	return nil
}

type Language struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Language string `protobuf:"bytes,1,opt,name=language,proto3" json:"language,omitempty"`
}

func (x *Language) Reset() {
	*x = Language{}
	if protoimpl.UnsafeEnabled {
		mi := &file_zoekt_webserver_v1_query_proto_msgTypes[4]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *Language) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Language) ProtoMessage() {}

func (x *Language) ProtoReflect() protoreflect.Message {
	mi := &file_zoekt_webserver_v1_query_proto_msgTypes[4]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Language.ProtoReflect.Descriptor instead.
func (*Language) Descriptor() ([]byte, []int) {
	return file_zoekt_webserver_v1_query_proto_rawDescGZIP(), []int{4}
}

func (x *Language) GetLanguage() string {
	if x != nil {
		return x.Language
	}
	return ""
}

type Repo struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Regexp string `protobuf:"bytes,1,opt,name=regexp,proto3" json:"regexp,omitempty"`
}

func (x *Repo) Reset() {
	*x = Repo{}
	if protoimpl.UnsafeEnabled {
		mi := &file_zoekt_webserver_v1_query_proto_msgTypes[5]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *Repo) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Repo) ProtoMessage() {}

func (x *Repo) ProtoReflect() protoreflect.Message {
	mi := &file_zoekt_webserver_v1_query_proto_msgTypes[5]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Repo.ProtoReflect.Descriptor instead.
func (*Repo) Descriptor() ([]byte, []int) {
	return file_zoekt_webserver_v1_query_proto_rawDescGZIP(), []int{5}
}

func (x *Repo) GetRegexp() string {
	if x != nil {
		return x.Regexp
	}
	return ""
}

type RepoRegexp struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Regexp string `protobuf:"bytes,1,opt,name=regexp,proto3" json:"regexp,omitempty"`
}

func (x *RepoRegexp) Reset() {
	*x = RepoRegexp{}
	if protoimpl.UnsafeEnabled {
		mi := &file_zoekt_webserver_v1_query_proto_msgTypes[6]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *RepoRegexp) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*RepoRegexp) ProtoMessage() {}

func (x *RepoRegexp) ProtoReflect() protoreflect.Message {
	mi := &file_zoekt_webserver_v1_query_proto_msgTypes[6]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use RepoRegexp.ProtoReflect.Descriptor instead.
func (*RepoRegexp) Descriptor() ([]byte, []int) {
	return file_zoekt_webserver_v1_query_proto_rawDescGZIP(), []int{6}
}

func (x *RepoRegexp) GetRegexp() string {
	if x != nil {
		return x.Regexp
	}
	return ""
}

// BranchesRepos is a slice of BranchRepos to match.
type BranchesRepos struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	List []*BranchRepos `protobuf:"bytes,1,rep,name=list,proto3" json:"list,omitempty"`
}

func (x *BranchesRepos) Reset() {
	*x = BranchesRepos{}
	if protoimpl.UnsafeEnabled {
		mi := &file_zoekt_webserver_v1_query_proto_msgTypes[7]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *BranchesRepos) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*BranchesRepos) ProtoMessage() {}

func (x *BranchesRepos) ProtoReflect() protoreflect.Message {
	mi := &file_zoekt_webserver_v1_query_proto_msgTypes[7]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use BranchesRepos.ProtoReflect.Descriptor instead.
func (*BranchesRepos) Descriptor() ([]byte, []int) {
	return file_zoekt_webserver_v1_query_proto_rawDescGZIP(), []int{7}
}

func (x *BranchesRepos) GetList() []*BranchRepos {
	if x != nil {
		return x.List
	}
	return nil
}

// BranchRepos is a (branch, sourcegraph repo ids bitmap) tuple. It is a
// Sourcegraph addition.
type BranchRepos struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Branch string `protobuf:"bytes,1,opt,name=branch,proto3" json:"branch,omitempty"`
	// a serialized roaring bitmap of the target repo ids
	Repos []byte `protobuf:"bytes,2,opt,name=repos,proto3" json:"repos,omitempty"`
}

func (x *BranchRepos) Reset() {
	*x = BranchRepos{}
	if protoimpl.UnsafeEnabled {
		mi := &file_zoekt_webserver_v1_query_proto_msgTypes[8]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *BranchRepos) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*BranchRepos) ProtoMessage() {}

func (x *BranchRepos) ProtoReflect() protoreflect.Message {
	mi := &file_zoekt_webserver_v1_query_proto_msgTypes[8]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use BranchRepos.ProtoReflect.Descriptor instead.
func (*BranchRepos) Descriptor() ([]byte, []int) {
	return file_zoekt_webserver_v1_query_proto_rawDescGZIP(), []int{8}
}

func (x *BranchRepos) GetBranch() string {
	if x != nil {
		return x.Branch
	}
	return ""
}

func (x *BranchRepos) GetRepos() []byte {
	if x != nil {
		return x.Repos
	}
	return nil
}

// Similar to BranchRepos but will be used to match only by repoid and
// therefore matches all branches
type RepoIds struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// a serialized roaring bitmap of the target repo ids
	Repos []byte `protobuf:"bytes,1,opt,name=repos,proto3" json:"repos,omitempty"`
}

func (x *RepoIds) Reset() {
	*x = RepoIds{}
	if protoimpl.UnsafeEnabled {
		mi := &file_zoekt_webserver_v1_query_proto_msgTypes[9]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *RepoIds) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*RepoIds) ProtoMessage() {}

func (x *RepoIds) ProtoReflect() protoreflect.Message {
	mi := &file_zoekt_webserver_v1_query_proto_msgTypes[9]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use RepoIds.ProtoReflect.Descriptor instead.
func (*RepoIds) Descriptor() ([]byte, []int) {
	return file_zoekt_webserver_v1_query_proto_rawDescGZIP(), []int{9}
}

func (x *RepoIds) GetRepos() []byte {
	if x != nil {
		return x.Repos
	}
	return nil
}

// RepoSet is a list of repos to match.
type RepoSet struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Set map[string]bool `protobuf:"bytes,1,rep,name=set,proto3" json:"set,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
}

func (x *RepoSet) Reset() {
	*x = RepoSet{}
	if protoimpl.UnsafeEnabled {
		mi := &file_zoekt_webserver_v1_query_proto_msgTypes[10]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *RepoSet) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*RepoSet) ProtoMessage() {}

func (x *RepoSet) ProtoReflect() protoreflect.Message {
	mi := &file_zoekt_webserver_v1_query_proto_msgTypes[10]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use RepoSet.ProtoReflect.Descriptor instead.
func (*RepoSet) Descriptor() ([]byte, []int) {
	return file_zoekt_webserver_v1_query_proto_rawDescGZIP(), []int{10}
}

func (x *RepoSet) GetSet() map[string]bool {
	if x != nil {
		return x.Set
	}
	return nil
}

// FileNameSet is a list of file names to match.
type FileNameSet struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Set []string `protobuf:"bytes,1,rep,name=set,proto3" json:"set,omitempty"`
}

func (x *FileNameSet) Reset() {
	*x = FileNameSet{}
	if protoimpl.UnsafeEnabled {
		mi := &file_zoekt_webserver_v1_query_proto_msgTypes[11]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *FileNameSet) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*FileNameSet) ProtoMessage() {}

func (x *FileNameSet) ProtoReflect() protoreflect.Message {
	mi := &file_zoekt_webserver_v1_query_proto_msgTypes[11]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use FileNameSet.ProtoReflect.Descriptor instead.
func (*FileNameSet) Descriptor() ([]byte, []int) {
	return file_zoekt_webserver_v1_query_proto_rawDescGZIP(), []int{11}
}

func (x *FileNameSet) GetSet() []string {
	if x != nil {
		return x.Set
	}
	return nil
}

// Type changes the result type returned.
type Type struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Child *Q `protobuf:"bytes,1,opt,name=child,proto3" json:"child,omitempty"`
	// TODO: type constants
	Type Type_Kind `protobuf:"varint,2,opt,name=type,proto3,enum=zoekt.webserver.v1.Type_Kind" json:"type,omitempty"`
}

func (x *Type) Reset() {
	*x = Type{}
	if protoimpl.UnsafeEnabled {
		mi := &file_zoekt_webserver_v1_query_proto_msgTypes[12]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *Type) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Type) ProtoMessage() {}

func (x *Type) ProtoReflect() protoreflect.Message {
	mi := &file_zoekt_webserver_v1_query_proto_msgTypes[12]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Type.ProtoReflect.Descriptor instead.
func (*Type) Descriptor() ([]byte, []int) {
	return file_zoekt_webserver_v1_query_proto_rawDescGZIP(), []int{12}
}

func (x *Type) GetChild() *Q {
	if x != nil {
		return x.Child
	}
	return nil
}

func (x *Type) GetType() Type_Kind {
	if x != nil {
		return x.Type
	}
	return Type_KIND_UNKNOWN_UNSPECIFIED
}

type Substring struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Pattern       string `protobuf:"bytes,1,opt,name=pattern,proto3" json:"pattern,omitempty"`
	CaseSensitive bool   `protobuf:"varint,2,opt,name=case_sensitive,json=caseSensitive,proto3" json:"case_sensitive,omitempty"`
	// Match only filename
	FileName bool `protobuf:"varint,3,opt,name=file_name,json=fileName,proto3" json:"file_name,omitempty"`
	// Match only content
	Content bool `protobuf:"varint,4,opt,name=content,proto3" json:"content,omitempty"`
}

func (x *Substring) Reset() {
	*x = Substring{}
	if protoimpl.UnsafeEnabled {
		mi := &file_zoekt_webserver_v1_query_proto_msgTypes[13]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *Substring) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Substring) ProtoMessage() {}

func (x *Substring) ProtoReflect() protoreflect.Message {
	mi := &file_zoekt_webserver_v1_query_proto_msgTypes[13]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Substring.ProtoReflect.Descriptor instead.
func (*Substring) Descriptor() ([]byte, []int) {
	return file_zoekt_webserver_v1_query_proto_rawDescGZIP(), []int{13}
}

func (x *Substring) GetPattern() string {
	if x != nil {
		return x.Pattern
	}
	return ""
}

func (x *Substring) GetCaseSensitive() bool {
	if x != nil {
		return x.CaseSensitive
	}
	return false
}

func (x *Substring) GetFileName() bool {
	if x != nil {
		return x.FileName
	}
	return false
}

func (x *Substring) GetContent() bool {
	if x != nil {
		return x.Content
	}
	return false
}

// And is matched when all its children are.
type And struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Children []*Q `protobuf:"bytes,1,rep,name=children,proto3" json:"children,omitempty"`
}

func (x *And) Reset() {
	*x = And{}
	if protoimpl.UnsafeEnabled {
		mi := &file_zoekt_webserver_v1_query_proto_msgTypes[14]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *And) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*And) ProtoMessage() {}

func (x *And) ProtoReflect() protoreflect.Message {
	mi := &file_zoekt_webserver_v1_query_proto_msgTypes[14]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use And.ProtoReflect.Descriptor instead.
func (*And) Descriptor() ([]byte, []int) {
	return file_zoekt_webserver_v1_query_proto_rawDescGZIP(), []int{14}
}

func (x *And) GetChildren() []*Q {
	if x != nil {
		return x.Children
	}
	return nil
}

// Or is matched when any of its children is matched.
type Or struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Children []*Q `protobuf:"bytes,1,rep,name=children,proto3" json:"children,omitempty"`
}

func (x *Or) Reset() {
	*x = Or{}
	if protoimpl.UnsafeEnabled {
		mi := &file_zoekt_webserver_v1_query_proto_msgTypes[15]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *Or) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Or) ProtoMessage() {}

func (x *Or) ProtoReflect() protoreflect.Message {
	mi := &file_zoekt_webserver_v1_query_proto_msgTypes[15]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Or.ProtoReflect.Descriptor instead.
func (*Or) Descriptor() ([]byte, []int) {
	return file_zoekt_webserver_v1_query_proto_rawDescGZIP(), []int{15}
}

func (x *Or) GetChildren() []*Q {
	if x != nil {
		return x.Children
	}
	return nil
}

// Not inverts the meaning of its child.
type Not struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Child *Q `protobuf:"bytes,1,opt,name=child,proto3" json:"child,omitempty"`
}

func (x *Not) Reset() {
	*x = Not{}
	if protoimpl.UnsafeEnabled {
		mi := &file_zoekt_webserver_v1_query_proto_msgTypes[16]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *Not) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Not) ProtoMessage() {}

func (x *Not) ProtoReflect() protoreflect.Message {
	mi := &file_zoekt_webserver_v1_query_proto_msgTypes[16]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Not.ProtoReflect.Descriptor instead.
func (*Not) Descriptor() ([]byte, []int) {
	return file_zoekt_webserver_v1_query_proto_rawDescGZIP(), []int{16}
}

func (x *Not) GetChild() *Q {
	if x != nil {
		return x.Child
	}
	return nil
}

// Branch limits search to a specific branch.
type Branch struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Pattern string `protobuf:"bytes,1,opt,name=pattern,proto3" json:"pattern,omitempty"`
	// exact is true if we want to Pattern to equal branch.
	Exact bool `protobuf:"varint,2,opt,name=exact,proto3" json:"exact,omitempty"`
}

func (x *Branch) Reset() {
	*x = Branch{}
	if protoimpl.UnsafeEnabled {
		mi := &file_zoekt_webserver_v1_query_proto_msgTypes[17]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *Branch) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Branch) ProtoMessage() {}

func (x *Branch) ProtoReflect() protoreflect.Message {
	mi := &file_zoekt_webserver_v1_query_proto_msgTypes[17]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Branch.ProtoReflect.Descriptor instead.
func (*Branch) Descriptor() ([]byte, []int) {
	return file_zoekt_webserver_v1_query_proto_rawDescGZIP(), []int{17}
}

func (x *Branch) GetPattern() string {
	if x != nil {
		return x.Pattern
	}
	return ""
}

func (x *Branch) GetExact() bool {
	if x != nil {
		return x.Exact
	}
	return false
}

// Boost multiplies the score of its child by the boost factor.
type Boost struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Child *Q      `protobuf:"bytes,1,opt,name=child,proto3" json:"child,omitempty"`
	Boost float64 `protobuf:"fixed64,2,opt,name=boost,proto3" json:"boost,omitempty"`
}

func (x *Boost) Reset() {
	*x = Boost{}
	if protoimpl.UnsafeEnabled {
		mi := &file_zoekt_webserver_v1_query_proto_msgTypes[18]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *Boost) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Boost) ProtoMessage() {}

func (x *Boost) ProtoReflect() protoreflect.Message {
	mi := &file_zoekt_webserver_v1_query_proto_msgTypes[18]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Boost.ProtoReflect.Descriptor instead.
func (*Boost) Descriptor() ([]byte, []int) {
	return file_zoekt_webserver_v1_query_proto_rawDescGZIP(), []int{18}
}

func (x *Boost) GetChild() *Q {
	if x != nil {
		return x.Child
	}
	return nil
}

func (x *Boost) GetBoost() float64 {
	if x != nil {
		return x.Boost
	}
	return 0
}

// Meta allows filtering results by repo metadata.
type Meta struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Key   string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"`
	Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
}

func (x *Meta) Reset() {
	*x = Meta{}
	if protoimpl.UnsafeEnabled {
		mi := &file_zoekt_webserver_v1_query_proto_msgTypes[19]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *Meta) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Meta) ProtoMessage() {}

func (x *Meta) ProtoReflect() protoreflect.Message {
	mi := &file_zoekt_webserver_v1_query_proto_msgTypes[19]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Meta.ProtoReflect.Descriptor instead.
func (*Meta) Descriptor() ([]byte, []int) {
	return file_zoekt_webserver_v1_query_proto_rawDescGZIP(), []int{19}
}

func (x *Meta) GetKey() string {
	if x != nil {
		return x.Key
	}
	return ""
}

func (x *Meta) GetValue() string {
	if x != nil {
		return x.Value
	}
	return ""
}

var File_zoekt_webserver_v1_query_proto protoreflect.FileDescriptor

var file_zoekt_webserver_v1_query_proto_rawDesc = []byte{
	0x0a, 0x1e, 0x7a, 0x6f, 0x65, 0x6b, 0x74, 0x2f, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x65,
	0x72, 0x2f, 0x76, 0x31, 0x2f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
	0x12, 0x12, 0x7a, 0x6f, 0x65, 0x6b, 0x74, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x65,
	0x72, 0x2e, 0x76, 0x31, 0x22, 0x92, 0x08, 0x0a, 0x01, 0x51, 0x12, 0x3e, 0x0a, 0x0a, 0x72, 0x61,
	0x77, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d,
	0x2e, 0x7a, 0x6f, 0x65, 0x6b, 0x74, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72,
	0x2e, 0x76, 0x31, 0x2e, 0x52, 0x61, 0x77, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52,
	0x09, 0x72, 0x61, 0x77, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x34, 0x0a, 0x06, 0x72, 0x65,
	0x67, 0x65, 0x78, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x7a, 0x6f, 0x65,
	0x6b, 0x74, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e,
	0x52, 0x65, 0x67, 0x65, 0x78, 0x70, 0x48, 0x00, 0x52, 0x06, 0x72, 0x65, 0x67, 0x65, 0x78, 0x70,
	0x12, 0x34, 0x0a, 0x06, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b,
	0x32, 0x1a, 0x2e, 0x7a, 0x6f, 0x65, 0x6b, 0x74, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76,
	0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x48, 0x00, 0x52, 0x06,
	0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x12, 0x3a, 0x0a, 0x08, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61,
	0x67, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x7a, 0x6f, 0x65, 0x6b, 0x74,
	0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x61,
	0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x48, 0x00, 0x52, 0x08, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61,
	0x67, 0x65, 0x12, 0x16, 0x0a, 0x05, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28,
	0x08, 0x48, 0x00, 0x52, 0x05, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x12, 0x2e, 0x0a, 0x04, 0x72, 0x65,
	0x70, 0x6f, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x7a, 0x6f, 0x65, 0x6b, 0x74,
	0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65,
	0x70, 0x6f, 0x48, 0x00, 0x52, 0x04, 0x72, 0x65, 0x70, 0x6f, 0x12, 0x41, 0x0a, 0x0b, 0x72, 0x65,
	0x70, 0x6f, 0x5f, 0x72, 0x65, 0x67, 0x65, 0x78, 0x70, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32,
	0x1e, 0x2e, 0x7a, 0x6f, 0x65, 0x6b, 0x74, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x65,
	0x72, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x52, 0x65, 0x67, 0x65, 0x78, 0x70, 0x48,
	0x00, 0x52, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x52, 0x65, 0x67, 0x65, 0x78, 0x70, 0x12, 0x4a, 0x0a,
	0x0e, 0x62, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x65, 0x73, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x18,
	0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x7a, 0x6f, 0x65, 0x6b, 0x74, 0x2e, 0x77, 0x65,
	0x62, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x72, 0x61, 0x6e, 0x63,
	0x68, 0x65, 0x73, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x48, 0x00, 0x52, 0x0d, 0x62, 0x72, 0x61, 0x6e,
	0x63, 0x68, 0x65, 0x73, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x12, 0x38, 0x0a, 0x08, 0x72, 0x65, 0x70,
	0x6f, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x7a, 0x6f,
	0x65, 0x6b, 0x74, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x76, 0x31,
	0x2e, 0x52, 0x65, 0x70, 0x6f, 0x49, 0x64, 0x73, 0x48, 0x00, 0x52, 0x07, 0x72, 0x65, 0x70, 0x6f,
	0x49, 0x64, 0x73, 0x12, 0x38, 0x0a, 0x08, 0x72, 0x65, 0x70, 0x6f, 0x5f, 0x73, 0x65, 0x74, 0x18,
	0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x7a, 0x6f, 0x65, 0x6b, 0x74, 0x2e, 0x77, 0x65,
	0x62, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x53,
	0x65, 0x74, 0x48, 0x00, 0x52, 0x07, 0x72, 0x65, 0x70, 0x6f, 0x53, 0x65, 0x74, 0x12, 0x45, 0x0a,
	0x0d, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x73, 0x65, 0x74, 0x18, 0x0b,
	0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x7a, 0x6f, 0x65, 0x6b, 0x74, 0x2e, 0x77, 0x65, 0x62,
	0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x69, 0x6c, 0x65, 0x4e, 0x61,
	0x6d, 0x65, 0x53, 0x65, 0x74, 0x48, 0x00, 0x52, 0x0b, 0x66, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d,
	0x65, 0x53, 0x65, 0x74, 0x12, 0x2e, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0c, 0x20, 0x01,
	0x28, 0x0b, 0x32, 0x18, 0x2e, 0x7a, 0x6f, 0x65, 0x6b, 0x74, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65,
	0x72, 0x76, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x48, 0x00, 0x52, 0x04,
	0x74, 0x79, 0x70, 0x65, 0x12, 0x3d, 0x0a, 0x09, 0x73, 0x75, 0x62, 0x73, 0x74, 0x72, 0x69, 0x6e,
	0x67, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x7a, 0x6f, 0x65, 0x6b, 0x74, 0x2e,
	0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x75, 0x62,
	0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x48, 0x00, 0x52, 0x09, 0x73, 0x75, 0x62, 0x73, 0x74, 0x72,
	0x69, 0x6e, 0x67, 0x12, 0x2b, 0x0a, 0x03, 0x61, 0x6e, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b,
	0x32, 0x17, 0x2e, 0x7a, 0x6f, 0x65, 0x6b, 0x74, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76,
	0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x6e, 0x64, 0x48, 0x00, 0x52, 0x03, 0x61, 0x6e, 0x64,
	0x12, 0x28, 0x0a, 0x02, 0x6f, 0x72, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x7a,
	0x6f, 0x65, 0x6b, 0x74, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x76,
	0x31, 0x2e, 0x4f, 0x72, 0x48, 0x00, 0x52, 0x02, 0x6f, 0x72, 0x12, 0x2b, 0x0a, 0x03, 0x6e, 0x6f,
	0x74, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x7a, 0x6f, 0x65, 0x6b, 0x74, 0x2e,
	0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x6f, 0x74,
	0x48, 0x00, 0x52, 0x03, 0x6e, 0x6f, 0x74, 0x12, 0x34, 0x0a, 0x06, 0x62, 0x72, 0x61, 0x6e, 0x63,
	0x68, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x7a, 0x6f, 0x65, 0x6b, 0x74, 0x2e,
	0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x72, 0x61,
	0x6e, 0x63, 0x68, 0x48, 0x00, 0x52, 0x06, 0x62, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x12, 0x31, 0x0a,
	0x05, 0x62, 0x6f, 0x6f, 0x73, 0x74, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x7a,
	0x6f, 0x65, 0x6b, 0x74, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x76,
	0x31, 0x2e, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x48, 0x00, 0x52, 0x05, 0x62, 0x6f, 0x6f, 0x73, 0x74,
	0x12, 0x2e, 0x0a, 0x04, 0x6d, 0x65, 0x74, 0x61, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18,
	0x2e, 0x7a, 0x6f, 0x65, 0x6b, 0x74, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72,
	0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x48, 0x00, 0x52, 0x04, 0x6d, 0x65, 0x74, 0x61,
	0x42, 0x07, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x22, 0xef, 0x01, 0x0a, 0x09, 0x52, 0x61,
	0x77, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x38, 0x0a, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73,
	0x18, 0x01, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x22, 0x2e, 0x7a, 0x6f, 0x65, 0x6b, 0x74, 0x2e, 0x77,
	0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x61, 0x77, 0x43,
	0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x46, 0x6c, 0x61, 0x67, 0x52, 0x05, 0x66, 0x6c, 0x61, 0x67,
	0x73, 0x22, 0xa7, 0x01, 0x0a, 0x04, 0x46, 0x6c, 0x61, 0x67, 0x12, 0x1c, 0x0a, 0x18, 0x46, 0x4c,
	0x41, 0x47, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45,
	0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x14, 0x0a, 0x10, 0x46, 0x4c, 0x41, 0x47,
	0x5f, 0x4f, 0x4e, 0x4c, 0x59, 0x5f, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x43, 0x10, 0x01, 0x12, 0x15,
	0x0a, 0x11, 0x46, 0x4c, 0x41, 0x47, 0x5f, 0x4f, 0x4e, 0x4c, 0x59, 0x5f, 0x50, 0x52, 0x49, 0x56,
	0x41, 0x54, 0x45, 0x10, 0x02, 0x12, 0x13, 0x0a, 0x0f, 0x46, 0x4c, 0x41, 0x47, 0x5f, 0x4f, 0x4e,
	0x4c, 0x59, 0x5f, 0x46, 0x4f, 0x52, 0x4b, 0x53, 0x10, 0x04, 0x12, 0x11, 0x0a, 0x0d, 0x46, 0x4c,
	0x41, 0x47, 0x5f, 0x4e, 0x4f, 0x5f, 0x46, 0x4f, 0x52, 0x4b, 0x53, 0x10, 0x08, 0x12, 0x16, 0x0a,
	0x12, 0x46, 0x4c, 0x41, 0x47, 0x5f, 0x4f, 0x4e, 0x4c, 0x59, 0x5f, 0x41, 0x52, 0x43, 0x48, 0x49,
	0x56, 0x45, 0x44, 0x10, 0x10, 0x12, 0x14, 0x0a, 0x10, 0x46, 0x4c, 0x41, 0x47, 0x5f, 0x4e, 0x4f,
	0x5f, 0x41, 0x52, 0x43, 0x48, 0x49, 0x56, 0x45, 0x44, 0x10, 0x20, 0x22, 0x7e, 0x0a, 0x06, 0x52,
	0x65, 0x67, 0x65, 0x78, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x65, 0x78, 0x70, 0x18,
	0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x67, 0x65, 0x78, 0x70, 0x12, 0x1b, 0x0a,
	0x09, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08,
	0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f,
	0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x63, 0x6f, 0x6e,
	0x74, 0x65, 0x6e, 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x63, 0x61, 0x73, 0x65, 0x5f, 0x73, 0x65, 0x6e,
	0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x63, 0x61,
	0x73, 0x65, 0x53, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x22, 0x33, 0x0a, 0x06, 0x53,
	0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x12, 0x29, 0x0a, 0x04, 0x65, 0x78, 0x70, 0x72, 0x18, 0x01, 0x20,
	0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x7a, 0x6f, 0x65, 0x6b, 0x74, 0x2e, 0x77, 0x65, 0x62, 0x73,
	0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x52, 0x04, 0x65, 0x78, 0x70, 0x72,
	0x22, 0x26, 0x0a, 0x08, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08,
	0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08,
	0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x22, 0x1e, 0x0a, 0x04, 0x52, 0x65, 0x70, 0x6f,
	0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x65, 0x78, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x06, 0x72, 0x65, 0x67, 0x65, 0x78, 0x70, 0x22, 0x24, 0x0a, 0x0a, 0x52, 0x65, 0x70, 0x6f,
	0x52, 0x65, 0x67, 0x65, 0x78, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x65, 0x78, 0x70,
	0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x67, 0x65, 0x78, 0x70, 0x22, 0x44,
	0x0a, 0x0d, 0x42, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x65, 0x73, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x12,
	0x33, 0x0a, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e,
	0x7a, 0x6f, 0x65, 0x6b, 0x74, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e,
	0x76, 0x31, 0x2e, 0x42, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x52, 0x04,
	0x6c, 0x69, 0x73, 0x74, 0x22, 0x3b, 0x0a, 0x0b, 0x42, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x52, 0x65,
	0x70, 0x6f, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x62, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x18, 0x01, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x06, 0x62, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x12, 0x14, 0x0a, 0x05, 0x72,
	0x65, 0x70, 0x6f, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x72, 0x65, 0x70, 0x6f,
	0x73, 0x22, 0x1f, 0x0a, 0x07, 0x52, 0x65, 0x70, 0x6f, 0x49, 0x64, 0x73, 0x12, 0x14, 0x0a, 0x05,
	0x72, 0x65, 0x70, 0x6f, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x72, 0x65, 0x70,
	0x6f, 0x73, 0x22, 0x79, 0x0a, 0x07, 0x52, 0x65, 0x70, 0x6f, 0x53, 0x65, 0x74, 0x12, 0x36, 0x0a,
	0x03, 0x73, 0x65, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x7a, 0x6f, 0x65,
	0x6b, 0x74, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e,
	0x52, 0x65, 0x70, 0x6f, 0x53, 0x65, 0x74, 0x2e, 0x53, 0x65, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79,
	0x52, 0x03, 0x73, 0x65, 0x74, 0x1a, 0x36, 0x0a, 0x08, 0x53, 0x65, 0x74, 0x45, 0x6e, 0x74, 0x72,
	0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03,
	0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01,
	0x28, 0x08, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x1f, 0x0a,
	0x0b, 0x46, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x53, 0x65, 0x74, 0x12, 0x10, 0x0a, 0x03,
	0x73, 0x65, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x03, 0x73, 0x65, 0x74, 0x22, 0xc4,
	0x01, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x2b, 0x0a, 0x05, 0x63, 0x68, 0x69, 0x6c, 0x64,
	0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x7a, 0x6f, 0x65, 0x6b, 0x74, 0x2e, 0x77,
	0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x52, 0x05, 0x63,
	0x68, 0x69, 0x6c, 0x64, 0x12, 0x31, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01,
	0x28, 0x0e, 0x32, 0x1d, 0x2e, 0x7a, 0x6f, 0x65, 0x6b, 0x74, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65,
	0x72, 0x76, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x4b, 0x69, 0x6e,
	0x64, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0x5c, 0x0a, 0x04, 0x4b, 0x69, 0x6e, 0x64, 0x12,
	0x1c, 0x0a, 0x18, 0x4b, 0x49, 0x4e, 0x44, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x5f,
	0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x13, 0x0a,
	0x0f, 0x4b, 0x49, 0x4e, 0x44, 0x5f, 0x46, 0x49, 0x4c, 0x45, 0x5f, 0x4d, 0x41, 0x54, 0x43, 0x48,
	0x10, 0x01, 0x12, 0x12, 0x0a, 0x0e, 0x4b, 0x49, 0x4e, 0x44, 0x5f, 0x46, 0x49, 0x4c, 0x45, 0x5f,
	0x4e, 0x41, 0x4d, 0x45, 0x10, 0x02, 0x12, 0x0d, 0x0a, 0x09, 0x4b, 0x49, 0x4e, 0x44, 0x5f, 0x52,
	0x45, 0x50, 0x4f, 0x10, 0x03, 0x22, 0x83, 0x01, 0x0a, 0x09, 0x53, 0x75, 0x62, 0x73, 0x74, 0x72,
	0x69, 0x6e, 0x67, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x18, 0x01,
	0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x12, 0x25, 0x0a,
	0x0e, 0x63, 0x61, 0x73, 0x65, 0x5f, 0x73, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x18,
	0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x63, 0x61, 0x73, 0x65, 0x53, 0x65, 0x6e, 0x73, 0x69,
	0x74, 0x69, 0x76, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x6e, 0x61, 0x6d,
	0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d,
	0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01,
	0x28, 0x08, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x22, 0x38, 0x0a, 0x03, 0x41,
	0x6e, 0x64, 0x12, 0x31, 0x0a, 0x08, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x72, 0x65, 0x6e, 0x18, 0x01,
	0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x7a, 0x6f, 0x65, 0x6b, 0x74, 0x2e, 0x77, 0x65, 0x62,
	0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x52, 0x08, 0x63, 0x68, 0x69,
	0x6c, 0x64, 0x72, 0x65, 0x6e, 0x22, 0x37, 0x0a, 0x02, 0x4f, 0x72, 0x12, 0x31, 0x0a, 0x08, 0x63,
	0x68, 0x69, 0x6c, 0x64, 0x72, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e,
	0x7a, 0x6f, 0x65, 0x6b, 0x74, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e,
	0x76, 0x31, 0x2e, 0x51, 0x52, 0x08, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x72, 0x65, 0x6e, 0x22, 0x32,
	0x0a, 0x03, 0x4e, 0x6f, 0x74, 0x12, 0x2b, 0x0a, 0x05, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x18, 0x01,
	0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x7a, 0x6f, 0x65, 0x6b, 0x74, 0x2e, 0x77, 0x65, 0x62,
	0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x52, 0x05, 0x63, 0x68, 0x69,
	0x6c, 0x64, 0x22, 0x38, 0x0a, 0x06, 0x42, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x12, 0x18, 0x0a, 0x07,
	0x70, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70,
	0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x78, 0x61, 0x63, 0x74, 0x18,
	0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x65, 0x78, 0x61, 0x63, 0x74, 0x22, 0x4a, 0x0a, 0x05,
	0x42, 0x6f, 0x6f, 0x73, 0x74, 0x12, 0x2b, 0x0a, 0x05, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x18, 0x01,
	0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x7a, 0x6f, 0x65, 0x6b, 0x74, 0x2e, 0x77, 0x65, 0x62,
	0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x52, 0x05, 0x63, 0x68, 0x69,
	0x6c, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x6f, 0x6f, 0x73, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28,
	0x01, 0x52, 0x05, 0x62, 0x6f, 0x6f, 0x73, 0x74, 0x22, 0x2e, 0x0a, 0x04, 0x4d, 0x65, 0x74, 0x61,
	0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b,
	0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x3d, 0x5a, 0x3b, 0x67, 0x69, 0x74, 0x68,
	0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x67, 0x72, 0x61,
	0x70, 0x68, 0x2f, 0x7a, 0x6f, 0x65, 0x6b, 0x74, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x2f, 0x70, 0x72,
	0x6f, 0x74, 0x6f, 0x73, 0x2f, 0x7a, 0x6f, 0x65, 0x6b, 0x74, 0x2f, 0x77, 0x65, 0x62, 0x73, 0x65,
	0x72, 0x76, 0x65, 0x72, 0x2f, 0x76, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}

var (
	file_zoekt_webserver_v1_query_proto_rawDescOnce sync.Once
	file_zoekt_webserver_v1_query_proto_rawDescData = file_zoekt_webserver_v1_query_proto_rawDesc
)

func file_zoekt_webserver_v1_query_proto_rawDescGZIP() []byte {
	file_zoekt_webserver_v1_query_proto_rawDescOnce.Do(func() {
		file_zoekt_webserver_v1_query_proto_rawDescData = protoimpl.X.CompressGZIP(file_zoekt_webserver_v1_query_proto_rawDescData)
	})
	return file_zoekt_webserver_v1_query_proto_rawDescData
}

var file_zoekt_webserver_v1_query_proto_enumTypes = make([]protoimpl.EnumInfo, 2)
var file_zoekt_webserver_v1_query_proto_msgTypes = make([]protoimpl.MessageInfo, 21)
var file_zoekt_webserver_v1_query_proto_goTypes = []interface{}{
	(RawConfig_Flag)(0),   // 0: zoekt.webserver.v1.RawConfig.Flag
	(Type_Kind)(0),        // 1: zoekt.webserver.v1.Type.Kind
	(*Q)(nil),             // 2: zoekt.webserver.v1.Q
	(*RawConfig)(nil),     // 3: zoekt.webserver.v1.RawConfig
	(*Regexp)(nil),        // 4: zoekt.webserver.v1.Regexp
	(*Symbol)(nil),        // 5: zoekt.webserver.v1.Symbol
	(*Language)(nil),      // 6: zoekt.webserver.v1.Language
	(*Repo)(nil),          // 7: zoekt.webserver.v1.Repo
	(*RepoRegexp)(nil),    // 8: zoekt.webserver.v1.RepoRegexp
	(*BranchesRepos)(nil), // 9: zoekt.webserver.v1.BranchesRepos
	(*BranchRepos)(nil),   // 10: zoekt.webserver.v1.BranchRepos
	(*RepoIds)(nil),       // 11: zoekt.webserver.v1.RepoIds
	(*RepoSet)(nil),       // 12: zoekt.webserver.v1.RepoSet
	(*FileNameSet)(nil),   // 13: zoekt.webserver.v1.FileNameSet
	(*Type)(nil),          // 14: zoekt.webserver.v1.Type
	(*Substring)(nil),     // 15: zoekt.webserver.v1.Substring
	(*And)(nil),           // 16: zoekt.webserver.v1.And
	(*Or)(nil),            // 17: zoekt.webserver.v1.Or
	(*Not)(nil),           // 18: zoekt.webserver.v1.Not
	(*Branch)(nil),        // 19: zoekt.webserver.v1.Branch
	(*Boost)(nil),         // 20: zoekt.webserver.v1.Boost
	(*Meta)(nil),          // 21: zoekt.webserver.v1.Meta
	nil,                   // 22: zoekt.webserver.v1.RepoSet.SetEntry
}
var file_zoekt_webserver_v1_query_proto_depIdxs = []int32{
	3,  // 0: zoekt.webserver.v1.Q.raw_config:type_name -> zoekt.webserver.v1.RawConfig
	4,  // 1: zoekt.webserver.v1.Q.regexp:type_name -> zoekt.webserver.v1.Regexp
	5,  // 2: zoekt.webserver.v1.Q.symbol:type_name -> zoekt.webserver.v1.Symbol
	6,  // 3: zoekt.webserver.v1.Q.language:type_name -> zoekt.webserver.v1.Language
	7,  // 4: zoekt.webserver.v1.Q.repo:type_name -> zoekt.webserver.v1.Repo
	8,  // 5: zoekt.webserver.v1.Q.repo_regexp:type_name -> zoekt.webserver.v1.RepoRegexp
	9,  // 6: zoekt.webserver.v1.Q.branches_repos:type_name -> zoekt.webserver.v1.BranchesRepos
	11, // 7: zoekt.webserver.v1.Q.repo_ids:type_name -> zoekt.webserver.v1.RepoIds
	12, // 8: zoekt.webserver.v1.Q.repo_set:type_name -> zoekt.webserver.v1.RepoSet
	13, // 9: zoekt.webserver.v1.Q.file_name_set:type_name -> zoekt.webserver.v1.FileNameSet
	14, // 10: zoekt.webserver.v1.Q.type:type_name -> zoekt.webserver.v1.Type
	15, // 11: zoekt.webserver.v1.Q.substring:type_name -> zoekt.webserver.v1.Substring
	16, // 12: zoekt.webserver.v1.Q.and:type_name -> zoekt.webserver.v1.And
	17, // 13: zoekt.webserver.v1.Q.or:type_name -> zoekt.webserver.v1.Or
	18, // 14: zoekt.webserver.v1.Q.not:type_name -> zoekt.webserver.v1.Not
	19, // 15: zoekt.webserver.v1.Q.branch:type_name -> zoekt.webserver.v1.Branch
	20, // 16: zoekt.webserver.v1.Q.boost:type_name -> zoekt.webserver.v1.Boost
	21, // 17: zoekt.webserver.v1.Q.meta:type_name -> zoekt.webserver.v1.Meta
	0,  // 18: zoekt.webserver.v1.RawConfig.flags:type_name -> zoekt.webserver.v1.RawConfig.Flag
	2,  // 19: zoekt.webserver.v1.Symbol.expr:type_name -> zoekt.webserver.v1.Q
	10, // 20: zoekt.webserver.v1.BranchesRepos.list:type_name -> zoekt.webserver.v1.BranchRepos
	22, // 21: zoekt.webserver.v1.RepoSet.set:type_name -> zoekt.webserver.v1.RepoSet.SetEntry
	2,  // 22: zoekt.webserver.v1.Type.child:type_name -> zoekt.webserver.v1.Q
	1,  // 23: zoekt.webserver.v1.Type.type:type_name -> zoekt.webserver.v1.Type.Kind
	2,  // 24: zoekt.webserver.v1.And.children:type_name -> zoekt.webserver.v1.Q
	2,  // 25: zoekt.webserver.v1.Or.children:type_name -> zoekt.webserver.v1.Q
	2,  // 26: zoekt.webserver.v1.Not.child:type_name -> zoekt.webserver.v1.Q
	2,  // 27: zoekt.webserver.v1.Boost.child:type_name -> zoekt.webserver.v1.Q
	28, // [28:28] is the sub-list for method output_type
	28, // [28:28] is the sub-list for method input_type
	28, // [28:28] is the sub-list for extension type_name
	28, // [28:28] is the sub-list for extension extendee
	0,  // [0:28] is the sub-list for field type_name
}

func init() { file_zoekt_webserver_v1_query_proto_init() }
func file_zoekt_webserver_v1_query_proto_init() {
	if File_zoekt_webserver_v1_query_proto != nil {
		return
	}
	if !protoimpl.UnsafeEnabled {
		file_zoekt_webserver_v1_query_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Q); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_zoekt_webserver_v1_query_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*RawConfig); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_zoekt_webserver_v1_query_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Regexp); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_zoekt_webserver_v1_query_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Symbol); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_zoekt_webserver_v1_query_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Language); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_zoekt_webserver_v1_query_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Repo); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_zoekt_webserver_v1_query_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*RepoRegexp); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_zoekt_webserver_v1_query_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*BranchesRepos); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_zoekt_webserver_v1_query_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*BranchRepos); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_zoekt_webserver_v1_query_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*RepoIds); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_zoekt_webserver_v1_query_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*RepoSet); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_zoekt_webserver_v1_query_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*FileNameSet); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_zoekt_webserver_v1_query_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Type); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_zoekt_webserver_v1_query_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Substring); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_zoekt_webserver_v1_query_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*And); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_zoekt_webserver_v1_query_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Or); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_zoekt_webserver_v1_query_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Not); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_zoekt_webserver_v1_query_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Branch); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_zoekt_webserver_v1_query_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Boost); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_zoekt_webserver_v1_query_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Meta); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
	}
	file_zoekt_webserver_v1_query_proto_msgTypes[0].OneofWrappers = []interface{}{
		(*Q_RawConfig)(nil),
		(*Q_Regexp)(nil),
		(*Q_Symbol)(nil),
		(*Q_Language)(nil),
		(*Q_Const)(nil),
		(*Q_Repo)(nil),
		(*Q_RepoRegexp)(nil),
		(*Q_BranchesRepos)(nil),
		(*Q_RepoIds)(nil),
		(*Q_RepoSet)(nil),
		(*Q_FileNameSet)(nil),
		(*Q_Type)(nil),
		(*Q_Substring)(nil),
		(*Q_And)(nil),
		(*Q_Or)(nil),
		(*Q_Not)(nil),
		(*Q_Branch)(nil),
		(*Q_Boost)(nil),
		(*Q_Meta)(nil),
	}
	type x struct{}
	out := protoimpl.TypeBuilder{
		File: protoimpl.DescBuilder{
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
			RawDescriptor: file_zoekt_webserver_v1_query_proto_rawDesc,
			NumEnums:      2,
			NumMessages:   21,
			NumExtensions: 0,
			NumServices:   0,
		},
		GoTypes:           file_zoekt_webserver_v1_query_proto_goTypes,
		DependencyIndexes: file_zoekt_webserver_v1_query_proto_depIdxs,
		EnumInfos:         file_zoekt_webserver_v1_query_proto_enumTypes,
		MessageInfos:      file_zoekt_webserver_v1_query_proto_msgTypes,
	}.Build()
	File_zoekt_webserver_v1_query_proto = out.File
	file_zoekt_webserver_v1_query_proto_rawDesc = nil
	file_zoekt_webserver_v1_query_proto_goTypes = nil
	file_zoekt_webserver_v1_query_proto_depIdxs = nil
}
