From 12ec93123786d9188192b45f6e0e0072d9b0b7c5 Mon Sep 17 00:00:00 2001 From: Tonis Tiigi Date: Tue, 13 Dec 2022 12:00:06 -0800 Subject: [PATCH] vendor: update buildkit to 862b22d7 Signed-off-by: Tonis Tiigi --- go.mod | 2 +- go.sum | 4 +- .../api/services/control/control.pb.go | 907 +++++++++++++++--- .../api/services/control/control.proto | 15 +- .../github.com/moby/buildkit/client/client.go | 5 + .../github.com/moby/buildkit/client/solve.go | 50 +- .../github.com/moby/buildkit/client/status.go | 125 +++ .../buildkit/cmd/buildkitd/config/config.go | 7 + .../frontend/gateway/pb/gateway.pb.go | 313 +++--- .../frontend/gateway/pb/gateway.proto | 3 +- .../buildkit/util/progress/multireader.go | 12 +- .../moby/buildkit/util/progress/progress.go | 22 +- .../buildkit/util/tracing/detect/detect.go | 10 + .../buildkit/util/tracing/detect/recorder.go | 115 +++ .../otel/sdk/trace/tracetest/exporter.go | 85 ++ .../otel/sdk/trace/tracetest/recorder.go | 91 ++ .../otel/sdk/trace/tracetest/span.go | 163 ++++ vendor/modules.txt | 3 +- 18 files changed, 1566 insertions(+), 366 deletions(-) create mode 100644 vendor/github.com/moby/buildkit/client/status.go create mode 100644 vendor/github.com/moby/buildkit/util/tracing/detect/recorder.go create mode 100644 vendor/go.opentelemetry.io/otel/sdk/trace/tracetest/exporter.go create mode 100644 vendor/go.opentelemetry.io/otel/sdk/trace/tracetest/recorder.go create mode 100644 vendor/go.opentelemetry.io/otel/sdk/trace/tracetest/span.go diff --git a/go.mod b/go.mod index f5039311..28c4c45a 100644 --- a/go.mod +++ b/go.mod @@ -16,7 +16,7 @@ require ( github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510 github.com/hashicorp/go-cty-funcs v0.0.0-20200930094925-2721b1e36840 github.com/hashicorp/hcl/v2 v2.8.2 - github.com/moby/buildkit v0.11.0-rc1.0.20221213104201-93b40706a007 + github.com/moby/buildkit v0.11.0-rc1.0.20221213193744-862b22d7e7cf github.com/morikuni/aec v1.0.0 github.com/opencontainers/go-digest v1.0.0 github.com/opencontainers/image-spec v1.0.3-0.20220303224323-02efb9a75ee1 diff --git a/go.sum b/go.sum index dc3c9ff3..116d8a54 100644 --- a/go.sum +++ b/go.sum @@ -401,8 +401,8 @@ github.com/mitchellh/go-wordwrap v0.0.0-20150314170334-ad45545899c7/go.mod h1:ZX github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= github.com/mitchellh/mapstructure v1.5.0 h1:jeMsZIYE/09sWLaz43PL7Gy6RuMjD2eJVyuac5Z2hdY= github.com/mitchellh/mapstructure v1.5.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= -github.com/moby/buildkit v0.11.0-rc1.0.20221213104201-93b40706a007 h1:TS2xbnk6pp0hRf8cU3Ej4mcKEFY+CZ/2lYDR5kuRZss= -github.com/moby/buildkit v0.11.0-rc1.0.20221213104201-93b40706a007/go.mod h1:f3jvilDvcG14z+gzPpA2lcWRwIRyFiNTo5bMwHiYDk0= +github.com/moby/buildkit v0.11.0-rc1.0.20221213193744-862b22d7e7cf h1:X4p2o1QeaKAJ8prPctFx98UrokFHsUgbiC0lDUObpOk= +github.com/moby/buildkit v0.11.0-rc1.0.20221213193744-862b22d7e7cf/go.mod h1:f3jvilDvcG14z+gzPpA2lcWRwIRyFiNTo5bMwHiYDk0= github.com/moby/locker v1.0.1 h1:fOXqR41zeveg4fFODix+1Ch4mj/gT0NE1XJbp/epuBg= github.com/moby/locker v1.0.1/go.mod h1:S7SDdo5zpBK84bzzVlKr2V0hz+7x9hWbYC/kq7oQppc= github.com/moby/patternmatcher v0.5.0 h1:YCZgJOeULcxLw1Q+sVR636pmS7sPEn1Qo2iAN6M7DBo= diff --git a/vendor/github.com/moby/buildkit/api/services/control/control.pb.go b/vendor/github.com/moby/buildkit/api/services/control/control.pb.go index 315f444c..d1a4b2c6 100644 --- a/vendor/github.com/moby/buildkit/api/services/control/control.pb.go +++ b/vendor/github.com/moby/buildkit/api/services/control/control.pb.go @@ -376,6 +376,7 @@ type SolveRequest struct { Cache CacheOptions `protobuf:"bytes,8,opt,name=Cache,proto3" json:"Cache"` Entitlements []github_com_moby_buildkit_util_entitlements.Entitlement `protobuf:"bytes,9,rep,name=Entitlements,proto3,customtype=github.com/moby/buildkit/util/entitlements.Entitlement" json:"Entitlements,omitempty"` FrontendInputs map[string]*pb.Definition `protobuf:"bytes,10,rep,name=FrontendInputs,proto3" json:"FrontendInputs,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + Internal bool `protobuf:"varint,11,opt,name=Internal,proto3" json:"Internal,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` @@ -477,6 +478,13 @@ func (m *SolveRequest) GetFrontendInputs() map[string]*pb.Definition { return nil } +func (m *SolveRequest) GetInternal() bool { + if m != nil { + return m.Internal + } + return false +} + type CacheOptions struct { // ExportRefDeprecated is deprecated in favor or the new Exports since BuildKit v0.4.0. // When ExportRefDeprecated is set, the solver appends @@ -1358,6 +1366,7 @@ func (m *InfoResponse) GetBuildkitVersion() *types.BuildkitVersion { type BuildHistoryRequest struct { ActiveOnly bool `protobuf:"varint,1,opt,name=ActiveOnly,proto3" json:"ActiveOnly,omitempty"` Ref string `protobuf:"bytes,2,opt,name=Ref,proto3" json:"Ref,omitempty"` + EarlyExit bool `protobuf:"varint,3,opt,name=EarlyExit,proto3" json:"EarlyExit,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` @@ -1410,6 +1419,13 @@ func (m *BuildHistoryRequest) GetRef() string { return "" } +func (m *BuildHistoryRequest) GetEarlyExit() bool { + if m != nil { + return m.EarlyExit + } + return false +} + type BuildHistoryEvent struct { Type BuildHistoryEventType `protobuf:"varint,1,opt,name=type,proto3,enum=moby.buildkit.v1.BuildHistoryEventType" json:"type,omitempty"` Record *BuildHistoryRecord `protobuf:"bytes,2,opt,name=record,proto3" json:"record,omitempty"` @@ -1478,6 +1494,8 @@ type BuildHistoryRecord struct { Result *BuildResultInfo `protobuf:"bytes,10,opt,name=Result,proto3" json:"Result,omitempty"` Results map[string]*BuildResultInfo `protobuf:"bytes,11,rep,name=Results,proto3" json:"Results,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` Generation int32 `protobuf:"varint,12,opt,name=Generation,proto3" json:"Generation,omitempty"` + Trace *Descriptor `protobuf:"bytes,13,opt,name=trace,proto3" json:"trace,omitempty"` + Pinned bool `protobuf:"varint,14,opt,name=pinned,proto3" json:"pinned,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` @@ -1600,6 +1618,122 @@ func (m *BuildHistoryRecord) GetGeneration() int32 { return 0 } +func (m *BuildHistoryRecord) GetTrace() *Descriptor { + if m != nil { + return m.Trace + } + return nil +} + +func (m *BuildHistoryRecord) GetPinned() bool { + if m != nil { + return m.Pinned + } + return false +} + +type UpdateBuildHistoryRequest struct { + Ref string `protobuf:"bytes,1,opt,name=Ref,proto3" json:"Ref,omitempty"` + Pinned bool `protobuf:"varint,2,opt,name=Pinned,proto3" json:"Pinned,omitempty"` + Delete bool `protobuf:"varint,3,opt,name=Delete,proto3" json:"Delete,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *UpdateBuildHistoryRequest) Reset() { *m = UpdateBuildHistoryRequest{} } +func (m *UpdateBuildHistoryRequest) String() string { return proto.CompactTextString(m) } +func (*UpdateBuildHistoryRequest) ProtoMessage() {} +func (*UpdateBuildHistoryRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_0c5120591600887d, []int{22} +} +func (m *UpdateBuildHistoryRequest) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *UpdateBuildHistoryRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_UpdateBuildHistoryRequest.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *UpdateBuildHistoryRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_UpdateBuildHistoryRequest.Merge(m, src) +} +func (m *UpdateBuildHistoryRequest) XXX_Size() int { + return m.Size() +} +func (m *UpdateBuildHistoryRequest) XXX_DiscardUnknown() { + xxx_messageInfo_UpdateBuildHistoryRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_UpdateBuildHistoryRequest proto.InternalMessageInfo + +func (m *UpdateBuildHistoryRequest) GetRef() string { + if m != nil { + return m.Ref + } + return "" +} + +func (m *UpdateBuildHistoryRequest) GetPinned() bool { + if m != nil { + return m.Pinned + } + return false +} + +func (m *UpdateBuildHistoryRequest) GetDelete() bool { + if m != nil { + return m.Delete + } + return false +} + +type UpdateBuildHistoryResponse struct { + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *UpdateBuildHistoryResponse) Reset() { *m = UpdateBuildHistoryResponse{} } +func (m *UpdateBuildHistoryResponse) String() string { return proto.CompactTextString(m) } +func (*UpdateBuildHistoryResponse) ProtoMessage() {} +func (*UpdateBuildHistoryResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_0c5120591600887d, []int{23} +} +func (m *UpdateBuildHistoryResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *UpdateBuildHistoryResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_UpdateBuildHistoryResponse.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *UpdateBuildHistoryResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_UpdateBuildHistoryResponse.Merge(m, src) +} +func (m *UpdateBuildHistoryResponse) XXX_Size() int { + return m.Size() +} +func (m *UpdateBuildHistoryResponse) XXX_DiscardUnknown() { + xxx_messageInfo_UpdateBuildHistoryResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_UpdateBuildHistoryResponse proto.InternalMessageInfo + type Descriptor struct { MediaType string `protobuf:"bytes,1,opt,name=media_type,json=mediaType,proto3" json:"media_type,omitempty"` Digest github_com_opencontainers_go_digest.Digest `protobuf:"bytes,2,opt,name=digest,proto3,customtype=github.com/opencontainers/go-digest.Digest" json:"digest"` @@ -1614,7 +1748,7 @@ func (m *Descriptor) Reset() { *m = Descriptor{} } func (m *Descriptor) String() string { return proto.CompactTextString(m) } func (*Descriptor) ProtoMessage() {} func (*Descriptor) Descriptor() ([]byte, []int) { - return fileDescriptor_0c5120591600887d, []int{22} + return fileDescriptor_0c5120591600887d, []int{24} } func (m *Descriptor) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1676,7 +1810,7 @@ func (m *BuildResultInfo) Reset() { *m = BuildResultInfo{} } func (m *BuildResultInfo) String() string { return proto.CompactTextString(m) } func (*BuildResultInfo) ProtoMessage() {} func (*BuildResultInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_0c5120591600887d, []int{23} + return fileDescriptor_0c5120591600887d, []int{25} } func (m *BuildResultInfo) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1731,7 +1865,7 @@ func (m *Exporter) Reset() { *m = Exporter{} } func (m *Exporter) String() string { return proto.CompactTextString(m) } func (*Exporter) ProtoMessage() {} func (*Exporter) Descriptor() ([]byte, []int) { - return fileDescriptor_0c5120591600887d, []int{24} + return fileDescriptor_0c5120591600887d, []int{26} } func (m *Exporter) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1807,6 +1941,8 @@ func init() { proto.RegisterMapType((map[string]string)(nil), "moby.buildkit.v1.BuildHistoryRecord.ExporterResponseEntry") proto.RegisterMapType((map[string]string)(nil), "moby.buildkit.v1.BuildHistoryRecord.FrontendAttrsEntry") proto.RegisterMapType((map[string]*BuildResultInfo)(nil), "moby.buildkit.v1.BuildHistoryRecord.ResultsEntry") + proto.RegisterType((*UpdateBuildHistoryRequest)(nil), "moby.buildkit.v1.UpdateBuildHistoryRequest") + proto.RegisterType((*UpdateBuildHistoryResponse)(nil), "moby.buildkit.v1.UpdateBuildHistoryResponse") proto.RegisterType((*Descriptor)(nil), "moby.buildkit.v1.Descriptor") proto.RegisterMapType((map[string]string)(nil), "moby.buildkit.v1.Descriptor.AnnotationsEntry") proto.RegisterType((*BuildResultInfo)(nil), "moby.buildkit.v1.BuildResultInfo") @@ -1817,136 +1953,143 @@ func init() { func init() { proto.RegisterFile("control.proto", fileDescriptor_0c5120591600887d) } var fileDescriptor_0c5120591600887d = []byte{ - // 2060 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x18, 0x4d, 0x6f, 0x1b, 0xc7, - 0x35, 0xcb, 0x6f, 0x3e, 0xae, 0x14, 0x79, 0xec, 0x04, 0x8b, 0x6d, 0x23, 0xc9, 0x1b, 0x1b, 0x15, - 0x8c, 0x78, 0xa9, 0xa8, 0x49, 0xed, 0xc8, 0xad, 0x6b, 0x51, 0x54, 0x6d, 0xb9, 0x16, 0xec, 0x8c, - 0xe4, 0x18, 0x08, 0x90, 0x16, 0x2b, 0x72, 0x44, 0x2f, 0xb4, 0xdc, 0xdd, 0xce, 0x0c, 0x95, 0x28, - 0x3f, 0xa0, 0x40, 0x2f, 0x45, 0x2f, 0x45, 0x7b, 0xe8, 0xad, 0x87, 0x9e, 0x7a, 0xe8, 0xa9, 0xbf, - 0xa0, 0x80, 0x8f, 0x3d, 0xe7, 0xe0, 0x16, 0xfe, 0x01, 0x45, 0x8f, 0x3d, 0x16, 0xf3, 0xb1, 0xe4, - 0x90, 0x5c, 0x4a, 0x94, 0xed, 0xd3, 0xce, 0x9b, 0x79, 0xef, 0xed, 0xfb, 0x9c, 0xf7, 0xde, 0xc0, - 0x42, 0x27, 0x89, 0x39, 0x4d, 0x22, 0x3f, 0xa5, 0x09, 0x4f, 0xd0, 0x52, 0x3f, 0x39, 0x3c, 0xf5, - 0x0f, 0x07, 0x61, 0xd4, 0x3d, 0x0e, 0xb9, 0x7f, 0xf2, 0xb1, 0x7b, 0xb3, 0x17, 0xf2, 0xe7, 0x83, - 0x43, 0xbf, 0x93, 0xf4, 0x9b, 0xbd, 0xa4, 0x97, 0x34, 0x25, 0xe2, 0xe1, 0xe0, 0x48, 0x42, 0x12, - 0x90, 0x2b, 0xc5, 0xc0, 0x5d, 0xe9, 0x25, 0x49, 0x2f, 0x22, 0x23, 0x2c, 0x1e, 0xf6, 0x09, 0xe3, - 0x41, 0x3f, 0xd5, 0x08, 0x1f, 0x19, 0xfc, 0xc4, 0xcf, 0x9a, 0xd9, 0xcf, 0x9a, 0x2c, 0x89, 0x4e, - 0x08, 0x6d, 0xa6, 0x87, 0xcd, 0x24, 0x65, 0x1a, 0xbb, 0x39, 0x13, 0x3b, 0x48, 0xc3, 0x26, 0x3f, - 0x4d, 0x09, 0x6b, 0x7e, 0x9d, 0xd0, 0x63, 0x42, 0x35, 0xc1, 0xc6, 0xa4, 0xb8, 0x4a, 0x9e, 0x20, - 0x0d, 0x99, 0x5e, 0x36, 0x69, 0xda, 0x69, 0x32, 0x1e, 0xf0, 0x81, 0xfe, 0x89, 0xf7, 0x6b, 0x0b, - 0xec, 0x27, 0x74, 0x10, 0x13, 0x4c, 0x7e, 0x35, 0x20, 0x8c, 0xa3, 0xf7, 0xa1, 0x72, 0x14, 0x46, - 0x9c, 0x50, 0xc7, 0x5a, 0x2d, 0xae, 0xd5, 0xb1, 0x86, 0xd0, 0x12, 0x14, 0x83, 0x28, 0x72, 0x0a, - 0xab, 0xd6, 0x5a, 0x0d, 0x8b, 0x25, 0x5a, 0x03, 0xfb, 0x98, 0x90, 0xb4, 0x3d, 0xa0, 0x01, 0x0f, - 0x93, 0xd8, 0x29, 0xae, 0x5a, 0x6b, 0xc5, 0x56, 0xe9, 0xc5, 0xcb, 0x15, 0x0b, 0x8f, 0x9d, 0x20, - 0x0f, 0xea, 0x02, 0x6e, 0x9d, 0x72, 0xc2, 0x9c, 0x92, 0x81, 0x36, 0xda, 0xf6, 0x6e, 0xc0, 0x52, - 0x3b, 0x64, 0xc7, 0x4f, 0x59, 0xd0, 0x3b, 0x4f, 0x16, 0xef, 0x21, 0x5c, 0x32, 0x70, 0x59, 0x9a, - 0xc4, 0x8c, 0xa0, 0x4f, 0xa1, 0x42, 0x49, 0x27, 0xa1, 0x5d, 0x89, 0xdc, 0xd8, 0xf8, 0xc0, 0x9f, - 0xf4, 0xa7, 0xaf, 0x09, 0x04, 0x12, 0xd6, 0xc8, 0xde, 0x1f, 0x8a, 0xd0, 0x30, 0xf6, 0xd1, 0x22, - 0x14, 0x76, 0xdb, 0x8e, 0xb5, 0x6a, 0xad, 0xd5, 0x71, 0x61, 0xb7, 0x8d, 0x1c, 0xa8, 0xee, 0x0d, - 0x78, 0x70, 0x18, 0x11, 0xad, 0x7b, 0x06, 0xa2, 0x2b, 0x50, 0xde, 0x8d, 0x9f, 0x32, 0x22, 0x15, - 0xaf, 0x61, 0x05, 0x20, 0x04, 0xa5, 0xfd, 0xf0, 0x5b, 0xa2, 0xd4, 0xc4, 0x72, 0x8d, 0x5c, 0xa8, - 0x3c, 0x09, 0x28, 0x89, 0xb9, 0x53, 0x16, 0x7c, 0x5b, 0x05, 0xc7, 0xc2, 0x7a, 0x07, 0xb5, 0xa0, - 0xbe, 0x4d, 0x49, 0xc0, 0x49, 0x77, 0x8b, 0x3b, 0x95, 0x55, 0x6b, 0xad, 0xb1, 0xe1, 0xfa, 0xca, - 0x5b, 0x7e, 0x16, 0x48, 0xfe, 0x41, 0x16, 0x48, 0xad, 0xda, 0x8b, 0x97, 0x2b, 0xef, 0xfc, 0xee, - 0x5f, 0xc2, 0x76, 0x43, 0x32, 0x74, 0x0f, 0xe0, 0x51, 0xc0, 0xf8, 0x53, 0x26, 0x99, 0x54, 0xcf, - 0x65, 0x52, 0x92, 0x0c, 0x0c, 0x1a, 0xb4, 0x0c, 0x20, 0x8d, 0xb0, 0x9d, 0x0c, 0x62, 0xee, 0xd4, - 0xa4, 0xec, 0xc6, 0x0e, 0x5a, 0x85, 0x46, 0x9b, 0xb0, 0x0e, 0x0d, 0x53, 0xe9, 0xea, 0xba, 0x34, - 0x8f, 0xb9, 0x25, 0x38, 0x28, 0x0b, 0x1e, 0x9c, 0xa6, 0xc4, 0x01, 0x89, 0x60, 0xec, 0x08, 0x5f, - 0xee, 0x3f, 0x0f, 0x28, 0xe9, 0x3a, 0x0d, 0x69, 0x2e, 0x0d, 0x09, 0xfb, 0x2a, 0x4b, 0x30, 0xc7, - 0x96, 0x4e, 0xce, 0x40, 0xef, 0xcf, 0x15, 0xb0, 0xf7, 0x45, 0x5e, 0x64, 0xe1, 0xb0, 0x04, 0x45, - 0x4c, 0x8e, 0xb4, 0x6f, 0xc4, 0x12, 0xf9, 0x00, 0x6d, 0x72, 0x14, 0xc6, 0xa1, 0x94, 0xaa, 0x20, - 0x15, 0x5f, 0xf4, 0xd3, 0x43, 0x7f, 0xb4, 0x8b, 0x0d, 0x0c, 0xe4, 0x42, 0x6d, 0xe7, 0x9b, 0x34, - 0xa1, 0x22, 0xa4, 0x8a, 0x92, 0xcd, 0x10, 0x46, 0xcf, 0x60, 0x21, 0x5b, 0x6f, 0x71, 0x4e, 0x45, - 0xa0, 0x8a, 0x30, 0xfa, 0x78, 0x3a, 0x8c, 0x4c, 0xa1, 0xfc, 0x31, 0x9a, 0x9d, 0x98, 0xd3, 0x53, - 0x3c, 0xce, 0x47, 0x68, 0xb8, 0x4f, 0x18, 0x13, 0x12, 0x4a, 0xf7, 0xe3, 0x0c, 0x14, 0xe2, 0xfc, - 0x8c, 0x26, 0x31, 0x27, 0x71, 0x57, 0xba, 0xbe, 0x8e, 0x87, 0xb0, 0x10, 0x27, 0x5b, 0x2b, 0x71, - 0xaa, 0x73, 0x89, 0x33, 0x46, 0xa3, 0xc5, 0x19, 0xdb, 0x43, 0x9b, 0x50, 0xde, 0x0e, 0x3a, 0xcf, - 0x89, 0xf4, 0x72, 0x63, 0x63, 0x79, 0x9a, 0xa1, 0x3c, 0x7e, 0x2c, 0xdd, 0xca, 0x64, 0xa2, 0xbe, - 0x83, 0x15, 0x09, 0xfa, 0x05, 0xd8, 0x3b, 0x31, 0x0f, 0x79, 0x44, 0xfa, 0xd2, 0x63, 0x75, 0xe1, - 0xb1, 0xd6, 0xe6, 0x77, 0x2f, 0x57, 0x7e, 0x34, 0xf3, 0xb2, 0x1a, 0xf0, 0x30, 0x6a, 0x12, 0x83, - 0xca, 0x37, 0x58, 0xe0, 0x31, 0x7e, 0xe8, 0x4b, 0x58, 0xcc, 0x84, 0xdd, 0x8d, 0xd3, 0x01, 0x67, - 0x0e, 0x48, 0xad, 0x37, 0xe6, 0xd4, 0x5a, 0x11, 0x29, 0xb5, 0x27, 0x38, 0xb9, 0xf7, 0x00, 0x4d, - 0xfb, 0x4a, 0xc4, 0xd4, 0x31, 0x39, 0xcd, 0x62, 0xea, 0x98, 0x9c, 0x8a, 0xb4, 0x3e, 0x09, 0xa2, - 0x81, 0x4a, 0xf7, 0x3a, 0x56, 0xc0, 0x66, 0xe1, 0xb6, 0x25, 0x38, 0x4c, 0x9b, 0xf7, 0x42, 0x1c, - 0x3e, 0x87, 0xcb, 0x39, 0xa2, 0xe6, 0xb0, 0xb8, 0x66, 0xb2, 0x98, 0x8e, 0xe9, 0x11, 0x4b, 0xef, - 0xaf, 0x45, 0xb0, 0x4d, 0x87, 0xa1, 0x75, 0xb8, 0xac, 0xf4, 0xc4, 0xe4, 0xa8, 0x4d, 0x52, 0x4a, - 0x3a, 0xe2, 0x96, 0xd0, 0xcc, 0xf3, 0x8e, 0xd0, 0x06, 0x5c, 0xd9, 0xed, 0xeb, 0x6d, 0x66, 0x90, - 0x14, 0x64, 0x3e, 0xe6, 0x9e, 0xa1, 0x04, 0xde, 0x53, 0xac, 0xa4, 0x25, 0x0c, 0xa2, 0xa2, 0x74, - 0xd8, 0x67, 0x67, 0x47, 0x95, 0x9f, 0x4b, 0xab, 0xfc, 0x96, 0xcf, 0x17, 0xfd, 0x04, 0xaa, 0xea, - 0x20, 0x4b, 0xcc, 0x0f, 0xcf, 0xfe, 0x85, 0x62, 0x96, 0xd1, 0x08, 0x72, 0xa5, 0x07, 0x73, 0xca, - 0x17, 0x20, 0xd7, 0x34, 0xee, 0x03, 0x70, 0x67, 0x8b, 0x7c, 0x91, 0x10, 0xf0, 0xfe, 0x62, 0xc1, - 0xa5, 0xa9, 0x1f, 0x89, 0xaa, 0x21, 0xef, 0x4d, 0xc5, 0x42, 0xae, 0x51, 0x1b, 0xca, 0x2a, 0xf3, - 0x0b, 0x52, 0x60, 0x7f, 0x0e, 0x81, 0x7d, 0x23, 0xed, 0x15, 0xb1, 0x7b, 0x1b, 0xe0, 0xf5, 0x82, - 0xd5, 0xfb, 0xbb, 0x05, 0x0b, 0x3a, 0xcb, 0x74, 0x89, 0x0d, 0x60, 0x29, 0x4b, 0xa1, 0x6c, 0x4f, - 0x17, 0xdb, 0x4f, 0x67, 0x26, 0xa8, 0x42, 0xf3, 0x27, 0xe9, 0x94, 0x8c, 0x53, 0xec, 0xdc, 0xed, - 0x2c, 0xae, 0x26, 0x50, 0x2f, 0x24, 0xf9, 0x55, 0x58, 0xd8, 0x97, 0x4d, 0xce, 0xcc, 0xca, 0xe1, - 0xfd, 0xd7, 0x82, 0xc5, 0x0c, 0x47, 0x6b, 0xf7, 0x09, 0xd4, 0x4e, 0x08, 0xe5, 0xe4, 0x1b, 0xc2, - 0xb4, 0x56, 0xce, 0xb4, 0x56, 0x5f, 0x48, 0x0c, 0x3c, 0xc4, 0x44, 0x9b, 0x50, 0x53, 0x0d, 0x15, - 0xc9, 0x1c, 0xb5, 0x3c, 0x8b, 0x4a, 0xff, 0x6f, 0x88, 0x8f, 0x9a, 0x50, 0x8a, 0x92, 0x1e, 0xd3, - 0x39, 0xf3, 0xbd, 0x59, 0x74, 0x8f, 0x92, 0x1e, 0x96, 0x88, 0xe8, 0x0e, 0xd4, 0xbe, 0x0e, 0x68, - 0x1c, 0xc6, 0xbd, 0x2c, 0x0b, 0x56, 0x66, 0x11, 0x3d, 0x53, 0x78, 0x78, 0x48, 0x20, 0x3a, 0x9d, - 0x8a, 0x3a, 0x43, 0x0f, 0xa1, 0xd2, 0x0d, 0x7b, 0x84, 0x71, 0x65, 0x92, 0xd6, 0x86, 0xb8, 0xe4, - 0xbf, 0x7b, 0xb9, 0x72, 0xc3, 0xb8, 0xc5, 0x93, 0x94, 0xc4, 0xa2, 0x41, 0x0e, 0xc2, 0x98, 0x50, - 0xd1, 0x40, 0xde, 0x54, 0x24, 0x7e, 0x5b, 0x7e, 0xb0, 0xe6, 0x20, 0x78, 0x85, 0xea, 0xae, 0x96, - 0xf7, 0xc5, 0xeb, 0xf1, 0x52, 0x1c, 0x44, 0x1a, 0xc4, 0x41, 0x9f, 0xe8, 0xda, 0x2c, 0xd7, 0xa2, - 0x71, 0xe8, 0x88, 0x38, 0xef, 0xca, 0x96, 0xaa, 0x86, 0x35, 0x84, 0x36, 0xa1, 0xca, 0x78, 0x40, - 0xc5, 0x9d, 0x53, 0x9e, 0xb3, 0xe3, 0xc9, 0x08, 0xd0, 0x5d, 0xa8, 0x77, 0x92, 0x7e, 0x1a, 0x11, - 0x41, 0x5d, 0x99, 0x93, 0x7a, 0x44, 0x22, 0x42, 0x8f, 0x50, 0x9a, 0x50, 0xd9, 0x6b, 0xd5, 0xb1, - 0x02, 0xd0, 0x2d, 0x58, 0x48, 0x69, 0xd2, 0xa3, 0x84, 0xb1, 0xfb, 0x34, 0x19, 0xa4, 0xba, 0xc2, - 0x5e, 0x12, 0x97, 0xf7, 0x13, 0xf3, 0x00, 0x8f, 0xe3, 0x79, 0xff, 0x29, 0x80, 0x6d, 0x86, 0xc8, - 0x54, 0x13, 0xfa, 0x10, 0x2a, 0x2a, 0xe0, 0x54, 0xac, 0xbf, 0x9e, 0x8d, 0x15, 0x87, 0x5c, 0x1b, - 0x3b, 0x50, 0xed, 0x0c, 0xa8, 0xec, 0x50, 0x55, 0xdf, 0x9a, 0x81, 0x42, 0x53, 0x9e, 0xf0, 0x20, - 0x92, 0x36, 0x2e, 0x62, 0x05, 0x88, 0xa6, 0x75, 0x38, 0xdb, 0x5c, 0xac, 0x69, 0x1d, 0x92, 0x99, - 0xfe, 0xab, 0xbe, 0x91, 0xff, 0x6a, 0x17, 0xf6, 0x9f, 0xf7, 0x0f, 0x0b, 0xea, 0xc3, 0xdc, 0x32, - 0xac, 0x6b, 0xbd, 0xb1, 0x75, 0xc7, 0x2c, 0x53, 0x78, 0x3d, 0xcb, 0xbc, 0x0f, 0x15, 0xc6, 0x29, - 0x09, 0xfa, 0x6a, 0xa4, 0xc2, 0x1a, 0x12, 0xb7, 0x58, 0x9f, 0xf5, 0xa4, 0x87, 0x6c, 0x2c, 0x96, - 0xde, 0xff, 0x2c, 0x58, 0x18, 0x4b, 0xf7, 0xb7, 0xaa, 0xcb, 0x15, 0x28, 0x47, 0xe4, 0x84, 0xa8, - 0xa1, 0xaf, 0x88, 0x15, 0x20, 0x76, 0xd9, 0xf3, 0x84, 0x72, 0x29, 0x9c, 0x8d, 0x15, 0x20, 0x64, - 0xee, 0x12, 0x1e, 0x84, 0x91, 0xbc, 0x97, 0x6c, 0xac, 0x21, 0x21, 0xf3, 0x80, 0x46, 0xba, 0xf1, - 0x15, 0x4b, 0xe4, 0x41, 0x29, 0x8c, 0x8f, 0x12, 0x1d, 0x36, 0xb2, 0xb3, 0xd9, 0x4f, 0x06, 0xb4, - 0x43, 0x76, 0xe3, 0xa3, 0x04, 0xcb, 0x33, 0x74, 0x15, 0x2a, 0x34, 0x88, 0x7b, 0x24, 0xeb, 0x7a, - 0xeb, 0x02, 0x0b, 0x8b, 0x1d, 0xac, 0x0f, 0x3c, 0x0f, 0x6c, 0x39, 0x38, 0xee, 0x11, 0x26, 0xc6, - 0x14, 0x11, 0xd6, 0xdd, 0x80, 0x07, 0x52, 0x6d, 0x1b, 0xcb, 0xb5, 0xf7, 0x11, 0xa0, 0x47, 0x21, - 0xe3, 0xcf, 0xe4, 0x90, 0xcc, 0xce, 0x9b, 0x2a, 0xf7, 0xe1, 0xf2, 0x18, 0xb6, 0x2e, 0x0b, 0x3f, - 0x9e, 0x98, 0x2b, 0xaf, 0x4d, 0xdf, 0xb8, 0x72, 0x16, 0xf7, 0x15, 0xe1, 0xc4, 0x78, 0xb9, 0x00, - 0x0d, 0xa9, 0x97, 0xfa, 0xb7, 0x17, 0x80, 0xad, 0x40, 0xcd, 0xfc, 0x73, 0x78, 0x37, 0x63, 0xf4, - 0x05, 0xa1, 0x72, 0x46, 0xb0, 0xa4, 0x5d, 0x7e, 0x30, 0xeb, 0x2f, 0xad, 0x71, 0x74, 0x3c, 0x49, - 0xef, 0xdd, 0x87, 0xcb, 0x12, 0xe7, 0x41, 0xc8, 0x78, 0x42, 0x4f, 0x33, 0xad, 0x97, 0x01, 0xb6, - 0x3a, 0x3c, 0x3c, 0x21, 0x8f, 0xe3, 0x48, 0x95, 0xd1, 0x1a, 0x36, 0x76, 0xb2, 0x12, 0x59, 0x18, - 0x95, 0xc8, 0xdf, 0x5a, 0x70, 0xc9, 0xe4, 0xb4, 0x73, 0x22, 0x2e, 0x84, 0x3b, 0x50, 0xe2, 0x59, - 0xa7, 0xb2, 0x98, 0x27, 0xe6, 0x14, 0x89, 0x68, 0x66, 0xb0, 0x24, 0x32, 0x6c, 0xa9, 0x52, 0xe3, - 0xda, 0xd9, 0xe4, 0x13, 0xb6, 0xfc, 0x5b, 0x15, 0xd0, 0xf4, 0x71, 0xce, 0x58, 0x68, 0xce, 0x55, - 0x85, 0x89, 0xb9, 0xea, 0xab, 0xc9, 0xb9, 0x4a, 0x15, 0xdf, 0x5b, 0xf3, 0x48, 0x32, 0xc7, 0x74, - 0x75, 0x1b, 0xea, 0x59, 0xff, 0x92, 0x95, 0x68, 0x77, 0x9a, 0xf5, 0xb0, 0xc5, 0x19, 0x21, 0xa3, - 0xb5, 0xac, 0xa6, 0xa8, 0x6a, 0x86, 0xb2, 0x5b, 0x83, 0xa6, 0x1d, 0x5f, 0x77, 0x0e, 0xba, 0xce, - 0xdc, 0xbd, 0xd8, 0x93, 0x41, 0x69, 0xf2, 0xb9, 0xa0, 0x05, 0x8d, 0xed, 0xec, 0x2a, 0xbc, 0xc0, - 0x7b, 0x81, 0x49, 0x84, 0xd6, 0x75, 0xeb, 0xa2, 0x2e, 0xdf, 0xef, 0x4f, 0xab, 0x98, 0xbd, 0x0d, - 0x24, 0x54, 0xf7, 0x2e, 0x47, 0x39, 0xcd, 0x63, 0x5d, 0x1a, 0x68, 0x73, 0x2e, 0xdb, 0xcf, 0xd9, - 0x41, 0xa2, 0xcf, 0xa0, 0x82, 0x09, 0x1b, 0x44, 0x5c, 0x3e, 0x42, 0x34, 0x36, 0xae, 0xce, 0xe0, - 0xae, 0x90, 0x64, 0x36, 0x6a, 0x02, 0xf4, 0x73, 0xa8, 0xaa, 0x15, 0x73, 0x1a, 0xb3, 0xa6, 0xed, - 0x1c, 0xc9, 0x34, 0x8d, 0x1e, 0x19, 0x34, 0x24, 0x12, 0xee, 0x3e, 0x89, 0x89, 0x7e, 0x1c, 0xb3, - 0x57, 0xad, 0xb5, 0x32, 0x36, 0x76, 0xde, 0xc2, 0x34, 0xf9, 0x36, 0x7a, 0x65, 0xf7, 0x2b, 0xb0, - 0x4d, 0xf9, 0x73, 0x68, 0x6f, 0x8d, 0xcf, 0xa2, 0x73, 0xd8, 0xd3, 0x68, 0xc5, 0xff, 0x54, 0x00, - 0x18, 0x85, 0x02, 0xfa, 0x00, 0xa0, 0x4f, 0xba, 0x61, 0xf0, 0x4b, 0x3e, 0x9a, 0x76, 0xea, 0x72, - 0x47, 0x8e, 0x3c, 0xa3, 0xbe, 0xb4, 0xf0, 0xc6, 0x7d, 0x29, 0x82, 0x12, 0x0b, 0xbf, 0x25, 0xba, - 0x86, 0xca, 0x35, 0x7a, 0x0c, 0x8d, 0x20, 0x8e, 0x13, 0x2e, 0x3d, 0x90, 0x4d, 0x82, 0x37, 0xcf, - 0x0a, 0x5e, 0x7f, 0x6b, 0x84, 0xaf, 0x1c, 0x6c, 0x72, 0x70, 0xef, 0xc2, 0xd2, 0x24, 0xc2, 0x85, - 0x26, 0x95, 0xdf, 0x58, 0xf0, 0xee, 0x84, 0xf5, 0xd0, 0x27, 0xc3, 0x00, 0xb6, 0xe6, 0x48, 0xae, - 0x2c, 0x76, 0xef, 0x81, 0xbd, 0xc5, 0xb9, 0x48, 0x58, 0xa5, 0x9b, 0x9a, 0x45, 0xce, 0xa6, 0x1d, - 0xa3, 0xf0, 0x7e, 0x6f, 0x8d, 0x5e, 0xc7, 0x72, 0x07, 0xd2, 0x3b, 0xe3, 0x03, 0xe9, 0xf5, 0xd9, - 0xf7, 0xda, 0xdb, 0x9c, 0x43, 0x6f, 0xfc, 0x14, 0xde, 0xcb, 0xad, 0x29, 0xa8, 0x01, 0xd5, 0xfd, - 0x83, 0x2d, 0x7c, 0xb0, 0xd3, 0x5e, 0x7a, 0x07, 0xd9, 0x50, 0xdb, 0x7e, 0xbc, 0xf7, 0xe4, 0xd1, - 0xce, 0xc1, 0xce, 0x92, 0x25, 0x8e, 0xda, 0x3b, 0x62, 0xdd, 0x5e, 0x2a, 0x6c, 0xfc, 0xb1, 0x0c, - 0xd5, 0x6d, 0xf5, 0xd4, 0x8f, 0x0e, 0xa0, 0x3e, 0x7c, 0x3a, 0x46, 0x5e, 0x8e, 0x75, 0x26, 0xde, - 0xa0, 0xdd, 0x0f, 0xcf, 0xc4, 0xd1, 0x77, 0xce, 0x03, 0x28, 0xcb, 0x47, 0x74, 0x94, 0x33, 0xfb, - 0x99, 0xaf, 0xeb, 0xee, 0xd9, 0x8f, 0xd2, 0xeb, 0x96, 0xe0, 0x24, 0x07, 0xe7, 0x3c, 0x4e, 0xe6, - 0x93, 0x97, 0xbb, 0x72, 0xce, 0xc4, 0x8d, 0xf6, 0xa0, 0xa2, 0xa7, 0x89, 0x3c, 0x54, 0x73, 0x3c, - 0x76, 0x57, 0x67, 0x23, 0x28, 0x66, 0xeb, 0x16, 0xda, 0x1b, 0xbe, 0x62, 0xe6, 0x89, 0x66, 0xb6, - 0x62, 0xee, 0x39, 0xe7, 0x6b, 0xd6, 0xba, 0x85, 0xbe, 0x84, 0x86, 0xd1, 0x6c, 0xa1, 0x9c, 0x46, - 0x60, 0xba, 0x73, 0x73, 0xaf, 0x9f, 0x83, 0xa5, 0x35, 0xdf, 0x81, 0x92, 0x4c, 0xa4, 0x1c, 0x63, - 0x1b, 0xbd, 0x58, 0x9e, 0x98, 0x63, 0xbd, 0xd9, 0xa1, 0xea, 0x1e, 0x49, 0x6c, 0x46, 0x1f, 0xba, - 0x7e, 0x5e, 0x49, 0x98, 0x19, 0x36, 0x53, 0x41, 0xbc, 0x6e, 0xb5, 0xec, 0x17, 0xaf, 0x96, 0xad, - 0x7f, 0xbe, 0x5a, 0xb6, 0xfe, 0xfd, 0x6a, 0xd9, 0x3a, 0xac, 0xc8, 0xda, 0xfb, 0xc3, 0xff, 0x07, - 0x00, 0x00, 0xff, 0xff, 0x0d, 0xf5, 0x52, 0x93, 0x99, 0x1a, 0x00, 0x00, + // 2173 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x39, 0xcd, 0x6f, 0x1b, 0xc7, + 0xf5, 0x5e, 0x52, 0xfc, 0x7a, 0xa4, 0x14, 0x79, 0xec, 0x18, 0xfb, 0xdb, 0x9f, 0x23, 0xc9, 0x1b, + 0x1b, 0x15, 0x5c, 0x7b, 0xa9, 0xb0, 0x49, 0xed, 0xc8, 0xad, 0x6b, 0x51, 0x64, 0x63, 0xb9, 0x36, + 0xec, 0x8c, 0xe4, 0x18, 0x08, 0xe0, 0x16, 0x2b, 0x72, 0x44, 0x2f, 0xb4, 0xdc, 0xdd, 0xce, 0x0c, + 0x15, 0x2b, 0x7f, 0x40, 0x81, 0x5c, 0x8a, 0x5e, 0x8a, 0x5e, 0x7a, 0xef, 0xa9, 0xe7, 0x1e, 0x7b, + 0x2a, 0xe0, 0x63, 0xcf, 0x39, 0xb8, 0x85, 0xff, 0x80, 0xa2, 0xc7, 0x5e, 0x0a, 0x14, 0xf3, 0xb1, + 0xe4, 0x90, 0x5c, 0x4a, 0x94, 0xed, 0x13, 0xe7, 0xcd, 0xbc, 0xf7, 0xf6, 0x7d, 0xcf, 0x7b, 0x43, + 0x58, 0xec, 0xc4, 0x11, 0xa7, 0x71, 0xe8, 0x25, 0x34, 0xe6, 0x31, 0x5a, 0xee, 0xc7, 0xfb, 0xc7, + 0xde, 0xfe, 0x20, 0x08, 0xbb, 0x87, 0x01, 0xf7, 0x8e, 0x3e, 0x71, 0x6e, 0xf6, 0x02, 0xfe, 0x62, + 0xb0, 0xef, 0x75, 0xe2, 0x7e, 0xbd, 0x17, 0xf7, 0xe2, 0xba, 0x44, 0xdc, 0x1f, 0x1c, 0x48, 0x48, + 0x02, 0x72, 0xa5, 0x18, 0x38, 0xab, 0xbd, 0x38, 0xee, 0x85, 0x64, 0x84, 0xc5, 0x83, 0x3e, 0x61, + 0xdc, 0xef, 0x27, 0x1a, 0xe1, 0x86, 0xc1, 0x4f, 0x7c, 0xac, 0x9e, 0x7e, 0xac, 0xce, 0xe2, 0xf0, + 0x88, 0xd0, 0x7a, 0xb2, 0x5f, 0x8f, 0x13, 0xa6, 0xb1, 0xeb, 0x33, 0xb1, 0xfd, 0x24, 0xa8, 0xf3, + 0xe3, 0x84, 0xb0, 0xfa, 0x37, 0x31, 0x3d, 0x24, 0x54, 0x13, 0x34, 0x26, 0xc5, 0x55, 0xf2, 0xf8, + 0x49, 0xc0, 0xf4, 0xb2, 0x4e, 0x93, 0x4e, 0x9d, 0x71, 0x9f, 0x0f, 0xf4, 0x47, 0xdc, 0xdf, 0x58, + 0x50, 0x7b, 0x42, 0x07, 0x11, 0xc1, 0xe4, 0xd7, 0x03, 0xc2, 0x38, 0xba, 0x04, 0xc5, 0x83, 0x20, + 0xe4, 0x84, 0xda, 0xd6, 0x5a, 0x7e, 0xbd, 0x82, 0x35, 0x84, 0x96, 0x21, 0xef, 0x87, 0xa1, 0x9d, + 0x5b, 0xb3, 0xd6, 0xcb, 0x58, 0x2c, 0xd1, 0x3a, 0xd4, 0x0e, 0x09, 0x49, 0x5a, 0x03, 0xea, 0xf3, + 0x20, 0x8e, 0xec, 0xfc, 0x9a, 0xb5, 0x9e, 0x6f, 0x2e, 0xbc, 0x7a, 0xbd, 0x6a, 0xe1, 0xb1, 0x13, + 0xe4, 0x42, 0x45, 0xc0, 0xcd, 0x63, 0x4e, 0x98, 0xbd, 0x60, 0xa0, 0x8d, 0xb6, 0xdd, 0xeb, 0xb0, + 0xdc, 0x0a, 0xd8, 0xe1, 0x53, 0xe6, 0xf7, 0x4e, 0x93, 0xc5, 0x7d, 0x00, 0xe7, 0x0d, 0x5c, 0x96, + 0xc4, 0x11, 0x23, 0xe8, 0x33, 0x28, 0x52, 0xd2, 0x89, 0x69, 0x57, 0x22, 0x57, 0x1b, 0x1f, 0x79, + 0x93, 0xfe, 0xf4, 0x34, 0x81, 0x40, 0xc2, 0x1a, 0xd9, 0xfd, 0x43, 0x1e, 0xaa, 0xc6, 0x3e, 0x5a, + 0x82, 0xdc, 0x4e, 0xcb, 0xb6, 0xd6, 0xac, 0xf5, 0x0a, 0xce, 0xed, 0xb4, 0x90, 0x0d, 0xa5, 0x47, + 0x03, 0xee, 0xef, 0x87, 0x44, 0xeb, 0x9e, 0x82, 0xe8, 0x22, 0x14, 0x76, 0xa2, 0xa7, 0x8c, 0x48, + 0xc5, 0xcb, 0x58, 0x01, 0x08, 0xc1, 0xc2, 0x6e, 0xf0, 0x2d, 0x51, 0x6a, 0x62, 0xb9, 0x46, 0x0e, + 0x14, 0x9f, 0xf8, 0x94, 0x44, 0xdc, 0x2e, 0x08, 0xbe, 0xcd, 0x9c, 0x6d, 0x61, 0xbd, 0x83, 0x9a, + 0x50, 0xd9, 0xa6, 0xc4, 0xe7, 0xa4, 0xbb, 0xc5, 0xed, 0xe2, 0x9a, 0xb5, 0x5e, 0x6d, 0x38, 0x9e, + 0xf2, 0x96, 0x97, 0x06, 0x92, 0xb7, 0x97, 0x06, 0x52, 0xb3, 0xfc, 0xea, 0xf5, 0xea, 0xb9, 0xdf, + 0xfd, 0x43, 0xd8, 0x6e, 0x48, 0x86, 0xee, 0x01, 0x3c, 0xf4, 0x19, 0x7f, 0xca, 0x24, 0x93, 0xd2, + 0xa9, 0x4c, 0x16, 0x24, 0x03, 0x83, 0x06, 0xad, 0x00, 0x48, 0x23, 0x6c, 0xc7, 0x83, 0x88, 0xdb, + 0x65, 0x29, 0xbb, 0xb1, 0x83, 0xd6, 0xa0, 0xda, 0x22, 0xac, 0x43, 0x83, 0x44, 0xba, 0xba, 0x22, + 0xcd, 0x63, 0x6e, 0x09, 0x0e, 0xca, 0x82, 0x7b, 0xc7, 0x09, 0xb1, 0x41, 0x22, 0x18, 0x3b, 0xc2, + 0x97, 0xbb, 0x2f, 0x7c, 0x4a, 0xba, 0x76, 0x55, 0x9a, 0x4b, 0x43, 0xc2, 0xbe, 0xca, 0x12, 0xcc, + 0xae, 0x49, 0x27, 0xa7, 0xa0, 0xfb, 0xd7, 0x22, 0xd4, 0x76, 0x45, 0x5e, 0xa4, 0xe1, 0xb0, 0x0c, + 0x79, 0x4c, 0x0e, 0xb4, 0x6f, 0xc4, 0x12, 0x79, 0x00, 0x2d, 0x72, 0x10, 0x44, 0x81, 0x94, 0x2a, + 0x27, 0x15, 0x5f, 0xf2, 0x92, 0x7d, 0x6f, 0xb4, 0x8b, 0x0d, 0x0c, 0xe4, 0x40, 0xb9, 0xfd, 0x32, + 0x89, 0xa9, 0x08, 0xa9, 0xbc, 0x64, 0x33, 0x84, 0xd1, 0x33, 0x58, 0x4c, 0xd7, 0x5b, 0x9c, 0x53, + 0x11, 0xa8, 0x22, 0x8c, 0x3e, 0x99, 0x0e, 0x23, 0x53, 0x28, 0x6f, 0x8c, 0xa6, 0x1d, 0x71, 0x7a, + 0x8c, 0xc7, 0xf9, 0x08, 0x0d, 0x77, 0x09, 0x63, 0x42, 0x42, 0xe9, 0x7e, 0x9c, 0x82, 0x42, 0x9c, + 0x9f, 0xd3, 0x38, 0xe2, 0x24, 0xea, 0x4a, 0xd7, 0x57, 0xf0, 0x10, 0x16, 0xe2, 0xa4, 0x6b, 0x25, + 0x4e, 0x69, 0x2e, 0x71, 0xc6, 0x68, 0xb4, 0x38, 0x63, 0x7b, 0x68, 0x13, 0x0a, 0xdb, 0x7e, 0xe7, + 0x05, 0x91, 0x5e, 0xae, 0x36, 0x56, 0xa6, 0x19, 0xca, 0xe3, 0xc7, 0xd2, 0xad, 0x4c, 0x26, 0xea, + 0x39, 0xac, 0x48, 0xd0, 0x2f, 0xa1, 0xd6, 0x8e, 0x78, 0xc0, 0x43, 0xd2, 0x97, 0x1e, 0xab, 0x08, + 0x8f, 0x35, 0x37, 0xbf, 0x7f, 0xbd, 0xfa, 0xe3, 0x99, 0xc5, 0x6a, 0xc0, 0x83, 0xb0, 0x4e, 0x0c, + 0x2a, 0xcf, 0x60, 0x81, 0xc7, 0xf8, 0xa1, 0xaf, 0x61, 0x29, 0x15, 0x76, 0x27, 0x4a, 0x06, 0x9c, + 0xd9, 0x20, 0xb5, 0x6e, 0xcc, 0xa9, 0xb5, 0x22, 0x52, 0x6a, 0x4f, 0x70, 0x12, 0xc6, 0xde, 0x89, + 0x38, 0xa1, 0x91, 0x1f, 0xea, 0x10, 0x1c, 0xc2, 0xce, 0x3d, 0x40, 0xd3, 0x7e, 0x14, 0xf1, 0x76, + 0x48, 0x8e, 0xd3, 0x78, 0x3b, 0x24, 0xc7, 0x22, 0xe5, 0x8f, 0xfc, 0x70, 0xa0, 0x4a, 0x41, 0x05, + 0x2b, 0x60, 0x33, 0x77, 0xdb, 0x12, 0x1c, 0xa6, 0x4d, 0x7f, 0x26, 0x0e, 0x5f, 0xc2, 0x85, 0x0c, + 0x35, 0x32, 0x58, 0x5c, 0x35, 0x59, 0x4c, 0xc7, 0xfb, 0x88, 0xa5, 0xfb, 0xe7, 0x3c, 0xd4, 0x4c, + 0x67, 0xa2, 0x0d, 0xb8, 0xa0, 0xf4, 0xc4, 0xe4, 0xa0, 0x45, 0x12, 0x4a, 0x3a, 0xa2, 0x82, 0x68, + 0xe6, 0x59, 0x47, 0xa8, 0x01, 0x17, 0x77, 0xfa, 0x7a, 0x9b, 0x19, 0x24, 0x39, 0x99, 0xab, 0x99, + 0x67, 0x28, 0x86, 0x0f, 0x15, 0x2b, 0x69, 0x09, 0x83, 0x28, 0x2f, 0x9d, 0xf9, 0xf9, 0xc9, 0x11, + 0xe7, 0x65, 0xd2, 0x2a, 0x9f, 0x66, 0xf3, 0x45, 0x3f, 0x85, 0x92, 0x3a, 0x48, 0x93, 0xf6, 0xe3, + 0x93, 0x3f, 0xa1, 0x98, 0xa5, 0x34, 0x82, 0x5c, 0xe9, 0xc1, 0xec, 0xc2, 0x19, 0xc8, 0x35, 0x8d, + 0x73, 0x1f, 0x9c, 0xd9, 0x22, 0x9f, 0x25, 0x04, 0xdc, 0x3f, 0x59, 0x70, 0x7e, 0xea, 0x43, 0xe2, + 0x46, 0x91, 0x35, 0x55, 0xb1, 0x90, 0x6b, 0xd4, 0x82, 0x82, 0xaa, 0x0a, 0x39, 0x29, 0xb0, 0x37, + 0x87, 0xc0, 0x9e, 0x51, 0x12, 0x14, 0xb1, 0x73, 0x1b, 0xe0, 0xed, 0x82, 0xd5, 0xfd, 0x8b, 0x05, + 0x8b, 0x3a, 0x03, 0xf5, 0xf5, 0xeb, 0xc3, 0x72, 0x9a, 0x42, 0xe9, 0x9e, 0xbe, 0x88, 0x3f, 0x9b, + 0x99, 0xbc, 0x0a, 0xcd, 0x9b, 0xa4, 0x53, 0x32, 0x4e, 0xb1, 0x73, 0xb6, 0xd3, 0xb8, 0x9a, 0x40, + 0x3d, 0x93, 0xe4, 0x57, 0x60, 0x71, 0x57, 0x36, 0x40, 0x33, 0x6f, 0x15, 0xf7, 0xdf, 0x16, 0x2c, + 0xa5, 0x38, 0x5a, 0xbb, 0x4f, 0xa1, 0x7c, 0x44, 0x28, 0x27, 0x2f, 0x09, 0xd3, 0x5a, 0xd9, 0xd3, + 0x5a, 0x7d, 0x25, 0x31, 0xf0, 0x10, 0x13, 0x6d, 0x42, 0x59, 0x35, 0x5b, 0x24, 0x75, 0xd4, 0xca, + 0x2c, 0x2a, 0xfd, 0xbd, 0x21, 0x3e, 0xaa, 0xc3, 0x42, 0x18, 0xf7, 0x98, 0xce, 0x99, 0xff, 0x9f, + 0x45, 0xf7, 0x30, 0xee, 0x61, 0x89, 0x88, 0xee, 0x40, 0xf9, 0x1b, 0x9f, 0x46, 0x41, 0xd4, 0x4b, + 0xb3, 0x60, 0x75, 0x16, 0xd1, 0x33, 0x85, 0x87, 0x87, 0x04, 0xa2, 0x0b, 0x2a, 0xaa, 0x33, 0xf4, + 0x00, 0x8a, 0xdd, 0xa0, 0x47, 0x18, 0x57, 0x26, 0x69, 0x36, 0xc4, 0x05, 0xf0, 0xfd, 0xeb, 0xd5, + 0xeb, 0x46, 0x85, 0x8f, 0x13, 0x12, 0x89, 0xe6, 0xd9, 0x0f, 0x22, 0x42, 0x45, 0x73, 0x79, 0x53, + 0x91, 0x78, 0x2d, 0xf9, 0x83, 0x35, 0x07, 0xc1, 0x2b, 0x50, 0x75, 0x5c, 0xd6, 0x8b, 0xb7, 0xe3, + 0xa5, 0x38, 0x88, 0x34, 0x88, 0xfc, 0x3e, 0xd1, 0xf7, 0xb6, 0x5c, 0x8b, 0xa6, 0xa2, 0x23, 0xe2, + 0xbc, 0x2b, 0xdb, 0xad, 0x32, 0xd6, 0x10, 0xda, 0x84, 0x12, 0xe3, 0x3e, 0x15, 0x35, 0xa7, 0x30, + 0x67, 0x37, 0x94, 0x12, 0xa0, 0xbb, 0x50, 0xe9, 0xc4, 0xfd, 0x24, 0x24, 0x82, 0xba, 0x38, 0x27, + 0xf5, 0x88, 0x44, 0x84, 0x1e, 0xa1, 0x34, 0xa6, 0xb2, 0x0f, 0xab, 0x60, 0x05, 0xa0, 0x5b, 0xb0, + 0x98, 0xd0, 0xb8, 0x47, 0x09, 0x63, 0x5f, 0xd0, 0x78, 0x90, 0xe8, 0xdb, 0xf7, 0xbc, 0x28, 0xde, + 0x4f, 0xcc, 0x03, 0x3c, 0x8e, 0xe7, 0xfe, 0x2b, 0x07, 0x35, 0x33, 0x44, 0xa6, 0x1a, 0xd4, 0x07, + 0x50, 0x54, 0x01, 0xa7, 0x62, 0xfd, 0xed, 0x6c, 0xac, 0x38, 0x64, 0xda, 0xd8, 0x86, 0x52, 0x67, + 0x40, 0x65, 0xf7, 0xaa, 0x7a, 0xda, 0x14, 0x14, 0x9a, 0xf2, 0x98, 0xfb, 0xa1, 0xb4, 0x71, 0x1e, + 0x2b, 0x40, 0x34, 0xb4, 0xc3, 0xb9, 0xe7, 0x6c, 0x0d, 0xed, 0x90, 0xcc, 0xf4, 0x5f, 0xe9, 0x9d, + 0xfc, 0x57, 0x3e, 0xb3, 0xff, 0xdc, 0xbf, 0x59, 0x50, 0x19, 0xe6, 0x96, 0x61, 0x5d, 0xeb, 0x9d, + 0xad, 0x3b, 0x66, 0x99, 0xdc, 0xdb, 0x59, 0xe6, 0x12, 0x14, 0x19, 0xa7, 0xc4, 0xef, 0xab, 0x71, + 0x0b, 0x6b, 0x48, 0x54, 0xb1, 0x3e, 0xeb, 0x49, 0x0f, 0xd5, 0xb0, 0x58, 0xba, 0xff, 0xb1, 0x60, + 0x71, 0x2c, 0xdd, 0xdf, 0xab, 0x2e, 0x17, 0xa1, 0x10, 0x92, 0x23, 0xa2, 0x06, 0xc2, 0x3c, 0x56, + 0x80, 0xd8, 0x65, 0x2f, 0x62, 0xca, 0xa5, 0x70, 0x35, 0xac, 0x00, 0x21, 0x73, 0x97, 0x70, 0x3f, + 0x08, 0x65, 0x5d, 0xaa, 0x61, 0x0d, 0x09, 0x99, 0x07, 0x34, 0xd4, 0x4d, 0xb1, 0x58, 0x22, 0x17, + 0x16, 0x82, 0xe8, 0x20, 0xd6, 0x61, 0x23, 0x3b, 0x9b, 0xdd, 0x78, 0x40, 0x3b, 0x64, 0x27, 0x3a, + 0x88, 0xb1, 0x3c, 0x43, 0x57, 0xa0, 0x48, 0xfd, 0xa8, 0x47, 0xd2, 0x8e, 0xb8, 0x22, 0xb0, 0xb0, + 0xd8, 0xc1, 0xfa, 0xc0, 0x75, 0xa1, 0x26, 0x87, 0xca, 0x47, 0x84, 0x89, 0x11, 0x46, 0x84, 0x75, + 0xd7, 0xe7, 0xbe, 0x54, 0xbb, 0x86, 0xe5, 0xda, 0xbd, 0x01, 0xe8, 0x61, 0xc0, 0xf8, 0x33, 0x39, + 0x40, 0xb3, 0xd3, 0x26, 0xce, 0x5d, 0xb8, 0x30, 0x86, 0xad, 0xaf, 0x85, 0x9f, 0x4c, 0xcc, 0x9c, + 0x57, 0xa7, 0x2b, 0xae, 0x9c, 0xd3, 0x3d, 0x45, 0x38, 0x31, 0x7a, 0x2e, 0x42, 0x55, 0xea, 0xa5, + 0xbe, 0xed, 0xfa, 0x50, 0x53, 0xa0, 0x66, 0xfe, 0x25, 0x7c, 0x90, 0x32, 0xfa, 0x8a, 0x50, 0x39, + 0x3f, 0x58, 0xd2, 0x2e, 0x3f, 0x98, 0xf5, 0x95, 0xe6, 0x38, 0x3a, 0x9e, 0xa4, 0x77, 0x09, 0x5c, + 0x90, 0x38, 0xf7, 0x03, 0xc6, 0x63, 0x7a, 0x9c, 0x6a, 0xbd, 0x02, 0xb0, 0xd5, 0xe1, 0xc1, 0x11, + 0x79, 0x1c, 0x85, 0xea, 0x1a, 0x2d, 0x63, 0x63, 0x27, 0xbd, 0x22, 0x73, 0xa3, 0xc1, 0xeb, 0x32, + 0x54, 0xda, 0x3e, 0x0d, 0x8f, 0xdb, 0x2f, 0x03, 0xae, 0xe7, 0xdf, 0xd1, 0x86, 0xfb, 0x5b, 0x0b, + 0xce, 0x9b, 0xdf, 0x69, 0x1f, 0x89, 0x72, 0x71, 0x07, 0x16, 0x78, 0xda, 0xc7, 0x2c, 0x65, 0x29, + 0x31, 0x45, 0x22, 0x5a, 0x1d, 0x2c, 0x89, 0x0c, 0x4b, 0xab, 0xc4, 0xb9, 0x7a, 0x32, 0xf9, 0x84, + 0xa5, 0xff, 0x5b, 0x02, 0x34, 0x7d, 0x9c, 0x31, 0x50, 0x9a, 0x13, 0x59, 0x6e, 0x62, 0x22, 0x7b, + 0x3e, 0x39, 0x91, 0xa9, 0xab, 0xf9, 0xd6, 0x3c, 0x92, 0xcc, 0x31, 0x97, 0xdd, 0x86, 0x4a, 0xda, + 0xdd, 0xa4, 0x17, 0xb8, 0x33, 0xcd, 0x7a, 0xd8, 0x00, 0x8d, 0x90, 0xd1, 0x7a, 0x7a, 0xe3, 0xa8, + 0xbb, 0x0e, 0xa5, 0x35, 0x85, 0x26, 0x1d, 0x4f, 0xf7, 0x15, 0xfa, 0x16, 0xba, 0x7b, 0xb6, 0xc7, + 0x86, 0x85, 0xc9, 0x87, 0x86, 0x26, 0x54, 0xb7, 0xd3, 0x42, 0x79, 0x86, 0x97, 0x06, 0x93, 0x08, + 0x6d, 0xe8, 0xc6, 0x46, 0x95, 0xe6, 0xcb, 0xd3, 0x2a, 0xa6, 0xaf, 0x0a, 0x31, 0xd5, 0x9d, 0xcd, + 0x41, 0x46, 0x6b, 0x59, 0x91, 0x06, 0xda, 0x9c, 0xcb, 0xf6, 0x73, 0xf6, 0x97, 0xe8, 0x73, 0x28, + 0x62, 0xc2, 0x06, 0x21, 0x97, 0xcf, 0x17, 0xd5, 0xc6, 0x95, 0x19, 0xdc, 0x15, 0x92, 0xcc, 0x55, + 0x4d, 0x80, 0x7e, 0x01, 0x25, 0xb5, 0x62, 0x76, 0x75, 0xd6, 0x9c, 0x9e, 0x21, 0x99, 0xa6, 0xd1, + 0x03, 0x85, 0x86, 0x44, 0x3a, 0x7e, 0x41, 0x22, 0xa2, 0x9f, 0xd5, 0x6a, 0x6b, 0xd6, 0x7a, 0x01, + 0x1b, 0x3b, 0xa8, 0x01, 0x05, 0x4e, 0xfd, 0x0e, 0xb1, 0x17, 0xe7, 0x30, 0xa1, 0x42, 0x15, 0x85, + 0x2d, 0x09, 0xa2, 0x88, 0x74, 0xed, 0x25, 0xd5, 0x29, 0x29, 0xe8, 0x3d, 0xcc, 0xad, 0xef, 0xa3, + 0x2b, 0x77, 0x9e, 0x43, 0xcd, 0xb4, 0x45, 0x06, 0xed, 0xad, 0xf1, 0xa9, 0x77, 0x0e, 0xdf, 0x18, + 0x4d, 0xff, 0x73, 0xf8, 0xbf, 0xa7, 0x49, 0xd7, 0xe7, 0x24, 0xab, 0xfa, 0x4d, 0x57, 0x81, 0x4b, + 0x50, 0x7c, 0xa2, 0x8c, 0xa5, 0x9e, 0xfc, 0x34, 0x24, 0xf6, 0x5b, 0x44, 0xc4, 0xb1, 0x2e, 0x79, + 0x1a, 0x72, 0x2f, 0x83, 0x93, 0xc5, 0x5e, 0x19, 0xc3, 0xfd, 0x63, 0x0e, 0x60, 0xe4, 0x10, 0xf4, + 0x11, 0x40, 0x9f, 0x74, 0x03, 0xff, 0x57, 0x7c, 0x34, 0xd4, 0x55, 0xe4, 0x8e, 0x9c, 0xec, 0x46, + 0xed, 0x77, 0xee, 0x9d, 0xdb, 0x6f, 0x04, 0x0b, 0x2c, 0xf8, 0x96, 0xe8, 0x56, 0x41, 0xae, 0xd1, + 0x63, 0xa8, 0xfa, 0x51, 0x14, 0x73, 0x19, 0x4a, 0xe9, 0xc0, 0x7b, 0xf3, 0xa4, 0x10, 0xf2, 0xb6, + 0x46, 0xf8, 0x2a, 0x52, 0x4d, 0x0e, 0xce, 0x5d, 0x58, 0x9e, 0x44, 0x38, 0xd3, 0x40, 0xf6, 0x9d, + 0x05, 0x1f, 0x4c, 0xb8, 0x0e, 0x7d, 0x3a, 0xcc, 0x44, 0x6b, 0x8e, 0x10, 0x4f, 0x93, 0xf0, 0x1e, + 0xd4, 0xb6, 0x38, 0x17, 0x95, 0x47, 0xe9, 0xa6, 0x46, 0xae, 0x93, 0x69, 0xc7, 0x28, 0xdc, 0xdf, + 0x5b, 0xa3, 0x07, 0xc2, 0xcc, 0xb9, 0xfb, 0xce, 0xf8, 0xdc, 0x7d, 0x6d, 0x76, 0x81, 0x7e, 0x9f, + 0xe3, 0xf6, 0xf5, 0x9f, 0xc1, 0x87, 0x99, 0x97, 0x23, 0xaa, 0x42, 0x69, 0x77, 0x6f, 0x0b, 0xef, + 0xb5, 0x5b, 0xcb, 0xe7, 0x50, 0x0d, 0xca, 0xdb, 0x8f, 0x1f, 0x3d, 0x79, 0xd8, 0xde, 0x6b, 0x2f, + 0x5b, 0xe2, 0xa8, 0xd5, 0x16, 0xeb, 0xd6, 0x72, 0xae, 0xf1, 0x5d, 0x11, 0x4a, 0xdb, 0xea, 0xdf, + 0x0e, 0xb4, 0x07, 0x95, 0xe1, 0xeb, 0x39, 0x72, 0x33, 0xac, 0x33, 0xf1, 0x0c, 0xef, 0x7c, 0x7c, + 0x22, 0x8e, 0x2e, 0x9e, 0xf7, 0xa1, 0x20, 0xff, 0x47, 0x40, 0x19, 0x23, 0xae, 0xf9, 0x07, 0x83, + 0x73, 0xf2, 0xbb, 0xfc, 0x86, 0x25, 0x38, 0xc9, 0xf7, 0x81, 0x2c, 0x4e, 0xe6, 0xab, 0x9f, 0xb3, + 0x7a, 0xca, 0xc3, 0x02, 0x7a, 0x04, 0x45, 0x3d, 0x34, 0x65, 0xa1, 0x9a, 0xaf, 0x00, 0xce, 0xda, + 0x6c, 0x04, 0xc5, 0x6c, 0xc3, 0x42, 0x8f, 0x86, 0x0f, 0xb9, 0x59, 0xa2, 0x99, 0x1d, 0xa7, 0x73, + 0xca, 0xf9, 0xba, 0xb5, 0x61, 0xa1, 0xaf, 0xa1, 0x6a, 0xf4, 0x94, 0x28, 0xa3, 0xa3, 0x99, 0x6e, + 0x50, 0x9d, 0x6b, 0xa7, 0x60, 0x69, 0xcd, 0xdb, 0xb0, 0x20, 0x13, 0x29, 0xc3, 0xd8, 0x46, 0xcb, + 0x99, 0x25, 0xe6, 0x58, 0x0b, 0xba, 0xaf, 0x9a, 0x64, 0x12, 0x99, 0xd1, 0x87, 0xae, 0x9d, 0x76, + 0xb7, 0xcd, 0x0c, 0x9b, 0xa9, 0x20, 0xde, 0xb0, 0x50, 0x0c, 0x68, 0xba, 0x78, 0xa2, 0x1f, 0x66, + 0x44, 0xc9, 0xac, 0x0a, 0xee, 0xdc, 0x98, 0x0f, 0x59, 0x29, 0xd5, 0xac, 0xbd, 0x7a, 0xb3, 0x62, + 0xfd, 0xfd, 0xcd, 0x8a, 0xf5, 0xcf, 0x37, 0x2b, 0xd6, 0x7e, 0x51, 0x76, 0x2d, 0x3f, 0xfa, 0x5f, + 0x00, 0x00, 0x00, 0xff, 0xff, 0xea, 0x14, 0x57, 0x80, 0x0d, 0x1c, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. @@ -1969,6 +2112,7 @@ type ControlClient interface { ListWorkers(ctx context.Context, in *ListWorkersRequest, opts ...grpc.CallOption) (*ListWorkersResponse, error) Info(ctx context.Context, in *InfoRequest, opts ...grpc.CallOption) (*InfoResponse, error) ListenBuildHistory(ctx context.Context, in *BuildHistoryRequest, opts ...grpc.CallOption) (Control_ListenBuildHistoryClient, error) + UpdateBuildHistory(ctx context.Context, in *UpdateBuildHistoryRequest, opts ...grpc.CallOption) (*UpdateBuildHistoryResponse, error) } type controlClient struct { @@ -2142,6 +2286,15 @@ func (x *controlListenBuildHistoryClient) Recv() (*BuildHistoryEvent, error) { return m, nil } +func (c *controlClient) UpdateBuildHistory(ctx context.Context, in *UpdateBuildHistoryRequest, opts ...grpc.CallOption) (*UpdateBuildHistoryResponse, error) { + out := new(UpdateBuildHistoryResponse) + err := c.cc.Invoke(ctx, "/moby.buildkit.v1.Control/UpdateBuildHistory", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + // ControlServer is the server API for Control service. type ControlServer interface { DiskUsage(context.Context, *DiskUsageRequest) (*DiskUsageResponse, error) @@ -2152,6 +2305,7 @@ type ControlServer interface { ListWorkers(context.Context, *ListWorkersRequest) (*ListWorkersResponse, error) Info(context.Context, *InfoRequest) (*InfoResponse, error) ListenBuildHistory(*BuildHistoryRequest, Control_ListenBuildHistoryServer) error + UpdateBuildHistory(context.Context, *UpdateBuildHistoryRequest) (*UpdateBuildHistoryResponse, error) } // UnimplementedControlServer can be embedded to have forward compatible implementations. @@ -2182,6 +2336,9 @@ func (*UnimplementedControlServer) Info(ctx context.Context, req *InfoRequest) ( func (*UnimplementedControlServer) ListenBuildHistory(req *BuildHistoryRequest, srv Control_ListenBuildHistoryServer) error { return status.Errorf(codes.Unimplemented, "method ListenBuildHistory not implemented") } +func (*UnimplementedControlServer) UpdateBuildHistory(ctx context.Context, req *UpdateBuildHistoryRequest) (*UpdateBuildHistoryResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpdateBuildHistory not implemented") +} func RegisterControlServer(s *grpc.Server, srv ControlServer) { s.RegisterService(&_Control_serviceDesc, srv) @@ -2348,6 +2505,24 @@ func (x *controlListenBuildHistoryServer) Send(m *BuildHistoryEvent) error { return x.ServerStream.SendMsg(m) } +func _Control_UpdateBuildHistory_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(UpdateBuildHistoryRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ControlServer).UpdateBuildHistory(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/moby.buildkit.v1.Control/UpdateBuildHistory", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ControlServer).UpdateBuildHistory(ctx, req.(*UpdateBuildHistoryRequest)) + } + return interceptor(ctx, in, info, handler) +} + var _Control_serviceDesc = grpc.ServiceDesc{ ServiceName: "moby.buildkit.v1.Control", HandlerType: (*ControlServer)(nil), @@ -2368,6 +2543,10 @@ var _Control_serviceDesc = grpc.ServiceDesc{ MethodName: "Info", Handler: _Control_Info_Handler, }, + { + MethodName: "UpdateBuildHistory", + Handler: _Control_UpdateBuildHistory_Handler, + }, }, Streams: []grpc.StreamDesc{ { @@ -2674,6 +2853,16 @@ func (m *SolveRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { i -= len(m.XXX_unrecognized) copy(dAtA[i:], m.XXX_unrecognized) } + if m.Internal { + i-- + if m.Internal { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x58 + } if len(m.FrontendInputs) > 0 { for k := range m.FrontendInputs { v := m.FrontendInputs[k] @@ -3634,6 +3823,16 @@ func (m *BuildHistoryRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { i -= len(m.XXX_unrecognized) copy(dAtA[i:], m.XXX_unrecognized) } + if m.EarlyExit { + i-- + if m.EarlyExit { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x18 + } if len(m.Ref) > 0 { i -= len(m.Ref) copy(dAtA[i:], m.Ref) @@ -3722,6 +3921,28 @@ func (m *BuildHistoryRecord) MarshalToSizedBuffer(dAtA []byte) (int, error) { i -= len(m.XXX_unrecognized) copy(dAtA[i:], m.XXX_unrecognized) } + if m.Pinned { + i-- + if m.Pinned { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x70 + } + if m.Trace != nil { + { + size, err := m.Trace.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintControl(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x6a + } if m.Generation != 0 { i = encodeVarintControl(dAtA, i, uint64(m.Generation)) i-- @@ -3797,23 +4018,23 @@ func (m *BuildHistoryRecord) MarshalToSizedBuffer(dAtA []byte) (int, error) { dAtA[i] = 0x42 } if m.CompletedAt != nil { - n19, err19 := github_com_gogo_protobuf_types.StdTimeMarshalTo(*m.CompletedAt, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(*m.CompletedAt):]) - if err19 != nil { - return 0, err19 - } - i -= n19 - i = encodeVarintControl(dAtA, i, uint64(n19)) - i-- - dAtA[i] = 0x3a - } - if m.CreatedAt != nil { - n20, err20 := github_com_gogo_protobuf_types.StdTimeMarshalTo(*m.CreatedAt, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(*m.CreatedAt):]) + n20, err20 := github_com_gogo_protobuf_types.StdTimeMarshalTo(*m.CompletedAt, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(*m.CompletedAt):]) if err20 != nil { return 0, err20 } i -= n20 i = encodeVarintControl(dAtA, i, uint64(n20)) i-- + dAtA[i] = 0x3a + } + if m.CreatedAt != nil { + n21, err21 := github_com_gogo_protobuf_types.StdTimeMarshalTo(*m.CreatedAt, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(*m.CreatedAt):]) + if err21 != nil { + return 0, err21 + } + i -= n21 + i = encodeVarintControl(dAtA, i, uint64(n21)) + i-- dAtA[i] = 0x32 } if m.Error != nil { @@ -3878,6 +4099,87 @@ func (m *BuildHistoryRecord) MarshalToSizedBuffer(dAtA []byte) (int, error) { return len(dAtA) - i, nil } +func (m *UpdateBuildHistoryRequest) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *UpdateBuildHistoryRequest) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *UpdateBuildHistoryRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.XXX_unrecognized != nil { + i -= len(m.XXX_unrecognized) + copy(dAtA[i:], m.XXX_unrecognized) + } + if m.Delete { + i-- + if m.Delete { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x18 + } + if m.Pinned { + i-- + if m.Pinned { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x10 + } + if len(m.Ref) > 0 { + i -= len(m.Ref) + copy(dAtA[i:], m.Ref) + i = encodeVarintControl(dAtA, i, uint64(len(m.Ref))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *UpdateBuildHistoryResponse) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *UpdateBuildHistoryResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *UpdateBuildHistoryResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.XXX_unrecognized != nil { + i -= len(m.XXX_unrecognized) + copy(dAtA[i:], m.XXX_unrecognized) + } + return len(dAtA) - i, nil +} + func (m *Descriptor) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) @@ -4241,6 +4543,9 @@ func (m *SolveRequest) Size() (n int) { n += mapEntrySize + 1 + sovControl(uint64(mapEntrySize)) } } + if m.Internal { + n += 2 + } if m.XXX_unrecognized != nil { n += len(m.XXX_unrecognized) } @@ -4631,6 +4936,9 @@ func (m *BuildHistoryRequest) Size() (n int) { if l > 0 { n += 1 + l + sovControl(uint64(l)) } + if m.EarlyExit { + n += 2 + } if m.XXX_unrecognized != nil { n += len(m.XXX_unrecognized) } @@ -4728,6 +5036,47 @@ func (m *BuildHistoryRecord) Size() (n int) { if m.Generation != 0 { n += 1 + sovControl(uint64(m.Generation)) } + if m.Trace != nil { + l = m.Trace.Size() + n += 1 + l + sovControl(uint64(l)) + } + if m.Pinned { + n += 2 + } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } + return n +} + +func (m *UpdateBuildHistoryRequest) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Ref) + if l > 0 { + n += 1 + l + sovControl(uint64(l)) + } + if m.Pinned { + n += 2 + } + if m.Delete { + n += 2 + } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } + return n +} + +func (m *UpdateBuildHistoryResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l if m.XXX_unrecognized != nil { n += len(m.XXX_unrecognized) } @@ -6145,6 +6494,26 @@ func (m *SolveRequest) Unmarshal(dAtA []byte) error { } m.FrontendInputs[mapkey] = mapvalue iNdEx = postIndex + case 11: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Internal", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowControl + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.Internal = bool(v != 0) default: iNdEx = preIndex skippy, err := skipControl(dAtA[iNdEx:]) @@ -8643,6 +9012,26 @@ func (m *BuildHistoryRequest) Unmarshal(dAtA []byte) error { } m.Ref = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex + case 3: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field EarlyExit", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowControl + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.EarlyExit = bool(v != 0) default: iNdEx = preIndex skippy, err := skipControl(dAtA[iNdEx:]) @@ -9480,6 +9869,236 @@ func (m *BuildHistoryRecord) Unmarshal(dAtA []byte) error { break } } + case 13: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Trace", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowControl + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthControl + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthControl + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Trace == nil { + m.Trace = &Descriptor{} + } + if err := m.Trace.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 14: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Pinned", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowControl + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.Pinned = bool(v != 0) + default: + iNdEx = preIndex + skippy, err := skipControl(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthControl + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *UpdateBuildHistoryRequest) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowControl + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: UpdateBuildHistoryRequest: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: UpdateBuildHistoryRequest: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Ref", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowControl + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthControl + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthControl + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Ref = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Pinned", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowControl + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.Pinned = bool(v != 0) + case 3: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Delete", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowControl + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.Delete = bool(v != 0) + default: + iNdEx = preIndex + skippy, err := skipControl(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthControl + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *UpdateBuildHistoryResponse) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowControl + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: UpdateBuildHistoryResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: UpdateBuildHistoryResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { default: iNdEx = preIndex skippy, err := skipControl(dAtA[iNdEx:]) diff --git a/vendor/github.com/moby/buildkit/api/services/control/control.proto b/vendor/github.com/moby/buildkit/api/services/control/control.proto index 1aae3093..a5319b99 100644 --- a/vendor/github.com/moby/buildkit/api/services/control/control.proto +++ b/vendor/github.com/moby/buildkit/api/services/control/control.proto @@ -23,6 +23,7 @@ service Control { rpc Info(InfoRequest) returns (InfoResponse); rpc ListenBuildHistory(BuildHistoryRequest) returns (stream BuildHistoryEvent); + rpc UpdateBuildHistory(UpdateBuildHistoryRequest) returns (UpdateBuildHistoryResponse); } message PruneRequest { @@ -66,6 +67,7 @@ message SolveRequest { CacheOptions Cache = 8 [(gogoproto.nullable) = false]; repeated string Entitlements = 9 [(gogoproto.customtype) = "github.com/moby/buildkit/util/entitlements.Entitlement" ]; map FrontendInputs = 10; + bool Internal = 11; // Internal builds are not recorded in build history } message CacheOptions { @@ -171,6 +173,7 @@ message InfoResponse { message BuildHistoryRequest { bool ActiveOnly = 1; string Ref = 2; + bool EarlyExit = 3; } enum BuildHistoryEventType { @@ -179,7 +182,6 @@ enum BuildHistoryEventType { DELETED = 2; } - message BuildHistoryEvent { BuildHistoryEventType type = 1; BuildHistoryRecord record = 2; @@ -198,12 +200,21 @@ message BuildHistoryRecord { BuildResultInfo Result = 10; map Results = 11; int32 Generation = 12; + Descriptor trace = 13; + bool pinned = 14; // TODO: tags // TODO: steps/cache summary // TODO: unclipped logs - // TODO: pinning } +message UpdateBuildHistoryRequest { + string Ref = 1; + bool Pinned = 2; + bool Delete = 3; +} + +message UpdateBuildHistoryResponse {} + message Descriptor { string media_type = 1; string digest = 2 [(gogoproto.customtype) = "github.com/opencontainers/go-digest.Digest", (gogoproto.nullable) = false]; diff --git a/vendor/github.com/moby/buildkit/client/client.go b/vendor/github.com/moby/buildkit/client/client.go index aa55e796..deac2507 100644 --- a/vendor/github.com/moby/buildkit/client/client.go +++ b/vendor/github.com/moby/buildkit/client/client.go @@ -9,6 +9,7 @@ import ( "os" "strings" + contentapi "github.com/containerd/containerd/api/services/content/v1" "github.com/containerd/containerd/defaults" grpc_middleware "github.com/grpc-ecosystem/go-grpc-middleware" controlapi "github.com/moby/buildkit/api/services/control" @@ -172,6 +173,10 @@ func (c *Client) ControlClient() controlapi.ControlClient { return controlapi.NewControlClient(c.conn) } +func (c *Client) ContentClient() contentapi.ContentClient { + return contentapi.NewContentClient(c.conn) +} + func (c *Client) Dialer() session.Dialer { return grpchijack.Dialer(c.ControlClient()) } diff --git a/vendor/github.com/moby/buildkit/client/solve.go b/vendor/github.com/moby/buildkit/client/solve.go index b1d78b53..a00c84f2 100644 --- a/vendor/github.com/moby/buildkit/client/solve.go +++ b/vendor/github.com/moby/buildkit/client/solve.go @@ -46,6 +46,7 @@ type SolveOpt struct { AllowedEntitlements []entitlements.Entitlement SharedSession *session.Session // TODO: refactor to better session syncing SessionPreInitialized bool // TODO: refactor to better session syncing + Internal bool } type ExportEntry struct { @@ -259,6 +260,7 @@ func (c *Client) solve(ctx context.Context, def *llb.Definition, runGateway runG FrontendInputs: frontendInputs, Cache: cacheOpt.options, Entitlements: opt.AllowedEntitlements, + Internal: opt.Internal, }) if err != nil { return errors.Wrap(err, "failed to solve") @@ -350,54 +352,6 @@ func (c *Client) solve(ctx context.Context, def *llb.Definition, runGateway runG return res, nil } -func NewSolveStatus(resp *controlapi.StatusResponse) *SolveStatus { - s := &SolveStatus{} - for _, v := range resp.Vertexes { - s.Vertexes = append(s.Vertexes, &Vertex{ - Digest: v.Digest, - Inputs: v.Inputs, - Name: v.Name, - Started: v.Started, - Completed: v.Completed, - Error: v.Error, - Cached: v.Cached, - ProgressGroup: v.ProgressGroup, - }) - } - for _, v := range resp.Statuses { - s.Statuses = append(s.Statuses, &VertexStatus{ - ID: v.ID, - Vertex: v.Vertex, - Name: v.Name, - Total: v.Total, - Current: v.Current, - Timestamp: v.Timestamp, - Started: v.Started, - Completed: v.Completed, - }) - } - for _, v := range resp.Logs { - s.Logs = append(s.Logs, &VertexLog{ - Vertex: v.Vertex, - Stream: int(v.Stream), - Data: v.Msg, - Timestamp: v.Timestamp, - }) - } - for _, v := range resp.Warnings { - s.Warnings = append(s.Warnings, &VertexWarning{ - Vertex: v.Vertex, - Level: int(v.Level), - Short: v.Short, - Detail: v.Detail, - URL: v.Url, - SourceInfo: v.Info, - Range: v.Ranges, - }) - } - return s -} - func prepareSyncedDirs(def *llb.Definition, localDirs map[string]string) (filesync.StaticDirSource, error) { for _, d := range localDirs { fi, err := os.Stat(d) diff --git a/vendor/github.com/moby/buildkit/client/status.go b/vendor/github.com/moby/buildkit/client/status.go new file mode 100644 index 00000000..d692094a --- /dev/null +++ b/vendor/github.com/moby/buildkit/client/status.go @@ -0,0 +1,125 @@ +package client + +import ( + controlapi "github.com/moby/buildkit/api/services/control" +) + +var emptyLogVertexSize int + +func init() { + emptyLogVertex := controlapi.VertexLog{} + emptyLogVertexSize = emptyLogVertex.Size() +} + +func NewSolveStatus(resp *controlapi.StatusResponse) *SolveStatus { + s := &SolveStatus{} + for _, v := range resp.Vertexes { + s.Vertexes = append(s.Vertexes, &Vertex{ + Digest: v.Digest, + Inputs: v.Inputs, + Name: v.Name, + Started: v.Started, + Completed: v.Completed, + Error: v.Error, + Cached: v.Cached, + ProgressGroup: v.ProgressGroup, + }) + } + for _, v := range resp.Statuses { + s.Statuses = append(s.Statuses, &VertexStatus{ + ID: v.ID, + Vertex: v.Vertex, + Name: v.Name, + Total: v.Total, + Current: v.Current, + Timestamp: v.Timestamp, + Started: v.Started, + Completed: v.Completed, + }) + } + for _, v := range resp.Logs { + s.Logs = append(s.Logs, &VertexLog{ + Vertex: v.Vertex, + Stream: int(v.Stream), + Data: v.Msg, + Timestamp: v.Timestamp, + }) + } + for _, v := range resp.Warnings { + s.Warnings = append(s.Warnings, &VertexWarning{ + Vertex: v.Vertex, + Level: int(v.Level), + Short: v.Short, + Detail: v.Detail, + URL: v.Url, + SourceInfo: v.Info, + Range: v.Ranges, + }) + } + return s +} + +func (ss *SolveStatus) Marshal() (out []*controlapi.StatusResponse) { + logSize := 0 + for { + retry := false + sr := controlapi.StatusResponse{} + for _, v := range ss.Vertexes { + sr.Vertexes = append(sr.Vertexes, &controlapi.Vertex{ + Digest: v.Digest, + Inputs: v.Inputs, + Name: v.Name, + Started: v.Started, + Completed: v.Completed, + Error: v.Error, + Cached: v.Cached, + ProgressGroup: v.ProgressGroup, + }) + } + for _, v := range ss.Statuses { + sr.Statuses = append(sr.Statuses, &controlapi.VertexStatus{ + ID: v.ID, + Vertex: v.Vertex, + Name: v.Name, + Current: v.Current, + Total: v.Total, + Timestamp: v.Timestamp, + Started: v.Started, + Completed: v.Completed, + }) + } + for i, v := range ss.Logs { + sr.Logs = append(sr.Logs, &controlapi.VertexLog{ + Vertex: v.Vertex, + Stream: int64(v.Stream), + Msg: v.Data, + Timestamp: v.Timestamp, + }) + logSize += len(v.Data) + emptyLogVertexSize + // avoid logs growing big and split apart if they do + if logSize > 1024*1024 { + ss.Vertexes = nil + ss.Statuses = nil + ss.Logs = ss.Logs[i+1:] + retry = true + break + } + } + for _, v := range ss.Warnings { + sr.Warnings = append(sr.Warnings, &controlapi.VertexWarning{ + Vertex: v.Vertex, + Level: int64(v.Level), + Short: v.Short, + Detail: v.Detail, + Info: v.SourceInfo, + Ranges: v.Range, + Url: v.URL, + }) + } + out = append(out, &sr) + if !retry { + break + } + } + return +} diff --git a/vendor/github.com/moby/buildkit/cmd/buildkitd/config/config.go b/vendor/github.com/moby/buildkit/cmd/buildkitd/config/config.go index 3bd8c6b8..1734d5e1 100644 --- a/vendor/github.com/moby/buildkit/cmd/buildkitd/config/config.go +++ b/vendor/github.com/moby/buildkit/cmd/buildkitd/config/config.go @@ -24,6 +24,8 @@ type Config struct { Registries map[string]resolverconfig.RegistryConfig `toml:"registry"` DNS *DNSConfig `toml:"dns"` + + History *HistoryConfig `toml:"history"` } type GRPCConfig struct { @@ -123,3 +125,8 @@ type DNSConfig struct { Options []string `toml:"options"` SearchDomains []string `toml:"searchDomains"` } + +type HistoryConfig struct { + MaxAge int64 `toml:"maxAge"` + MaxEntries int64 `toml:"maxEntries"` +} diff --git a/vendor/github.com/moby/buildkit/frontend/gateway/pb/gateway.pb.go b/vendor/github.com/moby/buildkit/frontend/gateway/pb/gateway.pb.go index 038515b4..58701c87 100644 --- a/vendor/github.com/moby/buildkit/frontend/gateway/pb/gateway.pb.go +++ b/vendor/github.com/moby/buildkit/frontend/gateway/pb/gateway.pb.go @@ -90,9 +90,10 @@ type Result struct { // *Result_RefsDeprecated // *Result_Ref // *Result_Refs - Result isResult_Result `protobuf_oneof:"result"` - Metadata map[string][]byte `protobuf:"bytes,10,rep,name=metadata,proto3" json:"metadata,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` - Attestations map[string]*Attestations `protobuf:"bytes,11,rep,name=attestations,proto3" json:"attestations,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + Result isResult_Result `protobuf_oneof:"result"` + Metadata map[string][]byte `protobuf:"bytes,10,rep,name=metadata,proto3" json:"metadata,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // 11 was used during development and is reserved for old attestation format + Attestations map[string]*Attestations `protobuf:"bytes,12,rep,name=attestations,proto3" json:"attestations,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` @@ -2609,157 +2610,157 @@ func init() { func init() { proto.RegisterFile("gateway.proto", fileDescriptor_f1a937782ebbded5) } var fileDescriptor_f1a937782ebbded5 = []byte{ - // 2395 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x39, 0xcd, 0x6f, 0x1b, 0xc7, - 0xf5, 0x5a, 0x91, 0x12, 0xc9, 0xc7, 0x0f, 0xd1, 0x13, 0x27, 0x3f, 0x66, 0x11, 0x38, 0xf2, 0x3a, - 0x51, 0x64, 0xc5, 0x21, 0xfd, 0xa3, 0x1d, 0xc8, 0xb5, 0x5b, 0x27, 0xd6, 0x17, 0xa4, 0x58, 0xb2, - 0xd9, 0x91, 0x0b, 0x17, 0x41, 0x0a, 0x74, 0xc5, 0x1d, 0xd2, 0x5b, 0xaf, 0x76, 0xb7, 0xbb, 0x43, - 0xcb, 0x4a, 0x2e, 0xed, 0xad, 0xc8, 0xa9, 0xa7, 0xde, 0x82, 0x02, 0x2d, 0xd0, 0x73, 0x7b, 0xe9, - 0xad, 0x3d, 0x07, 0xe8, 0xa5, 0x97, 0x5e, 0x7a, 0x08, 0x0a, 0xff, 0x11, 0x05, 0x7a, 0x2b, 0xde, - 0xcc, 0x2c, 0x39, 0xfc, 0xd0, 0x92, 0xac, 0x4f, 0x9c, 0x79, 0xf3, 0x3e, 0xe6, 0x7d, 0xbf, 0x59, - 0x42, 0xb9, 0x6b, 0x73, 0x76, 0x66, 0x9f, 0xd7, 0xc3, 0x28, 0xe0, 0x01, 0x79, 0xfb, 0x34, 0x38, - 0x39, 0xaf, 0x9f, 0xf4, 0x5c, 0xcf, 0x79, 0xee, 0xf2, 0xfa, 0x8b, 0xff, 0xaf, 0x77, 0xa2, 0xc0, - 0xe7, 0xcc, 0x77, 0xcc, 0x8f, 0xba, 0x2e, 0x7f, 0xd6, 0x3b, 0xa9, 0xb7, 0x83, 0xd3, 0x46, 0x37, - 0xe8, 0x06, 0x0d, 0x41, 0x71, 0xd2, 0xeb, 0x88, 0x9d, 0xd8, 0x88, 0x95, 0xe4, 0x64, 0x36, 0x47, - 0xd1, 0xbb, 0x41, 0xd0, 0xf5, 0x98, 0x1d, 0xba, 0xb1, 0x5a, 0x36, 0xa2, 0xb0, 0xdd, 0x88, 0xb9, - 0xcd, 0x7b, 0xb1, 0xa2, 0xb9, 0xa1, 0xd1, 0xe0, 0x45, 0x1a, 0xc9, 0x45, 0x1a, 0x71, 0xe0, 0xbd, - 0x60, 0x51, 0x23, 0x3c, 0x69, 0x04, 0x61, 0x82, 0xdd, 0xb8, 0x10, 0xdb, 0x0e, 0xdd, 0x06, 0x3f, - 0x0f, 0x59, 0xdc, 0x38, 0x0b, 0xa2, 0xe7, 0x2c, 0x52, 0x04, 0xb7, 0x2e, 0x24, 0xe8, 0x71, 0xd7, - 0x43, 0xaa, 0xb6, 0x1d, 0xc6, 0x28, 0x04, 0x7f, 0x15, 0x91, 0xae, 0x36, 0x0f, 0x7c, 0x37, 0xe6, - 0xae, 0xdb, 0x75, 0x1b, 0x9d, 0x58, 0xd0, 0x48, 0x29, 0xa8, 0x84, 0x44, 0xb7, 0xfe, 0x96, 0x85, - 0x65, 0xca, 0xe2, 0x9e, 0xc7, 0xc9, 0x1a, 0x94, 0x23, 0xd6, 0xd9, 0x61, 0x61, 0xc4, 0xda, 0x36, - 0x67, 0x4e, 0xcd, 0x58, 0x35, 0xd6, 0x0b, 0xfb, 0x0b, 0x74, 0x18, 0x4c, 0x7e, 0x04, 0x95, 0x88, - 0x75, 0x62, 0x0d, 0x71, 0x71, 0xd5, 0x58, 0x2f, 0x36, 0x3f, 0xac, 0x5f, 0xe8, 0x8c, 0x3a, 0x65, - 0x9d, 0x23, 0x3b, 0x1c, 0x90, 0xec, 0x2f, 0xd0, 0x11, 0x26, 0xa4, 0x09, 0x99, 0x88, 0x75, 0x6a, - 0x19, 0xc1, 0xeb, 0x4a, 0x3a, 0xaf, 0xfd, 0x05, 0x8a, 0xc8, 0x64, 0x13, 0xb2, 0xc8, 0xa5, 0x96, - 0x15, 0x44, 0x57, 0xa7, 0x5e, 0x60, 0x7f, 0x81, 0x0a, 0x02, 0xf2, 0x10, 0xf2, 0xa7, 0x8c, 0xdb, - 0x8e, 0xcd, 0xed, 0x1a, 0xac, 0x66, 0xd6, 0x8b, 0xcd, 0x46, 0x2a, 0x31, 0x1a, 0xa8, 0x7e, 0xa4, - 0x28, 0x76, 0x7d, 0x1e, 0x9d, 0xd3, 0x3e, 0x03, 0xf2, 0x14, 0x4a, 0x36, 0xe7, 0x0c, 0xad, 0xea, - 0x06, 0x7e, 0x5c, 0x2b, 0x0a, 0x86, 0xb7, 0xa6, 0x33, 0x7c, 0xa0, 0x51, 0x49, 0xa6, 0x43, 0x8c, - 0xcc, 0x7b, 0x50, 0x1e, 0x92, 0x49, 0xaa, 0x90, 0x79, 0xce, 0xce, 0xa5, 0x63, 0x28, 0x2e, 0xc9, - 0x65, 0x58, 0x7a, 0x61, 0x7b, 0x3d, 0x26, 0x7c, 0x50, 0xa2, 0x72, 0x73, 0x77, 0xf1, 0x8e, 0x61, - 0x3e, 0x83, 0x4b, 0x63, 0xfc, 0x27, 0x30, 0xf8, 0x81, 0xce, 0xa0, 0xd8, 0xfc, 0x20, 0xe5, 0xd6, - 0x3a, 0x3b, 0x4d, 0xd2, 0x56, 0x1e, 0x96, 0x23, 0xa1, 0x90, 0xf5, 0x1b, 0x03, 0xaa, 0xa3, 0xae, - 0x26, 0x07, 0xca, 0x49, 0x86, 0x30, 0xcb, 0xc7, 0x73, 0x44, 0x09, 0x02, 0x94, 0x61, 0x04, 0x0b, - 0x73, 0x13, 0x0a, 0x7d, 0xd0, 0x34, 0x63, 0x14, 0xb4, 0x2b, 0x5a, 0x9b, 0x90, 0xa1, 0xac, 0x43, - 0x2a, 0xb0, 0xe8, 0xaa, 0xb8, 0xa6, 0x8b, 0xae, 0x43, 0x56, 0x21, 0xe3, 0xb0, 0x8e, 0x52, 0xbd, - 0x52, 0x0f, 0x4f, 0xea, 0x3b, 0xac, 0xe3, 0xfa, 0x2e, 0xaa, 0x48, 0xf1, 0xc8, 0xfa, 0x9d, 0x81, - 0xf9, 0x81, 0xd7, 0x22, 0x9f, 0x0c, 0xe9, 0x31, 0x3d, 0xda, 0xc7, 0x6e, 0xff, 0x34, 0xfd, 0xf6, - 0xb7, 0x87, 0x3d, 0x31, 0x25, 0x05, 0x74, 0xed, 0x7e, 0x0c, 0x25, 0xdd, 0x37, 0x64, 0x1f, 0x8a, - 0x5a, 0x1c, 0xa9, 0x0b, 0xaf, 0xcd, 0xe6, 0x59, 0xaa, 0x93, 0x5a, 0x7f, 0xc8, 0x40, 0x51, 0x3b, - 0x24, 0xf7, 0x21, 0xfb, 0xdc, 0xf5, 0xa5, 0x09, 0x2b, 0xcd, 0x8d, 0xd9, 0x58, 0x3e, 0x74, 0x7d, - 0x87, 0x0a, 0x3a, 0xd2, 0xd2, 0xf2, 0x6e, 0x51, 0x5c, 0xeb, 0xf6, 0x6c, 0x3c, 0x2e, 0x4c, 0xbe, - 0x9b, 0x73, 0x94, 0x0d, 0x59, 0x34, 0x08, 0x64, 0x43, 0x9b, 0x3f, 0x13, 0x45, 0xa3, 0x40, 0xc5, - 0x9a, 0xdc, 0x84, 0x37, 0x5c, 0xff, 0x49, 0xc0, 0x83, 0x56, 0xc4, 0x1c, 0x17, 0x83, 0xef, 0xc9, - 0x79, 0xc8, 0x6a, 0x4b, 0x02, 0x65, 0xd2, 0x11, 0x69, 0x41, 0x45, 0x82, 0x8f, 0x7b, 0x27, 0x3f, - 0x63, 0x6d, 0x1e, 0xd7, 0x96, 0x85, 0x3e, 0xeb, 0x29, 0x57, 0x38, 0xd0, 0x09, 0xe8, 0x08, 0xfd, - 0x6b, 0x65, 0xbb, 0xf5, 0x27, 0x03, 0xca, 0x43, 0xec, 0xc9, 0xa7, 0x43, 0xae, 0xba, 0x31, 0xeb, - 0xb5, 0x34, 0x67, 0x7d, 0x06, 0xcb, 0x8e, 0xdb, 0x65, 0x31, 0x17, 0xae, 0x2a, 0x6c, 0x35, 0xbf, - 0xfd, 0xee, 0xdd, 0x85, 0x7f, 0x7e, 0xf7, 0xee, 0x86, 0xd6, 0x62, 0x82, 0x90, 0xf9, 0xed, 0xc0, - 0xe7, 0xb6, 0xeb, 0xb3, 0x08, 0x3b, 0xe5, 0x47, 0x92, 0xa4, 0xbe, 0x23, 0x7e, 0xa8, 0xe2, 0x80, - 0x46, 0xf7, 0xed, 0x53, 0x26, 0xfc, 0x54, 0xa0, 0x62, 0x6d, 0x71, 0x28, 0x53, 0xc6, 0x7b, 0x91, - 0x4f, 0xd9, 0xcf, 0x7b, 0x88, 0xf4, 0xbd, 0xa4, 0x90, 0x88, 0x4b, 0x4f, 0x2b, 0xe8, 0x88, 0x48, - 0x15, 0x01, 0x59, 0x87, 0x25, 0x16, 0x45, 0x41, 0xa4, 0x92, 0x87, 0xd4, 0x65, 0xcf, 0xae, 0x47, - 0x61, 0xbb, 0x7e, 0x2c, 0x7a, 0x36, 0x95, 0x08, 0x56, 0x15, 0x2a, 0x89, 0xd4, 0x38, 0x0c, 0xfc, - 0x98, 0x59, 0x2b, 0x68, 0xba, 0xb0, 0xc7, 0x63, 0x75, 0x0f, 0xeb, 0xaf, 0x06, 0x54, 0x12, 0x88, - 0xc4, 0x21, 0x5f, 0x40, 0x71, 0x50, 0x1a, 0x92, 0x1a, 0x70, 0x37, 0xd5, 0xa8, 0x3a, 0xbd, 0x56, - 0x57, 0x54, 0x49, 0xd0, 0xd9, 0x99, 0x8f, 0xa0, 0x3a, 0x8a, 0x30, 0xc1, 0xfb, 0xef, 0x0d, 0x17, - 0x88, 0xd1, 0x7a, 0xa5, 0x45, 0xc3, 0x3f, 0x0c, 0x78, 0x9b, 0x32, 0x31, 0x84, 0x1c, 0x9c, 0xda, - 0x5d, 0xb6, 0x1d, 0xf8, 0x1d, 0xb7, 0x9b, 0x98, 0xb9, 0x2a, 0x8a, 0x61, 0xc2, 0x19, 0xeb, 0xe2, - 0x3a, 0xe4, 0x5b, 0x9e, 0xcd, 0x3b, 0x41, 0x74, 0xaa, 0x98, 0x97, 0x90, 0x79, 0x02, 0xa3, 0xfd, - 0x53, 0xb2, 0x0a, 0x45, 0xc5, 0xf8, 0x28, 0x70, 0x12, 0x77, 0xea, 0x20, 0x52, 0x83, 0xdc, 0x61, - 0xd0, 0x7d, 0x84, 0xce, 0x96, 0x19, 0x96, 0x6c, 0x89, 0x05, 0x25, 0x85, 0x18, 0xf5, 0xb3, 0x6b, - 0x89, 0x0e, 0xc1, 0xc8, 0x3b, 0x50, 0x38, 0x66, 0x71, 0xec, 0x06, 0xfe, 0xc1, 0x4e, 0x6d, 0x59, - 0xd0, 0x0f, 0x00, 0xd6, 0x2f, 0x0c, 0x30, 0x27, 0xe9, 0xa5, 0x9c, 0xf4, 0x19, 0x2c, 0xcb, 0xb0, - 0x93, 0xba, 0xfd, 0x6f, 0x01, 0x2b, 0x7f, 0xc9, 0x5b, 0xb0, 0x2c, 0xb9, 0xab, 0x5c, 0x53, 0x3b, - 0xeb, 0xcf, 0x4b, 0x50, 0x3a, 0xc6, 0x0b, 0x24, 0xd6, 0xac, 0x03, 0x0c, 0x9c, 0xa0, 0x02, 0x77, - 0xd4, 0x35, 0x1a, 0x06, 0x31, 0x21, 0xbf, 0xa7, 0x82, 0x44, 0xf5, 0xa9, 0xfe, 0x9e, 0x7c, 0x0e, - 0xc5, 0x64, 0xfd, 0x38, 0xe4, 0xb5, 0x8c, 0x88, 0xb2, 0x3b, 0x29, 0x51, 0xa6, 0xdf, 0xa4, 0xae, - 0x91, 0xaa, 0x18, 0xd3, 0x20, 0xe4, 0x06, 0x5c, 0xb2, 0x3d, 0x2f, 0x38, 0x53, 0x89, 0x23, 0x52, - 0x40, 0xb8, 0x20, 0x4f, 0xc7, 0x0f, 0xb0, 0x20, 0x6a, 0xc0, 0x07, 0x51, 0x64, 0x9f, 0x63, 0xcc, - 0x2c, 0x0b, 0xfc, 0x49, 0x47, 0x58, 0x9b, 0xf6, 0x5c, 0xdf, 0xf6, 0x6a, 0x20, 0x70, 0xe4, 0x06, - 0x7d, 0xbe, 0xfb, 0x32, 0x0c, 0x22, 0xce, 0xa2, 0x07, 0x9c, 0x47, 0xb5, 0xa2, 0x30, 0xe6, 0x10, - 0x8c, 0xb4, 0xa0, 0xb4, 0x6d, 0xb7, 0x9f, 0xb1, 0x83, 0x53, 0x04, 0xc6, 0xb5, 0x92, 0x50, 0x3b, - 0xad, 0x62, 0x09, 0xf4, 0xc7, 0xa1, 0x3e, 0x38, 0xe9, 0x1c, 0x48, 0x1b, 0x2a, 0x89, 0xea, 0x32, - 0x0f, 0x6b, 0x65, 0xc1, 0xf3, 0xde, 0xbc, 0xa6, 0x94, 0xd4, 0x52, 0xc4, 0x08, 0x4b, 0x74, 0xe4, - 0x2e, 0xa6, 0x9c, 0xcd, 0x59, 0xad, 0x22, 0x74, 0xee, 0xef, 0xcd, 0xfb, 0x50, 0x1d, 0xf5, 0xc6, - 0x3c, 0xf3, 0x8a, 0xf9, 0x43, 0x78, 0x63, 0xc2, 0x15, 0x5e, 0xab, 0x26, 0xfc, 0xd1, 0x80, 0x4b, - 0x63, 0x76, 0xc3, 0xba, 0x2c, 0x72, 0x51, 0xb2, 0x14, 0x6b, 0x72, 0x04, 0x4b, 0xe8, 0x97, 0x58, - 0x75, 0xe8, 0xcd, 0x79, 0x1c, 0x51, 0x17, 0x94, 0xd2, 0x60, 0x92, 0x8b, 0x79, 0x07, 0x60, 0x00, - 0x9c, 0x6b, 0x6a, 0xfb, 0x02, 0xca, 0xca, 0x2b, 0x2a, 0xc1, 0xab, 0xb2, 0xd9, 0x2b, 0x62, 0x6c, - 0xe6, 0x83, 0x96, 0x91, 0x99, 0xb3, 0x65, 0x58, 0x5f, 0xc1, 0x0a, 0x65, 0xb6, 0xb3, 0xe7, 0x7a, - 0xec, 0xe2, 0xca, 0x88, 0xd9, 0xea, 0x7a, 0xac, 0x85, 0x03, 0x43, 0x92, 0xad, 0x6a, 0x4f, 0xee, - 0xc2, 0x12, 0xb5, 0xfd, 0x2e, 0x53, 0xa2, 0xdf, 0x4b, 0x11, 0x2d, 0x84, 0x20, 0x2e, 0x95, 0x24, - 0xd6, 0x3d, 0x28, 0xf4, 0x61, 0x58, 0x6b, 0x1e, 0x77, 0x3a, 0x31, 0x93, 0x75, 0x2b, 0x43, 0xd5, - 0x0e, 0xe1, 0x87, 0xcc, 0xef, 0x2a, 0xd1, 0x19, 0xaa, 0x76, 0xd6, 0x1a, 0x4e, 0xd9, 0xc9, 0xcd, - 0x95, 0x69, 0x08, 0x64, 0x77, 0x70, 0xaa, 0x32, 0x44, 0x82, 0x89, 0xb5, 0xe5, 0x60, 0xab, 0xb3, - 0x9d, 0x1d, 0x37, 0xba, 0x58, 0xc1, 0x1a, 0xe4, 0x76, 0xdc, 0x48, 0xd3, 0x2f, 0xd9, 0x92, 0x35, - 0x6c, 0x82, 0x6d, 0xaf, 0xe7, 0xa0, 0xb6, 0x9c, 0x45, 0xbe, 0xaa, 0xf6, 0x23, 0x50, 0xeb, 0x13, - 0x69, 0x47, 0x21, 0x45, 0x5d, 0xe6, 0x06, 0xe4, 0x98, 0xcf, 0x23, 0x97, 0x25, 0x9d, 0x92, 0xd4, - 0xe5, 0x03, 0xb4, 0x2e, 0x1e, 0xa0, 0xa2, 0x23, 0xd3, 0x04, 0xc5, 0xda, 0x84, 0x15, 0x04, 0xa4, - 0x3b, 0x82, 0x40, 0x56, 0xbb, 0xa4, 0x58, 0x5b, 0x77, 0xa1, 0x3a, 0x20, 0x54, 0xa2, 0xd7, 0x20, - 0x8b, 0x23, 0xa3, 0x2a, 0xc4, 0x93, 0xe4, 0x8a, 0x73, 0xeb, 0x1a, 0xac, 0x24, 0xd9, 0x7a, 0xa1, - 0x50, 0x8b, 0x40, 0x75, 0x80, 0xa4, 0xa6, 0x85, 0x32, 0x14, 0x5b, 0xae, 0x9f, 0x34, 0x53, 0xeb, - 0x95, 0x01, 0xa5, 0x56, 0xe0, 0x0f, 0x9a, 0x50, 0x0b, 0x56, 0x92, 0xd4, 0x7d, 0xd0, 0x3a, 0xd8, - 0xb6, 0xc3, 0xc4, 0x06, 0xab, 0xe3, 0xf1, 0xa1, 0x9e, 0xf0, 0x75, 0x89, 0xb8, 0x95, 0xc5, 0x7e, - 0x45, 0x47, 0xc9, 0xc9, 0xa7, 0x90, 0x3b, 0x3c, 0xdc, 0x12, 0x9c, 0x16, 0xe7, 0xe2, 0x94, 0x90, - 0x91, 0xfb, 0x90, 0x7b, 0x2a, 0xbe, 0x2c, 0xc4, 0xaa, 0xa7, 0x4c, 0x88, 0x55, 0x69, 0x21, 0x89, - 0x46, 0x59, 0x3b, 0x88, 0x1c, 0x9a, 0x10, 0x59, 0xff, 0x36, 0xa0, 0xf8, 0xd4, 0x1e, 0x0c, 0x6a, - 0x83, 0xc9, 0xf0, 0x35, 0x1a, 0xad, 0x9a, 0x0c, 0x2f, 0xc3, 0x92, 0xc7, 0x5e, 0x30, 0x4f, 0xc5, - 0xb8, 0xdc, 0x20, 0x34, 0x7e, 0x16, 0x44, 0x32, 0xad, 0x4b, 0x54, 0x6e, 0x30, 0x21, 0x1c, 0xc6, - 0x6d, 0xd7, 0xab, 0x65, 0x57, 0x33, 0xd8, 0x94, 0xe5, 0x0e, 0x3d, 0xd7, 0x8b, 0x3c, 0x35, 0xae, - 0xe3, 0x92, 0x58, 0x90, 0x75, 0xfd, 0x4e, 0x20, 0x1a, 0x96, 0x2a, 0x8b, 0xc7, 0x41, 0x2f, 0x6a, - 0xb3, 0x03, 0xbf, 0x13, 0x50, 0x71, 0x46, 0xae, 0xc2, 0x72, 0x84, 0xf9, 0x17, 0xd7, 0x72, 0xc2, - 0x28, 0x05, 0xc4, 0x92, 0x59, 0xaa, 0x0e, 0xac, 0x0a, 0x94, 0xa4, 0xde, 0xca, 0xf9, 0xbf, 0x5e, - 0x84, 0x37, 0x1e, 0xb1, 0xb3, 0xed, 0x44, 0xaf, 0xc4, 0x20, 0xab, 0x50, 0xec, 0xc3, 0x0e, 0x76, - 0x54, 0x08, 0xe9, 0x20, 0x14, 0x76, 0x14, 0xf4, 0x7c, 0x9e, 0xf8, 0x50, 0x08, 0x13, 0x10, 0xaa, - 0x0e, 0xc8, 0xfb, 0x90, 0x7b, 0xc4, 0xf8, 0x59, 0x10, 0x3d, 0x17, 0x5a, 0x57, 0x9a, 0x45, 0xc4, - 0x79, 0xc4, 0x38, 0xce, 0x55, 0x34, 0x39, 0xc3, 0x61, 0x2d, 0x4c, 0x86, 0xb5, 0xec, 0xa4, 0x61, - 0x2d, 0x39, 0x25, 0x9b, 0x50, 0x6c, 0x07, 0x7e, 0xcc, 0x23, 0xdb, 0x45, 0xc1, 0x4b, 0x02, 0xf9, - 0x4d, 0x44, 0x96, 0x8e, 0xdd, 0x1e, 0x1c, 0x52, 0x1d, 0x93, 0x6c, 0x00, 0xb0, 0x97, 0x3c, 0xb2, - 0xf7, 0x83, 0xb8, 0xff, 0xb0, 0x01, 0xa4, 0x43, 0xc0, 0x41, 0x8b, 0x6a, 0xa7, 0xd6, 0x5b, 0x70, - 0x79, 0xd8, 0x22, 0xca, 0x54, 0xf7, 0xe0, 0xff, 0x28, 0xf3, 0x98, 0x1d, 0xb3, 0xf9, 0xad, 0x65, - 0x99, 0x50, 0x1b, 0x27, 0x56, 0x8c, 0xff, 0x93, 0x81, 0xe2, 0xee, 0x4b, 0xd6, 0x3e, 0x62, 0x71, - 0x6c, 0x77, 0xc5, 0xc8, 0xd8, 0x8a, 0x82, 0x36, 0x8b, 0xe3, 0x3e, 0xaf, 0x01, 0x80, 0x7c, 0x1f, - 0xb2, 0x07, 0xbe, 0xcb, 0x55, 0x7f, 0x5c, 0x4b, 0x9d, 0xd8, 0x5d, 0xae, 0x78, 0xee, 0x2f, 0x50, - 0x41, 0x45, 0xee, 0x42, 0x16, 0xab, 0xcb, 0x2c, 0x15, 0xde, 0xd1, 0x68, 0x91, 0x86, 0x6c, 0x89, - 0x2f, 0x6b, 0xee, 0x97, 0x4c, 0x79, 0x69, 0x3d, 0xbd, 0x35, 0xb9, 0x5f, 0xb2, 0x01, 0x07, 0x45, - 0x49, 0x76, 0x21, 0x77, 0xcc, 0xed, 0x88, 0x33, 0x47, 0x79, 0xef, 0x7a, 0xda, 0x04, 0x23, 0x31, - 0x07, 0x5c, 0x12, 0x5a, 0x34, 0xc2, 0xee, 0x4b, 0x97, 0xab, 0x6c, 0x48, 0x33, 0x02, 0xa2, 0x69, - 0x8a, 0xe0, 0x16, 0xa9, 0x77, 0x02, 0x9f, 0xd5, 0x72, 0x53, 0xa9, 0x11, 0x4d, 0xa3, 0xc6, 0x2d, - 0x9a, 0xe1, 0xd8, 0xed, 0xe2, 0x60, 0x98, 0x9f, 0x6a, 0x06, 0x89, 0xa8, 0x99, 0x41, 0x02, 0xb6, - 0x72, 0xb0, 0x24, 0xc6, 0x20, 0xeb, 0xb7, 0x06, 0x14, 0x35, 0x3f, 0xcd, 0x90, 0x77, 0xef, 0x40, - 0x16, 0x5f, 0xd5, 0xca, 0xff, 0x79, 0x91, 0x75, 0x8c, 0xdb, 0x54, 0x40, 0xb1, 0x70, 0xec, 0x39, - 0xb2, 0x28, 0x96, 0x29, 0x2e, 0x11, 0xf2, 0x84, 0x9f, 0x0b, 0x97, 0xe5, 0x29, 0x2e, 0xc9, 0x0d, - 0xc8, 0x1f, 0xb3, 0x76, 0x2f, 0x72, 0xf9, 0xb9, 0x70, 0x42, 0xa5, 0x59, 0x15, 0xe5, 0x44, 0xc1, - 0x44, 0x72, 0xf6, 0x31, 0xac, 0x87, 0x18, 0x9c, 0x83, 0x0b, 0x12, 0xc8, 0x6e, 0xe3, 0x43, 0x09, - 0x6f, 0x56, 0xa6, 0x62, 0x8d, 0x6f, 0xd5, 0xdd, 0x69, 0x6f, 0xd5, 0xdd, 0xe4, 0xad, 0x3a, 0xec, - 0x54, 0xec, 0x3e, 0x9a, 0x91, 0xad, 0x07, 0x50, 0xe8, 0x07, 0x1e, 0xa9, 0xc0, 0xe2, 0x9e, 0xa3, - 0x24, 0x2d, 0xee, 0x39, 0xa8, 0xca, 0xee, 0xe3, 0x3d, 0x21, 0x25, 0x4f, 0x71, 0xd9, 0x1f, 0x12, - 0x32, 0xda, 0x90, 0xb0, 0x89, 0xaf, 0x70, 0x2d, 0xfa, 0x10, 0x89, 0x06, 0x67, 0x71, 0x72, 0x65, - 0x5c, 0x4b, 0x35, 0xbc, 0x58, 0xf0, 0x12, 0x6a, 0x78, 0xb1, 0x75, 0x0d, 0xca, 0x43, 0xfe, 0x42, - 0x24, 0xf1, 0xec, 0x53, 0xb3, 0x24, 0xae, 0x37, 0x18, 0xac, 0x8c, 0x7c, 0x09, 0x22, 0xef, 0xc3, - 0xb2, 0xfc, 0xe2, 0x50, 0x5d, 0x30, 0xdf, 0xfe, 0xfa, 0x9b, 0xd5, 0x37, 0x47, 0x10, 0xe4, 0x21, - 0xa2, 0x6d, 0xf5, 0x7c, 0xc7, 0x63, 0x55, 0x63, 0x22, 0x9a, 0x3c, 0x34, 0xb3, 0xbf, 0xfa, 0xfd, - 0x95, 0x85, 0x0d, 0x1b, 0x2e, 0x8d, 0x7d, 0xc5, 0x20, 0xd7, 0x20, 0x7b, 0xcc, 0xbc, 0x4e, 0x22, - 0x66, 0x0c, 0x01, 0x0f, 0xc9, 0x55, 0xc8, 0x50, 0xfb, 0xac, 0x6a, 0x98, 0xb5, 0xaf, 0xbf, 0x59, - 0xbd, 0x3c, 0xfe, 0x29, 0xc4, 0x3e, 0x93, 0x22, 0x9a, 0x7f, 0x01, 0x28, 0x1c, 0x1e, 0x6e, 0x6d, - 0x45, 0xae, 0xd3, 0x65, 0xe4, 0x97, 0x06, 0x90, 0xf1, 0x97, 0x28, 0xb9, 0x9d, 0x9e, 0xe3, 0x93, - 0x1f, 0xe4, 0xe6, 0xc7, 0x73, 0x52, 0xa9, 0x49, 0xe3, 0x73, 0x58, 0x12, 0xe3, 0x31, 0xf9, 0x60, - 0xc6, 0x67, 0x8d, 0xb9, 0x3e, 0x1d, 0x51, 0xf1, 0x6e, 0x43, 0x3e, 0x19, 0x31, 0xc9, 0x46, 0xea, - 0xf5, 0x86, 0x26, 0x68, 0xf3, 0xc3, 0x99, 0x70, 0x95, 0x90, 0x9f, 0x42, 0x4e, 0x4d, 0x8e, 0xe4, - 0xfa, 0x14, 0xba, 0xc1, 0x0c, 0x6b, 0x6e, 0xcc, 0x82, 0x3a, 0x50, 0x23, 0x99, 0x10, 0x53, 0xd5, - 0x18, 0x99, 0x3f, 0x53, 0xd5, 0x18, 0x1b, 0x39, 0xdb, 0x83, 0x87, 0x60, 0xaa, 0x90, 0x91, 0x79, - 0x33, 0x55, 0xc8, 0xe8, 0xd8, 0x49, 0x9e, 0x42, 0x16, 0xc7, 0x4e, 0x92, 0x56, 0x7e, 0xb5, 0xb9, - 0xd4, 0x4c, 0x8b, 0x89, 0xa1, 0x79, 0xf5, 0x27, 0xd8, 0xa6, 0xc4, 0x9b, 0x3f, 0xbd, 0x41, 0x69, - 0x1f, 0xea, 0xcc, 0xeb, 0x33, 0x60, 0x0e, 0xd8, 0xab, 0xf7, 0xf2, 0xfa, 0x0c, 0x5f, 0xcb, 0xa6, - 0xb3, 0x1f, 0xf9, 0x2e, 0x17, 0x40, 0x49, 0x9f, 0x3e, 0x48, 0x3d, 0x85, 0x74, 0xc2, 0xe0, 0x66, - 0x36, 0x66, 0xc6, 0x57, 0x02, 0xbf, 0xc2, 0xb7, 0xd7, 0xf0, 0x64, 0x42, 0x9a, 0xa9, 0xe6, 0x98, - 0x38, 0x03, 0x99, 0xb7, 0xe6, 0xa2, 0x51, 0xc2, 0x6d, 0x39, 0xf9, 0xa8, 0xe9, 0x86, 0xa4, 0x37, - 0xf2, 0xfe, 0x84, 0x64, 0xce, 0x88, 0xb7, 0x6e, 0xdc, 0x34, 0x30, 0xce, 0x70, 0xe2, 0x4d, 0xe5, - 0xad, 0x3d, 0x05, 0x52, 0xe3, 0x4c, 0x1f, 0x9d, 0xb7, 0x4a, 0xdf, 0xbe, 0xba, 0x62, 0xfc, 0xfd, - 0xd5, 0x15, 0xe3, 0x5f, 0xaf, 0xae, 0x18, 0x27, 0xcb, 0xe2, 0xef, 0xc7, 0x5b, 0xff, 0x0d, 0x00, - 0x00, 0xff, 0xff, 0x76, 0x21, 0x31, 0x33, 0xd0, 0x1d, 0x00, 0x00, + // 2397 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x59, 0xcf, 0x6f, 0x1b, 0xc7, + 0xf5, 0xd7, 0x8a, 0x94, 0x48, 0x3e, 0xfe, 0x10, 0x3d, 0x71, 0xf2, 0x65, 0x16, 0x81, 0x23, 0xaf, + 0x13, 0x45, 0x56, 0x1c, 0xd2, 0x5f, 0xda, 0x81, 0x5c, 0xbb, 0x75, 0x62, 0xfd, 0x82, 0x14, 0x4b, + 0x36, 0x3b, 0x72, 0xe1, 0x22, 0x48, 0x81, 0xae, 0xb8, 0x43, 0x7a, 0xeb, 0xd5, 0xee, 0x76, 0x77, + 0x68, 0x59, 0xc9, 0xa5, 0xbd, 0x15, 0x39, 0xf5, 0xd4, 0x5b, 0x50, 0xa0, 0x05, 0x7a, 0x6e, 0x2f, + 0xbd, 0xb5, 0xe7, 0x00, 0xbd, 0xf4, 0xd2, 0x4b, 0x0f, 0x41, 0xe1, 0x3f, 0xa2, 0x40, 0x6f, 0xc5, + 0x9b, 0x99, 0x25, 0x87, 0x3f, 0xb4, 0x24, 0xeb, 0x13, 0x67, 0xde, 0xbc, 0x1f, 0x33, 0xef, 0xcd, + 0x7b, 0xef, 0x33, 0x4b, 0x28, 0x77, 0x6d, 0xce, 0xce, 0xec, 0xf3, 0x7a, 0x18, 0x05, 0x3c, 0x20, + 0x6f, 0x9f, 0x06, 0x27, 0xe7, 0xf5, 0x93, 0x9e, 0xeb, 0x39, 0xcf, 0x5d, 0x5e, 0x7f, 0xf1, 0xff, + 0xf5, 0x4e, 0x14, 0xf8, 0x9c, 0xf9, 0x8e, 0xf9, 0x51, 0xd7, 0xe5, 0xcf, 0x7a, 0x27, 0xf5, 0x76, + 0x70, 0xda, 0xe8, 0x06, 0xdd, 0xa0, 0x21, 0x24, 0x4e, 0x7a, 0x1d, 0x31, 0x13, 0x13, 0x31, 0x92, + 0x9a, 0xcc, 0xe6, 0x28, 0x7b, 0x37, 0x08, 0xba, 0x1e, 0xb3, 0x43, 0x37, 0x56, 0xc3, 0x46, 0x14, + 0xb6, 0x1b, 0x31, 0xb7, 0x79, 0x2f, 0x56, 0x32, 0x37, 0x34, 0x19, 0xdc, 0x48, 0x23, 0xd9, 0x48, + 0x23, 0x0e, 0xbc, 0x17, 0x2c, 0x6a, 0x84, 0x27, 0x8d, 0x20, 0x4c, 0xb8, 0x1b, 0x17, 0x72, 0xdb, + 0xa1, 0xdb, 0xe0, 0xe7, 0x21, 0x8b, 0x1b, 0x67, 0x41, 0xf4, 0x9c, 0x45, 0x4a, 0xe0, 0xd6, 0x85, + 0x02, 0x3d, 0xee, 0x7a, 0x28, 0xd5, 0xb6, 0xc3, 0x18, 0x8d, 0xe0, 0xaf, 0x12, 0xd2, 0x8f, 0xcd, + 0x03, 0xdf, 0x8d, 0xb9, 0xeb, 0x76, 0xdd, 0x46, 0x27, 0x16, 0x32, 0xd2, 0x0a, 0x1e, 0x42, 0xb2, + 0x5b, 0x7f, 0xcb, 0xc2, 0x32, 0x65, 0x71, 0xcf, 0xe3, 0x64, 0x0d, 0xca, 0x11, 0xeb, 0xec, 0xb0, + 0x30, 0x62, 0x6d, 0x9b, 0x33, 0xa7, 0x66, 0xac, 0x1a, 0xeb, 0x85, 0xfd, 0x05, 0x3a, 0x4c, 0x26, + 0x3f, 0x82, 0x4a, 0xc4, 0x3a, 0xb1, 0xc6, 0xb8, 0xb8, 0x6a, 0xac, 0x17, 0x9b, 0x1f, 0xd6, 0x2f, + 0x0c, 0x46, 0x9d, 0xb2, 0xce, 0x91, 0x1d, 0x0e, 0x44, 0xf6, 0x17, 0xe8, 0x88, 0x12, 0xd2, 0x84, + 0x4c, 0xc4, 0x3a, 0xb5, 0x8c, 0xd0, 0x75, 0x25, 0x5d, 0xd7, 0xfe, 0x02, 0x45, 0x66, 0xb2, 0x09, + 0x59, 0xd4, 0x52, 0xcb, 0x0a, 0xa1, 0xab, 0x53, 0x37, 0xb0, 0xbf, 0x40, 0x85, 0x00, 0x79, 0x08, + 0xf9, 0x53, 0xc6, 0x6d, 0xc7, 0xe6, 0x76, 0x0d, 0x56, 0x33, 0xeb, 0xc5, 0x66, 0x23, 0x55, 0x18, + 0x1d, 0x54, 0x3f, 0x52, 0x12, 0xbb, 0x3e, 0x8f, 0xce, 0x69, 0x5f, 0x01, 0x79, 0x0a, 0x25, 0x9b, + 0x73, 0x86, 0x5e, 0x75, 0x03, 0x3f, 0xae, 0x95, 0x84, 0xc2, 0x5b, 0xd3, 0x15, 0x3e, 0xd0, 0xa4, + 0xa4, 0xd2, 0x21, 0x45, 0xe6, 0x3d, 0x28, 0x0f, 0xd9, 0x24, 0x55, 0xc8, 0x3c, 0x67, 0xe7, 0x32, + 0x30, 0x14, 0x87, 0xe4, 0x32, 0x2c, 0xbd, 0xb0, 0xbd, 0x1e, 0x13, 0x31, 0x28, 0x51, 0x39, 0xb9, + 0xbb, 0x78, 0xc7, 0x30, 0x9f, 0xc1, 0xa5, 0x31, 0xfd, 0x13, 0x14, 0xfc, 0x40, 0x57, 0x50, 0x6c, + 0x7e, 0x90, 0xb2, 0x6b, 0x5d, 0x9d, 0x66, 0x69, 0x2b, 0x0f, 0xcb, 0x91, 0x38, 0x90, 0xf5, 0x1b, + 0x03, 0xaa, 0xa3, 0xa1, 0x26, 0x07, 0x2a, 0x48, 0x86, 0x70, 0xcb, 0xc7, 0x73, 0xdc, 0x12, 0x24, + 0x28, 0xc7, 0x08, 0x15, 0xe6, 0x26, 0x14, 0xfa, 0xa4, 0x69, 0xce, 0x28, 0x68, 0x5b, 0xb4, 0x36, + 0x21, 0x43, 0x59, 0x87, 0x54, 0x60, 0xd1, 0x55, 0xf7, 0x9a, 0x2e, 0xba, 0x0e, 0x59, 0x85, 0x8c, + 0xc3, 0x3a, 0xea, 0xe8, 0x95, 0x7a, 0x78, 0x52, 0xdf, 0x61, 0x1d, 0xd7, 0x77, 0xf1, 0x88, 0x14, + 0x97, 0xac, 0xdf, 0x19, 0x98, 0x1f, 0xb8, 0x2d, 0xf2, 0xc9, 0xd0, 0x39, 0xa6, 0xdf, 0xf6, 0xb1, + 0xdd, 0x3f, 0x4d, 0xdf, 0xfd, 0xed, 0xe1, 0x48, 0x4c, 0x49, 0x01, 0xfd, 0x74, 0x3f, 0x86, 0x92, + 0x1e, 0x1b, 0xb2, 0x0f, 0x45, 0xed, 0x1e, 0xa9, 0x0d, 0xaf, 0xcd, 0x16, 0x59, 0xaa, 0x8b, 0x5a, + 0x7f, 0xc8, 0x40, 0x51, 0x5b, 0x24, 0xf7, 0x21, 0xfb, 0xdc, 0xf5, 0xa5, 0x0b, 0x2b, 0xcd, 0x8d, + 0xd9, 0x54, 0x3e, 0x74, 0x7d, 0x87, 0x0a, 0x39, 0xd2, 0xd2, 0xf2, 0x6e, 0x51, 0x6c, 0xeb, 0xf6, + 0x6c, 0x3a, 0x2e, 0x4c, 0xbe, 0x9b, 0x73, 0x94, 0x0d, 0x59, 0x34, 0x08, 0x64, 0x43, 0x9b, 0x3f, + 0x13, 0x45, 0xa3, 0x40, 0xc5, 0x98, 0xdc, 0x84, 0x37, 0x5c, 0xff, 0x49, 0xc0, 0x83, 0x56, 0xc4, + 0x1c, 0x17, 0x2f, 0xdf, 0x93, 0xf3, 0x90, 0xd5, 0x96, 0x04, 0xcb, 0xa4, 0x25, 0xd2, 0x82, 0x8a, + 0x24, 0x1f, 0xf7, 0x4e, 0x7e, 0xc6, 0xda, 0x3c, 0xae, 0x2d, 0x8b, 0xf3, 0xac, 0xa7, 0x6c, 0xe1, + 0x40, 0x17, 0xa0, 0x23, 0xf2, 0xaf, 0x95, 0xed, 0xd6, 0x9f, 0x0c, 0x28, 0x0f, 0xa9, 0x27, 0x9f, + 0x0e, 0x85, 0xea, 0xc6, 0xac, 0xdb, 0xd2, 0x82, 0xf5, 0x19, 0x2c, 0x3b, 0x6e, 0x97, 0xc5, 0x5c, + 0x84, 0xaa, 0xb0, 0xd5, 0xfc, 0xf6, 0xbb, 0x77, 0x17, 0xfe, 0xf9, 0xdd, 0xbb, 0x1b, 0x5a, 0x8b, + 0x09, 0x42, 0xe6, 0xb7, 0x03, 0x9f, 0xdb, 0xae, 0xcf, 0x22, 0xec, 0x94, 0x1f, 0x49, 0x91, 0xfa, + 0x8e, 0xf8, 0xa1, 0x4a, 0x03, 0x3a, 0xdd, 0xb7, 0x4f, 0x99, 0x88, 0x53, 0x81, 0x8a, 0xb1, 0xc5, + 0xa1, 0x4c, 0x19, 0xef, 0x45, 0x3e, 0x65, 0x3f, 0xef, 0x21, 0xd3, 0xf7, 0x92, 0x42, 0x22, 0x36, + 0x3d, 0xad, 0xa0, 0x23, 0x23, 0x55, 0x02, 0x64, 0x1d, 0x96, 0x58, 0x14, 0x05, 0x91, 0x4a, 0x1e, + 0x52, 0x97, 0x3d, 0xbb, 0x1e, 0x85, 0xed, 0xfa, 0xb1, 0xe8, 0xd9, 0x54, 0x32, 0x58, 0x55, 0xa8, + 0x24, 0x56, 0xe3, 0x30, 0xf0, 0x63, 0x66, 0xad, 0xa0, 0xeb, 0xc2, 0x1e, 0x8f, 0xd5, 0x3e, 0xac, + 0xbf, 0x1a, 0x50, 0x49, 0x28, 0x92, 0x87, 0x7c, 0x01, 0xc5, 0x41, 0x69, 0x48, 0x6a, 0xc0, 0xdd, + 0x54, 0xa7, 0xea, 0xf2, 0x5a, 0x5d, 0x51, 0x25, 0x41, 0x57, 0x67, 0x3e, 0x82, 0xea, 0x28, 0xc3, + 0x84, 0xe8, 0xbf, 0x37, 0x5c, 0x20, 0x46, 0xeb, 0x95, 0x76, 0x1b, 0xfe, 0x61, 0xc0, 0xdb, 0x94, + 0x09, 0x10, 0x72, 0x70, 0x6a, 0x77, 0xd9, 0x76, 0xe0, 0x77, 0xdc, 0x6e, 0xe2, 0xe6, 0xaa, 0x28, + 0x86, 0x89, 0x66, 0xac, 0x8b, 0xeb, 0x90, 0x6f, 0x79, 0x36, 0xef, 0x04, 0xd1, 0xa9, 0x52, 0x5e, + 0x42, 0xe5, 0x09, 0x8d, 0xf6, 0x57, 0xc9, 0x2a, 0x14, 0x95, 0xe2, 0xa3, 0xc0, 0x49, 0xc2, 0xa9, + 0x93, 0x48, 0x0d, 0x72, 0x87, 0x41, 0xf7, 0x11, 0x06, 0x5b, 0x66, 0x58, 0x32, 0x25, 0x16, 0x94, + 0x14, 0x63, 0xd4, 0xcf, 0xae, 0x25, 0x3a, 0x44, 0x23, 0xef, 0x40, 0xe1, 0x98, 0xc5, 0xb1, 0x1b, + 0xf8, 0x07, 0x3b, 0xb5, 0x65, 0x21, 0x3f, 0x20, 0x58, 0xbf, 0x30, 0xc0, 0x9c, 0x74, 0x2e, 0x15, + 0xa4, 0xcf, 0x60, 0x59, 0x5e, 0x3b, 0x79, 0xb6, 0xff, 0xed, 0xc2, 0xca, 0x5f, 0xf2, 0x16, 0x2c, + 0x4b, 0xed, 0x2a, 0xd7, 0xd4, 0xcc, 0xfa, 0xf3, 0x12, 0x94, 0x8e, 0x71, 0x03, 0x89, 0x37, 0xeb, + 0x00, 0x83, 0x20, 0xa8, 0x8b, 0x3b, 0x1a, 0x1a, 0x8d, 0x83, 0x98, 0x90, 0xdf, 0x53, 0x97, 0x44, + 0xf5, 0xa9, 0xfe, 0x9c, 0x7c, 0x0e, 0xc5, 0x64, 0xfc, 0x38, 0xe4, 0xb5, 0x8c, 0xb8, 0x65, 0x77, + 0x52, 0x6e, 0x99, 0xbe, 0x93, 0xba, 0x26, 0xaa, 0xee, 0x98, 0x46, 0x21, 0x37, 0xe0, 0x92, 0xed, + 0x79, 0xc1, 0x99, 0x4a, 0x1c, 0x91, 0x02, 0x22, 0x04, 0x79, 0x3a, 0xbe, 0x80, 0x05, 0x51, 0x23, + 0x3e, 0x88, 0x22, 0xfb, 0x1c, 0xef, 0xcc, 0xb2, 0xe0, 0x9f, 0xb4, 0x84, 0xb5, 0x69, 0xcf, 0xf5, + 0x6d, 0xaf, 0x06, 0x82, 0x47, 0x4e, 0x30, 0xe6, 0xbb, 0x2f, 0xc3, 0x20, 0xe2, 0x2c, 0x7a, 0xc0, + 0x79, 0x54, 0x2b, 0x0a, 0x67, 0x0e, 0xd1, 0x48, 0x0b, 0x4a, 0xdb, 0x76, 0xfb, 0x19, 0x3b, 0x38, + 0x45, 0x62, 0x82, 0x9f, 0xd2, 0x2a, 0x96, 0x60, 0x7f, 0x1c, 0xea, 0xc0, 0x49, 0xd7, 0x40, 0xda, + 0x50, 0x49, 0x8e, 0x2e, 0xf3, 0xb0, 0x56, 0x16, 0x3a, 0xef, 0xcd, 0xeb, 0x4a, 0x29, 0x2d, 0x4d, + 0x8c, 0xa8, 0xc4, 0x40, 0xee, 0x62, 0xca, 0xd9, 0x9c, 0xd5, 0x2a, 0xe2, 0xcc, 0xfd, 0xb9, 0x79, + 0x1f, 0xaa, 0xa3, 0xd1, 0x98, 0x07, 0xaf, 0x98, 0x3f, 0x84, 0x37, 0x26, 0x6c, 0xe1, 0xb5, 0x6a, + 0xc2, 0x1f, 0x0d, 0xb8, 0x34, 0xe6, 0x37, 0xac, 0xcb, 0x22, 0x17, 0xa5, 0x4a, 0x31, 0x26, 0x47, + 0xb0, 0x84, 0x71, 0x89, 0x55, 0x87, 0xde, 0x9c, 0x27, 0x10, 0x75, 0x21, 0x29, 0x1d, 0x26, 0xb5, + 0x98, 0x77, 0x00, 0x06, 0xc4, 0xb9, 0x50, 0xdb, 0x17, 0x50, 0x56, 0x51, 0x51, 0x09, 0x5e, 0x95, + 0xcd, 0x5e, 0x09, 0x63, 0x33, 0x1f, 0xb4, 0x8c, 0xcc, 0x9c, 0x2d, 0xc3, 0xfa, 0x0a, 0x56, 0x28, + 0xb3, 0x9d, 0x3d, 0xd7, 0x63, 0x17, 0x57, 0x46, 0xcc, 0x56, 0xd7, 0x63, 0x2d, 0x04, 0x0c, 0x49, + 0xb6, 0xaa, 0x39, 0xb9, 0x0b, 0x4b, 0xd4, 0xf6, 0xbb, 0x4c, 0x99, 0x7e, 0x2f, 0xc5, 0xb4, 0x30, + 0x82, 0xbc, 0x54, 0x8a, 0x58, 0xf7, 0xa0, 0xd0, 0xa7, 0x61, 0xad, 0x79, 0xdc, 0xe9, 0xc4, 0x4c, + 0xd6, 0xad, 0x0c, 0x55, 0x33, 0xa4, 0x1f, 0x32, 0xbf, 0xab, 0x4c, 0x67, 0xa8, 0x9a, 0x59, 0x6b, + 0x88, 0xb2, 0x93, 0x9d, 0x2b, 0xd7, 0x10, 0xc8, 0xee, 0x20, 0xaa, 0x32, 0x44, 0x82, 0x89, 0xb1, + 0xe5, 0x60, 0xab, 0xb3, 0x9d, 0x1d, 0x37, 0xba, 0xf8, 0x80, 0x35, 0xc8, 0xed, 0xb8, 0x91, 0x76, + 0xbe, 0x64, 0x4a, 0xd6, 0xb0, 0x09, 0xb6, 0xbd, 0x9e, 0x83, 0xa7, 0xe5, 0x2c, 0xf2, 0x55, 0xb5, + 0x1f, 0xa1, 0x5a, 0x9f, 0x48, 0x3f, 0x0a, 0x2b, 0x6a, 0x33, 0x37, 0x20, 0xc7, 0x7c, 0x1e, 0xb9, + 0x2c, 0xe9, 0x94, 0xa4, 0x2e, 0x1f, 0xa0, 0x75, 0xf1, 0x00, 0x15, 0x1d, 0x99, 0x26, 0x2c, 0xd6, + 0x26, 0xac, 0x20, 0x21, 0x3d, 0x10, 0x04, 0xb2, 0xda, 0x26, 0xc5, 0xd8, 0xba, 0x0b, 0xd5, 0x81, + 0xa0, 0x32, 0xbd, 0x06, 0x59, 0x84, 0x8c, 0xaa, 0x10, 0x4f, 0xb2, 0x2b, 0xd6, 0xad, 0x6b, 0xb0, + 0x92, 0x64, 0xeb, 0x85, 0x46, 0x2d, 0x02, 0xd5, 0x01, 0x93, 0x42, 0x0b, 0x65, 0x28, 0xb6, 0x5c, + 0x3f, 0x69, 0xa6, 0xd6, 0x2b, 0x03, 0x4a, 0xad, 0xc0, 0x1f, 0x34, 0xa1, 0x16, 0xac, 0x24, 0xa9, + 0xfb, 0xa0, 0x75, 0xb0, 0x6d, 0x87, 0x89, 0x0f, 0x56, 0xc7, 0xef, 0x87, 0x7a, 0xc2, 0xd7, 0x25, + 0xe3, 0x56, 0x16, 0xfb, 0x15, 0x1d, 0x15, 0x27, 0x9f, 0x42, 0xee, 0xf0, 0x70, 0x4b, 0x68, 0x5a, + 0x9c, 0x4b, 0x53, 0x22, 0x46, 0xee, 0x43, 0xee, 0xa9, 0xf8, 0xb2, 0x10, 0xab, 0x9e, 0x32, 0xe1, + 0xae, 0x4a, 0x0f, 0x49, 0x36, 0xca, 0xda, 0x41, 0xe4, 0xd0, 0x44, 0xc8, 0xfa, 0xb7, 0x01, 0xc5, + 0xa7, 0xf6, 0x00, 0xa8, 0x0d, 0x90, 0xe1, 0x6b, 0x34, 0x5a, 0x85, 0x0c, 0x2f, 0xc3, 0x92, 0xc7, + 0x5e, 0x30, 0x4f, 0xdd, 0x71, 0x39, 0x41, 0x6a, 0xfc, 0x2c, 0x88, 0x64, 0x5a, 0x97, 0xa8, 0x9c, + 0x60, 0x42, 0x38, 0x8c, 0xdb, 0xae, 0x57, 0xcb, 0xae, 0x66, 0xb0, 0x29, 0xcb, 0x19, 0x46, 0xae, + 0x17, 0x79, 0x0a, 0xae, 0xe3, 0x90, 0x58, 0x90, 0x75, 0xfd, 0x4e, 0x20, 0x1a, 0x96, 0x2a, 0x8b, + 0xc7, 0x41, 0x2f, 0x6a, 0xb3, 0x03, 0xbf, 0x13, 0x50, 0xb1, 0x46, 0xae, 0xc2, 0x72, 0x84, 0xf9, + 0x17, 0xd7, 0x72, 0xc2, 0x29, 0x05, 0xe4, 0x92, 0x59, 0xaa, 0x16, 0xac, 0x0a, 0x94, 0xe4, 0xb9, + 0x55, 0xf0, 0x7f, 0xbd, 0x08, 0x6f, 0x3c, 0x62, 0x67, 0xdb, 0xc9, 0xb9, 0x12, 0x87, 0xac, 0x42, + 0xb1, 0x4f, 0x3b, 0xd8, 0x51, 0x57, 0x48, 0x27, 0xa1, 0xb1, 0xa3, 0xa0, 0xe7, 0xf3, 0x24, 0x86, + 0xc2, 0x98, 0xa0, 0x50, 0xb5, 0x40, 0xde, 0x87, 0xdc, 0x23, 0xc6, 0xcf, 0x82, 0xe8, 0xb9, 0x38, + 0x75, 0xa5, 0x59, 0x44, 0x9e, 0x47, 0x8c, 0x23, 0xae, 0xa2, 0xc9, 0x1a, 0x82, 0xb5, 0x30, 0x01, + 0x6b, 0xd9, 0x49, 0x60, 0x2d, 0x59, 0x25, 0x9b, 0x50, 0x6c, 0x07, 0x7e, 0xcc, 0x23, 0xdb, 0x45, + 0xc3, 0x4b, 0x82, 0xf9, 0x4d, 0x64, 0x96, 0x81, 0xdd, 0x1e, 0x2c, 0x52, 0x9d, 0x93, 0x6c, 0x00, + 0xb0, 0x97, 0x3c, 0xb2, 0xf7, 0x83, 0xb8, 0xff, 0xb0, 0x01, 0x94, 0x43, 0xc2, 0x41, 0x8b, 0x6a, + 0xab, 0xd6, 0x5b, 0x70, 0x79, 0xd8, 0x23, 0xca, 0x55, 0xf7, 0xe0, 0xff, 0x28, 0xf3, 0x98, 0x1d, + 0xb3, 0xf9, 0xbd, 0x65, 0x99, 0x50, 0x1b, 0x17, 0x56, 0x8a, 0xff, 0x93, 0x81, 0xe2, 0xee, 0x4b, + 0xd6, 0x3e, 0x62, 0x71, 0x6c, 0x77, 0x05, 0x64, 0x6c, 0x45, 0x41, 0x9b, 0xc5, 0x71, 0x5f, 0xd7, + 0x80, 0x40, 0xbe, 0x0f, 0xd9, 0x03, 0xdf, 0xe5, 0xaa, 0x3f, 0xae, 0xa5, 0x22, 0x76, 0x97, 0x2b, + 0x9d, 0xfb, 0x0b, 0x54, 0x48, 0x91, 0xbb, 0x90, 0xc5, 0xea, 0x32, 0x4b, 0x85, 0x77, 0x34, 0x59, + 0x94, 0x21, 0x5b, 0xe2, 0xcb, 0x9a, 0xfb, 0x25, 0x53, 0x51, 0x5a, 0x4f, 0x6f, 0x4d, 0xee, 0x97, + 0x6c, 0xa0, 0x41, 0x49, 0x92, 0x5d, 0xc8, 0x1d, 0x73, 0x3b, 0xe2, 0xcc, 0x51, 0xd1, 0xbb, 0x9e, + 0x86, 0x60, 0x24, 0xe7, 0x40, 0x4b, 0x22, 0x8b, 0x4e, 0xd8, 0x7d, 0xe9, 0x72, 0x95, 0x0d, 0x69, + 0x4e, 0x40, 0x36, 0xed, 0x20, 0x38, 0x45, 0xe9, 0x9d, 0xc0, 0x67, 0xb5, 0xdc, 0x54, 0x69, 0x64, + 0xd3, 0xa4, 0x71, 0x8a, 0x6e, 0x38, 0x76, 0xbb, 0x08, 0x0c, 0xf3, 0x53, 0xdd, 0x20, 0x19, 0x35, + 0x37, 0x48, 0xc2, 0x56, 0x0e, 0x96, 0x04, 0x0c, 0xb2, 0x7e, 0x6b, 0x40, 0x51, 0x8b, 0xd3, 0x0c, + 0x79, 0xf7, 0x0e, 0x64, 0xf1, 0x55, 0xad, 0xe2, 0x9f, 0x17, 0x59, 0xc7, 0xb8, 0x4d, 0x05, 0x15, + 0x0b, 0xc7, 0x9e, 0x23, 0x8b, 0x62, 0x99, 0xe2, 0x10, 0x29, 0x4f, 0xf8, 0xb9, 0x08, 0x59, 0x9e, + 0xe2, 0x90, 0xdc, 0x80, 0xfc, 0x31, 0x6b, 0xf7, 0x22, 0x97, 0x9f, 0x8b, 0x20, 0x54, 0x9a, 0x55, + 0x51, 0x4e, 0x14, 0x4d, 0x24, 0x67, 0x9f, 0xc3, 0x7a, 0x88, 0x97, 0x73, 0xb0, 0x41, 0x02, 0xd9, + 0x6d, 0x7c, 0x28, 0xe1, 0xce, 0xca, 0x54, 0x8c, 0xf1, 0xad, 0xba, 0x3b, 0xed, 0xad, 0xba, 0x9b, + 0xbc, 0x55, 0x87, 0x83, 0x8a, 0xdd, 0x47, 0x73, 0xb2, 0xf5, 0x00, 0x0a, 0xfd, 0x8b, 0x47, 0x2a, + 0xb0, 0xb8, 0xe7, 0x28, 0x4b, 0x8b, 0x7b, 0x0e, 0x1e, 0x65, 0xf7, 0xf1, 0x9e, 0xb0, 0x92, 0xa7, + 0x38, 0xec, 0x83, 0x84, 0x8c, 0x06, 0x12, 0x36, 0xf1, 0x15, 0xae, 0xdd, 0x3e, 0x64, 0xa2, 0xc1, + 0x59, 0x9c, 0x6c, 0x19, 0xc7, 0xf2, 0x18, 0x5e, 0x2c, 0x74, 0x89, 0x63, 0x78, 0xb1, 0x75, 0x0d, + 0xca, 0x43, 0xf1, 0x42, 0x26, 0xf1, 0xec, 0x53, 0x58, 0x12, 0xc7, 0x1b, 0x0c, 0x56, 0x46, 0xbe, + 0x04, 0x91, 0xf7, 0x61, 0x59, 0x7e, 0x71, 0xa8, 0x2e, 0x98, 0x6f, 0x7f, 0xfd, 0xcd, 0xea, 0x9b, + 0x23, 0x0c, 0x72, 0x11, 0xd9, 0xb6, 0x7a, 0xbe, 0xe3, 0xb1, 0xaa, 0x31, 0x91, 0x4d, 0x2e, 0x9a, + 0xd9, 0x5f, 0xfd, 0xfe, 0xca, 0xc2, 0x86, 0x0d, 0x97, 0xc6, 0xbe, 0x62, 0x90, 0x6b, 0x90, 0x3d, + 0x66, 0x5e, 0x27, 0x31, 0x33, 0xc6, 0x80, 0x8b, 0xe4, 0x2a, 0x64, 0xa8, 0x7d, 0x56, 0x35, 0xcc, + 0xda, 0xd7, 0xdf, 0xac, 0x5e, 0x1e, 0xff, 0x14, 0x62, 0x9f, 0x49, 0x13, 0xcd, 0xbf, 0x00, 0x14, + 0x0e, 0x0f, 0xb7, 0xb6, 0x22, 0xd7, 0xe9, 0x32, 0xf2, 0x4b, 0x03, 0xc8, 0xf8, 0x4b, 0x94, 0xdc, + 0x4e, 0xcf, 0xf1, 0xc9, 0x0f, 0x72, 0xf3, 0xe3, 0x39, 0xa5, 0x14, 0xd2, 0xf8, 0x1c, 0x96, 0x04, + 0x3c, 0x26, 0x1f, 0xcc, 0xf8, 0xac, 0x31, 0xd7, 0xa7, 0x33, 0x2a, 0xdd, 0x6d, 0xc8, 0x27, 0x10, + 0x93, 0x6c, 0xa4, 0x6e, 0x6f, 0x08, 0x41, 0x9b, 0x1f, 0xce, 0xc4, 0xab, 0x8c, 0xfc, 0x14, 0x72, + 0x0a, 0x39, 0x92, 0xeb, 0x53, 0xe4, 0x06, 0x18, 0xd6, 0xdc, 0x98, 0x85, 0x75, 0x70, 0x8c, 0x04, + 0x21, 0xa6, 0x1e, 0x63, 0x04, 0x7f, 0xa6, 0x1e, 0x63, 0x0c, 0x72, 0xb6, 0x07, 0x0f, 0xc1, 0x54, + 0x23, 0x23, 0x78, 0x33, 0xd5, 0xc8, 0x28, 0xec, 0x24, 0x4f, 0x21, 0x8b, 0xb0, 0x93, 0xa4, 0x95, + 0x5f, 0x0d, 0x97, 0x9a, 0x69, 0x77, 0x62, 0x08, 0xaf, 0xfe, 0x04, 0xdb, 0x94, 0x78, 0xf3, 0xa7, + 0x37, 0x28, 0xed, 0x43, 0x9d, 0x79, 0x7d, 0x06, 0xce, 0x81, 0x7a, 0xf5, 0x5e, 0x5e, 0x9f, 0xe1, + 0x6b, 0xd9, 0x74, 0xf5, 0x23, 0xdf, 0xe5, 0x02, 0x28, 0xe9, 0xe8, 0x83, 0xd4, 0x53, 0x44, 0x27, + 0x00, 0x37, 0xb3, 0x31, 0x33, 0xbf, 0x32, 0xf8, 0x15, 0xbe, 0xbd, 0x86, 0x91, 0x09, 0x69, 0xa6, + 0xba, 0x63, 0x22, 0x06, 0x32, 0x6f, 0xcd, 0x25, 0xa3, 0x8c, 0xdb, 0x12, 0xf9, 0x28, 0x74, 0x43, + 0xd2, 0x1b, 0x79, 0x1f, 0x21, 0x99, 0x33, 0xf2, 0xad, 0x1b, 0x37, 0x0d, 0xbc, 0x67, 0x88, 0x78, + 0x53, 0x75, 0x6b, 0x4f, 0x81, 0xd4, 0x7b, 0xa6, 0x43, 0xe7, 0xad, 0xd2, 0xb7, 0xaf, 0xae, 0x18, + 0x7f, 0x7f, 0x75, 0xc5, 0xf8, 0xd7, 0xab, 0x2b, 0xc6, 0xc9, 0xb2, 0xf8, 0xfb, 0xf1, 0xd6, 0x7f, + 0x03, 0x00, 0x00, 0xff, 0xff, 0x5c, 0x01, 0xa5, 0x69, 0xd0, 0x1d, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. @@ -3370,7 +3371,7 @@ func (m *Result) MarshalToSizedBuffer(dAtA []byte) (int, error) { dAtA[i] = 0xa i = encodeVarintGateway(dAtA, i, uint64(baseI-i)) i-- - dAtA[i] = 0x5a + dAtA[i] = 0x62 } } if len(m.Metadata) > 0 { @@ -6919,7 +6920,7 @@ func (m *Result) Unmarshal(dAtA []byte) error { } m.Metadata[mapkey] = mapvalue iNdEx = postIndex - case 11: + case 12: if wireType != 2 { return fmt.Errorf("proto: wrong wireType = %d for field Attestations", wireType) } diff --git a/vendor/github.com/moby/buildkit/frontend/gateway/pb/gateway.proto b/vendor/github.com/moby/buildkit/frontend/gateway/pb/gateway.proto index 7bc1520e..0a24d31f 100644 --- a/vendor/github.com/moby/buildkit/frontend/gateway/pb/gateway.proto +++ b/vendor/github.com/moby/buildkit/frontend/gateway/pb/gateway.proto @@ -50,7 +50,8 @@ message Result { RefMap refs = 4; } map metadata = 10; - map attestations = 11; + // 11 was used during development and is reserved for old attestation format + map attestations = 12; } message RefMapDeprecated { diff --git a/vendor/github.com/moby/buildkit/util/progress/multireader.go b/vendor/github.com/moby/buildkit/util/progress/multireader.go index 3f9d3781..b0d92dde 100644 --- a/vendor/github.com/moby/buildkit/util/progress/multireader.go +++ b/vendor/github.com/moby/buildkit/util/progress/multireader.go @@ -35,8 +35,13 @@ func (mr *MultiReader) Reader(ctx context.Context) Reader { isBehind := len(mr.sent) > 0 - if !isBehind { - mr.writers[w] = closeWriter + select { + case <-mr.done: + isBehind = true + default: + if !isBehind { + mr.writers[w] = closeWriter + } } go func() { @@ -74,9 +79,6 @@ func (mr *MultiReader) Reader(ctx context.Context) Reader { case <-ctx.Done(): close() return - case <-mr.done: - close() - return default: } } diff --git a/vendor/github.com/moby/buildkit/util/progress/progress.go b/vendor/github.com/moby/buildkit/util/progress/progress.go index 4fabf376..fbbb22de 100644 --- a/vendor/github.com/moby/buildkit/util/progress/progress.go +++ b/vendor/github.com/moby/buildkit/util/progress/progress.go @@ -118,12 +118,22 @@ func (pr *progressReader) Read(ctx context.Context) ([]*Progress, error) { done := make(chan struct{}) defer close(done) go func() { - select { - case <-done: - case <-ctx.Done(): - pr.mu.Lock() - pr.cond.Broadcast() - pr.mu.Unlock() + prdone := pr.ctx.Done() + for { + select { + case <-done: + return + case <-ctx.Done(): + pr.mu.Lock() + pr.cond.Broadcast() + pr.mu.Unlock() + return + case <-prdone: + pr.mu.Lock() + pr.cond.Broadcast() + pr.mu.Unlock() + prdone = nil + } } }() pr.mu.Lock() diff --git a/vendor/github.com/moby/buildkit/util/tracing/detect/detect.go b/vendor/github.com/moby/buildkit/util/tracing/detect/detect.go index fdce9260..e005b14d 100644 --- a/vendor/github.com/moby/buildkit/util/tracing/detect/detect.go +++ b/vendor/github.com/moby/buildkit/util/tracing/detect/detect.go @@ -24,6 +24,7 @@ type detector struct { } var ServiceName string +var Recorder *TraceRecorder var detectors map[string]detector var once sync.Once @@ -80,6 +81,11 @@ func detect() error { return err } + if Recorder != nil { + Recorder.SpanExporter = exp + exp = Recorder + } + if exp == nil { return nil } @@ -98,6 +104,10 @@ func detect() error { sp := sdktrace.NewBatchSpanProcessor(exp) + if Recorder != nil { + Recorder.flush = sp.ForceFlush + } + sdktp := sdktrace.NewTracerProvider(sdktrace.WithSpanProcessor(sp), sdktrace.WithResource(res)) closers = append(closers, sdktp.Shutdown) diff --git a/vendor/github.com/moby/buildkit/util/tracing/detect/recorder.go b/vendor/github.com/moby/buildkit/util/tracing/detect/recorder.go new file mode 100644 index 00000000..08f1bfcd --- /dev/null +++ b/vendor/github.com/moby/buildkit/util/tracing/detect/recorder.go @@ -0,0 +1,115 @@ +package detect + +import ( + "context" + "sync" + "time" + + sdktrace "go.opentelemetry.io/otel/sdk/trace" + "go.opentelemetry.io/otel/sdk/trace/tracetest" + "go.opentelemetry.io/otel/trace" +) + +type TraceRecorder struct { + sdktrace.SpanExporter + + mu sync.Mutex + m map[trace.TraceID]*stubs + listeners map[trace.TraceID]int + flush func(context.Context) error +} + +type stubs struct { + spans []tracetest.SpanStub + last time.Time +} + +func NewTraceRecorder() *TraceRecorder { + tr := &TraceRecorder{ + m: map[trace.TraceID]*stubs{}, + listeners: map[trace.TraceID]int{}, + } + + go func() { + t := time.NewTimer(60 * time.Second) + for { + <-t.C + tr.gc() + t.Reset(50 * time.Second) + } + }() + + return tr +} + +func (r *TraceRecorder) Record(traceID trace.TraceID) func() []tracetest.SpanStub { + if r.flush != nil { + r.flush(context.TODO()) + } + + r.mu.Lock() + defer r.mu.Unlock() + + r.listeners[traceID]++ + var once sync.Once + var spans []tracetest.SpanStub + return func() []tracetest.SpanStub { + once.Do(func() { + r.mu.Lock() + defer r.mu.Unlock() + + if v, ok := r.m[traceID]; ok { + spans = v.spans + } + r.listeners[traceID]-- + if r.listeners[traceID] == 0 { + delete(r.listeners, traceID) + } + }) + return spans + } +} + +func (r *TraceRecorder) gc() { + r.mu.Lock() + defer r.mu.Unlock() + + now := time.Now() + for k, s := range r.m { + if _, ok := r.listeners[k]; ok { + continue + } + if now.Sub(s.last) > 60*time.Second { + delete(r.m, k) + } + } +} + +func (r *TraceRecorder) ExportSpans(ctx context.Context, spans []sdktrace.ReadOnlySpan) error { + r.mu.Lock() + + now := time.Now() + for _, s := range spans { + ss := tracetest.SpanStubFromReadOnlySpan(s) + v, ok := r.m[ss.SpanContext.TraceID()] + if !ok { + v = &stubs{} + r.m[s.SpanContext().TraceID()] = v + } + v.last = now + v.spans = append(v.spans, ss) + } + r.mu.Unlock() + + if r.SpanExporter == nil { + return nil + } + return r.SpanExporter.ExportSpans(ctx, spans) +} + +func (r *TraceRecorder) Shutdown(ctx context.Context) error { + if r.SpanExporter == nil { + return nil + } + return r.SpanExporter.Shutdown(ctx) +} diff --git a/vendor/go.opentelemetry.io/otel/sdk/trace/tracetest/exporter.go b/vendor/go.opentelemetry.io/otel/sdk/trace/tracetest/exporter.go new file mode 100644 index 00000000..104489e7 --- /dev/null +++ b/vendor/go.opentelemetry.io/otel/sdk/trace/tracetest/exporter.go @@ -0,0 +1,85 @@ +// Copyright The OpenTelemetry Authors +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Package tracetest is a testing helper package for the SDK. User can +// configure no-op or in-memory exporters to verify different SDK behaviors or +// custom instrumentation. +package tracetest // import "go.opentelemetry.io/otel/sdk/trace/tracetest" + +import ( + "context" + "sync" + + "go.opentelemetry.io/otel/sdk/trace" +) + +var _ trace.SpanExporter = (*NoopExporter)(nil) + +// NewNoopExporter returns a new no-op exporter. +func NewNoopExporter() *NoopExporter { + return new(NoopExporter) +} + +// NoopExporter is an exporter that drops all received spans and performs no +// action. +type NoopExporter struct{} + +// ExportSpans handles export of spans by dropping them. +func (nsb *NoopExporter) ExportSpans(context.Context, []trace.ReadOnlySpan) error { return nil } + +// Shutdown stops the exporter by doing nothing. +func (nsb *NoopExporter) Shutdown(context.Context) error { return nil } + +var _ trace.SpanExporter = (*InMemoryExporter)(nil) + +// NewInMemoryExporter returns a new InMemoryExporter. +func NewInMemoryExporter() *InMemoryExporter { + return new(InMemoryExporter) +} + +// InMemoryExporter is an exporter that stores all received spans in-memory. +type InMemoryExporter struct { + mu sync.Mutex + ss SpanStubs +} + +// ExportSpans handles export of spans by storing them in memory. +func (imsb *InMemoryExporter) ExportSpans(_ context.Context, spans []trace.ReadOnlySpan) error { + imsb.mu.Lock() + defer imsb.mu.Unlock() + imsb.ss = append(imsb.ss, SpanStubsFromReadOnlySpans(spans)...) + return nil +} + +// Shutdown stops the exporter by clearing spans held in memory. +func (imsb *InMemoryExporter) Shutdown(context.Context) error { + imsb.Reset() + return nil +} + +// Reset the current in-memory storage. +func (imsb *InMemoryExporter) Reset() { + imsb.mu.Lock() + defer imsb.mu.Unlock() + imsb.ss = nil +} + +// GetSpans returns the current in-memory stored spans. +func (imsb *InMemoryExporter) GetSpans() SpanStubs { + imsb.mu.Lock() + defer imsb.mu.Unlock() + ret := make(SpanStubs, len(imsb.ss)) + copy(ret, imsb.ss) + return ret +} diff --git a/vendor/go.opentelemetry.io/otel/sdk/trace/tracetest/recorder.go b/vendor/go.opentelemetry.io/otel/sdk/trace/tracetest/recorder.go new file mode 100644 index 00000000..dcf32c14 --- /dev/null +++ b/vendor/go.opentelemetry.io/otel/sdk/trace/tracetest/recorder.go @@ -0,0 +1,91 @@ +// Copyright The OpenTelemetry Authors +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package tracetest // import "go.opentelemetry.io/otel/sdk/trace/tracetest" + +import ( + "context" + "sync" + + sdktrace "go.opentelemetry.io/otel/sdk/trace" +) + +// SpanRecorder records started and ended spans. +type SpanRecorder struct { + startedMu sync.RWMutex + started []sdktrace.ReadWriteSpan + + endedMu sync.RWMutex + ended []sdktrace.ReadOnlySpan +} + +var _ sdktrace.SpanProcessor = (*SpanRecorder)(nil) + +func NewSpanRecorder() *SpanRecorder { + return new(SpanRecorder) +} + +// OnStart records started spans. +// +// This method is safe to be called concurrently. +func (sr *SpanRecorder) OnStart(_ context.Context, s sdktrace.ReadWriteSpan) { + sr.startedMu.Lock() + defer sr.startedMu.Unlock() + sr.started = append(sr.started, s) +} + +// OnEnd records completed spans. +// +// This method is safe to be called concurrently. +func (sr *SpanRecorder) OnEnd(s sdktrace.ReadOnlySpan) { + sr.endedMu.Lock() + defer sr.endedMu.Unlock() + sr.ended = append(sr.ended, s) +} + +// Shutdown does nothing. +// +// This method is safe to be called concurrently. +func (sr *SpanRecorder) Shutdown(context.Context) error { + return nil +} + +// ForceFlush does nothing. +// +// This method is safe to be called concurrently. +func (sr *SpanRecorder) ForceFlush(context.Context) error { + return nil +} + +// Started returns a copy of all started spans that have been recorded. +// +// This method is safe to be called concurrently. +func (sr *SpanRecorder) Started() []sdktrace.ReadWriteSpan { + sr.startedMu.RLock() + defer sr.startedMu.RUnlock() + dst := make([]sdktrace.ReadWriteSpan, len(sr.started)) + copy(dst, sr.started) + return dst +} + +// Ended returns a copy of all ended spans that have been recorded. +// +// This method is safe to be called concurrently. +func (sr *SpanRecorder) Ended() []sdktrace.ReadOnlySpan { + sr.endedMu.RLock() + defer sr.endedMu.RUnlock() + dst := make([]sdktrace.ReadOnlySpan, len(sr.ended)) + copy(dst, sr.ended) + return dst +} diff --git a/vendor/go.opentelemetry.io/otel/sdk/trace/tracetest/span.go b/vendor/go.opentelemetry.io/otel/sdk/trace/tracetest/span.go new file mode 100644 index 00000000..ece4633c --- /dev/null +++ b/vendor/go.opentelemetry.io/otel/sdk/trace/tracetest/span.go @@ -0,0 +1,163 @@ +// Copyright The OpenTelemetry Authors +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package tracetest // import "go.opentelemetry.io/otel/sdk/trace/tracetest" + +import ( + "time" + + "go.opentelemetry.io/otel/attribute" + "go.opentelemetry.io/otel/sdk/instrumentation" + "go.opentelemetry.io/otel/sdk/resource" + tracesdk "go.opentelemetry.io/otel/sdk/trace" + "go.opentelemetry.io/otel/trace" +) + +type SpanStubs []SpanStub + +// SpanStubsFromReadOnlySpans returns SpanStubs populated from ro. +func SpanStubsFromReadOnlySpans(ro []tracesdk.ReadOnlySpan) SpanStubs { + if len(ro) == 0 { + return nil + } + + s := make(SpanStubs, 0, len(ro)) + for _, r := range ro { + s = append(s, SpanStubFromReadOnlySpan(r)) + } + + return s +} + +// Snapshots returns s as a slice of ReadOnlySpans. +func (s SpanStubs) Snapshots() []tracesdk.ReadOnlySpan { + if len(s) == 0 { + return nil + } + + ro := make([]tracesdk.ReadOnlySpan, len(s)) + for i := 0; i < len(s); i++ { + ro[i] = s[i].Snapshot() + } + return ro +} + +// SpanStub is a stand-in for a Span. +type SpanStub struct { + Name string + SpanContext trace.SpanContext + Parent trace.SpanContext + SpanKind trace.SpanKind + StartTime time.Time + EndTime time.Time + Attributes []attribute.KeyValue + Events []tracesdk.Event + Links []tracesdk.Link + Status tracesdk.Status + DroppedAttributes int + DroppedEvents int + DroppedLinks int + ChildSpanCount int + Resource *resource.Resource + InstrumentationLibrary instrumentation.Library +} + +// SpanStubFromReadOnlySpan returns a SpanStub populated from ro. +func SpanStubFromReadOnlySpan(ro tracesdk.ReadOnlySpan) SpanStub { + if ro == nil { + return SpanStub{} + } + + return SpanStub{ + Name: ro.Name(), + SpanContext: ro.SpanContext(), + Parent: ro.Parent(), + SpanKind: ro.SpanKind(), + StartTime: ro.StartTime(), + EndTime: ro.EndTime(), + Attributes: ro.Attributes(), + Events: ro.Events(), + Links: ro.Links(), + Status: ro.Status(), + DroppedAttributes: ro.DroppedAttributes(), + DroppedEvents: ro.DroppedEvents(), + DroppedLinks: ro.DroppedLinks(), + ChildSpanCount: ro.ChildSpanCount(), + Resource: ro.Resource(), + InstrumentationLibrary: ro.InstrumentationLibrary(), + } +} + +// Snapshot returns a read-only copy of the SpanStub. +func (s SpanStub) Snapshot() tracesdk.ReadOnlySpan { + return spanSnapshot{ + name: s.Name, + spanContext: s.SpanContext, + parent: s.Parent, + spanKind: s.SpanKind, + startTime: s.StartTime, + endTime: s.EndTime, + attributes: s.Attributes, + events: s.Events, + links: s.Links, + status: s.Status, + droppedAttributes: s.DroppedAttributes, + droppedEvents: s.DroppedEvents, + droppedLinks: s.DroppedLinks, + childSpanCount: s.ChildSpanCount, + resource: s.Resource, + instrumentationLibrary: s.InstrumentationLibrary, + } +} + +type spanSnapshot struct { + // Embed the interface to implement the private method. + tracesdk.ReadOnlySpan + + name string + spanContext trace.SpanContext + parent trace.SpanContext + spanKind trace.SpanKind + startTime time.Time + endTime time.Time + attributes []attribute.KeyValue + events []tracesdk.Event + links []tracesdk.Link + status tracesdk.Status + droppedAttributes int + droppedEvents int + droppedLinks int + childSpanCount int + resource *resource.Resource + instrumentationLibrary instrumentation.Library +} + +func (s spanSnapshot) Name() string { return s.name } +func (s spanSnapshot) SpanContext() trace.SpanContext { return s.spanContext } +func (s spanSnapshot) Parent() trace.SpanContext { return s.parent } +func (s spanSnapshot) SpanKind() trace.SpanKind { return s.spanKind } +func (s spanSnapshot) StartTime() time.Time { return s.startTime } +func (s spanSnapshot) EndTime() time.Time { return s.endTime } +func (s spanSnapshot) Attributes() []attribute.KeyValue { return s.attributes } +func (s spanSnapshot) Links() []tracesdk.Link { return s.links } +func (s spanSnapshot) Events() []tracesdk.Event { return s.events } +func (s spanSnapshot) Status() tracesdk.Status { return s.status } +func (s spanSnapshot) DroppedAttributes() int { return s.droppedAttributes } +func (s spanSnapshot) DroppedLinks() int { return s.droppedLinks } +func (s spanSnapshot) DroppedEvents() int { return s.droppedEvents } +func (s spanSnapshot) ChildSpanCount() int { return s.childSpanCount } +func (s spanSnapshot) Resource() *resource.Resource { return s.resource } +func (s spanSnapshot) InstrumentationLibrary() instrumentation.Library { + return s.instrumentationLibrary +} diff --git a/vendor/modules.txt b/vendor/modules.txt index 0f9d1e7b..a67671f2 100644 --- a/vendor/modules.txt +++ b/vendor/modules.txt @@ -433,7 +433,7 @@ github.com/mitchellh/go-wordwrap # github.com/mitchellh/mapstructure v1.5.0 ## explicit; go 1.14 github.com/mitchellh/mapstructure -# github.com/moby/buildkit v0.11.0-rc1.0.20221213104201-93b40706a007 +# github.com/moby/buildkit v0.11.0-rc1.0.20221213193744-862b22d7e7cf ## explicit; go 1.18 github.com/moby/buildkit/api/services/control github.com/moby/buildkit/api/types @@ -684,6 +684,7 @@ go.opentelemetry.io/otel/sdk/internal go.opentelemetry.io/otel/sdk/internal/env go.opentelemetry.io/otel/sdk/resource go.opentelemetry.io/otel/sdk/trace +go.opentelemetry.io/otel/sdk/trace/tracetest # go.opentelemetry.io/otel/trace v1.4.1 ## explicit; go 1.16 go.opentelemetry.io/otel/trace