From c3e0608e2d0e63950f69e66870d4ed106b3287e6 Mon Sep 17 00:00:00 2001 From: Damien Whitten Date: Thu, 4 Dec 2025 10:45:59 -0800 Subject: [PATCH] Support named pattern in key fields --- gen/j5/ext/v1/ext_j5pb/annotations.pb.go | 322 +++++--- gen/j5/ext/v1/ext_j5pb/annotations_j5.pb.go | 4 + gen/j5/schema/v1/schema_j5pb/schema.pb.go | 781 ++++++++++-------- gen/j5/schema/v1/schema_j5pb/schema_j5.pb.go | 21 +- internal/bcl/internal/walker/walk_context.go | 5 +- .../j5/registry/v1/registry_spb/build.pb.go | 53 +- internal/j5s/j5convert/fields.go | 31 + internal/j5s/j5convert/summary.go | 10 + proto/core/j5/ext/v1/annotations.proto | 11 + proto/core/j5/schema/v1/schema.proto | 13 +- 10 files changed, 736 insertions(+), 515 deletions(-) diff --git a/gen/j5/ext/v1/ext_j5pb/annotations.pb.go b/gen/j5/ext/v1/ext_j5pb/annotations.pb.go index a78f3315..33bddb4e 100644 --- a/gen/j5/ext/v1/ext_j5pb/annotations.pb.go +++ b/gen/j5/ext/v1/ext_j5pb/annotations.pb.go @@ -1862,6 +1862,8 @@ type KeyField struct { // *KeyField_Pattern Type isKeyField_Type `protobuf_oneof:"type"` Foreign *schema_j5pb.EntityRef `protobuf:"bytes,3,opt,name=foreign,proto3" json:"foreign,omitempty"` + // Set when the pattern is annotated + PatternInfo *KeyField_PatternInfo `protobuf:"bytes,10,opt,name=patternInfo,proto3" json:"patternInfo,omitempty"` } func (x *KeyField) Reset() { @@ -1924,6 +1926,13 @@ func (x *KeyField) GetForeign() *schema_j5pb.EntityRef { return nil } +func (x *KeyField) GetPatternInfo() *KeyField_PatternInfo { + if x != nil { + return x.PatternInfo + } + return nil +} + type isKeyField_Type interface { isKeyField_Type() } @@ -2247,6 +2256,63 @@ func (x *DateField_Rules) GetExclusiveMaximum() bool { return false } +type KeyField_PatternInfo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The full type name of a namedPattern. + Name *string `protobuf:"bytes,1,opt,name=name,proto3,oneof" json:"name,omitempty"` + // Description given either in the namedPattern or inline for custom + Description *string `protobuf:"bytes,2,opt,name=description,proto3,oneof" json:"description,omitempty"` +} + +func (x *KeyField_PatternInfo) Reset() { + *x = KeyField_PatternInfo{} + if protoimpl.UnsafeEnabled { + mi := &file_j5_ext_v1_annotations_proto_msgTypes[37] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *KeyField_PatternInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*KeyField_PatternInfo) ProtoMessage() {} + +func (x *KeyField_PatternInfo) ProtoReflect() protoreflect.Message { + mi := &file_j5_ext_v1_annotations_proto_msgTypes[37] + 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 KeyField_PatternInfo.ProtoReflect.Descriptor instead. +func (*KeyField_PatternInfo) Descriptor() ([]byte, []int) { + return file_j5_ext_v1_annotations_proto_rawDescGZIP(), []int{30, 0} +} + +func (x *KeyField_PatternInfo) GetName() string { + if x != nil && x.Name != nil { + return *x.Name + } + return "" +} + +func (x *KeyField_PatternInfo) GetDescription() string { + if x != nil && x.Description != nil { + return *x.Description + } + return "" +} + var file_j5_ext_v1_annotations_proto_extTypes = []protoimpl.ExtensionInfo{ { ExtendedType: (*descriptorpb.FileOptions)(nil), @@ -2629,7 +2695,7 @@ var file_j5_ext_v1_annotations_proto_rawDesc = []byte{ 0x75, 0x73, 0x69, 0x76, 0x65, 0x5f, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x5f, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x22, 0x10, 0x0a, 0x0e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, - 0x46, 0x69, 0x65, 0x6c, 0x64, 0x22, 0xdb, 0x01, 0x0a, 0x08, 0x4b, 0x65, 0x79, 0x46, 0x69, 0x65, + 0x46, 0x69, 0x65, 0x6c, 0x64, 0x22, 0x86, 0x03, 0x0a, 0x08, 0x4b, 0x65, 0x79, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x12, 0x34, 0x0a, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1a, 0x2e, 0x6a, 0x35, 0x2e, 0x65, 0x78, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4b, 0x65, 0x79, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x2e, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x48, 0x00, @@ -2638,75 +2704,86 @@ var file_j5_ext_v1_annotations_proto_rawDesc = []byte{ 0x74, 0x65, 0x72, 0x6e, 0x12, 0x31, 0x0a, 0x07, 0x66, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x6a, 0x35, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x52, 0x65, 0x66, 0x52, 0x07, - 0x66, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x22, 0x42, 0x0a, 0x06, 0x46, 0x6f, 0x72, 0x6d, 0x61, - 0x74, 0x12, 0x16, 0x0a, 0x12, 0x46, 0x4f, 0x52, 0x4d, 0x41, 0x54, 0x5f, 0x55, 0x4e, 0x53, 0x50, - 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x0b, 0x46, 0x4f, 0x52, - 0x4d, 0x41, 0x54, 0x5f, 0x55, 0x55, 0x49, 0x44, 0x10, 0x02, 0x12, 0x0f, 0x0a, 0x0b, 0x46, 0x4f, - 0x52, 0x4d, 0x41, 0x54, 0x5f, 0x49, 0x44, 0x36, 0x32, 0x10, 0x03, 0x42, 0x06, 0x0a, 0x04, 0x74, - 0x79, 0x70, 0x65, 0x3a, 0x53, 0x0a, 0x07, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x12, 0x1c, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, - 0x2e, 0x46, 0x69, 0x6c, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xdd, 0xf0, 0x21, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x6a, 0x35, 0x2e, 0x65, 0x78, 0x74, 0x2e, 0x76, 0x31, - 0x2e, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, - 0x07, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x3a, 0x50, 0x0a, 0x09, 0x6a, 0x35, 0x5f, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x6c, 0x65, 0x4f, 0x70, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x18, 0xde, 0xf0, 0x21, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x6a, 0x35, - 0x2e, 0x65, 0x78, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4a, 0x35, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x52, 0x08, 0x6a, 0x35, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x3a, 0x4a, 0x0a, 0x03, 0x70, 0x73, - 0x6d, 0x12, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x62, 0x75, 0x66, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x18, 0xdd, 0xf0, 0x21, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x6a, 0x35, 0x2e, - 0x65, 0x78, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x53, 0x4d, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x52, 0x03, 0x70, 0x73, 0x6d, 0x3a, 0x4a, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x1d, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, - 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xdd, 0xf0, 0x21, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x6a, 0x35, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, - 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x4b, 0x65, 0x79, 0x52, 0x03, 0x6b, - 0x65, 0x79, 0x3a, 0x56, 0x0a, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x1f, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, - 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xdd, - 0xf0, 0x21, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x6a, 0x35, 0x2e, 0x65, 0x78, 0x74, 0x2e, - 0x76, 0x31, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x52, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x3a, 0x56, 0x0a, 0x07, 0x6d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4f, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xf8, 0xef, 0x21, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, - 0x2e, 0x6a, 0x35, 0x2e, 0x65, 0x78, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x3a, 0x52, 0x0a, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x1e, 0x2e, 0x67, + 0x66, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x12, 0x41, 0x0a, 0x0b, 0x70, 0x61, 0x74, 0x74, 0x65, + 0x72, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x6a, + 0x35, 0x2e, 0x65, 0x78, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4b, 0x65, 0x79, 0x46, 0x69, 0x65, 0x6c, + 0x64, 0x2e, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0b, 0x70, + 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x1a, 0x66, 0x0a, 0x0b, 0x50, 0x61, + 0x74, 0x74, 0x65, 0x72, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x88, + 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, + 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6e, 0x61, + 0x6d, 0x65, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x22, 0x42, 0x0a, 0x06, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x16, 0x0a, 0x12, + 0x46, 0x4f, 0x52, 0x4d, 0x41, 0x54, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, + 0x45, 0x44, 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x0b, 0x46, 0x4f, 0x52, 0x4d, 0x41, 0x54, 0x5f, 0x55, + 0x55, 0x49, 0x44, 0x10, 0x02, 0x12, 0x0f, 0x0a, 0x0b, 0x46, 0x4f, 0x52, 0x4d, 0x41, 0x54, 0x5f, + 0x49, 0x44, 0x36, 0x32, 0x10, 0x03, 0x42, 0x06, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x3a, 0x53, + 0x0a, 0x07, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x12, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x6c, 0x65, + 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xdd, 0xf0, 0x21, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x19, 0x2e, 0x6a, 0x35, 0x2e, 0x65, 0x78, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x63, 0x6b, + 0x61, 0x67, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x07, 0x70, 0x61, 0x63, 0x6b, + 0x61, 0x67, 0x65, 0x3a, 0x50, 0x0a, 0x09, 0x6a, 0x35, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x12, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, + 0x75, 0x66, 0x2e, 0x46, 0x69, 0x6c, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xde, + 0xf0, 0x21, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x6a, 0x35, 0x2e, 0x65, 0x78, 0x74, 0x2e, + 0x76, 0x31, 0x2e, 0x4a, 0x35, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x08, 0x6a, 0x35, 0x53, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x3a, 0x4a, 0x0a, 0x03, 0x70, 0x73, 0x6d, 0x12, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x4d, - 0x65, 0x74, 0x68, 0x6f, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xf8, 0xef, 0x21, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x6a, 0x35, 0x2e, 0x65, 0x78, 0x74, 0x2e, 0x76, 0x31, - 0x2e, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x06, - 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x3a, 0x4a, 0x0a, 0x04, 0x65, 0x6e, 0x75, 0x6d, 0x12, 0x1c, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, - 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xf8, 0xef, 0x21, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x6a, 0x35, 0x2e, 0x65, 0x78, 0x74, 0x2e, 0x76, 0x31, - 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x04, 0x65, 0x6e, - 0x75, 0x6d, 0x3a, 0x5f, 0x0a, 0x0a, 0x65, 0x6e, 0x75, 0x6d, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x12, 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, - 0x75, 0x66, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x4f, 0x70, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x18, 0xf8, 0xef, 0x21, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x6a, 0x35, - 0x2e, 0x65, 0x78, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x56, 0x61, 0x6c, 0x75, - 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x09, 0x65, 0x6e, 0x75, 0x6d, 0x56, 0x61, - 0x6c, 0x75, 0x65, 0x3a, 0x4e, 0x0a, 0x05, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x12, 0x1d, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, - 0x69, 0x65, 0x6c, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xf8, 0xef, 0x21, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x6a, 0x35, 0x2e, 0x65, 0x78, 0x74, 0x2e, 0x76, 0x31, 0x2e, - 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x05, 0x66, 0x69, - 0x65, 0x6c, 0x64, 0x42, 0xad, 0x01, 0xea, 0x85, 0x8f, 0x02, 0x61, 0x0a, 0x5f, 0x0a, 0x0a, 0x6b, - 0x65, 0x62, 0x61, 0x62, 0x2d, 0x63, 0x61, 0x73, 0x65, 0x12, 0x18, 0x5e, 0x5b, 0x61, 0x2d, 0x7a, - 0x30, 0x2d, 0x39, 0x5d, 0x2b, 0x28, 0x2d, 0x5b, 0x61, 0x2d, 0x7a, 0x30, 0x2d, 0x39, 0x5d, 0x2b, - 0x29, 0x2a, 0x24, 0x1a, 0x37, 0x4c, 0x6f, 0x77, 0x65, 0x72, 0x63, 0x61, 0x73, 0x65, 0x20, 0x77, - 0x6f, 0x72, 0x64, 0x73, 0x20, 0x73, 0x65, 0x70, 0x61, 0x72, 0x61, 0x74, 0x65, 0x64, 0x20, 0x62, - 0x79, 0x20, 0x68, 0x79, 0x70, 0x68, 0x65, 0x6e, 0x73, 0x2c, 0x20, 0x65, 0x2e, 0x67, 0x2e, 0x20, - 0x27, 0x6d, 0x79, 0x2d, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x27, 0x2e, 0xf2, 0x85, 0x8f, 0x02, - 0x14, 0x0a, 0x12, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x2f, 0x2e, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x5a, 0x2c, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, - 0x6d, 0x2f, 0x70, 0x65, 0x6e, 0x74, 0x6f, 0x70, 0x73, 0x2f, 0x6a, 0x35, 0x2f, 0x67, 0x65, 0x6e, - 0x2f, 0x6a, 0x35, 0x2f, 0x65, 0x78, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x65, 0x78, 0x74, 0x5f, 0x6a, - 0x35, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xdd, 0xf0, + 0x21, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x6a, 0x35, 0x2e, 0x65, 0x78, 0x74, 0x2e, 0x76, + 0x31, 0x2e, 0x50, 0x53, 0x4d, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x03, 0x70, 0x73, + 0x6d, 0x3a, 0x4a, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, + 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xdd, 0xf0, 0x21, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x17, 0x2e, 0x6a, 0x35, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x45, + 0x6e, 0x74, 0x69, 0x74, 0x79, 0x4b, 0x65, 0x79, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x3a, 0x56, 0x0a, + 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xdd, 0xf0, 0x21, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x19, 0x2e, 0x6a, 0x35, 0x2e, 0x65, 0x78, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x07, 0x73, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x3a, 0x56, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, + 0x12, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, + 0x75, 0x66, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x18, 0xf8, 0xef, 0x21, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x6a, 0x35, 0x2e, 0x65, + 0x78, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4f, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x3a, 0x52, 0x0a, + 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, + 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xf8, 0xef, 0x21, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x18, 0x2e, 0x6a, 0x35, 0x2e, 0x65, 0x78, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x65, 0x74, 0x68, + 0x6f, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, + 0x64, 0x3a, 0x4a, 0x0a, 0x04, 0x65, 0x6e, 0x75, 0x6d, 0x12, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6e, 0x75, 0x6d, + 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xf8, 0xef, 0x21, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x16, 0x2e, 0x6a, 0x35, 0x2e, 0x65, 0x78, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x75, 0x6d, + 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x04, 0x65, 0x6e, 0x75, 0x6d, 0x3a, 0x5f, 0x0a, + 0x0a, 0x65, 0x6e, 0x75, 0x6d, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x21, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6e, + 0x75, 0x6d, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xf8, + 0xef, 0x21, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x6a, 0x35, 0x2e, 0x65, 0x78, 0x74, 0x2e, + 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x4f, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x52, 0x09, 0x65, 0x6e, 0x75, 0x6d, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x4e, + 0x0a, 0x05, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x12, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4f, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xf8, 0xef, 0x21, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, + 0x2e, 0x6a, 0x35, 0x2e, 0x65, 0x78, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, + 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x05, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x42, 0xad, + 0x01, 0xea, 0x85, 0x8f, 0x02, 0x61, 0x0a, 0x5f, 0x0a, 0x0a, 0x6b, 0x65, 0x62, 0x61, 0x62, 0x2d, + 0x63, 0x61, 0x73, 0x65, 0x12, 0x18, 0x5e, 0x5b, 0x61, 0x2d, 0x7a, 0x30, 0x2d, 0x39, 0x5d, 0x2b, + 0x28, 0x2d, 0x5b, 0x61, 0x2d, 0x7a, 0x30, 0x2d, 0x39, 0x5d, 0x2b, 0x29, 0x2a, 0x24, 0x1a, 0x37, + 0x4c, 0x6f, 0x77, 0x65, 0x72, 0x63, 0x61, 0x73, 0x65, 0x20, 0x77, 0x6f, 0x72, 0x64, 0x73, 0x20, + 0x73, 0x65, 0x70, 0x61, 0x72, 0x61, 0x74, 0x65, 0x64, 0x20, 0x62, 0x79, 0x20, 0x68, 0x79, 0x70, + 0x68, 0x65, 0x6e, 0x73, 0x2c, 0x20, 0x65, 0x2e, 0x67, 0x2e, 0x20, 0x27, 0x6d, 0x79, 0x2d, 0x73, + 0x74, 0x72, 0x69, 0x6e, 0x67, 0x27, 0x2e, 0xf2, 0x85, 0x8f, 0x02, 0x14, 0x0a, 0x12, 0x6c, 0x6f, + 0x63, 0x61, 0x6c, 0x2f, 0x2e, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x63, 0x6f, 0x72, 0x65, + 0x5a, 0x2c, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x70, 0x65, 0x6e, + 0x74, 0x6f, 0x70, 0x73, 0x2f, 0x6a, 0x35, 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x6a, 0x35, 0x2f, 0x65, + 0x78, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x65, 0x78, 0x74, 0x5f, 0x6a, 0x35, 0x70, 0x62, 0x62, 0x06, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -2722,7 +2799,7 @@ func file_j5_ext_v1_annotations_proto_rawDescGZIP() []byte { } var file_j5_ext_v1_annotations_proto_enumTypes = make([]protoimpl.EnumInfo, 1) -var file_j5_ext_v1_annotations_proto_msgTypes = make([]protoimpl.MessageInfo, 37) +var file_j5_ext_v1_annotations_proto_msgTypes = make([]protoimpl.MessageInfo, 38) var file_j5_ext_v1_annotations_proto_goTypes = []any{ (KeyField_Format)(0), // 0: j5.ext.v1.KeyField.Format (*PackageOptions)(nil), // 1: j5.ext.v1.PackageOptions @@ -2762,31 +2839,32 @@ var file_j5_ext_v1_annotations_proto_goTypes = []any{ (*IntegerField_Rules)(nil), // 35: j5.ext.v1.IntegerField.Rules (*DecimalField_Rules)(nil), // 36: j5.ext.v1.DecimalField.Rules (*DateField_Rules)(nil), // 37: j5.ext.v1.DateField.Rules - (schema_j5pb.EntityPart)(0), // 38: j5.schema.v1.EntityPart - (*auth_j5pb.MethodAuthType)(nil), // 39: j5.auth.v1.MethodAuthType - (*schema_j5pb.MapField_Ext)(nil), // 40: j5.schema.v1.MapField.Ext - (*schema_j5pb.ArrayField_Ext)(nil), // 41: j5.schema.v1.ArrayField.Ext - (*schema_j5pb.EntityRef)(nil), // 42: j5.schema.v1.EntityRef - (*descriptorpb.FileOptions)(nil), // 43: google.protobuf.FileOptions - (*descriptorpb.MessageOptions)(nil), // 44: google.protobuf.MessageOptions - (*descriptorpb.FieldOptions)(nil), // 45: google.protobuf.FieldOptions - (*descriptorpb.ServiceOptions)(nil), // 46: google.protobuf.ServiceOptions - (*descriptorpb.MethodOptions)(nil), // 47: google.protobuf.MethodOptions - (*descriptorpb.EnumOptions)(nil), // 48: google.protobuf.EnumOptions - (*descriptorpb.EnumValueOptions)(nil), // 49: google.protobuf.EnumValueOptions - (*schema_j5pb.EntityKey)(nil), // 50: j5.schema.v1.EntityKey + (*KeyField_PatternInfo)(nil), // 38: j5.ext.v1.KeyField.PatternInfo + (schema_j5pb.EntityPart)(0), // 39: j5.schema.v1.EntityPart + (*auth_j5pb.MethodAuthType)(nil), // 40: j5.auth.v1.MethodAuthType + (*schema_j5pb.MapField_Ext)(nil), // 41: j5.schema.v1.MapField.Ext + (*schema_j5pb.ArrayField_Ext)(nil), // 42: j5.schema.v1.ArrayField.Ext + (*schema_j5pb.EntityRef)(nil), // 43: j5.schema.v1.EntityRef + (*descriptorpb.FileOptions)(nil), // 44: google.protobuf.FileOptions + (*descriptorpb.MessageOptions)(nil), // 45: google.protobuf.MessageOptions + (*descriptorpb.FieldOptions)(nil), // 46: google.protobuf.FieldOptions + (*descriptorpb.ServiceOptions)(nil), // 47: google.protobuf.ServiceOptions + (*descriptorpb.MethodOptions)(nil), // 48: google.protobuf.MethodOptions + (*descriptorpb.EnumOptions)(nil), // 49: google.protobuf.EnumOptions + (*descriptorpb.EnumValueOptions)(nil), // 50: google.protobuf.EnumValueOptions + (*schema_j5pb.EntityKey)(nil), // 51: j5.schema.v1.EntityKey } var file_j5_ext_v1_annotations_proto_depIdxs = []int32{ 3, // 0: j5.ext.v1.PackageOptions.string_formats:type_name -> j5.ext.v1.StringFormat - 38, // 1: j5.ext.v1.PSMOptions.entity_part:type_name -> j5.schema.v1.EntityPart + 39, // 1: j5.ext.v1.PSMOptions.entity_part:type_name -> j5.schema.v1.EntityPart 32, // 2: j5.ext.v1.ServiceOptions.state_query:type_name -> j5.ext.v1.ServiceOptions.StateQuery 33, // 3: j5.ext.v1.ServiceOptions.state_command:type_name -> j5.ext.v1.ServiceOptions.StateCommand - 39, // 4: j5.ext.v1.ServiceOptions.default_auth:type_name -> j5.auth.v1.MethodAuthType + 40, // 4: j5.ext.v1.ServiceOptions.default_auth:type_name -> j5.auth.v1.MethodAuthType 7, // 5: j5.ext.v1.MessageOptions.object:type_name -> j5.ext.v1.ObjectMessageOptions 8, // 6: j5.ext.v1.MessageOptions.oneof:type_name -> j5.ext.v1.OneofMessageOptions 9, // 7: j5.ext.v1.MessageOptions.polymorph:type_name -> j5.ext.v1.PolymorphMessageOptions 11, // 8: j5.ext.v1.MethodOptions.state_query:type_name -> j5.ext.v1.StateQueryMethodOptions - 39, // 9: j5.ext.v1.MethodOptions.auth:type_name -> j5.auth.v1.MethodAuthType + 40, // 9: j5.ext.v1.MethodOptions.auth:type_name -> j5.auth.v1.MethodAuthType 13, // 10: j5.ext.v1.EnumOptions.info_fields:type_name -> j5.ext.v1.EnumInfoField 34, // 11: j5.ext.v1.EnumValueOptions.info:type_name -> j5.ext.v1.EnumValueOptions.InfoEntry 16, // 12: j5.ext.v1.FieldOptions.any:type_name -> j5.ext.v1.AnyField @@ -2794,8 +2872,8 @@ var file_j5_ext_v1_annotations_proto_depIdxs = []int32{ 18, // 14: j5.ext.v1.FieldOptions.enum:type_name -> j5.ext.v1.EnumField 19, // 15: j5.ext.v1.FieldOptions.oneof:type_name -> j5.ext.v1.OneofField 20, // 16: j5.ext.v1.FieldOptions.polymorph:type_name -> j5.ext.v1.PolymorphField - 40, // 17: j5.ext.v1.FieldOptions.map:type_name -> j5.schema.v1.MapField.Ext - 41, // 18: j5.ext.v1.FieldOptions.array:type_name -> j5.schema.v1.ArrayField.Ext + 41, // 17: j5.ext.v1.FieldOptions.map:type_name -> j5.schema.v1.MapField.Ext + 42, // 18: j5.ext.v1.FieldOptions.array:type_name -> j5.schema.v1.ArrayField.Ext 23, // 19: j5.ext.v1.FieldOptions.string:type_name -> j5.ext.v1.StringField 24, // 20: j5.ext.v1.FieldOptions.integer:type_name -> j5.ext.v1.IntegerField 25, // 21: j5.ext.v1.FieldOptions.float:type_name -> j5.ext.v1.FloatField @@ -2809,32 +2887,33 @@ var file_j5_ext_v1_annotations_proto_depIdxs = []int32{ 36, // 29: j5.ext.v1.DecimalField.rules:type_name -> j5.ext.v1.DecimalField.Rules 37, // 30: j5.ext.v1.DateField.rules:type_name -> j5.ext.v1.DateField.Rules 0, // 31: j5.ext.v1.KeyField.format:type_name -> j5.ext.v1.KeyField.Format - 42, // 32: j5.ext.v1.KeyField.foreign:type_name -> j5.schema.v1.EntityRef - 43, // 33: j5.ext.v1.package:extendee -> google.protobuf.FileOptions - 43, // 34: j5.ext.v1.j5_source:extendee -> google.protobuf.FileOptions - 44, // 35: j5.ext.v1.psm:extendee -> google.protobuf.MessageOptions - 45, // 36: j5.ext.v1.key:extendee -> google.protobuf.FieldOptions - 46, // 37: j5.ext.v1.service:extendee -> google.protobuf.ServiceOptions - 44, // 38: j5.ext.v1.message:extendee -> google.protobuf.MessageOptions - 47, // 39: j5.ext.v1.method:extendee -> google.protobuf.MethodOptions - 48, // 40: j5.ext.v1.enum:extendee -> google.protobuf.EnumOptions - 49, // 41: j5.ext.v1.enum_value:extendee -> google.protobuf.EnumValueOptions - 45, // 42: j5.ext.v1.field:extendee -> google.protobuf.FieldOptions - 1, // 43: j5.ext.v1.package:type_name -> j5.ext.v1.PackageOptions - 2, // 44: j5.ext.v1.j5_source:type_name -> j5.ext.v1.J5Source - 4, // 45: j5.ext.v1.psm:type_name -> j5.ext.v1.PSMOptions - 50, // 46: j5.ext.v1.key:type_name -> j5.schema.v1.EntityKey - 5, // 47: j5.ext.v1.service:type_name -> j5.ext.v1.ServiceOptions - 6, // 48: j5.ext.v1.message:type_name -> j5.ext.v1.MessageOptions - 10, // 49: j5.ext.v1.method:type_name -> j5.ext.v1.MethodOptions - 12, // 50: j5.ext.v1.enum:type_name -> j5.ext.v1.EnumOptions - 14, // 51: j5.ext.v1.enum_value:type_name -> j5.ext.v1.EnumValueOptions - 15, // 52: j5.ext.v1.field:type_name -> j5.ext.v1.FieldOptions - 53, // [53:53] is the sub-list for method output_type - 53, // [53:53] is the sub-list for method input_type - 43, // [43:53] is the sub-list for extension type_name - 33, // [33:43] is the sub-list for extension extendee - 0, // [0:33] is the sub-list for field type_name + 43, // 32: j5.ext.v1.KeyField.foreign:type_name -> j5.schema.v1.EntityRef + 38, // 33: j5.ext.v1.KeyField.patternInfo:type_name -> j5.ext.v1.KeyField.PatternInfo + 44, // 34: j5.ext.v1.package:extendee -> google.protobuf.FileOptions + 44, // 35: j5.ext.v1.j5_source:extendee -> google.protobuf.FileOptions + 45, // 36: j5.ext.v1.psm:extendee -> google.protobuf.MessageOptions + 46, // 37: j5.ext.v1.key:extendee -> google.protobuf.FieldOptions + 47, // 38: j5.ext.v1.service:extendee -> google.protobuf.ServiceOptions + 45, // 39: j5.ext.v1.message:extendee -> google.protobuf.MessageOptions + 48, // 40: j5.ext.v1.method:extendee -> google.protobuf.MethodOptions + 49, // 41: j5.ext.v1.enum:extendee -> google.protobuf.EnumOptions + 50, // 42: j5.ext.v1.enum_value:extendee -> google.protobuf.EnumValueOptions + 46, // 43: j5.ext.v1.field:extendee -> google.protobuf.FieldOptions + 1, // 44: j5.ext.v1.package:type_name -> j5.ext.v1.PackageOptions + 2, // 45: j5.ext.v1.j5_source:type_name -> j5.ext.v1.J5Source + 4, // 46: j5.ext.v1.psm:type_name -> j5.ext.v1.PSMOptions + 51, // 47: j5.ext.v1.key:type_name -> j5.schema.v1.EntityKey + 5, // 48: j5.ext.v1.service:type_name -> j5.ext.v1.ServiceOptions + 6, // 49: j5.ext.v1.message:type_name -> j5.ext.v1.MessageOptions + 10, // 50: j5.ext.v1.method:type_name -> j5.ext.v1.MethodOptions + 12, // 51: j5.ext.v1.enum:type_name -> j5.ext.v1.EnumOptions + 14, // 52: j5.ext.v1.enum_value:type_name -> j5.ext.v1.EnumValueOptions + 15, // 53: j5.ext.v1.field:type_name -> j5.ext.v1.FieldOptions + 54, // [54:54] is the sub-list for method output_type + 54, // [54:54] is the sub-list for method input_type + 44, // [44:54] is the sub-list for extension type_name + 34, // [34:44] is the sub-list for extension extendee + 0, // [0:34] is the sub-list for field type_name } func init() { file_j5_ext_v1_annotations_proto_init() } @@ -3275,6 +3354,18 @@ func file_j5_ext_v1_annotations_proto_init() { return nil } } + file_j5_ext_v1_annotations_proto_msgTypes[37].Exporter = func(v any, i int) any { + switch v := v.(*KeyField_PatternInfo); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } } file_j5_ext_v1_annotations_proto_msgTypes[3].OneofWrappers = []any{} file_j5_ext_v1_annotations_proto_msgTypes[4].OneofWrappers = []any{ @@ -3313,13 +3404,14 @@ func file_j5_ext_v1_annotations_proto_init() { file_j5_ext_v1_annotations_proto_msgTypes[34].OneofWrappers = []any{} file_j5_ext_v1_annotations_proto_msgTypes[35].OneofWrappers = []any{} file_j5_ext_v1_annotations_proto_msgTypes[36].OneofWrappers = []any{} + file_j5_ext_v1_annotations_proto_msgTypes[37].OneofWrappers = []any{} type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_j5_ext_v1_annotations_proto_rawDesc, NumEnums: 1, - NumMessages: 37, + NumMessages: 38, NumExtensions: 10, NumServices: 0, }, diff --git a/gen/j5/ext/v1/ext_j5pb/annotations_j5.pb.go b/gen/j5/ext/v1/ext_j5pb/annotations_j5.pb.go index a95dd7c0..2fc7e80b 100644 --- a/gen/j5/ext/v1/ext_j5pb/annotations_j5.pb.go +++ b/gen/j5/ext/v1/ext_j5pb/annotations_j5.pb.go @@ -129,6 +129,10 @@ func (msg *KeyField) Clone() any { type IsKeyField_Type = isKeyField_Type +func (msg *KeyField_PatternInfo) Clone() any { + return proto.Clone(msg).(*KeyField_PatternInfo) +} + // KeyField_Format const ( KeyField_Format_UNSPECIFIED KeyField_Format = 0 diff --git a/gen/j5/schema/v1/schema_j5pb/schema.pb.go b/gen/j5/schema/v1/schema_j5pb/schema.pb.go index d5cf1df3..1fa9c3ee 100644 --- a/gen/j5/schema/v1/schema_j5pb/schema.pb.go +++ b/gen/j5/schema/v1/schema_j5pb/schema.pb.go @@ -1939,7 +1939,7 @@ type KeyFormat struct { // *KeyFormat_Custom_ // *KeyFormat_Uuid // *KeyFormat_Id62 - // *KeyFormat_Format + // *KeyFormat_Named_ Type isKeyFormat_Type `protobuf_oneof:"type"` } @@ -2010,9 +2010,9 @@ func (x *KeyFormat) GetId62() *KeyFormat_ID62 { return nil } -func (x *KeyFormat) GetFormat() *StringFormat { - if x, ok := x.GetType().(*KeyFormat_Format); ok { - return x.Format +func (x *KeyFormat) GetNamed() *KeyFormat_Named { + if x, ok := x.GetType().(*KeyFormat_Named_); ok { + return x.Named } return nil } @@ -2037,8 +2037,8 @@ type KeyFormat_Id62 struct { Id62 *KeyFormat_ID62 `protobuf:"bytes,4,opt,name=id62,proto3,oneof"` } -type KeyFormat_Format struct { - Format *StringFormat `protobuf:"bytes,5,opt,name=format,proto3,oneof"` +type KeyFormat_Named_ struct { + Named *KeyFormat_Named `protobuf:"bytes,5,opt,name=named,proto3,oneof"` } func (*KeyFormat_Informal_) isKeyFormat_Type() {} @@ -2049,7 +2049,7 @@ func (*KeyFormat_Uuid) isKeyFormat_Type() {} func (*KeyFormat_Id62) isKeyFormat_Type() {} -func (*KeyFormat_Format) isKeyFormat_Type() {} +func (*KeyFormat_Named_) isKeyFormat_Type() {} type FloatField struct { state protoimpl.MessageState @@ -3853,6 +3853,53 @@ func (*KeyFormat_ID62) Descriptor() ([]byte, []int) { return file_j5_schema_v1_schema_proto_rawDescGZIP(), []int{20, 3} } +type KeyFormat_Named struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Ref *Ref `protobuf:"bytes,1,opt,name=ref,proto3" json:"ref,omitempty"` +} + +func (x *KeyFormat_Named) Reset() { + *x = KeyFormat_Named{} + if protoimpl.UnsafeEnabled { + mi := &file_j5_schema_v1_schema_proto_msgTypes[55] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *KeyFormat_Named) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*KeyFormat_Named) ProtoMessage() {} + +func (x *KeyFormat_Named) ProtoReflect() protoreflect.Message { + mi := &file_j5_schema_v1_schema_proto_msgTypes[55] + 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 KeyFormat_Named.ProtoReflect.Descriptor instead. +func (*KeyFormat_Named) Descriptor() ([]byte, []int) { + return file_j5_schema_v1_schema_proto_rawDescGZIP(), []int{20, 4} +} + +func (x *KeyFormat_Named) GetRef() *Ref { + if x != nil { + return x.Ref + } + return nil +} + type FloatField_Rules struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -3868,7 +3915,7 @@ type FloatField_Rules struct { func (x *FloatField_Rules) Reset() { *x = FloatField_Rules{} if protoimpl.UnsafeEnabled { - mi := &file_j5_schema_v1_schema_proto_msgTypes[55] + mi := &file_j5_schema_v1_schema_proto_msgTypes[56] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3881,7 +3928,7 @@ func (x *FloatField_Rules) String() string { func (*FloatField_Rules) ProtoMessage() {} func (x *FloatField_Rules) ProtoReflect() protoreflect.Message { - mi := &file_j5_schema_v1_schema_proto_msgTypes[55] + mi := &file_j5_schema_v1_schema_proto_msgTypes[56] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3941,7 +3988,7 @@ type FloatField_Ext struct { func (x *FloatField_Ext) Reset() { *x = FloatField_Ext{} if protoimpl.UnsafeEnabled { - mi := &file_j5_schema_v1_schema_proto_msgTypes[56] + mi := &file_j5_schema_v1_schema_proto_msgTypes[57] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3954,7 +4001,7 @@ func (x *FloatField_Ext) String() string { func (*FloatField_Ext) ProtoMessage() {} func (x *FloatField_Ext) ProtoReflect() protoreflect.Message { - mi := &file_j5_schema_v1_schema_proto_msgTypes[56] + mi := &file_j5_schema_v1_schema_proto_msgTypes[57] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3985,7 +4032,7 @@ type IntegerField_Rules struct { func (x *IntegerField_Rules) Reset() { *x = IntegerField_Rules{} if protoimpl.UnsafeEnabled { - mi := &file_j5_schema_v1_schema_proto_msgTypes[57] + mi := &file_j5_schema_v1_schema_proto_msgTypes[58] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3998,7 +4045,7 @@ func (x *IntegerField_Rules) String() string { func (*IntegerField_Rules) ProtoMessage() {} func (x *IntegerField_Rules) ProtoReflect() protoreflect.Message { - mi := &file_j5_schema_v1_schema_proto_msgTypes[57] + mi := &file_j5_schema_v1_schema_proto_msgTypes[58] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4058,7 +4105,7 @@ type IntegerField_Ext struct { func (x *IntegerField_Ext) Reset() { *x = IntegerField_Ext{} if protoimpl.UnsafeEnabled { - mi := &file_j5_schema_v1_schema_proto_msgTypes[58] + mi := &file_j5_schema_v1_schema_proto_msgTypes[59] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4071,7 +4118,7 @@ func (x *IntegerField_Ext) String() string { func (*IntegerField_Ext) ProtoMessage() {} func (x *IntegerField_Ext) ProtoReflect() protoreflect.Message { - mi := &file_j5_schema_v1_schema_proto_msgTypes[58] + mi := &file_j5_schema_v1_schema_proto_msgTypes[59] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4098,7 +4145,7 @@ type BoolField_Rules struct { func (x *BoolField_Rules) Reset() { *x = BoolField_Rules{} if protoimpl.UnsafeEnabled { - mi := &file_j5_schema_v1_schema_proto_msgTypes[59] + mi := &file_j5_schema_v1_schema_proto_msgTypes[60] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4111,7 +4158,7 @@ func (x *BoolField_Rules) String() string { func (*BoolField_Rules) ProtoMessage() {} func (x *BoolField_Rules) ProtoReflect() protoreflect.Message { - mi := &file_j5_schema_v1_schema_proto_msgTypes[59] + mi := &file_j5_schema_v1_schema_proto_msgTypes[60] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4143,7 +4190,7 @@ type BoolField_Ext struct { func (x *BoolField_Ext) Reset() { *x = BoolField_Ext{} if protoimpl.UnsafeEnabled { - mi := &file_j5_schema_v1_schema_proto_msgTypes[60] + mi := &file_j5_schema_v1_schema_proto_msgTypes[61] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4156,7 +4203,7 @@ func (x *BoolField_Ext) String() string { func (*BoolField_Ext) ProtoMessage() {} func (x *BoolField_Ext) ProtoReflect() protoreflect.Message { - mi := &file_j5_schema_v1_schema_proto_msgTypes[60] + mi := &file_j5_schema_v1_schema_proto_msgTypes[61] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4184,7 +4231,7 @@ type BytesField_Rules struct { func (x *BytesField_Rules) Reset() { *x = BytesField_Rules{} if protoimpl.UnsafeEnabled { - mi := &file_j5_schema_v1_schema_proto_msgTypes[61] + mi := &file_j5_schema_v1_schema_proto_msgTypes[62] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4197,7 +4244,7 @@ func (x *BytesField_Rules) String() string { func (*BytesField_Rules) ProtoMessage() {} func (x *BytesField_Rules) ProtoReflect() protoreflect.Message { - mi := &file_j5_schema_v1_schema_proto_msgTypes[61] + mi := &file_j5_schema_v1_schema_proto_msgTypes[62] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4236,7 +4283,7 @@ type BytesField_Ext struct { func (x *BytesField_Ext) Reset() { *x = BytesField_Ext{} if protoimpl.UnsafeEnabled { - mi := &file_j5_schema_v1_schema_proto_msgTypes[62] + mi := &file_j5_schema_v1_schema_proto_msgTypes[63] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4249,7 +4296,7 @@ func (x *BytesField_Ext) String() string { func (*BytesField_Ext) ProtoMessage() {} func (x *BytesField_Ext) ProtoReflect() protoreflect.Message { - mi := &file_j5_schema_v1_schema_proto_msgTypes[62] + mi := &file_j5_schema_v1_schema_proto_msgTypes[63] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4279,7 +4326,7 @@ type DecimalField_Rules struct { func (x *DecimalField_Rules) Reset() { *x = DecimalField_Rules{} if protoimpl.UnsafeEnabled { - mi := &file_j5_schema_v1_schema_proto_msgTypes[63] + mi := &file_j5_schema_v1_schema_proto_msgTypes[64] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4292,7 +4339,7 @@ func (x *DecimalField_Rules) String() string { func (*DecimalField_Rules) ProtoMessage() {} func (x *DecimalField_Rules) ProtoReflect() protoreflect.Message { - mi := &file_j5_schema_v1_schema_proto_msgTypes[63] + mi := &file_j5_schema_v1_schema_proto_msgTypes[64] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4345,7 +4392,7 @@ type DecimalField_Ext struct { func (x *DecimalField_Ext) Reset() { *x = DecimalField_Ext{} if protoimpl.UnsafeEnabled { - mi := &file_j5_schema_v1_schema_proto_msgTypes[64] + mi := &file_j5_schema_v1_schema_proto_msgTypes[65] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4358,7 +4405,7 @@ func (x *DecimalField_Ext) String() string { func (*DecimalField_Ext) ProtoMessage() {} func (x *DecimalField_Ext) ProtoReflect() protoreflect.Message { - mi := &file_j5_schema_v1_schema_proto_msgTypes[64] + mi := &file_j5_schema_v1_schema_proto_msgTypes[65] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4388,7 +4435,7 @@ type DateField_Rules struct { func (x *DateField_Rules) Reset() { *x = DateField_Rules{} if protoimpl.UnsafeEnabled { - mi := &file_j5_schema_v1_schema_proto_msgTypes[65] + mi := &file_j5_schema_v1_schema_proto_msgTypes[66] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4401,7 +4448,7 @@ func (x *DateField_Rules) String() string { func (*DateField_Rules) ProtoMessage() {} func (x *DateField_Rules) ProtoReflect() protoreflect.Message { - mi := &file_j5_schema_v1_schema_proto_msgTypes[65] + mi := &file_j5_schema_v1_schema_proto_msgTypes[66] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4454,7 +4501,7 @@ type DateField_Ext struct { func (x *DateField_Ext) Reset() { *x = DateField_Ext{} if protoimpl.UnsafeEnabled { - mi := &file_j5_schema_v1_schema_proto_msgTypes[66] + mi := &file_j5_schema_v1_schema_proto_msgTypes[67] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4467,7 +4514,7 @@ func (x *DateField_Ext) String() string { func (*DateField_Ext) ProtoMessage() {} func (x *DateField_Ext) ProtoReflect() protoreflect.Message { - mi := &file_j5_schema_v1_schema_proto_msgTypes[66] + mi := &file_j5_schema_v1_schema_proto_msgTypes[67] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4497,7 +4544,7 @@ type TimestampField_Rules struct { func (x *TimestampField_Rules) Reset() { *x = TimestampField_Rules{} if protoimpl.UnsafeEnabled { - mi := &file_j5_schema_v1_schema_proto_msgTypes[67] + mi := &file_j5_schema_v1_schema_proto_msgTypes[68] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4510,7 +4557,7 @@ func (x *TimestampField_Rules) String() string { func (*TimestampField_Rules) ProtoMessage() {} func (x *TimestampField_Rules) ProtoReflect() protoreflect.Message { - mi := &file_j5_schema_v1_schema_proto_msgTypes[67] + mi := &file_j5_schema_v1_schema_proto_msgTypes[68] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4563,7 +4610,7 @@ type TimestampField_Ext struct { func (x *TimestampField_Ext) Reset() { *x = TimestampField_Ext{} if protoimpl.UnsafeEnabled { - mi := &file_j5_schema_v1_schema_proto_msgTypes[68] + mi := &file_j5_schema_v1_schema_proto_msgTypes[69] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4576,7 +4623,7 @@ func (x *TimestampField_Ext) String() string { func (*TimestampField_Ext) ProtoMessage() {} func (x *TimestampField_Ext) ProtoReflect() protoreflect.Message { - mi := &file_j5_schema_v1_schema_proto_msgTypes[68] + mi := &file_j5_schema_v1_schema_proto_msgTypes[69] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4992,7 +5039,7 @@ var file_j5_schema_v1_schema_proto_rawDesc = []byte{ 0x65, 0x79, 0x42, 0x06, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x3a, 0x2a, 0x82, 0xbe, 0x8f, 0x02, 0x25, 0x2a, 0x0a, 0x0a, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x10, 0x01, 0x52, 0x17, 0x0a, 0x07, 0x66, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x12, 0x03, 0x65, 0x78, 0x74, 0x12, 0x07, 0x66, - 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x22, 0xa1, 0x03, 0x0a, 0x09, 0x4b, 0x65, 0x79, 0x46, 0x6f, + 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x22, 0xf7, 0x03, 0x0a, 0x09, 0x4b, 0x65, 0x79, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x3e, 0x0a, 0x08, 0x69, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x6a, 0x35, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x4b, 0x65, 0x79, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x2e, @@ -5007,143 +5054,205 @@ var file_j5_schema_v1_schema_proto_rawDesc = []byte{ 0x69, 0x64, 0x12, 0x32, 0x0a, 0x04, 0x69, 0x64, 0x36, 0x32, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x6a, 0x35, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x4b, 0x65, 0x79, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x2e, 0x49, 0x44, 0x36, 0x32, 0x48, 0x00, - 0x52, 0x04, 0x69, 0x64, 0x36, 0x32, 0x12, 0x34, 0x0a, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x6a, 0x35, 0x2e, 0x73, 0x63, 0x68, 0x65, - 0x6d, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x46, 0x6f, 0x72, 0x6d, - 0x61, 0x74, 0x48, 0x00, 0x52, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x1a, 0x0a, 0x0a, 0x08, - 0x49, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x1a, 0x4c, 0x0a, 0x06, 0x43, 0x75, 0x73, 0x74, - 0x6f, 0x6d, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x42, 0x06, 0xba, 0x48, 0x03, 0xc8, 0x01, 0x01, 0x52, 0x07, 0x70, 0x61, 0x74, - 0x74, 0x65, 0x72, 0x6e, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, - 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x06, 0x0a, 0x04, 0x55, 0x55, 0x49, 0x44, 0x1a, 0x06, - 0x0a, 0x04, 0x49, 0x44, 0x36, 0x32, 0x3a, 0x0a, 0x82, 0xbe, 0x8f, 0x02, 0x05, 0x22, 0x03, 0x0a, - 0x01, 0x2e, 0x42, 0x06, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0xea, 0x04, 0x0a, 0x0a, 0x46, - 0x6c, 0x6f, 0x61, 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x12, 0x37, 0x0a, 0x06, 0x66, 0x6f, 0x72, - 0x6d, 0x61, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1f, 0x2e, 0x6a, 0x35, 0x2e, 0x73, - 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x46, 0x69, - 0x65, 0x6c, 0x64, 0x2e, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x52, 0x06, 0x66, 0x6f, 0x72, 0x6d, - 0x61, 0x74, 0x12, 0x34, 0x0a, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x1e, 0x2e, 0x6a, 0x35, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x76, 0x31, - 0x2e, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x2e, 0x52, 0x75, 0x6c, 0x65, - 0x73, 0x52, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x35, 0x0a, 0x0a, 0x6c, 0x69, 0x73, 0x74, - 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x6a, - 0x35, 0x2e, 0x6c, 0x69, 0x73, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x52, - 0x75, 0x6c, 0x65, 0x73, 0x52, 0x09, 0x6c, 0x69, 0x73, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, - 0x2e, 0x0a, 0x03, 0x65, 0x78, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x6a, - 0x35, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x6c, 0x6f, 0x61, - 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x2e, 0x45, 0x78, 0x74, 0x52, 0x03, 0x65, 0x78, 0x74, 0x1a, - 0xa3, 0x02, 0x0a, 0x05, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x30, 0x0a, 0x11, 0x65, 0x78, 0x63, - 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x5f, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x10, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, - 0x65, 0x4d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x88, 0x01, 0x01, 0x12, 0x30, 0x0a, 0x11, 0x65, - 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x5f, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x48, 0x01, 0x52, 0x10, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, - 0x69, 0x76, 0x65, 0x4d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x88, 0x01, 0x01, 0x12, 0x1d, 0x0a, - 0x07, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x48, 0x02, - 0x52, 0x07, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x88, 0x01, 0x01, 0x12, 0x1d, 0x0a, 0x07, - 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, 0x01, 0x48, 0x03, 0x52, - 0x07, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x0b, 0x6d, - 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x5f, 0x6f, 0x66, 0x18, 0x05, 0x20, 0x01, 0x28, 0x01, - 0x48, 0x04, 0x52, 0x0a, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x4f, 0x66, 0x88, 0x01, - 0x01, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x5f, - 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x65, 0x78, 0x63, 0x6c, - 0x75, 0x73, 0x69, 0x76, 0x65, 0x5f, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x42, 0x0a, 0x0a, - 0x08, 0x5f, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x6d, 0x61, - 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, - 0x6c, 0x65, 0x5f, 0x6f, 0x66, 0x1a, 0x05, 0x0a, 0x03, 0x45, 0x78, 0x74, 0x22, 0x48, 0x0a, 0x06, - 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x16, 0x0a, 0x12, 0x46, 0x4f, 0x52, 0x4d, 0x41, 0x54, - 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x12, - 0x0a, 0x0e, 0x46, 0x4f, 0x52, 0x4d, 0x41, 0x54, 0x5f, 0x46, 0x4c, 0x4f, 0x41, 0x54, 0x33, 0x32, - 0x10, 0x01, 0x12, 0x12, 0x0a, 0x0e, 0x46, 0x4f, 0x52, 0x4d, 0x41, 0x54, 0x5f, 0x46, 0x4c, 0x4f, - 0x41, 0x54, 0x36, 0x34, 0x10, 0x02, 0x3a, 0x0f, 0x82, 0xbe, 0x8f, 0x02, 0x0a, 0x2a, 0x08, 0x0a, - 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x22, 0xa3, 0x05, 0x0a, 0x0c, 0x49, 0x6e, 0x74, 0x65, - 0x67, 0x65, 0x72, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x12, 0x46, 0x0a, 0x06, 0x66, 0x6f, 0x72, 0x6d, - 0x61, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x21, 0x2e, 0x6a, 0x35, 0x2e, 0x73, 0x63, - 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x65, 0x72, 0x46, - 0x69, 0x65, 0x6c, 0x64, 0x2e, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x42, 0x0b, 0xba, 0x48, 0x08, - 0xc8, 0x01, 0x01, 0x82, 0x01, 0x02, 0x20, 0x00, 0x52, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, - 0x12, 0x36, 0x0a, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x20, 0x2e, 0x6a, 0x35, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x49, - 0x6e, 0x74, 0x65, 0x67, 0x65, 0x72, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x2e, 0x52, 0x75, 0x6c, 0x65, - 0x73, 0x52, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x37, 0x0a, 0x0a, 0x6c, 0x69, 0x73, 0x74, - 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x6a, - 0x35, 0x2e, 0x6c, 0x69, 0x73, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x65, - 0x72, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x09, 0x6c, 0x69, 0x73, 0x74, 0x52, 0x75, 0x6c, 0x65, - 0x73, 0x12, 0x30, 0x0a, 0x03, 0x65, 0x78, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, + 0x52, 0x04, 0x69, 0x64, 0x36, 0x32, 0x12, 0x35, 0x0a, 0x05, 0x6e, 0x61, 0x6d, 0x65, 0x64, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x6a, 0x35, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x6d, + 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x4b, 0x65, 0x79, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x2e, 0x4e, + 0x61, 0x6d, 0x65, 0x64, 0x48, 0x00, 0x52, 0x05, 0x6e, 0x61, 0x6d, 0x65, 0x64, 0x1a, 0x0a, 0x0a, + 0x08, 0x49, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x1a, 0x4c, 0x0a, 0x06, 0x43, 0x75, 0x73, + 0x74, 0x6f, 0x6d, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x06, 0xba, 0x48, 0x03, 0xc8, 0x01, 0x01, 0x52, 0x07, 0x70, 0x61, + 0x74, 0x74, 0x65, 0x72, 0x6e, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, + 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x06, 0x0a, 0x04, 0x55, 0x55, 0x49, 0x44, 0x1a, + 0x06, 0x0a, 0x04, 0x49, 0x44, 0x36, 0x32, 0x1a, 0x53, 0x0a, 0x05, 0x4e, 0x61, 0x6d, 0x65, 0x64, + 0x12, 0x23, 0x0a, 0x03, 0x72, 0x65, 0x66, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, + 0x6a, 0x35, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x66, + 0x52, 0x03, 0x72, 0x65, 0x66, 0x3a, 0x25, 0x82, 0xbe, 0x8f, 0x02, 0x20, 0x2a, 0x05, 0x0a, 0x03, + 0x72, 0x65, 0x66, 0x42, 0x17, 0x10, 0x01, 0x1a, 0x08, 0x0a, 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, + 0x61, 0x2a, 0x09, 0x0a, 0x07, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x3a, 0x0a, 0x82, 0xbe, + 0x8f, 0x02, 0x05, 0x22, 0x03, 0x0a, 0x01, 0x2e, 0x42, 0x06, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, + 0x22, 0xea, 0x04, 0x0a, 0x0a, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x12, + 0x37, 0x0a, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, + 0x1f, 0x2e, 0x6a, 0x35, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x46, + 0x6c, 0x6f, 0x61, 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x2e, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, + 0x52, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x34, 0x0a, 0x05, 0x72, 0x75, 0x6c, 0x65, + 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6a, 0x35, 0x2e, 0x73, 0x63, 0x68, + 0x65, 0x6d, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x46, 0x69, 0x65, 0x6c, + 0x64, 0x2e, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x35, + 0x0a, 0x0a, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x6a, 0x35, 0x2e, 0x6c, 0x69, 0x73, 0x74, 0x2e, 0x76, 0x31, 0x2e, + 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x09, 0x6c, 0x69, 0x73, 0x74, + 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x2e, 0x0a, 0x03, 0x65, 0x78, 0x74, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x6a, 0x35, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x76, + 0x31, 0x2e, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x2e, 0x45, 0x78, 0x74, + 0x52, 0x03, 0x65, 0x78, 0x74, 0x1a, 0xa3, 0x02, 0x0a, 0x05, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, + 0x30, 0x0a, 0x11, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x5f, 0x6d, 0x61, 0x78, + 0x69, 0x6d, 0x75, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x10, 0x65, 0x78, + 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x4d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x88, 0x01, + 0x01, 0x12, 0x30, 0x0a, 0x11, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x5f, 0x6d, + 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x48, 0x01, 0x52, 0x10, + 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x4d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, + 0x88, 0x01, 0x01, 0x12, 0x1d, 0x0a, 0x07, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x01, 0x48, 0x02, 0x52, 0x07, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x88, + 0x01, 0x01, 0x12, 0x1d, 0x0a, 0x07, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x01, 0x48, 0x03, 0x52, 0x07, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x88, 0x01, + 0x01, 0x12, 0x24, 0x0a, 0x0b, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x5f, 0x6f, 0x66, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x01, 0x48, 0x04, 0x52, 0x0a, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, + 0x6c, 0x65, 0x4f, 0x66, 0x88, 0x01, 0x01, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x65, 0x78, 0x63, 0x6c, + 0x75, 0x73, 0x69, 0x76, 0x65, 0x5f, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x42, 0x14, 0x0a, + 0x12, 0x5f, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x5f, 0x6d, 0x69, 0x6e, 0x69, + 0x6d, 0x75, 0x6d, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x42, + 0x0a, 0x0a, 0x08, 0x5f, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, + 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x5f, 0x6f, 0x66, 0x1a, 0x05, 0x0a, 0x03, 0x45, + 0x78, 0x74, 0x22, 0x48, 0x0a, 0x06, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x16, 0x0a, 0x12, + 0x46, 0x4f, 0x52, 0x4d, 0x41, 0x54, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, + 0x45, 0x44, 0x10, 0x00, 0x12, 0x12, 0x0a, 0x0e, 0x46, 0x4f, 0x52, 0x4d, 0x41, 0x54, 0x5f, 0x46, + 0x4c, 0x4f, 0x41, 0x54, 0x33, 0x32, 0x10, 0x01, 0x12, 0x12, 0x0a, 0x0e, 0x46, 0x4f, 0x52, 0x4d, + 0x41, 0x54, 0x5f, 0x46, 0x4c, 0x4f, 0x41, 0x54, 0x36, 0x34, 0x10, 0x02, 0x3a, 0x0f, 0x82, 0xbe, + 0x8f, 0x02, 0x0a, 0x2a, 0x08, 0x0a, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x22, 0xa3, 0x05, + 0x0a, 0x0c, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x65, 0x72, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x12, 0x46, + 0x0a, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x21, 0x2e, 0x6a, 0x35, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, - 0x74, 0x65, 0x67, 0x65, 0x72, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x2e, 0x45, 0x78, 0x74, 0x52, 0x03, - 0x65, 0x78, 0x74, 0x1a, 0xa3, 0x02, 0x0a, 0x05, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x30, 0x0a, - 0x11, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x5f, 0x6d, 0x61, 0x78, 0x69, 0x6d, - 0x75, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x10, 0x65, 0x78, 0x63, 0x6c, - 0x75, 0x73, 0x69, 0x76, 0x65, 0x4d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x88, 0x01, 0x01, 0x12, - 0x30, 0x0a, 0x11, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x5f, 0x6d, 0x69, 0x6e, - 0x69, 0x6d, 0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x48, 0x01, 0x52, 0x10, 0x65, 0x78, - 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x4d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x88, 0x01, - 0x01, 0x12, 0x1d, 0x0a, 0x07, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x03, 0x48, 0x02, 0x52, 0x07, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x88, 0x01, 0x01, - 0x12, 0x1d, 0x0a, 0x07, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x03, 0x48, 0x03, 0x52, 0x07, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x88, 0x01, 0x01, 0x12, - 0x24, 0x0a, 0x0b, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x5f, 0x6f, 0x66, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x03, 0x48, 0x04, 0x52, 0x0a, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, - 0x4f, 0x66, 0x88, 0x01, 0x01, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, - 0x69, 0x76, 0x65, 0x5f, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x42, 0x14, 0x0a, 0x12, 0x5f, - 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x5f, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, - 0x6d, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x42, 0x0a, 0x0a, - 0x08, 0x5f, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, 0x75, - 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x5f, 0x6f, 0x66, 0x1a, 0x05, 0x0a, 0x03, 0x45, 0x78, 0x74, - 0x22, 0x6a, 0x0a, 0x06, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x16, 0x0a, 0x12, 0x46, 0x4f, - 0x52, 0x4d, 0x41, 0x54, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, - 0x10, 0x00, 0x12, 0x10, 0x0a, 0x0c, 0x46, 0x4f, 0x52, 0x4d, 0x41, 0x54, 0x5f, 0x49, 0x4e, 0x54, - 0x33, 0x32, 0x10, 0x01, 0x12, 0x10, 0x0a, 0x0c, 0x46, 0x4f, 0x52, 0x4d, 0x41, 0x54, 0x5f, 0x49, - 0x4e, 0x54, 0x36, 0x34, 0x10, 0x02, 0x12, 0x11, 0x0a, 0x0d, 0x46, 0x4f, 0x52, 0x4d, 0x41, 0x54, - 0x5f, 0x55, 0x49, 0x4e, 0x54, 0x33, 0x32, 0x10, 0x03, 0x12, 0x11, 0x0a, 0x0d, 0x46, 0x4f, 0x52, - 0x4d, 0x41, 0x54, 0x5f, 0x55, 0x49, 0x4e, 0x54, 0x36, 0x34, 0x10, 0x04, 0x3a, 0x0f, 0x82, 0xbe, - 0x8f, 0x02, 0x0a, 0x2a, 0x08, 0x0a, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x22, 0xda, 0x01, - 0x0a, 0x09, 0x42, 0x6f, 0x6f, 0x6c, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x12, 0x33, 0x0a, 0x05, 0x72, - 0x75, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x6a, 0x35, 0x2e, - 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x46, 0x69, - 0x65, 0x6c, 0x64, 0x2e, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x73, - 0x12, 0x34, 0x0a, 0x0a, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x6a, 0x35, 0x2e, 0x6c, 0x69, 0x73, 0x74, 0x2e, 0x76, - 0x31, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x09, 0x6c, 0x69, 0x73, - 0x74, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x2d, 0x0a, 0x03, 0x65, 0x78, 0x74, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x6a, 0x35, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e, - 0x76, 0x31, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x2e, 0x45, 0x78, 0x74, - 0x52, 0x03, 0x65, 0x78, 0x74, 0x1a, 0x2c, 0x0a, 0x05, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x19, - 0x0a, 0x05, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, - 0x05, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x88, 0x01, 0x01, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x63, 0x6f, - 0x6e, 0x73, 0x74, 0x1a, 0x05, 0x0a, 0x03, 0x45, 0x78, 0x74, 0x22, 0xe8, 0x01, 0x0a, 0x0a, 0x42, - 0x79, 0x74, 0x65, 0x73, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x12, 0x34, 0x0a, 0x05, 0x72, 0x75, 0x6c, - 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6a, 0x35, 0x2e, 0x73, 0x63, - 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x79, 0x74, 0x65, 0x73, 0x46, 0x69, 0x65, - 0x6c, 0x64, 0x2e, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x12, - 0x2e, 0x0a, 0x03, 0x65, 0x78, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x6a, - 0x35, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x79, 0x74, 0x65, - 0x73, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x2e, 0x45, 0x78, 0x74, 0x52, 0x03, 0x65, 0x78, 0x74, 0x1a, - 0x6d, 0x0a, 0x05, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x22, 0x0a, 0x0a, 0x6d, 0x69, 0x6e, 0x5f, - 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x48, 0x00, 0x52, 0x09, - 0x6d, 0x69, 0x6e, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x88, 0x01, 0x01, 0x12, 0x22, 0x0a, 0x0a, - 0x6d, 0x61, 0x78, 0x5f, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, - 0x48, 0x01, 0x52, 0x09, 0x6d, 0x61, 0x78, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x88, 0x01, 0x01, - 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x6d, 0x69, 0x6e, 0x5f, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x42, - 0x0d, 0x0a, 0x0b, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x1a, 0x05, - 0x0a, 0x03, 0x45, 0x78, 0x74, 0x22, 0xa8, 0x03, 0x0a, 0x0c, 0x44, 0x65, 0x63, 0x69, 0x6d, 0x61, - 0x6c, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x12, 0x36, 0x0a, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x6a, 0x35, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x6d, - 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x63, 0x69, 0x6d, 0x61, 0x6c, 0x46, 0x69, 0x65, 0x6c, + 0x74, 0x65, 0x67, 0x65, 0x72, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x2e, 0x46, 0x6f, 0x72, 0x6d, 0x61, + 0x74, 0x42, 0x0b, 0xba, 0x48, 0x08, 0xc8, 0x01, 0x01, 0x82, 0x01, 0x02, 0x20, 0x00, 0x52, 0x06, + 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x36, 0x0a, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x6a, 0x35, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x6d, + 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x65, 0x72, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x2e, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x37, - 0x0a, 0x0a, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, + 0x0a, 0x0a, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x6a, 0x35, 0x2e, 0x6c, 0x69, 0x73, 0x74, 0x2e, 0x76, 0x31, 0x2e, - 0x44, 0x65, 0x63, 0x69, 0x6d, 0x61, 0x6c, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x09, 0x6c, 0x69, - 0x73, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x30, 0x0a, 0x03, 0x65, 0x78, 0x74, 0x18, 0x03, + 0x49, 0x6e, 0x74, 0x65, 0x67, 0x65, 0x72, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x09, 0x6c, 0x69, + 0x73, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x30, 0x0a, 0x03, 0x65, 0x78, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6a, 0x35, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, - 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x63, 0x69, 0x6d, 0x61, 0x6c, 0x46, 0x69, 0x65, 0x6c, 0x64, - 0x2e, 0x45, 0x78, 0x74, 0x52, 0x03, 0x65, 0x78, 0x74, 0x1a, 0xed, 0x01, 0x0a, 0x05, 0x52, 0x75, - 0x6c, 0x65, 0x73, 0x12, 0x1d, 0x0a, 0x07, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x07, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x88, - 0x01, 0x01, 0x12, 0x1d, 0x0a, 0x07, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x07, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x88, 0x01, + 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x65, 0x72, 0x46, 0x69, 0x65, 0x6c, 0x64, + 0x2e, 0x45, 0x78, 0x74, 0x52, 0x03, 0x65, 0x78, 0x74, 0x1a, 0xa3, 0x02, 0x0a, 0x05, 0x52, 0x75, + 0x6c, 0x65, 0x73, 0x12, 0x30, 0x0a, 0x11, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, + 0x5f, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, + 0x52, 0x10, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x4d, 0x61, 0x78, 0x69, 0x6d, + 0x75, 0x6d, 0x88, 0x01, 0x01, 0x12, 0x30, 0x0a, 0x11, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, + 0x76, 0x65, 0x5f, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, + 0x48, 0x01, 0x52, 0x10, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x4d, 0x69, 0x6e, + 0x69, 0x6d, 0x75, 0x6d, 0x88, 0x01, 0x01, 0x12, 0x1d, 0x0a, 0x07, 0x6d, 0x69, 0x6e, 0x69, 0x6d, + 0x75, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x48, 0x02, 0x52, 0x07, 0x6d, 0x69, 0x6e, 0x69, + 0x6d, 0x75, 0x6d, 0x88, 0x01, 0x01, 0x12, 0x1d, 0x0a, 0x07, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, + 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x48, 0x03, 0x52, 0x07, 0x6d, 0x61, 0x78, 0x69, 0x6d, + 0x75, 0x6d, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x0b, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, + 0x65, 0x5f, 0x6f, 0x66, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x48, 0x04, 0x52, 0x0a, 0x6d, 0x75, + 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x4f, 0x66, 0x88, 0x01, 0x01, 0x42, 0x14, 0x0a, 0x12, 0x5f, + 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x5f, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, + 0x6d, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x5f, + 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x6d, 0x69, 0x6e, 0x69, + 0x6d, 0x75, 0x6d, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x42, + 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x5f, 0x6f, 0x66, 0x1a, + 0x05, 0x0a, 0x03, 0x45, 0x78, 0x74, 0x22, 0x6a, 0x0a, 0x06, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, + 0x12, 0x16, 0x0a, 0x12, 0x46, 0x4f, 0x52, 0x4d, 0x41, 0x54, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, + 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x10, 0x0a, 0x0c, 0x46, 0x4f, 0x52, 0x4d, + 0x41, 0x54, 0x5f, 0x49, 0x4e, 0x54, 0x33, 0x32, 0x10, 0x01, 0x12, 0x10, 0x0a, 0x0c, 0x46, 0x4f, + 0x52, 0x4d, 0x41, 0x54, 0x5f, 0x49, 0x4e, 0x54, 0x36, 0x34, 0x10, 0x02, 0x12, 0x11, 0x0a, 0x0d, + 0x46, 0x4f, 0x52, 0x4d, 0x41, 0x54, 0x5f, 0x55, 0x49, 0x4e, 0x54, 0x33, 0x32, 0x10, 0x03, 0x12, + 0x11, 0x0a, 0x0d, 0x46, 0x4f, 0x52, 0x4d, 0x41, 0x54, 0x5f, 0x55, 0x49, 0x4e, 0x54, 0x36, 0x34, + 0x10, 0x04, 0x3a, 0x0f, 0x82, 0xbe, 0x8f, 0x02, 0x0a, 0x2a, 0x08, 0x0a, 0x06, 0x66, 0x6f, 0x72, + 0x6d, 0x61, 0x74, 0x22, 0xda, 0x01, 0x0a, 0x09, 0x42, 0x6f, 0x6f, 0x6c, 0x46, 0x69, 0x65, 0x6c, + 0x64, 0x12, 0x33, 0x0a, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1d, 0x2e, 0x6a, 0x35, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x76, 0x31, 0x2e, + 0x42, 0x6f, 0x6f, 0x6c, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x2e, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, + 0x05, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x34, 0x0a, 0x0a, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x72, + 0x75, 0x6c, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x6a, 0x35, 0x2e, + 0x6c, 0x69, 0x73, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x52, 0x75, 0x6c, 0x65, + 0x73, 0x52, 0x09, 0x6c, 0x69, 0x73, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x2d, 0x0a, 0x03, + 0x65, 0x78, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x6a, 0x35, 0x2e, 0x73, + 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x46, 0x69, 0x65, + 0x6c, 0x64, 0x2e, 0x45, 0x78, 0x74, 0x52, 0x03, 0x65, 0x78, 0x74, 0x1a, 0x2c, 0x0a, 0x05, 0x52, + 0x75, 0x6c, 0x65, 0x73, 0x12, 0x19, 0x0a, 0x05, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x05, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x88, 0x01, 0x01, 0x42, + 0x08, 0x0a, 0x06, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x1a, 0x05, 0x0a, 0x03, 0x45, 0x78, 0x74, + 0x22, 0xe8, 0x01, 0x0a, 0x0a, 0x42, 0x79, 0x74, 0x65, 0x73, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x12, + 0x34, 0x0a, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, + 0x2e, 0x6a, 0x35, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x79, + 0x74, 0x65, 0x73, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x2e, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x05, + 0x72, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x2e, 0x0a, 0x03, 0x65, 0x78, 0x74, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x6a, 0x35, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x76, + 0x31, 0x2e, 0x42, 0x79, 0x74, 0x65, 0x73, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x2e, 0x45, 0x78, 0x74, + 0x52, 0x03, 0x65, 0x78, 0x74, 0x1a, 0x6d, 0x0a, 0x05, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x22, + 0x0a, 0x0a, 0x6d, 0x69, 0x6e, 0x5f, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x04, 0x48, 0x00, 0x52, 0x09, 0x6d, 0x69, 0x6e, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x88, + 0x01, 0x01, 0x12, 0x22, 0x0a, 0x0a, 0x6d, 0x61, 0x78, 0x5f, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x48, 0x01, 0x52, 0x09, 0x6d, 0x61, 0x78, 0x4c, 0x65, 0x6e, + 0x67, 0x74, 0x68, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x6d, 0x69, 0x6e, 0x5f, 0x6c, + 0x65, 0x6e, 0x67, 0x74, 0x68, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x6c, 0x65, + 0x6e, 0x67, 0x74, 0x68, 0x1a, 0x05, 0x0a, 0x03, 0x45, 0x78, 0x74, 0x22, 0xa8, 0x03, 0x0a, 0x0c, + 0x44, 0x65, 0x63, 0x69, 0x6d, 0x61, 0x6c, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x12, 0x36, 0x0a, 0x05, + 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x6a, 0x35, + 0x2e, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x63, 0x69, 0x6d, + 0x61, 0x6c, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x2e, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x05, 0x72, + 0x75, 0x6c, 0x65, 0x73, 0x12, 0x37, 0x0a, 0x0a, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x72, 0x75, 0x6c, + 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x6a, 0x35, 0x2e, 0x6c, 0x69, + 0x73, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x63, 0x69, 0x6d, 0x61, 0x6c, 0x52, 0x75, 0x6c, + 0x65, 0x73, 0x52, 0x09, 0x6c, 0x69, 0x73, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x30, 0x0a, + 0x03, 0x65, 0x78, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6a, 0x35, 0x2e, + 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x63, 0x69, 0x6d, 0x61, + 0x6c, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x2e, 0x45, 0x78, 0x74, 0x52, 0x03, 0x65, 0x78, 0x74, 0x1a, + 0xed, 0x01, 0x0a, 0x05, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x1d, 0x0a, 0x07, 0x6d, 0x69, 0x6e, + 0x69, 0x6d, 0x75, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x07, 0x6d, 0x69, + 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x88, 0x01, 0x01, 0x12, 0x1d, 0x0a, 0x07, 0x6d, 0x61, 0x78, 0x69, + 0x6d, 0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x07, 0x6d, 0x61, 0x78, + 0x69, 0x6d, 0x75, 0x6d, 0x88, 0x01, 0x01, 0x12, 0x30, 0x0a, 0x11, 0x65, 0x78, 0x63, 0x6c, 0x75, + 0x73, 0x69, 0x76, 0x65, 0x5f, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x08, 0x48, 0x02, 0x52, 0x10, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x4d, + 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x88, 0x01, 0x01, 0x12, 0x30, 0x0a, 0x11, 0x65, 0x78, 0x63, + 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x5f, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x08, 0x48, 0x03, 0x52, 0x10, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, + 0x65, 0x4d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x88, 0x01, 0x01, 0x42, 0x0a, 0x0a, 0x08, 0x5f, + 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x6d, 0x61, 0x78, 0x69, + 0x6d, 0x75, 0x6d, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, + 0x65, 0x5f, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x65, 0x78, + 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x5f, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x1a, + 0x05, 0x0a, 0x03, 0x45, 0x78, 0x74, 0x22, 0x9c, 0x03, 0x0a, 0x09, 0x44, 0x61, 0x74, 0x65, 0x46, + 0x69, 0x65, 0x6c, 0x64, 0x12, 0x33, 0x0a, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x6a, 0x35, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e, + 0x76, 0x31, 0x2e, 0x44, 0x61, 0x74, 0x65, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x2e, 0x52, 0x75, 0x6c, + 0x65, 0x73, 0x52, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x34, 0x0a, 0x0a, 0x6c, 0x69, 0x73, + 0x74, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, + 0x6a, 0x35, 0x2e, 0x6c, 0x69, 0x73, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x61, 0x74, 0x65, 0x52, + 0x75, 0x6c, 0x65, 0x73, 0x52, 0x09, 0x6c, 0x69, 0x73, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, + 0x2d, 0x0a, 0x03, 0x65, 0x78, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x6a, + 0x35, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x61, 0x74, 0x65, + 0x46, 0x69, 0x65, 0x6c, 0x64, 0x2e, 0x45, 0x78, 0x74, 0x52, 0x03, 0x65, 0x78, 0x74, 0x1a, 0xed, + 0x01, 0x0a, 0x05, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x1d, 0x0a, 0x07, 0x6d, 0x69, 0x6e, 0x69, + 0x6d, 0x75, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x07, 0x6d, 0x69, 0x6e, + 0x69, 0x6d, 0x75, 0x6d, 0x88, 0x01, 0x01, 0x12, 0x1d, 0x0a, 0x07, 0x6d, 0x61, 0x78, 0x69, 0x6d, + 0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x07, 0x6d, 0x61, 0x78, 0x69, + 0x6d, 0x75, 0x6d, 0x88, 0x01, 0x01, 0x12, 0x30, 0x0a, 0x11, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, + 0x69, 0x76, 0x65, 0x5f, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x08, 0x48, 0x02, 0x52, 0x10, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x4d, 0x69, + 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x88, 0x01, 0x01, 0x12, 0x30, 0x0a, 0x11, 0x65, 0x78, 0x63, 0x6c, + 0x75, 0x73, 0x69, 0x76, 0x65, 0x5f, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x08, 0x48, 0x03, 0x52, 0x10, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, + 0x4d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x88, 0x01, 0x01, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x6d, + 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x6d, 0x61, 0x78, 0x69, 0x6d, + 0x75, 0x6d, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, + 0x5f, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x65, 0x78, 0x63, + 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x5f, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x1a, 0x05, + 0x0a, 0x03, 0x45, 0x78, 0x74, 0x22, 0xe8, 0x03, 0x0a, 0x0e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, + 0x61, 0x6d, 0x70, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x12, 0x38, 0x0a, 0x05, 0x72, 0x75, 0x6c, 0x65, + 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x6a, 0x35, 0x2e, 0x73, 0x63, 0x68, + 0x65, 0x6d, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, + 0x46, 0x69, 0x65, 0x6c, 0x64, 0x2e, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x05, 0x72, 0x75, 0x6c, + 0x65, 0x73, 0x12, 0x39, 0x0a, 0x0a, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x73, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x6a, 0x35, 0x2e, 0x6c, 0x69, 0x73, 0x74, + 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x75, 0x6c, + 0x65, 0x73, 0x52, 0x09, 0x6c, 0x69, 0x73, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x32, 0x0a, + 0x03, 0x65, 0x78, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x6a, 0x35, 0x2e, + 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, + 0x61, 0x6d, 0x70, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x2e, 0x45, 0x78, 0x74, 0x52, 0x03, 0x65, 0x78, + 0x74, 0x1a, 0xa5, 0x02, 0x0a, 0x05, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x39, 0x0a, 0x07, 0x6d, + 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, + 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x48, 0x00, 0x52, 0x07, 0x6d, 0x69, 0x6e, 0x69, + 0x6d, 0x75, 0x6d, 0x88, 0x01, 0x01, 0x12, 0x39, 0x0a, 0x07, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, + 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, + 0x61, 0x6d, 0x70, 0x48, 0x01, 0x52, 0x07, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x88, 0x01, 0x01, 0x12, 0x30, 0x0a, 0x11, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x5f, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x48, 0x02, 0x52, 0x10, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x4d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, @@ -5155,109 +5264,53 @@ var file_j5_schema_v1_schema_proto_rawDesc = []byte{ 0x12, 0x5f, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x5f, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x5f, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x1a, 0x05, 0x0a, 0x03, 0x45, 0x78, 0x74, - 0x22, 0x9c, 0x03, 0x0a, 0x09, 0x44, 0x61, 0x74, 0x65, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x12, 0x33, - 0x0a, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, - 0x6a, 0x35, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x61, 0x74, - 0x65, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x2e, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x05, 0x72, 0x75, - 0x6c, 0x65, 0x73, 0x12, 0x34, 0x0a, 0x0a, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x72, 0x75, 0x6c, 0x65, - 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x6a, 0x35, 0x2e, 0x6c, 0x69, 0x73, - 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x09, - 0x6c, 0x69, 0x73, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x2d, 0x0a, 0x03, 0x65, 0x78, 0x74, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x6a, 0x35, 0x2e, 0x73, 0x63, 0x68, 0x65, - 0x6d, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x61, 0x74, 0x65, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x2e, - 0x45, 0x78, 0x74, 0x52, 0x03, 0x65, 0x78, 0x74, 0x1a, 0xed, 0x01, 0x0a, 0x05, 0x52, 0x75, 0x6c, - 0x65, 0x73, 0x12, 0x1d, 0x0a, 0x07, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x07, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x88, 0x01, - 0x01, 0x12, 0x1d, 0x0a, 0x07, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x48, 0x01, 0x52, 0x07, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x88, 0x01, 0x01, - 0x12, 0x30, 0x0a, 0x11, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x5f, 0x6d, 0x69, - 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x48, 0x02, 0x52, 0x10, 0x65, - 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x4d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x88, - 0x01, 0x01, 0x12, 0x30, 0x0a, 0x11, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x5f, - 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x48, 0x03, 0x52, - 0x10, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x4d, 0x61, 0x78, 0x69, 0x6d, 0x75, - 0x6d, 0x88, 0x01, 0x01, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, - 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x42, 0x14, 0x0a, 0x12, - 0x5f, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x5f, 0x6d, 0x69, 0x6e, 0x69, 0x6d, - 0x75, 0x6d, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, - 0x5f, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x1a, 0x05, 0x0a, 0x03, 0x45, 0x78, 0x74, 0x22, - 0xe8, 0x03, 0x0a, 0x0e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x46, 0x69, 0x65, - 0x6c, 0x64, 0x12, 0x38, 0x0a, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x22, 0x2e, 0x6a, 0x35, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x76, 0x31, - 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x2e, - 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x39, 0x0a, 0x0a, - 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x1a, 0x2e, 0x6a, 0x35, 0x2e, 0x6c, 0x69, 0x73, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x69, - 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x09, 0x6c, 0x69, - 0x73, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x32, 0x0a, 0x03, 0x65, 0x78, 0x74, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x6a, 0x35, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, - 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x46, 0x69, 0x65, - 0x6c, 0x64, 0x2e, 0x45, 0x78, 0x74, 0x52, 0x03, 0x65, 0x78, 0x74, 0x1a, 0xa5, 0x02, 0x0a, 0x05, - 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x39, 0x0a, 0x07, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, - 0x6d, 0x70, 0x48, 0x00, 0x52, 0x07, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x88, 0x01, 0x01, - 0x12, 0x39, 0x0a, 0x07, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x48, 0x01, 0x52, - 0x07, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x88, 0x01, 0x01, 0x12, 0x30, 0x0a, 0x11, 0x65, - 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x5f, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x48, 0x02, 0x52, 0x10, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, - 0x69, 0x76, 0x65, 0x4d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x88, 0x01, 0x01, 0x12, 0x30, 0x0a, - 0x11, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x5f, 0x6d, 0x61, 0x78, 0x69, 0x6d, - 0x75, 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x48, 0x03, 0x52, 0x10, 0x65, 0x78, 0x63, 0x6c, - 0x75, 0x73, 0x69, 0x76, 0x65, 0x4d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x88, 0x01, 0x01, 0x42, - 0x0a, 0x0a, 0x08, 0x5f, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x42, 0x0a, 0x0a, 0x08, 0x5f, - 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x65, 0x78, 0x63, 0x6c, - 0x75, 0x73, 0x69, 0x76, 0x65, 0x5f, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x42, 0x14, 0x0a, - 0x12, 0x5f, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x5f, 0x6d, 0x61, 0x78, 0x69, - 0x6d, 0x75, 0x6d, 0x1a, 0x05, 0x0a, 0x03, 0x45, 0x78, 0x74, 0x22, 0xe0, 0x02, 0x0a, 0x0e, 0x4f, - 0x62, 0x6a, 0x65, 0x63, 0x74, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x12, 0x2b, 0x0a, - 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, - 0x6a, 0x35, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x69, 0x65, - 0x6c, 0x64, 0x52, 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, 0x2e, 0x0a, 0x04, 0x6e, 0x61, - 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x1a, 0xba, 0x48, 0x17, 0x72, 0x15, 0x32, - 0x13, 0x5e, 0x5b, 0x61, 0x2d, 0x7a, 0x5d, 0x5b, 0x61, 0x2d, 0x7a, 0x41, 0x2d, 0x5a, 0x30, 0x2d, - 0x39, 0x5d, 0x2a, 0x24, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, - 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x72, 0x65, - 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x12, 0x2f, 0x0a, 0x13, 0x65, 0x78, 0x70, 0x6c, 0x69, 0x63, - 0x69, 0x74, 0x6c, 0x79, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x12, 0x65, 0x78, 0x70, 0x6c, 0x69, 0x63, 0x69, 0x74, 0x6c, 0x79, 0x4f, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, - 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, - 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x35, 0x0a, 0x09, 0x65, 0x6e, 0x74, - 0x69, 0x74, 0x79, 0x4b, 0x65, 0x79, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x6a, - 0x35, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x74, 0x69, - 0x74, 0x79, 0x4b, 0x65, 0x79, 0x52, 0x09, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x4b, 0x65, 0x79, - 0x3a, 0x4b, 0x82, 0xbe, 0x8f, 0x02, 0x46, 0x1a, 0x06, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, - 0x1c, 0x0a, 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x22, 0x08, 0x72, 0x65, 0x71, 0x75, 0x69, - 0x72, 0x65, 0x64, 0x2a, 0x08, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x52, 0x1e, 0x0a, - 0x08, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x12, 0x12, 0x65, 0x78, 0x70, 0x6c, 0x69, - 0x63, 0x69, 0x74, 0x6c, 0x79, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x22, 0x6a, 0x0a, - 0x09, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x4b, 0x65, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x72, - 0x69, 0x6d, 0x61, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x70, 0x72, 0x69, - 0x6d, 0x61, 0x72, 0x79, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x68, 0x61, 0x72, 0x64, 0x5f, 0x6b, 0x65, - 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x73, 0x68, 0x61, 0x72, 0x64, 0x4b, 0x65, - 0x79, 0x12, 0x1b, 0x0a, 0x06, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x09, 0x48, 0x00, 0x52, 0x06, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x42, 0x09, - 0x0a, 0x07, 0x5f, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x2a, 0xb8, 0x01, 0x0a, 0x0a, 0x45, 0x6e, - 0x74, 0x69, 0x74, 0x79, 0x50, 0x61, 0x72, 0x74, 0x12, 0x1b, 0x0a, 0x17, 0x45, 0x4e, 0x54, 0x49, - 0x54, 0x59, 0x5f, 0x50, 0x41, 0x52, 0x54, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, - 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x14, 0x0a, 0x10, 0x45, 0x4e, 0x54, 0x49, 0x54, 0x59, 0x5f, - 0x50, 0x41, 0x52, 0x54, 0x5f, 0x4b, 0x45, 0x59, 0x53, 0x10, 0x01, 0x12, 0x15, 0x0a, 0x11, 0x45, - 0x4e, 0x54, 0x49, 0x54, 0x59, 0x5f, 0x50, 0x41, 0x52, 0x54, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, - 0x10, 0x02, 0x12, 0x15, 0x0a, 0x11, 0x45, 0x4e, 0x54, 0x49, 0x54, 0x59, 0x5f, 0x50, 0x41, 0x52, - 0x54, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x10, 0x03, 0x12, 0x14, 0x0a, 0x10, 0x45, 0x4e, 0x54, - 0x49, 0x54, 0x59, 0x5f, 0x50, 0x41, 0x52, 0x54, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x10, 0x04, 0x12, - 0x1a, 0x0a, 0x16, 0x45, 0x4e, 0x54, 0x49, 0x54, 0x59, 0x5f, 0x50, 0x41, 0x52, 0x54, 0x5f, 0x52, - 0x45, 0x46, 0x45, 0x52, 0x45, 0x4e, 0x43, 0x45, 0x53, 0x10, 0x05, 0x12, 0x17, 0x0a, 0x13, 0x45, - 0x4e, 0x54, 0x49, 0x54, 0x59, 0x5f, 0x50, 0x41, 0x52, 0x54, 0x5f, 0x44, 0x45, 0x52, 0x49, 0x56, - 0x45, 0x44, 0x10, 0x06, 0x42, 0x4d, 0xf2, 0x85, 0x8f, 0x02, 0x14, 0x0a, 0x12, 0x6c, 0x6f, 0x63, - 0x61, 0x6c, 0x2f, 0x2e, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x5a, - 0x32, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x70, 0x65, 0x6e, 0x74, - 0x6f, 0x70, 0x73, 0x2f, 0x6a, 0x35, 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x6a, 0x35, 0x2f, 0x73, 0x63, - 0x68, 0x65, 0x6d, 0x61, 0x2f, 0x76, 0x31, 0x2f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x5f, 0x6a, - 0x35, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x22, 0xe0, 0x02, 0x0a, 0x0e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x50, 0x72, 0x6f, 0x70, 0x65, + 0x72, 0x74, 0x79, 0x12, 0x2b, 0x0a, 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x6a, 0x35, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e, + 0x76, 0x31, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x52, 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, + 0x12, 0x2e, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x1a, + 0xba, 0x48, 0x17, 0x72, 0x15, 0x32, 0x13, 0x5e, 0x5b, 0x61, 0x2d, 0x7a, 0x5d, 0x5b, 0x61, 0x2d, + 0x7a, 0x41, 0x2d, 0x5a, 0x30, 0x2d, 0x39, 0x5d, 0x2a, 0x24, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x08, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x12, 0x2f, 0x0a, 0x13, + 0x65, 0x78, 0x70, 0x6c, 0x69, 0x63, 0x69, 0x74, 0x6c, 0x79, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x61, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x65, 0x78, 0x70, 0x6c, 0x69, + 0x63, 0x69, 0x74, 0x6c, 0x79, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x12, 0x20, 0x0a, + 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, + 0x35, 0x0a, 0x09, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x4b, 0x65, 0x79, 0x18, 0x09, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x6a, 0x35, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x76, + 0x31, 0x2e, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x4b, 0x65, 0x79, 0x52, 0x09, 0x65, 0x6e, 0x74, + 0x69, 0x74, 0x79, 0x4b, 0x65, 0x79, 0x3a, 0x4b, 0x82, 0xbe, 0x8f, 0x02, 0x46, 0x1a, 0x06, 0x0a, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x1c, 0x0a, 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x22, + 0x08, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x2a, 0x08, 0x6f, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x61, 0x6c, 0x52, 0x1e, 0x0a, 0x08, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x12, + 0x12, 0x65, 0x78, 0x70, 0x6c, 0x69, 0x63, 0x69, 0x74, 0x6c, 0x79, 0x4f, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x61, 0x6c, 0x22, 0x6a, 0x0a, 0x09, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x4b, 0x65, 0x79, + 0x12, 0x18, 0x0a, 0x07, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x07, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x68, + 0x61, 0x72, 0x64, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x73, + 0x68, 0x61, 0x72, 0x64, 0x4b, 0x65, 0x79, 0x12, 0x1b, 0x0a, 0x06, 0x74, 0x65, 0x6e, 0x61, 0x6e, + 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x74, 0x65, 0x6e, 0x61, 0x6e, + 0x74, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x2a, + 0xb8, 0x01, 0x0a, 0x0a, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x50, 0x61, 0x72, 0x74, 0x12, 0x1b, + 0x0a, 0x17, 0x45, 0x4e, 0x54, 0x49, 0x54, 0x59, 0x5f, 0x50, 0x41, 0x52, 0x54, 0x5f, 0x55, 0x4e, + 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x14, 0x0a, 0x10, 0x45, + 0x4e, 0x54, 0x49, 0x54, 0x59, 0x5f, 0x50, 0x41, 0x52, 0x54, 0x5f, 0x4b, 0x45, 0x59, 0x53, 0x10, + 0x01, 0x12, 0x15, 0x0a, 0x11, 0x45, 0x4e, 0x54, 0x49, 0x54, 0x59, 0x5f, 0x50, 0x41, 0x52, 0x54, + 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x10, 0x02, 0x12, 0x15, 0x0a, 0x11, 0x45, 0x4e, 0x54, 0x49, + 0x54, 0x59, 0x5f, 0x50, 0x41, 0x52, 0x54, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x10, 0x03, 0x12, + 0x14, 0x0a, 0x10, 0x45, 0x4e, 0x54, 0x49, 0x54, 0x59, 0x5f, 0x50, 0x41, 0x52, 0x54, 0x5f, 0x44, + 0x41, 0x54, 0x41, 0x10, 0x04, 0x12, 0x1a, 0x0a, 0x16, 0x45, 0x4e, 0x54, 0x49, 0x54, 0x59, 0x5f, + 0x50, 0x41, 0x52, 0x54, 0x5f, 0x52, 0x45, 0x46, 0x45, 0x52, 0x45, 0x4e, 0x43, 0x45, 0x53, 0x10, + 0x05, 0x12, 0x17, 0x0a, 0x13, 0x45, 0x4e, 0x54, 0x49, 0x54, 0x59, 0x5f, 0x50, 0x41, 0x52, 0x54, + 0x5f, 0x44, 0x45, 0x52, 0x49, 0x56, 0x45, 0x44, 0x10, 0x06, 0x42, 0x4d, 0xf2, 0x85, 0x8f, 0x02, + 0x14, 0x0a, 0x12, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x2f, 0x2e, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x5a, 0x32, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, + 0x6d, 0x2f, 0x70, 0x65, 0x6e, 0x74, 0x6f, 0x70, 0x73, 0x2f, 0x6a, 0x35, 0x2f, 0x67, 0x65, 0x6e, + 0x2f, 0x6a, 0x35, 0x2f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2f, 0x76, 0x31, 0x2f, 0x73, 0x63, + 0x68, 0x65, 0x6d, 0x61, 0x5f, 0x6a, 0x35, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x33, } var ( @@ -5273,7 +5326,7 @@ func file_j5_schema_v1_schema_proto_rawDescGZIP() []byte { } var file_j5_schema_v1_schema_proto_enumTypes = make([]protoimpl.EnumInfo, 3) -var file_j5_schema_v1_schema_proto_msgTypes = make([]protoimpl.MessageInfo, 69) +var file_j5_schema_v1_schema_proto_msgTypes = make([]protoimpl.MessageInfo, 70) var file_j5_schema_v1_schema_proto_goTypes = []any{ (EntityPart)(0), // 0: j5.schema.v1.EntityPart (FloatField_Format)(0), // 1: j5.schema.v1.FloatField.Format @@ -5333,33 +5386,34 @@ var file_j5_schema_v1_schema_proto_goTypes = []any{ (*KeyFormat_Custom)(nil), // 55: j5.schema.v1.KeyFormat.Custom (*KeyFormat_UUID)(nil), // 56: j5.schema.v1.KeyFormat.UUID (*KeyFormat_ID62)(nil), // 57: j5.schema.v1.KeyFormat.ID62 - (*FloatField_Rules)(nil), // 58: j5.schema.v1.FloatField.Rules - (*FloatField_Ext)(nil), // 59: j5.schema.v1.FloatField.Ext - (*IntegerField_Rules)(nil), // 60: j5.schema.v1.IntegerField.Rules - (*IntegerField_Ext)(nil), // 61: j5.schema.v1.IntegerField.Ext - (*BoolField_Rules)(nil), // 62: j5.schema.v1.BoolField.Rules - (*BoolField_Ext)(nil), // 63: j5.schema.v1.BoolField.Ext - (*BytesField_Rules)(nil), // 64: j5.schema.v1.BytesField.Rules - (*BytesField_Ext)(nil), // 65: j5.schema.v1.BytesField.Ext - (*DecimalField_Rules)(nil), // 66: j5.schema.v1.DecimalField.Rules - (*DecimalField_Ext)(nil), // 67: j5.schema.v1.DecimalField.Ext - (*DateField_Rules)(nil), // 68: j5.schema.v1.DateField.Rules - (*DateField_Ext)(nil), // 69: j5.schema.v1.DateField.Ext - (*TimestampField_Rules)(nil), // 70: j5.schema.v1.TimestampField.Rules - (*TimestampField_Ext)(nil), // 71: j5.schema.v1.TimestampField.Ext - (*list_j5pb.AnyRules)(nil), // 72: j5.list.v1.AnyRules - (*bcl_j5pb.Block)(nil), // 73: j5.bcl.v1.Block - (*list_j5pb.OneofRules)(nil), // 74: j5.list.v1.OneofRules - (*list_j5pb.EnumRules)(nil), // 75: j5.list.v1.EnumRules - (*list_j5pb.OpenTextRules)(nil), // 76: j5.list.v1.OpenTextRules - (*list_j5pb.KeyRules)(nil), // 77: j5.list.v1.KeyRules - (*list_j5pb.FloatRules)(nil), // 78: j5.list.v1.FloatRules - (*list_j5pb.IntegerRules)(nil), // 79: j5.list.v1.IntegerRules - (*list_j5pb.BoolRules)(nil), // 80: j5.list.v1.BoolRules - (*list_j5pb.DecimalRules)(nil), // 81: j5.list.v1.DecimalRules - (*list_j5pb.DateRules)(nil), // 82: j5.list.v1.DateRules - (*list_j5pb.TimestampRules)(nil), // 83: j5.list.v1.TimestampRules - (*timestamppb.Timestamp)(nil), // 84: google.protobuf.Timestamp + (*KeyFormat_Named)(nil), // 58: j5.schema.v1.KeyFormat.Named + (*FloatField_Rules)(nil), // 59: j5.schema.v1.FloatField.Rules + (*FloatField_Ext)(nil), // 60: j5.schema.v1.FloatField.Ext + (*IntegerField_Rules)(nil), // 61: j5.schema.v1.IntegerField.Rules + (*IntegerField_Ext)(nil), // 62: j5.schema.v1.IntegerField.Ext + (*BoolField_Rules)(nil), // 63: j5.schema.v1.BoolField.Rules + (*BoolField_Ext)(nil), // 64: j5.schema.v1.BoolField.Ext + (*BytesField_Rules)(nil), // 65: j5.schema.v1.BytesField.Rules + (*BytesField_Ext)(nil), // 66: j5.schema.v1.BytesField.Ext + (*DecimalField_Rules)(nil), // 67: j5.schema.v1.DecimalField.Rules + (*DecimalField_Ext)(nil), // 68: j5.schema.v1.DecimalField.Ext + (*DateField_Rules)(nil), // 69: j5.schema.v1.DateField.Rules + (*DateField_Ext)(nil), // 70: j5.schema.v1.DateField.Ext + (*TimestampField_Rules)(nil), // 71: j5.schema.v1.TimestampField.Rules + (*TimestampField_Ext)(nil), // 72: j5.schema.v1.TimestampField.Ext + (*list_j5pb.AnyRules)(nil), // 73: j5.list.v1.AnyRules + (*bcl_j5pb.Block)(nil), // 74: j5.bcl.v1.Block + (*list_j5pb.OneofRules)(nil), // 75: j5.list.v1.OneofRules + (*list_j5pb.EnumRules)(nil), // 76: j5.list.v1.EnumRules + (*list_j5pb.OpenTextRules)(nil), // 77: j5.list.v1.OpenTextRules + (*list_j5pb.KeyRules)(nil), // 78: j5.list.v1.KeyRules + (*list_j5pb.FloatRules)(nil), // 79: j5.list.v1.FloatRules + (*list_j5pb.IntegerRules)(nil), // 80: j5.list.v1.IntegerRules + (*list_j5pb.BoolRules)(nil), // 81: j5.list.v1.BoolRules + (*list_j5pb.DecimalRules)(nil), // 82: j5.list.v1.DecimalRules + (*list_j5pb.DateRules)(nil), // 83: j5.list.v1.DateRules + (*list_j5pb.TimestampRules)(nil), // 84: j5.list.v1.TimestampRules + (*timestamppb.Timestamp)(nil), // 85: google.protobuf.Timestamp } var file_j5_schema_v1_schema_proto_depIdxs = []int32{ 15, // 0: j5.schema.v1.RootSchema.oneof:type_name -> j5.schema.v1.Oneof @@ -5382,7 +5436,7 @@ var file_j5_schema_v1_schema_proto_depIdxs = []int32{ 29, // 17: j5.schema.v1.Field.date:type_name -> j5.schema.v1.DateField 30, // 18: j5.schema.v1.Field.timestamp:type_name -> j5.schema.v1.TimestampField 22, // 19: j5.schema.v1.Field.key:type_name -> j5.schema.v1.KeyField - 72, // 20: j5.schema.v1.AnyField.list_rules:type_name -> j5.list.v1.AnyRules + 73, // 20: j5.schema.v1.AnyField.list_rules:type_name -> j5.list.v1.AnyRules 5, // 21: j5.schema.v1.ObjectField.ref:type_name -> j5.schema.v1.Ref 10, // 22: j5.schema.v1.ObjectField.object:type_name -> j5.schema.v1.Object 33, // 23: j5.schema.v1.ObjectField.rules:type_name -> j5.schema.v1.ObjectField.Rules @@ -5391,7 +5445,7 @@ var file_j5_schema_v1_schema_proto_depIdxs = []int32{ 31, // 26: j5.schema.v1.InlineObject.properties:type_name -> j5.schema.v1.ObjectProperty 11, // 27: j5.schema.v1.Object.entity:type_name -> j5.schema.v1.EntityObject 31, // 28: j5.schema.v1.Object.properties:type_name -> j5.schema.v1.ObjectProperty - 73, // 29: j5.schema.v1.Object.bcl:type_name -> j5.bcl.v1.Block + 74, // 29: j5.schema.v1.Object.bcl:type_name -> j5.bcl.v1.Block 0, // 30: j5.schema.v1.EntityObject.part:type_name -> j5.schema.v1.EntityPart 5, // 31: j5.schema.v1.PolymorphField.ref:type_name -> j5.schema.v1.Ref 13, // 32: j5.schema.v1.PolymorphField.polymorph:type_name -> j5.schema.v1.Polymorph @@ -5400,14 +5454,14 @@ var file_j5_schema_v1_schema_proto_depIdxs = []int32{ 5, // 35: j5.schema.v1.OneofField.ref:type_name -> j5.schema.v1.Ref 15, // 36: j5.schema.v1.OneofField.oneof:type_name -> j5.schema.v1.Oneof 38, // 37: j5.schema.v1.OneofField.rules:type_name -> j5.schema.v1.OneofField.Rules - 74, // 38: j5.schema.v1.OneofField.list_rules:type_name -> j5.list.v1.OneofRules + 75, // 38: j5.schema.v1.OneofField.list_rules:type_name -> j5.list.v1.OneofRules 39, // 39: j5.schema.v1.OneofField.ext:type_name -> j5.schema.v1.OneofField.Ext - 73, // 40: j5.schema.v1.Oneof.bcl:type_name -> j5.bcl.v1.Block + 74, // 40: j5.schema.v1.Oneof.bcl:type_name -> j5.bcl.v1.Block 31, // 41: j5.schema.v1.Oneof.properties:type_name -> j5.schema.v1.ObjectProperty 5, // 42: j5.schema.v1.EnumField.ref:type_name -> j5.schema.v1.Ref 17, // 43: j5.schema.v1.EnumField.enum:type_name -> j5.schema.v1.Enum 40, // 44: j5.schema.v1.EnumField.rules:type_name -> j5.schema.v1.EnumField.Rules - 75, // 45: j5.schema.v1.EnumField.list_rules:type_name -> j5.list.v1.EnumRules + 76, // 45: j5.schema.v1.EnumField.list_rules:type_name -> j5.list.v1.EnumRules 41, // 46: j5.schema.v1.EnumField.ext:type_name -> j5.schema.v1.EnumField.Ext 42, // 47: j5.schema.v1.Enum.options:type_name -> j5.schema.v1.Enum.Option 43, // 48: j5.schema.v1.Enum.info:type_name -> j5.schema.v1.Enum.OptionInfoField @@ -5419,40 +5473,40 @@ var file_j5_schema_v1_schema_proto_depIdxs = []int32{ 47, // 54: j5.schema.v1.MapField.rules:type_name -> j5.schema.v1.MapField.Rules 48, // 55: j5.schema.v1.MapField.ext:type_name -> j5.schema.v1.MapField.Ext 49, // 56: j5.schema.v1.StringField.rules:type_name -> j5.schema.v1.StringField.Rules - 76, // 57: j5.schema.v1.StringField.list_rules:type_name -> j5.list.v1.OpenTextRules + 77, // 57: j5.schema.v1.StringField.list_rules:type_name -> j5.list.v1.OpenTextRules 50, // 58: j5.schema.v1.StringField.ext:type_name -> j5.schema.v1.StringField.Ext 51, // 59: j5.schema.v1.KeyField.rules:type_name -> j5.schema.v1.KeyField.Rules 23, // 60: j5.schema.v1.KeyField.format:type_name -> j5.schema.v1.KeyFormat - 77, // 61: j5.schema.v1.KeyField.list_rules:type_name -> j5.list.v1.KeyRules + 78, // 61: j5.schema.v1.KeyField.list_rules:type_name -> j5.list.v1.KeyRules 52, // 62: j5.schema.v1.KeyField.ext:type_name -> j5.schema.v1.KeyField.Ext 53, // 63: j5.schema.v1.KeyField.entity:type_name -> j5.schema.v1.KeyField.DeprecatedEntityKey 54, // 64: j5.schema.v1.KeyFormat.informal:type_name -> j5.schema.v1.KeyFormat.Informal 55, // 65: j5.schema.v1.KeyFormat.custom:type_name -> j5.schema.v1.KeyFormat.Custom 56, // 66: j5.schema.v1.KeyFormat.uuid:type_name -> j5.schema.v1.KeyFormat.UUID 57, // 67: j5.schema.v1.KeyFormat.id62:type_name -> j5.schema.v1.KeyFormat.ID62 - 20, // 68: j5.schema.v1.KeyFormat.format:type_name -> j5.schema.v1.StringFormat + 58, // 68: j5.schema.v1.KeyFormat.named:type_name -> j5.schema.v1.KeyFormat.Named 1, // 69: j5.schema.v1.FloatField.format:type_name -> j5.schema.v1.FloatField.Format - 58, // 70: j5.schema.v1.FloatField.rules:type_name -> j5.schema.v1.FloatField.Rules - 78, // 71: j5.schema.v1.FloatField.list_rules:type_name -> j5.list.v1.FloatRules - 59, // 72: j5.schema.v1.FloatField.ext:type_name -> j5.schema.v1.FloatField.Ext + 59, // 70: j5.schema.v1.FloatField.rules:type_name -> j5.schema.v1.FloatField.Rules + 79, // 71: j5.schema.v1.FloatField.list_rules:type_name -> j5.list.v1.FloatRules + 60, // 72: j5.schema.v1.FloatField.ext:type_name -> j5.schema.v1.FloatField.Ext 2, // 73: j5.schema.v1.IntegerField.format:type_name -> j5.schema.v1.IntegerField.Format - 60, // 74: j5.schema.v1.IntegerField.rules:type_name -> j5.schema.v1.IntegerField.Rules - 79, // 75: j5.schema.v1.IntegerField.list_rules:type_name -> j5.list.v1.IntegerRules - 61, // 76: j5.schema.v1.IntegerField.ext:type_name -> j5.schema.v1.IntegerField.Ext - 62, // 77: j5.schema.v1.BoolField.rules:type_name -> j5.schema.v1.BoolField.Rules - 80, // 78: j5.schema.v1.BoolField.list_rules:type_name -> j5.list.v1.BoolRules - 63, // 79: j5.schema.v1.BoolField.ext:type_name -> j5.schema.v1.BoolField.Ext - 64, // 80: j5.schema.v1.BytesField.rules:type_name -> j5.schema.v1.BytesField.Rules - 65, // 81: j5.schema.v1.BytesField.ext:type_name -> j5.schema.v1.BytesField.Ext - 66, // 82: j5.schema.v1.DecimalField.rules:type_name -> j5.schema.v1.DecimalField.Rules - 81, // 83: j5.schema.v1.DecimalField.list_rules:type_name -> j5.list.v1.DecimalRules - 67, // 84: j5.schema.v1.DecimalField.ext:type_name -> j5.schema.v1.DecimalField.Ext - 68, // 85: j5.schema.v1.DateField.rules:type_name -> j5.schema.v1.DateField.Rules - 82, // 86: j5.schema.v1.DateField.list_rules:type_name -> j5.list.v1.DateRules - 69, // 87: j5.schema.v1.DateField.ext:type_name -> j5.schema.v1.DateField.Ext - 70, // 88: j5.schema.v1.TimestampField.rules:type_name -> j5.schema.v1.TimestampField.Rules - 83, // 89: j5.schema.v1.TimestampField.list_rules:type_name -> j5.list.v1.TimestampRules - 71, // 90: j5.schema.v1.TimestampField.ext:type_name -> j5.schema.v1.TimestampField.Ext + 61, // 74: j5.schema.v1.IntegerField.rules:type_name -> j5.schema.v1.IntegerField.Rules + 80, // 75: j5.schema.v1.IntegerField.list_rules:type_name -> j5.list.v1.IntegerRules + 62, // 76: j5.schema.v1.IntegerField.ext:type_name -> j5.schema.v1.IntegerField.Ext + 63, // 77: j5.schema.v1.BoolField.rules:type_name -> j5.schema.v1.BoolField.Rules + 81, // 78: j5.schema.v1.BoolField.list_rules:type_name -> j5.list.v1.BoolRules + 64, // 79: j5.schema.v1.BoolField.ext:type_name -> j5.schema.v1.BoolField.Ext + 65, // 80: j5.schema.v1.BytesField.rules:type_name -> j5.schema.v1.BytesField.Rules + 66, // 81: j5.schema.v1.BytesField.ext:type_name -> j5.schema.v1.BytesField.Ext + 67, // 82: j5.schema.v1.DecimalField.rules:type_name -> j5.schema.v1.DecimalField.Rules + 82, // 83: j5.schema.v1.DecimalField.list_rules:type_name -> j5.list.v1.DecimalRules + 68, // 84: j5.schema.v1.DecimalField.ext:type_name -> j5.schema.v1.DecimalField.Ext + 69, // 85: j5.schema.v1.DateField.rules:type_name -> j5.schema.v1.DateField.Rules + 83, // 86: j5.schema.v1.DateField.list_rules:type_name -> j5.list.v1.DateRules + 70, // 87: j5.schema.v1.DateField.ext:type_name -> j5.schema.v1.DateField.Ext + 71, // 88: j5.schema.v1.TimestampField.rules:type_name -> j5.schema.v1.TimestampField.Rules + 84, // 89: j5.schema.v1.TimestampField.list_rules:type_name -> j5.list.v1.TimestampRules + 72, // 90: j5.schema.v1.TimestampField.ext:type_name -> j5.schema.v1.TimestampField.Ext 4, // 91: j5.schema.v1.ObjectProperty.schema:type_name -> j5.schema.v1.Field 32, // 92: j5.schema.v1.ObjectProperty.entityKey:type_name -> j5.schema.v1.EntityKey 6, // 93: j5.schema.v1.ObjectField.EntityJoin.entity:type_name -> j5.schema.v1.EntityRef @@ -5460,13 +5514,14 @@ var file_j5_schema_v1_schema_proto_depIdxs = []int32{ 44, // 95: j5.schema.v1.Enum.Option.info:type_name -> j5.schema.v1.Enum.Option.InfoEntry 6, // 96: j5.schema.v1.KeyField.Ext.foreign:type_name -> j5.schema.v1.EntityRef 6, // 97: j5.schema.v1.KeyField.DeprecatedEntityKey.foreign_key:type_name -> j5.schema.v1.EntityRef - 84, // 98: j5.schema.v1.TimestampField.Rules.minimum:type_name -> google.protobuf.Timestamp - 84, // 99: j5.schema.v1.TimestampField.Rules.maximum:type_name -> google.protobuf.Timestamp - 100, // [100:100] is the sub-list for method output_type - 100, // [100:100] is the sub-list for method input_type - 100, // [100:100] is the sub-list for extension type_name - 100, // [100:100] is the sub-list for extension extendee - 0, // [0:100] is the sub-list for field type_name + 5, // 98: j5.schema.v1.KeyFormat.Named.ref:type_name -> j5.schema.v1.Ref + 85, // 99: j5.schema.v1.TimestampField.Rules.minimum:type_name -> google.protobuf.Timestamp + 85, // 100: j5.schema.v1.TimestampField.Rules.maximum:type_name -> google.protobuf.Timestamp + 101, // [101:101] is the sub-list for method output_type + 101, // [101:101] is the sub-list for method input_type + 101, // [101:101] is the sub-list for extension type_name + 101, // [101:101] is the sub-list for extension extendee + 0, // [0:101] is the sub-list for field type_name } func init() { file_j5_schema_v1_schema_proto_init() } @@ -6124,7 +6179,7 @@ func file_j5_schema_v1_schema_proto_init() { } } file_j5_schema_v1_schema_proto_msgTypes[55].Exporter = func(v any, i int) any { - switch v := v.(*FloatField_Rules); i { + switch v := v.(*KeyFormat_Named); i { case 0: return &v.state case 1: @@ -6136,7 +6191,7 @@ func file_j5_schema_v1_schema_proto_init() { } } file_j5_schema_v1_schema_proto_msgTypes[56].Exporter = func(v any, i int) any { - switch v := v.(*FloatField_Ext); i { + switch v := v.(*FloatField_Rules); i { case 0: return &v.state case 1: @@ -6148,7 +6203,7 @@ func file_j5_schema_v1_schema_proto_init() { } } file_j5_schema_v1_schema_proto_msgTypes[57].Exporter = func(v any, i int) any { - switch v := v.(*IntegerField_Rules); i { + switch v := v.(*FloatField_Ext); i { case 0: return &v.state case 1: @@ -6160,7 +6215,7 @@ func file_j5_schema_v1_schema_proto_init() { } } file_j5_schema_v1_schema_proto_msgTypes[58].Exporter = func(v any, i int) any { - switch v := v.(*IntegerField_Ext); i { + switch v := v.(*IntegerField_Rules); i { case 0: return &v.state case 1: @@ -6172,7 +6227,7 @@ func file_j5_schema_v1_schema_proto_init() { } } file_j5_schema_v1_schema_proto_msgTypes[59].Exporter = func(v any, i int) any { - switch v := v.(*BoolField_Rules); i { + switch v := v.(*IntegerField_Ext); i { case 0: return &v.state case 1: @@ -6184,7 +6239,7 @@ func file_j5_schema_v1_schema_proto_init() { } } file_j5_schema_v1_schema_proto_msgTypes[60].Exporter = func(v any, i int) any { - switch v := v.(*BoolField_Ext); i { + switch v := v.(*BoolField_Rules); i { case 0: return &v.state case 1: @@ -6196,7 +6251,7 @@ func file_j5_schema_v1_schema_proto_init() { } } file_j5_schema_v1_schema_proto_msgTypes[61].Exporter = func(v any, i int) any { - switch v := v.(*BytesField_Rules); i { + switch v := v.(*BoolField_Ext); i { case 0: return &v.state case 1: @@ -6208,7 +6263,7 @@ func file_j5_schema_v1_schema_proto_init() { } } file_j5_schema_v1_schema_proto_msgTypes[62].Exporter = func(v any, i int) any { - switch v := v.(*BytesField_Ext); i { + switch v := v.(*BytesField_Rules); i { case 0: return &v.state case 1: @@ -6220,7 +6275,7 @@ func file_j5_schema_v1_schema_proto_init() { } } file_j5_schema_v1_schema_proto_msgTypes[63].Exporter = func(v any, i int) any { - switch v := v.(*DecimalField_Rules); i { + switch v := v.(*BytesField_Ext); i { case 0: return &v.state case 1: @@ -6232,7 +6287,7 @@ func file_j5_schema_v1_schema_proto_init() { } } file_j5_schema_v1_schema_proto_msgTypes[64].Exporter = func(v any, i int) any { - switch v := v.(*DecimalField_Ext); i { + switch v := v.(*DecimalField_Rules); i { case 0: return &v.state case 1: @@ -6244,7 +6299,7 @@ func file_j5_schema_v1_schema_proto_init() { } } file_j5_schema_v1_schema_proto_msgTypes[65].Exporter = func(v any, i int) any { - switch v := v.(*DateField_Rules); i { + switch v := v.(*DecimalField_Ext); i { case 0: return &v.state case 1: @@ -6256,7 +6311,7 @@ func file_j5_schema_v1_schema_proto_init() { } } file_j5_schema_v1_schema_proto_msgTypes[66].Exporter = func(v any, i int) any { - switch v := v.(*DateField_Ext); i { + switch v := v.(*DateField_Rules); i { case 0: return &v.state case 1: @@ -6268,7 +6323,7 @@ func file_j5_schema_v1_schema_proto_init() { } } file_j5_schema_v1_schema_proto_msgTypes[67].Exporter = func(v any, i int) any { - switch v := v.(*TimestampField_Rules); i { + switch v := v.(*DateField_Ext); i { case 0: return &v.state case 1: @@ -6280,6 +6335,18 @@ func file_j5_schema_v1_schema_proto_init() { } } file_j5_schema_v1_schema_proto_msgTypes[68].Exporter = func(v any, i int) any { + switch v := v.(*TimestampField_Rules); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_j5_schema_v1_schema_proto_msgTypes[69].Exporter = func(v any, i int) any { switch v := v.(*TimestampField_Ext); i { case 0: return &v.state @@ -6338,7 +6405,7 @@ func file_j5_schema_v1_schema_proto_init() { (*KeyFormat_Custom_)(nil), (*KeyFormat_Uuid)(nil), (*KeyFormat_Id62)(nil), - (*KeyFormat_Format)(nil), + (*KeyFormat_Named_)(nil), } file_j5_schema_v1_schema_proto_msgTypes[29].OneofWrappers = []any{} file_j5_schema_v1_schema_proto_msgTypes[30].OneofWrappers = []any{} @@ -6351,20 +6418,20 @@ func file_j5_schema_v1_schema_proto_init() { (*KeyField_DeprecatedEntityKey_PrimaryKey)(nil), (*KeyField_DeprecatedEntityKey_ForeignKey)(nil), } - file_j5_schema_v1_schema_proto_msgTypes[55].OneofWrappers = []any{} - file_j5_schema_v1_schema_proto_msgTypes[57].OneofWrappers = []any{} - file_j5_schema_v1_schema_proto_msgTypes[59].OneofWrappers = []any{} - file_j5_schema_v1_schema_proto_msgTypes[61].OneofWrappers = []any{} - file_j5_schema_v1_schema_proto_msgTypes[63].OneofWrappers = []any{} - file_j5_schema_v1_schema_proto_msgTypes[65].OneofWrappers = []any{} - file_j5_schema_v1_schema_proto_msgTypes[67].OneofWrappers = []any{} + file_j5_schema_v1_schema_proto_msgTypes[56].OneofWrappers = []any{} + file_j5_schema_v1_schema_proto_msgTypes[58].OneofWrappers = []any{} + file_j5_schema_v1_schema_proto_msgTypes[60].OneofWrappers = []any{} + file_j5_schema_v1_schema_proto_msgTypes[62].OneofWrappers = []any{} + file_j5_schema_v1_schema_proto_msgTypes[64].OneofWrappers = []any{} + file_j5_schema_v1_schema_proto_msgTypes[66].OneofWrappers = []any{} + file_j5_schema_v1_schema_proto_msgTypes[68].OneofWrappers = []any{} type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_j5_schema_v1_schema_proto_rawDesc, NumEnums: 3, - NumMessages: 69, + NumMessages: 70, NumExtensions: 0, NumServices: 0, }, diff --git a/gen/j5/schema/v1/schema_j5pb/schema_j5.pb.go b/gen/j5/schema/v1/schema_j5pb/schema_j5.pb.go index d6b062db..34d17eb4 100644 --- a/gen/j5/schema/v1/schema_j5pb/schema_j5.pb.go +++ b/gen/j5/schema/v1/schema_j5pb/schema_j5.pb.go @@ -433,7 +433,7 @@ const ( KeyFormat_Type_Custom KeyFormatTypeKey = "custom" KeyFormat_Type_Uuid KeyFormatTypeKey = "uuid" KeyFormat_Type_Id62 KeyFormatTypeKey = "id62" - KeyFormat_Type_Format KeyFormatTypeKey = "format" + KeyFormat_Type_Named KeyFormatTypeKey = "named" ) func (x *KeyFormat) TypeKey() (KeyFormatTypeKey, bool) { @@ -446,8 +446,8 @@ func (x *KeyFormat) TypeKey() (KeyFormatTypeKey, bool) { return KeyFormat_Type_Uuid, true case *KeyFormat_Id62: return KeyFormat_Type_Id62, true - case *KeyFormat_Format: - return KeyFormat_Type_Format, true + case *KeyFormat_Named_: + return KeyFormat_Type_Named, true default: return "", false } @@ -468,8 +468,8 @@ func (x *KeyFormat) Set(val IsKeyFormatWrappedType) { x.Type = &KeyFormat_Uuid{Uuid: v} case *KeyFormat_ID62: x.Type = &KeyFormat_Id62{Id62: v} - case *StringFormat: - x.Type = &KeyFormat_Format{Format: v} + case *KeyFormat_Named: + x.Type = &KeyFormat_Named_{Named: v} } } func (x *KeyFormat) Get() IsKeyFormatWrappedType { @@ -482,8 +482,8 @@ func (x *KeyFormat) Get() IsKeyFormatWrappedType { return v.Uuid case *KeyFormat_Id62: return v.Id62 - case *KeyFormat_Format: - return v.Format + case *KeyFormat_Named_: + return v.Named default: return nil } @@ -500,8 +500,8 @@ func (x *KeyFormat_UUID) KeyFormatTypeKey() KeyFormatTypeKey { func (x *KeyFormat_ID62) KeyFormatTypeKey() KeyFormatTypeKey { return KeyFormat_Type_Id62 } -func (x *StringFormat) KeyFormatTypeKey() KeyFormatTypeKey { - return KeyFormat_Type_Format +func (x *KeyFormat_Named) KeyFormatTypeKey() KeyFormatTypeKey { + return KeyFormat_Type_Named } func (msg *KeyFormat) Clone() any { return proto.Clone(msg).(*KeyFormat) @@ -521,6 +521,9 @@ func (msg *KeyFormat_UUID) Clone() any { func (msg *KeyFormat_ID62) Clone() any { return proto.Clone(msg).(*KeyFormat_ID62) } +func (msg *KeyFormat_Named) Clone() any { + return proto.Clone(msg).(*KeyFormat_Named) +} func (msg *FloatField) Clone() any { return proto.Clone(msg).(*FloatField) } diff --git a/internal/bcl/internal/walker/walk_context.go b/internal/bcl/internal/walker/walk_context.go index aabd5d89..9b6b6327 100644 --- a/internal/bcl/internal/walker/walk_context.go +++ b/internal/bcl/internal/walker/walk_context.go @@ -277,7 +277,7 @@ func (sc *walkContext) setAttribute(path ScopePath, val parser.ASTValue, appendV func (sc *walkContext) setContainerFromScalar(bs schema.BlockSpec, val parser.ASTValue) error { ss := bs.ScalarSplit if ss == nil { - return fmt.Errorf("container %s has no method to set from array", bs.ErrName()) + return fmt.Errorf("container %s has no method to set from scalar", bs.ErrName()) } var setVals []parser.ASTValue @@ -301,7 +301,8 @@ func (sc *walkContext) setContainerFromScalar(bs schema.BlockSpec, val parser.AS } else { vals, isArray := val.AsArray() if !isArray { - return fmt.Errorf("container %s requires an array when setting from value, got a scalar", bs.ErrName()) + sc.Logf("ScalarSplit with no delimiter requires array, got %#v", val) + return fmt.Errorf("container %s is ScalarSplit with no delimiter, must be set from an array", bs.ErrName()) } setVals = vals } diff --git a/internal/gen/j5/registry/v1/registry_spb/build.pb.go b/internal/gen/j5/registry/v1/registry_spb/build.pb.go index c9ade82e..55ae95ed 100644 --- a/internal/gen/j5/registry/v1/registry_spb/build.pb.go +++ b/internal/gen/j5/registry/v1/registry_spb/build.pb.go @@ -124,9 +124,8 @@ type BundleBuild struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Owner string `protobuf:"bytes,1,opt,name=owner,proto3" json:"owner,omitempty"` - Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` - Source string `protobuf:"bytes,3,opt,name=source,proto3" json:"source,omitempty"` + Owner string `protobuf:"bytes,1,opt,name=owner,proto3" json:"owner,omitempty"` + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` } func (x *BundleBuild) Reset() { @@ -175,13 +174,6 @@ func (x *BundleBuild) GetName() string { return "" } -func (x *BundleBuild) GetSource() string { - if x != nil { - return x.Source - } - return "" -} - var File_j5_registry_v1_service_build_proto protoreflect.FileDescriptor var file_j5_registry_v1_service_build_proto_rawDesc = []byte{ @@ -208,29 +200,28 @@ var file_j5_registry_v1_service_build_proto_rawDesc = []byte{ 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x6a, 0x35, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x52, 0x07, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, - 0x73, 0x22, 0x4f, 0x0a, 0x0b, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x42, 0x75, 0x69, 0x6c, 0x64, + 0x73, 0x22, 0x37, 0x0a, 0x0b, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x32, 0xad, 0x01, 0x0a, 0x0c, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x53, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x12, 0x91, 0x01, 0x0a, 0x0c, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x41, 0x50, 0x49, - 0x53, 0x79, 0x6e, 0x63, 0x12, 0x2b, 0x2e, 0x6a, 0x35, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, - 0x72, 0x79, 0x2e, 0x76, 0x31, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x42, 0x75, - 0x69, 0x6c, 0x64, 0x41, 0x50, 0x49, 0x53, 0x79, 0x6e, 0x63, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x2c, 0x2e, 0x6a, 0x35, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, - 0x76, 0x31, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x42, 0x75, 0x69, 0x6c, 0x64, - 0x41, 0x50, 0x49, 0x53, 0x79, 0x6e, 0x63, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x26, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x20, 0x3a, 0x01, 0x2a, 0x22, 0x1b, 0x2f, 0x72, 0x65, 0x67, - 0x69, 0x73, 0x74, 0x72, 0x79, 0x2f, 0x76, 0x31, 0x2f, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x2f, 0x61, - 0x70, 0x69, 0x2f, 0x73, 0x79, 0x6e, 0x63, 0x1a, 0x09, 0xea, 0x85, 0x8f, 0x02, 0x04, 0x52, 0x02, - 0x62, 0x00, 0x42, 0x5d, 0xf2, 0x85, 0x8f, 0x02, 0x18, 0x0a, 0x16, 0x6c, 0x6f, 0x63, 0x61, 0x6c, - 0x2f, 0x2e, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, - 0x79, 0x5a, 0x3e, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x70, 0x65, - 0x6e, 0x74, 0x6f, 0x70, 0x73, 0x2f, 0x6a, 0x35, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, - 0x6c, 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x6a, 0x35, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, - 0x79, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x5f, 0x73, 0x70, - 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x32, 0xad, 0x01, 0x0a, 0x0c, 0x42, + 0x75, 0x69, 0x6c, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x91, 0x01, 0x0a, 0x0c, + 0x42, 0x75, 0x69, 0x6c, 0x64, 0x41, 0x50, 0x49, 0x53, 0x79, 0x6e, 0x63, 0x12, 0x2b, 0x2e, 0x6a, + 0x35, 0x2e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x2e, 0x73, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x41, 0x50, 0x49, 0x53, 0x79, + 0x6e, 0x63, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x6a, 0x35, 0x2e, 0x72, + 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x2e, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x41, 0x50, 0x49, 0x53, 0x79, 0x6e, 0x63, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x26, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x20, 0x3a, + 0x01, 0x2a, 0x22, 0x1b, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2f, 0x76, 0x31, + 0x2f, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x73, 0x79, 0x6e, 0x63, 0x1a, + 0x09, 0xea, 0x85, 0x8f, 0x02, 0x04, 0x52, 0x02, 0x62, 0x00, 0x42, 0x5d, 0xf2, 0x85, 0x8f, 0x02, + 0x18, 0x0a, 0x16, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x2f, 0x2e, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x2f, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x5a, 0x3e, 0x67, 0x69, 0x74, 0x68, 0x75, + 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x70, 0x65, 0x6e, 0x74, 0x6f, 0x70, 0x73, 0x2f, 0x6a, 0x35, + 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x6a, 0x35, + 0x2f, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x65, 0x67, + 0x69, 0x73, 0x74, 0x72, 0x79, 0x5f, 0x73, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x33, } var ( diff --git a/internal/j5s/j5convert/fields.go b/internal/j5s/j5convert/fields.go index 64072543..db963590 100644 --- a/internal/j5s/j5convert/fields.go +++ b/internal/j5s/j5convert/fields.go @@ -817,6 +817,37 @@ func buildField(ww *conversionVisitor, node sourcewalk.FieldNode) (*descriptorpb Pattern: ff.Custom.Pattern, } + if ff.Custom.Description != "" { + keyExt.PatternInfo = &ext_j5pb.KeyField_PatternInfo{ + Description: gl.Ptr(ff.Custom.Description), + } + } + + case *schema_j5pb.KeyFormat_Named_: + ref := ff.Named.Ref + + typeRef, err := ww.resolveType(&sourcewalk.RefNode{ + Source: node.Source, + Ref: ref, + }) + if err != nil { + return nil, fmt.Errorf("string format %s: %w", ref, err) + } + + if typeRef.StringFormat == nil { + return nil, fmt.Errorf("%s refers to a %s, not a string format", ref, typeRef.debugName()) + } + + keyExt.Type = &ext_j5pb.KeyField_Pattern{ + Pattern: typeRef.StringFormat.Regex, + } + keyExt.PatternInfo = &ext_j5pb.KeyField_PatternInfo{ + Name: gl.Ptr(fmt.Sprintf("%s.%s", typeRef.Package, typeRef.Name)), + } + if typeRef.StringFormat.Description != "" { + keyExt.PatternInfo.Description = gl.Ptr(typeRef.StringFormat.Description) + } + case *schema_j5pb.KeyFormat_Informal_: default: diff --git a/internal/j5s/j5convert/summary.go b/internal/j5s/j5convert/summary.go index 23cceb79..688deeaa 100644 --- a/internal/j5s/j5convert/summary.go +++ b/internal/j5s/j5convert/summary.go @@ -220,6 +220,16 @@ func (cc *summaryWalker) collectFileRefs(sourceFile *sourcedef_j5pb.SourceFile) Ref: ref, }) } + + case *schema_j5pb.Field_Key: + if st.Key.Format != nil { + if named := st.Key.Format.GetNamed(); named != nil { + cc.addRef(&sourcewalk.RefNode{ + Source: node.Source, + Ref: named.Ref, + }) + } + } } return nil diff --git a/proto/core/j5/ext/v1/annotations.proto b/proto/core/j5/ext/v1/annotations.proto index 5245c7a2..4294aaaf 100644 --- a/proto/core/j5/ext/v1/annotations.proto +++ b/proto/core/j5/ext/v1/annotations.proto @@ -274,4 +274,15 @@ message KeyField { FORMAT_ID62 = 3; } j5.schema.v1.EntityRef foreign = 3; + + // Set when the pattern is annotated + PatternInfo patternInfo = 10; + + message PatternInfo { + // The full type name of a namedPattern. + optional string name = 1; + + // Description given either in the namedPattern or inline for custom + optional string description = 2; + } } diff --git a/proto/core/j5/schema/v1/schema.proto b/proto/core/j5/schema/v1/schema.proto index d5712aff..46ed4e3d 100644 --- a/proto/core/j5/schema/v1/schema.proto +++ b/proto/core/j5/schema/v1/schema.proto @@ -391,7 +391,7 @@ message KeyFormat { Custom custom = 2; UUID uuid = 3; ID62 id62 = 4; - StringFormat format = 5; + Named named = 5; } message Informal {} @@ -401,6 +401,17 @@ message KeyFormat { } message UUID {} message ID62 {} + message Named { + Ref ref = 1; + + option (j5.bcl.v1.block).qualifier.field_name = "ref"; + + option (j5.bcl.v1.block).scalar_split = { + right_to_left: true + required_fields: [{path: "schema"}] + remainder_field: {path: "package"} + }; + } option (j5.bcl.v1.block).type_select = { field_name: "."