diff --git a/googleapis/api/annotations/resource.pb.go b/googleapis/api/annotations/resource.pb.go index d1d8eb54a3..17048707d9 100644 --- a/googleapis/api/annotations/resource.pb.go +++ b/googleapis/api/annotations/resource.pb.go @@ -82,12 +82,12 @@ func (ResourceDescriptor_History) EnumDescriptor() ([]byte, []int) { // // The ResourceDescriptor Yaml config will look like: // -// resources: -// - type: "pubsub.googleapis.com/Topic" -// name_descriptor: -// - pattern: "projects/{project}/topics/{topic}" -// parent_type: "cloudresourcemanager.googleapis.com/Project" -// parent_name_extractor: "projects/{project}" +// resources: +// - type: "pubsub.googleapis.com/Topic" +// name_descriptor: +// - pattern: "projects/{project}/topics/{topic}" +// parent_type: "cloudresourcemanager.googleapis.com/Project" +// parent_name_extractor: "projects/{project}" // // Sometimes, resources have multiple patterns, typically because they can // live under multiple parents. @@ -317,11 +317,11 @@ type ResourceReference struct { // // Example: // - // message ListLogEntriesRequest { - // string parent = 1 [(google.api.resource_reference) = { - // child_type: "logging.googleapis.com/LogEntry" - // }; - // } + // message ListLogEntriesRequest { + // string parent = 1 [(google.api.resource_reference) = { + // child_type: "logging.googleapis.com/LogEntry" + // }; + // } ChildType string `protobuf:"bytes,2,opt,name=child_type,json=childType,proto3" json:"child_type,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` diff --git a/googleapis/cloud/datacatalog/v1/common.pb.go b/googleapis/cloud/datacatalog/v1/common.pb.go new file mode 100644 index 0000000000..75f1a245b9 --- /dev/null +++ b/googleapis/cloud/datacatalog/v1/common.pb.go @@ -0,0 +1,81 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// source: google/cloud/datacatalog/v1/common.proto + +package datacatalog + +import ( + fmt "fmt" + math "math" + + proto "github.com/golang/protobuf/proto" +) + +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the proto package it is being compiled against. +// A compilation error at this line likely means your copy of the +// proto package needs to be updated. +const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package + +// This enum describes all the possible systems that Data Catalog integrates +// with. +type IntegratedSystem int32 + +const ( + // Default unknown system. + IntegratedSystem_INTEGRATED_SYSTEM_UNSPECIFIED IntegratedSystem = 0 + // BigQuery. + IntegratedSystem_BIGQUERY IntegratedSystem = 1 + // Cloud Pub/Sub. + IntegratedSystem_CLOUD_PUBSUB IntegratedSystem = 2 +) + +var IntegratedSystem_name = map[int32]string{ + 0: "INTEGRATED_SYSTEM_UNSPECIFIED", + 1: "BIGQUERY", + 2: "CLOUD_PUBSUB", +} + +var IntegratedSystem_value = map[string]int32{ + "INTEGRATED_SYSTEM_UNSPECIFIED": 0, + "BIGQUERY": 1, + "CLOUD_PUBSUB": 2, +} + +func (x IntegratedSystem) String() string { + return proto.EnumName(IntegratedSystem_name, int32(x)) +} + +func (IntegratedSystem) EnumDescriptor() ([]byte, []int) { + return fileDescriptor_fec73966e023eb05, []int{0} +} + +func init() { + proto.RegisterEnum("google.cloud.datacatalog.v1.IntegratedSystem", IntegratedSystem_name, IntegratedSystem_value) +} + +func init() { + proto.RegisterFile("google/cloud/datacatalog/v1/common.proto", fileDescriptor_fec73966e023eb05) +} + +var fileDescriptor_fec73966e023eb05 = []byte{ + // 219 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0xd2, 0x48, 0xcf, 0xcf, 0x4f, + 0xcf, 0x49, 0xd5, 0x4f, 0xce, 0xc9, 0x2f, 0x4d, 0xd1, 0x4f, 0x49, 0x2c, 0x49, 0x4c, 0x4e, 0x2c, + 0x49, 0xcc, 0xc9, 0x4f, 0xd7, 0x2f, 0x33, 0xd4, 0x4f, 0xce, 0xcf, 0xcd, 0xcd, 0xcf, 0xd3, 0x2b, + 0x28, 0xca, 0x2f, 0xc9, 0x17, 0x92, 0x86, 0xa8, 0xd4, 0x03, 0xab, 0xd4, 0x43, 0x52, 0xa9, 0x57, + 0x66, 0xa8, 0x15, 0xca, 0x25, 0xe0, 0x99, 0x57, 0x92, 0x9a, 0x5e, 0x94, 0x58, 0x92, 0x9a, 0x12, + 0x5c, 0x59, 0x5c, 0x92, 0x9a, 0x2b, 0xa4, 0xc8, 0x25, 0xeb, 0xe9, 0x17, 0xe2, 0xea, 0x1e, 0xe4, + 0x18, 0xe2, 0xea, 0x12, 0x1f, 0x1c, 0x19, 0x1c, 0xe2, 0xea, 0x1b, 0x1f, 0xea, 0x17, 0x1c, 0xe0, + 0xea, 0xec, 0xe9, 0xe6, 0xe9, 0xea, 0x22, 0xc0, 0x20, 0xc4, 0xc3, 0xc5, 0xe1, 0xe4, 0xe9, 0x1e, + 0x18, 0xea, 0x1a, 0x14, 0x29, 0xc0, 0x28, 0x24, 0xc0, 0xc5, 0xe3, 0xec, 0xe3, 0x1f, 0xea, 0x12, + 0x1f, 0x10, 0xea, 0x14, 0x1c, 0xea, 0x24, 0xc0, 0xe4, 0x94, 0xc7, 0x25, 0x9f, 0x9c, 0x9f, 0xab, + 0x87, 0xc7, 0xe6, 0x00, 0xc6, 0x28, 0x37, 0xa8, 0x74, 0x7a, 0x7e, 0x4e, 0x62, 0x5e, 0xba, 0x5e, + 0x7e, 0x51, 0xba, 0x7e, 0x7a, 0x6a, 0x1e, 0xd8, 0xd1, 0xfa, 0x10, 0xa9, 0xc4, 0x82, 0xcc, 0x62, + 0xac, 0x3e, 0xb4, 0x46, 0xe2, 0xfe, 0x60, 0x64, 0x4c, 0x62, 0x03, 0xeb, 0x32, 0x06, 0x04, 0x00, + 0x00, 0xff, 0xff, 0x29, 0x41, 0xc8, 0x6b, 0x16, 0x01, 0x00, 0x00, +} diff --git a/googleapis/cloud/datacatalog/v1/datacatalog.pb.go b/googleapis/cloud/datacatalog/v1/datacatalog.pb.go new file mode 100644 index 0000000000..d3339f521b --- /dev/null +++ b/googleapis/cloud/datacatalog/v1/datacatalog.pb.go @@ -0,0 +1,3728 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// source: google/cloud/datacatalog/v1/datacatalog.proto + +package datacatalog + +import ( + context "context" + fmt "fmt" + math "math" + + proto "github.com/golang/protobuf/proto" + empty "github.com/golang/protobuf/ptypes/empty" + _ "google.golang.org/genproto/googleapis/api/annotations" + v1 "google.golang.org/genproto/googleapis/iam/v1" + field_mask "google.golang.org/genproto/protobuf/field_mask" + grpc "google.golang.org/grpc" + codes "google.golang.org/grpc/codes" + status "google.golang.org/grpc/status" +) + +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the proto package it is being compiled against. +// A compilation error at this line likely means your copy of the +// proto package needs to be updated. +const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package + +// Entry resources in Data Catalog can be of different types e.g. a BigQuery +// Table entry is of type `TABLE`. This enum describes all the possible types +// Data Catalog contains. +type EntryType int32 + +const ( + // Default unknown type. + EntryType_ENTRY_TYPE_UNSPECIFIED EntryType = 0 + // Output only. The type of entry that has a GoogleSQL schema, including + // logical views. + EntryType_TABLE EntryType = 2 + // Output only. The type of models, examples include + // https://cloud.google.com/bigquery-ml/docs/bigqueryml-intro + EntryType_MODEL EntryType = 5 + // Output only. An entry type which is used for streaming entries. Example: + // Cloud Pub/Sub topic. + EntryType_DATA_STREAM EntryType = 3 + // An entry type which is a set of files or objects. Example: + // Cloud Storage fileset. + EntryType_FILESET EntryType = 4 +) + +var EntryType_name = map[int32]string{ + 0: "ENTRY_TYPE_UNSPECIFIED", + 2: "TABLE", + 5: "MODEL", + 3: "DATA_STREAM", + 4: "FILESET", +} + +var EntryType_value = map[string]int32{ + "ENTRY_TYPE_UNSPECIFIED": 0, + "TABLE": 2, + "MODEL": 5, + "DATA_STREAM": 3, + "FILESET": 4, +} + +func (x EntryType) String() string { + return proto.EnumName(EntryType_name, int32(x)) +} + +func (EntryType) EnumDescriptor() ([]byte, []int) { + return fileDescriptor_432e04443b4c65a3, []int{0} +} + +// Request message for +// [SearchCatalog][google.cloud.datacatalog.v1.DataCatalog.SearchCatalog]. +type SearchCatalogRequest struct { + // Required. The scope of this search request. A `scope` that has empty + // `include_org_ids`, `include_project_ids` AND false + // `include_gcp_public_datasets` is considered invalid. Data Catalog will + // return an error in such a case. + Scope *SearchCatalogRequest_Scope `protobuf:"bytes,6,opt,name=scope,proto3" json:"scope,omitempty"` + // Required. The query string in search query syntax. The query must be non-empty. + // + // Query strings can be simple as "x" or more qualified as: + // + // * name:x + // * column:x + // * description:y + // + // Note: Query tokens need to have a minimum of 3 characters for substring + // matching to work correctly. See [Data Catalog Search + // Syntax](/data-catalog/docs/how-to/search-reference) for more information. + Query string `protobuf:"bytes,1,opt,name=query,proto3" json:"query,omitempty"` + // Number of results in the search page. If <=0 then defaults to 10. Max limit + // for page_size is 1000. Throws an invalid argument for page_size > 1000. + PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` + // Optional. Pagination token returned in an earlier + // [SearchCatalogResponse.next_page_token][google.cloud.datacatalog.v1.SearchCatalogResponse.next_page_token], which + // indicates that this is a continuation of a prior + // [SearchCatalogRequest][google.cloud.datacatalog.v1.DataCatalog.SearchCatalog] + // call, and that the system should return the next page of data. If empty, + // the first page is returned. + PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` + // Specifies the ordering of results, currently supported case-sensitive + // choices are: + // + // * `relevance`, only supports descending + // * `last_modified_timestamp [asc|desc]`, defaults to descending if not + // specified + // + // If not specified, defaults to `relevance` descending. + OrderBy string `protobuf:"bytes,5,opt,name=order_by,json=orderBy,proto3" json:"order_by,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *SearchCatalogRequest) Reset() { *m = SearchCatalogRequest{} } +func (m *SearchCatalogRequest) String() string { return proto.CompactTextString(m) } +func (*SearchCatalogRequest) ProtoMessage() {} +func (*SearchCatalogRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_432e04443b4c65a3, []int{0} +} + +func (m *SearchCatalogRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_SearchCatalogRequest.Unmarshal(m, b) +} +func (m *SearchCatalogRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_SearchCatalogRequest.Marshal(b, m, deterministic) +} +func (m *SearchCatalogRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_SearchCatalogRequest.Merge(m, src) +} +func (m *SearchCatalogRequest) XXX_Size() int { + return xxx_messageInfo_SearchCatalogRequest.Size(m) +} +func (m *SearchCatalogRequest) XXX_DiscardUnknown() { + xxx_messageInfo_SearchCatalogRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_SearchCatalogRequest proto.InternalMessageInfo + +func (m *SearchCatalogRequest) GetScope() *SearchCatalogRequest_Scope { + if m != nil { + return m.Scope + } + return nil +} + +func (m *SearchCatalogRequest) GetQuery() string { + if m != nil { + return m.Query + } + return "" +} + +func (m *SearchCatalogRequest) GetPageSize() int32 { + if m != nil { + return m.PageSize + } + return 0 +} + +func (m *SearchCatalogRequest) GetPageToken() string { + if m != nil { + return m.PageToken + } + return "" +} + +func (m *SearchCatalogRequest) GetOrderBy() string { + if m != nil { + return m.OrderBy + } + return "" +} + +// The criteria that select the subspace used for query matching. +type SearchCatalogRequest_Scope struct { + // The list of organization IDs to search within. To find your organization + // ID, follow instructions in + // https://cloud.google.com/resource-manager/docs/creating-managing-organization. + IncludeOrgIds []string `protobuf:"bytes,2,rep,name=include_org_ids,json=includeOrgIds,proto3" json:"include_org_ids,omitempty"` + // The list of project IDs to search within. To learn more about the + // distinction between project names/IDs/numbers, go to + // https://cloud.google.com/docs/overview/#projects. + IncludeProjectIds []string `protobuf:"bytes,3,rep,name=include_project_ids,json=includeProjectIds,proto3" json:"include_project_ids,omitempty"` + // If `true`, include Google Cloud Platform (GCP) public datasets in the + // search results. Info on GCP public datasets is available at + // https://cloud.google.com/public-datasets/. By default, GCP public + // datasets are excluded. + IncludeGcpPublicDatasets bool `protobuf:"varint,7,opt,name=include_gcp_public_datasets,json=includeGcpPublicDatasets,proto3" json:"include_gcp_public_datasets,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *SearchCatalogRequest_Scope) Reset() { *m = SearchCatalogRequest_Scope{} } +func (m *SearchCatalogRequest_Scope) String() string { return proto.CompactTextString(m) } +func (*SearchCatalogRequest_Scope) ProtoMessage() {} +func (*SearchCatalogRequest_Scope) Descriptor() ([]byte, []int) { + return fileDescriptor_432e04443b4c65a3, []int{0, 0} +} + +func (m *SearchCatalogRequest_Scope) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_SearchCatalogRequest_Scope.Unmarshal(m, b) +} +func (m *SearchCatalogRequest_Scope) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_SearchCatalogRequest_Scope.Marshal(b, m, deterministic) +} +func (m *SearchCatalogRequest_Scope) XXX_Merge(src proto.Message) { + xxx_messageInfo_SearchCatalogRequest_Scope.Merge(m, src) +} +func (m *SearchCatalogRequest_Scope) XXX_Size() int { + return xxx_messageInfo_SearchCatalogRequest_Scope.Size(m) +} +func (m *SearchCatalogRequest_Scope) XXX_DiscardUnknown() { + xxx_messageInfo_SearchCatalogRequest_Scope.DiscardUnknown(m) +} + +var xxx_messageInfo_SearchCatalogRequest_Scope proto.InternalMessageInfo + +func (m *SearchCatalogRequest_Scope) GetIncludeOrgIds() []string { + if m != nil { + return m.IncludeOrgIds + } + return nil +} + +func (m *SearchCatalogRequest_Scope) GetIncludeProjectIds() []string { + if m != nil { + return m.IncludeProjectIds + } + return nil +} + +func (m *SearchCatalogRequest_Scope) GetIncludeGcpPublicDatasets() bool { + if m != nil { + return m.IncludeGcpPublicDatasets + } + return false +} + +// Response message for +// [SearchCatalog][google.cloud.datacatalog.v1.DataCatalog.SearchCatalog]. +type SearchCatalogResponse struct { + // Search results. + Results []*SearchCatalogResult `protobuf:"bytes,1,rep,name=results,proto3" json:"results,omitempty"` + // The token that can be used to retrieve the next page of results. + NextPageToken string `protobuf:"bytes,3,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *SearchCatalogResponse) Reset() { *m = SearchCatalogResponse{} } +func (m *SearchCatalogResponse) String() string { return proto.CompactTextString(m) } +func (*SearchCatalogResponse) ProtoMessage() {} +func (*SearchCatalogResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_432e04443b4c65a3, []int{1} +} + +func (m *SearchCatalogResponse) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_SearchCatalogResponse.Unmarshal(m, b) +} +func (m *SearchCatalogResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_SearchCatalogResponse.Marshal(b, m, deterministic) +} +func (m *SearchCatalogResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_SearchCatalogResponse.Merge(m, src) +} +func (m *SearchCatalogResponse) XXX_Size() int { + return xxx_messageInfo_SearchCatalogResponse.Size(m) +} +func (m *SearchCatalogResponse) XXX_DiscardUnknown() { + xxx_messageInfo_SearchCatalogResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_SearchCatalogResponse proto.InternalMessageInfo + +func (m *SearchCatalogResponse) GetResults() []*SearchCatalogResult { + if m != nil { + return m.Results + } + return nil +} + +func (m *SearchCatalogResponse) GetNextPageToken() string { + if m != nil { + return m.NextPageToken + } + return "" +} + +// Request message for +// [CreateEntryGroup][google.cloud.datacatalog.v1.DataCatalog.CreateEntryGroup]. +type CreateEntryGroupRequest struct { + // Required. The name of the project this entry group is in. Example: + // + // * projects/{project_id}/locations/{location} + // + // Note that this EntryGroup and its child resources may not actually be + // stored in the location in this name. + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Required. The id of the entry group to create. + // The id must begin with a letter or underscore, contain only English + // letters, numbers and underscores, and be at most 64 characters. + EntryGroupId string `protobuf:"bytes,3,opt,name=entry_group_id,json=entryGroupId,proto3" json:"entry_group_id,omitempty"` + // The entry group to create. Defaults to an empty entry group. + EntryGroup *EntryGroup `protobuf:"bytes,2,opt,name=entry_group,json=entryGroup,proto3" json:"entry_group,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *CreateEntryGroupRequest) Reset() { *m = CreateEntryGroupRequest{} } +func (m *CreateEntryGroupRequest) String() string { return proto.CompactTextString(m) } +func (*CreateEntryGroupRequest) ProtoMessage() {} +func (*CreateEntryGroupRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_432e04443b4c65a3, []int{2} +} + +func (m *CreateEntryGroupRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_CreateEntryGroupRequest.Unmarshal(m, b) +} +func (m *CreateEntryGroupRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_CreateEntryGroupRequest.Marshal(b, m, deterministic) +} +func (m *CreateEntryGroupRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_CreateEntryGroupRequest.Merge(m, src) +} +func (m *CreateEntryGroupRequest) XXX_Size() int { + return xxx_messageInfo_CreateEntryGroupRequest.Size(m) +} +func (m *CreateEntryGroupRequest) XXX_DiscardUnknown() { + xxx_messageInfo_CreateEntryGroupRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_CreateEntryGroupRequest proto.InternalMessageInfo + +func (m *CreateEntryGroupRequest) GetParent() string { + if m != nil { + return m.Parent + } + return "" +} + +func (m *CreateEntryGroupRequest) GetEntryGroupId() string { + if m != nil { + return m.EntryGroupId + } + return "" +} + +func (m *CreateEntryGroupRequest) GetEntryGroup() *EntryGroup { + if m != nil { + return m.EntryGroup + } + return nil +} + +// Request message for +// [UpdateEntryGroup][google.cloud.datacatalog.v1.DataCatalog.UpdateEntryGroup]. +type UpdateEntryGroupRequest struct { + // Required. The updated entry group. "name" field must be set. + EntryGroup *EntryGroup `protobuf:"bytes,1,opt,name=entry_group,json=entryGroup,proto3" json:"entry_group,omitempty"` + // The fields to update on the entry group. If absent or empty, all modifiable + // fields are updated. + UpdateMask *field_mask.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *UpdateEntryGroupRequest) Reset() { *m = UpdateEntryGroupRequest{} } +func (m *UpdateEntryGroupRequest) String() string { return proto.CompactTextString(m) } +func (*UpdateEntryGroupRequest) ProtoMessage() {} +func (*UpdateEntryGroupRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_432e04443b4c65a3, []int{3} +} + +func (m *UpdateEntryGroupRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_UpdateEntryGroupRequest.Unmarshal(m, b) +} +func (m *UpdateEntryGroupRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_UpdateEntryGroupRequest.Marshal(b, m, deterministic) +} +func (m *UpdateEntryGroupRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_UpdateEntryGroupRequest.Merge(m, src) +} +func (m *UpdateEntryGroupRequest) XXX_Size() int { + return xxx_messageInfo_UpdateEntryGroupRequest.Size(m) +} +func (m *UpdateEntryGroupRequest) XXX_DiscardUnknown() { + xxx_messageInfo_UpdateEntryGroupRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_UpdateEntryGroupRequest proto.InternalMessageInfo + +func (m *UpdateEntryGroupRequest) GetEntryGroup() *EntryGroup { + if m != nil { + return m.EntryGroup + } + return nil +} + +func (m *UpdateEntryGroupRequest) GetUpdateMask() *field_mask.FieldMask { + if m != nil { + return m.UpdateMask + } + return nil +} + +// Request message for +// [GetEntryGroup][google.cloud.datacatalog.v1.DataCatalog.GetEntryGroup]. +type GetEntryGroupRequest struct { + // Required. The name of the entry group. For example, + // `projects/{project_id}/locations/{location}/entryGroups/{entry_group_id}`. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // The fields to return. If not set or empty, all fields are returned. + ReadMask *field_mask.FieldMask `protobuf:"bytes,2,opt,name=read_mask,json=readMask,proto3" json:"read_mask,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *GetEntryGroupRequest) Reset() { *m = GetEntryGroupRequest{} } +func (m *GetEntryGroupRequest) String() string { return proto.CompactTextString(m) } +func (*GetEntryGroupRequest) ProtoMessage() {} +func (*GetEntryGroupRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_432e04443b4c65a3, []int{4} +} + +func (m *GetEntryGroupRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetEntryGroupRequest.Unmarshal(m, b) +} +func (m *GetEntryGroupRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetEntryGroupRequest.Marshal(b, m, deterministic) +} +func (m *GetEntryGroupRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetEntryGroupRequest.Merge(m, src) +} +func (m *GetEntryGroupRequest) XXX_Size() int { + return xxx_messageInfo_GetEntryGroupRequest.Size(m) +} +func (m *GetEntryGroupRequest) XXX_DiscardUnknown() { + xxx_messageInfo_GetEntryGroupRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_GetEntryGroupRequest proto.InternalMessageInfo + +func (m *GetEntryGroupRequest) GetName() string { + if m != nil { + return m.Name + } + return "" +} + +func (m *GetEntryGroupRequest) GetReadMask() *field_mask.FieldMask { + if m != nil { + return m.ReadMask + } + return nil +} + +// Request message for +// [DeleteEntryGroup][google.cloud.datacatalog.v1.DataCatalog.DeleteEntryGroup]. +type DeleteEntryGroupRequest struct { + // Required. The name of the entry group. For example, + // `projects/{project_id}/locations/{location}/entryGroups/{entry_group_id}`. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Optional. If true, deletes all entries in the entry group. + Force bool `protobuf:"varint,2,opt,name=force,proto3" json:"force,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *DeleteEntryGroupRequest) Reset() { *m = DeleteEntryGroupRequest{} } +func (m *DeleteEntryGroupRequest) String() string { return proto.CompactTextString(m) } +func (*DeleteEntryGroupRequest) ProtoMessage() {} +func (*DeleteEntryGroupRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_432e04443b4c65a3, []int{5} +} + +func (m *DeleteEntryGroupRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_DeleteEntryGroupRequest.Unmarshal(m, b) +} +func (m *DeleteEntryGroupRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_DeleteEntryGroupRequest.Marshal(b, m, deterministic) +} +func (m *DeleteEntryGroupRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_DeleteEntryGroupRequest.Merge(m, src) +} +func (m *DeleteEntryGroupRequest) XXX_Size() int { + return xxx_messageInfo_DeleteEntryGroupRequest.Size(m) +} +func (m *DeleteEntryGroupRequest) XXX_DiscardUnknown() { + xxx_messageInfo_DeleteEntryGroupRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_DeleteEntryGroupRequest proto.InternalMessageInfo + +func (m *DeleteEntryGroupRequest) GetName() string { + if m != nil { + return m.Name + } + return "" +} + +func (m *DeleteEntryGroupRequest) GetForce() bool { + if m != nil { + return m.Force + } + return false +} + +// Request message for +// [ListEntryGroups][google.cloud.datacatalog.v1.DataCatalog.ListEntryGroups]. +type ListEntryGroupsRequest struct { + // Required. The name of the location that contains the entry groups, which can be + // provided in URL format. Example: + // + // * projects/{project_id}/locations/{location} + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Optional. The maximum number of items to return. Default is 10. Max limit is 1000. + // Throws an invalid argument for `page_size > 1000`. + PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` + // Optional. Token that specifies which page is requested. If empty, the first page is + // returned. + PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *ListEntryGroupsRequest) Reset() { *m = ListEntryGroupsRequest{} } +func (m *ListEntryGroupsRequest) String() string { return proto.CompactTextString(m) } +func (*ListEntryGroupsRequest) ProtoMessage() {} +func (*ListEntryGroupsRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_432e04443b4c65a3, []int{6} +} + +func (m *ListEntryGroupsRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ListEntryGroupsRequest.Unmarshal(m, b) +} +func (m *ListEntryGroupsRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ListEntryGroupsRequest.Marshal(b, m, deterministic) +} +func (m *ListEntryGroupsRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_ListEntryGroupsRequest.Merge(m, src) +} +func (m *ListEntryGroupsRequest) XXX_Size() int { + return xxx_messageInfo_ListEntryGroupsRequest.Size(m) +} +func (m *ListEntryGroupsRequest) XXX_DiscardUnknown() { + xxx_messageInfo_ListEntryGroupsRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_ListEntryGroupsRequest proto.InternalMessageInfo + +func (m *ListEntryGroupsRequest) GetParent() string { + if m != nil { + return m.Parent + } + return "" +} + +func (m *ListEntryGroupsRequest) GetPageSize() int32 { + if m != nil { + return m.PageSize + } + return 0 +} + +func (m *ListEntryGroupsRequest) GetPageToken() string { + if m != nil { + return m.PageToken + } + return "" +} + +// Response message for +// [ListEntryGroups][google.cloud.datacatalog.v1.DataCatalog.ListEntryGroups]. +type ListEntryGroupsResponse struct { + // EntryGroup details. + EntryGroups []*EntryGroup `protobuf:"bytes,1,rep,name=entry_groups,json=entryGroups,proto3" json:"entry_groups,omitempty"` + // Token to retrieve the next page of results. It is set to empty if no items + // remain in results. + NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *ListEntryGroupsResponse) Reset() { *m = ListEntryGroupsResponse{} } +func (m *ListEntryGroupsResponse) String() string { return proto.CompactTextString(m) } +func (*ListEntryGroupsResponse) ProtoMessage() {} +func (*ListEntryGroupsResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_432e04443b4c65a3, []int{7} +} + +func (m *ListEntryGroupsResponse) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ListEntryGroupsResponse.Unmarshal(m, b) +} +func (m *ListEntryGroupsResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ListEntryGroupsResponse.Marshal(b, m, deterministic) +} +func (m *ListEntryGroupsResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_ListEntryGroupsResponse.Merge(m, src) +} +func (m *ListEntryGroupsResponse) XXX_Size() int { + return xxx_messageInfo_ListEntryGroupsResponse.Size(m) +} +func (m *ListEntryGroupsResponse) XXX_DiscardUnknown() { + xxx_messageInfo_ListEntryGroupsResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_ListEntryGroupsResponse proto.InternalMessageInfo + +func (m *ListEntryGroupsResponse) GetEntryGroups() []*EntryGroup { + if m != nil { + return m.EntryGroups + } + return nil +} + +func (m *ListEntryGroupsResponse) GetNextPageToken() string { + if m != nil { + return m.NextPageToken + } + return "" +} + +// Request message for +// [CreateEntry][google.cloud.datacatalog.v1.DataCatalog.CreateEntry]. +type CreateEntryRequest struct { + // Required. The name of the entry group this entry is in. Example: + // + // * projects/{project_id}/locations/{location}/entryGroups/{entry_group_id} + // + // Note that this Entry and its child resources may not actually be stored in + // the location in this name. + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Required. The id of the entry to create. + EntryId string `protobuf:"bytes,3,opt,name=entry_id,json=entryId,proto3" json:"entry_id,omitempty"` + // Required. The entry to create. + Entry *Entry `protobuf:"bytes,2,opt,name=entry,proto3" json:"entry,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *CreateEntryRequest) Reset() { *m = CreateEntryRequest{} } +func (m *CreateEntryRequest) String() string { return proto.CompactTextString(m) } +func (*CreateEntryRequest) ProtoMessage() {} +func (*CreateEntryRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_432e04443b4c65a3, []int{8} +} + +func (m *CreateEntryRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_CreateEntryRequest.Unmarshal(m, b) +} +func (m *CreateEntryRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_CreateEntryRequest.Marshal(b, m, deterministic) +} +func (m *CreateEntryRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_CreateEntryRequest.Merge(m, src) +} +func (m *CreateEntryRequest) XXX_Size() int { + return xxx_messageInfo_CreateEntryRequest.Size(m) +} +func (m *CreateEntryRequest) XXX_DiscardUnknown() { + xxx_messageInfo_CreateEntryRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_CreateEntryRequest proto.InternalMessageInfo + +func (m *CreateEntryRequest) GetParent() string { + if m != nil { + return m.Parent + } + return "" +} + +func (m *CreateEntryRequest) GetEntryId() string { + if m != nil { + return m.EntryId + } + return "" +} + +func (m *CreateEntryRequest) GetEntry() *Entry { + if m != nil { + return m.Entry + } + return nil +} + +// Request message for +// [UpdateEntry][google.cloud.datacatalog.v1.DataCatalog.UpdateEntry]. +type UpdateEntryRequest struct { + // Required. The updated entry. The "name" field must be set. + Entry *Entry `protobuf:"bytes,1,opt,name=entry,proto3" json:"entry,omitempty"` + // The fields to update on the entry. If absent or empty, all modifiable + // fields are updated. + // + // The following fields are modifiable: + // * For entries with type `DATA_STREAM`: + // * `schema` + // * For entries with type `FILESET` + // * `schema` + // * `display_name` + // * `description` + // * `gcs_fileset_spec` + // * `gcs_fileset_spec.file_patterns` + // * For entries with `user_specified_type` + // * `schema` + // * `display_name` + // * `description` + // * user_specified_type + // * user_specified_system + // * linked_resource + // * source_system_timestamps + UpdateMask *field_mask.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *UpdateEntryRequest) Reset() { *m = UpdateEntryRequest{} } +func (m *UpdateEntryRequest) String() string { return proto.CompactTextString(m) } +func (*UpdateEntryRequest) ProtoMessage() {} +func (*UpdateEntryRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_432e04443b4c65a3, []int{9} +} + +func (m *UpdateEntryRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_UpdateEntryRequest.Unmarshal(m, b) +} +func (m *UpdateEntryRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_UpdateEntryRequest.Marshal(b, m, deterministic) +} +func (m *UpdateEntryRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_UpdateEntryRequest.Merge(m, src) +} +func (m *UpdateEntryRequest) XXX_Size() int { + return xxx_messageInfo_UpdateEntryRequest.Size(m) +} +func (m *UpdateEntryRequest) XXX_DiscardUnknown() { + xxx_messageInfo_UpdateEntryRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_UpdateEntryRequest proto.InternalMessageInfo + +func (m *UpdateEntryRequest) GetEntry() *Entry { + if m != nil { + return m.Entry + } + return nil +} + +func (m *UpdateEntryRequest) GetUpdateMask() *field_mask.FieldMask { + if m != nil { + return m.UpdateMask + } + return nil +} + +// Request message for +// [DeleteEntry][google.cloud.datacatalog.v1.DataCatalog.DeleteEntry]. +type DeleteEntryRequest struct { + // Required. The name of the entry. Example: + // + // * projects/{project_id}/locations/{location}/entryGroups/{entry_group_id}/entries/{entry_id} + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *DeleteEntryRequest) Reset() { *m = DeleteEntryRequest{} } +func (m *DeleteEntryRequest) String() string { return proto.CompactTextString(m) } +func (*DeleteEntryRequest) ProtoMessage() {} +func (*DeleteEntryRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_432e04443b4c65a3, []int{10} +} + +func (m *DeleteEntryRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_DeleteEntryRequest.Unmarshal(m, b) +} +func (m *DeleteEntryRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_DeleteEntryRequest.Marshal(b, m, deterministic) +} +func (m *DeleteEntryRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_DeleteEntryRequest.Merge(m, src) +} +func (m *DeleteEntryRequest) XXX_Size() int { + return xxx_messageInfo_DeleteEntryRequest.Size(m) +} +func (m *DeleteEntryRequest) XXX_DiscardUnknown() { + xxx_messageInfo_DeleteEntryRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_DeleteEntryRequest proto.InternalMessageInfo + +func (m *DeleteEntryRequest) GetName() string { + if m != nil { + return m.Name + } + return "" +} + +// Request message for +// [GetEntry][google.cloud.datacatalog.v1.DataCatalog.GetEntry]. +type GetEntryRequest struct { + // Required. The name of the entry. Example: + // + // * projects/{project_id}/locations/{location}/entryGroups/{entry_group_id}/entries/{entry_id} + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *GetEntryRequest) Reset() { *m = GetEntryRequest{} } +func (m *GetEntryRequest) String() string { return proto.CompactTextString(m) } +func (*GetEntryRequest) ProtoMessage() {} +func (*GetEntryRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_432e04443b4c65a3, []int{11} +} + +func (m *GetEntryRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetEntryRequest.Unmarshal(m, b) +} +func (m *GetEntryRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetEntryRequest.Marshal(b, m, deterministic) +} +func (m *GetEntryRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetEntryRequest.Merge(m, src) +} +func (m *GetEntryRequest) XXX_Size() int { + return xxx_messageInfo_GetEntryRequest.Size(m) +} +func (m *GetEntryRequest) XXX_DiscardUnknown() { + xxx_messageInfo_GetEntryRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_GetEntryRequest proto.InternalMessageInfo + +func (m *GetEntryRequest) GetName() string { + if m != nil { + return m.Name + } + return "" +} + +// Request message for +// [LookupEntry][google.cloud.datacatalog.v1.DataCatalog.LookupEntry]. +type LookupEntryRequest struct { + // Required. Represents either the Google Cloud Platform resource or SQL name + // for a Google Cloud Platform resource. + // + // Types that are valid to be assigned to TargetName: + // *LookupEntryRequest_LinkedResource + // *LookupEntryRequest_SqlResource + TargetName isLookupEntryRequest_TargetName `protobuf_oneof:"target_name"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *LookupEntryRequest) Reset() { *m = LookupEntryRequest{} } +func (m *LookupEntryRequest) String() string { return proto.CompactTextString(m) } +func (*LookupEntryRequest) ProtoMessage() {} +func (*LookupEntryRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_432e04443b4c65a3, []int{12} +} + +func (m *LookupEntryRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_LookupEntryRequest.Unmarshal(m, b) +} +func (m *LookupEntryRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_LookupEntryRequest.Marshal(b, m, deterministic) +} +func (m *LookupEntryRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_LookupEntryRequest.Merge(m, src) +} +func (m *LookupEntryRequest) XXX_Size() int { + return xxx_messageInfo_LookupEntryRequest.Size(m) +} +func (m *LookupEntryRequest) XXX_DiscardUnknown() { + xxx_messageInfo_LookupEntryRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_LookupEntryRequest proto.InternalMessageInfo + +type isLookupEntryRequest_TargetName interface { + isLookupEntryRequest_TargetName() +} + +type LookupEntryRequest_LinkedResource struct { + LinkedResource string `protobuf:"bytes,1,opt,name=linked_resource,json=linkedResource,proto3,oneof"` +} + +type LookupEntryRequest_SqlResource struct { + SqlResource string `protobuf:"bytes,3,opt,name=sql_resource,json=sqlResource,proto3,oneof"` +} + +func (*LookupEntryRequest_LinkedResource) isLookupEntryRequest_TargetName() {} + +func (*LookupEntryRequest_SqlResource) isLookupEntryRequest_TargetName() {} + +func (m *LookupEntryRequest) GetTargetName() isLookupEntryRequest_TargetName { + if m != nil { + return m.TargetName + } + return nil +} + +func (m *LookupEntryRequest) GetLinkedResource() string { + if x, ok := m.GetTargetName().(*LookupEntryRequest_LinkedResource); ok { + return x.LinkedResource + } + return "" +} + +func (m *LookupEntryRequest) GetSqlResource() string { + if x, ok := m.GetTargetName().(*LookupEntryRequest_SqlResource); ok { + return x.SqlResource + } + return "" +} + +// XXX_OneofWrappers is for the internal use of the proto package. +func (*LookupEntryRequest) XXX_OneofWrappers() []interface{} { + return []interface{}{ + (*LookupEntryRequest_LinkedResource)(nil), + (*LookupEntryRequest_SqlResource)(nil), + } +} + +// Entry Metadata. +// A Data Catalog Entry resource represents another resource in Google +// Cloud Platform (such as a BigQuery dataset or a Cloud Pub/Sub topic) or +// outside of Google Cloud Platform. Clients can use the `linked_resource` field +// in the Entry resource to refer to the original resource ID of the source +// system. +// +// An Entry resource contains resource details, such as its schema. An Entry can +// also be used to attach flexible metadata, such as a +// [Tag][google.cloud.datacatalog.v1.Tag]. +type Entry struct { + // The Data Catalog resource name of the entry in URL format. Example: + // + // * projects/{project_id}/locations/{location}/entryGroups/{entry_group_id}/entries/{entry_id} + // + // Note that this Entry and its child resources may not actually be stored in + // the location in this name. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // The resource this metadata entry refers to. + // + // For Google Cloud Platform resources, `linked_resource` is the [full name of + // the + // resource](https://cloud.google.com/apis/design/resource_names#full_resource_name). + // For example, the `linked_resource` for a table resource from BigQuery is: + // + // * //bigquery.googleapis.com/projects/projectId/datasets/datasetId/tables/tableId + // + // Output only when Entry is of type in the EntryType enum. For entries with + // user_specified_type, this field is optional and defaults to an empty + // string. + LinkedResource string `protobuf:"bytes,9,opt,name=linked_resource,json=linkedResource,proto3" json:"linked_resource,omitempty"` + // Required. Entry type. + // + // Types that are valid to be assigned to EntryType: + // *Entry_Type + // *Entry_UserSpecifiedType + EntryType isEntry_EntryType `protobuf_oneof:"entry_type"` + // The source system of the entry. + // + // Types that are valid to be assigned to System: + // *Entry_IntegratedSystem + // *Entry_UserSpecifiedSystem + System isEntry_System `protobuf_oneof:"system"` + // Type specification information. + // + // Types that are valid to be assigned to TypeSpec: + // *Entry_GcsFilesetSpec + // *Entry_BigqueryTableSpec + // *Entry_BigqueryDateShardedSpec + TypeSpec isEntry_TypeSpec `protobuf_oneof:"type_spec"` + // Display information such as title and description. A short name to identify + // the entry, for example, "Analytics Data - Jan 2011". Default value is an + // empty string. + DisplayName string `protobuf:"bytes,3,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` + // Entry description, which can consist of several sentences or paragraphs + // that describe entry contents. Default value is an empty string. + Description string `protobuf:"bytes,4,opt,name=description,proto3" json:"description,omitempty"` + // Schema of the entry. An entry might not have any schema attached to it. + Schema *Schema `protobuf:"bytes,5,opt,name=schema,proto3" json:"schema,omitempty"` + // Timestamps about the underlying resource, not about this Data Catalog + // entry. Output only when Entry is of type in the EntryType enum. For entries + // with user_specified_type, this field is optional and defaults to an empty + // timestamp. + SourceSystemTimestamps *SystemTimestamps `protobuf:"bytes,7,opt,name=source_system_timestamps,json=sourceSystemTimestamps,proto3" json:"source_system_timestamps,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *Entry) Reset() { *m = Entry{} } +func (m *Entry) String() string { return proto.CompactTextString(m) } +func (*Entry) ProtoMessage() {} +func (*Entry) Descriptor() ([]byte, []int) { + return fileDescriptor_432e04443b4c65a3, []int{13} +} + +func (m *Entry) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_Entry.Unmarshal(m, b) +} +func (m *Entry) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_Entry.Marshal(b, m, deterministic) +} +func (m *Entry) XXX_Merge(src proto.Message) { + xxx_messageInfo_Entry.Merge(m, src) +} +func (m *Entry) XXX_Size() int { + return xxx_messageInfo_Entry.Size(m) +} +func (m *Entry) XXX_DiscardUnknown() { + xxx_messageInfo_Entry.DiscardUnknown(m) +} + +var xxx_messageInfo_Entry proto.InternalMessageInfo + +func (m *Entry) GetName() string { + if m != nil { + return m.Name + } + return "" +} + +func (m *Entry) GetLinkedResource() string { + if m != nil { + return m.LinkedResource + } + return "" +} + +type isEntry_EntryType interface { + isEntry_EntryType() +} + +type Entry_Type struct { + Type EntryType `protobuf:"varint,2,opt,name=type,proto3,enum=google.cloud.datacatalog.v1.EntryType,oneof"` +} + +type Entry_UserSpecifiedType struct { + UserSpecifiedType string `protobuf:"bytes,16,opt,name=user_specified_type,json=userSpecifiedType,proto3,oneof"` +} + +func (*Entry_Type) isEntry_EntryType() {} + +func (*Entry_UserSpecifiedType) isEntry_EntryType() {} + +func (m *Entry) GetEntryType() isEntry_EntryType { + if m != nil { + return m.EntryType + } + return nil +} + +func (m *Entry) GetType() EntryType { + if x, ok := m.GetEntryType().(*Entry_Type); ok { + return x.Type + } + return EntryType_ENTRY_TYPE_UNSPECIFIED +} + +func (m *Entry) GetUserSpecifiedType() string { + if x, ok := m.GetEntryType().(*Entry_UserSpecifiedType); ok { + return x.UserSpecifiedType + } + return "" +} + +type isEntry_System interface { + isEntry_System() +} + +type Entry_IntegratedSystem struct { + IntegratedSystem IntegratedSystem `protobuf:"varint,17,opt,name=integrated_system,json=integratedSystem,proto3,enum=google.cloud.datacatalog.v1.IntegratedSystem,oneof"` +} + +type Entry_UserSpecifiedSystem struct { + UserSpecifiedSystem string `protobuf:"bytes,18,opt,name=user_specified_system,json=userSpecifiedSystem,proto3,oneof"` +} + +func (*Entry_IntegratedSystem) isEntry_System() {} + +func (*Entry_UserSpecifiedSystem) isEntry_System() {} + +func (m *Entry) GetSystem() isEntry_System { + if m != nil { + return m.System + } + return nil +} + +func (m *Entry) GetIntegratedSystem() IntegratedSystem { + if x, ok := m.GetSystem().(*Entry_IntegratedSystem); ok { + return x.IntegratedSystem + } + return IntegratedSystem_INTEGRATED_SYSTEM_UNSPECIFIED +} + +func (m *Entry) GetUserSpecifiedSystem() string { + if x, ok := m.GetSystem().(*Entry_UserSpecifiedSystem); ok { + return x.UserSpecifiedSystem + } + return "" +} + +type isEntry_TypeSpec interface { + isEntry_TypeSpec() +} + +type Entry_GcsFilesetSpec struct { + GcsFilesetSpec *GcsFilesetSpec `protobuf:"bytes,6,opt,name=gcs_fileset_spec,json=gcsFilesetSpec,proto3,oneof"` +} + +type Entry_BigqueryTableSpec struct { + BigqueryTableSpec *BigQueryTableSpec `protobuf:"bytes,12,opt,name=bigquery_table_spec,json=bigqueryTableSpec,proto3,oneof"` +} + +type Entry_BigqueryDateShardedSpec struct { + BigqueryDateShardedSpec *BigQueryDateShardedSpec `protobuf:"bytes,15,opt,name=bigquery_date_sharded_spec,json=bigqueryDateShardedSpec,proto3,oneof"` +} + +func (*Entry_GcsFilesetSpec) isEntry_TypeSpec() {} + +func (*Entry_BigqueryTableSpec) isEntry_TypeSpec() {} + +func (*Entry_BigqueryDateShardedSpec) isEntry_TypeSpec() {} + +func (m *Entry) GetTypeSpec() isEntry_TypeSpec { + if m != nil { + return m.TypeSpec + } + return nil +} + +func (m *Entry) GetGcsFilesetSpec() *GcsFilesetSpec { + if x, ok := m.GetTypeSpec().(*Entry_GcsFilesetSpec); ok { + return x.GcsFilesetSpec + } + return nil +} + +func (m *Entry) GetBigqueryTableSpec() *BigQueryTableSpec { + if x, ok := m.GetTypeSpec().(*Entry_BigqueryTableSpec); ok { + return x.BigqueryTableSpec + } + return nil +} + +func (m *Entry) GetBigqueryDateShardedSpec() *BigQueryDateShardedSpec { + if x, ok := m.GetTypeSpec().(*Entry_BigqueryDateShardedSpec); ok { + return x.BigqueryDateShardedSpec + } + return nil +} + +func (m *Entry) GetDisplayName() string { + if m != nil { + return m.DisplayName + } + return "" +} + +func (m *Entry) GetDescription() string { + if m != nil { + return m.Description + } + return "" +} + +func (m *Entry) GetSchema() *Schema { + if m != nil { + return m.Schema + } + return nil +} + +func (m *Entry) GetSourceSystemTimestamps() *SystemTimestamps { + if m != nil { + return m.SourceSystemTimestamps + } + return nil +} + +// XXX_OneofWrappers is for the internal use of the proto package. +func (*Entry) XXX_OneofWrappers() []interface{} { + return []interface{}{ + (*Entry_Type)(nil), + (*Entry_UserSpecifiedType)(nil), + (*Entry_IntegratedSystem)(nil), + (*Entry_UserSpecifiedSystem)(nil), + (*Entry_GcsFilesetSpec)(nil), + (*Entry_BigqueryTableSpec)(nil), + (*Entry_BigqueryDateShardedSpec)(nil), + } +} + +// EntryGroup Metadata. +// An EntryGroup resource represents a logical grouping of zero or more +// Data Catalog [Entry][google.cloud.datacatalog.v1.Entry] resources. +type EntryGroup struct { + // The resource name of the entry group in URL format. Example: + // + // * projects/{project_id}/locations/{location}/entryGroups/{entry_group_id} + // + // Note that this EntryGroup and its child resources may not actually be + // stored in the location in this name. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // A short name to identify the entry group, for example, + // "analytics data - jan 2011". Default value is an empty string. + DisplayName string `protobuf:"bytes,2,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` + // Entry group description, which can consist of several sentences or + // paragraphs that describe entry group contents. Default value is an empty + // string. + Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"` + // Output only. Timestamps about this EntryGroup. Default value is empty timestamps. + DataCatalogTimestamps *SystemTimestamps `protobuf:"bytes,4,opt,name=data_catalog_timestamps,json=dataCatalogTimestamps,proto3" json:"data_catalog_timestamps,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *EntryGroup) Reset() { *m = EntryGroup{} } +func (m *EntryGroup) String() string { return proto.CompactTextString(m) } +func (*EntryGroup) ProtoMessage() {} +func (*EntryGroup) Descriptor() ([]byte, []int) { + return fileDescriptor_432e04443b4c65a3, []int{14} +} + +func (m *EntryGroup) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_EntryGroup.Unmarshal(m, b) +} +func (m *EntryGroup) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_EntryGroup.Marshal(b, m, deterministic) +} +func (m *EntryGroup) XXX_Merge(src proto.Message) { + xxx_messageInfo_EntryGroup.Merge(m, src) +} +func (m *EntryGroup) XXX_Size() int { + return xxx_messageInfo_EntryGroup.Size(m) +} +func (m *EntryGroup) XXX_DiscardUnknown() { + xxx_messageInfo_EntryGroup.DiscardUnknown(m) +} + +var xxx_messageInfo_EntryGroup proto.InternalMessageInfo + +func (m *EntryGroup) GetName() string { + if m != nil { + return m.Name + } + return "" +} + +func (m *EntryGroup) GetDisplayName() string { + if m != nil { + return m.DisplayName + } + return "" +} + +func (m *EntryGroup) GetDescription() string { + if m != nil { + return m.Description + } + return "" +} + +func (m *EntryGroup) GetDataCatalogTimestamps() *SystemTimestamps { + if m != nil { + return m.DataCatalogTimestamps + } + return nil +} + +// Request message for +// [CreateTagTemplate][google.cloud.datacatalog.v1.DataCatalog.CreateTagTemplate]. +type CreateTagTemplateRequest struct { + // Required. The name of the project and the template location + // [region](/compute/docs/regions-zones/#available). + // NOTE: Currently, only the `us-central1 region` is supported. + // + // Example: + // + // * projects/{project_id}/locations/us-central1 + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Required. The id of the tag template to create. + TagTemplateId string `protobuf:"bytes,3,opt,name=tag_template_id,json=tagTemplateId,proto3" json:"tag_template_id,omitempty"` + // Required. The tag template to create. + TagTemplate *TagTemplate `protobuf:"bytes,2,opt,name=tag_template,json=tagTemplate,proto3" json:"tag_template,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *CreateTagTemplateRequest) Reset() { *m = CreateTagTemplateRequest{} } +func (m *CreateTagTemplateRequest) String() string { return proto.CompactTextString(m) } +func (*CreateTagTemplateRequest) ProtoMessage() {} +func (*CreateTagTemplateRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_432e04443b4c65a3, []int{15} +} + +func (m *CreateTagTemplateRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_CreateTagTemplateRequest.Unmarshal(m, b) +} +func (m *CreateTagTemplateRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_CreateTagTemplateRequest.Marshal(b, m, deterministic) +} +func (m *CreateTagTemplateRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_CreateTagTemplateRequest.Merge(m, src) +} +func (m *CreateTagTemplateRequest) XXX_Size() int { + return xxx_messageInfo_CreateTagTemplateRequest.Size(m) +} +func (m *CreateTagTemplateRequest) XXX_DiscardUnknown() { + xxx_messageInfo_CreateTagTemplateRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_CreateTagTemplateRequest proto.InternalMessageInfo + +func (m *CreateTagTemplateRequest) GetParent() string { + if m != nil { + return m.Parent + } + return "" +} + +func (m *CreateTagTemplateRequest) GetTagTemplateId() string { + if m != nil { + return m.TagTemplateId + } + return "" +} + +func (m *CreateTagTemplateRequest) GetTagTemplate() *TagTemplate { + if m != nil { + return m.TagTemplate + } + return nil +} + +// Request message for +// [GetTagTemplate][google.cloud.datacatalog.v1.DataCatalog.GetTagTemplate]. +type GetTagTemplateRequest struct { + // Required. The name of the tag template. Example: + // + // * projects/{project_id}/locations/{location}/tagTemplates/{tag_template_id} + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *GetTagTemplateRequest) Reset() { *m = GetTagTemplateRequest{} } +func (m *GetTagTemplateRequest) String() string { return proto.CompactTextString(m) } +func (*GetTagTemplateRequest) ProtoMessage() {} +func (*GetTagTemplateRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_432e04443b4c65a3, []int{16} +} + +func (m *GetTagTemplateRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetTagTemplateRequest.Unmarshal(m, b) +} +func (m *GetTagTemplateRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetTagTemplateRequest.Marshal(b, m, deterministic) +} +func (m *GetTagTemplateRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetTagTemplateRequest.Merge(m, src) +} +func (m *GetTagTemplateRequest) XXX_Size() int { + return xxx_messageInfo_GetTagTemplateRequest.Size(m) +} +func (m *GetTagTemplateRequest) XXX_DiscardUnknown() { + xxx_messageInfo_GetTagTemplateRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_GetTagTemplateRequest proto.InternalMessageInfo + +func (m *GetTagTemplateRequest) GetName() string { + if m != nil { + return m.Name + } + return "" +} + +// Request message for +// [UpdateTagTemplate][google.cloud.datacatalog.v1.DataCatalog.UpdateTagTemplate]. +type UpdateTagTemplateRequest struct { + // Required. The template to update. The "name" field must be set. + TagTemplate *TagTemplate `protobuf:"bytes,1,opt,name=tag_template,json=tagTemplate,proto3" json:"tag_template,omitempty"` + // The field mask specifies the parts of the template to overwrite. + // + // Allowed fields: + // + // * `display_name` + // + // If absent or empty, all of the allowed fields above will be updated. + UpdateMask *field_mask.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *UpdateTagTemplateRequest) Reset() { *m = UpdateTagTemplateRequest{} } +func (m *UpdateTagTemplateRequest) String() string { return proto.CompactTextString(m) } +func (*UpdateTagTemplateRequest) ProtoMessage() {} +func (*UpdateTagTemplateRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_432e04443b4c65a3, []int{17} +} + +func (m *UpdateTagTemplateRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_UpdateTagTemplateRequest.Unmarshal(m, b) +} +func (m *UpdateTagTemplateRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_UpdateTagTemplateRequest.Marshal(b, m, deterministic) +} +func (m *UpdateTagTemplateRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_UpdateTagTemplateRequest.Merge(m, src) +} +func (m *UpdateTagTemplateRequest) XXX_Size() int { + return xxx_messageInfo_UpdateTagTemplateRequest.Size(m) +} +func (m *UpdateTagTemplateRequest) XXX_DiscardUnknown() { + xxx_messageInfo_UpdateTagTemplateRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_UpdateTagTemplateRequest proto.InternalMessageInfo + +func (m *UpdateTagTemplateRequest) GetTagTemplate() *TagTemplate { + if m != nil { + return m.TagTemplate + } + return nil +} + +func (m *UpdateTagTemplateRequest) GetUpdateMask() *field_mask.FieldMask { + if m != nil { + return m.UpdateMask + } + return nil +} + +// Request message for +// [DeleteTagTemplate][google.cloud.datacatalog.v1.DataCatalog.DeleteTagTemplate]. +type DeleteTagTemplateRequest struct { + // Required. The name of the tag template to delete. Example: + // + // * projects/{project_id}/locations/{location}/tagTemplates/{tag_template_id} + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Required. Currently, this field must always be set to `true`. + // This confirms the deletion of any possible tags using this template. + // `force = false` will be supported in the future. + Force bool `protobuf:"varint,2,opt,name=force,proto3" json:"force,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *DeleteTagTemplateRequest) Reset() { *m = DeleteTagTemplateRequest{} } +func (m *DeleteTagTemplateRequest) String() string { return proto.CompactTextString(m) } +func (*DeleteTagTemplateRequest) ProtoMessage() {} +func (*DeleteTagTemplateRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_432e04443b4c65a3, []int{18} +} + +func (m *DeleteTagTemplateRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_DeleteTagTemplateRequest.Unmarshal(m, b) +} +func (m *DeleteTagTemplateRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_DeleteTagTemplateRequest.Marshal(b, m, deterministic) +} +func (m *DeleteTagTemplateRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_DeleteTagTemplateRequest.Merge(m, src) +} +func (m *DeleteTagTemplateRequest) XXX_Size() int { + return xxx_messageInfo_DeleteTagTemplateRequest.Size(m) +} +func (m *DeleteTagTemplateRequest) XXX_DiscardUnknown() { + xxx_messageInfo_DeleteTagTemplateRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_DeleteTagTemplateRequest proto.InternalMessageInfo + +func (m *DeleteTagTemplateRequest) GetName() string { + if m != nil { + return m.Name + } + return "" +} + +func (m *DeleteTagTemplateRequest) GetForce() bool { + if m != nil { + return m.Force + } + return false +} + +// Request message for +// [CreateTag][google.cloud.datacatalog.v1.DataCatalog.CreateTag]. +type CreateTagRequest struct { + // Required. The name of the resource to attach this tag to. Tags can be attached to + // Entries. Example: + // + // * projects/{project_id}/locations/{location}/entryGroups/{entry_group_id}/entries/{entry_id} + // + // Note that this Tag and its child resources may not actually be stored in + // the location in this name. + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Required. The tag to create. + Tag *Tag `protobuf:"bytes,2,opt,name=tag,proto3" json:"tag,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *CreateTagRequest) Reset() { *m = CreateTagRequest{} } +func (m *CreateTagRequest) String() string { return proto.CompactTextString(m) } +func (*CreateTagRequest) ProtoMessage() {} +func (*CreateTagRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_432e04443b4c65a3, []int{19} +} + +func (m *CreateTagRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_CreateTagRequest.Unmarshal(m, b) +} +func (m *CreateTagRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_CreateTagRequest.Marshal(b, m, deterministic) +} +func (m *CreateTagRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_CreateTagRequest.Merge(m, src) +} +func (m *CreateTagRequest) XXX_Size() int { + return xxx_messageInfo_CreateTagRequest.Size(m) +} +func (m *CreateTagRequest) XXX_DiscardUnknown() { + xxx_messageInfo_CreateTagRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_CreateTagRequest proto.InternalMessageInfo + +func (m *CreateTagRequest) GetParent() string { + if m != nil { + return m.Parent + } + return "" +} + +func (m *CreateTagRequest) GetTag() *Tag { + if m != nil { + return m.Tag + } + return nil +} + +// Request message for +// [UpdateTag][google.cloud.datacatalog.v1.DataCatalog.UpdateTag]. +type UpdateTagRequest struct { + // Required. The updated tag. The "name" field must be set. + Tag *Tag `protobuf:"bytes,1,opt,name=tag,proto3" json:"tag,omitempty"` + // The fields to update on the Tag. If absent or empty, all modifiable fields + // are updated. Currently the only modifiable field is the field `fields`. + UpdateMask *field_mask.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *UpdateTagRequest) Reset() { *m = UpdateTagRequest{} } +func (m *UpdateTagRequest) String() string { return proto.CompactTextString(m) } +func (*UpdateTagRequest) ProtoMessage() {} +func (*UpdateTagRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_432e04443b4c65a3, []int{20} +} + +func (m *UpdateTagRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_UpdateTagRequest.Unmarshal(m, b) +} +func (m *UpdateTagRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_UpdateTagRequest.Marshal(b, m, deterministic) +} +func (m *UpdateTagRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_UpdateTagRequest.Merge(m, src) +} +func (m *UpdateTagRequest) XXX_Size() int { + return xxx_messageInfo_UpdateTagRequest.Size(m) +} +func (m *UpdateTagRequest) XXX_DiscardUnknown() { + xxx_messageInfo_UpdateTagRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_UpdateTagRequest proto.InternalMessageInfo + +func (m *UpdateTagRequest) GetTag() *Tag { + if m != nil { + return m.Tag + } + return nil +} + +func (m *UpdateTagRequest) GetUpdateMask() *field_mask.FieldMask { + if m != nil { + return m.UpdateMask + } + return nil +} + +// Request message for +// [DeleteTag][google.cloud.datacatalog.v1.DataCatalog.DeleteTag]. +type DeleteTagRequest struct { + // Required. The name of the tag to delete. Example: + // + // * projects/{project_id}/locations/{location}/entryGroups/{entry_group_id}/entries/{entry_id}/tags/{tag_id} + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *DeleteTagRequest) Reset() { *m = DeleteTagRequest{} } +func (m *DeleteTagRequest) String() string { return proto.CompactTextString(m) } +func (*DeleteTagRequest) ProtoMessage() {} +func (*DeleteTagRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_432e04443b4c65a3, []int{21} +} + +func (m *DeleteTagRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_DeleteTagRequest.Unmarshal(m, b) +} +func (m *DeleteTagRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_DeleteTagRequest.Marshal(b, m, deterministic) +} +func (m *DeleteTagRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_DeleteTagRequest.Merge(m, src) +} +func (m *DeleteTagRequest) XXX_Size() int { + return xxx_messageInfo_DeleteTagRequest.Size(m) +} +func (m *DeleteTagRequest) XXX_DiscardUnknown() { + xxx_messageInfo_DeleteTagRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_DeleteTagRequest proto.InternalMessageInfo + +func (m *DeleteTagRequest) GetName() string { + if m != nil { + return m.Name + } + return "" +} + +// Request message for +// [CreateTagTemplateField][google.cloud.datacatalog.v1.DataCatalog.CreateTagTemplateField]. +type CreateTagTemplateFieldRequest struct { + // Required. The name of the project and the template location + // [region](/compute/docs/regions-zones/#available). + // NOTE: Currently, only the `us-central1 region` is supported. + // + // Example: + // + // * projects/{project_id}/locations/us-central1/tagTemplates/{tag_template_id} + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Required. The ID of the tag template field to create. + // Field ids can contain letters (both uppercase and lowercase), numbers + // (0-9), underscores (_) and dashes (-). Field IDs must be at least 1 + // character long and at most 128 characters long. Field IDs must also be + // unique within their template. + TagTemplateFieldId string `protobuf:"bytes,2,opt,name=tag_template_field_id,json=tagTemplateFieldId,proto3" json:"tag_template_field_id,omitempty"` + // Required. The tag template field to create. + TagTemplateField *TagTemplateField `protobuf:"bytes,3,opt,name=tag_template_field,json=tagTemplateField,proto3" json:"tag_template_field,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *CreateTagTemplateFieldRequest) Reset() { *m = CreateTagTemplateFieldRequest{} } +func (m *CreateTagTemplateFieldRequest) String() string { return proto.CompactTextString(m) } +func (*CreateTagTemplateFieldRequest) ProtoMessage() {} +func (*CreateTagTemplateFieldRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_432e04443b4c65a3, []int{22} +} + +func (m *CreateTagTemplateFieldRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_CreateTagTemplateFieldRequest.Unmarshal(m, b) +} +func (m *CreateTagTemplateFieldRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_CreateTagTemplateFieldRequest.Marshal(b, m, deterministic) +} +func (m *CreateTagTemplateFieldRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_CreateTagTemplateFieldRequest.Merge(m, src) +} +func (m *CreateTagTemplateFieldRequest) XXX_Size() int { + return xxx_messageInfo_CreateTagTemplateFieldRequest.Size(m) +} +func (m *CreateTagTemplateFieldRequest) XXX_DiscardUnknown() { + xxx_messageInfo_CreateTagTemplateFieldRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_CreateTagTemplateFieldRequest proto.InternalMessageInfo + +func (m *CreateTagTemplateFieldRequest) GetParent() string { + if m != nil { + return m.Parent + } + return "" +} + +func (m *CreateTagTemplateFieldRequest) GetTagTemplateFieldId() string { + if m != nil { + return m.TagTemplateFieldId + } + return "" +} + +func (m *CreateTagTemplateFieldRequest) GetTagTemplateField() *TagTemplateField { + if m != nil { + return m.TagTemplateField + } + return nil +} + +// Request message for +// [UpdateTagTemplateField][google.cloud.datacatalog.v1.DataCatalog.UpdateTagTemplateField]. +type UpdateTagTemplateFieldRequest struct { + // Required. The name of the tag template field. Example: + // + // * projects/{project_id}/locations/{location}/tagTemplates/{tag_template_id}/fields/{tag_template_field_id} + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Required. The template to update. + TagTemplateField *TagTemplateField `protobuf:"bytes,2,opt,name=tag_template_field,json=tagTemplateField,proto3" json:"tag_template_field,omitempty"` + // Optional. The field mask specifies the parts of the template to be updated. + // Allowed fields: + // + // * `display_name` + // * `type.enum_type` + // * `is_required` + // + // If `update_mask` is not set or empty, all of the allowed fields above will + // be updated. + // + // When updating an enum type, the provided values will be merged with the + // existing values. Therefore, enum values can only be added, existing enum + // values cannot be deleted nor renamed. Updating a template field from + // optional to required is NOT allowed. + UpdateMask *field_mask.FieldMask `protobuf:"bytes,3,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *UpdateTagTemplateFieldRequest) Reset() { *m = UpdateTagTemplateFieldRequest{} } +func (m *UpdateTagTemplateFieldRequest) String() string { return proto.CompactTextString(m) } +func (*UpdateTagTemplateFieldRequest) ProtoMessage() {} +func (*UpdateTagTemplateFieldRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_432e04443b4c65a3, []int{23} +} + +func (m *UpdateTagTemplateFieldRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_UpdateTagTemplateFieldRequest.Unmarshal(m, b) +} +func (m *UpdateTagTemplateFieldRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_UpdateTagTemplateFieldRequest.Marshal(b, m, deterministic) +} +func (m *UpdateTagTemplateFieldRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_UpdateTagTemplateFieldRequest.Merge(m, src) +} +func (m *UpdateTagTemplateFieldRequest) XXX_Size() int { + return xxx_messageInfo_UpdateTagTemplateFieldRequest.Size(m) +} +func (m *UpdateTagTemplateFieldRequest) XXX_DiscardUnknown() { + xxx_messageInfo_UpdateTagTemplateFieldRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_UpdateTagTemplateFieldRequest proto.InternalMessageInfo + +func (m *UpdateTagTemplateFieldRequest) GetName() string { + if m != nil { + return m.Name + } + return "" +} + +func (m *UpdateTagTemplateFieldRequest) GetTagTemplateField() *TagTemplateField { + if m != nil { + return m.TagTemplateField + } + return nil +} + +func (m *UpdateTagTemplateFieldRequest) GetUpdateMask() *field_mask.FieldMask { + if m != nil { + return m.UpdateMask + } + return nil +} + +// Request message for +// [RenameTagTemplateField][google.cloud.datacatalog.v1.DataCatalog.RenameTagTemplateField]. +type RenameTagTemplateFieldRequest struct { + // Required. The name of the tag template. Example: + // + // * projects/{project_id}/locations/{location}/tagTemplates/{tag_template_id}/fields/{tag_template_field_id} + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Required. The new ID of this tag template field. For example, `my_new_field`. + NewTagTemplateFieldId string `protobuf:"bytes,2,opt,name=new_tag_template_field_id,json=newTagTemplateFieldId,proto3" json:"new_tag_template_field_id,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *RenameTagTemplateFieldRequest) Reset() { *m = RenameTagTemplateFieldRequest{} } +func (m *RenameTagTemplateFieldRequest) String() string { return proto.CompactTextString(m) } +func (*RenameTagTemplateFieldRequest) ProtoMessage() {} +func (*RenameTagTemplateFieldRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_432e04443b4c65a3, []int{24} +} + +func (m *RenameTagTemplateFieldRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_RenameTagTemplateFieldRequest.Unmarshal(m, b) +} +func (m *RenameTagTemplateFieldRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_RenameTagTemplateFieldRequest.Marshal(b, m, deterministic) +} +func (m *RenameTagTemplateFieldRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_RenameTagTemplateFieldRequest.Merge(m, src) +} +func (m *RenameTagTemplateFieldRequest) XXX_Size() int { + return xxx_messageInfo_RenameTagTemplateFieldRequest.Size(m) +} +func (m *RenameTagTemplateFieldRequest) XXX_DiscardUnknown() { + xxx_messageInfo_RenameTagTemplateFieldRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_RenameTagTemplateFieldRequest proto.InternalMessageInfo + +func (m *RenameTagTemplateFieldRequest) GetName() string { + if m != nil { + return m.Name + } + return "" +} + +func (m *RenameTagTemplateFieldRequest) GetNewTagTemplateFieldId() string { + if m != nil { + return m.NewTagTemplateFieldId + } + return "" +} + +// Request message for +// [DeleteTagTemplateField][google.cloud.datacatalog.v1.DataCatalog.DeleteTagTemplateField]. +type DeleteTagTemplateFieldRequest struct { + // Required. The name of the tag template field to delete. Example: + // + // * projects/{project_id}/locations/{location}/tagTemplates/{tag_template_id}/fields/{tag_template_field_id} + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Required. Currently, this field must always be set to `true`. + // This confirms the deletion of this field from any tags using this field. + // `force = false` will be supported in the future. + Force bool `protobuf:"varint,2,opt,name=force,proto3" json:"force,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *DeleteTagTemplateFieldRequest) Reset() { *m = DeleteTagTemplateFieldRequest{} } +func (m *DeleteTagTemplateFieldRequest) String() string { return proto.CompactTextString(m) } +func (*DeleteTagTemplateFieldRequest) ProtoMessage() {} +func (*DeleteTagTemplateFieldRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_432e04443b4c65a3, []int{25} +} + +func (m *DeleteTagTemplateFieldRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_DeleteTagTemplateFieldRequest.Unmarshal(m, b) +} +func (m *DeleteTagTemplateFieldRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_DeleteTagTemplateFieldRequest.Marshal(b, m, deterministic) +} +func (m *DeleteTagTemplateFieldRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_DeleteTagTemplateFieldRequest.Merge(m, src) +} +func (m *DeleteTagTemplateFieldRequest) XXX_Size() int { + return xxx_messageInfo_DeleteTagTemplateFieldRequest.Size(m) +} +func (m *DeleteTagTemplateFieldRequest) XXX_DiscardUnknown() { + xxx_messageInfo_DeleteTagTemplateFieldRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_DeleteTagTemplateFieldRequest proto.InternalMessageInfo + +func (m *DeleteTagTemplateFieldRequest) GetName() string { + if m != nil { + return m.Name + } + return "" +} + +func (m *DeleteTagTemplateFieldRequest) GetForce() bool { + if m != nil { + return m.Force + } + return false +} + +// Request message for +// [ListTags][google.cloud.datacatalog.v1.DataCatalog.ListTags]. +type ListTagsRequest struct { + // Required. The name of the Data Catalog resource to list the tags of. The resource + // could be an [Entry][google.cloud.datacatalog.v1.Entry] or an + // [EntryGroup][google.cloud.datacatalog.v1.EntryGroup]. + // + // Examples: + // + // * projects/{project_id}/locations/{location}/entryGroups/{entry_group_id} + // * projects/{project_id}/locations/{location}/entryGroups/{entry_group_id}/entries/{entry_id} + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // The maximum number of tags to return. Default is 10. Max limit is 1000. + PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` + // Token that specifies which page is requested. If empty, the first page is + // returned. + PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *ListTagsRequest) Reset() { *m = ListTagsRequest{} } +func (m *ListTagsRequest) String() string { return proto.CompactTextString(m) } +func (*ListTagsRequest) ProtoMessage() {} +func (*ListTagsRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_432e04443b4c65a3, []int{26} +} + +func (m *ListTagsRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ListTagsRequest.Unmarshal(m, b) +} +func (m *ListTagsRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ListTagsRequest.Marshal(b, m, deterministic) +} +func (m *ListTagsRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_ListTagsRequest.Merge(m, src) +} +func (m *ListTagsRequest) XXX_Size() int { + return xxx_messageInfo_ListTagsRequest.Size(m) +} +func (m *ListTagsRequest) XXX_DiscardUnknown() { + xxx_messageInfo_ListTagsRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_ListTagsRequest proto.InternalMessageInfo + +func (m *ListTagsRequest) GetParent() string { + if m != nil { + return m.Parent + } + return "" +} + +func (m *ListTagsRequest) GetPageSize() int32 { + if m != nil { + return m.PageSize + } + return 0 +} + +func (m *ListTagsRequest) GetPageToken() string { + if m != nil { + return m.PageToken + } + return "" +} + +// Response message for +// [ListTags][google.cloud.datacatalog.v1.DataCatalog.ListTags]. +type ListTagsResponse struct { + // [Tag][google.cloud.datacatalog.v1.Tag] details. + Tags []*Tag `protobuf:"bytes,1,rep,name=tags,proto3" json:"tags,omitempty"` + // Token to retrieve the next page of results. It is set to empty if no items + // remain in results. + NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *ListTagsResponse) Reset() { *m = ListTagsResponse{} } +func (m *ListTagsResponse) String() string { return proto.CompactTextString(m) } +func (*ListTagsResponse) ProtoMessage() {} +func (*ListTagsResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_432e04443b4c65a3, []int{27} +} + +func (m *ListTagsResponse) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ListTagsResponse.Unmarshal(m, b) +} +func (m *ListTagsResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ListTagsResponse.Marshal(b, m, deterministic) +} +func (m *ListTagsResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_ListTagsResponse.Merge(m, src) +} +func (m *ListTagsResponse) XXX_Size() int { + return xxx_messageInfo_ListTagsResponse.Size(m) +} +func (m *ListTagsResponse) XXX_DiscardUnknown() { + xxx_messageInfo_ListTagsResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_ListTagsResponse proto.InternalMessageInfo + +func (m *ListTagsResponse) GetTags() []*Tag { + if m != nil { + return m.Tags + } + return nil +} + +func (m *ListTagsResponse) GetNextPageToken() string { + if m != nil { + return m.NextPageToken + } + return "" +} + +// Request message for +// [ListEntries][google.cloud.datacatalog.v1.DataCatalog.ListEntries]. +type ListEntriesRequest struct { + // Required. The name of the entry group that contains the entries, which can + // be provided in URL format. Example: + // + // * projects/{project_id}/locations/{location}/entryGroups/{entry_group_id} + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // The maximum number of items to return. Default is 10. Max limit is 1000. + // Throws an invalid argument for `page_size > 1000`. + PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` + // Token that specifies which page is requested. If empty, the first page is + // returned. + PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` + // The fields to return for each Entry. If not set or empty, all + // fields are returned. + // For example, setting read_mask to contain only one path "name" will cause + // ListEntries to return a list of Entries with only "name" field. + ReadMask *field_mask.FieldMask `protobuf:"bytes,4,opt,name=read_mask,json=readMask,proto3" json:"read_mask,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *ListEntriesRequest) Reset() { *m = ListEntriesRequest{} } +func (m *ListEntriesRequest) String() string { return proto.CompactTextString(m) } +func (*ListEntriesRequest) ProtoMessage() {} +func (*ListEntriesRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_432e04443b4c65a3, []int{28} +} + +func (m *ListEntriesRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ListEntriesRequest.Unmarshal(m, b) +} +func (m *ListEntriesRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ListEntriesRequest.Marshal(b, m, deterministic) +} +func (m *ListEntriesRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_ListEntriesRequest.Merge(m, src) +} +func (m *ListEntriesRequest) XXX_Size() int { + return xxx_messageInfo_ListEntriesRequest.Size(m) +} +func (m *ListEntriesRequest) XXX_DiscardUnknown() { + xxx_messageInfo_ListEntriesRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_ListEntriesRequest proto.InternalMessageInfo + +func (m *ListEntriesRequest) GetParent() string { + if m != nil { + return m.Parent + } + return "" +} + +func (m *ListEntriesRequest) GetPageSize() int32 { + if m != nil { + return m.PageSize + } + return 0 +} + +func (m *ListEntriesRequest) GetPageToken() string { + if m != nil { + return m.PageToken + } + return "" +} + +func (m *ListEntriesRequest) GetReadMask() *field_mask.FieldMask { + if m != nil { + return m.ReadMask + } + return nil +} + +// Response message for +// [ListEntries][google.cloud.datacatalog.v1.DataCatalog.ListEntries]. +type ListEntriesResponse struct { + // Entry details. + Entries []*Entry `protobuf:"bytes,1,rep,name=entries,proto3" json:"entries,omitempty"` + // Token to retrieve the next page of results. It is set to empty if no items + // remain in results. + NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *ListEntriesResponse) Reset() { *m = ListEntriesResponse{} } +func (m *ListEntriesResponse) String() string { return proto.CompactTextString(m) } +func (*ListEntriesResponse) ProtoMessage() {} +func (*ListEntriesResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_432e04443b4c65a3, []int{29} +} + +func (m *ListEntriesResponse) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ListEntriesResponse.Unmarshal(m, b) +} +func (m *ListEntriesResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ListEntriesResponse.Marshal(b, m, deterministic) +} +func (m *ListEntriesResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_ListEntriesResponse.Merge(m, src) +} +func (m *ListEntriesResponse) XXX_Size() int { + return xxx_messageInfo_ListEntriesResponse.Size(m) +} +func (m *ListEntriesResponse) XXX_DiscardUnknown() { + xxx_messageInfo_ListEntriesResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_ListEntriesResponse proto.InternalMessageInfo + +func (m *ListEntriesResponse) GetEntries() []*Entry { + if m != nil { + return m.Entries + } + return nil +} + +func (m *ListEntriesResponse) GetNextPageToken() string { + if m != nil { + return m.NextPageToken + } + return "" +} + +func init() { + proto.RegisterEnum("google.cloud.datacatalog.v1.EntryType", EntryType_name, EntryType_value) + proto.RegisterType((*SearchCatalogRequest)(nil), "google.cloud.datacatalog.v1.SearchCatalogRequest") + proto.RegisterType((*SearchCatalogRequest_Scope)(nil), "google.cloud.datacatalog.v1.SearchCatalogRequest.Scope") + proto.RegisterType((*SearchCatalogResponse)(nil), "google.cloud.datacatalog.v1.SearchCatalogResponse") + proto.RegisterType((*CreateEntryGroupRequest)(nil), "google.cloud.datacatalog.v1.CreateEntryGroupRequest") + proto.RegisterType((*UpdateEntryGroupRequest)(nil), "google.cloud.datacatalog.v1.UpdateEntryGroupRequest") + proto.RegisterType((*GetEntryGroupRequest)(nil), "google.cloud.datacatalog.v1.GetEntryGroupRequest") + proto.RegisterType((*DeleteEntryGroupRequest)(nil), "google.cloud.datacatalog.v1.DeleteEntryGroupRequest") + proto.RegisterType((*ListEntryGroupsRequest)(nil), "google.cloud.datacatalog.v1.ListEntryGroupsRequest") + proto.RegisterType((*ListEntryGroupsResponse)(nil), "google.cloud.datacatalog.v1.ListEntryGroupsResponse") + proto.RegisterType((*CreateEntryRequest)(nil), "google.cloud.datacatalog.v1.CreateEntryRequest") + proto.RegisterType((*UpdateEntryRequest)(nil), "google.cloud.datacatalog.v1.UpdateEntryRequest") + proto.RegisterType((*DeleteEntryRequest)(nil), "google.cloud.datacatalog.v1.DeleteEntryRequest") + proto.RegisterType((*GetEntryRequest)(nil), "google.cloud.datacatalog.v1.GetEntryRequest") + proto.RegisterType((*LookupEntryRequest)(nil), "google.cloud.datacatalog.v1.LookupEntryRequest") + proto.RegisterType((*Entry)(nil), "google.cloud.datacatalog.v1.Entry") + proto.RegisterType((*EntryGroup)(nil), "google.cloud.datacatalog.v1.EntryGroup") + proto.RegisterType((*CreateTagTemplateRequest)(nil), "google.cloud.datacatalog.v1.CreateTagTemplateRequest") + proto.RegisterType((*GetTagTemplateRequest)(nil), "google.cloud.datacatalog.v1.GetTagTemplateRequest") + proto.RegisterType((*UpdateTagTemplateRequest)(nil), "google.cloud.datacatalog.v1.UpdateTagTemplateRequest") + proto.RegisterType((*DeleteTagTemplateRequest)(nil), "google.cloud.datacatalog.v1.DeleteTagTemplateRequest") + proto.RegisterType((*CreateTagRequest)(nil), "google.cloud.datacatalog.v1.CreateTagRequest") + proto.RegisterType((*UpdateTagRequest)(nil), "google.cloud.datacatalog.v1.UpdateTagRequest") + proto.RegisterType((*DeleteTagRequest)(nil), "google.cloud.datacatalog.v1.DeleteTagRequest") + proto.RegisterType((*CreateTagTemplateFieldRequest)(nil), "google.cloud.datacatalog.v1.CreateTagTemplateFieldRequest") + proto.RegisterType((*UpdateTagTemplateFieldRequest)(nil), "google.cloud.datacatalog.v1.UpdateTagTemplateFieldRequest") + proto.RegisterType((*RenameTagTemplateFieldRequest)(nil), "google.cloud.datacatalog.v1.RenameTagTemplateFieldRequest") + proto.RegisterType((*DeleteTagTemplateFieldRequest)(nil), "google.cloud.datacatalog.v1.DeleteTagTemplateFieldRequest") + proto.RegisterType((*ListTagsRequest)(nil), "google.cloud.datacatalog.v1.ListTagsRequest") + proto.RegisterType((*ListTagsResponse)(nil), "google.cloud.datacatalog.v1.ListTagsResponse") + proto.RegisterType((*ListEntriesRequest)(nil), "google.cloud.datacatalog.v1.ListEntriesRequest") + proto.RegisterType((*ListEntriesResponse)(nil), "google.cloud.datacatalog.v1.ListEntriesResponse") +} + +func init() { + proto.RegisterFile("google/cloud/datacatalog/v1/datacatalog.proto", fileDescriptor_432e04443b4c65a3) +} + +var fileDescriptor_432e04443b4c65a3 = []byte{ + // 2995 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x5a, 0x4d, 0x6c, 0x1b, 0xc7, + 0x15, 0xce, 0x50, 0x96, 0x2d, 0x3d, 0xca, 0x96, 0x34, 0x8e, 0x24, 0x9a, 0xa9, 0x1d, 0x65, 0x8d, + 0x3a, 0x0a, 0x6d, 0x93, 0x36, 0xe3, 0xe6, 0x87, 0x8e, 0x1d, 0xaf, 0x22, 0xea, 0xc7, 0xb5, 0x2d, + 0x65, 0xc5, 0xa0, 0x88, 0x73, 0x60, 0x56, 0xe4, 0x78, 0xb5, 0x36, 0xc9, 0x5d, 0xef, 0x2e, 0xe3, + 0x28, 0x8e, 0x0b, 0x34, 0x05, 0xfa, 0x83, 0xc4, 0x45, 0xd0, 0x9f, 0x4b, 0x0b, 0x14, 0x01, 0x8a, + 0xb6, 0xc8, 0xa1, 0x28, 0x8a, 0xde, 0x8a, 0xa0, 0xe8, 0xa1, 0xa7, 0x1e, 0x8a, 0xa2, 0x45, 0x2f, + 0x2c, 0x10, 0xa4, 0x7f, 0x97, 0xf4, 0xd2, 0xa2, 0x28, 0xfa, 0x73, 0x2a, 0x76, 0x66, 0x96, 0x9c, + 0xdd, 0x25, 0xb9, 0xbb, 0x92, 0x73, 0x92, 0x38, 0xf3, 0xe6, 0xcd, 0x7b, 0xdf, 0xbc, 0xf7, 0xe6, + 0xcd, 0x47, 0xc2, 0x69, 0xcd, 0x30, 0xb4, 0x06, 0x29, 0xd4, 0x1a, 0x46, 0xbb, 0x5e, 0xa8, 0xab, + 0x8e, 0x5a, 0x53, 0x1d, 0xb5, 0x61, 0x68, 0x85, 0xd7, 0xce, 0x8a, 0x1f, 0xf3, 0xa6, 0x65, 0x38, + 0x06, 0x7e, 0x84, 0x89, 0xe7, 0xa9, 0x78, 0x5e, 0x9c, 0x7f, 0xed, 0x6c, 0xf6, 0x53, 0x5c, 0x97, + 0x6a, 0xea, 0x05, 0xb5, 0xd5, 0x32, 0x1c, 0xd5, 0xd1, 0x8d, 0x96, 0xcd, 0x96, 0x66, 0xe7, 0x84, + 0xd9, 0x5a, 0x43, 0x27, 0x2d, 0x87, 0x4f, 0x3c, 0x2a, 0x4c, 0xdc, 0xd0, 0x49, 0xa3, 0x5e, 0xdd, + 0x22, 0xdb, 0xea, 0x6b, 0xba, 0x61, 0x71, 0x81, 0x23, 0x82, 0x80, 0x45, 0x6c, 0xa3, 0x6d, 0xd5, + 0x08, 0x9f, 0x5a, 0x18, 0x66, 0x7e, 0xcd, 0x68, 0x36, 0x8d, 0x16, 0x97, 0x2c, 0x0e, 0x93, 0xd4, + 0x6a, 0x76, 0xf5, 0x86, 0xde, 0x20, 0x36, 0x71, 0xaa, 0xb6, 0x49, 0x6a, 0x71, 0xb4, 0xdb, 0xb5, + 0x6d, 0xd2, 0x54, 0x63, 0x49, 0x12, 0xd5, 0xaa, 0x6d, 0x73, 0xc9, 0x53, 0xc3, 0x24, 0x1d, 0x75, + 0xab, 0x41, 0x44, 0x0b, 0x4e, 0x0c, 0x97, 0xd6, 0xec, 0x58, 0x5a, 0xf5, 0x26, 0xb1, 0x1d, 0xb5, + 0x69, 0x7a, 0xd2, 0xc7, 0xb8, 0xb4, 0xae, 0x36, 0xdd, 0x79, 0x5d, 0x6d, 0x56, 0x4d, 0xa3, 0xa1, + 0xd7, 0x76, 0xf8, 0x7c, 0xd6, 0x3f, 0xef, 0x9b, 0xe3, 0x11, 0x50, 0xa0, 0x9f, 0xb6, 0xda, 0x37, + 0x0a, 0xa4, 0x69, 0x3a, 0xde, 0xe4, 0x7c, 0x70, 0x92, 0x9d, 0x67, 0x53, 0xb5, 0x6f, 0x31, 0x09, + 0xe9, 0xad, 0x11, 0x78, 0x78, 0x93, 0xe2, 0xf1, 0x02, 0x33, 0x50, 0x21, 0xb7, 0xdb, 0xc4, 0x76, + 0xb0, 0x02, 0xa3, 0x76, 0xcd, 0x30, 0x49, 0x66, 0xff, 0x3c, 0x5a, 0x48, 0x17, 0x9f, 0xce, 0x0f, + 0x89, 0xb4, 0x7c, 0x3f, 0x0d, 0xf9, 0x4d, 0x77, 0xf9, 0xe2, 0xc8, 0x47, 0x72, 0x4a, 0x61, 0xaa, + 0xf0, 0x11, 0x18, 0xbd, 0xdd, 0x26, 0xd6, 0x4e, 0x06, 0xcd, 0xa3, 0x85, 0x71, 0x3e, 0x45, 0x47, + 0xf0, 0x23, 0x30, 0x6e, 0xaa, 0x1a, 0xa9, 0xda, 0xfa, 0x1b, 0x24, 0x93, 0x9a, 0x47, 0x0b, 0xa3, + 0xca, 0x98, 0x3b, 0xb0, 0xa9, 0xbf, 0x41, 0xb0, 0x04, 0x40, 0x27, 0x1d, 0xe3, 0x16, 0x69, 0x65, + 0x46, 0xbc, 0xc5, 0x48, 0xa1, 0x6b, 0x2a, 0xee, 0x28, 0x3e, 0x02, 0x63, 0x86, 0x55, 0x27, 0x56, + 0x75, 0x6b, 0x27, 0x33, 0xea, 0x4a, 0x28, 0x07, 0xe8, 0xe7, 0xc5, 0x9d, 0xec, 0x77, 0x11, 0x8c, + 0x52, 0x63, 0xf0, 0x09, 0x98, 0xd4, 0x5b, 0xb5, 0x46, 0xbb, 0x4e, 0xaa, 0x86, 0xa5, 0x55, 0xf5, + 0xba, 0x9d, 0x49, 0xcd, 0x8f, 0x2c, 0x8c, 0x2b, 0x07, 0xf9, 0xf0, 0xba, 0xa5, 0xad, 0xd5, 0x6d, + 0x9c, 0x87, 0xc3, 0x9e, 0x9c, 0x69, 0x19, 0x37, 0x49, 0xcd, 0xa1, 0xb2, 0x23, 0x54, 0x76, 0x9a, + 0x4f, 0x6d, 0xb0, 0x19, 0x57, 0xfe, 0x02, 0x3c, 0xe2, 0xc9, 0x6b, 0x35, 0xb3, 0x6a, 0xb6, 0xb7, + 0x1a, 0x7a, 0xad, 0xea, 0x82, 0x64, 0x13, 0xc7, 0xce, 0x1c, 0x98, 0x47, 0x0b, 0x63, 0x4a, 0x86, + 0x8b, 0xac, 0xd4, 0xcc, 0x0d, 0x2a, 0xb0, 0xc4, 0xe7, 0xa5, 0xb7, 0x11, 0xcc, 0x04, 0x20, 0xb4, + 0x4d, 0xa3, 0x65, 0x13, 0x7c, 0x19, 0x0e, 0x58, 0xc4, 0x6e, 0x37, 0x1c, 0x3b, 0x83, 0xe6, 0x47, + 0x16, 0xd2, 0xc5, 0x33, 0x49, 0xce, 0xc1, 0x5d, 0xa8, 0x78, 0x0a, 0x5c, 0xe7, 0x5b, 0xe4, 0x75, + 0xa7, 0x1a, 0x84, 0x52, 0x39, 0xe8, 0x0e, 0x6f, 0x78, 0x48, 0x4a, 0xbf, 0x47, 0x30, 0xf7, 0x82, + 0x45, 0x54, 0x87, 0x94, 0x5b, 0x8e, 0xb5, 0xb3, 0x62, 0x19, 0x6d, 0xd3, 0x8b, 0x8a, 0x32, 0xec, + 0x37, 0x55, 0x8b, 0xb4, 0x1c, 0x7e, 0x84, 0xa7, 0x3f, 0x92, 0x53, 0xff, 0x93, 0x1f, 0xc7, 0x9f, + 0x16, 0x0d, 0x61, 0x16, 0xaa, 0xa6, 0x6e, 0xe7, 0x6b, 0x46, 0xb3, 0x20, 0x68, 0xe1, 0x8b, 0xf1, + 0x13, 0x70, 0x88, 0xb8, 0xa3, 0x55, 0xcd, 0x1d, 0xae, 0xea, 0xf5, 0xde, 0xa1, 0xa6, 0x94, 0x09, + 0xd2, 0x5d, 0xb0, 0x56, 0xc7, 0xab, 0x90, 0x16, 0x44, 0x69, 0x68, 0xa4, 0x8b, 0x8f, 0x0f, 0x45, + 0x41, 0xd8, 0x10, 0x7a, 0xba, 0xa4, 0xef, 0x23, 0x98, 0x7b, 0xc9, 0xac, 0xf7, 0xf5, 0xeb, 0xaa, + 0x7f, 0x17, 0x94, 0x68, 0x17, 0x66, 0xb6, 0xb0, 0x15, 0x3e, 0x0f, 0xe9, 0x36, 0xdd, 0x89, 0xa6, + 0x1a, 0x37, 0x3a, 0xeb, 0xa9, 0xf3, 0xb2, 0x31, 0xbf, 0xec, 0x66, 0xe3, 0x55, 0xd5, 0xbe, 0xa5, + 0x00, 0x13, 0x77, 0xff, 0x97, 0xbe, 0x8e, 0xe0, 0xe1, 0x15, 0xe2, 0x84, 0x8d, 0x94, 0x61, 0x5f, + 0x4b, 0x6d, 0x12, 0x3f, 0xf4, 0x10, 0x13, 0x7a, 0xba, 0x14, 0x3f, 0x0d, 0xe3, 0x16, 0x51, 0xeb, + 0x71, 0xcd, 0x1a, 0x73, 0x85, 0xa9, 0x51, 0x77, 0x60, 0x6e, 0x89, 0x34, 0x48, 0x3f, 0xec, 0x1e, + 0x80, 0x59, 0x47, 0x60, 0xf4, 0x86, 0x61, 0xd5, 0x58, 0xe6, 0x8f, 0xb1, 0xdc, 0x66, 0x23, 0xee, + 0xa9, 0xcd, 0x5e, 0xd1, 0x6d, 0x01, 0x0e, 0x3b, 0x22, 0x18, 0x21, 0x61, 0x30, 0xce, 0x87, 0x4a, + 0x0f, 0x33, 0x20, 0x51, 0xfd, 0x91, 0xee, 0x23, 0x98, 0x0b, 0xd9, 0xd9, 0xcd, 0xe2, 0x09, 0x21, + 0xba, 0xbc, 0x54, 0x8e, 0x1d, 0xc4, 0xe9, 0x5e, 0x64, 0xf5, 0xcd, 0xe2, 0x54, 0xbf, 0x2c, 0xfe, + 0x19, 0x02, 0x2c, 0x64, 0xf1, 0x03, 0xc6, 0xec, 0x18, 0x8c, 0x31, 0x8f, 0xfc, 0xa9, 0x7b, 0x80, + 0x0e, 0xae, 0xd5, 0xf1, 0x05, 0x18, 0xa5, 0xff, 0xf2, 0x18, 0x93, 0xa2, 0x5d, 0xe5, 0xb7, 0x01, + 0x5d, 0x25, 0xbd, 0x8b, 0x00, 0x0b, 0xa9, 0xea, 0x19, 0xdf, 0xd5, 0x8a, 0x76, 0xa3, 0x75, 0x6f, + 0x59, 0xa9, 0x00, 0x16, 0x12, 0xc0, 0xb3, 0xe8, 0x39, 0x5f, 0xec, 0x2f, 0x50, 0x30, 0x25, 0x98, + 0x8f, 0x02, 0x93, 0x85, 0xbd, 0xb4, 0x0e, 0x93, 0x5e, 0xa2, 0x3f, 0x18, 0x85, 0x36, 0xe0, 0x2b, + 0x86, 0x71, 0xab, 0x6d, 0xfa, 0x74, 0x3e, 0x01, 0x93, 0x0d, 0xbd, 0x75, 0x8b, 0xd4, 0xab, 0x5e, + 0xb7, 0xc6, 0xd4, 0xaf, 0x3e, 0xa4, 0x1c, 0x62, 0x13, 0x0a, 0x1f, 0xc7, 0xc7, 0x61, 0xc2, 0xbe, + 0xdd, 0xe8, 0xc9, 0x8d, 0x70, 0xb9, 0xb4, 0x7d, 0xbb, 0xe1, 0x09, 0x2d, 0x1e, 0x84, 0xb4, 0xa3, + 0x5a, 0x1a, 0x71, 0xaa, 0x74, 0xd3, 0x9f, 0x8e, 0xc1, 0x28, 0xdd, 0x0f, 0x5f, 0xf4, 0x19, 0x9f, + 0x4b, 0x5c, 0x06, 0x1e, 0x0f, 0x1b, 0x3a, 0x4e, 0x63, 0x3b, 0x68, 0xe6, 0x73, 0xb0, 0xcf, 0xd9, + 0x31, 0x59, 0xb6, 0x1e, 0x2a, 0x9e, 0x88, 0x8e, 0x83, 0xca, 0x8e, 0x49, 0x56, 0x1f, 0x52, 0xe8, + 0x2a, 0x7c, 0x06, 0x0e, 0xb7, 0x6d, 0x62, 0xd1, 0xbe, 0x4e, 0xbf, 0xa1, 0x93, 0x7a, 0x95, 0x2a, + 0x9b, 0xe2, 0xbe, 0x4e, 0xbb, 0x93, 0x9b, 0xde, 0x9c, 0xbb, 0x12, 0xab, 0x30, 0xad, 0xb7, 0x1c, + 0xa2, 0x59, 0xaa, 0x43, 0xea, 0x55, 0x7b, 0xc7, 0x76, 0x48, 0x33, 0x33, 0x4d, 0x37, 0x3f, 0x3d, + 0x74, 0xf3, 0xb5, 0xee, 0xaa, 0x4d, 0xba, 0xc8, 0x8d, 0xc7, 0x91, 0x55, 0xa4, 0x4c, 0xe9, 0x81, + 0x09, 0x7c, 0x0e, 0x66, 0x02, 0x46, 0xf1, 0x6d, 0x30, 0x35, 0x0b, 0x29, 0x87, 0x7d, 0x66, 0xf1, + 0x55, 0x9f, 0x83, 0xa9, 0x60, 0xaf, 0xcc, 0x1b, 0xb6, 0x93, 0x43, 0xed, 0x5a, 0xa9, 0xd9, 0xcb, + 0x6c, 0x8d, 0xab, 0x71, 0x35, 0xa5, 0x1c, 0xd2, 0x7c, 0x23, 0xf8, 0x55, 0x38, 0xbc, 0xa5, 0x6b, + 0xb4, 0x37, 0xab, 0xf6, 0xba, 0xe0, 0xcc, 0x04, 0xd5, 0x9d, 0x1f, 0xaa, 0x7b, 0x51, 0xd7, 0x5e, + 0x74, 0xd7, 0x55, 0xdc, 0x65, 0x5c, 0xfd, 0xb4, 0xa7, 0xac, 0x3b, 0x88, 0x6d, 0xc8, 0x76, 0x77, + 0xa0, 0x49, 0x69, 0x6f, 0xab, 0x56, 0xdd, 0xf5, 0xdb, 0xdd, 0x68, 0x92, 0x6e, 0x74, 0x2e, 0xd6, + 0x46, 0x4b, 0xaa, 0x43, 0x36, 0xd9, 0x62, 0xbe, 0xdd, 0x9c, 0xa7, 0x39, 0x30, 0x85, 0x1f, 0x83, + 0x89, 0xba, 0x6e, 0x9b, 0x0d, 0x75, 0x87, 0xc6, 0x2e, 0x6f, 0x80, 0xd2, 0x7c, 0xec, 0x9a, 0x1b, + 0x84, 0xf3, 0x90, 0xae, 0x13, 0xbb, 0x66, 0xe9, 0xa6, 0xfb, 0x5a, 0xca, 0xec, 0xe3, 0x12, 0xbd, + 0x21, 0x7c, 0x1e, 0xf6, 0xb3, 0xc7, 0x06, 0x6d, 0x34, 0xd3, 0xc5, 0xe3, 0xc3, 0x7b, 0x32, 0x2a, + 0xaa, 0xf0, 0x25, 0x58, 0x83, 0x0c, 0x0b, 0x62, 0x7e, 0xbe, 0xd5, 0xde, 0x6b, 0x80, 0xf6, 0x89, + 0xe9, 0x88, 0x88, 0x62, 0x07, 0x5f, 0xe9, 0x2e, 0x52, 0x66, 0x99, 0xba, 0xe0, 0x78, 0xe9, 0xf5, + 0x8f, 0xe5, 0x76, 0x74, 0xe1, 0xc0, 0x2f, 0xf2, 0x06, 0xd7, 0x2e, 0xdc, 0xe5, 0xff, 0xdd, 0x2b, + 0x34, 0x8c, 0x1a, 0x7b, 0x2a, 0x16, 0xee, 0x7a, 0xff, 0xde, 0x2b, 0x08, 0x97, 0x50, 0xe1, 0xae, + 0x70, 0x9d, 0xb1, 0x19, 0x9d, 0x78, 0xa3, 0xf7, 0x16, 0x27, 0x80, 0xf5, 0x42, 0x34, 0xad, 0x16, + 0xc7, 0x60, 0x3f, 0xf3, 0x74, 0x31, 0x0d, 0xe3, 0xee, 0x08, 0x3d, 0x60, 0xe9, 0x17, 0x29, 0x80, + 0x5e, 0x01, 0xc0, 0x58, 0x2c, 0x1d, 0xbc, 0x1c, 0x04, 0x0f, 0x2b, 0x15, 0x79, 0x58, 0x23, 0xe1, + 0xc3, 0xba, 0x09, 0x73, 0x2e, 0x06, 0x55, 0x0e, 0x82, 0x08, 0xf7, 0xbe, 0x5d, 0xc0, 0x4d, 0x13, + 0x58, 0x99, 0x71, 0xa5, 0x78, 0x9b, 0x2d, 0x40, 0xde, 0xfc, 0x58, 0xbe, 0x19, 0xb3, 0xe2, 0x61, + 0x79, 0xcf, 0xb8, 0x4b, 0x7f, 0x44, 0x90, 0x61, 0x57, 0x7c, 0x45, 0xd5, 0x2a, 0xa4, 0x69, 0x36, + 0x54, 0x87, 0x78, 0x45, 0x7f, 0x39, 0x70, 0xd1, 0xe7, 0xe9, 0x55, 0xb2, 0x80, 0x4f, 0x0c, 0x31, + 0x4f, 0x54, 0xe3, 0xdd, 0xf4, 0x27, 0x61, 0xd2, 0x51, 0xb5, 0xaa, 0xc3, 0xc7, 0x03, 0x17, 0xfe, + 0x41, 0xa7, 0xb7, 0x64, 0xad, 0x8e, 0x37, 0x60, 0x42, 0x14, 0xe6, 0x57, 0xec, 0xc2, 0x50, 0x84, + 0x85, 0x4d, 0x99, 0xce, 0xb4, 0xa0, 0x53, 0x7a, 0x05, 0x66, 0x56, 0x88, 0xd3, 0xc7, 0xbf, 0x45, + 0xdf, 0x5d, 0xc3, 0xbd, 0x83, 0xb8, 0xde, 0xb1, 0xeb, 0xf2, 0x7d, 0x04, 0x19, 0xd6, 0x66, 0xf4, + 0xd9, 0x20, 0xe8, 0x0b, 0xda, 0xab, 0x2f, 0x7b, 0xeb, 0x3f, 0x76, 0x20, 0xc3, 0xfa, 0x8f, 0x4f, + 0x06, 0x8b, 0x3e, 0x2d, 0x78, 0xca, 0x6b, 0xc1, 0xdf, 0x46, 0x30, 0xd5, 0x8d, 0x33, 0x6f, 0xcf, + 0x8b, 0x81, 0xf8, 0x3a, 0x41, 0x77, 0x9d, 0x87, 0x63, 0xc3, 0x77, 0xed, 0xc6, 0xd5, 0xd3, 0x30, + 0xe2, 0xa8, 0x1a, 0x07, 0x61, 0x3e, 0x0a, 0x55, 0x66, 0x8f, 0xbb, 0x42, 0xfa, 0x0a, 0x82, 0xa9, + 0xee, 0xa1, 0x79, 0xd6, 0x70, 0x6d, 0x28, 0xa9, 0xb6, 0xbd, 0x9d, 0xc9, 0x35, 0x98, 0xea, 0x9e, + 0x89, 0x67, 0x49, 0xc9, 0x77, 0x16, 0x1c, 0x15, 0x1c, 0x85, 0x0a, 0x8b, 0xc7, 0x2f, 0xa4, 0xe0, + 0x68, 0x28, 0xa1, 0xe9, 0xd6, 0x11, 0x59, 0x0d, 0x49, 0xb3, 0xfa, 0x29, 0x98, 0xf1, 0x65, 0x35, + 0xe3, 0x85, 0xf4, 0x3a, 0xab, 0xb1, 0x0c, 0x1f, 0xec, 0x04, 0x8c, 0x58, 0xab, 0xe3, 0x57, 0x01, + 0x87, 0xd7, 0xd1, 0x82, 0x10, 0x55, 0x48, 0x83, 0x1e, 0xb1, 0x3d, 0xa6, 0x82, 0x7b, 0x48, 0xef, + 0xa4, 0xe0, 0x68, 0x28, 0x27, 0x7d, 0x18, 0xac, 0xf8, 0x10, 0x7e, 0x92, 0x22, 0x70, 0x1a, 0x4e, + 0xc6, 0x43, 0x80, 0x69, 0x62, 0x21, 0xdf, 0xdf, 0x99, 0xd4, 0x83, 0x73, 0x06, 0x5f, 0xf2, 0x47, + 0xd7, 0x48, 0x54, 0x74, 0xb1, 0x57, 0xa5, 0x18, 0x62, 0x3f, 0x44, 0x70, 0x54, 0x21, 0xae, 0xb9, + 0x9f, 0x38, 0x1c, 0x17, 0xe0, 0x48, 0x8b, 0xdc, 0xa9, 0x46, 0xc6, 0xc5, 0x4c, 0x8b, 0xdc, 0xa9, + 0x84, 0x42, 0x43, 0xfa, 0x22, 0x82, 0xa3, 0xa1, 0x0a, 0xf5, 0xc9, 0x58, 0x3a, 0xa4, 0x56, 0xdd, + 0x47, 0x30, 0xe9, 0x3e, 0xc3, 0x2b, 0xaa, 0x66, 0x47, 0x94, 0x2a, 0x1c, 0xb7, 0x54, 0x0d, 0xe5, + 0x26, 0x8f, 0x86, 0xb9, 0x01, 0x91, 0x16, 0x30, 0x61, 0xaa, 0x67, 0x0e, 0xa7, 0x03, 0xce, 0xc1, + 0x3e, 0x47, 0xd5, 0x3c, 0x1a, 0x20, 0xb2, 0x5a, 0x29, 0x54, 0x3a, 0xf6, 0xc3, 0xff, 0x37, 0x08, + 0xb0, 0x47, 0x44, 0xe8, 0xe4, 0x41, 0x93, 0x25, 0x7b, 0xc0, 0xc2, 0x4f, 0x3e, 0xed, 0x4b, 0x40, + 0x3e, 0xdd, 0x85, 0xc3, 0x3e, 0x8f, 0x38, 0x8e, 0xcf, 0xc1, 0x01, 0xde, 0x7a, 0x72, 0x28, 0x63, + 0x10, 0x02, 0x8a, 0xb7, 0x24, 0x2e, 0x9e, 0xb9, 0x57, 0x60, 0xbc, 0xfb, 0x84, 0xc4, 0x59, 0x98, + 0x2d, 0x5f, 0xab, 0x28, 0x2f, 0x57, 0x2b, 0x2f, 0x6f, 0x94, 0xab, 0x2f, 0x5d, 0xdb, 0xdc, 0x28, + 0xbf, 0xb0, 0xb6, 0xbc, 0x56, 0x5e, 0x9a, 0x7a, 0x08, 0x8f, 0xc3, 0x68, 0x45, 0x5e, 0xbc, 0x52, + 0x9e, 0x4a, 0xb9, 0xff, 0x5e, 0x5d, 0x5f, 0x2a, 0x5f, 0x99, 0x1a, 0xc5, 0x93, 0x90, 0x5e, 0x92, + 0x2b, 0x72, 0x75, 0xb3, 0xa2, 0x94, 0xe5, 0xab, 0x53, 0x23, 0x38, 0x0d, 0x07, 0x96, 0xd7, 0xae, + 0x94, 0x37, 0xcb, 0x95, 0xa9, 0x7d, 0xc5, 0x77, 0x0b, 0x90, 0x5e, 0xea, 0xf5, 0x92, 0xf8, 0x7b, + 0x08, 0x0e, 0xfa, 0x48, 0x5c, 0x7c, 0x36, 0x31, 0xf1, 0x9e, 0x2d, 0x26, 0xe2, 0x88, 0x29, 0x96, + 0xd2, 0xc9, 0x8e, 0x9c, 0xa6, 0x24, 0xfd, 0x29, 0xfa, 0x6e, 0x7a, 0xeb, 0x77, 0x7f, 0xf9, 0x46, + 0x6a, 0x4e, 0xc2, 0xf4, 0x6b, 0x1b, 0x26, 0x5a, 0x62, 0x5f, 0x9b, 0x94, 0x50, 0x0e, 0xff, 0xa1, + 0xdb, 0x10, 0x08, 0x0d, 0xed, 0xf0, 0xb7, 0xda, 0x00, 0x42, 0x39, 0x1b, 0x97, 0x04, 0x93, 0xb6, + 0x3b, 0xf2, 0x63, 0x2c, 0x06, 0x4f, 0xf9, 0xa9, 0x63, 0xf1, 0x23, 0x35, 0xfb, 0xa2, 0x54, 0x70, + 0xcd, 0xbe, 0xcb, 0xa4, 0x2f, 0x74, 0xfb, 0xec, 0x9c, 0xd0, 0x5f, 0xe7, 0x7c, 0x7d, 0x75, 0x49, + 0x24, 0x7f, 0xf1, 0x07, 0x08, 0x0e, 0xfa, 0xf8, 0xd7, 0x88, 0x33, 0xe8, 0xc7, 0xd5, 0xc6, 0xf7, + 0x6b, 0xbd, 0x23, 0xd3, 0xa2, 0xd6, 0x91, 0x0f, 0xb9, 0x7f, 0x4e, 0x75, 0x33, 0x84, 0xfa, 0x72, + 0x16, 0x33, 0x5f, 0xdc, 0xa9, 0x01, 0x9e, 0xf8, 0x1e, 0x08, 0xb9, 0x7b, 0xf8, 0x6f, 0xdd, 0xfe, + 0x28, 0xf6, 0xe1, 0x0c, 0x60, 0xc5, 0xe3, 0x3b, 0xf1, 0x7a, 0x47, 0x16, 0x21, 0xec, 0xc8, 0x73, + 0xc2, 0xa7, 0x53, 0xc2, 0x15, 0x48, 0x9d, 0xba, 0x5c, 0x3c, 0x4f, 0x9d, 0x12, 0x64, 0xf2, 0xf1, + 0x1d, 0xf4, 0x1f, 0xd6, 0x7b, 0xc8, 0xeb, 0xc1, 0x62, 0x7b, 0x3b, 0x80, 0xc7, 0xce, 0xce, 0x86, + 0x6a, 0x51, 0xb9, 0x69, 0x3a, 0x3b, 0xd2, 0x45, 0x7e, 0x42, 0xec, 0x40, 0x72, 0x89, 0x0f, 0xe4, + 0xe7, 0xfc, 0x4a, 0x12, 0x98, 0x61, 0xfc, 0xe4, 0x50, 0x0b, 0xfb, 0xf3, 0xdd, 0xd9, 0x73, 0xc9, + 0x16, 0xf1, 0xcc, 0xbe, 0xd4, 0x91, 0x79, 0xf1, 0xf6, 0x45, 0x54, 0xfc, 0xec, 0xc0, 0xbf, 0x44, + 0x90, 0x16, 0xf2, 0x17, 0x17, 0xe2, 0x66, 0xba, 0x67, 0x78, 0x8c, 0xba, 0x2c, 0xbd, 0xda, 0x91, + 0x67, 0x7c, 0xf9, 0xed, 0x65, 0x36, 0xb5, 0x7a, 0x51, 0x7a, 0x36, 0xda, 0xea, 0x00, 0xf0, 0x1e, + 0x2f, 0x51, 0xe2, 0xf4, 0xef, 0xaf, 0x11, 0xa4, 0x85, 0x48, 0x8f, 0x70, 0x23, 0x4c, 0x3f, 0xc7, + 0x72, 0xe3, 0x66, 0x47, 0x66, 0xdb, 0x75, 0xe4, 0x69, 0xfa, 0x37, 0x14, 0xfd, 0xab, 0xc5, 0xe7, + 0x7b, 0xd1, 0x1f, 0x3f, 0xee, 0xbb, 0x2c, 0x4b, 0xee, 0x9e, 0xe7, 0xd0, 0x7b, 0x08, 0xd2, 0x42, + 0x30, 0x47, 0x38, 0x14, 0x66, 0xaf, 0x07, 0x46, 0xfc, 0xaa, 0x18, 0xf1, 0xe7, 0x73, 0xcf, 0x26, + 0x8b, 0x78, 0xc1, 0x52, 0xfc, 0x03, 0x04, 0x63, 0x5e, 0x7d, 0xc4, 0xa7, 0x62, 0x95, 0xd1, 0x24, + 0x68, 0xfb, 0x0d, 0xc5, 0x7b, 0x30, 0xf4, 0xf3, 0x90, 0x16, 0x98, 0xf3, 0x08, 0x28, 0xc3, 0x1c, + 0x7b, 0x2c, 0x6b, 0xb3, 0xd4, 0xcc, 0x87, 0x31, 0xbd, 0x55, 0xbd, 0xe0, 0x6c, 0x50, 0x5d, 0xee, + 0xa5, 0x93, 0x16, 0x7a, 0x9c, 0x28, 0x03, 0x42, 0xfd, 0x5d, 0xf6, 0x4c, 0xfc, 0x05, 0xbc, 0x30, + 0x5c, 0xf6, 0x17, 0x06, 0x0f, 0xbe, 0xdd, 0xa4, 0x18, 0xfe, 0x13, 0x82, 0xe9, 0xd0, 0xcb, 0x15, + 0x7f, 0x26, 0x46, 0xa1, 0x08, 0xd3, 0x19, 0xd9, 0xd8, 0x1c, 0x8b, 0xd4, 0xe8, 0xc8, 0xc7, 0x79, + 0xd1, 0x08, 0x90, 0x54, 0xbe, 0xcf, 0xd4, 0xbf, 0x4b, 0xd2, 0x99, 0x38, 0x85, 0x4f, 0x78, 0xc3, + 0xd9, 0x25, 0x1f, 0x03, 0x84, 0x7f, 0x8c, 0xe0, 0x90, 0x9f, 0x8c, 0xc2, 0xc5, 0xa8, 0x90, 0xde, + 0x93, 0x7b, 0xcf, 0x8b, 0xe1, 0x5d, 0xc4, 0x67, 0x22, 0xc3, 0x5b, 0x34, 0xde, 0x8d, 0xea, 0x7f, + 0x22, 0x98, 0x0e, 0x3d, 0xa6, 0x23, 0x8e, 0x65, 0x10, 0x21, 0x96, 0xc0, 0xee, 0x7b, 0x1d, 0xd9, + 0x87, 0x5c, 0x47, 0xce, 0x88, 0x1f, 0x43, 0x25, 0xf1, 0x6a, 0xf1, 0x02, 0x75, 0x4d, 0x14, 0xca, + 0x27, 0xf0, 0x33, 0x70, 0x4e, 0xef, 0x23, 0x98, 0x0e, 0xbd, 0x44, 0x23, 0xbc, 0x1e, 0xc4, 0xad, + 0x0d, 0xac, 0x91, 0xe5, 0x8e, 0x0c, 0xb4, 0x61, 0xa3, 0xef, 0x4e, 0x76, 0x42, 0xb9, 0xe4, 0x27, + 0x74, 0x3f, 0x05, 0xb3, 0xfd, 0x29, 0x1f, 0x5c, 0x4a, 0x96, 0x3d, 0xe2, 0x53, 0x3b, 0x9b, 0x8c, + 0xbe, 0x90, 0xbe, 0x8c, 0x3a, 0x72, 0xa1, 0x5f, 0x22, 0x79, 0xef, 0xff, 0x3e, 0xa3, 0xd4, 0xe5, + 0xf5, 0x58, 0xf7, 0x72, 0xc0, 0x69, 0xf6, 0x2b, 0x24, 0xbb, 0xd4, 0x87, 0x7d, 0xc1, 0xdf, 0x49, + 0xc1, 0x6c, 0x7f, 0xfa, 0x27, 0x02, 0x8f, 0xa1, 0x9c, 0x51, 0x52, 0x3c, 0xbe, 0x85, 0x3a, 0xf2, + 0x1c, 0x3d, 0xdd, 0xb0, 0x89, 0x1d, 0xf9, 0xf8, 0x80, 0x99, 0x50, 0x5c, 0xaf, 0x17, 0x9f, 0x4d, + 0x18, 0x10, 0x1c, 0x1a, 0x37, 0xa6, 0xfb, 0xa1, 0xf3, 0x0f, 0x04, 0xb3, 0xfd, 0xd9, 0xa0, 0x08, + 0x74, 0x86, 0x52, 0x48, 0x49, 0xd1, 0x69, 0x74, 0xe4, 0x63, 0x14, 0x82, 0x81, 0x74, 0x11, 0xf5, + 0xbe, 0x2c, 0x5d, 0xda, 0xbd, 0xf7, 0x16, 0x35, 0xd8, 0x7d, 0x6c, 0x7e, 0x80, 0x60, 0xb6, 0x3f, + 0xaf, 0x14, 0xe1, 0xf3, 0x50, 0x32, 0x6a, 0x60, 0x5e, 0x5f, 0x0b, 0xe7, 0x75, 0x9c, 0x0e, 0x68, + 0x90, 0x23, 0xf8, 0xbf, 0x08, 0xc6, 0xbb, 0xb9, 0x8a, 0x4f, 0xc7, 0xcb, 0x69, 0xcf, 0xc8, 0x48, + 0x6e, 0x48, 0xfa, 0x36, 0xea, 0xc8, 0xd0, 0xcb, 0x5c, 0x6a, 0xef, 0x97, 0x10, 0x47, 0x3e, 0xc1, + 0x55, 0x2e, 0xf4, 0x42, 0xf4, 0x77, 0x8c, 0xa5, 0x11, 0x47, 0xd5, 0xae, 0x5f, 0x90, 0x9e, 0x4a, + 0xde, 0x13, 0x74, 0x97, 0xe3, 0x77, 0x52, 0x30, 0xde, 0xcd, 0xcb, 0x08, 0xdf, 0x83, 0x94, 0x7e, + 0x0c, 0xdf, 0x7f, 0x84, 0x3a, 0xb2, 0xbb, 0x4f, 0x47, 0x9e, 0x74, 0x54, 0x2d, 0x94, 0x7d, 0x5f, + 0x43, 0xc5, 0x25, 0xef, 0x5a, 0xd9, 0x4d, 0x9f, 0x4d, 0x1d, 0x71, 0x63, 0x91, 0x42, 0x21, 0x17, + 0x4b, 0xbb, 0x50, 0x26, 0xaa, 0xc0, 0x1f, 0x22, 0x18, 0xef, 0x06, 0x65, 0x04, 0x1c, 0xc1, 0xef, + 0x15, 0x06, 0xc6, 0xeb, 0x57, 0x91, 0xd8, 0x24, 0xbc, 0x99, 0xbb, 0xb4, 0xdb, 0x1e, 0xd8, 0xb3, + 0xf5, 0xfa, 0x33, 0xb9, 0xa7, 0x12, 0xea, 0xe0, 0x2b, 0xf1, 0xbf, 0x10, 0x8c, 0x79, 0x6c, 0x67, + 0x44, 0xb7, 0x1f, 0xe0, 0x68, 0x23, 0x4a, 0x50, 0x90, 0x42, 0x95, 0xde, 0x46, 0xfe, 0xe6, 0xf5, + 0x4d, 0xbc, 0xe7, 0x88, 0xbf, 0xfe, 0x0c, 0xde, 0x65, 0xb0, 0xe3, 0x8f, 0x10, 0x4c, 0x6c, 0x12, + 0x67, 0x4d, 0x6d, 0x6e, 0xd0, 0x9f, 0xe6, 0xe2, 0xee, 0x6b, 0x40, 0x57, 0x9b, 0x8c, 0x73, 0xeb, + 0x4d, 0x7a, 0x1e, 0xcf, 0x04, 0x64, 0xd8, 0xac, 0xf4, 0x4d, 0x44, 0x1d, 0xba, 0x8f, 0x24, 0x99, + 0x5a, 0xe3, 0xfd, 0x12, 0x26, 0x6e, 0x2b, 0x64, 0x0b, 0x5b, 0x95, 0x50, 0xee, 0xba, 0x57, 0x85, + 0xa3, 0xf4, 0x04, 0x48, 0x96, 0x80, 0x1a, 0xfc, 0x93, 0x14, 0x4c, 0xac, 0x0c, 0x73, 0x71, 0x25, + 0xbe, 0x8b, 0x7f, 0x65, 0x2e, 0x7e, 0xb8, 0x5b, 0x17, 0xb5, 0x07, 0xe3, 0x62, 0x50, 0xcd, 0xba, + 0x74, 0x39, 0xb9, 0x1a, 0xf1, 0x59, 0x1e, 0x50, 0x88, 0xff, 0x9c, 0x02, 0x5c, 0x21, 0x36, 0x1d, + 0x24, 0x56, 0x53, 0xb7, 0x6d, 0x57, 0x03, 0x5e, 0x08, 0xa0, 0x12, 0x16, 0xf1, 0xf0, 0x7b, 0x22, + 0x86, 0x24, 0x4f, 0x88, 0x7f, 0x33, 0x4c, 0xff, 0x8e, 0xa4, 0x95, 0x5d, 0x61, 0xea, 0x84, 0x54, + 0xbb, 0x90, 0x7c, 0x56, 0x5a, 0xde, 0x0d, 0xb2, 0xfd, 0x95, 0xbd, 0x24, 0x6d, 0xec, 0x0d, 0xdf, + 0xbe, 0x6a, 0xb3, 0xd7, 0x7e, 0x25, 0x67, 0x07, 0x7f, 0x87, 0xf1, 0x5b, 0x39, 0xbf, 0xed, 0x38, + 0xa6, 0x5d, 0x2a, 0x14, 0xee, 0xdc, 0xb9, 0x13, 0xfc, 0x82, 0x43, 0x6d, 0x3b, 0xdb, 0xec, 0x37, + 0xfa, 0xa7, 0x5d, 0x28, 0x6e, 0x18, 0x56, 0x73, 0xb1, 0x05, 0x8f, 0xd6, 0x8c, 0xe6, 0xb0, 0x72, + 0xb4, 0x81, 0xae, 0x2f, 0xf3, 0x69, 0xcd, 0x68, 0xa8, 0x2d, 0x2d, 0x6f, 0x58, 0x5a, 0x41, 0x23, + 0x2d, 0x5a, 0x9a, 0x0b, 0xbd, 0x3d, 0xfa, 0xfe, 0xfc, 0xff, 0xbc, 0xf0, 0xf1, 0x3f, 0x08, 0x6d, + 0xed, 0xa7, 0xab, 0x9e, 0xfc, 0x7f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x40, 0xcf, 0x85, 0x12, 0xfa, + 0x31, 0x00, 0x00, +} + +// Reference imports to suppress errors if they are not otherwise used. +var _ context.Context +var _ grpc.ClientConnInterface + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the grpc package it is being compiled against. +const _ = grpc.SupportPackageIsVersion6 + +// DataCatalogClient is the client API for DataCatalog service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. +type DataCatalogClient interface { + // Searches Data Catalog for multiple resources like entries, tags that + // match a query. + // + // This is a custom method + // (https://cloud.google.com/apis/design/custom_methods) and does not return + // the complete resource, only the resource identifier and high level + // fields. Clients can subsequentally call `Get` methods. + // + // Note that Data Catalog search queries do not guarantee full recall. Query + // results that match your query may not be returned, even in subsequent + // result pages. Also note that results returned (and not returned) can vary + // across repeated search queries. + // + // See [Data Catalog Search + // Syntax](/data-catalog/docs/how-to/search-reference) for more information. + SearchCatalog(ctx context.Context, in *SearchCatalogRequest, opts ...grpc.CallOption) (*SearchCatalogResponse, error) + // Creates an EntryGroup. + // + // An entry group contains logically related entries together with Cloud + // Identity and Access Management policies that specify the users who can + // create, edit, and view entries within the entry group. + // + // Data Catalog automatically creates an entry group for BigQuery entries + // ("@bigquery") and Pub/Sub topics ("@pubsub"). Users create their own entry + // group to contain Cloud Storage fileset entries or custom type entries, + // and the IAM policies associated with those entries. Entry groups, like + // entries, can be searched. + // + // A maximum of 10,000 entry groups may be created per organization across all + // locations. + // + // Users should enable the Data Catalog API in the project identified by + // the `parent` parameter (see [Data Catalog Resource Project] + // (/data-catalog/docs/concepts/resource-project) for more information). + CreateEntryGroup(ctx context.Context, in *CreateEntryGroupRequest, opts ...grpc.CallOption) (*EntryGroup, error) + // Gets an EntryGroup. + GetEntryGroup(ctx context.Context, in *GetEntryGroupRequest, opts ...grpc.CallOption) (*EntryGroup, error) + // Updates an EntryGroup. The user should enable the Data Catalog API in the + // project identified by the `entry_group.name` parameter (see [Data Catalog + // Resource Project] (/data-catalog/docs/concepts/resource-project) for more + // information). + UpdateEntryGroup(ctx context.Context, in *UpdateEntryGroupRequest, opts ...grpc.CallOption) (*EntryGroup, error) + // Deletes an EntryGroup. Only entry groups that do not contain entries can be + // deleted. Users should enable the Data Catalog API in the project + // identified by the `name` parameter (see [Data Catalog Resource Project] + // (/data-catalog/docs/concepts/resource-project) for more information). + DeleteEntryGroup(ctx context.Context, in *DeleteEntryGroupRequest, opts ...grpc.CallOption) (*empty.Empty, error) + // Lists entry groups. + ListEntryGroups(ctx context.Context, in *ListEntryGroupsRequest, opts ...grpc.CallOption) (*ListEntryGroupsResponse, error) + // Creates an entry. Only entries of 'FILESET' type or user-specified type can + // be created. + // + // Users should enable the Data Catalog API in the project identified by + // the `parent` parameter (see [Data Catalog Resource Project] + // (/data-catalog/docs/concepts/resource-project) for more information). + // + // A maximum of 100,000 entries may be created per entry group. + CreateEntry(ctx context.Context, in *CreateEntryRequest, opts ...grpc.CallOption) (*Entry, error) + // Updates an existing entry. + // Users should enable the Data Catalog API in the project identified by + // the `entry.name` parameter (see [Data Catalog Resource Project] + // (/data-catalog/docs/concepts/resource-project) for more information). + UpdateEntry(ctx context.Context, in *UpdateEntryRequest, opts ...grpc.CallOption) (*Entry, error) + // Deletes an existing entry. Only entries created through + // [CreateEntry][google.cloud.datacatalog.v1.DataCatalog.CreateEntry] + // method can be deleted. + // Users should enable the Data Catalog API in the project identified by + // the `name` parameter (see [Data Catalog Resource Project] + // (/data-catalog/docs/concepts/resource-project) for more information). + DeleteEntry(ctx context.Context, in *DeleteEntryRequest, opts ...grpc.CallOption) (*empty.Empty, error) + // Gets an entry. + GetEntry(ctx context.Context, in *GetEntryRequest, opts ...grpc.CallOption) (*Entry, error) + // Get an entry by target resource name. This method allows clients to use + // the resource name from the source Google Cloud Platform service to get the + // Data Catalog Entry. + LookupEntry(ctx context.Context, in *LookupEntryRequest, opts ...grpc.CallOption) (*Entry, error) + // Lists entries. + ListEntries(ctx context.Context, in *ListEntriesRequest, opts ...grpc.CallOption) (*ListEntriesResponse, error) + // Creates a tag template. The user should enable the Data Catalog API in + // the project identified by the `parent` parameter (see [Data Catalog + // Resource Project](/data-catalog/docs/concepts/resource-project) for more + // information). + CreateTagTemplate(ctx context.Context, in *CreateTagTemplateRequest, opts ...grpc.CallOption) (*TagTemplate, error) + // Gets a tag template. + GetTagTemplate(ctx context.Context, in *GetTagTemplateRequest, opts ...grpc.CallOption) (*TagTemplate, error) + // Updates a tag template. This method cannot be used to update the fields of + // a template. The tag template fields are represented as separate resources + // and should be updated using their own create/update/delete methods. + // Users should enable the Data Catalog API in the project identified by + // the `tag_template.name` parameter (see [Data Catalog Resource Project] + // (/data-catalog/docs/concepts/resource-project) for more information). + UpdateTagTemplate(ctx context.Context, in *UpdateTagTemplateRequest, opts ...grpc.CallOption) (*TagTemplate, error) + // Deletes a tag template and all tags using the template. + // Users should enable the Data Catalog API in the project identified by + // the `name` parameter (see [Data Catalog Resource Project] + // (/data-catalog/docs/concepts/resource-project) for more information). + DeleteTagTemplate(ctx context.Context, in *DeleteTagTemplateRequest, opts ...grpc.CallOption) (*empty.Empty, error) + // Creates a field in a tag template. The user should enable the Data Catalog + // API in the project identified by the `parent` parameter (see + // [Data Catalog Resource + // Project](/data-catalog/docs/concepts/resource-project) for more + // information). + CreateTagTemplateField(ctx context.Context, in *CreateTagTemplateFieldRequest, opts ...grpc.CallOption) (*TagTemplateField, error) + // Updates a field in a tag template. This method cannot be used to update the + // field type. Users should enable the Data Catalog API in the project + // identified by the `name` parameter (see [Data Catalog Resource Project] + // (/data-catalog/docs/concepts/resource-project) for more information). + UpdateTagTemplateField(ctx context.Context, in *UpdateTagTemplateFieldRequest, opts ...grpc.CallOption) (*TagTemplateField, error) + // Renames a field in a tag template. The user should enable the Data Catalog + // API in the project identified by the `name` parameter (see [Data Catalog + // Resource Project](/data-catalog/docs/concepts/resource-project) for more + // information). + RenameTagTemplateField(ctx context.Context, in *RenameTagTemplateFieldRequest, opts ...grpc.CallOption) (*TagTemplateField, error) + // Deletes a field in a tag template and all uses of that field. + // Users should enable the Data Catalog API in the project identified by + // the `name` parameter (see [Data Catalog Resource Project] + // (/data-catalog/docs/concepts/resource-project) for more information). + DeleteTagTemplateField(ctx context.Context, in *DeleteTagTemplateFieldRequest, opts ...grpc.CallOption) (*empty.Empty, error) + // Creates a tag on an [Entry][google.cloud.datacatalog.v1.Entry]. + // Note: The project identified by the `parent` parameter for the + // [tag](/data-catalog/docs/reference/rest/v1/projects.locations.entryGroups.entries.tags/create#path-parameters) + // and the + // [tag + // template](/data-catalog/docs/reference/rest/v1/projects.locations.tagTemplates/create#path-parameters) + // used to create the tag must be from the same organization. + CreateTag(ctx context.Context, in *CreateTagRequest, opts ...grpc.CallOption) (*Tag, error) + // Updates an existing tag. + UpdateTag(ctx context.Context, in *UpdateTagRequest, opts ...grpc.CallOption) (*Tag, error) + // Deletes a tag. + DeleteTag(ctx context.Context, in *DeleteTagRequest, opts ...grpc.CallOption) (*empty.Empty, error) + // Lists the tags on an [Entry][google.cloud.datacatalog.v1.Entry]. + ListTags(ctx context.Context, in *ListTagsRequest, opts ...grpc.CallOption) (*ListTagsResponse, error) + // Sets the access control policy for a resource. Replaces any existing + // policy. + // Supported resources are: + // - Tag templates. + // - Entries. + // - Entry groups. + // Note, this method cannot be used to manage policies for BigQuery, Cloud + // Pub/Sub and any external Google Cloud Platform resources synced to Cloud + // Data Catalog. + // + // Callers must have following Google IAM permission + // - `datacatalog.tagTemplates.setIamPolicy` to set policies on tag + // templates. + // - `datacatalog.entries.setIamPolicy` to set policies on entries. + // - `datacatalog.entryGroups.setIamPolicy` to set policies on entry groups. + SetIamPolicy(ctx context.Context, in *v1.SetIamPolicyRequest, opts ...grpc.CallOption) (*v1.Policy, error) + // Gets the access control policy for a resource. A `NOT_FOUND` error + // is returned if the resource does not exist. An empty policy is returned + // if the resource exists but does not have a policy set on it. + // + // Supported resources are: + // - Tag templates. + // - Entries. + // - Entry groups. + // Note, this method cannot be used to manage policies for BigQuery, Cloud + // Pub/Sub and any external Google Cloud Platform resources synced to Cloud + // Data Catalog. + // + // Callers must have following Google IAM permission + // - `datacatalog.tagTemplates.getIamPolicy` to get policies on tag + // templates. + // - `datacatalog.entries.getIamPolicy` to get policies on entries. + // - `datacatalog.entryGroups.getIamPolicy` to get policies on entry groups. + GetIamPolicy(ctx context.Context, in *v1.GetIamPolicyRequest, opts ...grpc.CallOption) (*v1.Policy, error) + // Returns the caller's permissions on a resource. + // If the resource does not exist, an empty set of permissions is returned + // (We don't return a `NOT_FOUND` error). + // + // Supported resources are: + // - Tag templates. + // - Entries. + // - Entry groups. + // Note, this method cannot be used to manage policies for BigQuery, Cloud + // Pub/Sub and any external Google Cloud Platform resources synced to Cloud + // Data Catalog. + // + // A caller is not required to have Google IAM permission to make this + // request. + TestIamPermissions(ctx context.Context, in *v1.TestIamPermissionsRequest, opts ...grpc.CallOption) (*v1.TestIamPermissionsResponse, error) +} + +type dataCatalogClient struct { + cc grpc.ClientConnInterface +} + +func NewDataCatalogClient(cc grpc.ClientConnInterface) DataCatalogClient { + return &dataCatalogClient{cc} +} + +func (c *dataCatalogClient) SearchCatalog(ctx context.Context, in *SearchCatalogRequest, opts ...grpc.CallOption) (*SearchCatalogResponse, error) { + out := new(SearchCatalogResponse) + err := c.cc.Invoke(ctx, "/google.cloud.datacatalog.v1.DataCatalog/SearchCatalog", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *dataCatalogClient) CreateEntryGroup(ctx context.Context, in *CreateEntryGroupRequest, opts ...grpc.CallOption) (*EntryGroup, error) { + out := new(EntryGroup) + err := c.cc.Invoke(ctx, "/google.cloud.datacatalog.v1.DataCatalog/CreateEntryGroup", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *dataCatalogClient) GetEntryGroup(ctx context.Context, in *GetEntryGroupRequest, opts ...grpc.CallOption) (*EntryGroup, error) { + out := new(EntryGroup) + err := c.cc.Invoke(ctx, "/google.cloud.datacatalog.v1.DataCatalog/GetEntryGroup", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *dataCatalogClient) UpdateEntryGroup(ctx context.Context, in *UpdateEntryGroupRequest, opts ...grpc.CallOption) (*EntryGroup, error) { + out := new(EntryGroup) + err := c.cc.Invoke(ctx, "/google.cloud.datacatalog.v1.DataCatalog/UpdateEntryGroup", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *dataCatalogClient) DeleteEntryGroup(ctx context.Context, in *DeleteEntryGroupRequest, opts ...grpc.CallOption) (*empty.Empty, error) { + out := new(empty.Empty) + err := c.cc.Invoke(ctx, "/google.cloud.datacatalog.v1.DataCatalog/DeleteEntryGroup", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *dataCatalogClient) ListEntryGroups(ctx context.Context, in *ListEntryGroupsRequest, opts ...grpc.CallOption) (*ListEntryGroupsResponse, error) { + out := new(ListEntryGroupsResponse) + err := c.cc.Invoke(ctx, "/google.cloud.datacatalog.v1.DataCatalog/ListEntryGroups", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *dataCatalogClient) CreateEntry(ctx context.Context, in *CreateEntryRequest, opts ...grpc.CallOption) (*Entry, error) { + out := new(Entry) + err := c.cc.Invoke(ctx, "/google.cloud.datacatalog.v1.DataCatalog/CreateEntry", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *dataCatalogClient) UpdateEntry(ctx context.Context, in *UpdateEntryRequest, opts ...grpc.CallOption) (*Entry, error) { + out := new(Entry) + err := c.cc.Invoke(ctx, "/google.cloud.datacatalog.v1.DataCatalog/UpdateEntry", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *dataCatalogClient) DeleteEntry(ctx context.Context, in *DeleteEntryRequest, opts ...grpc.CallOption) (*empty.Empty, error) { + out := new(empty.Empty) + err := c.cc.Invoke(ctx, "/google.cloud.datacatalog.v1.DataCatalog/DeleteEntry", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *dataCatalogClient) GetEntry(ctx context.Context, in *GetEntryRequest, opts ...grpc.CallOption) (*Entry, error) { + out := new(Entry) + err := c.cc.Invoke(ctx, "/google.cloud.datacatalog.v1.DataCatalog/GetEntry", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *dataCatalogClient) LookupEntry(ctx context.Context, in *LookupEntryRequest, opts ...grpc.CallOption) (*Entry, error) { + out := new(Entry) + err := c.cc.Invoke(ctx, "/google.cloud.datacatalog.v1.DataCatalog/LookupEntry", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *dataCatalogClient) ListEntries(ctx context.Context, in *ListEntriesRequest, opts ...grpc.CallOption) (*ListEntriesResponse, error) { + out := new(ListEntriesResponse) + err := c.cc.Invoke(ctx, "/google.cloud.datacatalog.v1.DataCatalog/ListEntries", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *dataCatalogClient) CreateTagTemplate(ctx context.Context, in *CreateTagTemplateRequest, opts ...grpc.CallOption) (*TagTemplate, error) { + out := new(TagTemplate) + err := c.cc.Invoke(ctx, "/google.cloud.datacatalog.v1.DataCatalog/CreateTagTemplate", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *dataCatalogClient) GetTagTemplate(ctx context.Context, in *GetTagTemplateRequest, opts ...grpc.CallOption) (*TagTemplate, error) { + out := new(TagTemplate) + err := c.cc.Invoke(ctx, "/google.cloud.datacatalog.v1.DataCatalog/GetTagTemplate", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *dataCatalogClient) UpdateTagTemplate(ctx context.Context, in *UpdateTagTemplateRequest, opts ...grpc.CallOption) (*TagTemplate, error) { + out := new(TagTemplate) + err := c.cc.Invoke(ctx, "/google.cloud.datacatalog.v1.DataCatalog/UpdateTagTemplate", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *dataCatalogClient) DeleteTagTemplate(ctx context.Context, in *DeleteTagTemplateRequest, opts ...grpc.CallOption) (*empty.Empty, error) { + out := new(empty.Empty) + err := c.cc.Invoke(ctx, "/google.cloud.datacatalog.v1.DataCatalog/DeleteTagTemplate", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *dataCatalogClient) CreateTagTemplateField(ctx context.Context, in *CreateTagTemplateFieldRequest, opts ...grpc.CallOption) (*TagTemplateField, error) { + out := new(TagTemplateField) + err := c.cc.Invoke(ctx, "/google.cloud.datacatalog.v1.DataCatalog/CreateTagTemplateField", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *dataCatalogClient) UpdateTagTemplateField(ctx context.Context, in *UpdateTagTemplateFieldRequest, opts ...grpc.CallOption) (*TagTemplateField, error) { + out := new(TagTemplateField) + err := c.cc.Invoke(ctx, "/google.cloud.datacatalog.v1.DataCatalog/UpdateTagTemplateField", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *dataCatalogClient) RenameTagTemplateField(ctx context.Context, in *RenameTagTemplateFieldRequest, opts ...grpc.CallOption) (*TagTemplateField, error) { + out := new(TagTemplateField) + err := c.cc.Invoke(ctx, "/google.cloud.datacatalog.v1.DataCatalog/RenameTagTemplateField", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *dataCatalogClient) DeleteTagTemplateField(ctx context.Context, in *DeleteTagTemplateFieldRequest, opts ...grpc.CallOption) (*empty.Empty, error) { + out := new(empty.Empty) + err := c.cc.Invoke(ctx, "/google.cloud.datacatalog.v1.DataCatalog/DeleteTagTemplateField", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *dataCatalogClient) CreateTag(ctx context.Context, in *CreateTagRequest, opts ...grpc.CallOption) (*Tag, error) { + out := new(Tag) + err := c.cc.Invoke(ctx, "/google.cloud.datacatalog.v1.DataCatalog/CreateTag", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *dataCatalogClient) UpdateTag(ctx context.Context, in *UpdateTagRequest, opts ...grpc.CallOption) (*Tag, error) { + out := new(Tag) + err := c.cc.Invoke(ctx, "/google.cloud.datacatalog.v1.DataCatalog/UpdateTag", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *dataCatalogClient) DeleteTag(ctx context.Context, in *DeleteTagRequest, opts ...grpc.CallOption) (*empty.Empty, error) { + out := new(empty.Empty) + err := c.cc.Invoke(ctx, "/google.cloud.datacatalog.v1.DataCatalog/DeleteTag", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *dataCatalogClient) ListTags(ctx context.Context, in *ListTagsRequest, opts ...grpc.CallOption) (*ListTagsResponse, error) { + out := new(ListTagsResponse) + err := c.cc.Invoke(ctx, "/google.cloud.datacatalog.v1.DataCatalog/ListTags", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *dataCatalogClient) SetIamPolicy(ctx context.Context, in *v1.SetIamPolicyRequest, opts ...grpc.CallOption) (*v1.Policy, error) { + out := new(v1.Policy) + err := c.cc.Invoke(ctx, "/google.cloud.datacatalog.v1.DataCatalog/SetIamPolicy", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *dataCatalogClient) GetIamPolicy(ctx context.Context, in *v1.GetIamPolicyRequest, opts ...grpc.CallOption) (*v1.Policy, error) { + out := new(v1.Policy) + err := c.cc.Invoke(ctx, "/google.cloud.datacatalog.v1.DataCatalog/GetIamPolicy", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *dataCatalogClient) TestIamPermissions(ctx context.Context, in *v1.TestIamPermissionsRequest, opts ...grpc.CallOption) (*v1.TestIamPermissionsResponse, error) { + out := new(v1.TestIamPermissionsResponse) + err := c.cc.Invoke(ctx, "/google.cloud.datacatalog.v1.DataCatalog/TestIamPermissions", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +// DataCatalogServer is the server API for DataCatalog service. +type DataCatalogServer interface { + // Searches Data Catalog for multiple resources like entries, tags that + // match a query. + // + // This is a custom method + // (https://cloud.google.com/apis/design/custom_methods) and does not return + // the complete resource, only the resource identifier and high level + // fields. Clients can subsequentally call `Get` methods. + // + // Note that Data Catalog search queries do not guarantee full recall. Query + // results that match your query may not be returned, even in subsequent + // result pages. Also note that results returned (and not returned) can vary + // across repeated search queries. + // + // See [Data Catalog Search + // Syntax](/data-catalog/docs/how-to/search-reference) for more information. + SearchCatalog(context.Context, *SearchCatalogRequest) (*SearchCatalogResponse, error) + // Creates an EntryGroup. + // + // An entry group contains logically related entries together with Cloud + // Identity and Access Management policies that specify the users who can + // create, edit, and view entries within the entry group. + // + // Data Catalog automatically creates an entry group for BigQuery entries + // ("@bigquery") and Pub/Sub topics ("@pubsub"). Users create their own entry + // group to contain Cloud Storage fileset entries or custom type entries, + // and the IAM policies associated with those entries. Entry groups, like + // entries, can be searched. + // + // A maximum of 10,000 entry groups may be created per organization across all + // locations. + // + // Users should enable the Data Catalog API in the project identified by + // the `parent` parameter (see [Data Catalog Resource Project] + // (/data-catalog/docs/concepts/resource-project) for more information). + CreateEntryGroup(context.Context, *CreateEntryGroupRequest) (*EntryGroup, error) + // Gets an EntryGroup. + GetEntryGroup(context.Context, *GetEntryGroupRequest) (*EntryGroup, error) + // Updates an EntryGroup. The user should enable the Data Catalog API in the + // project identified by the `entry_group.name` parameter (see [Data Catalog + // Resource Project] (/data-catalog/docs/concepts/resource-project) for more + // information). + UpdateEntryGroup(context.Context, *UpdateEntryGroupRequest) (*EntryGroup, error) + // Deletes an EntryGroup. Only entry groups that do not contain entries can be + // deleted. Users should enable the Data Catalog API in the project + // identified by the `name` parameter (see [Data Catalog Resource Project] + // (/data-catalog/docs/concepts/resource-project) for more information). + DeleteEntryGroup(context.Context, *DeleteEntryGroupRequest) (*empty.Empty, error) + // Lists entry groups. + ListEntryGroups(context.Context, *ListEntryGroupsRequest) (*ListEntryGroupsResponse, error) + // Creates an entry. Only entries of 'FILESET' type or user-specified type can + // be created. + // + // Users should enable the Data Catalog API in the project identified by + // the `parent` parameter (see [Data Catalog Resource Project] + // (/data-catalog/docs/concepts/resource-project) for more information). + // + // A maximum of 100,000 entries may be created per entry group. + CreateEntry(context.Context, *CreateEntryRequest) (*Entry, error) + // Updates an existing entry. + // Users should enable the Data Catalog API in the project identified by + // the `entry.name` parameter (see [Data Catalog Resource Project] + // (/data-catalog/docs/concepts/resource-project) for more information). + UpdateEntry(context.Context, *UpdateEntryRequest) (*Entry, error) + // Deletes an existing entry. Only entries created through + // [CreateEntry][google.cloud.datacatalog.v1.DataCatalog.CreateEntry] + // method can be deleted. + // Users should enable the Data Catalog API in the project identified by + // the `name` parameter (see [Data Catalog Resource Project] + // (/data-catalog/docs/concepts/resource-project) for more information). + DeleteEntry(context.Context, *DeleteEntryRequest) (*empty.Empty, error) + // Gets an entry. + GetEntry(context.Context, *GetEntryRequest) (*Entry, error) + // Get an entry by target resource name. This method allows clients to use + // the resource name from the source Google Cloud Platform service to get the + // Data Catalog Entry. + LookupEntry(context.Context, *LookupEntryRequest) (*Entry, error) + // Lists entries. + ListEntries(context.Context, *ListEntriesRequest) (*ListEntriesResponse, error) + // Creates a tag template. The user should enable the Data Catalog API in + // the project identified by the `parent` parameter (see [Data Catalog + // Resource Project](/data-catalog/docs/concepts/resource-project) for more + // information). + CreateTagTemplate(context.Context, *CreateTagTemplateRequest) (*TagTemplate, error) + // Gets a tag template. + GetTagTemplate(context.Context, *GetTagTemplateRequest) (*TagTemplate, error) + // Updates a tag template. This method cannot be used to update the fields of + // a template. The tag template fields are represented as separate resources + // and should be updated using their own create/update/delete methods. + // Users should enable the Data Catalog API in the project identified by + // the `tag_template.name` parameter (see [Data Catalog Resource Project] + // (/data-catalog/docs/concepts/resource-project) for more information). + UpdateTagTemplate(context.Context, *UpdateTagTemplateRequest) (*TagTemplate, error) + // Deletes a tag template and all tags using the template. + // Users should enable the Data Catalog API in the project identified by + // the `name` parameter (see [Data Catalog Resource Project] + // (/data-catalog/docs/concepts/resource-project) for more information). + DeleteTagTemplate(context.Context, *DeleteTagTemplateRequest) (*empty.Empty, error) + // Creates a field in a tag template. The user should enable the Data Catalog + // API in the project identified by the `parent` parameter (see + // [Data Catalog Resource + // Project](/data-catalog/docs/concepts/resource-project) for more + // information). + CreateTagTemplateField(context.Context, *CreateTagTemplateFieldRequest) (*TagTemplateField, error) + // Updates a field in a tag template. This method cannot be used to update the + // field type. Users should enable the Data Catalog API in the project + // identified by the `name` parameter (see [Data Catalog Resource Project] + // (/data-catalog/docs/concepts/resource-project) for more information). + UpdateTagTemplateField(context.Context, *UpdateTagTemplateFieldRequest) (*TagTemplateField, error) + // Renames a field in a tag template. The user should enable the Data Catalog + // API in the project identified by the `name` parameter (see [Data Catalog + // Resource Project](/data-catalog/docs/concepts/resource-project) for more + // information). + RenameTagTemplateField(context.Context, *RenameTagTemplateFieldRequest) (*TagTemplateField, error) + // Deletes a field in a tag template and all uses of that field. + // Users should enable the Data Catalog API in the project identified by + // the `name` parameter (see [Data Catalog Resource Project] + // (/data-catalog/docs/concepts/resource-project) for more information). + DeleteTagTemplateField(context.Context, *DeleteTagTemplateFieldRequest) (*empty.Empty, error) + // Creates a tag on an [Entry][google.cloud.datacatalog.v1.Entry]. + // Note: The project identified by the `parent` parameter for the + // [tag](/data-catalog/docs/reference/rest/v1/projects.locations.entryGroups.entries.tags/create#path-parameters) + // and the + // [tag + // template](/data-catalog/docs/reference/rest/v1/projects.locations.tagTemplates/create#path-parameters) + // used to create the tag must be from the same organization. + CreateTag(context.Context, *CreateTagRequest) (*Tag, error) + // Updates an existing tag. + UpdateTag(context.Context, *UpdateTagRequest) (*Tag, error) + // Deletes a tag. + DeleteTag(context.Context, *DeleteTagRequest) (*empty.Empty, error) + // Lists the tags on an [Entry][google.cloud.datacatalog.v1.Entry]. + ListTags(context.Context, *ListTagsRequest) (*ListTagsResponse, error) + // Sets the access control policy for a resource. Replaces any existing + // policy. + // Supported resources are: + // - Tag templates. + // - Entries. + // - Entry groups. + // Note, this method cannot be used to manage policies for BigQuery, Cloud + // Pub/Sub and any external Google Cloud Platform resources synced to Cloud + // Data Catalog. + // + // Callers must have following Google IAM permission + // - `datacatalog.tagTemplates.setIamPolicy` to set policies on tag + // templates. + // - `datacatalog.entries.setIamPolicy` to set policies on entries. + // - `datacatalog.entryGroups.setIamPolicy` to set policies on entry groups. + SetIamPolicy(context.Context, *v1.SetIamPolicyRequest) (*v1.Policy, error) + // Gets the access control policy for a resource. A `NOT_FOUND` error + // is returned if the resource does not exist. An empty policy is returned + // if the resource exists but does not have a policy set on it. + // + // Supported resources are: + // - Tag templates. + // - Entries. + // - Entry groups. + // Note, this method cannot be used to manage policies for BigQuery, Cloud + // Pub/Sub and any external Google Cloud Platform resources synced to Cloud + // Data Catalog. + // + // Callers must have following Google IAM permission + // - `datacatalog.tagTemplates.getIamPolicy` to get policies on tag + // templates. + // - `datacatalog.entries.getIamPolicy` to get policies on entries. + // - `datacatalog.entryGroups.getIamPolicy` to get policies on entry groups. + GetIamPolicy(context.Context, *v1.GetIamPolicyRequest) (*v1.Policy, error) + // Returns the caller's permissions on a resource. + // If the resource does not exist, an empty set of permissions is returned + // (We don't return a `NOT_FOUND` error). + // + // Supported resources are: + // - Tag templates. + // - Entries. + // - Entry groups. + // Note, this method cannot be used to manage policies for BigQuery, Cloud + // Pub/Sub and any external Google Cloud Platform resources synced to Cloud + // Data Catalog. + // + // A caller is not required to have Google IAM permission to make this + // request. + TestIamPermissions(context.Context, *v1.TestIamPermissionsRequest) (*v1.TestIamPermissionsResponse, error) +} + +// UnimplementedDataCatalogServer can be embedded to have forward compatible implementations. +type UnimplementedDataCatalogServer struct { +} + +func (*UnimplementedDataCatalogServer) SearchCatalog(ctx context.Context, req *SearchCatalogRequest) (*SearchCatalogResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method SearchCatalog not implemented") +} +func (*UnimplementedDataCatalogServer) CreateEntryGroup(ctx context.Context, req *CreateEntryGroupRequest) (*EntryGroup, error) { + return nil, status.Errorf(codes.Unimplemented, "method CreateEntryGroup not implemented") +} +func (*UnimplementedDataCatalogServer) GetEntryGroup(ctx context.Context, req *GetEntryGroupRequest) (*EntryGroup, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetEntryGroup not implemented") +} +func (*UnimplementedDataCatalogServer) UpdateEntryGroup(ctx context.Context, req *UpdateEntryGroupRequest) (*EntryGroup, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpdateEntryGroup not implemented") +} +func (*UnimplementedDataCatalogServer) DeleteEntryGroup(ctx context.Context, req *DeleteEntryGroupRequest) (*empty.Empty, error) { + return nil, status.Errorf(codes.Unimplemented, "method DeleteEntryGroup not implemented") +} +func (*UnimplementedDataCatalogServer) ListEntryGroups(ctx context.Context, req *ListEntryGroupsRequest) (*ListEntryGroupsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ListEntryGroups not implemented") +} +func (*UnimplementedDataCatalogServer) CreateEntry(ctx context.Context, req *CreateEntryRequest) (*Entry, error) { + return nil, status.Errorf(codes.Unimplemented, "method CreateEntry not implemented") +} +func (*UnimplementedDataCatalogServer) UpdateEntry(ctx context.Context, req *UpdateEntryRequest) (*Entry, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpdateEntry not implemented") +} +func (*UnimplementedDataCatalogServer) DeleteEntry(ctx context.Context, req *DeleteEntryRequest) (*empty.Empty, error) { + return nil, status.Errorf(codes.Unimplemented, "method DeleteEntry not implemented") +} +func (*UnimplementedDataCatalogServer) GetEntry(ctx context.Context, req *GetEntryRequest) (*Entry, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetEntry not implemented") +} +func (*UnimplementedDataCatalogServer) LookupEntry(ctx context.Context, req *LookupEntryRequest) (*Entry, error) { + return nil, status.Errorf(codes.Unimplemented, "method LookupEntry not implemented") +} +func (*UnimplementedDataCatalogServer) ListEntries(ctx context.Context, req *ListEntriesRequest) (*ListEntriesResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ListEntries not implemented") +} +func (*UnimplementedDataCatalogServer) CreateTagTemplate(ctx context.Context, req *CreateTagTemplateRequest) (*TagTemplate, error) { + return nil, status.Errorf(codes.Unimplemented, "method CreateTagTemplate not implemented") +} +func (*UnimplementedDataCatalogServer) GetTagTemplate(ctx context.Context, req *GetTagTemplateRequest) (*TagTemplate, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetTagTemplate not implemented") +} +func (*UnimplementedDataCatalogServer) UpdateTagTemplate(ctx context.Context, req *UpdateTagTemplateRequest) (*TagTemplate, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpdateTagTemplate not implemented") +} +func (*UnimplementedDataCatalogServer) DeleteTagTemplate(ctx context.Context, req *DeleteTagTemplateRequest) (*empty.Empty, error) { + return nil, status.Errorf(codes.Unimplemented, "method DeleteTagTemplate not implemented") +} +func (*UnimplementedDataCatalogServer) CreateTagTemplateField(ctx context.Context, req *CreateTagTemplateFieldRequest) (*TagTemplateField, error) { + return nil, status.Errorf(codes.Unimplemented, "method CreateTagTemplateField not implemented") +} +func (*UnimplementedDataCatalogServer) UpdateTagTemplateField(ctx context.Context, req *UpdateTagTemplateFieldRequest) (*TagTemplateField, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpdateTagTemplateField not implemented") +} +func (*UnimplementedDataCatalogServer) RenameTagTemplateField(ctx context.Context, req *RenameTagTemplateFieldRequest) (*TagTemplateField, error) { + return nil, status.Errorf(codes.Unimplemented, "method RenameTagTemplateField not implemented") +} +func (*UnimplementedDataCatalogServer) DeleteTagTemplateField(ctx context.Context, req *DeleteTagTemplateFieldRequest) (*empty.Empty, error) { + return nil, status.Errorf(codes.Unimplemented, "method DeleteTagTemplateField not implemented") +} +func (*UnimplementedDataCatalogServer) CreateTag(ctx context.Context, req *CreateTagRequest) (*Tag, error) { + return nil, status.Errorf(codes.Unimplemented, "method CreateTag not implemented") +} +func (*UnimplementedDataCatalogServer) UpdateTag(ctx context.Context, req *UpdateTagRequest) (*Tag, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpdateTag not implemented") +} +func (*UnimplementedDataCatalogServer) DeleteTag(ctx context.Context, req *DeleteTagRequest) (*empty.Empty, error) { + return nil, status.Errorf(codes.Unimplemented, "method DeleteTag not implemented") +} +func (*UnimplementedDataCatalogServer) ListTags(ctx context.Context, req *ListTagsRequest) (*ListTagsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ListTags not implemented") +} +func (*UnimplementedDataCatalogServer) SetIamPolicy(ctx context.Context, req *v1.SetIamPolicyRequest) (*v1.Policy, error) { + return nil, status.Errorf(codes.Unimplemented, "method SetIamPolicy not implemented") +} +func (*UnimplementedDataCatalogServer) GetIamPolicy(ctx context.Context, req *v1.GetIamPolicyRequest) (*v1.Policy, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetIamPolicy not implemented") +} +func (*UnimplementedDataCatalogServer) TestIamPermissions(ctx context.Context, req *v1.TestIamPermissionsRequest) (*v1.TestIamPermissionsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method TestIamPermissions not implemented") +} + +func RegisterDataCatalogServer(s *grpc.Server, srv DataCatalogServer) { + s.RegisterService(&_DataCatalog_serviceDesc, srv) +} + +func _DataCatalog_SearchCatalog_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(SearchCatalogRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(DataCatalogServer).SearchCatalog(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.datacatalog.v1.DataCatalog/SearchCatalog", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(DataCatalogServer).SearchCatalog(ctx, req.(*SearchCatalogRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _DataCatalog_CreateEntryGroup_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(CreateEntryGroupRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(DataCatalogServer).CreateEntryGroup(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.datacatalog.v1.DataCatalog/CreateEntryGroup", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(DataCatalogServer).CreateEntryGroup(ctx, req.(*CreateEntryGroupRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _DataCatalog_GetEntryGroup_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetEntryGroupRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(DataCatalogServer).GetEntryGroup(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.datacatalog.v1.DataCatalog/GetEntryGroup", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(DataCatalogServer).GetEntryGroup(ctx, req.(*GetEntryGroupRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _DataCatalog_UpdateEntryGroup_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(UpdateEntryGroupRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(DataCatalogServer).UpdateEntryGroup(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.datacatalog.v1.DataCatalog/UpdateEntryGroup", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(DataCatalogServer).UpdateEntryGroup(ctx, req.(*UpdateEntryGroupRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _DataCatalog_DeleteEntryGroup_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DeleteEntryGroupRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(DataCatalogServer).DeleteEntryGroup(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.datacatalog.v1.DataCatalog/DeleteEntryGroup", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(DataCatalogServer).DeleteEntryGroup(ctx, req.(*DeleteEntryGroupRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _DataCatalog_ListEntryGroups_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ListEntryGroupsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(DataCatalogServer).ListEntryGroups(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.datacatalog.v1.DataCatalog/ListEntryGroups", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(DataCatalogServer).ListEntryGroups(ctx, req.(*ListEntryGroupsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _DataCatalog_CreateEntry_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(CreateEntryRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(DataCatalogServer).CreateEntry(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.datacatalog.v1.DataCatalog/CreateEntry", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(DataCatalogServer).CreateEntry(ctx, req.(*CreateEntryRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _DataCatalog_UpdateEntry_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(UpdateEntryRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(DataCatalogServer).UpdateEntry(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.datacatalog.v1.DataCatalog/UpdateEntry", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(DataCatalogServer).UpdateEntry(ctx, req.(*UpdateEntryRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _DataCatalog_DeleteEntry_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DeleteEntryRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(DataCatalogServer).DeleteEntry(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.datacatalog.v1.DataCatalog/DeleteEntry", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(DataCatalogServer).DeleteEntry(ctx, req.(*DeleteEntryRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _DataCatalog_GetEntry_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetEntryRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(DataCatalogServer).GetEntry(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.datacatalog.v1.DataCatalog/GetEntry", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(DataCatalogServer).GetEntry(ctx, req.(*GetEntryRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _DataCatalog_LookupEntry_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(LookupEntryRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(DataCatalogServer).LookupEntry(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.datacatalog.v1.DataCatalog/LookupEntry", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(DataCatalogServer).LookupEntry(ctx, req.(*LookupEntryRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _DataCatalog_ListEntries_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ListEntriesRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(DataCatalogServer).ListEntries(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.datacatalog.v1.DataCatalog/ListEntries", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(DataCatalogServer).ListEntries(ctx, req.(*ListEntriesRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _DataCatalog_CreateTagTemplate_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(CreateTagTemplateRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(DataCatalogServer).CreateTagTemplate(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.datacatalog.v1.DataCatalog/CreateTagTemplate", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(DataCatalogServer).CreateTagTemplate(ctx, req.(*CreateTagTemplateRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _DataCatalog_GetTagTemplate_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetTagTemplateRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(DataCatalogServer).GetTagTemplate(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.datacatalog.v1.DataCatalog/GetTagTemplate", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(DataCatalogServer).GetTagTemplate(ctx, req.(*GetTagTemplateRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _DataCatalog_UpdateTagTemplate_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(UpdateTagTemplateRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(DataCatalogServer).UpdateTagTemplate(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.datacatalog.v1.DataCatalog/UpdateTagTemplate", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(DataCatalogServer).UpdateTagTemplate(ctx, req.(*UpdateTagTemplateRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _DataCatalog_DeleteTagTemplate_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DeleteTagTemplateRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(DataCatalogServer).DeleteTagTemplate(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.datacatalog.v1.DataCatalog/DeleteTagTemplate", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(DataCatalogServer).DeleteTagTemplate(ctx, req.(*DeleteTagTemplateRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _DataCatalog_CreateTagTemplateField_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(CreateTagTemplateFieldRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(DataCatalogServer).CreateTagTemplateField(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.datacatalog.v1.DataCatalog/CreateTagTemplateField", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(DataCatalogServer).CreateTagTemplateField(ctx, req.(*CreateTagTemplateFieldRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _DataCatalog_UpdateTagTemplateField_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(UpdateTagTemplateFieldRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(DataCatalogServer).UpdateTagTemplateField(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.datacatalog.v1.DataCatalog/UpdateTagTemplateField", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(DataCatalogServer).UpdateTagTemplateField(ctx, req.(*UpdateTagTemplateFieldRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _DataCatalog_RenameTagTemplateField_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(RenameTagTemplateFieldRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(DataCatalogServer).RenameTagTemplateField(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.datacatalog.v1.DataCatalog/RenameTagTemplateField", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(DataCatalogServer).RenameTagTemplateField(ctx, req.(*RenameTagTemplateFieldRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _DataCatalog_DeleteTagTemplateField_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DeleteTagTemplateFieldRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(DataCatalogServer).DeleteTagTemplateField(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.datacatalog.v1.DataCatalog/DeleteTagTemplateField", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(DataCatalogServer).DeleteTagTemplateField(ctx, req.(*DeleteTagTemplateFieldRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _DataCatalog_CreateTag_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(CreateTagRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(DataCatalogServer).CreateTag(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.datacatalog.v1.DataCatalog/CreateTag", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(DataCatalogServer).CreateTag(ctx, req.(*CreateTagRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _DataCatalog_UpdateTag_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(UpdateTagRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(DataCatalogServer).UpdateTag(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.datacatalog.v1.DataCatalog/UpdateTag", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(DataCatalogServer).UpdateTag(ctx, req.(*UpdateTagRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _DataCatalog_DeleteTag_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DeleteTagRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(DataCatalogServer).DeleteTag(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.datacatalog.v1.DataCatalog/DeleteTag", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(DataCatalogServer).DeleteTag(ctx, req.(*DeleteTagRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _DataCatalog_ListTags_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ListTagsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(DataCatalogServer).ListTags(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.datacatalog.v1.DataCatalog/ListTags", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(DataCatalogServer).ListTags(ctx, req.(*ListTagsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _DataCatalog_SetIamPolicy_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(v1.SetIamPolicyRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(DataCatalogServer).SetIamPolicy(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.datacatalog.v1.DataCatalog/SetIamPolicy", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(DataCatalogServer).SetIamPolicy(ctx, req.(*v1.SetIamPolicyRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _DataCatalog_GetIamPolicy_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(v1.GetIamPolicyRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(DataCatalogServer).GetIamPolicy(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.datacatalog.v1.DataCatalog/GetIamPolicy", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(DataCatalogServer).GetIamPolicy(ctx, req.(*v1.GetIamPolicyRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _DataCatalog_TestIamPermissions_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(v1.TestIamPermissionsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(DataCatalogServer).TestIamPermissions(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.datacatalog.v1.DataCatalog/TestIamPermissions", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(DataCatalogServer).TestIamPermissions(ctx, req.(*v1.TestIamPermissionsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +var _DataCatalog_serviceDesc = grpc.ServiceDesc{ + ServiceName: "google.cloud.datacatalog.v1.DataCatalog", + HandlerType: (*DataCatalogServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "SearchCatalog", + Handler: _DataCatalog_SearchCatalog_Handler, + }, + { + MethodName: "CreateEntryGroup", + Handler: _DataCatalog_CreateEntryGroup_Handler, + }, + { + MethodName: "GetEntryGroup", + Handler: _DataCatalog_GetEntryGroup_Handler, + }, + { + MethodName: "UpdateEntryGroup", + Handler: _DataCatalog_UpdateEntryGroup_Handler, + }, + { + MethodName: "DeleteEntryGroup", + Handler: _DataCatalog_DeleteEntryGroup_Handler, + }, + { + MethodName: "ListEntryGroups", + Handler: _DataCatalog_ListEntryGroups_Handler, + }, + { + MethodName: "CreateEntry", + Handler: _DataCatalog_CreateEntry_Handler, + }, + { + MethodName: "UpdateEntry", + Handler: _DataCatalog_UpdateEntry_Handler, + }, + { + MethodName: "DeleteEntry", + Handler: _DataCatalog_DeleteEntry_Handler, + }, + { + MethodName: "GetEntry", + Handler: _DataCatalog_GetEntry_Handler, + }, + { + MethodName: "LookupEntry", + Handler: _DataCatalog_LookupEntry_Handler, + }, + { + MethodName: "ListEntries", + Handler: _DataCatalog_ListEntries_Handler, + }, + { + MethodName: "CreateTagTemplate", + Handler: _DataCatalog_CreateTagTemplate_Handler, + }, + { + MethodName: "GetTagTemplate", + Handler: _DataCatalog_GetTagTemplate_Handler, + }, + { + MethodName: "UpdateTagTemplate", + Handler: _DataCatalog_UpdateTagTemplate_Handler, + }, + { + MethodName: "DeleteTagTemplate", + Handler: _DataCatalog_DeleteTagTemplate_Handler, + }, + { + MethodName: "CreateTagTemplateField", + Handler: _DataCatalog_CreateTagTemplateField_Handler, + }, + { + MethodName: "UpdateTagTemplateField", + Handler: _DataCatalog_UpdateTagTemplateField_Handler, + }, + { + MethodName: "RenameTagTemplateField", + Handler: _DataCatalog_RenameTagTemplateField_Handler, + }, + { + MethodName: "DeleteTagTemplateField", + Handler: _DataCatalog_DeleteTagTemplateField_Handler, + }, + { + MethodName: "CreateTag", + Handler: _DataCatalog_CreateTag_Handler, + }, + { + MethodName: "UpdateTag", + Handler: _DataCatalog_UpdateTag_Handler, + }, + { + MethodName: "DeleteTag", + Handler: _DataCatalog_DeleteTag_Handler, + }, + { + MethodName: "ListTags", + Handler: _DataCatalog_ListTags_Handler, + }, + { + MethodName: "SetIamPolicy", + Handler: _DataCatalog_SetIamPolicy_Handler, + }, + { + MethodName: "GetIamPolicy", + Handler: _DataCatalog_GetIamPolicy_Handler, + }, + { + MethodName: "TestIamPermissions", + Handler: _DataCatalog_TestIamPermissions_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "google/cloud/datacatalog/v1/datacatalog.proto", +} diff --git a/googleapis/cloud/datacatalog/v1/gcs_fileset_spec.pb.go b/googleapis/cloud/datacatalog/v1/gcs_fileset_spec.pb.go new file mode 100644 index 0000000000..684e1cbba2 --- /dev/null +++ b/googleapis/cloud/datacatalog/v1/gcs_fileset_spec.pb.go @@ -0,0 +1,193 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// source: google/cloud/datacatalog/v1/gcs_fileset_spec.proto + +package datacatalog + +import ( + fmt "fmt" + math "math" + + proto "github.com/golang/protobuf/proto" + _ "google.golang.org/genproto/googleapis/api/annotations" +) + +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the proto package it is being compiled against. +// A compilation error at this line likely means your copy of the +// proto package needs to be updated. +const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package + +// Describes a Cloud Storage fileset entry. +type GcsFilesetSpec struct { + // Required. Patterns to identify a set of files in Google Cloud Storage. See [Cloud + // Storage documentation](/storage/docs/gsutil/addlhelp/WildcardNames) for + // more information. Note that bucket wildcards are currently not supported. + // + // Examples of valid file_patterns: + // + // * `gs://bucket_name/dir/*`: matches all files within `bucket_name/dir` + // directory. + // * `gs://bucket_name/dir/**`: matches all files in `bucket_name/dir` + // spanning all subdirectories. + // * `gs://bucket_name/file*`: matches files prefixed by `file` in + // `bucket_name` + // * `gs://bucket_name/??.txt`: matches files with two characters followed by + // `.txt` in `bucket_name` + // * `gs://bucket_name/[aeiou].txt`: matches files that contain a single + // vowel character followed by `.txt` in + // `bucket_name` + // * `gs://bucket_name/[a-m].txt`: matches files that contain `a`, `b`, ... + // or `m` followed by `.txt` in `bucket_name` + // * `gs://bucket_name/a/*/b`: matches all files in `bucket_name` that match + // `a/*/b` pattern, such as `a/c/b`, `a/d/b` + // * `gs://another_bucket/a.txt`: matches `gs://another_bucket/a.txt` + // + // You can combine wildcards to provide more powerful matches, for example: + // + // * `gs://bucket_name/[a-m]??.j*g` + FilePatterns []string `protobuf:"bytes,1,rep,name=file_patterns,json=filePatterns,proto3" json:"file_patterns,omitempty"` + // Output only. Sample files contained in this fileset, not all files + // contained in this fileset are represented here. + SampleGcsFileSpecs []*GcsFileSpec `protobuf:"bytes,2,rep,name=sample_gcs_file_specs,json=sampleGcsFileSpecs,proto3" json:"sample_gcs_file_specs,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *GcsFilesetSpec) Reset() { *m = GcsFilesetSpec{} } +func (m *GcsFilesetSpec) String() string { return proto.CompactTextString(m) } +func (*GcsFilesetSpec) ProtoMessage() {} +func (*GcsFilesetSpec) Descriptor() ([]byte, []int) { + return fileDescriptor_5ef0234cfb0655d3, []int{0} +} + +func (m *GcsFilesetSpec) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GcsFilesetSpec.Unmarshal(m, b) +} +func (m *GcsFilesetSpec) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GcsFilesetSpec.Marshal(b, m, deterministic) +} +func (m *GcsFilesetSpec) XXX_Merge(src proto.Message) { + xxx_messageInfo_GcsFilesetSpec.Merge(m, src) +} +func (m *GcsFilesetSpec) XXX_Size() int { + return xxx_messageInfo_GcsFilesetSpec.Size(m) +} +func (m *GcsFilesetSpec) XXX_DiscardUnknown() { + xxx_messageInfo_GcsFilesetSpec.DiscardUnknown(m) +} + +var xxx_messageInfo_GcsFilesetSpec proto.InternalMessageInfo + +func (m *GcsFilesetSpec) GetFilePatterns() []string { + if m != nil { + return m.FilePatterns + } + return nil +} + +func (m *GcsFilesetSpec) GetSampleGcsFileSpecs() []*GcsFileSpec { + if m != nil { + return m.SampleGcsFileSpecs + } + return nil +} + +// Specifications of a single file in Cloud Storage. +type GcsFileSpec struct { + // Required. The full file path. Example: `gs://bucket_name/a/b.txt`. + FilePath string `protobuf:"bytes,1,opt,name=file_path,json=filePath,proto3" json:"file_path,omitempty"` + // Output only. Timestamps about the Cloud Storage file. + GcsTimestamps *SystemTimestamps `protobuf:"bytes,2,opt,name=gcs_timestamps,json=gcsTimestamps,proto3" json:"gcs_timestamps,omitempty"` + // Output only. The size of the file, in bytes. + SizeBytes int64 `protobuf:"varint,4,opt,name=size_bytes,json=sizeBytes,proto3" json:"size_bytes,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *GcsFileSpec) Reset() { *m = GcsFileSpec{} } +func (m *GcsFileSpec) String() string { return proto.CompactTextString(m) } +func (*GcsFileSpec) ProtoMessage() {} +func (*GcsFileSpec) Descriptor() ([]byte, []int) { + return fileDescriptor_5ef0234cfb0655d3, []int{1} +} + +func (m *GcsFileSpec) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GcsFileSpec.Unmarshal(m, b) +} +func (m *GcsFileSpec) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GcsFileSpec.Marshal(b, m, deterministic) +} +func (m *GcsFileSpec) XXX_Merge(src proto.Message) { + xxx_messageInfo_GcsFileSpec.Merge(m, src) +} +func (m *GcsFileSpec) XXX_Size() int { + return xxx_messageInfo_GcsFileSpec.Size(m) +} +func (m *GcsFileSpec) XXX_DiscardUnknown() { + xxx_messageInfo_GcsFileSpec.DiscardUnknown(m) +} + +var xxx_messageInfo_GcsFileSpec proto.InternalMessageInfo + +func (m *GcsFileSpec) GetFilePath() string { + if m != nil { + return m.FilePath + } + return "" +} + +func (m *GcsFileSpec) GetGcsTimestamps() *SystemTimestamps { + if m != nil { + return m.GcsTimestamps + } + return nil +} + +func (m *GcsFileSpec) GetSizeBytes() int64 { + if m != nil { + return m.SizeBytes + } + return 0 +} + +func init() { + proto.RegisterType((*GcsFilesetSpec)(nil), "google.cloud.datacatalog.v1.GcsFilesetSpec") + proto.RegisterType((*GcsFileSpec)(nil), "google.cloud.datacatalog.v1.GcsFileSpec") +} + +func init() { + proto.RegisterFile("google/cloud/datacatalog/v1/gcs_fileset_spec.proto", fileDescriptor_5ef0234cfb0655d3) +} + +var fileDescriptor_5ef0234cfb0655d3 = []byte{ + // 343 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x7c, 0x91, 0xb1, 0x6e, 0xea, 0x30, + 0x14, 0x86, 0x65, 0x72, 0x75, 0x75, 0x31, 0x17, 0x86, 0x48, 0x57, 0x8a, 0xb8, 0x03, 0x11, 0x53, + 0x86, 0x36, 0x11, 0x74, 0xec, 0x54, 0x06, 0xba, 0x22, 0xe8, 0xd2, 0x2e, 0xa9, 0x31, 0x07, 0x63, + 0xc9, 0x89, 0xad, 0x1c, 0x17, 0x89, 0x3e, 0x4b, 0x9f, 0xa1, 0xcf, 0xd4, 0xc7, 0xe8, 0x58, 0x39, + 0x0e, 0x25, 0x43, 0x95, 0xd1, 0xff, 0xf1, 0x7f, 0xfe, 0xef, 0xd7, 0xa1, 0x73, 0xa1, 0xb5, 0x50, + 0x90, 0x71, 0xa5, 0x5f, 0x76, 0xd9, 0x8e, 0x59, 0xc6, 0x99, 0x65, 0x4a, 0x8b, 0xec, 0x38, 0xcb, + 0x04, 0xc7, 0x7c, 0x2f, 0x15, 0x20, 0xd8, 0x1c, 0x0d, 0xf0, 0xd4, 0x54, 0xda, 0xea, 0xf0, 0xbf, + 0xf7, 0xa4, 0xb5, 0x27, 0x6d, 0x79, 0xd2, 0xe3, 0x6c, 0x3c, 0x69, 0x16, 0x32, 0x23, 0xb3, 0xbd, + 0x04, 0xb5, 0xcb, 0xb7, 0x70, 0x60, 0x47, 0xa9, 0x2b, 0xef, 0x1e, 0x5f, 0x75, 0x25, 0x5a, 0x59, + 0x00, 0x5a, 0x56, 0x18, 0xf4, 0xbf, 0xa7, 0x6f, 0x84, 0x8e, 0xee, 0x39, 0x2e, 0x3d, 0xc5, 0xc6, + 0x00, 0x0f, 0x13, 0x3a, 0x74, 0x50, 0xb9, 0x61, 0xd6, 0x42, 0x55, 0x62, 0x44, 0xe2, 0x20, 0xe9, + 0x2f, 0x82, 0x8f, 0xbb, 0xde, 0xfa, 0xaf, 0x9b, 0xac, 0x9a, 0x41, 0xf8, 0x4c, 0xff, 0x21, 0x2b, + 0x8c, 0x82, 0xfc, 0xdc, 0xa4, 0xae, 0x81, 0x51, 0x2f, 0x0e, 0x92, 0xc1, 0x3c, 0x49, 0x3b, 0x8a, + 0xa4, 0x4d, 0xaa, 0x8b, 0x74, 0xbb, 0x83, 0x75, 0xe8, 0x77, 0xb5, 0x74, 0x9c, 0xbe, 0x13, 0x3a, + 0x68, 0x09, 0x61, 0x4c, 0xfb, 0x67, 0xb6, 0x43, 0x44, 0x62, 0x72, 0xe6, 0xfa, 0xd3, 0x70, 0x1d, + 0xc2, 0x47, 0x3a, 0x72, 0x30, 0x97, 0xa2, 0x51, 0x2f, 0x26, 0xc9, 0x60, 0x7e, 0xdd, 0x09, 0xb3, + 0x39, 0xa1, 0x85, 0xe2, 0xe1, 0xdb, 0xe4, 0x89, 0x86, 0x82, 0xe3, 0x45, 0x0b, 0xa7, 0x94, 0xa2, + 0x7c, 0x85, 0x7c, 0x7b, 0xb2, 0x80, 0xd1, 0xaf, 0x98, 0x24, 0x81, 0xff, 0xd7, 0x77, 0xf2, 0xc2, + 0xa9, 0x8b, 0x92, 0x4e, 0xb8, 0x2e, 0xba, 0xb2, 0x56, 0xe4, 0x69, 0xd9, 0x8c, 0x85, 0x56, 0xac, + 0x14, 0xa9, 0xae, 0x44, 0x26, 0xa0, 0xac, 0x0f, 0x92, 0xf9, 0x11, 0x33, 0x12, 0x7f, 0xbc, 0xe0, + 0x6d, 0xeb, 0xf9, 0x49, 0xc8, 0xf6, 0x77, 0xed, 0xba, 0xf9, 0x0a, 0x00, 0x00, 0xff, 0xff, 0x15, + 0xfe, 0xbb, 0x50, 0x68, 0x02, 0x00, 0x00, +} diff --git a/googleapis/cloud/datacatalog/v1/schema.pb.go b/googleapis/cloud/datacatalog/v1/schema.pb.go new file mode 100644 index 0000000000..dddc7bccb2 --- /dev/null +++ b/googleapis/cloud/datacatalog/v1/schema.pb.go @@ -0,0 +1,176 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// source: google/cloud/datacatalog/v1/schema.proto + +package datacatalog + +import ( + fmt "fmt" + math "math" + + proto "github.com/golang/protobuf/proto" + _ "google.golang.org/genproto/googleapis/api/annotations" +) + +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the proto package it is being compiled against. +// A compilation error at this line likely means your copy of the +// proto package needs to be updated. +const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package + +// Represents a schema (e.g. BigQuery, GoogleSQL, Avro schema). +type Schema struct { + // Required. Schema of columns. A maximum of 10,000 columns and sub-columns can be + // specified. + Columns []*ColumnSchema `protobuf:"bytes,2,rep,name=columns,proto3" json:"columns,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *Schema) Reset() { *m = Schema{} } +func (m *Schema) String() string { return proto.CompactTextString(m) } +func (*Schema) ProtoMessage() {} +func (*Schema) Descriptor() ([]byte, []int) { + return fileDescriptor_c85321006f215ea0, []int{0} +} + +func (m *Schema) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_Schema.Unmarshal(m, b) +} +func (m *Schema) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_Schema.Marshal(b, m, deterministic) +} +func (m *Schema) XXX_Merge(src proto.Message) { + xxx_messageInfo_Schema.Merge(m, src) +} +func (m *Schema) XXX_Size() int { + return xxx_messageInfo_Schema.Size(m) +} +func (m *Schema) XXX_DiscardUnknown() { + xxx_messageInfo_Schema.DiscardUnknown(m) +} + +var xxx_messageInfo_Schema proto.InternalMessageInfo + +func (m *Schema) GetColumns() []*ColumnSchema { + if m != nil { + return m.Columns + } + return nil +} + +// Representation of a column within a schema. Columns could be nested inside +// other columns. +type ColumnSchema struct { + // Required. Name of the column. + Column string `protobuf:"bytes,6,opt,name=column,proto3" json:"column,omitempty"` + // Required. Type of the column. + Type string `protobuf:"bytes,1,opt,name=type,proto3" json:"type,omitempty"` + // Optional. Description of the column. Default value is an empty string. + Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"` + // Optional. A column's mode indicates whether the values in this column are required, + // nullable, etc. Only `NULLABLE`, `REQUIRED` and `REPEATED` are supported. + // Default mode is `NULLABLE`. + Mode string `protobuf:"bytes,3,opt,name=mode,proto3" json:"mode,omitempty"` + // Optional. Schema of sub-columns. A column can have zero or more sub-columns. + Subcolumns []*ColumnSchema `protobuf:"bytes,7,rep,name=subcolumns,proto3" json:"subcolumns,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *ColumnSchema) Reset() { *m = ColumnSchema{} } +func (m *ColumnSchema) String() string { return proto.CompactTextString(m) } +func (*ColumnSchema) ProtoMessage() {} +func (*ColumnSchema) Descriptor() ([]byte, []int) { + return fileDescriptor_c85321006f215ea0, []int{1} +} + +func (m *ColumnSchema) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ColumnSchema.Unmarshal(m, b) +} +func (m *ColumnSchema) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ColumnSchema.Marshal(b, m, deterministic) +} +func (m *ColumnSchema) XXX_Merge(src proto.Message) { + xxx_messageInfo_ColumnSchema.Merge(m, src) +} +func (m *ColumnSchema) XXX_Size() int { + return xxx_messageInfo_ColumnSchema.Size(m) +} +func (m *ColumnSchema) XXX_DiscardUnknown() { + xxx_messageInfo_ColumnSchema.DiscardUnknown(m) +} + +var xxx_messageInfo_ColumnSchema proto.InternalMessageInfo + +func (m *ColumnSchema) GetColumn() string { + if m != nil { + return m.Column + } + return "" +} + +func (m *ColumnSchema) GetType() string { + if m != nil { + return m.Type + } + return "" +} + +func (m *ColumnSchema) GetDescription() string { + if m != nil { + return m.Description + } + return "" +} + +func (m *ColumnSchema) GetMode() string { + if m != nil { + return m.Mode + } + return "" +} + +func (m *ColumnSchema) GetSubcolumns() []*ColumnSchema { + if m != nil { + return m.Subcolumns + } + return nil +} + +func init() { + proto.RegisterType((*Schema)(nil), "google.cloud.datacatalog.v1.Schema") + proto.RegisterType((*ColumnSchema)(nil), "google.cloud.datacatalog.v1.ColumnSchema") +} + +func init() { + proto.RegisterFile("google/cloud/datacatalog/v1/schema.proto", fileDescriptor_c85321006f215ea0) +} + +var fileDescriptor_c85321006f215ea0 = []byte{ + // 279 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x91, 0x3f, 0x4b, 0xc4, 0x30, + 0x18, 0xc6, 0xc9, 0x55, 0x7a, 0xf8, 0x9e, 0x53, 0x16, 0x8b, 0x37, 0xdc, 0x71, 0x20, 0xd4, 0x25, + 0xe1, 0x74, 0x74, 0xf2, 0x04, 0x71, 0x12, 0xa9, 0x9b, 0x8b, 0xa4, 0x69, 0xcc, 0x05, 0xd2, 0xbe, + 0xa5, 0xff, 0xc0, 0xef, 0xe9, 0x07, 0xf0, 0x63, 0x38, 0x8a, 0x49, 0xcb, 0x65, 0x90, 0x1b, 0x1c, + 0xfb, 0xfc, 0x9e, 0xe7, 0x07, 0x6f, 0x03, 0xa9, 0x46, 0xd4, 0x56, 0x71, 0x69, 0xb1, 0x2f, 0x78, + 0x21, 0x3a, 0x21, 0x45, 0x27, 0x2c, 0x6a, 0x3e, 0x6c, 0x79, 0x2b, 0xf7, 0xaa, 0x14, 0xac, 0x6e, + 0xb0, 0x43, 0xba, 0xf4, 0x4d, 0xe6, 0x9a, 0x2c, 0x68, 0xb2, 0x61, 0x7b, 0xb1, 0x1a, 0x35, 0xa2, + 0x36, 0xfc, 0xdd, 0x28, 0x5b, 0xbc, 0xe5, 0x6a, 0x2f, 0x06, 0x83, 0x8d, 0x5f, 0x6f, 0x32, 0x88, + 0x5f, 0x9c, 0x8d, 0x3e, 0xc2, 0x5c, 0xa2, 0xed, 0xcb, 0xaa, 0x4d, 0x66, 0xeb, 0x28, 0x5d, 0x5c, + 0x5f, 0xb1, 0x23, 0x66, 0x76, 0xef, 0xba, 0x7e, 0xbb, 0x8b, 0xbe, 0xee, 0x66, 0xd9, 0x34, 0xdf, + 0x7c, 0x12, 0x38, 0x0b, 0x31, 0x5d, 0x42, 0xec, 0x59, 0x12, 0xaf, 0x49, 0x7a, 0xea, 0xeb, 0x63, + 0x44, 0xcf, 0xe1, 0xa4, 0xfb, 0xa8, 0x55, 0x42, 0x0e, 0xc8, 0x05, 0xf4, 0x12, 0x16, 0x85, 0x6a, + 0x65, 0x63, 0xea, 0xce, 0x60, 0x95, 0xcc, 0x26, 0x4e, 0xb2, 0x30, 0xff, 0xdd, 0x97, 0x58, 0xa8, + 0x24, 0x3a, 0x70, 0x17, 0xd0, 0x27, 0x80, 0xb6, 0xcf, 0xa7, 0x9b, 0xe6, 0xff, 0xb8, 0x89, 0x64, + 0x81, 0x61, 0x57, 0xc1, 0x4a, 0x62, 0x79, 0x4c, 0xf0, 0x4c, 0x5e, 0x1f, 0x46, 0xac, 0xd1, 0x8a, + 0x4a, 0x33, 0x6c, 0x34, 0xd7, 0xaa, 0x72, 0xff, 0x9a, 0x7b, 0x24, 0x6a, 0xd3, 0xfe, 0xf9, 0xac, + 0xb7, 0xc1, 0xe7, 0x37, 0x21, 0x79, 0xec, 0x56, 0x37, 0x3f, 0x01, 0x00, 0x00, 0xff, 0xff, 0x99, + 0x3f, 0x84, 0x20, 0x0b, 0x02, 0x00, 0x00, +} diff --git a/googleapis/cloud/datacatalog/v1/search.pb.go b/googleapis/cloud/datacatalog/v1/search.pb.go new file mode 100644 index 0000000000..e7fd062bbe --- /dev/null +++ b/googleapis/cloud/datacatalog/v1/search.pb.go @@ -0,0 +1,235 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// source: google/cloud/datacatalog/v1/search.proto + +package datacatalog + +import ( + fmt "fmt" + math "math" + + proto "github.com/golang/protobuf/proto" + _ "github.com/golang/protobuf/ptypes/timestamp" + _ "google.golang.org/genproto/googleapis/api/annotations" +) + +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the proto package it is being compiled against. +// A compilation error at this line likely means your copy of the +// proto package needs to be updated. +const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package + +// The different types of resources that can be returned in search. +type SearchResultType int32 + +const ( + // Default unknown type. + SearchResultType_SEARCH_RESULT_TYPE_UNSPECIFIED SearchResultType = 0 + // An [Entry][google.cloud.datacatalog.v1.Entry]. + SearchResultType_ENTRY SearchResultType = 1 + // A [TagTemplate][google.cloud.datacatalog.v1.TagTemplate]. + SearchResultType_TAG_TEMPLATE SearchResultType = 2 + // An [EntryGroup][google.cloud.datacatalog.v1.EntryGroup]. + SearchResultType_ENTRY_GROUP SearchResultType = 3 +) + +var SearchResultType_name = map[int32]string{ + 0: "SEARCH_RESULT_TYPE_UNSPECIFIED", + 1: "ENTRY", + 2: "TAG_TEMPLATE", + 3: "ENTRY_GROUP", +} + +var SearchResultType_value = map[string]int32{ + "SEARCH_RESULT_TYPE_UNSPECIFIED": 0, + "ENTRY": 1, + "TAG_TEMPLATE": 2, + "ENTRY_GROUP": 3, +} + +func (x SearchResultType) String() string { + return proto.EnumName(SearchResultType_name, int32(x)) +} + +func (SearchResultType) EnumDescriptor() ([]byte, []int) { + return fileDescriptor_92ea9a51da4a4f11, []int{0} +} + +// A result that appears in the response of a search request. Each result +// captures details of one entry that matches the search. +type SearchCatalogResult struct { + // Type of the search result. This field can be used to determine which Get + // method to call to fetch the full resource. + SearchResultType SearchResultType `protobuf:"varint,1,opt,name=search_result_type,json=searchResultType,proto3,enum=google.cloud.datacatalog.v1.SearchResultType" json:"search_result_type,omitempty"` + // Sub-type of the search result. This is a dot-delimited description of the + // resource's full type, and is the same as the value callers would provide in + // the "type" search facet. Examples: `entry.table`, `entry.dataStream`, + // `tagTemplate`. + SearchResultSubtype string `protobuf:"bytes,2,opt,name=search_result_subtype,json=searchResultSubtype,proto3" json:"search_result_subtype,omitempty"` + // The relative resource name of the resource in URL format. + // Examples: + // + // * `projects/{project_id}/locations/{location_id}/entryGroups/{entry_group_id}/entries/{entry_id}` + // * `projects/{project_id}/tagTemplates/{tag_template_id}` + RelativeResourceName string `protobuf:"bytes,3,opt,name=relative_resource_name,json=relativeResourceName,proto3" json:"relative_resource_name,omitempty"` + // The full name of the cloud resource the entry belongs to. See: + // https://cloud.google.com/apis/design/resource_names#full_resource_name. + // Example: + // + // * `//bigquery.googleapis.com/projects/projectId/datasets/datasetId/tables/tableId` + LinkedResource string `protobuf:"bytes,4,opt,name=linked_resource,json=linkedResource,proto3" json:"linked_resource,omitempty"` + // The source system of the entry. Only applicable when `search_result_type` + // is ENTRY. + // + // Types that are valid to be assigned to System: + // *SearchCatalogResult_IntegratedSystem + // *SearchCatalogResult_UserSpecifiedSystem + System isSearchCatalogResult_System `protobuf_oneof:"system"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *SearchCatalogResult) Reset() { *m = SearchCatalogResult{} } +func (m *SearchCatalogResult) String() string { return proto.CompactTextString(m) } +func (*SearchCatalogResult) ProtoMessage() {} +func (*SearchCatalogResult) Descriptor() ([]byte, []int) { + return fileDescriptor_92ea9a51da4a4f11, []int{0} +} + +func (m *SearchCatalogResult) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_SearchCatalogResult.Unmarshal(m, b) +} +func (m *SearchCatalogResult) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_SearchCatalogResult.Marshal(b, m, deterministic) +} +func (m *SearchCatalogResult) XXX_Merge(src proto.Message) { + xxx_messageInfo_SearchCatalogResult.Merge(m, src) +} +func (m *SearchCatalogResult) XXX_Size() int { + return xxx_messageInfo_SearchCatalogResult.Size(m) +} +func (m *SearchCatalogResult) XXX_DiscardUnknown() { + xxx_messageInfo_SearchCatalogResult.DiscardUnknown(m) +} + +var xxx_messageInfo_SearchCatalogResult proto.InternalMessageInfo + +func (m *SearchCatalogResult) GetSearchResultType() SearchResultType { + if m != nil { + return m.SearchResultType + } + return SearchResultType_SEARCH_RESULT_TYPE_UNSPECIFIED +} + +func (m *SearchCatalogResult) GetSearchResultSubtype() string { + if m != nil { + return m.SearchResultSubtype + } + return "" +} + +func (m *SearchCatalogResult) GetRelativeResourceName() string { + if m != nil { + return m.RelativeResourceName + } + return "" +} + +func (m *SearchCatalogResult) GetLinkedResource() string { + if m != nil { + return m.LinkedResource + } + return "" +} + +type isSearchCatalogResult_System interface { + isSearchCatalogResult_System() +} + +type SearchCatalogResult_IntegratedSystem struct { + IntegratedSystem IntegratedSystem `protobuf:"varint,8,opt,name=integrated_system,json=integratedSystem,proto3,enum=google.cloud.datacatalog.v1.IntegratedSystem,oneof"` +} + +type SearchCatalogResult_UserSpecifiedSystem struct { + UserSpecifiedSystem string `protobuf:"bytes,9,opt,name=user_specified_system,json=userSpecifiedSystem,proto3,oneof"` +} + +func (*SearchCatalogResult_IntegratedSystem) isSearchCatalogResult_System() {} + +func (*SearchCatalogResult_UserSpecifiedSystem) isSearchCatalogResult_System() {} + +func (m *SearchCatalogResult) GetSystem() isSearchCatalogResult_System { + if m != nil { + return m.System + } + return nil +} + +func (m *SearchCatalogResult) GetIntegratedSystem() IntegratedSystem { + if x, ok := m.GetSystem().(*SearchCatalogResult_IntegratedSystem); ok { + return x.IntegratedSystem + } + return IntegratedSystem_INTEGRATED_SYSTEM_UNSPECIFIED +} + +func (m *SearchCatalogResult) GetUserSpecifiedSystem() string { + if x, ok := m.GetSystem().(*SearchCatalogResult_UserSpecifiedSystem); ok { + return x.UserSpecifiedSystem + } + return "" +} + +// XXX_OneofWrappers is for the internal use of the proto package. +func (*SearchCatalogResult) XXX_OneofWrappers() []interface{} { + return []interface{}{ + (*SearchCatalogResult_IntegratedSystem)(nil), + (*SearchCatalogResult_UserSpecifiedSystem)(nil), + } +} + +func init() { + proto.RegisterEnum("google.cloud.datacatalog.v1.SearchResultType", SearchResultType_name, SearchResultType_value) + proto.RegisterType((*SearchCatalogResult)(nil), "google.cloud.datacatalog.v1.SearchCatalogResult") +} + +func init() { + proto.RegisterFile("google/cloud/datacatalog/v1/search.proto", fileDescriptor_92ea9a51da4a4f11) +} + +var fileDescriptor_92ea9a51da4a4f11 = []byte{ + // 459 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x92, 0x41, 0x6f, 0xd3, 0x30, + 0x1c, 0xc5, 0x9b, 0x15, 0xa6, 0xd5, 0xa0, 0x2d, 0xb8, 0x0c, 0x55, 0x43, 0x62, 0xd3, 0x2e, 0x54, + 0x48, 0x24, 0xda, 0xd8, 0x8d, 0x53, 0x57, 0xb2, 0xb5, 0xd2, 0x28, 0x91, 0x93, 0x1e, 0x06, 0x07, + 0xcb, 0x4d, 0xfe, 0xcd, 0x2c, 0x92, 0x38, 0xb2, 0x9d, 0x4a, 0xfd, 0x46, 0x7c, 0x2c, 0x3e, 0x06, + 0x47, 0x54, 0x3b, 0x1d, 0xa5, 0x42, 0x15, 0x47, 0xff, 0x7f, 0xef, 0x3d, 0x3f, 0x5b, 0x7f, 0xd4, + 0xcf, 0x84, 0xc8, 0x72, 0xf0, 0x93, 0x5c, 0xd4, 0xa9, 0x9f, 0x32, 0xcd, 0x12, 0xa6, 0x59, 0x2e, + 0x32, 0x7f, 0x71, 0xe1, 0x2b, 0x60, 0x32, 0x79, 0xf0, 0x2a, 0x29, 0xb4, 0xc0, 0xaf, 0xad, 0xd2, + 0x33, 0x4a, 0x6f, 0x43, 0xe9, 0x2d, 0x2e, 0x4e, 0x4e, 0x9b, 0x18, 0x56, 0x71, 0x7f, 0xce, 0x21, + 0x4f, 0xe9, 0x0c, 0x1e, 0xd8, 0x82, 0x0b, 0x69, 0xdd, 0x27, 0x3b, 0xef, 0x49, 0x44, 0x51, 0x88, + 0xb2, 0x51, 0xae, 0xa3, 0xcc, 0x69, 0x56, 0xcf, 0x7d, 0xcd, 0x0b, 0x50, 0x9a, 0x15, 0x95, 0x15, + 0x9c, 0xff, 0x68, 0xa3, 0x6e, 0x64, 0x9a, 0x0d, 0x6d, 0x04, 0x01, 0x55, 0xe7, 0x1a, 0x7f, 0x43, + 0xd8, 0x16, 0xa6, 0xd2, 0x0c, 0xa8, 0x5e, 0x56, 0xd0, 0x73, 0xce, 0x9c, 0xfe, 0xe1, 0xe5, 0x7b, + 0x6f, 0x47, 0x7b, 0xcf, 0xa6, 0xd9, 0x98, 0x78, 0x59, 0x01, 0x71, 0xd5, 0xd6, 0x04, 0x5f, 0xa2, + 0xe3, 0xbf, 0xc3, 0x55, 0x3d, 0x33, 0xf9, 0x7b, 0x67, 0x4e, 0xbf, 0x43, 0xba, 0x9b, 0x86, 0xc8, + 0x22, 0x7c, 0x85, 0x5e, 0x49, 0xc8, 0x99, 0xe6, 0x0b, 0x58, 0xb9, 0x44, 0x2d, 0x13, 0xa0, 0x25, + 0x2b, 0xa0, 0xd7, 0x36, 0xa6, 0x97, 0x6b, 0x4a, 0x1a, 0x38, 0x61, 0x05, 0xe0, 0xb7, 0xe8, 0x28, + 0xe7, 0xe5, 0x77, 0x48, 0x1f, 0x3d, 0xbd, 0x27, 0x46, 0x7e, 0x68, 0xc7, 0x6b, 0x31, 0x66, 0xe8, + 0x05, 0x2f, 0x35, 0x64, 0x92, 0x69, 0x48, 0xa9, 0x5a, 0x2a, 0x0d, 0x45, 0xef, 0xe0, 0x3f, 0x9e, + 0x3b, 0x7e, 0x74, 0x45, 0xc6, 0x74, 0xdd, 0xfe, 0x39, 0x68, 0x8f, 0x5a, 0xc4, 0xe5, 0x5b, 0x00, + 0x5f, 0xa1, 0xe3, 0x5a, 0x81, 0xa4, 0xaa, 0x82, 0x84, 0xcf, 0xf9, 0x9f, 0x6b, 0x3a, 0xab, 0x46, + 0xa3, 0x16, 0xe9, 0xae, 0x70, 0xb4, 0xa6, 0x4d, 0xdc, 0x01, 0xda, 0xb7, 0xb2, 0x77, 0x29, 0x72, + 0xb7, 0xff, 0x16, 0x9f, 0xa3, 0x37, 0x51, 0x30, 0x20, 0xc3, 0x11, 0x25, 0x41, 0x34, 0xbd, 0x8b, + 0x69, 0x7c, 0x1f, 0x06, 0x74, 0x3a, 0x89, 0xc2, 0x60, 0x38, 0xbe, 0x19, 0x07, 0x9f, 0xdc, 0x16, + 0xee, 0xa0, 0xa7, 0xc1, 0x24, 0x26, 0xf7, 0xae, 0x83, 0x5d, 0xf4, 0x3c, 0x1e, 0xdc, 0xd2, 0x38, + 0xf8, 0x1c, 0xde, 0x0d, 0xe2, 0xc0, 0xdd, 0xc3, 0x47, 0xe8, 0x99, 0x81, 0xf4, 0x96, 0x7c, 0x99, + 0x86, 0x6e, 0xfb, 0xba, 0x44, 0xa7, 0x89, 0x28, 0x76, 0x3d, 0x39, 0x74, 0xbe, 0xde, 0x34, 0x38, + 0x13, 0x39, 0x2b, 0x33, 0x4f, 0xc8, 0xcc, 0xcf, 0xa0, 0x34, 0x1b, 0xe5, 0x5b, 0xc4, 0x2a, 0xae, + 0xfe, 0xb9, 0x9f, 0x1f, 0x37, 0x8e, 0xbf, 0x1c, 0x67, 0xb6, 0x6f, 0x5c, 0x1f, 0x7e, 0x07, 0x00, + 0x00, 0xff, 0xff, 0x0c, 0xf2, 0xd1, 0xef, 0x3c, 0x03, 0x00, 0x00, +} diff --git a/googleapis/cloud/datacatalog/v1/table_spec.pb.go b/googleapis/cloud/datacatalog/v1/table_spec.pb.go new file mode 100644 index 0000000000..1aecc8b2d9 --- /dev/null +++ b/googleapis/cloud/datacatalog/v1/table_spec.pb.go @@ -0,0 +1,346 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// source: google/cloud/datacatalog/v1/table_spec.proto + +package datacatalog + +import ( + fmt "fmt" + math "math" + + proto "github.com/golang/protobuf/proto" + _ "google.golang.org/genproto/googleapis/api/annotations" +) + +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the proto package it is being compiled against. +// A compilation error at this line likely means your copy of the +// proto package needs to be updated. +const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package + +// Table source type. +type TableSourceType int32 + +const ( + // Default unknown type. + TableSourceType_TABLE_SOURCE_TYPE_UNSPECIFIED TableSourceType = 0 + // Table view. + TableSourceType_BIGQUERY_VIEW TableSourceType = 2 + // BigQuery native table. + TableSourceType_BIGQUERY_TABLE TableSourceType = 5 +) + +var TableSourceType_name = map[int32]string{ + 0: "TABLE_SOURCE_TYPE_UNSPECIFIED", + 2: "BIGQUERY_VIEW", + 5: "BIGQUERY_TABLE", +} + +var TableSourceType_value = map[string]int32{ + "TABLE_SOURCE_TYPE_UNSPECIFIED": 0, + "BIGQUERY_VIEW": 2, + "BIGQUERY_TABLE": 5, +} + +func (x TableSourceType) String() string { + return proto.EnumName(TableSourceType_name, int32(x)) +} + +func (TableSourceType) EnumDescriptor() ([]byte, []int) { + return fileDescriptor_814ae4af8db07be9, []int{0} +} + +// Describes a BigQuery table. +type BigQueryTableSpec struct { + // Output only. The table source type. + TableSourceType TableSourceType `protobuf:"varint,1,opt,name=table_source_type,json=tableSourceType,proto3,enum=google.cloud.datacatalog.v1.TableSourceType" json:"table_source_type,omitempty"` + // Output only. + // + // Types that are valid to be assigned to TypeSpec: + // *BigQueryTableSpec_ViewSpec + // *BigQueryTableSpec_TableSpec + TypeSpec isBigQueryTableSpec_TypeSpec `protobuf_oneof:"type_spec"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *BigQueryTableSpec) Reset() { *m = BigQueryTableSpec{} } +func (m *BigQueryTableSpec) String() string { return proto.CompactTextString(m) } +func (*BigQueryTableSpec) ProtoMessage() {} +func (*BigQueryTableSpec) Descriptor() ([]byte, []int) { + return fileDescriptor_814ae4af8db07be9, []int{0} +} + +func (m *BigQueryTableSpec) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_BigQueryTableSpec.Unmarshal(m, b) +} +func (m *BigQueryTableSpec) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_BigQueryTableSpec.Marshal(b, m, deterministic) +} +func (m *BigQueryTableSpec) XXX_Merge(src proto.Message) { + xxx_messageInfo_BigQueryTableSpec.Merge(m, src) +} +func (m *BigQueryTableSpec) XXX_Size() int { + return xxx_messageInfo_BigQueryTableSpec.Size(m) +} +func (m *BigQueryTableSpec) XXX_DiscardUnknown() { + xxx_messageInfo_BigQueryTableSpec.DiscardUnknown(m) +} + +var xxx_messageInfo_BigQueryTableSpec proto.InternalMessageInfo + +func (m *BigQueryTableSpec) GetTableSourceType() TableSourceType { + if m != nil { + return m.TableSourceType + } + return TableSourceType_TABLE_SOURCE_TYPE_UNSPECIFIED +} + +type isBigQueryTableSpec_TypeSpec interface { + isBigQueryTableSpec_TypeSpec() +} + +type BigQueryTableSpec_ViewSpec struct { + ViewSpec *ViewSpec `protobuf:"bytes,2,opt,name=view_spec,json=viewSpec,proto3,oneof"` +} + +type BigQueryTableSpec_TableSpec struct { + TableSpec *TableSpec `protobuf:"bytes,3,opt,name=table_spec,json=tableSpec,proto3,oneof"` +} + +func (*BigQueryTableSpec_ViewSpec) isBigQueryTableSpec_TypeSpec() {} + +func (*BigQueryTableSpec_TableSpec) isBigQueryTableSpec_TypeSpec() {} + +func (m *BigQueryTableSpec) GetTypeSpec() isBigQueryTableSpec_TypeSpec { + if m != nil { + return m.TypeSpec + } + return nil +} + +func (m *BigQueryTableSpec) GetViewSpec() *ViewSpec { + if x, ok := m.GetTypeSpec().(*BigQueryTableSpec_ViewSpec); ok { + return x.ViewSpec + } + return nil +} + +func (m *BigQueryTableSpec) GetTableSpec() *TableSpec { + if x, ok := m.GetTypeSpec().(*BigQueryTableSpec_TableSpec); ok { + return x.TableSpec + } + return nil +} + +// XXX_OneofWrappers is for the internal use of the proto package. +func (*BigQueryTableSpec) XXX_OneofWrappers() []interface{} { + return []interface{}{ + (*BigQueryTableSpec_ViewSpec)(nil), + (*BigQueryTableSpec_TableSpec)(nil), + } +} + +// Table view specification. +type ViewSpec struct { + // Output only. The query that defines the table view. + ViewQuery string `protobuf:"bytes,1,opt,name=view_query,json=viewQuery,proto3" json:"view_query,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *ViewSpec) Reset() { *m = ViewSpec{} } +func (m *ViewSpec) String() string { return proto.CompactTextString(m) } +func (*ViewSpec) ProtoMessage() {} +func (*ViewSpec) Descriptor() ([]byte, []int) { + return fileDescriptor_814ae4af8db07be9, []int{1} +} + +func (m *ViewSpec) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ViewSpec.Unmarshal(m, b) +} +func (m *ViewSpec) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ViewSpec.Marshal(b, m, deterministic) +} +func (m *ViewSpec) XXX_Merge(src proto.Message) { + xxx_messageInfo_ViewSpec.Merge(m, src) +} +func (m *ViewSpec) XXX_Size() int { + return xxx_messageInfo_ViewSpec.Size(m) +} +func (m *ViewSpec) XXX_DiscardUnknown() { + xxx_messageInfo_ViewSpec.DiscardUnknown(m) +} + +var xxx_messageInfo_ViewSpec proto.InternalMessageInfo + +func (m *ViewSpec) GetViewQuery() string { + if m != nil { + return m.ViewQuery + } + return "" +} + +// Normal BigQuery table spec. +type TableSpec struct { + // Output only. If the table is a dated shard, i.e., with name pattern `[prefix]YYYYMMDD`, + // `grouped_entry` is the Data Catalog resource name of the date sharded + // grouped entry, for example, + // `projects/{project_id}/locations/{location}/entrygroups/{entry_group_id}/entries/{entry_id}`. + // Otherwise, `grouped_entry` is empty. + GroupedEntry string `protobuf:"bytes,1,opt,name=grouped_entry,json=groupedEntry,proto3" json:"grouped_entry,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *TableSpec) Reset() { *m = TableSpec{} } +func (m *TableSpec) String() string { return proto.CompactTextString(m) } +func (*TableSpec) ProtoMessage() {} +func (*TableSpec) Descriptor() ([]byte, []int) { + return fileDescriptor_814ae4af8db07be9, []int{2} +} + +func (m *TableSpec) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_TableSpec.Unmarshal(m, b) +} +func (m *TableSpec) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_TableSpec.Marshal(b, m, deterministic) +} +func (m *TableSpec) XXX_Merge(src proto.Message) { + xxx_messageInfo_TableSpec.Merge(m, src) +} +func (m *TableSpec) XXX_Size() int { + return xxx_messageInfo_TableSpec.Size(m) +} +func (m *TableSpec) XXX_DiscardUnknown() { + xxx_messageInfo_TableSpec.DiscardUnknown(m) +} + +var xxx_messageInfo_TableSpec proto.InternalMessageInfo + +func (m *TableSpec) GetGroupedEntry() string { + if m != nil { + return m.GroupedEntry + } + return "" +} + +// Spec for a group of BigQuery tables with name pattern `[prefix]YYYYMMDD`. +// Context: +// https://cloud.google.com/bigquery/docs/partitioned-tables#partitioning_versus_sharding +type BigQueryDateShardedSpec struct { + // Output only. The Data Catalog resource name of the dataset entry the current table + // belongs to, for example, + // `projects/{project_id}/locations/{location}/entrygroups/{entry_group_id}/entries/{entry_id}`. + Dataset string `protobuf:"bytes,1,opt,name=dataset,proto3" json:"dataset,omitempty"` + // Output only. The table name prefix of the shards. The name of any given shard is + // `[table_prefix]YYYYMMDD`, for example, for shard `MyTable20180101`, the + // `table_prefix` is `MyTable`. + TablePrefix string `protobuf:"bytes,2,opt,name=table_prefix,json=tablePrefix,proto3" json:"table_prefix,omitempty"` + // Output only. Total number of shards. + ShardCount int64 `protobuf:"varint,3,opt,name=shard_count,json=shardCount,proto3" json:"shard_count,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *BigQueryDateShardedSpec) Reset() { *m = BigQueryDateShardedSpec{} } +func (m *BigQueryDateShardedSpec) String() string { return proto.CompactTextString(m) } +func (*BigQueryDateShardedSpec) ProtoMessage() {} +func (*BigQueryDateShardedSpec) Descriptor() ([]byte, []int) { + return fileDescriptor_814ae4af8db07be9, []int{3} +} + +func (m *BigQueryDateShardedSpec) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_BigQueryDateShardedSpec.Unmarshal(m, b) +} +func (m *BigQueryDateShardedSpec) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_BigQueryDateShardedSpec.Marshal(b, m, deterministic) +} +func (m *BigQueryDateShardedSpec) XXX_Merge(src proto.Message) { + xxx_messageInfo_BigQueryDateShardedSpec.Merge(m, src) +} +func (m *BigQueryDateShardedSpec) XXX_Size() int { + return xxx_messageInfo_BigQueryDateShardedSpec.Size(m) +} +func (m *BigQueryDateShardedSpec) XXX_DiscardUnknown() { + xxx_messageInfo_BigQueryDateShardedSpec.DiscardUnknown(m) +} + +var xxx_messageInfo_BigQueryDateShardedSpec proto.InternalMessageInfo + +func (m *BigQueryDateShardedSpec) GetDataset() string { + if m != nil { + return m.Dataset + } + return "" +} + +func (m *BigQueryDateShardedSpec) GetTablePrefix() string { + if m != nil { + return m.TablePrefix + } + return "" +} + +func (m *BigQueryDateShardedSpec) GetShardCount() int64 { + if m != nil { + return m.ShardCount + } + return 0 +} + +func init() { + proto.RegisterEnum("google.cloud.datacatalog.v1.TableSourceType", TableSourceType_name, TableSourceType_value) + proto.RegisterType((*BigQueryTableSpec)(nil), "google.cloud.datacatalog.v1.BigQueryTableSpec") + proto.RegisterType((*ViewSpec)(nil), "google.cloud.datacatalog.v1.ViewSpec") + proto.RegisterType((*TableSpec)(nil), "google.cloud.datacatalog.v1.TableSpec") + proto.RegisterType((*BigQueryDateShardedSpec)(nil), "google.cloud.datacatalog.v1.BigQueryDateShardedSpec") +} + +func init() { + proto.RegisterFile("google/cloud/datacatalog/v1/table_spec.proto", fileDescriptor_814ae4af8db07be9) +} + +var fileDescriptor_814ae4af8db07be9 = []byte{ + // 501 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x53, 0xcd, 0x6e, 0xd3, 0x5c, + 0x10, 0xad, 0x13, 0x7d, 0x1f, 0xf5, 0xa4, 0x3f, 0xc9, 0xdd, 0x10, 0x8a, 0x50, 0x83, 0x05, 0x55, + 0x84, 0x2a, 0x5b, 0x2d, 0x4b, 0x56, 0x71, 0xe2, 0x96, 0x48, 0xfc, 0xa4, 0x4e, 0x52, 0xd4, 0x22, + 0x64, 0xdd, 0xd8, 0x53, 0xd7, 0x92, 0xeb, 0x6b, 0xec, 0x6b, 0x97, 0xbc, 0x04, 0x2f, 0xc2, 0x4b, + 0xf5, 0x31, 0x10, 0x2b, 0xe4, 0xb1, 0xd3, 0x04, 0x84, 0x22, 0xd8, 0xe5, 0xce, 0x9c, 0x73, 0xe6, + 0xcc, 0x99, 0x18, 0x0e, 0x7d, 0x21, 0xfc, 0x10, 0x0d, 0x37, 0x14, 0x99, 0x67, 0x78, 0x5c, 0x72, + 0x97, 0x4b, 0x1e, 0x0a, 0xdf, 0xc8, 0x8f, 0x0c, 0xc9, 0x67, 0x21, 0x3a, 0x69, 0x8c, 0xae, 0x1e, + 0x27, 0x42, 0x0a, 0xf6, 0xb8, 0x44, 0xeb, 0x84, 0xd6, 0x57, 0xd0, 0x7a, 0x7e, 0xb4, 0xb7, 0x5f, + 0x49, 0xf1, 0x38, 0x30, 0xae, 0x02, 0x0c, 0x3d, 0x67, 0x86, 0xd7, 0x3c, 0x0f, 0x44, 0x52, 0xb2, + 0xf7, 0x1e, 0xad, 0x00, 0x12, 0x4c, 0x45, 0x96, 0xb8, 0x58, 0xb6, 0xb4, 0xaf, 0x35, 0x68, 0x99, + 0x81, 0x7f, 0x96, 0x61, 0x32, 0x9f, 0x14, 0x53, 0xc7, 0x31, 0xba, 0xec, 0x13, 0xb4, 0x2a, 0x0b, + 0x84, 0x75, 0xe4, 0x3c, 0xc6, 0xb6, 0xd2, 0x51, 0xba, 0x3b, 0xc7, 0x87, 0xfa, 0x1a, 0x2b, 0x7a, + 0x29, 0x41, 0xa4, 0xc9, 0x3c, 0x46, 0xb3, 0x7e, 0xd7, 0xab, 0xdb, 0xbb, 0xf2, 0xd7, 0x2a, 0x1b, + 0x80, 0x9a, 0x07, 0x78, 0x4b, 0x0b, 0xb6, 0x6b, 0x1d, 0xa5, 0xdb, 0x38, 0x7e, 0xbe, 0x56, 0xf6, + 0x3c, 0xc0, 0xdb, 0xc2, 0xd8, 0xeb, 0x0d, 0x7b, 0x33, 0xaf, 0x7e, 0xb3, 0x53, 0x80, 0x65, 0x4e, + 0xed, 0x3a, 0xc9, 0x1c, 0xfc, 0x85, 0xbb, 0x52, 0x47, 0x95, 0x8b, 0x87, 0xd9, 0x00, 0xb5, 0x58, + 0x90, 0x74, 0x34, 0x1d, 0x36, 0x17, 0xd3, 0x98, 0x06, 0x40, 0x3e, 0x3f, 0x17, 0xe9, 0xd0, 0xfe, + 0x6a, 0xb9, 0x11, 0xd9, 0xa7, 0xcc, 0xb4, 0x4b, 0x50, 0x97, 0xb9, 0xbd, 0x85, 0x6d, 0x3f, 0x11, + 0x59, 0x8c, 0x9e, 0x83, 0x91, 0xbc, 0xe7, 0x74, 0xef, 0x7a, 0xf5, 0x1f, 0x3d, 0x0d, 0x3a, 0xab, + 0x7e, 0x4a, 0xa3, 0x3c, 0x0e, 0x52, 0xdd, 0x15, 0x37, 0x86, 0x55, 0xe0, 0xed, 0xad, 0x8a, 0x4e, + 0x2f, 0xed, 0x9b, 0x02, 0x0f, 0x17, 0xc7, 0x19, 0x70, 0x89, 0xe3, 0x6b, 0x9e, 0x78, 0xe8, 0xd1, + 0x28, 0x13, 0x1e, 0x14, 0x6a, 0x29, 0xca, 0x7f, 0x1e, 0xb2, 0x20, 0xb2, 0x03, 0xd8, 0x2a, 0x13, + 0x8c, 0x13, 0xbc, 0x0a, 0xbe, 0xd0, 0x29, 0xaa, 0x0d, 0x1b, 0xd4, 0x18, 0x51, 0x9d, 0x3d, 0x83, + 0x46, 0x5a, 0x8c, 0x76, 0x5c, 0x91, 0x45, 0x92, 0xa2, 0xae, 0x97, 0x30, 0xa0, 0x7a, 0xbf, 0x28, + 0xbf, 0xf8, 0x08, 0xbb, 0xbf, 0x9d, 0x9f, 0x3d, 0x85, 0x27, 0x93, 0x9e, 0xf9, 0xc6, 0x72, 0xc6, + 0xef, 0xa7, 0x76, 0xdf, 0x72, 0x26, 0x17, 0x23, 0xcb, 0x99, 0xbe, 0x1b, 0x8f, 0xac, 0xfe, 0xf0, + 0x64, 0x68, 0x0d, 0x9a, 0x1b, 0xac, 0x05, 0xdb, 0xe6, 0xf0, 0xf4, 0x6c, 0x6a, 0xd9, 0x17, 0xce, + 0xf9, 0xd0, 0xfa, 0xd0, 0xac, 0x31, 0x06, 0x3b, 0xf7, 0x25, 0xa2, 0x37, 0xff, 0x33, 0x23, 0xd8, + 0x77, 0xc5, 0xcd, 0xba, 0xeb, 0x8e, 0x94, 0xcb, 0x93, 0xaa, 0xed, 0x8b, 0x90, 0x47, 0xbe, 0x2e, + 0x12, 0xdf, 0xf0, 0x31, 0xa2, 0x3f, 0xba, 0xb1, 0x4c, 0xe2, 0x8f, 0x9f, 0xdc, 0xab, 0x95, 0xe7, + 0x77, 0x45, 0x99, 0xfd, 0x4f, 0xac, 0x97, 0x3f, 0x03, 0x00, 0x00, 0xff, 0xff, 0xd2, 0x35, 0x15, + 0x59, 0xa7, 0x03, 0x00, 0x00, +} diff --git a/googleapis/cloud/datacatalog/v1/tags.pb.go b/googleapis/cloud/datacatalog/v1/tags.pb.go new file mode 100644 index 0000000000..ff6754feba --- /dev/null +++ b/googleapis/cloud/datacatalog/v1/tags.pb.go @@ -0,0 +1,786 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// source: google/cloud/datacatalog/v1/tags.proto + +package datacatalog + +import ( + fmt "fmt" + math "math" + + proto "github.com/golang/protobuf/proto" + timestamp "github.com/golang/protobuf/ptypes/timestamp" + _ "google.golang.org/genproto/googleapis/api/annotations" +) + +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the proto package it is being compiled against. +// A compilation error at this line likely means your copy of the +// proto package needs to be updated. +const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package + +type FieldType_PrimitiveType int32 + +const ( + // This is the default invalid value for a type. + FieldType_PRIMITIVE_TYPE_UNSPECIFIED FieldType_PrimitiveType = 0 + // A double precision number. + FieldType_DOUBLE FieldType_PrimitiveType = 1 + // An UTF-8 string. + FieldType_STRING FieldType_PrimitiveType = 2 + // A boolean value. + FieldType_BOOL FieldType_PrimitiveType = 3 + // A timestamp. + FieldType_TIMESTAMP FieldType_PrimitiveType = 4 +) + +var FieldType_PrimitiveType_name = map[int32]string{ + 0: "PRIMITIVE_TYPE_UNSPECIFIED", + 1: "DOUBLE", + 2: "STRING", + 3: "BOOL", + 4: "TIMESTAMP", +} + +var FieldType_PrimitiveType_value = map[string]int32{ + "PRIMITIVE_TYPE_UNSPECIFIED": 0, + "DOUBLE": 1, + "STRING": 2, + "BOOL": 3, + "TIMESTAMP": 4, +} + +func (x FieldType_PrimitiveType) String() string { + return proto.EnumName(FieldType_PrimitiveType_name, int32(x)) +} + +func (FieldType_PrimitiveType) EnumDescriptor() ([]byte, []int) { + return fileDescriptor_90220776be9dd18b, []int{4, 0} +} + +// Tags are used to attach custom metadata to Data Catalog resources. Tags +// conform to the specifications within their tag template. +// +// See [Data Catalog IAM](/data-catalog/docs/concepts/iam) for information on +// the permissions needed to create or view tags. +type Tag struct { + // The resource name of the tag in URL format. Example: + // + // * projects/{project_id}/locations/{location}/entrygroups/{entry_group_id}/entries/{entry_id}/tags/{tag_id} + // + // where `tag_id` is a system-generated identifier. + // Note that this Tag may not actually be stored in the location in this name. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Required. The resource name of the tag template that this tag uses. Example: + // + // * projects/{project_id}/locations/{location}/tagTemplates/{tag_template_id} + // + // This field cannot be modified after creation. + Template string `protobuf:"bytes,2,opt,name=template,proto3" json:"template,omitempty"` + // Output only. The display name of the tag template. + TemplateDisplayName string `protobuf:"bytes,5,opt,name=template_display_name,json=templateDisplayName,proto3" json:"template_display_name,omitempty"` + // The scope within the parent resource that this tag is attached to. If not + // provided, the tag is attached to the parent resource itself. + // Deleting the scope from the parent resource will delete all tags attached + // to that scope. These fields cannot be updated after creation. + // + // Types that are valid to be assigned to Scope: + // *Tag_Column + Scope isTag_Scope `protobuf_oneof:"scope"` + // Required. This maps the ID of a tag field to the value of and additional information + // about that field. Valid field IDs are defined by the tag's template. A tag + // must have at least 1 field and at most 500 fields. + Fields map[string]*TagField `protobuf:"bytes,3,rep,name=fields,proto3" json:"fields,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:"-"` +} + +func (m *Tag) Reset() { *m = Tag{} } +func (m *Tag) String() string { return proto.CompactTextString(m) } +func (*Tag) ProtoMessage() {} +func (*Tag) Descriptor() ([]byte, []int) { + return fileDescriptor_90220776be9dd18b, []int{0} +} + +func (m *Tag) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_Tag.Unmarshal(m, b) +} +func (m *Tag) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_Tag.Marshal(b, m, deterministic) +} +func (m *Tag) XXX_Merge(src proto.Message) { + xxx_messageInfo_Tag.Merge(m, src) +} +func (m *Tag) XXX_Size() int { + return xxx_messageInfo_Tag.Size(m) +} +func (m *Tag) XXX_DiscardUnknown() { + xxx_messageInfo_Tag.DiscardUnknown(m) +} + +var xxx_messageInfo_Tag proto.InternalMessageInfo + +func (m *Tag) GetName() string { + if m != nil { + return m.Name + } + return "" +} + +func (m *Tag) GetTemplate() string { + if m != nil { + return m.Template + } + return "" +} + +func (m *Tag) GetTemplateDisplayName() string { + if m != nil { + return m.TemplateDisplayName + } + return "" +} + +type isTag_Scope interface { + isTag_Scope() +} + +type Tag_Column struct { + Column string `protobuf:"bytes,4,opt,name=column,proto3,oneof"` +} + +func (*Tag_Column) isTag_Scope() {} + +func (m *Tag) GetScope() isTag_Scope { + if m != nil { + return m.Scope + } + return nil +} + +func (m *Tag) GetColumn() string { + if x, ok := m.GetScope().(*Tag_Column); ok { + return x.Column + } + return "" +} + +func (m *Tag) GetFields() map[string]*TagField { + if m != nil { + return m.Fields + } + return nil +} + +// XXX_OneofWrappers is for the internal use of the proto package. +func (*Tag) XXX_OneofWrappers() []interface{} { + return []interface{}{ + (*Tag_Column)(nil), + } +} + +// Contains the value and supporting information for a field within +// a [Tag][google.cloud.datacatalog.v1.Tag]. +type TagField struct { + // Output only. The display name of this field. + DisplayName string `protobuf:"bytes,1,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` + // Required. The value of this field. + // + // Types that are valid to be assigned to Kind: + // *TagField_DoubleValue + // *TagField_StringValue + // *TagField_BoolValue + // *TagField_TimestampValue + // *TagField_EnumValue_ + Kind isTagField_Kind `protobuf_oneof:"kind"` + // Output only. The order of this field with respect to other fields in this tag. It can be + // set in [Tag][google.cloud.datacatalog.v1.TagTemplateField.order]. For + // example, a higher value can indicate a more important field. The value can + // be negative. Multiple fields can have the same order, and field orders + // within a tag do not have to be sequential. + Order int32 `protobuf:"varint,7,opt,name=order,proto3" json:"order,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *TagField) Reset() { *m = TagField{} } +func (m *TagField) String() string { return proto.CompactTextString(m) } +func (*TagField) ProtoMessage() {} +func (*TagField) Descriptor() ([]byte, []int) { + return fileDescriptor_90220776be9dd18b, []int{1} +} + +func (m *TagField) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_TagField.Unmarshal(m, b) +} +func (m *TagField) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_TagField.Marshal(b, m, deterministic) +} +func (m *TagField) XXX_Merge(src proto.Message) { + xxx_messageInfo_TagField.Merge(m, src) +} +func (m *TagField) XXX_Size() int { + return xxx_messageInfo_TagField.Size(m) +} +func (m *TagField) XXX_DiscardUnknown() { + xxx_messageInfo_TagField.DiscardUnknown(m) +} + +var xxx_messageInfo_TagField proto.InternalMessageInfo + +func (m *TagField) GetDisplayName() string { + if m != nil { + return m.DisplayName + } + return "" +} + +type isTagField_Kind interface { + isTagField_Kind() +} + +type TagField_DoubleValue struct { + DoubleValue float64 `protobuf:"fixed64,2,opt,name=double_value,json=doubleValue,proto3,oneof"` +} + +type TagField_StringValue struct { + StringValue string `protobuf:"bytes,3,opt,name=string_value,json=stringValue,proto3,oneof"` +} + +type TagField_BoolValue struct { + BoolValue bool `protobuf:"varint,4,opt,name=bool_value,json=boolValue,proto3,oneof"` +} + +type TagField_TimestampValue struct { + TimestampValue *timestamp.Timestamp `protobuf:"bytes,5,opt,name=timestamp_value,json=timestampValue,proto3,oneof"` +} + +type TagField_EnumValue_ struct { + EnumValue *TagField_EnumValue `protobuf:"bytes,6,opt,name=enum_value,json=enumValue,proto3,oneof"` +} + +func (*TagField_DoubleValue) isTagField_Kind() {} + +func (*TagField_StringValue) isTagField_Kind() {} + +func (*TagField_BoolValue) isTagField_Kind() {} + +func (*TagField_TimestampValue) isTagField_Kind() {} + +func (*TagField_EnumValue_) isTagField_Kind() {} + +func (m *TagField) GetKind() isTagField_Kind { + if m != nil { + return m.Kind + } + return nil +} + +func (m *TagField) GetDoubleValue() float64 { + if x, ok := m.GetKind().(*TagField_DoubleValue); ok { + return x.DoubleValue + } + return 0 +} + +func (m *TagField) GetStringValue() string { + if x, ok := m.GetKind().(*TagField_StringValue); ok { + return x.StringValue + } + return "" +} + +func (m *TagField) GetBoolValue() bool { + if x, ok := m.GetKind().(*TagField_BoolValue); ok { + return x.BoolValue + } + return false +} + +func (m *TagField) GetTimestampValue() *timestamp.Timestamp { + if x, ok := m.GetKind().(*TagField_TimestampValue); ok { + return x.TimestampValue + } + return nil +} + +func (m *TagField) GetEnumValue() *TagField_EnumValue { + if x, ok := m.GetKind().(*TagField_EnumValue_); ok { + return x.EnumValue + } + return nil +} + +func (m *TagField) GetOrder() int32 { + if m != nil { + return m.Order + } + return 0 +} + +// XXX_OneofWrappers is for the internal use of the proto package. +func (*TagField) XXX_OneofWrappers() []interface{} { + return []interface{}{ + (*TagField_DoubleValue)(nil), + (*TagField_StringValue)(nil), + (*TagField_BoolValue)(nil), + (*TagField_TimestampValue)(nil), + (*TagField_EnumValue_)(nil), + } +} + +// Holds an enum value. +type TagField_EnumValue struct { + // The display name of the enum value. + DisplayName string `protobuf:"bytes,1,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *TagField_EnumValue) Reset() { *m = TagField_EnumValue{} } +func (m *TagField_EnumValue) String() string { return proto.CompactTextString(m) } +func (*TagField_EnumValue) ProtoMessage() {} +func (*TagField_EnumValue) Descriptor() ([]byte, []int) { + return fileDescriptor_90220776be9dd18b, []int{1, 0} +} + +func (m *TagField_EnumValue) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_TagField_EnumValue.Unmarshal(m, b) +} +func (m *TagField_EnumValue) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_TagField_EnumValue.Marshal(b, m, deterministic) +} +func (m *TagField_EnumValue) XXX_Merge(src proto.Message) { + xxx_messageInfo_TagField_EnumValue.Merge(m, src) +} +func (m *TagField_EnumValue) XXX_Size() int { + return xxx_messageInfo_TagField_EnumValue.Size(m) +} +func (m *TagField_EnumValue) XXX_DiscardUnknown() { + xxx_messageInfo_TagField_EnumValue.DiscardUnknown(m) +} + +var xxx_messageInfo_TagField_EnumValue proto.InternalMessageInfo + +func (m *TagField_EnumValue) GetDisplayName() string { + if m != nil { + return m.DisplayName + } + return "" +} + +// A tag template defines a tag, which can have one or more typed fields. +// The template is used to create and attach the tag to GCP resources. +// [Tag template roles](/iam/docs/understanding-roles#data-catalog-roles) +// provide permissions to create, edit, and use the template. See, for example, +// the [TagTemplate User](/data-catalog/docs/how-to/template-user) role, which +// includes permission to use the tag template to tag resources. +type TagTemplate struct { + // The resource name of the tag template in URL format. Example: + // + // * projects/{project_id}/locations/{location}/tagTemplates/{tag_template_id} + // + // Note that this TagTemplate and its child resources may not actually be + // stored in the location in this name. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // The display name for this template. Defaults to an empty string. + DisplayName string `protobuf:"bytes,2,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` + // Required. Map of tag template field IDs to the settings for the field. + // This map is an exhaustive list of the allowed fields. This map must contain + // at least one field and at most 500 fields. + // + // The keys to this map are tag template field IDs. Field IDs can contain + // letters (both uppercase and lowercase), numbers (0-9) and underscores (_). + // Field IDs must be at least 1 character long and at most + // 64 characters long. Field IDs must start with a letter or underscore. + Fields map[string]*TagTemplateField `protobuf:"bytes,3,rep,name=fields,proto3" json:"fields,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:"-"` +} + +func (m *TagTemplate) Reset() { *m = TagTemplate{} } +func (m *TagTemplate) String() string { return proto.CompactTextString(m) } +func (*TagTemplate) ProtoMessage() {} +func (*TagTemplate) Descriptor() ([]byte, []int) { + return fileDescriptor_90220776be9dd18b, []int{2} +} + +func (m *TagTemplate) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_TagTemplate.Unmarshal(m, b) +} +func (m *TagTemplate) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_TagTemplate.Marshal(b, m, deterministic) +} +func (m *TagTemplate) XXX_Merge(src proto.Message) { + xxx_messageInfo_TagTemplate.Merge(m, src) +} +func (m *TagTemplate) XXX_Size() int { + return xxx_messageInfo_TagTemplate.Size(m) +} +func (m *TagTemplate) XXX_DiscardUnknown() { + xxx_messageInfo_TagTemplate.DiscardUnknown(m) +} + +var xxx_messageInfo_TagTemplate proto.InternalMessageInfo + +func (m *TagTemplate) GetName() string { + if m != nil { + return m.Name + } + return "" +} + +func (m *TagTemplate) GetDisplayName() string { + if m != nil { + return m.DisplayName + } + return "" +} + +func (m *TagTemplate) GetFields() map[string]*TagTemplateField { + if m != nil { + return m.Fields + } + return nil +} + +// The template for an individual field within a tag template. +type TagTemplateField struct { + // Output only. The resource name of the tag template field in URL format. Example: + // + // * projects/{project_id}/locations/{location}/tagTemplates/{tag_template}/fields/{field} + // + // Note that this TagTemplateField may not actually be stored in the location + // in this name. + Name string `protobuf:"bytes,6,opt,name=name,proto3" json:"name,omitempty"` + // The display name for this field. Defaults to an empty string. + DisplayName string `protobuf:"bytes,1,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` + // Required. The type of value this tag field can contain. + Type *FieldType `protobuf:"bytes,2,opt,name=type,proto3" json:"type,omitempty"` + // Whether this is a required field. Defaults to false. + IsRequired bool `protobuf:"varint,3,opt,name=is_required,json=isRequired,proto3" json:"is_required,omitempty"` + // The order of this field with respect to other fields in this tag + // template. For example, a higher value can indicate a more important field. + // The value can be negative. Multiple fields can have the same order, and + // field orders within a tag do not have to be sequential. + Order int32 `protobuf:"varint,5,opt,name=order,proto3" json:"order,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *TagTemplateField) Reset() { *m = TagTemplateField{} } +func (m *TagTemplateField) String() string { return proto.CompactTextString(m) } +func (*TagTemplateField) ProtoMessage() {} +func (*TagTemplateField) Descriptor() ([]byte, []int) { + return fileDescriptor_90220776be9dd18b, []int{3} +} + +func (m *TagTemplateField) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_TagTemplateField.Unmarshal(m, b) +} +func (m *TagTemplateField) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_TagTemplateField.Marshal(b, m, deterministic) +} +func (m *TagTemplateField) XXX_Merge(src proto.Message) { + xxx_messageInfo_TagTemplateField.Merge(m, src) +} +func (m *TagTemplateField) XXX_Size() int { + return xxx_messageInfo_TagTemplateField.Size(m) +} +func (m *TagTemplateField) XXX_DiscardUnknown() { + xxx_messageInfo_TagTemplateField.DiscardUnknown(m) +} + +var xxx_messageInfo_TagTemplateField proto.InternalMessageInfo + +func (m *TagTemplateField) GetName() string { + if m != nil { + return m.Name + } + return "" +} + +func (m *TagTemplateField) GetDisplayName() string { + if m != nil { + return m.DisplayName + } + return "" +} + +func (m *TagTemplateField) GetType() *FieldType { + if m != nil { + return m.Type + } + return nil +} + +func (m *TagTemplateField) GetIsRequired() bool { + if m != nil { + return m.IsRequired + } + return false +} + +func (m *TagTemplateField) GetOrder() int32 { + if m != nil { + return m.Order + } + return 0 +} + +type FieldType struct { + // Required. + // + // Types that are valid to be assigned to TypeDecl: + // *FieldType_PrimitiveType_ + // *FieldType_EnumType_ + TypeDecl isFieldType_TypeDecl `protobuf_oneof:"type_decl"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *FieldType) Reset() { *m = FieldType{} } +func (m *FieldType) String() string { return proto.CompactTextString(m) } +func (*FieldType) ProtoMessage() {} +func (*FieldType) Descriptor() ([]byte, []int) { + return fileDescriptor_90220776be9dd18b, []int{4} +} + +func (m *FieldType) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_FieldType.Unmarshal(m, b) +} +func (m *FieldType) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_FieldType.Marshal(b, m, deterministic) +} +func (m *FieldType) XXX_Merge(src proto.Message) { + xxx_messageInfo_FieldType.Merge(m, src) +} +func (m *FieldType) XXX_Size() int { + return xxx_messageInfo_FieldType.Size(m) +} +func (m *FieldType) XXX_DiscardUnknown() { + xxx_messageInfo_FieldType.DiscardUnknown(m) +} + +var xxx_messageInfo_FieldType proto.InternalMessageInfo + +type isFieldType_TypeDecl interface { + isFieldType_TypeDecl() +} + +type FieldType_PrimitiveType_ struct { + PrimitiveType FieldType_PrimitiveType `protobuf:"varint,1,opt,name=primitive_type,json=primitiveType,proto3,enum=google.cloud.datacatalog.v1.FieldType_PrimitiveType,oneof"` +} + +type FieldType_EnumType_ struct { + EnumType *FieldType_EnumType `protobuf:"bytes,2,opt,name=enum_type,json=enumType,proto3,oneof"` +} + +func (*FieldType_PrimitiveType_) isFieldType_TypeDecl() {} + +func (*FieldType_EnumType_) isFieldType_TypeDecl() {} + +func (m *FieldType) GetTypeDecl() isFieldType_TypeDecl { + if m != nil { + return m.TypeDecl + } + return nil +} + +func (m *FieldType) GetPrimitiveType() FieldType_PrimitiveType { + if x, ok := m.GetTypeDecl().(*FieldType_PrimitiveType_); ok { + return x.PrimitiveType + } + return FieldType_PRIMITIVE_TYPE_UNSPECIFIED +} + +func (m *FieldType) GetEnumType() *FieldType_EnumType { + if x, ok := m.GetTypeDecl().(*FieldType_EnumType_); ok { + return x.EnumType + } + return nil +} + +// XXX_OneofWrappers is for the internal use of the proto package. +func (*FieldType) XXX_OneofWrappers() []interface{} { + return []interface{}{ + (*FieldType_PrimitiveType_)(nil), + (*FieldType_EnumType_)(nil), + } +} + +type FieldType_EnumType struct { + // Required on create; optional on update. The set of allowed values for + // this enum. This set must not be empty, the display names of the values in + // this set must not be empty and the display names of the values must be + // case-insensitively unique within this set. Currently, enum values can + // only be added to the list of allowed values. Deletion and renaming of + // enum values are not supported. Can have up to 500 allowed values. + AllowedValues []*FieldType_EnumType_EnumValue `protobuf:"bytes,1,rep,name=allowed_values,json=allowedValues,proto3" json:"allowed_values,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *FieldType_EnumType) Reset() { *m = FieldType_EnumType{} } +func (m *FieldType_EnumType) String() string { return proto.CompactTextString(m) } +func (*FieldType_EnumType) ProtoMessage() {} +func (*FieldType_EnumType) Descriptor() ([]byte, []int) { + return fileDescriptor_90220776be9dd18b, []int{4, 0} +} + +func (m *FieldType_EnumType) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_FieldType_EnumType.Unmarshal(m, b) +} +func (m *FieldType_EnumType) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_FieldType_EnumType.Marshal(b, m, deterministic) +} +func (m *FieldType_EnumType) XXX_Merge(src proto.Message) { + xxx_messageInfo_FieldType_EnumType.Merge(m, src) +} +func (m *FieldType_EnumType) XXX_Size() int { + return xxx_messageInfo_FieldType_EnumType.Size(m) +} +func (m *FieldType_EnumType) XXX_DiscardUnknown() { + xxx_messageInfo_FieldType_EnumType.DiscardUnknown(m) +} + +var xxx_messageInfo_FieldType_EnumType proto.InternalMessageInfo + +func (m *FieldType_EnumType) GetAllowedValues() []*FieldType_EnumType_EnumValue { + if m != nil { + return m.AllowedValues + } + return nil +} + +type FieldType_EnumType_EnumValue struct { + // Required. The display name of the enum value. Must not be an empty string. + DisplayName string `protobuf:"bytes,1,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *FieldType_EnumType_EnumValue) Reset() { *m = FieldType_EnumType_EnumValue{} } +func (m *FieldType_EnumType_EnumValue) String() string { return proto.CompactTextString(m) } +func (*FieldType_EnumType_EnumValue) ProtoMessage() {} +func (*FieldType_EnumType_EnumValue) Descriptor() ([]byte, []int) { + return fileDescriptor_90220776be9dd18b, []int{4, 0, 0} +} + +func (m *FieldType_EnumType_EnumValue) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_FieldType_EnumType_EnumValue.Unmarshal(m, b) +} +func (m *FieldType_EnumType_EnumValue) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_FieldType_EnumType_EnumValue.Marshal(b, m, deterministic) +} +func (m *FieldType_EnumType_EnumValue) XXX_Merge(src proto.Message) { + xxx_messageInfo_FieldType_EnumType_EnumValue.Merge(m, src) +} +func (m *FieldType_EnumType_EnumValue) XXX_Size() int { + return xxx_messageInfo_FieldType_EnumType_EnumValue.Size(m) +} +func (m *FieldType_EnumType_EnumValue) XXX_DiscardUnknown() { + xxx_messageInfo_FieldType_EnumType_EnumValue.DiscardUnknown(m) +} + +var xxx_messageInfo_FieldType_EnumType_EnumValue proto.InternalMessageInfo + +func (m *FieldType_EnumType_EnumValue) GetDisplayName() string { + if m != nil { + return m.DisplayName + } + return "" +} + +func init() { + proto.RegisterEnum("google.cloud.datacatalog.v1.FieldType_PrimitiveType", FieldType_PrimitiveType_name, FieldType_PrimitiveType_value) + proto.RegisterType((*Tag)(nil), "google.cloud.datacatalog.v1.Tag") + proto.RegisterMapType((map[string]*TagField)(nil), "google.cloud.datacatalog.v1.Tag.FieldsEntry") + proto.RegisterType((*TagField)(nil), "google.cloud.datacatalog.v1.TagField") + proto.RegisterType((*TagField_EnumValue)(nil), "google.cloud.datacatalog.v1.TagField.EnumValue") + proto.RegisterType((*TagTemplate)(nil), "google.cloud.datacatalog.v1.TagTemplate") + proto.RegisterMapType((map[string]*TagTemplateField)(nil), "google.cloud.datacatalog.v1.TagTemplate.FieldsEntry") + proto.RegisterType((*TagTemplateField)(nil), "google.cloud.datacatalog.v1.TagTemplateField") + proto.RegisterType((*FieldType)(nil), "google.cloud.datacatalog.v1.FieldType") + proto.RegisterType((*FieldType_EnumType)(nil), "google.cloud.datacatalog.v1.FieldType.EnumType") + proto.RegisterType((*FieldType_EnumType_EnumValue)(nil), "google.cloud.datacatalog.v1.FieldType.EnumType.EnumValue") +} + +func init() { + proto.RegisterFile("google/cloud/datacatalog/v1/tags.proto", fileDescriptor_90220776be9dd18b) +} + +var fileDescriptor_90220776be9dd18b = []byte{ + // 944 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x56, 0x4d, 0x6f, 0xe3, 0x44, + 0x18, 0x8e, 0xe3, 0x24, 0x9b, 0xbc, 0xd9, 0x96, 0x68, 0x00, 0x91, 0x0d, 0xd2, 0xa6, 0x04, 0x51, + 0x55, 0x02, 0x6c, 0xed, 0x2e, 0x12, 0xd0, 0x3d, 0xa0, 0xa4, 0x4d, 0x37, 0x91, 0xb6, 0x6d, 0x70, + 0xbd, 0x2b, 0x81, 0x40, 0xee, 0xc4, 0x9e, 0xf5, 0x9a, 0xb5, 0x3d, 0xc6, 0x1f, 0x41, 0x51, 0x14, + 0xa4, 0x3d, 0x70, 0xe0, 0x67, 0xf0, 0x6b, 0x38, 0xc1, 0x6f, 0xe0, 0xdc, 0x2b, 0x17, 0x8e, 0xc8, + 0xf3, 0x91, 0x8f, 0xb6, 0xdb, 0x06, 0x89, 0x53, 0xe6, 0x7d, 0xe7, 0x79, 0x9f, 0x99, 0x79, 0xe6, + 0x7d, 0x26, 0x86, 0x5d, 0x97, 0x52, 0xd7, 0x27, 0xba, 0xed, 0xd3, 0xcc, 0xd1, 0x1d, 0x9c, 0x62, + 0x1b, 0xa7, 0xd8, 0xa7, 0xae, 0x3e, 0x79, 0xa0, 0xa7, 0xd8, 0x4d, 0xb4, 0x28, 0xa6, 0x29, 0x45, + 0xef, 0x73, 0x9c, 0xc6, 0x70, 0xda, 0x0a, 0x4e, 0x9b, 0x3c, 0x68, 0xb5, 0x05, 0x09, 0x8e, 0x3c, + 0xfd, 0x85, 0x47, 0x7c, 0xc7, 0x1a, 0x93, 0x97, 0x78, 0xe2, 0xd1, 0x98, 0x57, 0xb7, 0xee, 0xad, + 0x00, 0x62, 0x92, 0xd0, 0x2c, 0xb6, 0x89, 0x98, 0x92, 0xb5, 0x2c, 0x1a, 0x67, 0x2f, 0xf4, 0xd4, + 0x0b, 0x48, 0x92, 0xe2, 0x20, 0xe2, 0x80, 0xce, 0xef, 0x2a, 0xa8, 0x26, 0x76, 0x11, 0x82, 0x52, + 0x88, 0x03, 0xd2, 0x54, 0x76, 0x94, 0xbd, 0x9a, 0xc1, 0xc6, 0xa8, 0x0d, 0xd5, 0x94, 0x04, 0x91, + 0x8f, 0x53, 0xd2, 0x2c, 0xe6, 0xf9, 0x9e, 0xfa, 0x57, 0xb7, 0x68, 0x2c, 0x92, 0xe8, 0x73, 0x78, + 0x57, 0x8e, 0x2d, 0xc7, 0x4b, 0x22, 0x1f, 0x4f, 0x2d, 0xc6, 0x52, 0x96, 0x68, 0xd5, 0x78, 0x5b, + 0x22, 0x0e, 0x39, 0xe0, 0x24, 0x67, 0x6e, 0x42, 0xc5, 0xa6, 0x7e, 0x16, 0x84, 0xcd, 0x52, 0x8e, + 0x1c, 0x14, 0x0c, 0x11, 0xa3, 0x21, 0x54, 0xd8, 0x19, 0x93, 0xa6, 0xba, 0xa3, 0xee, 0xd5, 0x1f, + 0x7e, 0xa2, 0xdd, 0x20, 0x8d, 0x66, 0x62, 0x57, 0x3b, 0x62, 0xf0, 0x7e, 0x98, 0xc6, 0x53, 0xbe, + 0x3f, 0x41, 0xd0, 0x3a, 0x87, 0xfa, 0xca, 0x1c, 0x6a, 0x80, 0xfa, 0x8a, 0x4c, 0xc5, 0x01, 0xf3, + 0x21, 0x7a, 0x0c, 0xe5, 0x09, 0xf6, 0x33, 0x7e, 0xb8, 0xfa, 0xc3, 0x8f, 0x6e, 0x5b, 0x8a, 0xb1, + 0x19, 0xbc, 0x66, 0xbf, 0xf8, 0x85, 0xb2, 0xff, 0x5a, 0xb9, 0xe8, 0xfe, 0x0c, 0xf7, 0x57, 0x91, + 0x9c, 0x02, 0x47, 0x5e, 0xa2, 0xd9, 0x34, 0xd0, 0x73, 0x69, 0xbf, 0x8b, 0x62, 0xfa, 0x03, 0xb1, + 0xd3, 0x44, 0x9f, 0x89, 0xd1, 0x5c, 0xf7, 0xa9, 0x8d, 0x53, 0x8f, 0x86, 0x89, 0x3e, 0x93, 0xc3, + 0xb9, 0x4e, 0xf2, 0x7d, 0x3e, 0x89, 0x69, 0x16, 0x25, 0xfa, 0x8c, 0x05, 0x96, 0x9b, 0x47, 0x7c, + 0xc6, 0x23, 0x32, 0x3b, 0x67, 0xad, 0xa3, 0xcf, 0x52, 0xec, 0xce, 0x7b, 0x77, 0xa0, 0x9c, 0xd8, + 0x34, 0x22, 0x9d, 0x5f, 0x55, 0xa8, 0xca, 0x4d, 0xa2, 0x5d, 0xb8, 0xbb, 0x76, 0x21, 0xca, 0xf2, + 0x42, 0xea, 0xce, 0xca, 0x45, 0x7c, 0x08, 0x77, 0x1d, 0x9a, 0x8d, 0x7d, 0x62, 0x2d, 0x95, 0x50, + 0x06, 0x05, 0xa3, 0xce, 0xb3, 0xcf, 0xf3, 0x64, 0x0e, 0x4a, 0xd2, 0xd8, 0x0b, 0x5d, 0x01, 0x52, + 0xc5, 0x9d, 0xd5, 0x79, 0x96, 0x83, 0xda, 0x00, 0x63, 0x4a, 0x7d, 0x01, 0xc9, 0xaf, 0xb5, 0x3a, + 0x28, 0x18, 0xb5, 0x3c, 0xc7, 0x01, 0x7d, 0x78, 0x6b, 0xd1, 0x7c, 0x02, 0x55, 0x66, 0xba, 0xb7, + 0xa4, 0xee, 0xb2, 0x49, 0x35, 0x53, 0xe2, 0x06, 0x05, 0x63, 0x7b, 0x51, 0xc4, 0x69, 0x46, 0x00, + 0x24, 0xcc, 0x02, 0xc1, 0x50, 0x61, 0x0c, 0xfa, 0x46, 0x37, 0xa7, 0xf5, 0xc3, 0x2c, 0x60, 0x24, + 0xf9, 0xc6, 0x88, 0x0c, 0xd0, 0x3d, 0x28, 0xd3, 0xd8, 0x21, 0x71, 0xf3, 0xce, 0x8e, 0xb2, 0x57, + 0xe6, 0x22, 0xf1, 0x4c, 0x4b, 0x83, 0xda, 0xa2, 0x08, 0x7d, 0x70, 0x9d, 0xa6, 0x6b, 0x72, 0xf6, + 0x2a, 0x50, 0x7a, 0xe5, 0x85, 0x4e, 0xe7, 0xef, 0x22, 0xd4, 0x4d, 0xec, 0x9a, 0xd2, 0x28, 0xd7, + 0xb9, 0xeb, 0x32, 0x5d, 0xf1, 0x0a, 0x1d, 0xfa, 0xfa, 0x92, 0x19, 0x3e, 0xbb, 0xed, 0x9c, 0x72, + 0xc1, 0x37, 0x9b, 0xe2, 0xe5, 0x6d, 0xa6, 0x38, 0x58, 0x37, 0xc5, 0xa7, 0x9b, 0x2e, 0x79, 0xc5, + 0x1c, 0xd1, 0x45, 0x37, 0x80, 0xdd, 0x9b, 0xbd, 0xb1, 0x10, 0xe8, 0x60, 0x53, 0x8f, 0xa4, 0xcb, + 0x22, 0xee, 0x00, 0x4b, 0xbe, 0x2f, 0xf3, 0xce, 0x9f, 0x45, 0x68, 0x5c, 0xde, 0x11, 0x7a, 0x4f, + 0x48, 0x5f, 0x59, 0x3a, 0xe0, 0x7a, 0xfd, 0xaf, 0x5e, 0x27, 0xfa, 0x0a, 0x4a, 0xe9, 0x34, 0x92, + 0x52, 0xec, 0xde, 0x28, 0x05, 0x5b, 0xcd, 0x9c, 0x46, 0x84, 0xeb, 0xcd, 0x0a, 0x51, 0x1b, 0xea, + 0x5e, 0x62, 0xc5, 0xe4, 0xc7, 0xcc, 0x8b, 0x89, 0xc3, 0x8c, 0x53, 0x35, 0xc0, 0x4b, 0x0c, 0x91, + 0x41, 0xef, 0xc8, 0xde, 0xcb, 0xad, 0x50, 0x16, 0x6d, 0xb7, 0xff, 0x8b, 0x72, 0xd1, 0x7d, 0xad, + 0xc0, 0xc7, 0x9b, 0x89, 0xc7, 0xcf, 0x69, 0xfc, 0x0f, 0x0a, 0xf2, 0xbf, 0x97, 0x44, 0x9f, 0xb1, + 0xdf, 0x79, 0xe7, 0x0f, 0x15, 0x6a, 0x8b, 0x73, 0xa1, 0xef, 0x61, 0x3b, 0x8a, 0xbd, 0xc0, 0x4b, + 0xbd, 0x09, 0xb1, 0x98, 0x2e, 0xb9, 0x64, 0xdb, 0xb7, 0x74, 0xe5, 0xa2, 0x5e, 0x1b, 0xc9, 0xe2, + 0x3c, 0x1a, 0x14, 0x8c, 0xad, 0x68, 0x35, 0x81, 0x4e, 0x80, 0x79, 0xd2, 0x5a, 0x51, 0x5c, 0xdf, + 0x90, 0x39, 0xf7, 0xa8, 0x20, 0xad, 0x12, 0x31, 0x6e, 0xfd, 0xa6, 0x40, 0x55, 0x4e, 0xa0, 0x73, + 0xd8, 0xc6, 0xbe, 0x4f, 0x7f, 0x22, 0x0e, 0x7f, 0x38, 0x92, 0xa6, 0xc2, 0x1c, 0xf5, 0xe5, 0x7f, + 0x5c, 0x61, 0xf9, 0x86, 0x18, 0x5b, 0x82, 0x90, 0x45, 0x49, 0xeb, 0xd1, 0xea, 0x53, 0xf1, 0xc6, + 0xe7, 0xb7, 0xb8, 0xd6, 0x60, 0x9d, 0x73, 0xd8, 0x5a, 0x53, 0x05, 0xdd, 0x87, 0xd6, 0xc8, 0x18, + 0x1e, 0x0f, 0xcd, 0xe1, 0xf3, 0xbe, 0x65, 0x7e, 0x33, 0xea, 0x5b, 0xcf, 0x4e, 0xce, 0x46, 0xfd, + 0x83, 0xe1, 0xd1, 0xb0, 0x7f, 0xd8, 0x28, 0x20, 0x80, 0xca, 0xe1, 0xe9, 0xb3, 0xde, 0xd3, 0x7e, + 0x43, 0xc9, 0xc7, 0x67, 0xa6, 0x31, 0x3c, 0x79, 0xd2, 0x28, 0xa2, 0x2a, 0x94, 0x7a, 0xa7, 0xa7, + 0x4f, 0x1b, 0x2a, 0xda, 0x82, 0x9a, 0x39, 0x3c, 0xee, 0x9f, 0x99, 0xdd, 0xe3, 0x51, 0xa3, 0xd4, + 0xab, 0x43, 0x2d, 0x17, 0xd4, 0x72, 0x88, 0xed, 0xf7, 0x42, 0x68, 0xdb, 0x34, 0xb8, 0xe9, 0xc8, + 0x23, 0xe5, 0xdb, 0x23, 0x31, 0xed, 0x52, 0x1f, 0x87, 0xae, 0x46, 0x63, 0x57, 0x77, 0x49, 0xc8, + 0xde, 0x66, 0x7d, 0xd9, 0x84, 0xd7, 0x7e, 0xd2, 0x3c, 0x5e, 0x09, 0xff, 0x51, 0x94, 0x71, 0x85, + 0x55, 0x3d, 0xfa, 0x37, 0x00, 0x00, 0xff, 0xff, 0x5f, 0xb5, 0xc4, 0xb8, 0x07, 0x09, 0x00, 0x00, +} diff --git a/googleapis/cloud/datacatalog/v1/timestamps.pb.go b/googleapis/cloud/datacatalog/v1/timestamps.pb.go new file mode 100644 index 0000000000..2b631c85bc --- /dev/null +++ b/googleapis/cloud/datacatalog/v1/timestamps.pb.go @@ -0,0 +1,112 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// source: google/cloud/datacatalog/v1/timestamps.proto + +package datacatalog + +import ( + fmt "fmt" + math "math" + + proto "github.com/golang/protobuf/proto" + timestamp "github.com/golang/protobuf/ptypes/timestamp" + _ "google.golang.org/genproto/googleapis/api/annotations" +) + +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the proto package it is being compiled against. +// A compilation error at this line likely means your copy of the +// proto package needs to be updated. +const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package + +// Timestamps about this resource according to a particular system. +type SystemTimestamps struct { + // The creation time of the resource within the given system. + CreateTime *timestamp.Timestamp `protobuf:"bytes,1,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` + // The last-modified time of the resource within the given system. + UpdateTime *timestamp.Timestamp `protobuf:"bytes,2,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"` + // Output only. The expiration time of the resource within the given system. + // Currently only apllicable to BigQuery resources. + ExpireTime *timestamp.Timestamp `protobuf:"bytes,3,opt,name=expire_time,json=expireTime,proto3" json:"expire_time,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *SystemTimestamps) Reset() { *m = SystemTimestamps{} } +func (m *SystemTimestamps) String() string { return proto.CompactTextString(m) } +func (*SystemTimestamps) ProtoMessage() {} +func (*SystemTimestamps) Descriptor() ([]byte, []int) { + return fileDescriptor_860763b870627e09, []int{0} +} + +func (m *SystemTimestamps) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_SystemTimestamps.Unmarshal(m, b) +} +func (m *SystemTimestamps) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_SystemTimestamps.Marshal(b, m, deterministic) +} +func (m *SystemTimestamps) XXX_Merge(src proto.Message) { + xxx_messageInfo_SystemTimestamps.Merge(m, src) +} +func (m *SystemTimestamps) XXX_Size() int { + return xxx_messageInfo_SystemTimestamps.Size(m) +} +func (m *SystemTimestamps) XXX_DiscardUnknown() { + xxx_messageInfo_SystemTimestamps.DiscardUnknown(m) +} + +var xxx_messageInfo_SystemTimestamps proto.InternalMessageInfo + +func (m *SystemTimestamps) GetCreateTime() *timestamp.Timestamp { + if m != nil { + return m.CreateTime + } + return nil +} + +func (m *SystemTimestamps) GetUpdateTime() *timestamp.Timestamp { + if m != nil { + return m.UpdateTime + } + return nil +} + +func (m *SystemTimestamps) GetExpireTime() *timestamp.Timestamp { + if m != nil { + return m.ExpireTime + } + return nil +} + +func init() { + proto.RegisterType((*SystemTimestamps)(nil), "google.cloud.datacatalog.v1.SystemTimestamps") +} + +func init() { + proto.RegisterFile("google/cloud/datacatalog/v1/timestamps.proto", fileDescriptor_860763b870627e09) +} + +var fileDescriptor_860763b870627e09 = []byte{ + // 254 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x84, 0x91, 0xb1, 0x4e, 0xc3, 0x30, + 0x10, 0x86, 0x65, 0x22, 0x31, 0x38, 0x0b, 0xea, 0x84, 0xca, 0x50, 0xc4, 0xc4, 0x80, 0xce, 0x2a, + 0x8c, 0x5d, 0xa0, 0x03, 0x33, 0x2a, 0x4c, 0x2c, 0xd5, 0x25, 0xb9, 0x1a, 0x4b, 0x4e, 0xce, 0x72, + 0x9c, 0x08, 0x5e, 0x92, 0x67, 0xe0, 0x31, 0x18, 0x51, 0xec, 0x10, 0x3a, 0xa0, 0x76, 0xbc, 0xfb, + 0xbf, 0xef, 0xb7, 0x65, 0xcb, 0x1b, 0xcd, 0xac, 0x2d, 0xa9, 0xd2, 0x72, 0x57, 0xa9, 0x0a, 0x03, + 0x96, 0x18, 0xd0, 0xb2, 0x56, 0xfd, 0x52, 0x05, 0x53, 0x53, 0x1b, 0xb0, 0x76, 0x2d, 0x38, 0xcf, + 0x81, 0x67, 0x17, 0x89, 0x86, 0x48, 0xc3, 0x1e, 0x0d, 0xfd, 0x72, 0xbe, 0x18, 0xab, 0xd0, 0x19, + 0xb5, 0x33, 0x64, 0xab, 0x6d, 0x41, 0x6f, 0xd8, 0x1b, 0xf6, 0xc9, 0x9e, 0x80, 0x38, 0x15, 0xdd, + 0xee, 0xaf, 0x3f, 0x01, 0x57, 0x9f, 0x42, 0x9e, 0x3d, 0x7f, 0xb4, 0x81, 0xea, 0x97, 0xe9, 0xe4, + 0xd9, 0x4a, 0xe6, 0xa5, 0x27, 0x0c, 0xb4, 0x1d, 0xf0, 0x73, 0x71, 0x29, 0xae, 0xf3, 0xdb, 0x39, + 0x8c, 0x37, 0xf9, 0xed, 0x82, 0xc9, 0xd8, 0xc8, 0x84, 0x0f, 0x8b, 0x41, 0xee, 0x5c, 0x35, 0xc9, + 0x27, 0xc7, 0xe5, 0x84, 0x47, 0xf9, 0x5e, 0xe6, 0xf4, 0xee, 0x8c, 0x1f, 0xe5, 0xec, 0x98, 0xbc, + 0xce, 0xbe, 0x1e, 0xb2, 0x8d, 0x4c, 0xce, 0xb0, 0x5d, 0x37, 0x72, 0x51, 0x72, 0x0d, 0x07, 0x5e, + 0xed, 0x49, 0xbc, 0x3e, 0x8e, 0xb1, 0x66, 0x8b, 0x8d, 0x06, 0xf6, 0x5a, 0x69, 0x6a, 0x62, 0xbd, + 0x4a, 0x11, 0x3a, 0xd3, 0xfe, 0xfb, 0x43, 0xab, 0xbd, 0xf1, 0x5b, 0x88, 0xe2, 0x34, 0x5a, 0x77, + 0x3f, 0x01, 0x00, 0x00, 0xff, 0xff, 0x98, 0x26, 0x40, 0xd0, 0xd6, 0x01, 0x00, 0x00, +} diff --git a/googleapis/cloud/mediatranslation/v1beta1/media_translation.pb.go b/googleapis/cloud/mediatranslation/v1beta1/media_translation.pb.go new file mode 100644 index 0000000000..6598595674 --- /dev/null +++ b/googleapis/cloud/mediatranslation/v1beta1/media_translation.pb.go @@ -0,0 +1,729 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// source: google/cloud/mediatranslation/v1beta1/media_translation.proto + +package mediatranslation + +import ( + context "context" + fmt "fmt" + math "math" + + proto "github.com/golang/protobuf/proto" + _ "google.golang.org/genproto/googleapis/api/annotations" + status "google.golang.org/genproto/googleapis/rpc/status" + grpc "google.golang.org/grpc" + codes "google.golang.org/grpc/codes" + status1 "google.golang.org/grpc/status" +) + +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the proto package it is being compiled against. +// A compilation error at this line likely means your copy of the +// proto package needs to be updated. +const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package + +// Indicates the type of speech event. +type StreamingTranslateSpeechResponse_SpeechEventType int32 + +const ( + // No speech event specified. + StreamingTranslateSpeechResponse_SPEECH_EVENT_TYPE_UNSPECIFIED StreamingTranslateSpeechResponse_SpeechEventType = 0 + // This event indicates that the server has detected the end of the user's + // speech utterance and expects no additional speech. Therefore, the server + // will not process additional audio (although it may subsequently return + // additional results). When the client receives 'END_OF_SINGLE_UTTERANCE' + // event, the client should stop sending the requests. However, clients + // should keep receiving remaining responses until the stream is terminated. + // To construct the complete sentence in a streaming way, one should + // override (if 'is_final' of previous response is false), or append (if + // 'is_final' of previous response is true). This event is only sent if + // `single_utterance` was set to `true`, and is not used otherwise. + StreamingTranslateSpeechResponse_END_OF_SINGLE_UTTERANCE StreamingTranslateSpeechResponse_SpeechEventType = 1 +) + +var StreamingTranslateSpeechResponse_SpeechEventType_name = map[int32]string{ + 0: "SPEECH_EVENT_TYPE_UNSPECIFIED", + 1: "END_OF_SINGLE_UTTERANCE", +} + +var StreamingTranslateSpeechResponse_SpeechEventType_value = map[string]int32{ + "SPEECH_EVENT_TYPE_UNSPECIFIED": 0, + "END_OF_SINGLE_UTTERANCE": 1, +} + +func (x StreamingTranslateSpeechResponse_SpeechEventType) String() string { + return proto.EnumName(StreamingTranslateSpeechResponse_SpeechEventType_name, int32(x)) +} + +func (StreamingTranslateSpeechResponse_SpeechEventType) EnumDescriptor() ([]byte, []int) { + return fileDescriptor_7b2f67d966c0ba6c, []int{4, 0} +} + +// Provides information to the speech translation that specifies how to process +// the request. +type TranslateSpeechConfig struct { + // Required. Encoding of audio data. + // Supported formats: + // + // - `linear16` + // + // Uncompressed 16-bit signed little-endian samples (Linear PCM). + // + // + AudioEncoding string `protobuf:"bytes,1,opt,name=audio_encoding,json=audioEncoding,proto3" json:"audio_encoding,omitempty"` + // Required. Source language code (BCP-47) of the input audio. + SourceLanguageCode string `protobuf:"bytes,2,opt,name=source_language_code,json=sourceLanguageCode,proto3" json:"source_language_code,omitempty"` + // Optional. A list of up to 3 additional language codes (BCP-47), listing possible + // alternative languages of the supplied audio. If alternative source + // languages are listed, speech translation result will translate in the most + // likely language detected including the main source_language_code. The + // translated result will include the language code of the language detected + // in the audio. + AlternativeSourceLanguageCodes []string `protobuf:"bytes,6,rep,name=alternative_source_language_codes,json=alternativeSourceLanguageCodes,proto3" json:"alternative_source_language_codes,omitempty"` + // Required. Target language code (BCP-47) of the output. + TargetLanguageCode string `protobuf:"bytes,3,opt,name=target_language_code,json=targetLanguageCode,proto3" json:"target_language_code,omitempty"` + // Optional. Sample rate in Hertz of the audio data. Valid values are: + // 8000-48000. 16000 is optimal. For best results, set the sampling rate of + // the audio source to 16000 Hz. If that's not possible, use the native sample + // rate of the audio source (instead of re-sampling). This field can only be + // omitted for `FLAC` and `WAV` audio files. + SampleRateHertz int32 `protobuf:"varint,4,opt,name=sample_rate_hertz,json=sampleRateHertz,proto3" json:"sample_rate_hertz,omitempty"` + // Optional. + Model string `protobuf:"bytes,5,opt,name=model,proto3" json:"model,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *TranslateSpeechConfig) Reset() { *m = TranslateSpeechConfig{} } +func (m *TranslateSpeechConfig) String() string { return proto.CompactTextString(m) } +func (*TranslateSpeechConfig) ProtoMessage() {} +func (*TranslateSpeechConfig) Descriptor() ([]byte, []int) { + return fileDescriptor_7b2f67d966c0ba6c, []int{0} +} + +func (m *TranslateSpeechConfig) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_TranslateSpeechConfig.Unmarshal(m, b) +} +func (m *TranslateSpeechConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_TranslateSpeechConfig.Marshal(b, m, deterministic) +} +func (m *TranslateSpeechConfig) XXX_Merge(src proto.Message) { + xxx_messageInfo_TranslateSpeechConfig.Merge(m, src) +} +func (m *TranslateSpeechConfig) XXX_Size() int { + return xxx_messageInfo_TranslateSpeechConfig.Size(m) +} +func (m *TranslateSpeechConfig) XXX_DiscardUnknown() { + xxx_messageInfo_TranslateSpeechConfig.DiscardUnknown(m) +} + +var xxx_messageInfo_TranslateSpeechConfig proto.InternalMessageInfo + +func (m *TranslateSpeechConfig) GetAudioEncoding() string { + if m != nil { + return m.AudioEncoding + } + return "" +} + +func (m *TranslateSpeechConfig) GetSourceLanguageCode() string { + if m != nil { + return m.SourceLanguageCode + } + return "" +} + +func (m *TranslateSpeechConfig) GetAlternativeSourceLanguageCodes() []string { + if m != nil { + return m.AlternativeSourceLanguageCodes + } + return nil +} + +func (m *TranslateSpeechConfig) GetTargetLanguageCode() string { + if m != nil { + return m.TargetLanguageCode + } + return "" +} + +func (m *TranslateSpeechConfig) GetSampleRateHertz() int32 { + if m != nil { + return m.SampleRateHertz + } + return 0 +} + +func (m *TranslateSpeechConfig) GetModel() string { + if m != nil { + return m.Model + } + return "" +} + +// Config used for streaming translation. +type StreamingTranslateSpeechConfig struct { + // Required. The common config for all the following audio contents. + AudioConfig *TranslateSpeechConfig `protobuf:"bytes,1,opt,name=audio_config,json=audioConfig,proto3" json:"audio_config,omitempty"` + // Optional. If `false` or omitted, the system performs + // continuous translation (continuing to wait for and process audio even if + // the user pauses speaking) until the client closes the input stream (gRPC + // API) or until the maximum time limit has been reached. May return multiple + // `StreamingTranslateSpeechResult`s with the `is_final` flag set to `true`. + // + // If `true`, the speech translator will detect a single spoken utterance. + // When it detects that the user has paused or stopped speaking, it will + // return an `END_OF_SINGLE_UTTERANCE` event and cease translation. + // When the client receives 'END_OF_SINGLE_UTTERANCE' event, the client should + // stop sending the requests. However, clients should keep receiving remaining + // responses until the stream is terminated. To construct the complete + // sentence in a streaming way, one should override (if 'is_final' of previous + // response is false), or append (if 'is_final' of previous response is true). + SingleUtterance bool `protobuf:"varint,2,opt,name=single_utterance,json=singleUtterance,proto3" json:"single_utterance,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *StreamingTranslateSpeechConfig) Reset() { *m = StreamingTranslateSpeechConfig{} } +func (m *StreamingTranslateSpeechConfig) String() string { return proto.CompactTextString(m) } +func (*StreamingTranslateSpeechConfig) ProtoMessage() {} +func (*StreamingTranslateSpeechConfig) Descriptor() ([]byte, []int) { + return fileDescriptor_7b2f67d966c0ba6c, []int{1} +} + +func (m *StreamingTranslateSpeechConfig) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_StreamingTranslateSpeechConfig.Unmarshal(m, b) +} +func (m *StreamingTranslateSpeechConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_StreamingTranslateSpeechConfig.Marshal(b, m, deterministic) +} +func (m *StreamingTranslateSpeechConfig) XXX_Merge(src proto.Message) { + xxx_messageInfo_StreamingTranslateSpeechConfig.Merge(m, src) +} +func (m *StreamingTranslateSpeechConfig) XXX_Size() int { + return xxx_messageInfo_StreamingTranslateSpeechConfig.Size(m) +} +func (m *StreamingTranslateSpeechConfig) XXX_DiscardUnknown() { + xxx_messageInfo_StreamingTranslateSpeechConfig.DiscardUnknown(m) +} + +var xxx_messageInfo_StreamingTranslateSpeechConfig proto.InternalMessageInfo + +func (m *StreamingTranslateSpeechConfig) GetAudioConfig() *TranslateSpeechConfig { + if m != nil { + return m.AudioConfig + } + return nil +} + +func (m *StreamingTranslateSpeechConfig) GetSingleUtterance() bool { + if m != nil { + return m.SingleUtterance + } + return false +} + +// The top-level message sent by the client for the `StreamingTranslateSpeech` +// method. Multiple `StreamingTranslateSpeechRequest` messages are sent. The +// first message must contain a `streaming_config` message and must not contain +// `audio_content` data. All subsequent messages must contain `audio_content` +// data and must not contain a `streaming_config` message. +type StreamingTranslateSpeechRequest struct { + // The streaming request, which is either a streaming config or content. + // + // Types that are valid to be assigned to StreamingRequest: + // *StreamingTranslateSpeechRequest_StreamingConfig + // *StreamingTranslateSpeechRequest_AudioContent + StreamingRequest isStreamingTranslateSpeechRequest_StreamingRequest `protobuf_oneof:"streaming_request"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *StreamingTranslateSpeechRequest) Reset() { *m = StreamingTranslateSpeechRequest{} } +func (m *StreamingTranslateSpeechRequest) String() string { return proto.CompactTextString(m) } +func (*StreamingTranslateSpeechRequest) ProtoMessage() {} +func (*StreamingTranslateSpeechRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_7b2f67d966c0ba6c, []int{2} +} + +func (m *StreamingTranslateSpeechRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_StreamingTranslateSpeechRequest.Unmarshal(m, b) +} +func (m *StreamingTranslateSpeechRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_StreamingTranslateSpeechRequest.Marshal(b, m, deterministic) +} +func (m *StreamingTranslateSpeechRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_StreamingTranslateSpeechRequest.Merge(m, src) +} +func (m *StreamingTranslateSpeechRequest) XXX_Size() int { + return xxx_messageInfo_StreamingTranslateSpeechRequest.Size(m) +} +func (m *StreamingTranslateSpeechRequest) XXX_DiscardUnknown() { + xxx_messageInfo_StreamingTranslateSpeechRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_StreamingTranslateSpeechRequest proto.InternalMessageInfo + +type isStreamingTranslateSpeechRequest_StreamingRequest interface { + isStreamingTranslateSpeechRequest_StreamingRequest() +} + +type StreamingTranslateSpeechRequest_StreamingConfig struct { + StreamingConfig *StreamingTranslateSpeechConfig `protobuf:"bytes,1,opt,name=streaming_config,json=streamingConfig,proto3,oneof"` +} + +type StreamingTranslateSpeechRequest_AudioContent struct { + AudioContent []byte `protobuf:"bytes,2,opt,name=audio_content,json=audioContent,proto3,oneof"` +} + +func (*StreamingTranslateSpeechRequest_StreamingConfig) isStreamingTranslateSpeechRequest_StreamingRequest() { +} + +func (*StreamingTranslateSpeechRequest_AudioContent) isStreamingTranslateSpeechRequest_StreamingRequest() { +} + +func (m *StreamingTranslateSpeechRequest) GetStreamingRequest() isStreamingTranslateSpeechRequest_StreamingRequest { + if m != nil { + return m.StreamingRequest + } + return nil +} + +func (m *StreamingTranslateSpeechRequest) GetStreamingConfig() *StreamingTranslateSpeechConfig { + if x, ok := m.GetStreamingRequest().(*StreamingTranslateSpeechRequest_StreamingConfig); ok { + return x.StreamingConfig + } + return nil +} + +func (m *StreamingTranslateSpeechRequest) GetAudioContent() []byte { + if x, ok := m.GetStreamingRequest().(*StreamingTranslateSpeechRequest_AudioContent); ok { + return x.AudioContent + } + return nil +} + +// XXX_OneofWrappers is for the internal use of the proto package. +func (*StreamingTranslateSpeechRequest) XXX_OneofWrappers() []interface{} { + return []interface{}{ + (*StreamingTranslateSpeechRequest_StreamingConfig)(nil), + (*StreamingTranslateSpeechRequest_AudioContent)(nil), + } +} + +// A streaming speech translation result corresponding to a portion of the audio +// that is currently being processed. +type StreamingTranslateSpeechResult struct { + // Translation result. + // + // Use oneof field to reserve for future tts result. + // + // Types that are valid to be assigned to Result: + // *StreamingTranslateSpeechResult_TextTranslationResult_ + Result isStreamingTranslateSpeechResult_Result `protobuf_oneof:"result"` + // Output only. The debug only recognition result in original language. This field is debug + // only and will be set to empty string if not available. + // This is implementation detail and will not be backward compatible. + // + // Still need to decide whether to expose this field by default. + RecognitionResult string `protobuf:"bytes,3,opt,name=recognition_result,json=recognitionResult,proto3" json:"recognition_result,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *StreamingTranslateSpeechResult) Reset() { *m = StreamingTranslateSpeechResult{} } +func (m *StreamingTranslateSpeechResult) String() string { return proto.CompactTextString(m) } +func (*StreamingTranslateSpeechResult) ProtoMessage() {} +func (*StreamingTranslateSpeechResult) Descriptor() ([]byte, []int) { + return fileDescriptor_7b2f67d966c0ba6c, []int{3} +} + +func (m *StreamingTranslateSpeechResult) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_StreamingTranslateSpeechResult.Unmarshal(m, b) +} +func (m *StreamingTranslateSpeechResult) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_StreamingTranslateSpeechResult.Marshal(b, m, deterministic) +} +func (m *StreamingTranslateSpeechResult) XXX_Merge(src proto.Message) { + xxx_messageInfo_StreamingTranslateSpeechResult.Merge(m, src) +} +func (m *StreamingTranslateSpeechResult) XXX_Size() int { + return xxx_messageInfo_StreamingTranslateSpeechResult.Size(m) +} +func (m *StreamingTranslateSpeechResult) XXX_DiscardUnknown() { + xxx_messageInfo_StreamingTranslateSpeechResult.DiscardUnknown(m) +} + +var xxx_messageInfo_StreamingTranslateSpeechResult proto.InternalMessageInfo + +type isStreamingTranslateSpeechResult_Result interface { + isStreamingTranslateSpeechResult_Result() +} + +type StreamingTranslateSpeechResult_TextTranslationResult_ struct { + TextTranslationResult *StreamingTranslateSpeechResult_TextTranslationResult `protobuf:"bytes,1,opt,name=text_translation_result,json=textTranslationResult,proto3,oneof"` +} + +func (*StreamingTranslateSpeechResult_TextTranslationResult_) isStreamingTranslateSpeechResult_Result() { +} + +func (m *StreamingTranslateSpeechResult) GetResult() isStreamingTranslateSpeechResult_Result { + if m != nil { + return m.Result + } + return nil +} + +func (m *StreamingTranslateSpeechResult) GetTextTranslationResult() *StreamingTranslateSpeechResult_TextTranslationResult { + if x, ok := m.GetResult().(*StreamingTranslateSpeechResult_TextTranslationResult_); ok { + return x.TextTranslationResult + } + return nil +} + +func (m *StreamingTranslateSpeechResult) GetRecognitionResult() string { + if m != nil { + return m.RecognitionResult + } + return "" +} + +// XXX_OneofWrappers is for the internal use of the proto package. +func (*StreamingTranslateSpeechResult) XXX_OneofWrappers() []interface{} { + return []interface{}{ + (*StreamingTranslateSpeechResult_TextTranslationResult_)(nil), + } +} + +// Text translation result. +type StreamingTranslateSpeechResult_TextTranslationResult struct { + // Output only. The translated sentence. + Translation string `protobuf:"bytes,1,opt,name=translation,proto3" json:"translation,omitempty"` + // Output only. If `false`, this `StreamingTranslateSpeechResult` represents + // an interim result that may change. If `true`, this is the final time the + // translation service will return this particular + // `StreamingTranslateSpeechResult`, the streaming translator will not + // return any further hypotheses for this portion of the transcript and + // corresponding audio. + IsFinal bool `protobuf:"varint,2,opt,name=is_final,json=isFinal,proto3" json:"is_final,omitempty"` + // Output only. The source language code (BCP-47) detected in the audio. Speech + // translation result will translate in the most likely language detected + // including the alternative source languages and main source_language_code. + DetectedSourceLanguageCode string `protobuf:"bytes,3,opt,name=detected_source_language_code,json=detectedSourceLanguageCode,proto3" json:"detected_source_language_code,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *StreamingTranslateSpeechResult_TextTranslationResult) Reset() { + *m = StreamingTranslateSpeechResult_TextTranslationResult{} +} +func (m *StreamingTranslateSpeechResult_TextTranslationResult) String() string { + return proto.CompactTextString(m) +} +func (*StreamingTranslateSpeechResult_TextTranslationResult) ProtoMessage() {} +func (*StreamingTranslateSpeechResult_TextTranslationResult) Descriptor() ([]byte, []int) { + return fileDescriptor_7b2f67d966c0ba6c, []int{3, 0} +} + +func (m *StreamingTranslateSpeechResult_TextTranslationResult) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_StreamingTranslateSpeechResult_TextTranslationResult.Unmarshal(m, b) +} +func (m *StreamingTranslateSpeechResult_TextTranslationResult) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_StreamingTranslateSpeechResult_TextTranslationResult.Marshal(b, m, deterministic) +} +func (m *StreamingTranslateSpeechResult_TextTranslationResult) XXX_Merge(src proto.Message) { + xxx_messageInfo_StreamingTranslateSpeechResult_TextTranslationResult.Merge(m, src) +} +func (m *StreamingTranslateSpeechResult_TextTranslationResult) XXX_Size() int { + return xxx_messageInfo_StreamingTranslateSpeechResult_TextTranslationResult.Size(m) +} +func (m *StreamingTranslateSpeechResult_TextTranslationResult) XXX_DiscardUnknown() { + xxx_messageInfo_StreamingTranslateSpeechResult_TextTranslationResult.DiscardUnknown(m) +} + +var xxx_messageInfo_StreamingTranslateSpeechResult_TextTranslationResult proto.InternalMessageInfo + +func (m *StreamingTranslateSpeechResult_TextTranslationResult) GetTranslation() string { + if m != nil { + return m.Translation + } + return "" +} + +func (m *StreamingTranslateSpeechResult_TextTranslationResult) GetIsFinal() bool { + if m != nil { + return m.IsFinal + } + return false +} + +func (m *StreamingTranslateSpeechResult_TextTranslationResult) GetDetectedSourceLanguageCode() string { + if m != nil { + return m.DetectedSourceLanguageCode + } + return "" +} + +// A streaming speech translation response corresponding to a portion of +// the audio currently processed. +type StreamingTranslateSpeechResponse struct { + // Output only. If set, returns a [google.rpc.Status][google.rpc.Status] message that + // specifies the error for the operation. + Error *status.Status `protobuf:"bytes,1,opt,name=error,proto3" json:"error,omitempty"` + // Output only. The translation result that is currently being processed (is_final could be + // true or false). + Result *StreamingTranslateSpeechResult `protobuf:"bytes,2,opt,name=result,proto3" json:"result,omitempty"` + // Output only. Indicates the type of speech event. + SpeechEventType StreamingTranslateSpeechResponse_SpeechEventType `protobuf:"varint,3,opt,name=speech_event_type,json=speechEventType,proto3,enum=google.cloud.mediatranslation.v1beta1.StreamingTranslateSpeechResponse_SpeechEventType" json:"speech_event_type,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *StreamingTranslateSpeechResponse) Reset() { *m = StreamingTranslateSpeechResponse{} } +func (m *StreamingTranslateSpeechResponse) String() string { return proto.CompactTextString(m) } +func (*StreamingTranslateSpeechResponse) ProtoMessage() {} +func (*StreamingTranslateSpeechResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_7b2f67d966c0ba6c, []int{4} +} + +func (m *StreamingTranslateSpeechResponse) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_StreamingTranslateSpeechResponse.Unmarshal(m, b) +} +func (m *StreamingTranslateSpeechResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_StreamingTranslateSpeechResponse.Marshal(b, m, deterministic) +} +func (m *StreamingTranslateSpeechResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_StreamingTranslateSpeechResponse.Merge(m, src) +} +func (m *StreamingTranslateSpeechResponse) XXX_Size() int { + return xxx_messageInfo_StreamingTranslateSpeechResponse.Size(m) +} +func (m *StreamingTranslateSpeechResponse) XXX_DiscardUnknown() { + xxx_messageInfo_StreamingTranslateSpeechResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_StreamingTranslateSpeechResponse proto.InternalMessageInfo + +func (m *StreamingTranslateSpeechResponse) GetError() *status.Status { + if m != nil { + return m.Error + } + return nil +} + +func (m *StreamingTranslateSpeechResponse) GetResult() *StreamingTranslateSpeechResult { + if m != nil { + return m.Result + } + return nil +} + +func (m *StreamingTranslateSpeechResponse) GetSpeechEventType() StreamingTranslateSpeechResponse_SpeechEventType { + if m != nil { + return m.SpeechEventType + } + return StreamingTranslateSpeechResponse_SPEECH_EVENT_TYPE_UNSPECIFIED +} + +func init() { + proto.RegisterEnum("google.cloud.mediatranslation.v1beta1.StreamingTranslateSpeechResponse_SpeechEventType", StreamingTranslateSpeechResponse_SpeechEventType_name, StreamingTranslateSpeechResponse_SpeechEventType_value) + proto.RegisterType((*TranslateSpeechConfig)(nil), "google.cloud.mediatranslation.v1beta1.TranslateSpeechConfig") + proto.RegisterType((*StreamingTranslateSpeechConfig)(nil), "google.cloud.mediatranslation.v1beta1.StreamingTranslateSpeechConfig") + proto.RegisterType((*StreamingTranslateSpeechRequest)(nil), "google.cloud.mediatranslation.v1beta1.StreamingTranslateSpeechRequest") + proto.RegisterType((*StreamingTranslateSpeechResult)(nil), "google.cloud.mediatranslation.v1beta1.StreamingTranslateSpeechResult") + proto.RegisterType((*StreamingTranslateSpeechResult_TextTranslationResult)(nil), "google.cloud.mediatranslation.v1beta1.StreamingTranslateSpeechResult.TextTranslationResult") + proto.RegisterType((*StreamingTranslateSpeechResponse)(nil), "google.cloud.mediatranslation.v1beta1.StreamingTranslateSpeechResponse") +} + +func init() { + proto.RegisterFile("google/cloud/mediatranslation/v1beta1/media_translation.proto", fileDescriptor_7b2f67d966c0ba6c) +} + +var fileDescriptor_7b2f67d966c0ba6c = []byte{ + // 917 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x56, 0x41, 0x6f, 0xe3, 0x44, + 0x1b, 0x8e, 0x93, 0xaf, 0xfd, 0xca, 0xb4, 0xbb, 0x6d, 0x07, 0xaa, 0x86, 0xa0, 0x6d, 0xbb, 0x91, + 0x2a, 0x15, 0xa4, 0xb5, 0x69, 0x11, 0x97, 0x00, 0x87, 0x26, 0xeb, 0x34, 0x95, 0x96, 0x10, 0x9c, + 0xb4, 0x08, 0xa8, 0x34, 0x9a, 0xda, 0x6f, 0x9d, 0x91, 0x1c, 0x8f, 0x99, 0x99, 0xa4, 0xbb, 0xfc, + 0x02, 0xee, 0x88, 0x03, 0x27, 0x0e, 0x48, 0x1c, 0xb8, 0x71, 0xe1, 0x47, 0xac, 0xc4, 0x01, 0x7e, + 0x01, 0x67, 0x7e, 0x01, 0x47, 0xe4, 0x19, 0xa7, 0x71, 0xdd, 0x74, 0xa9, 0x54, 0x8e, 0x9e, 0xe7, + 0x79, 0x9f, 0xf7, 0x79, 0xde, 0x99, 0xc9, 0x04, 0x7d, 0x14, 0x72, 0x1e, 0x46, 0xe0, 0xf8, 0x11, + 0x1f, 0x07, 0xce, 0x08, 0x02, 0x46, 0x95, 0xa0, 0xb1, 0x8c, 0xa8, 0x62, 0x3c, 0x76, 0x26, 0xfb, + 0xe7, 0xa0, 0xe8, 0xbe, 0x01, 0x48, 0x0e, 0xb1, 0x13, 0xc1, 0x15, 0xc7, 0xbb, 0xa6, 0xdc, 0xd6, + 0xe5, 0x76, 0xb1, 0xdc, 0xce, 0xca, 0x6b, 0xdb, 0x59, 0x17, 0x9a, 0x30, 0xe7, 0x82, 0x41, 0x14, + 0x90, 0x73, 0x18, 0xd2, 0x09, 0xe3, 0xc2, 0xe8, 0xd4, 0x36, 0x33, 0x82, 0x48, 0x7c, 0x47, 0x2a, + 0xaa, 0xc6, 0xb2, 0x00, 0xa4, 0x95, 0x7e, 0xc4, 0x20, 0x56, 0x06, 0xa8, 0xff, 0x56, 0x46, 0x1b, + 0x83, 0xac, 0x15, 0xf4, 0x13, 0x00, 0x7f, 0xd8, 0xe2, 0xf1, 0x05, 0x0b, 0xf1, 0x3b, 0xe8, 0x21, + 0x1d, 0x07, 0x8c, 0x13, 0x88, 0x7d, 0x1e, 0xb0, 0x38, 0xac, 0x5a, 0x3b, 0xd6, 0xde, 0x6b, 0xcd, + 0xca, 0x9f, 0x87, 0x65, 0xef, 0x81, 0x86, 0xdc, 0x0c, 0xc1, 0xef, 0xa3, 0x37, 0x24, 0x1f, 0x0b, + 0x1f, 0x48, 0x44, 0xe3, 0x70, 0x4c, 0x43, 0x20, 0x3e, 0x0f, 0xa0, 0x5a, 0x9e, 0x55, 0x60, 0x43, + 0x78, 0x96, 0xe1, 0x2d, 0x1e, 0x00, 0xee, 0xa2, 0xc7, 0x34, 0x52, 0x20, 0x62, 0xaa, 0xd8, 0x04, + 0xc8, 0x3c, 0x09, 0x59, 0x5d, 0xdc, 0xa9, 0x18, 0x0d, 0xcb, 0xdb, 0xca, 0xb1, 0xfb, 0x37, 0xe4, + 0x64, 0x6a, 0x43, 0x51, 0x11, 0x82, 0x2a, 0xd8, 0xa8, 0xe4, 0x6c, 0x18, 0xc2, 0x35, 0x1b, 0x0e, + 0x5a, 0x97, 0x74, 0x94, 0x44, 0x40, 0x04, 0x55, 0x40, 0x86, 0x20, 0xd4, 0xd7, 0xd5, 0xff, 0xed, + 0x58, 0x7b, 0x0b, 0xa6, 0xed, 0xaa, 0x41, 0x3d, 0xaa, 0xa0, 0x93, 0x62, 0xf8, 0x4d, 0xb4, 0x30, + 0xe2, 0x01, 0x44, 0xd5, 0x85, 0xa9, 0xb0, 0xe5, 0x99, 0x95, 0xfa, 0xaf, 0x16, 0xda, 0xea, 0x2b, + 0x01, 0x74, 0xc4, 0xe2, 0x70, 0xfe, 0x60, 0x03, 0xb4, 0x62, 0x06, 0xeb, 0xeb, 0x6f, 0x3d, 0xd6, + 0xe5, 0x83, 0x0f, 0xed, 0x3b, 0x9d, 0x01, 0x7b, 0xae, 0xa6, 0xc9, 0xb6, 0xac, 0x65, 0xb3, 0x2e, + 0x36, 0x5a, 0x93, 0x2c, 0x0e, 0x23, 0x20, 0x63, 0xa5, 0x40, 0xd0, 0xd8, 0x37, 0xdb, 0xb1, 0x34, + 0xcd, 0xa4, 0xc1, 0x93, 0x29, 0x56, 0xff, 0xdd, 0x42, 0xdb, 0xb7, 0x19, 0xf7, 0xe0, 0xab, 0x31, + 0x48, 0x85, 0x05, 0x5a, 0x93, 0x53, 0xca, 0x75, 0xf7, 0xee, 0x1d, 0xdd, 0xbf, 0x7a, 0x34, 0x9d, + 0x92, 0xb7, 0x7a, 0xd5, 0x20, 0xcb, 0xb1, 0x8b, 0x1e, 0x5c, 0x4d, 0x4b, 0x41, 0xac, 0x74, 0x88, + 0x95, 0x4e, 0xc9, 0x5b, 0x99, 0xa6, 0x4d, 0x57, 0x9b, 0xaf, 0xa3, 0xf5, 0x99, 0x35, 0x61, 0xfc, + 0xd6, 0x7f, 0xa8, 0xdc, 0xbe, 0x19, 0x1e, 0xc8, 0x71, 0xa4, 0xf0, 0x77, 0x16, 0xda, 0x54, 0xf0, + 0x5c, 0xe5, 0x2f, 0x25, 0x11, 0x1a, 0xcb, 0xa2, 0x7d, 0x79, 0xcf, 0x68, 0xa6, 0x91, 0x3d, 0x80, + 0xe7, 0x6a, 0x30, 0x2b, 0x33, 0xab, 0x9d, 0x92, 0xb7, 0xa1, 0xe6, 0x01, 0xf8, 0x00, 0x61, 0x01, + 0x3e, 0x0f, 0x63, 0x96, 0x77, 0x74, 0x75, 0x90, 0x2b, 0xde, 0x7a, 0x0e, 0x36, 0x35, 0xb5, 0x9f, + 0x2c, 0xb4, 0x31, 0xb7, 0x0d, 0xde, 0x45, 0xcb, 0x39, 0xcb, 0xb3, 0x8b, 0x5c, 0xf1, 0xf2, 0xeb, + 0x78, 0x0b, 0x2d, 0x31, 0x49, 0x2e, 0x58, 0x4c, 0xa3, 0xd9, 0x59, 0xa9, 0x78, 0xff, 0x67, 0xb2, + 0x9d, 0xae, 0xe1, 0x36, 0x7a, 0x14, 0x80, 0x02, 0x5f, 0x41, 0x30, 0xf7, 0xb2, 0xe6, 0xfd, 0xd5, + 0xa6, 0xcc, 0x9b, 0x17, 0xb5, 0xb9, 0x84, 0x16, 0x4d, 0xa0, 0xfa, 0xb7, 0x15, 0xb4, 0xf3, 0x8a, + 0xc1, 0x25, 0x3c, 0x96, 0x80, 0x9f, 0xa0, 0x05, 0x10, 0x82, 0x8b, 0x6c, 0x43, 0xf0, 0x74, 0x43, + 0x44, 0xe2, 0xdb, 0x7d, 0xfd, 0x2b, 0x67, 0x5a, 0x1a, 0x16, 0x3e, 0x9f, 0xaa, 0xeb, 0x0c, 0xf7, + 0x3f, 0x9b, 0x66, 0x86, 0xa6, 0x45, 0xa6, 0x8c, 0xbf, 0xb1, 0xd0, 0xba, 0xd4, 0x28, 0x81, 0x09, + 0xc4, 0x8a, 0xa8, 0x17, 0x89, 0x89, 0xff, 0xf0, 0xe0, 0xb3, 0xfb, 0xf7, 0xd3, 0xb9, 0x6d, 0xf3, + 0xe9, 0xa6, 0xfa, 0x83, 0x17, 0x09, 0x18, 0x07, 0xab, 0xf2, 0xfa, 0x6a, 0xfd, 0x53, 0xb4, 0x5a, + 0x20, 0xe2, 0xc7, 0xe8, 0x51, 0xbf, 0xe7, 0xba, 0xad, 0x0e, 0x71, 0x4f, 0xdd, 0xee, 0x80, 0x0c, + 0x3e, 0xef, 0xb9, 0xe4, 0xa4, 0xdb, 0xef, 0xb9, 0xad, 0xe3, 0xf6, 0xb1, 0xfb, 0x74, 0xad, 0x84, + 0xdf, 0x42, 0x9b, 0x6e, 0xf7, 0x29, 0xf9, 0xa4, 0x4d, 0xfa, 0xc7, 0xdd, 0xa3, 0x67, 0x2e, 0x39, + 0x19, 0x0c, 0x5c, 0xef, 0xb0, 0xdb, 0x72, 0xd7, 0xac, 0x83, 0x1f, 0xcb, 0xa8, 0x6a, 0x34, 0x73, + 0x47, 0xa9, 0x0f, 0x62, 0xc2, 0x7c, 0xc0, 0xbf, 0x58, 0xa8, 0x7a, 0x9b, 0x75, 0xdc, 0xbe, 0x77, + 0x76, 0x7d, 0x73, 0x6b, 0x47, 0xff, 0xd1, 0x0c, 0xeb, 0xa5, 0x3d, 0xeb, 0x5d, 0xab, 0xd6, 0x7f, + 0x79, 0xb8, 0x7d, 0x43, 0xc3, 0x74, 0xa0, 0x09, 0x93, 0xb6, 0xcf, 0x47, 0x7f, 0x1c, 0xda, 0x43, + 0xa5, 0x12, 0xd9, 0x70, 0x9c, 0xcb, 0xcb, 0xcb, 0x02, 0xe8, 0xd0, 0xb1, 0x1a, 0x9a, 0xc7, 0xfd, + 0x49, 0x12, 0x51, 0x75, 0xc1, 0xc5, 0xa8, 0xf9, 0x7d, 0x19, 0xbd, 0xed, 0xf3, 0xd1, 0xdd, 0x9c, + 0x36, 0x37, 0x3e, 0x4e, 0x91, 0xdc, 0x3c, 0x7b, 0xe9, 0xfb, 0xdb, 0xb3, 0xbe, 0x38, 0xc9, 0xea, + 0x43, 0x9e, 0xde, 0x25, 0x9b, 0x8b, 0xd0, 0x09, 0x21, 0xd6, 0xaf, 0xb3, 0x33, 0x73, 0xf1, 0x2f, + 0xff, 0x2c, 0x3e, 0x28, 0x02, 0x7f, 0x5b, 0xd6, 0xcf, 0xe5, 0xdd, 0x23, 0x23, 0xdd, 0xd2, 0xd6, + 0x8a, 0x06, 0xec, 0xd3, 0xfd, 0x66, 0x5a, 0xfb, 0x72, 0xca, 0x3b, 0xd3, 0xbc, 0xb3, 0x22, 0xef, + 0xec, 0xd4, 0xf4, 0xf8, 0xab, 0xbc, 0x67, 0x78, 0x8d, 0x86, 0x26, 0x36, 0x1a, 0x45, 0x66, 0xa3, + 0x91, 0x51, 0xcf, 0x17, 0xb5, 0xff, 0xf7, 0xfe, 0x09, 0x00, 0x00, 0xff, 0xff, 0xf8, 0xa7, 0xc3, + 0x21, 0x18, 0x09, 0x00, 0x00, +} + +// Reference imports to suppress errors if they are not otherwise used. +var _ context.Context +var _ grpc.ClientConnInterface + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the grpc package it is being compiled against. +const _ = grpc.SupportPackageIsVersion6 + +// SpeechTranslationServiceClient is the client API for SpeechTranslationService service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. +type SpeechTranslationServiceClient interface { + // Performs bidirectional streaming speech translation: receive results while + // sending audio. This method is only available via the gRPC API (not REST). + StreamingTranslateSpeech(ctx context.Context, opts ...grpc.CallOption) (SpeechTranslationService_StreamingTranslateSpeechClient, error) +} + +type speechTranslationServiceClient struct { + cc grpc.ClientConnInterface +} + +func NewSpeechTranslationServiceClient(cc grpc.ClientConnInterface) SpeechTranslationServiceClient { + return &speechTranslationServiceClient{cc} +} + +func (c *speechTranslationServiceClient) StreamingTranslateSpeech(ctx context.Context, opts ...grpc.CallOption) (SpeechTranslationService_StreamingTranslateSpeechClient, error) { + stream, err := c.cc.NewStream(ctx, &_SpeechTranslationService_serviceDesc.Streams[0], "/google.cloud.mediatranslation.v1beta1.SpeechTranslationService/StreamingTranslateSpeech", opts...) + if err != nil { + return nil, err + } + x := &speechTranslationServiceStreamingTranslateSpeechClient{stream} + return x, nil +} + +type SpeechTranslationService_StreamingTranslateSpeechClient interface { + Send(*StreamingTranslateSpeechRequest) error + Recv() (*StreamingTranslateSpeechResponse, error) + grpc.ClientStream +} + +type speechTranslationServiceStreamingTranslateSpeechClient struct { + grpc.ClientStream +} + +func (x *speechTranslationServiceStreamingTranslateSpeechClient) Send(m *StreamingTranslateSpeechRequest) error { + return x.ClientStream.SendMsg(m) +} + +func (x *speechTranslationServiceStreamingTranslateSpeechClient) Recv() (*StreamingTranslateSpeechResponse, error) { + m := new(StreamingTranslateSpeechResponse) + if err := x.ClientStream.RecvMsg(m); err != nil { + return nil, err + } + return m, nil +} + +// SpeechTranslationServiceServer is the server API for SpeechTranslationService service. +type SpeechTranslationServiceServer interface { + // Performs bidirectional streaming speech translation: receive results while + // sending audio. This method is only available via the gRPC API (not REST). + StreamingTranslateSpeech(SpeechTranslationService_StreamingTranslateSpeechServer) error +} + +// UnimplementedSpeechTranslationServiceServer can be embedded to have forward compatible implementations. +type UnimplementedSpeechTranslationServiceServer struct { +} + +func (*UnimplementedSpeechTranslationServiceServer) StreamingTranslateSpeech(srv SpeechTranslationService_StreamingTranslateSpeechServer) error { + return status1.Errorf(codes.Unimplemented, "method StreamingTranslateSpeech not implemented") +} + +func RegisterSpeechTranslationServiceServer(s *grpc.Server, srv SpeechTranslationServiceServer) { + s.RegisterService(&_SpeechTranslationService_serviceDesc, srv) +} + +func _SpeechTranslationService_StreamingTranslateSpeech_Handler(srv interface{}, stream grpc.ServerStream) error { + return srv.(SpeechTranslationServiceServer).StreamingTranslateSpeech(&speechTranslationServiceStreamingTranslateSpeechServer{stream}) +} + +type SpeechTranslationService_StreamingTranslateSpeechServer interface { + Send(*StreamingTranslateSpeechResponse) error + Recv() (*StreamingTranslateSpeechRequest, error) + grpc.ServerStream +} + +type speechTranslationServiceStreamingTranslateSpeechServer struct { + grpc.ServerStream +} + +func (x *speechTranslationServiceStreamingTranslateSpeechServer) Send(m *StreamingTranslateSpeechResponse) error { + return x.ServerStream.SendMsg(m) +} + +func (x *speechTranslationServiceStreamingTranslateSpeechServer) Recv() (*StreamingTranslateSpeechRequest, error) { + m := new(StreamingTranslateSpeechRequest) + if err := x.ServerStream.RecvMsg(m); err != nil { + return nil, err + } + return m, nil +} + +var _SpeechTranslationService_serviceDesc = grpc.ServiceDesc{ + ServiceName: "google.cloud.mediatranslation.v1beta1.SpeechTranslationService", + HandlerType: (*SpeechTranslationServiceServer)(nil), + Methods: []grpc.MethodDesc{}, + Streams: []grpc.StreamDesc{ + { + StreamName: "StreamingTranslateSpeech", + Handler: _SpeechTranslationService_StreamingTranslateSpeech_Handler, + ServerStreams: true, + ClientStreams: true, + }, + }, + Metadata: "google/cloud/mediatranslation/v1beta1/media_translation.proto", +} diff --git a/googleapis/cloud/recaptchaenterprise/v1/recaptchaenterprise.pb.go b/googleapis/cloud/recaptchaenterprise/v1/recaptchaenterprise.pb.go new file mode 100644 index 0000000000..6cb08ce542 --- /dev/null +++ b/googleapis/cloud/recaptchaenterprise/v1/recaptchaenterprise.pb.go @@ -0,0 +1,1740 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// source: google/cloud/recaptchaenterprise/v1/recaptchaenterprise.proto + +package recaptchaenterprise + +import ( + context "context" + fmt "fmt" + math "math" + + proto "github.com/golang/protobuf/proto" + empty "github.com/golang/protobuf/ptypes/empty" + timestamp "github.com/golang/protobuf/ptypes/timestamp" + _ "google.golang.org/genproto/googleapis/api/annotations" + field_mask "google.golang.org/genproto/protobuf/field_mask" + grpc "google.golang.org/grpc" + codes "google.golang.org/grpc/codes" + status "google.golang.org/grpc/status" +) + +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the proto package it is being compiled against. +// A compilation error at this line likely means your copy of the +// proto package needs to be updated. +const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package + +// Enum that reprensents the types of annotations. +type AnnotateAssessmentRequest_Annotation int32 + +const ( + // Default unspecified type. + AnnotateAssessmentRequest_ANNOTATION_UNSPECIFIED AnnotateAssessmentRequest_Annotation = 0 + // Provides information that the event turned out to be legitimate. + AnnotateAssessmentRequest_LEGITIMATE AnnotateAssessmentRequest_Annotation = 1 + // Provides information that the event turned out to be fraudulent. + AnnotateAssessmentRequest_FRAUDULENT AnnotateAssessmentRequest_Annotation = 2 + // Provides information that the event was related to a login event in which + // the user typed the correct password. + AnnotateAssessmentRequest_PASSWORD_CORRECT AnnotateAssessmentRequest_Annotation = 3 + // Provides information that the event was related to a login event in which + // the user typed the incorrect password. + AnnotateAssessmentRequest_PASSWORD_INCORRECT AnnotateAssessmentRequest_Annotation = 4 +) + +var AnnotateAssessmentRequest_Annotation_name = map[int32]string{ + 0: "ANNOTATION_UNSPECIFIED", + 1: "LEGITIMATE", + 2: "FRAUDULENT", + 3: "PASSWORD_CORRECT", + 4: "PASSWORD_INCORRECT", +} + +var AnnotateAssessmentRequest_Annotation_value = map[string]int32{ + "ANNOTATION_UNSPECIFIED": 0, + "LEGITIMATE": 1, + "FRAUDULENT": 2, + "PASSWORD_CORRECT": 3, + "PASSWORD_INCORRECT": 4, +} + +func (x AnnotateAssessmentRequest_Annotation) String() string { + return proto.EnumName(AnnotateAssessmentRequest_Annotation_name, int32(x)) +} + +func (AnnotateAssessmentRequest_Annotation) EnumDescriptor() ([]byte, []int) { + return fileDescriptor_f777376f650e105f, []int{1, 0} +} + +// LINT.IfChange(classification_reason) +// Reasons contributing to the risk analysis verdict. +type RiskAnalysis_ClassificationReason int32 + +const ( + // Default unspecified type. + RiskAnalysis_CLASSIFICATION_REASON_UNSPECIFIED RiskAnalysis_ClassificationReason = 0 + // Interactions matched the behavior of an automated agent. + RiskAnalysis_AUTOMATION RiskAnalysis_ClassificationReason = 1 + // The event originated from an illegitimate environment. + RiskAnalysis_UNEXPECTED_ENVIRONMENT RiskAnalysis_ClassificationReason = 2 + // Traffic volume from the event source is higher than normal. + RiskAnalysis_TOO_MUCH_TRAFFIC RiskAnalysis_ClassificationReason = 3 + // Interactions with the site were significantly different than expected + // patterns. + RiskAnalysis_UNEXPECTED_USAGE_PATTERNS RiskAnalysis_ClassificationReason = 4 + // Too little traffic has been received from this site thus far to generate + // quality risk analysis. + RiskAnalysis_LOW_CONFIDENCE_SCORE RiskAnalysis_ClassificationReason = 5 +) + +var RiskAnalysis_ClassificationReason_name = map[int32]string{ + 0: "CLASSIFICATION_REASON_UNSPECIFIED", + 1: "AUTOMATION", + 2: "UNEXPECTED_ENVIRONMENT", + 3: "TOO_MUCH_TRAFFIC", + 4: "UNEXPECTED_USAGE_PATTERNS", + 5: "LOW_CONFIDENCE_SCORE", +} + +var RiskAnalysis_ClassificationReason_value = map[string]int32{ + "CLASSIFICATION_REASON_UNSPECIFIED": 0, + "AUTOMATION": 1, + "UNEXPECTED_ENVIRONMENT": 2, + "TOO_MUCH_TRAFFIC": 3, + "UNEXPECTED_USAGE_PATTERNS": 4, + "LOW_CONFIDENCE_SCORE": 5, +} + +func (x RiskAnalysis_ClassificationReason) String() string { + return proto.EnumName(RiskAnalysis_ClassificationReason_name, int32(x)) +} + +func (RiskAnalysis_ClassificationReason) EnumDescriptor() ([]byte, []int) { + return fileDescriptor_f777376f650e105f, []int{5, 0} +} + +// LINT.IfChange +// Enum that represents the types of invalid token reasons. +type TokenProperties_InvalidReason int32 + +const ( + // Default unspecified type. + TokenProperties_INVALID_REASON_UNSPECIFIED TokenProperties_InvalidReason = 0 + // If the failure reason was not accounted for. + TokenProperties_UNKNOWN_INVALID_REASON TokenProperties_InvalidReason = 1 + // The provided user verification token was malformed. + TokenProperties_MALFORMED TokenProperties_InvalidReason = 2 + // The user verification token had expired. + TokenProperties_EXPIRED TokenProperties_InvalidReason = 3 + // The user verification had already been seen. + TokenProperties_DUPE TokenProperties_InvalidReason = 4 + // The user verification token was not present. + TokenProperties_MISSING TokenProperties_InvalidReason = 5 +) + +var TokenProperties_InvalidReason_name = map[int32]string{ + 0: "INVALID_REASON_UNSPECIFIED", + 1: "UNKNOWN_INVALID_REASON", + 2: "MALFORMED", + 3: "EXPIRED", + 4: "DUPE", + 5: "MISSING", +} + +var TokenProperties_InvalidReason_value = map[string]int32{ + "INVALID_REASON_UNSPECIFIED": 0, + "UNKNOWN_INVALID_REASON": 1, + "MALFORMED": 2, + "EXPIRED": 3, + "DUPE": 4, + "MISSING": 5, +} + +func (x TokenProperties_InvalidReason) String() string { + return proto.EnumName(TokenProperties_InvalidReason_name, int32(x)) +} + +func (TokenProperties_InvalidReason) EnumDescriptor() ([]byte, []int) { + return fileDescriptor_f777376f650e105f, []int{6, 0} +} + +// Enum that represents the integration types for web keys. +type WebKeySettings_IntegrationType int32 + +const ( + // Default type that indicates this enum hasn't been specified. This is not + // a valid IntegrationType, one of the other types must be specified + // instead. + WebKeySettings_INTEGRATION_TYPE_UNSPECIFIED WebKeySettings_IntegrationType = 0 + // Only used to produce scores. It doesn't display the "I'm not a robot" + // checkbox and never shows captcha challenges. + WebKeySettings_SCORE WebKeySettings_IntegrationType = 1 + // Displays the "I'm not a robot" checkbox and may show captcha challenges + // after it is checked. + WebKeySettings_CHECKBOX WebKeySettings_IntegrationType = 2 + // Doesn't display the "I'm not a robot" checkbox, but may show captcha + // challenges after risk analysis. + WebKeySettings_INVISIBLE WebKeySettings_IntegrationType = 3 +) + +var WebKeySettings_IntegrationType_name = map[int32]string{ + 0: "INTEGRATION_TYPE_UNSPECIFIED", + 1: "SCORE", + 2: "CHECKBOX", + 3: "INVISIBLE", +} + +var WebKeySettings_IntegrationType_value = map[string]int32{ + "INTEGRATION_TYPE_UNSPECIFIED": 0, + "SCORE": 1, + "CHECKBOX": 2, + "INVISIBLE": 3, +} + +func (x WebKeySettings_IntegrationType) String() string { + return proto.EnumName(WebKeySettings_IntegrationType_name, int32(x)) +} + +func (WebKeySettings_IntegrationType) EnumDescriptor() ([]byte, []int) { + return fileDescriptor_f777376f650e105f, []int{14, 0} +} + +// Enum that represents the possible challenge frequency and difficulty +// configurations for a web key. +type WebKeySettings_ChallengeSecurityPreference int32 + +const ( + // Default type that indicates this enum hasn't been specified. + WebKeySettings_CHALLENGE_SECURITY_PREFERENCE_UNSPECIFIED WebKeySettings_ChallengeSecurityPreference = 0 + // Key tends to show fewer and easier challenges. + WebKeySettings_USABILITY WebKeySettings_ChallengeSecurityPreference = 1 + // Key tends to show balanced (in amount and difficulty) challenges. + WebKeySettings_BALANCE WebKeySettings_ChallengeSecurityPreference = 2 + // Key tends to show more and harder challenges. + WebKeySettings_SECURITY WebKeySettings_ChallengeSecurityPreference = 3 +) + +var WebKeySettings_ChallengeSecurityPreference_name = map[int32]string{ + 0: "CHALLENGE_SECURITY_PREFERENCE_UNSPECIFIED", + 1: "USABILITY", + 2: "BALANCE", + 3: "SECURITY", +} + +var WebKeySettings_ChallengeSecurityPreference_value = map[string]int32{ + "CHALLENGE_SECURITY_PREFERENCE_UNSPECIFIED": 0, + "USABILITY": 1, + "BALANCE": 2, + "SECURITY": 3, +} + +func (x WebKeySettings_ChallengeSecurityPreference) String() string { + return proto.EnumName(WebKeySettings_ChallengeSecurityPreference_name, int32(x)) +} + +func (WebKeySettings_ChallengeSecurityPreference) EnumDescriptor() ([]byte, []int) { + return fileDescriptor_f777376f650e105f, []int{14, 1} +} + +// The create assessment request message. +type CreateAssessmentRequest struct { + // Required. The name of the project in which the assessment will be created, + // in the format "projects/{project}". + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Required. The assessment details. + Assessment *Assessment `protobuf:"bytes,2,opt,name=assessment,proto3" json:"assessment,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *CreateAssessmentRequest) Reset() { *m = CreateAssessmentRequest{} } +func (m *CreateAssessmentRequest) String() string { return proto.CompactTextString(m) } +func (*CreateAssessmentRequest) ProtoMessage() {} +func (*CreateAssessmentRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_f777376f650e105f, []int{0} +} + +func (m *CreateAssessmentRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_CreateAssessmentRequest.Unmarshal(m, b) +} +func (m *CreateAssessmentRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_CreateAssessmentRequest.Marshal(b, m, deterministic) +} +func (m *CreateAssessmentRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_CreateAssessmentRequest.Merge(m, src) +} +func (m *CreateAssessmentRequest) XXX_Size() int { + return xxx_messageInfo_CreateAssessmentRequest.Size(m) +} +func (m *CreateAssessmentRequest) XXX_DiscardUnknown() { + xxx_messageInfo_CreateAssessmentRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_CreateAssessmentRequest proto.InternalMessageInfo + +func (m *CreateAssessmentRequest) GetParent() string { + if m != nil { + return m.Parent + } + return "" +} + +func (m *CreateAssessmentRequest) GetAssessment() *Assessment { + if m != nil { + return m.Assessment + } + return nil +} + +// The request message to annotate an Assessment. +type AnnotateAssessmentRequest struct { + // Required. The resource name of the Assessment, in the format + // "projects/{project}/assessments/{assessment}". + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Required. The annotation that will be assigned to the Event. + Annotation AnnotateAssessmentRequest_Annotation `protobuf:"varint,2,opt,name=annotation,proto3,enum=google.cloud.recaptchaenterprise.v1.AnnotateAssessmentRequest_Annotation" json:"annotation,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *AnnotateAssessmentRequest) Reset() { *m = AnnotateAssessmentRequest{} } +func (m *AnnotateAssessmentRequest) String() string { return proto.CompactTextString(m) } +func (*AnnotateAssessmentRequest) ProtoMessage() {} +func (*AnnotateAssessmentRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_f777376f650e105f, []int{1} +} + +func (m *AnnotateAssessmentRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_AnnotateAssessmentRequest.Unmarshal(m, b) +} +func (m *AnnotateAssessmentRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_AnnotateAssessmentRequest.Marshal(b, m, deterministic) +} +func (m *AnnotateAssessmentRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_AnnotateAssessmentRequest.Merge(m, src) +} +func (m *AnnotateAssessmentRequest) XXX_Size() int { + return xxx_messageInfo_AnnotateAssessmentRequest.Size(m) +} +func (m *AnnotateAssessmentRequest) XXX_DiscardUnknown() { + xxx_messageInfo_AnnotateAssessmentRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_AnnotateAssessmentRequest proto.InternalMessageInfo + +func (m *AnnotateAssessmentRequest) GetName() string { + if m != nil { + return m.Name + } + return "" +} + +func (m *AnnotateAssessmentRequest) GetAnnotation() AnnotateAssessmentRequest_Annotation { + if m != nil { + return m.Annotation + } + return AnnotateAssessmentRequest_ANNOTATION_UNSPECIFIED +} + +// Empty response for AnnotateAssessment. +type AnnotateAssessmentResponse struct { + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *AnnotateAssessmentResponse) Reset() { *m = AnnotateAssessmentResponse{} } +func (m *AnnotateAssessmentResponse) String() string { return proto.CompactTextString(m) } +func (*AnnotateAssessmentResponse) ProtoMessage() {} +func (*AnnotateAssessmentResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_f777376f650e105f, []int{2} +} + +func (m *AnnotateAssessmentResponse) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_AnnotateAssessmentResponse.Unmarshal(m, b) +} +func (m *AnnotateAssessmentResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_AnnotateAssessmentResponse.Marshal(b, m, deterministic) +} +func (m *AnnotateAssessmentResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_AnnotateAssessmentResponse.Merge(m, src) +} +func (m *AnnotateAssessmentResponse) XXX_Size() int { + return xxx_messageInfo_AnnotateAssessmentResponse.Size(m) +} +func (m *AnnotateAssessmentResponse) XXX_DiscardUnknown() { + xxx_messageInfo_AnnotateAssessmentResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_AnnotateAssessmentResponse proto.InternalMessageInfo + +// A recaptcha assessment resource. +type Assessment struct { + // Output only. The resource name for the Assessment in the format + // "projects/{project}/assessments/{assessment}". + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // The event being assessed. + Event *Event `protobuf:"bytes,2,opt,name=event,proto3" json:"event,omitempty"` + // Output only. The risk analysis result for the event being assessed. + RiskAnalysis *RiskAnalysis `protobuf:"bytes,3,opt,name=risk_analysis,json=riskAnalysis,proto3" json:"risk_analysis,omitempty"` + // Output only. Properties of the provided event token. + TokenProperties *TokenProperties `protobuf:"bytes,4,opt,name=token_properties,json=tokenProperties,proto3" json:"token_properties,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *Assessment) Reset() { *m = Assessment{} } +func (m *Assessment) String() string { return proto.CompactTextString(m) } +func (*Assessment) ProtoMessage() {} +func (*Assessment) Descriptor() ([]byte, []int) { + return fileDescriptor_f777376f650e105f, []int{3} +} + +func (m *Assessment) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_Assessment.Unmarshal(m, b) +} +func (m *Assessment) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_Assessment.Marshal(b, m, deterministic) +} +func (m *Assessment) XXX_Merge(src proto.Message) { + xxx_messageInfo_Assessment.Merge(m, src) +} +func (m *Assessment) XXX_Size() int { + return xxx_messageInfo_Assessment.Size(m) +} +func (m *Assessment) XXX_DiscardUnknown() { + xxx_messageInfo_Assessment.DiscardUnknown(m) +} + +var xxx_messageInfo_Assessment proto.InternalMessageInfo + +func (m *Assessment) GetName() string { + if m != nil { + return m.Name + } + return "" +} + +func (m *Assessment) GetEvent() *Event { + if m != nil { + return m.Event + } + return nil +} + +func (m *Assessment) GetRiskAnalysis() *RiskAnalysis { + if m != nil { + return m.RiskAnalysis + } + return nil +} + +func (m *Assessment) GetTokenProperties() *TokenProperties { + if m != nil { + return m.TokenProperties + } + return nil +} + +type Event struct { + // Optional. The user response token provided by the reCAPTCHA client-side integration + // on your site. + Token string `protobuf:"bytes,1,opt,name=token,proto3" json:"token,omitempty"` + // Optional. The site key that was used to invoke reCAPTCHA on your site and generate + // the token. + SiteKey string `protobuf:"bytes,2,opt,name=site_key,json=siteKey,proto3" json:"site_key,omitempty"` + // Optional. The user agent present in the request from the user's device related to + // this event. + UserAgent string `protobuf:"bytes,3,opt,name=user_agent,json=userAgent,proto3" json:"user_agent,omitempty"` + // Optional. The IP address in the request from the user's device related to this event. + UserIpAddress string `protobuf:"bytes,4,opt,name=user_ip_address,json=userIpAddress,proto3" json:"user_ip_address,omitempty"` + // Optional. The expected action for this type of event. This should be the same action + // provided at token generation time on client-side platforms already + // integrated with recaptcha enterprise. + ExpectedAction string `protobuf:"bytes,5,opt,name=expected_action,json=expectedAction,proto3" json:"expected_action,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *Event) Reset() { *m = Event{} } +func (m *Event) String() string { return proto.CompactTextString(m) } +func (*Event) ProtoMessage() {} +func (*Event) Descriptor() ([]byte, []int) { + return fileDescriptor_f777376f650e105f, []int{4} +} + +func (m *Event) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_Event.Unmarshal(m, b) +} +func (m *Event) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_Event.Marshal(b, m, deterministic) +} +func (m *Event) XXX_Merge(src proto.Message) { + xxx_messageInfo_Event.Merge(m, src) +} +func (m *Event) XXX_Size() int { + return xxx_messageInfo_Event.Size(m) +} +func (m *Event) XXX_DiscardUnknown() { + xxx_messageInfo_Event.DiscardUnknown(m) +} + +var xxx_messageInfo_Event proto.InternalMessageInfo + +func (m *Event) GetToken() string { + if m != nil { + return m.Token + } + return "" +} + +func (m *Event) GetSiteKey() string { + if m != nil { + return m.SiteKey + } + return "" +} + +func (m *Event) GetUserAgent() string { + if m != nil { + return m.UserAgent + } + return "" +} + +func (m *Event) GetUserIpAddress() string { + if m != nil { + return m.UserIpAddress + } + return "" +} + +func (m *Event) GetExpectedAction() string { + if m != nil { + return m.ExpectedAction + } + return "" +} + +// Risk analysis result for an event. +type RiskAnalysis struct { + // Legitimate event score from 0.0 to 1.0. + // (1.0 means very likely legitimate traffic while 0.0 means very likely + // non-legitimate traffic). + Score float32 `protobuf:"fixed32,1,opt,name=score,proto3" json:"score,omitempty"` + // Reasons contributing to the risk analysis verdict. + Reasons []RiskAnalysis_ClassificationReason `protobuf:"varint,2,rep,packed,name=reasons,proto3,enum=google.cloud.recaptchaenterprise.v1.RiskAnalysis_ClassificationReason" json:"reasons,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *RiskAnalysis) Reset() { *m = RiskAnalysis{} } +func (m *RiskAnalysis) String() string { return proto.CompactTextString(m) } +func (*RiskAnalysis) ProtoMessage() {} +func (*RiskAnalysis) Descriptor() ([]byte, []int) { + return fileDescriptor_f777376f650e105f, []int{5} +} + +func (m *RiskAnalysis) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_RiskAnalysis.Unmarshal(m, b) +} +func (m *RiskAnalysis) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_RiskAnalysis.Marshal(b, m, deterministic) +} +func (m *RiskAnalysis) XXX_Merge(src proto.Message) { + xxx_messageInfo_RiskAnalysis.Merge(m, src) +} +func (m *RiskAnalysis) XXX_Size() int { + return xxx_messageInfo_RiskAnalysis.Size(m) +} +func (m *RiskAnalysis) XXX_DiscardUnknown() { + xxx_messageInfo_RiskAnalysis.DiscardUnknown(m) +} + +var xxx_messageInfo_RiskAnalysis proto.InternalMessageInfo + +func (m *RiskAnalysis) GetScore() float32 { + if m != nil { + return m.Score + } + return 0 +} + +func (m *RiskAnalysis) GetReasons() []RiskAnalysis_ClassificationReason { + if m != nil { + return m.Reasons + } + return nil +} + +type TokenProperties struct { + // Whether the provided user response token is valid. When valid = false, the + // reason could be specified in invalid_reason or it could also be due to + // a user failing to solve a challenge or a sitekey mismatch (i.e the sitekey + // used to generate the token was different than the one specified in the + // assessment). + Valid bool `protobuf:"varint,1,opt,name=valid,proto3" json:"valid,omitempty"` + // Reason associated with the response when valid = false. + InvalidReason TokenProperties_InvalidReason `protobuf:"varint,2,opt,name=invalid_reason,json=invalidReason,proto3,enum=google.cloud.recaptchaenterprise.v1.TokenProperties_InvalidReason" json:"invalid_reason,omitempty"` + // The timestamp corresponding to the generation of the token. + CreateTime *timestamp.Timestamp `protobuf:"bytes,3,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` + // The hostname of the page on which the token was generated. + Hostname string `protobuf:"bytes,4,opt,name=hostname,proto3" json:"hostname,omitempty"` + // Action name provided at token generation. + Action string `protobuf:"bytes,5,opt,name=action,proto3" json:"action,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *TokenProperties) Reset() { *m = TokenProperties{} } +func (m *TokenProperties) String() string { return proto.CompactTextString(m) } +func (*TokenProperties) ProtoMessage() {} +func (*TokenProperties) Descriptor() ([]byte, []int) { + return fileDescriptor_f777376f650e105f, []int{6} +} + +func (m *TokenProperties) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_TokenProperties.Unmarshal(m, b) +} +func (m *TokenProperties) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_TokenProperties.Marshal(b, m, deterministic) +} +func (m *TokenProperties) XXX_Merge(src proto.Message) { + xxx_messageInfo_TokenProperties.Merge(m, src) +} +func (m *TokenProperties) XXX_Size() int { + return xxx_messageInfo_TokenProperties.Size(m) +} +func (m *TokenProperties) XXX_DiscardUnknown() { + xxx_messageInfo_TokenProperties.DiscardUnknown(m) +} + +var xxx_messageInfo_TokenProperties proto.InternalMessageInfo + +func (m *TokenProperties) GetValid() bool { + if m != nil { + return m.Valid + } + return false +} + +func (m *TokenProperties) GetInvalidReason() TokenProperties_InvalidReason { + if m != nil { + return m.InvalidReason + } + return TokenProperties_INVALID_REASON_UNSPECIFIED +} + +func (m *TokenProperties) GetCreateTime() *timestamp.Timestamp { + if m != nil { + return m.CreateTime + } + return nil +} + +func (m *TokenProperties) GetHostname() string { + if m != nil { + return m.Hostname + } + return "" +} + +func (m *TokenProperties) GetAction() string { + if m != nil { + return m.Action + } + return "" +} + +// The create key request message. +type CreateKeyRequest struct { + // Required. The name of the project in which the key will be created, in the + // format "projects/{project}". + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Required. Information to create a reCAPTCHA Enterprise key. + Key *Key `protobuf:"bytes,2,opt,name=key,proto3" json:"key,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *CreateKeyRequest) Reset() { *m = CreateKeyRequest{} } +func (m *CreateKeyRequest) String() string { return proto.CompactTextString(m) } +func (*CreateKeyRequest) ProtoMessage() {} +func (*CreateKeyRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_f777376f650e105f, []int{7} +} + +func (m *CreateKeyRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_CreateKeyRequest.Unmarshal(m, b) +} +func (m *CreateKeyRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_CreateKeyRequest.Marshal(b, m, deterministic) +} +func (m *CreateKeyRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_CreateKeyRequest.Merge(m, src) +} +func (m *CreateKeyRequest) XXX_Size() int { + return xxx_messageInfo_CreateKeyRequest.Size(m) +} +func (m *CreateKeyRequest) XXX_DiscardUnknown() { + xxx_messageInfo_CreateKeyRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_CreateKeyRequest proto.InternalMessageInfo + +func (m *CreateKeyRequest) GetParent() string { + if m != nil { + return m.Parent + } + return "" +} + +func (m *CreateKeyRequest) GetKey() *Key { + if m != nil { + return m.Key + } + return nil +} + +// The list keys request message. +type ListKeysRequest struct { + // Required. The name of the project that contains the keys that will be + // listed, in the format "projects/{project}". + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Optional. The maximum number of keys to return. Default is 10. Max limit is + // 1000. + PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` + // Optional. The next_page_token value returned from a previous. + // ListKeysRequest, if any. + PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *ListKeysRequest) Reset() { *m = ListKeysRequest{} } +func (m *ListKeysRequest) String() string { return proto.CompactTextString(m) } +func (*ListKeysRequest) ProtoMessage() {} +func (*ListKeysRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_f777376f650e105f, []int{8} +} + +func (m *ListKeysRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ListKeysRequest.Unmarshal(m, b) +} +func (m *ListKeysRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ListKeysRequest.Marshal(b, m, deterministic) +} +func (m *ListKeysRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_ListKeysRequest.Merge(m, src) +} +func (m *ListKeysRequest) XXX_Size() int { + return xxx_messageInfo_ListKeysRequest.Size(m) +} +func (m *ListKeysRequest) XXX_DiscardUnknown() { + xxx_messageInfo_ListKeysRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_ListKeysRequest proto.InternalMessageInfo + +func (m *ListKeysRequest) GetParent() string { + if m != nil { + return m.Parent + } + return "" +} + +func (m *ListKeysRequest) GetPageSize() int32 { + if m != nil { + return m.PageSize + } + return 0 +} + +func (m *ListKeysRequest) GetPageToken() string { + if m != nil { + return m.PageToken + } + return "" +} + +// Response to request to list keys in a project. +type ListKeysResponse struct { + // Key details. + Keys []*Key `protobuf:"bytes,1,rep,name=keys,proto3" json:"keys,omitempty"` + // Token to retrieve the next page of results. It is set to empty if no keys + // remain in results. + NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *ListKeysResponse) Reset() { *m = ListKeysResponse{} } +func (m *ListKeysResponse) String() string { return proto.CompactTextString(m) } +func (*ListKeysResponse) ProtoMessage() {} +func (*ListKeysResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_f777376f650e105f, []int{9} +} + +func (m *ListKeysResponse) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ListKeysResponse.Unmarshal(m, b) +} +func (m *ListKeysResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ListKeysResponse.Marshal(b, m, deterministic) +} +func (m *ListKeysResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_ListKeysResponse.Merge(m, src) +} +func (m *ListKeysResponse) XXX_Size() int { + return xxx_messageInfo_ListKeysResponse.Size(m) +} +func (m *ListKeysResponse) XXX_DiscardUnknown() { + xxx_messageInfo_ListKeysResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_ListKeysResponse proto.InternalMessageInfo + +func (m *ListKeysResponse) GetKeys() []*Key { + if m != nil { + return m.Keys + } + return nil +} + +func (m *ListKeysResponse) GetNextPageToken() string { + if m != nil { + return m.NextPageToken + } + return "" +} + +// The get key request message. +type GetKeyRequest struct { + // Required. The name of the requested key, in the format + // "projects/{project}/keys/{key}". + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *GetKeyRequest) Reset() { *m = GetKeyRequest{} } +func (m *GetKeyRequest) String() string { return proto.CompactTextString(m) } +func (*GetKeyRequest) ProtoMessage() {} +func (*GetKeyRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_f777376f650e105f, []int{10} +} + +func (m *GetKeyRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetKeyRequest.Unmarshal(m, b) +} +func (m *GetKeyRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetKeyRequest.Marshal(b, m, deterministic) +} +func (m *GetKeyRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetKeyRequest.Merge(m, src) +} +func (m *GetKeyRequest) XXX_Size() int { + return xxx_messageInfo_GetKeyRequest.Size(m) +} +func (m *GetKeyRequest) XXX_DiscardUnknown() { + xxx_messageInfo_GetKeyRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_GetKeyRequest proto.InternalMessageInfo + +func (m *GetKeyRequest) GetName() string { + if m != nil { + return m.Name + } + return "" +} + +// The update key request message. +type UpdateKeyRequest struct { + // Required. The key to update. + Key *Key `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` + // Optional. The mask to control which field of the key get updated. If the mask is not + // present, all fields will be updated. + UpdateMask *field_mask.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *UpdateKeyRequest) Reset() { *m = UpdateKeyRequest{} } +func (m *UpdateKeyRequest) String() string { return proto.CompactTextString(m) } +func (*UpdateKeyRequest) ProtoMessage() {} +func (*UpdateKeyRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_f777376f650e105f, []int{11} +} + +func (m *UpdateKeyRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_UpdateKeyRequest.Unmarshal(m, b) +} +func (m *UpdateKeyRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_UpdateKeyRequest.Marshal(b, m, deterministic) +} +func (m *UpdateKeyRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_UpdateKeyRequest.Merge(m, src) +} +func (m *UpdateKeyRequest) XXX_Size() int { + return xxx_messageInfo_UpdateKeyRequest.Size(m) +} +func (m *UpdateKeyRequest) XXX_DiscardUnknown() { + xxx_messageInfo_UpdateKeyRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_UpdateKeyRequest proto.InternalMessageInfo + +func (m *UpdateKeyRequest) GetKey() *Key { + if m != nil { + return m.Key + } + return nil +} + +func (m *UpdateKeyRequest) GetUpdateMask() *field_mask.FieldMask { + if m != nil { + return m.UpdateMask + } + return nil +} + +// The delete key request message. +type DeleteKeyRequest struct { + // Required. The name of the key to be deleted, in the format + // "projects/{project}/keys/{key}". + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *DeleteKeyRequest) Reset() { *m = DeleteKeyRequest{} } +func (m *DeleteKeyRequest) String() string { return proto.CompactTextString(m) } +func (*DeleteKeyRequest) ProtoMessage() {} +func (*DeleteKeyRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_f777376f650e105f, []int{12} +} + +func (m *DeleteKeyRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_DeleteKeyRequest.Unmarshal(m, b) +} +func (m *DeleteKeyRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_DeleteKeyRequest.Marshal(b, m, deterministic) +} +func (m *DeleteKeyRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_DeleteKeyRequest.Merge(m, src) +} +func (m *DeleteKeyRequest) XXX_Size() int { + return xxx_messageInfo_DeleteKeyRequest.Size(m) +} +func (m *DeleteKeyRequest) XXX_DiscardUnknown() { + xxx_messageInfo_DeleteKeyRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_DeleteKeyRequest proto.InternalMessageInfo + +func (m *DeleteKeyRequest) GetName() string { + if m != nil { + return m.Name + } + return "" +} + +// A key used to identify and configure applications (web and/or mobile) that +// use reCAPTCHA Enterprise. +type Key struct { + // The resource name for the Key in the format + // "projects/{project}/keys/{key}". + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Human-readable display name of this key. Modifiable by user. + DisplayName string `protobuf:"bytes,2,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` + // Platform specific settings for this key. The key can only be used on one + // platform, the one it has settings for. + // + // Types that are valid to be assigned to PlatformSettings: + // *Key_WebSettings + // *Key_AndroidSettings + // *Key_IosSettings + PlatformSettings isKey_PlatformSettings `protobuf_oneof:"platform_settings"` + // Optional. See + // Creating and managing labels. + Labels map[string]string `protobuf:"bytes,6,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // The timestamp corresponding to the creation of this Key. + CreateTime *timestamp.Timestamp `protobuf:"bytes,7,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *Key) Reset() { *m = Key{} } +func (m *Key) String() string { return proto.CompactTextString(m) } +func (*Key) ProtoMessage() {} +func (*Key) Descriptor() ([]byte, []int) { + return fileDescriptor_f777376f650e105f, []int{13} +} + +func (m *Key) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_Key.Unmarshal(m, b) +} +func (m *Key) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_Key.Marshal(b, m, deterministic) +} +func (m *Key) XXX_Merge(src proto.Message) { + xxx_messageInfo_Key.Merge(m, src) +} +func (m *Key) XXX_Size() int { + return xxx_messageInfo_Key.Size(m) +} +func (m *Key) XXX_DiscardUnknown() { + xxx_messageInfo_Key.DiscardUnknown(m) +} + +var xxx_messageInfo_Key proto.InternalMessageInfo + +func (m *Key) GetName() string { + if m != nil { + return m.Name + } + return "" +} + +func (m *Key) GetDisplayName() string { + if m != nil { + return m.DisplayName + } + return "" +} + +type isKey_PlatformSettings interface { + isKey_PlatformSettings() +} + +type Key_WebSettings struct { + WebSettings *WebKeySettings `protobuf:"bytes,3,opt,name=web_settings,json=webSettings,proto3,oneof"` +} + +type Key_AndroidSettings struct { + AndroidSettings *AndroidKeySettings `protobuf:"bytes,4,opt,name=android_settings,json=androidSettings,proto3,oneof"` +} + +type Key_IosSettings struct { + IosSettings *IOSKeySettings `protobuf:"bytes,5,opt,name=ios_settings,json=iosSettings,proto3,oneof"` +} + +func (*Key_WebSettings) isKey_PlatformSettings() {} + +func (*Key_AndroidSettings) isKey_PlatformSettings() {} + +func (*Key_IosSettings) isKey_PlatformSettings() {} + +func (m *Key) GetPlatformSettings() isKey_PlatformSettings { + if m != nil { + return m.PlatformSettings + } + return nil +} + +func (m *Key) GetWebSettings() *WebKeySettings { + if x, ok := m.GetPlatformSettings().(*Key_WebSettings); ok { + return x.WebSettings + } + return nil +} + +func (m *Key) GetAndroidSettings() *AndroidKeySettings { + if x, ok := m.GetPlatformSettings().(*Key_AndroidSettings); ok { + return x.AndroidSettings + } + return nil +} + +func (m *Key) GetIosSettings() *IOSKeySettings { + if x, ok := m.GetPlatformSettings().(*Key_IosSettings); ok { + return x.IosSettings + } + return nil +} + +func (m *Key) GetLabels() map[string]string { + if m != nil { + return m.Labels + } + return nil +} + +func (m *Key) GetCreateTime() *timestamp.Timestamp { + if m != nil { + return m.CreateTime + } + return nil +} + +// XXX_OneofWrappers is for the internal use of the proto package. +func (*Key) XXX_OneofWrappers() []interface{} { + return []interface{}{ + (*Key_WebSettings)(nil), + (*Key_AndroidSettings)(nil), + (*Key_IosSettings)(nil), + } +} + +// Settings specific to keys that can be used by websites. +type WebKeySettings struct { + // If set to true, it means allowed_domains will not be enforced. + AllowAllDomains bool `protobuf:"varint,3,opt,name=allow_all_domains,json=allowAllDomains,proto3" json:"allow_all_domains,omitempty"` + // Domains or subdomains of websites allowed to use the key. All subdomains + // of an allowed domain are automatically allowed. A valid domain requires a + // host and must not include any path, port, query or fragment. + // Examples: 'example.com' or 'subdomain.example.com' + AllowedDomains []string `protobuf:"bytes,1,rep,name=allowed_domains,json=allowedDomains,proto3" json:"allowed_domains,omitempty"` + // Required. Whether this key can be used on AMP (Accelerated Mobile Pages) websites. + AllowAmpTraffic bool `protobuf:"varint,2,opt,name=allow_amp_traffic,json=allowAmpTraffic,proto3" json:"allow_amp_traffic,omitempty"` + // Required. Describes how this key is integrated with the website. + IntegrationType WebKeySettings_IntegrationType `protobuf:"varint,4,opt,name=integration_type,json=integrationType,proto3,enum=google.cloud.recaptchaenterprise.v1.WebKeySettings_IntegrationType" json:"integration_type,omitempty"` + // Settings for the frequency and difficulty at which this key triggers + // captcha challenges. This should only be specified for IntegrationTypes + // CHECKBOX and INVISIBLE. + ChallengeSecurityPreference WebKeySettings_ChallengeSecurityPreference `protobuf:"varint,5,opt,name=challenge_security_preference,json=challengeSecurityPreference,proto3,enum=google.cloud.recaptchaenterprise.v1.WebKeySettings_ChallengeSecurityPreference" json:"challenge_security_preference,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *WebKeySettings) Reset() { *m = WebKeySettings{} } +func (m *WebKeySettings) String() string { return proto.CompactTextString(m) } +func (*WebKeySettings) ProtoMessage() {} +func (*WebKeySettings) Descriptor() ([]byte, []int) { + return fileDescriptor_f777376f650e105f, []int{14} +} + +func (m *WebKeySettings) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_WebKeySettings.Unmarshal(m, b) +} +func (m *WebKeySettings) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_WebKeySettings.Marshal(b, m, deterministic) +} +func (m *WebKeySettings) XXX_Merge(src proto.Message) { + xxx_messageInfo_WebKeySettings.Merge(m, src) +} +func (m *WebKeySettings) XXX_Size() int { + return xxx_messageInfo_WebKeySettings.Size(m) +} +func (m *WebKeySettings) XXX_DiscardUnknown() { + xxx_messageInfo_WebKeySettings.DiscardUnknown(m) +} + +var xxx_messageInfo_WebKeySettings proto.InternalMessageInfo + +func (m *WebKeySettings) GetAllowAllDomains() bool { + if m != nil { + return m.AllowAllDomains + } + return false +} + +func (m *WebKeySettings) GetAllowedDomains() []string { + if m != nil { + return m.AllowedDomains + } + return nil +} + +func (m *WebKeySettings) GetAllowAmpTraffic() bool { + if m != nil { + return m.AllowAmpTraffic + } + return false +} + +func (m *WebKeySettings) GetIntegrationType() WebKeySettings_IntegrationType { + if m != nil { + return m.IntegrationType + } + return WebKeySettings_INTEGRATION_TYPE_UNSPECIFIED +} + +func (m *WebKeySettings) GetChallengeSecurityPreference() WebKeySettings_ChallengeSecurityPreference { + if m != nil { + return m.ChallengeSecurityPreference + } + return WebKeySettings_CHALLENGE_SECURITY_PREFERENCE_UNSPECIFIED +} + +// Settings specific to keys that can be used by Android apps. +type AndroidKeySettings struct { + // Android package names of apps allowed to use the key. + // Example: 'com.companyname.appname' + AllowedPackageNames []string `protobuf:"bytes,1,rep,name=allowed_package_names,json=allowedPackageNames,proto3" json:"allowed_package_names,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *AndroidKeySettings) Reset() { *m = AndroidKeySettings{} } +func (m *AndroidKeySettings) String() string { return proto.CompactTextString(m) } +func (*AndroidKeySettings) ProtoMessage() {} +func (*AndroidKeySettings) Descriptor() ([]byte, []int) { + return fileDescriptor_f777376f650e105f, []int{15} +} + +func (m *AndroidKeySettings) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_AndroidKeySettings.Unmarshal(m, b) +} +func (m *AndroidKeySettings) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_AndroidKeySettings.Marshal(b, m, deterministic) +} +func (m *AndroidKeySettings) XXX_Merge(src proto.Message) { + xxx_messageInfo_AndroidKeySettings.Merge(m, src) +} +func (m *AndroidKeySettings) XXX_Size() int { + return xxx_messageInfo_AndroidKeySettings.Size(m) +} +func (m *AndroidKeySettings) XXX_DiscardUnknown() { + xxx_messageInfo_AndroidKeySettings.DiscardUnknown(m) +} + +var xxx_messageInfo_AndroidKeySettings proto.InternalMessageInfo + +func (m *AndroidKeySettings) GetAllowedPackageNames() []string { + if m != nil { + return m.AllowedPackageNames + } + return nil +} + +// Settings specific to keys that can be used by iOS apps. +type IOSKeySettings struct { + // iOS bundle ids of apps allowed to use the key. + // Example: 'com.companyname.productname.appname' + AllowedBundleIds []string `protobuf:"bytes,1,rep,name=allowed_bundle_ids,json=allowedBundleIds,proto3" json:"allowed_bundle_ids,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *IOSKeySettings) Reset() { *m = IOSKeySettings{} } +func (m *IOSKeySettings) String() string { return proto.CompactTextString(m) } +func (*IOSKeySettings) ProtoMessage() {} +func (*IOSKeySettings) Descriptor() ([]byte, []int) { + return fileDescriptor_f777376f650e105f, []int{16} +} + +func (m *IOSKeySettings) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_IOSKeySettings.Unmarshal(m, b) +} +func (m *IOSKeySettings) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_IOSKeySettings.Marshal(b, m, deterministic) +} +func (m *IOSKeySettings) XXX_Merge(src proto.Message) { + xxx_messageInfo_IOSKeySettings.Merge(m, src) +} +func (m *IOSKeySettings) XXX_Size() int { + return xxx_messageInfo_IOSKeySettings.Size(m) +} +func (m *IOSKeySettings) XXX_DiscardUnknown() { + xxx_messageInfo_IOSKeySettings.DiscardUnknown(m) +} + +var xxx_messageInfo_IOSKeySettings proto.InternalMessageInfo + +func (m *IOSKeySettings) GetAllowedBundleIds() []string { + if m != nil { + return m.AllowedBundleIds + } + return nil +} + +func init() { + proto.RegisterEnum("google.cloud.recaptchaenterprise.v1.AnnotateAssessmentRequest_Annotation", AnnotateAssessmentRequest_Annotation_name, AnnotateAssessmentRequest_Annotation_value) + proto.RegisterEnum("google.cloud.recaptchaenterprise.v1.RiskAnalysis_ClassificationReason", RiskAnalysis_ClassificationReason_name, RiskAnalysis_ClassificationReason_value) + proto.RegisterEnum("google.cloud.recaptchaenterprise.v1.TokenProperties_InvalidReason", TokenProperties_InvalidReason_name, TokenProperties_InvalidReason_value) + proto.RegisterEnum("google.cloud.recaptchaenterprise.v1.WebKeySettings_IntegrationType", WebKeySettings_IntegrationType_name, WebKeySettings_IntegrationType_value) + proto.RegisterEnum("google.cloud.recaptchaenterprise.v1.WebKeySettings_ChallengeSecurityPreference", WebKeySettings_ChallengeSecurityPreference_name, WebKeySettings_ChallengeSecurityPreference_value) + proto.RegisterType((*CreateAssessmentRequest)(nil), "google.cloud.recaptchaenterprise.v1.CreateAssessmentRequest") + proto.RegisterType((*AnnotateAssessmentRequest)(nil), "google.cloud.recaptchaenterprise.v1.AnnotateAssessmentRequest") + proto.RegisterType((*AnnotateAssessmentResponse)(nil), "google.cloud.recaptchaenterprise.v1.AnnotateAssessmentResponse") + proto.RegisterType((*Assessment)(nil), "google.cloud.recaptchaenterprise.v1.Assessment") + proto.RegisterType((*Event)(nil), "google.cloud.recaptchaenterprise.v1.Event") + proto.RegisterType((*RiskAnalysis)(nil), "google.cloud.recaptchaenterprise.v1.RiskAnalysis") + proto.RegisterType((*TokenProperties)(nil), "google.cloud.recaptchaenterprise.v1.TokenProperties") + proto.RegisterType((*CreateKeyRequest)(nil), "google.cloud.recaptchaenterprise.v1.CreateKeyRequest") + proto.RegisterType((*ListKeysRequest)(nil), "google.cloud.recaptchaenterprise.v1.ListKeysRequest") + proto.RegisterType((*ListKeysResponse)(nil), "google.cloud.recaptchaenterprise.v1.ListKeysResponse") + proto.RegisterType((*GetKeyRequest)(nil), "google.cloud.recaptchaenterprise.v1.GetKeyRequest") + proto.RegisterType((*UpdateKeyRequest)(nil), "google.cloud.recaptchaenterprise.v1.UpdateKeyRequest") + proto.RegisterType((*DeleteKeyRequest)(nil), "google.cloud.recaptchaenterprise.v1.DeleteKeyRequest") + proto.RegisterType((*Key)(nil), "google.cloud.recaptchaenterprise.v1.Key") + proto.RegisterMapType((map[string]string)(nil), "google.cloud.recaptchaenterprise.v1.Key.LabelsEntry") + proto.RegisterType((*WebKeySettings)(nil), "google.cloud.recaptchaenterprise.v1.WebKeySettings") + proto.RegisterType((*AndroidKeySettings)(nil), "google.cloud.recaptchaenterprise.v1.AndroidKeySettings") + proto.RegisterType((*IOSKeySettings)(nil), "google.cloud.recaptchaenterprise.v1.IOSKeySettings") +} + +func init() { + proto.RegisterFile("google/cloud/recaptchaenterprise/v1/recaptchaenterprise.proto", fileDescriptor_f777376f650e105f) +} + +var fileDescriptor_f777376f650e105f = []byte{ + // 2117 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x58, 0xcd, 0x73, 0xdb, 0xc6, + 0x15, 0x0f, 0x48, 0x51, 0x16, 0x9f, 0xbe, 0x90, 0x8d, 0x6b, 0xcb, 0xf4, 0x47, 0x65, 0xb8, 0x4d, + 0x1c, 0xc5, 0x26, 0x47, 0x72, 0x3c, 0x6d, 0x95, 0x4f, 0x10, 0x84, 0x64, 0x54, 0x14, 0xc8, 0x02, + 0xa0, 0x6c, 0x37, 0x9e, 0x41, 0x21, 0x70, 0x45, 0xa1, 0x02, 0x01, 0x14, 0x0b, 0x49, 0x66, 0x3c, + 0xee, 0x74, 0xd2, 0x63, 0x7b, 0x6a, 0xa6, 0xd3, 0x43, 0xa7, 0x33, 0x9d, 0x4e, 0x4f, 0xfd, 0x0b, + 0x7a, 0xe8, 0x25, 0xd7, 0x1c, 0x72, 0x68, 0x6f, 0x39, 0xf9, 0xd0, 0x93, 0xff, 0x80, 0x1e, 0x7a, + 0xea, 0x60, 0x17, 0x00, 0x3f, 0x4c, 0xbb, 0xa4, 0xda, 0xdc, 0xb8, 0xef, 0xf3, 0xb7, 0xef, 0xbd, + 0x7d, 0xef, 0x81, 0xf0, 0x41, 0xc7, 0xf7, 0x3b, 0x2e, 0xae, 0xd8, 0xae, 0x7f, 0xdc, 0xae, 0x84, + 0xd8, 0xb6, 0x82, 0xc8, 0x3e, 0xb4, 0xb0, 0x17, 0xe1, 0x30, 0x08, 0x1d, 0x82, 0x2b, 0x27, 0xeb, + 0xe3, 0xc8, 0xe5, 0x20, 0xf4, 0x23, 0x1f, 0xdd, 0x60, 0xea, 0x65, 0xaa, 0x5e, 0x1e, 0x27, 0x77, + 0xb2, 0x5e, 0xba, 0x92, 0xf8, 0xb0, 0x02, 0xa7, 0x62, 0x79, 0x9e, 0x1f, 0x59, 0x91, 0xe3, 0x7b, + 0x84, 0x99, 0x28, 0x5d, 0x1c, 0xe0, 0xda, 0xae, 0x83, 0xbd, 0x28, 0x61, 0x7c, 0x7b, 0x80, 0x71, + 0xe0, 0x60, 0xb7, 0x6d, 0xee, 0xe3, 0x43, 0xeb, 0xc4, 0xf1, 0xc3, 0x44, 0xe0, 0xd2, 0x80, 0x40, + 0x88, 0x89, 0x7f, 0x1c, 0xda, 0x09, 0xae, 0xd2, 0xe5, 0x84, 0x45, 0x4f, 0xfb, 0xc7, 0x07, 0x15, + 0xdc, 0x0d, 0xa2, 0x5e, 0xc2, 0x5c, 0x1d, 0x65, 0x32, 0xeb, 0x5d, 0x8b, 0x1c, 0x8d, 0xb8, 0xce, + 0x24, 0x22, 0xa7, 0x8b, 0x49, 0x64, 0x75, 0x03, 0x26, 0x20, 0xfc, 0x8d, 0x83, 0x8b, 0x52, 0x88, + 0xad, 0x08, 0x8b, 0x84, 0x60, 0x42, 0xba, 0xd8, 0x8b, 0x34, 0xfc, 0xb3, 0x63, 0x4c, 0x22, 0xb4, + 0x03, 0xb3, 0x81, 0x15, 0x62, 0x2f, 0x5a, 0xe1, 0x56, 0xb9, 0x9b, 0xc5, 0xea, 0x9d, 0x67, 0x62, + 0xee, 0xdf, 0xe2, 0x6d, 0x78, 0x87, 0x06, 0x29, 0x05, 0xda, 0xb5, 0x3c, 0xab, 0x83, 0xc3, 0x32, + 0xf3, 0x64, 0x05, 0x0e, 0x29, 0xdb, 0x7e, 0xb7, 0xd2, 0x0c, 0xfd, 0x9f, 0x62, 0x3b, 0xd2, 0x12, + 0x13, 0xc8, 0x00, 0xb0, 0x32, 0x0f, 0x2b, 0xb9, 0x55, 0xee, 0xe6, 0xfc, 0x46, 0xa5, 0x3c, 0x41, + 0xd4, 0xcb, 0x7d, 0x60, 0xd5, 0xfc, 0x33, 0x31, 0xa7, 0x0d, 0xd8, 0x11, 0xbe, 0xca, 0xc1, 0x25, + 0x91, 0x65, 0x62, 0xcc, 0x05, 0x14, 0x98, 0xf1, 0xac, 0x2e, 0x4e, 0xe0, 0xdf, 0xa5, 0xf0, 0x2b, + 0x70, 0x7b, 0x9c, 0x9f, 0x11, 0xf4, 0x03, 0xb6, 0xa8, 0x09, 0xe4, 0x01, 0xf4, 0x33, 0x4e, 0xe1, + 0x2f, 0x6d, 0x28, 0x93, 0xc1, 0x7f, 0x19, 0xbc, 0x94, 0xe3, 0xf8, 0x5e, 0x7a, 0xb1, 0x8c, 0x20, + 0x9c, 0x00, 0xf4, 0xd9, 0xa8, 0x04, 0x17, 0x44, 0x55, 0x6d, 0x18, 0xa2, 0xa1, 0x34, 0x54, 0xb3, + 0xa5, 0xea, 0x4d, 0x59, 0x52, 0xb6, 0x14, 0xb9, 0xc6, 0xbf, 0x86, 0x96, 0x00, 0xea, 0xf2, 0xb6, + 0x62, 0x28, 0xbb, 0xa2, 0x21, 0xf3, 0x5c, 0x7c, 0xde, 0xd2, 0xc4, 0x56, 0xad, 0x55, 0x97, 0x55, + 0x83, 0xcf, 0xa1, 0xf3, 0xc0, 0x37, 0x45, 0x5d, 0xbf, 0xdf, 0xd0, 0x6a, 0xa6, 0xd4, 0xd0, 0x34, + 0x59, 0x32, 0xf8, 0x3c, 0xba, 0x00, 0x28, 0xa3, 0x2a, 0x6a, 0x4a, 0x9f, 0x11, 0xae, 0x40, 0x69, + 0x1c, 0x60, 0x12, 0xf8, 0x1e, 0xc1, 0xc2, 0xaf, 0xf2, 0x00, 0x7d, 0x32, 0xba, 0x38, 0x14, 0xdf, + 0xfc, 0x33, 0x31, 0x9f, 0x44, 0xeb, 0x63, 0x28, 0xe0, 0x93, 0x7e, 0x9e, 0xd7, 0x26, 0x0a, 0x94, + 0x1c, 0x6b, 0x68, 0x4c, 0x11, 0x7d, 0x02, 0x8b, 0xa1, 0x43, 0x8e, 0x4c, 0xcb, 0xb3, 0xdc, 0x1e, + 0x71, 0xc8, 0x4a, 0x9e, 0x5a, 0x5a, 0x9f, 0xc8, 0x92, 0xe6, 0x90, 0x23, 0x31, 0x51, 0x64, 0xb0, + 0x16, 0xc2, 0x01, 0x12, 0x6a, 0x03, 0x1f, 0xf9, 0x47, 0xd8, 0x33, 0x83, 0xd0, 0x0f, 0x70, 0x18, + 0x39, 0x98, 0xac, 0xcc, 0x50, 0xfb, 0xef, 0x4e, 0x64, 0xdf, 0x88, 0x95, 0x9b, 0x99, 0x2e, 0x73, + 0xb1, 0x1c, 0x0d, 0x53, 0x37, 0xcd, 0xe7, 0xe2, 0xa3, 0x29, 0x8b, 0x0d, 0xbd, 0x13, 0xb0, 0x67, + 0x43, 0x2a, 0x4f, 0x92, 0x5f, 0x4f, 0x2b, 0xfd, 0x72, 0x27, 0x95, 0x27, 0xfd, 0xc3, 0x53, 0xe1, + 0x0b, 0x0e, 0x0a, 0x34, 0x68, 0xe8, 0x12, 0x14, 0xa8, 0xf7, 0x7e, 0x26, 0x38, 0x8d, 0x51, 0xd0, + 0x35, 0x98, 0x23, 0x4e, 0x84, 0xcd, 0x23, 0xdc, 0xa3, 0xd9, 0x48, 0xb8, 0xe7, 0x62, 0xe2, 0x0e, + 0xee, 0x21, 0x01, 0xe0, 0x98, 0xe0, 0xd0, 0xb4, 0x3a, 0x71, 0xbe, 0xf2, 0x7d, 0x89, 0x62, 0x4c, + 0x16, 0x3b, 0x14, 0x15, 0x2c, 0x53, 0x19, 0x27, 0x30, 0xad, 0x76, 0xfc, 0xf0, 0x59, 0xb8, 0x12, + 0xc1, 0xc5, 0x98, 0xa7, 0x04, 0x22, 0xe3, 0xa0, 0x5b, 0xb0, 0x8c, 0x1f, 0x07, 0xd8, 0x8e, 0x70, + 0xdb, 0xb4, 0x6c, 0xfa, 0x5c, 0x0a, 0x7d, 0xe1, 0xa5, 0x94, 0x27, 0x52, 0x96, 0xf0, 0x45, 0x0e, + 0x16, 0x06, 0xd3, 0x85, 0xce, 0x43, 0x81, 0xd8, 0x7e, 0xc8, 0x8a, 0x2a, 0xa7, 0xb1, 0x03, 0xfa, + 0x09, 0x9c, 0x0b, 0xb1, 0x45, 0x7c, 0x8f, 0xac, 0xe4, 0x56, 0xf3, 0x37, 0x97, 0x36, 0xb6, 0xa6, + 0x2e, 0x84, 0xb2, 0xe4, 0x5a, 0x84, 0x38, 0x07, 0x8e, 0x4d, 0xdf, 0x94, 0x46, 0xcd, 0x69, 0xa9, + 0x59, 0xe1, 0xaf, 0x1c, 0x9c, 0x1f, 0x27, 0x81, 0xbe, 0x0b, 0xd7, 0xa5, 0xba, 0xa8, 0xeb, 0xca, + 0x96, 0x22, 0xb1, 0xf7, 0xa7, 0xc9, 0xa2, 0x3e, 0xee, 0x19, 0x8a, 0x2d, 0xa3, 0xb1, 0x4b, 0x45, + 0x78, 0x2e, 0x7e, 0xb2, 0x2d, 0x55, 0x7e, 0xd0, 0x94, 0x25, 0x43, 0xae, 0x99, 0xb2, 0xba, 0xa7, + 0x68, 0x0d, 0x75, 0x37, 0x7b, 0x92, 0x46, 0xa3, 0x61, 0xee, 0xb6, 0xa4, 0x7b, 0xa6, 0xa1, 0x89, + 0x5b, 0x5b, 0x8a, 0xc4, 0xe7, 0xd1, 0x55, 0xb8, 0x34, 0xa0, 0xd1, 0xd2, 0xc5, 0x6d, 0xd9, 0x6c, + 0x8a, 0x86, 0x21, 0x6b, 0xaa, 0xce, 0xcf, 0xa0, 0x15, 0x38, 0x5f, 0x6f, 0xdc, 0x37, 0xa5, 0x86, + 0xba, 0xa5, 0xd4, 0x64, 0x55, 0x92, 0x4d, 0x5d, 0x6a, 0x68, 0x32, 0x5f, 0x10, 0x7e, 0x99, 0x87, + 0xe5, 0x91, 0x92, 0x8c, 0xc3, 0x78, 0x62, 0xb9, 0x4e, 0x9b, 0x86, 0x71, 0x4e, 0x63, 0x07, 0xe4, + 0xc0, 0x92, 0xe3, 0xd1, 0x9f, 0x26, 0xbb, 0x77, 0xd2, 0xc9, 0xaa, 0x67, 0x29, 0xfb, 0xb2, 0xc2, + 0x4c, 0x25, 0x91, 0x5c, 0x74, 0x06, 0x8f, 0xe8, 0x3d, 0x98, 0xb7, 0xe9, 0x5c, 0x31, 0xe3, 0x91, + 0x93, 0x3c, 0xdf, 0x52, 0xea, 0x27, 0x9d, 0x47, 0x65, 0x23, 0x9d, 0x47, 0x1a, 0x30, 0xf1, 0x98, + 0x80, 0x4a, 0x30, 0x77, 0xe8, 0x93, 0x88, 0x36, 0x17, 0x5a, 0x69, 0x5a, 0x76, 0x46, 0x17, 0x60, + 0x76, 0xb0, 0xac, 0xb4, 0xe4, 0x24, 0xfc, 0x1c, 0x16, 0x87, 0x00, 0xa1, 0x6b, 0x50, 0x52, 0xd4, + 0x3d, 0xb1, 0xae, 0xd4, 0xc6, 0x67, 0x8c, 0x66, 0x68, 0x47, 0x6d, 0xdc, 0x57, 0xcd, 0x61, 0x39, + 0x9e, 0x43, 0x8b, 0x50, 0xdc, 0x15, 0xeb, 0x5b, 0x0d, 0x6d, 0x57, 0xae, 0xf1, 0x39, 0x34, 0x0f, + 0xe7, 0xe4, 0x07, 0x4d, 0x45, 0x93, 0x6b, 0x7c, 0x1e, 0xcd, 0xc1, 0x4c, 0xad, 0xd5, 0x94, 0xf9, + 0x99, 0x98, 0xbc, 0xab, 0xe8, 0xba, 0xa2, 0x6e, 0xf3, 0x05, 0xe1, 0x8f, 0x1c, 0xf0, 0x6c, 0x92, + 0xee, 0xe0, 0xde, 0x37, 0x32, 0x42, 0x3f, 0x82, 0x7c, 0xfa, 0x8a, 0xe7, 0x37, 0x6e, 0x4e, 0x94, + 0xb2, 0x1d, 0xdc, 0x63, 0xb3, 0x25, 0xd6, 0x14, 0xfe, 0xcc, 0xc1, 0x72, 0xdd, 0x21, 0xd1, 0x0e, + 0xee, 0x91, 0x6f, 0x04, 0xe1, 0x2a, 0x14, 0x03, 0xab, 0x83, 0x4d, 0xe2, 0x7c, 0x8a, 0x29, 0xce, + 0x02, 0x7b, 0xf5, 0x73, 0x31, 0x55, 0x77, 0x3e, 0xc5, 0x71, 0xbb, 0xa1, 0x12, 0xac, 0x5d, 0x0d, + 0xb6, 0x9b, 0x98, 0x4c, 0x2b, 0x4c, 0x78, 0x0c, 0x7c, 0x1f, 0x25, 0x9b, 0x3c, 0xe8, 0x7d, 0x98, + 0x39, 0xc2, 0x3d, 0xb2, 0xc2, 0xad, 0xe6, 0xa7, 0xb9, 0xbc, 0x46, 0xb5, 0xd0, 0x9b, 0xb0, 0xec, + 0xe1, 0xc7, 0x91, 0x39, 0xe0, 0x9a, 0xf6, 0x42, 0x6d, 0x31, 0x26, 0x37, 0x33, 0xcf, 0x3a, 0x2c, + 0x6e, 0xe3, 0x68, 0x20, 0x7f, 0xd5, 0xa1, 0x09, 0x57, 0xa6, 0xb1, 0xb9, 0x09, 0x6f, 0x4e, 0xd0, + 0xd4, 0xa9, 0xf3, 0x58, 0x57, 0xf8, 0x2d, 0x07, 0x7c, 0x2b, 0x68, 0x0f, 0x17, 0x46, 0x92, 0x4b, + 0xee, 0xac, 0xb9, 0x44, 0x1f, 0xc3, 0xfc, 0x31, 0x35, 0x4a, 0xd7, 0xbd, 0xa4, 0x28, 0x5e, 0x7c, + 0x5f, 0x5b, 0xf1, 0x46, 0xb8, 0x6b, 0x91, 0x23, 0x16, 0x65, 0x60, 0x3a, 0x31, 0x41, 0xd8, 0x03, + 0xbe, 0x86, 0x5d, 0x3c, 0x04, 0xeb, 0xff, 0x71, 0xdf, 0xcf, 0x0a, 0x90, 0x8f, 0x27, 0x0b, 0x1a, + 0xb4, 0x95, 0x2c, 0x06, 0xd7, 0x61, 0xa1, 0xed, 0x90, 0xc0, 0xb5, 0x7a, 0x26, 0xe5, 0xb1, 0x2c, + 0xcc, 0x27, 0x34, 0x35, 0x16, 0x79, 0x00, 0x0b, 0xa7, 0x78, 0xdf, 0x24, 0x38, 0x8a, 0x1c, 0xaf, + 0x93, 0x0e, 0xfe, 0x3b, 0x13, 0x85, 0xe8, 0x3e, 0xde, 0xdf, 0xc1, 0x3d, 0x3d, 0x51, 0xbd, 0xf7, + 0x9a, 0x36, 0x7f, 0x8a, 0xf7, 0xd3, 0x63, 0x3c, 0xf6, 0x2d, 0xaf, 0x1d, 0xfa, 0x4e, 0xbb, 0x6f, + 0x9d, 0x8d, 0xfd, 0xef, 0x4d, 0xb8, 0xc9, 0x51, 0xe5, 0x61, 0x0f, 0xcb, 0x89, 0xc9, 0xcc, 0xcb, + 0x03, 0x58, 0x70, 0x7c, 0xd2, 0xf7, 0x50, 0x98, 0x02, 0xbf, 0xd2, 0xd0, 0x47, 0xf0, 0x3b, 0x3e, + 0xc9, 0x2c, 0xff, 0x08, 0x66, 0x5d, 0x6b, 0x1f, 0xbb, 0x64, 0x65, 0x96, 0xbe, 0x82, 0x77, 0x27, + 0x2d, 0x9b, 0x72, 0x9d, 0xaa, 0xc9, 0x5e, 0x14, 0xf6, 0x58, 0x1d, 0x24, 0x86, 0x46, 0xbb, 0xf4, + 0xb9, 0x69, 0xba, 0x74, 0xe9, 0x07, 0x30, 0x3f, 0x60, 0x18, 0xf1, 0xfd, 0x92, 0x2e, 0xb2, 0x1a, + 0x65, 0x43, 0xe8, 0x38, 0x4d, 0x33, 0x3b, 0x6c, 0xe6, 0xbe, 0xcf, 0x6d, 0xfe, 0xf0, 0xb9, 0xb8, + 0x3d, 0x69, 0x59, 0xa1, 0xab, 0x63, 0x96, 0xa2, 0xf8, 0x59, 0x57, 0x9e, 0x1c, 0xe1, 0xde, 0xd3, + 0xea, 0x1b, 0xf0, 0x7a, 0xe0, 0x5a, 0xd1, 0x81, 0x1f, 0x76, 0xb3, 0xa8, 0x0b, 0xff, 0x9a, 0x81, + 0xa5, 0xe1, 0x6a, 0x40, 0x6b, 0xf0, 0xba, 0xe5, 0xba, 0xfe, 0xa9, 0x69, 0xb9, 0xae, 0xd9, 0xf6, + 0xbb, 0x96, 0xe3, 0xb1, 0xea, 0x9a, 0xd3, 0x96, 0x29, 0x43, 0x74, 0xdd, 0x1a, 0x23, 0xa3, 0xb7, + 0x80, 0x91, 0x70, 0x3b, 0x93, 0x8c, 0x3b, 0x4f, 0x51, 0x5b, 0x4a, 0xc8, 0xa9, 0x60, 0x25, 0x33, + 0xda, 0x0d, 0xcc, 0x28, 0xb4, 0x0e, 0x0e, 0x1c, 0x9b, 0x5e, 0x77, 0x8e, 0xbd, 0xd5, 0xc4, 0x72, + 0x37, 0x30, 0x18, 0x0f, 0x11, 0xe0, 0x1d, 0x2f, 0xc2, 0x9d, 0x90, 0xee, 0x18, 0x66, 0xd4, 0x0b, + 0xd8, 0x88, 0x5b, 0xda, 0x90, 0xce, 0x50, 0xe2, 0x65, 0xa5, 0x6f, 0xcb, 0xe8, 0x05, 0x38, 0x71, + 0xea, 0x0c, 0x53, 0xd1, 0xe7, 0x1c, 0x5c, 0xb5, 0x0f, 0x2d, 0xd7, 0xc5, 0x5e, 0xdc, 0x9d, 0xb1, + 0x7d, 0x1c, 0x3a, 0x51, 0xcf, 0x0c, 0x42, 0x7c, 0x80, 0x43, 0xec, 0xd9, 0x98, 0x56, 0xe9, 0xd2, + 0x46, 0xe3, 0x2c, 0x10, 0xa4, 0xd4, 0xb0, 0x9e, 0xd8, 0x6d, 0x66, 0x66, 0xb5, 0xcb, 0xf6, 0xcb, + 0x99, 0xc2, 0x27, 0xb0, 0x3c, 0x02, 0x1f, 0xad, 0xc2, 0x15, 0x45, 0x35, 0xe4, 0x6d, 0x8d, 0x6d, + 0x5a, 0xc6, 0xc3, 0xa6, 0x3c, 0x32, 0xb5, 0x8b, 0x50, 0x60, 0x7b, 0x0f, 0x87, 0x16, 0x60, 0x4e, + 0xba, 0x27, 0x4b, 0x3b, 0xd5, 0xc6, 0x03, 0x3e, 0x17, 0x8f, 0x6c, 0x45, 0xdd, 0x53, 0x74, 0xa5, + 0x5a, 0x97, 0xf9, 0xbc, 0x70, 0x02, 0x97, 0x5f, 0x01, 0x0c, 0xdd, 0x86, 0xb7, 0xa5, 0x7b, 0x62, + 0xbd, 0x2e, 0xab, 0xdb, 0xb2, 0xa9, 0xcb, 0x52, 0x4b, 0x53, 0x8c, 0x87, 0x66, 0x53, 0x93, 0xb7, + 0x64, 0x8d, 0x2e, 0x57, 0xc3, 0x5e, 0x17, 0xa1, 0xd8, 0xd2, 0xc5, 0xaa, 0x52, 0x57, 0x8c, 0x87, + 0x3c, 0x17, 0x0f, 0xfe, 0xaa, 0x58, 0x17, 0x55, 0x49, 0xe6, 0x73, 0x31, 0x8c, 0xd4, 0x00, 0x9f, + 0x17, 0xee, 0x01, 0x7a, 0xb1, 0x4f, 0xa0, 0x0d, 0xf8, 0x56, 0x5a, 0x4f, 0x81, 0x65, 0x1f, 0xc5, + 0x63, 0x28, 0xee, 0x7f, 0x69, 0x55, 0xbd, 0x91, 0x30, 0x9b, 0x8c, 0x17, 0xf7, 0x41, 0x22, 0x7c, + 0x08, 0x4b, 0xc3, 0xfd, 0x00, 0xdd, 0x02, 0x94, 0x5a, 0xd9, 0x3f, 0xf6, 0xda, 0x2e, 0x36, 0x9d, + 0x76, 0x6a, 0x82, 0x4f, 0x38, 0x55, 0xca, 0x50, 0xda, 0x64, 0xe3, 0x37, 0x00, 0x25, 0x2d, 0xcd, + 0xa0, 0x9c, 0x65, 0x50, 0xc7, 0xe1, 0x89, 0x63, 0x63, 0xf4, 0x55, 0xb6, 0xaf, 0x0c, 0x7c, 0x7f, + 0xbc, 0x3f, 0x51, 0x01, 0xbc, 0xe4, 0x0f, 0x83, 0xd2, 0xb4, 0xdf, 0xf3, 0xc2, 0xce, 0xd7, 0xe2, + 0xeb, 0x6c, 0x75, 0xb8, 0xd5, 0xff, 0xb0, 0xf9, 0xec, 0x1f, 0xff, 0xfc, 0x3c, 0xb7, 0x2e, 0xdc, + 0xa8, 0x9c, 0xac, 0x57, 0x9e, 0x30, 0xee, 0x07, 0x59, 0x07, 0x58, 0x1b, 0xfa, 0x1e, 0xda, 0x1c, + 0xf8, 0x2f, 0x00, 0x3d, 0xe3, 0xe2, 0xd0, 0x8f, 0x7e, 0xbb, 0xa2, 0x0f, 0xff, 0xb7, 0xaf, 0xf4, + 0xd2, 0x47, 0x67, 0xd6, 0x4f, 0x3e, 0x9a, 0x95, 0xaf, 0xc5, 0xe5, 0x38, 0xd9, 0xb7, 0xfa, 0x9f, + 0xf7, 0xc9, 0x15, 0x6f, 0xd1, 0x2b, 0xc6, 0xbc, 0x81, 0x0b, 0x0e, 0x7d, 0xef, 0xad, 0x3d, 0xdd, + 0x4c, 0xb4, 0xf0, 0x26, 0xb7, 0x86, 0x7e, 0xc7, 0x41, 0x31, 0xdb, 0x31, 0xd1, 0xdd, 0x29, 0x92, + 0xd5, 0x9f, 0xf1, 0xa5, 0x89, 0xb7, 0x0d, 0xe1, 0x6d, 0x8a, 0xf3, 0x86, 0x70, 0xe5, 0x65, 0xa9, + 0x88, 0xbb, 0xf0, 0x26, 0x6d, 0xf5, 0x7f, 0xe0, 0x60, 0x2e, 0x5d, 0xda, 0xd0, 0x64, 0x83, 0x69, + 0x64, 0x13, 0x2d, 0xdd, 0x9d, 0x52, 0x2b, 0x09, 0xef, 0x77, 0x28, 0xc8, 0x6b, 0xe8, 0x95, 0x20, + 0xd1, 0xaf, 0x39, 0x98, 0x65, 0xab, 0x1d, 0xda, 0x98, 0xc8, 0xcf, 0xd0, 0x1e, 0x38, 0x45, 0xcc, + 0x86, 0xe1, 0x8c, 0xe6, 0x96, 0x8e, 0xad, 0xb5, 0xa7, 0xe8, 0xf7, 0x1c, 0x14, 0xb3, 0x9d, 0x70, + 0xc2, 0x44, 0x8e, 0xee, 0x90, 0x53, 0x80, 0xba, 0x4d, 0x41, 0xbd, 0xb5, 0xb1, 0x4a, 0x41, 0x1d, + 0xe1, 0x5e, 0xf9, 0x25, 0xc0, 0x58, 0x32, 0x7f, 0xc1, 0x41, 0x31, 0x5b, 0x0d, 0x27, 0x44, 0x37, + 0xba, 0x4a, 0x96, 0x2e, 0xbc, 0xb0, 0x45, 0xc8, 0xdd, 0x20, 0xca, 0x02, 0xb4, 0xf6, 0xca, 0x00, + 0x95, 0xf6, 0xbe, 0x14, 0x85, 0xff, 0xbe, 0x1e, 0xfc, 0x5d, 0x2c, 0x1f, 0x46, 0x51, 0x40, 0x36, + 0x2b, 0x95, 0xd3, 0xd3, 0xd3, 0xd1, 0xdd, 0xc1, 0x3a, 0x8e, 0x0e, 0xd9, 0xff, 0xc1, 0xb7, 0xd3, + 0x05, 0xa1, 0xfa, 0x9c, 0x83, 0xeb, 0xb6, 0xdf, 0x4d, 0xb1, 0x8d, 0xbf, 0x4c, 0x75, 0x65, 0x4c, + 0xdf, 0x6c, 0xc6, 0xd7, 0x68, 0x72, 0x3f, 0xde, 0x4b, 0x54, 0x3b, 0xbe, 0x6b, 0x79, 0x9d, 0xb2, + 0x1f, 0x76, 0x2a, 0x1d, 0xec, 0xd1, 0x4b, 0x56, 0xfa, 0x00, 0x5e, 0xf9, 0x3f, 0xf4, 0x7b, 0x63, + 0xc8, 0x7f, 0xca, 0xcd, 0x6c, 0x4b, 0x9a, 0xfc, 0x97, 0xdc, 0x8d, 0x6d, 0x66, 0x5f, 0xa2, 0xd1, + 0x1e, 0x03, 0xa4, 0xbc, 0xb7, 0xfe, 0x65, 0x2a, 0xf5, 0x88, 0x4a, 0x3d, 0x1a, 0x23, 0xf5, 0x68, + 0x6f, 0x7d, 0x7f, 0x96, 0xa2, 0xba, 0xf3, 0x9f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x39, 0x08, 0xf0, + 0x01, 0x1c, 0x17, 0x00, 0x00, +} + +// Reference imports to suppress errors if they are not otherwise used. +var _ context.Context +var _ grpc.ClientConnInterface + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the grpc package it is being compiled against. +const _ = grpc.SupportPackageIsVersion6 + +// RecaptchaEnterpriseServiceClient is the client API for RecaptchaEnterpriseService service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. +type RecaptchaEnterpriseServiceClient interface { + // Creates an Assessment of the likelihood an event is legitimate. + CreateAssessment(ctx context.Context, in *CreateAssessmentRequest, opts ...grpc.CallOption) (*Assessment, error) + // Annotates a previously created Assessment to provide additional information + // on whether the event turned out to be authentic or fradulent. + AnnotateAssessment(ctx context.Context, in *AnnotateAssessmentRequest, opts ...grpc.CallOption) (*AnnotateAssessmentResponse, error) + // Creates a new reCAPTCHA Enterprise key. + CreateKey(ctx context.Context, in *CreateKeyRequest, opts ...grpc.CallOption) (*Key, error) + // Returns the list of all keys that belong to a project. + ListKeys(ctx context.Context, in *ListKeysRequest, opts ...grpc.CallOption) (*ListKeysResponse, error) + // Returns the specified key. + GetKey(ctx context.Context, in *GetKeyRequest, opts ...grpc.CallOption) (*Key, error) + // Updates the specified key. + UpdateKey(ctx context.Context, in *UpdateKeyRequest, opts ...grpc.CallOption) (*Key, error) + // Deletes the specified key. + DeleteKey(ctx context.Context, in *DeleteKeyRequest, opts ...grpc.CallOption) (*empty.Empty, error) +} + +type recaptchaEnterpriseServiceClient struct { + cc grpc.ClientConnInterface +} + +func NewRecaptchaEnterpriseServiceClient(cc grpc.ClientConnInterface) RecaptchaEnterpriseServiceClient { + return &recaptchaEnterpriseServiceClient{cc} +} + +func (c *recaptchaEnterpriseServiceClient) CreateAssessment(ctx context.Context, in *CreateAssessmentRequest, opts ...grpc.CallOption) (*Assessment, error) { + out := new(Assessment) + err := c.cc.Invoke(ctx, "/google.cloud.recaptchaenterprise.v1.RecaptchaEnterpriseService/CreateAssessment", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *recaptchaEnterpriseServiceClient) AnnotateAssessment(ctx context.Context, in *AnnotateAssessmentRequest, opts ...grpc.CallOption) (*AnnotateAssessmentResponse, error) { + out := new(AnnotateAssessmentResponse) + err := c.cc.Invoke(ctx, "/google.cloud.recaptchaenterprise.v1.RecaptchaEnterpriseService/AnnotateAssessment", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *recaptchaEnterpriseServiceClient) CreateKey(ctx context.Context, in *CreateKeyRequest, opts ...grpc.CallOption) (*Key, error) { + out := new(Key) + err := c.cc.Invoke(ctx, "/google.cloud.recaptchaenterprise.v1.RecaptchaEnterpriseService/CreateKey", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *recaptchaEnterpriseServiceClient) ListKeys(ctx context.Context, in *ListKeysRequest, opts ...grpc.CallOption) (*ListKeysResponse, error) { + out := new(ListKeysResponse) + err := c.cc.Invoke(ctx, "/google.cloud.recaptchaenterprise.v1.RecaptchaEnterpriseService/ListKeys", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *recaptchaEnterpriseServiceClient) GetKey(ctx context.Context, in *GetKeyRequest, opts ...grpc.CallOption) (*Key, error) { + out := new(Key) + err := c.cc.Invoke(ctx, "/google.cloud.recaptchaenterprise.v1.RecaptchaEnterpriseService/GetKey", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *recaptchaEnterpriseServiceClient) UpdateKey(ctx context.Context, in *UpdateKeyRequest, opts ...grpc.CallOption) (*Key, error) { + out := new(Key) + err := c.cc.Invoke(ctx, "/google.cloud.recaptchaenterprise.v1.RecaptchaEnterpriseService/UpdateKey", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *recaptchaEnterpriseServiceClient) DeleteKey(ctx context.Context, in *DeleteKeyRequest, opts ...grpc.CallOption) (*empty.Empty, error) { + out := new(empty.Empty) + err := c.cc.Invoke(ctx, "/google.cloud.recaptchaenterprise.v1.RecaptchaEnterpriseService/DeleteKey", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +// RecaptchaEnterpriseServiceServer is the server API for RecaptchaEnterpriseService service. +type RecaptchaEnterpriseServiceServer interface { + // Creates an Assessment of the likelihood an event is legitimate. + CreateAssessment(context.Context, *CreateAssessmentRequest) (*Assessment, error) + // Annotates a previously created Assessment to provide additional information + // on whether the event turned out to be authentic or fradulent. + AnnotateAssessment(context.Context, *AnnotateAssessmentRequest) (*AnnotateAssessmentResponse, error) + // Creates a new reCAPTCHA Enterprise key. + CreateKey(context.Context, *CreateKeyRequest) (*Key, error) + // Returns the list of all keys that belong to a project. + ListKeys(context.Context, *ListKeysRequest) (*ListKeysResponse, error) + // Returns the specified key. + GetKey(context.Context, *GetKeyRequest) (*Key, error) + // Updates the specified key. + UpdateKey(context.Context, *UpdateKeyRequest) (*Key, error) + // Deletes the specified key. + DeleteKey(context.Context, *DeleteKeyRequest) (*empty.Empty, error) +} + +// UnimplementedRecaptchaEnterpriseServiceServer can be embedded to have forward compatible implementations. +type UnimplementedRecaptchaEnterpriseServiceServer struct { +} + +func (*UnimplementedRecaptchaEnterpriseServiceServer) CreateAssessment(ctx context.Context, req *CreateAssessmentRequest) (*Assessment, error) { + return nil, status.Errorf(codes.Unimplemented, "method CreateAssessment not implemented") +} +func (*UnimplementedRecaptchaEnterpriseServiceServer) AnnotateAssessment(ctx context.Context, req *AnnotateAssessmentRequest) (*AnnotateAssessmentResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method AnnotateAssessment not implemented") +} +func (*UnimplementedRecaptchaEnterpriseServiceServer) CreateKey(ctx context.Context, req *CreateKeyRequest) (*Key, error) { + return nil, status.Errorf(codes.Unimplemented, "method CreateKey not implemented") +} +func (*UnimplementedRecaptchaEnterpriseServiceServer) ListKeys(ctx context.Context, req *ListKeysRequest) (*ListKeysResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ListKeys not implemented") +} +func (*UnimplementedRecaptchaEnterpriseServiceServer) GetKey(ctx context.Context, req *GetKeyRequest) (*Key, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetKey not implemented") +} +func (*UnimplementedRecaptchaEnterpriseServiceServer) UpdateKey(ctx context.Context, req *UpdateKeyRequest) (*Key, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpdateKey not implemented") +} +func (*UnimplementedRecaptchaEnterpriseServiceServer) DeleteKey(ctx context.Context, req *DeleteKeyRequest) (*empty.Empty, error) { + return nil, status.Errorf(codes.Unimplemented, "method DeleteKey not implemented") +} + +func RegisterRecaptchaEnterpriseServiceServer(s *grpc.Server, srv RecaptchaEnterpriseServiceServer) { + s.RegisterService(&_RecaptchaEnterpriseService_serviceDesc, srv) +} + +func _RecaptchaEnterpriseService_CreateAssessment_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(CreateAssessmentRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(RecaptchaEnterpriseServiceServer).CreateAssessment(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.recaptchaenterprise.v1.RecaptchaEnterpriseService/CreateAssessment", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(RecaptchaEnterpriseServiceServer).CreateAssessment(ctx, req.(*CreateAssessmentRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _RecaptchaEnterpriseService_AnnotateAssessment_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(AnnotateAssessmentRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(RecaptchaEnterpriseServiceServer).AnnotateAssessment(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.recaptchaenterprise.v1.RecaptchaEnterpriseService/AnnotateAssessment", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(RecaptchaEnterpriseServiceServer).AnnotateAssessment(ctx, req.(*AnnotateAssessmentRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _RecaptchaEnterpriseService_CreateKey_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(CreateKeyRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(RecaptchaEnterpriseServiceServer).CreateKey(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.recaptchaenterprise.v1.RecaptchaEnterpriseService/CreateKey", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(RecaptchaEnterpriseServiceServer).CreateKey(ctx, req.(*CreateKeyRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _RecaptchaEnterpriseService_ListKeys_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ListKeysRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(RecaptchaEnterpriseServiceServer).ListKeys(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.recaptchaenterprise.v1.RecaptchaEnterpriseService/ListKeys", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(RecaptchaEnterpriseServiceServer).ListKeys(ctx, req.(*ListKeysRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _RecaptchaEnterpriseService_GetKey_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetKeyRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(RecaptchaEnterpriseServiceServer).GetKey(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.recaptchaenterprise.v1.RecaptchaEnterpriseService/GetKey", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(RecaptchaEnterpriseServiceServer).GetKey(ctx, req.(*GetKeyRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _RecaptchaEnterpriseService_UpdateKey_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(UpdateKeyRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(RecaptchaEnterpriseServiceServer).UpdateKey(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.recaptchaenterprise.v1.RecaptchaEnterpriseService/UpdateKey", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(RecaptchaEnterpriseServiceServer).UpdateKey(ctx, req.(*UpdateKeyRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _RecaptchaEnterpriseService_DeleteKey_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DeleteKeyRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(RecaptchaEnterpriseServiceServer).DeleteKey(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.recaptchaenterprise.v1.RecaptchaEnterpriseService/DeleteKey", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(RecaptchaEnterpriseServiceServer).DeleteKey(ctx, req.(*DeleteKeyRequest)) + } + return interceptor(ctx, in, info, handler) +} + +var _RecaptchaEnterpriseService_serviceDesc = grpc.ServiceDesc{ + ServiceName: "google.cloud.recaptchaenterprise.v1.RecaptchaEnterpriseService", + HandlerType: (*RecaptchaEnterpriseServiceServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "CreateAssessment", + Handler: _RecaptchaEnterpriseService_CreateAssessment_Handler, + }, + { + MethodName: "AnnotateAssessment", + Handler: _RecaptchaEnterpriseService_AnnotateAssessment_Handler, + }, + { + MethodName: "CreateKey", + Handler: _RecaptchaEnterpriseService_CreateKey_Handler, + }, + { + MethodName: "ListKeys", + Handler: _RecaptchaEnterpriseService_ListKeys_Handler, + }, + { + MethodName: "GetKey", + Handler: _RecaptchaEnterpriseService_GetKey_Handler, + }, + { + MethodName: "UpdateKey", + Handler: _RecaptchaEnterpriseService_UpdateKey_Handler, + }, + { + MethodName: "DeleteKey", + Handler: _RecaptchaEnterpriseService_DeleteKey_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "google/cloud/recaptchaenterprise/v1/recaptchaenterprise.proto", +} diff --git a/googleapis/privacy/dlp/v2/dlp.pb.go b/googleapis/privacy/dlp/v2/dlp.pb.go index b1f8b2f599..ed986b6972 100644 --- a/googleapis/privacy/dlp/v2/dlp.pb.go +++ b/googleapis/privacy/dlp/v2/dlp.pb.go @@ -328,6 +328,7 @@ func (ByteContentItem_BytesType) EnumDescriptor() ([]byte, []int) { } // Predefined schemas for storing findings. +// Only for use with external storage. type OutputStorageConfig_OutputSchema int32 const ( @@ -369,7 +370,7 @@ func (x OutputStorageConfig_OutputSchema) String() string { } func (OutputStorageConfig_OutputSchema) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_6872a91dcb80f8dc, []int{27, 0} + return fileDescriptor_6872a91dcb80f8dc, []int{28, 0} } // Components that make up time. @@ -417,7 +418,7 @@ func (x TimePartConfig_TimePart) String() string { } func (TimePartConfig_TimePart) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_6872a91dcb80f8dc, []int{44, 0} + return fileDescriptor_6872a91dcb80f8dc, []int{47, 0} } // Convenience enum for indication common characters to not transform. @@ -461,7 +462,7 @@ func (x CharsToIgnore_CommonCharsToIgnore) String() string { } func (CharsToIgnore_CommonCharsToIgnore) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_6872a91dcb80f8dc, []int{50, 0} + return fileDescriptor_6872a91dcb80f8dc, []int{53, 0} } // These are commonly used subsets of the alphabet that the FFX mode @@ -503,7 +504,7 @@ func (x CryptoReplaceFfxFpeConfig_FfxCommonNativeAlphabet) String() string { } func (CryptoReplaceFfxFpeConfig_FfxCommonNativeAlphabet) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_6872a91dcb80f8dc, []int{54, 0} + return fileDescriptor_6872a91dcb80f8dc, []int{57, 0} } // Logical operators for conditional checks. @@ -531,7 +532,7 @@ func (x RecordCondition_Expressions_LogicalOperator) String() string { } func (RecordCondition_Expressions_LogicalOperator) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_6872a91dcb80f8dc, []int{64, 2, 0} + return fileDescriptor_6872a91dcb80f8dc, []int{67, 2, 0} } // Possible outcomes of transformations. @@ -563,7 +564,7 @@ func (x TransformationSummary_TransformationResultCode) String() string { } func (TransformationSummary_TransformationResultCode) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_6872a91dcb80f8dc, []int{66, 0} + return fileDescriptor_6872a91dcb80f8dc, []int{69, 0} } // Whether the trigger is currently active. If PAUSED or CANCELLED, no jobs @@ -602,10 +603,10 @@ func (x JobTrigger_Status) String() string { } func (JobTrigger_Status) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_6872a91dcb80f8dc, []int{71, 0} + return fileDescriptor_6872a91dcb80f8dc, []int{75, 0} } -// Possible states of a job. +// Possible states of a job. New items may be added. type DlpJob_JobState int32 const ( @@ -613,7 +614,8 @@ const ( DlpJob_JOB_STATE_UNSPECIFIED DlpJob_JobState = 0 // The job has not yet started. DlpJob_PENDING DlpJob_JobState = 1 - // The job is currently running. + // The job is currently running. Once a job has finished it will transition + // to FAILED or DONE. DlpJob_RUNNING DlpJob_JobState = 2 // The job is no longer running. DlpJob_DONE DlpJob_JobState = 3 @@ -621,6 +623,11 @@ const ( DlpJob_CANCELED DlpJob_JobState = 4 // The job had an error and did not complete. DlpJob_FAILED DlpJob_JobState = 5 + // The job is currently accepting findings via hybridInspect. + // A hybrid job in ACTIVE state may continue to have findings added to it + // through calling of hybridInspect. After the job has finished no more + // calls to hybridInspect may be made. ACTIVE jobs can transition to DONE. + DlpJob_ACTIVE DlpJob_JobState = 6 ) var DlpJob_JobState_name = map[int32]string{ @@ -630,6 +637,7 @@ var DlpJob_JobState_name = map[int32]string{ 3: "DONE", 4: "CANCELED", 5: "FAILED", + 6: "ACTIVE", } var DlpJob_JobState_value = map[string]int32{ @@ -639,6 +647,7 @@ var DlpJob_JobState_value = map[string]int32{ "DONE": 3, "CANCELED": 4, "FAILED": 5, + "ACTIVE": 6, } func (x DlpJob_JobState) String() string { @@ -646,7 +655,7 @@ func (x DlpJob_JobState) String() string { } func (DlpJob_JobState) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_6872a91dcb80f8dc, []int{88, 0} + return fileDescriptor_6872a91dcb80f8dc, []int{92, 0} } // List of exclude infoTypes. @@ -1066,7 +1075,7 @@ func (m *InspectConfig) GetRuleSet() []*InspectionRuleSet { // Configuration to control the number of findings returned. type InspectConfig_FindingLimits struct { // Max number of findings that will be returned for each item scanned. - // When set within `InspectDataSourceRequest`, + // When set within `InspectJobConfig`, // the maximum returned is 2000 regardless if this is set higher. // When set within `InspectContentRequest`, this field is ignored. MaxFindingsPerItem int32 `protobuf:"varint,1,opt,name=max_findings_per_item,json=maxFindingsPerItem,proto3" json:"max_findings_per_item,omitempty"` @@ -1481,6 +1490,10 @@ func (m *InspectResult) GetFindingsTruncated() bool { // Represents a piece of potentially sensitive content. type Finding struct { + // Resource name in format + // projects/{project}/locations/{location}/findings/{finding} + // Populated only when viewing persisted findings. + Name string `protobuf:"bytes,14,opt,name=name,proto3" json:"name,omitempty"` // The content that was found. Even if the content is not textual, it // may be converted to a textual representation here. // Provided if `include_quote` is true and the finding is @@ -1499,10 +1512,39 @@ type Finding struct { // Contains data parsed from quotes. Only populated if include_quote was set // to true and a supported infoType was requested. Currently supported // infoTypes: DATE, DATE_OF_BIRTH and TIME. - QuoteInfo *QuoteInfo `protobuf:"bytes,7,opt,name=quote_info,json=quoteInfo,proto3" json:"quote_info,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + QuoteInfo *QuoteInfo `protobuf:"bytes,7,opt,name=quote_info,json=quoteInfo,proto3" json:"quote_info,omitempty"` + // The job that stored the finding. + ResourceName string `protobuf:"bytes,8,opt,name=resource_name,json=resourceName,proto3" json:"resource_name,omitempty"` + // Job trigger name, if applicable, for this finding. + // (-- api-linter: core::0122::name-suffix=disabled + // aip.dev/not-precedent: AIP-122 discourages _name suffixes for + // resource names, but this has existed as part of the bigquery schema + // before this rule existed. --) + TriggerName string `protobuf:"bytes,9,opt,name=trigger_name,json=triggerName,proto3" json:"trigger_name,omitempty"` + // The labels associated with this `InspectFinding`. + // + // Label keys must be between 1 and 63 characters long and must conform + // to the following regular expression: \[a-z\](\[-a-z0-9\]*\[a-z0-9\])?. + // + // Label values must be between 0 and 63 characters long and must conform + // to the regular expression (\[a-z\](\[-a-z0-9\]*\[a-z0-9\])?)?. + // + // No more than 10 labels can be associated with a given finding. + // + // Example: "environment" : "production" + // Example: "pipeline" : "etl" + Labels map[string]string `protobuf:"bytes,10,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // Time the job started that produced this finding. + JobCreateTime *timestamp.Timestamp `protobuf:"bytes,11,opt,name=job_create_time,json=jobCreateTime,proto3" json:"job_create_time,omitempty"` + // The job that stored the finding. + // (-- api-linter: core::0122::name-suffix=disabled + // aip.dev/not-precedent: AIP-122 discourages _name suffixes for + // resource names, but this has existed as part of the bigquery schema + // before this rule existed. --) + JobName string `protobuf:"bytes,13,opt,name=job_name,json=jobName,proto3" json:"job_name,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } func (m *Finding) Reset() { *m = Finding{} } @@ -1530,6 +1572,13 @@ func (m *Finding) XXX_DiscardUnknown() { var xxx_messageInfo_Finding proto.InternalMessageInfo +func (m *Finding) GetName() string { + if m != nil { + return m.Name + } + return "" +} + func (m *Finding) GetQuote() string { if m != nil { return m.Quote @@ -1572,6 +1621,41 @@ func (m *Finding) GetQuoteInfo() *QuoteInfo { return nil } +func (m *Finding) GetResourceName() string { + if m != nil { + return m.ResourceName + } + return "" +} + +func (m *Finding) GetTriggerName() string { + if m != nil { + return m.TriggerName + } + return "" +} + +func (m *Finding) GetLabels() map[string]string { + if m != nil { + return m.Labels + } + return nil +} + +func (m *Finding) GetJobCreateTime() *timestamp.Timestamp { + if m != nil { + return m.JobCreateTime + } + return nil +} + +func (m *Finding) GetJobName() string { + if m != nil { + return m.JobName + } + return "" +} + // Specifies the location of the finding. type Location struct { // Zero-based byte offsets delimiting the finding. @@ -1586,10 +1670,12 @@ type Location struct { CodepointRange *Range `protobuf:"bytes,2,opt,name=codepoint_range,json=codepointRange,proto3" json:"codepoint_range,omitempty"` // List of nested objects pointing to the precise location of the finding // within the file or record. - ContentLocations []*ContentLocation `protobuf:"bytes,7,rep,name=content_locations,json=contentLocations,proto3" json:"content_locations,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + ContentLocations []*ContentLocation `protobuf:"bytes,7,rep,name=content_locations,json=contentLocations,proto3" json:"content_locations,omitempty"` + // Information about the container where this finding occurred, if available. + Container *Container `protobuf:"bytes,8,opt,name=container,proto3" json:"container,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } func (m *Location) Reset() { *m = Location{} } @@ -1638,7 +1724,15 @@ func (m *Location) GetContentLocations() []*ContentLocation { return nil } -// Findings container location data. +func (m *Location) GetContainer() *Container { + if m != nil { + return m.Container + } + return nil +} + +// Precise location of the finding within a document, record, image, or metadata +// container. type ContentLocation struct { // Name of the container where the finding is located. // The top level name is the source file name or table name. Names of some @@ -1918,6 +2012,120 @@ func (m *TableLocation) GetRowIndex() int64 { return 0 } +// Represents a container that may contain DLP findings. +// Examples of a container include a file, table, or database record. +type Container struct { + // Container type, for example BigQuery or Google Cloud Storage. + Type string `protobuf:"bytes,1,opt,name=type,proto3" json:"type,omitempty"` + // Project where the finding was found. + // Can be different from the project that owns the finding. + ProjectId string `protobuf:"bytes,2,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` + // A string representation of the full container name. + // Examples: + // - BigQuery: 'Project:DataSetId.TableId' + // - Google Cloud Storage: 'gs://Bucket/folders/filename.txt' + FullPath string `protobuf:"bytes,3,opt,name=full_path,json=fullPath,proto3" json:"full_path,omitempty"` + // The root of the container. + // Examples: + // - For BigQuery table `project_id:dataset_id.table_id`, the root is + // `dataset_id` + // - For Google Cloud Storage file `gs://bucket/folder/filename.txt`, the root + // is `gs://bucket` + RootPath string `protobuf:"bytes,4,opt,name=root_path,json=rootPath,proto3" json:"root_path,omitempty"` + // The rest of the path after the root. + // Examples: + // - For BigQuery table `project_id:dataset_id.table_id`, the relative path is + // `table_id` + // - Google Cloud Storage file `gs://bucket/folder/filename.txt`, the relative + // path is `folder/filename.txt` + RelativePath string `protobuf:"bytes,5,opt,name=relative_path,json=relativePath,proto3" json:"relative_path,omitempty"` + // Findings container modification timestamp, if applicable. + // For Google Cloud Storage contains last file modification timestamp. + // For BigQuery table contains last_modified_time property. + // For Datastore - not populated. + UpdateTime *timestamp.Timestamp `protobuf:"bytes,6,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"` + // Findings container version, if available + // ("generation" for Google Cloud Storage). + Version string `protobuf:"bytes,7,opt,name=version,proto3" json:"version,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *Container) Reset() { *m = Container{} } +func (m *Container) String() string { return proto.CompactTextString(m) } +func (*Container) ProtoMessage() {} +func (*Container) Descriptor() ([]byte, []int) { + return fileDescriptor_6872a91dcb80f8dc, []int{15} +} + +func (m *Container) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_Container.Unmarshal(m, b) +} +func (m *Container) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_Container.Marshal(b, m, deterministic) +} +func (m *Container) XXX_Merge(src proto.Message) { + xxx_messageInfo_Container.Merge(m, src) +} +func (m *Container) XXX_Size() int { + return xxx_messageInfo_Container.Size(m) +} +func (m *Container) XXX_DiscardUnknown() { + xxx_messageInfo_Container.DiscardUnknown(m) +} + +var xxx_messageInfo_Container proto.InternalMessageInfo + +func (m *Container) GetType() string { + if m != nil { + return m.Type + } + return "" +} + +func (m *Container) GetProjectId() string { + if m != nil { + return m.ProjectId + } + return "" +} + +func (m *Container) GetFullPath() string { + if m != nil { + return m.FullPath + } + return "" +} + +func (m *Container) GetRootPath() string { + if m != nil { + return m.RootPath + } + return "" +} + +func (m *Container) GetRelativePath() string { + if m != nil { + return m.RelativePath + } + return "" +} + +func (m *Container) GetUpdateTime() *timestamp.Timestamp { + if m != nil { + return m.UpdateTime + } + return nil +} + +func (m *Container) GetVersion() string { + if m != nil { + return m.Version + } + return "" +} + // Generic half-open interval [start, end) type Range struct { // Index of the first character of the range (inclusive). @@ -1933,7 +2141,7 @@ func (m *Range) Reset() { *m = Range{} } func (m *Range) String() string { return proto.CompactTextString(m) } func (*Range) ProtoMessage() {} func (*Range) Descriptor() ([]byte, []int) { - return fileDescriptor_6872a91dcb80f8dc, []int{15} + return fileDescriptor_6872a91dcb80f8dc, []int{16} } func (m *Range) XXX_Unmarshal(b []byte) error { @@ -1981,7 +2189,7 @@ func (m *ImageLocation) Reset() { *m = ImageLocation{} } func (m *ImageLocation) String() string { return proto.CompactTextString(m) } func (*ImageLocation) ProtoMessage() {} func (*ImageLocation) Descriptor() ([]byte, []int) { - return fileDescriptor_6872a91dcb80f8dc, []int{16} + return fileDescriptor_6872a91dcb80f8dc, []int{17} } func (m *ImageLocation) XXX_Unmarshal(b []byte) error { @@ -2028,7 +2236,7 @@ func (m *BoundingBox) Reset() { *m = BoundingBox{} } func (m *BoundingBox) String() string { return proto.CompactTextString(m) } func (*BoundingBox) ProtoMessage() {} func (*BoundingBox) Descriptor() ([]byte, []int) { - return fileDescriptor_6872a91dcb80f8dc, []int{17} + return fileDescriptor_6872a91dcb80f8dc, []int{18} } func (m *BoundingBox) XXX_Unmarshal(b []byte) error { @@ -2103,7 +2311,7 @@ func (m *RedactImageRequest) Reset() { *m = RedactImageRequest{} } func (m *RedactImageRequest) String() string { return proto.CompactTextString(m) } func (*RedactImageRequest) ProtoMessage() {} func (*RedactImageRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_6872a91dcb80f8dc, []int{18} + return fileDescriptor_6872a91dcb80f8dc, []int{19} } func (m *RedactImageRequest) XXX_Unmarshal(b []byte) error { @@ -2188,7 +2396,7 @@ func (m *RedactImageRequest_ImageRedactionConfig) Reset() { func (m *RedactImageRequest_ImageRedactionConfig) String() string { return proto.CompactTextString(m) } func (*RedactImageRequest_ImageRedactionConfig) ProtoMessage() {} func (*RedactImageRequest_ImageRedactionConfig) Descriptor() ([]byte, []int) { - return fileDescriptor_6872a91dcb80f8dc, []int{18, 0} + return fileDescriptor_6872a91dcb80f8dc, []int{19, 0} } func (m *RedactImageRequest_ImageRedactionConfig) XXX_Unmarshal(b []byte) error { @@ -2280,7 +2488,7 @@ func (m *Color) Reset() { *m = Color{} } func (m *Color) String() string { return proto.CompactTextString(m) } func (*Color) ProtoMessage() {} func (*Color) Descriptor() ([]byte, []int) { - return fileDescriptor_6872a91dcb80f8dc, []int{19} + return fileDescriptor_6872a91dcb80f8dc, []int{20} } func (m *Color) XXX_Unmarshal(b []byte) error { @@ -2341,7 +2549,7 @@ func (m *RedactImageResponse) Reset() { *m = RedactImageResponse{} } func (m *RedactImageResponse) String() string { return proto.CompactTextString(m) } func (*RedactImageResponse) ProtoMessage() {} func (*RedactImageResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_6872a91dcb80f8dc, []int{20} + return fileDescriptor_6872a91dcb80f8dc, []int{21} } func (m *RedactImageResponse) XXX_Unmarshal(b []byte) error { @@ -2421,7 +2629,7 @@ func (m *DeidentifyContentRequest) Reset() { *m = DeidentifyContentReque func (m *DeidentifyContentRequest) String() string { return proto.CompactTextString(m) } func (*DeidentifyContentRequest) ProtoMessage() {} func (*DeidentifyContentRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_6872a91dcb80f8dc, []int{21} + return fileDescriptor_6872a91dcb80f8dc, []int{22} } func (m *DeidentifyContentRequest) XXX_Unmarshal(b []byte) error { @@ -2506,7 +2714,7 @@ func (m *DeidentifyContentResponse) Reset() { *m = DeidentifyContentResp func (m *DeidentifyContentResponse) String() string { return proto.CompactTextString(m) } func (*DeidentifyContentResponse) ProtoMessage() {} func (*DeidentifyContentResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_6872a91dcb80f8dc, []int{22} + return fileDescriptor_6872a91dcb80f8dc, []int{23} } func (m *DeidentifyContentResponse) XXX_Unmarshal(b []byte) error { @@ -2585,7 +2793,7 @@ func (m *ReidentifyContentRequest) Reset() { *m = ReidentifyContentReque func (m *ReidentifyContentRequest) String() string { return proto.CompactTextString(m) } func (*ReidentifyContentRequest) ProtoMessage() {} func (*ReidentifyContentRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_6872a91dcb80f8dc, []int{23} + return fileDescriptor_6872a91dcb80f8dc, []int{24} } func (m *ReidentifyContentRequest) XXX_Unmarshal(b []byte) error { @@ -2670,7 +2878,7 @@ func (m *ReidentifyContentResponse) Reset() { *m = ReidentifyContentResp func (m *ReidentifyContentResponse) String() string { return proto.CompactTextString(m) } func (*ReidentifyContentResponse) ProtoMessage() {} func (*ReidentifyContentResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_6872a91dcb80f8dc, []int{24} + return fileDescriptor_6872a91dcb80f8dc, []int{25} } func (m *ReidentifyContentResponse) XXX_Unmarshal(b []byte) error { @@ -2732,7 +2940,7 @@ func (m *InspectContentRequest) Reset() { *m = InspectContentRequest{} } func (m *InspectContentRequest) String() string { return proto.CompactTextString(m) } func (*InspectContentRequest) ProtoMessage() {} func (*InspectContentRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_6872a91dcb80f8dc, []int{25} + return fileDescriptor_6872a91dcb80f8dc, []int{26} } func (m *InspectContentRequest) XXX_Unmarshal(b []byte) error { @@ -2801,7 +3009,7 @@ func (m *InspectContentResponse) Reset() { *m = InspectContentResponse{} func (m *InspectContentResponse) String() string { return proto.CompactTextString(m) } func (*InspectContentResponse) ProtoMessage() {} func (*InspectContentResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_6872a91dcb80f8dc, []int{26} + return fileDescriptor_6872a91dcb80f8dc, []int{27} } func (m *InspectContentResponse) XXX_Unmarshal(b []byte) error { @@ -2845,6 +3053,7 @@ type OutputStorageConfig struct { // If unspecified, then all available columns will be used for a new table or // an (existing) table with no schema, and no changes will be made to an // existing table that has a schema. + // Only for use with external storage. OutputSchema OutputStorageConfig_OutputSchema `protobuf:"varint,3,opt,name=output_schema,json=outputSchema,proto3,enum=google.privacy.dlp.v2.OutputStorageConfig_OutputSchema" json:"output_schema,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` @@ -2855,7 +3064,7 @@ func (m *OutputStorageConfig) Reset() { *m = OutputStorageConfig{} } func (m *OutputStorageConfig) String() string { return proto.CompactTextString(m) } func (*OutputStorageConfig) ProtoMessage() {} func (*OutputStorageConfig) Descriptor() ([]byte, []int) { - return fileDescriptor_6872a91dcb80f8dc, []int{27} + return fileDescriptor_6872a91dcb80f8dc, []int{28} } func (m *OutputStorageConfig) XXX_Unmarshal(b []byte) error { @@ -2929,7 +3138,7 @@ func (m *InfoTypeStats) Reset() { *m = InfoTypeStats{} } func (m *InfoTypeStats) String() string { return proto.CompactTextString(m) } func (*InfoTypeStats) ProtoMessage() {} func (*InfoTypeStats) Descriptor() ([]byte, []int) { - return fileDescriptor_6872a91dcb80f8dc, []int{28} + return fileDescriptor_6872a91dcb80f8dc, []int{29} } func (m *InfoTypeStats) XXX_Unmarshal(b []byte) error { @@ -2979,7 +3188,7 @@ func (m *InspectDataSourceDetails) Reset() { *m = InspectDataSourceDetai func (m *InspectDataSourceDetails) String() string { return proto.CompactTextString(m) } func (*InspectDataSourceDetails) ProtoMessage() {} func (*InspectDataSourceDetails) Descriptor() ([]byte, []int) { - return fileDescriptor_6872a91dcb80f8dc, []int{29} + return fileDescriptor_6872a91dcb80f8dc, []int{30} } func (m *InspectDataSourceDetails) XXX_Unmarshal(b []byte) error { @@ -3032,7 +3241,7 @@ func (m *InspectDataSourceDetails_RequestedOptions) Reset() { func (m *InspectDataSourceDetails_RequestedOptions) String() string { return proto.CompactTextString(m) } func (*InspectDataSourceDetails_RequestedOptions) ProtoMessage() {} func (*InspectDataSourceDetails_RequestedOptions) Descriptor() ([]byte, []int) { - return fileDescriptor_6872a91dcb80f8dc, []int{29, 0} + return fileDescriptor_6872a91dcb80f8dc, []int{30, 0} } func (m *InspectDataSourceDetails_RequestedOptions) XXX_Unmarshal(b []byte) error { @@ -3075,17 +3284,22 @@ type InspectDataSourceDetails_Result struct { TotalEstimatedBytes int64 `protobuf:"varint,2,opt,name=total_estimated_bytes,json=totalEstimatedBytes,proto3" json:"total_estimated_bytes,omitempty"` // Statistics of how many instances of each info type were found during // inspect job. - InfoTypeStats []*InfoTypeStats `protobuf:"bytes,3,rep,name=info_type_stats,json=infoTypeStats,proto3" json:"info_type_stats,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + InfoTypeStats []*InfoTypeStats `protobuf:"bytes,3,rep,name=info_type_stats,json=infoTypeStats,proto3" json:"info_type_stats,omitempty"` + // Statistics related to the processing of hybrid inspect. + // Early access feature is in a pre-release state and might change or have + // limited support. For more information, see + // https://cloud.google.com/products#product-launch-stages. + HybridStats *HybridInspectStatistics `protobuf:"bytes,7,opt,name=hybrid_stats,json=hybridStats,proto3" json:"hybrid_stats,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } func (m *InspectDataSourceDetails_Result) Reset() { *m = InspectDataSourceDetails_Result{} } func (m *InspectDataSourceDetails_Result) String() string { return proto.CompactTextString(m) } func (*InspectDataSourceDetails_Result) ProtoMessage() {} func (*InspectDataSourceDetails_Result) Descriptor() ([]byte, []int) { - return fileDescriptor_6872a91dcb80f8dc, []int{29, 1} + return fileDescriptor_6872a91dcb80f8dc, []int{30, 1} } func (m *InspectDataSourceDetails_Result) XXX_Unmarshal(b []byte) error { @@ -3127,6 +3341,77 @@ func (m *InspectDataSourceDetails_Result) GetInfoTypeStats() []*InfoTypeStats { return nil } +func (m *InspectDataSourceDetails_Result) GetHybridStats() *HybridInspectStatistics { + if m != nil { + return m.HybridStats + } + return nil +} + +// Statistics related to processing hybrid inspect requests.s +type HybridInspectStatistics struct { + // The number of hybrid inspection requests processed within this job. + ProcessedCount int64 `protobuf:"varint,1,opt,name=processed_count,json=processedCount,proto3" json:"processed_count,omitempty"` + // The number of hybrid inspection requests aborted because the job ran + // out of quota or was ended before they could be processed. + AbortedCount int64 `protobuf:"varint,2,opt,name=aborted_count,json=abortedCount,proto3" json:"aborted_count,omitempty"` + // The number of hybrid requests currently being processed. Only populated + // when called via method `getDlpJob`. + // A burst of traffic may cause hybrid inspect requests to be enqueued. + // Processing will take place as quickly as possible, but resource limitations + // may impact how long a request is enqueued for. + PendingCount int64 `protobuf:"varint,3,opt,name=pending_count,json=pendingCount,proto3" json:"pending_count,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *HybridInspectStatistics) Reset() { *m = HybridInspectStatistics{} } +func (m *HybridInspectStatistics) String() string { return proto.CompactTextString(m) } +func (*HybridInspectStatistics) ProtoMessage() {} +func (*HybridInspectStatistics) Descriptor() ([]byte, []int) { + return fileDescriptor_6872a91dcb80f8dc, []int{31} +} + +func (m *HybridInspectStatistics) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_HybridInspectStatistics.Unmarshal(m, b) +} +func (m *HybridInspectStatistics) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_HybridInspectStatistics.Marshal(b, m, deterministic) +} +func (m *HybridInspectStatistics) XXX_Merge(src proto.Message) { + xxx_messageInfo_HybridInspectStatistics.Merge(m, src) +} +func (m *HybridInspectStatistics) XXX_Size() int { + return xxx_messageInfo_HybridInspectStatistics.Size(m) +} +func (m *HybridInspectStatistics) XXX_DiscardUnknown() { + xxx_messageInfo_HybridInspectStatistics.DiscardUnknown(m) +} + +var xxx_messageInfo_HybridInspectStatistics proto.InternalMessageInfo + +func (m *HybridInspectStatistics) GetProcessedCount() int64 { + if m != nil { + return m.ProcessedCount + } + return 0 +} + +func (m *HybridInspectStatistics) GetAbortedCount() int64 { + if m != nil { + return m.AbortedCount + } + return 0 +} + +func (m *HybridInspectStatistics) GetPendingCount() int64 { + if m != nil { + return m.PendingCount + } + return 0 +} + // InfoType description. type InfoTypeDescription struct { // Internal name of the infoType. @@ -3147,7 +3432,7 @@ func (m *InfoTypeDescription) Reset() { *m = InfoTypeDescription{} } func (m *InfoTypeDescription) String() string { return proto.CompactTextString(m) } func (*InfoTypeDescription) ProtoMessage() {} func (*InfoTypeDescription) Descriptor() ([]byte, []int) { - return fileDescriptor_6872a91dcb80f8dc, []int{30} + return fileDescriptor_6872a91dcb80f8dc, []int{32} } func (m *InfoTypeDescription) XXX_Unmarshal(b []byte) error { @@ -3217,7 +3502,7 @@ func (m *ListInfoTypesRequest) Reset() { *m = ListInfoTypesRequest{} } func (m *ListInfoTypesRequest) String() string { return proto.CompactTextString(m) } func (*ListInfoTypesRequest) ProtoMessage() {} func (*ListInfoTypesRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_6872a91dcb80f8dc, []int{31} + return fileDescriptor_6872a91dcb80f8dc, []int{33} } func (m *ListInfoTypesRequest) XXX_Unmarshal(b []byte) error { @@ -3272,7 +3557,7 @@ func (m *ListInfoTypesResponse) Reset() { *m = ListInfoTypesResponse{} } func (m *ListInfoTypesResponse) String() string { return proto.CompactTextString(m) } func (*ListInfoTypesResponse) ProtoMessage() {} func (*ListInfoTypesResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_6872a91dcb80f8dc, []int{32} + return fileDescriptor_6872a91dcb80f8dc, []int{34} } func (m *ListInfoTypesResponse) XXX_Unmarshal(b []byte) error { @@ -3319,7 +3604,7 @@ func (m *RiskAnalysisJobConfig) Reset() { *m = RiskAnalysisJobConfig{} } func (m *RiskAnalysisJobConfig) String() string { return proto.CompactTextString(m) } func (*RiskAnalysisJobConfig) ProtoMessage() {} func (*RiskAnalysisJobConfig) Descriptor() ([]byte, []int) { - return fileDescriptor_6872a91dcb80f8dc, []int{33} + return fileDescriptor_6872a91dcb80f8dc, []int{35} } func (m *RiskAnalysisJobConfig) XXX_Unmarshal(b []byte) error { @@ -3383,7 +3668,7 @@ func (m *QuasiId) Reset() { *m = QuasiId{} } func (m *QuasiId) String() string { return proto.CompactTextString(m) } func (*QuasiId) ProtoMessage() {} func (*QuasiId) Descriptor() ([]byte, []int) { - return fileDescriptor_6872a91dcb80f8dc, []int{34} + return fileDescriptor_6872a91dcb80f8dc, []int{36} } func (m *QuasiId) XXX_Unmarshal(b []byte) error { @@ -3482,8 +3767,8 @@ type StatisticalTable struct { Table *BigQueryTable `protobuf:"bytes,3,opt,name=table,proto3" json:"table,omitempty"` // Required. Quasi-identifier columns. QuasiIds []*StatisticalTable_QuasiIdentifierField `protobuf:"bytes,1,rep,name=quasi_ids,json=quasiIds,proto3" json:"quasi_ids,omitempty"` - // Required. The relative frequency column must contain a floating-point number - // between 0 and 1 (inclusive). Null values are assumed to be zero. + // Required. The relative frequency column must contain a floating-point + // number between 0 and 1 (inclusive). Null values are assumed to be zero. RelativeFrequency *FieldId `protobuf:"bytes,2,opt,name=relative_frequency,json=relativeFrequency,proto3" json:"relative_frequency,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` @@ -3494,7 +3779,7 @@ func (m *StatisticalTable) Reset() { *m = StatisticalTable{} } func (m *StatisticalTable) String() string { return proto.CompactTextString(m) } func (*StatisticalTable) ProtoMessage() {} func (*StatisticalTable) Descriptor() ([]byte, []int) { - return fileDescriptor_6872a91dcb80f8dc, []int{35} + return fileDescriptor_6872a91dcb80f8dc, []int{37} } func (m *StatisticalTable) XXX_Unmarshal(b []byte) error { @@ -3554,7 +3839,7 @@ func (m *StatisticalTable_QuasiIdentifierField) Reset() { *m = Statistic func (m *StatisticalTable_QuasiIdentifierField) String() string { return proto.CompactTextString(m) } func (*StatisticalTable_QuasiIdentifierField) ProtoMessage() {} func (*StatisticalTable_QuasiIdentifierField) Descriptor() ([]byte, []int) { - return fileDescriptor_6872a91dcb80f8dc, []int{35, 0} + return fileDescriptor_6872a91dcb80f8dc, []int{37, 0} } func (m *StatisticalTable_QuasiIdentifierField) XXX_Unmarshal(b []byte) error { @@ -3610,7 +3895,7 @@ func (m *PrivacyMetric) Reset() { *m = PrivacyMetric{} } func (m *PrivacyMetric) String() string { return proto.CompactTextString(m) } func (*PrivacyMetric) ProtoMessage() {} func (*PrivacyMetric) Descriptor() ([]byte, []int) { - return fileDescriptor_6872a91dcb80f8dc, []int{36} + return fileDescriptor_6872a91dcb80f8dc, []int{38} } func (m *PrivacyMetric) XXX_Unmarshal(b []byte) error { @@ -3747,7 +4032,7 @@ func (m *PrivacyMetric_NumericalStatsConfig) Reset() { *m = PrivacyMetri func (m *PrivacyMetric_NumericalStatsConfig) String() string { return proto.CompactTextString(m) } func (*PrivacyMetric_NumericalStatsConfig) ProtoMessage() {} func (*PrivacyMetric_NumericalStatsConfig) Descriptor() ([]byte, []int) { - return fileDescriptor_6872a91dcb80f8dc, []int{36, 0} + return fileDescriptor_6872a91dcb80f8dc, []int{38, 0} } func (m *PrivacyMetric_NumericalStatsConfig) XXX_Unmarshal(b []byte) error { @@ -3792,7 +4077,7 @@ func (m *PrivacyMetric_CategoricalStatsConfig) Reset() { *m = PrivacyMet func (m *PrivacyMetric_CategoricalStatsConfig) String() string { return proto.CompactTextString(m) } func (*PrivacyMetric_CategoricalStatsConfig) ProtoMessage() {} func (*PrivacyMetric_CategoricalStatsConfig) Descriptor() ([]byte, []int) { - return fileDescriptor_6872a91dcb80f8dc, []int{36, 1} + return fileDescriptor_6872a91dcb80f8dc, []int{38, 1} } func (m *PrivacyMetric_CategoricalStatsConfig) XXX_Unmarshal(b []byte) error { @@ -3848,7 +4133,7 @@ func (m *PrivacyMetric_KAnonymityConfig) Reset() { *m = PrivacyMetric_KA func (m *PrivacyMetric_KAnonymityConfig) String() string { return proto.CompactTextString(m) } func (*PrivacyMetric_KAnonymityConfig) ProtoMessage() {} func (*PrivacyMetric_KAnonymityConfig) Descriptor() ([]byte, []int) { - return fileDescriptor_6872a91dcb80f8dc, []int{36, 2} + return fileDescriptor_6872a91dcb80f8dc, []int{38, 2} } func (m *PrivacyMetric_KAnonymityConfig) XXX_Unmarshal(b []byte) error { @@ -3900,7 +4185,7 @@ func (m *PrivacyMetric_LDiversityConfig) Reset() { *m = PrivacyMetric_LD func (m *PrivacyMetric_LDiversityConfig) String() string { return proto.CompactTextString(m) } func (*PrivacyMetric_LDiversityConfig) ProtoMessage() {} func (*PrivacyMetric_LDiversityConfig) Descriptor() ([]byte, []int) { - return fileDescriptor_6872a91dcb80f8dc, []int{36, 3} + return fileDescriptor_6872a91dcb80f8dc, []int{38, 3} } func (m *PrivacyMetric_LDiversityConfig) XXX_Unmarshal(b []byte) error { @@ -3942,8 +4227,8 @@ func (m *PrivacyMetric_LDiversityConfig) GetSensitiveAttribute() *FieldId { // statistical model (indicated as one or several BigQuery tables), or by // extrapolating from the distribution of values in the input dataset. type PrivacyMetric_KMapEstimationConfig struct { - // Required. Fields considered to be quasi-identifiers. No two columns can have the - // same tag. + // Required. Fields considered to be quasi-identifiers. No two columns can + // have the same tag. QuasiIds []*PrivacyMetric_KMapEstimationConfig_TaggedField `protobuf:"bytes,1,rep,name=quasi_ids,json=quasiIds,proto3" json:"quasi_ids,omitempty"` // ISO 3166-1 alpha-2 region code to use in the statistical modeling. // Set if no column is tagged with a region-specific InfoType (like @@ -3962,7 +4247,7 @@ func (m *PrivacyMetric_KMapEstimationConfig) Reset() { *m = PrivacyMetri func (m *PrivacyMetric_KMapEstimationConfig) String() string { return proto.CompactTextString(m) } func (*PrivacyMetric_KMapEstimationConfig) ProtoMessage() {} func (*PrivacyMetric_KMapEstimationConfig) Descriptor() ([]byte, []int) { - return fileDescriptor_6872a91dcb80f8dc, []int{36, 4} + return fileDescriptor_6872a91dcb80f8dc, []int{38, 4} } func (m *PrivacyMetric_KMapEstimationConfig) XXX_Unmarshal(b []byte) error { @@ -4030,7 +4315,7 @@ func (m *PrivacyMetric_KMapEstimationConfig_TaggedField) String() string { } func (*PrivacyMetric_KMapEstimationConfig_TaggedField) ProtoMessage() {} func (*PrivacyMetric_KMapEstimationConfig_TaggedField) Descriptor() ([]byte, []int) { - return fileDescriptor_6872a91dcb80f8dc, []int{36, 4, 0} + return fileDescriptor_6872a91dcb80f8dc, []int{38, 4, 0} } func (m *PrivacyMetric_KMapEstimationConfig_TaggedField) XXX_Unmarshal(b []byte) error { @@ -4132,8 +4417,8 @@ type PrivacyMetric_KMapEstimationConfig_AuxiliaryTable struct { Table *BigQueryTable `protobuf:"bytes,3,opt,name=table,proto3" json:"table,omitempty"` // Required. Quasi-identifier columns. QuasiIds []*PrivacyMetric_KMapEstimationConfig_AuxiliaryTable_QuasiIdField `protobuf:"bytes,1,rep,name=quasi_ids,json=quasiIds,proto3" json:"quasi_ids,omitempty"` - // Required. The relative frequency column must contain a floating-point number - // between 0 and 1 (inclusive). Null values are assumed to be zero. + // Required. The relative frequency column must contain a floating-point + // number between 0 and 1 (inclusive). Null values are assumed to be zero. RelativeFrequency *FieldId `protobuf:"bytes,2,opt,name=relative_frequency,json=relativeFrequency,proto3" json:"relative_frequency,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` @@ -4148,7 +4433,7 @@ func (m *PrivacyMetric_KMapEstimationConfig_AuxiliaryTable) String() string { } func (*PrivacyMetric_KMapEstimationConfig_AuxiliaryTable) ProtoMessage() {} func (*PrivacyMetric_KMapEstimationConfig_AuxiliaryTable) Descriptor() ([]byte, []int) { - return fileDescriptor_6872a91dcb80f8dc, []int{36, 4, 1} + return fileDescriptor_6872a91dcb80f8dc, []int{38, 4, 1} } func (m *PrivacyMetric_KMapEstimationConfig_AuxiliaryTable) XXX_Unmarshal(b []byte) error { @@ -4210,7 +4495,7 @@ func (m *PrivacyMetric_KMapEstimationConfig_AuxiliaryTable_QuasiIdField) String( } func (*PrivacyMetric_KMapEstimationConfig_AuxiliaryTable_QuasiIdField) ProtoMessage() {} func (*PrivacyMetric_KMapEstimationConfig_AuxiliaryTable_QuasiIdField) Descriptor() ([]byte, []int) { - return fileDescriptor_6872a91dcb80f8dc, []int{36, 4, 1, 0} + return fileDescriptor_6872a91dcb80f8dc, []int{38, 4, 1, 0} } func (m *PrivacyMetric_KMapEstimationConfig_AuxiliaryTable_QuasiIdField) XXX_Unmarshal(b []byte) error { @@ -4250,8 +4535,8 @@ func (m *PrivacyMetric_KMapEstimationConfig_AuxiliaryTable_QuasiIdField) GetCust // Similarly to the k-map metric, we cannot compute δ-presence exactly without // knowing the attack dataset, so we use a statistical model instead. type PrivacyMetric_DeltaPresenceEstimationConfig struct { - // Required. Fields considered to be quasi-identifiers. No two fields can have the - // same tag. + // Required. Fields considered to be quasi-identifiers. No two fields can + // have the same tag. QuasiIds []*QuasiId `protobuf:"bytes,1,rep,name=quasi_ids,json=quasiIds,proto3" json:"quasi_ids,omitempty"` // ISO 3166-1 alpha-2 region code to use in the statistical modeling. // Set if no column is tagged with a region-specific InfoType (like @@ -4274,7 +4559,7 @@ func (m *PrivacyMetric_DeltaPresenceEstimationConfig) String() string { } func (*PrivacyMetric_DeltaPresenceEstimationConfig) ProtoMessage() {} func (*PrivacyMetric_DeltaPresenceEstimationConfig) Descriptor() ([]byte, []int) { - return fileDescriptor_6872a91dcb80f8dc, []int{36, 5} + return fileDescriptor_6872a91dcb80f8dc, []int{38, 5} } func (m *PrivacyMetric_DeltaPresenceEstimationConfig) XXX_Unmarshal(b []byte) error { @@ -4341,7 +4626,7 @@ func (m *AnalyzeDataSourceRiskDetails) Reset() { *m = AnalyzeDataSourceR func (m *AnalyzeDataSourceRiskDetails) String() string { return proto.CompactTextString(m) } func (*AnalyzeDataSourceRiskDetails) ProtoMessage() {} func (*AnalyzeDataSourceRiskDetails) Descriptor() ([]byte, []int) { - return fileDescriptor_6872a91dcb80f8dc, []int{37} + return fileDescriptor_6872a91dcb80f8dc, []int{39} } func (m *AnalyzeDataSourceRiskDetails) XXX_Unmarshal(b []byte) error { @@ -4500,7 +4785,7 @@ func (m *AnalyzeDataSourceRiskDetails_NumericalStatsResult) String() string { } func (*AnalyzeDataSourceRiskDetails_NumericalStatsResult) ProtoMessage() {} func (*AnalyzeDataSourceRiskDetails_NumericalStatsResult) Descriptor() ([]byte, []int) { - return fileDescriptor_6872a91dcb80f8dc, []int{37, 0} + return fileDescriptor_6872a91dcb80f8dc, []int{39, 0} } func (m *AnalyzeDataSourceRiskDetails_NumericalStatsResult) XXX_Unmarshal(b []byte) error { @@ -4559,7 +4844,7 @@ func (m *AnalyzeDataSourceRiskDetails_CategoricalStatsResult) String() string { } func (*AnalyzeDataSourceRiskDetails_CategoricalStatsResult) ProtoMessage() {} func (*AnalyzeDataSourceRiskDetails_CategoricalStatsResult) Descriptor() ([]byte, []int) { - return fileDescriptor_6872a91dcb80f8dc, []int{37, 1} + return fileDescriptor_6872a91dcb80f8dc, []int{39, 1} } func (m *AnalyzeDataSourceRiskDetails_CategoricalStatsResult) XXX_Unmarshal(b []byte) error { @@ -4614,7 +4899,7 @@ func (m *AnalyzeDataSourceRiskDetails_CategoricalStatsResult_CategoricalStatsHis func (*AnalyzeDataSourceRiskDetails_CategoricalStatsResult_CategoricalStatsHistogramBucket) ProtoMessage() { } func (*AnalyzeDataSourceRiskDetails_CategoricalStatsResult_CategoricalStatsHistogramBucket) Descriptor() ([]byte, []int) { - return fileDescriptor_6872a91dcb80f8dc, []int{37, 1, 0} + return fileDescriptor_6872a91dcb80f8dc, []int{39, 1, 0} } func (m *AnalyzeDataSourceRiskDetails_CategoricalStatsResult_CategoricalStatsHistogramBucket) XXX_Unmarshal(b []byte) error { @@ -4687,7 +4972,7 @@ func (m *AnalyzeDataSourceRiskDetails_KAnonymityResult) String() string { } func (*AnalyzeDataSourceRiskDetails_KAnonymityResult) ProtoMessage() {} func (*AnalyzeDataSourceRiskDetails_KAnonymityResult) Descriptor() ([]byte, []int) { - return fileDescriptor_6872a91dcb80f8dc, []int{37, 2} + return fileDescriptor_6872a91dcb80f8dc, []int{39, 2} } func (m *AnalyzeDataSourceRiskDetails_KAnonymityResult) XXX_Unmarshal(b []byte) error { @@ -4737,7 +5022,7 @@ func (m *AnalyzeDataSourceRiskDetails_KAnonymityResult_KAnonymityEquivalenceClas } func (*AnalyzeDataSourceRiskDetails_KAnonymityResult_KAnonymityEquivalenceClass) ProtoMessage() {} func (*AnalyzeDataSourceRiskDetails_KAnonymityResult_KAnonymityEquivalenceClass) Descriptor() ([]byte, []int) { - return fileDescriptor_6872a91dcb80f8dc, []int{37, 2, 0} + return fileDescriptor_6872a91dcb80f8dc, []int{39, 2, 0} } func (m *AnalyzeDataSourceRiskDetails_KAnonymityResult_KAnonymityEquivalenceClass) XXX_Unmarshal(b []byte) error { @@ -4798,7 +5083,7 @@ func (m *AnalyzeDataSourceRiskDetails_KAnonymityResult_KAnonymityHistogramBucket } func (*AnalyzeDataSourceRiskDetails_KAnonymityResult_KAnonymityHistogramBucket) ProtoMessage() {} func (*AnalyzeDataSourceRiskDetails_KAnonymityResult_KAnonymityHistogramBucket) Descriptor() ([]byte, []int) { - return fileDescriptor_6872a91dcb80f8dc, []int{37, 2, 1} + return fileDescriptor_6872a91dcb80f8dc, []int{39, 2, 1} } func (m *AnalyzeDataSourceRiskDetails_KAnonymityResult_KAnonymityHistogramBucket) XXX_Unmarshal(b []byte) error { @@ -4871,7 +5156,7 @@ func (m *AnalyzeDataSourceRiskDetails_LDiversityResult) String() string { } func (*AnalyzeDataSourceRiskDetails_LDiversityResult) ProtoMessage() {} func (*AnalyzeDataSourceRiskDetails_LDiversityResult) Descriptor() ([]byte, []int) { - return fileDescriptor_6872a91dcb80f8dc, []int{37, 3} + return fileDescriptor_6872a91dcb80f8dc, []int{39, 3} } func (m *AnalyzeDataSourceRiskDetails_LDiversityResult) XXX_Unmarshal(b []byte) error { @@ -4923,7 +5208,7 @@ func (m *AnalyzeDataSourceRiskDetails_LDiversityResult_LDiversityEquivalenceClas } func (*AnalyzeDataSourceRiskDetails_LDiversityResult_LDiversityEquivalenceClass) ProtoMessage() {} func (*AnalyzeDataSourceRiskDetails_LDiversityResult_LDiversityEquivalenceClass) Descriptor() ([]byte, []int) { - return fileDescriptor_6872a91dcb80f8dc, []int{37, 3, 0} + return fileDescriptor_6872a91dcb80f8dc, []int{39, 3, 0} } func (m *AnalyzeDataSourceRiskDetails_LDiversityResult_LDiversityEquivalenceClass) XXX_Unmarshal(b []byte) error { @@ -5000,7 +5285,7 @@ func (m *AnalyzeDataSourceRiskDetails_LDiversityResult_LDiversityHistogramBucket } func (*AnalyzeDataSourceRiskDetails_LDiversityResult_LDiversityHistogramBucket) ProtoMessage() {} func (*AnalyzeDataSourceRiskDetails_LDiversityResult_LDiversityHistogramBucket) Descriptor() ([]byte, []int) { - return fileDescriptor_6872a91dcb80f8dc, []int{37, 3, 1} + return fileDescriptor_6872a91dcb80f8dc, []int{39, 3, 1} } func (m *AnalyzeDataSourceRiskDetails_LDiversityResult_LDiversityHistogramBucket) XXX_Unmarshal(b []byte) error { @@ -5081,7 +5366,7 @@ func (m *AnalyzeDataSourceRiskDetails_KMapEstimationResult) String() string { } func (*AnalyzeDataSourceRiskDetails_KMapEstimationResult) ProtoMessage() {} func (*AnalyzeDataSourceRiskDetails_KMapEstimationResult) Descriptor() ([]byte, []int) { - return fileDescriptor_6872a91dcb80f8dc, []int{37, 4} + return fileDescriptor_6872a91dcb80f8dc, []int{39, 4} } func (m *AnalyzeDataSourceRiskDetails_KMapEstimationResult) XXX_Unmarshal(b []byte) error { @@ -5128,7 +5413,7 @@ func (m *AnalyzeDataSourceRiskDetails_KMapEstimationResult_KMapEstimationQuasiId } func (*AnalyzeDataSourceRiskDetails_KMapEstimationResult_KMapEstimationQuasiIdValues) ProtoMessage() {} func (*AnalyzeDataSourceRiskDetails_KMapEstimationResult_KMapEstimationQuasiIdValues) Descriptor() ([]byte, []int) { - return fileDescriptor_6872a91dcb80f8dc, []int{37, 4, 0} + return fileDescriptor_6872a91dcb80f8dc, []int{39, 4, 0} } func (m *AnalyzeDataSourceRiskDetails_KMapEstimationResult_KMapEstimationQuasiIdValues) XXX_Unmarshal(b []byte) error { @@ -5197,7 +5482,7 @@ func (m *AnalyzeDataSourceRiskDetails_KMapEstimationResult_KMapEstimationHistogr func (*AnalyzeDataSourceRiskDetails_KMapEstimationResult_KMapEstimationHistogramBucket) ProtoMessage() { } func (*AnalyzeDataSourceRiskDetails_KMapEstimationResult_KMapEstimationHistogramBucket) Descriptor() ([]byte, []int) { - return fileDescriptor_6872a91dcb80f8dc, []int{37, 4, 1} + return fileDescriptor_6872a91dcb80f8dc, []int{39, 4, 1} } func (m *AnalyzeDataSourceRiskDetails_KMapEstimationResult_KMapEstimationHistogramBucket) XXX_Unmarshal(b []byte) error { @@ -5278,7 +5563,7 @@ func (m *AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult) String() st } func (*AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult) ProtoMessage() {} func (*AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult) Descriptor() ([]byte, []int) { - return fileDescriptor_6872a91dcb80f8dc, []int{37, 5} + return fileDescriptor_6872a91dcb80f8dc, []int{39, 5} } func (m *AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult) XXX_Unmarshal(b []byte) error { @@ -5333,7 +5618,7 @@ func (m *AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult_DeltaPresenc func (*AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult_DeltaPresenceEstimationQuasiIdValues) ProtoMessage() { } func (*AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult_DeltaPresenceEstimationQuasiIdValues) Descriptor() ([]byte, []int) { - return fileDescriptor_6872a91dcb80f8dc, []int{37, 5, 0} + return fileDescriptor_6872a91dcb80f8dc, []int{39, 5, 0} } func (m *AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult_DeltaPresenceEstimationQuasiIdValues) XXX_Unmarshal(b []byte) error { @@ -5403,7 +5688,7 @@ func (m *AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult_DeltaPresenc func (*AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult_DeltaPresenceEstimationHistogramBucket) ProtoMessage() { } func (*AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult_DeltaPresenceEstimationHistogramBucket) Descriptor() ([]byte, []int) { - return fileDescriptor_6872a91dcb80f8dc, []int{37, 5, 1} + return fileDescriptor_6872a91dcb80f8dc, []int{39, 5, 1} } func (m *AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult_DeltaPresenceEstimationHistogramBucket) XXX_Unmarshal(b []byte) error { @@ -5474,7 +5759,7 @@ func (m *ValueFrequency) Reset() { *m = ValueFrequency{} } func (m *ValueFrequency) String() string { return proto.CompactTextString(m) } func (*ValueFrequency) ProtoMessage() {} func (*ValueFrequency) Descriptor() ([]byte, []int) { - return fileDescriptor_6872a91dcb80f8dc, []int{38} + return fileDescriptor_6872a91dcb80f8dc, []int{40} } func (m *ValueFrequency) XXX_Unmarshal(b []byte) error { @@ -5537,7 +5822,7 @@ func (m *Value) Reset() { *m = Value{} } func (m *Value) String() string { return proto.CompactTextString(m) } func (*Value) ProtoMessage() {} func (*Value) Descriptor() ([]byte, []int) { - return fileDescriptor_6872a91dcb80f8dc, []int{39} + return fileDescriptor_6872a91dcb80f8dc, []int{41} } func (m *Value) XXX_Unmarshal(b []byte) error { @@ -5703,7 +5988,7 @@ func (m *QuoteInfo) Reset() { *m = QuoteInfo{} } func (m *QuoteInfo) String() string { return proto.CompactTextString(m) } func (*QuoteInfo) ProtoMessage() {} func (*QuoteInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_6872a91dcb80f8dc, []int{40} + return fileDescriptor_6872a91dcb80f8dc, []int{42} } func (m *QuoteInfo) XXX_Unmarshal(b []byte) error { @@ -5776,7 +6061,7 @@ func (m *DateTime) Reset() { *m = DateTime{} } func (m *DateTime) String() string { return proto.CompactTextString(m) } func (*DateTime) ProtoMessage() {} func (*DateTime) Descriptor() ([]byte, []int) { - return fileDescriptor_6872a91dcb80f8dc, []int{41} + return fileDescriptor_6872a91dcb80f8dc, []int{43} } func (m *DateTime) XXX_Unmarshal(b []byte) error { @@ -5839,7 +6124,7 @@ func (m *DateTime_TimeZone) Reset() { *m = DateTime_TimeZone{} } func (m *DateTime_TimeZone) String() string { return proto.CompactTextString(m) } func (*DateTime_TimeZone) ProtoMessage() {} func (*DateTime_TimeZone) Descriptor() ([]byte, []int) { - return fileDescriptor_6872a91dcb80f8dc, []int{41, 0} + return fileDescriptor_6872a91dcb80f8dc, []int{43, 0} } func (m *DateTime_TimeZone) XXX_Unmarshal(b []byte) error { @@ -5872,17 +6157,20 @@ type DeidentifyConfig struct { // Types that are valid to be assigned to Transformation: // *DeidentifyConfig_InfoTypeTransformations // *DeidentifyConfig_RecordTransformations - Transformation isDeidentifyConfig_Transformation `protobuf_oneof:"transformation"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + Transformation isDeidentifyConfig_Transformation `protobuf_oneof:"transformation"` + // Mode for handling transformation errors. If left unspecified, the default + // mode is `TransformationErrorHandling.ThrowError`. + TransformationErrorHandling *TransformationErrorHandling `protobuf:"bytes,3,opt,name=transformation_error_handling,json=transformationErrorHandling,proto3" json:"transformation_error_handling,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } func (m *DeidentifyConfig) Reset() { *m = DeidentifyConfig{} } func (m *DeidentifyConfig) String() string { return proto.CompactTextString(m) } func (*DeidentifyConfig) ProtoMessage() {} func (*DeidentifyConfig) Descriptor() ([]byte, []int) { - return fileDescriptor_6872a91dcb80f8dc, []int{42} + return fileDescriptor_6872a91dcb80f8dc, []int{44} } func (m *DeidentifyConfig) XXX_Unmarshal(b []byte) error { @@ -5940,6 +6228,13 @@ func (m *DeidentifyConfig) GetRecordTransformations() *RecordTransformations { return nil } +func (m *DeidentifyConfig) GetTransformationErrorHandling() *TransformationErrorHandling { + if m != nil { + return m.TransformationErrorHandling + } + return nil +} + // XXX_OneofWrappers is for the internal use of the proto package. func (*DeidentifyConfig) XXX_OneofWrappers() []interface{} { return []interface{}{ @@ -5948,47 +6243,210 @@ func (*DeidentifyConfig) XXX_OneofWrappers() []interface{} { } } -// A rule for transforming a value. -type PrimitiveTransformation struct { - // Types that are valid to be assigned to Transformation: - // *PrimitiveTransformation_ReplaceConfig - // *PrimitiveTransformation_RedactConfig - // *PrimitiveTransformation_CharacterMaskConfig - // *PrimitiveTransformation_CryptoReplaceFfxFpeConfig - // *PrimitiveTransformation_FixedSizeBucketingConfig - // *PrimitiveTransformation_BucketingConfig - // *PrimitiveTransformation_ReplaceWithInfoTypeConfig - // *PrimitiveTransformation_TimePartConfig - // *PrimitiveTransformation_CryptoHashConfig - // *PrimitiveTransformation_DateShiftConfig - // *PrimitiveTransformation_CryptoDeterministicConfig - Transformation isPrimitiveTransformation_Transformation `protobuf_oneof:"transformation"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` +// How to handle transformation errors during de-identification. A +// transformation error occurs when the requested transformation is incompatible +// with the data. For example, trying to de-identify an IP address using a +// `DateShift` transformation would result in a transformation error, since date +// info cannot be extracted from an IP address. +// Information about any incompatible transformations, and how they were +// handled, is returned in the response as part of the +// `TransformationOverviews`. +type TransformationErrorHandling struct { + // How transformation errors should be handled. + // + // Types that are valid to be assigned to Mode: + // *TransformationErrorHandling_ThrowError_ + // *TransformationErrorHandling_LeaveUntransformed_ + Mode isTransformationErrorHandling_Mode `protobuf_oneof:"mode"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *PrimitiveTransformation) Reset() { *m = PrimitiveTransformation{} } -func (m *PrimitiveTransformation) String() string { return proto.CompactTextString(m) } -func (*PrimitiveTransformation) ProtoMessage() {} -func (*PrimitiveTransformation) Descriptor() ([]byte, []int) { - return fileDescriptor_6872a91dcb80f8dc, []int{43} +func (m *TransformationErrorHandling) Reset() { *m = TransformationErrorHandling{} } +func (m *TransformationErrorHandling) String() string { return proto.CompactTextString(m) } +func (*TransformationErrorHandling) ProtoMessage() {} +func (*TransformationErrorHandling) Descriptor() ([]byte, []int) { + return fileDescriptor_6872a91dcb80f8dc, []int{45} } -func (m *PrimitiveTransformation) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_PrimitiveTransformation.Unmarshal(m, b) +func (m *TransformationErrorHandling) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_TransformationErrorHandling.Unmarshal(m, b) } -func (m *PrimitiveTransformation) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_PrimitiveTransformation.Marshal(b, m, deterministic) +func (m *TransformationErrorHandling) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_TransformationErrorHandling.Marshal(b, m, deterministic) } -func (m *PrimitiveTransformation) XXX_Merge(src proto.Message) { - xxx_messageInfo_PrimitiveTransformation.Merge(m, src) +func (m *TransformationErrorHandling) XXX_Merge(src proto.Message) { + xxx_messageInfo_TransformationErrorHandling.Merge(m, src) } -func (m *PrimitiveTransformation) XXX_Size() int { - return xxx_messageInfo_PrimitiveTransformation.Size(m) +func (m *TransformationErrorHandling) XXX_Size() int { + return xxx_messageInfo_TransformationErrorHandling.Size(m) } -func (m *PrimitiveTransformation) XXX_DiscardUnknown() { - xxx_messageInfo_PrimitiveTransformation.DiscardUnknown(m) +func (m *TransformationErrorHandling) XXX_DiscardUnknown() { + xxx_messageInfo_TransformationErrorHandling.DiscardUnknown(m) +} + +var xxx_messageInfo_TransformationErrorHandling proto.InternalMessageInfo + +type isTransformationErrorHandling_Mode interface { + isTransformationErrorHandling_Mode() +} + +type TransformationErrorHandling_ThrowError_ struct { + ThrowError *TransformationErrorHandling_ThrowError `protobuf:"bytes,1,opt,name=throw_error,json=throwError,proto3,oneof"` +} + +type TransformationErrorHandling_LeaveUntransformed_ struct { + LeaveUntransformed *TransformationErrorHandling_LeaveUntransformed `protobuf:"bytes,2,opt,name=leave_untransformed,json=leaveUntransformed,proto3,oneof"` +} + +func (*TransformationErrorHandling_ThrowError_) isTransformationErrorHandling_Mode() {} + +func (*TransformationErrorHandling_LeaveUntransformed_) isTransformationErrorHandling_Mode() {} + +func (m *TransformationErrorHandling) GetMode() isTransformationErrorHandling_Mode { + if m != nil { + return m.Mode + } + return nil +} + +func (m *TransformationErrorHandling) GetThrowError() *TransformationErrorHandling_ThrowError { + if x, ok := m.GetMode().(*TransformationErrorHandling_ThrowError_); ok { + return x.ThrowError + } + return nil +} + +func (m *TransformationErrorHandling) GetLeaveUntransformed() *TransformationErrorHandling_LeaveUntransformed { + if x, ok := m.GetMode().(*TransformationErrorHandling_LeaveUntransformed_); ok { + return x.LeaveUntransformed + } + return nil +} + +// XXX_OneofWrappers is for the internal use of the proto package. +func (*TransformationErrorHandling) XXX_OneofWrappers() []interface{} { + return []interface{}{ + (*TransformationErrorHandling_ThrowError_)(nil), + (*TransformationErrorHandling_LeaveUntransformed_)(nil), + } +} + +// Throw an error and fail the request when a transformation error occurs. +type TransformationErrorHandling_ThrowError struct { + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *TransformationErrorHandling_ThrowError) Reset() { + *m = TransformationErrorHandling_ThrowError{} +} +func (m *TransformationErrorHandling_ThrowError) String() string { return proto.CompactTextString(m) } +func (*TransformationErrorHandling_ThrowError) ProtoMessage() {} +func (*TransformationErrorHandling_ThrowError) Descriptor() ([]byte, []int) { + return fileDescriptor_6872a91dcb80f8dc, []int{45, 0} +} + +func (m *TransformationErrorHandling_ThrowError) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_TransformationErrorHandling_ThrowError.Unmarshal(m, b) +} +func (m *TransformationErrorHandling_ThrowError) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_TransformationErrorHandling_ThrowError.Marshal(b, m, deterministic) +} +func (m *TransformationErrorHandling_ThrowError) XXX_Merge(src proto.Message) { + xxx_messageInfo_TransformationErrorHandling_ThrowError.Merge(m, src) +} +func (m *TransformationErrorHandling_ThrowError) XXX_Size() int { + return xxx_messageInfo_TransformationErrorHandling_ThrowError.Size(m) +} +func (m *TransformationErrorHandling_ThrowError) XXX_DiscardUnknown() { + xxx_messageInfo_TransformationErrorHandling_ThrowError.DiscardUnknown(m) +} + +var xxx_messageInfo_TransformationErrorHandling_ThrowError proto.InternalMessageInfo + +// Skips the data without modifying it if the requested transformation would +// cause an error. For example, if a `DateShift` transformation were applied +// an an IP address, this mode would leave the IP address unchanged in the +// response. +type TransformationErrorHandling_LeaveUntransformed struct { + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *TransformationErrorHandling_LeaveUntransformed) Reset() { + *m = TransformationErrorHandling_LeaveUntransformed{} +} +func (m *TransformationErrorHandling_LeaveUntransformed) String() string { + return proto.CompactTextString(m) +} +func (*TransformationErrorHandling_LeaveUntransformed) ProtoMessage() {} +func (*TransformationErrorHandling_LeaveUntransformed) Descriptor() ([]byte, []int) { + return fileDescriptor_6872a91dcb80f8dc, []int{45, 1} +} + +func (m *TransformationErrorHandling_LeaveUntransformed) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_TransformationErrorHandling_LeaveUntransformed.Unmarshal(m, b) +} +func (m *TransformationErrorHandling_LeaveUntransformed) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_TransformationErrorHandling_LeaveUntransformed.Marshal(b, m, deterministic) +} +func (m *TransformationErrorHandling_LeaveUntransformed) XXX_Merge(src proto.Message) { + xxx_messageInfo_TransformationErrorHandling_LeaveUntransformed.Merge(m, src) +} +func (m *TransformationErrorHandling_LeaveUntransformed) XXX_Size() int { + return xxx_messageInfo_TransformationErrorHandling_LeaveUntransformed.Size(m) +} +func (m *TransformationErrorHandling_LeaveUntransformed) XXX_DiscardUnknown() { + xxx_messageInfo_TransformationErrorHandling_LeaveUntransformed.DiscardUnknown(m) +} + +var xxx_messageInfo_TransformationErrorHandling_LeaveUntransformed proto.InternalMessageInfo + +// A rule for transforming a value. +type PrimitiveTransformation struct { + // Types that are valid to be assigned to Transformation: + // *PrimitiveTransformation_ReplaceConfig + // *PrimitiveTransformation_RedactConfig + // *PrimitiveTransformation_CharacterMaskConfig + // *PrimitiveTransformation_CryptoReplaceFfxFpeConfig + // *PrimitiveTransformation_FixedSizeBucketingConfig + // *PrimitiveTransformation_BucketingConfig + // *PrimitiveTransformation_ReplaceWithInfoTypeConfig + // *PrimitiveTransformation_TimePartConfig + // *PrimitiveTransformation_CryptoHashConfig + // *PrimitiveTransformation_DateShiftConfig + // *PrimitiveTransformation_CryptoDeterministicConfig + Transformation isPrimitiveTransformation_Transformation `protobuf_oneof:"transformation"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *PrimitiveTransformation) Reset() { *m = PrimitiveTransformation{} } +func (m *PrimitiveTransformation) String() string { return proto.CompactTextString(m) } +func (*PrimitiveTransformation) ProtoMessage() {} +func (*PrimitiveTransformation) Descriptor() ([]byte, []int) { + return fileDescriptor_6872a91dcb80f8dc, []int{46} +} + +func (m *PrimitiveTransformation) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_PrimitiveTransformation.Unmarshal(m, b) +} +func (m *PrimitiveTransformation) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_PrimitiveTransformation.Marshal(b, m, deterministic) +} +func (m *PrimitiveTransformation) XXX_Merge(src proto.Message) { + xxx_messageInfo_PrimitiveTransformation.Merge(m, src) +} +func (m *PrimitiveTransformation) XXX_Size() int { + return xxx_messageInfo_PrimitiveTransformation.Size(m) +} +func (m *PrimitiveTransformation) XXX_DiscardUnknown() { + xxx_messageInfo_PrimitiveTransformation.DiscardUnknown(m) } var xxx_messageInfo_PrimitiveTransformation proto.InternalMessageInfo @@ -6178,7 +6636,7 @@ func (m *TimePartConfig) Reset() { *m = TimePartConfig{} } func (m *TimePartConfig) String() string { return proto.CompactTextString(m) } func (*TimePartConfig) ProtoMessage() {} func (*TimePartConfig) Descriptor() ([]byte, []int) { - return fileDescriptor_6872a91dcb80f8dc, []int{44} + return fileDescriptor_6872a91dcb80f8dc, []int{47} } func (m *TimePartConfig) XXX_Unmarshal(b []byte) error { @@ -6225,7 +6683,7 @@ func (m *CryptoHashConfig) Reset() { *m = CryptoHashConfig{} } func (m *CryptoHashConfig) String() string { return proto.CompactTextString(m) } func (*CryptoHashConfig) ProtoMessage() {} func (*CryptoHashConfig) Descriptor() ([]byte, []int) { - return fileDescriptor_6872a91dcb80f8dc, []int{45} + return fileDescriptor_6872a91dcb80f8dc, []int{48} } func (m *CryptoHashConfig) XXX_Unmarshal(b []byte) error { @@ -6320,7 +6778,7 @@ func (m *CryptoDeterministicConfig) Reset() { *m = CryptoDeterministicCo func (m *CryptoDeterministicConfig) String() string { return proto.CompactTextString(m) } func (*CryptoDeterministicConfig) ProtoMessage() {} func (*CryptoDeterministicConfig) Descriptor() ([]byte, []int) { - return fileDescriptor_6872a91dcb80f8dc, []int{46} + return fileDescriptor_6872a91dcb80f8dc, []int{49} } func (m *CryptoDeterministicConfig) XXX_Unmarshal(b []byte) error { @@ -6375,7 +6833,7 @@ func (m *ReplaceValueConfig) Reset() { *m = ReplaceValueConfig{} } func (m *ReplaceValueConfig) String() string { return proto.CompactTextString(m) } func (*ReplaceValueConfig) ProtoMessage() {} func (*ReplaceValueConfig) Descriptor() ([]byte, []int) { - return fileDescriptor_6872a91dcb80f8dc, []int{47} + return fileDescriptor_6872a91dcb80f8dc, []int{50} } func (m *ReplaceValueConfig) XXX_Unmarshal(b []byte) error { @@ -6414,7 +6872,7 @@ func (m *ReplaceWithInfoTypeConfig) Reset() { *m = ReplaceWithInfoTypeCo func (m *ReplaceWithInfoTypeConfig) String() string { return proto.CompactTextString(m) } func (*ReplaceWithInfoTypeConfig) ProtoMessage() {} func (*ReplaceWithInfoTypeConfig) Descriptor() ([]byte, []int) { - return fileDescriptor_6872a91dcb80f8dc, []int{48} + return fileDescriptor_6872a91dcb80f8dc, []int{51} } func (m *ReplaceWithInfoTypeConfig) XXX_Unmarshal(b []byte) error { @@ -6448,7 +6906,7 @@ func (m *RedactConfig) Reset() { *m = RedactConfig{} } func (m *RedactConfig) String() string { return proto.CompactTextString(m) } func (*RedactConfig) ProtoMessage() {} func (*RedactConfig) Descriptor() ([]byte, []int) { - return fileDescriptor_6872a91dcb80f8dc, []int{49} + return fileDescriptor_6872a91dcb80f8dc, []int{52} } func (m *RedactConfig) XXX_Unmarshal(b []byte) error { @@ -6485,7 +6943,7 @@ func (m *CharsToIgnore) Reset() { *m = CharsToIgnore{} } func (m *CharsToIgnore) String() string { return proto.CompactTextString(m) } func (*CharsToIgnore) ProtoMessage() {} func (*CharsToIgnore) Descriptor() ([]byte, []int) { - return fileDescriptor_6872a91dcb80f8dc, []int{50} + return fileDescriptor_6872a91dcb80f8dc, []int{53} } func (m *CharsToIgnore) XXX_Unmarshal(b []byte) error { @@ -6586,7 +7044,7 @@ func (m *CharacterMaskConfig) Reset() { *m = CharacterMaskConfig{} } func (m *CharacterMaskConfig) String() string { return proto.CompactTextString(m) } func (*CharacterMaskConfig) ProtoMessage() {} func (*CharacterMaskConfig) Descriptor() ([]byte, []int) { - return fileDescriptor_6872a91dcb80f8dc, []int{51} + return fileDescriptor_6872a91dcb80f8dc, []int{54} } func (m *CharacterMaskConfig) XXX_Unmarshal(b []byte) error { @@ -6652,16 +7110,16 @@ func (m *CharacterMaskConfig) GetCharactersToIgnore() []*CharsToIgnore { // // See https://cloud.google.com/dlp/docs/concepts-bucketing to learn more. type FixedSizeBucketingConfig struct { - // Required. Lower bound value of buckets. All values less than `lower_bound` are - // grouped together into a single bucket; for example if `lower_bound` = 10, - // then all values less than 10 are replaced with the value “-10”. + // Required. Lower bound value of buckets. All values less than `lower_bound` + // are grouped together into a single bucket; for example if `lower_bound` = + // 10, then all values less than 10 are replaced with the value “-10”. LowerBound *Value `protobuf:"bytes,1,opt,name=lower_bound,json=lowerBound,proto3" json:"lower_bound,omitempty"` - // Required. Upper bound value of buckets. All values greater than upper_bound are - // grouped together into a single bucket; for example if `upper_bound` = 89, - // then all values greater than 89 are replaced with the value “89+”. + // Required. Upper bound value of buckets. All values greater than upper_bound + // are grouped together into a single bucket; for example if `upper_bound` = + // 89, then all values greater than 89 are replaced with the value “89+”. UpperBound *Value `protobuf:"bytes,2,opt,name=upper_bound,json=upperBound,proto3" json:"upper_bound,omitempty"` - // Required. Size of each bucket (except for minimum and maximum buckets). So if - // `lower_bound` = 10, `upper_bound` = 89, and `bucket_size` = 10, then the + // Required. Size of each bucket (except for minimum and maximum buckets). So + // if `lower_bound` = 10, `upper_bound` = 89, and `bucket_size` = 10, then the // following buckets would be used: -10, 10-20, 20-30, 30-40, 40-50, 50-60, // 60-70, 70-80, 80-89, 89+. Precision up to 2 decimals works. BucketSize float64 `protobuf:"fixed64,3,opt,name=bucket_size,json=bucketSize,proto3" json:"bucket_size,omitempty"` @@ -6674,7 +7132,7 @@ func (m *FixedSizeBucketingConfig) Reset() { *m = FixedSizeBucketingConf func (m *FixedSizeBucketingConfig) String() string { return proto.CompactTextString(m) } func (*FixedSizeBucketingConfig) ProtoMessage() {} func (*FixedSizeBucketingConfig) Descriptor() ([]byte, []int) { - return fileDescriptor_6872a91dcb80f8dc, []int{52} + return fileDescriptor_6872a91dcb80f8dc, []int{55} } func (m *FixedSizeBucketingConfig) XXX_Unmarshal(b []byte) error { @@ -6737,7 +7195,7 @@ func (m *BucketingConfig) Reset() { *m = BucketingConfig{} } func (m *BucketingConfig) String() string { return proto.CompactTextString(m) } func (*BucketingConfig) ProtoMessage() {} func (*BucketingConfig) Descriptor() ([]byte, []int) { - return fileDescriptor_6872a91dcb80f8dc, []int{53} + return fileDescriptor_6872a91dcb80f8dc, []int{56} } func (m *BucketingConfig) XXX_Unmarshal(b []byte) error { @@ -6784,7 +7242,7 @@ func (m *BucketingConfig_Bucket) Reset() { *m = BucketingConfig_Bucket{} func (m *BucketingConfig_Bucket) String() string { return proto.CompactTextString(m) } func (*BucketingConfig_Bucket) ProtoMessage() {} func (*BucketingConfig_Bucket) Descriptor() ([]byte, []int) { - return fileDescriptor_6872a91dcb80f8dc, []int{53, 0} + return fileDescriptor_6872a91dcb80f8dc, []int{56, 0} } func (m *BucketingConfig_Bucket) XXX_Unmarshal(b []byte) error { @@ -6905,7 +7363,7 @@ func (m *CryptoReplaceFfxFpeConfig) Reset() { *m = CryptoReplaceFfxFpeCo func (m *CryptoReplaceFfxFpeConfig) String() string { return proto.CompactTextString(m) } func (*CryptoReplaceFfxFpeConfig) ProtoMessage() {} func (*CryptoReplaceFfxFpeConfig) Descriptor() ([]byte, []int) { - return fileDescriptor_6872a91dcb80f8dc, []int{54} + return fileDescriptor_6872a91dcb80f8dc, []int{57} } func (m *CryptoReplaceFfxFpeConfig) XXX_Unmarshal(b []byte) error { @@ -7028,7 +7486,7 @@ func (m *CryptoKey) Reset() { *m = CryptoKey{} } func (m *CryptoKey) String() string { return proto.CompactTextString(m) } func (*CryptoKey) ProtoMessage() {} func (*CryptoKey) Descriptor() ([]byte, []int) { - return fileDescriptor_6872a91dcb80f8dc, []int{55} + return fileDescriptor_6872a91dcb80f8dc, []int{58} } func (m *CryptoKey) XXX_Unmarshal(b []byte) error { @@ -7127,7 +7585,7 @@ func (m *TransientCryptoKey) Reset() { *m = TransientCryptoKey{} } func (m *TransientCryptoKey) String() string { return proto.CompactTextString(m) } func (*TransientCryptoKey) ProtoMessage() {} func (*TransientCryptoKey) Descriptor() ([]byte, []int) { - return fileDescriptor_6872a91dcb80f8dc, []int{56} + return fileDescriptor_6872a91dcb80f8dc, []int{59} } func (m *TransientCryptoKey) XXX_Unmarshal(b []byte) error { @@ -7169,7 +7627,7 @@ func (m *UnwrappedCryptoKey) Reset() { *m = UnwrappedCryptoKey{} } func (m *UnwrappedCryptoKey) String() string { return proto.CompactTextString(m) } func (*UnwrappedCryptoKey) ProtoMessage() {} func (*UnwrappedCryptoKey) Descriptor() ([]byte, []int) { - return fileDescriptor_6872a91dcb80f8dc, []int{57} + return fileDescriptor_6872a91dcb80f8dc, []int{60} } func (m *UnwrappedCryptoKey) XXX_Unmarshal(b []byte) error { @@ -7216,7 +7674,7 @@ func (m *KmsWrappedCryptoKey) Reset() { *m = KmsWrappedCryptoKey{} } func (m *KmsWrappedCryptoKey) String() string { return proto.CompactTextString(m) } func (*KmsWrappedCryptoKey) ProtoMessage() {} func (*KmsWrappedCryptoKey) Descriptor() ([]byte, []int) { - return fileDescriptor_6872a91dcb80f8dc, []int{58} + return fileDescriptor_6872a91dcb80f8dc, []int{61} } func (m *KmsWrappedCryptoKey) XXX_Unmarshal(b []byte) error { @@ -7255,13 +7713,14 @@ func (m *KmsWrappedCryptoKey) GetCryptoKeyName() string { // same context. See https://cloud.google.com/dlp/docs/concepts-date-shifting // to learn more. type DateShiftConfig struct { - // Required. Range of shift in days. Actual shift will be selected at random within this - // range (inclusive ends). Negative means shift to earlier in time. Must not - // be more than 365250 days (1000 years) each direction. + // Required. Range of shift in days. Actual shift will be selected at random + // within this range (inclusive ends). Negative means shift to earlier in + // time. Must not be more than 365250 days (1000 years) each direction. // // For example, 3 means shift date to at most 3 days into the future. UpperBoundDays int32 `protobuf:"varint,1,opt,name=upper_bound_days,json=upperBoundDays,proto3" json:"upper_bound_days,omitempty"` - // Required. For example, -5 means shift date to at most 5 days back in the past. + // Required. For example, -5 means shift date to at most 5 days back in the + // past. LowerBoundDays int32 `protobuf:"varint,2,opt,name=lower_bound_days,json=lowerBoundDays,proto3" json:"lower_bound_days,omitempty"` // Points to the field that contains the context, for example, an entity id. // If set, must also set cryptoKey. If set, shift will be consistent for the @@ -7282,7 +7741,7 @@ func (m *DateShiftConfig) Reset() { *m = DateShiftConfig{} } func (m *DateShiftConfig) String() string { return proto.CompactTextString(m) } func (*DateShiftConfig) ProtoMessage() {} func (*DateShiftConfig) Descriptor() ([]byte, []int) { - return fileDescriptor_6872a91dcb80f8dc, []int{59} + return fileDescriptor_6872a91dcb80f8dc, []int{62} } func (m *DateShiftConfig) XXX_Unmarshal(b []byte) error { @@ -7372,7 +7831,7 @@ func (m *InfoTypeTransformations) Reset() { *m = InfoTypeTransformations func (m *InfoTypeTransformations) String() string { return proto.CompactTextString(m) } func (*InfoTypeTransformations) ProtoMessage() {} func (*InfoTypeTransformations) Descriptor() ([]byte, []int) { - return fileDescriptor_6872a91dcb80f8dc, []int{60} + return fileDescriptor_6872a91dcb80f8dc, []int{63} } func (m *InfoTypeTransformations) XXX_Unmarshal(b []byte) error { @@ -7422,7 +7881,7 @@ func (m *InfoTypeTransformations_InfoTypeTransformation) String() string { } func (*InfoTypeTransformations_InfoTypeTransformation) ProtoMessage() {} func (*InfoTypeTransformations_InfoTypeTransformation) Descriptor() ([]byte, []int) { - return fileDescriptor_6872a91dcb80f8dc, []int{60, 0} + return fileDescriptor_6872a91dcb80f8dc, []int{63, 0} } func (m *InfoTypeTransformations_InfoTypeTransformation) XXX_Unmarshal(b []byte) error { @@ -7486,7 +7945,7 @@ func (m *FieldTransformation) Reset() { *m = FieldTransformation{} } func (m *FieldTransformation) String() string { return proto.CompactTextString(m) } func (*FieldTransformation) ProtoMessage() {} func (*FieldTransformation) Descriptor() ([]byte, []int) { - return fileDescriptor_6872a91dcb80f8dc, []int{61} + return fileDescriptor_6872a91dcb80f8dc, []int{64} } func (m *FieldTransformation) XXX_Unmarshal(b []byte) error { @@ -7583,7 +8042,7 @@ func (m *RecordTransformations) Reset() { *m = RecordTransformations{} } func (m *RecordTransformations) String() string { return proto.CompactTextString(m) } func (*RecordTransformations) ProtoMessage() {} func (*RecordTransformations) Descriptor() ([]byte, []int) { - return fileDescriptor_6872a91dcb80f8dc, []int{62} + return fileDescriptor_6872a91dcb80f8dc, []int{65} } func (m *RecordTransformations) XXX_Unmarshal(b []byte) error { @@ -7633,7 +8092,7 @@ func (m *RecordSuppression) Reset() { *m = RecordSuppression{} } func (m *RecordSuppression) String() string { return proto.CompactTextString(m) } func (*RecordSuppression) ProtoMessage() {} func (*RecordSuppression) Descriptor() ([]byte, []int) { - return fileDescriptor_6872a91dcb80f8dc, []int{63} + return fileDescriptor_6872a91dcb80f8dc, []int{66} } func (m *RecordSuppression) XXX_Unmarshal(b []byte) error { @@ -7675,7 +8134,7 @@ func (m *RecordCondition) Reset() { *m = RecordCondition{} } func (m *RecordCondition) String() string { return proto.CompactTextString(m) } func (*RecordCondition) ProtoMessage() {} func (*RecordCondition) Descriptor() ([]byte, []int) { - return fileDescriptor_6872a91dcb80f8dc, []int{64} + return fileDescriptor_6872a91dcb80f8dc, []int{67} } func (m *RecordCondition) XXX_Unmarshal(b []byte) error { @@ -7738,7 +8197,7 @@ func (m *RecordCondition_Condition) Reset() { *m = RecordCondition_Condi func (m *RecordCondition_Condition) String() string { return proto.CompactTextString(m) } func (*RecordCondition_Condition) ProtoMessage() {} func (*RecordCondition_Condition) Descriptor() ([]byte, []int) { - return fileDescriptor_6872a91dcb80f8dc, []int{64, 0} + return fileDescriptor_6872a91dcb80f8dc, []int{67, 0} } func (m *RecordCondition_Condition) XXX_Unmarshal(b []byte) error { @@ -7793,7 +8252,7 @@ func (m *RecordCondition_Conditions) Reset() { *m = RecordCondition_Cond func (m *RecordCondition_Conditions) String() string { return proto.CompactTextString(m) } func (*RecordCondition_Conditions) ProtoMessage() {} func (*RecordCondition_Conditions) Descriptor() ([]byte, []int) { - return fileDescriptor_6872a91dcb80f8dc, []int{64, 1} + return fileDescriptor_6872a91dcb80f8dc, []int{67, 1} } func (m *RecordCondition_Conditions) XXX_Unmarshal(b []byte) error { @@ -7840,7 +8299,7 @@ func (m *RecordCondition_Expressions) Reset() { *m = RecordCondition_Exp func (m *RecordCondition_Expressions) String() string { return proto.CompactTextString(m) } func (*RecordCondition_Expressions) ProtoMessage() {} func (*RecordCondition_Expressions) Descriptor() ([]byte, []int) { - return fileDescriptor_6872a91dcb80f8dc, []int{64, 2} + return fileDescriptor_6872a91dcb80f8dc, []int{67, 2} } func (m *RecordCondition_Expressions) XXX_Unmarshal(b []byte) error { @@ -7914,7 +8373,7 @@ func (m *TransformationOverview) Reset() { *m = TransformationOverview{} func (m *TransformationOverview) String() string { return proto.CompactTextString(m) } func (*TransformationOverview) ProtoMessage() {} func (*TransformationOverview) Descriptor() ([]byte, []int) { - return fileDescriptor_6872a91dcb80f8dc, []int{65} + return fileDescriptor_6872a91dcb80f8dc, []int{68} } func (m *TransformationOverview) XXX_Unmarshal(b []byte) error { @@ -7978,7 +8437,7 @@ func (m *TransformationSummary) Reset() { *m = TransformationSummary{} } func (m *TransformationSummary) String() string { return proto.CompactTextString(m) } func (*TransformationSummary) ProtoMessage() {} func (*TransformationSummary) Descriptor() ([]byte, []int) { - return fileDescriptor_6872a91dcb80f8dc, []int{66} + return fileDescriptor_6872a91dcb80f8dc, []int{69} } func (m *TransformationSummary) XXX_Unmarshal(b []byte) error { @@ -8067,7 +8526,7 @@ func (m *TransformationSummary_SummaryResult) Reset() { *m = Transformat func (m *TransformationSummary_SummaryResult) String() string { return proto.CompactTextString(m) } func (*TransformationSummary_SummaryResult) ProtoMessage() {} func (*TransformationSummary_SummaryResult) Descriptor() ([]byte, []int) { - return fileDescriptor_6872a91dcb80f8dc, []int{66, 0} + return fileDescriptor_6872a91dcb80f8dc, []int{69, 0} } func (m *TransformationSummary_SummaryResult) XXX_Unmarshal(b []byte) error { @@ -8123,7 +8582,7 @@ func (m *Schedule) Reset() { *m = Schedule{} } func (m *Schedule) String() string { return proto.CompactTextString(m) } func (*Schedule) ProtoMessage() {} func (*Schedule) Descriptor() ([]byte, []int) { - return fileDescriptor_6872a91dcb80f8dc, []int{67} + return fileDescriptor_6872a91dcb80f8dc, []int{70} } func (m *Schedule) XXX_Unmarshal(b []byte) error { @@ -8175,6 +8634,39 @@ func (*Schedule) XXX_OneofWrappers() []interface{} { } } +// Job trigger option for hybrid jobs. Jobs must be manually created +// and finished. +type Manual struct { + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *Manual) Reset() { *m = Manual{} } +func (m *Manual) String() string { return proto.CompactTextString(m) } +func (*Manual) ProtoMessage() {} +func (*Manual) Descriptor() ([]byte, []int) { + return fileDescriptor_6872a91dcb80f8dc, []int{71} +} + +func (m *Manual) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_Manual.Unmarshal(m, b) +} +func (m *Manual) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_Manual.Marshal(b, m, deterministic) +} +func (m *Manual) XXX_Merge(src proto.Message) { + xxx_messageInfo_Manual.Merge(m, src) +} +func (m *Manual) XXX_Size() int { + return xxx_messageInfo_Manual.Size(m) +} +func (m *Manual) XXX_DiscardUnknown() { + xxx_messageInfo_Manual.DiscardUnknown(m) +} + +var xxx_messageInfo_Manual proto.InternalMessageInfo + // The inspectTemplate contains a configuration (set of types of sensitive data // to be detected) to be used anywhere you otherwise would normally specify // InspectConfig. See https://cloud.google.com/dlp/docs/concepts-templates @@ -8205,7 +8697,7 @@ func (m *InspectTemplate) Reset() { *m = InspectTemplate{} } func (m *InspectTemplate) String() string { return proto.CompactTextString(m) } func (*InspectTemplate) ProtoMessage() {} func (*InspectTemplate) Descriptor() ([]byte, []int) { - return fileDescriptor_6872a91dcb80f8dc, []int{68} + return fileDescriptor_6872a91dcb80f8dc, []int{72} } func (m *InspectTemplate) XXX_Unmarshal(b []byte) error { @@ -8296,7 +8788,7 @@ func (m *DeidentifyTemplate) Reset() { *m = DeidentifyTemplate{} } func (m *DeidentifyTemplate) String() string { return proto.CompactTextString(m) } func (*DeidentifyTemplate) ProtoMessage() {} func (*DeidentifyTemplate) Descriptor() ([]byte, []int) { - return fileDescriptor_6872a91dcb80f8dc, []int{69} + return fileDescriptor_6872a91dcb80f8dc, []int{73} } func (m *DeidentifyTemplate) XXX_Unmarshal(b []byte) error { @@ -8375,7 +8867,7 @@ func (m *Error) Reset() { *m = Error{} } func (m *Error) String() string { return proto.CompactTextString(m) } func (*Error) ProtoMessage() {} func (*Error) Descriptor() ([]byte, []int) { - return fileDescriptor_6872a91dcb80f8dc, []int{70} + return fileDescriptor_6872a91dcb80f8dc, []int{74} } func (m *Error) XXX_Unmarshal(b []byte) error { @@ -8430,8 +8922,8 @@ type JobTrigger struct { // needs to trigger for a job to be started. The list may contain only // a single Schedule trigger and must have at least one object. Triggers []*JobTrigger_Trigger `protobuf:"bytes,5,rep,name=triggers,proto3" json:"triggers,omitempty"` - // Output only. A stream of errors encountered when the trigger was activated. Repeated - // errors may result in the JobTrigger automatically being paused. + // Output only. A stream of errors encountered when the trigger was activated. + // Repeated errors may result in the JobTrigger automatically being paused. // Will return the last 100 errors. Whenever the JobTrigger is modified // this list will be cleared. Errors []*Error `protobuf:"bytes,6,rep,name=errors,proto3" json:"errors,omitempty"` @@ -8452,7 +8944,7 @@ func (m *JobTrigger) Reset() { *m = JobTrigger{} } func (m *JobTrigger) String() string { return proto.CompactTextString(m) } func (*JobTrigger) ProtoMessage() {} func (*JobTrigger) Descriptor() ([]byte, []int) { - return fileDescriptor_6872a91dcb80f8dc, []int{71} + return fileDescriptor_6872a91dcb80f8dc, []int{75} } func (m *JobTrigger) XXX_Unmarshal(b []byte) error { @@ -8571,6 +9063,7 @@ func (*JobTrigger) XXX_OneofWrappers() []interface{} { type JobTrigger_Trigger struct { // Types that are valid to be assigned to Trigger: // *JobTrigger_Trigger_Schedule + // *JobTrigger_Trigger_Manual Trigger isJobTrigger_Trigger_Trigger `protobuf_oneof:"trigger"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` @@ -8581,7 +9074,7 @@ func (m *JobTrigger_Trigger) Reset() { *m = JobTrigger_Trigger{} } func (m *JobTrigger_Trigger) String() string { return proto.CompactTextString(m) } func (*JobTrigger_Trigger) ProtoMessage() {} func (*JobTrigger_Trigger) Descriptor() ([]byte, []int) { - return fileDescriptor_6872a91dcb80f8dc, []int{71, 0} + return fileDescriptor_6872a91dcb80f8dc, []int{75, 0} } func (m *JobTrigger_Trigger) XXX_Unmarshal(b []byte) error { @@ -8610,8 +9103,14 @@ type JobTrigger_Trigger_Schedule struct { Schedule *Schedule `protobuf:"bytes,1,opt,name=schedule,proto3,oneof"` } +type JobTrigger_Trigger_Manual struct { + Manual *Manual `protobuf:"bytes,2,opt,name=manual,proto3,oneof"` +} + func (*JobTrigger_Trigger_Schedule) isJobTrigger_Trigger_Trigger() {} +func (*JobTrigger_Trigger_Manual) isJobTrigger_Trigger_Trigger() {} + func (m *JobTrigger_Trigger) GetTrigger() isJobTrigger_Trigger_Trigger { if m != nil { return m.Trigger @@ -8626,10 +9125,18 @@ func (m *JobTrigger_Trigger) GetSchedule() *Schedule { return nil } +func (m *JobTrigger_Trigger) GetManual() *Manual { + if x, ok := m.GetTrigger().(*JobTrigger_Trigger_Manual); ok { + return x.Manual + } + return nil +} + // XXX_OneofWrappers is for the internal use of the proto package. func (*JobTrigger_Trigger) XXX_OneofWrappers() []interface{} { return []interface{}{ (*JobTrigger_Trigger_Schedule)(nil), + (*JobTrigger_Trigger_Manual)(nil), } } @@ -8653,7 +9160,7 @@ func (m *Action) Reset() { *m = Action{} } func (m *Action) String() string { return proto.CompactTextString(m) } func (*Action) ProtoMessage() {} func (*Action) Descriptor() ([]byte, []int) { - return fileDescriptor_6872a91dcb80f8dc, []int{72} + return fileDescriptor_6872a91dcb80f8dc, []int{76} } func (m *Action) XXX_Unmarshal(b []byte) error { @@ -8791,7 +9298,7 @@ func (m *Action_SaveFindings) Reset() { *m = Action_SaveFindings{} } func (m *Action_SaveFindings) String() string { return proto.CompactTextString(m) } func (*Action_SaveFindings) ProtoMessage() {} func (*Action_SaveFindings) Descriptor() ([]byte, []int) { - return fileDescriptor_6872a91dcb80f8dc, []int{72, 0} + return fileDescriptor_6872a91dcb80f8dc, []int{76, 0} } func (m *Action_SaveFindings) XXX_Unmarshal(b []byte) error { @@ -8839,7 +9346,7 @@ func (m *Action_PublishToPubSub) Reset() { *m = Action_PublishToPubSub{} func (m *Action_PublishToPubSub) String() string { return proto.CompactTextString(m) } func (*Action_PublishToPubSub) ProtoMessage() {} func (*Action_PublishToPubSub) Descriptor() ([]byte, []int) { - return fileDescriptor_6872a91dcb80f8dc, []int{72, 1} + return fileDescriptor_6872a91dcb80f8dc, []int{76, 1} } func (m *Action_PublishToPubSub) XXX_Unmarshal(b []byte) error { @@ -8887,7 +9394,7 @@ func (m *Action_PublishSummaryToCscc) Reset() { *m = Action_PublishSumma func (m *Action_PublishSummaryToCscc) String() string { return proto.CompactTextString(m) } func (*Action_PublishSummaryToCscc) ProtoMessage() {} func (*Action_PublishSummaryToCscc) Descriptor() ([]byte, []int) { - return fileDescriptor_6872a91dcb80f8dc, []int{72, 2} + return fileDescriptor_6872a91dcb80f8dc, []int{76, 2} } func (m *Action_PublishSummaryToCscc) XXX_Unmarshal(b []byte) error { @@ -8930,7 +9437,7 @@ func (m *Action_PublishFindingsToCloudDataCatalog) Reset() { func (m *Action_PublishFindingsToCloudDataCatalog) String() string { return proto.CompactTextString(m) } func (*Action_PublishFindingsToCloudDataCatalog) ProtoMessage() {} func (*Action_PublishFindingsToCloudDataCatalog) Descriptor() ([]byte, []int) { - return fileDescriptor_6872a91dcb80f8dc, []int{72, 3} + return fileDescriptor_6872a91dcb80f8dc, []int{76, 3} } func (m *Action_PublishFindingsToCloudDataCatalog) XXX_Unmarshal(b []byte) error { @@ -8963,7 +9470,7 @@ func (m *Action_JobNotificationEmails) Reset() { *m = Action_JobNotifica func (m *Action_JobNotificationEmails) String() string { return proto.CompactTextString(m) } func (*Action_JobNotificationEmails) ProtoMessage() {} func (*Action_JobNotificationEmails) Descriptor() ([]byte, []int) { - return fileDescriptor_6872a91dcb80f8dc, []int{72, 4} + return fileDescriptor_6872a91dcb80f8dc, []int{76, 4} } func (m *Action_JobNotificationEmails) XXX_Unmarshal(b []byte) error { @@ -8998,7 +9505,7 @@ func (m *Action_PublishToStackdriver) Reset() { *m = Action_PublishToSta func (m *Action_PublishToStackdriver) String() string { return proto.CompactTextString(m) } func (*Action_PublishToStackdriver) ProtoMessage() {} func (*Action_PublishToStackdriver) Descriptor() ([]byte, []int) { - return fileDescriptor_6872a91dcb80f8dc, []int{72, 5} + return fileDescriptor_6872a91dcb80f8dc, []int{76, 5} } func (m *Action_PublishToStackdriver) XXX_Unmarshal(b []byte) error { @@ -9043,7 +9550,7 @@ func (m *CreateInspectTemplateRequest) Reset() { *m = CreateInspectTempl func (m *CreateInspectTemplateRequest) String() string { return proto.CompactTextString(m) } func (*CreateInspectTemplateRequest) ProtoMessage() {} func (*CreateInspectTemplateRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_6872a91dcb80f8dc, []int{73} + return fileDescriptor_6872a91dcb80f8dc, []int{77} } func (m *CreateInspectTemplateRequest) XXX_Unmarshal(b []byte) error { @@ -9094,8 +9601,8 @@ func (m *CreateInspectTemplateRequest) GetLocationId() string { // Request message for UpdateInspectTemplate. type UpdateInspectTemplateRequest struct { - // Required. Resource name of organization and inspectTemplate to be updated, for - // example `organizations/433245324/inspectTemplates/432452342` or + // Required. Resource name of organization and inspectTemplate to be updated, + // for example `organizations/433245324/inspectTemplates/432452342` or // projects/project-id/inspectTemplates/432452342. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // New InspectTemplate value. @@ -9111,7 +9618,7 @@ func (m *UpdateInspectTemplateRequest) Reset() { *m = UpdateInspectTempl func (m *UpdateInspectTemplateRequest) String() string { return proto.CompactTextString(m) } func (*UpdateInspectTemplateRequest) ProtoMessage() {} func (*UpdateInspectTemplateRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_6872a91dcb80f8dc, []int{74} + return fileDescriptor_6872a91dcb80f8dc, []int{78} } func (m *UpdateInspectTemplateRequest) XXX_Unmarshal(b []byte) error { @@ -9155,8 +9662,8 @@ func (m *UpdateInspectTemplateRequest) GetUpdateMask() *field_mask.FieldMask { // Request message for GetInspectTemplate. type GetInspectTemplateRequest struct { - // Required. Resource name of the organization and inspectTemplate to be read, for - // example `organizations/433245324/inspectTemplates/432452342` or + // Required. Resource name of the organization and inspectTemplate to be read, + // for example `organizations/433245324/inspectTemplates/432452342` or // projects/project-id/inspectTemplates/432452342. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` @@ -9168,7 +9675,7 @@ func (m *GetInspectTemplateRequest) Reset() { *m = GetInspectTemplateReq func (m *GetInspectTemplateRequest) String() string { return proto.CompactTextString(m) } func (*GetInspectTemplateRequest) ProtoMessage() {} func (*GetInspectTemplateRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_6872a91dcb80f8dc, []int{75} + return fileDescriptor_6872a91dcb80f8dc, []int{79} } func (m *GetInspectTemplateRequest) XXX_Unmarshal(b []byte) error { @@ -9233,7 +9740,7 @@ func (m *ListInspectTemplatesRequest) Reset() { *m = ListInspectTemplate func (m *ListInspectTemplatesRequest) String() string { return proto.CompactTextString(m) } func (*ListInspectTemplatesRequest) ProtoMessage() {} func (*ListInspectTemplatesRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_6872a91dcb80f8dc, []int{76} + return fileDescriptor_6872a91dcb80f8dc, []int{80} } func (m *ListInspectTemplatesRequest) XXX_Unmarshal(b []byte) error { @@ -9305,7 +9812,7 @@ func (m *ListInspectTemplatesResponse) Reset() { *m = ListInspectTemplat func (m *ListInspectTemplatesResponse) String() string { return proto.CompactTextString(m) } func (*ListInspectTemplatesResponse) ProtoMessage() {} func (*ListInspectTemplatesResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_6872a91dcb80f8dc, []int{77} + return fileDescriptor_6872a91dcb80f8dc, []int{81} } func (m *ListInspectTemplatesResponse) XXX_Unmarshal(b []byte) error { @@ -9342,9 +9849,9 @@ func (m *ListInspectTemplatesResponse) GetNextPageToken() string { // Request message for DeleteInspectTemplate. type DeleteInspectTemplateRequest struct { - // Required. Resource name of the organization and inspectTemplate to be deleted, for - // example `organizations/433245324/inspectTemplates/432452342` or - // projects/project-id/inspectTemplates/432452342. + // Required. Resource name of the organization and inspectTemplate to be + // deleted, for example `organizations/433245324/inspectTemplates/432452342` + // or projects/project-id/inspectTemplates/432452342. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` @@ -9355,7 +9862,7 @@ func (m *DeleteInspectTemplateRequest) Reset() { *m = DeleteInspectTempl func (m *DeleteInspectTemplateRequest) String() string { return proto.CompactTextString(m) } func (*DeleteInspectTemplateRequest) ProtoMessage() {} func (*DeleteInspectTemplateRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_6872a91dcb80f8dc, []int{78} + return fileDescriptor_6872a91dcb80f8dc, []int{82} } func (m *DeleteInspectTemplateRequest) XXX_Unmarshal(b []byte) error { @@ -9406,7 +9913,7 @@ func (m *CreateJobTriggerRequest) Reset() { *m = CreateJobTriggerRequest func (m *CreateJobTriggerRequest) String() string { return proto.CompactTextString(m) } func (*CreateJobTriggerRequest) ProtoMessage() {} func (*CreateJobTriggerRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_6872a91dcb80f8dc, []int{79} + return fileDescriptor_6872a91dcb80f8dc, []int{83} } func (m *CreateJobTriggerRequest) XXX_Unmarshal(b []byte) error { @@ -9469,7 +9976,7 @@ func (m *ActivateJobTriggerRequest) Reset() { *m = ActivateJobTriggerReq func (m *ActivateJobTriggerRequest) String() string { return proto.CompactTextString(m) } func (*ActivateJobTriggerRequest) ProtoMessage() {} func (*ActivateJobTriggerRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_6872a91dcb80f8dc, []int{80} + return fileDescriptor_6872a91dcb80f8dc, []int{84} } func (m *ActivateJobTriggerRequest) XXX_Unmarshal(b []byte) error { @@ -9515,7 +10022,7 @@ func (m *UpdateJobTriggerRequest) Reset() { *m = UpdateJobTriggerRequest func (m *UpdateJobTriggerRequest) String() string { return proto.CompactTextString(m) } func (*UpdateJobTriggerRequest) ProtoMessage() {} func (*UpdateJobTriggerRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_6872a91dcb80f8dc, []int{81} + return fileDescriptor_6872a91dcb80f8dc, []int{85} } func (m *UpdateJobTriggerRequest) XXX_Unmarshal(b []byte) error { @@ -9571,7 +10078,7 @@ func (m *GetJobTriggerRequest) Reset() { *m = GetJobTriggerRequest{} } func (m *GetJobTriggerRequest) String() string { return proto.CompactTextString(m) } func (*GetJobTriggerRequest) ProtoMessage() {} func (*GetJobTriggerRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_6872a91dcb80f8dc, []int{82} + return fileDescriptor_6872a91dcb80f8dc, []int{86} } func (m *GetJobTriggerRequest) XXX_Unmarshal(b []byte) error { @@ -9628,7 +10135,7 @@ func (m *CreateDlpJobRequest) Reset() { *m = CreateDlpJobRequest{} } func (m *CreateDlpJobRequest) String() string { return proto.CompactTextString(m) } func (*CreateDlpJobRequest) ProtoMessage() {} func (*CreateDlpJobRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_6872a91dcb80f8dc, []int{83} + return fileDescriptor_6872a91dcb80f8dc, []int{87} } func (m *CreateDlpJobRequest) XXX_Unmarshal(b []byte) error { @@ -9778,7 +10285,7 @@ func (m *ListJobTriggersRequest) Reset() { *m = ListJobTriggersRequest{} func (m *ListJobTriggersRequest) String() string { return proto.CompactTextString(m) } func (*ListJobTriggersRequest) ProtoMessage() {} func (*ListJobTriggersRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_6872a91dcb80f8dc, []int{84} + return fileDescriptor_6872a91dcb80f8dc, []int{88} } func (m *ListJobTriggersRequest) XXX_Unmarshal(b []byte) error { @@ -9857,7 +10364,7 @@ func (m *ListJobTriggersResponse) Reset() { *m = ListJobTriggersResponse func (m *ListJobTriggersResponse) String() string { return proto.CompactTextString(m) } func (*ListJobTriggersResponse) ProtoMessage() {} func (*ListJobTriggersResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_6872a91dcb80f8dc, []int{85} + return fileDescriptor_6872a91dcb80f8dc, []int{89} } func (m *ListJobTriggersResponse) XXX_Unmarshal(b []byte) error { @@ -9906,7 +10413,7 @@ func (m *DeleteJobTriggerRequest) Reset() { *m = DeleteJobTriggerRequest func (m *DeleteJobTriggerRequest) String() string { return proto.CompactTextString(m) } func (*DeleteJobTriggerRequest) ProtoMessage() {} func (*DeleteJobTriggerRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_6872a91dcb80f8dc, []int{86} + return fileDescriptor_6872a91dcb80f8dc, []int{90} } func (m *DeleteJobTriggerRequest) XXX_Unmarshal(b []byte) error { @@ -9955,7 +10462,7 @@ func (m *InspectJobConfig) Reset() { *m = InspectJobConfig{} } func (m *InspectJobConfig) String() string { return proto.CompactTextString(m) } func (*InspectJobConfig) ProtoMessage() {} func (*InspectJobConfig) Descriptor() ([]byte, []int) { - return fileDescriptor_6872a91dcb80f8dc, []int{87} + return fileDescriptor_6872a91dcb80f8dc, []int{91} } func (m *InspectJobConfig) XXX_Unmarshal(b []byte) error { @@ -10036,7 +10543,7 @@ func (m *DlpJob) Reset() { *m = DlpJob{} } func (m *DlpJob) String() string { return proto.CompactTextString(m) } func (*DlpJob) ProtoMessage() {} func (*DlpJob) Descriptor() ([]byte, []int) { - return fileDescriptor_6872a91dcb80f8dc, []int{88} + return fileDescriptor_6872a91dcb80f8dc, []int{92} } func (m *DlpJob) XXX_Unmarshal(b []byte) error { @@ -10171,7 +10678,7 @@ func (m *GetDlpJobRequest) Reset() { *m = GetDlpJobRequest{} } func (m *GetDlpJobRequest) String() string { return proto.CompactTextString(m) } func (*GetDlpJobRequest) ProtoMessage() {} func (*GetDlpJobRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_6872a91dcb80f8dc, []int{89} + return fileDescriptor_6872a91dcb80f8dc, []int{93} } func (m *GetDlpJobRequest) XXX_Unmarshal(b []byte) error { @@ -10264,7 +10771,7 @@ func (m *ListDlpJobsRequest) Reset() { *m = ListDlpJobsRequest{} } func (m *ListDlpJobsRequest) String() string { return proto.CompactTextString(m) } func (*ListDlpJobsRequest) ProtoMessage() {} func (*ListDlpJobsRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_6872a91dcb80f8dc, []int{90} + return fileDescriptor_6872a91dcb80f8dc, []int{94} } func (m *ListDlpJobsRequest) XXX_Unmarshal(b []byte) error { @@ -10349,7 +10856,7 @@ func (m *ListDlpJobsResponse) Reset() { *m = ListDlpJobsResponse{} } func (m *ListDlpJobsResponse) String() string { return proto.CompactTextString(m) } func (*ListDlpJobsResponse) ProtoMessage() {} func (*ListDlpJobsResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_6872a91dcb80f8dc, []int{91} + return fileDescriptor_6872a91dcb80f8dc, []int{95} } func (m *ListDlpJobsResponse) XXX_Unmarshal(b []byte) error { @@ -10397,7 +10904,7 @@ func (m *CancelDlpJobRequest) Reset() { *m = CancelDlpJobRequest{} } func (m *CancelDlpJobRequest) String() string { return proto.CompactTextString(m) } func (*CancelDlpJobRequest) ProtoMessage() {} func (*CancelDlpJobRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_6872a91dcb80f8dc, []int{92} + return fileDescriptor_6872a91dcb80f8dc, []int{96} } func (m *CancelDlpJobRequest) XXX_Unmarshal(b []byte) error { @@ -10425,6 +10932,47 @@ func (m *CancelDlpJobRequest) GetName() string { return "" } +// The request message for finishing a DLP hybrid job. +type FinishDlpJobRequest struct { + // Required. The name of the DlpJob resource to be cancelled. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *FinishDlpJobRequest) Reset() { *m = FinishDlpJobRequest{} } +func (m *FinishDlpJobRequest) String() string { return proto.CompactTextString(m) } +func (*FinishDlpJobRequest) ProtoMessage() {} +func (*FinishDlpJobRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_6872a91dcb80f8dc, []int{97} +} + +func (m *FinishDlpJobRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_FinishDlpJobRequest.Unmarshal(m, b) +} +func (m *FinishDlpJobRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_FinishDlpJobRequest.Marshal(b, m, deterministic) +} +func (m *FinishDlpJobRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_FinishDlpJobRequest.Merge(m, src) +} +func (m *FinishDlpJobRequest) XXX_Size() int { + return xxx_messageInfo_FinishDlpJobRequest.Size(m) +} +func (m *FinishDlpJobRequest) XXX_DiscardUnknown() { + xxx_messageInfo_FinishDlpJobRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_FinishDlpJobRequest proto.InternalMessageInfo + +func (m *FinishDlpJobRequest) GetName() string { + if m != nil { + return m.Name + } + return "" +} + // The request message for deleting a DLP job. type DeleteDlpJobRequest struct { // Required. The name of the DlpJob resource to be deleted. @@ -10438,7 +10986,7 @@ func (m *DeleteDlpJobRequest) Reset() { *m = DeleteDlpJobRequest{} } func (m *DeleteDlpJobRequest) String() string { return proto.CompactTextString(m) } func (*DeleteDlpJobRequest) ProtoMessage() {} func (*DeleteDlpJobRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_6872a91dcb80f8dc, []int{93} + return fileDescriptor_6872a91dcb80f8dc, []int{98} } func (m *DeleteDlpJobRequest) XXX_Unmarshal(b []byte) error { @@ -10490,7 +11038,7 @@ func (m *CreateDeidentifyTemplateRequest) Reset() { *m = CreateDeidentif func (m *CreateDeidentifyTemplateRequest) String() string { return proto.CompactTextString(m) } func (*CreateDeidentifyTemplateRequest) ProtoMessage() {} func (*CreateDeidentifyTemplateRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_6872a91dcb80f8dc, []int{94} + return fileDescriptor_6872a91dcb80f8dc, []int{99} } func (m *CreateDeidentifyTemplateRequest) XXX_Unmarshal(b []byte) error { @@ -10541,8 +11089,9 @@ func (m *CreateDeidentifyTemplateRequest) GetLocationId() string { // Request message for UpdateDeidentifyTemplate. type UpdateDeidentifyTemplateRequest struct { - // Required. Resource name of organization and deidentify template to be updated, for - // example `organizations/433245324/deidentifyTemplates/432452342` or + // Required. Resource name of organization and deidentify template to be + // updated, for example + // `organizations/433245324/deidentifyTemplates/432452342` or // projects/project-id/deidentifyTemplates/432452342. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // New DeidentifyTemplate value. @@ -10558,7 +11107,7 @@ func (m *UpdateDeidentifyTemplateRequest) Reset() { *m = UpdateDeidentif func (m *UpdateDeidentifyTemplateRequest) String() string { return proto.CompactTextString(m) } func (*UpdateDeidentifyTemplateRequest) ProtoMessage() {} func (*UpdateDeidentifyTemplateRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_6872a91dcb80f8dc, []int{95} + return fileDescriptor_6872a91dcb80f8dc, []int{100} } func (m *UpdateDeidentifyTemplateRequest) XXX_Unmarshal(b []byte) error { @@ -10602,9 +11151,9 @@ func (m *UpdateDeidentifyTemplateRequest) GetUpdateMask() *field_mask.FieldMask // Request message for GetDeidentifyTemplate. type GetDeidentifyTemplateRequest struct { - // Required. Resource name of the organization and deidentify template to be read, for - // example `organizations/433245324/deidentifyTemplates/432452342` or - // projects/project-id/deidentifyTemplates/432452342. + // Required. Resource name of the organization and deidentify template to be + // read, for example `organizations/433245324/deidentifyTemplates/432452342` + // or projects/project-id/deidentifyTemplates/432452342. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` @@ -10615,7 +11164,7 @@ func (m *GetDeidentifyTemplateRequest) Reset() { *m = GetDeidentifyTempl func (m *GetDeidentifyTemplateRequest) String() string { return proto.CompactTextString(m) } func (*GetDeidentifyTemplateRequest) ProtoMessage() {} func (*GetDeidentifyTemplateRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_6872a91dcb80f8dc, []int{96} + return fileDescriptor_6872a91dcb80f8dc, []int{101} } func (m *GetDeidentifyTemplateRequest) XXX_Unmarshal(b []byte) error { @@ -10680,7 +11229,7 @@ func (m *ListDeidentifyTemplatesRequest) Reset() { *m = ListDeidentifyTe func (m *ListDeidentifyTemplatesRequest) String() string { return proto.CompactTextString(m) } func (*ListDeidentifyTemplatesRequest) ProtoMessage() {} func (*ListDeidentifyTemplatesRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_6872a91dcb80f8dc, []int{97} + return fileDescriptor_6872a91dcb80f8dc, []int{102} } func (m *ListDeidentifyTemplatesRequest) XXX_Unmarshal(b []byte) error { @@ -10753,7 +11302,7 @@ func (m *ListDeidentifyTemplatesResponse) Reset() { *m = ListDeidentifyT func (m *ListDeidentifyTemplatesResponse) String() string { return proto.CompactTextString(m) } func (*ListDeidentifyTemplatesResponse) ProtoMessage() {} func (*ListDeidentifyTemplatesResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_6872a91dcb80f8dc, []int{98} + return fileDescriptor_6872a91dcb80f8dc, []int{103} } func (m *ListDeidentifyTemplatesResponse) XXX_Unmarshal(b []byte) error { @@ -10790,8 +11339,9 @@ func (m *ListDeidentifyTemplatesResponse) GetNextPageToken() string { // Request message for DeleteDeidentifyTemplate. type DeleteDeidentifyTemplateRequest struct { - // Required. Resource name of the organization and deidentify template to be deleted, - // for example `organizations/433245324/deidentifyTemplates/432452342` or + // Required. Resource name of the organization and deidentify template to be + // deleted, for example + // `organizations/433245324/deidentifyTemplates/432452342` or // projects/project-id/deidentifyTemplates/432452342. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` @@ -10803,7 +11353,7 @@ func (m *DeleteDeidentifyTemplateRequest) Reset() { *m = DeleteDeidentif func (m *DeleteDeidentifyTemplateRequest) String() string { return proto.CompactTextString(m) } func (*DeleteDeidentifyTemplateRequest) ProtoMessage() {} func (*DeleteDeidentifyTemplateRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_6872a91dcb80f8dc, []int{99} + return fileDescriptor_6872a91dcb80f8dc, []int{104} } func (m *DeleteDeidentifyTemplateRequest) XXX_Unmarshal(b []byte) error { @@ -10856,7 +11406,7 @@ func (m *LargeCustomDictionaryConfig) Reset() { *m = LargeCustomDictiona func (m *LargeCustomDictionaryConfig) String() string { return proto.CompactTextString(m) } func (*LargeCustomDictionaryConfig) ProtoMessage() {} func (*LargeCustomDictionaryConfig) Descriptor() ([]byte, []int) { - return fileDescriptor_6872a91dcb80f8dc, []int{100} + return fileDescriptor_6872a91dcb80f8dc, []int{105} } func (m *LargeCustomDictionaryConfig) XXX_Unmarshal(b []byte) error { @@ -10942,7 +11492,7 @@ func (m *LargeCustomDictionaryStats) Reset() { *m = LargeCustomDictionar func (m *LargeCustomDictionaryStats) String() string { return proto.CompactTextString(m) } func (*LargeCustomDictionaryStats) ProtoMessage() {} func (*LargeCustomDictionaryStats) Descriptor() ([]byte, []int) { - return fileDescriptor_6872a91dcb80f8dc, []int{101} + return fileDescriptor_6872a91dcb80f8dc, []int{106} } func (m *LargeCustomDictionaryStats) XXX_Unmarshal(b []byte) error { @@ -10982,6 +11532,8 @@ type StoredInfoTypeConfig struct { // // Types that are valid to be assigned to Type: // *StoredInfoTypeConfig_LargeCustomDictionary + // *StoredInfoTypeConfig_Dictionary + // *StoredInfoTypeConfig_Regex Type isStoredInfoTypeConfig_Type `protobuf_oneof:"type"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` @@ -10992,7 +11544,7 @@ func (m *StoredInfoTypeConfig) Reset() { *m = StoredInfoTypeConfig{} } func (m *StoredInfoTypeConfig) String() string { return proto.CompactTextString(m) } func (*StoredInfoTypeConfig) ProtoMessage() {} func (*StoredInfoTypeConfig) Descriptor() ([]byte, []int) { - return fileDescriptor_6872a91dcb80f8dc, []int{102} + return fileDescriptor_6872a91dcb80f8dc, []int{107} } func (m *StoredInfoTypeConfig) XXX_Unmarshal(b []byte) error { @@ -11035,8 +11587,20 @@ type StoredInfoTypeConfig_LargeCustomDictionary struct { LargeCustomDictionary *LargeCustomDictionaryConfig `protobuf:"bytes,3,opt,name=large_custom_dictionary,json=largeCustomDictionary,proto3,oneof"` } +type StoredInfoTypeConfig_Dictionary struct { + Dictionary *CustomInfoType_Dictionary `protobuf:"bytes,4,opt,name=dictionary,proto3,oneof"` +} + +type StoredInfoTypeConfig_Regex struct { + Regex *CustomInfoType_Regex `protobuf:"bytes,5,opt,name=regex,proto3,oneof"` +} + func (*StoredInfoTypeConfig_LargeCustomDictionary) isStoredInfoTypeConfig_Type() {} +func (*StoredInfoTypeConfig_Dictionary) isStoredInfoTypeConfig_Type() {} + +func (*StoredInfoTypeConfig_Regex) isStoredInfoTypeConfig_Type() {} + func (m *StoredInfoTypeConfig) GetType() isStoredInfoTypeConfig_Type { if m != nil { return m.Type @@ -11051,10 +11615,26 @@ func (m *StoredInfoTypeConfig) GetLargeCustomDictionary() *LargeCustomDictionary return nil } +func (m *StoredInfoTypeConfig) GetDictionary() *CustomInfoType_Dictionary { + if x, ok := m.GetType().(*StoredInfoTypeConfig_Dictionary); ok { + return x.Dictionary + } + return nil +} + +func (m *StoredInfoTypeConfig) GetRegex() *CustomInfoType_Regex { + if x, ok := m.GetType().(*StoredInfoTypeConfig_Regex); ok { + return x.Regex + } + return nil +} + // XXX_OneofWrappers is for the internal use of the proto package. func (*StoredInfoTypeConfig) XXX_OneofWrappers() []interface{} { return []interface{}{ (*StoredInfoTypeConfig_LargeCustomDictionary)(nil), + (*StoredInfoTypeConfig_Dictionary)(nil), + (*StoredInfoTypeConfig_Regex)(nil), } } @@ -11074,7 +11654,7 @@ func (m *StoredInfoTypeStats) Reset() { *m = StoredInfoTypeStats{} } func (m *StoredInfoTypeStats) String() string { return proto.CompactTextString(m) } func (*StoredInfoTypeStats) ProtoMessage() {} func (*StoredInfoTypeStats) Descriptor() ([]byte, []int) { - return fileDescriptor_6872a91dcb80f8dc, []int{103} + return fileDescriptor_6872a91dcb80f8dc, []int{108} } func (m *StoredInfoTypeStats) XXX_Unmarshal(b []byte) error { @@ -11162,7 +11742,7 @@ func (m *StoredInfoTypeVersion) Reset() { *m = StoredInfoTypeVersion{} } func (m *StoredInfoTypeVersion) String() string { return proto.CompactTextString(m) } func (*StoredInfoTypeVersion) ProtoMessage() {} func (*StoredInfoTypeVersion) Descriptor() ([]byte, []int) { - return fileDescriptor_6872a91dcb80f8dc, []int{104} + return fileDescriptor_6872a91dcb80f8dc, []int{109} } func (m *StoredInfoTypeVersion) XXX_Unmarshal(b []byte) error { @@ -11237,7 +11817,7 @@ func (m *StoredInfoType) Reset() { *m = StoredInfoType{} } func (m *StoredInfoType) String() string { return proto.CompactTextString(m) } func (*StoredInfoType) ProtoMessage() {} func (*StoredInfoType) Descriptor() ([]byte, []int) { - return fileDescriptor_6872a91dcb80f8dc, []int{105} + return fileDescriptor_6872a91dcb80f8dc, []int{110} } func (m *StoredInfoType) XXX_Unmarshal(b []byte) error { @@ -11303,7 +11883,7 @@ func (m *CreateStoredInfoTypeRequest) Reset() { *m = CreateStoredInfoTyp func (m *CreateStoredInfoTypeRequest) String() string { return proto.CompactTextString(m) } func (*CreateStoredInfoTypeRequest) ProtoMessage() {} func (*CreateStoredInfoTypeRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_6872a91dcb80f8dc, []int{106} + return fileDescriptor_6872a91dcb80f8dc, []int{111} } func (m *CreateStoredInfoTypeRequest) XXX_Unmarshal(b []byte) error { @@ -11354,8 +11934,8 @@ func (m *CreateStoredInfoTypeRequest) GetLocationId() string { // Request message for UpdateStoredInfoType. type UpdateStoredInfoTypeRequest struct { - // Required. Resource name of organization and storedInfoType to be updated, for - // example `organizations/433245324/storedInfoTypes/432452342` or + // Required. Resource name of organization and storedInfoType to be updated, + // for example `organizations/433245324/storedInfoTypes/432452342` or // projects/project-id/storedInfoTypes/432452342. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // Updated configuration for the storedInfoType. If not provided, a new @@ -11373,7 +11953,7 @@ func (m *UpdateStoredInfoTypeRequest) Reset() { *m = UpdateStoredInfoTyp func (m *UpdateStoredInfoTypeRequest) String() string { return proto.CompactTextString(m) } func (*UpdateStoredInfoTypeRequest) ProtoMessage() {} func (*UpdateStoredInfoTypeRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_6872a91dcb80f8dc, []int{107} + return fileDescriptor_6872a91dcb80f8dc, []int{112} } func (m *UpdateStoredInfoTypeRequest) XXX_Unmarshal(b []byte) error { @@ -11417,8 +11997,8 @@ func (m *UpdateStoredInfoTypeRequest) GetUpdateMask() *field_mask.FieldMask { // Request message for GetStoredInfoType. type GetStoredInfoTypeRequest struct { - // Required. Resource name of the organization and storedInfoType to be read, for - // example `organizations/433245324/storedInfoTypes/432452342` or + // Required. Resource name of the organization and storedInfoType to be read, + // for example `organizations/433245324/storedInfoTypes/432452342` or // projects/project-id/storedInfoTypes/432452342. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` @@ -11430,7 +12010,7 @@ func (m *GetStoredInfoTypeRequest) Reset() { *m = GetStoredInfoTypeReque func (m *GetStoredInfoTypeRequest) String() string { return proto.CompactTextString(m) } func (*GetStoredInfoTypeRequest) ProtoMessage() {} func (*GetStoredInfoTypeRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_6872a91dcb80f8dc, []int{108} + return fileDescriptor_6872a91dcb80f8dc, []int{113} } func (m *GetStoredInfoTypeRequest) XXX_Unmarshal(b []byte) error { @@ -11496,7 +12076,7 @@ func (m *ListStoredInfoTypesRequest) Reset() { *m = ListStoredInfoTypesR func (m *ListStoredInfoTypesRequest) String() string { return proto.CompactTextString(m) } func (*ListStoredInfoTypesRequest) ProtoMessage() {} func (*ListStoredInfoTypesRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_6872a91dcb80f8dc, []int{109} + return fileDescriptor_6872a91dcb80f8dc, []int{114} } func (m *ListStoredInfoTypesRequest) XXX_Unmarshal(b []byte) error { @@ -11568,7 +12148,7 @@ func (m *ListStoredInfoTypesResponse) Reset() { *m = ListStoredInfoTypes func (m *ListStoredInfoTypesResponse) String() string { return proto.CompactTextString(m) } func (*ListStoredInfoTypesResponse) ProtoMessage() {} func (*ListStoredInfoTypesResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_6872a91dcb80f8dc, []int{110} + return fileDescriptor_6872a91dcb80f8dc, []int{115} } func (m *ListStoredInfoTypesResponse) XXX_Unmarshal(b []byte) error { @@ -11605,8 +12185,8 @@ func (m *ListStoredInfoTypesResponse) GetNextPageToken() string { // Request message for DeleteStoredInfoType. type DeleteStoredInfoTypeRequest struct { - // Required. Resource name of the organization and storedInfoType to be deleted, for - // example `organizations/433245324/storedInfoTypes/432452342` or + // Required. Resource name of the organization and storedInfoType to be + // deleted, for example `organizations/433245324/storedInfoTypes/432452342` or // projects/project-id/storedInfoTypes/432452342. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` @@ -11618,7 +12198,7 @@ func (m *DeleteStoredInfoTypeRequest) Reset() { *m = DeleteStoredInfoTyp func (m *DeleteStoredInfoTypeRequest) String() string { return proto.CompactTextString(m) } func (*DeleteStoredInfoTypeRequest) ProtoMessage() {} func (*DeleteStoredInfoTypeRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_6872a91dcb80f8dc, []int{111} + return fileDescriptor_6872a91dcb80f8dc, []int{116} } func (m *DeleteStoredInfoTypeRequest) XXX_Unmarshal(b []byte) error { @@ -11646,6 +12226,291 @@ func (m *DeleteStoredInfoTypeRequest) GetName() string { return "" } +// Request to search for potentially sensitive info in a custom location. +type HybridInspectJobTriggerRequest struct { + // Required. Resource name of the trigger to execute a hybrid inspect on, for + // example `projects/dlp-test-project/jobTriggers/53234423`. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // The item to inspect. + HybridItem *HybridContentItem `protobuf:"bytes,3,opt,name=hybrid_item,json=hybridItem,proto3" json:"hybrid_item,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *HybridInspectJobTriggerRequest) Reset() { *m = HybridInspectJobTriggerRequest{} } +func (m *HybridInspectJobTriggerRequest) String() string { return proto.CompactTextString(m) } +func (*HybridInspectJobTriggerRequest) ProtoMessage() {} +func (*HybridInspectJobTriggerRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_6872a91dcb80f8dc, []int{117} +} + +func (m *HybridInspectJobTriggerRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_HybridInspectJobTriggerRequest.Unmarshal(m, b) +} +func (m *HybridInspectJobTriggerRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_HybridInspectJobTriggerRequest.Marshal(b, m, deterministic) +} +func (m *HybridInspectJobTriggerRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_HybridInspectJobTriggerRequest.Merge(m, src) +} +func (m *HybridInspectJobTriggerRequest) XXX_Size() int { + return xxx_messageInfo_HybridInspectJobTriggerRequest.Size(m) +} +func (m *HybridInspectJobTriggerRequest) XXX_DiscardUnknown() { + xxx_messageInfo_HybridInspectJobTriggerRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_HybridInspectJobTriggerRequest proto.InternalMessageInfo + +func (m *HybridInspectJobTriggerRequest) GetName() string { + if m != nil { + return m.Name + } + return "" +} + +func (m *HybridInspectJobTriggerRequest) GetHybridItem() *HybridContentItem { + if m != nil { + return m.HybridItem + } + return nil +} + +// Request to search for potentially sensitive info in a custom location. +type HybridInspectDlpJobRequest struct { + // Required. Resource name of the job to execute a hybrid inspect on, for + // example `projects/dlp-test-project/dlpJob/53234423`. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // The item to inspect. + HybridItem *HybridContentItem `protobuf:"bytes,3,opt,name=hybrid_item,json=hybridItem,proto3" json:"hybrid_item,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *HybridInspectDlpJobRequest) Reset() { *m = HybridInspectDlpJobRequest{} } +func (m *HybridInspectDlpJobRequest) String() string { return proto.CompactTextString(m) } +func (*HybridInspectDlpJobRequest) ProtoMessage() {} +func (*HybridInspectDlpJobRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_6872a91dcb80f8dc, []int{118} +} + +func (m *HybridInspectDlpJobRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_HybridInspectDlpJobRequest.Unmarshal(m, b) +} +func (m *HybridInspectDlpJobRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_HybridInspectDlpJobRequest.Marshal(b, m, deterministic) +} +func (m *HybridInspectDlpJobRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_HybridInspectDlpJobRequest.Merge(m, src) +} +func (m *HybridInspectDlpJobRequest) XXX_Size() int { + return xxx_messageInfo_HybridInspectDlpJobRequest.Size(m) +} +func (m *HybridInspectDlpJobRequest) XXX_DiscardUnknown() { + xxx_messageInfo_HybridInspectDlpJobRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_HybridInspectDlpJobRequest proto.InternalMessageInfo + +func (m *HybridInspectDlpJobRequest) GetName() string { + if m != nil { + return m.Name + } + return "" +} + +func (m *HybridInspectDlpJobRequest) GetHybridItem() *HybridContentItem { + if m != nil { + return m.HybridItem + } + return nil +} + +// An individual hybrid item to inspect. Will be stored temporarily during +// processing. +type HybridContentItem struct { + // The item to inspect. + Item *ContentItem `protobuf:"bytes,1,opt,name=item,proto3" json:"item,omitempty"` + // Supplementary information that will be added to each finding. + FindingDetails *HybridFindingDetails `protobuf:"bytes,2,opt,name=finding_details,json=findingDetails,proto3" json:"finding_details,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *HybridContentItem) Reset() { *m = HybridContentItem{} } +func (m *HybridContentItem) String() string { return proto.CompactTextString(m) } +func (*HybridContentItem) ProtoMessage() {} +func (*HybridContentItem) Descriptor() ([]byte, []int) { + return fileDescriptor_6872a91dcb80f8dc, []int{119} +} + +func (m *HybridContentItem) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_HybridContentItem.Unmarshal(m, b) +} +func (m *HybridContentItem) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_HybridContentItem.Marshal(b, m, deterministic) +} +func (m *HybridContentItem) XXX_Merge(src proto.Message) { + xxx_messageInfo_HybridContentItem.Merge(m, src) +} +func (m *HybridContentItem) XXX_Size() int { + return xxx_messageInfo_HybridContentItem.Size(m) +} +func (m *HybridContentItem) XXX_DiscardUnknown() { + xxx_messageInfo_HybridContentItem.DiscardUnknown(m) +} + +var xxx_messageInfo_HybridContentItem proto.InternalMessageInfo + +func (m *HybridContentItem) GetItem() *ContentItem { + if m != nil { + return m.Item + } + return nil +} + +func (m *HybridContentItem) GetFindingDetails() *HybridFindingDetails { + if m != nil { + return m.FindingDetails + } + return nil +} + +// Populate to associate additional data with each finding. +type HybridFindingDetails struct { + // Details about the container where the content being inspected is from. + ContainerDetails *Container `protobuf:"bytes,1,opt,name=container_details,json=containerDetails,proto3" json:"container_details,omitempty"` + // Offset in bytes of the line, from the beginning of the file, where the + // finding is located. Populate if the item being scanned is only part of a + // bigger item, such as a shard of a file and you want to track the absolute + // position of the finding. + FileOffset int64 `protobuf:"varint,2,opt,name=file_offset,json=fileOffset,proto3" json:"file_offset,omitempty"` + // Offset of the row for tables. Populate if the row(s) being scanned are + // part of a bigger dataset and you want to keep track of their absolute + // position. + RowOffset int64 `protobuf:"varint,3,opt,name=row_offset,json=rowOffset,proto3" json:"row_offset,omitempty"` + // If the container is a table, additional information to make findings + // meaningful such as the columns that are primary keys. If not known ahead + // of time, can also be set within each inspect hybrid call and the two + // will be merged. Note that identifying_fields will only be stored to + // BigQuery, and only if the BigQuery action has been included. + TableOptions *TableOptions `protobuf:"bytes,4,opt,name=table_options,json=tableOptions,proto3" json:"table_options,omitempty"` + // Labels to represent user provided metadata about the data being inspected. + // If configured by the job, some key values may be required. + // The labels associated with `Finding`'s produced by hybrid + // inspection. + // + // Label keys must be between 1 and 63 characters long and must conform + // to the following regular expression: \[a-z\](\[-a-z0-9\]*\[a-z0-9\])?. + // + // Label values must be between 0 and 63 characters long and must conform + // to the regular expression (\[a-z\](\[-a-z0-9\]*\[a-z0-9\])?)?. + // + // No more than 10 labels can be associated with a given finding. + // + // Example: "environment" : "production" + // Example: "pipeline" : "etl" + Labels map[string]string `protobuf:"bytes,5,rep,name=labels,proto3" json:"labels,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:"-"` +} + +func (m *HybridFindingDetails) Reset() { *m = HybridFindingDetails{} } +func (m *HybridFindingDetails) String() string { return proto.CompactTextString(m) } +func (*HybridFindingDetails) ProtoMessage() {} +func (*HybridFindingDetails) Descriptor() ([]byte, []int) { + return fileDescriptor_6872a91dcb80f8dc, []int{120} +} + +func (m *HybridFindingDetails) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_HybridFindingDetails.Unmarshal(m, b) +} +func (m *HybridFindingDetails) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_HybridFindingDetails.Marshal(b, m, deterministic) +} +func (m *HybridFindingDetails) XXX_Merge(src proto.Message) { + xxx_messageInfo_HybridFindingDetails.Merge(m, src) +} +func (m *HybridFindingDetails) XXX_Size() int { + return xxx_messageInfo_HybridFindingDetails.Size(m) +} +func (m *HybridFindingDetails) XXX_DiscardUnknown() { + xxx_messageInfo_HybridFindingDetails.DiscardUnknown(m) +} + +var xxx_messageInfo_HybridFindingDetails proto.InternalMessageInfo + +func (m *HybridFindingDetails) GetContainerDetails() *Container { + if m != nil { + return m.ContainerDetails + } + return nil +} + +func (m *HybridFindingDetails) GetFileOffset() int64 { + if m != nil { + return m.FileOffset + } + return 0 +} + +func (m *HybridFindingDetails) GetRowOffset() int64 { + if m != nil { + return m.RowOffset + } + return 0 +} + +func (m *HybridFindingDetails) GetTableOptions() *TableOptions { + if m != nil { + return m.TableOptions + } + return nil +} + +func (m *HybridFindingDetails) GetLabels() map[string]string { + if m != nil { + return m.Labels + } + return nil +} + +// Quota exceeded errors will be thrown once quota has been met. +type HybridInspectResponse struct { + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *HybridInspectResponse) Reset() { *m = HybridInspectResponse{} } +func (m *HybridInspectResponse) String() string { return proto.CompactTextString(m) } +func (*HybridInspectResponse) ProtoMessage() {} +func (*HybridInspectResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_6872a91dcb80f8dc, []int{121} +} + +func (m *HybridInspectResponse) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_HybridInspectResponse.Unmarshal(m, b) +} +func (m *HybridInspectResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_HybridInspectResponse.Marshal(b, m, deterministic) +} +func (m *HybridInspectResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_HybridInspectResponse.Merge(m, src) +} +func (m *HybridInspectResponse) XXX_Size() int { + return xxx_messageInfo_HybridInspectResponse.Size(m) +} +func (m *HybridInspectResponse) XXX_DiscardUnknown() { + xxx_messageInfo_HybridInspectResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_HybridInspectResponse proto.InternalMessageInfo + func init() { proto.RegisterEnum("google.privacy.dlp.v2.RelationalOperator", RelationalOperator_name, RelationalOperator_value) proto.RegisterEnum("google.privacy.dlp.v2.MatchingType", MatchingType_name, MatchingType_value) @@ -11675,11 +12540,13 @@ func init() { proto.RegisterType((*Table_Row)(nil), "google.privacy.dlp.v2.Table.Row") proto.RegisterType((*InspectResult)(nil), "google.privacy.dlp.v2.InspectResult") proto.RegisterType((*Finding)(nil), "google.privacy.dlp.v2.Finding") + proto.RegisterMapType((map[string]string)(nil), "google.privacy.dlp.v2.Finding.LabelsEntry") proto.RegisterType((*Location)(nil), "google.privacy.dlp.v2.Location") proto.RegisterType((*ContentLocation)(nil), "google.privacy.dlp.v2.ContentLocation") proto.RegisterType((*DocumentLocation)(nil), "google.privacy.dlp.v2.DocumentLocation") proto.RegisterType((*RecordLocation)(nil), "google.privacy.dlp.v2.RecordLocation") proto.RegisterType((*TableLocation)(nil), "google.privacy.dlp.v2.TableLocation") + proto.RegisterType((*Container)(nil), "google.privacy.dlp.v2.Container") proto.RegisterType((*Range)(nil), "google.privacy.dlp.v2.Range") proto.RegisterType((*ImageLocation)(nil), "google.privacy.dlp.v2.ImageLocation") proto.RegisterType((*BoundingBox)(nil), "google.privacy.dlp.v2.BoundingBox") @@ -11698,6 +12565,7 @@ func init() { proto.RegisterType((*InspectDataSourceDetails)(nil), "google.privacy.dlp.v2.InspectDataSourceDetails") proto.RegisterType((*InspectDataSourceDetails_RequestedOptions)(nil), "google.privacy.dlp.v2.InspectDataSourceDetails.RequestedOptions") proto.RegisterType((*InspectDataSourceDetails_Result)(nil), "google.privacy.dlp.v2.InspectDataSourceDetails.Result") + proto.RegisterType((*HybridInspectStatistics)(nil), "google.privacy.dlp.v2.HybridInspectStatistics") proto.RegisterType((*InfoTypeDescription)(nil), "google.privacy.dlp.v2.InfoTypeDescription") proto.RegisterType((*ListInfoTypesRequest)(nil), "google.privacy.dlp.v2.ListInfoTypesRequest") proto.RegisterType((*ListInfoTypesResponse)(nil), "google.privacy.dlp.v2.ListInfoTypesResponse") @@ -11737,6 +12605,9 @@ func init() { proto.RegisterType((*DateTime)(nil), "google.privacy.dlp.v2.DateTime") proto.RegisterType((*DateTime_TimeZone)(nil), "google.privacy.dlp.v2.DateTime.TimeZone") proto.RegisterType((*DeidentifyConfig)(nil), "google.privacy.dlp.v2.DeidentifyConfig") + proto.RegisterType((*TransformationErrorHandling)(nil), "google.privacy.dlp.v2.TransformationErrorHandling") + proto.RegisterType((*TransformationErrorHandling_ThrowError)(nil), "google.privacy.dlp.v2.TransformationErrorHandling.ThrowError") + proto.RegisterType((*TransformationErrorHandling_LeaveUntransformed)(nil), "google.privacy.dlp.v2.TransformationErrorHandling.LeaveUntransformed") proto.RegisterType((*PrimitiveTransformation)(nil), "google.privacy.dlp.v2.PrimitiveTransformation") proto.RegisterType((*TimePartConfig)(nil), "google.privacy.dlp.v2.TimePartConfig") proto.RegisterType((*CryptoHashConfig)(nil), "google.privacy.dlp.v2.CryptoHashConfig") @@ -11768,6 +12639,7 @@ func init() { proto.RegisterType((*TransformationSummary)(nil), "google.privacy.dlp.v2.TransformationSummary") proto.RegisterType((*TransformationSummary_SummaryResult)(nil), "google.privacy.dlp.v2.TransformationSummary.SummaryResult") proto.RegisterType((*Schedule)(nil), "google.privacy.dlp.v2.Schedule") + proto.RegisterType((*Manual)(nil), "google.privacy.dlp.v2.Manual") proto.RegisterType((*InspectTemplate)(nil), "google.privacy.dlp.v2.InspectTemplate") proto.RegisterType((*DeidentifyTemplate)(nil), "google.privacy.dlp.v2.DeidentifyTemplate") proto.RegisterType((*Error)(nil), "google.privacy.dlp.v2.Error") @@ -11800,6 +12672,7 @@ func init() { proto.RegisterType((*ListDlpJobsRequest)(nil), "google.privacy.dlp.v2.ListDlpJobsRequest") proto.RegisterType((*ListDlpJobsResponse)(nil), "google.privacy.dlp.v2.ListDlpJobsResponse") proto.RegisterType((*CancelDlpJobRequest)(nil), "google.privacy.dlp.v2.CancelDlpJobRequest") + proto.RegisterType((*FinishDlpJobRequest)(nil), "google.privacy.dlp.v2.FinishDlpJobRequest") proto.RegisterType((*DeleteDlpJobRequest)(nil), "google.privacy.dlp.v2.DeleteDlpJobRequest") proto.RegisterType((*CreateDeidentifyTemplateRequest)(nil), "google.privacy.dlp.v2.CreateDeidentifyTemplateRequest") proto.RegisterType((*UpdateDeidentifyTemplateRequest)(nil), "google.privacy.dlp.v2.UpdateDeidentifyTemplateRequest") @@ -11819,6 +12692,12 @@ func init() { proto.RegisterType((*ListStoredInfoTypesRequest)(nil), "google.privacy.dlp.v2.ListStoredInfoTypesRequest") proto.RegisterType((*ListStoredInfoTypesResponse)(nil), "google.privacy.dlp.v2.ListStoredInfoTypesResponse") proto.RegisterType((*DeleteStoredInfoTypeRequest)(nil), "google.privacy.dlp.v2.DeleteStoredInfoTypeRequest") + proto.RegisterType((*HybridInspectJobTriggerRequest)(nil), "google.privacy.dlp.v2.HybridInspectJobTriggerRequest") + proto.RegisterType((*HybridInspectDlpJobRequest)(nil), "google.privacy.dlp.v2.HybridInspectDlpJobRequest") + proto.RegisterType((*HybridContentItem)(nil), "google.privacy.dlp.v2.HybridContentItem") + proto.RegisterType((*HybridFindingDetails)(nil), "google.privacy.dlp.v2.HybridFindingDetails") + proto.RegisterMapType((map[string]string)(nil), "google.privacy.dlp.v2.HybridFindingDetails.LabelsEntry") + proto.RegisterType((*HybridInspectResponse)(nil), "google.privacy.dlp.v2.HybridInspectResponse") } func init() { @@ -11826,669 +12705,727 @@ func init() { } var fileDescriptor_6872a91dcb80f8dc = []byte{ - // 10586 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe4, 0xbd, 0x6b, 0x6c, 0x23, 0x59, - 0x76, 0x18, 0xac, 0x22, 0x45, 0x89, 0x3a, 0x14, 0x25, 0xea, 0xea, 0xd9, 0xec, 0xee, 0xe9, 0xe9, - 0xea, 0x99, 0xee, 0x1e, 0x4d, 0xb7, 0x34, 0xa3, 0x79, 0xf6, 0x63, 0x1e, 0x14, 0xc9, 0x16, 0xd5, - 0xa3, 0x57, 0x17, 0xa9, 0x9e, 0x69, 0x79, 0xbe, 0xa9, 0xaf, 0x44, 0x96, 0xa4, 0x6a, 0x91, 0x2c, - 0x4e, 0x55, 0xb1, 0x5b, 0x9a, 0xc9, 0x04, 0x9b, 0xd8, 0xf1, 0x23, 0xc9, 0xc4, 0x0b, 0xd8, 0xd9, - 0x4d, 0xbc, 0xc6, 0x26, 0xf0, 0x06, 0x49, 0xb0, 0x80, 0x93, 0xd8, 0x79, 0x19, 0xd9, 0xc4, 0x41, - 0x80, 0xc4, 0x5e, 0x18, 0x5e, 0xc7, 0x9b, 0x45, 0xfc, 0x68, 0x3b, 0x8e, 0xe1, 0xec, 0x7a, 0x8d, - 0x59, 0xe4, 0x01, 0x64, 0xb3, 0xc8, 0x2e, 0x92, 0x20, 0xb8, 0x8f, 0x7a, 0x57, 0x91, 0x45, 0x49, - 0xed, 0x35, 0x9c, 0x5f, 0xe4, 0x7d, 0x9c, 0x73, 0xef, 0x3d, 0xe7, 0xdc, 0x73, 0xce, 0xbd, 0xf7, - 0xdc, 0x5b, 0x70, 0x6e, 0x57, 0x55, 0x77, 0xeb, 0xf2, 0x7c, 0x4b, 0x53, 0x1e, 0x48, 0xd5, 0xc3, - 0xf9, 0x5a, 0xbd, 0x35, 0xff, 0x60, 0x01, 0xff, 0xcc, 0xb5, 0x34, 0xd5, 0x50, 0xd1, 0x24, 0xad, - 0x30, 0xc7, 0x2a, 0xcc, 0xe1, 0x92, 0x07, 0x0b, 0xd9, 0x33, 0x0c, 0x4e, 0x6a, 0x29, 0xf3, 0x52, - 0xb3, 0xa9, 0x1a, 0x92, 0xa1, 0xa8, 0x4d, 0x9d, 0x02, 0x65, 0xa7, 0x1d, 0xa5, 0xd5, 0xba, 0x22, - 0x37, 0x0d, 0x56, 0x70, 0xce, 0x51, 0xb0, 0xa3, 0xc8, 0xf5, 0x9a, 0xb8, 0x2d, 0xef, 0x49, 0x0f, - 0x14, 0x55, 0x63, 0x15, 0x4e, 0x39, 0x2a, 0x68, 0xb2, 0xae, 0xb6, 0xb5, 0xaa, 0xcc, 0x8a, 0x2e, - 0x04, 0x77, 0x55, 0x37, 0x54, 0x4d, 0xda, 0x35, 0x2b, 0x3d, 0x61, 0x55, 0x52, 0x0d, 0x75, 0xbb, - 0xbd, 0x33, 0x5f, 0x6b, 0x6b, 0xa4, 0x6b, 0xac, 0xfc, 0xb4, 0xb7, 0x5c, 0x6e, 0xb4, 0x8c, 0x43, - 0x56, 0xf8, 0xa4, 0xb7, 0x90, 0x76, 0xb1, 0x21, 0xe9, 0xfb, 0x9e, 0xfe, 0x5b, 0x35, 0x0c, 0xa5, - 0x21, 0xeb, 0x86, 0xd4, 0x68, 0x79, 0x46, 0xae, 0xb5, 0xaa, 0xf3, 0xba, 0x21, 0x19, 0x6d, 0x93, - 0x24, 0x53, 0xac, 0xc0, 0x38, 0x6c, 0xc9, 0xf3, 0x35, 0xc9, 0x90, 0x3d, 0x1d, 0x62, 0xf9, 0x87, - 0xea, 0xce, 0x43, 0x59, 0xde, 0x0f, 0x2a, 0xc4, 0x4d, 0xa9, 0x3b, 0x35, 0x89, 0xf5, 0x96, 0x17, - 0x20, 0x53, 0x3c, 0xa8, 0xd6, 0xdb, 0x35, 0x79, 0xb9, 0xb9, 0xa3, 0x56, 0x0e, 0x5b, 0xb2, 0x8e, - 0x5e, 0x07, 0x50, 0x9a, 0x3b, 0xaa, 0x88, 0x01, 0xf4, 0x19, 0xee, 0xc9, 0xf8, 0xe5, 0xd4, 0xc2, - 0xb9, 0xb9, 0x40, 0x16, 0xce, 0x99, 0x50, 0xc2, 0x90, 0x62, 0xc2, 0xf3, 0x5f, 0x8b, 0x41, 0x9a, - 0x20, 0xd5, 0x15, 0xb5, 0x29, 0xb4, 0xeb, 0x32, 0x12, 0x00, 0x6a, 0x4a, 0x15, 0x53, 0x50, 0xd2, - 0x0e, 0x67, 0xb8, 0x27, 0xb9, 0xcb, 0xa9, 0x85, 0xe7, 0x42, 0x30, 0xe6, 0xdb, 0xba, 0xa1, 0x36, - 0x4c, 0xbc, 0x73, 0x05, 0x0b, 0xae, 0xd4, 0x27, 0x38, 0xb0, 0xa0, 0x3c, 0x24, 0x34, 0x79, 0x57, - 0x3e, 0x98, 0x89, 0x11, 0x74, 0xcf, 0x46, 0x43, 0x27, 0x60, 0x90, 0x52, 0x9f, 0x40, 0x61, 0xd1, - 0xdb, 0x80, 0x64, 0x3a, 0x7c, 0xd1, 0x31, 0xe4, 0x38, 0xc1, 0x78, 0x29, 0x04, 0xa3, 0x97, 0x5e, - 0xa5, 0x3e, 0x21, 0x23, 0x7b, 0x69, 0x58, 0x82, 0x74, 0x43, 0x32, 0xaa, 0x7b, 0x4a, 0x73, 0x97, - 0x20, 0x9d, 0xe9, 0x7f, 0x92, 0xbb, 0x3c, 0xb2, 0x70, 0x21, 0x04, 0xe7, 0x2a, 0xab, 0x4b, 0x48, - 0x39, 0xdc, 0x70, 0xa4, 0x16, 0x07, 0xa0, 0x1f, 0x23, 0xe0, 0xbf, 0xc2, 0xc1, 0xc8, 0x72, 0x53, - 0x6f, 0xc9, 0x84, 0x02, 0x84, 0xac, 0x35, 0x18, 0xde, 0x53, 0x8d, 0x87, 0xaa, 0x56, 0x13, 0xb5, - 0x76, 0x5d, 0x66, 0x84, 0x7d, 0x23, 0x22, 0x61, 0x65, 0xc3, 0x46, 0x35, 0x57, 0xa2, 0x78, 0xf0, - 0xff, 0x52, 0x9f, 0x90, 0xda, 0xb3, 0x93, 0x68, 0x15, 0x46, 0x64, 0x93, 0x9b, 0xb4, 0x1d, 0x4a, - 0xf1, 0xa7, 0x3a, 0xd1, 0xc7, 0x64, 0x7d, 0xa9, 0x4f, 0x48, 0xcb, 0xce, 0x0c, 0x6b, 0x3c, 0x9f, - 0xe6, 0x60, 0xcc, 0x3d, 0x9e, 0xb2, 0x6c, 0x1c, 0x57, 0xf6, 0xd0, 0x0d, 0x48, 0xe0, 0x2e, 0xea, - 0x33, 0x31, 0x02, 0xfa, 0x74, 0x28, 0xa8, 0xb3, 0x61, 0x81, 0xc2, 0xf0, 0x1f, 0x0f, 0x42, 0x9a, - 0x95, 0xe4, 0xd5, 0xe6, 0x8e, 0xb2, 0x7b, 0xec, 0xee, 0x94, 0x60, 0xa4, 0xa1, 0x34, 0xc5, 0xba, - 0xb2, 0x2f, 0xd7, 0x95, 0x3d, 0x55, 0xad, 0x11, 0xda, 0x8d, 0x2c, 0x9c, 0x0f, 0xc1, 0xb1, 0x62, - 0x55, 0x14, 0xd2, 0x0d, 0xa5, 0x69, 0x27, 0xd1, 0x6d, 0x18, 0xa8, 0x2b, 0x0d, 0xc5, 0x30, 0xa5, - 0x73, 0xa1, 0xf3, 0xc8, 0x68, 0xff, 0xe7, 0x6e, 0x29, 0xcd, 0x9a, 0xd2, 0xdc, 0x5d, 0x21, 0x90, - 0x02, 0xc3, 0x80, 0x2e, 0x40, 0x5a, 0x69, 0x52, 0xa9, 0x7f, 0xbf, 0xad, 0x1a, 0x54, 0x38, 0x93, - 0xc2, 0x30, 0xcb, 0xbc, 0x83, 0xf3, 0xd0, 0x95, 0xc0, 0xa9, 0x91, 0x20, 0x35, 0xfd, 0xf2, 0x7e, - 0x07, 0xc6, 0xaa, 0x44, 0xbe, 0x9c, 0x95, 0x07, 0x3a, 0xf2, 0xc0, 0x2d, 0x8f, 0xc2, 0x68, 0xd5, - 0x95, 0xd6, 0xd1, 0x2a, 0x8c, 0x56, 0xd5, 0xa6, 0x21, 0x37, 0x0d, 0x51, 0x6d, 0x11, 0xc3, 0x30, - 0x93, 0x7c, 0x32, 0x7e, 0x79, 0x24, 0x54, 0xf0, 0xf2, 0xb4, 0xf6, 0x3a, 0xa9, 0x2c, 0x8c, 0x54, - 0x9d, 0x49, 0x1d, 0xe5, 0x21, 0x89, 0xb9, 0x2c, 0xea, 0xb2, 0x31, 0x03, 0xa4, 0x63, 0x97, 0x23, - 0x09, 0x47, 0x59, 0x36, 0x84, 0x41, 0x8d, 0xfe, 0xc9, 0x7e, 0x2b, 0x06, 0x69, 0x17, 0x4d, 0xd1, - 0xf3, 0x30, 0xd9, 0x90, 0x0e, 0xc4, 0x1d, 0x9a, 0xa9, 0x8b, 0x2d, 0x59, 0x13, 0x15, 0x43, 0x6e, - 0x90, 0xc9, 0x98, 0x10, 0x50, 0x43, 0x3a, 0x60, 0x00, 0xfa, 0x86, 0xac, 0x2d, 0x1b, 0x72, 0x03, - 0xbd, 0x02, 0x33, 0x3e, 0x10, 0x4d, 0x7e, 0xbf, 0x2d, 0xeb, 0x06, 0x11, 0x8f, 0x84, 0x30, 0xe9, - 0x86, 0x12, 0x68, 0x21, 0xfa, 0x33, 0x90, 0xf5, 0xb7, 0x65, 0x92, 0x7b, 0x26, 0x4e, 0x06, 0xf5, - 0x66, 0xef, 0x72, 0x61, 0x49, 0x2e, 0x49, 0x0a, 0x53, 0x9e, 0x2e, 0xb3, 0xc2, 0x6c, 0x0b, 0x4f, - 0x0e, 0x47, 0x45, 0x74, 0x13, 0x86, 0xec, 0xd6, 0xa9, 0xee, 0xe9, 0x3a, 0x37, 0x92, 0xe6, 0xdc, - 0x40, 0xe7, 0x61, 0xd8, 0x39, 0x18, 0x36, 0xf2, 0x94, 0xa3, 0x71, 0xfe, 0x3b, 0x1c, 0x8c, 0x2e, - 0x1e, 0x1a, 0x32, 0x63, 0x2c, 0x21, 0x5e, 0x81, 0xaa, 0x0f, 0xd2, 0xde, 0x48, 0xa8, 0x11, 0xf1, - 0x40, 0x91, 0xb4, 0x4e, 0x3a, 0x40, 0xa0, 0x11, 0x82, 0xfe, 0x9a, 0x64, 0x48, 0xa4, 0xd1, 0x61, - 0x81, 0xfc, 0xe7, 0x7f, 0x94, 0x83, 0x21, 0xab, 0x1e, 0xca, 0xc2, 0xd4, 0xe2, 0xbd, 0x4a, 0xb1, - 0x2c, 0x56, 0xee, 0x6d, 0x14, 0xc5, 0xcd, 0xb5, 0xf2, 0x46, 0x31, 0xbf, 0x7c, 0x6b, 0xb9, 0x58, - 0xc8, 0xf4, 0xa1, 0x21, 0x48, 0x2c, 0xaf, 0xe6, 0x96, 0x8a, 0x99, 0x01, 0x34, 0x02, 0x40, 0xfe, - 0x8a, 0xb7, 0x37, 0x8a, 0x4b, 0x19, 0x0e, 0xa5, 0x61, 0x88, 0xa6, 0x17, 0x57, 0x37, 0x32, 0x31, - 0x3b, 0xb9, 0xb1, 0xb6, 0x94, 0x89, 0xdb, 0xc9, 0xf2, 0xdd, 0xa5, 0x4c, 0x3f, 0x4e, 0x56, 0x8a, - 0xef, 0x54, 0xc4, 0xcd, 0xca, 0xad, 0x57, 0x33, 0x09, 0x94, 0x84, 0xfe, 0xdc, 0x5d, 0x61, 0x3d, - 0x93, 0xe2, 0xff, 0x3e, 0x07, 0x29, 0xe7, 0xa0, 0xa7, 0x20, 0xf1, 0x40, 0xaa, 0xb7, 0x65, 0x32, - 0xf7, 0x87, 0xb0, 0xf9, 0x22, 0x49, 0xf4, 0x22, 0x24, 0x0c, 0x69, 0xbb, 0x4e, 0x27, 0x70, 0x6a, - 0xe1, 0x4c, 0x08, 0x35, 0x2a, 0xb8, 0x0e, 0x86, 0x22, 0x95, 0x51, 0x11, 0x86, 0xb6, 0x0f, 0x0d, - 0x99, 0x8a, 0x69, 0x82, 0x40, 0x5e, 0x8c, 0x46, 0xc7, 0x52, 0x9f, 0x90, 0xc4, 0xa0, 0xf8, 0xff, - 0x62, 0x0a, 0x86, 0x30, 0xdd, 0x08, 0x1a, 0xfe, 0x1f, 0x71, 0x90, 0x20, 0xcd, 0xa0, 0x57, 0x61, - 0x70, 0x4f, 0x96, 0x6a, 0xb2, 0x66, 0xea, 0xcb, 0x27, 0x42, 0x70, 0xdf, 0xc2, 0x7e, 0xd1, 0x72, - 0x4d, 0x30, 0xab, 0xa3, 0x17, 0xa1, 0x5f, 0x53, 0x1f, 0x9a, 0xaa, 0xfb, 0xc9, 0x4e, 0x83, 0x99, - 0x13, 0xd4, 0x87, 0x02, 0xa9, 0x9d, 0xbd, 0x01, 0x71, 0x41, 0x7d, 0x88, 0x5e, 0x84, 0x01, 0x42, - 0x13, 0xb3, 0xd5, 0x30, 0x5a, 0xdc, 0xc5, 0x95, 0x04, 0x56, 0x97, 0xff, 0xc0, 0x52, 0xf8, 0x82, - 0xac, 0xb7, 0xeb, 0x06, 0xba, 0x0e, 0x49, 0x4b, 0x22, 0xbb, 0x75, 0x9f, 0x54, 0x13, 0xac, 0xfa, - 0xe8, 0x2a, 0x20, 0x6b, 0x6a, 0x1a, 0x5a, 0xbb, 0x59, 0x95, 0x0c, 0x99, 0x2a, 0xfc, 0xa4, 0x30, - 0x66, 0x96, 0x54, 0xcc, 0x02, 0xfe, 0x77, 0x62, 0x30, 0xc8, 0x90, 0xa0, 0x09, 0x48, 0x50, 0x4d, - 0x8c, 0xc5, 0x7a, 0x48, 0xa0, 0x09, 0xf7, 0x04, 0x8b, 0xf5, 0x3a, 0xc1, 0x72, 0x00, 0x0e, 0xbb, - 0x13, 0x8f, 0x6a, 0x77, 0x1c, 0x40, 0xe8, 0x06, 0x24, 0xeb, 0x6a, 0x95, 0xb8, 0xbe, 0x4c, 0xc4, - 0xc2, 0xda, 0x5f, 0x61, 0xd5, 0x04, 0x0b, 0x00, 0xdd, 0x80, 0x54, 0x55, 0x93, 0x25, 0x43, 0x16, - 0xb1, 0xd3, 0x39, 0x33, 0x40, 0xe0, 0xb3, 0x36, 0x3c, 0x75, 0x7e, 0xe7, 0x2a, 0xa6, 0xf3, 0x2b, - 0x00, 0xad, 0x8e, 0x33, 0xd0, 0x1b, 0x00, 0x84, 0x06, 0x44, 0xbf, 0xcd, 0x0c, 0x12, 0xd8, 0x30, - 0x89, 0x20, 0xf6, 0x0a, 0x13, 0x40, 0x18, 0x7a, 0xdf, 0xfc, 0xcb, 0xff, 0x27, 0x0e, 0x92, 0x2b, - 0x76, 0x57, 0x80, 0x48, 0xbc, 0x26, 0x35, 0x77, 0x4d, 0x55, 0x15, 0x26, 0x20, 0x02, 0xae, 0x23, - 0x90, 0x19, 0x42, 0xfe, 0xa2, 0x22, 0xb6, 0x43, 0x35, 0xb9, 0xa5, 0x2a, 0x4d, 0x83, 0x61, 0x88, - 0x45, 0xc0, 0x30, 0x62, 0x01, 0x51, 0x34, 0x65, 0x18, 0x33, 0xcd, 0x99, 0x49, 0x22, 0x7d, 0x66, - 0x90, 0x88, 0xd8, 0xc5, 0xce, 0x06, 0xcd, 0xa2, 0x6d, 0xa6, 0xea, 0xce, 0xd0, 0xf9, 0x7f, 0x1a, - 0x87, 0x51, 0x4f, 0x2d, 0xf4, 0x34, 0x10, 0xd3, 0x27, 0x29, 0x4d, 0x59, 0x13, 0x9b, 0x52, 0xc3, - 0x14, 0xaa, 0xb4, 0x95, 0xbb, 0x26, 0x35, 0x64, 0xb4, 0x01, 0xa3, 0x9a, 0x5c, 0xc5, 0xbe, 0xa3, - 0xc5, 0x62, 0x3a, 0xac, 0x30, 0x7b, 0x2d, 0x90, 0xda, 0x66, 0x33, 0xa5, 0x3e, 0x61, 0x44, 0x73, - 0xe5, 0x60, 0x47, 0x51, 0x69, 0x48, 0xbb, 0xb2, 0x8d, 0x30, 0xde, 0xd1, 0x51, 0x5c, 0xc6, 0x95, - 0x1d, 0xf8, 0xd2, 0x8a, 0x33, 0x03, 0xdd, 0x85, 0xb1, 0x9a, 0x5a, 0x6d, 0x37, 0x9c, 0x14, 0x63, - 0xea, 0x2a, 0xcc, 0x35, 0x2f, 0xb0, 0xfa, 0x0e, 0xa4, 0x99, 0x9a, 0x27, 0x0f, 0xbd, 0x05, 0xe3, - 0x36, 0x7d, 0xac, 0xa5, 0x57, 0x04, 0xf9, 0x44, 0x16, 0x98, 0x95, 0x87, 0x9e, 0xa5, 0x5c, 0xa5, - 0xc8, 0x1e, 0xc8, 0x1a, 0x76, 0x73, 0x89, 0xb8, 0x0e, 0x51, 0x6e, 0x91, 0x82, 0xbb, 0x34, 0x7f, - 0x11, 0xec, 0xe9, 0xc4, 0xbf, 0x00, 0x19, 0x6f, 0x6f, 0xd1, 0x39, 0x48, 0xed, 0x28, 0x75, 0x59, - 0x54, 0x77, 0x76, 0xb0, 0x97, 0x82, 0xd9, 0x16, 0x17, 0x00, 0x67, 0xad, 0x93, 0x1c, 0xfe, 0xb7, - 0x39, 0x18, 0x71, 0xb3, 0x01, 0x4f, 0x14, 0xc6, 0xc6, 0x7d, 0xd9, 0x5c, 0x5a, 0x3d, 0xd9, 0x91, - 0x83, 0x6f, 0xc9, 0x87, 0xc2, 0x90, 0x66, 0xfe, 0x45, 0xd7, 0xb0, 0xc6, 0xc3, 0x2b, 0x54, 0xa5, - 0xc6, 0x04, 0xa0, 0xab, 0xc2, 0xde, 0xa1, 0x7f, 0xd0, 0x5b, 0x30, 0x42, 0x2c, 0x4a, 0x54, 0x86, - 0x13, 0xd5, 0x6d, 0x49, 0x73, 0xda, 0x70, 0x26, 0xf9, 0x2b, 0x90, 0x76, 0x95, 0xa3, 0xd3, 0x30, - 0xa4, 0xa9, 0x0f, 0x45, 0xa5, 0x59, 0x93, 0x0f, 0x18, 0x2d, 0x92, 0x9a, 0xfa, 0x70, 0x19, 0xa7, - 0xf9, 0x79, 0x48, 0xd0, 0x69, 0x35, 0x01, 0x09, 0xdd, 0x90, 0x34, 0x93, 0x5a, 0x34, 0x81, 0x32, - 0x10, 0x97, 0x9b, 0x74, 0x3c, 0x71, 0x01, 0xff, 0xe5, 0xb7, 0x20, 0xed, 0x92, 0x37, 0xb4, 0x0c, - 0x23, 0xdb, 0x6a, 0x9b, 0xa8, 0x5f, 0x71, 0x5b, 0x3d, 0xb0, 0x0c, 0x07, 0x1f, 0x66, 0x0a, 0x59, - 0xe5, 0x45, 0xf5, 0x40, 0x48, 0x6f, 0xdb, 0x09, 0x59, 0xe7, 0x25, 0x48, 0x39, 0x4a, 0x71, 0xe3, - 0x86, 0xda, 0x62, 0x0e, 0x20, 0xfe, 0x8b, 0xdd, 0x8d, 0xba, 0xbc, 0x63, 0x7a, 0x77, 0xe4, 0x3f, - 0xee, 0xf8, 0x43, 0xa5, 0x66, 0xec, 0x11, 0x9a, 0x25, 0x04, 0x9a, 0x40, 0x53, 0x30, 0xb0, 0x27, - 0x2b, 0xbb, 0x7b, 0x06, 0xd1, 0xb7, 0x09, 0x81, 0xa5, 0xf8, 0x1f, 0x4d, 0x00, 0x12, 0xe4, 0x9a, - 0x54, 0x35, 0xc8, 0x28, 0x4c, 0x8f, 0xb0, 0x04, 0x03, 0x2d, 0x49, 0x93, 0x9b, 0x74, 0xf8, 0x43, - 0x8b, 0xcf, 0x7d, 0x2f, 0x77, 0x15, 0x9e, 0xad, 0xd6, 0xd5, 0x76, 0xcd, 0xdc, 0xf8, 0x68, 0x48, - 0x4d, 0x69, 0x57, 0xd6, 0xd8, 0xa8, 0xa4, 0x96, 0xa2, 0xcf, 0x55, 0xd5, 0xc6, 0xfc, 0x86, 0xa6, - 0xde, 0xc7, 0x66, 0x8f, 0xc1, 0x63, 0xd9, 0x33, 0xb9, 0x88, 0x25, 0x21, 0x49, 0x44, 0x18, 0xcc, - 0x2c, 0xca, 0x6c, 0x85, 0x9a, 0x4a, 0xb1, 0x4a, 0x9c, 0xc8, 0x2e, 0xcb, 0x40, 0x97, 0xc3, 0x29, - 0xa4, 0x15, 0xd7, 0xba, 0xea, 0x01, 0x4c, 0x53, 0x55, 0xa1, 0x91, 0x31, 0xe1, 0x46, 0x29, 0x52, - 0xbc, 0xc2, 0xc0, 0x5c, 0x78, 0x3d, 0x54, 0x84, 0xbd, 0x34, 0x98, 0x63, 0x09, 0x86, 0x87, 0xb5, - 0x37, 0xa9, 0x04, 0xe4, 0xea, 0xe8, 0x19, 0xc8, 0x98, 0x2b, 0x1f, 0xcb, 0xcc, 0x0f, 0x10, 0x03, - 0x3d, 0xca, 0xf2, 0x4d, 0xe7, 0x13, 0xe5, 0x9d, 0x5e, 0xd2, 0x60, 0x2f, 0x5e, 0x92, 0xed, 0x23, - 0x65, 0xbf, 0xca, 0xc1, 0x44, 0x50, 0xff, 0xd0, 0xeb, 0xbd, 0xfb, 0xce, 0xd8, 0xf9, 0xb2, 0x8c, - 0xfb, 0x65, 0xac, 0xbd, 0x31, 0x4a, 0x51, 0xaa, 0xd7, 0x45, 0x43, 0x3e, 0xa0, 0xc2, 0x95, 0xc4, - 0x6a, 0x94, 0x16, 0xe4, 0xea, 0xf5, 0x8a, 0x7c, 0x60, 0x60, 0xf3, 0xe5, 0x24, 0x72, 0x5d, 0xd5, - 0xd8, 0x2c, 0x3d, 0x13, 0x6a, 0x75, 0xea, 0xaa, 0x86, 0x95, 0xbb, 0xd5, 0xe3, 0xba, 0xaa, 0x2d, - 0x26, 0x61, 0xc0, 0x90, 0xb4, 0x5d, 0xd9, 0xe0, 0xf3, 0x90, 0x20, 0x59, 0x58, 0xce, 0x35, 0xb9, - 0x46, 0x7a, 0x1f, 0x13, 0xf0, 0x5f, 0x2c, 0xd3, 0xbb, 0x9a, 0x2c, 0x53, 0x4b, 0x12, 0x13, 0x68, - 0x02, 0x4b, 0xff, 0xb6, 0xe9, 0xbc, 0xc6, 0x04, 0xf2, 0x9f, 0xff, 0x07, 0x1c, 0x8c, 0xbb, 0x78, - 0xa9, 0xb7, 0xd4, 0xa6, 0x2e, 0x63, 0xe3, 0x45, 0x1b, 0x96, 0x6b, 0x22, 0x61, 0x21, 0x41, 0x3f, - 0x6c, 0x0e, 0x4a, 0xae, 0x91, 0xea, 0xb8, 0x9a, 0x7c, 0x60, 0x68, 0xb4, 0x9e, 0x35, 0xfa, 0x21, - 0x21, 0x6d, 0xe5, 0x92, 0xb1, 0x3b, 0x64, 0x56, 0x23, 0xfe, 0x5d, 0x37, 0x8b, 0xe4, 0xf4, 0x05, - 0x2d, 0x99, 0xa5, 0x49, 0xfe, 0xd7, 0xe2, 0x30, 0x53, 0x90, 0x95, 0x9a, 0xdc, 0x34, 0x94, 0x9d, - 0x43, 0xc6, 0xef, 0x93, 0x9f, 0x88, 0x15, 0x18, 0xab, 0x59, 0xad, 0xb8, 0xa7, 0x5a, 0xa8, 0xd9, - 0x73, 0xf6, 0x0a, 0x4b, 0x7f, 0xa6, 0xe6, 0xc9, 0x09, 0x98, 0xbd, 0xf1, 0xa3, 0xcf, 0xde, 0x97, - 0xa1, 0x9f, 0xcc, 0x0a, 0xea, 0x12, 0xf2, 0x9d, 0xbd, 0x17, 0x32, 0x23, 0x48, 0x7d, 0xb4, 0x00, - 0x93, 0x66, 0x27, 0x0c, 0xb9, 0xd1, 0xaa, 0x63, 0xdf, 0x90, 0x38, 0x28, 0x09, 0xc2, 0xbc, 0x71, - 0x56, 0x58, 0x61, 0x65, 0xc4, 0x4d, 0x79, 0x15, 0x66, 0x1c, 0xe4, 0x70, 0x83, 0x0d, 0x10, 0xb0, - 0x29, 0xbb, 0xdc, 0x05, 0xe9, 0xd1, 0x68, 0x83, 0x5e, 0x8d, 0xc6, 0x7f, 0x9e, 0x83, 0x53, 0x01, - 0x0c, 0x65, 0x92, 0x68, 0x0e, 0x92, 0xeb, 0x71, 0x90, 0xcb, 0x90, 0x54, 0x1f, 0xc8, 0xda, 0x03, - 0x45, 0x7e, 0xc8, 0xd8, 0x76, 0x35, 0xcc, 0x1c, 0x6a, 0x52, 0x53, 0xdf, 0x51, 0xb5, 0x06, 0xe9, - 0xd0, 0x3a, 0x03, 0x12, 0x2c, 0x70, 0xfe, 0xab, 0x71, 0x98, 0x11, 0xc2, 0x24, 0xee, 0x2d, 0x8f, - 0xc4, 0xbd, 0xf0, 0xfb, 0xb9, 0xd8, 0x71, 0x84, 0x4e, 0x3b, 0xb6, 0xd0, 0x69, 0x7f, 0x9a, 0x84, - 0x4e, 0xeb, 0x22, 0x74, 0xda, 0x31, 0x84, 0x4e, 0xf8, 0x93, 0x2c, 0x74, 0x5f, 0x8a, 0xc1, 0xa4, - 0xcd, 0x88, 0xc7, 0xa3, 0xe3, 0x4e, 0xd4, 0x97, 0x30, 0x69, 0x16, 0x3f, 0x29, 0xc1, 0xe8, 0x0f, - 0x17, 0x0c, 0x0f, 0x7b, 0x13, 0x3e, 0xf6, 0xde, 0x85, 0x29, 0x2f, 0xf1, 0x18, 0x6b, 0x6f, 0xc2, - 0x00, 0xb3, 0x41, 0x5c, 0x0f, 0x36, 0x88, 0xc1, 0xf0, 0xbf, 0x1a, 0x83, 0xf1, 0xf5, 0xb6, 0xd1, - 0x6a, 0x1b, 0x65, 0x7a, 0x54, 0xc5, 0x06, 0x7f, 0xd3, 0xdc, 0x01, 0xea, 0x8c, 0x74, 0x51, 0xd9, - 0xbd, 0xd3, 0x96, 0xb5, 0x43, 0xcf, 0x4e, 0xd0, 0xbb, 0x90, 0x56, 0x09, 0x52, 0x51, 0xaf, 0xee, - 0xc9, 0x0d, 0x89, 0xed, 0x12, 0xbc, 0x12, 0x82, 0x25, 0xa0, 0x03, 0x66, 0x1e, 0x01, 0x17, 0x86, - 0x55, 0x47, 0x8a, 0xff, 0x34, 0x07, 0xc3, 0xce, 0x62, 0x74, 0x16, 0x4e, 0xad, 0x6f, 0x56, 0x36, - 0x36, 0x2b, 0x62, 0x39, 0x5f, 0x2a, 0xae, 0xe6, 0x3c, 0xdb, 0x6a, 0x63, 0x90, 0x5e, 0xcc, 0x95, - 0x97, 0xf3, 0x62, 0x7e, 0x7d, 0x65, 0x73, 0x75, 0xad, 0x9c, 0xe1, 0xd0, 0x28, 0xa4, 0x96, 0xf2, - 0x65, 0x2b, 0x23, 0x86, 0x26, 0x61, 0xac, 0x90, 0xab, 0xe4, 0xca, 0x95, 0x75, 0xa1, 0x68, 0x65, - 0xc7, 0x71, 0xf6, 0xe2, 0xf2, 0x92, 0x78, 0x67, 0xb3, 0x28, 0xdc, 0xb3, 0xb2, 0xfb, 0x31, 0x78, - 0x6e, 0x65, 0xc5, 0xca, 0x48, 0x58, 0x87, 0x0f, 0x55, 0x7b, 0x2f, 0xb3, 0x6c, 0x48, 0x86, 0x7e, - 0xcc, 0xbd, 0xcc, 0x09, 0x48, 0x54, 0xd5, 0x76, 0xd3, 0x60, 0x0b, 0x0e, 0x9a, 0xe0, 0x7f, 0xbd, - 0x1f, 0x66, 0x18, 0x37, 0x0b, 0x92, 0x21, 0x95, 0xc9, 0x0c, 0x29, 0xc8, 0x86, 0xa4, 0xd4, 0x75, - 0xd4, 0xc0, 0x1a, 0x97, 0xcc, 0x2b, 0xb9, 0x66, 0xed, 0x6f, 0xd3, 0x59, 0xd0, 0x65, 0x0b, 0xd7, - 0x87, 0x6b, 0x4e, 0x30, 0x11, 0xb1, 0xbd, 0x6e, 0xac, 0x8a, 0xdd, 0x39, 0x68, 0xcd, 0x92, 0x3e, - 0x3a, 0x4d, 0x5e, 0xee, 0xbd, 0x0d, 0xa7, 0x3c, 0x66, 0x7f, 0x91, 0x83, 0x8c, 0xb7, 0x59, 0xb4, - 0x0d, 0xa7, 0xf4, 0xa6, 0xd4, 0xd2, 0xf7, 0x54, 0x43, 0xf4, 0x4e, 0x2d, 0x46, 0xd4, 0x8b, 0x9d, - 0xdb, 0x35, 0x27, 0x9b, 0x30, 0x6d, 0x22, 0xf2, 0x14, 0xa0, 0x5b, 0x00, 0xf7, 0xd5, 0x6d, 0xb7, - 0x3d, 0xb9, 0xd4, 0x19, 0xe9, 0x6d, 0x75, 0x9b, 0x69, 0x8e, 0xa1, 0xfb, 0xe6, 0xdf, 0xec, 0x3f, - 0xe4, 0x60, 0x80, 0xed, 0xf9, 0x5d, 0x82, 0xd1, 0x96, 0xa6, 0x56, 0x65, 0x5d, 0x97, 0x6b, 0x22, - 0x76, 0xdd, 0x75, 0xb6, 0x98, 0x1c, 0xb1, 0xb2, 0xc9, 0xbe, 0x30, 0xd6, 0x18, 0x86, 0x6a, 0x48, - 0x75, 0x51, 0xd6, 0x0d, 0xa5, 0x21, 0x19, 0x56, 0x75, 0xca, 0xf6, 0x71, 0x52, 0x58, 0x34, 0xcb, - 0x28, 0xcc, 0x0a, 0x8c, 0x5a, 0x82, 0x25, 0xea, 0x58, 0xd6, 0xd8, 0x46, 0xfd, 0x53, 0x5d, 0xc4, - 0x8b, 0xc8, 0x25, 0xd6, 0x75, 0x8e, 0x24, 0xff, 0x2f, 0x38, 0x18, 0x37, 0x2b, 0x14, 0x64, 0xbd, - 0xaa, 0x29, 0x84, 0xf4, 0xd8, 0xc5, 0x76, 0xec, 0xf4, 0x90, 0xff, 0xe8, 0x3c, 0x0c, 0xd7, 0x14, - 0xbd, 0x55, 0x97, 0x0e, 0xa9, 0x5a, 0xa3, 0x1e, 0x72, 0x8a, 0xe5, 0x11, 0x75, 0xb6, 0x0a, 0xc3, - 0x7a, 0xbb, 0xd5, 0x52, 0x35, 0x3a, 0x14, 0xd2, 0xb3, 0x91, 0x85, 0xd9, 0x6e, 0x3d, 0x33, 0x41, - 0x16, 0x0f, 0x85, 0x94, 0x6e, 0x27, 0xd0, 0x93, 0x90, 0xaa, 0xd9, 0x9d, 0x62, 0x7a, 0xd4, 0x99, - 0xc5, 0x1b, 0x30, 0xb1, 0xa2, 0xe8, 0x86, 0x75, 0xc8, 0x63, 0x9a, 0x96, 0x0b, 0x90, 0xae, 0x4b, - 0xcd, 0xdd, 0x36, 0x5e, 0x12, 0x56, 0xd5, 0x9a, 0x39, 0x90, 0x61, 0x33, 0x33, 0xaf, 0xd6, 0x64, - 0xbc, 0x36, 0xde, 0x51, 0xea, 0x86, 0xac, 0xb1, 0xa1, 0xb0, 0x94, 0x57, 0x29, 0xc7, 0x7d, 0x4a, - 0x79, 0x1b, 0x26, 0x3d, 0xad, 0x32, 0x9d, 0xbc, 0x1c, 0x70, 0xbc, 0xd7, 0x6d, 0xf4, 0x0e, 0xb2, - 0x3b, 0x0f, 0xbd, 0xff, 0x90, 0x83, 0x49, 0x41, 0xd1, 0xf7, 0x73, 0x4d, 0xa9, 0x7e, 0xa8, 0x2b, - 0xba, 0x25, 0x74, 0xd8, 0xd8, 0x31, 0x54, 0x62, 0x43, 0x36, 0x34, 0xa5, 0xda, 0x45, 0x57, 0x6f, - 0xd0, 0xe4, 0x2a, 0xa9, 0x2b, 0xa4, 0x5b, 0xce, 0x24, 0x5a, 0x82, 0x61, 0x6a, 0x69, 0x45, 0xaa, - 0xf6, 0x63, 0xd1, 0xd5, 0xbe, 0x90, 0xa2, 0x90, 0x74, 0x9b, 0xfe, 0x15, 0x18, 0xa4, 0xcb, 0x3b, - 0x53, 0x1e, 0xcf, 0x86, 0xe0, 0xc8, 0xd1, 0x93, 0x30, 0xb3, 0x36, 0xff, 0x07, 0x1c, 0x0c, 0xde, - 0x69, 0x4b, 0xba, 0xb2, 0x5c, 0x43, 0xd7, 0x20, 0x41, 0xf6, 0x82, 0xd8, 0x88, 0xba, 0x6c, 0x1c, - 0x2d, 0xc6, 0x7f, 0x3f, 0x17, 0x13, 0x28, 0x84, 0x7b, 0x01, 0x1c, 0xeb, 0x7d, 0x01, 0x7c, 0x0e, - 0x80, 0x1d, 0x38, 0x1a, 0xd2, 0xae, 0x75, 0x2e, 0x32, 0x44, 0xf3, 0x2a, 0xd2, 0x2e, 0x7a, 0x11, - 0x70, 0x65, 0x59, 0xc3, 0x4b, 0x54, 0xea, 0x33, 0x4e, 0xf9, 0xf6, 0xf6, 0x8a, 0x8d, 0x96, 0x71, - 0xc8, 0xd0, 0x92, 0x9a, 0x8b, 0x09, 0x88, 0x1b, 0xd2, 0x2e, 0xff, 0xed, 0x18, 0x64, 0xf0, 0x8c, - 0x53, 0x74, 0x43, 0xa9, 0x4a, 0x75, 0x4a, 0xb2, 0x37, 0x4c, 0x5b, 0x1b, 0x8f, 0x4e, 0x74, 0x36, - 0x66, 0x6a, 0x6e, 0xdf, 0x83, 0xa1, 0xf7, 0x31, 0xe5, 0x44, 0xa5, 0x66, 0x4a, 0xdb, 0xcd, 0x10, - 0x24, 0xde, 0xc6, 0xe7, 0x18, 0xc9, 0x89, 0xdb, 0xa8, 0xc8, 0x1a, 0x21, 0x29, 0x45, 0x9e, 0x7c, - 0x9f, 0x16, 0xe9, 0x48, 0x00, 0xa4, 0xc9, 0x75, 0xc9, 0x50, 0x1e, 0xc8, 0xe2, 0x0e, 0x31, 0x01, - 0xcd, 0xea, 0x61, 0xb4, 0x4d, 0x3d, 0x8a, 0x6a, 0xcc, 0x04, 0xbf, 0x65, 0x42, 0x67, 0xf7, 0x61, - 0x22, 0xa8, 0x69, 0xf4, 0x62, 0x4f, 0xac, 0x37, 0xb9, 0x7e, 0xd6, 0xc5, 0x35, 0x3a, 0x8d, 0x6d, - 0x9e, 0xf1, 0x3f, 0x8c, 0x20, 0xed, 0x12, 0x7f, 0xf4, 0x3e, 0x4c, 0x35, 0xdb, 0x0d, 0x59, 0xc3, - 0x84, 0xa0, 0xea, 0xd3, 0x54, 0xfd, 0xb4, 0xdd, 0x6b, 0x51, 0x26, 0xd1, 0xdc, 0x9a, 0x89, 0x82, - 0x68, 0x51, 0x3a, 0x2f, 0x4b, 0x7d, 0xc2, 0x44, 0x33, 0x20, 0x1f, 0x3d, 0x84, 0x99, 0xaa, 0x64, - 0xc8, 0xbb, 0x6a, 0x40, 0xa3, 0x94, 0x96, 0x37, 0x22, 0x35, 0x9a, 0xb7, 0x91, 0xb8, 0x9b, 0x9d, - 0xaa, 0x06, 0x96, 0x20, 0x19, 0xd0, 0xbe, 0x28, 0x35, 0xd5, 0xe6, 0x61, 0x43, 0x31, 0x0e, 0xdd, - 0x26, 0xee, 0xa5, 0x48, 0x4d, 0xbe, 0x95, 0x33, 0xa1, 0xad, 0xc6, 0x32, 0xfb, 0x9e, 0x3c, 0xdc, - 0x4c, 0x5d, 0xac, 0x29, 0x64, 0xb3, 0xda, 0x6e, 0xa6, 0xbf, 0x87, 0x66, 0x56, 0x0a, 0x26, 0xb4, - 0xdd, 0x4c, 0xdd, 0x93, 0x87, 0x34, 0x98, 0xde, 0x17, 0x1b, 0x52, 0xcb, 0x34, 0x96, 0xf6, 0x1e, - 0x1f, 0xdb, 0xc4, 0x8f, 0xc6, 0xba, 0xb7, 0x56, 0xa5, 0x56, 0xd1, 0xc2, 0x60, 0xb3, 0x6e, 0x3f, - 0x20, 0x1f, 0x7d, 0xcc, 0xc1, 0x93, 0x35, 0xb9, 0x6e, 0x48, 0x62, 0x4b, 0x93, 0x75, 0xb9, 0x59, - 0x95, 0x03, 0x5a, 0xa7, 0x1b, 0xfd, 0x8b, 0x91, 0x5a, 0x2f, 0x60, 0x64, 0x1b, 0x0c, 0x57, 0x40, - 0x37, 0xce, 0xd6, 0x3a, 0x55, 0xc8, 0xae, 0xc0, 0x44, 0x90, 0xe8, 0x1d, 0x6d, 0xf2, 0x64, 0xd7, - 0x60, 0x2a, 0x58, 0xa6, 0x8e, 0x88, 0xef, 0x63, 0x0e, 0x32, 0x5e, 0x89, 0x41, 0x37, 0xfc, 0x3a, - 0xaa, 0x1b, 0x3a, 0x5b, 0x01, 0xdd, 0x84, 0x21, 0xac, 0x25, 0x8c, 0x43, 0xfb, 0x30, 0x21, 0x4c, - 0xa9, 0x17, 0x49, 0x3d, 0x0c, 0x2d, 0xb3, 0x7f, 0xd9, 0xbf, 0xc9, 0x41, 0xc6, 0x2b, 0x5a, 0xc7, - 0xeb, 0xcf, 0x3a, 0x8c, 0xeb, 0x72, 0x53, 0x57, 0x88, 0x46, 0x94, 0x0c, 0x43, 0x53, 0xb6, 0xdb, - 0x86, 0x1c, 0xf1, 0x98, 0x03, 0x59, 0xa0, 0x39, 0x13, 0x32, 0xfb, 0x43, 0x83, 0x30, 0x11, 0x24, - 0x91, 0x68, 0xd7, 0xdf, 0xcd, 0xe2, 0x91, 0xe5, 0x7b, 0xae, 0x22, 0xed, 0xee, 0xca, 0xb5, 0x40, - 0x1d, 0x7f, 0x0e, 0x52, 0x9a, 0xbc, 0x4b, 0xc5, 0xb9, 0x66, 0x3a, 0x75, 0x40, 0xb3, 0x88, 0x97, - 0xa4, 0x43, 0x46, 0x6a, 0x1f, 0x28, 0x75, 0x45, 0xd2, 0x0e, 0xa9, 0x93, 0x60, 0x5a, 0xf8, 0xd2, - 0xd1, 0x3b, 0x94, 0x33, 0x31, 0x52, 0x4f, 0x62, 0x54, 0x72, 0xa5, 0xf5, 0xec, 0x1f, 0x72, 0x90, - 0x72, 0x74, 0xfa, 0x4f, 0xad, 0x63, 0x90, 0xfd, 0xc1, 0x38, 0x8c, 0xb8, 0x89, 0x71, 0x7c, 0xb7, - 0xe0, 0xa1, 0x5f, 0x76, 0x36, 0x4f, 0x8a, 0x55, 0xa6, 0xdf, 0xf0, 0xc7, 0xe6, 0x2f, 0x54, 0x61, - 0xd8, 0xd9, 0xe4, 0x63, 0xf1, 0x13, 0xb2, 0xbf, 0xc1, 0xc1, 0xd9, 0x8e, 0xaa, 0x19, 0xbd, 0x19, - 0x5d, 0x6d, 0xb0, 0xee, 0xf6, 0x3c, 0xd1, 0x84, 0xd0, 0x89, 0x76, 0x29, 0xa2, 0x53, 0xe7, 0x9b, - 0x47, 0xd6, 0xfe, 0xc4, 0x4f, 0x5c, 0x84, 0x33, 0x64, 0x25, 0xf1, 0x81, 0x6c, 0x2f, 0xc5, 0xf1, - 0xf2, 0xc2, 0xdc, 0x3e, 0x78, 0x0f, 0x66, 0xec, 0xed, 0x83, 0x63, 0x2c, 0x2f, 0xa6, 0x2c, 0x2c, - 0x6e, 0xbf, 0x6b, 0x0b, 0xec, 0x12, 0xf1, 0xc8, 0x2b, 0x8e, 0x09, 0x0b, 0x47, 0xd9, 0xb1, 0xf4, - 0xf8, 0x14, 0xe7, 0x77, 0xea, 0x5c, 0x9b, 0x13, 0x61, 0x8a, 0xaa, 0x13, 0x45, 0x3c, 0x3e, 0x1e, - 0x5d, 0xda, 0xfb, 0x7d, 0x3c, 0xb6, 0xe4, 0xff, 0x61, 0x2e, 0xc8, 0xc9, 0x63, 0x9d, 0xa0, 0x4a, - 0xe1, 0xf6, 0x51, 0x3a, 0xe1, 0xb5, 0xcf, 0x56, 0x37, 0x7c, 0x3e, 0x1f, 0xeb, 0x88, 0xe1, 0xf6, - 0xf9, 0x58, 0x0f, 0xa8, 0x83, 0x54, 0x38, 0x4a, 0x0f, 0x6c, 0x83, 0x6e, 0xb5, 0xed, 0x70, 0x01, - 0xed, 0x56, 0x9d, 0x2e, 0x20, 0x6b, 0x75, 0xe0, 0xe8, 0xad, 0xda, 0x66, 0xdb, 0x6e, 0xb5, 0xee, - 0xc9, 0x43, 0x7f, 0x8e, 0x0b, 0x70, 0x09, 0x59, 0xdb, 0x83, 0x47, 0x67, 0xbc, 0x5b, 0x0b, 0xda, - 0x8c, 0xdf, 0x0f, 0xc8, 0x47, 0x3f, 0xdd, 0xd1, 0x43, 0x64, 0x9d, 0x19, 0x22, 0x9d, 0xb9, 0x73, - 0x94, 0xce, 0x84, 0x68, 0x25, 0xab, 0x57, 0x61, 0x0e, 0x23, 0xad, 0x90, 0xfd, 0x1a, 0xe7, 0xf5, - 0x18, 0x59, 0xbf, 0xaf, 0xc1, 0x50, 0x43, 0x69, 0x8a, 0x34, 0x0a, 0xb0, 0x73, 0x00, 0x13, 0x8d, - 0x70, 0x4b, 0x36, 0x94, 0x26, 0xf9, 0x47, 0x40, 0xa5, 0x03, 0x06, 0x1a, 0x8b, 0x04, 0x2a, 0x1d, - 0x50, 0xd0, 0x22, 0x8c, 0xbe, 0xdf, 0x96, 0x9a, 0x86, 0x52, 0x97, 0x45, 0x16, 0x5d, 0xd7, 0x1f, - 0x21, 0xba, 0x6e, 0xc4, 0x04, 0x22, 0x49, 0x3d, 0xfb, 0x71, 0xbf, 0xdf, 0x73, 0x65, 0xe3, 0xfa, - 0xc7, 0x1c, 0x9c, 0x27, 0x98, 0x6d, 0x03, 0x24, 0xee, 0x29, 0xba, 0xa1, 0xee, 0x6a, 0x52, 0x43, - 0xdc, 0x6e, 0x57, 0xf7, 0x65, 0xc3, 0x8c, 0x09, 0xb8, 0x7f, 0x72, 0x33, 0xd2, 0x97, 0x5d, 0x32, - 0xdb, 0x5c, 0x24, 0x4d, 0x0a, 0x4f, 0x90, 0x4e, 0x59, 0x66, 0xcd, 0x53, 0xac, 0x67, 0xff, 0x59, - 0x0c, 0xce, 0x75, 0xc1, 0x81, 0x5e, 0x83, 0xd3, 0xde, 0xa1, 0xd5, 0xd5, 0x87, 0xb2, 0x26, 0x92, - 0xe8, 0x11, 0xb6, 0xc7, 0x38, 0xe3, 0x6e, 0x68, 0x05, 0x57, 0x20, 0xc1, 0x24, 0x41, 0xe0, 0xed, - 0x56, 0xcb, 0x02, 0x8f, 0x05, 0x81, 0x6f, 0xe2, 0x0a, 0x14, 0xfc, 0x1c, 0xa4, 0x28, 0xf9, 0x44, - 0x5d, 0xf9, 0x80, 0x3a, 0x27, 0x71, 0x01, 0x68, 0x56, 0x59, 0xf9, 0x40, 0x46, 0xb7, 0x21, 0xcd, - 0x2a, 0xb8, 0x58, 0xfb, 0x74, 0x27, 0xd6, 0x5a, 0x0d, 0x09, 0xc3, 0x14, 0x96, 0x72, 0x18, 0x5d, - 0x01, 0xe4, 0xc4, 0x25, 0xd2, 0xdd, 0xf0, 0x04, 0x69, 0x33, 0xe3, 0xa8, 0x99, 0xc7, 0xf9, 0xd9, - 0x6f, 0x25, 0x9c, 0x0b, 0x0f, 0x26, 0x09, 0x3f, 0xcb, 0xc1, 0x05, 0xf9, 0xfd, 0xb6, 0xf2, 0x40, - 0xaa, 0x93, 0x69, 0x59, 0xad, 0x4b, 0xba, 0x1e, 0x2a, 0x0b, 0xef, 0x9d, 0x84, 0x6e, 0x74, 0x64, - 0x78, 0xf9, 0xff, 0xa4, 0xa3, 0x2b, 0x79, 0xdc, 0x13, 0x9f, 0x04, 0xfc, 0x14, 0x07, 0x59, 0x1b, - 0xbe, 0xe8, 0xa9, 0x8e, 0x6e, 0x41, 0xc6, 0x72, 0x40, 0xc4, 0x1e, 0x22, 0x53, 0x47, 0x4c, 0x07, - 0x84, 0x51, 0xf6, 0x45, 0x98, 0xf2, 0x53, 0x85, 0x70, 0x94, 0x0a, 0xc0, 0x84, 0xb7, 0xa3, 0x98, - 0xb7, 0xd9, 0x1f, 0x8b, 0xc3, 0xa9, 0xd0, 0xc1, 0xa1, 0xdb, 0xc0, 0x07, 0xe3, 0x0c, 0x90, 0xcf, - 0x27, 0x82, 0xf0, 0x3b, 0xa4, 0x34, 0x1c, 0x97, 0x5f, 0x58, 0x03, 0x71, 0xf5, 0x22, 0xb2, 0x3f, - 0xc4, 0x05, 0xcb, 0xac, 0x78, 0xc2, 0xd2, 0xe0, 0xe5, 0xe6, 0xb1, 0xa4, 0xfd, 0x67, 0x06, 0x9d, - 0xcb, 0x5a, 0x26, 0xed, 0xff, 0x9c, 0x83, 0x67, 0xed, 0xa5, 0x69, 0x54, 0x0d, 0xf8, 0xde, 0x49, - 0xd8, 0x66, 0x47, 0x86, 0x57, 0xea, 0x2f, 0x59, 0x5d, 0xba, 0xdb, 0x59, 0xfd, 0xfd, 0x93, 0x18, - 0x64, 0x6d, 0x34, 0x7f, 0xb2, 0x84, 0x1f, 0xe5, 0xe0, 0x6c, 0xb3, 0xdd, 0x10, 0x6b, 0xd8, 0xd5, - 0x6e, 0x56, 0x0d, 0xd1, 0x43, 0x67, 0x9d, 0x09, 0x56, 0xb6, 0xd9, 0x6e, 0x14, 0x58, 0x9d, 0xb2, - 0x6b, 0xdc, 0x3a, 0x7a, 0x1b, 0x26, 0x0c, 0xb5, 0xe5, 0x87, 0xec, 0x49, 0x45, 0x22, 0x43, 0x6d, - 0x79, 0x10, 0x67, 0xff, 0x6a, 0x1c, 0x4e, 0x85, 0xd2, 0x1f, 0x6d, 0xc0, 0xd3, 0xe1, 0x42, 0xe1, - 0x9f, 0x9b, 0xe7, 0x43, 0xd8, 0xe5, 0x98, 0x9e, 0x1d, 0x31, 0xfa, 0x67, 0x68, 0x18, 0xc6, 0xef, - 0xdb, 0x24, 0xed, 0x20, 0xbc, 0x27, 0x3a, 0x49, 0x7f, 0x3a, 0xe1, 0xdd, 0xd8, 0x61, 0x13, 0xf5, - 0x0b, 0x1c, 0x64, 0x7d, 0x4e, 0xab, 0x35, 0x3f, 0x99, 0x54, 0xef, 0x9c, 0x94, 0xdf, 0xea, 0xc9, - 0xf4, 0xce, 0xcf, 0xe9, 0xfd, 0xe0, 0xe2, 0xec, 0x67, 0x38, 0x38, 0xed, 0x06, 0x65, 0xab, 0x5a, - 0x46, 0x8c, 0x93, 0x9a, 0x90, 0xf3, 0x30, 0x6e, 0x9f, 0x7d, 0x5a, 0xcb, 0x16, 0x26, 0x3c, 0xc8, - 0x2a, 0xb2, 0x14, 0x69, 0xf6, 0x5f, 0xc7, 0xe0, 0x6c, 0xc7, 0x31, 0xa1, 0x0b, 0x90, 0xc6, 0x9e, - 0xad, 0x8d, 0x8c, 0xca, 0xf6, 0x70, 0x43, 0x69, 0x5a, 0x68, 0x48, 0x25, 0xe9, 0xc0, 0xd7, 0xe2, - 0x70, 0x43, 0x3a, 0xb0, 0x2b, 0x79, 0x24, 0x33, 0xe1, 0x93, 0xcc, 0x1f, 0xf3, 0x49, 0x26, 0xbd, - 0xa1, 0x56, 0x7b, 0x4c, 0xec, 0x73, 0xf1, 0x20, 0x92, 0x78, 0x0e, 0x86, 0x88, 0xe7, 0x77, 0x13, - 0xa1, 0x1b, 0x1e, 0x4c, 0x4e, 0x7f, 0x99, 0x83, 0x0b, 0xe1, 0x0b, 0x1b, 0xaf, 0xc0, 0x1e, 0x9c, - 0xf8, 0xda, 0x26, 0xac, 0xd4, 0xe7, 0x58, 0xd5, 0xba, 0xd4, 0xcb, 0x7e, 0x81, 0x83, 0xa7, 0x42, - 0x90, 0x3d, 0x1e, 0xa1, 0x7e, 0x01, 0x26, 0x6d, 0xa1, 0x6e, 0x69, 0xea, 0xb6, 0xb4, 0xad, 0xd4, - 0x4d, 0x21, 0xe3, 0x84, 0x09, 0xab, 0x70, 0xc3, 0x2e, 0xcb, 0x7e, 0x33, 0x06, 0x17, 0xa3, 0x0d, - 0x19, 0x5d, 0x82, 0x51, 0x2c, 0xe1, 0x4e, 0xcc, 0x1c, 0xc1, 0x3c, 0xd2, 0x50, 0x9a, 0x0e, 0x9c, - 0xa4, 0xa2, 0x74, 0x10, 0xd0, 0x85, 0x91, 0x86, 0x74, 0xe0, 0xac, 0xd8, 0x55, 0xd2, 0x3f, 0x17, - 0x22, 0xe9, 0x0f, 0xfe, 0xd8, 0xf8, 0x7e, 0x62, 0xb2, 0xbf, 0x98, 0x34, 0x43, 0x57, 0xf8, 0x2d, - 0x18, 0x71, 0x9b, 0x25, 0xb4, 0x60, 0x5e, 0x8c, 0x8b, 0xb2, 0x24, 0x66, 0x97, 0xe6, 0x82, 0x83, - 0x75, 0x3e, 0x1f, 0x87, 0x04, 0x5d, 0xf4, 0x3e, 0x0d, 0x69, 0xa5, 0x69, 0xc8, 0xbb, 0xb2, 0xe6, - 0x58, 0x6e, 0xc7, 0x4b, 0x7d, 0xc2, 0x30, 0xcb, 0xa6, 0xd5, 0xce, 0x43, 0x6a, 0xa7, 0xae, 0x4a, - 0x86, 0x63, 0x61, 0xcd, 0x95, 0xfa, 0x04, 0x20, 0x99, 0xb4, 0xca, 0x05, 0x18, 0xd6, 0x0d, 0x4d, - 0x69, 0xee, 0x8a, 0xee, 0xdb, 0x7b, 0x29, 0x9a, 0x6b, 0x35, 0xb7, 0xad, 0xaa, 0x75, 0x59, 0x32, - 0x57, 0xf7, 0xfd, 0x2c, 0x8e, 0x7b, 0x98, 0x65, 0x5b, 0x4b, 0x71, 0xeb, 0xae, 0x0a, 0xab, 0x98, - 0xe8, 0x76, 0x63, 0xa5, 0xd4, 0x27, 0x8c, 0x58, 0x40, 0x14, 0xcd, 0x2b, 0x00, 0x38, 0x87, 0x61, - 0x18, 0x70, 0x6f, 0x7f, 0x1b, 0x87, 0x2d, 0x99, 0x40, 0xaf, 0xef, 0x14, 0xa4, 0xc3, 0x52, 0x9f, - 0x30, 0x84, 0xeb, 0x52, 0xc0, 0x05, 0x80, 0x9a, 0x64, 0x98, 0x80, 0x74, 0xbb, 0x66, 0xcc, 0x05, - 0x58, 0x90, 0x0c, 0x19, 0xc3, 0xe0, 0x6a, 0x14, 0x26, 0x0f, 0x63, 0x35, 0xe9, 0x50, 0x54, 0x77, - 0xc4, 0x87, 0xb2, 0xbc, 0xcf, 0x40, 0x93, 0x24, 0xc4, 0x6c, 0xca, 0x03, 0x7a, 0xb8, 0xbe, 0xf3, - 0xb6, 0x2c, 0xef, 0xe3, 0x1e, 0xd7, 0xcc, 0x04, 0x41, 0x62, 0x6d, 0x89, 0xfe, 0x00, 0x0c, 0x59, - 0x17, 0xbd, 0xd0, 0xeb, 0xe4, 0xee, 0x21, 0xbb, 0x59, 0xd6, 0xf9, 0x90, 0xa0, 0xc0, 0xae, 0x94, - 0x95, 0xfa, 0x84, 0x64, 0x8d, 0xfd, 0x5f, 0x1c, 0x81, 0xe1, 0x96, 0xa4, 0xe9, 0x72, 0x8d, 0x5e, - 0x80, 0xe6, 0x7f, 0x3c, 0x06, 0x49, 0xb3, 0x22, 0x7a, 0x9a, 0x5c, 0x0e, 0x35, 0x65, 0xca, 0x3f, - 0x48, 0x72, 0x5f, 0x54, 0x46, 0x2f, 0x43, 0xca, 0x31, 0x3a, 0x76, 0xb1, 0x3b, 0x64, 0x5c, 0x98, - 0x2a, 0xec, 0x2f, 0x9a, 0x85, 0x7e, 0xd2, 0xed, 0x78, 0x27, 0xe2, 0x0b, 0xa4, 0x0e, 0x2a, 0x02, - 0x61, 0x81, 0xf8, 0x81, 0xda, 0x34, 0x2f, 0x79, 0x5e, 0xee, 0x32, 0x4e, 0x82, 0x63, 0x4b, 0x6d, - 0xca, 0x42, 0xd2, 0x60, 0xff, 0xb2, 0xcf, 0x43, 0xd2, 0xcc, 0x45, 0x4f, 0xc3, 0x08, 0xbd, 0x5f, - 0x24, 0x36, 0x94, 0x66, 0xdb, 0x0c, 0x76, 0x4a, 0x08, 0x69, 0x9a, 0xbb, 0x4a, 0x33, 0xf9, 0xef, - 0x72, 0x90, 0xf1, 0x86, 0xf8, 0xa2, 0x3a, 0x9c, 0xb2, 0x83, 0x99, 0x0c, 0x57, 0x24, 0xa9, 0xce, - 0xc8, 0x35, 0xd7, 0xe5, 0xac, 0xc6, 0x1d, 0x7f, 0xaa, 0x97, 0xfa, 0x84, 0x69, 0x25, 0xb8, 0x08, - 0xc9, 0x30, 0xc5, 0xae, 0x36, 0x79, 0x9b, 0xa2, 0x1c, 0xbf, 0xd2, 0xf1, 0x9a, 0x93, 0xbf, 0xa1, - 0x49, 0x2d, 0xa8, 0x60, 0x31, 0x03, 0x23, 0x6e, 0xfc, 0xfc, 0x6f, 0x24, 0x61, 0x7a, 0x43, 0x53, - 0x1a, 0xc4, 0x11, 0x76, 0x57, 0x47, 0x02, 0x8c, 0x68, 0x72, 0xab, 0x2e, 0xe1, 0xe5, 0x88, 0x33, - 0x10, 0xe1, 0x99, 0xd0, 0xce, 0x90, 0xca, 0x4c, 0x9f, 0xb1, 0x63, 0xe3, 0x34, 0x43, 0xc1, 0xc8, - 0x7a, 0x1b, 0xd8, 0xf5, 0x06, 0x77, 0x98, 0xc1, 0x85, 0x8e, 0x77, 0x60, 0x2c, 0x64, 0xc3, 0x9a, - 0x23, 0x8d, 0xfe, 0x7f, 0x98, 0xac, 0xee, 0x49, 0xe4, 0x0e, 0x84, 0x46, 0x1e, 0x1d, 0x71, 0xc7, - 0x11, 0x84, 0x45, 0x37, 0xe5, 0x4d, 0x98, 0x55, 0x49, 0xdf, 0xb7, 0x50, 0x8f, 0x57, 0xfd, 0xd9, - 0xc8, 0x80, 0xb3, 0x55, 0xed, 0xb0, 0x65, 0xa8, 0xa2, 0x49, 0x88, 0x9d, 0x9d, 0x03, 0x71, 0xa7, - 0x25, 0xbb, 0x43, 0x09, 0x42, 0xdf, 0xf7, 0x20, 0xb0, 0x8c, 0x2c, 0xb7, 0x76, 0x0e, 0x6e, 0xb5, - 0x6c, 0xba, 0x9c, 0xaa, 0x86, 0x15, 0xa2, 0x16, 0x9c, 0xde, 0x51, 0x0e, 0xe4, 0x1a, 0xdd, 0x5b, - 0xa0, 0x46, 0x02, 0x6b, 0x56, 0x57, 0x48, 0xc1, 0x7c, 0xe8, 0xe9, 0xd2, 0x81, 0x5c, 0xc3, 0x86, - 0x71, 0xd1, 0x84, 0xb3, 0x9a, 0x9c, 0xd9, 0x09, 0x29, 0x43, 0x65, 0xc8, 0xf8, 0x9a, 0x19, 0xe8, - 0x7c, 0x0f, 0xc8, 0x87, 0x7d, 0x74, 0xdb, 0x83, 0xd4, 0x80, 0xb3, 0x26, 0xd5, 0x1e, 0x2a, 0xc6, - 0x9e, 0x7d, 0x7d, 0xdf, 0x6c, 0x61, 0xb0, 0x23, 0xf1, 0x18, 0x65, 0xde, 0x56, 0x8c, 0x3d, 0x73, - 0x42, 0xd9, 0xc4, 0xd3, 0xc2, 0x0a, 0xd1, 0x1d, 0xc8, 0x10, 0x35, 0xd2, 0x92, 0x34, 0x4b, 0xc6, - 0x92, 0x1d, 0x2f, 0x7b, 0x62, 0x75, 0xb1, 0x21, 0x69, 0xb6, 0x94, 0x11, 0x43, 0x62, 0xe7, 0xa0, - 0xb7, 0x01, 0x31, 0x29, 0xd8, 0x93, 0xf4, 0x3d, 0x13, 0xe9, 0x50, 0xc7, 0x78, 0x4c, 0xca, 0xfa, - 0x92, 0xa4, 0xef, 0xd9, 0x71, 0x23, 0x55, 0x4f, 0x1e, 0xb9, 0xff, 0x82, 0x55, 0xbb, 0xbe, 0xa7, - 0xec, 0x58, 0x9d, 0x4d, 0x75, 0xa4, 0x3b, 0x56, 0x7d, 0x65, 0x5c, 0xdd, 0xa6, 0x7b, 0xcd, 0x9d, - 0x85, 0x34, 0x38, 0xcd, 0xba, 0x5b, 0x93, 0x0d, 0x59, 0x6b, 0x28, 0x4d, 0x72, 0x10, 0x67, 0xe2, - 0x1f, 0x8e, 0x20, 0xb2, 0x05, 0x27, 0xa0, 0x57, 0x64, 0x03, 0x0a, 0x03, 0x14, 0xcb, 0xb7, 0x38, - 0x18, 0x71, 0x53, 0x16, 0xdd, 0x85, 0x51, 0xc2, 0x15, 0x43, 0x15, 0xd9, 0xdd, 0x25, 0xf6, 0xb4, - 0xc1, 0x5c, 0x24, 0xce, 0x58, 0x49, 0x21, 0x8d, 0xd1, 0x54, 0xd4, 0x22, 0x45, 0xc2, 0x7f, 0x8a, - 0xa3, 0x3a, 0x1f, 0x97, 0xa1, 0x53, 0x30, 0x59, 0x59, 0x5e, 0x2d, 0x8a, 0x1b, 0x39, 0xa1, 0xe2, - 0x09, 0xba, 0x4e, 0x42, 0xff, 0xbd, 0x62, 0x4e, 0xc8, 0x70, 0x68, 0x08, 0x12, 0xab, 0xeb, 0x6b, - 0x95, 0x52, 0x26, 0x86, 0x32, 0x30, 0x5c, 0xc8, 0xdd, 0x13, 0xd7, 0x6f, 0x89, 0x34, 0x27, 0x8e, - 0x46, 0x21, 0xc5, 0x72, 0xde, 0x2e, 0x16, 0xdf, 0xca, 0xf4, 0xe3, 0x2a, 0xf8, 0x1f, 0xce, 0x21, - 0xf0, 0x09, 0x5c, 0xa5, 0xb4, 0xbe, 0x29, 0xe0, 0x9c, 0x42, 0xee, 0x5e, 0x66, 0x80, 0x2f, 0x43, - 0xc6, 0xcb, 0x71, 0xf4, 0x06, 0x00, 0xe3, 0x43, 0xf7, 0xeb, 0xaa, 0x14, 0x98, 0x5c, 0x57, 0xad, - 0x9a, 0x7f, 0xf9, 0x6f, 0x72, 0x70, 0x2a, 0x94, 0x1f, 0xc7, 0x46, 0x4f, 0x22, 0x46, 0xda, 0x9a, - 0xa6, 0xee, 0x4a, 0x86, 0xe3, 0xdd, 0x93, 0xa8, 0x97, 0xef, 0xc7, 0x2c, 0x58, 0x33, 0x0b, 0xbd, - 0x0a, 0x83, 0xe4, 0xd6, 0xf6, 0x81, 0x79, 0xb8, 0xd9, 0xf5, 0x76, 0x2d, 0xab, 0xce, 0xaf, 0x03, - 0xf2, 0x1b, 0x0f, 0x74, 0x0d, 0x86, 0x9a, 0xf2, 0xc3, 0x5e, 0x0e, 0x82, 0x9a, 0xf2, 0x43, 0xf2, - 0x8f, 0x3f, 0x0d, 0xa7, 0x42, 0xf5, 0x07, 0x3f, 0x02, 0xc3, 0x4e, 0xbb, 0xc2, 0xff, 0x41, 0x0c, - 0xd2, 0xd8, 0x28, 0xe8, 0x15, 0x75, 0x79, 0xb7, 0xa9, 0x6a, 0x32, 0x9a, 0x03, 0x64, 0x99, 0x03, - 0x1d, 0xcb, 0xab, 0xbe, 0xaf, 0xd0, 0x5b, 0xae, 0x43, 0x64, 0x22, 0x5b, 0x65, 0x15, 0xb5, 0xbc, - 0xaf, 0xb4, 0xd0, 0x21, 0x9c, 0xae, 0xaa, 0x8d, 0x86, 0xda, 0x14, 0xdd, 0x60, 0x0a, 0x41, 0xc7, - 0xfc, 0xa5, 0x57, 0x3b, 0xd8, 0x23, 0xab, 0xe9, 0xb9, 0x3c, 0xc1, 0xe3, 0xca, 0xc3, 0xaa, 0xbb, - 0x6a, 0x65, 0x9b, 0x0d, 0xd3, 0x32, 0xfe, 0xb3, 0x1c, 0x8c, 0x07, 0xc0, 0xa0, 0x8b, 0xc0, 0xe7, - 0xd7, 0x57, 0x57, 0xd7, 0xd7, 0xc4, 0x7c, 0x29, 0x27, 0x94, 0xc5, 0xca, 0xba, 0xb8, 0xbc, 0xb4, - 0xb6, 0x2e, 0x78, 0x1f, 0xf8, 0x48, 0xc1, 0xe0, 0xda, 0xe6, 0x6a, 0x51, 0x58, 0xce, 0x67, 0x38, - 0x34, 0x01, 0x99, 0xdc, 0xca, 0x46, 0x29, 0x27, 0x6e, 0x6e, 0x6c, 0x14, 0x05, 0x31, 0x9f, 0x2b, - 0x17, 0x33, 0x31, 0x3b, 0x77, 0x65, 0xfd, 0x6d, 0x33, 0x97, 0x4c, 0x93, 0x8d, 0xcd, 0xb5, 0x7c, - 0x65, 0x33, 0x57, 0x59, 0x5e, 0x5f, 0xcb, 0xf4, 0xa3, 0x11, 0x80, 0xb7, 0x4b, 0xcb, 0x95, 0x62, - 0x79, 0x23, 0x97, 0x2f, 0x66, 0x12, 0x8b, 0xc3, 0x00, 0x36, 0x35, 0xf8, 0x6f, 0xe0, 0x7e, 0x06, - 0x98, 0xd8, 0x67, 0x61, 0x0c, 0x9b, 0x6e, 0x62, 0x78, 0xcc, 0x62, 0x16, 0x12, 0x9d, 0x61, 0x05, - 0x16, 0x18, 0x7a, 0x0a, 0x46, 0x9a, 0xed, 0xc6, 0xb6, 0xac, 0x61, 0xe2, 0xe2, 0x52, 0x76, 0xcd, - 0x78, 0x98, 0xe6, 0x56, 0x54, 0x8c, 0x18, 0x5d, 0xc0, 0x3e, 0xc6, 0x03, 0x59, 0xd3, 0x65, 0x51, - 0xd5, 0x6a, 0x32, 0xbd, 0x04, 0x9a, 0xc4, 0xce, 0x03, 0xc9, 0x5c, 0xc7, 0x79, 0xe8, 0x2e, 0x4c, - 0x04, 0xf2, 0xaa, 0xbf, 0x63, 0xc4, 0xba, 0x8b, 0xc6, 0x02, 0xaa, 0xfa, 0xf9, 0xf1, 0x65, 0x0e, - 0x66, 0xc2, 0x6c, 0x30, 0x5a, 0x84, 0x94, 0x77, 0x6b, 0xb3, 0x8b, 0x4c, 0xd3, 0x50, 0x0d, 0xa8, - 0xdb, 0xdb, 0x9c, 0x8b, 0x90, 0xf2, 0x6e, 0x66, 0x46, 0xc3, 0xd1, 0xb6, 0x37, 0x36, 0x9f, 0xf2, - 0x6f, 0x6c, 0x72, 0xac, 0x96, 0xbd, 0xb2, 0xe6, 0x3f, 0x1d, 0x83, 0x51, 0xef, 0x08, 0x96, 0x60, - 0xd0, 0xdc, 0xa7, 0xa7, 0xfb, 0x0f, 0x57, 0xa3, 0x39, 0x08, 0x2c, 0x2d, 0x98, 0xd0, 0xe4, 0x52, - 0x02, 0xdb, 0x34, 0x98, 0x83, 0x78, 0x43, 0x69, 0x46, 0x9a, 0xe1, 0xb8, 0x22, 0xa9, 0x2f, 0x1d, - 0x44, 0x3a, 0xdf, 0xc5, 0x15, 0xd1, 0x32, 0x8c, 0x31, 0x7f, 0x81, 0x3c, 0xb0, 0x60, 0x2f, 0x50, - 0xbb, 0x41, 0x67, 0x1c, 0x60, 0x54, 0xaf, 0xfc, 0x72, 0xbf, 0xa9, 0x92, 0x83, 0x1c, 0xb7, 0xc2, - 0x51, 0x54, 0x32, 0xa5, 0xbb, 0x43, 0x2f, 0x3b, 0xd4, 0x68, 0xac, 0x27, 0x35, 0x8a, 0x74, 0x18, - 0x65, 0x6a, 0x48, 0xaa, 0xb7, 0xf6, 0xa4, 0x6d, 0xd9, 0x60, 0x6f, 0xb1, 0x95, 0x7a, 0x75, 0x50, - 0xe7, 0x6e, 0xed, 0x1c, 0x50, 0xad, 0xb2, 0x46, 0x82, 0x9e, 0x72, 0x0c, 0x1f, 0xf6, 0x8e, 0x68, - 0x13, 0x66, 0x0e, 0x7a, 0x06, 0xd8, 0x73, 0x56, 0x76, 0xa3, 0x09, 0xa6, 0x28, 0x47, 0x68, 0x81, - 0x55, 0x75, 0x0a, 0x12, 0x9a, 0x54, 0x53, 0x0e, 0x88, 0x6f, 0x99, 0x20, 0x4f, 0xd3, 0xe1, 0x64, - 0x98, 0x25, 0x4a, 0x1e, 0xd5, 0x12, 0xf1, 0x3f, 0xc9, 0xc1, 0x74, 0xc8, 0x08, 0xd0, 0x2c, 0x5c, - 0xbc, 0x75, 0xeb, 0x1d, 0x91, 0x29, 0xc7, 0xb5, 0x5c, 0x65, 0xf9, 0x6e, 0x51, 0x24, 0xfa, 0x6d, - 0xb1, 0x58, 0xe9, 0xa4, 0x1c, 0xb1, 0xd1, 0x2f, 0xbe, 0x93, 0x2b, 0x14, 0xf3, 0xcb, 0xab, 0xb9, - 0x95, 0x4c, 0x0c, 0x9d, 0x81, 0x19, 0x5b, 0x4f, 0x52, 0x14, 0xa2, 0x59, 0x3d, 0x8e, 0xc6, 0x20, - 0xed, 0xce, 0xea, 0x5f, 0x04, 0x48, 0x9a, 0x34, 0xe2, 0xbf, 0xc7, 0xc1, 0x90, 0x25, 0x03, 0x68, - 0x19, 0x86, 0x88, 0xff, 0xa4, 0x98, 0x57, 0x0e, 0xc3, 0x57, 0x59, 0x15, 0xb3, 0x9e, 0x05, 0x4d, - 0x76, 0x2f, 0xcc, 0x5c, 0x8c, 0xaa, 0xdd, 0x7c, 0xa8, 0x49, 0xad, 0x96, 0x6c, 0x6a, 0x87, 0x30, - 0x54, 0x9b, 0x66, 0x3d, 0x17, 0x2a, 0x0b, 0x1a, 0xad, 0x42, 0x6a, 0xbf, 0xa1, 0x8b, 0x26, 0xb2, - 0xce, 0xcb, 0xaa, 0xb7, 0x1a, 0xfa, 0xdb, 0x7e, 0x6c, 0xb0, 0x6f, 0x65, 0x2f, 0x26, 0x61, 0x80, - 0x86, 0x57, 0xf1, 0x57, 0x01, 0xf9, 0x87, 0x81, 0xa6, 0x9d, 0x37, 0x7b, 0xe8, 0xb4, 0x20, 0x19, - 0xfc, 0xb3, 0x80, 0xfc, 0x5d, 0x45, 0x93, 0x10, 0x37, 0xa7, 0xd9, 0x30, 0xad, 0x8d, 0xd3, 0xfc, - 0x1e, 0x8c, 0x07, 0x74, 0x05, 0xab, 0x3c, 0x86, 0x41, 0xf4, 0x40, 0x01, 0xcb, 0xc7, 0xb5, 0x9e, - 0x85, 0x51, 0x7b, 0x06, 0x3b, 0xee, 0x12, 0xd1, 0x9a, 0x69, 0x6b, 0x92, 0xae, 0xe1, 0x6e, 0x7d, - 0x87, 0x83, 0x51, 0x8f, 0x3f, 0x8e, 0xae, 0x42, 0xc6, 0xa1, 0x9d, 0xc5, 0x9a, 0x74, 0xc8, 0x36, - 0x1d, 0x28, 0x86, 0x11, 0x5b, 0x09, 0x17, 0xa4, 0x43, 0x1d, 0x57, 0x77, 0x18, 0x04, 0x5a, 0x3d, - 0xe6, 0xa8, 0x6e, 0xeb, 0x7d, 0x52, 0xfd, 0xc8, 0x1e, 0x16, 0xca, 0xb9, 0x54, 0x53, 0x7f, 0x34, - 0xd5, 0x44, 0x82, 0x49, 0x2d, 0x3d, 0x95, 0x84, 0x81, 0x86, 0x6c, 0xec, 0xa9, 0x35, 0xfe, 0x51, - 0x0c, 0xa6, 0x43, 0x36, 0x39, 0x90, 0x01, 0xa3, 0xfe, 0xdd, 0x92, 0x4e, 0x31, 0xc2, 0x21, 0x88, - 0x42, 0xf2, 0x29, 0x5d, 0xbc, 0x4d, 0x64, 0xbf, 0xcc, 0xc1, 0x54, 0x30, 0xc0, 0xb1, 0xdf, 0x35, - 0x6c, 0xc2, 0x4c, 0xcb, 0xdc, 0x20, 0xf1, 0xec, 0xce, 0xb0, 0xe9, 0x35, 0x17, 0x1e, 0x7e, 0x18, - 0xb4, 0xaf, 0x42, 0x87, 0x30, 0xdd, 0x0a, 0x2e, 0xe5, 0xff, 0x42, 0x1c, 0xc6, 0x09, 0xfb, 0x3c, - 0xe3, 0xb8, 0x01, 0x03, 0x24, 0x60, 0x34, 0x62, 0x68, 0x38, 0x6d, 0x85, 0x81, 0xa0, 0x02, 0x0c, - 0x55, 0xd5, 0x66, 0x4d, 0x71, 0xbc, 0x5c, 0x73, 0xb1, 0xe3, 0x96, 0x52, 0xde, 0xac, 0x2d, 0xd8, - 0x80, 0x68, 0xbf, 0x03, 0x29, 0xfa, 0x8f, 0x42, 0x8a, 0x52, 0x5f, 0x28, 0x1d, 0x3a, 0x6f, 0xc0, - 0x25, 0x4e, 0x78, 0x03, 0x2e, 0x60, 0x01, 0xfb, 0x35, 0x0e, 0x26, 0x03, 0xb7, 0xd7, 0x90, 0x08, - 0x93, 0xf4, 0x19, 0xa1, 0x60, 0x41, 0x9f, 0xed, 0xc4, 0x18, 0x37, 0x2e, 0x61, 0x62, 0xc7, 0x9f, - 0xa9, 0xa3, 0x7b, 0x30, 0xce, 0x76, 0x03, 0xf5, 0x76, 0xab, 0xa5, 0xc9, 0xba, 0xce, 0xb6, 0x02, - 0x3b, 0x3d, 0xe5, 0x48, 0xfb, 0x5a, 0xb6, 0x01, 0x04, 0xa4, 0x79, 0xb3, 0x74, 0xfe, 0x1e, 0x8c, - 0xf9, 0x2a, 0xba, 0xa5, 0x83, 0x3b, 0xa2, 0x74, 0xf0, 0x5f, 0x4c, 0xc0, 0xa8, 0xa7, 0x18, 0x55, - 0x20, 0x25, 0x1f, 0xd8, 0x23, 0xe8, 0xfc, 0x9e, 0xa7, 0x07, 0x78, 0xae, 0x68, 0x43, 0x0a, 0x4e, - 0x34, 0xd9, 0x5f, 0xc2, 0xb6, 0xd3, 0x6a, 0xe3, 0x18, 0x01, 0xf8, 0xb7, 0x21, 0xa9, 0xb6, 0x64, - 0x4d, 0x32, 0xd8, 0x4b, 0x31, 0x23, 0x1d, 0xf6, 0x36, 0xeb, 0x84, 0x39, 0x52, 0x7d, 0x9d, 0x01, - 0xb0, 0x20, 0x6a, 0x13, 0xde, 0x3e, 0x9f, 0xe9, 0x8f, 0x7c, 0x3e, 0x93, 0x7d, 0x0f, 0xc0, 0x1a, - 0x87, 0x8e, 0x36, 0x00, 0x2c, 0x6a, 0x9a, 0xc2, 0xf4, 0x5c, 0x44, 0x5a, 0xd9, 0x1c, 0x71, 0xe0, - 0xc8, 0x7e, 0x36, 0x06, 0x29, 0x07, 0x15, 0x51, 0x03, 0x9b, 0x9b, 0x5d, 0x12, 0x06, 0x6c, 0x8d, - 0x9b, 0x6e, 0xc1, 0x2c, 0xf6, 0xce, 0x93, 0xb9, 0x15, 0x8a, 0xca, 0x24, 0x88, 0x30, 0x5a, 0x77, - 0x67, 0xa0, 0xb2, 0x6b, 0x40, 0x94, 0xf9, 0xcf, 0xf7, 0x3a, 0x20, 0x3c, 0x6d, 0x1d, 0x68, 0xf8, - 0x9b, 0x30, 0xea, 0x69, 0x18, 0x3d, 0x09, 0x67, 0x56, 0xd6, 0x97, 0x96, 0xf3, 0xb9, 0x15, 0x71, - 0x7d, 0xa3, 0x28, 0xe4, 0x2a, 0xeb, 0x82, 0xc7, 0x91, 0x1b, 0x84, 0x78, 0x6e, 0xad, 0x90, 0xe1, - 0xac, 0x23, 0x96, 0xbf, 0xc7, 0xc1, 0x54, 0xf0, 0xfb, 0x10, 0x78, 0x45, 0x6a, 0x4d, 0x6c, 0xcf, - 0xb5, 0xe7, 0x8c, 0xa3, 0x80, 0xde, 0x79, 0xde, 0x85, 0x19, 0xb7, 0x16, 0x10, 0xf5, 0x76, 0xa3, - 0x21, 0x69, 0x8a, 0x15, 0x21, 0x7f, 0x25, 0xd2, 0xeb, 0x14, 0x65, 0x02, 0x75, 0x28, 0x4c, 0x1b, - 0x01, 0xd9, 0x8a, 0xac, 0xf3, 0x9f, 0x1d, 0x80, 0xc9, 0x40, 0x90, 0x63, 0xde, 0xe7, 0xb7, 0x2e, - 0x2d, 0xc4, 0x7a, 0xb9, 0xb4, 0x70, 0xd7, 0xab, 0x2e, 0x19, 0x77, 0x7b, 0xd4, 0xff, 0x82, 0x07, - 0x4b, 0xb8, 0x6a, 0x4d, 0x9c, 0x90, 0x6a, 0xbd, 0x63, 0x3d, 0x05, 0x68, 0xaa, 0x56, 0xb6, 0xd1, - 0x1d, 0x5d, 0xad, 0x8e, 0xb8, 0xd5, 0x2a, 0xaa, 0xc0, 0x20, 0x3d, 0xb4, 0x35, 0xa3, 0x7f, 0xae, - 0xf7, 0xc2, 0xf1, 0x39, 0x93, 0xf3, 0xf4, 0xd1, 0x01, 0x13, 0x55, 0xb0, 0x14, 0x0e, 0x06, 0x4b, - 0x61, 0xf6, 0xa7, 0x38, 0x48, 0xbb, 0xf0, 0xd8, 0x27, 0xbf, 0x9c, 0xe3, 0xe4, 0x17, 0xdd, 0x83, - 0x7e, 0xeb, 0x86, 0xc7, 0x48, 0xa8, 0x47, 0x16, 0xdc, 0x4f, 0x0f, 0x79, 0x49, 0x33, 0x79, 0xb5, - 0x26, 0x0b, 0x04, 0x25, 0x9a, 0x81, 0xc1, 0x1a, 0x3d, 0x44, 0x67, 0xb7, 0xd2, 0xcd, 0x24, 0xff, - 0x1e, 0xcc, 0x84, 0xc1, 0xe2, 0xc5, 0x58, 0x45, 0xc8, 0xad, 0x95, 0x6f, 0xad, 0x0b, 0xab, 0x64, - 0x1f, 0x49, 0x14, 0x8a, 0xe5, 0xcd, 0x95, 0x8a, 0x98, 0x5f, 0x2f, 0x04, 0xec, 0x54, 0x95, 0x37, - 0xf3, 0xf9, 0x62, 0xb9, 0x4c, 0x77, 0x70, 0x8b, 0x82, 0xb0, 0x2e, 0x64, 0x62, 0xbc, 0x0a, 0xc9, - 0x72, 0x75, 0x4f, 0xae, 0xb5, 0xeb, 0x32, 0xba, 0x07, 0x59, 0x4d, 0xae, 0xb6, 0x35, 0x8d, 0x44, - 0x85, 0xb4, 0x64, 0x4d, 0x51, 0x6b, 0xa2, 0xf9, 0xa4, 0x3d, 0x9b, 0x1c, 0xa7, 0x7c, 0xa7, 0xc8, - 0x05, 0x56, 0xa1, 0xd4, 0x27, 0xcc, 0xd8, 0xe0, 0x1b, 0x04, 0xda, 0x2c, 0xc3, 0xee, 0x2f, 0x7d, - 0xbb, 0x82, 0xff, 0x46, 0x1c, 0x46, 0xbd, 0x6f, 0x35, 0xf8, 0xd6, 0x2e, 0xf1, 0xe8, 0x4f, 0x13, - 0x78, 0xde, 0x12, 0x88, 0xfb, 0xde, 0x12, 0x40, 0x6f, 0xba, 0xdf, 0x17, 0xed, 0xef, 0x76, 0x1a, - 0x4e, 0x3b, 0xe0, 0x7c, 0x64, 0xf4, 0x4d, 0x48, 0xb5, 0x5b, 0xf6, 0x39, 0x72, 0x22, 0x22, 0x06, - 0x0a, 0x43, 0x30, 0xf8, 0x1f, 0xb2, 0x19, 0x38, 0xf2, 0x43, 0x36, 0xd7, 0x7f, 0x86, 0xfb, 0x24, - 0xf7, 0x79, 0x0e, 0x78, 0x5c, 0xd7, 0xf3, 0x80, 0x8e, 0x97, 0xb2, 0x6f, 0xaa, 0xda, 0xae, 0xd4, - 0x54, 0x3e, 0xa0, 0x13, 0x78, 0xfe, 0x43, 0x67, 0xf2, 0xa3, 0x79, 0xcf, 0xcb, 0x35, 0xfa, 0xfc, - 0x87, 0xde, 0xd7, 0x38, 0x3e, 0x42, 0x2f, 0xb7, 0xe8, 0x9b, 0x3c, 0xfa, 0xfc, 0x87, 0xec, 0x5f, - 0x24, 0x38, 0xfe, 0x53, 0xfd, 0x80, 0x0a, 0xbe, 0xb7, 0x8f, 0xfe, 0x1f, 0x60, 0x75, 0xe0, 0xbb, - 0x6c, 0x03, 0xc7, 0x7c, 0x97, 0xed, 0xfa, 0xcf, 0x71, 0x9f, 0xe4, 0x7e, 0x96, 0x83, 0xa7, 0x03, - 0x78, 0x1e, 0x40, 0xe5, 0x5b, 0x1d, 0xd9, 0xee, 0x7f, 0x07, 0x4d, 0x9f, 0xff, 0x30, 0xe0, 0xf1, - 0xb4, 0x8f, 0xd0, 0xcd, 0x00, 0xe6, 0x47, 0x86, 0xe6, 0xdf, 0x87, 0x44, 0x51, 0xd3, 0x54, 0x0d, - 0x5d, 0xb1, 0xd5, 0x1b, 0xd5, 0x22, 0xc8, 0x24, 0x84, 0xd6, 0xaa, 0x92, 0xdb, 0x6e, 0x6d, 0xdd, - 0x52, 0x79, 0xe8, 0x3a, 0x0d, 0x3d, 0x21, 0xe4, 0x35, 0xfd, 0xf6, 0x8e, 0xcf, 0x01, 0xdb, 0xb5, - 0xf9, 0x2f, 0x0d, 0x00, 0xdc, 0x56, 0xb7, 0x2b, 0x9a, 0xb2, 0xbb, 0x2b, 0x6b, 0x47, 0x7d, 0xee, - 0xa4, 0xbb, 0xa0, 0xdd, 0x86, 0x94, 0x29, 0xf2, 0xf7, 0xd5, 0x6d, 0x26, 0x68, 0x51, 0x9f, 0x97, - 0xc1, 0x3e, 0x99, 0x62, 0xe5, 0xa1, 0x22, 0x24, 0x0d, 0xda, 0x5f, 0xd3, 0x52, 0x87, 0xf9, 0xd1, - 0xf6, 0xc8, 0xe6, 0xd8, 0xaf, 0x60, 0x81, 0xa2, 0x6b, 0x30, 0x20, 0x63, 0x6a, 0x9b, 0x21, 0x5c, - 0x61, 0x3e, 0x34, 0x61, 0x09, 0x15, 0x5b, 0x06, 0xe0, 0x9d, 0x36, 0x83, 0xc7, 0x9e, 0x36, 0xc9, - 0xde, 0xa7, 0x4d, 0x1e, 0xd2, 0x75, 0x49, 0x37, 0x44, 0xad, 0xdd, 0xa4, 0x38, 0x86, 0xa2, 0xe1, - 0x48, 0x61, 0x28, 0xa1, 0xdd, 0xac, 0xd0, 0x30, 0x98, 0x01, 0xfa, 0x1d, 0x94, 0x19, 0x20, 0x46, - 0xfa, 0x72, 0x77, 0x42, 0x52, 0xe9, 0x63, 0x0b, 0x7e, 0x0a, 0x9c, 0x2d, 0xc3, 0xa0, 0x29, 0x41, - 0xaf, 0x41, 0x52, 0x67, 0xf6, 0xb1, 0x8b, 0x7b, 0x68, 0x9a, 0xd1, 0x52, 0x9f, 0x60, 0x81, 0x2c, - 0x0e, 0xc1, 0x20, 0x63, 0x10, 0x5f, 0x82, 0x01, 0xda, 0x16, 0x9a, 0x02, 0x54, 0xae, 0xe4, 0x2a, - 0x9b, 0x65, 0xbf, 0x8d, 0x2e, 0x15, 0x73, 0x2b, 0x95, 0xd2, 0xbd, 0x0c, 0x87, 0x00, 0x06, 0x36, - 0x72, 0x9b, 0xe5, 0x62, 0x81, 0xbe, 0x0e, 0x9f, 0xcf, 0xad, 0xe5, 0x8b, 0x2b, 0x2b, 0xc5, 0x42, - 0x26, 0x7e, 0x7d, 0xe3, 0x93, 0xdc, 0x2a, 0x9c, 0x0d, 0xd0, 0x04, 0x0e, 0xc9, 0xbf, 0x12, 0x30, - 0x73, 0xef, 0x5b, 0xc5, 0xfa, 0xfc, 0x87, 0xf7, 0xd5, 0x6d, 0x91, 0x75, 0xed, 0xa3, 0xc5, 0x04, - 0xc4, 0xef, 0xab, 0xdb, 0xfc, 0x0f, 0x0f, 0xc2, 0x00, 0x7d, 0xc6, 0x05, 0xdd, 0x81, 0xb4, 0x2e, - 0x3d, 0x70, 0xbc, 0x7e, 0xca, 0x75, 0xdc, 0xbf, 0xa4, 0x50, 0x73, 0x65, 0xe9, 0x81, 0xf5, 0x30, - 0x6a, 0xa9, 0x4f, 0x18, 0xd6, 0x1d, 0x69, 0x54, 0x82, 0xc1, 0x56, 0x7b, 0x5b, 0xd4, 0xdb, 0xdb, - 0x5d, 0x9e, 0x9e, 0x63, 0xc8, 0x36, 0xda, 0xdb, 0x75, 0x45, 0xdf, 0xab, 0xa8, 0x1b, 0xed, 0xed, - 0x72, 0x7b, 0xbb, 0xd4, 0x27, 0x0c, 0xb4, 0xc8, 0x3f, 0xb4, 0x0f, 0xd3, 0x2d, 0x5a, 0xc8, 0x16, - 0x0c, 0x87, 0xa2, 0xa1, 0x8a, 0x55, 0xbd, 0x5a, 0xed, 0xb2, 0x48, 0x76, 0x63, 0x66, 0xce, 0x59, - 0x45, 0xcd, 0xeb, 0xd5, 0x6a, 0xa9, 0x4f, 0x98, 0x68, 0x05, 0xe4, 0xa3, 0x9f, 0xe4, 0xe0, 0xa2, - 0xd9, 0x9a, 0xfd, 0x6c, 0xbb, 0x2a, 0x92, 0xf7, 0xec, 0x44, 0xf2, 0xb2, 0x7d, 0x55, 0x32, 0xa4, - 0xba, 0x6a, 0x06, 0x97, 0xbc, 0x11, 0xa9, 0x71, 0x93, 0x2c, 0x15, 0x35, 0x8f, 0x11, 0x15, 0x24, - 0x43, 0xca, 0x53, 0x34, 0xa5, 0x3e, 0xe1, 0x7c, 0xab, 0x5b, 0x25, 0xd4, 0x80, 0x69, 0xcc, 0xc2, - 0xa6, 0x6a, 0x28, 0x3b, 0x0a, 0x7b, 0xd4, 0x48, 0x6e, 0x10, 0x1d, 0x4b, 0x67, 0xdf, 0x0b, 0x9d, - 0xbb, 0x71, 0x5b, 0xdd, 0x5e, 0x73, 0xc0, 0x16, 0x09, 0x68, 0xa9, 0x4f, 0x98, 0xbc, 0x1f, 0x54, - 0x80, 0xee, 0xc3, 0x94, 0x49, 0x04, 0x43, 0x15, 0x75, 0x43, 0xaa, 0xee, 0xd7, 0x34, 0xe5, 0x81, - 0xac, 0xb1, 0x79, 0xba, 0x10, 0x91, 0x97, 0x65, 0x1b, 0xd2, 0x41, 0x71, 0x57, 0x7e, 0x56, 0x84, - 0x61, 0xa7, 0x20, 0xa1, 0x75, 0xeb, 0xf5, 0x39, 0x57, 0x24, 0xd5, 0x6c, 0xf4, 0xd7, 0xe7, 0xcc, - 0x07, 0xe7, 0xd8, 0x73, 0x1b, 0x97, 0x60, 0xd4, 0x23, 0x5c, 0xd8, 0xe5, 0x37, 0xd4, 0x16, 0xbb, - 0x14, 0x3d, 0x24, 0xd0, 0x44, 0x76, 0x0a, 0x26, 0x82, 0x64, 0x25, 0x7b, 0x01, 0xce, 0x77, 0x65, - 0x63, 0x76, 0x1a, 0x26, 0x03, 0x89, 0xec, 0xc0, 0xea, 0x1a, 0x37, 0x76, 0x92, 0xe9, 0xe3, 0x49, - 0xfc, 0xff, 0xe2, 0xe0, 0x4c, 0x9e, 0x68, 0x57, 0xef, 0x7b, 0x67, 0xec, 0x1d, 0xac, 0x45, 0xcf, - 0x13, 0x8b, 0xb3, 0xe4, 0x51, 0xcf, 0xa7, 0x50, 0x04, 0x9f, 0xd0, 0x7a, 0x5c, 0xf1, 0x2e, 0x64, - 0x7c, 0x8f, 0xaf, 0xc5, 0x7a, 0x79, 0x7c, 0x8d, 0x6d, 0x27, 0x7b, 0xbc, 0x41, 0x74, 0x0e, 0x52, - 0xd6, 0x3b, 0x89, 0xf6, 0x33, 0x5b, 0x66, 0xd6, 0x72, 0xcd, 0xfb, 0x0e, 0x57, 0xbf, 0xef, 0x1d, - 0xae, 0xff, 0xc2, 0xc1, 0x99, 0x4d, 0x62, 0x1a, 0x42, 0x86, 0xff, 0xba, 0xcb, 0x8b, 0x64, 0x83, - 0x8f, 0xe2, 0x10, 0x33, 0x1f, 0xe0, 0xce, 0x71, 0x87, 0xee, 0x1f, 0xf5, 0x0d, 0xcb, 0x02, 0x92, - 0xa3, 0xf5, 0x78, 0x88, 0xf5, 0x22, 0x8b, 0xed, 0x55, 0x49, 0xdf, 0x37, 0x8d, 0x1f, 0xfe, 0xcf, - 0xff, 0x00, 0x9c, 0x5a, 0x92, 0x8d, 0xc7, 0x33, 0x58, 0xfe, 0xb7, 0x39, 0x38, 0x4d, 0x9f, 0x35, - 0x73, 0x7b, 0xed, 0x27, 0x29, 0x4b, 0x67, 0x01, 0x5a, 0xd2, 0xae, 0x2c, 0x1a, 0xea, 0x3e, 0x7b, - 0xd5, 0x79, 0x48, 0x18, 0xc2, 0x39, 0x15, 0x9c, 0x81, 0x4e, 0x03, 0x49, 0xd8, 0x07, 0xe6, 0x09, - 0x21, 0x89, 0x33, 0x48, 0x0c, 0xfa, 0x29, 0x48, 0x92, 0x48, 0x03, 0x71, 0xfb, 0x90, 0xc9, 0xc2, - 0x20, 0x49, 0x2f, 0x1e, 0x76, 0x7f, 0x46, 0xf3, 0x73, 0x1c, 0x9c, 0x09, 0x1e, 0x1b, 0x7b, 0xb9, - 0xad, 0x0c, 0x63, 0x5e, 0x4e, 0x9b, 0xbb, 0x83, 0x51, 0x59, 0x9d, 0xf1, 0x2e, 0x77, 0xd0, 0x45, - 0x18, 0x6d, 0xca, 0x07, 0x86, 0xe8, 0x1b, 0x72, 0x1a, 0x67, 0x6f, 0x98, 0xc3, 0xe6, 0xdf, 0x83, - 0x33, 0x05, 0xb9, 0x2e, 0x3f, 0x2e, 0x31, 0xe6, 0xff, 0x2b, 0x07, 0xd3, 0x54, 0x4d, 0xd8, 0x96, - 0xff, 0xb1, 0x3c, 0xfb, 0xbb, 0x04, 0x29, 0x87, 0xbf, 0xc0, 0xa6, 0xca, 0xf9, 0xae, 0xce, 0x15, - 0x3b, 0x22, 0xb4, 0xfd, 0x0e, 0x2c, 0x27, 0x0c, 0x89, 0xad, 0x1a, 0x86, 0x58, 0x4e, 0x14, 0xcd, - 0x70, 0x17, 0x4e, 0x61, 0x8b, 0xf2, 0x20, 0x70, 0xc8, 0xd7, 0x5c, 0xe4, 0x7c, 0x9a, 0x0c, 0xf8, - 0x5c, 0x17, 0x47, 0x89, 0x51, 0xf2, 0xdf, 0x73, 0x30, 0x4d, 0x35, 0xce, 0x49, 0xa2, 0x45, 0x8b, - 0x47, 0xa3, 0x9b, 0x8b, 0x64, 0xc7, 0x52, 0x2c, 0x77, 0x60, 0x62, 0x49, 0x36, 0x4e, 0x94, 0x54, - 0xbf, 0x10, 0x83, 0x71, 0x2a, 0x74, 0x85, 0x7a, 0xeb, 0xb6, 0xba, 0xfd, 0x58, 0x04, 0xce, 0xb3, - 0xbe, 0x8a, 0x1d, 0x67, 0x7d, 0xb5, 0x0c, 0x49, 0x4d, 0xd1, 0xf7, 0x09, 0xa2, 0x78, 0xe7, 0x80, - 0xf0, 0xa0, 0x77, 0x19, 0x4b, 0x7d, 0xc2, 0x20, 0x86, 0xc7, 0xa8, 0x26, 0x61, 0x00, 0xf3, 0xd3, - 0x12, 0xcd, 0xc4, 0x7d, 0x75, 0xdb, 0x2f, 0xb6, 0x3e, 0x35, 0x65, 0xfa, 0xd7, 0xff, 0x83, 0x83, - 0x29, 0xac, 0xad, 0x6c, 0x9a, 0xea, 0x8f, 0x85, 0x7a, 0x8f, 0x49, 0x1b, 0xdb, 0xef, 0x6a, 0x26, - 0x3a, 0xbd, 0xab, 0xe9, 0x7f, 0xcb, 0xfa, 0x47, 0x38, 0x98, 0xf6, 0x8d, 0x9b, 0x29, 0xe8, 0x02, - 0x0c, 0x3b, 0xa6, 0x88, 0xa9, 0x9b, 0x23, 0xcc, 0x91, 0x94, 0x63, 0x39, 0x13, 0x59, 0x23, 0x57, - 0x60, 0x9a, 0x6a, 0xe4, 0x13, 0x9d, 0x12, 0x7f, 0x3d, 0x06, 0x19, 0xaf, 0x10, 0xa2, 0xb7, 0x60, - 0x84, 0x7d, 0x2d, 0xd4, 0xed, 0xb6, 0x3e, 0x15, 0xfa, 0xe8, 0x8f, 0xd3, 0x61, 0x4d, 0xeb, 0xae, - 0xe7, 0x9b, 0x4f, 0xf4, 0x21, 0xec, 0xd0, 0x07, 0xad, 0xe3, 0xe1, 0x0f, 0x5a, 0x3b, 0x9e, 0x01, - 0xed, 0xef, 0xe9, 0x19, 0xd0, 0xbf, 0x3c, 0x00, 0x03, 0x54, 0x51, 0x04, 0xee, 0xc6, 0xbc, 0xc4, - 0x3e, 0xd3, 0xd6, 0xf9, 0x73, 0x87, 0x14, 0x81, 0xe3, 0xbb, 0x6c, 0x37, 0xc9, 0xd7, 0x5c, 0x0c, - 0x99, 0x1d, 0x3c, 0x5e, 0xec, 0x08, 0x87, 0xa5, 0x06, 0x2f, 0xbd, 0x65, 0x81, 0x02, 0xa1, 0x77, - 0x60, 0x98, 0x68, 0x04, 0x73, 0x53, 0xaa, 0xbf, 0xf3, 0x82, 0xa9, 0xc3, 0x9d, 0xb7, 0x52, 0x9f, - 0x90, 0xd2, 0x1c, 0xcf, 0x2d, 0x6d, 0x81, 0xe9, 0x18, 0x5a, 0xc8, 0x3b, 0xdf, 0x38, 0x08, 0x7b, - 0x47, 0xb9, 0xd4, 0x27, 0x98, 0x1c, 0x37, 0x71, 0x1f, 0xeb, 0x3b, 0x59, 0xd7, 0x00, 0xc8, 0x17, - 0x6f, 0x22, 0xee, 0xf0, 0x08, 0x43, 0xa4, 0x36, 0x01, 0x7d, 0x09, 0x92, 0x72, 0xb3, 0x16, 0x71, - 0x63, 0x47, 0x18, 0x94, 0x9b, 0x35, 0x02, 0x76, 0x19, 0x32, 0x8e, 0x89, 0x4d, 0x05, 0x0c, 0x08, - 0xe7, 0x47, 0xec, 0x99, 0x4b, 0x64, 0xeb, 0x45, 0x6b, 0xe7, 0x2a, 0xd5, 0x7d, 0xe7, 0xca, 0xdc, - 0xb4, 0xe2, 0xab, 0x90, 0x34, 0xf9, 0x8a, 0x4e, 0xc1, 0xe4, 0xed, 0xf5, 0x45, 0xb1, 0x5c, 0xc9, - 0x55, 0x02, 0x0e, 0x3e, 0x36, 0x8a, 0x6b, 0x85, 0xe5, 0xb5, 0xa5, 0x0c, 0x87, 0x13, 0xc2, 0xe6, - 0xda, 0x1a, 0x4e, 0xc4, 0x50, 0x12, 0xfa, 0x0b, 0xeb, 0x6b, 0xc5, 0x4c, 0x1c, 0x0d, 0x43, 0x92, - 0xee, 0xaf, 0x14, 0x0b, 0x99, 0x7e, 0x04, 0x30, 0x70, 0x2b, 0xb7, 0x8c, 0xff, 0x27, 0xae, 0x17, - 0x3e, 0xc9, 0xe5, 0xe0, 0x54, 0xd0, 0xa6, 0x2b, 0x15, 0xe9, 0xa7, 0x82, 0x36, 0x48, 0x49, 0x91, - 0x3e, 0xff, 0x61, 0xad, 0xde, 0xc2, 0x46, 0xe7, 0xa3, 0xc5, 0x21, 0x6b, 0xff, 0x93, 0x5f, 0x86, - 0xcc, 0x92, 0x6c, 0xb8, 0x2d, 0xe7, 0x4b, 0x2e, 0xcd, 0x73, 0x9e, 0x68, 0x9e, 0xd3, 0x1d, 0x5a, - 0x65, 0x5a, 0xe7, 0xef, 0xc6, 0x00, 0x61, 0xad, 0x4a, 0x33, 0x03, 0x2c, 0x49, 0xff, 0xf1, 0x2d, - 0x89, 0xad, 0xf2, 0x39, 0x97, 0xca, 0x77, 0x99, 0x90, 0x98, 0xc7, 0x84, 0xb8, 0xcd, 0x4f, 0xdc, - 0x6b, 0x7e, 0xcc, 0x29, 0x9f, 0xe8, 0x6d, 0xca, 0x3b, 0x0d, 0xd3, 0x40, 0xc7, 0x65, 0x82, 0xdf, - 0x00, 0xb5, 0x60, 0xdc, 0x45, 0x29, 0x66, 0x7b, 0x9e, 0x87, 0xfe, 0xfb, 0xea, 0xb6, 0x69, 0x73, - 0xce, 0x76, 0xec, 0x89, 0x40, 0xaa, 0x46, 0x36, 0x34, 0x2b, 0x30, 0x9e, 0x97, 0x9a, 0x55, 0xb9, - 0x7e, 0x22, 0xac, 0x5e, 0x81, 0x71, 0x6a, 0xb6, 0x4e, 0x04, 0xdb, 0x5f, 0x8a, 0xc1, 0x39, 0xe6, - 0xc1, 0xf9, 0xf6, 0xf2, 0x4d, 0xd4, 0x45, 0x8f, 0x3f, 0x72, 0x95, 0x20, 0xbf, 0x84, 0xa2, 0x1d, - 0x40, 0x58, 0xf2, 0x23, 0xc2, 0x78, 0xc0, 0xd1, 0x40, 0x97, 0xc8, 0x4a, 0x3f, 0x3e, 0xba, 0x90, - 0x40, 0xfe, 0xa3, 0x87, 0x13, 0xd8, 0x6c, 0xf8, 0xdf, 0x1c, 0x9c, 0xa3, 0xae, 0x7f, 0x38, 0x35, - 0x72, 0x2e, 0x42, 0x33, 0x5a, 0x44, 0x3c, 0x8c, 0x61, 0x86, 0x6e, 0xeb, 0x64, 0x28, 0x11, 0x48, - 0x84, 0x63, 0x2d, 0x11, 0x24, 0x38, 0x83, 0x35, 0xd2, 0x63, 0x1c, 0x3b, 0xff, 0x1f, 0x39, 0x78, - 0x82, 0xcc, 0x3f, 0xff, 0xd1, 0xd1, 0x09, 0xcb, 0xdb, 0xf7, 0x6b, 0x1f, 0xe2, 0xef, 0x70, 0x70, - 0x2e, 0x74, 0x84, 0x4c, 0xdb, 0xbc, 0x0b, 0x13, 0x01, 0x12, 0x60, 0x6a, 0x9f, 0x1e, 0x44, 0x60, - 0x3c, 0xe0, 0x08, 0x2e, 0xb2, 0x62, 0xaa, 0xc1, 0x39, 0xa6, 0x4a, 0x1e, 0x27, 0xc7, 0xff, 0x56, - 0x0c, 0x4e, 0xaf, 0x48, 0xda, 0xae, 0x4c, 0x3f, 0xde, 0x6c, 0x7f, 0x9c, 0x9d, 0xb9, 0xa0, 0x25, - 0x48, 0xb1, 0x2d, 0xdd, 0x96, 0x64, 0xec, 0x31, 0xcf, 0x38, 0xf4, 0x3a, 0x20, 0x36, 0x5c, 0xcc, - 0x3d, 0xde, 0x90, 0x8c, 0x3d, 0x01, 0x28, 0x2c, 0xfe, 0x8f, 0x24, 0x98, 0xa2, 0x3b, 0xf1, 0xa6, - 0xb3, 0x4d, 0xbe, 0x8c, 0xa8, 0xcb, 0x66, 0xfc, 0xff, 0x6c, 0x04, 0xa4, 0xb7, 0x14, 0xf2, 0xd5, - 0x66, 0x72, 0x91, 0xd5, 0x9f, 0x8d, 0xd6, 0x60, 0x74, 0x5b, 0xd9, 0x15, 0xdf, 0x6f, 0xcb, 0xda, - 0xa1, 0x48, 0xe3, 0x7d, 0xa2, 0x3d, 0xe1, 0x4a, 0x26, 0x5c, 0xa9, 0x4f, 0x48, 0x6f, 0x3b, 0x33, - 0x1c, 0xa1, 0xdc, 0xb7, 0x21, 0x1b, 0x48, 0x25, 0xfa, 0xad, 0x91, 0x2b, 0x80, 0xa4, 0x56, 0x4b, - 0x53, 0x0f, 0xc4, 0x66, 0xbb, 0x21, 0xb6, 0xf6, 0x34, 0x49, 0xb7, 0x3e, 0x39, 0x91, 0xa1, 0x25, - 0x6b, 0xed, 0xc6, 0x06, 0xcd, 0xe7, 0xbf, 0xca, 0xc1, 0x04, 0xee, 0xb8, 0x5c, 0xf3, 0x5c, 0xea, - 0xf4, 0x1e, 0x78, 0x72, 0x5d, 0x0f, 0x3c, 0x63, 0xfe, 0x03, 0xcf, 0x3a, 0x4c, 0xd7, 0x71, 0x4f, - 0x45, 0x76, 0x5d, 0xc1, 0xf1, 0x99, 0xfe, 0xce, 0x47, 0x2e, 0x1d, 0xa4, 0xa0, 0xd4, 0x27, 0x4c, - 0xd6, 0x83, 0x8a, 0xad, 0x40, 0xb3, 0xbf, 0xc8, 0xc1, 0xb8, 0x7b, 0x4c, 0x94, 0x32, 0xfb, 0xe1, - 0xbd, 0xe1, 0x3a, 0x06, 0xca, 0x85, 0x53, 0xbb, 0x7b, 0x67, 0xbe, 0x16, 0x83, 0x49, 0x77, 0x67, - 0xd8, 0xf7, 0x3a, 0x51, 0x1e, 0x06, 0x5c, 0x4b, 0xbc, 0x67, 0x3b, 0x2c, 0xf1, 0xbc, 0xec, 0x11, - 0x18, 0xa8, 0xd7, 0xbd, 0x8f, 0xf5, 0xe4, 0xde, 0xbf, 0xe9, 0x5e, 0x0f, 0xcd, 0x46, 0xea, 0x80, - 0x6b, 0x4d, 0x64, 0x3b, 0xe1, 0xfd, 0xd1, 0x9d, 0x70, 0xb3, 0x5d, 0x73, 0x95, 0x13, 0xbd, 0x5d, - 0x9d, 0xb6, 0xab, 0xf3, 0xdf, 0x89, 0xc1, 0x88, 0xbb, 0x38, 0x70, 0x9d, 0xb8, 0x09, 0xa3, 0x34, - 0xb4, 0xc8, 0xb0, 0xbe, 0x9e, 0xda, 0xf9, 0x72, 0x7f, 0x20, 0xa7, 0x84, 0x11, 0x86, 0xc4, 0xe4, - 0xdc, 0xdb, 0x90, 0x69, 0xc9, 0xf4, 0xdb, 0x9e, 0x0c, 0x6d, 0xb7, 0xc8, 0xc3, 0x60, 0xbc, 0xa3, - 0x0c, 0x0b, 0x4b, 0xeb, 0xd7, 0xff, 0x06, 0xf7, 0x49, 0xee, 0x73, 0x1c, 0x9c, 0x0f, 0x50, 0x9a, - 0x9e, 0xd1, 0xbe, 0xd1, 0x31, 0x56, 0x43, 0x77, 0x55, 0xd6, 0xe7, 0x3f, 0xa4, 0x19, 0xf6, 0x45, - 0x9f, 0x8f, 0xd0, 0x4b, 0x01, 0x6b, 0x90, 0xee, 0x60, 0xfc, 0xf7, 0x38, 0x38, 0x4d, 0xbd, 0x40, - 0x77, 0x87, 0x6c, 0x2b, 0xe0, 0xb6, 0xc8, 0xcf, 0x10, 0x3b, 0x70, 0x01, 0x75, 0x1f, 0x92, 0x65, - 0x8d, 0x4b, 0xd6, 0xbc, 0x88, 0xf5, 0x3c, 0x2f, 0xd8, 0x89, 0x7c, 0xd5, 0xbc, 0x19, 0x32, 0xee, - 0x1d, 0x81, 0xed, 0xee, 0x65, 0xdc, 0xa3, 0x8d, 0xe2, 0xf4, 0xfd, 0x1e, 0x07, 0xa7, 0xa9, 0xd3, - 0x17, 0x3c, 0xf8, 0xd7, 0x5c, 0x26, 0x90, 0x0d, 0x3d, 0x02, 0x37, 0x99, 0xb4, 0xe6, 0x8f, 0x31, - 0x70, 0xa7, 0x42, 0x38, 0xba, 0x57, 0x77, 0x0f, 0x66, 0x96, 0x64, 0xe3, 0x71, 0x0c, 0x8e, 0xff, - 0x4d, 0x0e, 0xb2, 0xd8, 0xd7, 0x71, 0x17, 0xea, 0x27, 0x28, 0x37, 0xdf, 0x2f, 0x2f, 0xee, 0xaf, - 0xb1, 0x93, 0x32, 0xdf, 0xc8, 0x98, 0x07, 0x77, 0x07, 0xc6, 0xbc, 0x52, 0x68, 0xba, 0x6f, 0x4f, - 0x47, 0xe2, 0xb0, 0x30, 0xea, 0x99, 0x98, 0x91, 0xdd, 0xb6, 0x77, 0xe1, 0x34, 0x75, 0xdb, 0x1e, - 0x07, 0x4b, 0x67, 0xbf, 0xc4, 0x01, 0xf2, 0x07, 0xe9, 0xa3, 0x0b, 0x70, 0x4e, 0x28, 0xae, 0x90, - 0xd0, 0xd2, 0xf0, 0xe8, 0xf0, 0x61, 0x48, 0x16, 0xef, 0x6c, 0xe6, 0x56, 0xc4, 0xca, 0x7a, 0x86, - 0x43, 0x19, 0x18, 0x5e, 0x5b, 0xaf, 0x88, 0x56, 0x0e, 0x79, 0x23, 0x60, 0x49, 0x28, 0xe6, 0x2a, - 0x45, 0x41, 0xac, 0x94, 0x72, 0x6b, 0x99, 0x38, 0x4a, 0xc3, 0xd0, 0x4a, 0xb1, 0x5c, 0xa6, 0xc9, - 0x7e, 0x94, 0x85, 0x29, 0x67, 0x05, 0x71, 0x5d, 0xa0, 0xe0, 0xe5, 0x4c, 0x02, 0x4d, 0xc3, 0xb8, - 0x55, 0xd5, 0x51, 0x30, 0x80, 0x00, 0x06, 0x8a, 0xef, 0x2c, 0x97, 0x2b, 0xe5, 0xcc, 0xe0, 0xec, - 0xc7, 0x1c, 0x0c, 0xaf, 0x4a, 0x46, 0x75, 0x4f, 0x69, 0xee, 0x12, 0x95, 0x7a, 0x16, 0x4e, 0xad, - 0xe6, 0x2a, 0xf9, 0xd2, 0xf2, 0xda, 0x92, 0x58, 0xb9, 0xb7, 0xe1, 0xdd, 0x12, 0x3a, 0x03, 0x33, - 0xee, 0xe2, 0x5b, 0x9b, 0x2b, 0x2b, 0x22, 0xc9, 0xca, 0x70, 0xe8, 0x1c, 0x9c, 0x76, 0x97, 0x6e, - 0xe4, 0x84, 0xca, 0x72, 0xce, 0xac, 0x10, 0xf3, 0x57, 0x58, 0x5e, 0xbb, 0x5b, 0x14, 0xca, 0x45, - 0x56, 0x21, 0x3e, 0xbb, 0x0a, 0x69, 0xf6, 0x51, 0x3f, 0xfa, 0xc1, 0x33, 0x3c, 0x8a, 0xfc, 0xfa, - 0x5a, 0xa5, 0xb8, 0xe6, 0xbd, 0x22, 0x99, 0x81, 0x61, 0xb3, 0xa0, 0x52, 0x7c, 0xa7, 0x92, 0xe1, - 0xd0, 0x18, 0xa4, 0xcd, 0x9c, 0xe5, 0xd5, 0xdc, 0x52, 0x31, 0x13, 0x9b, 0xdd, 0xb0, 0x3f, 0xe5, - 0xe5, 0xf8, 0xa2, 0x16, 0x3a, 0x05, 0x93, 0xc5, 0xb5, 0xcd, 0xd5, 0xa0, 0x01, 0xa6, 0x60, 0x70, - 0x99, 0x64, 0x30, 0x8c, 0xc2, 0x72, 0xf9, 0x2d, 0x31, 0xb7, 0x96, 0x5b, 0xb9, 0x57, 0x5e, 0x2e, - 0x67, 0x62, 0xb3, 0x02, 0x80, 0xbd, 0xbd, 0x82, 0xc9, 0x51, 0x58, 0xd9, 0x10, 0x6f, 0xaf, 0x2f, - 0x06, 0xe1, 0x1a, 0x85, 0x14, 0xc3, 0x85, 0x6b, 0x64, 0x38, 0x34, 0x09, 0x63, 0x2e, 0x7c, 0x24, - 0x3b, 0x36, 0xdb, 0x0c, 0xf2, 0xd4, 0xc8, 0x4d, 0x7a, 0xf2, 0x0d, 0xbe, 0x82, 0xb8, 0xbc, 0x76, - 0x6b, 0x9d, 0x36, 0xd0, 0x75, 0x9b, 0x6e, 0x08, 0x12, 0x42, 0x31, 0x57, 0xb8, 0x97, 0x89, 0x39, - 0x36, 0xe3, 0xe2, 0x74, 0x58, 0x77, 0x73, 0x2b, 0xcb, 0x85, 0x4c, 0xff, 0xc2, 0xef, 0x94, 0xc8, - 0x20, 0xca, 0xb2, 0xf6, 0x40, 0xa9, 0xca, 0xe8, 0x9b, 0x1c, 0x8c, 0xb8, 0x3f, 0xa8, 0x88, 0xae, - 0x74, 0xdd, 0x1b, 0x77, 0x7c, 0xb4, 0x32, 0x7b, 0x35, 0x62, 0x6d, 0xaa, 0x0a, 0xf8, 0x83, 0x3f, - 0xff, 0xb5, 0xaf, 0xff, 0x44, 0x4c, 0xe3, 0x2f, 0xcd, 0x3f, 0x58, 0x98, 0xff, 0x90, 0xea, 0xad, - 0xd7, 0x2c, 0x43, 0x3c, 0xfb, 0xd1, 0x3c, 0xfb, 0x04, 0xff, 0x75, 0xb6, 0x89, 0x7b, 0x9d, 0x9b, - 0xdd, 0x2a, 0xf0, 0x6f, 0x84, 0xd5, 0xb6, 0xbe, 0xf4, 0x3f, 0xff, 0xa1, 0x43, 0x45, 0x05, 0x61, - 0x41, 0xbf, 0xc5, 0x41, 0xca, 0xf1, 0x45, 0x64, 0xf4, 0x4c, 0xe4, 0x2f, 0x60, 0x67, 0x67, 0xa3, - 0x54, 0x65, 0x03, 0xd4, 0xc8, 0x00, 0xeb, 0xfc, 0x53, 0x61, 0x5d, 0x26, 0x5f, 0x5d, 0xbe, 0x4e, - 0xdf, 0x14, 0xc2, 0xa3, 0xcb, 0xf1, 0x37, 0x7b, 0x1d, 0x9d, 0x07, 0x05, 0xfa, 0x0e, 0x07, 0x63, - 0xbe, 0x0f, 0xed, 0xa2, 0xf9, 0x28, 0x51, 0xb3, 0x4e, 0x56, 0x3e, 0x17, 0x1d, 0x80, 0x0d, 0xf6, - 0xcf, 0x92, 0xc1, 0x1e, 0xf0, 0xb3, 0xdd, 0xb8, 0x69, 0xaf, 0xbc, 0xf1, 0x90, 0x97, 0xf8, 0xc5, - 0xa3, 0x32, 0xd4, 0x85, 0x88, 0x0c, 0x5c, 0x88, 0x3c, 0x70, 0xa1, 0xd7, 0x81, 0x0b, 0xc7, 0x1f, - 0xb8, 0x76, 0x52, 0x03, 0x77, 0x21, 0x42, 0xbf, 0xc0, 0x41, 0xda, 0xf5, 0xc9, 0x3d, 0x14, 0xe6, - 0x2a, 0x05, 0x7d, 0x0e, 0x30, 0x7b, 0x25, 0x5a, 0x65, 0x36, 0xd8, 0x95, 0x47, 0x39, 0xa7, 0x03, - 0x40, 0x86, 0xfe, 0x2a, 0x4a, 0xe3, 0x91, 0x58, 0x37, 0x56, 0xb7, 0x2e, 0xa1, 0xa7, 0x71, 0x46, - 0xa8, 0xc8, 0x5a, 0x1d, 0xfd, 0xf9, 0x38, 0x4c, 0x06, 0xc6, 0x68, 0xa1, 0x17, 0x42, 0xaf, 0x06, - 0x87, 0x47, 0x74, 0x65, 0x23, 0x46, 0xa3, 0xf0, 0x5f, 0x8a, 0x3d, 0xca, 0x4d, 0x53, 0xba, 0x5f, - 0xf1, 0x9e, 0xe2, 0x3d, 0xca, 0x5d, 0x08, 0x29, 0xb9, 0xe2, 0x1d, 0xf7, 0xb7, 0x39, 0xfe, 0xaa, - 0x93, 0x85, 0xee, 0x45, 0xc8, 0xac, 0x3f, 0xc6, 0x1f, 0xb3, 0xfd, 0x36, 0x5f, 0xec, 0x08, 0x13, - 0x4e, 0x34, 0x3f, 0xae, 0xab, 0xfc, 0xe5, 0x50, 0xcd, 0x12, 0x50, 0xbd, 0xc8, 0xbf, 0xd9, 0xb3, - 0x76, 0xf1, 0xa3, 0x41, 0xff, 0x27, 0x06, 0x93, 0x81, 0x91, 0x65, 0xa1, 0x4c, 0xeb, 0x14, 0x87, - 0x16, 0x99, 0x69, 0x3f, 0x12, 0x7b, 0x94, 0x3b, 0x8f, 0x3d, 0x2d, 0x3f, 0x63, 0x1c, 0x2e, 0x3e, - 0x61, 0xcc, 0xef, 0x72, 0x0b, 0x94, 0x31, 0xb8, 0xba, 0x97, 0xc4, 0xfe, 0x9b, 0x17, 0xb3, 0x1f, - 0x61, 0xea, 0xbc, 0xbe, 0x70, 0x2d, 0x1c, 0xc6, 0xa6, 0x4f, 0x28, 0xfc, 0xd5, 0x85, 0xcb, 0x36, - 0xbc, 0x4d, 0xdb, 0xb0, 0xea, 0xd7, 0x16, 0x5e, 0x0c, 0xac, 0xde, 0xbd, 0x25, 0xf4, 0x6f, 0x63, - 0x80, 0xfc, 0xa1, 0x6e, 0x28, 0x4c, 0x73, 0x85, 0x46, 0xc5, 0x45, 0x26, 0xfd, 0xef, 0x71, 0x8f, - 0x72, 0xc4, 0xc9, 0x25, 0xd4, 0xfd, 0x75, 0x0e, 0xf5, 0x46, 0xdd, 0xad, 0x1b, 0xe8, 0xe8, 0xa4, - 0xdd, 0x9a, 0x45, 0x91, 0xe9, 0xba, 0xf5, 0x32, 0x3a, 0x12, 0x51, 0xd1, 0xf7, 0x62, 0xe6, 0xb7, - 0x52, 0x3d, 0x51, 0x6a, 0x0b, 0x1d, 0x95, 0x63, 0x60, 0x2c, 0x60, 0xf6, 0x85, 0x9e, 0x60, 0x98, - 0x5e, 0xfd, 0x9f, 0xdc, 0xa3, 0x1c, 0x5b, 0xba, 0x11, 0x22, 0xff, 0x91, 0x49, 0xe4, 0xa8, 0xba, - 0x65, 0x6b, 0x09, 0x9d, 0x8c, 0x62, 0xb1, 0x08, 0x1e, 0x41, 0xab, 0x6c, 0x2d, 0xa2, 0x63, 0xab, - 0x14, 0xf4, 0x6f, 0x62, 0x30, 0x19, 0x18, 0xe2, 0x17, 0xaa, 0x4f, 0x3a, 0x05, 0x04, 0x66, 0x43, - 0x3e, 0x30, 0xe6, 0x13, 0xe2, 0xd9, 0x5e, 0x85, 0x78, 0xf6, 0x38, 0x42, 0x3c, 0xdb, 0x83, 0x10, - 0xcf, 0x1e, 0x4d, 0x88, 0xbf, 0x12, 0x87, 0x99, 0xb0, 0x23, 0x49, 0xf4, 0x72, 0x47, 0x7b, 0x1a, - 0x7a, 0x8e, 0x91, 0x8d, 0x7e, 0xa4, 0xc2, 0x7f, 0x25, 0xf6, 0x28, 0x97, 0x65, 0xb6, 0x33, 0xe0, - 0x90, 0xe6, 0x51, 0xee, 0x62, 0x78, 0xa1, 0xcf, 0xb6, 0x7e, 0x2a, 0xc6, 0x3f, 0xd7, 0x51, 0x9c, - 0x03, 0xce, 0x6f, 0xb0, 0x5a, 0x5d, 0xe5, 0x4b, 0x47, 0x9a, 0x05, 0x21, 0xe8, 0x9e, 0xe3, 0x9f, - 0x0d, 0x93, 0xef, 0x10, 0x88, 0x12, 0x9f, 0xef, 0x75, 0x46, 0x04, 0x63, 0x42, 0x9f, 0x89, 0xc3, - 0x4c, 0xd8, 0xa1, 0x6a, 0x28, 0x3f, 0xbb, 0x9c, 0xc2, 0xf6, 0xc2, 0xcf, 0xcf, 0xc4, 0x1e, 0xe5, - 0x9e, 0x22, 0x06, 0x37, 0x88, 0x61, 0x5e, 0x9b, 0xfb, 0x47, 0xdc, 0xc2, 0x73, 0xe1, 0xf3, 0x23, - 0xe8, 0xc2, 0x1b, 0xb5, 0x83, 0xb9, 0x85, 0x9b, 0xd1, 0xa6, 0x55, 0x38, 0x8a, 0xe7, 0x16, 0x9e, - 0x0d, 0x9c, 0x30, 0xe1, 0x10, 0x37, 0x17, 0x5e, 0xe9, 0x3a, 0xc5, 0x42, 0xa1, 0xd1, 0xd7, 0x63, - 0x30, 0x19, 0x78, 0xdc, 0x1b, 0xaa, 0xb0, 0x3a, 0x1d, 0x0e, 0xf7, 0xc2, 0x92, 0x4f, 0x5c, 0x3a, - 0xec, 0x77, 0x39, 0xd4, 0x33, 0xc9, 0xb7, 0x5e, 0x47, 0xc7, 0xa2, 0xf7, 0xd6, 0x55, 0xd4, 0x0b, - 0xb1, 0xb7, 0xae, 0xa1, 0xa3, 0x52, 0x1a, 0xfd, 0x78, 0x9c, 0x46, 0x3c, 0x06, 0x9c, 0x07, 0xa3, - 0x97, 0x3a, 0xd8, 0xd8, 0xf0, 0x13, 0xf2, 0xec, 0xcb, 0xbd, 0x82, 0x31, 0xeb, 0xfc, 0x43, 0x31, - 0xb7, 0x75, 0xfe, 0xb6, 0x49, 0xf9, 0x1e, 0xb4, 0xd3, 0xd6, 0x6d, 0x74, 0x62, 0xaa, 0xc9, 0xe2, - 0x42, 0x34, 0xbd, 0xb4, 0x55, 0x44, 0x27, 0xa1, 0x94, 0xd0, 0x6f, 0xc6, 0x60, 0x26, 0xec, 0xe0, - 0x3b, 0x54, 0x23, 0x75, 0x39, 0x29, 0x0f, 0xb5, 0xd7, 0x5e, 0x59, 0x9f, 0x3d, 0x82, 0xac, 0xcf, - 0x1e, 0x53, 0xd6, 0x67, 0x7b, 0x93, 0xf5, 0xd9, 0x23, 0xcb, 0xfa, 0x5f, 0x89, 0x41, 0xc6, 0x7b, - 0x0b, 0x01, 0xcd, 0x75, 0xb4, 0xd9, 0xbe, 0xe8, 0xdb, 0x6c, 0xf7, 0x80, 0x5f, 0xfe, 0x6f, 0x73, - 0x8f, 0x72, 0x88, 0x99, 0x61, 0x47, 0x64, 0xe1, 0xa3, 0xdc, 0x13, 0xfe, 0x4c, 0x9f, 0x4d, 0xbe, - 0xcf, 0x5f, 0x08, 0x93, 0x22, 0x47, 0x1c, 0x31, 0xd6, 0xaf, 0x6f, 0xf2, 0x37, 0x7a, 0x95, 0x37, - 0x37, 0x06, 0xf4, 0x2d, 0x0e, 0x32, 0xde, 0xcb, 0x04, 0xa1, 0x04, 0x09, 0xb9, 0x75, 0x10, 0x85, - 0x20, 0x3f, 0xc8, 0x3d, 0xca, 0x9d, 0x21, 0x46, 0xce, 0x39, 0x72, 0xaf, 0x71, 0x7b, 0x6f, 0xe1, - 0x42, 0x20, 0x67, 0x9d, 0xb7, 0x41, 0xa9, 0x65, 0x79, 0x71, 0x61, 0xbe, 0xab, 0x0c, 0xf8, 0xa0, - 0xd0, 0x2f, 0x71, 0x90, 0x76, 0xdd, 0x31, 0x08, 0xdd, 0xc2, 0x09, 0xba, 0x89, 0x10, 0x65, 0x9c, - 0xb2, 0x73, 0x32, 0xbd, 0x83, 0xa2, 0x0c, 0x67, 0xeb, 0x79, 0xd4, 0xeb, 0x58, 0xd0, 0x37, 0x38, - 0x18, 0xf5, 0x44, 0xa9, 0xa3, 0xab, 0x1d, 0x94, 0xae, 0x3f, 0x8a, 0x3f, 0x3b, 0x17, 0xb5, 0x3a, - 0xd3, 0xcd, 0xba, 0x5b, 0x35, 0xd7, 0x50, 0x14, 0x21, 0xdd, 0x7a, 0x0d, 0x1d, 0x47, 0x42, 0xd1, - 0xbf, 0x22, 0x2f, 0xf6, 0xbb, 0x83, 0xe0, 0x43, 0xc5, 0x33, 0x24, 0x5a, 0x3e, 0x54, 0xf3, 0xb9, - 0x79, 0x35, 0x1b, 0x8d, 0x57, 0xb3, 0x3d, 0xf3, 0xea, 0x3f, 0x70, 0x80, 0xfc, 0x17, 0x81, 0x42, - 0xb7, 0x11, 0x42, 0xef, 0x0c, 0x65, 0x3b, 0x07, 0x7d, 0xf2, 0x0f, 0xc8, 0x38, 0x5a, 0xfc, 0x95, - 0x28, 0x53, 0x48, 0x62, 0xad, 0xe0, 0xb9, 0xf4, 0x1a, 0xff, 0x6a, 0xaf, 0x73, 0xc9, 0x01, 0x8e, - 0xbe, 0x18, 0x83, 0x61, 0xe7, 0x25, 0x1b, 0x34, 0xdb, 0x79, 0x0d, 0xe4, 0x0c, 0x0b, 0xed, 0x36, - 0xa6, 0x5f, 0x73, 0xe8, 0x51, 0xc7, 0x25, 0x1b, 0x5b, 0x8f, 0x3a, 0x32, 0x9d, 0x7a, 0xf4, 0x51, - 0x6e, 0x94, 0x55, 0x30, 0xaf, 0xd3, 0x3c, 0xca, 0x9d, 0xf6, 0xe4, 0xf8, 0xf4, 0xee, 0x36, 0x7f, - 0x2e, 0xd4, 0xd8, 0xd3, 0x68, 0x5c, 0xe2, 0xd3, 0xf2, 0xaf, 0xf4, 0x6c, 0xe3, 0x2d, 0x68, 0xf4, - 0x55, 0x0e, 0x52, 0x8e, 0xf0, 0xde, 0xd0, 0x13, 0x11, 0x7f, 0xb0, 0x74, 0xe8, 0x89, 0x48, 0x40, - 0xb4, 0x30, 0xbf, 0xef, 0x9e, 0xac, 0xef, 0xa2, 0x6e, 0x23, 0xb3, 0x1c, 0xc8, 0xde, 0x87, 0x85, - 0x7e, 0x9e, 0x83, 0x21, 0x2b, 0x50, 0x1c, 0x5d, 0xea, 0xe0, 0x9b, 0xf7, 0xc2, 0xfa, 0xff, 0xcf, - 0x39, 0x3b, 0x37, 0xd8, 0x00, 0x7c, 0x1e, 0x02, 0x8b, 0x5f, 0xef, 0xe0, 0x30, 0xbb, 0xbc, 0x02, - 0xab, 0x3a, 0xfa, 0x39, 0x0e, 0x86, 0x9d, 0x71, 0xca, 0xa1, 0x52, 0x1b, 0x10, 0xcc, 0x1c, 0xaa, - 0x51, 0xdc, 0x7d, 0x9e, 0xed, 0xde, 0xe7, 0xd9, 0x9e, 0xfa, 0xfc, 0x8b, 0x1c, 0x0c, 0x3b, 0x23, - 0xb5, 0xc3, 0x67, 0x9a, 0x3f, 0x9c, 0x3b, 0xb4, 0xcf, 0xf7, 0xa9, 0x3a, 0xe7, 0x2f, 0x76, 0xe9, - 0xec, 0xf5, 0x2a, 0x41, 0x8a, 0xa7, 0xc0, 0x2b, 0xfc, 0x42, 0x0f, 0xdd, 0xb6, 0x01, 0xd1, 0x67, - 0xe3, 0x30, 0x11, 0x14, 0xc7, 0x13, 0xba, 0xff, 0xd7, 0x21, 0xe8, 0x27, 0x1b, 0x2d, 0x8c, 0x81, - 0xff, 0x42, 0xec, 0x51, 0x2e, 0xcd, 0xa6, 0x3e, 0x8d, 0x56, 0x79, 0x94, 0x3b, 0xe5, 0x4a, 0xfb, - 0x14, 0xc1, 0x7f, 0xe3, 0x98, 0x12, 0x0d, 0x5b, 0x42, 0x78, 0x22, 0x23, 0x30, 0x4d, 0x96, 0xf9, - 0xc2, 0x91, 0x56, 0x1d, 0x01, 0xa8, 0xae, 0x84, 0x9f, 0xd4, 0x06, 0xd4, 0x3e, 0xc2, 0x49, 0xad, - 0x1f, 0x0b, 0xfa, 0xcf, 0x31, 0x98, 0x08, 0x0a, 0x32, 0x0a, 0xe5, 0x4c, 0x87, 0x88, 0xa4, 0xa8, - 0x9c, 0xf9, 0x2e, 0xf7, 0x28, 0x37, 0x4d, 0x7c, 0x42, 0xc6, 0x07, 0xaf, 0x3b, 0xf8, 0x5b, 0xdc, - 0xc2, 0x95, 0xf0, 0x85, 0x85, 0x37, 0x6e, 0x8c, 0x3a, 0x86, 0xaf, 0x2d, 0xbc, 0x1a, 0x6d, 0x2d, - 0x12, 0x0c, 0x7e, 0x65, 0xe1, 0x52, 0xa0, 0x68, 0x07, 0xd7, 0x7e, 0x75, 0xe1, 0x85, 0xae, 0x13, - 0x21, 0x10, 0x12, 0x7d, 0x39, 0x06, 0x63, 0xbe, 0xa0, 0xa7, 0xd0, 0x53, 0xd4, 0xb0, 0xf0, 0xa8, - 0xa8, 0x94, 0x7e, 0xe4, 0x5a, 0xe3, 0xfd, 0x2a, 0x87, 0x7a, 0x22, 0xeb, 0xd6, 0x75, 0x74, 0x64, - 0x9a, 0x6e, 0x3d, 0x83, 0xa2, 0x12, 0x74, 0xeb, 0x25, 0x74, 0x14, 0x6a, 0xa2, 0xff, 0x1e, 0xa3, - 0x37, 0x66, 0x3c, 0x91, 0x50, 0xe8, 0xf9, 0x0e, 0xf6, 0x32, 0x38, 0x1e, 0x2c, 0xbb, 0xd0, 0x0b, - 0x08, 0x33, 0xb5, 0xdf, 0xf6, 0x9c, 0x28, 0x7c, 0xdd, 0xa4, 0x6e, 0x44, 0xe5, 0xb1, 0x75, 0x0b, - 0x9d, 0x88, 0xe6, 0xb0, 0x28, 0xdd, 0x5d, 0x6d, 0x6c, 0xe5, 0xd0, 0x71, 0x75, 0x06, 0xfa, 0x97, - 0x31, 0x98, 0x08, 0x8a, 0xf2, 0x0a, 0x55, 0x18, 0x1d, 0x42, 0xc2, 0x42, 0x6d, 0x93, 0x57, 0x6e, - 0x67, 0x7b, 0x94, 0xdb, 0xd9, 0x63, 0xc8, 0xed, 0x6c, 0x74, 0xb9, 0x9d, 0x3d, 0x8a, 0xdc, 0x66, - 0x6f, 0xfd, 0x4a, 0x0e, 0xf9, 0x83, 0xde, 0xfe, 0x5d, 0x6e, 0x6e, 0xcf, 0x30, 0x5a, 0xfa, 0xf5, - 0xf9, 0xf9, 0x87, 0x0f, 0x1f, 0x7a, 0x23, 0xe2, 0xa4, 0xb6, 0xb1, 0x37, 0x4f, 0xe2, 0xfe, 0xaf, - 0xb6, 0xea, 0x92, 0xb1, 0xa3, 0x6a, 0x8d, 0xc5, 0x8f, 0x39, 0x38, 0x55, 0x55, 0x1b, 0xc1, 0x64, - 0x5f, 0x4c, 0x16, 0xea, 0xad, 0x0d, 0x4c, 0xd5, 0x0d, 0x6e, 0xeb, 0x55, 0x56, 0x65, 0x57, 0xad, - 0x4b, 0xcd, 0xdd, 0x39, 0x55, 0xdb, 0x9d, 0xdf, 0x95, 0x9b, 0x84, 0xe6, 0xf3, 0x76, 0x43, 0xf3, - 0x0c, 0x03, 0x36, 0xe1, 0xf3, 0x0f, 0x16, 0x6e, 0xd4, 0xea, 0xad, 0x2f, 0xc6, 0xc6, 0x97, 0x28, - 0x28, 0xb9, 0x8a, 0x80, 0x5d, 0xb4, 0xb9, 0xbb, 0x0b, 0xbf, 0x62, 0xe6, 0xbe, 0x4b, 0x72, 0xdf, - 0x2d, 0xd4, 0x5b, 0xef, 0xde, 0x5d, 0xd8, 0x1e, 0x20, 0x08, 0x5f, 0xf8, 0xbf, 0x01, 0x00, 0x00, - 0xff, 0xff, 0xb7, 0x8b, 0x71, 0x07, 0x42, 0xb1, 0x00, 0x00, + // 11511 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe4, 0xbd, 0x6b, 0x70, 0x1b, 0x59, + 0x76, 0x18, 0xcc, 0x06, 0x08, 0x12, 0x3c, 0x00, 0x48, 0xf0, 0xf2, 0x29, 0x48, 0x1a, 0x8d, 0x5a, + 0x33, 0x92, 0x86, 0x23, 0x91, 0x33, 0x9c, 0x97, 0xa4, 0x79, 0x82, 0x20, 0x24, 0x50, 0xe2, 0x4b, + 0x0d, 0x50, 0x33, 0xa2, 0xe7, 0x9b, 0x76, 0x13, 0x68, 0x92, 0x2d, 0x02, 0x68, 0x4c, 0x77, 0x43, + 0x22, 0x67, 0x3c, 0x5f, 0x9c, 0xd8, 0x59, 0xdb, 0x89, 0x27, 0xde, 0x94, 0x1d, 0xaf, 0x63, 0xbb, + 0xb6, 0x92, 0x6c, 0xe2, 0xa4, 0xb6, 0x2a, 0x89, 0xe3, 0xbc, 0x5c, 0xde, 0xd8, 0x29, 0xe7, 0xb1, + 0xde, 0x72, 0x79, 0xed, 0x6c, 0xa6, 0xe2, 0x87, 0xca, 0xeb, 0x38, 0xae, 0xb5, 0xd7, 0x35, 0x5b, + 0x79, 0x55, 0x36, 0x5b, 0xf1, 0xe4, 0x51, 0xa9, 0xfb, 0xe8, 0x77, 0x37, 0xd0, 0x20, 0x29, 0xaf, + 0xcb, 0xf9, 0x05, 0xdc, 0x73, 0xcf, 0x39, 0xf7, 0xde, 0x73, 0xcf, 0x3d, 0xe7, 0xdc, 0x67, 0xc3, + 0x99, 0x1d, 0x55, 0xdd, 0xa9, 0xcb, 0x73, 0x2d, 0x4d, 0xb9, 0x2f, 0x55, 0x0f, 0xe6, 0x6a, 0xf5, + 0xd6, 0xdc, 0xfd, 0x79, 0xfc, 0x33, 0xdb, 0xd2, 0x54, 0x43, 0x45, 0x13, 0x14, 0x61, 0x96, 0x21, + 0xcc, 0xe2, 0x9c, 0xfb, 0xf3, 0xb9, 0x53, 0x8c, 0x4e, 0x6a, 0x29, 0x73, 0x52, 0xb3, 0xa9, 0x1a, + 0x92, 0xa1, 0xa8, 0x4d, 0x9d, 0x12, 0xe5, 0xa6, 0x1c, 0xb9, 0xd5, 0xba, 0x22, 0x37, 0x0d, 0x96, + 0x71, 0xc6, 0x91, 0xb1, 0xad, 0xc8, 0xf5, 0x9a, 0xb8, 0x25, 0xef, 0x4a, 0xf7, 0x15, 0x55, 0x63, + 0x08, 0x27, 0x1c, 0x08, 0x9a, 0xac, 0xab, 0x6d, 0xad, 0x2a, 0xb3, 0xac, 0x73, 0xc1, 0x55, 0xd5, + 0x0d, 0x55, 0x93, 0x76, 0x4c, 0xa4, 0xc7, 0x2c, 0x24, 0xd5, 0x50, 0xb7, 0xda, 0xdb, 0x73, 0xb5, + 0xb6, 0x46, 0xaa, 0xc6, 0xf2, 0x4f, 0x7a, 0xf3, 0xe5, 0x46, 0xcb, 0x38, 0x60, 0x99, 0x8f, 0x7b, + 0x33, 0x69, 0x15, 0x1b, 0x92, 0xbe, 0xe7, 0xa9, 0xbf, 0x85, 0x61, 0x28, 0x0d, 0x59, 0x37, 0xa4, + 0x46, 0xcb, 0xd3, 0x72, 0xad, 0x55, 0x9d, 0xd3, 0x0d, 0xc9, 0x68, 0x9b, 0x22, 0x99, 0x64, 0x19, + 0xc6, 0x41, 0x4b, 0x9e, 0xab, 0x49, 0x86, 0xec, 0xa9, 0x10, 0x83, 0x1f, 0xa8, 0xdb, 0x0f, 0x64, + 0x79, 0x2f, 0x28, 0x13, 0x17, 0xa5, 0x6e, 0xd7, 0x24, 0x56, 0x5b, 0x5e, 0x80, 0x6c, 0x71, 0xbf, + 0x5a, 0x6f, 0xd7, 0xe4, 0xa5, 0xe6, 0xb6, 0x5a, 0x39, 0x68, 0xc9, 0x3a, 0x7a, 0x0d, 0x40, 0x69, + 0x6e, 0xab, 0x22, 0x26, 0xd0, 0xa7, 0xb9, 0xc7, 0xe3, 0x17, 0x53, 0xf3, 0x67, 0x66, 0x03, 0xbb, + 0x70, 0xd6, 0xa4, 0x12, 0x86, 0x14, 0x93, 0x9e, 0xff, 0x28, 0x06, 0x19, 0xc2, 0x54, 0x57, 0xd4, + 0xa6, 0xd0, 0xae, 0xcb, 0x48, 0x00, 0xa8, 0x29, 0x55, 0x2c, 0x41, 0x49, 0x3b, 0x98, 0xe6, 0x1e, + 0xe7, 0x2e, 0xa6, 0xe6, 0x9f, 0x09, 0xe1, 0x58, 0x68, 0xeb, 0x86, 0xda, 0x30, 0xf9, 0xce, 0x2e, + 0x5a, 0x74, 0xa5, 0x3e, 0xc1, 0xc1, 0x05, 0x15, 0x20, 0xa1, 0xc9, 0x3b, 0xf2, 0xfe, 0x74, 0x8c, + 0xb0, 0x7b, 0x3a, 0x1a, 0x3b, 0x01, 0x93, 0x94, 0xfa, 0x04, 0x4a, 0x8b, 0xde, 0x04, 0x24, 0xd3, + 0xe6, 0x8b, 0x8e, 0x26, 0xc7, 0x09, 0xc7, 0x0b, 0x21, 0x1c, 0xbd, 0xf2, 0x2a, 0xf5, 0x09, 0x59, + 0xd9, 0x2b, 0xc3, 0x12, 0x64, 0x1a, 0x92, 0x51, 0xdd, 0x55, 0x9a, 0x3b, 0x84, 0xe9, 0x74, 0xff, + 0xe3, 0xdc, 0xc5, 0xe1, 0xf9, 0x73, 0x21, 0x3c, 0x57, 0x18, 0x2e, 0x11, 0x65, 0xba, 0xe1, 0x48, + 0x2d, 0x0c, 0x40, 0x3f, 0x66, 0xc0, 0x7f, 0x99, 0x83, 0xe1, 0xa5, 0xa6, 0xde, 0x92, 0x89, 0x04, + 0x88, 0x58, 0x6b, 0x90, 0xde, 0x55, 0x8d, 0x07, 0xaa, 0x56, 0x13, 0xb5, 0x76, 0x5d, 0x66, 0x82, + 0x7d, 0x3d, 0xa2, 0x60, 0x65, 0xc3, 0x66, 0x35, 0x5b, 0xa2, 0x7c, 0xf0, 0xff, 0x52, 0x9f, 0x90, + 0xda, 0xb5, 0x93, 0x68, 0x05, 0x86, 0x65, 0xb3, 0x37, 0x69, 0x39, 0x54, 0xe2, 0x4f, 0x74, 0x92, + 0x8f, 0xd9, 0xf5, 0xa5, 0x3e, 0x21, 0x23, 0x3b, 0x01, 0x56, 0x7b, 0x3e, 0xcd, 0xc1, 0xa8, 0xbb, + 0x3d, 0x65, 0xd9, 0x38, 0xaa, 0xee, 0xa1, 0x97, 0x21, 0x81, 0xab, 0xa8, 0x4f, 0xc7, 0x08, 0xe9, + 0x93, 0xa1, 0xa4, 0xce, 0x82, 0x05, 0x4a, 0xc3, 0x7f, 0x38, 0x08, 0x19, 0x96, 0x53, 0x50, 0x9b, + 0xdb, 0xca, 0xce, 0x91, 0xab, 0x53, 0x82, 0xe1, 0x86, 0xd2, 0x14, 0xeb, 0xca, 0x9e, 0x5c, 0x57, + 0x76, 0x55, 0xb5, 0x46, 0x64, 0x37, 0x3c, 0x7f, 0x36, 0x84, 0xc7, 0xb2, 0x85, 0x28, 0x64, 0x1a, + 0x4a, 0xd3, 0x4e, 0xa2, 0x9b, 0x30, 0x50, 0x57, 0x1a, 0x8a, 0x61, 0x6a, 0xe7, 0x7c, 0xe7, 0x96, + 0xd1, 0xfa, 0xcf, 0x5e, 0x57, 0x9a, 0x35, 0xa5, 0xb9, 0xb3, 0x4c, 0x28, 0x05, 0xc6, 0x01, 0x9d, + 0x83, 0x8c, 0xd2, 0xa4, 0x5a, 0xff, 0x6e, 0x5b, 0x35, 0xa8, 0x72, 0x26, 0x85, 0x34, 0x03, 0xde, + 0xc6, 0x30, 0x74, 0x29, 0x70, 0x68, 0x24, 0x08, 0xa6, 0x5f, 0xdf, 0x6f, 0xc3, 0x68, 0x95, 0xe8, + 0x97, 0x13, 0x79, 0xa0, 0x63, 0x1f, 0xb8, 0xf5, 0x51, 0x18, 0xa9, 0xba, 0xd2, 0x3a, 0x5a, 0x81, + 0x91, 0xaa, 0xda, 0x34, 0xe4, 0xa6, 0x21, 0xaa, 0x2d, 0xe2, 0x18, 0xa6, 0x93, 0x8f, 0xc7, 0x2f, + 0x0e, 0x87, 0x2a, 0x5e, 0x81, 0x62, 0xaf, 0x11, 0x64, 0x61, 0xb8, 0xea, 0x4c, 0xea, 0xa8, 0x00, + 0x49, 0xdc, 0xcb, 0xa2, 0x2e, 0x1b, 0xd3, 0x40, 0x2a, 0x76, 0x31, 0x92, 0x72, 0x94, 0x65, 0x43, + 0x18, 0xd4, 0xe8, 0x9f, 0xdc, 0x37, 0x62, 0x90, 0x71, 0xc9, 0x14, 0x3d, 0x0b, 0x13, 0x0d, 0x69, + 0x5f, 0xdc, 0xa6, 0x40, 0x5d, 0x6c, 0xc9, 0x9a, 0xa8, 0x18, 0x72, 0x83, 0x0c, 0xc6, 0x84, 0x80, + 0x1a, 0xd2, 0x3e, 0x23, 0xd0, 0xd7, 0x65, 0x6d, 0xc9, 0x90, 0x1b, 0xe8, 0x25, 0x98, 0xf6, 0x91, + 0x68, 0xf2, 0xbb, 0x6d, 0x59, 0x37, 0x88, 0x7a, 0x24, 0x84, 0x09, 0x37, 0x95, 0x40, 0x33, 0xd1, + 0x77, 0x41, 0xce, 0x5f, 0x96, 0x29, 0xee, 0xe9, 0x38, 0x69, 0xd4, 0x1b, 0xbd, 0xeb, 0x85, 0xa5, + 0xb9, 0x24, 0x29, 0x4c, 0x7a, 0xaa, 0xcc, 0x32, 0x73, 0x2d, 0x3c, 0x38, 0x1c, 0x88, 0xe8, 0x15, + 0x18, 0xb2, 0x4b, 0xa7, 0xb6, 0xa7, 0xeb, 0xd8, 0x48, 0x9a, 0x63, 0x03, 0x9d, 0x85, 0xb4, 0xb3, + 0x31, 0xac, 0xe5, 0x29, 0x47, 0xe1, 0xfc, 0xb7, 0x38, 0x18, 0x59, 0x38, 0x30, 0x64, 0xd6, 0xb1, + 0x44, 0x78, 0x8b, 0xd4, 0x7c, 0x90, 0xf2, 0x86, 0x43, 0x9d, 0x88, 0x87, 0x8a, 0xa4, 0x75, 0x52, + 0x01, 0x42, 0x8d, 0x10, 0xf4, 0xd7, 0x24, 0x43, 0x22, 0x85, 0xa6, 0x05, 0xf2, 0x9f, 0xff, 0x7e, + 0x0e, 0x86, 0x2c, 0x3c, 0x94, 0x83, 0xc9, 0x85, 0xbb, 0x95, 0x62, 0x59, 0xac, 0xdc, 0x5d, 0x2f, + 0x8a, 0x1b, 0xab, 0xe5, 0xf5, 0x62, 0x61, 0xe9, 0xfa, 0x52, 0x71, 0x31, 0xdb, 0x87, 0x86, 0x20, + 0xb1, 0xb4, 0x92, 0xbf, 0x51, 0xcc, 0x0e, 0xa0, 0x61, 0x00, 0xf2, 0x57, 0xbc, 0xb9, 0x5e, 0xbc, + 0x91, 0xe5, 0x50, 0x06, 0x86, 0x68, 0x7a, 0x61, 0x65, 0x3d, 0x1b, 0xb3, 0x93, 0xeb, 0xab, 0x37, + 0xb2, 0x71, 0x3b, 0x59, 0xbe, 0x73, 0x23, 0xdb, 0x8f, 0x93, 0x95, 0xe2, 0x5b, 0x15, 0x71, 0xa3, + 0x72, 0xfd, 0x4a, 0x36, 0x81, 0x92, 0xd0, 0x9f, 0xbf, 0x23, 0xac, 0x65, 0x53, 0xfc, 0xdf, 0xe7, + 0x20, 0xe5, 0x6c, 0xf4, 0x24, 0x24, 0xee, 0x4b, 0xf5, 0xb6, 0x4c, 0xc6, 0xfe, 0x10, 0x76, 0x5f, + 0x24, 0x89, 0x9e, 0x87, 0x84, 0x21, 0x6d, 0xd5, 0xe9, 0x00, 0x4e, 0xcd, 0x9f, 0x0a, 0x91, 0x46, + 0x05, 0xe3, 0x60, 0x2a, 0x82, 0x8c, 0x8a, 0x30, 0xb4, 0x75, 0x60, 0xc8, 0x54, 0x4d, 0x13, 0x84, + 0xf2, 0x7c, 0x34, 0x39, 0x96, 0xfa, 0x84, 0x24, 0x26, 0xc5, 0xff, 0x17, 0x52, 0x30, 0x84, 0xe5, + 0x46, 0xd8, 0xf0, 0xff, 0x88, 0x83, 0x04, 0x29, 0x06, 0x5d, 0x81, 0xc1, 0x5d, 0x59, 0xaa, 0xc9, + 0x9a, 0x69, 0x2f, 0x1f, 0x0b, 0xe1, 0x7d, 0x1d, 0xc7, 0x45, 0x4b, 0x35, 0xc1, 0x44, 0x47, 0xcf, + 0x43, 0xbf, 0xa6, 0x3e, 0x30, 0x4d, 0xf7, 0xe3, 0x9d, 0x1a, 0x33, 0x2b, 0xa8, 0x0f, 0x04, 0x82, + 0x9d, 0x7b, 0x19, 0xe2, 0x82, 0xfa, 0x00, 0x3d, 0x0f, 0x03, 0x44, 0x26, 0x66, 0xa9, 0x61, 0xb2, + 0xb8, 0x83, 0x91, 0x04, 0x86, 0xcb, 0xbf, 0x67, 0x19, 0x7c, 0x41, 0xd6, 0xdb, 0x75, 0x03, 0x5d, + 0x83, 0xa4, 0xa5, 0x91, 0xdd, 0xaa, 0x4f, 0xd0, 0x04, 0x0b, 0x1f, 0x5d, 0x06, 0x64, 0x0d, 0x4d, + 0x43, 0x6b, 0x37, 0xab, 0x92, 0x21, 0x53, 0x83, 0x9f, 0x14, 0x46, 0xcd, 0x9c, 0x8a, 0x99, 0xc1, + 0x7f, 0x75, 0x00, 0x06, 0x19, 0x13, 0xac, 0x8f, 0x4d, 0xa9, 0x21, 0x4f, 0x0f, 0xe3, 0xfe, 0x15, + 0xc8, 0x7f, 0x34, 0x0e, 0x09, 0x6a, 0x9d, 0x39, 0x02, 0xa4, 0x09, 0xf7, 0xa0, 0x8b, 0xf5, 0x3a, + 0xe8, 0xf2, 0x00, 0x0e, 0x5f, 0x14, 0x8f, 0xea, 0x8b, 0x1c, 0x44, 0xe8, 0x65, 0x48, 0xd6, 0xd5, + 0x2a, 0x09, 0x87, 0x99, 0xda, 0x85, 0x95, 0xbf, 0xcc, 0xd0, 0x04, 0x8b, 0x00, 0xbd, 0x0c, 0xa9, + 0xaa, 0x26, 0x4b, 0x86, 0x2c, 0xe2, 0x40, 0x74, 0x7a, 0x80, 0xd0, 0xe7, 0x6c, 0x7a, 0x1a, 0x10, + 0xcf, 0x56, 0xcc, 0x80, 0x58, 0x00, 0x8a, 0x8e, 0x01, 0xe8, 0x75, 0x00, 0x22, 0x03, 0x62, 0xf3, + 0xa6, 0x07, 0x09, 0x6d, 0x98, 0x96, 0x10, 0x1f, 0x86, 0x05, 0x20, 0x0c, 0xbd, 0x6b, 0xfe, 0x45, + 0x05, 0xc8, 0x98, 0xd3, 0x01, 0x91, 0x88, 0x3b, 0x89, 0x25, 0xbb, 0xf0, 0xd8, 0x27, 0xf9, 0x93, + 0x70, 0x02, 0x13, 0x52, 0x5e, 0x52, 0x4b, 0xd1, 0x67, 0xab, 0x6a, 0x63, 0x6e, 0xb1, 0xde, 0xba, + 0xa9, 0x6e, 0x09, 0x69, 0x93, 0x68, 0x15, 0x77, 0x4b, 0x11, 0xd2, 0x86, 0xa6, 0xec, 0xec, 0xc8, + 0x1a, 0xe5, 0x31, 0x44, 0x78, 0xf0, 0x9f, 0xe4, 0xcf, 0xc0, 0xe9, 0x00, 0x1e, 0x37, 0xd5, 0xad, + 0x0a, 0x45, 0x17, 0x52, 0x8c, 0x8e, 0xb0, 0x59, 0x80, 0x81, 0xba, 0xb4, 0x25, 0xd7, 0x75, 0xe6, + 0x8c, 0x66, 0x3a, 0xab, 0xd9, 0xec, 0x32, 0x41, 0x2e, 0x36, 0x0d, 0xed, 0x40, 0x60, 0x94, 0x68, + 0x01, 0x46, 0xee, 0xa9, 0x5b, 0xa2, 0x53, 0xa2, 0xa9, 0xae, 0x12, 0xcd, 0xdc, 0x53, 0xb7, 0x0a, + 0xb6, 0x50, 0xaf, 0x42, 0x12, 0xf3, 0x20, 0x4d, 0xc9, 0x44, 0x12, 0xc7, 0xe0, 0x3d, 0x75, 0x0b, + 0x37, 0x21, 0x77, 0x15, 0x52, 0x8e, 0x5a, 0xa1, 0x2c, 0xc4, 0xf7, 0xe4, 0x03, 0xa6, 0xad, 0xf8, + 0x2f, 0xd6, 0x60, 0x6a, 0xb6, 0x62, 0x54, 0x83, 0x49, 0xe2, 0x5a, 0xec, 0x0a, 0x77, 0x6d, 0xeb, + 0xe3, 0xbc, 0x08, 0x67, 0x03, 0xca, 0x60, 0xa3, 0xd1, 0x1c, 0x17, 0xd7, 0x5a, 0x9a, 0x7a, 0x4f, + 0xae, 0x1a, 0xfa, 0xdc, 0xfb, 0xec, 0xdf, 0x07, 0x73, 0xa6, 0x32, 0xe9, 0x73, 0xef, 0x9b, 0x7f, + 0x3f, 0x98, 0x33, 0x87, 0xd7, 0xdc, 0xfb, 0xec, 0xdf, 0x07, 0xfc, 0xe7, 0x62, 0x90, 0x5c, 0xb6, + 0x15, 0x0f, 0x88, 0xcd, 0xd3, 0xa4, 0xe6, 0x8e, 0xe9, 0xac, 0xc2, 0x4c, 0x84, 0x80, 0x71, 0x04, + 0x62, 0x23, 0xc9, 0x5f, 0x54, 0xc4, 0x91, 0x48, 0x4d, 0x6e, 0xa9, 0x4a, 0xd3, 0x60, 0x1c, 0x62, + 0x11, 0x38, 0x0c, 0x5b, 0x44, 0x94, 0x4d, 0x19, 0x46, 0xcd, 0x80, 0xc6, 0x6a, 0xc3, 0xf4, 0x20, + 0xe9, 0xfd, 0xf3, 0x9d, 0x43, 0x1a, 0x6b, 0x24, 0x65, 0xab, 0x6e, 0x00, 0x9e, 0xac, 0x0d, 0x61, + 0x98, 0xa4, 0x34, 0x65, 0x8d, 0xe8, 0x73, 0xf8, 0x98, 0x28, 0x98, 0x78, 0x82, 0x4d, 0xc2, 0xff, + 0xd3, 0x38, 0x8c, 0x78, 0x4a, 0x41, 0x4f, 0xc2, 0xb0, 0x85, 0x40, 0x35, 0x83, 0x76, 0x6a, 0xc6, + 0x82, 0x12, 0x15, 0x5e, 0x87, 0x11, 0x4d, 0xae, 0xe2, 0xd9, 0x87, 0x65, 0x10, 0xa8, 0x58, 0xc2, + 0x22, 0x3e, 0x81, 0x60, 0x9b, 0xc5, 0x94, 0xfa, 0x84, 0x61, 0xcd, 0x05, 0xc1, 0x53, 0x0d, 0xa5, + 0x21, 0xed, 0xc8, 0x36, 0xc3, 0x78, 0xc7, 0xa9, 0xc6, 0x12, 0x46, 0x76, 0xf0, 0xcb, 0x28, 0x4e, + 0x00, 0xba, 0x03, 0xa3, 0x35, 0xb5, 0xda, 0x6e, 0x38, 0x25, 0xce, 0x1c, 0x5e, 0xd8, 0xe4, 0x6e, + 0x91, 0xe1, 0x3b, 0x98, 0x66, 0x6b, 0x1e, 0x18, 0xba, 0x05, 0x63, 0xb6, 0x7c, 0xac, 0xc9, 0x7b, + 0x04, 0x6b, 0x86, 0x2c, 0x32, 0x0b, 0x86, 0x9e, 0xa6, 0x5a, 0x41, 0x99, 0xdd, 0x97, 0x35, 0x3c, + 0x51, 0x22, 0xc6, 0x6d, 0x88, 0xf6, 0x36, 0xc9, 0xb8, 0x43, 0xe1, 0x0b, 0x60, 0x1b, 0x5f, 0xfe, + 0x39, 0xc8, 0x7a, 0x6b, 0x8b, 0xce, 0x40, 0x6a, 0x5b, 0xa9, 0xcb, 0xa2, 0xba, 0xbd, 0x8d, 0xe3, + 0x5c, 0xdc, 0x6d, 0x71, 0x01, 0x30, 0x68, 0x8d, 0x40, 0xf8, 0xdf, 0xe2, 0x60, 0xd8, 0xdd, 0x0d, + 0xd8, 0xac, 0xb2, 0x6e, 0x34, 0x87, 0x6f, 0xb8, 0x0a, 0x51, 0xd2, 0x5b, 0xf2, 0x81, 0x30, 0xa4, + 0x99, 0x7f, 0xb1, 0x09, 0xa1, 0x6b, 0x1c, 0x4a, 0x8d, 0x29, 0x40, 0x57, 0x97, 0xbf, 0x4d, 0xff, + 0xa0, 0x5b, 0x30, 0x4c, 0x62, 0x92, 0xa8, 0x1d, 0x4e, 0x9c, 0xbf, 0x35, 0x1a, 0x32, 0x86, 0x33, + 0xc9, 0x5f, 0x82, 0x8c, 0x2b, 0x1f, 0x9d, 0x84, 0x21, 0x4d, 0x7d, 0x20, 0x2a, 0xcd, 0x9a, 0xbc, + 0xcf, 0x64, 0x91, 0xd4, 0xd4, 0x07, 0x4b, 0x38, 0xcd, 0x7f, 0x93, 0x83, 0x21, 0x6b, 0x44, 0x60, + 0x07, 0x6c, 0x85, 0x95, 0x43, 0x2c, 0x48, 0x3c, 0x0d, 0xc0, 0x8c, 0x8e, 0xd9, 0xb2, 0x21, 0x61, + 0x88, 0x41, 0x96, 0x6a, 0x98, 0xfb, 0x76, 0xbb, 0x5e, 0x17, 0x5b, 0x92, 0xb1, 0x4b, 0x03, 0x33, + 0x21, 0x89, 0x01, 0xeb, 0x92, 0xb1, 0x4b, 0x8b, 0x56, 0x0d, 0x9a, 0xd9, 0x4f, 0x33, 0x31, 0x80, + 0x64, 0x9e, 0xc3, 0x7e, 0xa8, 0x2e, 0x19, 0xca, 0x7d, 0x99, 0x22, 0x24, 0x08, 0x42, 0xda, 0x04, + 0x12, 0xa4, 0x97, 0x21, 0xd5, 0x6e, 0xd5, 0x7a, 0x71, 0x95, 0x14, 0x9d, 0x58, 0xf5, 0x69, 0x18, + 0x74, 0xab, 0x92, 0x99, 0xe4, 0xe7, 0x20, 0x41, 0xad, 0xd1, 0x38, 0x24, 0x74, 0x43, 0xd2, 0x4c, + 0x25, 0xa1, 0x09, 0x6c, 0xc4, 0xe5, 0x26, 0x6d, 0x6c, 0x5c, 0xc0, 0x7f, 0xf9, 0x4d, 0xc8, 0xb8, + 0x86, 0x19, 0x5a, 0x82, 0xe1, 0x2d, 0xb5, 0x4d, 0x8c, 0xac, 0xb8, 0xa5, 0xee, 0x5b, 0x11, 0x17, + 0x1f, 0x16, 0x43, 0x32, 0xe4, 0x05, 0x75, 0x5f, 0xc8, 0x6c, 0xd9, 0x09, 0x59, 0xe7, 0x25, 0x48, + 0x39, 0x72, 0x71, 0xe1, 0x86, 0xda, 0x62, 0x33, 0x27, 0xfc, 0x17, 0x77, 0x4b, 0x5d, 0xde, 0x36, + 0xa7, 0x45, 0xe4, 0x3f, 0xae, 0xf8, 0x03, 0xa5, 0xc6, 0x64, 0x9e, 0x10, 0x68, 0x02, 0x4d, 0xc2, + 0xc0, 0xae, 0xac, 0xec, 0xec, 0x1a, 0x44, 0xda, 0x09, 0x81, 0xa5, 0xf8, 0xef, 0x4f, 0x00, 0x12, + 0xe4, 0x9a, 0x54, 0x35, 0x48, 0x2b, 0xcc, 0xa9, 0x54, 0x09, 0x06, 0x5a, 0x92, 0x26, 0x37, 0x69, + 0xf3, 0x87, 0x16, 0x9e, 0xf9, 0x24, 0x7f, 0x19, 0x9e, 0xae, 0xd6, 0xd5, 0x76, 0xcd, 0xf4, 0xf6, + 0x0d, 0xa9, 0x29, 0xed, 0xc8, 0x9a, 0xd7, 0x43, 0xad, 0x53, 0x05, 0x10, 0x18, 0x3d, 0x1e, 0x72, + 0xa6, 0xf2, 0x62, 0x35, 0x21, 0x21, 0x85, 0x00, 0x26, 0x88, 0xea, 0xb8, 0x42, 0xbd, 0x9a, 0x58, + 0x25, 0xb3, 0xaf, 0x2e, 0xeb, 0x27, 0xae, 0x99, 0x9a, 0x90, 0x51, 0x5c, 0x0b, 0x12, 0xf7, 0x61, + 0x8a, 0x5a, 0x48, 0x8d, 0xb4, 0x09, 0x17, 0x4a, 0x99, 0xe2, 0xa9, 0x39, 0xee, 0x85, 0xd7, 0x42, + 0x47, 0xae, 0x57, 0x06, 0xb3, 0x2c, 0xc1, 0xf8, 0xb0, 0xf2, 0x26, 0x94, 0x00, 0xa8, 0x8e, 0x9e, + 0x82, 0xac, 0xb9, 0x64, 0x60, 0xc5, 0xc7, 0x03, 0x24, 0xb2, 0x1d, 0x61, 0x70, 0x73, 0xd6, 0x86, + 0x0a, 0xce, 0xe9, 0xc5, 0x60, 0x2f, 0xd3, 0x0b, 0x7b, 0x72, 0x91, 0xfb, 0x0a, 0x07, 0xe3, 0x41, + 0xf5, 0xc3, 0xfe, 0xae, 0xd7, 0x49, 0x27, 0x9e, 0xb5, 0x58, 0x11, 0xf0, 0x45, 0xec, 0xb4, 0x30, + 0x4b, 0x51, 0xaa, 0xd7, 0x45, 0x43, 0xde, 0xa7, 0xca, 0x95, 0xc4, 0xde, 0x83, 0x66, 0xe4, 0xeb, + 0xf5, 0x8a, 0xbc, 0x6f, 0x60, 0xaf, 0xef, 0x14, 0x72, 0x5d, 0xd5, 0x98, 0x71, 0x3a, 0x15, 0xea, + 0x5f, 0xeb, 0xaa, 0x86, 0x7d, 0x9a, 0x55, 0xe3, 0xba, 0xaa, 0x2d, 0x24, 0x61, 0xc0, 0x90, 0xb4, + 0x1d, 0xd9, 0xe0, 0x0b, 0x90, 0x20, 0x20, 0xac, 0xe7, 0x9a, 0x5c, 0x23, 0xb5, 0x8f, 0x09, 0xf8, + 0x2f, 0xd6, 0xe9, 0x1d, 0x4d, 0x96, 0xa9, 0x03, 0x8d, 0x09, 0x34, 0x81, 0xb5, 0x7f, 0xcb, 0x9c, + 0xf5, 0xc5, 0x04, 0xf2, 0x9f, 0xff, 0x69, 0x0e, 0xc6, 0x5c, 0x7d, 0xa9, 0xb7, 0xd4, 0xa6, 0x2e, + 0x63, 0x9f, 0x4d, 0x0b, 0x96, 0x6b, 0x22, 0xe9, 0x42, 0xc2, 0x3e, 0x6d, 0x36, 0x4a, 0xae, 0x11, + 0x74, 0x8c, 0x26, 0xef, 0x1b, 0x1a, 0xc5, 0xb3, 0x5a, 0x3f, 0x24, 0x64, 0x2c, 0x28, 0x69, 0xbb, + 0x43, 0x67, 0x35, 0x32, 0x31, 0xea, 0xe6, 0x88, 0x9d, 0x93, 0x28, 0x4b, 0x67, 0x69, 0x92, 0xff, + 0xd5, 0x38, 0x4c, 0x2f, 0xca, 0x4a, 0x4d, 0x6e, 0x1a, 0xca, 0xf6, 0x01, 0xeb, 0xef, 0xe3, 0x1f, + 0x88, 0x15, 0x18, 0xad, 0x59, 0xa5, 0xb8, 0x87, 0x5a, 0xa8, 0xb7, 0x77, 0xd6, 0x0a, 0x6b, 0x7f, + 0xb6, 0xe6, 0x81, 0x04, 0x8c, 0xde, 0xf8, 0xe1, 0x47, 0xef, 0x8b, 0xd0, 0x4f, 0x46, 0x05, 0x9d, + 0x37, 0xf1, 0x9d, 0x83, 0x3e, 0x32, 0x22, 0x08, 0x3e, 0x9a, 0x87, 0x09, 0xb3, 0x12, 0x86, 0xdc, + 0x68, 0xd5, 0xb1, 0x57, 0x20, 0x71, 0x19, 0x75, 0x1c, 0x63, 0x2c, 0xb3, 0xc2, 0xf2, 0x48, 0x74, + 0x76, 0x05, 0xa6, 0x1d, 0xe2, 0x70, 0x93, 0x0d, 0x10, 0xb2, 0x49, 0x3b, 0xdf, 0x45, 0xe9, 0xb1, + 0x68, 0x83, 0x5e, 0x8b, 0xc6, 0x7f, 0x96, 0x83, 0x13, 0x01, 0x1d, 0xca, 0x34, 0xd1, 0x6c, 0x24, + 0xd7, 0x63, 0x23, 0x97, 0x20, 0xa9, 0xde, 0x97, 0xb5, 0xfb, 0x8a, 0xfc, 0x80, 0x75, 0xdb, 0xe5, + 0xb0, 0x28, 0x40, 0x93, 0x9a, 0xfa, 0xb6, 0xaa, 0x35, 0x48, 0x85, 0xd6, 0x18, 0x91, 0x60, 0x91, + 0xf3, 0x5f, 0x89, 0xc3, 0xb4, 0x10, 0xa6, 0x71, 0xb7, 0x3c, 0x1a, 0xf7, 0xdc, 0xef, 0xe6, 0x63, + 0x47, 0x51, 0x3a, 0xed, 0xc8, 0x4a, 0xa7, 0xfd, 0x69, 0x52, 0x3a, 0xad, 0x8b, 0xd2, 0x69, 0x47, + 0x50, 0x3a, 0xe1, 0x4f, 0xb2, 0xd2, 0x7d, 0x21, 0x06, 0x13, 0x76, 0x47, 0x3c, 0x1a, 0x1b, 0x77, + 0xac, 0xb1, 0x84, 0x29, 0xb3, 0xf8, 0x71, 0x29, 0x46, 0x7f, 0xb8, 0x62, 0x78, 0xba, 0x37, 0xe1, + 0xeb, 0xde, 0x3b, 0x30, 0xe9, 0x15, 0x1e, 0xeb, 0xda, 0x57, 0x60, 0x80, 0xf9, 0x20, 0xae, 0x07, + 0x1f, 0xc4, 0x68, 0xf8, 0x5f, 0x89, 0xc1, 0xd8, 0x5a, 0xdb, 0x68, 0xb5, 0x8d, 0x32, 0xdd, 0xe3, + 0x65, 0x8d, 0x7f, 0xc5, 0x5c, 0x3a, 0xed, 0xcc, 0x74, 0x41, 0xd9, 0xb9, 0xdd, 0x96, 0xb5, 0x03, + 0xcf, 0x12, 0xea, 0xdb, 0x90, 0x51, 0x09, 0x53, 0x51, 0xaf, 0xee, 0xca, 0x0d, 0x89, 0x2d, 0xa5, + 0xbd, 0x14, 0xc2, 0x25, 0xa0, 0x02, 0x26, 0x8c, 0x90, 0x0b, 0x69, 0xd5, 0x91, 0xe2, 0x3f, 0xcd, + 0x41, 0xda, 0x99, 0x8d, 0x4e, 0xc3, 0x89, 0xb5, 0x8d, 0xca, 0xfa, 0x46, 0x45, 0x2c, 0x17, 0x4a, + 0xc5, 0x95, 0xbc, 0x67, 0x3d, 0x7a, 0x14, 0x32, 0x0b, 0xf9, 0xf2, 0x52, 0x41, 0x2c, 0xac, 0x2d, + 0x6f, 0xac, 0xac, 0x96, 0xb3, 0x1c, 0x1a, 0x81, 0xd4, 0x8d, 0x42, 0xd9, 0x02, 0xc4, 0xd0, 0x04, + 0x8c, 0x2e, 0xe6, 0x2b, 0xf9, 0x72, 0x65, 0x4d, 0x28, 0x5a, 0xe0, 0x38, 0x06, 0x2f, 0x2c, 0xdd, + 0x10, 0x6f, 0x6f, 0x14, 0x85, 0xbb, 0x16, 0xb8, 0x1f, 0x93, 0xe7, 0x97, 0x97, 0x2d, 0x40, 0xc2, + 0xda, 0xb5, 0xab, 0xda, 0x9b, 0x00, 0x65, 0x43, 0x32, 0xf4, 0x23, 0x6e, 0x02, 0x8c, 0x43, 0xa2, + 0xaa, 0xb6, 0x9b, 0x06, 0x9b, 0x70, 0xd0, 0x04, 0xff, 0xb9, 0x04, 0x4c, 0xb3, 0xde, 0x5c, 0x94, + 0x0c, 0xa9, 0x4c, 0x46, 0xc8, 0xa2, 0x6c, 0x48, 0x4a, 0x5d, 0x47, 0x0d, 0x6c, 0x71, 0xc9, 0xb8, + 0x92, 0x6b, 0xd6, 0xc6, 0x10, 0x1d, 0x05, 0x5d, 0xf6, 0x3e, 0x7c, 0xbc, 0x66, 0x05, 0x93, 0x11, + 0xdb, 0x24, 0xc2, 0xa6, 0xd8, 0x0d, 0x41, 0xab, 0x96, 0xf6, 0xd1, 0x61, 0xf2, 0x62, 0xef, 0x65, + 0x38, 0xf5, 0x31, 0xf7, 0x0b, 0x1c, 0x64, 0xbd, 0xc5, 0xa2, 0x2d, 0x38, 0xa1, 0x37, 0xa5, 0x96, + 0xbe, 0xab, 0x1a, 0xa2, 0x77, 0x68, 0x31, 0xa1, 0x9e, 0xef, 0x5c, 0xae, 0x39, 0xd8, 0x84, 0x29, + 0x93, 0x91, 0x27, 0x03, 0x5d, 0x07, 0x20, 0x8b, 0x85, 0x4e, 0x7f, 0x72, 0xa1, 0x33, 0xd3, 0x9b, + 0xea, 0x16, 0xb3, 0x1c, 0x43, 0xf7, 0xcc, 0xbf, 0xb9, 0x4f, 0xc5, 0x60, 0x80, 0x2d, 0x96, 0x5f, + 0x80, 0x91, 0x96, 0xa6, 0x56, 0x65, 0x5d, 0x97, 0x6b, 0x22, 0x0e, 0xdd, 0x75, 0x36, 0x99, 0x1c, + 0xb6, 0xc0, 0x64, 0x43, 0x05, 0x5b, 0x0c, 0x43, 0x35, 0xa4, 0xba, 0x28, 0xeb, 0x86, 0xd2, 0x90, + 0x0c, 0x0b, 0x9d, 0x76, 0xfb, 0x18, 0xc9, 0x2c, 0x9a, 0x79, 0x94, 0x66, 0x19, 0x46, 0x2c, 0xc5, + 0x12, 0x75, 0xac, 0x6b, 0x6c, 0x87, 0xeb, 0x89, 0x2e, 0xea, 0x45, 0xf4, 0x12, 0xdb, 0x3a, 0xa7, + 0x9a, 0xde, 0x86, 0xf4, 0xee, 0xc1, 0x96, 0xa6, 0xd4, 0x18, 0x2b, 0x3a, 0x2f, 0x99, 0x0d, 0x61, + 0x55, 0x22, 0xa8, 0x4c, 0x0a, 0x98, 0x81, 0xa2, 0x1b, 0x4a, 0x55, 0x17, 0x52, 0x94, 0x07, 0x61, + 0xc9, 0xff, 0x20, 0x07, 0x53, 0x21, 0x88, 0x6e, 0xc9, 0x50, 0x0d, 0xf7, 0x4a, 0xa6, 0x80, 0xa1, + 0xe8, 0x1c, 0x64, 0xa4, 0x2d, 0x55, 0x33, 0x2c, 0x34, 0x2a, 0x91, 0x34, 0x03, 0x5a, 0x48, 0x2d, + 0x99, 0x4e, 0xb8, 0x29, 0x52, 0x9c, 0x22, 0x31, 0x20, 0x41, 0xe2, 0x7f, 0x9e, 0x83, 0x31, 0x53, + 0x04, 0x8b, 0xb2, 0x5e, 0xd5, 0x14, 0xa2, 0x5c, 0xd6, 0xd6, 0x02, 0xe7, 0xd8, 0x5a, 0x38, 0x0b, + 0xe9, 0x9a, 0xa2, 0xb7, 0xea, 0xd2, 0x01, 0x35, 0xdc, 0x74, 0x0e, 0x90, 0x62, 0x30, 0x62, 0xb0, + 0x57, 0x20, 0xad, 0xb7, 0x5b, 0x2d, 0x5a, 0xb5, 0xad, 0x03, 0x22, 0xfb, 0xe1, 0xd0, 0x55, 0x6a, + 0x4b, 0xf6, 0x26, 0xc9, 0xc2, 0x81, 0x90, 0xd2, 0xed, 0x04, 0x7a, 0x1c, 0x52, 0x35, 0xbb, 0x52, + 0xcc, 0x53, 0x38, 0x41, 0xbc, 0x01, 0xe3, 0xcb, 0x8a, 0x6e, 0x58, 0xfb, 0xbf, 0xa6, 0xf3, 0x3c, + 0x07, 0x99, 0xba, 0xd4, 0xdc, 0x69, 0xe3, 0x49, 0x6f, 0x55, 0xad, 0x99, 0x0d, 0x49, 0x9b, 0xc0, + 0x82, 0x5a, 0x93, 0xf1, 0xec, 0x7f, 0x5b, 0xa9, 0x1b, 0xb2, 0xc6, 0x9a, 0xc2, 0x52, 0x5e, 0xb7, + 0x13, 0xf7, 0xb9, 0x9d, 0x2d, 0x98, 0xf0, 0x94, 0xca, 0xbc, 0xce, 0x52, 0xc0, 0xce, 0x7f, 0xb7, + 0xd6, 0x3b, 0xc4, 0xee, 0x3c, 0x0f, 0xf3, 0x07, 0x1c, 0x4c, 0x08, 0x8a, 0xbe, 0x97, 0x6f, 0x4a, + 0xf5, 0x03, 0x5d, 0xd1, 0xad, 0x61, 0x85, 0xdd, 0x39, 0x63, 0x25, 0x36, 0x64, 0x43, 0x53, 0xaa, + 0x5d, 0xbc, 0xd1, 0x3a, 0x4d, 0xae, 0x10, 0x5c, 0x21, 0xd3, 0x72, 0x26, 0xd1, 0x0d, 0x48, 0xb3, + 0xbd, 0x0d, 0xea, 0xd8, 0x62, 0xd1, 0x1d, 0x9b, 0x90, 0xa2, 0x94, 0x74, 0x07, 0xef, 0x25, 0x18, + 0xa4, 0x13, 0x58, 0x73, 0xc4, 0x9d, 0x0e, 0xe1, 0x91, 0xa7, 0x9b, 0xe4, 0x26, 0x36, 0xff, 0x7b, + 0x1c, 0x0c, 0xde, 0x6e, 0x4b, 0xba, 0xb2, 0x54, 0x43, 0x57, 0x21, 0x41, 0x16, 0xf9, 0x58, 0x8b, + 0xba, 0xac, 0x08, 0x2e, 0xc4, 0x7f, 0x37, 0x1f, 0x13, 0x28, 0x85, 0x7b, 0x8a, 0x1f, 0xeb, 0x7d, + 0x8a, 0x7f, 0x06, 0x80, 0x9d, 0x45, 0x30, 0xa4, 0x1d, 0x6b, 0xcb, 0x74, 0x88, 0xc2, 0x2a, 0xd2, + 0x0e, 0x7a, 0x1e, 0x30, 0xb2, 0xac, 0xe1, 0x49, 0x38, 0x8d, 0x8a, 0x27, 0x7d, 0xeb, 0x6a, 0xc5, + 0x46, 0xcb, 0x38, 0x60, 0x6c, 0x09, 0xe6, 0x42, 0x02, 0xe2, 0x86, 0xb4, 0xc3, 0x7f, 0x33, 0x06, + 0x59, 0x6b, 0xa4, 0x4b, 0x75, 0x2a, 0xb2, 0xd7, 0xcd, 0x68, 0x22, 0x1e, 0x5d, 0xe8, 0xac, 0xcd, + 0x34, 0xa0, 0x78, 0x07, 0x86, 0xde, 0xc5, 0x92, 0x13, 0x95, 0x9a, 0xa9, 0x6d, 0xaf, 0x84, 0x30, + 0xf1, 0x16, 0x3e, 0xcb, 0x44, 0x4e, 0x02, 0x63, 0x45, 0xd6, 0x88, 0x48, 0x29, 0xf3, 0xe4, 0xbb, + 0x34, 0x4b, 0x47, 0x02, 0x20, 0x6b, 0xc9, 0x71, 0x9b, 0x38, 0xb9, 0x66, 0xf5, 0x20, 0xda, 0x6a, + 0x2d, 0x65, 0x35, 0x6a, 0x92, 0x5f, 0x37, 0xa9, 0x73, 0x7b, 0x30, 0x1e, 0x54, 0x34, 0x7a, 0xbe, + 0xa7, 0xae, 0x37, 0x7b, 0xfd, 0xb4, 0xab, 0xd7, 0xd8, 0x6a, 0xab, 0xd5, 0x67, 0xfc, 0xa7, 0x10, + 0x64, 0x5c, 0xea, 0x8f, 0xde, 0x85, 0xc9, 0x66, 0xbb, 0x21, 0x6b, 0x58, 0x10, 0xd4, 0xaa, 0x9b, + 0xce, 0x8d, 0x96, 0x7b, 0x35, 0xca, 0x20, 0x9a, 0x5d, 0x35, 0x59, 0x10, 0xa3, 0x4e, 0xc7, 0x65, + 0xa9, 0x4f, 0x18, 0x6f, 0x06, 0xc0, 0xd1, 0x03, 0x98, 0xae, 0x4a, 0x86, 0xbc, 0xa3, 0x06, 0x14, + 0x4a, 0x65, 0xf9, 0x72, 0xa4, 0x42, 0x0b, 0x36, 0x13, 0x77, 0xb1, 0x93, 0xd5, 0xc0, 0x1c, 0x24, + 0x03, 0xda, 0x13, 0xa5, 0xa6, 0xda, 0x3c, 0x68, 0x28, 0xc6, 0x81, 0xdb, 0x89, 0xbf, 0x10, 0xa9, + 0xc8, 0x5b, 0x79, 0x93, 0xda, 0x2a, 0x2c, 0xbb, 0xe7, 0x81, 0xe1, 0x62, 0xea, 0x62, 0x4d, 0x21, + 0x6b, 0xc5, 0x76, 0x31, 0xfd, 0x3d, 0x14, 0xb3, 0xbc, 0x68, 0x52, 0xdb, 0xc5, 0xd4, 0x3d, 0x30, + 0xa4, 0xc1, 0xd4, 0x9e, 0xd8, 0x90, 0x5a, 0x66, 0x38, 0x60, 0xaf, 0x62, 0xb2, 0xdd, 0x99, 0x68, + 0x5d, 0x77, 0x6b, 0x45, 0x6a, 0x15, 0x2d, 0x0e, 0x76, 0xd7, 0xed, 0x05, 0xc0, 0xd1, 0x87, 0x1c, + 0x3c, 0x5e, 0x93, 0xeb, 0x86, 0x24, 0xb6, 0x34, 0x59, 0x97, 0x9b, 0x55, 0x39, 0xa0, 0x74, 0xba, + 0xc8, 0xbe, 0x10, 0xa9, 0xf4, 0x45, 0xcc, 0x6c, 0x9d, 0xf1, 0x0a, 0xa8, 0xc6, 0xe9, 0x5a, 0x27, + 0x84, 0xdc, 0x32, 0x8c, 0x07, 0xa9, 0xde, 0xe1, 0x06, 0x4f, 0x6e, 0x15, 0x26, 0x83, 0x75, 0xea, + 0x90, 0xfc, 0x3e, 0xe4, 0x20, 0xeb, 0xd5, 0x18, 0xf4, 0xb2, 0xdf, 0x46, 0x75, 0x63, 0x67, 0x1b, + 0xa0, 0x57, 0x60, 0x08, 0x5b, 0x09, 0xe3, 0xc0, 0xde, 0x25, 0x0a, 0x33, 0xea, 0x45, 0x82, 0x87, + 0xa9, 0x65, 0xf6, 0x2f, 0xf7, 0xd7, 0x38, 0xc8, 0x7a, 0x55, 0xeb, 0x68, 0xf5, 0x59, 0x83, 0x31, + 0x5d, 0x6e, 0xea, 0x0a, 0xb1, 0x88, 0x92, 0x61, 0x68, 0xca, 0x56, 0xdb, 0x90, 0x23, 0xee, 0x5f, + 0x21, 0x8b, 0x34, 0x6f, 0x52, 0xe6, 0xbe, 0x77, 0x10, 0xc6, 0x83, 0x34, 0x12, 0xed, 0xf8, 0xab, + 0x59, 0x3c, 0xb4, 0x7e, 0xcf, 0x56, 0xa4, 0x9d, 0x1d, 0xb9, 0x16, 0x68, 0xe3, 0xcf, 0x40, 0x4a, + 0x93, 0x77, 0xa8, 0x3a, 0xd7, 0xcc, 0xa0, 0x0e, 0x28, 0x88, 0x44, 0x49, 0x3a, 0x64, 0xa5, 0xf6, + 0xbe, 0x52, 0x57, 0x24, 0xed, 0x80, 0x06, 0x09, 0xa6, 0x87, 0x2f, 0x1d, 0xbe, 0x42, 0x79, 0x93, + 0x23, 0x8d, 0x24, 0x46, 0x24, 0x57, 0x5a, 0xcf, 0xfd, 0x01, 0x07, 0x29, 0x47, 0xa5, 0xff, 0xd4, + 0x06, 0x06, 0xb9, 0xef, 0x89, 0xc3, 0xb0, 0x5b, 0x18, 0x47, 0x0f, 0x0b, 0x1e, 0xf8, 0x75, 0x67, + 0xe3, 0xb8, 0xba, 0xca, 0x8c, 0x1b, 0xfe, 0xd8, 0xe2, 0x85, 0x2a, 0xa4, 0x9d, 0x45, 0x3e, 0x92, + 0x38, 0x21, 0xf7, 0xeb, 0x1c, 0x9c, 0xee, 0x68, 0x9a, 0xd1, 0x1b, 0xd1, 0xcd, 0x06, 0xab, 0x6e, + 0xcf, 0x03, 0x4d, 0x08, 0x1d, 0x68, 0x17, 0x22, 0x06, 0x75, 0xbe, 0x71, 0x64, 0xad, 0xc0, 0xfc, + 0xf0, 0x79, 0x38, 0x45, 0x66, 0x12, 0xef, 0xc9, 0xf6, 0x62, 0x03, 0x9e, 0x5e, 0x98, 0x0b, 0x24, + 0xef, 0xc0, 0xb4, 0xbd, 0x40, 0x72, 0x84, 0xe9, 0xc5, 0xa4, 0xc5, 0xc5, 0x1d, 0x77, 0x6d, 0x82, + 0x9d, 0x23, 0x1e, 0x7a, 0xc6, 0x31, 0x6e, 0xf1, 0x28, 0x3b, 0xa6, 0x1e, 0xdf, 0xcd, 0xf9, 0x83, + 0x3a, 0xd7, 0xf2, 0x4b, 0x98, 0xa1, 0xea, 0x24, 0x11, 0x4f, 0x8c, 0x47, 0x17, 0x2f, 0xfc, 0x31, + 0x1e, 0x5b, 0xd4, 0xf8, 0x14, 0x17, 0x14, 0xe4, 0xb1, 0x4a, 0x50, 0xa3, 0x70, 0xf3, 0x30, 0x95, + 0xf0, 0xfa, 0x67, 0xab, 0x1a, 0xbe, 0x98, 0x8f, 0x55, 0xc4, 0x70, 0xc7, 0x7c, 0xac, 0x06, 0x34, + 0x40, 0x5a, 0x3c, 0x4c, 0x0d, 0x6c, 0x87, 0x6e, 0x95, 0xed, 0x08, 0x01, 0xed, 0x52, 0x9d, 0x21, + 0x20, 0x2b, 0x75, 0xe0, 0xf0, 0xa5, 0xda, 0x6e, 0xdb, 0x2e, 0xb5, 0xee, 0x81, 0xa1, 0x3f, 0xcb, + 0x05, 0x84, 0x84, 0xac, 0xec, 0xc1, 0xc3, 0x77, 0xbc, 0xdb, 0x0a, 0xda, 0x1d, 0xbf, 0x17, 0x00, + 0x47, 0x3f, 0xd9, 0x31, 0x42, 0x64, 0x95, 0x19, 0x22, 0x95, 0xb9, 0x7d, 0x98, 0xca, 0x84, 0x58, + 0x25, 0xab, 0x56, 0x61, 0x01, 0x23, 0x45, 0xc8, 0x7d, 0xc4, 0x79, 0x23, 0x46, 0x56, 0xef, 0xab, + 0x30, 0xd4, 0x50, 0x9a, 0x22, 0x3d, 0x69, 0xd7, 0xf9, 0x64, 0x1b, 0x3d, 0xfc, 0x9a, 0x6c, 0x28, + 0x4d, 0xf2, 0x8f, 0x90, 0x4a, 0xfb, 0xa2, 0x7d, 0x48, 0xaf, 0x3b, 0xa9, 0xb4, 0x4f, 0x49, 0x8b, + 0x30, 0xf2, 0x6e, 0x5b, 0x6a, 0x1a, 0x4a, 0x5d, 0x16, 0xd9, 0xc1, 0xdb, 0xfe, 0x08, 0x07, 0x6f, + 0x87, 0x4d, 0x22, 0x92, 0xd4, 0x73, 0x1f, 0xf6, 0xfb, 0x23, 0x57, 0xd6, 0xae, 0x7f, 0xcc, 0xc1, + 0x59, 0xc2, 0xd9, 0x76, 0x40, 0xe2, 0xae, 0xa2, 0x1b, 0xea, 0x8e, 0x26, 0x35, 0xc4, 0xad, 0x76, + 0x75, 0x4f, 0x36, 0xcc, 0x53, 0x0f, 0xf7, 0x8e, 0x6f, 0x44, 0xfa, 0xc0, 0x25, 0xb3, 0xcc, 0x05, + 0x52, 0xa4, 0xf0, 0x18, 0xa9, 0x94, 0xe5, 0xd6, 0x3c, 0xd9, 0x7a, 0xee, 0xe7, 0x62, 0x70, 0xa6, + 0x0b, 0x0f, 0xf4, 0x2a, 0x9c, 0xf4, 0x36, 0xad, 0xae, 0x3e, 0x90, 0x35, 0x91, 0x9c, 0x8f, 0x61, + 0x6b, 0x85, 0xd3, 0xee, 0x82, 0x96, 0x31, 0x02, 0x39, 0x2e, 0x13, 0x44, 0xde, 0x6e, 0xb5, 0x2c, + 0xf2, 0x58, 0x10, 0xf9, 0x06, 0x46, 0xa0, 0xe4, 0x67, 0x20, 0x45, 0xc5, 0x27, 0xea, 0xca, 0x7b, + 0x32, 0x5b, 0x4d, 0x04, 0x0a, 0x2a, 0x2b, 0xef, 0xc9, 0xe8, 0x26, 0x64, 0x18, 0x82, 0xab, 0x6b, + 0x9f, 0xec, 0xd4, 0xb5, 0x56, 0x41, 0x42, 0x9a, 0xd2, 0xd2, 0x1e, 0x46, 0x97, 0x00, 0x39, 0x79, + 0xb1, 0x15, 0xcc, 0x04, 0x29, 0x33, 0xeb, 0xc0, 0x24, 0xab, 0x98, 0xb9, 0x6f, 0x24, 0x9c, 0x13, + 0x0f, 0xa6, 0x09, 0x7f, 0x97, 0x83, 0x73, 0xf2, 0xbb, 0x6d, 0xe5, 0xbe, 0x54, 0x27, 0xc3, 0xb2, + 0x5a, 0x97, 0x74, 0x3d, 0x54, 0x17, 0xde, 0x39, 0x0e, 0xdb, 0xe8, 0x00, 0x78, 0xfb, 0xff, 0x71, + 0x47, 0x55, 0x0a, 0xb8, 0x26, 0x3e, 0x0d, 0xf8, 0x71, 0x0e, 0x72, 0x36, 0x7d, 0xd1, 0x83, 0x8e, + 0xae, 0x43, 0xd6, 0x0a, 0x40, 0xc4, 0x1e, 0x0e, 0xad, 0x0f, 0x9b, 0x01, 0x08, 0x93, 0xec, 0xf3, + 0x30, 0xe9, 0x97, 0x0a, 0xe9, 0x51, 0xaa, 0x00, 0xe3, 0xde, 0x8a, 0xe2, 0xbe, 0xcd, 0xfd, 0x40, + 0x1c, 0x4e, 0x84, 0x36, 0x0e, 0xdd, 0x04, 0x3e, 0x98, 0x67, 0x80, 0x7e, 0x3e, 0x16, 0xc4, 0xdf, + 0xa1, 0xa5, 0xe1, 0xbc, 0xfc, 0xca, 0x1a, 0xc8, 0xab, 0x17, 0x95, 0xfd, 0x5e, 0x2e, 0x58, 0x67, + 0xc5, 0x63, 0xd6, 0x06, 0x6f, 0x6f, 0x1e, 0x49, 0xdb, 0xff, 0xc6, 0xa0, 0x73, 0x5a, 0xcb, 0xb4, + 0xfd, 0x9f, 0x71, 0xf0, 0xb4, 0x3d, 0x35, 0x8d, 0x6a, 0x01, 0xdf, 0x39, 0x0e, 0xdf, 0xec, 0x00, + 0x78, 0xb5, 0xfe, 0x82, 0x55, 0xa5, 0x3b, 0x9d, 0xcd, 0xdf, 0x3f, 0x89, 0x41, 0xce, 0x66, 0xf3, + 0x27, 0x4b, 0xf9, 0x51, 0x1e, 0x4e, 0x37, 0xdb, 0x0d, 0xb1, 0x86, 0x43, 0xed, 0x66, 0xd5, 0x10, + 0x3d, 0x72, 0xd6, 0x99, 0x62, 0xe5, 0x9a, 0xed, 0xc6, 0x22, 0xc3, 0x29, 0xbb, 0xda, 0xad, 0xa3, + 0x37, 0x61, 0xdc, 0x50, 0x5b, 0x7e, 0xca, 0x9e, 0x4c, 0x24, 0x32, 0xd4, 0x96, 0x87, 0x71, 0xee, + 0xaf, 0xc4, 0xe1, 0x44, 0xa8, 0xfc, 0xd1, 0x3a, 0x3c, 0x19, 0xae, 0x14, 0xfe, 0xb1, 0x79, 0x36, + 0xa4, 0xbb, 0x1c, 0xc3, 0xb3, 0x23, 0x47, 0xff, 0x08, 0x0d, 0xe3, 0xf8, 0x6d, 0x1b, 0xa4, 0x1d, + 0x94, 0xf7, 0x58, 0x07, 0xe9, 0x4f, 0x26, 0xbc, 0x0b, 0x3b, 0x6c, 0xa0, 0x7e, 0x8e, 0x83, 0x9c, + 0x2f, 0x68, 0xb5, 0xc6, 0x27, 0xd3, 0xea, 0xed, 0xe3, 0x8a, 0x5b, 0x3d, 0x40, 0xef, 0xf8, 0x9c, + 0xda, 0x0b, 0xce, 0xce, 0xfd, 0x28, 0x07, 0x27, 0xdd, 0xa4, 0x6c, 0x56, 0xcb, 0x84, 0x71, 0x5c, + 0x03, 0x72, 0x0e, 0xc6, 0xec, 0xdd, 0x5d, 0x6b, 0xda, 0xc2, 0x94, 0x07, 0x59, 0x59, 0x96, 0x21, + 0xcd, 0xfd, 0xab, 0x18, 0x9c, 0xee, 0xd8, 0x26, 0x74, 0x0e, 0x32, 0x38, 0xb2, 0xb5, 0x99, 0x51, + 0xdd, 0x4e, 0x37, 0x94, 0xa6, 0xc5, 0x86, 0x20, 0x49, 0xfb, 0xbe, 0x12, 0xd3, 0x0d, 0x69, 0xdf, + 0x46, 0xf2, 0x68, 0x66, 0xc2, 0xa7, 0x99, 0x3f, 0xe0, 0xd3, 0x4c, 0x7a, 0x79, 0xb5, 0xf6, 0x88, + 0xba, 0xcf, 0xd5, 0x07, 0x91, 0xd4, 0x73, 0x30, 0x44, 0x3d, 0xff, 0x28, 0x11, 0xba, 0xe0, 0xc1, + 0xf4, 0xf4, 0x97, 0x38, 0x38, 0x17, 0x3e, 0xb1, 0xf1, 0x2a, 0xec, 0xfe, 0xb1, 0xcf, 0x6d, 0xc2, + 0x72, 0x7d, 0x81, 0x55, 0xad, 0x0b, 0x5e, 0xee, 0x73, 0x1c, 0x3c, 0x11, 0xc2, 0xec, 0xd1, 0x28, + 0xf5, 0x73, 0x30, 0x61, 0x2b, 0x75, 0x4b, 0x53, 0xb7, 0xa4, 0x2d, 0xa5, 0x6e, 0x2a, 0x19, 0x27, + 0x8c, 0x5b, 0x99, 0xeb, 0x76, 0x5e, 0xee, 0xeb, 0x31, 0x38, 0x1f, 0xad, 0xc9, 0xe8, 0x02, 0x8c, + 0x60, 0x0d, 0x77, 0x72, 0xe6, 0x08, 0xe7, 0xe1, 0x86, 0xd2, 0x74, 0xf0, 0x24, 0x88, 0xd2, 0x7e, + 0x40, 0x15, 0x86, 0x1b, 0xd2, 0xbe, 0x13, 0xb1, 0xab, 0xa6, 0xff, 0x44, 0x88, 0xa6, 0xdf, 0xff, + 0x63, 0xeb, 0xf7, 0x63, 0xd3, 0xfd, 0x85, 0xa4, 0x79, 0x38, 0x87, 0xdf, 0x84, 0x61, 0xb7, 0x5b, + 0x42, 0xf3, 0xe6, 0xe5, 0xb3, 0x28, 0x53, 0x62, 0x76, 0x9f, 0x36, 0xf8, 0x38, 0xd2, 0x67, 0xe3, + 0x90, 0xa0, 0x93, 0xde, 0x27, 0x21, 0xa3, 0x34, 0x0d, 0x79, 0x47, 0xd6, 0x1c, 0xd3, 0xed, 0x78, + 0xa9, 0x4f, 0x48, 0x33, 0x30, 0x45, 0x3b, 0x0b, 0xa9, 0xed, 0xba, 0x2a, 0x19, 0x8e, 0x89, 0x35, + 0x57, 0xea, 0x13, 0x80, 0x00, 0x29, 0xca, 0x39, 0x48, 0xeb, 0x86, 0xa6, 0x34, 0x77, 0x44, 0xf7, + 0xc5, 0xde, 0x14, 0x85, 0x5a, 0xc5, 0x6d, 0xa9, 0x6a, 0x5d, 0x96, 0xcc, 0xd9, 0x7d, 0x3f, 0x3b, + 0xa9, 0x9e, 0x66, 0x60, 0x6b, 0x2a, 0x6e, 0x5d, 0x42, 0x62, 0x88, 0x89, 0x6e, 0xb7, 0x45, 0x4a, + 0x7d, 0xc2, 0xb0, 0x45, 0x44, 0xd9, 0xbc, 0x04, 0x80, 0x21, 0x8c, 0xc3, 0x80, 0x7b, 0xf9, 0xdb, + 0x38, 0x68, 0xc9, 0x84, 0x7a, 0x6d, 0x7b, 0x51, 0x3a, 0x28, 0xf5, 0x09, 0x43, 0x18, 0x97, 0x12, + 0xce, 0x03, 0x90, 0x7b, 0x2a, 0x94, 0x90, 0x2e, 0xd7, 0x8c, 0xba, 0x08, 0x17, 0x25, 0x43, 0xc6, + 0x34, 0x18, 0x8d, 0xd2, 0x14, 0x60, 0xb4, 0x26, 0x1d, 0x88, 0xea, 0xb6, 0xf8, 0x40, 0x96, 0xf7, + 0x18, 0x69, 0x92, 0x1c, 0xa2, 0x9b, 0xf4, 0x90, 0x1e, 0xac, 0x6d, 0xbf, 0x29, 0xcb, 0x7b, 0xb8, + 0xc6, 0x35, 0x33, 0x41, 0x98, 0x58, 0x4b, 0xa2, 0xdf, 0x01, 0x43, 0xd6, 0x7d, 0x4f, 0xf4, 0x1a, + 0xb9, 0x96, 0xcc, 0x6e, 0xcd, 0x74, 0xde, 0x24, 0x58, 0x64, 0xd7, 0x65, 0x4a, 0x7d, 0x42, 0xd2, + 0xbc, 0x3a, 0xb3, 0x30, 0x0c, 0xe9, 0x96, 0xa4, 0xe9, 0x72, 0x8d, 0xbe, 0x8d, 0xc0, 0xff, 0x50, + 0x0c, 0x92, 0x26, 0x22, 0x7a, 0x92, 0xdc, 0x1b, 0x37, 0x75, 0xca, 0xdf, 0x48, 0x72, 0x95, 0x5c, + 0x46, 0x2f, 0x42, 0xca, 0xd1, 0x3a, 0xf6, 0xe6, 0x43, 0x48, 0xbb, 0xb0, 0x54, 0xd8, 0x5f, 0x34, + 0x03, 0xfd, 0xa4, 0xda, 0xf1, 0x4e, 0xc2, 0x17, 0x08, 0x0e, 0x2a, 0x02, 0xe9, 0x02, 0xf1, 0x3d, + 0xb5, 0x69, 0xde, 0xff, 0xbe, 0xd8, 0xa5, 0x9d, 0x84, 0xc7, 0xa6, 0xda, 0x94, 0x85, 0xa4, 0xc1, + 0xfe, 0xe5, 0x9e, 0x85, 0xa4, 0x09, 0x45, 0x4f, 0xc2, 0x30, 0xbd, 0x38, 0x26, 0x36, 0x94, 0x66, + 0xdb, 0x3c, 0xce, 0x95, 0x10, 0x32, 0x14, 0xba, 0x42, 0x81, 0xfc, 0x7f, 0x8d, 0x41, 0xd6, 0x7b, + 0x88, 0x19, 0xd5, 0xe1, 0x84, 0x7d, 0x5c, 0xcb, 0x70, 0x9d, 0x95, 0xd5, 0x99, 0xb8, 0x66, 0xbb, + 0xec, 0xd5, 0xb8, 0x4f, 0xd8, 0xea, 0xa5, 0x3e, 0x61, 0x4a, 0x09, 0xce, 0x42, 0x32, 0x4c, 0xb2, + 0x3b, 0x6b, 0xde, 0xa2, 0x68, 0x8f, 0x5f, 0xea, 0x78, 0x7f, 0xcd, 0x5f, 0xd0, 0x84, 0x16, 0x94, + 0x81, 0xee, 0xc3, 0x69, 0x37, 0x7f, 0x51, 0xd6, 0x34, 0x55, 0x13, 0x77, 0xa5, 0x66, 0xad, 0xae, + 0x34, 0x77, 0xba, 0xbc, 0xc5, 0xe1, 0x66, 0x57, 0xc4, 0xa4, 0x25, 0x46, 0x29, 0x9c, 0x34, 0xc2, + 0x33, 0x17, 0xb2, 0x30, 0xec, 0xce, 0xe6, 0xff, 0x56, 0x0c, 0x4e, 0x76, 0x60, 0x87, 0xbe, 0x13, + 0x52, 0xc6, 0xae, 0xa6, 0x3e, 0xa0, 0x15, 0x64, 0x02, 0x7f, 0xb5, 0xf7, 0x7a, 0xcd, 0x56, 0x30, + 0x17, 0x0a, 0xea, 0x13, 0xc0, 0xb0, 0x52, 0x68, 0x1f, 0xc6, 0xea, 0xb2, 0x74, 0x5f, 0x16, 0xdb, + 0x4d, 0xab, 0x6e, 0xb2, 0xb9, 0x95, 0x5b, 0x3c, 0x44, 0x49, 0xcb, 0x98, 0xdb, 0x86, 0x93, 0x59, + 0xa9, 0x4f, 0x40, 0x75, 0x1f, 0x34, 0x97, 0x06, 0xb0, 0x6b, 0x95, 0x1b, 0x07, 0xe4, 0xa7, 0xc4, + 0xa6, 0xa0, 0xa1, 0xd6, 0x64, 0xfe, 0xd7, 0x93, 0x30, 0xb5, 0xae, 0x29, 0x0d, 0x32, 0x51, 0x71, + 0x97, 0x8e, 0x04, 0x18, 0xd6, 0xe4, 0x56, 0x5d, 0xc2, 0xd3, 0x45, 0xe7, 0x41, 0x91, 0xa7, 0x42, + 0x95, 0x85, 0x20, 0x33, 0x7f, 0xc3, 0xb6, 0xf5, 0x33, 0x8c, 0x05, 0x53, 0xfb, 0x9b, 0xc0, 0x2e, + 0xd8, 0xb8, 0x8f, 0x81, 0x9c, 0xeb, 0x78, 0x0b, 0xcb, 0x62, 0x96, 0xd6, 0x1c, 0x69, 0xf4, 0x9d, + 0x30, 0x51, 0xdd, 0x95, 0xc8, 0x2d, 0x1c, 0x8d, 0xbc, 0x17, 0xe5, 0x3e, 0xe7, 0x11, 0x76, 0xfa, + 0xac, 0x60, 0xd2, 0xac, 0x48, 0xfa, 0x9e, 0xc5, 0x7a, 0xac, 0xea, 0x07, 0x23, 0x03, 0x4e, 0x57, + 0xb5, 0x83, 0x96, 0xa1, 0x8a, 0xa6, 0x20, 0xb6, 0xb7, 0xf7, 0xc5, 0xed, 0x96, 0xec, 0x3e, 0xea, + 0x11, 0xfa, 0x34, 0x13, 0xa1, 0x65, 0x62, 0xb9, 0xbe, 0xbd, 0x7f, 0xbd, 0x65, 0xcb, 0xe5, 0x44, + 0x35, 0x2c, 0x13, 0xb5, 0xe0, 0xe4, 0xb6, 0xb2, 0x2f, 0xd7, 0xe8, 0xda, 0x0f, 0x75, 0xe2, 0xf4, + 0x2c, 0xa3, 0xe3, 0xc8, 0xc7, 0x5c, 0xe8, 0xee, 0xdf, 0xbe, 0x5c, 0xc3, 0x81, 0xcb, 0x82, 0x49, + 0x67, 0x15, 0x39, 0xbd, 0x1d, 0x92, 0x87, 0xca, 0x90, 0xf5, 0x15, 0x33, 0xd0, 0xf9, 0x26, 0x9a, + 0x8f, 0xfb, 0xc8, 0x96, 0x87, 0xa9, 0x01, 0xa7, 0x4d, 0xa9, 0x3d, 0x50, 0x8c, 0x5d, 0xfb, 0xe5, + 0x15, 0xb3, 0x84, 0xc1, 0x8e, 0xc2, 0x63, 0x92, 0x79, 0x53, 0x31, 0x76, 0x4d, 0x83, 0x67, 0x0b, + 0x4f, 0x0b, 0xcb, 0x44, 0xb7, 0x21, 0x4b, 0xcc, 0x7c, 0x4b, 0xd2, 0x2c, 0x1d, 0x4b, 0x76, 0xbc, + 0x65, 0x8d, 0xcd, 0xf9, 0xba, 0xa4, 0xd9, 0x5a, 0x46, 0x1c, 0xbd, 0x0d, 0x41, 0x6f, 0x02, 0x62, + 0x5a, 0xb0, 0x2b, 0xe9, 0xbb, 0x26, 0xd3, 0xa1, 0x8e, 0x27, 0x82, 0x69, 0xd7, 0x97, 0x24, 0x7d, + 0xd7, 0x3e, 0xd7, 0x53, 0xf5, 0xc0, 0xc8, 0x0d, 0x2c, 0xec, 0x7a, 0xf5, 0x5d, 0x65, 0xdb, 0xaa, + 0x6c, 0xaa, 0xa3, 0xdc, 0xb1, 0x6b, 0x2a, 0x63, 0x74, 0x5b, 0xee, 0x35, 0x37, 0x08, 0x69, 0x70, + 0x92, 0x55, 0xb7, 0x26, 0x1b, 0xb2, 0xd6, 0x50, 0x9a, 0x64, 0xa3, 0xd4, 0xe4, 0x9f, 0x8e, 0xa0, + 0xb2, 0x8b, 0x4e, 0x42, 0xaf, 0xca, 0x06, 0x64, 0x06, 0x18, 0xe0, 0x6f, 0x70, 0x30, 0xec, 0x96, + 0x2c, 0xba, 0x03, 0x23, 0xa4, 0x57, 0x0c, 0x55, 0x64, 0xb7, 0xe7, 0xd8, 0xab, 0x34, 0xb3, 0x91, + 0x7a, 0xc6, 0x4a, 0x0a, 0x19, 0xcc, 0xa6, 0xa2, 0x16, 0x29, 0x13, 0xfe, 0xbb, 0x39, 0xea, 0x93, + 0x71, 0x1e, 0x3a, 0x01, 0x13, 0x95, 0xa5, 0x95, 0xa2, 0xb8, 0x9e, 0x17, 0x2a, 0x9e, 0x63, 0xff, + 0x49, 0xe8, 0xbf, 0x5b, 0xcc, 0x0b, 0x59, 0x0e, 0x0d, 0x41, 0x62, 0x65, 0x6d, 0xb5, 0x52, 0xca, + 0xc6, 0x50, 0x16, 0xd2, 0x8b, 0xf9, 0xbb, 0xe2, 0xda, 0x75, 0x91, 0x42, 0xe2, 0x68, 0x04, 0x52, + 0x0c, 0xf2, 0x66, 0xb1, 0x78, 0x2b, 0xdb, 0x8f, 0x51, 0xf0, 0x3f, 0x0c, 0x21, 0xf4, 0x09, 0x8c, + 0x52, 0x5a, 0xdb, 0x10, 0x30, 0x64, 0x31, 0x7f, 0x37, 0x3b, 0xc0, 0x97, 0x21, 0xeb, 0xed, 0x71, + 0xf4, 0x3a, 0x00, 0xeb, 0x87, 0xee, 0xf7, 0xc4, 0x29, 0x31, 0xb9, 0x27, 0x5e, 0x35, 0xff, 0xf2, + 0x5f, 0xe7, 0xe0, 0x44, 0x68, 0x7f, 0x1c, 0x99, 0x3d, 0x39, 0xd1, 0xd3, 0xd6, 0x34, 0x75, 0x47, + 0x32, 0x1c, 0x4f, 0x56, 0x45, 0x7d, 0x23, 0x65, 0xd4, 0xa2, 0x35, 0x41, 0xe8, 0x0a, 0x0c, 0x92, + 0xe7, 0x16, 0xf6, 0xcd, 0xcd, 0xe7, 0xae, 0xd7, 0xda, 0x19, 0x3a, 0xbf, 0x06, 0xc8, 0xef, 0x3c, + 0xd0, 0x55, 0x18, 0x6a, 0xca, 0x0f, 0x7a, 0xd9, 0xa8, 0x6b, 0xca, 0x0f, 0xc8, 0x3f, 0xfe, 0x24, + 0x9c, 0x08, 0xb5, 0x1f, 0xfc, 0x30, 0xa4, 0x9d, 0x7e, 0x85, 0xff, 0xbd, 0x18, 0x64, 0xb0, 0x53, + 0xd0, 0x2b, 0xea, 0xd2, 0x4e, 0x53, 0xd5, 0x64, 0x34, 0x0b, 0xc8, 0x72, 0x07, 0x3a, 0xd6, 0x57, + 0x7d, 0x4f, 0xa1, 0xf7, 0xac, 0x87, 0xc8, 0x40, 0xb6, 0xf2, 0x2a, 0x6a, 0x79, 0x4f, 0x69, 0xa1, + 0x03, 0x38, 0x59, 0x55, 0x1b, 0x0d, 0xb5, 0x29, 0xba, 0xc9, 0x14, 0xc2, 0x8e, 0xc5, 0xb3, 0x57, + 0x3a, 0xf8, 0x23, 0xab, 0xe8, 0xd9, 0x02, 0xe1, 0xe3, 0x82, 0x61, 0xd3, 0x5d, 0xb5, 0xc0, 0x66, + 0xc1, 0x34, 0x8f, 0xff, 0x0c, 0x07, 0x63, 0x01, 0x34, 0xe8, 0x3c, 0xf0, 0x85, 0xb5, 0x95, 0x95, + 0xb5, 0x55, 0xb1, 0x50, 0xca, 0x0b, 0x65, 0xb1, 0xb2, 0x26, 0x2e, 0xdd, 0x58, 0x5d, 0x13, 0xbc, + 0x6f, 0x33, 0xa5, 0x60, 0x70, 0x75, 0x63, 0xa5, 0x28, 0x2c, 0x15, 0xb2, 0x1c, 0x1a, 0x87, 0x6c, + 0x7e, 0x79, 0xbd, 0x94, 0x17, 0x37, 0xd6, 0xd7, 0x8b, 0x82, 0x58, 0xc8, 0x97, 0x8b, 0xd9, 0x98, + 0x0d, 0x5d, 0x5e, 0x7b, 0xd3, 0x84, 0x92, 0x61, 0xb2, 0xbe, 0xb1, 0x5a, 0xa8, 0x6c, 0xe4, 0x2b, + 0x4b, 0x6b, 0xab, 0xd9, 0x7e, 0x34, 0x0c, 0xf0, 0x66, 0x69, 0xa9, 0x52, 0x2c, 0xaf, 0xe7, 0x0b, + 0xc5, 0x6c, 0x62, 0x21, 0x0d, 0x60, 0x4b, 0x83, 0xff, 0x7d, 0x5c, 0xcf, 0x00, 0x17, 0xfb, 0x34, + 0x8c, 0x62, 0xd7, 0x4d, 0x1c, 0x8f, 0x99, 0xcd, 0x8e, 0xac, 0x67, 0x59, 0x86, 0x45, 0x86, 0x9e, + 0x80, 0xe1, 0x66, 0xbb, 0xb1, 0x25, 0x6b, 0x58, 0xb8, 0x38, 0x97, 0x5d, 0x74, 0x4f, 0x53, 0x68, + 0x45, 0xc5, 0x8c, 0xe9, 0x73, 0x01, 0xf7, 0x65, 0x4d, 0x97, 0x45, 0x55, 0xab, 0xc9, 0xf4, 0x1a, + 0x72, 0x12, 0x07, 0x0f, 0x04, 0xb8, 0x86, 0x61, 0xe8, 0x0e, 0x8c, 0x07, 0xf6, 0x55, 0x7f, 0xc7, + 0x3b, 0x13, 0x2e, 0x19, 0x0b, 0xa8, 0xea, 0xef, 0x8f, 0x2f, 0x71, 0x30, 0x1d, 0xe6, 0x83, 0xd1, + 0x02, 0xa4, 0xbc, 0x4b, 0xcf, 0x5d, 0x74, 0x9a, 0x1e, 0xa5, 0x81, 0xba, 0xbd, 0x0c, 0xbd, 0x00, + 0x29, 0xef, 0x62, 0x73, 0x34, 0x1e, 0x6d, 0x7b, 0xe1, 0xf9, 0x09, 0xff, 0xc2, 0x33, 0xc7, 0xb0, + 0xec, 0x95, 0x0f, 0xfe, 0xd3, 0x31, 0x18, 0xf1, 0xb6, 0xe0, 0x06, 0x0c, 0x9a, 0xfb, 0x28, 0x74, + 0x7d, 0xe8, 0x72, 0xb4, 0x00, 0x81, 0xa5, 0x05, 0x93, 0x3a, 0xf7, 0x0f, 0x39, 0x18, 0x60, 0x8b, + 0x3a, 0xb3, 0x10, 0x6f, 0x28, 0xcd, 0x48, 0x23, 0x1c, 0x23, 0x12, 0x7c, 0x69, 0x3f, 0xd2, 0xfe, + 0x3b, 0x46, 0x44, 0x4b, 0x30, 0xca, 0xe2, 0x05, 0xf2, 0xb2, 0x89, 0xbd, 0x80, 0xd0, 0x8d, 0x3a, + 0xeb, 0x20, 0xa3, 0x76, 0xe5, 0x97, 0xfa, 0x4d, 0x93, 0x1c, 0x14, 0xb8, 0x2d, 0x1e, 0xc6, 0x24, + 0x53, 0xb9, 0x3b, 0xec, 0xb2, 0xc3, 0x8c, 0xc6, 0x7a, 0x32, 0xa3, 0x48, 0x87, 0x11, 0x66, 0x86, + 0xa4, 0x7a, 0x6b, 0x57, 0xda, 0x92, 0x0d, 0xf6, 0x8c, 0x66, 0xa9, 0xd7, 0x00, 0x75, 0xf6, 0xfa, + 0xf6, 0x3e, 0xb5, 0x2a, 0xab, 0xe4, 0x50, 0x5a, 0x9e, 0xf1, 0xc3, 0xd1, 0x11, 0x2d, 0xc2, 0x84, + 0xa0, 0xa7, 0x80, 0xbd, 0x44, 0x68, 0x17, 0x9a, 0x60, 0x86, 0x72, 0x98, 0x66, 0x58, 0xa8, 0x93, + 0x90, 0xd0, 0xa4, 0x9a, 0xb2, 0x4f, 0x62, 0xcb, 0x04, 0x79, 0x55, 0x14, 0x27, 0xc3, 0x3c, 0x51, + 0xf2, 0xb0, 0x9e, 0x88, 0xff, 0x11, 0x0e, 0xa6, 0x42, 0x5a, 0x80, 0x66, 0xe0, 0xfc, 0xf5, 0xeb, + 0x6f, 0x89, 0xcc, 0x38, 0xae, 0xe6, 0x2b, 0x4b, 0x77, 0x8a, 0x22, 0xb1, 0x6f, 0x0b, 0xc5, 0x4a, + 0x27, 0xe3, 0x88, 0x9d, 0x7e, 0xf1, 0xad, 0xfc, 0x62, 0xb1, 0xb0, 0xb4, 0x92, 0x5f, 0xce, 0xc6, + 0xd0, 0x29, 0x98, 0xb6, 0xed, 0x24, 0x65, 0x21, 0x9a, 0xe8, 0x71, 0x34, 0x0a, 0x19, 0x37, 0xa8, + 0x7f, 0x01, 0x20, 0x69, 0xca, 0x88, 0xff, 0x84, 0x83, 0x21, 0x4b, 0x07, 0xd0, 0x12, 0x0c, 0x91, + 0xf8, 0x49, 0x31, 0x2f, 0xbd, 0x86, 0xcf, 0xb2, 0x2a, 0x26, 0x9e, 0x45, 0x4d, 0x56, 0x97, 0x4c, + 0x28, 0x66, 0xd5, 0x6e, 0x3e, 0xd0, 0xa4, 0x56, 0xcb, 0x9a, 0x6d, 0x86, 0xb1, 0xda, 0x30, 0xf1, + 0x5c, 0xac, 0x2c, 0x6a, 0xb4, 0x02, 0xa9, 0xbd, 0x86, 0x2e, 0x9a, 0xcc, 0x3a, 0x4f, 0xab, 0x6e, + 0x35, 0xf4, 0x37, 0xfd, 0xdc, 0x60, 0xcf, 0x02, 0x2f, 0x24, 0x61, 0x80, 0x1e, 0x7f, 0xe3, 0x2f, + 0x03, 0xf2, 0x37, 0x03, 0x4d, 0x39, 0x6f, 0x5e, 0xd1, 0x61, 0x41, 0x00, 0xfc, 0xd3, 0x80, 0xfc, + 0x55, 0x45, 0x13, 0xf6, 0xfb, 0x59, 0x69, 0x8a, 0x8d, 0xd3, 0xfc, 0x2e, 0x8c, 0x05, 0x54, 0x05, + 0x9b, 0x3c, 0xc6, 0x41, 0xf4, 0x50, 0x01, 0x83, 0x63, 0xac, 0xa7, 0x61, 0xc4, 0x1e, 0xc1, 0x8e, + 0xbb, 0x5e, 0x14, 0x33, 0x63, 0x0d, 0xd2, 0x55, 0x5c, 0xad, 0x6f, 0x71, 0x30, 0xe2, 0x89, 0xc7, + 0xd1, 0x65, 0xc8, 0x3a, 0xac, 0xb3, 0x58, 0x93, 0x0e, 0xd8, 0xa2, 0x10, 0xe5, 0x30, 0x6c, 0x1b, + 0xe1, 0x45, 0xe9, 0x40, 0xc7, 0xe8, 0x0e, 0x87, 0x40, 0xd1, 0x63, 0x0e, 0x74, 0xdb, 0xee, 0x13, + 0xf4, 0x43, 0x47, 0x58, 0x28, 0xef, 0x32, 0x4d, 0xfd, 0xd1, 0x4c, 0x13, 0x39, 0xec, 0x6b, 0xd9, + 0xa9, 0x24, 0x0c, 0x34, 0x64, 0x63, 0x57, 0xad, 0xf1, 0x0f, 0x63, 0x30, 0x15, 0xb2, 0x08, 0x85, + 0x0c, 0x18, 0xf1, 0xaf, 0x66, 0x75, 0x3a, 0xc3, 0x1d, 0xc2, 0x28, 0x04, 0x4e, 0xe5, 0xe2, 0x2d, + 0x22, 0xf7, 0x25, 0x0e, 0x26, 0x83, 0x09, 0x8e, 0xfc, 0x24, 0x6d, 0x13, 0xa6, 0x5b, 0xe6, 0x02, + 0x89, 0x67, 0xf5, 0x8c, 0x0d, 0xaf, 0xd9, 0xf0, 0xe3, 0xa1, 0x41, 0xeb, 0x2a, 0xb4, 0x09, 0x53, + 0xad, 0xe0, 0x5c, 0xfe, 0xcf, 0xc7, 0x61, 0x8c, 0x74, 0x9f, 0xa7, 0x1d, 0x2f, 0xc3, 0x00, 0x39, + 0xd0, 0x1b, 0xf1, 0xe8, 0x3e, 0x2d, 0x85, 0x91, 0xa0, 0x45, 0xf2, 0xea, 0x59, 0x4d, 0x71, 0x3c, + 0x19, 0x75, 0xbe, 0xe3, 0x92, 0x5f, 0xc1, 0xc4, 0x16, 0x6c, 0x42, 0xb4, 0xd7, 0x41, 0x14, 0xfd, + 0x87, 0x11, 0x45, 0xa9, 0x2f, 0x54, 0x0e, 0x9d, 0x17, 0x48, 0x13, 0xc7, 0xbc, 0x40, 0x1a, 0x30, + 0x81, 0xfd, 0x88, 0x83, 0x89, 0xc0, 0xe5, 0x4f, 0x24, 0xc2, 0x04, 0x7d, 0xbf, 0x2b, 0x58, 0xd1, + 0x67, 0x3a, 0x75, 0x8c, 0x9b, 0x97, 0x30, 0xbe, 0xed, 0x07, 0xea, 0xe8, 0x2e, 0x8c, 0xb1, 0xd5, + 0x5a, 0xbd, 0xdd, 0x6a, 0x69, 0xb2, 0xae, 0xb3, 0xa5, 0xda, 0x4e, 0xaf, 0xf0, 0xd2, 0xba, 0x96, + 0x6d, 0x02, 0x01, 0x69, 0x5e, 0x90, 0xce, 0xdf, 0x85, 0x51, 0x1f, 0xa2, 0x5b, 0x3b, 0xb8, 0x43, + 0x6a, 0x07, 0xff, 0xf9, 0x04, 0x8c, 0x78, 0xb2, 0x51, 0x05, 0x52, 0xf2, 0xbe, 0xdd, 0x82, 0xce, + 0xcb, 0xbf, 0x1e, 0xe2, 0xd9, 0xa2, 0x4d, 0x29, 0x38, 0xd9, 0xe4, 0xbe, 0x48, 0x9f, 0x22, 0x63, + 0x65, 0x1c, 0xe1, 0x82, 0xc4, 0x4d, 0x48, 0xaa, 0x2d, 0x59, 0x93, 0x0c, 0xf6, 0x56, 0xd1, 0x70, + 0x87, 0xb5, 0xcd, 0x3a, 0xe9, 0x1c, 0xa9, 0xbe, 0xc6, 0x08, 0xd8, 0x21, 0x77, 0x93, 0xde, 0xde, + 0x3f, 0xeb, 0x8f, 0xbc, 0x7f, 0x96, 0x7b, 0x07, 0xc0, 0x6a, 0x87, 0x8e, 0xd6, 0x01, 0x2c, 0x69, + 0x9a, 0xca, 0xf4, 0x4c, 0x44, 0x59, 0xd9, 0x3d, 0xe2, 0xe0, 0x91, 0xfb, 0x4c, 0x0c, 0x52, 0x0e, + 0x29, 0xa2, 0x06, 0x76, 0x37, 0x3b, 0xe4, 0x98, 0xb6, 0xd5, 0x6e, 0xba, 0x04, 0xb3, 0xd0, 0x7b, + 0x9f, 0xcc, 0x2e, 0x53, 0x56, 0xa6, 0x40, 0x84, 0x91, 0xba, 0x1b, 0x80, 0xca, 0xae, 0x06, 0xd1, + 0xce, 0x7f, 0xb6, 0xd7, 0x06, 0xe1, 0x61, 0xeb, 0x60, 0xc3, 0xbf, 0x02, 0x23, 0x9e, 0x82, 0xd1, + 0xe3, 0x70, 0x6a, 0x79, 0xed, 0xc6, 0x52, 0x21, 0xbf, 0x2c, 0xae, 0xad, 0x17, 0x85, 0x7c, 0x65, + 0x4d, 0xf0, 0x04, 0x72, 0x83, 0x10, 0xcf, 0xaf, 0x2e, 0x66, 0x39, 0x6b, 0x0b, 0xec, 0xef, 0x71, + 0x30, 0x19, 0xfc, 0x42, 0x09, 0x9e, 0x91, 0x3a, 0x56, 0xca, 0x5d, 0x17, 0xef, 0xb3, 0xce, 0x25, + 0x74, 0x72, 0xeb, 0x7e, 0x07, 0xa6, 0x3d, 0x3b, 0x1e, 0x7a, 0xbb, 0xd1, 0x90, 0x34, 0xc5, 0xba, + 0xc1, 0x70, 0x29, 0xd2, 0x52, 0x7f, 0x99, 0x50, 0x1d, 0x08, 0x53, 0x46, 0x00, 0x58, 0x91, 0x75, + 0xfe, 0x33, 0x03, 0x30, 0x11, 0x48, 0x72, 0xc4, 0x17, 0x25, 0xac, 0x4b, 0x25, 0xb1, 0x5e, 0x2e, + 0x95, 0xdc, 0xf1, 0x9a, 0x4b, 0xd6, 0xbb, 0x3d, 0xda, 0x7f, 0xc1, 0xc3, 0x25, 0xdc, 0xb4, 0x26, + 0x8e, 0xc9, 0xb4, 0xde, 0xb6, 0xde, 0xe0, 0x34, 0x4d, 0x2b, 0x5b, 0xe8, 0x8e, 0x6e, 0x56, 0x87, + 0xdd, 0x66, 0x15, 0x55, 0x60, 0x90, 0x6e, 0xaa, 0x9b, 0xa7, 0xb3, 0xae, 0xf5, 0xd2, 0xe3, 0xb3, + 0x66, 0xcf, 0xd3, 0x67, 0x2f, 0x4c, 0x56, 0xc1, 0x5a, 0x38, 0x18, 0xac, 0x85, 0xb9, 0x1f, 0xe7, + 0x20, 0xe3, 0xe2, 0x63, 0xef, 0xcc, 0x73, 0x8e, 0x9d, 0x79, 0x74, 0x17, 0xfa, 0xad, 0x1b, 0x38, + 0xc3, 0x11, 0x37, 0xa1, 0xcc, 0x7a, 0x7a, 0xc4, 0x4b, 0x8a, 0x29, 0xa8, 0x35, 0x59, 0x20, 0x2c, + 0xd1, 0x34, 0x0c, 0xd6, 0xe8, 0x21, 0x07, 0xf6, 0x6a, 0x80, 0x99, 0xe4, 0xdf, 0x81, 0xe9, 0x30, + 0x5a, 0x3c, 0x19, 0xab, 0x08, 0xf9, 0xd5, 0xf2, 0xf5, 0x35, 0x61, 0x85, 0xac, 0x23, 0x89, 0x42, + 0xb1, 0xbc, 0xb1, 0x5c, 0x11, 0x0b, 0x6b, 0x8b, 0x01, 0x2b, 0x55, 0xe5, 0x8d, 0x42, 0xa1, 0x58, + 0x2e, 0xd3, 0x15, 0xdc, 0xa2, 0x20, 0xac, 0x09, 0xd9, 0x18, 0xaf, 0x42, 0xb2, 0x5c, 0xdd, 0x95, + 0x6b, 0xed, 0xba, 0x8c, 0xee, 0x42, 0x4e, 0x93, 0xab, 0x6d, 0x4d, 0x23, 0xa7, 0x76, 0x5a, 0xb2, + 0xa6, 0xa8, 0x35, 0xd1, 0xfc, 0x1a, 0x09, 0x1b, 0x1c, 0x27, 0x7c, 0xbb, 0xfc, 0x8b, 0x0c, 0xa1, + 0xd4, 0x27, 0x4c, 0xdb, 0xe4, 0xeb, 0x84, 0xda, 0xcc, 0xc3, 0xe1, 0x2f, 0x7d, 0x3d, 0x85, 0x4f, + 0xc2, 0xc0, 0x8a, 0xd4, 0x6c, 0x4b, 0x75, 0xfe, 0x07, 0x12, 0x30, 0xe2, 0x7d, 0x37, 0xc4, 0x37, + 0x8b, 0x89, 0x47, 0x7f, 0x44, 0xc2, 0xf3, 0xea, 0x43, 0xdc, 0xf7, 0xea, 0x03, 0x7a, 0xc3, 0xfd, + 0x20, 0x74, 0x7f, 0xb7, 0x73, 0x0b, 0xb4, 0x02, 0xce, 0x57, 0xa1, 0xdf, 0x70, 0xbf, 0x93, 0x99, + 0x88, 0xc8, 0xc1, 0xf1, 0x58, 0xa6, 0xff, 0x51, 0xa5, 0x81, 0x43, 0x3f, 0xaa, 0x74, 0xed, 0x8b, + 0xb1, 0x8f, 0xf3, 0xff, 0x22, 0x06, 0x7c, 0xf8, 0xdb, 0xc6, 0x96, 0x64, 0xdf, 0x50, 0xb5, 0x1d, + 0xa9, 0xa9, 0xbc, 0x67, 0xbe, 0x66, 0xec, 0x4c, 0x7e, 0x30, 0xe7, 0x79, 0x45, 0x49, 0x9f, 0x7b, + 0xdf, 0xfb, 0x32, 0xcc, 0x07, 0xe8, 0xc5, 0x80, 0xe7, 0x91, 0xa3, 0xd0, 0x6d, 0x74, 0x2c, 0x39, + 0xf0, 0x81, 0xe5, 0x28, 0x6c, 0x6f, 0x45, 0x7d, 0xad, 0x39, 0x02, 0x33, 0xfe, 0xa7, 0x13, 0x80, + 0x16, 0x7d, 0x6f, 0x85, 0xfd, 0x3f, 0xa0, 0x8e, 0x81, 0xef, 0x18, 0x0e, 0x1c, 0xf1, 0x1d, 0xc3, + 0x6b, 0xff, 0x21, 0xf6, 0x71, 0xfe, 0xab, 0x31, 0x78, 0x32, 0xe8, 0x5d, 0x6f, 0xbf, 0x94, 0xaf, + 0x77, 0x54, 0x10, 0xff, 0xbb, 0x81, 0xfa, 0xdc, 0xfb, 0x01, 0x8f, 0x0d, 0x7e, 0x80, 0x5e, 0x09, + 0xd0, 0x88, 0xe8, 0xd4, 0xdf, 0xd1, 0xbb, 0x9a, 0x46, 0x67, 0x7e, 0x3b, 0xaa, 0xb2, 0x46, 0x66, + 0xc9, 0xbf, 0x0b, 0x09, 0x7a, 0x56, 0xe2, 0x92, 0xed, 0x3c, 0xa8, 0x8d, 0x46, 0x66, 0xc7, 0x69, + 0xad, 0x2a, 0xb9, 0xeb, 0xd9, 0xd6, 0x2d, 0x87, 0x82, 0xae, 0xd1, 0x83, 0x57, 0x44, 0x1d, 0xcc, + 0x59, 0x51, 0xc7, 0x87, 0x7e, 0x6d, 0x6c, 0xfe, 0xe7, 0x06, 0x01, 0xec, 0x27, 0xe6, 0x0f, 0xfb, + 0xd8, 0x4f, 0xf7, 0x81, 0x71, 0x13, 0x52, 0xe6, 0x10, 0xbd, 0xa7, 0x6e, 0xb1, 0x81, 0x11, 0xf5, + 0xf9, 0x28, 0x1c, 0xf1, 0x2a, 0x16, 0x0c, 0x15, 0x21, 0xc9, 0x5e, 0xc2, 0x37, 0xe3, 0xa0, 0xb0, + 0x59, 0x8a, 0xdd, 0xb2, 0x59, 0xf3, 0x11, 0x7d, 0x8b, 0x14, 0x5d, 0x85, 0x01, 0x72, 0xd8, 0xc5, + 0x3c, 0xc0, 0x18, 0x36, 0x43, 0x21, 0x5d, 0x42, 0x87, 0x19, 0x23, 0xf0, 0x0e, 0xf3, 0xc1, 0x23, + 0x0f, 0xf3, 0x64, 0xef, 0xc3, 0xbc, 0x00, 0x99, 0xba, 0xa4, 0x1b, 0xa2, 0xd6, 0x6e, 0x52, 0x1e, + 0x43, 0xd1, 0x78, 0xa4, 0x30, 0x95, 0xd0, 0x6e, 0x56, 0xe8, 0x21, 0xb0, 0x01, 0xfa, 0x81, 0xb0, + 0x69, 0x20, 0x21, 0xd0, 0xc5, 0xee, 0x82, 0xa4, 0xda, 0xc7, 0x96, 0x53, 0x28, 0x71, 0xee, 0x07, + 0x39, 0x18, 0x34, 0x55, 0xe8, 0x55, 0x48, 0xea, 0x2c, 0xfc, 0xe8, 0x12, 0x7d, 0x9b, 0x51, 0x4a, + 0xa9, 0x4f, 0xb0, 0x48, 0xd0, 0x4b, 0x30, 0xd0, 0x20, 0xc1, 0x04, 0x0b, 0xc0, 0x4f, 0x87, 0x7e, + 0xf1, 0x0a, 0x23, 0x95, 0xfa, 0x04, 0x86, 0xbe, 0x30, 0x04, 0x83, 0xac, 0x6b, 0xf9, 0x12, 0x0c, + 0xd0, 0x5a, 0xa2, 0x49, 0x40, 0xe5, 0x4a, 0xbe, 0xb2, 0x51, 0xf6, 0xc7, 0x4e, 0xa5, 0x62, 0x7e, + 0xb9, 0x52, 0xba, 0x9b, 0xe5, 0x10, 0xc0, 0xc0, 0x7a, 0x7e, 0xa3, 0x5c, 0x5c, 0xa4, 0x1f, 0x5c, + 0x29, 0xe4, 0x57, 0x0b, 0xc5, 0xe5, 0xe5, 0xe2, 0x62, 0x36, 0x7e, 0xed, 0x47, 0xb8, 0x8f, 0xf3, + 0x9f, 0xe6, 0xba, 0x7c, 0x98, 0x01, 0x5d, 0x0a, 0x30, 0x05, 0xf7, 0xac, 0x6c, 0x7d, 0xee, 0xfd, + 0x7b, 0xea, 0x96, 0xc8, 0x2a, 0xf7, 0x01, 0xca, 0x47, 0x35, 0x1c, 0xa1, 0x2c, 0x16, 0x12, 0x10, + 0xbf, 0xa7, 0x6e, 0xf1, 0x9f, 0x1a, 0x84, 0x01, 0xfa, 0x86, 0x12, 0xba, 0x0d, 0x19, 0x5d, 0xba, + 0xef, 0x78, 0x5c, 0x99, 0xeb, 0xb8, 0x38, 0x4d, 0xa9, 0x66, 0xcb, 0xd2, 0x7d, 0xeb, 0xdd, 0xe5, + 0x52, 0x9f, 0x90, 0xd6, 0x1d, 0x69, 0x54, 0x82, 0xc1, 0x56, 0x7b, 0x4b, 0xd4, 0xdb, 0x5b, 0x5d, + 0x5e, 0xb6, 0x64, 0xcc, 0xd6, 0xdb, 0x5b, 0x75, 0x45, 0xdf, 0xad, 0xa8, 0xeb, 0xed, 0xad, 0x72, + 0x7b, 0x0b, 0x77, 0x4d, 0x8b, 0xfc, 0x43, 0x7b, 0x30, 0xd5, 0xa2, 0x99, 0x6c, 0x36, 0x78, 0x20, + 0x1a, 0xaa, 0x58, 0xd5, 0xab, 0xd5, 0x2e, 0x2b, 0x20, 0x6e, 0xce, 0x2c, 0xf2, 0xae, 0xa8, 0x05, + 0xbd, 0x5a, 0x2d, 0xf5, 0x09, 0xe3, 0xad, 0x00, 0x38, 0xfa, 0x11, 0x0e, 0xce, 0x9b, 0xa5, 0xd9, + 0x9f, 0x53, 0x51, 0x45, 0xf2, 0x5c, 0xa6, 0x48, 0xbe, 0x38, 0x53, 0x95, 0x0c, 0xa9, 0xae, 0x9a, + 0x27, 0x87, 0x5e, 0x8f, 0x54, 0xb8, 0x29, 0x96, 0x8a, 0x5a, 0xc0, 0x8c, 0x16, 0x25, 0x43, 0x2a, + 0x50, 0x36, 0xa5, 0x3e, 0xe1, 0x6c, 0xab, 0x1b, 0x12, 0x6a, 0xc0, 0x14, 0xf9, 0x4e, 0x86, 0x6a, + 0x28, 0xdb, 0x0a, 0x7b, 0x51, 0x4c, 0x6e, 0x10, 0x13, 0x4f, 0x07, 0xff, 0x73, 0x9d, 0xab, 0x71, + 0x53, 0xdd, 0x5a, 0x75, 0xd0, 0x16, 0x09, 0x69, 0xa9, 0x4f, 0x98, 0xb8, 0x17, 0x94, 0x81, 0xee, + 0xc1, 0xa4, 0x29, 0x04, 0x43, 0x15, 0x75, 0x43, 0xaa, 0xee, 0xd5, 0x34, 0xe5, 0xbe, 0xac, 0x31, + 0x33, 0x31, 0x1f, 0xb1, 0x2f, 0xcb, 0x36, 0xa5, 0x43, 0xe2, 0x2e, 0x78, 0x4e, 0x84, 0xb4, 0x53, + 0x91, 0xd0, 0x9a, 0xf5, 0xb8, 0xa5, 0xeb, 0x98, 0xdc, 0x4c, 0xf4, 0xc7, 0x2d, 0xcd, 0xf7, 0x2c, + 0xd9, 0x5b, 0x37, 0x17, 0x60, 0xc4, 0xa3, 0x5c, 0x78, 0x3e, 0x67, 0xa8, 0x2d, 0xf6, 0x22, 0xc1, + 0x90, 0x40, 0x13, 0xb9, 0x49, 0x18, 0x0f, 0xd2, 0x95, 0xdc, 0x39, 0x38, 0xdb, 0xb5, 0x1b, 0x73, + 0x53, 0x30, 0x11, 0x28, 0x64, 0x07, 0x57, 0x57, 0xbb, 0xf1, 0x0c, 0x88, 0xbe, 0x5c, 0xc6, 0xff, + 0x2f, 0x0e, 0x4e, 0xd1, 0x6f, 0xa2, 0x78, 0x9f, 0x53, 0x64, 0x8f, 0xd0, 0x2d, 0x78, 0x5e, 0x70, + 0x9d, 0x21, 0x6f, 0x06, 0x3f, 0x81, 0x22, 0x84, 0xf9, 0xd6, 0xdb, 0xad, 0x77, 0x20, 0xeb, 0x7b, + 0xdb, 0x31, 0xd6, 0xcb, 0xdb, 0x8e, 0x6c, 0xaf, 0xc0, 0x13, 0x3c, 0xa3, 0x33, 0x90, 0xb2, 0x9e, + 0x61, 0xb5, 0xdf, 0xb8, 0x33, 0x41, 0x4b, 0x35, 0xef, 0x23, 0x78, 0xfd, 0xbe, 0x47, 0xf0, 0xfe, + 0x13, 0x07, 0xa7, 0x36, 0x88, 0x67, 0x0a, 0x69, 0xfe, 0x6b, 0xae, 0xa0, 0x9b, 0x35, 0x3e, 0xca, + 0x1c, 0x87, 0x85, 0x20, 0xb7, 0x8f, 0xda, 0x74, 0x7f, 0xab, 0xed, 0xcf, 0x23, 0x90, 0x73, 0x13, + 0xf1, 0x10, 0xe7, 0x49, 0x56, 0x52, 0x56, 0x24, 0x7d, 0xcf, 0xf4, 0xbd, 0xf8, 0x3f, 0xff, 0x1d, + 0x70, 0xe2, 0x86, 0x6c, 0x3c, 0x9a, 0xc6, 0xf2, 0xbf, 0xc5, 0xc1, 0x49, 0xfa, 0xa6, 0xa0, 0x7b, + 0x92, 0x73, 0x9c, 0xba, 0x74, 0x1a, 0xa0, 0x25, 0xed, 0xc8, 0xa2, 0xa1, 0xee, 0xb1, 0x47, 0xe3, + 0x87, 0x84, 0x21, 0x0c, 0xa9, 0x60, 0x00, 0x3a, 0x09, 0x24, 0x61, 0x9f, 0x86, 0x48, 0x08, 0x49, + 0x0c, 0x20, 0x17, 0x40, 0x4e, 0x40, 0x92, 0x1c, 0x23, 0x11, 0xb7, 0x0e, 0x98, 0x2e, 0x0c, 0x92, + 0xf4, 0xc2, 0x41, 0xf7, 0x57, 0x7a, 0x7f, 0x82, 0x83, 0x53, 0xc1, 0x6d, 0x63, 0xcf, 0x26, 0x96, + 0x61, 0xd4, 0xdb, 0xd3, 0xe6, 0xd2, 0x6f, 0xd4, 0xae, 0xce, 0x7a, 0x67, 0x87, 0xe8, 0x3c, 0x8c, + 0x34, 0xe5, 0x7d, 0x43, 0xf4, 0x35, 0x39, 0x83, 0xc1, 0xeb, 0x66, 0xb3, 0xf9, 0x77, 0xe0, 0xd4, + 0xa2, 0x5c, 0x97, 0x1f, 0x95, 0x1a, 0xf3, 0xff, 0x99, 0x83, 0x29, 0x6a, 0x26, 0x1c, 0x5f, 0x75, + 0x7a, 0x14, 0xaf, 0x8a, 0xdf, 0x80, 0x94, 0x23, 0x5e, 0x60, 0x43, 0xe5, 0x6c, 0xd7, 0xd8, 0x8e, + 0xed, 0xff, 0xda, 0x71, 0x07, 0xd6, 0x13, 0xf3, 0x63, 0x55, 0x96, 0x69, 0x18, 0x62, 0x90, 0x28, + 0x96, 0xe1, 0x0e, 0x9c, 0xc0, 0x1e, 0xe5, 0x7e, 0x60, 0x93, 0xaf, 0xba, 0xc4, 0xf9, 0x24, 0x69, + 0x70, 0xd7, 0x8f, 0x60, 0x51, 0x49, 0xfe, 0x3b, 0x0e, 0xa6, 0xa8, 0xc5, 0x39, 0x4e, 0xb6, 0x68, + 0xe1, 0x70, 0x72, 0x73, 0x89, 0xec, 0x48, 0x86, 0xe5, 0x36, 0x8c, 0xdf, 0x90, 0x8d, 0x63, 0x15, + 0xd5, 0xcf, 0xc6, 0x60, 0x8c, 0x2a, 0x1d, 0xfb, 0xfe, 0xd6, 0xa3, 0x50, 0x38, 0xcf, 0xf4, 0x2e, + 0x76, 0x94, 0xe9, 0xdd, 0x12, 0x24, 0x35, 0x45, 0xdf, 0x23, 0x8c, 0xe2, 0x9d, 0x6f, 0x63, 0x04, + 0x3d, 0x8a, 0x5a, 0xea, 0x13, 0x06, 0x31, 0x3d, 0x66, 0x35, 0x01, 0x03, 0xb8, 0x3f, 0x2d, 0xd5, + 0x4c, 0xdc, 0x53, 0xb7, 0xfc, 0x6a, 0xeb, 0x33, 0x53, 0x66, 0x7c, 0xfd, 0xdf, 0x39, 0x98, 0xc4, + 0xd6, 0xca, 0x96, 0xa9, 0xfe, 0x48, 0xa4, 0xf7, 0x88, 0xac, 0xb1, 0xfd, 0xa8, 0x6d, 0xa2, 0xd3, + 0xa3, 0xb6, 0xfe, 0xa7, 0xf2, 0xbf, 0x8f, 0x83, 0x29, 0x5f, 0xbb, 0x99, 0x81, 0x5e, 0x84, 0xb4, + 0x63, 0x88, 0x98, 0xb6, 0x39, 0xc2, 0x18, 0x49, 0x39, 0xa6, 0x33, 0x91, 0x2d, 0x72, 0x05, 0xa6, + 0xa8, 0x45, 0x3e, 0xd6, 0x21, 0xf1, 0x57, 0x63, 0x90, 0xf5, 0x2a, 0x21, 0xba, 0x05, 0xc3, 0xec, + 0x2b, 0xde, 0xee, 0xb0, 0xf5, 0x89, 0xd0, 0x17, 0xb7, 0x9c, 0x01, 0x6b, 0x46, 0x77, 0xbd, 0x0e, + 0x7f, 0xac, 0xef, 0xec, 0x87, 0xbe, 0x97, 0x1f, 0x0f, 0x7f, 0x2f, 0xdf, 0xf1, 0x06, 0x6f, 0x7f, + 0x4f, 0x6f, 0xf0, 0x7e, 0x34, 0x00, 0x03, 0xd4, 0x50, 0x04, 0x2e, 0x06, 0xbd, 0xc0, 0xbe, 0x73, + 0xd5, 0xf9, 0x33, 0xc4, 0x94, 0x81, 0xe3, 0x7b, 0xa9, 0xaf, 0x90, 0x8f, 0x45, 0x19, 0x32, 0xdb, + 0x55, 0x3e, 0xdf, 0x91, 0x0e, 0x6b, 0x0d, 0x9e, 0xbf, 0xcb, 0x02, 0x25, 0x42, 0x6f, 0x41, 0x9a, + 0x58, 0x04, 0x73, 0x4d, 0xac, 0xbf, 0xf3, 0x84, 0xa9, 0xc3, 0x85, 0xd3, 0x52, 0x9f, 0x90, 0xd2, + 0x1c, 0x6f, 0x9d, 0x6d, 0x82, 0x19, 0x18, 0x5a, 0xcc, 0x3b, 0x5f, 0x27, 0x09, 0x7b, 0xa6, 0xbd, + 0xd4, 0x27, 0x98, 0x3d, 0x6e, 0xf2, 0x3e, 0xd2, 0xb7, 0x2a, 0xaf, 0x02, 0x90, 0x0f, 0x6a, 0x45, + 0x5c, 0x60, 0x12, 0x86, 0x08, 0x36, 0x21, 0x7d, 0x01, 0x92, 0x72, 0xb3, 0x16, 0x71, 0x5d, 0x49, + 0x18, 0x94, 0x9b, 0x35, 0x42, 0x76, 0x11, 0xb2, 0x8e, 0x81, 0x4d, 0x15, 0x0c, 0x48, 0xcf, 0x0f, + 0xdb, 0x23, 0x97, 0xe8, 0xd6, 0xf3, 0xd6, 0xc2, 0x59, 0xaa, 0xfb, 0xc2, 0x99, 0xb9, 0x66, 0xc6, + 0xab, 0x90, 0x34, 0xfb, 0x15, 0x9d, 0x80, 0x89, 0x9b, 0x6b, 0x0b, 0x62, 0xb9, 0x92, 0xaf, 0x04, + 0xec, 0x6a, 0xad, 0x17, 0x57, 0x17, 0x97, 0x56, 0x6f, 0x64, 0x39, 0x9c, 0x10, 0x36, 0x56, 0x57, + 0x71, 0x22, 0x86, 0x92, 0xd0, 0xbf, 0xb8, 0xb6, 0x5a, 0xcc, 0xc6, 0x51, 0x1a, 0x92, 0x74, 0x91, + 0xa6, 0xb8, 0x98, 0xed, 0x47, 0x00, 0x03, 0xd7, 0xf3, 0x4b, 0xf8, 0x7f, 0x02, 0xff, 0xcf, 0x17, + 0x2a, 0x4b, 0x77, 0x8a, 0xd9, 0x81, 0x6b, 0x7f, 0xe6, 0xe3, 0xfc, 0x77, 0x75, 0xf8, 0x0e, 0x25, + 0x7a, 0x22, 0x68, 0x6d, 0x99, 0x64, 0xe9, 0x73, 0xef, 0xd7, 0xea, 0x2d, 0xec, 0x80, 0x3e, 0x40, + 0x57, 0x23, 0x2f, 0xf3, 0x7a, 0x49, 0x17, 0x86, 0xac, 0x55, 0x5c, 0x7e, 0x09, 0xb2, 0x37, 0x64, + 0xc3, 0xed, 0x80, 0x5f, 0x70, 0x19, 0xb0, 0xb3, 0xc4, 0x80, 0x75, 0xfc, 0x70, 0x26, 0x35, 0x5e, + 0x7f, 0x27, 0x06, 0x08, 0x1b, 0x67, 0x0a, 0x0c, 0x70, 0x48, 0xfd, 0x47, 0x77, 0x48, 0xb6, 0xe7, + 0xe0, 0x5c, 0x9e, 0xc3, 0xe5, 0x89, 0x62, 0x1e, 0x4f, 0xe4, 0xf6, 0x62, 0x71, 0xaf, 0x17, 0x33, + 0x2d, 0x47, 0xa2, 0x37, 0xcb, 0xe1, 0xf4, 0x6f, 0x03, 0x1d, 0x67, 0x1b, 0x7e, 0x3f, 0xd6, 0x82, + 0x31, 0x97, 0xa4, 0x98, 0x0b, 0x7b, 0x16, 0xfa, 0xef, 0xa9, 0x5b, 0xa6, 0xeb, 0x3a, 0xdd, 0xb1, + 0x26, 0x02, 0x41, 0x8d, 0xec, 0xaf, 0x96, 0x61, 0xac, 0x20, 0x35, 0xab, 0x72, 0xfd, 0x58, 0xba, + 0x7a, 0x19, 0xc6, 0xae, 0x2b, 0x4d, 0x45, 0xdf, 0x3d, 0x2e, 0x6e, 0xd4, 0x97, 0x1e, 0x0b, 0xb7, + 0xbf, 0x18, 0x83, 0x33, 0x2c, 0xac, 0xf4, 0xed, 0x6f, 0x98, 0xac, 0x8b, 0x9e, 0x20, 0xe9, 0x32, + 0x61, 0x7e, 0x01, 0x45, 0xdb, 0x44, 0xb2, 0xb4, 0x51, 0x84, 0xb1, 0x80, 0xed, 0x92, 0x2e, 0x67, + 0x79, 0xfd, 0xfc, 0xe8, 0xec, 0x06, 0xf9, 0xb7, 0x63, 0x8e, 0x61, 0x05, 0xe4, 0x7f, 0x73, 0x70, + 0x86, 0xce, 0x47, 0xc2, 0xa5, 0x91, 0x77, 0x09, 0x9a, 0xc9, 0x22, 0xe2, 0x86, 0x1a, 0xf3, 0xbe, + 0x9b, 0xc7, 0x23, 0x89, 0x40, 0x21, 0x1c, 0x69, 0xde, 0x22, 0xc1, 0x29, 0x6c, 0xdf, 0x1e, 0x61, + 0xdb, 0xf9, 0x7f, 0xcf, 0xc1, 0x63, 0x64, 0x34, 0xfb, 0xb7, 0xd3, 0x8e, 0x59, 0xdf, 0xbe, 0x5d, + 0x8b, 0x23, 0x7f, 0x9b, 0x83, 0x33, 0xa1, 0x2d, 0x64, 0xb6, 0xeb, 0x6d, 0x18, 0x0f, 0xd0, 0x00, + 0xd3, 0x96, 0xf5, 0xa0, 0x02, 0x63, 0x01, 0xdb, 0x92, 0x91, 0xcd, 0x5c, 0x0d, 0xce, 0x30, 0x53, + 0xf2, 0x28, 0x7b, 0xfc, 0x6f, 0xc6, 0xe0, 0xe4, 0xb2, 0xa4, 0xed, 0xc8, 0x05, 0x72, 0x6d, 0x62, + 0x51, 0x21, 0x21, 0xaa, 0xa4, 0x99, 0x4f, 0x06, 0x94, 0x20, 0xc5, 0xd6, 0x99, 0xc9, 0x47, 0x50, + 0xb9, 0xce, 0x17, 0x50, 0xb1, 0x1b, 0x64, 0x31, 0xfb, 0xba, 0x64, 0xec, 0x0a, 0x40, 0x69, 0xc9, + 0xb7, 0x52, 0x25, 0x98, 0xa4, 0xdb, 0x03, 0xe6, 0x0c, 0x80, 0x7c, 0x04, 0x57, 0x97, 0xcd, 0x1b, + 0x27, 0x33, 0x11, 0x98, 0x5e, 0x57, 0xea, 0x72, 0x99, 0xdc, 0x08, 0x19, 0xab, 0xfa, 0xc1, 0x68, + 0x15, 0x46, 0xb6, 0x94, 0x1d, 0xf1, 0xdd, 0xb6, 0xac, 0x1d, 0x88, 0xf4, 0x84, 0x59, 0xb4, 0x47, + 0x9d, 0xc9, 0x80, 0x2b, 0xf5, 0x09, 0x99, 0x2d, 0x27, 0xc0, 0x71, 0x79, 0xe0, 0x26, 0xe4, 0x02, + 0xa5, 0x44, 0x3f, 0x5c, 0x73, 0x09, 0x90, 0xd4, 0x6a, 0x69, 0xea, 0xbe, 0xd8, 0x6c, 0x37, 0xc4, + 0xd6, 0xae, 0x26, 0xe9, 0xd6, 0x67, 0x76, 0xb2, 0x34, 0x67, 0xb5, 0xdd, 0x58, 0xa7, 0x70, 0xfe, + 0xe3, 0x18, 0x8c, 0xe3, 0x8a, 0xcb, 0x35, 0xcf, 0x35, 0x62, 0xef, 0x26, 0x30, 0xd7, 0x75, 0x13, + 0x38, 0xe6, 0xdf, 0x04, 0xae, 0xc3, 0x54, 0x1d, 0xd7, 0x54, 0x64, 0x17, 0x64, 0x6a, 0x56, 0x5d, + 0xbb, 0xec, 0x03, 0x75, 0xd0, 0x82, 0x52, 0x9f, 0x30, 0x51, 0x0f, 0xca, 0x46, 0x02, 0x80, 0xa3, + 0x80, 0x2e, 0x37, 0xd3, 0x09, 0xb1, 0xd9, 0xe6, 0x59, 0x9b, 0x4b, 0xa9, 0x4f, 0x70, 0x70, 0x41, + 0x05, 0x48, 0x68, 0xf2, 0x8e, 0xbc, 0xcf, 0x66, 0x09, 0x4f, 0x47, 0x63, 0x27, 0x60, 0x12, 0x72, + 0xbd, 0x07, 0xff, 0xb1, 0xce, 0x5c, 0xfe, 0x05, 0x0e, 0xc6, 0xdc, 0xc2, 0xa6, 0x5d, 0xb6, 0x17, + 0x2e, 0x26, 0xae, 0xe3, 0x99, 0xd1, 0x70, 0x35, 0x08, 0x95, 0x92, 0x55, 0x99, 0x8f, 0x62, 0x30, + 0xe1, 0xae, 0x0c, 0xfb, 0x66, 0x34, 0x2a, 0xc0, 0x80, 0x6b, 0x42, 0xfc, 0x74, 0x87, 0x09, 0xb1, + 0x57, 0x6f, 0x04, 0x46, 0xea, 0x9d, 0x0c, 0xc5, 0x7a, 0x9a, 0x0c, 0xbd, 0xe1, 0x9e, 0x3d, 0xce, + 0x44, 0xaa, 0x80, 0x6b, 0x06, 0x69, 0x4f, 0x59, 0xfa, 0xa3, 0x4f, 0x59, 0xcc, 0x72, 0xcd, 0x39, + 0x61, 0xf4, 0x72, 0x75, 0x5a, 0xae, 0xce, 0xff, 0x58, 0x3f, 0x0c, 0xbb, 0xb3, 0x03, 0x67, 0xd5, + 0x1b, 0x30, 0x42, 0x4f, 0xd9, 0x19, 0xd6, 0x17, 0xbc, 0x3b, 0xbf, 0x43, 0x12, 0xd8, 0x53, 0xc2, + 0x30, 0x63, 0x62, 0xf6, 0xdc, 0x9b, 0x90, 0x35, 0xbf, 0xfb, 0xc4, 0xd8, 0x76, 0x3b, 0x84, 0x1b, + 0xcc, 0x77, 0x84, 0x71, 0x61, 0x69, 0xfd, 0xda, 0x2f, 0xc6, 0x3e, 0xce, 0xff, 0x7c, 0x2c, 0xf0, + 0x03, 0xfc, 0x9e, 0xd6, 0xbe, 0xde, 0xf1, 0x08, 0x8e, 0xee, 0x42, 0xd6, 0xe7, 0xde, 0xa7, 0x00, + 0xfb, 0xce, 0xdb, 0x07, 0xe8, 0x85, 0x80, 0xf9, 0x57, 0x04, 0xb2, 0x4a, 0xef, 0x47, 0x7f, 0x22, + 0x70, 0xbd, 0x19, 0x75, 0x32, 0xd8, 0x9d, 0x17, 0xff, 0x09, 0x07, 0x27, 0x69, 0x00, 0xed, 0x16, + 0x99, 0xed, 0x40, 0xdd, 0xc1, 0xcc, 0x53, 0xc4, 0x85, 0x9e, 0x43, 0xdd, 0x85, 0x6e, 0x05, 0x32, + 0x25, 0x6b, 0xe4, 0xc6, 0x7a, 0x1e, 0xb9, 0xec, 0x80, 0x47, 0xd5, 0xbc, 0xc6, 0x35, 0xe6, 0x6d, + 0x81, 0x1d, 0x29, 0x67, 0xdd, 0xad, 0x8d, 0x12, 0x2f, 0xff, 0x0e, 0x07, 0x27, 0x69, 0xbc, 0x1c, + 0xdc, 0xf8, 0x57, 0x5d, 0xd1, 0x03, 0x6b, 0x7a, 0x04, 0x7d, 0x63, 0xe3, 0xa9, 0x70, 0x84, 0x86, + 0x3b, 0x4d, 0xd6, 0xe1, 0x03, 0xe2, 0xbb, 0x30, 0x7d, 0x43, 0x36, 0x1e, 0x45, 0xe3, 0xf8, 0xdf, + 0xe0, 0x20, 0x87, 0xc3, 0x44, 0x77, 0xa6, 0x7e, 0x8c, 0x7a, 0xf3, 0xed, 0x0a, 0x80, 0x7f, 0x8c, + 0xed, 0x7c, 0xfa, 0x5a, 0xc6, 0x82, 0xdf, 0xdb, 0x30, 0xea, 0xd5, 0x42, 0x33, 0xf2, 0x7d, 0x32, + 0x52, 0x0f, 0x0b, 0x23, 0x9e, 0x81, 0x19, 0x39, 0xe2, 0x7d, 0x1b, 0x4e, 0xd2, 0x88, 0xf7, 0x91, + 0x74, 0xe9, 0x4f, 0x71, 0xf0, 0x98, 0xeb, 0x53, 0x80, 0xc7, 0xba, 0xab, 0xb5, 0x04, 0xec, 0xbb, + 0x83, 0xa2, 0xe3, 0x73, 0xad, 0x17, 0x3b, 0x7e, 0xba, 0xd0, 0xf9, 0xd1, 0x56, 0xa0, 0xc4, 0xf8, + 0x3f, 0xff, 0x59, 0x0e, 0x72, 0xae, 0x8a, 0x1e, 0xc7, 0x5a, 0xc2, 0x71, 0x56, 0xf0, 0xaf, 0x73, + 0x30, 0xea, 0xc3, 0x38, 0xf4, 0xd7, 0x7d, 0x2b, 0x30, 0xc2, 0x8e, 0x10, 0x59, 0xcb, 0xc3, 0x9d, + 0x0d, 0x0a, 0x2d, 0x9a, 0x1d, 0x32, 0x61, 0x0b, 0xc1, 0xc2, 0xf0, 0xb6, 0x2b, 0xcd, 0xff, 0xcf, + 0x18, 0x8c, 0x07, 0x21, 0xa2, 0x15, 0x18, 0xad, 0xaa, 0x4d, 0x43, 0x52, 0x9a, 0xb2, 0x26, 0xba, + 0x0f, 0x80, 0x3e, 0xde, 0xa1, 0xce, 0x04, 0x5f, 0xc8, 0x5a, 0xa4, 0x26, 0xbb, 0x33, 0x90, 0x22, + 0xf3, 0x18, 0xfa, 0xfa, 0x1a, 0xbb, 0xb2, 0x03, 0x18, 0xb4, 0x46, 0x20, 0x78, 0x9c, 0x6b, 0xea, + 0x03, 0x33, 0x9f, 0x3e, 0xb7, 0x3b, 0xa4, 0xa9, 0x0f, 0x58, 0x76, 0x09, 0x32, 0xe4, 0xbb, 0x1c, + 0xd6, 0x57, 0x52, 0xfb, 0x3b, 0xbe, 0x4d, 0x45, 0xbe, 0xc0, 0x61, 0x7e, 0x08, 0x35, 0x6d, 0x38, + 0x52, 0x68, 0x0d, 0x06, 0xea, 0xd2, 0x96, 0x5c, 0x37, 0xcf, 0x6b, 0xbe, 0xd4, 0x83, 0xf8, 0x66, + 0x97, 0x09, 0x65, 0xb1, 0x69, 0x68, 0x07, 0x02, 0x63, 0x93, 0xbb, 0x0a, 0x29, 0x07, 0x18, 0x65, + 0xed, 0xab, 0xcf, 0x43, 0xe4, 0xd6, 0x33, 0x1a, 0x37, 0x6f, 0x9f, 0xd1, 0xd1, 0x4c, 0x13, 0xd7, + 0x62, 0x57, 0x38, 0x7e, 0x0a, 0x26, 0x5c, 0x1a, 0x6c, 0x5a, 0x97, 0x99, 0x2f, 0x70, 0x80, 0xfc, + 0xd7, 0xda, 0xd0, 0x39, 0x38, 0x23, 0x14, 0x97, 0xc9, 0x65, 0x8c, 0xf0, 0xfb, 0x54, 0x69, 0x48, + 0x16, 0x6f, 0x6f, 0xe4, 0x97, 0xc5, 0xca, 0x5a, 0x96, 0x43, 0x59, 0x48, 0xaf, 0xae, 0x55, 0x44, + 0x0b, 0x42, 0x5e, 0xd5, 0xb9, 0x21, 0x14, 0xf3, 0x95, 0xa2, 0x20, 0x56, 0x4a, 0xf9, 0xd5, 0x6c, + 0x1c, 0x65, 0x60, 0x68, 0xb9, 0x58, 0x2e, 0xd3, 0x64, 0x3f, 0xca, 0xc1, 0xa4, 0x13, 0x41, 0x5c, + 0x13, 0x28, 0x79, 0x39, 0x9b, 0x40, 0x53, 0x30, 0x66, 0xa1, 0x3a, 0x32, 0x06, 0x10, 0xc0, 0x40, + 0xf1, 0xad, 0xa5, 0x72, 0xa5, 0x9c, 0x1d, 0x9c, 0xf9, 0x90, 0x83, 0xf4, 0x8a, 0x64, 0x54, 0x77, + 0x95, 0xe6, 0x0e, 0x89, 0xbc, 0x4e, 0xc3, 0x89, 0x95, 0x7c, 0xa5, 0x50, 0x5a, 0x5a, 0xbd, 0x21, + 0x56, 0xee, 0xae, 0x7b, 0xd7, 0xd9, 0x4f, 0xc1, 0xb4, 0x3b, 0xfb, 0xfa, 0xc6, 0xf2, 0xb2, 0x48, + 0x40, 0x59, 0x0e, 0x9d, 0x81, 0x93, 0xee, 0xdc, 0xf5, 0xbc, 0x50, 0x59, 0xca, 0x9b, 0x08, 0x31, + 0x3f, 0xc2, 0xd2, 0xea, 0x9d, 0xa2, 0x50, 0x2e, 0x32, 0x84, 0xf8, 0xcc, 0x0a, 0x64, 0xd8, 0x78, + 0xa2, 0x4a, 0x80, 0x5b, 0x51, 0x58, 0x5b, 0xad, 0x14, 0x57, 0xbd, 0x8f, 0x0a, 0x64, 0x21, 0x6d, + 0x66, 0x54, 0x8a, 0x6f, 0x55, 0xb2, 0x1c, 0x1a, 0x85, 0x8c, 0x09, 0x59, 0x5a, 0xc9, 0xdf, 0x28, + 0x66, 0x63, 0x33, 0xeb, 0xf6, 0xc7, 0x49, 0x1d, 0xdf, 0x08, 0x45, 0x27, 0x60, 0xa2, 0xb8, 0xba, + 0xb1, 0x12, 0xd4, 0xc0, 0x14, 0x0c, 0x2e, 0x11, 0x00, 0xe3, 0x28, 0x2c, 0x95, 0x6f, 0x89, 0xf9, + 0xd5, 0xfc, 0xf2, 0xdd, 0xf2, 0x52, 0x39, 0x1b, 0x9b, 0x11, 0x00, 0xec, 0xc5, 0x66, 0x2c, 0x8e, + 0xc5, 0xe5, 0x75, 0xf1, 0xe6, 0xda, 0x42, 0x10, 0xaf, 0x11, 0x48, 0x31, 0x5e, 0x18, 0x23, 0xcb, + 0xa1, 0x09, 0x18, 0x75, 0xf1, 0x23, 0xe0, 0xd8, 0x4c, 0x33, 0x68, 0x42, 0x47, 0xde, 0x9e, 0x21, + 0xdf, 0x4d, 0x5e, 0x14, 0x97, 0x56, 0xaf, 0xaf, 0xd1, 0x02, 0xba, 0xee, 0x7d, 0x0c, 0x41, 0x42, + 0x28, 0xe6, 0x17, 0xef, 0x66, 0x63, 0x8e, 0x1d, 0x8e, 0x38, 0x6d, 0xd6, 0x9d, 0xfc, 0xf2, 0xd2, + 0x62, 0xb6, 0x7f, 0xfe, 0xfb, 0x56, 0x48, 0x23, 0xca, 0xb2, 0x76, 0x5f, 0xa9, 0xca, 0xe8, 0xeb, + 0x1c, 0x0c, 0xbb, 0x3f, 0x82, 0x8d, 0x2e, 0x75, 0xdd, 0x70, 0x74, 0x7c, 0x68, 0x3c, 0x77, 0x39, + 0x22, 0x36, 0x1d, 0x31, 0xfc, 0xfe, 0x9f, 0xfb, 0xe8, 0x6b, 0x3f, 0x1c, 0xd3, 0xf8, 0x0b, 0x73, + 0xf7, 0xe7, 0xe7, 0xde, 0xa7, 0xc1, 0xc3, 0xab, 0x56, 0x88, 0x3c, 0xf3, 0xc1, 0x5c, 0x95, 0x12, + 0x5c, 0x63, 0x3b, 0x63, 0xd7, 0xb8, 0x99, 0xcd, 0x45, 0xfe, 0xf5, 0x30, 0xec, 0x80, 0x48, 0x5a, + 0x54, 0x6a, 0x41, 0x5c, 0xd0, 0x6f, 0x72, 0x90, 0xa2, 0x6f, 0x16, 0x2d, 0x35, 0xa4, 0x1d, 0x19, + 0x3d, 0xd5, 0xf1, 0xbd, 0x3c, 0x82, 0x63, 0xb6, 0x71, 0x26, 0x0a, 0x2a, 0x6b, 0xa0, 0x46, 0x1a, + 0x58, 0xe7, 0x9f, 0x08, 0xab, 0xb2, 0x82, 0xd1, 0xaf, 0xd1, 0x57, 0xf8, 0x70, 0xeb, 0xf2, 0xfc, + 0x2b, 0xbd, 0xb6, 0xce, 0xc3, 0x02, 0x7d, 0x8b, 0x83, 0xd1, 0x45, 0xef, 0x77, 0xea, 0xd1, 0x5c, + 0x94, 0x9b, 0x1b, 0xce, 0xae, 0x7c, 0x26, 0x3a, 0x01, 0x6b, 0xec, 0xff, 0x4f, 0x1a, 0xbb, 0xcf, + 0xcf, 0x74, 0xeb, 0x4d, 0x7b, 0xe5, 0x10, 0x37, 0xf9, 0x06, 0xbf, 0x70, 0xd8, 0x0e, 0x75, 0x31, + 0x22, 0x0d, 0x17, 0x22, 0x37, 0x5c, 0xe8, 0xb5, 0xe1, 0xc2, 0xd1, 0x1b, 0xae, 0x1d, 0x57, 0xc3, + 0x5d, 0x8c, 0xd0, 0xcf, 0x72, 0x90, 0x71, 0x7d, 0x44, 0x18, 0x85, 0x85, 0x17, 0x41, 0x1f, 0x38, + 0xce, 0x5d, 0x8a, 0x86, 0xcc, 0x1a, 0xbb, 0xfc, 0x30, 0xef, 0x8c, 0xc2, 0x49, 0xd3, 0xaf, 0xa0, + 0x0c, 0x6e, 0x89, 0xf5, 0xc6, 0xc3, 0xe6, 0x05, 0xf4, 0x24, 0x06, 0x84, 0xaa, 0xac, 0x55, 0xd1, + 0x9f, 0x89, 0xc3, 0x44, 0xe0, 0xc1, 0x57, 0xf4, 0x5c, 0xe8, 0x63, 0x1a, 0xe1, 0xc7, 0x64, 0x73, + 0x11, 0x8f, 0xf8, 0xf1, 0x5f, 0x88, 0x3d, 0xcc, 0x4f, 0x51, 0xb9, 0x5f, 0xf2, 0x1e, 0x8d, 0x78, + 0x98, 0x3f, 0x17, 0x92, 0x73, 0xc9, 0xdb, 0xee, 0x6f, 0x72, 0xfc, 0x65, 0x67, 0x17, 0xba, 0xd7, + 0x0c, 0x66, 0xfc, 0xf7, 0xcc, 0x70, 0xb7, 0xdf, 0xe4, 0x8b, 0x1d, 0x69, 0xc2, 0x85, 0xe6, 0xe7, + 0x75, 0x99, 0xbf, 0x18, 0x6a, 0x59, 0x02, 0xd0, 0x8b, 0xfc, 0x1b, 0x3d, 0x5b, 0x17, 0x3f, 0x1b, + 0xf4, 0x7f, 0x62, 0x30, 0x11, 0x78, 0x5c, 0x37, 0xb4, 0xd3, 0x3a, 0x1d, 0xee, 0x8d, 0xdc, 0x69, + 0xdf, 0x17, 0x7b, 0x98, 0x3f, 0x8b, 0xe3, 0x7d, 0x7f, 0xc7, 0x38, 0xe6, 0xd9, 0xa4, 0x63, 0x7e, + 0x9b, 0x9b, 0xa7, 0x1d, 0x83, 0xd1, 0xbd, 0x22, 0xf6, 0xdf, 0xfe, 0x9b, 0xf9, 0x00, 0x4b, 0xe7, + 0xb5, 0xf9, 0xab, 0xe1, 0x34, 0xb6, 0x7c, 0x42, 0xe9, 0x2f, 0xcf, 0x5f, 0xb4, 0xe9, 0x6d, 0xd9, + 0x86, 0xa1, 0x5f, 0x9d, 0x7f, 0x3e, 0x10, 0xbd, 0x7b, 0x49, 0xe8, 0xd7, 0x62, 0x80, 0xfc, 0xe7, + 0x87, 0x51, 0x98, 0xe5, 0x0a, 0x3d, 0x6a, 0x1c, 0x59, 0xf4, 0xbf, 0xc3, 0x3d, 0xcc, 0x93, 0xa9, + 0x16, 0x91, 0xee, 0xbf, 0xe1, 0x50, 0x6f, 0xd2, 0xdd, 0x7c, 0x19, 0x1d, 0x5e, 0xb4, 0x9b, 0x33, + 0x28, 0xb2, 0x5c, 0x37, 0x5f, 0x44, 0x87, 0x12, 0x2a, 0xfa, 0x24, 0x66, 0x7e, 0xfd, 0xdd, 0x73, + 0xf4, 0x77, 0xbe, 0xa3, 0x71, 0x0c, 0x3c, 0x60, 0x9d, 0x7b, 0xae, 0x27, 0x1a, 0x66, 0x57, 0xff, + 0x07, 0xf7, 0x30, 0xcf, 0xd6, 0x4f, 0x88, 0x90, 0xff, 0xd0, 0x14, 0x72, 0x54, 0xdb, 0xb2, 0x79, + 0x03, 0x1d, 0x8f, 0x61, 0xb1, 0x04, 0x1e, 0xc1, 0xaa, 0x6c, 0x2e, 0xa0, 0x23, 0x9b, 0x14, 0xf4, + 0xaf, 0x63, 0x30, 0x11, 0x78, 0x6e, 0x3a, 0xd4, 0x9e, 0x74, 0x3a, 0x65, 0x9d, 0x0b, 0xf9, 0x64, + 0xaa, 0x4f, 0x89, 0x67, 0x7a, 0x55, 0xe2, 0x99, 0xa3, 0x28, 0xf1, 0x4c, 0x0f, 0x4a, 0x3c, 0x73, + 0x38, 0x25, 0xfe, 0x72, 0x1c, 0xa6, 0xc3, 0x8e, 0x54, 0xa0, 0x17, 0x3b, 0xfa, 0xd3, 0xd0, 0x7d, + 0xd8, 0x5c, 0xf4, 0x2d, 0x61, 0xfe, 0xcb, 0xb1, 0x87, 0xf9, 0x1c, 0xf3, 0x9d, 0x01, 0x9b, 0xcc, + 0x0f, 0xf3, 0xe7, 0xc3, 0x33, 0x7d, 0xbe, 0xf5, 0xbb, 0x63, 0xfc, 0x33, 0x1d, 0xd5, 0x39, 0x60, + 0xff, 0x19, 0x9b, 0xd5, 0x15, 0xbe, 0x74, 0xa8, 0x51, 0x10, 0xc2, 0xee, 0x19, 0xfe, 0xe9, 0x30, + 0xfd, 0x0e, 0xa1, 0x28, 0xf1, 0x85, 0x5e, 0x47, 0x44, 0x30, 0x27, 0xf4, 0xa3, 0x71, 0x98, 0x0e, + 0x3b, 0x14, 0x12, 0xda, 0x9f, 0x5d, 0x4e, 0x91, 0xf4, 0xd2, 0x9f, 0x3f, 0x1a, 0x7b, 0x98, 0x7f, + 0x82, 0x38, 0xdc, 0xa0, 0x0e, 0xf3, 0xfa, 0xdc, 0x3f, 0xe4, 0xe6, 0x9f, 0x09, 0x1f, 0x1f, 0x41, + 0x97, 0x98, 0xa9, 0x1f, 0xcc, 0xcf, 0xbf, 0x12, 0x6d, 0x58, 0x85, 0xb3, 0x78, 0x66, 0xfe, 0xe9, + 0xc0, 0x01, 0x13, 0x4e, 0xf1, 0xca, 0xfc, 0x4b, 0x5d, 0x87, 0x58, 0x28, 0x35, 0xfa, 0x5a, 0x0c, + 0x26, 0x02, 0x8f, 0xab, 0x84, 0x1a, 0xac, 0x4e, 0x87, 0x5b, 0x7a, 0xe9, 0x92, 0x8f, 0x5d, 0x36, + 0xec, 0xb7, 0x39, 0xd4, 0xb3, 0xc8, 0x37, 0x5f, 0x43, 0x47, 0x92, 0xf7, 0xe6, 0x65, 0xd4, 0x8b, + 0xb0, 0x37, 0xaf, 0xa2, 0xc3, 0x4a, 0x1a, 0xfd, 0x50, 0x9c, 0x1e, 0x23, 0x0f, 0x38, 0xcf, 0x82, + 0x5e, 0xe8, 0xe0, 0x63, 0xc3, 0x4f, 0xf8, 0xe4, 0x5e, 0xec, 0x95, 0x8c, 0x79, 0xe7, 0xef, 0x8d, + 0xb9, 0xbd, 0xf3, 0x37, 0x4d, 0xc9, 0xf7, 0x60, 0x9d, 0x36, 0x6f, 0xa2, 0x63, 0x33, 0x4d, 0x56, + 0x2f, 0x44, 0xb3, 0x4b, 0x9b, 0x45, 0x74, 0x1c, 0x46, 0x09, 0xfd, 0x46, 0x0c, 0xa6, 0xc3, 0x0e, + 0xee, 0x84, 0x5a, 0xa4, 0x2e, 0x27, 0x7d, 0x42, 0xfd, 0xb5, 0x57, 0xd7, 0x67, 0x0e, 0xa1, 0xeb, + 0x33, 0x47, 0xd4, 0xf5, 0x99, 0xde, 0x74, 0x7d, 0xe6, 0xd0, 0xba, 0xfe, 0x97, 0x62, 0x90, 0xf5, + 0x5e, 0xed, 0x42, 0xb3, 0x1d, 0x7d, 0xb6, 0x6f, 0x8f, 0x27, 0xd7, 0xfd, 0x16, 0x05, 0xff, 0x53, + 0xdc, 0xc3, 0x3c, 0x62, 0x6e, 0xd8, 0x71, 0x5c, 0xfb, 0x61, 0xfe, 0x31, 0x3f, 0xd0, 0xe7, 0x93, + 0xef, 0xf1, 0xe7, 0xc2, 0xb4, 0xc8, 0x71, 0x39, 0x03, 0xdb, 0xd7, 0x37, 0xf8, 0x97, 0x7b, 0xd5, + 0x37, 0x37, 0x07, 0xf4, 0x0d, 0x0e, 0xb2, 0xde, 0x1b, 0x5a, 0xa1, 0x02, 0x09, 0xb9, 0xca, 0x15, + 0x45, 0x20, 0xdf, 0xc3, 0x3d, 0xcc, 0x9f, 0x22, 0x4e, 0xce, 0xd9, 0x72, 0xaf, 0x73, 0x7b, 0x67, + 0xfe, 0x5c, 0x60, 0xcf, 0x3a, 0xaf, 0xd8, 0x53, 0xcf, 0xf2, 0xfc, 0xfc, 0x5c, 0x57, 0x1d, 0xf0, + 0x51, 0xa1, 0x5f, 0xe3, 0x60, 0x2a, 0x64, 0x03, 0x2f, 0xd4, 0xd4, 0x75, 0xde, 0xf0, 0x0b, 0x5d, + 0xd6, 0x09, 0xdc, 0xbc, 0xe0, 0xd7, 0x9c, 0x63, 0x6d, 0x81, 0x7f, 0xb5, 0xd7, 0x36, 0xec, 0x3a, + 0xb9, 0xe2, 0x16, 0x7d, 0x91, 0x83, 0x8c, 0xeb, 0x2a, 0x5a, 0xe8, 0xa2, 0x54, 0xd0, 0x85, 0xb5, + 0x28, 0x3d, 0x27, 0x3b, 0xab, 0xfc, 0x16, 0x8a, 0xd2, 0x41, 0x9b, 0xcf, 0xa2, 0x5e, 0x7b, 0x07, + 0xfd, 0x3e, 0x07, 0x23, 0x9e, 0xcb, 0x4c, 0xe8, 0x72, 0x07, 0x37, 0xe2, 0xbf, 0xec, 0x95, 0x9b, + 0x8d, 0x8a, 0xce, 0x3a, 0x43, 0x77, 0x3b, 0x9b, 0x1a, 0x8a, 0x32, 0xec, 0x36, 0x5f, 0x45, 0x47, + 0x19, 0x73, 0xe8, 0x17, 0x39, 0xc8, 0x7a, 0xef, 0x4a, 0x85, 0x0e, 0xb8, 0x90, 0x4b, 0x55, 0xa1, + 0xb6, 0xdc, 0xdd, 0x57, 0x33, 0xd1, 0xfa, 0x6a, 0xa6, 0xe7, 0xbe, 0xfa, 0x2a, 0x07, 0xc8, 0x7f, + 0x5f, 0x34, 0x74, 0x61, 0x24, 0xf4, 0x6a, 0x69, 0xae, 0xf3, 0xa1, 0x7e, 0xfe, 0x3e, 0x69, 0x47, + 0x8b, 0xbf, 0x14, 0xc5, 0x28, 0x48, 0xac, 0x14, 0x6c, 0x1d, 0x5e, 0xe5, 0xaf, 0xf4, 0x3a, 0xb2, + 0x1c, 0xe4, 0xe8, 0xf3, 0x31, 0x48, 0x3b, 0xef, 0x62, 0xa2, 0x99, 0xce, 0xb3, 0x3a, 0xe7, 0xe6, + 0x7a, 0xb7, 0x36, 0xfd, 0xaa, 0xc3, 0x33, 0x38, 0xee, 0x62, 0xda, 0x9e, 0xc1, 0x01, 0x74, 0x7a, + 0x86, 0x87, 0xf9, 0x11, 0x86, 0x60, 0xde, 0xba, 0x7c, 0x98, 0x3f, 0xe9, 0x81, 0xf8, 0x3c, 0xc9, + 0x16, 0x7f, 0x26, 0x34, 0x7c, 0xa1, 0xb7, 0x2d, 0x48, 0x94, 0xce, 0xbf, 0xd4, 0x73, 0xd4, 0x62, + 0x51, 0xa3, 0xaf, 0x70, 0x90, 0x72, 0x5c, 0xdf, 0x08, 0xdd, 0xe3, 0xf1, 0x5f, 0x86, 0x09, 0xdd, + 0xe3, 0x09, 0xb8, 0x0d, 0xc2, 0xef, 0xb9, 0x07, 0xeb, 0xdb, 0xa8, 0x5b, 0xcb, 0xac, 0x90, 0xb8, + 0xf7, 0x66, 0xa1, 0x9f, 0xe1, 0x60, 0xc8, 0xba, 0x08, 0x84, 0x2e, 0x74, 0x98, 0x6d, 0xf4, 0xd2, + 0xf5, 0xff, 0x9f, 0x73, 0x74, 0xae, 0xb3, 0x06, 0xf8, 0x62, 0x1e, 0x76, 0x3f, 0xa9, 0xc3, 0x14, + 0xc0, 0x15, 0xe7, 0x58, 0xe8, 0xe8, 0x1f, 0x70, 0x90, 0x76, 0xde, 0x1c, 0x09, 0xd5, 0xda, 0x80, + 0xeb, 0x25, 0xa1, 0x16, 0xc5, 0x5d, 0xe7, 0x99, 0xee, 0x75, 0x9e, 0xe9, 0xa9, 0xce, 0xbf, 0xc0, + 0x41, 0xda, 0x79, 0x13, 0x27, 0x7c, 0xa4, 0xf9, 0xaf, 0xeb, 0x84, 0xd6, 0xf9, 0x1e, 0x35, 0xe7, + 0xfc, 0xf9, 0x2e, 0x95, 0xbd, 0x56, 0x25, 0x4c, 0xf1, 0x10, 0x78, 0x89, 0x9f, 0xef, 0xa1, 0xda, + 0x36, 0x21, 0xfa, 0x4c, 0x1c, 0xc6, 0x83, 0x8e, 0x07, 0x86, 0xae, 0x68, 0x76, 0x38, 0x4b, 0x98, + 0x8b, 0x76, 0x3a, 0x8a, 0xff, 0x5c, 0xec, 0x61, 0x3e, 0xc3, 0x86, 0x3e, 0x3d, 0x04, 0xf7, 0x30, + 0x7f, 0xc2, 0x95, 0xf6, 0x19, 0x82, 0xff, 0xc2, 0x31, 0x23, 0x1a, 0x36, 0x29, 0xf2, 0x1c, 0xb8, + 0xc2, 0x32, 0x59, 0xe2, 0x17, 0x0f, 0x35, 0x8f, 0x0a, 0x60, 0x75, 0x29, 0x7c, 0xef, 0x39, 0x00, + 0xfb, 0x10, 0x7b, 0xcf, 0x7e, 0x2e, 0xe8, 0x3f, 0xc6, 0x60, 0x3c, 0xe8, 0xec, 0x62, 0x68, 0xcf, + 0x74, 0x38, 0xe8, 0x18, 0xb5, 0x67, 0xfe, 0x88, 0x7b, 0x98, 0x9f, 0x22, 0x51, 0x2e, 0xeb, 0x07, + 0x6f, 0x80, 0xfb, 0x9b, 0xdc, 0xfc, 0xa5, 0xf0, 0xa9, 0x92, 0xf7, 0x38, 0x2a, 0x0d, 0x75, 0x5f, + 0x9d, 0xbf, 0x12, 0x6d, 0x76, 0x15, 0x4c, 0x7e, 0x69, 0xfe, 0x42, 0xa0, 0x6a, 0x07, 0x63, 0x5f, + 0x99, 0x7f, 0xae, 0xeb, 0x40, 0x08, 0xa4, 0x44, 0x5f, 0x8a, 0xc1, 0xa8, 0xef, 0x2c, 0x65, 0xe8, + 0xbe, 0x70, 0xd8, 0xa9, 0xcb, 0xa8, 0x92, 0x7e, 0xe8, 0x9a, 0xb5, 0xfe, 0x0a, 0x87, 0x7a, 0x12, + 0xeb, 0xe6, 0x35, 0x74, 0x68, 0x99, 0x6e, 0x3e, 0x85, 0xa2, 0x0a, 0x74, 0xf3, 0x05, 0x74, 0x18, + 0x69, 0xa2, 0xff, 0x16, 0xa3, 0x37, 0x22, 0x3d, 0x07, 0x2c, 0xd1, 0xb3, 0x1d, 0xfc, 0x65, 0xf0, + 0x31, 0xd3, 0xdc, 0x7c, 0x2f, 0x24, 0xcc, 0xd5, 0x7e, 0xd3, 0xb3, 0x47, 0xf2, 0x35, 0x53, 0xba, + 0x11, 0x8d, 0xc7, 0xe6, 0x75, 0x74, 0x2c, 0x96, 0xc3, 0x92, 0x74, 0x77, 0xb3, 0xb1, 0x99, 0x47, + 0x47, 0xb5, 0x19, 0xe8, 0x9f, 0xc7, 0x60, 0x3c, 0xe8, 0xf0, 0x68, 0xa8, 0xc1, 0xe8, 0x70, 0xd2, + 0x34, 0xd4, 0x37, 0x79, 0xf5, 0x76, 0xa6, 0x47, 0xbd, 0x9d, 0x39, 0x82, 0xde, 0xce, 0x44, 0xd7, + 0xdb, 0x99, 0x43, 0xe9, 0xed, 0xbf, 0xe4, 0x60, 0x2c, 0xe0, 0xd8, 0x69, 0xa8, 0xde, 0x86, 0x1f, + 0x51, 0xed, 0x71, 0x5a, 0x7d, 0xcb, 0x29, 0xd4, 0xd7, 0xf8, 0xab, 0xbd, 0xf8, 0x72, 0xdf, 0x94, + 0xfa, 0x2f, 0x73, 0x90, 0x76, 0xde, 0xe7, 0x45, 0xe1, 0xcf, 0x77, 0xfb, 0x2e, 0xfd, 0x86, 0xf6, + 0xfb, 0xab, 0xa4, 0x6a, 0x3d, 0x86, 0x19, 0xdb, 0xa4, 0x80, 0x6b, 0xdc, 0x4c, 0xee, 0xfa, 0x2f, + 0xe7, 0x91, 0xff, 0x78, 0xee, 0xbf, 0xcd, 0xcf, 0xee, 0x1a, 0x46, 0x4b, 0xbf, 0x36, 0x37, 0xf7, + 0xe0, 0xc1, 0x03, 0xef, 0xd9, 0x5d, 0xa9, 0x6d, 0xec, 0xce, 0x91, 0x3b, 0x6e, 0x97, 0x5b, 0x75, + 0xc9, 0xd8, 0x56, 0xb5, 0xc6, 0xc2, 0x87, 0x1c, 0x9c, 0xa8, 0xaa, 0x8d, 0xe0, 0x06, 0x2d, 0x24, + 0x17, 0xeb, 0xad, 0x75, 0x5c, 0xef, 0x75, 0x6e, 0xf3, 0x0a, 0x43, 0xd9, 0x51, 0xeb, 0x52, 0x73, + 0x67, 0x56, 0xd5, 0x76, 0xe6, 0x76, 0xe4, 0x26, 0x69, 0xd5, 0x9c, 0x5d, 0xd0, 0x1c, 0xe3, 0x80, + 0x6b, 0x3d, 0x77, 0x7f, 0xfe, 0xe5, 0x5a, 0xbd, 0xf5, 0xf9, 0xd8, 0xd8, 0x0d, 0x4a, 0x4a, 0xae, + 0xdd, 0xe1, 0xe0, 0x77, 0xf6, 0xce, 0xfc, 0x2f, 0x9b, 0xd0, 0xb7, 0x09, 0xf4, 0xed, 0xc5, 0x7a, + 0xeb, 0xed, 0x3b, 0xf3, 0x5b, 0x03, 0x84, 0xe1, 0x73, 0xff, 0x37, 0x00, 0x00, 0xff, 0xff, 0x6a, + 0xc6, 0x84, 0x4c, 0x5b, 0xc0, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. @@ -12584,6 +13521,13 @@ type DlpServiceClient interface { // Updates a job trigger. // See https://cloud.google.com/dlp/docs/creating-job-triggers to learn more. UpdateJobTrigger(ctx context.Context, in *UpdateJobTriggerRequest, opts ...grpc.CallOption) (*JobTrigger, error) + // Inspect hybrid content and store findings to a trigger. The inspection + // will be processed asynchronously. To review the findings monitor the + // jobs within the trigger. + // Early access feature is in a pre-release state and might change or have + // limited support. For more information, see + // https://cloud.google.com/products#product-launch-stages. + HybridInspectJobTrigger(ctx context.Context, in *HybridInspectJobTriggerRequest, opts ...grpc.CallOption) (*HybridInspectResponse, error) // Gets a job trigger. // See https://cloud.google.com/dlp/docs/creating-job-triggers to learn more. GetJobTrigger(ctx context.Context, in *GetJobTriggerRequest, opts ...grpc.CallOption) (*JobTrigger, error) @@ -12645,6 +13589,19 @@ type DlpServiceClient interface { // See https://cloud.google.com/dlp/docs/creating-stored-infotypes to // learn more. DeleteStoredInfoType(ctx context.Context, in *DeleteStoredInfoTypeRequest, opts ...grpc.CallOption) (*empty.Empty, error) + // Inspect hybrid content and store findings to a job. + // To review the findings inspect the job. Inspection will occur + // asynchronously. + // Early access feature is in a pre-release state and might change or have + // limited support. For more information, see + // https://cloud.google.com/products#product-launch-stages. + HybridInspectDlpJob(ctx context.Context, in *HybridInspectDlpJobRequest, opts ...grpc.CallOption) (*HybridInspectResponse, error) + // Finish a running hybrid DlpJob. Triggers the finalization steps and running + // of any enabled actions that have not yet run. + // Early access feature is in a pre-release state and might change or have + // limited support. For more information, see + // https://cloud.google.com/products#product-launch-stages. + FinishDlpJob(ctx context.Context, in *FinishDlpJobRequest, opts ...grpc.CallOption) (*empty.Empty, error) } type dlpServiceClient struct { @@ -12808,6 +13765,15 @@ func (c *dlpServiceClient) UpdateJobTrigger(ctx context.Context, in *UpdateJobTr return out, nil } +func (c *dlpServiceClient) HybridInspectJobTrigger(ctx context.Context, in *HybridInspectJobTriggerRequest, opts ...grpc.CallOption) (*HybridInspectResponse, error) { + out := new(HybridInspectResponse) + err := c.cc.Invoke(ctx, "/google.privacy.dlp.v2.DlpService/HybridInspectJobTrigger", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + func (c *dlpServiceClient) GetJobTrigger(ctx context.Context, in *GetJobTriggerRequest, opts ...grpc.CallOption) (*JobTrigger, error) { out := new(JobTrigger) err := c.cc.Invoke(ctx, "/google.privacy.dlp.v2.DlpService/GetJobTrigger", in, out, opts...) @@ -12934,6 +13900,24 @@ func (c *dlpServiceClient) DeleteStoredInfoType(ctx context.Context, in *DeleteS return out, nil } +func (c *dlpServiceClient) HybridInspectDlpJob(ctx context.Context, in *HybridInspectDlpJobRequest, opts ...grpc.CallOption) (*HybridInspectResponse, error) { + out := new(HybridInspectResponse) + err := c.cc.Invoke(ctx, "/google.privacy.dlp.v2.DlpService/HybridInspectDlpJob", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *dlpServiceClient) FinishDlpJob(ctx context.Context, in *FinishDlpJobRequest, opts ...grpc.CallOption) (*empty.Empty, error) { + out := new(empty.Empty) + err := c.cc.Invoke(ctx, "/google.privacy.dlp.v2.DlpService/FinishDlpJob", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + // DlpServiceServer is the server API for DlpService service. type DlpServiceServer interface { // Finds potentially sensitive info in content. @@ -13017,6 +14001,13 @@ type DlpServiceServer interface { // Updates a job trigger. // See https://cloud.google.com/dlp/docs/creating-job-triggers to learn more. UpdateJobTrigger(context.Context, *UpdateJobTriggerRequest) (*JobTrigger, error) + // Inspect hybrid content and store findings to a trigger. The inspection + // will be processed asynchronously. To review the findings monitor the + // jobs within the trigger. + // Early access feature is in a pre-release state and might change or have + // limited support. For more information, see + // https://cloud.google.com/products#product-launch-stages. + HybridInspectJobTrigger(context.Context, *HybridInspectJobTriggerRequest) (*HybridInspectResponse, error) // Gets a job trigger. // See https://cloud.google.com/dlp/docs/creating-job-triggers to learn more. GetJobTrigger(context.Context, *GetJobTriggerRequest) (*JobTrigger, error) @@ -13078,6 +14069,19 @@ type DlpServiceServer interface { // See https://cloud.google.com/dlp/docs/creating-stored-infotypes to // learn more. DeleteStoredInfoType(context.Context, *DeleteStoredInfoTypeRequest) (*empty.Empty, error) + // Inspect hybrid content and store findings to a job. + // To review the findings inspect the job. Inspection will occur + // asynchronously. + // Early access feature is in a pre-release state and might change or have + // limited support. For more information, see + // https://cloud.google.com/products#product-launch-stages. + HybridInspectDlpJob(context.Context, *HybridInspectDlpJobRequest) (*HybridInspectResponse, error) + // Finish a running hybrid DlpJob. Triggers the finalization steps and running + // of any enabled actions that have not yet run. + // Early access feature is in a pre-release state and might change or have + // limited support. For more information, see + // https://cloud.google.com/products#product-launch-stages. + FinishDlpJob(context.Context, *FinishDlpJobRequest) (*empty.Empty, error) } // UnimplementedDlpServiceServer can be embedded to have forward compatible implementations. @@ -13135,6 +14139,9 @@ func (*UnimplementedDlpServiceServer) CreateJobTrigger(ctx context.Context, req func (*UnimplementedDlpServiceServer) UpdateJobTrigger(ctx context.Context, req *UpdateJobTriggerRequest) (*JobTrigger, error) { return nil, status1.Errorf(codes.Unimplemented, "method UpdateJobTrigger not implemented") } +func (*UnimplementedDlpServiceServer) HybridInspectJobTrigger(ctx context.Context, req *HybridInspectJobTriggerRequest) (*HybridInspectResponse, error) { + return nil, status1.Errorf(codes.Unimplemented, "method HybridInspectJobTrigger not implemented") +} func (*UnimplementedDlpServiceServer) GetJobTrigger(ctx context.Context, req *GetJobTriggerRequest) (*JobTrigger, error) { return nil, status1.Errorf(codes.Unimplemented, "method GetJobTrigger not implemented") } @@ -13177,6 +14184,12 @@ func (*UnimplementedDlpServiceServer) ListStoredInfoTypes(ctx context.Context, r func (*UnimplementedDlpServiceServer) DeleteStoredInfoType(ctx context.Context, req *DeleteStoredInfoTypeRequest) (*empty.Empty, error) { return nil, status1.Errorf(codes.Unimplemented, "method DeleteStoredInfoType not implemented") } +func (*UnimplementedDlpServiceServer) HybridInspectDlpJob(ctx context.Context, req *HybridInspectDlpJobRequest) (*HybridInspectResponse, error) { + return nil, status1.Errorf(codes.Unimplemented, "method HybridInspectDlpJob not implemented") +} +func (*UnimplementedDlpServiceServer) FinishDlpJob(ctx context.Context, req *FinishDlpJobRequest) (*empty.Empty, error) { + return nil, status1.Errorf(codes.Unimplemented, "method FinishDlpJob not implemented") +} func RegisterDlpServiceServer(s *grpc.Server, srv DlpServiceServer) { s.RegisterService(&_DlpService_serviceDesc, srv) @@ -13488,6 +14501,24 @@ func _DlpService_UpdateJobTrigger_Handler(srv interface{}, ctx context.Context, return interceptor(ctx, in, info, handler) } +func _DlpService_HybridInspectJobTrigger_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(HybridInspectJobTriggerRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(DlpServiceServer).HybridInspectJobTrigger(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.privacy.dlp.v2.DlpService/HybridInspectJobTrigger", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(DlpServiceServer).HybridInspectJobTrigger(ctx, req.(*HybridInspectJobTriggerRequest)) + } + return interceptor(ctx, in, info, handler) +} + func _DlpService_GetJobTrigger_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(GetJobTriggerRequest) if err := dec(in); err != nil { @@ -13740,6 +14771,42 @@ func _DlpService_DeleteStoredInfoType_Handler(srv interface{}, ctx context.Conte return interceptor(ctx, in, info, handler) } +func _DlpService_HybridInspectDlpJob_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(HybridInspectDlpJobRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(DlpServiceServer).HybridInspectDlpJob(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.privacy.dlp.v2.DlpService/HybridInspectDlpJob", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(DlpServiceServer).HybridInspectDlpJob(ctx, req.(*HybridInspectDlpJobRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _DlpService_FinishDlpJob_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(FinishDlpJobRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(DlpServiceServer).FinishDlpJob(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.privacy.dlp.v2.DlpService/FinishDlpJob", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(DlpServiceServer).FinishDlpJob(ctx, req.(*FinishDlpJobRequest)) + } + return interceptor(ctx, in, info, handler) +} + var _DlpService_serviceDesc = grpc.ServiceDesc{ ServiceName: "google.privacy.dlp.v2.DlpService", HandlerType: (*DlpServiceServer)(nil), @@ -13812,6 +14879,10 @@ var _DlpService_serviceDesc = grpc.ServiceDesc{ MethodName: "UpdateJobTrigger", Handler: _DlpService_UpdateJobTrigger_Handler, }, + { + MethodName: "HybridInspectJobTrigger", + Handler: _DlpService_HybridInspectJobTrigger_Handler, + }, { MethodName: "GetJobTrigger", Handler: _DlpService_GetJobTrigger_Handler, @@ -13868,6 +14939,14 @@ var _DlpService_serviceDesc = grpc.ServiceDesc{ MethodName: "DeleteStoredInfoType", Handler: _DlpService_DeleteStoredInfoType_Handler, }, + { + MethodName: "HybridInspectDlpJob", + Handler: _DlpService_HybridInspectDlpJob_Handler, + }, + { + MethodName: "FinishDlpJob", + Handler: _DlpService_FinishDlpJob_Handler, + }, }, Streams: []grpc.StreamDesc{}, Metadata: "google/privacy/dlp/v2/dlp.proto", diff --git a/googleapis/privacy/dlp/v2/storage.pb.go b/googleapis/privacy/dlp/v2/storage.pb.go index e51cdc998e..08aa07159c 100644 --- a/googleapis/privacy/dlp/v2/storage.pb.go +++ b/googleapis/privacy/dlp/v2/storage.pb.go @@ -1518,8 +1518,11 @@ func (m *CloudStoragePath) GetPath() string { type BigQueryOptions struct { // Complete BigQuery table reference. TableReference *BigQueryTable `protobuf:"bytes,1,opt,name=table_reference,json=tableReference,proto3" json:"table_reference,omitempty"` - // References to fields uniquely identifying rows within the table. - // Nested fields in the format, like `person.birthdate.year`, are allowed. + // Table fields that may uniquely identify a row within the table. When + // `actions.saveFindings.outputConfig.table` is specified, the values of + // columns specified here are available in the output table under + // `location.content_locations.record_location.record_key.id_values`. Nested + // fields such as `person.birthdate.year` are allowed. IdentifyingFields []*FieldId `protobuf:"bytes,2,rep,name=identifying_fields,json=identifyingFields,proto3" json:"identifying_fields,omitempty"` // Max number of rows to scan. If the table has more rows than this value, the // rest of the rows are omitted. If not set, or if set to 0, all rows will be @@ -1614,6 +1617,7 @@ type StorageConfig struct { // *StorageConfig_DatastoreOptions // *StorageConfig_CloudStorageOptions // *StorageConfig_BigQueryOptions + // *StorageConfig_HybridOptions Type isStorageConfig_Type `protobuf_oneof:"type"` TimespanConfig *StorageConfig_TimespanConfig `protobuf:"bytes,6,opt,name=timespan_config,json=timespanConfig,proto3" json:"timespan_config,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` @@ -1662,12 +1666,18 @@ type StorageConfig_BigQueryOptions struct { BigQueryOptions *BigQueryOptions `protobuf:"bytes,4,opt,name=big_query_options,json=bigQueryOptions,proto3,oneof"` } +type StorageConfig_HybridOptions struct { + HybridOptions *HybridOptions `protobuf:"bytes,9,opt,name=hybrid_options,json=hybridOptions,proto3,oneof"` +} + func (*StorageConfig_DatastoreOptions) isStorageConfig_Type() {} func (*StorageConfig_CloudStorageOptions) isStorageConfig_Type() {} func (*StorageConfig_BigQueryOptions) isStorageConfig_Type() {} +func (*StorageConfig_HybridOptions) isStorageConfig_Type() {} + func (m *StorageConfig) GetType() isStorageConfig_Type { if m != nil { return m.Type @@ -1696,6 +1706,13 @@ func (m *StorageConfig) GetBigQueryOptions() *BigQueryOptions { return nil } +func (m *StorageConfig) GetHybridOptions() *HybridOptions { + if x, ok := m.GetType().(*StorageConfig_HybridOptions); ok { + return x.HybridOptions + } + return nil +} + func (m *StorageConfig) GetTimespanConfig() *StorageConfig_TimespanConfig { if m != nil { return m.TimespanConfig @@ -1709,6 +1726,7 @@ func (*StorageConfig) XXX_OneofWrappers() []interface{} { (*StorageConfig_DatastoreOptions)(nil), (*StorageConfig_CloudStorageOptions)(nil), (*StorageConfig_BigQueryOptions)(nil), + (*StorageConfig_HybridOptions)(nil), } } @@ -1798,12 +1816,104 @@ func (m *StorageConfig_TimespanConfig) GetEnableAutoPopulationOfTimespanConfig() return false } +// Configuration to control jobs where the content being inspected is outside +// of Google Cloud Platform. +type HybridOptions struct { + // A short description of where the data is coming from. Will be stored once + // in the job. 256 max length. + Description string `protobuf:"bytes,1,opt,name=description,proto3" json:"description,omitempty"` + // These are labels that each inspection request must include within their + // 'finding_labels' map. Request may contain others, but any missing one of + // these will be rejected. + // + // Label keys must be between 1 and 63 characters long and must conform + // to the following regular expression: \[a-z\](\[-a-z0-9\]*\[a-z0-9\])?. + // + // No more than 10 keys can be required. + RequiredFindingLabelKeys []string `protobuf:"bytes,2,rep,name=required_finding_label_keys,json=requiredFindingLabelKeys,proto3" json:"required_finding_label_keys,omitempty"` + // To organize findings, these labels will be added to each finding. + // + // Label keys must be between 1 and 63 characters long and must conform + // to the following regular expression: \[a-z\](\[-a-z0-9\]*\[a-z0-9\])?. + // + // Label values must be between 0 and 63 characters long and must conform + // to the regular expression (\[a-z\](\[-a-z0-9\]*\[a-z0-9\])?)?. + // + // No more than 10 labels can be associated with a given finding. + // + // Example: "environment" : "production" + // Example: "pipeline" : "etl" + Labels map[string]string `protobuf:"bytes,3,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // If the container is a table, additional information to make findings + // meaningful such as the columns that are primary keys. + TableOptions *TableOptions `protobuf:"bytes,4,opt,name=table_options,json=tableOptions,proto3" json:"table_options,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *HybridOptions) Reset() { *m = HybridOptions{} } +func (m *HybridOptions) String() string { return proto.CompactTextString(m) } +func (*HybridOptions) ProtoMessage() {} +func (*HybridOptions) Descriptor() ([]byte, []int) { + return fileDescriptor_ab5e749073e1398d, []int{13} +} + +func (m *HybridOptions) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_HybridOptions.Unmarshal(m, b) +} +func (m *HybridOptions) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_HybridOptions.Marshal(b, m, deterministic) +} +func (m *HybridOptions) XXX_Merge(src proto.Message) { + xxx_messageInfo_HybridOptions.Merge(m, src) +} +func (m *HybridOptions) XXX_Size() int { + return xxx_messageInfo_HybridOptions.Size(m) +} +func (m *HybridOptions) XXX_DiscardUnknown() { + xxx_messageInfo_HybridOptions.DiscardUnknown(m) +} + +var xxx_messageInfo_HybridOptions proto.InternalMessageInfo + +func (m *HybridOptions) GetDescription() string { + if m != nil { + return m.Description + } + return "" +} + +func (m *HybridOptions) GetRequiredFindingLabelKeys() []string { + if m != nil { + return m.RequiredFindingLabelKeys + } + return nil +} + +func (m *HybridOptions) GetLabels() map[string]string { + if m != nil { + return m.Labels + } + return nil +} + +func (m *HybridOptions) GetTableOptions() *TableOptions { + if m != nil { + return m.TableOptions + } + return nil +} + // Row key for identifying a record in BigQuery table. type BigQueryKey struct { // Complete BigQuery table reference. TableReference *BigQueryTable `protobuf:"bytes,1,opt,name=table_reference,json=tableReference,proto3" json:"table_reference,omitempty"` - // Absolute number of the row from the beginning of the table at the time - // of scanning. + // Row number inferred at the time the table was scanned. This value is + // nondeterministic, cannot be queried, and may be null for inspection + // jobs. To locate findings within a table, specify + // `inspect_job.storage_config.big_query_options.identifying_fields` in + // `CreateDlpJobRequest`. RowNumber int64 `protobuf:"varint,2,opt,name=row_number,json=rowNumber,proto3" json:"row_number,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` @@ -1814,7 +1924,7 @@ func (m *BigQueryKey) Reset() { *m = BigQueryKey{} } func (m *BigQueryKey) String() string { return proto.CompactTextString(m) } func (*BigQueryKey) ProtoMessage() {} func (*BigQueryKey) Descriptor() ([]byte, []int) { - return fileDescriptor_ab5e749073e1398d, []int{13} + return fileDescriptor_ab5e749073e1398d, []int{14} } func (m *BigQueryKey) XXX_Unmarshal(b []byte) error { @@ -1862,7 +1972,7 @@ func (m *DatastoreKey) Reset() { *m = DatastoreKey{} } func (m *DatastoreKey) String() string { return proto.CompactTextString(m) } func (*DatastoreKey) ProtoMessage() {} func (*DatastoreKey) Descriptor() ([]byte, []int) { - return fileDescriptor_ab5e749073e1398d, []int{14} + return fileDescriptor_ab5e749073e1398d, []int{15} } func (m *DatastoreKey) XXX_Unmarshal(b []byte) error { @@ -1918,7 +2028,7 @@ func (m *Key) Reset() { *m = Key{} } func (m *Key) String() string { return proto.CompactTextString(m) } func (*Key) ProtoMessage() {} func (*Key) Descriptor() ([]byte, []int) { - return fileDescriptor_ab5e749073e1398d, []int{15} + return fileDescriptor_ab5e749073e1398d, []int{16} } func (m *Key) XXX_Unmarshal(b []byte) error { @@ -1978,7 +2088,7 @@ func (m *Key_PathElement) Reset() { *m = Key_PathElement{} } func (m *Key_PathElement) String() string { return proto.CompactTextString(m) } func (*Key_PathElement) ProtoMessage() {} func (*Key_PathElement) Descriptor() ([]byte, []int) { - return fileDescriptor_ab5e749073e1398d, []int{15, 0} + return fileDescriptor_ab5e749073e1398d, []int{16, 0} } func (m *Key_PathElement) XXX_Unmarshal(b []byte) error { @@ -2058,7 +2168,7 @@ type RecordKey struct { // *RecordKey_BigQueryKey Type isRecordKey_Type `protobuf_oneof:"type"` // Values of identifying columns in the given row. Order of values matches - // the order of field identifiers specified in the scanning request. + // the order of `identifying_fields` specified in the scanning request. IdValues []string `protobuf:"bytes,5,rep,name=id_values,json=idValues,proto3" json:"id_values,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` @@ -2069,7 +2179,7 @@ func (m *RecordKey) Reset() { *m = RecordKey{} } func (m *RecordKey) String() string { return proto.CompactTextString(m) } func (*RecordKey) ProtoMessage() {} func (*RecordKey) Descriptor() ([]byte, []int) { - return fileDescriptor_ab5e749073e1398d, []int{16} + return fileDescriptor_ab5e749073e1398d, []int{17} } func (m *RecordKey) XXX_Unmarshal(b []byte) error { @@ -2164,7 +2274,7 @@ func (m *BigQueryTable) Reset() { *m = BigQueryTable{} } func (m *BigQueryTable) String() string { return proto.CompactTextString(m) } func (*BigQueryTable) ProtoMessage() {} func (*BigQueryTable) Descriptor() ([]byte, []int) { - return fileDescriptor_ab5e749073e1398d, []int{17} + return fileDescriptor_ab5e749073e1398d, []int{18} } func (m *BigQueryTable) XXX_Unmarshal(b []byte) error { @@ -2221,7 +2331,7 @@ func (m *BigQueryField) Reset() { *m = BigQueryField{} } func (m *BigQueryField) String() string { return proto.CompactTextString(m) } func (*BigQueryField) ProtoMessage() {} func (*BigQueryField) Descriptor() ([]byte, []int) { - return fileDescriptor_ab5e749073e1398d, []int{18} + return fileDescriptor_ab5e749073e1398d, []int{19} } func (m *BigQueryField) XXX_Unmarshal(b []byte) error { @@ -2273,7 +2383,7 @@ func (m *EntityId) Reset() { *m = EntityId{} } func (m *EntityId) String() string { return proto.CompactTextString(m) } func (*EntityId) ProtoMessage() {} func (*EntityId) Descriptor() ([]byte, []int) { - return fileDescriptor_ab5e749073e1398d, []int{19} + return fileDescriptor_ab5e749073e1398d, []int{20} } func (m *EntityId) XXX_Unmarshal(b []byte) error { @@ -2301,6 +2411,50 @@ func (m *EntityId) GetField() *FieldId { return nil } +// Instructions regarding the table content being inspected. +type TableOptions struct { + // The columns that are the primary keys for table objects included in + // ContentItem. A copy of this cell's value will stored alongside alongside + // each finding so that the finding can be traced to the specific row it came + // from. No more than 3 may be provided. + IdentifyingFields []*FieldId `protobuf:"bytes,1,rep,name=identifying_fields,json=identifyingFields,proto3" json:"identifying_fields,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *TableOptions) Reset() { *m = TableOptions{} } +func (m *TableOptions) String() string { return proto.CompactTextString(m) } +func (*TableOptions) ProtoMessage() {} +func (*TableOptions) Descriptor() ([]byte, []int) { + return fileDescriptor_ab5e749073e1398d, []int{21} +} + +func (m *TableOptions) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_TableOptions.Unmarshal(m, b) +} +func (m *TableOptions) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_TableOptions.Marshal(b, m, deterministic) +} +func (m *TableOptions) XXX_Merge(src proto.Message) { + xxx_messageInfo_TableOptions.Merge(m, src) +} +func (m *TableOptions) XXX_Size() int { + return xxx_messageInfo_TableOptions.Size(m) +} +func (m *TableOptions) XXX_DiscardUnknown() { + xxx_messageInfo_TableOptions.DiscardUnknown(m) +} + +var xxx_messageInfo_TableOptions proto.InternalMessageInfo + +func (m *TableOptions) GetIdentifyingFields() []*FieldId { + if m != nil { + return m.IdentifyingFields + } + return nil +} + func init() { proto.RegisterEnum("google.privacy.dlp.v2.Likelihood", Likelihood_name, Likelihood_value) proto.RegisterEnum("google.privacy.dlp.v2.FileType", FileType_name, FileType_value) @@ -2330,6 +2484,8 @@ func init() { proto.RegisterType((*BigQueryOptions)(nil), "google.privacy.dlp.v2.BigQueryOptions") proto.RegisterType((*StorageConfig)(nil), "google.privacy.dlp.v2.StorageConfig") proto.RegisterType((*StorageConfig_TimespanConfig)(nil), "google.privacy.dlp.v2.StorageConfig.TimespanConfig") + proto.RegisterType((*HybridOptions)(nil), "google.privacy.dlp.v2.HybridOptions") + proto.RegisterMapType((map[string]string)(nil), "google.privacy.dlp.v2.HybridOptions.LabelsEntry") proto.RegisterType((*BigQueryKey)(nil), "google.privacy.dlp.v2.BigQueryKey") proto.RegisterType((*DatastoreKey)(nil), "google.privacy.dlp.v2.DatastoreKey") proto.RegisterType((*Key)(nil), "google.privacy.dlp.v2.Key") @@ -2338,6 +2494,7 @@ func init() { proto.RegisterType((*BigQueryTable)(nil), "google.privacy.dlp.v2.BigQueryTable") proto.RegisterType((*BigQueryField)(nil), "google.privacy.dlp.v2.BigQueryField") proto.RegisterType((*EntityId)(nil), "google.privacy.dlp.v2.EntityId") + proto.RegisterType((*TableOptions)(nil), "google.privacy.dlp.v2.TableOptions") } func init() { @@ -2345,135 +2502,145 @@ func init() { } var fileDescriptor_ab5e749073e1398d = []byte{ - // 2068 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x58, 0xcd, 0x72, 0x23, 0x49, - 0x11, 0x56, 0x4b, 0x96, 0x25, 0xa5, 0x7e, 0x2c, 0x97, 0x3d, 0x1b, 0xb2, 0x60, 0x76, 0xbc, 0xf2, - 0x30, 0x6b, 0x06, 0x42, 0x02, 0x2f, 0x04, 0xcc, 0x2e, 0x2c, 0x48, 0x96, 0x3c, 0x12, 0xfe, 0x91, - 0x28, 0x69, 0x3c, 0x3f, 0x98, 0x68, 0x5a, 0xea, 0x92, 0xdc, 0x3b, 0xad, 0xee, 0xa6, 0xbb, 0x64, - 0x5b, 0x41, 0x70, 0xe0, 0xc0, 0x99, 0x0b, 0x8f, 0x40, 0x04, 0x11, 0x04, 0x4f, 0x00, 0x77, 0x0e, - 0x3c, 0x04, 0x11, 0x7b, 0x24, 0x78, 0x09, 0xa2, 0x7e, 0xba, 0xd5, 0xd2, 0x58, 0x33, 0xf2, 0xc4, - 0xdc, 0xba, 0xb2, 0xf2, 0xcb, 0xaa, 0xcc, 0xfc, 0x2a, 0x2b, 0xab, 0x61, 0x6f, 0x64, 0xdb, 0x23, - 0x93, 0x54, 0x1c, 0xd7, 0xb8, 0xd2, 0x06, 0xd3, 0x8a, 0x6e, 0x3a, 0x95, 0xab, 0x83, 0x8a, 0x47, - 0x6d, 0x57, 0x1b, 0x91, 0xb2, 0xe3, 0xda, 0xd4, 0x46, 0xf7, 0x84, 0x52, 0x59, 0x2a, 0x95, 0x75, - 0xd3, 0x29, 0x5f, 0x1d, 0x14, 0x77, 0x24, 0x56, 0x73, 0x8c, 0x8a, 0x4b, 0x3c, 0x7b, 0xe2, 0x0e, - 0x24, 0xa2, 0xf8, 0x20, 0x30, 0x6b, 0x53, 0xbb, 0x3f, 0x19, 0x56, 0xa8, 0x31, 0x26, 0x1e, 0xd5, - 0xc6, 0x8e, 0x50, 0x28, 0x7d, 0x0c, 0xc9, 0x96, 0x35, 0xb4, 0x7b, 0x53, 0x87, 0x20, 0x04, 0x6b, - 0x96, 0x36, 0x26, 0x05, 0x65, 0x57, 0xd9, 0x4f, 0x61, 0xfe, 0x5d, 0xfa, 0x35, 0x40, 0x97, 0xda, - 0x2e, 0xd1, 0x97, 0x69, 0xa0, 0x2f, 0x20, 0x3d, 0x70, 0x89, 0x46, 0x89, 0xca, 0x6c, 0x17, 0xa2, - 0xbb, 0xca, 0x7e, 0xfa, 0xa0, 0x58, 0x0e, 0xb6, 0x2a, 0x16, 0x2e, 0xf7, 0xfc, 0x85, 0x31, 0x08, - 0x75, 0x26, 0x28, 0x7d, 0x9d, 0x85, 0xdc, 0xe1, 0xc4, 0xa3, 0xf6, 0x38, 0xd8, 0xc5, 0x4f, 0x20, - 0x65, 0x58, 0x43, 0x5b, 0xa5, 0x53, 0x47, 0x2c, 0x94, 0x3e, 0x78, 0x50, 0xbe, 0xd5, 0xf1, 0xb2, - 0x8f, 0xc1, 0x49, 0xc3, 0x47, 0x57, 0x01, 0x4c, 0xe3, 0x35, 0x31, 0x8d, 0x4b, 0xdb, 0xd6, 0x0b, - 0xeb, 0xbb, 0xca, 0x7e, 0xee, 0xe0, 0x93, 0x25, 0xf0, 0x93, 0x40, 0x11, 0x87, 0x40, 0x08, 0x03, - 0xe8, 0xc6, 0x80, 0x1a, 0xb6, 0xa5, 0xb9, 0x53, 0xe9, 0xcf, 0xf7, 0x96, 0x98, 0x98, 0xdf, 0x7b, - 0xb9, 0x1e, 0xe0, 0x9a, 0x11, 0x1c, 0xb2, 0x82, 0x0e, 0x21, 0xee, 0x92, 0x11, 0xb9, 0x29, 0xc4, - 0xb8, 0xb9, 0xef, 0xac, 0x66, 0x0e, 0x33, 0x48, 0x33, 0x82, 0x05, 0x16, 0x5d, 0x40, 0xce, 0x9b, - 0xb8, 0xae, 0x3d, 0xe2, 0xc1, 0x66, 0xe1, 0x59, 0xe3, 0xd6, 0x3e, 0x5b, 0xcd, 0x5a, 0xd7, 0xc7, - 0xb2, 0x51, 0x33, 0x82, 0xb3, 0x5e, 0x58, 0x80, 0xea, 0x90, 0xf6, 0x78, 0xa6, 0x85, 0xe9, 0x38, - 0x37, 0xbd, 0x2c, 0x74, 0x33, 0x4e, 0x30, 0x47, 0xbd, 0x19, 0x43, 0x2e, 0x60, 0x43, 0x27, 0x94, - 0x70, 0xc7, 0x55, 0x77, 0x62, 0x12, 0xaf, 0x90, 0xd8, 0x8d, 0xad, 0xbe, 0xc9, 0xba, 0x0f, 0xc6, - 0x13, 0x93, 0xe0, 0x9c, 0x1e, 0x1e, 0x7a, 0xe8, 0x15, 0xe4, 0xc8, 0xcd, 0xc0, 0x9c, 0x78, 0xcc, - 0x3a, 0xdf, 0x66, 0x92, 0x67, 0x78, 0x45, 0xe3, 0x0d, 0x1f, 0xcb, 0x49, 0x93, 0x25, 0xe1, 0x61, - 0xf1, 0x7f, 0x0a, 0xc0, 0x2c, 0x7f, 0xe8, 0x05, 0xa4, 0xae, 0x6d, 0x57, 0x57, 0x4d, 0xc3, 0xa3, - 0x92, 0x86, 0x4f, 0xee, 0x4a, 0x82, 0xf2, 0x73, 0xdb, 0xd5, 0x4f, 0x0c, 0x8f, 0x36, 0x23, 0x38, - 0x79, 0x2d, 0xbf, 0xd1, 0x73, 0x40, 0x03, 0xd3, 0x9e, 0xe8, 0xaa, 0x3c, 0xdc, 0xaa, 0xa3, 0xd1, - 0x4b, 0x49, 0x8c, 0x4f, 0x97, 0x2d, 0xc1, 0x00, 0x5d, 0xa1, 0xdf, 0xd1, 0xe8, 0x65, 0x33, 0x82, - 0xf3, 0x83, 0x05, 0x59, 0x71, 0x17, 0x92, 0xfe, 0x82, 0x68, 0x1b, 0xe2, 0x6c, 0x41, 0xaf, 0xa0, - 0xec, 0xc6, 0xf6, 0x53, 0x58, 0x0c, 0x6a, 0x49, 0x58, 0x17, 0xe5, 0xa1, 0x78, 0x04, 0x71, 0xce, - 0x2e, 0x54, 0x80, 0x84, 0xa3, 0x51, 0x4a, 0x5c, 0x4b, 0x9e, 0x6a, 0x7f, 0x88, 0xf6, 0x20, 0x3b, - 0x72, 0xed, 0x89, 0xa3, 0x1a, 0x96, 0x4e, 0x6e, 0x88, 0x57, 0x88, 0xee, 0xc6, 0xf6, 0xe3, 0x38, - 0xc3, 0x85, 0x2d, 0x21, 0x2b, 0x6e, 0x40, 0x76, 0x8e, 0x57, 0xc5, 0x7f, 0xc4, 0x21, 0x3b, 0x97, - 0x44, 0xa4, 0x43, 0xe6, 0xd2, 0xa6, 0x3c, 0x98, 0x8c, 0x10, 0x32, 0x98, 0x3f, 0x7b, 0x0f, 0x3e, - 0x94, 0x9b, 0xc2, 0x0e, 0xfb, 0x6e, 0x46, 0x70, 0xfa, 0x72, 0x36, 0x2c, 0x76, 0x21, 0xd5, 0x71, - 0xed, 0x1b, 0x63, 0x6c, 0xd0, 0x29, 0xdb, 0xfa, 0xb5, 0x61, 0xe9, 0xf6, 0xb5, 0xda, 0x27, 0x43, - 0xdb, 0x15, 0x6b, 0xc6, 0x71, 0x46, 0x08, 0x6b, 0x5c, 0x86, 0x3e, 0x01, 0x39, 0x56, 0xb5, 0x21, - 0x25, 0x2e, 0x3f, 0xe9, 0x71, 0x9c, 0x16, 0xb2, 0x2a, 0x13, 0x15, 0xff, 0xaa, 0xc0, 0xf6, 0xac, - 0x4a, 0x54, 0xf5, 0xaf, 0x26, 0x1e, 0x1d, 0x13, 0x8b, 0xa2, 0x33, 0xc8, 0x0f, 0x8d, 0x1b, 0xc2, - 0xe8, 0x11, 0x14, 0x1b, 0x65, 0xc5, 0x62, 0xd3, 0x8c, 0xe0, 0x0d, 0x0e, 0x9e, 0x89, 0xd0, 0xf7, - 0x61, 0xcb, 0x25, 0xa6, 0x46, 0x8d, 0x2b, 0x12, 0x36, 0xc9, 0xb7, 0xd4, 0x8c, 0x60, 0xe4, 0x4f, - 0xce, 0x20, 0xb5, 0x0c, 0x80, 0x16, 0x6c, 0xa8, 0xf8, 0xcf, 0x28, 0xa4, 0x43, 0xd1, 0x41, 0x1d, - 0xc8, 0x06, 0x41, 0xe7, 0x85, 0x47, 0xb9, 0x73, 0xe1, 0xc1, 0x7e, 0xda, 0x04, 0x51, 0x7e, 0x05, - 0x29, 0xc7, 0x0f, 0xb0, 0xac, 0x8a, 0x3f, 0x7d, 0x9f, 0x1c, 0x06, 0x59, 0xc2, 0x33, 0x7b, 0xe8, - 0xf7, 0x70, 0x6f, 0xe6, 0xb6, 0x3a, 0xf3, 0x4b, 0x1e, 0x8b, 0xe6, 0xfb, 0x2c, 0x74, 0x5b, 0xe2, - 0xf0, 0xb6, 0x79, 0x8b, 0xb4, 0xb6, 0x0e, 0x6b, 0xac, 0x9a, 0x94, 0x8e, 0x21, 0x3b, 0x57, 0x23, - 0xd0, 0xc7, 0x50, 0x6c, 0xbc, 0x38, 0x3c, 0x79, 0xd6, 0x6d, 0xb5, 0xcf, 0xd4, 0xde, 0xcb, 0x4e, - 0x43, 0x7d, 0x76, 0xd6, 0xed, 0x34, 0x0e, 0x5b, 0x47, 0xad, 0x46, 0x3d, 0x1f, 0x41, 0x45, 0xf8, - 0x68, 0x61, 0x9e, 0x0f, 0xeb, 0x8d, 0xbc, 0x12, 0x18, 0xbd, 0x0f, 0x89, 0x23, 0x83, 0x98, 0x7a, - 0x4b, 0xbf, 0xf5, 0x86, 0x6d, 0x43, 0xba, 0xa3, 0xb9, 0xd4, 0x60, 0xfb, 0x6e, 0xe9, 0xe8, 0x3e, - 0x80, 0xe3, 0xda, 0x5f, 0x91, 0x01, 0x55, 0x0d, 0x41, 0x80, 0x14, 0x0f, 0x14, 0x93, 0xb4, 0x74, - 0x46, 0x5a, 0x86, 0xf2, 0x1c, 0x6d, 0x40, 0x98, 0xc2, 0x1a, 0x57, 0x48, 0x07, 0xb2, 0x96, 0x5e, - 0x7a, 0x08, 0xb9, 0x63, 0xc3, 0xd2, 0x1b, 0x37, 0x8e, 0x4b, 0x3c, 0xe6, 0xc9, 0xad, 0xcb, 0xfe, - 0x59, 0x81, 0x7c, 0x5d, 0xa3, 0x1a, 0xaf, 0xdd, 0x6d, 0x87, 0xad, 0xee, 0xa1, 0x06, 0x64, 0x1c, - 0x7f, 0x2f, 0xcc, 0xba, 0x20, 0x4d, 0x69, 0x49, 0xf4, 0x43, 0xdb, 0xc6, 0x69, 0x27, 0xe4, 0xc3, - 0x13, 0x58, 0x7b, 0x6d, 0x58, 0xba, 0x64, 0xc9, 0xb7, 0x96, 0xc0, 0xe7, 0x37, 0x89, 0x39, 0xa4, - 0xf4, 0x47, 0x05, 0x0a, 0xe1, 0x62, 0xc7, 0xb9, 0x77, 0x64, 0x98, 0xa4, 0x4b, 0x28, 0x7a, 0x00, - 0xe9, 0xfe, 0x64, 0xf0, 0x9a, 0x50, 0x35, 0xe4, 0x0e, 0x08, 0xd1, 0x19, 0xeb, 0x45, 0xf6, 0x20, - 0x6b, 0x58, 0x03, 0x73, 0xa2, 0x13, 0xc9, 0xfa, 0x28, 0xaf, 0x7e, 0x19, 0x29, 0x14, 0x44, 0xde, - 0x03, 0x51, 0xf9, 0x03, 0xa5, 0x98, 0x50, 0x92, 0x42, 0xae, 0x54, 0xfa, 0x7a, 0x0d, 0xb6, 0xc2, - 0xfb, 0xf0, 0x23, 0x74, 0x0a, 0xc9, 0xa1, 0x61, 0x12, 0xd5, 0x23, 0xfe, 0xad, 0x70, 0xb0, 0x42, - 0xc9, 0x96, 0xe8, 0xb2, 0x74, 0x04, 0x27, 0x86, 0xd2, 0xa3, 0x0a, 0x6c, 0xf7, 0xa7, 0x94, 0x78, - 0xaa, 0xc9, 0xce, 0x81, 0xea, 0x10, 0x57, 0x65, 0x53, 0x3c, 0xad, 0x31, 0xbc, 0xc9, 0xe7, 0x4e, - 0xd8, 0x54, 0x87, 0xb8, 0x0c, 0x8c, 0xbe, 0x84, 0x6f, 0xde, 0x06, 0x60, 0x1f, 0x03, 0x76, 0x5e, - 0x92, 0xbc, 0x88, 0x15, 0xde, 0x00, 0x76, 0xc4, 0x3c, 0xfa, 0x12, 0x80, 0xeb, 0x33, 0x66, 0x7a, - 0x85, 0xf8, 0x6e, 0x6c, 0x3f, 0xb7, 0xb4, 0xbd, 0x62, 0x38, 0x7e, 0x53, 0xa6, 0x86, 0xf2, 0xcb, - 0x43, 0x17, 0x90, 0xf5, 0xb4, 0xb1, 0x63, 0x12, 0x75, 0x4c, 0xe8, 0x65, 0xd0, 0x62, 0xfd, 0xe8, - 0x0e, 0x41, 0xe8, 0x72, 0xfc, 0x29, 0x87, 0xe3, 0x8c, 0x17, 0x1a, 0xa1, 0x32, 0x6c, 0xb1, 0xa5, - 0x42, 0xde, 0x71, 0xa7, 0x12, 0xdc, 0xa9, 0x4d, 0x3e, 0xe5, 0x3b, 0xc5, 0x26, 0x8a, 0x2e, 0x3b, - 0x5a, 0x22, 0x92, 0x79, 0x88, 0x4d, 0x5c, 0x53, 0x72, 0x82, 0x7d, 0xa2, 0x67, 0x90, 0xe3, 0xf9, - 0x55, 0x83, 0x84, 0x09, 0x3e, 0x56, 0x56, 0xd8, 0x6b, 0x98, 0x76, 0x38, 0xe3, 0x86, 0x46, 0xa5, - 0x26, 0x64, 0xc2, 0x1e, 0xa0, 0xfb, 0xb0, 0xd3, 0xad, 0x9e, 0x76, 0x4e, 0x1a, 0xea, 0x69, 0xa3, - 0xd7, 0x6c, 0xd7, 0x17, 0x2a, 0x44, 0x02, 0x62, 0xbd, 0x76, 0x27, 0xaf, 0xa0, 0x3c, 0x64, 0x70, - 0xf5, 0xac, 0xde, 0x3e, 0x55, 0xbb, 0xbd, 0x2a, 0xee, 0xe5, 0xa3, 0xa5, 0x4f, 0xe7, 0x29, 0xb6, - 0xd4, 0x93, 0xd2, 0x23, 0xc8, 0x2f, 0x36, 0x00, 0xec, 0x4c, 0xf3, 0xbe, 0x41, 0x9e, 0x69, 0xf6, - 0x5d, 0xfa, 0x6f, 0x0c, 0x36, 0x6a, 0xc6, 0xe8, 0x97, 0x13, 0xe2, 0x4e, 0x67, 0x84, 0xdd, 0xa0, - 0x5a, 0xdf, 0x64, 0x5c, 0x1f, 0x12, 0x97, 0x58, 0x03, 0xff, 0x02, 0x7e, 0xb8, 0x24, 0x0c, 0xbe, - 0x81, 0x1e, 0x43, 0xe1, 0x1c, 0x07, 0x63, 0x1f, 0x8b, 0x4e, 0x01, 0x19, 0x3a, 0xb1, 0xa8, 0x31, - 0x9c, 0x1a, 0xd6, 0x48, 0x1d, 0xb2, 0xc2, 0x26, 0x3a, 0x83, 0xf4, 0xc1, 0xc7, 0x4b, 0x79, 0xc4, - 0xab, 0x1f, 0xde, 0x0c, 0x21, 0xb9, 0xcc, 0x63, 0xd5, 0xce, 0xb5, 0xaf, 0x65, 0xbe, 0x79, 0xb1, - 0x8f, 0xe1, 0x14, 0x93, 0xf0, 0x34, 0xa3, 0xef, 0x02, 0x9a, 0x4d, 0x07, 0x74, 0x58, 0xe7, 0x74, - 0xc8, 0x07, 0x6a, 0x3e, 0xb7, 0x5f, 0x2c, 0x72, 0x73, 0xed, 0xad, 0xcd, 0xe1, 0x42, 0xa4, 0xde, - 0xc6, 0xcb, 0xa7, 0xb0, 0x21, 0xab, 0x83, 0xee, 0xbb, 0x1c, 0x5f, 0xc9, 0xe5, 0x9c, 0x0f, 0x13, - 0xfe, 0x7e, 0x40, 0xf2, 0xfc, 0x3d, 0x0e, 0x59, 0xc9, 0x87, 0x43, 0xdb, 0x1a, 0x1a, 0x23, 0x74, - 0x0e, 0x9b, 0xba, 0x5f, 0xd0, 0x55, 0x5b, 0x38, 0x25, 0x29, 0xbf, 0xac, 0xad, 0x5c, 0xbc, 0x00, - 0x58, 0x5b, 0xa9, 0x2f, 0x5e, 0x0a, 0xbf, 0x81, 0x7b, 0xf3, 0xfd, 0xaa, 0x6f, 0x5b, 0xdc, 0xcd, - 0x8f, 0x57, 0x3f, 0xfa, 0xcd, 0x08, 0xde, 0x1a, 0xdc, 0x52, 0x54, 0x7b, 0xb0, 0xd9, 0x37, 0x46, - 0xea, 0x6f, 0x59, 0x36, 0x02, 0xeb, 0xe2, 0x6d, 0xf3, 0x68, 0xb5, 0xe4, 0xb1, 0x9e, 0xaa, 0xbf, - 0xc0, 0xfc, 0x0b, 0xd8, 0xe0, 0xaf, 0x5d, 0x47, 0xb3, 0xd4, 0x01, 0x0f, 0x11, 0x67, 0xce, 0xf2, - 0xa7, 0xc8, 0x5c, 0x38, 0xc5, 0x83, 0xd5, 0xd1, 0x2c, 0x31, 0xc4, 0x39, 0x3a, 0x37, 0x2e, 0xfe, - 0x25, 0x0a, 0xb9, 0x79, 0x15, 0xf4, 0x04, 0xc0, 0xa3, 0x9a, 0x4b, 0xc5, 0x43, 0x58, 0x79, 0xe7, - 0x43, 0x38, 0xc5, 0xb5, 0xd9, 0x18, 0xfd, 0x10, 0x92, 0xc4, 0xd2, 0x57, 0x7d, 0x41, 0x27, 0x88, - 0xa5, 0x73, 0xd8, 0x53, 0xe9, 0x22, 0x93, 0x0a, 0x62, 0xca, 0xa4, 0xbc, 0x93, 0x97, 0x01, 0x8c, - 0x4b, 0xd0, 0x73, 0xf8, 0x36, 0xb1, 0x78, 0x99, 0xd0, 0x26, 0xd4, 0x56, 0x1d, 0xdb, 0x99, 0xb0, - 0x86, 0xd3, 0xb6, 0x54, 0x7b, 0xa8, 0x2e, 0x46, 0x91, 0x65, 0x26, 0x89, 0x1f, 0x0a, 0x40, 0x75, - 0x42, 0xed, 0x4e, 0xa0, 0xde, 0x1e, 0xce, 0xc7, 0x24, 0x68, 0x82, 0x7e, 0x07, 0x69, 0x3f, 0x65, - 0xc7, 0x64, 0xfa, 0xa1, 0xab, 0x92, 0x28, 0x23, 0xaa, 0x35, 0x19, 0xf7, 0x65, 0x23, 0x2f, 0xca, - 0xc8, 0x19, 0x17, 0x94, 0x5a, 0x90, 0x09, 0x98, 0xce, 0x56, 0x7f, 0x02, 0xc0, 0x0a, 0x11, 0x9d, - 0xaa, 0xaf, 0xc9, 0xf4, 0xcd, 0x44, 0xcd, 0x77, 0x29, 0x64, 0x8a, 0x53, 0x42, 0xfb, 0x98, 0x4c, - 0x4b, 0xff, 0x51, 0x20, 0xc6, 0x4c, 0x7c, 0xa0, 0x4e, 0xe9, 0x73, 0x59, 0xc5, 0x45, 0x01, 0x7d, - 0xb4, 0x7c, 0x0f, 0x65, 0x56, 0xf4, 0x1b, 0x26, 0xe1, 0x4d, 0x2c, 0xc7, 0x14, 0x7b, 0xac, 0x71, - 0x0c, 0x84, 0xec, 0x42, 0xe0, 0x4d, 0x97, 0xbc, 0x10, 0xd8, 0x37, 0xca, 0x43, 0x54, 0x36, 0x91, - 0xb1, 0x66, 0x04, 0x47, 0x0d, 0x1d, 0x6d, 0xcb, 0x56, 0x90, 0xd1, 0x24, 0xd5, 0x8c, 0x88, 0x66, - 0xb0, 0x96, 0x82, 0x84, 0x21, 0xde, 0xfd, 0xa5, 0x7f, 0x29, 0x90, 0xc2, 0x64, 0x60, 0xbb, 0x3a, - 0x73, 0xf3, 0x17, 0x90, 0x9d, 0xd5, 0x14, 0x16, 0x2c, 0x41, 0xce, 0xbd, 0x77, 0xd5, 0x93, 0x63, - 0x32, 0x6d, 0x46, 0x70, 0x46, 0x0f, 0x47, 0xbd, 0x09, 0xd9, 0xd9, 0x29, 0x67, 0xb6, 0x62, 0x6f, - 0x8d, 0x59, 0x88, 0x2e, 0xec, 0xad, 0xd7, 0x0f, 0xb1, 0xe7, 0x1b, 0x90, 0x32, 0x74, 0xf5, 0x4a, - 0x33, 0x27, 0xb2, 0x87, 0x49, 0xe1, 0xa4, 0xa1, 0x9f, 0xf3, 0x71, 0xc0, 0xb8, 0x4b, 0xc8, 0xce, - 0x91, 0x66, 0xa1, 0xb3, 0x56, 0x16, 0x3b, 0xeb, 0xfb, 0x00, 0x7c, 0xbb, 0x24, 0xdc, 0x78, 0x4b, - 0x49, 0x4b, 0x47, 0x3b, 0x90, 0x14, 0x8c, 0x35, 0xc4, 0x19, 0x4b, 0xe1, 0x04, 0x1f, 0xb7, 0xf4, - 0xd2, 0x1f, 0x94, 0xd9, 0x52, 0xe2, 0x38, 0x7d, 0x0e, 0x71, 0x3e, 0x79, 0x27, 0x52, 0x0b, 0x08, - 0xfa, 0x01, 0xc4, 0xc5, 0x49, 0x8e, 0xae, 0x74, 0x92, 0x85, 0x72, 0xe9, 0xe7, 0x90, 0x6c, 0x70, - 0x92, 0xb6, 0xf4, 0x99, 0x05, 0xe5, 0x0e, 0x16, 0x1e, 0x53, 0x80, 0xd0, 0x83, 0xb4, 0x08, 0x1f, - 0x9d, 0xb4, 0x8e, 0x1b, 0x27, 0xad, 0x66, 0xfb, 0x8d, 0x5b, 0x69, 0x13, 0xb2, 0xe7, 0x0d, 0xfc, - 0x52, 0x7d, 0x76, 0xc6, 0x55, 0x5e, 0xe6, 0x15, 0x94, 0x81, 0x64, 0x30, 0x8a, 0xb2, 0x51, 0xa7, - 0xdd, 0xed, 0xb6, 0x6a, 0x27, 0x8d, 0x7c, 0x0c, 0x01, 0xac, 0xcb, 0x99, 0x35, 0xb4, 0x01, 0x69, - 0x0e, 0x95, 0x82, 0xf8, 0xe3, 0x57, 0x90, 0xf4, 0xdb, 0x4c, 0xb4, 0x03, 0xf7, 0x8e, 0x5a, 0x27, - 0x8d, 0xdb, 0xde, 0x59, 0x1b, 0x90, 0xae, 0xb5, 0xce, 0xaa, 0xf8, 0xa5, 0xca, 0x34, 0xf2, 0x0a, - 0xca, 0x42, 0xaa, 0xd7, 0x78, 0xd1, 0x13, 0xc3, 0x28, 0x4a, 0x41, 0xbc, 0x75, 0x5a, 0x7d, 0xca, - 0x96, 0x4b, 0xc2, 0x5a, 0xf5, 0x1c, 0xb7, 0xf3, 0x89, 0xda, 0x9f, 0x14, 0xd8, 0x19, 0xd8, 0xe3, - 0xdb, 0xdd, 0xaf, 0x41, 0xdd, 0x74, 0xfc, 0x86, 0x4a, 0x79, 0xf5, 0x63, 0xa9, 0x34, 0xb2, 0x4d, - 0xcd, 0x1a, 0x95, 0x6d, 0x77, 0x54, 0x19, 0x11, 0x8b, 0xd7, 0xde, 0x8a, 0x98, 0xd2, 0x1c, 0xc3, - 0x5b, 0xf8, 0x3d, 0xfb, 0x85, 0x6e, 0x3a, 0x7f, 0x8b, 0x6e, 0x3d, 0x15, 0x50, 0x7e, 0xe1, 0x95, - 0xeb, 0xa6, 0x53, 0x3e, 0x3f, 0xf8, 0xb7, 0x2f, 0xbd, 0xe0, 0xd2, 0x8b, 0xba, 0xe9, 0x5c, 0x9c, - 0x1f, 0xf4, 0xd7, 0xb9, 0xc1, 0xcf, 0xfe, 0x1f, 0x00, 0x00, 0xff, 0xff, 0x18, 0x05, 0x00, 0xc7, - 0xee, 0x15, 0x00, 0x00, + // 2228 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x58, 0x4f, 0x73, 0x1b, 0x49, + 0x15, 0xd7, 0x48, 0x96, 0x2d, 0x3d, 0xfd, 0xb1, 0xdc, 0x49, 0xb6, 0x14, 0x2d, 0x49, 0xbc, 0x4a, + 0xc8, 0x9a, 0x40, 0xc9, 0xe0, 0x85, 0x62, 0x93, 0x65, 0x17, 0xec, 0x48, 0xce, 0x08, 0xff, 0x13, + 0x2d, 0xc5, 0xf9, 0x83, 0xb7, 0x86, 0x91, 0xa6, 0x25, 0xf7, 0x7a, 0x3c, 0x33, 0x3b, 0xd3, 0x93, + 0x58, 0x45, 0x71, 0xe0, 0xc0, 0x99, 0x0b, 0x1f, 0x81, 0x2a, 0xaa, 0xf8, 0x08, 0x70, 0xe0, 0xc6, + 0x81, 0x0f, 0x41, 0xd5, 0x1e, 0x29, 0x3e, 0x02, 0x17, 0xaa, 0xff, 0xcc, 0x68, 0xa4, 0x58, 0x59, + 0x39, 0x95, 0xdb, 0xbc, 0xd7, 0xef, 0xf7, 0xba, 0xdf, 0xeb, 0x5f, 0xbf, 0x7e, 0x3d, 0x70, 0x77, + 0xe4, 0xba, 0x23, 0x9b, 0x6c, 0x7a, 0x3e, 0x7d, 0x65, 0x0e, 0xc6, 0x9b, 0x96, 0xed, 0x6d, 0xbe, + 0xda, 0xda, 0x0c, 0x98, 0xeb, 0x9b, 0x23, 0xd2, 0xf0, 0x7c, 0x97, 0xb9, 0xe8, 0x86, 0x34, 0x6a, + 0x28, 0xa3, 0x86, 0x65, 0x7b, 0x8d, 0x57, 0x5b, 0xb5, 0x9b, 0x0a, 0x6b, 0x7a, 0x74, 0xd3, 0x27, + 0x81, 0x1b, 0xfa, 0x03, 0x85, 0xa8, 0xdd, 0x89, 0xdd, 0xba, 0xcc, 0xed, 0x87, 0xc3, 0x4d, 0x46, + 0xcf, 0x49, 0xc0, 0xcc, 0x73, 0x4f, 0x1a, 0xd4, 0x6f, 0x43, 0xae, 0xed, 0x0c, 0xdd, 0xde, 0xd8, + 0x23, 0x08, 0xc1, 0x92, 0x63, 0x9e, 0x93, 0xaa, 0xb6, 0xae, 0x6d, 0xe4, 0xb1, 0xf8, 0xae, 0x7f, + 0x09, 0xd0, 0x65, 0xae, 0x4f, 0xac, 0x79, 0x16, 0xe8, 0x33, 0x28, 0x0c, 0x7c, 0x62, 0x32, 0x62, + 0x70, 0xdf, 0xd5, 0xf4, 0xba, 0xb6, 0x51, 0xd8, 0xaa, 0x35, 0xe2, 0xa5, 0xca, 0x89, 0x1b, 0xbd, + 0x68, 0x62, 0x0c, 0xd2, 0x9c, 0x2b, 0xea, 0xdf, 0x94, 0xa0, 0xfc, 0x38, 0x0c, 0x98, 0x7b, 0x1e, + 0xaf, 0xe2, 0x67, 0x90, 0xa7, 0xce, 0xd0, 0x35, 0xd8, 0xd8, 0x93, 0x13, 0x15, 0xb6, 0xee, 0x34, + 0x2e, 0x0d, 0xbc, 0x11, 0x61, 0x70, 0x8e, 0x46, 0xe8, 0x6d, 0x00, 0x9b, 0x9e, 0x11, 0x9b, 0x9e, + 0xba, 0xae, 0x55, 0x5d, 0x5e, 0xd7, 0x36, 0xca, 0x5b, 0x1f, 0xcd, 0x81, 0xef, 0xc7, 0x86, 0x38, + 0x01, 0x42, 0x18, 0xc0, 0xa2, 0x03, 0x46, 0x5d, 0xc7, 0xf4, 0xc7, 0x2a, 0x9e, 0x1f, 0xce, 0x71, + 0x31, 0xbd, 0xf6, 0x46, 0x33, 0xc6, 0xe9, 0x29, 0x9c, 0xf0, 0x82, 0x1e, 0x43, 0xd6, 0x27, 0x23, + 0x72, 0x51, 0xcd, 0x08, 0x77, 0xdf, 0x5f, 0xcc, 0x1d, 0xe6, 0x10, 0x3d, 0x85, 0x25, 0x16, 0x9d, + 0x40, 0x39, 0x08, 0x7d, 0xdf, 0x1d, 0x89, 0x64, 0xf3, 0xf4, 0x2c, 0x09, 0x6f, 0x9f, 0x2c, 0xe6, + 0xad, 0x1b, 0x61, 0xb9, 0xa4, 0xa7, 0x70, 0x29, 0x48, 0x2a, 0x50, 0x13, 0x0a, 0x81, 0xd8, 0x69, + 0xe9, 0x3a, 0x2b, 0x5c, 0xcf, 0x4b, 0xdd, 0x84, 0x13, 0x3c, 0xd0, 0x60, 0xc2, 0x90, 0x13, 0x58, + 0xb5, 0x08, 0x23, 0x22, 0x70, 0xc3, 0x0f, 0x6d, 0x12, 0x54, 0x57, 0xd6, 0x33, 0x8b, 0x2f, 0xb2, + 0x19, 0x81, 0x71, 0x68, 0x13, 0x5c, 0xb6, 0x92, 0x62, 0x80, 0x5e, 0x42, 0x99, 0x5c, 0x0c, 0xec, + 0x30, 0xe0, 0xde, 0xc5, 0x32, 0x73, 0x62, 0x87, 0x17, 0x74, 0xde, 0x8a, 0xb0, 0x82, 0x34, 0x25, + 0x92, 0x14, 0x6b, 0xff, 0xd5, 0x00, 0x26, 0xfb, 0x87, 0x9e, 0x43, 0xfe, 0xb5, 0xeb, 0x5b, 0x86, + 0x4d, 0x03, 0xa6, 0x68, 0xf8, 0xf0, 0xaa, 0x24, 0x68, 0x3c, 0x73, 0x7d, 0x6b, 0x9f, 0x06, 0x4c, + 0x4f, 0xe1, 0xdc, 0x6b, 0xf5, 0x8d, 0x9e, 0x01, 0x1a, 0xd8, 0x6e, 0x68, 0x19, 0xea, 0x70, 0x1b, + 0x9e, 0xc9, 0x4e, 0x15, 0x31, 0x3e, 0x9e, 0x37, 0x05, 0x07, 0x74, 0xa5, 0x7d, 0xc7, 0x64, 0xa7, + 0x7a, 0x0a, 0x57, 0x06, 0x33, 0xba, 0xda, 0x3a, 0xe4, 0xa2, 0x09, 0xd1, 0x75, 0xc8, 0xf2, 0x09, + 0x83, 0xaa, 0xb6, 0x9e, 0xd9, 0xc8, 0x63, 0x29, 0xec, 0xe4, 0x60, 0x59, 0x96, 0x87, 0xda, 0x2e, + 0x64, 0x05, 0xbb, 0x50, 0x15, 0x56, 0x3c, 0x93, 0x31, 0xe2, 0x3b, 0xea, 0x54, 0x47, 0x22, 0xba, + 0x0b, 0xa5, 0x91, 0xef, 0x86, 0x9e, 0x41, 0x1d, 0x8b, 0x5c, 0x90, 0xa0, 0x9a, 0x5e, 0xcf, 0x6c, + 0x64, 0x71, 0x51, 0x28, 0xdb, 0x52, 0x57, 0x5b, 0x85, 0xd2, 0x14, 0xaf, 0x6a, 0x7f, 0xcb, 0x42, + 0x69, 0x6a, 0x13, 0x91, 0x05, 0xc5, 0x53, 0x97, 0x89, 0x64, 0x72, 0x42, 0xa8, 0x64, 0xfe, 0xfc, + 0x1d, 0xf8, 0xd0, 0xd0, 0xa5, 0x1f, 0xfe, 0xad, 0xa7, 0x70, 0xe1, 0x74, 0x22, 0xd6, 0xba, 0x90, + 0xef, 0xf8, 0xee, 0x05, 0x3d, 0xa7, 0x6c, 0xcc, 0x97, 0xfe, 0x9a, 0x3a, 0x96, 0xfb, 0xda, 0xe8, + 0x93, 0xa1, 0xeb, 0xcb, 0x39, 0xb3, 0xb8, 0x28, 0x95, 0x3b, 0x42, 0x87, 0x3e, 0x02, 0x25, 0x1b, + 0xe6, 0x90, 0x11, 0x5f, 0x9c, 0xf4, 0x2c, 0x2e, 0x48, 0xdd, 0x36, 0x57, 0xd5, 0xfe, 0xa2, 0xc1, + 0xf5, 0x49, 0x95, 0xd8, 0xb6, 0xbe, 0x0a, 0x03, 0x76, 0x4e, 0x1c, 0x86, 0x0e, 0xa1, 0x32, 0xa4, + 0x17, 0x84, 0xd3, 0x23, 0x2e, 0x36, 0xda, 0x82, 0xc5, 0x46, 0x4f, 0xe1, 0x55, 0x01, 0x9e, 0xa8, + 0xd0, 0x8f, 0xe0, 0x9a, 0x4f, 0x6c, 0x93, 0xd1, 0x57, 0x24, 0xe9, 0x52, 0x2c, 0x49, 0x4f, 0x61, + 0x14, 0x0d, 0x4e, 0x20, 0x3b, 0x45, 0x00, 0x33, 0x5e, 0x50, 0xed, 0xef, 0x69, 0x28, 0x24, 0xb2, + 0x83, 0x3a, 0x50, 0x8a, 0x93, 0x2e, 0x0a, 0x8f, 0x76, 0xe5, 0xc2, 0x83, 0xa3, 0x6d, 0x93, 0x44, + 0xf9, 0x35, 0xe4, 0xbd, 0x28, 0xc1, 0xaa, 0x2a, 0x7e, 0xfe, 0x2e, 0x7b, 0x18, 0xef, 0x12, 0x9e, + 0xf8, 0x43, 0xbf, 0x83, 0x1b, 0x93, 0xb0, 0x8d, 0x49, 0x5c, 0xea, 0x58, 0xe8, 0xef, 0x32, 0xd1, + 0x65, 0x1b, 0x87, 0xaf, 0xdb, 0x97, 0x68, 0x77, 0x96, 0x61, 0x89, 0x57, 0x93, 0xfa, 0x1e, 0x94, + 0xa6, 0x6a, 0x04, 0xba, 0x0d, 0xb5, 0xd6, 0xf3, 0xc7, 0xfb, 0x4f, 0xbb, 0xed, 0xa3, 0x43, 0xa3, + 0xf7, 0xa2, 0xd3, 0x32, 0x9e, 0x1e, 0x76, 0x3b, 0xad, 0xc7, 0xed, 0xdd, 0x76, 0xab, 0x59, 0x49, + 0xa1, 0x1a, 0x7c, 0x30, 0x33, 0x2e, 0xc4, 0x66, 0xab, 0xa2, 0xc5, 0x4e, 0x6f, 0xc1, 0xca, 0x2e, + 0x25, 0xb6, 0xd5, 0xb6, 0x2e, 0xbd, 0x61, 0x8f, 0xa0, 0xd0, 0x31, 0x7d, 0x46, 0xf9, 0xba, 0xdb, + 0x16, 0xba, 0x05, 0xe0, 0xf9, 0xee, 0x57, 0x64, 0xc0, 0x0c, 0x2a, 0x09, 0x90, 0x17, 0x89, 0xe2, + 0x9a, 0xb6, 0xc5, 0x49, 0xcb, 0x51, 0x81, 0x67, 0x0e, 0x08, 0x37, 0x58, 0x12, 0x06, 0x85, 0x58, + 0xd7, 0xb6, 0xea, 0xf7, 0xa0, 0xbc, 0x47, 0x1d, 0xab, 0x75, 0xe1, 0xf9, 0x24, 0xe0, 0x91, 0x5c, + 0x3a, 0xed, 0x9f, 0x34, 0xa8, 0x34, 0x4d, 0x66, 0x8a, 0xda, 0x7d, 0xe4, 0xf1, 0xd9, 0x03, 0xd4, + 0x82, 0xa2, 0x17, 0xad, 0x85, 0x7b, 0x97, 0xa4, 0xa9, 0xcf, 0xc9, 0x7e, 0x62, 0xd9, 0xb8, 0xe0, + 0x25, 0x62, 0x78, 0x08, 0x4b, 0x67, 0xd4, 0xb1, 0x14, 0x4b, 0xbe, 0x3b, 0x07, 0x3e, 0xbd, 0x48, + 0x2c, 0x20, 0xf5, 0x3f, 0x68, 0x50, 0x4d, 0x16, 0x3b, 0xc1, 0xbd, 0x5d, 0x6a, 0x93, 0x2e, 0x61, + 0xe8, 0x0e, 0x14, 0xfa, 0xe1, 0xe0, 0x8c, 0x30, 0x23, 0x11, 0x0e, 0x48, 0xd5, 0x21, 0xef, 0x45, + 0xee, 0x42, 0x89, 0x3a, 0x03, 0x3b, 0xb4, 0x88, 0x62, 0x7d, 0x5a, 0x54, 0xbf, 0xa2, 0x52, 0x4a, + 0x22, 0xdf, 0x05, 0x59, 0xf9, 0x63, 0xa3, 0x8c, 0x34, 0x52, 0x4a, 0x61, 0x54, 0xff, 0x66, 0x09, + 0xae, 0x25, 0xd7, 0x11, 0x65, 0xe8, 0x00, 0x72, 0x43, 0x6a, 0x13, 0x23, 0x20, 0xd1, 0xad, 0xb0, + 0xb5, 0x40, 0xc9, 0x56, 0xe8, 0x86, 0x0a, 0x04, 0xaf, 0x0c, 0x55, 0x44, 0x9b, 0x70, 0xbd, 0x3f, + 0x66, 0x24, 0x30, 0x6c, 0x7e, 0x0e, 0x0c, 0x8f, 0xf8, 0x06, 0x1f, 0x12, 0xdb, 0x9a, 0xc1, 0x6b, + 0x62, 0x6c, 0x9f, 0x0f, 0x75, 0x88, 0xcf, 0xc1, 0xe8, 0x0b, 0xf8, 0xce, 0x65, 0x00, 0xfe, 0x31, + 0xe0, 0xe7, 0x25, 0x27, 0x8a, 0x58, 0xf5, 0x0d, 0x60, 0x47, 0x8e, 0xa3, 0x2f, 0x00, 0x84, 0x3d, + 0x67, 0x66, 0x50, 0xcd, 0xae, 0x67, 0x36, 0xca, 0x73, 0xdb, 0x2b, 0x8e, 0x13, 0x37, 0x65, 0x7e, + 0xa8, 0xbe, 0x02, 0x74, 0x02, 0xa5, 0xc0, 0x3c, 0xf7, 0x6c, 0x62, 0x9c, 0x13, 0x76, 0x1a, 0xb7, + 0x58, 0x3f, 0xbd, 0x42, 0x12, 0xba, 0x02, 0x7f, 0x20, 0xe0, 0xb8, 0x18, 0x24, 0x24, 0xd4, 0x80, + 0x6b, 0x7c, 0xaa, 0x44, 0x74, 0x22, 0xa8, 0x15, 0x11, 0xd4, 0x9a, 0x18, 0x8a, 0x82, 0xe2, 0x03, + 0x35, 0x9f, 0x1f, 0x2d, 0x99, 0xc9, 0x0a, 0x64, 0x42, 0xdf, 0x56, 0x9c, 0xe0, 0x9f, 0xe8, 0x29, + 0x94, 0xc5, 0xfe, 0x1a, 0xf1, 0x86, 0x49, 0x3e, 0x6e, 0x2e, 0xb0, 0xd6, 0x24, 0xed, 0x70, 0xd1, + 0x4f, 0x48, 0x75, 0x1d, 0x8a, 0xc9, 0x08, 0xd0, 0x2d, 0xb8, 0xd9, 0xdd, 0x3e, 0xe8, 0xec, 0xb7, + 0x8c, 0x83, 0x56, 0x4f, 0x3f, 0x6a, 0xce, 0x54, 0x88, 0x15, 0xc8, 0xf4, 0x8e, 0x3a, 0x15, 0x0d, + 0x55, 0xa0, 0x88, 0xb7, 0x0f, 0x9b, 0x47, 0x07, 0x46, 0xb7, 0xb7, 0x8d, 0x7b, 0x95, 0x74, 0xfd, + 0xe3, 0x69, 0x8a, 0xcd, 0x8d, 0xa4, 0x7e, 0x1f, 0x2a, 0xb3, 0x0d, 0x00, 0x3f, 0xd3, 0xa2, 0x6f, + 0x50, 0x67, 0x9a, 0x7f, 0xd7, 0xff, 0x93, 0x81, 0xd5, 0x1d, 0x3a, 0xfa, 0x55, 0x48, 0xfc, 0xf1, + 0x84, 0xb0, 0xab, 0xcc, 0xec, 0xdb, 0x9c, 0xeb, 0x43, 0xe2, 0x13, 0x67, 0x10, 0x5d, 0xc0, 0xf7, + 0xe6, 0xa4, 0x21, 0x72, 0xd0, 0xe3, 0x28, 0x5c, 0x16, 0x60, 0x1c, 0x61, 0xd1, 0x01, 0x20, 0x6a, + 0x11, 0x87, 0xd1, 0xe1, 0x98, 0x3a, 0x23, 0x63, 0xc8, 0x0b, 0x9b, 0xec, 0x0c, 0x0a, 0x5b, 0xb7, + 0xe7, 0xf2, 0x48, 0x54, 0x3f, 0xbc, 0x96, 0x40, 0x0a, 0x5d, 0xc0, 0xab, 0x9d, 0xef, 0xbe, 0x56, + 0xfb, 0x2d, 0x8a, 0x7d, 0x06, 0xe7, 0xb9, 0x46, 0x6c, 0x33, 0xfa, 0x01, 0xa0, 0xc9, 0x70, 0x4c, + 0x87, 0x65, 0x41, 0x87, 0x4a, 0x6c, 0x16, 0x71, 0xfb, 0xf9, 0x2c, 0x37, 0x97, 0xde, 0xda, 0x1c, + 0xce, 0x64, 0xea, 0x6d, 0xbc, 0x7c, 0x02, 0xab, 0xaa, 0x3a, 0x58, 0x51, 0xc8, 0xd9, 0x85, 0x42, + 0x2e, 0x47, 0x30, 0x19, 0xef, 0x7b, 0x24, 0xcf, 0xff, 0xb2, 0x50, 0x52, 0x7c, 0x78, 0xec, 0x3a, + 0x43, 0x3a, 0x42, 0xc7, 0xb0, 0x66, 0x45, 0x05, 0xdd, 0x70, 0x65, 0x50, 0x8a, 0xf2, 0xf3, 0xda, + 0xca, 0xd9, 0x0b, 0x80, 0xb7, 0x95, 0xd6, 0xec, 0xa5, 0xf0, 0x1b, 0xb8, 0x31, 0xdd, 0xaf, 0x46, + 0xbe, 0xe5, 0xdd, 0xfc, 0x60, 0xf1, 0xa3, 0xaf, 0xa7, 0xf0, 0xb5, 0xc1, 0x25, 0x45, 0xb5, 0x07, + 0x6b, 0x7d, 0x3a, 0x32, 0xbe, 0xe6, 0xbb, 0x11, 0x7b, 0x97, 0x6f, 0x9b, 0xfb, 0x8b, 0x6d, 0x1e, + 0xef, 0xa9, 0xfa, 0x6f, 0x30, 0xbf, 0x7c, 0x3a, 0xee, 0xfb, 0xd4, 0x8a, 0x5d, 0xe6, 0xdf, 0x4a, + 0x7c, 0x5d, 0x18, 0x4f, 0x1c, 0x96, 0x4e, 0x93, 0x0a, 0xfe, 0xb2, 0x11, 0x8f, 0x67, 0xcf, 0x74, + 0x8c, 0x81, 0xc8, 0xb8, 0x20, 0xe2, 0xfc, 0x97, 0xcd, 0xd4, 0xee, 0xc8, 0xf7, 0xaf, 0x67, 0x3a, + 0x52, 0xc4, 0x65, 0x36, 0x25, 0xd7, 0xfe, 0x9c, 0x86, 0xf2, 0xb4, 0x09, 0x7a, 0x08, 0x10, 0x30, + 0xd3, 0x67, 0xf2, 0x5d, 0xad, 0x7d, 0xeb, 0xbb, 0x3a, 0x2f, 0xac, 0xb9, 0x8c, 0x7e, 0x02, 0x39, + 0xe2, 0x58, 0x8b, 0x3e, 0xc8, 0x57, 0x88, 0x63, 0x09, 0xd8, 0x13, 0x15, 0x22, 0xd7, 0x4a, 0x9e, + 0xab, 0x3d, 0xfe, 0x56, 0x9a, 0xc7, 0x30, 0xa1, 0x41, 0xcf, 0xe0, 0x7b, 0xc4, 0x11, 0x55, 0xc7, + 0x0c, 0x99, 0x6b, 0x78, 0xae, 0x17, 0xf2, 0xfe, 0xd5, 0x75, 0x0c, 0x77, 0x68, 0xcc, 0x66, 0x91, + 0x6f, 0x74, 0x0e, 0xdf, 0x93, 0x80, 0xed, 0x90, 0xb9, 0x9d, 0xd8, 0xfc, 0x68, 0x38, 0x9d, 0x93, + 0xb8, 0xa7, 0xfa, 0x47, 0x1a, 0x4a, 0x53, 0xfb, 0x85, 0xd6, 0xa1, 0x60, 0x91, 0x60, 0xe0, 0x53, + 0x21, 0xab, 0xb2, 0x98, 0x54, 0xa1, 0xcf, 0xe1, 0x43, 0x9f, 0x7c, 0x1d, 0x52, 0x5f, 0x1c, 0x62, + 0xc7, 0xe2, 0xf5, 0xcb, 0x36, 0xfb, 0xc4, 0x36, 0xce, 0xc8, 0x38, 0x50, 0xad, 0x42, 0x35, 0x32, + 0xd9, 0x95, 0x16, 0xfb, 0xdc, 0x60, 0x8f, 0x8c, 0x03, 0xa4, 0xc3, 0xb2, 0xb0, 0x0e, 0x44, 0xbf, + 0x30, 0xff, 0x97, 0xc0, 0xd4, 0xb2, 0x1a, 0x02, 0x1f, 0xb4, 0x1c, 0xe6, 0x8f, 0xb1, 0xc2, 0x23, + 0x1d, 0x4a, 0xb2, 0x24, 0x4f, 0x53, 0xfd, 0xee, 0x1c, 0x87, 0xa2, 0x10, 0x2b, 0x7f, 0xb8, 0xc8, + 0x12, 0x52, 0xed, 0x21, 0x14, 0x12, 0x13, 0xf0, 0x9b, 0xe3, 0x8c, 0x8c, 0xa3, 0x9b, 0xe3, 0x8c, + 0x8c, 0xf9, 0x33, 0xf0, 0x95, 0x69, 0x87, 0x44, 0x35, 0x92, 0x52, 0x78, 0x94, 0xfe, 0x54, 0xab, + 0xff, 0x16, 0x0a, 0xd1, 0x19, 0xda, 0x23, 0xe3, 0xf7, 0x7d, 0x4d, 0xc8, 0xba, 0x6e, 0x38, 0xe1, + 0x79, 0x5f, 0xbd, 0xac, 0x64, 0x5d, 0x3f, 0x14, 0x8a, 0x7a, 0x1b, 0x8a, 0x71, 0xe9, 0xe1, 0xb3, + 0x3f, 0x04, 0xe0, 0x37, 0x03, 0x1b, 0x1b, 0xd1, 0xfa, 0xa7, 0x18, 0x3b, 0xdd, 0x36, 0x92, 0x31, + 0xce, 0x4b, 0xeb, 0x3d, 0x32, 0xae, 0xff, 0x5b, 0x83, 0x0c, 0x77, 0xf1, 0x9e, 0x5a, 0xd7, 0x47, + 0xea, 0x5a, 0x95, 0x37, 0xda, 0xfd, 0xf9, 0x6b, 0x68, 0xf0, 0x5b, 0xb8, 0x65, 0x13, 0xf1, 0xaa, + 0x10, 0x98, 0x5a, 0x8f, 0x77, 0xf2, 0xb1, 0x92, 0xdf, 0xd0, 0xa2, 0x0b, 0x56, 0x37, 0x34, 0xff, + 0x46, 0x15, 0x48, 0xab, 0xae, 0x3e, 0xa3, 0xa7, 0x70, 0x9a, 0x5a, 0xe8, 0xba, 0xea, 0xcd, 0xf9, + 0x41, 0xcb, 0xeb, 0x29, 0xd9, 0x9d, 0xef, 0xe4, 0x61, 0x85, 0xca, 0x1f, 0x31, 0xf5, 0x7f, 0x6a, + 0x90, 0xc7, 0x64, 0xe0, 0xfa, 0x16, 0x0f, 0xf3, 0x97, 0x50, 0x9a, 0x14, 0x79, 0x9e, 0xac, 0xf4, + 0x5b, 0xb9, 0x93, 0xcc, 0xb2, 0x9e, 0xc2, 0x45, 0x2b, 0x99, 0x75, 0x1d, 0x4a, 0x93, 0xb2, 0xcb, + 0x7d, 0x65, 0xde, 0x9a, 0xb3, 0x04, 0x5d, 0xf8, 0xe3, 0xbb, 0x9f, 0x60, 0xcf, 0x87, 0x90, 0xa7, + 0x96, 0x21, 0xc8, 0x25, 0x6f, 0xc6, 0x3c, 0xce, 0x51, 0xeb, 0x58, 0xc8, 0xf1, 0x99, 0x3d, 0x85, + 0xd2, 0x14, 0x69, 0x66, 0x9e, 0x3a, 0xda, 0xec, 0x53, 0xe7, 0x16, 0x80, 0x58, 0x2e, 0x49, 0xbe, + 0x84, 0x94, 0xa6, 0x6d, 0xa1, 0x9b, 0x90, 0x93, 0x8c, 0xa5, 0xb2, 0x4a, 0xe5, 0xf1, 0x8a, 0x90, + 0xdb, 0x56, 0xfd, 0xf7, 0xda, 0x64, 0x2a, 0x59, 0x90, 0x1e, 0x41, 0x56, 0x0c, 0x5e, 0x89, 0xd4, + 0x12, 0x82, 0x7e, 0x0c, 0x59, 0x59, 0x0b, 0xd3, 0x0b, 0xd5, 0x42, 0x69, 0x5c, 0xff, 0x05, 0xe4, + 0x5a, 0x82, 0xa4, 0x6d, 0x6b, 0xe2, 0x41, 0xbb, 0x8a, 0x87, 0x2f, 0xa1, 0x98, 0x3c, 0xfa, 0x73, + 0x5a, 0x2f, 0xed, 0x1d, 0x5b, 0xaf, 0x07, 0x0c, 0x20, 0xf1, 0x03, 0xa2, 0x06, 0x1f, 0xec, 0xb7, + 0xf7, 0x5a, 0xfb, 0x6d, 0xfd, 0xe8, 0x8d, 0x2e, 0x64, 0x0d, 0x4a, 0xc7, 0x2d, 0xfc, 0xc2, 0x78, + 0x7a, 0x28, 0x4c, 0x5e, 0x54, 0x34, 0x54, 0x84, 0x5c, 0x2c, 0xa5, 0xb9, 0xd4, 0x39, 0xea, 0x76, + 0xdb, 0x3b, 0xfb, 0xad, 0x4a, 0x06, 0x01, 0x2c, 0xab, 0x91, 0x25, 0xb4, 0x0a, 0x05, 0x01, 0x55, + 0x8a, 0xec, 0x83, 0x97, 0x90, 0x8b, 0x9e, 0x15, 0xe8, 0x26, 0xdc, 0xd8, 0x6d, 0xef, 0xb7, 0x2e, + 0x7b, 0x57, 0xaf, 0x42, 0x61, 0xa7, 0x7d, 0xb8, 0x8d, 0x5f, 0x18, 0xdc, 0xa2, 0xa2, 0xa1, 0x12, + 0xe4, 0x7b, 0xad, 0xe7, 0x3d, 0x29, 0xa6, 0x51, 0x1e, 0xb2, 0xed, 0x83, 0xed, 0x27, 0x7c, 0xba, + 0x1c, 0x2c, 0x6d, 0x1f, 0xe3, 0xa3, 0xca, 0xca, 0xce, 0x1f, 0x35, 0xb8, 0x39, 0x70, 0xcf, 0x2f, + 0x4f, 0xc5, 0x0e, 0x34, 0x6d, 0x2f, 0x6a, 0xa0, 0xb5, 0x97, 0x9f, 0x2a, 0xa3, 0x91, 0x6b, 0x9b, + 0xce, 0xa8, 0xe1, 0xfa, 0xa3, 0xcd, 0x11, 0x71, 0xc4, 0xe5, 0xb8, 0x29, 0x87, 0x4c, 0x8f, 0x06, + 0x33, 0xbf, 0xe3, 0x3f, 0xb3, 0x6c, 0xef, 0xaf, 0xe9, 0x6b, 0x4f, 0x24, 0x54, 0x34, 0x38, 0x8d, + 0xa6, 0xed, 0x35, 0x8e, 0xb7, 0xfe, 0x15, 0x69, 0x4f, 0x84, 0xf6, 0xa4, 0x69, 0x7b, 0x27, 0xc7, + 0x5b, 0xfd, 0x65, 0xe1, 0xf0, 0x93, 0xff, 0x07, 0x00, 0x00, 0xff, 0xff, 0xcd, 0x33, 0x86, 0x32, + 0xde, 0x17, 0x00, 0x00, }