Notes added by 'git notes append'

This commit is contained in:
Jeff Carr 2025-02-14 19:22:48 -06:00
parent f9273cb687
commit 7e8f4ce00b
1 changed files with 945 additions and 0 deletions

View File

@ -153,3 +153,948 @@ func (v *Identify) Unmarshal(data []byte) error {
}
// `autogen:file.pb.go`
// Code modified by go.wit.com/apps/autogenpb DO NOT EDIT.
//
// user defined Mutex locks were auto added
//
// autogenpb version & build time: v0.0.52 2025-02-12_06:22:03_UTC
// autogenpb auto generates Sort(), Unique() and Marshal() functions
// go install go.wit.com/apps/autogenpb@latest
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.33.0
// protoc v3.21.12
// source: file.proto
// Look at "example/fruit.proto" not this file
// this file is actually used by autogenpb
// here are some docs, but probably it's just easier to run
// autogenpb on this file and see what gets autogenerated
// in this directory. All autogenerated files are named *.pb.go
// the 'uuid' standard at the end is an experiment
// establish a way to identify arbitrary .pb files
// You can generate Marshal & Unmarshal for any struct (message) you want
// You can generate SortBy and Append functions ONLY FOR 'repeated <message>'
// Also, those structs must be defined in the same file
// Additionally, you must use `autogenpb:mutex` on the parent struct.
// The autogenerated code requires a RW mutex and autogenpb will insert it into the struct
package main // autogenpb changed the package name
import (
reflect "reflect"
sync "sync"
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
)
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)
)
// below are the actual structs autogen uses
// autogen parses the .proto file and then store the information
// it needs in these protobuf files, then it processes the
// protobuf files to write out *.sort.pb.go and *.marshal.pb.go files
type MsgVar struct {
sync.RWMutex // auto-added by go.wit.com/apps/autogenpb
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
VarName string `protobuf:"bytes,1,opt,name=varName,proto3" json:"varName,omitempty"` // the variable name
VarType string `protobuf:"bytes,2,opt,name=varType,proto3" json:"varType,omitempty"` // the variable type
IsRepeated bool `protobuf:"varint,3,opt,name=isRepeated,proto3" json:"isRepeated,omitempty"` // does the variable repeate
HasSort bool `protobuf:"varint,4,opt,name=hasSort,proto3" json:"hasSort,omitempty"` // marked with sort
HasUnique bool `protobuf:"varint,5,opt,name=hasUnique,proto3" json:"hasUnique,omitempty"` // marked with unique
}
func (x *MsgVar) Reset() {
*x = MsgVar{}
if protoimpl.UnsafeEnabled {
mi := &file_file_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *MsgVar) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*MsgVar) ProtoMessage() {}
func (x *MsgVar) ProtoReflect() protoreflect.Message {
mi := &file_file_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 MsgVar.ProtoReflect.Descriptor instead.
func (*MsgVar) Descriptor() ([]byte, []int) {
return file_file_proto_rawDescGZIP(), []int{0}
}
func (x *MsgVar) GetVarName() string {
if x != nil {
return x.VarName
}
return ""
}
func (x *MsgVar) GetVarType() string {
if x != nil {
return x.VarType
}
return ""
}
func (x *MsgVar) GetIsRepeated() bool {
if x != nil {
return x.IsRepeated
}
return false
}
func (x *MsgVar) GetHasSort() bool {
if x != nil {
return x.HasSort
}
return false
}
func (x *MsgVar) GetHasUnique() bool {
if x != nil {
return x.HasUnique
}
return false
}
type MsgName struct {
sync.RWMutex // auto-added by go.wit.com/apps/autogenpb
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // the name of the message aka struct. for this example: "Shelf"
Lockname string `protobuf:"bytes,2,opt,name=lockname,proto3" json:"lockname,omitempty"` // name of the lockfile. ends in Mu
DoMarshal bool `protobuf:"varint,3,opt,name=doMarshal,proto3" json:"doMarshal,omitempty"` // if msg struct should have Marshal & Unmarshal functions
DoMutex bool `protobuf:"varint,4,opt,name=doMutex,proto3" json:"doMutex,omitempty"` // true if a mutex is needed for the message struct
DoProtocMutex bool `protobuf:"varint,5,opt,name=doProtocMutex,proto3" json:"doProtocMutex,omitempty"` // an experiment to insert a mutex into the protoc generated msg struct (bad idea?)
MutexFound bool `protobuf:"varint,6,opt,name=mutexFound,proto3" json:"mutexFound,omitempty"` // true if the mutex was added to the protoc pb.go file
Sort []string `protobuf:"bytes,7,rep,name=sort,proto3" json:"sort,omitempty"` // keys to sort on
Unique []string `protobuf:"bytes,8,rep,name=unique,proto3" json:"unique,omitempty"` // if the fields should have AppendUnique() functions
Vars []*MsgVar `protobuf:"bytes,9,rep,name=vars,proto3" json:"vars,omitempty"` // store all the vars in the message
NeedIter bool `protobuf:"varint,10,opt,name=needIter,proto3" json:"needIter,omitempty"` // true if the sort iterator has not been generated yet
NeedAll bool `protobuf:"varint,11,opt,name=needAll,proto3" json:"needAll,omitempty"` // true if the sort iterator has not been generated yet
NoMutex bool `protobuf:"varint,12,opt,name=noMutex,proto3" json:"noMutex,omitempty"` // only use the global mutex
}
func (x *MsgName) Reset() {
*x = MsgName{}
if protoimpl.UnsafeEnabled {
mi := &file_file_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *MsgName) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*MsgName) ProtoMessage() {}
func (x *MsgName) ProtoReflect() protoreflect.Message {
mi := &file_file_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 MsgName.ProtoReflect.Descriptor instead.
func (*MsgName) Descriptor() ([]byte, []int) {
return file_file_proto_rawDescGZIP(), []int{1}
}
func (x *MsgName) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *MsgName) GetLockname() string {
if x != nil {
return x.Lockname
}
return ""
}
func (x *MsgName) GetDoMarshal() bool {
if x != nil {
return x.DoMarshal
}
return false
}
func (x *MsgName) GetDoMutex() bool {
if x != nil {
return x.DoMutex
}
return false
}
func (x *MsgName) GetDoProtocMutex() bool {
if x != nil {
return x.DoProtocMutex
}
return false
}
func (x *MsgName) GetMutexFound() bool {
if x != nil {
return x.MutexFound
}
return false
}
func (x *MsgName) GetSort() []string {
if x != nil {
return x.Sort
}
return nil
}
func (x *MsgName) GetUnique() []string {
if x != nil {
return x.Unique
}
return nil
}
func (x *MsgName) GetVars() []*MsgVar {
if x != nil {
return x.Vars
}
return nil
}
func (x *MsgName) GetNeedIter() bool {
if x != nil {
return x.NeedIter
}
return false
}
func (x *MsgName) GetNeedAll() bool {
if x != nil {
return x.NeedAll
}
return false
}
func (x *MsgName) GetNoMutex() bool {
if x != nil {
return x.NoMutex
}
return false
}
type Sort struct {
sync.RWMutex // auto-added by go.wit.com/apps/autogenpb
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
MsgName string `protobuf:"bytes,1,opt,name=msgName,proto3" json:"msgName,omitempty"` // `autogenpb:unique` File
VarType string `protobuf:"bytes,2,opt,name=varType,proto3" json:"varType,omitempty"` // `autogenpb:unique` MsgName
VarName string `protobuf:"bytes,3,opt,name=varName,proto3" json:"varName,omitempty"` // `autogenpb:unique` msgNames, sortNames
Lockname string `protobuf:"bytes,4,opt,name=lockname,proto3" json:"lockname,omitempty"` //
NeedAll bool `protobuf:"varint,5,opt,name=needAll,proto3" json:"needAll,omitempty"` //
}
func (x *Sort) Reset() {
*x = Sort{}
if protoimpl.UnsafeEnabled {
mi := &file_file_proto_msgTypes[2]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *Sort) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Sort) ProtoMessage() {}
func (x *Sort) ProtoReflect() protoreflect.Message {
mi := &file_file_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 Sort.ProtoReflect.Descriptor instead.
func (*Sort) Descriptor() ([]byte, []int) {
return file_file_proto_rawDescGZIP(), []int{2}
}
func (x *Sort) GetMsgName() string {
if x != nil {
return x.MsgName
}
return ""
}
func (x *Sort) GetVarType() string {
if x != nil {
return x.VarType
}
return ""
}
func (x *Sort) GetVarName() string {
if x != nil {
return x.VarName
}
return ""
}
func (x *Sort) GetLockname() string {
if x != nil {
return x.Lockname
}
return ""
}
func (x *Sort) GetNeedAll() bool {
if x != nil {
return x.NeedAll
}
return false
}
type Find struct {
sync.RWMutex // auto-added by go.wit.com/apps/autogenpb
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` // `autogenpb:unique` File
VarType string `protobuf:"bytes,2,opt,name=varType,proto3" json:"varType,omitempty"` // `autogenpb:unique` MsgName
VarName string `protobuf:"bytes,3,opt,name=varName,proto3" json:"varName,omitempty"` // `autogenpb:unique` msgNames, sortNames
NeedAll bool `protobuf:"varint,4,opt,name=needAll,proto3" json:"needAll,omitempty"` //
}
func (x *Find) Reset() {
*x = Find{}
if protoimpl.UnsafeEnabled {
mi := &file_file_proto_msgTypes[3]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *Find) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Find) ProtoMessage() {}
func (x *Find) ProtoReflect() protoreflect.Message {
mi := &file_file_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 Find.ProtoReflect.Descriptor instead.
func (*Find) Descriptor() ([]byte, []int) {
return file_file_proto_rawDescGZIP(), []int{3}
}
func (x *Find) GetParent() string {
if x != nil {
return x.Parent
}
return ""
}
func (x *Find) GetVarType() string {
if x != nil {
return x.VarType
}
return ""
}
func (x *Find) GetVarName() string {
if x != nil {
return x.VarName
}
return ""
}
func (x *Find) GetNeedAll() bool {
if x != nil {
return x.NeedAll
}
return false
}
type File struct {
sync.RWMutex // auto-added by go.wit.com/apps/autogenpb
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// `autogenpb:var:w io.Writer`
Package string `protobuf:"bytes,1,opt,name=Package,proto3" json:"Package,omitempty"` // whatever the package name is at the top of the .go file
Filename string `protobuf:"bytes,2,opt,name=filename,proto3" json:"filename,omitempty"` // yellow.proto
Pbfilename string `protobuf:"bytes,3,opt,name=pbfilename,proto3" json:"pbfilename,omitempty"` // yellow.pb.go
Filebase string `protobuf:"bytes,4,opt,name=filebase,proto3" json:"filebase,omitempty"` // yellow
Uuid string `protobuf:"bytes,5,opt,name=uuid,proto3" json:"uuid,omitempty"` // the uuid to use in a func NewMsgName()
Version string `protobuf:"bytes,6,opt,name=version,proto3" json:"version,omitempty"` // the version to use in a func NewMsgName()
Bases *MsgName `protobuf:"bytes,7,opt,name=bases,proto3" json:"bases,omitempty"` // the message in "plural" form
Base *MsgName `protobuf:"bytes,8,opt,name=base,proto3" json:"base,omitempty"` // the primary repeated message for the master struct
// every struct in this proto file, this file has: "Apple", "Apples", ... "File", etc...
MsgNames []*MsgName `protobuf:"bytes,9,rep,name=msgNames,proto3" json:"msgNames,omitempty"`
SortNames []*MsgName `protobuf:"bytes,10,rep,name=sortNames,proto3" json:"sortNames,omitempty"` // variables that are repeated can have the standard functions generated (Sort(), etc)
IterMap map[string]string `protobuf:"bytes,11,rep,name=iterMap,proto3" json:"iterMap,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
ToSort []*Sort `protobuf:"bytes,12,rep,name=toSort,proto3" json:"toSort,omitempty"` // variables that are repeated can have the standard functions generated (Sort(), etc)
GoPath string `protobuf:"bytes,13,opt,name=goPath,proto3" json:"goPath,omitempty"` // the version to use in a func NewMsgName()
}
func (x *File) Reset() {
*x = File{}
if protoimpl.UnsafeEnabled {
mi := &file_file_proto_msgTypes[4]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *File) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*File) ProtoMessage() {}
func (x *File) ProtoReflect() protoreflect.Message {
mi := &file_file_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 File.ProtoReflect.Descriptor instead.
func (*File) Descriptor() ([]byte, []int) {
return file_file_proto_rawDescGZIP(), []int{4}
}
func (x *File) GetPackage() string {
if x != nil {
return x.Package
}
return ""
}
func (x *File) GetFilename() string {
if x != nil {
return x.Filename
}
return ""
}
func (x *File) GetPbfilename() string {
if x != nil {
return x.Pbfilename
}
return ""
}
func (x *File) GetFilebase() string {
if x != nil {
return x.Filebase
}
return ""
}
func (x *File) GetUuid() string {
if x != nil {
return x.Uuid
}
return ""
}
func (x *File) GetVersion() string {
if x != nil {
return x.Version
}
return ""
}
func (x *File) GetBases() *MsgName {
if x != nil {
return x.Bases
}
return nil
}
func (x *File) GetBase() *MsgName {
if x != nil {
return x.Base
}
return nil
}
func (x *File) GetMsgNames() []*MsgName {
if x != nil {
return x.MsgNames
}
return nil
}
func (x *File) GetSortNames() []*MsgName {
if x != nil {
return x.SortNames
}
return nil
}
func (x *File) GetIterMap() map[string]string {
if x != nil {
return x.IterMap
}
return nil
}
func (x *File) GetToSort() []*Sort {
if x != nil {
return x.ToSort
}
return nil
}
func (x *File) GetGoPath() string {
if x != nil {
return x.GoPath
}
return ""
}
// I know, I know, the whole point of using protobuf
// is so you don't need a uuid or versions because it's
// inherently forward compatable. nonetheless, a simple stubbed out
// trivial and empty protobuf message can marshal and identify all the files
// also, this could be used to modify /usr/bin/file /usr/share/magic to identify the files
// maybe this is already been done and is pointless, but it seems like a good idea
type Files struct {
sync.RWMutex // auto-added by go.wit.com/apps/autogenpb
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid,omitempty"` // `autogenpb:uuid:6c9ae4dd-648d-4b51-9738-bd59fb8fafd5`
Version string `protobuf:"bytes,2,opt,name=version,proto3" json:"version,omitempty"` // `autogenpb:version:v0.0.38`
Files []*File `protobuf:"bytes,3,rep,name=Files,proto3" json:"Files,omitempty"` // an array of each .proto file in the working directory
}
func (x *Files) Reset() {
*x = Files{}
if protoimpl.UnsafeEnabled {
mi := &file_file_proto_msgTypes[5]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *Files) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Files) ProtoMessage() {}
func (x *Files) ProtoReflect() protoreflect.Message {
mi := &file_file_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 Files.ProtoReflect.Descriptor instead.
func (*Files) Descriptor() ([]byte, []int) {
return file_file_proto_rawDescGZIP(), []int{5}
}
func (x *Files) GetUuid() string {
if x != nil {
return x.Uuid
}
return ""
}
func (x *Files) GetVersion() string {
if x != nil {
return x.Version
}
return ""
}
func (x *Files) GetFiles() []*File {
if x != nil {
return x.Files
}
return nil
}
// this generic message is used by autogen to identify and
// then dump the uuid and version from any arbitrary .pb file
type Identify struct {
sync.RWMutex // auto-added by go.wit.com/apps/autogenpb
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid,omitempty"` //
Version string `protobuf:"bytes,2,opt,name=version,proto3" json:"version,omitempty"` //
}
func (x *Identify) Reset() {
*x = Identify{}
if protoimpl.UnsafeEnabled {
mi := &file_file_proto_msgTypes[6]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *Identify) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Identify) ProtoMessage() {}
func (x *Identify) ProtoReflect() protoreflect.Message {
mi := &file_file_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 Identify.ProtoReflect.Descriptor instead.
func (*Identify) Descriptor() ([]byte, []int) {
return file_file_proto_rawDescGZIP(), []int{6}
}
func (x *Identify) GetUuid() string {
if x != nil {
return x.Uuid
}
return ""
}
func (x *Identify) GetVersion() string {
if x != nil {
return x.Version
}
return ""
}
var File_file_proto protoreflect.FileDescriptor
var file_file_proto_rawDesc = []byte{
0x0a, 0x0a, 0x66, 0x69, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x04, 0x6d, 0x61,
0x69, 0x6e, 0x22, 0x94, 0x01, 0x0a, 0x06, 0x4d, 0x73, 0x67, 0x56, 0x61, 0x72, 0x12, 0x18, 0x0a,
0x07, 0x76, 0x61, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07,
0x76, 0x61, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x61, 0x72, 0x54, 0x79,
0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x61, 0x72, 0x54, 0x79, 0x70,
0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x69, 0x73, 0x52, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x18,
0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x69, 0x73, 0x52, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65,
0x64, 0x12, 0x18, 0x0a, 0x07, 0x68, 0x61, 0x73, 0x53, 0x6f, 0x72, 0x74, 0x18, 0x04, 0x20, 0x01,
0x28, 0x08, 0x52, 0x07, 0x68, 0x61, 0x73, 0x53, 0x6f, 0x72, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x68,
0x61, 0x73, 0x55, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09,
0x68, 0x61, 0x73, 0x55, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x22, 0xd5, 0x02, 0x0a, 0x07, 0x4d, 0x73,
0x67, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20,
0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63,
0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x6f, 0x63,
0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x6f, 0x4d, 0x61, 0x72, 0x73, 0x68,
0x61, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x64, 0x6f, 0x4d, 0x61, 0x72, 0x73,
0x68, 0x61, 0x6c, 0x12, 0x18, 0x0a, 0x07, 0x64, 0x6f, 0x4d, 0x75, 0x74, 0x65, 0x78, 0x18, 0x04,
0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x64, 0x6f, 0x4d, 0x75, 0x74, 0x65, 0x78, 0x12, 0x24, 0x0a,
0x0d, 0x64, 0x6f, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x4d, 0x75, 0x74, 0x65, 0x78, 0x18, 0x05,
0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x64, 0x6f, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x4d, 0x75,
0x74, 0x65, 0x78, 0x12, 0x1e, 0x0a, 0x0a, 0x6d, 0x75, 0x74, 0x65, 0x78, 0x46, 0x6f, 0x75, 0x6e,
0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x6d, 0x75, 0x74, 0x65, 0x78, 0x46, 0x6f,
0x75, 0x6e, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x18, 0x07, 0x20, 0x03, 0x28,
0x09, 0x52, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x6e, 0x69, 0x71, 0x75,
0x65, 0x18, 0x08, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x75, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x12,
0x20, 0x0a, 0x04, 0x76, 0x61, 0x72, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0c, 0x2e,
0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x56, 0x61, 0x72, 0x52, 0x04, 0x76, 0x61, 0x72,
0x73, 0x12, 0x1a, 0x0a, 0x08, 0x6e, 0x65, 0x65, 0x64, 0x49, 0x74, 0x65, 0x72, 0x18, 0x0a, 0x20,
0x01, 0x28, 0x08, 0x52, 0x08, 0x6e, 0x65, 0x65, 0x64, 0x49, 0x74, 0x65, 0x72, 0x12, 0x18, 0x0a,
0x07, 0x6e, 0x65, 0x65, 0x64, 0x41, 0x6c, 0x6c, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07,
0x6e, 0x65, 0x65, 0x64, 0x41, 0x6c, 0x6c, 0x12, 0x18, 0x0a, 0x07, 0x6e, 0x6f, 0x4d, 0x75, 0x74,
0x65, 0x78, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x6e, 0x6f, 0x4d, 0x75, 0x74, 0x65,
0x78, 0x22, 0x8a, 0x01, 0x0a, 0x04, 0x53, 0x6f, 0x72, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x73,
0x67, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x73, 0x67,
0x4e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x61, 0x72, 0x54, 0x79, 0x70, 0x65, 0x18,
0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x61, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x18,
0x0a, 0x07, 0x76, 0x61, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52,
0x07, 0x76, 0x61, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x6b,
0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x6b,
0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x6e, 0x65, 0x65, 0x64, 0x41, 0x6c, 0x6c, 0x18,
0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x6e, 0x65, 0x65, 0x64, 0x41, 0x6c, 0x6c, 0x22, 0x6c,
0x0a, 0x04, 0x46, 0x69, 0x6e, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74,
0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x18,
0x0a, 0x07, 0x76, 0x61, 0x72, 0x54, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
0x07, 0x76, 0x61, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x61, 0x72, 0x4e,
0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x61, 0x72, 0x4e, 0x61,
0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x6e, 0x65, 0x65, 0x64, 0x41, 0x6c, 0x6c, 0x18, 0x04, 0x20,
0x01, 0x28, 0x08, 0x52, 0x07, 0x6e, 0x65, 0x65, 0x64, 0x41, 0x6c, 0x6c, 0x22, 0xf1, 0x03, 0x0a,
0x04, 0x46, 0x69, 0x6c, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65,
0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x12,
0x1a, 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
0x09, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x70,
0x62, 0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52,
0x0a, 0x70, 0x62, 0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x66,
0x69, 0x6c, 0x65, 0x62, 0x61, 0x73, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66,
0x69, 0x6c, 0x65, 0x62, 0x61, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18,
0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x76,
0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65,
0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x23, 0x0a, 0x05, 0x62, 0x61, 0x73, 0x65, 0x73, 0x18, 0x07,
0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x4e,
0x61, 0x6d, 0x65, 0x52, 0x05, 0x62, 0x61, 0x73, 0x65, 0x73, 0x12, 0x21, 0x0a, 0x04, 0x62, 0x61,
0x73, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x6d, 0x61, 0x69, 0x6e, 0x2e,
0x4d, 0x73, 0x67, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x04, 0x62, 0x61, 0x73, 0x65, 0x12, 0x29, 0x0a,
0x08, 0x6d, 0x73, 0x67, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32,
0x0d, 0x2e, 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x08,
0x6d, 0x73, 0x67, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x2b, 0x0a, 0x09, 0x73, 0x6f, 0x72, 0x74,
0x4e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x6d, 0x61,
0x69, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x09, 0x73, 0x6f, 0x72, 0x74,
0x4e, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x31, 0x0a, 0x07, 0x69, 0x74, 0x65, 0x72, 0x4d, 0x61, 0x70,
0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x46, 0x69,
0x6c, 0x65, 0x2e, 0x49, 0x74, 0x65, 0x72, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52,
0x07, 0x69, 0x74, 0x65, 0x72, 0x4d, 0x61, 0x70, 0x12, 0x22, 0x0a, 0x06, 0x74, 0x6f, 0x53, 0x6f,
0x72, 0x74, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x6d, 0x61, 0x69, 0x6e, 0x2e,
0x53, 0x6f, 0x72, 0x74, 0x52, 0x06, 0x74, 0x6f, 0x53, 0x6f, 0x72, 0x74, 0x12, 0x16, 0x0a, 0x06,
0x67, 0x6f, 0x50, 0x61, 0x74, 0x68, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x67, 0x6f,
0x50, 0x61, 0x74, 0x68, 0x1a, 0x3a, 0x0a, 0x0c, 0x49, 0x74, 0x65, 0x72, 0x4d, 0x61, 0x70, 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, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01,
0x22, 0x57, 0x0a, 0x05, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69,
0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, 0x18, 0x0a,
0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07,
0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x20, 0x0a, 0x05, 0x46, 0x69, 0x6c, 0x65, 0x73,
0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x46, 0x69,
0x6c, 0x65, 0x52, 0x05, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x22, 0x38, 0x0a, 0x08, 0x49, 0x64, 0x65,
0x6e, 0x74, 0x69, 0x66, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20,
0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72,
0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73,
0x69, 0x6f, 0x6e, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
file_file_proto_rawDescOnce sync.Once
file_file_proto_rawDescData = file_file_proto_rawDesc
)
func file_file_proto_rawDescGZIP() []byte {
file_file_proto_rawDescOnce.Do(func() {
file_file_proto_rawDescData = protoimpl.X.CompressGZIP(file_file_proto_rawDescData)
})
return file_file_proto_rawDescData
}
var file_file_proto_msgTypes = make([]protoimpl.MessageInfo, 8)
var file_file_proto_goTypes = []interface{}{
(*MsgVar)(nil), // 0: main.MsgVar
(*MsgName)(nil), // 1: main.MsgName
(*Sort)(nil), // 2: main.Sort
(*Find)(nil), // 3: main.Find
(*File)(nil), // 4: main.File
(*Files)(nil), // 5: main.Files
(*Identify)(nil), // 6: main.Identify
nil, // 7: main.File.IterMapEntry
}
var file_file_proto_depIdxs = []int32{
0, // 0: main.MsgName.vars:type_name -> main.MsgVar
1, // 1: main.File.bases:type_name -> main.MsgName
1, // 2: main.File.base:type_name -> main.MsgName
1, // 3: main.File.msgNames:type_name -> main.MsgName
1, // 4: main.File.sortNames:type_name -> main.MsgName
7, // 5: main.File.iterMap:type_name -> main.File.IterMapEntry
2, // 6: main.File.toSort:type_name -> main.Sort
4, // 7: main.Files.Files:type_name -> main.File
8, // [8:8] is the sub-list for method output_type
8, // [8:8] is the sub-list for method input_type
8, // [8:8] is the sub-list for extension type_name
8, // [8:8] is the sub-list for extension extendee
0, // [0:8] is the sub-list for field type_name
}
func init() { file_file_proto_init() }
func file_file_proto_init() {
if File_file_proto != nil {
return
}
if !protoimpl.UnsafeEnabled {
file_file_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*MsgVar); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_file_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*MsgName); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_file_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*Sort); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_file_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*Find); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_file_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*File); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_file_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*Files); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_file_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*Identify); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
}
type x struct{}
out := protoimpl.TypeBuilder{
File: protoimpl.DescBuilder{
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_file_proto_rawDesc,
NumEnums: 0,
NumMessages: 8,
NumExtensions: 0,
NumServices: 0,
},
GoTypes: file_file_proto_goTypes,
DependencyIndexes: file_file_proto_depIdxs,
MessageInfos: file_file_proto_msgTypes,
}.Build()
File_file_proto = out.File
file_file_proto_rawDesc = nil
file_file_proto_goTypes = nil
file_file_proto_depIdxs = nil
}