diff --git a/googleapis/api/annotations/http.pb.go b/googleapis/api/annotations/http.pb.go
index b4487662db2b041c5318d2d71b5e2552e4b3c350..ca20ad3d615647912ae855b21790a14ddaff7e3b 100644
--- a/googleapis/api/annotations/http.pb.go
+++ b/googleapis/api/annotations/http.pb.go
@@ -26,7 +26,7 @@ type Http struct {
 	//
 	// **NOTE:** All service configuration rules follow "last one wins" order.
 	Rules []*HttpRule `protobuf:"bytes,1,rep,name=rules,proto3" json:"rules,omitempty"`
-	// When set to true, URL path parmeters will be fully URI-decoded except in
+	// When set to true, URL path parameters will be fully URI-decoded except in
 	// cases of single segment matches in reserved expansion, where "%2F" will be
 	// left encoded.
 	//
@@ -42,7 +42,7 @@ func (m *Http) Reset()         { *m = Http{} }
 func (m *Http) String() string { return proto.CompactTextString(m) }
 func (*Http) ProtoMessage()    {}
 func (*Http) Descriptor() ([]byte, []int) {
-	return fileDescriptor_http_6617e93ffeeff0ad, []int{0}
+	return fileDescriptor_http_5af6bbacbb935ee3, []int{0}
 }
 func (m *Http) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_Http.Unmarshal(m, b)
@@ -245,18 +245,15 @@ func (m *Http) GetFullyDecodeReservedExpansion() bool {
 // 1. Leaf request fields (recursive expansion nested messages in the request
 //    message) are classified into three categories:
 //    - Fields referred by the path template. They are passed via the URL path.
-//    - Fields referred by the [HttpRule.body][google.api.HttpRule.body]. They
-//    are passed via the HTTP
+//    - Fields referred by the [HttpRule.body][google.api.HttpRule.body]. They are passed via the HTTP
 //      request body.
 //    - All other fields are passed via the URL query parameters, and the
 //      parameter name is the field path in the request message. A repeated
 //      field can be represented as multiple query parameters under the same
 //      name.
-//  2. If [HttpRule.body][google.api.HttpRule.body] is "*", there is no URL
-//  query parameter, all fields
+//  2. If [HttpRule.body][google.api.HttpRule.body] is "*", there is no URL query parameter, all fields
 //     are passed via URL path and HTTP request body.
-//  3. If [HttpRule.body][google.api.HttpRule.body] is omitted, there is no HTTP
-//  request body, all
+//  3. If [HttpRule.body][google.api.HttpRule.body] is omitted, there is no HTTP request body, all
 //     fields are passed via URL path and URL query parameters.
 //
 // ### Path template syntax
@@ -351,8 +348,7 @@ func (m *Http) GetFullyDecodeReservedExpansion() bool {
 type HttpRule struct {
 	// Selects a method to which this rule applies.
 	//
-	// Refer to [selector][google.api.DocumentationRule.selector] for syntax
-	// details.
+	// Refer to [selector][google.api.DocumentationRule.selector] for syntax details.
 	Selector string `protobuf:"bytes,1,opt,name=selector,proto3" json:"selector,omitempty"`
 	// Determines the URL pattern is matched by this rules. This pattern can be
 	// used with any of the {get|put|post|delete|patch} methods. A custom method
@@ -393,7 +389,7 @@ func (m *HttpRule) Reset()         { *m = HttpRule{} }
 func (m *HttpRule) String() string { return proto.CompactTextString(m) }
 func (*HttpRule) ProtoMessage()    {}
 func (*HttpRule) Descriptor() ([]byte, []int) {
-	return fileDescriptor_http_6617e93ffeeff0ad, []int{1}
+	return fileDescriptor_http_5af6bbacbb935ee3, []int{1}
 }
 func (m *HttpRule) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_HttpRule.Unmarshal(m, b)
@@ -675,7 +671,7 @@ func (m *CustomHttpPattern) Reset()         { *m = CustomHttpPattern{} }
 func (m *CustomHttpPattern) String() string { return proto.CompactTextString(m) }
 func (*CustomHttpPattern) ProtoMessage()    {}
 func (*CustomHttpPattern) Descriptor() ([]byte, []int) {
-	return fileDescriptor_http_6617e93ffeeff0ad, []int{2}
+	return fileDescriptor_http_5af6bbacbb935ee3, []int{2}
 }
 func (m *CustomHttpPattern) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_CustomHttpPattern.Unmarshal(m, b)
@@ -715,9 +711,9 @@ func init() {
 	proto.RegisterType((*CustomHttpPattern)(nil), "google.api.CustomHttpPattern")
 }
 
-func init() { proto.RegisterFile("google/api/http.proto", fileDescriptor_http_6617e93ffeeff0ad) }
+func init() { proto.RegisterFile("google/api/http.proto", fileDescriptor_http_5af6bbacbb935ee3) }
 
-var fileDescriptor_http_6617e93ffeeff0ad = []byte{
+var fileDescriptor_http_5af6bbacbb935ee3 = []byte{
 	// 419 bytes of a gzipped FileDescriptorProto
 	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x7c, 0x92, 0xc1, 0x8e, 0xd3, 0x30,
 	0x10, 0x86, 0x49, 0x9b, 0x76, 0xdb, 0xe9, 0x82, 0x84, 0x59, 0x90, 0x85, 0x40, 0x54, 0xe5, 0x52,
diff --git a/googleapis/api/annotations/resource.pb.go b/googleapis/api/annotations/resource.pb.go
index a395f960cd5d2cf49cc441c0843b98c38d218bad..036ae3e16bbdef2ba71f65a6ea5b55cd42b12d3f 100644
--- a/googleapis/api/annotations/resource.pb.go
+++ b/googleapis/api/annotations/resource.pb.go
@@ -19,135 +19,303 @@ var _ = math.Inf
 // proto package needs to be updated.
 const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package
 
-// An annotation designating that this field designates a resource.
+// A description of the historical or future-looking state of the
+// resource pattern.
+type ResourceDescriptor_History int32
+
+const (
+	// The "unset" value.
+	ResourceDescriptor_HISTORY_UNSPECIFIED ResourceDescriptor_History = 0
+	// The resource originally had one pattern and launched as such, and
+	// additional patterns were added later.
+	ResourceDescriptor_ORIGINALLY_SINGLE_PATTERN ResourceDescriptor_History = 1
+	// The resource has one pattern, but the API owner expects to add more
+	// later. (This is the inverse of ORIGINALLY_SINGLE_PATTERN, and prevents
+	// that from being necessary once there are multiple patterns.)
+	ResourceDescriptor_FUTURE_MULTI_PATTERN ResourceDescriptor_History = 2
+)
+
+var ResourceDescriptor_History_name = map[int32]string{
+	0: "HISTORY_UNSPECIFIED",
+	1: "ORIGINALLY_SINGLE_PATTERN",
+	2: "FUTURE_MULTI_PATTERN",
+}
+var ResourceDescriptor_History_value = map[string]int32{
+	"HISTORY_UNSPECIFIED":       0,
+	"ORIGINALLY_SINGLE_PATTERN": 1,
+	"FUTURE_MULTI_PATTERN":      2,
+}
+
+func (x ResourceDescriptor_History) String() string {
+	return proto.EnumName(ResourceDescriptor_History_name, int32(x))
+}
+func (ResourceDescriptor_History) EnumDescriptor() ([]byte, []int) {
+	return fileDescriptor_resource_1953877c7bf00bf4, []int{0, 0}
+}
+
+// A simple descriptor of a resource type.
+//
+// ResourceDescriptor annotates a resource message (either by means of a
+// protobuf annotation or use in the service config), and associates the
+// resource's schema, the resource type, and the pattern of the resource name.
 //
 // Example:
 //
-//     message Topic {
-//       string name = 1 [(google.api.resource) = {
-//         name: "projects/{project}/topics/{topic}"
-//       }];
-//     }
-type Resource struct {
-	// Required. The resource's name template.
+//   message Topic {
+//     // Indicates this message defines a resource schema.
+//     // Declares the resource type in the format of {service}/{kind}.
+//     // For Kubernetes resources, the format is {api group}/{kind}.
+//     option (google.api.resource) = {
+//       type: "pubsub.googleapis.com/Topic"
+//       pattern: "projects/{project}/topics/{topic}"
+//     };
+//   }
+//
+// Sometimes, resources have multiple patterns, typically because they can
+// live under multiple parents.
+//
+// Example:
+//
+//   message LogEntry {
+//     option (google.api.resource) = {
+//       type: "logging.googleapis.com/LogEntry"
+//       pattern: "projects/{project}/logs/{log}"
+//       pattern: "organizations/{organization}/logs/{log}"
+//       pattern: "folders/{folder}/logs/{log}"
+//       pattern: "billingAccounts/{billing_account}/logs/{log}"
+//     };
+//   }
+type ResourceDescriptor struct {
+	// The full name of the resource type. It must be in the format of
+	// {service_name}/{resource_type_kind}. The resource type names are
+	// singular and do not contain version numbers.
+	//
+	// For example: `storage.googleapis.com/Bucket`
+	//
+	// The value of the resource_type_kind must follow the regular expression
+	// /[A-Z][a-zA-Z0-9]+/. It must start with upper case character and
+	// recommended to use PascalCase (UpperCamelCase). The maximum number of
+	// characters allowed for the resource_type_kind is 100.
+	Type string `protobuf:"bytes,1,opt,name=type,proto3" json:"type,omitempty"`
+	// Required. The valid pattern or patterns for this resource's names.
 	//
 	// Examples:
 	//   - "projects/{project}/topics/{topic}"
 	//   - "projects/{project}/knowledgeBases/{knowledge_base}"
-	Pattern string `protobuf:"bytes,1,opt,name=pattern,proto3" json:"pattern,omitempty"`
-	// The name that should be used in code to describe the resource,
-	// in PascalCase.
 	//
-	// If omitted, this is inferred from the name of the message.
-	// This is required if the resource is being defined without the context
-	// of a message (see `resource_definition`, below).
+	// The components in braces correspond to the IDs for each resource in the
+	// hierarchy. It is expected that, if multiple patterns are provided,
+	// the same component name (e.g. "project") refers to IDs of the same
+	// type of resource.
+	Pattern []string `protobuf:"bytes,2,rep,name=pattern,proto3" json:"pattern,omitempty"`
+	// Optional. The field on the resource that designates the resource name
+	// field. If omitted, this is assumed to be "name".
+	NameField string `protobuf:"bytes,3,opt,name=name_field,json=nameField,proto3" json:"name_field,omitempty"`
+	// Optional. The historical or future-looking state of the resource pattern.
 	//
 	// Example:
-	//   option (google.api.resource_definition) = {
-	//     pattern: "projects/{project}"
-	//     symbol: "Project"
-	//   };
-	Symbol               string   `protobuf:"bytes,2,opt,name=symbol,proto3" json:"symbol,omitempty"`
-	XXX_NoUnkeyedLiteral struct{} `json:"-"`
-	XXX_unrecognized     []byte   `json:"-"`
-	XXX_sizecache        int32    `json:"-"`
+	//   // The InspectTemplate message originally only supported resource
+	//   // names with organization, and project was added later.
+	//   message InspectTemplate {
+	//     option (google.api.resource) = {
+	//       type: "dlp.googleapis.com/InspectTemplate"
+	//       pattern: "organizations/{organization}/inspectTemplates/{inspect_template}"
+	//       pattern: "projects/{project}/inspectTemplates/{inspect_template}"
+	//       history: ORIGINALLY_SINGLE_PATTERN
+	//     };
+	//   }
+	History              ResourceDescriptor_History `protobuf:"varint,4,opt,name=history,proto3,enum=google.api.ResourceDescriptor_History" json:"history,omitempty"`
+	XXX_NoUnkeyedLiteral struct{}                   `json:"-"`
+	XXX_unrecognized     []byte                     `json:"-"`
+	XXX_sizecache        int32                      `json:"-"`
 }
 
-func (m *Resource) Reset()         { *m = Resource{} }
-func (m *Resource) String() string { return proto.CompactTextString(m) }
-func (*Resource) ProtoMessage()    {}
-func (*Resource) Descriptor() ([]byte, []int) {
-	return fileDescriptor_resource_232de5e6fd811932, []int{0}
+func (m *ResourceDescriptor) Reset()         { *m = ResourceDescriptor{} }
+func (m *ResourceDescriptor) String() string { return proto.CompactTextString(m) }
+func (*ResourceDescriptor) ProtoMessage()    {}
+func (*ResourceDescriptor) Descriptor() ([]byte, []int) {
+	return fileDescriptor_resource_1953877c7bf00bf4, []int{0}
 }
-func (m *Resource) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_Resource.Unmarshal(m, b)
+func (m *ResourceDescriptor) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_ResourceDescriptor.Unmarshal(m, b)
 }
-func (m *Resource) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_Resource.Marshal(b, m, deterministic)
+func (m *ResourceDescriptor) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_ResourceDescriptor.Marshal(b, m, deterministic)
 }
-func (dst *Resource) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_Resource.Merge(dst, src)
+func (dst *ResourceDescriptor) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_ResourceDescriptor.Merge(dst, src)
 }
-func (m *Resource) XXX_Size() int {
-	return xxx_messageInfo_Resource.Size(m)
+func (m *ResourceDescriptor) XXX_Size() int {
+	return xxx_messageInfo_ResourceDescriptor.Size(m)
 }
-func (m *Resource) XXX_DiscardUnknown() {
-	xxx_messageInfo_Resource.DiscardUnknown(m)
+func (m *ResourceDescriptor) XXX_DiscardUnknown() {
+	xxx_messageInfo_ResourceDescriptor.DiscardUnknown(m)
 }
 
-var xxx_messageInfo_Resource proto.InternalMessageInfo
+var xxx_messageInfo_ResourceDescriptor proto.InternalMessageInfo
 
-func (m *Resource) GetPattern() string {
+func (m *ResourceDescriptor) GetType() string {
+	if m != nil {
+		return m.Type
+	}
+	return ""
+}
+
+func (m *ResourceDescriptor) GetPattern() []string {
 	if m != nil {
 		return m.Pattern
 	}
+	return nil
+}
+
+func (m *ResourceDescriptor) GetNameField() string {
+	if m != nil {
+		return m.NameField
+	}
 	return ""
 }
 
-func (m *Resource) GetSymbol() string {
+func (m *ResourceDescriptor) GetHistory() ResourceDescriptor_History {
+	if m != nil {
+		return m.History
+	}
+	return ResourceDescriptor_HISTORY_UNSPECIFIED
+}
+
+// An annotation designating that this field is a reference to a resource
+// defined by another message.
+type ResourceReference struct {
+	// The unified resource type name of the type that this field references.
+	// Marks this as a field referring to a resource in another message.
+	//
+	// Example:
+	//
+	//   message Subscription {
+	//     string topic = 2 [(google.api.resource_reference) = {
+	//       type = "pubsub.googleapis.com/Topic"
+	//     }];
+	//   }
+	Type string `protobuf:"bytes,1,opt,name=type,proto3" json:"type,omitempty"`
+	// The fully-qualified message name of a child of the type that this field
+	// references.
+	//
+	// This is useful for `parent` fields where a resource has more than one
+	// possible type of parent.
+	//
+	// Example:
+	//
+	//   message ListLogEntriesRequest {
+	//     string parent = 1 [(google.api.resource_reference) = {
+	//       child_type: "logging.googleapis.com/LogEntry"
+	//     };
+	//   }
+	//
+	// If the referenced message is in the same proto package, the service name
+	// may be omitted:
+	//
+	//   message ListLogEntriesRequest {
+	//     string parent = 1
+	//       [(google.api.resource_reference).child_type = "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:"-"`
+	XXX_sizecache        int32    `json:"-"`
+}
+
+func (m *ResourceReference) Reset()         { *m = ResourceReference{} }
+func (m *ResourceReference) String() string { return proto.CompactTextString(m) }
+func (*ResourceReference) ProtoMessage()    {}
+func (*ResourceReference) Descriptor() ([]byte, []int) {
+	return fileDescriptor_resource_1953877c7bf00bf4, []int{1}
+}
+func (m *ResourceReference) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_ResourceReference.Unmarshal(m, b)
+}
+func (m *ResourceReference) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_ResourceReference.Marshal(b, m, deterministic)
+}
+func (dst *ResourceReference) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_ResourceReference.Merge(dst, src)
+}
+func (m *ResourceReference) XXX_Size() int {
+	return xxx_messageInfo_ResourceReference.Size(m)
+}
+func (m *ResourceReference) XXX_DiscardUnknown() {
+	xxx_messageInfo_ResourceReference.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_ResourceReference proto.InternalMessageInfo
+
+func (m *ResourceReference) GetType() string {
 	if m != nil {
-		return m.Symbol
+		return m.Type
 	}
 	return ""
 }
 
-var E_Resource = &proto.ExtensionDesc{
-	ExtendedType:  (*descriptor.FieldOptions)(nil),
-	ExtensionType: (*Resource)(nil),
-	Field:         1053,
-	Name:          "google.api.resource",
-	Tag:           "bytes,1053,opt,name=resource",
-	Filename:      "google/api/resource.proto",
+func (m *ResourceReference) GetChildType() string {
+	if m != nil {
+		return m.ChildType
+	}
+	return ""
 }
 
 var E_ResourceReference = &proto.ExtensionDesc{
 	ExtendedType:  (*descriptor.FieldOptions)(nil),
-	ExtensionType: (*string)(nil),
+	ExtensionType: (*ResourceReference)(nil),
 	Field:         1055,
 	Name:          "google.api.resource_reference",
 	Tag:           "bytes,1055,opt,name=resource_reference,json=resourceReference",
 	Filename:      "google/api/resource.proto",
 }
 
-var E_ResourceDefinition = &proto.ExtensionDesc{
-	ExtendedType:  (*descriptor.FileOptions)(nil),
-	ExtensionType: ([]*Resource)(nil),
+var E_Resource = &proto.ExtensionDesc{
+	ExtendedType:  (*descriptor.MessageOptions)(nil),
+	ExtensionType: (*ResourceDescriptor)(nil),
 	Field:         1053,
-	Name:          "google.api.resource_definition",
-	Tag:           "bytes,1053,rep,name=resource_definition,json=resourceDefinition",
+	Name:          "google.api.resource",
+	Tag:           "bytes,1053,opt,name=resource",
 	Filename:      "google/api/resource.proto",
 }
 
 func init() {
-	proto.RegisterType((*Resource)(nil), "google.api.Resource")
-	proto.RegisterExtension(E_Resource)
+	proto.RegisterType((*ResourceDescriptor)(nil), "google.api.ResourceDescriptor")
+	proto.RegisterType((*ResourceReference)(nil), "google.api.ResourceReference")
+	proto.RegisterEnum("google.api.ResourceDescriptor_History", ResourceDescriptor_History_name, ResourceDescriptor_History_value)
 	proto.RegisterExtension(E_ResourceReference)
-	proto.RegisterExtension(E_ResourceDefinition)
-}
-
-func init() { proto.RegisterFile("google/api/resource.proto", fileDescriptor_resource_232de5e6fd811932) }
-
-var fileDescriptor_resource_232de5e6fd811932 = []byte{
-	// 334 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x84, 0x92, 0xc1, 0x4a, 0xeb, 0x40,
-	0x18, 0x85, 0x49, 0xef, 0xa5, 0xcd, 0x9d, 0xab, 0x82, 0xa3, 0x48, 0x94, 0x16, 0x8a, 0xab, 0x2e,
-	0x64, 0x06, 0x74, 0x57, 0xdd, 0xa4, 0x88, 0xe2, 0x42, 0x1a, 0xb2, 0x74, 0x23, 0xd3, 0x64, 0x3a,
-	0x8c, 0xa4, 0xf3, 0x0f, 0x93, 0xe9, 0x42, 0x4b, 0x1f, 0x45, 0x04, 0x1f, 0xc3, 0x47, 0xea, 0x53,
-	0x48, 0x27, 0x99, 0x98, 0x85, 0xe2, 0xee, 0x3f, 0x9c, 0x39, 0xe7, 0x3b, 0x81, 0xa0, 0x63, 0x01,
-	0x20, 0x0a, 0x4e, 0x99, 0x96, 0xd4, 0xf0, 0x12, 0x96, 0x26, 0xe3, 0x44, 0x1b, 0xb0, 0x80, 0x51,
-	0x65, 0x11, 0xa6, 0xe5, 0xc9, 0xb0, 0x7e, 0xe6, 0x9c, 0xd9, 0x72, 0x4e, 0x73, 0x5e, 0x66, 0x46,
-	0x6a, 0x0b, 0xa6, 0x7a, 0x7d, 0x7a, 0x85, 0xc2, 0xb4, 0xce, 0xe3, 0x08, 0xf5, 0x34, 0xb3, 0x96,
-	0x1b, 0x15, 0x05, 0xc3, 0x60, 0xf4, 0x2f, 0xf5, 0x12, 0x1f, 0xa1, 0x6e, 0xf9, 0xbc, 0x98, 0x41,
-	0x11, 0x75, 0x9c, 0x51, 0xab, 0x71, 0x82, 0x42, 0x4f, 0xc7, 0x03, 0x52, 0x83, 0x3d, 0x8c, 0xdc,
-	0x48, 0x5e, 0xe4, 0x53, 0x6d, 0x25, 0xa8, 0x32, 0x7a, 0x0d, 0x87, 0xc1, 0xe8, 0xff, 0xf9, 0x21,
-	0xf9, 0x9a, 0x47, 0x3c, 0x39, 0x6d, 0x5a, 0xc6, 0xf7, 0x08, 0xfb, 0xfb, 0xd1, 0xf0, 0x39, 0x37,
-	0x5c, 0xfd, 0xde, 0xfd, 0x16, 0xba, 0x55, 0xfb, 0x3e, 0x99, 0xfa, 0xe0, 0x38, 0x47, 0x07, 0x4d,
-	0x5d, 0xce, 0xe7, 0x52, 0xc9, 0x6d, 0x02, 0xf7, 0xbf, 0xe9, 0x2b, 0x78, 0x6b, 0xea, 0x9f, 0x1f,
-	0xa7, 0x36, 0xf3, 0xae, 0x9b, 0xba, 0xc9, 0x47, 0xb0, 0x89, 0x07, 0x08, 0x6b, 0x03, 0x4f, 0x3c,
-	0xb3, 0x25, 0x5d, 0xd5, 0xd7, 0x1a, 0xf7, 0x92, 0xea, 0xda, 0xc4, 0x67, 0xa8, 0x0f, 0x46, 0x30,
-	0x25, 0x5f, 0x98, 0xa3, 0xd0, 0x55, 0x5b, 0xae, 0xf1, 0xce, 0xb4, 0x25, 0xd1, 0x5e, 0x06, 0x8b,
-	0x16, 0x7e, 0xb2, 0xeb, 0xf9, 0xc9, 0x76, 0x70, 0x12, 0x3c, 0xc4, 0xb5, 0x29, 0xa0, 0x60, 0x4a,
-	0x10, 0x30, 0x82, 0x0a, 0xae, 0xdc, 0xe7, 0xd0, 0xca, 0x62, 0x5a, 0x96, 0xee, 0xff, 0x60, 0x4a,
-	0x81, 0xad, 0xa0, 0x97, 0xad, 0xfb, 0xbd, 0xf3, 0xf7, 0x36, 0x4e, 0xee, 0x66, 0x5d, 0x17, 0xba,
-	0xf8, 0x0c, 0x00, 0x00, 0xff, 0xff, 0xcf, 0x7e, 0x96, 0xa2, 0x53, 0x02, 0x00, 0x00,
+	proto.RegisterExtension(E_Resource)
+}
+
+func init() { proto.RegisterFile("google/api/resource.proto", fileDescriptor_resource_1953877c7bf00bf4) }
+
+var fileDescriptor_resource_1953877c7bf00bf4 = []byte{
+	// 430 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x7c, 0x52, 0x41, 0x6f, 0xd3, 0x30,
+	0x18, 0x25, 0x59, 0x45, 0xd7, 0x0f, 0x31, 0x6d, 0x06, 0x89, 0x0c, 0x29, 0x10, 0xf5, 0x80, 0x7a,
+	0x4a, 0xa4, 0x71, 0x1b, 0x17, 0x3a, 0x96, 0x76, 0x91, 0xba, 0x36, 0x72, 0xd3, 0xc3, 0x00, 0x29,
+	0xf2, 0xd2, 0xaf, 0x59, 0xa4, 0xcc, 0xb6, 0x9c, 0xec, 0xd0, 0x1b, 0x7f, 0x04, 0x21, 0xf1, 0x2b,
+	0x39, 0xa2, 0x3a, 0x71, 0x98, 0xd8, 0xb4, 0x9b, 0xf3, 0xde, 0xfb, 0xbe, 0xf7, 0xfc, 0x1c, 0x38,
+	0xce, 0x85, 0xc8, 0x4b, 0x0c, 0x98, 0x2c, 0x02, 0x85, 0x95, 0xb8, 0x53, 0x19, 0xfa, 0x52, 0x89,
+	0x5a, 0x10, 0x68, 0x28, 0x9f, 0xc9, 0xe2, 0xad, 0xd7, 0xca, 0x34, 0x73, 0x7d, 0xb7, 0x09, 0xd6,
+	0x58, 0x65, 0xaa, 0x90, 0xb5, 0x50, 0x8d, 0x7a, 0xf8, 0xc3, 0x06, 0x42, 0xdb, 0x05, 0xe7, 0x1d,
+	0x49, 0x08, 0xf4, 0xea, 0xad, 0x44, 0xc7, 0xf2, 0xac, 0xd1, 0x80, 0xea, 0x33, 0x71, 0xa0, 0x2f,
+	0x59, 0x5d, 0xa3, 0xe2, 0x8e, 0xed, 0xed, 0x8d, 0x06, 0xd4, 0x7c, 0x12, 0x17, 0x80, 0xb3, 0x5b,
+	0x4c, 0x37, 0x05, 0x96, 0x6b, 0x67, 0x4f, 0xcf, 0x0c, 0x76, 0xc8, 0x64, 0x07, 0x90, 0xcf, 0xd0,
+	0xbf, 0x29, 0xaa, 0x5a, 0xa8, 0xad, 0xd3, 0xf3, 0xac, 0xd1, 0xc1, 0xc9, 0x07, 0xff, 0x5f, 0x46,
+	0xff, 0xa1, 0xbb, 0x7f, 0xd1, 0xa8, 0xa9, 0x19, 0x1b, 0x7e, 0x83, 0x7e, 0x8b, 0x91, 0x37, 0xf0,
+	0xea, 0x22, 0x5a, 0x26, 0x0b, 0x7a, 0x95, 0xae, 0xe6, 0xcb, 0x38, 0xfc, 0x12, 0x4d, 0xa2, 0xf0,
+	0xfc, 0xf0, 0x19, 0x71, 0xe1, 0x78, 0x41, 0xa3, 0x69, 0x34, 0x1f, 0xcf, 0x66, 0x57, 0xe9, 0x32,
+	0x9a, 0x4f, 0x67, 0x61, 0x1a, 0x8f, 0x93, 0x24, 0xa4, 0xf3, 0x43, 0x8b, 0x38, 0xf0, 0x7a, 0xb2,
+	0x4a, 0x56, 0x34, 0x4c, 0x2f, 0x57, 0xb3, 0x24, 0xea, 0x18, 0x7b, 0x38, 0x81, 0x23, 0x93, 0x81,
+	0xe2, 0x06, 0x15, 0xf2, 0x0c, 0x1f, 0x2d, 0xc0, 0x05, 0xc8, 0x6e, 0x8a, 0x72, 0x9d, 0x6a, 0xc6,
+	0x6e, 0xae, 0xa9, 0x91, 0x64, 0x2b, 0xf1, 0xb4, 0x04, 0x62, 0x9e, 0x22, 0x55, 0xdd, 0x22, 0xd7,
+	0xdc, 0xd5, 0xbc, 0x81, 0xaf, 0x4b, 0x59, 0xc8, 0xba, 0x10, 0xbc, 0x72, 0x7e, 0xed, 0x7b, 0xd6,
+	0xe8, 0xc5, 0x89, 0xfb, 0x58, 0x23, 0x5d, 0x1a, 0x7a, 0xa4, 0xfe, 0x87, 0x4e, 0xbf, 0xc3, 0xbe,
+	0x01, 0xc9, 0xfb, 0x07, 0x1e, 0x97, 0x58, 0x55, 0x2c, 0x47, 0xe3, 0xf2, 0xb3, 0x71, 0x79, 0xf7,
+	0x74, 0xef, 0xb4, 0xdb, 0x78, 0xc6, 0xe1, 0x20, 0x13, 0xb7, 0xf7, 0xe4, 0x67, 0x2f, 0x8d, 0x3e,
+	0xde, 0x79, 0xc4, 0xd6, 0xd7, 0x71, 0x4b, 0xe6, 0xa2, 0x64, 0x3c, 0xf7, 0x85, 0xca, 0x83, 0x1c,
+	0xb9, 0x4e, 0x10, 0x34, 0x14, 0x93, 0x45, 0xa5, 0xff, 0x50, 0xc6, 0xb9, 0xa8, 0x99, 0x8e, 0xf2,
+	0xe9, 0xde, 0xf9, 0x8f, 0x65, 0xfd, 0xb6, 0x7b, 0xd3, 0x71, 0x1c, 0x5d, 0x3f, 0xd7, 0x73, 0x1f,
+	0xff, 0x06, 0x00, 0x00, 0xff, 0xff, 0xb5, 0x1e, 0x07, 0x80, 0xd8, 0x02, 0x00, 0x00,
 }
diff --git a/googleapis/api/configchange/config_change.pb.go b/googleapis/api/configchange/config_change.pb.go
index 79bd32aabe76a43461fdd3c5036b70934bb70113..a3fe8d51f6f0944f1d98268144f1e6e9e94814e5 100644
--- a/googleapis/api/configchange/config_change.pb.go
+++ b/googleapis/api/configchange/config_change.pb.go
@@ -53,7 +53,7 @@ func (x ChangeType) String() string {
 	return proto.EnumName(ChangeType_name, int32(x))
 }
 func (ChangeType) EnumDescriptor() ([]byte, []int) {
-	return fileDescriptor_config_change_ef3c642f4673b39c, []int{0}
+	return fileDescriptor_config_change_c79968a5a837a1e9, []int{0}
 }
 
 // Output generated from semantically comparing two versions of a service
@@ -69,8 +69,7 @@ type ConfigChange struct {
 	// 'key' is used. If the field has no unique identifier, the numeric index
 	// is used.
 	// Examples:
-	// -
-	// visibility.rules[selector=="google.LibraryService.CreateBook"].restriction
+	// - visibility.rules[selector=="google.LibraryService.ListBooks"].restriction
 	// - quota.metric_rules[selector=="google"].metric_costs[key=="reads"].value
 	// - logging.producer_destinations[0]
 	Element string `protobuf:"bytes,1,opt,name=element,proto3" json:"element,omitempty"`
@@ -94,7 +93,7 @@ func (m *ConfigChange) Reset()         { *m = ConfigChange{} }
 func (m *ConfigChange) String() string { return proto.CompactTextString(m) }
 func (*ConfigChange) ProtoMessage()    {}
 func (*ConfigChange) Descriptor() ([]byte, []int) {
-	return fileDescriptor_config_change_ef3c642f4673b39c, []int{0}
+	return fileDescriptor_config_change_c79968a5a837a1e9, []int{0}
 }
 func (m *ConfigChange) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_ConfigChange.Unmarshal(m, b)
@@ -164,7 +163,7 @@ func (m *Advice) Reset()         { *m = Advice{} }
 func (m *Advice) String() string { return proto.CompactTextString(m) }
 func (*Advice) ProtoMessage()    {}
 func (*Advice) Descriptor() ([]byte, []int) {
-	return fileDescriptor_config_change_ef3c642f4673b39c, []int{1}
+	return fileDescriptor_config_change_c79968a5a837a1e9, []int{1}
 }
 func (m *Advice) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_Advice.Unmarshal(m, b)
@@ -198,10 +197,10 @@ func init() {
 }
 
 func init() {
-	proto.RegisterFile("google/api/config_change.proto", fileDescriptor_config_change_ef3c642f4673b39c)
+	proto.RegisterFile("google/api/config_change.proto", fileDescriptor_config_change_c79968a5a837a1e9)
 }
 
-var fileDescriptor_config_change_ef3c642f4673b39c = []byte{
+var fileDescriptor_config_change_c79968a5a837a1e9 = []byte{
 	// 338 bytes of a gzipped FileDescriptorProto
 	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x4c, 0x91, 0xcd, 0x4e, 0xc2, 0x40,
 	0x14, 0x85, 0x2d, 0xff, 0xdc, 0x12, 0x82, 0xb3, 0xd0, 0x26, 0x24, 0xa6, 0x61, 0x45, 0x88, 0x69,
diff --git a/googleapis/api/distribution/distribution.pb.go b/googleapis/api/distribution/distribution.pb.go
index 16157fcb46ee4dd8825041852d5d2be8b820eaa0..74f6809d0385958e970063cbfe50b45480ff5851 100644
--- a/googleapis/api/distribution/distribution.pb.go
+++ b/googleapis/api/distribution/distribution.pb.go
@@ -85,7 +85,7 @@ func (m *Distribution) Reset()         { *m = Distribution{} }
 func (m *Distribution) String() string { return proto.CompactTextString(m) }
 func (*Distribution) ProtoMessage()    {}
 func (*Distribution) Descriptor() ([]byte, []int) {
-	return fileDescriptor_distribution_ff64d440f86eff03, []int{0}
+	return fileDescriptor_distribution_0ca687210cf00797, []int{0}
 }
 func (m *Distribution) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_Distribution.Unmarshal(m, b)
@@ -169,7 +169,7 @@ func (m *Distribution_Range) Reset()         { *m = Distribution_Range{} }
 func (m *Distribution_Range) String() string { return proto.CompactTextString(m) }
 func (*Distribution_Range) ProtoMessage()    {}
 func (*Distribution_Range) Descriptor() ([]byte, []int) {
-	return fileDescriptor_distribution_ff64d440f86eff03, []int{0, 0}
+	return fileDescriptor_distribution_0ca687210cf00797, []int{0, 0}
 }
 func (m *Distribution_Range) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_Distribution_Range.Unmarshal(m, b)
@@ -235,7 +235,7 @@ func (m *Distribution_BucketOptions) Reset()         { *m = Distribution_BucketO
 func (m *Distribution_BucketOptions) String() string { return proto.CompactTextString(m) }
 func (*Distribution_BucketOptions) ProtoMessage()    {}
 func (*Distribution_BucketOptions) Descriptor() ([]byte, []int) {
-	return fileDescriptor_distribution_ff64d440f86eff03, []int{0, 1}
+	return fileDescriptor_distribution_0ca687210cf00797, []int{0, 1}
 }
 func (m *Distribution_BucketOptions) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_Distribution_BucketOptions.Unmarshal(m, b)
@@ -423,7 +423,7 @@ func (m *Distribution_BucketOptions_Linear) Reset()         { *m = Distribution_
 func (m *Distribution_BucketOptions_Linear) String() string { return proto.CompactTextString(m) }
 func (*Distribution_BucketOptions_Linear) ProtoMessage()    {}
 func (*Distribution_BucketOptions_Linear) Descriptor() ([]byte, []int) {
-	return fileDescriptor_distribution_ff64d440f86eff03, []int{0, 1, 0}
+	return fileDescriptor_distribution_0ca687210cf00797, []int{0, 1, 0}
 }
 func (m *Distribution_BucketOptions_Linear) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_Distribution_BucketOptions_Linear.Unmarshal(m, b)
@@ -491,7 +491,7 @@ func (m *Distribution_BucketOptions_Exponential) Reset() {
 func (m *Distribution_BucketOptions_Exponential) String() string { return proto.CompactTextString(m) }
 func (*Distribution_BucketOptions_Exponential) ProtoMessage()    {}
 func (*Distribution_BucketOptions_Exponential) Descriptor() ([]byte, []int) {
-	return fileDescriptor_distribution_ff64d440f86eff03, []int{0, 1, 1}
+	return fileDescriptor_distribution_0ca687210cf00797, []int{0, 1, 1}
 }
 func (m *Distribution_BucketOptions_Exponential) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_Distribution_BucketOptions_Exponential.Unmarshal(m, b)
@@ -555,7 +555,7 @@ func (m *Distribution_BucketOptions_Explicit) Reset()         { *m = Distributio
 func (m *Distribution_BucketOptions_Explicit) String() string { return proto.CompactTextString(m) }
 func (*Distribution_BucketOptions_Explicit) ProtoMessage()    {}
 func (*Distribution_BucketOptions_Explicit) Descriptor() ([]byte, []int) {
-	return fileDescriptor_distribution_ff64d440f86eff03, []int{0, 1, 2}
+	return fileDescriptor_distribution_0ca687210cf00797, []int{0, 1, 2}
 }
 func (m *Distribution_BucketOptions_Explicit) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_Distribution_BucketOptions_Explicit.Unmarshal(m, b)
@@ -595,7 +595,7 @@ type Distribution_Exemplar struct {
 	Timestamp *timestamp.Timestamp `protobuf:"bytes,2,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
 	// Contextual information about the example value. Examples are:
 	//
-	//   Trace ID: type.googleapis.com/google.devtools.cloudtrace.v1.Trace
+	//   Trace: type.googleapis.com/google.monitoring.v3.SpanContext
 	//
 	//   Literal string: type.googleapis.com/google.protobuf.StringValue
 	//
@@ -614,7 +614,7 @@ func (m *Distribution_Exemplar) Reset()         { *m = Distribution_Exemplar{} }
 func (m *Distribution_Exemplar) String() string { return proto.CompactTextString(m) }
 func (*Distribution_Exemplar) ProtoMessage()    {}
 func (*Distribution_Exemplar) Descriptor() ([]byte, []int) {
-	return fileDescriptor_distribution_ff64d440f86eff03, []int{0, 2}
+	return fileDescriptor_distribution_0ca687210cf00797, []int{0, 2}
 }
 func (m *Distribution_Exemplar) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_Distribution_Exemplar.Unmarshal(m, b)
@@ -666,10 +666,10 @@ func init() {
 }
 
 func init() {
-	proto.RegisterFile("google/api/distribution.proto", fileDescriptor_distribution_ff64d440f86eff03)
+	proto.RegisterFile("google/api/distribution.proto", fileDescriptor_distribution_0ca687210cf00797)
 }
 
-var fileDescriptor_distribution_ff64d440f86eff03 = []byte{
+var fileDescriptor_distribution_0ca687210cf00797 = []byte{
 	// 631 bytes of a gzipped FileDescriptorProto
 	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x54, 0xed, 0x6a, 0xd4, 0x40,
 	0x14, 0x6d, 0x9a, 0xdd, 0x6d, 0x7b, 0xb7, 0x5b, 0xeb, 0x58, 0x25, 0x06, 0xd4, 0xb5, 0x05, 0x59,
diff --git a/googleapis/api/httpbody/httpbody.pb.go b/googleapis/api/httpbody/httpbody.pb.go
index 26021b0f9346c75c565b5b651be570a29a9149de..53027d6c8d8cff87ef6d5f653212c5398efc7237 100644
--- a/googleapis/api/httpbody/httpbody.pb.go
+++ b/googleapis/api/httpbody/httpbody.pb.go
@@ -75,7 +75,7 @@ func (m *HttpBody) Reset()         { *m = HttpBody{} }
 func (m *HttpBody) String() string { return proto.CompactTextString(m) }
 func (*HttpBody) ProtoMessage()    {}
 func (*HttpBody) Descriptor() ([]byte, []int) {
-	return fileDescriptor_httpbody_45db50668f1dc1dc, []int{0}
+	return fileDescriptor_httpbody_4b22a683a4267e55, []int{0}
 }
 func (m *HttpBody) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_HttpBody.Unmarshal(m, b)
@@ -120,9 +120,9 @@ func init() {
 	proto.RegisterType((*HttpBody)(nil), "google.api.HttpBody")
 }
 
-func init() { proto.RegisterFile("google/api/httpbody.proto", fileDescriptor_httpbody_45db50668f1dc1dc) }
+func init() { proto.RegisterFile("google/api/httpbody.proto", fileDescriptor_httpbody_4b22a683a4267e55) }
 
-var fileDescriptor_httpbody_45db50668f1dc1dc = []byte{
+var fileDescriptor_httpbody_4b22a683a4267e55 = []byte{
 	// 229 bytes of a gzipped FileDescriptorProto
 	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x54, 0x8f, 0x31, 0x4f, 0xc3, 0x30,
 	0x10, 0x85, 0xe5, 0xb6, 0x42, 0x70, 0x2d, 0x0c, 0x16, 0x43, 0x60, 0x0a, 0x4c, 0x99, 0x6c, 0x09,
diff --git a/googleapis/api/label/label.pb.go b/googleapis/api/label/label.pb.go
index af135fbf72bf50754466c7ce93d3517ed96d1a77..4fbffb398a4c4bd7a2dc450209e59bb105df0fcd 100644
--- a/googleapis/api/label/label.pb.go
+++ b/googleapis/api/label/label.pb.go
@@ -45,7 +45,7 @@ func (x LabelDescriptor_ValueType) String() string {
 	return proto.EnumName(LabelDescriptor_ValueType_name, int32(x))
 }
 func (LabelDescriptor_ValueType) EnumDescriptor() ([]byte, []int) {
-	return fileDescriptor_label_c8bdbc08202d09f7, []int{0, 0}
+	return fileDescriptor_label_d86ce3ed040f9325, []int{0, 0}
 }
 
 // A description of a label.
@@ -65,7 +65,7 @@ func (m *LabelDescriptor) Reset()         { *m = LabelDescriptor{} }
 func (m *LabelDescriptor) String() string { return proto.CompactTextString(m) }
 func (*LabelDescriptor) ProtoMessage()    {}
 func (*LabelDescriptor) Descriptor() ([]byte, []int) {
-	return fileDescriptor_label_c8bdbc08202d09f7, []int{0}
+	return fileDescriptor_label_d86ce3ed040f9325, []int{0}
 }
 func (m *LabelDescriptor) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_LabelDescriptor.Unmarshal(m, b)
@@ -111,9 +111,9 @@ func init() {
 	proto.RegisterEnum("google.api.LabelDescriptor_ValueType", LabelDescriptor_ValueType_name, LabelDescriptor_ValueType_value)
 }
 
-func init() { proto.RegisterFile("google/api/label.proto", fileDescriptor_label_c8bdbc08202d09f7) }
+func init() { proto.RegisterFile("google/api/label.proto", fileDescriptor_label_d86ce3ed040f9325) }
 
-var fileDescriptor_label_c8bdbc08202d09f7 = []byte{
+var fileDescriptor_label_d86ce3ed040f9325 = []byte{
 	// 252 bytes of a gzipped FileDescriptorProto
 	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x12, 0x4b, 0xcf, 0xcf, 0x4f,
 	0xcf, 0x49, 0xd5, 0x4f, 0x2c, 0xc8, 0xd4, 0xcf, 0x49, 0x4c, 0x4a, 0xcd, 0xd1, 0x2b, 0x28, 0xca,
diff --git a/googleapis/api/launch_stage.pb.go b/googleapis/api/launch_stage.pb.go
index 81239a482e74e05067f3309ae681ffc1169ab6a7..ae29b2073eae79eb0f5e1acc68515d841157ef74 100644
--- a/googleapis/api/launch_stage.pb.go
+++ b/googleapis/api/launch_stage.pb.go
@@ -79,7 +79,7 @@ func (x LaunchStage) String() string {
 	return proto.EnumName(LaunchStage_name, int32(x))
 }
 func (LaunchStage) EnumDescriptor() ([]byte, []int) {
-	return fileDescriptor_launch_stage_a5005a4ee2700165, []int{0}
+	return fileDescriptor_launch_stage_46ed64e66aa6329c, []int{0}
 }
 
 func init() {
@@ -87,10 +87,10 @@ func init() {
 }
 
 func init() {
-	proto.RegisterFile("google/api/launch_stage.proto", fileDescriptor_launch_stage_a5005a4ee2700165)
+	proto.RegisterFile("google/api/launch_stage.proto", fileDescriptor_launch_stage_46ed64e66aa6329c)
 }
 
-var fileDescriptor_launch_stage_a5005a4ee2700165 = []byte{
+var fileDescriptor_launch_stage_46ed64e66aa6329c = []byte{
 	// 225 bytes of a gzipped FileDescriptorProto
 	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x4c, 0x8f, 0xc1, 0x4a, 0xc3, 0x40,
 	0x14, 0x45, 0x6d, 0x4c, 0x8b, 0x3e, 0xa5, 0x3c, 0x66, 0xe5, 0x42, 0x7f, 0x40, 0x30, 0x59, 0xb8,
diff --git a/googleapis/api/metric/metric.pb.go b/googleapis/api/metric/metric.pb.go
index c6c28b28755de852d58d09108a40aef2569d3a22..e209dc5d3c12025d37e07f25b097d04dd30fbd89 100644
--- a/googleapis/api/metric/metric.pb.go
+++ b/googleapis/api/metric/metric.pb.go
@@ -56,7 +56,7 @@ func (x MetricDescriptor_MetricKind) String() string {
 	return proto.EnumName(MetricDescriptor_MetricKind_name, int32(x))
 }
 func (MetricDescriptor_MetricKind) EnumDescriptor() ([]byte, []int) {
-	return fileDescriptor_metric_70b5b8d2d060c7ba, []int{0, 0}
+	return fileDescriptor_metric_6e51d2a4cf4adf4d, []int{0, 0}
 }
 
 // The value type of a metric.
@@ -104,7 +104,7 @@ func (x MetricDescriptor_ValueType) String() string {
 	return proto.EnumName(MetricDescriptor_ValueType_name, int32(x))
 }
 func (MetricDescriptor_ValueType) EnumDescriptor() ([]byte, []int) {
-	return fileDescriptor_metric_70b5b8d2d060c7ba, []int{0, 1}
+	return fileDescriptor_metric_6e51d2a4cf4adf4d, []int{0, 1}
 }
 
 // Defines a metric type and its schema. Once a metric descriptor is created,
@@ -219,7 +219,7 @@ func (m *MetricDescriptor) Reset()         { *m = MetricDescriptor{} }
 func (m *MetricDescriptor) String() string { return proto.CompactTextString(m) }
 func (*MetricDescriptor) ProtoMessage()    {}
 func (*MetricDescriptor) Descriptor() ([]byte, []int) {
-	return fileDescriptor_metric_70b5b8d2d060c7ba, []int{0}
+	return fileDescriptor_metric_6e51d2a4cf4adf4d, []int{0}
 }
 func (m *MetricDescriptor) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_MetricDescriptor.Unmarshal(m, b)
@@ -326,7 +326,7 @@ func (m *MetricDescriptor_MetricDescriptorMetadata) Reset() {
 func (m *MetricDescriptor_MetricDescriptorMetadata) String() string { return proto.CompactTextString(m) }
 func (*MetricDescriptor_MetricDescriptorMetadata) ProtoMessage()    {}
 func (*MetricDescriptor_MetricDescriptorMetadata) Descriptor() ([]byte, []int) {
-	return fileDescriptor_metric_70b5b8d2d060c7ba, []int{0, 0}
+	return fileDescriptor_metric_6e51d2a4cf4adf4d, []int{0, 0}
 }
 func (m *MetricDescriptor_MetricDescriptorMetadata) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_MetricDescriptor_MetricDescriptorMetadata.Unmarshal(m, b)
@@ -370,9 +370,8 @@ func (m *MetricDescriptor_MetricDescriptorMetadata) GetIngestDelay() *duration.D
 // A specific metric, identified by specifying values for all of the
 // labels of a [`MetricDescriptor`][google.api.MetricDescriptor].
 type Metric struct {
-	// An existing metric type, see
-	// [google.api.MetricDescriptor][google.api.MetricDescriptor]. For example,
-	// `custom.googleapis.com/invoice/paid/amount`.
+	// An existing metric type, see [google.api.MetricDescriptor][google.api.MetricDescriptor].
+	// For example, `custom.googleapis.com/invoice/paid/amount`.
 	Type string `protobuf:"bytes,3,opt,name=type,proto3" json:"type,omitempty"`
 	// The set of label values that uniquely identify this metric. All
 	// labels listed in the `MetricDescriptor` must be assigned values.
@@ -386,7 +385,7 @@ func (m *Metric) Reset()         { *m = Metric{} }
 func (m *Metric) String() string { return proto.CompactTextString(m) }
 func (*Metric) ProtoMessage()    {}
 func (*Metric) Descriptor() ([]byte, []int) {
-	return fileDescriptor_metric_70b5b8d2d060c7ba, []int{1}
+	return fileDescriptor_metric_6e51d2a4cf4adf4d, []int{1}
 }
 func (m *Metric) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_Metric.Unmarshal(m, b)
@@ -429,9 +428,9 @@ func init() {
 	proto.RegisterEnum("google.api.MetricDescriptor_ValueType", MetricDescriptor_ValueType_name, MetricDescriptor_ValueType_value)
 }
 
-func init() { proto.RegisterFile("google/api/metric.proto", fileDescriptor_metric_70b5b8d2d060c7ba) }
+func init() { proto.RegisterFile("google/api/metric.proto", fileDescriptor_metric_6e51d2a4cf4adf4d) }
 
-var fileDescriptor_metric_70b5b8d2d060c7ba = []byte{
+var fileDescriptor_metric_6e51d2a4cf4adf4d = []byte{
 	// 648 bytes of a gzipped FileDescriptorProto
 	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x54, 0x5d, 0x6e, 0xd3, 0x40,
 	0x10, 0xc6, 0xf9, 0x31, 0xcd, 0x38, 0x44, 0xd6, 0x0a, 0xb5, 0x26, 0x15, 0x55, 0xc8, 0x03, 0xe4,
diff --git a/googleapis/api/monitoredres/monitored_resource.pb.go b/googleapis/api/monitoredres/monitored_resource.pb.go
index 66fb9ffb66f7836c0d64fa815c4fcf7159dc28dc..3aa2fb1f4e2f14543d711c95b976f1f79e7ddd8d 100644
--- a/googleapis/api/monitoredres/monitored_resource.pb.go
+++ b/googleapis/api/monitoredres/monitored_resource.pb.go
@@ -20,10 +20,9 @@ var _ = math.Inf
 // proto package needs to be updated.
 const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package
 
-// An object that describes the schema of a
-// [MonitoredResource][google.api.MonitoredResource] object using a type name
-// and a set of labels.  For example, the monitored resource descriptor for
-// Google Compute Engine VM instances has a type of
+// An object that describes the schema of a [MonitoredResource][google.api.MonitoredResource] object using a
+// type name and a set of labels.  For example, the monitored resource
+// descriptor for Google Compute Engine VM instances has a type of
 // `"gce_instance"` and specifies the use of the labels `"instance_id"` and
 // `"zone"` to identify particular VM instances.
 //
@@ -63,7 +62,7 @@ func (m *MonitoredResourceDescriptor) Reset()         { *m = MonitoredResourceDe
 func (m *MonitoredResourceDescriptor) String() string { return proto.CompactTextString(m) }
 func (*MonitoredResourceDescriptor) ProtoMessage()    {}
 func (*MonitoredResourceDescriptor) Descriptor() ([]byte, []int) {
-	return fileDescriptor_monitored_resource_fb985cf78be5ad98, []int{0}
+	return fileDescriptor_monitored_resource_90111f8aabf551aa, []int{0}
 }
 func (m *MonitoredResourceDescriptor) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_MonitoredResourceDescriptor.Unmarshal(m, b)
@@ -121,13 +120,11 @@ func (m *MonitoredResourceDescriptor) GetLabels() []*label.LabelDescriptor {
 // An object representing a resource that can be used for monitoring, logging,
 // billing, or other purposes. Examples include virtual machine instances,
 // databases, and storage devices such as disks. The `type` field identifies a
-// [MonitoredResourceDescriptor][google.api.MonitoredResourceDescriptor] object
-// that describes the resource's schema. Information in the `labels` field
-// identifies the actual resource and its attributes according to the schema.
-// For example, a particular Compute Engine VM instance could be represented by
-// the following object, because the
-// [MonitoredResourceDescriptor][google.api.MonitoredResourceDescriptor] for
-// `"gce_instance"` has labels
+// [MonitoredResourceDescriptor][google.api.MonitoredResourceDescriptor] object that describes the resource's
+// schema. Information in the `labels` field identifies the actual resource and
+// its attributes according to the schema. For example, a particular Compute
+// Engine VM instance could be represented by the following object, because the
+// [MonitoredResourceDescriptor][google.api.MonitoredResourceDescriptor] for `"gce_instance"` has labels
 // `"instance_id"` and `"zone"`:
 //
 //     { "type": "gce_instance",
@@ -135,10 +132,8 @@ func (m *MonitoredResourceDescriptor) GetLabels() []*label.LabelDescriptor {
 //                   "zone": "us-central1-a" }}
 type MonitoredResource struct {
 	// Required. The monitored resource type. This field must match
-	// the `type` field of a
-	// [MonitoredResourceDescriptor][google.api.MonitoredResourceDescriptor]
-	// object. For example, the type of a Compute Engine VM instance is
-	// `gce_instance`.
+	// the `type` field of a [MonitoredResourceDescriptor][google.api.MonitoredResourceDescriptor] object. For
+	// example, the type of a Compute Engine VM instance is `gce_instance`.
 	Type string `protobuf:"bytes,1,opt,name=type,proto3" json:"type,omitempty"`
 	// Required. Values for all of the labels listed in the associated monitored
 	// resource descriptor. For example, Compute Engine VM instances use the
@@ -153,7 +148,7 @@ func (m *MonitoredResource) Reset()         { *m = MonitoredResource{} }
 func (m *MonitoredResource) String() string { return proto.CompactTextString(m) }
 func (*MonitoredResource) ProtoMessage()    {}
 func (*MonitoredResource) Descriptor() ([]byte, []int) {
-	return fileDescriptor_monitored_resource_fb985cf78be5ad98, []int{1}
+	return fileDescriptor_monitored_resource_90111f8aabf551aa, []int{1}
 }
 func (m *MonitoredResource) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_MonitoredResource.Unmarshal(m, b)
@@ -187,12 +182,12 @@ func (m *MonitoredResource) GetLabels() map[string]string {
 	return nil
 }
 
-// Auxiliary metadata for a [MonitoredResource][google.api.MonitoredResource]
-// object. [MonitoredResource][google.api.MonitoredResource] objects contain the
-// minimum set of information to uniquely identify a monitored resource
-// instance. There is some other useful auxiliary metadata. Monitoring and
-// Logging use an ingestion pipeline to extract metadata for cloud resources of
-// all types, and store the metadata in this message.
+// Auxiliary metadata for a [MonitoredResource][google.api.MonitoredResource] object.
+// [MonitoredResource][google.api.MonitoredResource] objects contain the minimum set of information to
+// uniquely identify a monitored resource instance. There is some other useful
+// auxiliary metadata. Monitoring and Logging use an ingestion
+// pipeline to extract metadata for cloud resources of all types, and store
+// the metadata in this message.
 type MonitoredResourceMetadata struct {
 	// Output only. Values for predefined system metadata labels.
 	// System labels are a kind of metadata extracted by Google, including
@@ -216,7 +211,7 @@ func (m *MonitoredResourceMetadata) Reset()         { *m = MonitoredResourceMeta
 func (m *MonitoredResourceMetadata) String() string { return proto.CompactTextString(m) }
 func (*MonitoredResourceMetadata) ProtoMessage()    {}
 func (*MonitoredResourceMetadata) Descriptor() ([]byte, []int) {
-	return fileDescriptor_monitored_resource_fb985cf78be5ad98, []int{2}
+	return fileDescriptor_monitored_resource_90111f8aabf551aa, []int{2}
 }
 func (m *MonitoredResourceMetadata) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_MonitoredResourceMetadata.Unmarshal(m, b)
@@ -259,10 +254,10 @@ func init() {
 }
 
 func init() {
-	proto.RegisterFile("google/api/monitored_resource.proto", fileDescriptor_monitored_resource_fb985cf78be5ad98)
+	proto.RegisterFile("google/api/monitored_resource.proto", fileDescriptor_monitored_resource_90111f8aabf551aa)
 }
 
-var fileDescriptor_monitored_resource_fb985cf78be5ad98 = []byte{
+var fileDescriptor_monitored_resource_90111f8aabf551aa = []byte{
 	// 415 bytes of a gzipped FileDescriptorProto
 	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x53, 0x4d, 0xab, 0xd3, 0x40,
 	0x14, 0x65, 0xd2, 0x0f, 0xf0, 0xa6, 0x7e, 0x0d, 0x52, 0x63, 0xea, 0xa2, 0xd6, 0x4d, 0xdd, 0x24,
diff --git a/googleapis/api/serviceconfig/auth.pb.go b/googleapis/api/serviceconfig/auth.pb.go
index a11819fbd59057911eec6b83e2aac779b04868e7..cb62addc5635c1251af9427ffe1e67a94f109949 100644
--- a/googleapis/api/serviceconfig/auth.pb.go
+++ b/googleapis/api/serviceconfig/auth.pb.go
@@ -6,7 +6,6 @@ package serviceconfig // import "google.golang.org/genproto/googleapis/api/servi
 import proto "github.com/golang/protobuf/proto"
 import fmt "fmt"
 import math "math"
-import _ "google.golang.org/genproto/googleapis/api/annotations"
 
 // Reference imports to suppress errors if they are not otherwise used.
 var _ = proto.Marshal
@@ -49,7 +48,7 @@ func (m *Authentication) Reset()         { *m = Authentication{} }
 func (m *Authentication) String() string { return proto.CompactTextString(m) }
 func (*Authentication) ProtoMessage()    {}
 func (*Authentication) Descriptor() ([]byte, []int) {
-	return fileDescriptor_auth_9846d22c4b7e834a, []int{0}
+	return fileDescriptor_auth_b5477a273d62f01b, []int{0}
 }
 func (m *Authentication) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_Authentication.Unmarshal(m, b)
@@ -95,8 +94,7 @@ func (m *Authentication) GetProviders() []*AuthProvider {
 type AuthenticationRule struct {
 	// Selects the methods to which this rule applies.
 	//
-	// Refer to [selector][google.api.DocumentationRule.selector] for syntax
-	// details.
+	// Refer to [selector][google.api.DocumentationRule.selector] for syntax details.
 	Selector string `protobuf:"bytes,1,opt,name=selector,proto3" json:"selector,omitempty"`
 	// The requirements for OAuth credentials.
 	Oauth *OAuthRequirements `protobuf:"bytes,2,opt,name=oauth,proto3" json:"oauth,omitempty"`
@@ -113,7 +111,7 @@ func (m *AuthenticationRule) Reset()         { *m = AuthenticationRule{} }
 func (m *AuthenticationRule) String() string { return proto.CompactTextString(m) }
 func (*AuthenticationRule) ProtoMessage()    {}
 func (*AuthenticationRule) Descriptor() ([]byte, []int) {
-	return fileDescriptor_auth_9846d22c4b7e834a, []int{1}
+	return fileDescriptor_auth_b5477a273d62f01b, []int{1}
 }
 func (m *AuthenticationRule) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_AuthenticationRule.Unmarshal(m, b)
@@ -161,7 +159,7 @@ func (m *AuthenticationRule) GetRequirements() []*AuthRequirement {
 	return nil
 }
 
-// Configuration for an anthentication provider, including support for
+// Configuration for an authentication provider, including support for
 // [JSON Web Token
 // (JWT)](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32).
 type AuthProvider struct {
@@ -216,7 +214,7 @@ func (m *AuthProvider) Reset()         { *m = AuthProvider{} }
 func (m *AuthProvider) String() string { return proto.CompactTextString(m) }
 func (*AuthProvider) ProtoMessage()    {}
 func (*AuthProvider) Descriptor() ([]byte, []int) {
-	return fileDescriptor_auth_9846d22c4b7e834a, []int{2}
+	return fileDescriptor_auth_b5477a273d62f01b, []int{2}
 }
 func (m *AuthProvider) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_AuthProvider.Unmarshal(m, b)
@@ -307,7 +305,7 @@ func (m *OAuthRequirements) Reset()         { *m = OAuthRequirements{} }
 func (m *OAuthRequirements) String() string { return proto.CompactTextString(m) }
 func (*OAuthRequirements) ProtoMessage()    {}
 func (*OAuthRequirements) Descriptor() ([]byte, []int) {
-	return fileDescriptor_auth_9846d22c4b7e834a, []int{3}
+	return fileDescriptor_auth_b5477a273d62f01b, []int{3}
 }
 func (m *OAuthRequirements) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_OAuthRequirements.Unmarshal(m, b)
@@ -370,7 +368,7 @@ func (m *AuthRequirement) Reset()         { *m = AuthRequirement{} }
 func (m *AuthRequirement) String() string { return proto.CompactTextString(m) }
 func (*AuthRequirement) ProtoMessage()    {}
 func (*AuthRequirement) Descriptor() ([]byte, []int) {
-	return fileDescriptor_auth_9846d22c4b7e834a, []int{4}
+	return fileDescriptor_auth_b5477a273d62f01b, []int{4}
 }
 func (m *AuthRequirement) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_AuthRequirement.Unmarshal(m, b)
@@ -412,38 +410,37 @@ func init() {
 	proto.RegisterType((*AuthRequirement)(nil), "google.api.AuthRequirement")
 }
 
-func init() { proto.RegisterFile("google/api/auth.proto", fileDescriptor_auth_9846d22c4b7e834a) }
-
-var fileDescriptor_auth_9846d22c4b7e834a = []byte{
-	// 465 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x64, 0x52, 0x5f, 0x6b, 0x13, 0x4f,
-	0x14, 0x65, 0x93, 0xa6, 0xcd, 0xde, 0x94, 0xb4, 0x1d, 0xf8, 0x95, 0xfd, 0xd5, 0xaa, 0x21, 0x4f,
-	0x11, 0x61, 0x03, 0xad, 0x88, 0x20, 0x28, 0xad, 0x88, 0xf4, 0xc9, 0x30, 0x52, 0x04, 0x5f, 0x96,
-	0x71, 0x76, 0xdc, 0x8c, 0x9d, 0xce, 0x5d, 0xe7, 0x4f, 0x03, 0x3e, 0xf8, 0x49, 0x7c, 0xf2, 0x93,
-	0xf9, 0x51, 0x64, 0x67, 0xb7, 0xc9, 0x6e, 0xfa, 0x78, 0xef, 0x39, 0xe7, 0xde, 0x7b, 0xce, 0x0c,
-	0xfc, 0x57, 0x20, 0x16, 0x4a, 0xcc, 0x59, 0x29, 0xe7, 0xcc, 0xbb, 0x65, 0x5a, 0x1a, 0x74, 0x48,
-	0xa0, 0x6e, 0xa7, 0xac, 0x94, 0x27, 0xa7, 0x6d, 0x8a, 0xd6, 0xe8, 0x98, 0x93, 0xa8, 0x6d, 0xcd,
-	0x9c, 0xfe, 0x82, 0xf1, 0x85, 0x77, 0x4b, 0xa1, 0x9d, 0xe4, 0x01, 0x20, 0x2f, 0x60, 0x60, 0xbc,
-	0x12, 0x36, 0xe9, 0x4f, 0xfa, 0xb3, 0xd1, 0xd9, 0x93, 0x74, 0x33, 0x2b, 0xed, 0x52, 0xa9, 0x57,
-	0x82, 0xd6, 0x64, 0xf2, 0x12, 0xe2, 0xd2, 0xe0, 0x9d, 0xcc, 0x85, 0xb1, 0xc9, 0x4e, 0x50, 0x26,
-	0xdb, 0xca, 0x45, 0x43, 0xa0, 0x1b, 0xea, 0xf4, 0x6f, 0x04, 0xe4, 0xe1, 0x54, 0x72, 0x02, 0x43,
-	0x2b, 0x94, 0xe0, 0x0e, 0x4d, 0x12, 0x4d, 0xa2, 0x59, 0x4c, 0xd7, 0x35, 0x39, 0x87, 0x01, 0x56,
-	0x5e, 0x93, 0xde, 0x24, 0x9a, 0x8d, 0xce, 0x1e, 0xb7, 0xd7, 0x7c, 0xac, 0x66, 0x51, 0xf1, 0xc3,
-	0x4b, 0x23, 0x6e, 0x85, 0x76, 0x96, 0xd6, 0x5c, 0xf2, 0x0a, 0x12, 0xa6, 0x14, 0xae, 0xb2, 0x95,
-	0x74, 0x4b, 0xf4, 0x2e, 0xe3, 0x46, 0xe4, 0xd5, 0x52, 0xa6, 0x92, 0xc1, 0x24, 0x9a, 0x0d, 0xe9,
-	0x71, 0xc0, 0x3f, 0xd7, 0xf0, 0xbb, 0x35, 0x4a, 0xde, 0xc2, 0xbe, 0x69, 0x0d, 0x4c, 0xf6, 0x82,
-	0xb9, 0x47, 0xdb, 0xe6, 0x5a, 0x4b, 0x69, 0x47, 0x30, 0xfd, 0x1d, 0xc1, 0x7e, 0xdb, 0x3e, 0x19,
-	0x43, 0x4f, 0xe6, 0x8d, 0xad, 0x9e, 0xcc, 0xc9, 0x31, 0xec, 0x4a, 0x6b, 0xbd, 0x30, 0xc1, 0x51,
-	0x4c, 0x9b, 0x8a, 0xfc, 0x0f, 0xc3, 0xef, 0xab, 0x1b, 0x9b, 0x79, 0x23, 0x93, 0x7e, 0x40, 0xf6,
-	0xaa, 0xfa, 0xda, 0x48, 0x72, 0x0a, 0x31, 0xf3, 0xb9, 0x14, 0x9a, 0x8b, 0x2a, 0xee, 0x0a, 0xdb,
-	0x34, 0xc8, 0x73, 0x38, 0xaa, 0x4c, 0xa3, 0x91, 0x3f, 0x43, 0xa4, 0x99, 0x37, 0xb5, 0xcb, 0x98,
-	0x1e, 0x76, 0x80, 0x6b, 0xa3, 0xa6, 0x6f, 0xe0, 0xe8, 0x41, 0x6a, 0xe4, 0x19, 0x1c, 0x72, 0xa6,
-	0x51, 0x4b, 0xce, 0x54, 0x66, 0x39, 0x96, 0xc2, 0x36, 0x07, 0x1f, 0xac, 0xfb, 0x9f, 0x42, 0x7b,
-	0xba, 0x80, 0x83, 0x2d, 0x39, 0x79, 0x0a, 0xa3, 0xfb, 0x17, 0xce, 0xd6, 0x4e, 0xe1, 0xbe, 0x75,
-	0x95, 0x77, 0xcf, 0xef, 0x6d, 0x9d, 0x7f, 0x79, 0x03, 0x63, 0x8e, 0xb7, 0xad, 0x80, 0x2f, 0xe3,
-	0x26, 0x3f, 0x87, 0x8b, 0xe8, 0xcb, 0xfb, 0x06, 0x28, 0x50, 0x31, 0x5d, 0xa4, 0x68, 0x8a, 0x79,
-	0x21, 0x74, 0xf8, 0xce, 0xf3, 0x1a, 0x62, 0xa5, 0xb4, 0xe1, 0xbf, 0x5b, 0x61, 0xee, 0x24, 0x17,
-	0x1c, 0xf5, 0x37, 0x59, 0xbc, 0xee, 0x54, 0x7f, 0x7a, 0x3b, 0x1f, 0x2e, 0x16, 0x57, 0x5f, 0x77,
-	0x83, 0xf0, 0xfc, 0x5f, 0x00, 0x00, 0x00, 0xff, 0xff, 0xe5, 0xa3, 0x9d, 0xc6, 0x4a, 0x03, 0x00,
-	0x00,
+func init() { proto.RegisterFile("google/api/auth.proto", fileDescriptor_auth_b5477a273d62f01b) }
+
+var fileDescriptor_auth_b5477a273d62f01b = []byte{
+	// 452 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x64, 0x52, 0x4d, 0x6b, 0xdb, 0x40,
+	0x10, 0x45, 0x72, 0x9c, 0x58, 0xe3, 0xe0, 0x24, 0x0b, 0x0d, 0xea, 0xb7, 0xd1, 0xc9, 0xa5, 0x20,
+	0x43, 0x52, 0x4a, 0xa1, 0xd0, 0x92, 0x94, 0x52, 0x72, 0xaa, 0xd9, 0x12, 0x0a, 0xbd, 0x88, 0xed,
+	0x6a, 0x2b, 0x6f, 0xb3, 0xd1, 0xa8, 0xfb, 0x11, 0x43, 0x0f, 0xfd, 0x25, 0x3d, 0xf5, 0x97, 0xf5,
+	0xa7, 0x04, 0xad, 0x14, 0x5b, 0x72, 0x8e, 0x33, 0xef, 0xbd, 0x99, 0x79, 0x6f, 0x17, 0x1e, 0x14,
+	0x88, 0x85, 0x12, 0x73, 0x56, 0xc9, 0x39, 0x73, 0x76, 0x99, 0x56, 0x1a, 0x2d, 0x12, 0x68, 0xda,
+	0x29, 0xab, 0x64, 0xf2, 0x07, 0x26, 0x67, 0xce, 0x2e, 0x45, 0x69, 0x25, 0x67, 0x56, 0x62, 0x49,
+	0x5e, 0xc1, 0x50, 0x3b, 0x25, 0x4c, 0x3c, 0x98, 0x0e, 0x66, 0xe3, 0x93, 0x67, 0xe9, 0x86, 0x9d,
+	0xf6, 0xa9, 0xd4, 0x29, 0x41, 0x1b, 0x32, 0x79, 0x0d, 0x51, 0xa5, 0xf1, 0x46, 0xe6, 0x42, 0x9b,
+	0x78, 0xc7, 0x2b, 0xe3, 0x6d, 0xe5, 0xa2, 0x25, 0xd0, 0x0d, 0x35, 0xf9, 0x1f, 0x00, 0xb9, 0x3f,
+	0x95, 0x3c, 0x82, 0x91, 0x11, 0x4a, 0x70, 0x8b, 0x3a, 0x0e, 0xa6, 0xc1, 0x2c, 0xa2, 0xeb, 0x9a,
+	0x9c, 0xc2, 0x10, 0x6b, 0x37, 0x71, 0x38, 0x0d, 0x66, 0xe3, 0x93, 0xa7, 0xdd, 0x35, 0x9f, 0xeb,
+	0x59, 0x54, 0xfc, 0x72, 0x52, 0x8b, 0x6b, 0x51, 0x5a, 0x43, 0x1b, 0x2e, 0x79, 0x03, 0x31, 0x53,
+	0x0a, 0x57, 0xd9, 0x4a, 0xda, 0x25, 0x3a, 0x9b, 0x71, 0x2d, 0xf2, 0x7a, 0x29, 0x53, 0xf1, 0x70,
+	0x1a, 0xcc, 0x46, 0xf4, 0xd8, 0xe3, 0x5f, 0x1b, 0xf8, 0xc3, 0x1a, 0x25, 0xef, 0x61, 0x5f, 0x77,
+	0x06, 0xc6, 0x7b, 0xde, 0xdc, 0xe3, 0x6d, 0x73, 0x9d, 0xa5, 0xb4, 0x27, 0x48, 0xfe, 0x06, 0xb0,
+	0xdf, 0xb5, 0x4f, 0x26, 0x10, 0xca, 0xbc, 0xb5, 0x15, 0xca, 0x9c, 0x1c, 0xc3, 0xae, 0x34, 0xc6,
+	0x09, 0xed, 0x1d, 0x45, 0xb4, 0xad, 0xc8, 0x43, 0x18, 0xfd, 0x5c, 0x5d, 0x99, 0xcc, 0x69, 0x19,
+	0x0f, 0x3c, 0xb2, 0x57, 0xd7, 0x97, 0x5a, 0x92, 0x27, 0x10, 0x31, 0x97, 0x4b, 0x51, 0x72, 0x51,
+	0xc7, 0x5d, 0x63, 0x9b, 0x06, 0x79, 0x09, 0x47, 0xb5, 0x69, 0xd4, 0xf2, 0xb7, 0x8f, 0x34, 0x73,
+	0xba, 0x71, 0x19, 0xd1, 0xc3, 0x1e, 0x70, 0xa9, 0x55, 0xf2, 0x0e, 0x8e, 0xee, 0xa5, 0x46, 0x5e,
+	0xc0, 0x21, 0x67, 0x25, 0x96, 0x92, 0x33, 0x95, 0x19, 0x8e, 0x95, 0x30, 0xed, 0xc1, 0x07, 0xeb,
+	0xfe, 0x17, 0xdf, 0x4e, 0x16, 0x70, 0xb0, 0x25, 0x27, 0xcf, 0x61, 0x7c, 0xf7, 0xc2, 0xd9, 0xda,
+	0x29, 0xdc, 0xb5, 0x2e, 0xf2, 0xfe, 0xf9, 0xe1, 0xd6, 0xf9, 0xe7, 0x57, 0x30, 0xe1, 0x78, 0xdd,
+	0x09, 0xf8, 0x3c, 0x6a, 0xf3, 0xb3, 0xb8, 0x08, 0xbe, 0x7d, 0x6c, 0x81, 0x02, 0x15, 0x2b, 0x8b,
+	0x14, 0x75, 0x31, 0x2f, 0x44, 0xe9, 0xbf, 0xf6, 0xbc, 0x81, 0x58, 0x25, 0x8d, 0xff, 0xf4, 0x46,
+	0xe8, 0x1b, 0xc9, 0x05, 0xc7, 0xf2, 0x87, 0x2c, 0xde, 0xf6, 0xaa, 0x7f, 0xe1, 0xce, 0xa7, 0xb3,
+	0xc5, 0xc5, 0xf7, 0x5d, 0x2f, 0x3c, 0xbd, 0x0d, 0x00, 0x00, 0xff, 0xff, 0x54, 0x91, 0x94, 0x96,
+	0x2c, 0x03, 0x00, 0x00,
 }
diff --git a/googleapis/api/serviceconfig/backend.pb.go b/googleapis/api/serviceconfig/backend.pb.go
index e7904a8310dce34b97999080bb8720bed75b167b..04d0cdcfd177355b83c02f3970ab3a76daa5e6eb 100644
--- a/googleapis/api/serviceconfig/backend.pb.go
+++ b/googleapis/api/serviceconfig/backend.pb.go
@@ -90,7 +90,7 @@ func (x BackendRule_PathTranslation) String() string {
 	return proto.EnumName(BackendRule_PathTranslation_name, int32(x))
 }
 func (BackendRule_PathTranslation) EnumDescriptor() ([]byte, []int) {
-	return fileDescriptor_backend_525705f4783ed271, []int{1, 0}
+	return fileDescriptor_backend_8829b3f344060960, []int{1, 0}
 }
 
 // `Backend` defines the backend configuration for a service.
@@ -108,7 +108,7 @@ func (m *Backend) Reset()         { *m = Backend{} }
 func (m *Backend) String() string { return proto.CompactTextString(m) }
 func (*Backend) ProtoMessage()    {}
 func (*Backend) Descriptor() ([]byte, []int) {
-	return fileDescriptor_backend_525705f4783ed271, []int{0}
+	return fileDescriptor_backend_8829b3f344060960, []int{0}
 }
 func (m *Backend) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_Backend.Unmarshal(m, b)
@@ -139,8 +139,7 @@ func (m *Backend) GetRules() []*BackendRule {
 type BackendRule struct {
 	// Selects the methods to which this rule applies.
 	//
-	// Refer to [selector][google.api.DocumentationRule.selector] for syntax
-	// details.
+	// Refer to [selector][google.api.DocumentationRule.selector] for syntax details.
 	Selector string `protobuf:"bytes,1,opt,name=selector,proto3" json:"selector,omitempty"`
 	// The address of the API backend.
 	Address string `protobuf:"bytes,2,opt,name=address,proto3" json:"address,omitempty"`
@@ -175,7 +174,7 @@ func (m *BackendRule) Reset()         { *m = BackendRule{} }
 func (m *BackendRule) String() string { return proto.CompactTextString(m) }
 func (*BackendRule) ProtoMessage()    {}
 func (*BackendRule) Descriptor() ([]byte, []int) {
-	return fileDescriptor_backend_525705f4783ed271, []int{1}
+	return fileDescriptor_backend_8829b3f344060960, []int{1}
 }
 func (m *BackendRule) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_BackendRule.Unmarshal(m, b)
@@ -318,9 +317,9 @@ func init() {
 	proto.RegisterEnum("google.api.BackendRule_PathTranslation", BackendRule_PathTranslation_name, BackendRule_PathTranslation_value)
 }
 
-func init() { proto.RegisterFile("google/api/backend.proto", fileDescriptor_backend_525705f4783ed271) }
+func init() { proto.RegisterFile("google/api/backend.proto", fileDescriptor_backend_8829b3f344060960) }
 
-var fileDescriptor_backend_525705f4783ed271 = []byte{
+var fileDescriptor_backend_8829b3f344060960 = []byte{
 	// 408 bytes of a gzipped FileDescriptorProto
 	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x74, 0x92, 0x41, 0x6f, 0xd3, 0x30,
 	0x14, 0xc7, 0x97, 0x76, 0x5b, 0xe1, 0xb5, 0xea, 0x82, 0x85, 0x20, 0x9a, 0x38, 0x84, 0x72, 0xa0,
diff --git a/googleapis/api/serviceconfig/billing.pb.go b/googleapis/api/serviceconfig/billing.pb.go
index a5a77f67d139042a7807cc4bd8786b06f75019ff..1c9818929e66211ebdc03980d4b29965fd385a19 100644
--- a/googleapis/api/serviceconfig/billing.pb.go
+++ b/googleapis/api/serviceconfig/billing.pb.go
@@ -6,7 +6,6 @@ package serviceconfig // import "google.golang.org/genproto/googleapis/api/servi
 import proto "github.com/golang/protobuf/proto"
 import fmt "fmt"
 import math "math"
-import _ "google.golang.org/genproto/googleapis/api/annotations"
 import _ "google.golang.org/genproto/googleapis/api/metric"
 
 // Reference imports to suppress errors if they are not otherwise used.
@@ -56,7 +55,7 @@ func (m *Billing) Reset()         { *m = Billing{} }
 func (m *Billing) String() string { return proto.CompactTextString(m) }
 func (*Billing) ProtoMessage()    {}
 func (*Billing) Descriptor() ([]byte, []int) {
-	return fileDescriptor_billing_6cb9ad7d84588d76, []int{0}
+	return fileDescriptor_billing_1ec714c6d017089a, []int{0}
 }
 func (m *Billing) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_Billing.Unmarshal(m, b)
@@ -87,12 +86,10 @@ func (m *Billing) GetConsumerDestinations() []*Billing_BillingDestination {
 // bill against consumer project).
 type Billing_BillingDestination struct {
 	// The monitored resource type. The type must be defined in
-	// [Service.monitored_resources][google.api.Service.monitored_resources]
-	// section.
+	// [Service.monitored_resources][google.api.Service.monitored_resources] section.
 	MonitoredResource string `protobuf:"bytes,1,opt,name=monitored_resource,json=monitoredResource,proto3" json:"monitored_resource,omitempty"`
 	// Names of the metrics to report to this billing destination.
-	// Each name must be defined in
-	// [Service.metrics][google.api.Service.metrics] section.
+	// Each name must be defined in [Service.metrics][google.api.Service.metrics] section.
 	Metrics              []string `protobuf:"bytes,2,rep,name=metrics,proto3" json:"metrics,omitempty"`
 	XXX_NoUnkeyedLiteral struct{} `json:"-"`
 	XXX_unrecognized     []byte   `json:"-"`
@@ -103,7 +100,7 @@ func (m *Billing_BillingDestination) Reset()         { *m = Billing_BillingDesti
 func (m *Billing_BillingDestination) String() string { return proto.CompactTextString(m) }
 func (*Billing_BillingDestination) ProtoMessage()    {}
 func (*Billing_BillingDestination) Descriptor() ([]byte, []int) {
-	return fileDescriptor_billing_6cb9ad7d84588d76, []int{0, 0}
+	return fileDescriptor_billing_1ec714c6d017089a, []int{0, 0}
 }
 func (m *Billing_BillingDestination) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_Billing_BillingDestination.Unmarshal(m, b)
@@ -142,25 +139,24 @@ func init() {
 	proto.RegisterType((*Billing_BillingDestination)(nil), "google.api.Billing.BillingDestination")
 }
 
-func init() { proto.RegisterFile("google/api/billing.proto", fileDescriptor_billing_6cb9ad7d84588d76) }
+func init() { proto.RegisterFile("google/api/billing.proto", fileDescriptor_billing_1ec714c6d017089a) }
 
-var fileDescriptor_billing_6cb9ad7d84588d76 = []byte{
-	// 265 bytes of a gzipped FileDescriptorProto
+var fileDescriptor_billing_1ec714c6d017089a = []byte{
+	// 255 bytes of a gzipped FileDescriptorProto
 	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x64, 0x90, 0xc1, 0x4a, 0xc4, 0x30,
-	0x10, 0x86, 0xe9, 0xae, 0xb8, 0x6e, 0x14, 0xc1, 0xa0, 0x58, 0x8a, 0x87, 0xe2, 0x41, 0x7a, 0xb1,
-	0x05, 0x3d, 0x7a, 0xb2, 0x28, 0xe2, 0xad, 0xf4, 0xa8, 0xc8, 0x92, 0xcd, 0x8e, 0x61, 0xa0, 0x9d,
-	0x29, 0x49, 0xd6, 0x07, 0xf2, 0x5d, 0x7c, 0x2f, 0xb1, 0x69, 0xdd, 0x8a, 0xa7, 0x30, 0xf9, 0xfe,
-	0xf9, 0x67, 0xe6, 0x17, 0xb1, 0x61, 0x36, 0x0d, 0x14, 0xaa, 0xc3, 0x62, 0x8d, 0x4d, 0x83, 0x64,
-	0xf2, 0xce, 0xb2, 0x67, 0x29, 0x02, 0xc9, 0x55, 0x87, 0xc9, 0xc5, 0x44, 0xa5, 0x88, 0xd8, 0x2b,
-	0x8f, 0x4c, 0x2e, 0x28, 0x93, 0xf3, 0x09, 0x6d, 0xc1, 0x5b, 0xd4, 0x01, 0x5c, 0x7e, 0x45, 0x62,
-	0x51, 0x06, 0x53, 0xf9, 0x2a, 0xce, 0x34, 0x93, 0xdb, 0xb6, 0x60, 0x57, 0x1b, 0x70, 0x1e, 0x29,
-	0x78, 0xc4, 0x07, 0xe9, 0x3c, 0x3b, 0xbc, 0xb9, 0xca, 0x77, 0xe3, 0xf2, 0xa1, 0x67, 0x7c, 0x1f,
-	0x76, 0xf2, 0xfa, 0x74, 0x34, 0x99, 0x7c, 0xba, 0xe4, 0x4d, 0xc8, 0xff, 0x5a, 0x79, 0x2d, 0x64,
-	0xcb, 0x84, 0x9e, 0x2d, 0x6c, 0x56, 0x16, 0x1c, 0x6f, 0xad, 0x86, 0x38, 0x4a, 0xa3, 0x6c, 0x59,
-	0x9f, 0xfc, 0x92, 0x7a, 0x00, 0x32, 0x16, 0x8b, 0xb0, 0xbd, 0x8b, 0x67, 0xe9, 0x3c, 0x5b, 0xd6,
-	0x63, 0x59, 0x92, 0x38, 0xd6, 0xdc, 0x4e, 0x36, 0x2c, 0x8f, 0x86, 0x71, 0xd5, 0xcf, 0x9d, 0x55,
-	0xf4, 0xf2, 0x38, 0x30, 0xc3, 0x8d, 0x22, 0x93, 0xb3, 0x35, 0x85, 0x01, 0xea, 0x53, 0x28, 0x02,
-	0x52, 0x1d, 0xba, 0x3e, 0x21, 0x07, 0xf6, 0x03, 0x35, 0x68, 0xa6, 0x77, 0x34, 0x77, 0x7f, 0xaa,
-	0xcf, 0xd9, 0xde, 0xd3, 0x7d, 0xf5, 0xbc, 0xde, 0xef, 0x1b, 0x6f, 0xbf, 0x03, 0x00, 0x00, 0xff,
-	0xff, 0xca, 0x8b, 0xb4, 0x63, 0x9d, 0x01, 0x00, 0x00,
+	0x10, 0x86, 0xe9, 0xae, 0xb8, 0x6e, 0x14, 0xc1, 0xa0, 0x18, 0xf6, 0x54, 0x3c, 0x48, 0x2f, 0xa6,
+	0xa0, 0x47, 0x4f, 0x16, 0x45, 0xbc, 0x95, 0x1e, 0x15, 0x59, 0xb2, 0xd9, 0x31, 0x0c, 0xb4, 0x99,
+	0x92, 0x64, 0x7d, 0x20, 0xdf, 0xc5, 0xf7, 0x12, 0x9b, 0xd6, 0x56, 0xf6, 0x14, 0x26, 0xdf, 0xf7,
+	0x4f, 0x26, 0xc3, 0x84, 0x21, 0x32, 0x35, 0xe4, 0xaa, 0xc5, 0x7c, 0x83, 0x75, 0x8d, 0xd6, 0xc8,
+	0xd6, 0x51, 0x20, 0xce, 0x22, 0x91, 0xaa, 0xc5, 0xd5, 0xe5, 0xc4, 0x6a, 0x20, 0x38, 0xd4, 0x51,
+	0xba, 0xfa, 0x4e, 0xd8, 0xa2, 0x88, 0x31, 0xfe, 0xc6, 0x2e, 0x34, 0x59, 0xbf, 0x6b, 0xc0, 0xad,
+	0xb7, 0xe0, 0x03, 0x5a, 0x15, 0x90, 0xac, 0x17, 0x47, 0xe9, 0x3c, 0x3b, 0xbe, 0xbd, 0x96, 0x63,
+	0x43, 0xd9, 0x67, 0x86, 0xf3, 0x71, 0xd4, 0xab, 0xf3, 0xa1, 0xc9, 0xe4, 0xd2, 0xaf, 0xde, 0x19,
+	0xdf, 0x77, 0xf9, 0x0d, 0xe3, 0x0d, 0x59, 0x0c, 0xe4, 0x60, 0xbb, 0x76, 0xe0, 0x69, 0xe7, 0x34,
+	0x88, 0x24, 0x4d, 0xb2, 0x65, 0x75, 0xf6, 0x47, 0xaa, 0x1e, 0x70, 0xc1, 0x16, 0x71, 0x7a, 0x2f,
+	0x66, 0xe9, 0x3c, 0x5b, 0x56, 0x43, 0x59, 0x58, 0x76, 0xaa, 0xa9, 0x99, 0x4c, 0x58, 0x9c, 0xf4,
+	0xcf, 0x95, 0xbf, 0xff, 0x2c, 0x93, 0xd7, 0xa7, 0x9e, 0x19, 0xaa, 0x95, 0x35, 0x92, 0x9c, 0xc9,
+	0x0d, 0xd8, 0x6e, 0x0b, 0x79, 0x44, 0xaa, 0x45, 0xdf, 0x6d, 0xc8, 0x83, 0xfb, 0x44, 0x0d, 0x9a,
+	0xec, 0x07, 0x9a, 0xfb, 0x7f, 0xd5, 0xd7, 0xec, 0xe0, 0xf9, 0xa1, 0x7c, 0xd9, 0x1c, 0x76, 0xc1,
+	0xbb, 0x9f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x27, 0xa0, 0xf0, 0x6b, 0x7f, 0x01, 0x00, 0x00,
 }
diff --git a/googleapis/api/serviceconfig/context.pb.go b/googleapis/api/serviceconfig/context.pb.go
index e66964f45b7d556bd457a63129c51f3cb1262c0e..d97db1bab916d3128cba1d6318de26e1290161b3 100644
--- a/googleapis/api/serviceconfig/context.pb.go
+++ b/googleapis/api/serviceconfig/context.pb.go
@@ -68,7 +68,7 @@ func (m *Context) Reset()         { *m = Context{} }
 func (m *Context) String() string { return proto.CompactTextString(m) }
 func (*Context) ProtoMessage()    {}
 func (*Context) Descriptor() ([]byte, []int) {
-	return fileDescriptor_context_18179baee0be03e4, []int{0}
+	return fileDescriptor_context_e07622750671eacc, []int{0}
 }
 func (m *Context) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_Context.Unmarshal(m, b)
@@ -100,8 +100,7 @@ func (m *Context) GetRules() []*ContextRule {
 type ContextRule struct {
 	// Selects the methods to which this rule applies.
 	//
-	// Refer to [selector][google.api.DocumentationRule.selector] for syntax
-	// details.
+	// Refer to [selector][google.api.DocumentationRule.selector] for syntax details.
 	Selector string `protobuf:"bytes,1,opt,name=selector,proto3" json:"selector,omitempty"`
 	// A list of full type names of requested contexts.
 	Requested []string `protobuf:"bytes,2,rep,name=requested,proto3" json:"requested,omitempty"`
@@ -122,7 +121,7 @@ func (m *ContextRule) Reset()         { *m = ContextRule{} }
 func (m *ContextRule) String() string { return proto.CompactTextString(m) }
 func (*ContextRule) ProtoMessage()    {}
 func (*ContextRule) Descriptor() ([]byte, []int) {
-	return fileDescriptor_context_18179baee0be03e4, []int{1}
+	return fileDescriptor_context_e07622750671eacc, []int{1}
 }
 func (m *ContextRule) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_ContextRule.Unmarshal(m, b)
@@ -182,9 +181,9 @@ func init() {
 	proto.RegisterType((*ContextRule)(nil), "google.api.ContextRule")
 }
 
-func init() { proto.RegisterFile("google/api/context.proto", fileDescriptor_context_18179baee0be03e4) }
+func init() { proto.RegisterFile("google/api/context.proto", fileDescriptor_context_e07622750671eacc) }
 
-var fileDescriptor_context_18179baee0be03e4 = []byte{
+var fileDescriptor_context_e07622750671eacc = []byte{
 	// 281 bytes of a gzipped FileDescriptorProto
 	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x54, 0x91, 0xbd, 0x4e, 0xc3, 0x30,
 	0x10, 0x80, 0x95, 0xfe, 0x00, 0x71, 0x11, 0x83, 0x17, 0x4c, 0x61, 0x88, 0x3a, 0x65, 0x21, 0x91,
diff --git a/googleapis/api/serviceconfig/control.pb.go b/googleapis/api/serviceconfig/control.pb.go
index e46dc3367409a5049b438175b28bb6c6c683871a..0f52f11005037537cc0a849d5214abb260f1e65d 100644
--- a/googleapis/api/serviceconfig/control.pb.go
+++ b/googleapis/api/serviceconfig/control.pb.go
@@ -34,7 +34,7 @@ func (m *Control) Reset()         { *m = Control{} }
 func (m *Control) String() string { return proto.CompactTextString(m) }
 func (*Control) ProtoMessage()    {}
 func (*Control) Descriptor() ([]byte, []int) {
-	return fileDescriptor_control_e3ea290f6f9fcd47, []int{0}
+	return fileDescriptor_control_3728d318ad430606, []int{0}
 }
 func (m *Control) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_Control.Unmarshal(m, b)
@@ -65,9 +65,9 @@ func init() {
 	proto.RegisterType((*Control)(nil), "google.api.Control")
 }
 
-func init() { proto.RegisterFile("google/api/control.proto", fileDescriptor_control_e3ea290f6f9fcd47) }
+func init() { proto.RegisterFile("google/api/control.proto", fileDescriptor_control_3728d318ad430606) }
 
-var fileDescriptor_control_e3ea290f6f9fcd47 = []byte{
+var fileDescriptor_control_3728d318ad430606 = []byte{
 	// 165 bytes of a gzipped FileDescriptorProto
 	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x92, 0x48, 0xcf, 0xcf, 0x4f,
 	0xcf, 0x49, 0xd5, 0x4f, 0x2c, 0xc8, 0xd4, 0x4f, 0xce, 0xcf, 0x2b, 0x29, 0xca, 0xcf, 0xd1, 0x2b,
diff --git a/googleapis/api/serviceconfig/documentation.pb.go b/googleapis/api/serviceconfig/documentation.pb.go
index e4223d2597e018fd542ac082aae9c23d53aa8742..522a59d1625e3c6b74156803208a2b0102e67d45 100644
--- a/googleapis/api/serviceconfig/documentation.pb.go
+++ b/googleapis/api/serviceconfig/documentation.pb.go
@@ -108,7 +108,7 @@ func (m *Documentation) Reset()         { *m = Documentation{} }
 func (m *Documentation) String() string { return proto.CompactTextString(m) }
 func (*Documentation) ProtoMessage()    {}
 func (*Documentation) Descriptor() ([]byte, []int) {
-	return fileDescriptor_documentation_3d6f0d592b1e580f, []int{0}
+	return fileDescriptor_documentation_ffda79aaefc8a2ff, []int{0}
 }
 func (m *Documentation) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_Documentation.Unmarshal(m, b)
@@ -168,9 +168,9 @@ type DocumentationRule struct {
 	// The selector is a comma-separated list of patterns. Each pattern is a
 	// qualified name of the element which may end in "*", indicating a wildcard.
 	// Wildcards are only allowed at the end and for a whole component of the
-	// qualified name, i.e. "foo.*" is ok, but not "foo.b*" or "foo.*.bar". To
-	// specify a default for all applicable elements, the whole pattern "*"
-	// is used.
+	// qualified name, i.e. "foo.*" is ok, but not "foo.b*" or "foo.*.bar". A
+	// wildcard will match one or more components. To specify a default for all
+	// applicable elements, the whole pattern "*" is used.
 	Selector string `protobuf:"bytes,1,opt,name=selector,proto3" json:"selector,omitempty"`
 	// Description of the selected API(s).
 	Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"`
@@ -186,7 +186,7 @@ func (m *DocumentationRule) Reset()         { *m = DocumentationRule{} }
 func (m *DocumentationRule) String() string { return proto.CompactTextString(m) }
 func (*DocumentationRule) ProtoMessage()    {}
 func (*DocumentationRule) Descriptor() ([]byte, []int) {
-	return fileDescriptor_documentation_3d6f0d592b1e580f, []int{1}
+	return fileDescriptor_documentation_ffda79aaefc8a2ff, []int{1}
 }
 func (m *DocumentationRule) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_DocumentationRule.Unmarshal(m, b)
@@ -260,7 +260,7 @@ func (m *Page) Reset()         { *m = Page{} }
 func (m *Page) String() string { return proto.CompactTextString(m) }
 func (*Page) ProtoMessage()    {}
 func (*Page) Descriptor() ([]byte, []int) {
-	return fileDescriptor_documentation_3d6f0d592b1e580f, []int{2}
+	return fileDescriptor_documentation_ffda79aaefc8a2ff, []int{2}
 }
 func (m *Page) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_Page.Unmarshal(m, b)
@@ -308,10 +308,10 @@ func init() {
 }
 
 func init() {
-	proto.RegisterFile("google/api/documentation.proto", fileDescriptor_documentation_3d6f0d592b1e580f)
+	proto.RegisterFile("google/api/documentation.proto", fileDescriptor_documentation_ffda79aaefc8a2ff)
 }
 
-var fileDescriptor_documentation_3d6f0d592b1e580f = []byte{
+var fileDescriptor_documentation_ffda79aaefc8a2ff = []byte{
 	// 356 bytes of a gzipped FileDescriptorProto
 	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x74, 0x92, 0xc1, 0x6a, 0xe3, 0x30,
 	0x14, 0x45, 0x71, 0xec, 0xcc, 0x64, 0x5e, 0x98, 0x61, 0x46, 0x0c, 0x19, 0x33, 0xd0, 0x12, 0xb2,
diff --git a/googleapis/api/serviceconfig/endpoint.pb.go b/googleapis/api/serviceconfig/endpoint.pb.go
index 7649a90ef7b6d34f585b87d3f6f2e6ca0d33adb6..22884b84c5d21391a22a34b46f65502ec5fc1dc6 100644
--- a/googleapis/api/serviceconfig/endpoint.pb.go
+++ b/googleapis/api/serviceconfig/endpoint.pb.go
@@ -6,7 +6,6 @@ package serviceconfig // import "google.golang.org/genproto/googleapis/api/servi
 import proto "github.com/golang/protobuf/proto"
 import fmt "fmt"
 import math "math"
-import _ "google.golang.org/genproto/googleapis/api/annotations"
 
 // Reference imports to suppress errors if they are not otherwise used.
 var _ = proto.Marshal
@@ -39,8 +38,8 @@ type Endpoint struct {
 	// The canonical name of this endpoint.
 	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
 	// DEPRECATED: This field is no longer supported. Instead of using aliases,
-	// please specify multiple [google.api.Endpoint][google.api.Endpoint] for each
-	// of the intended aliases.
+	// please specify multiple [google.api.Endpoint][google.api.Endpoint] for each of the intended
+	// aliases.
 	//
 	// Additional names that this endpoint will be hosted on.
 	Aliases []string `protobuf:"bytes,2,rep,name=aliases,proto3" json:"aliases,omitempty"` // Deprecated: Do not use.
@@ -68,7 +67,7 @@ func (m *Endpoint) Reset()         { *m = Endpoint{} }
 func (m *Endpoint) String() string { return proto.CompactTextString(m) }
 func (*Endpoint) ProtoMessage()    {}
 func (*Endpoint) Descriptor() ([]byte, []int) {
-	return fileDescriptor_endpoint_c85a41e377429c8c, []int{0}
+	return fileDescriptor_endpoint_c5a971e7963d7d02, []int{0}
 }
 func (m *Endpoint) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_Endpoint.Unmarshal(m, b)
@@ -128,24 +127,23 @@ func init() {
 	proto.RegisterType((*Endpoint)(nil), "google.api.Endpoint")
 }
 
-func init() { proto.RegisterFile("google/api/endpoint.proto", fileDescriptor_endpoint_c85a41e377429c8c) }
+func init() { proto.RegisterFile("google/api/endpoint.proto", fileDescriptor_endpoint_c5a971e7963d7d02) }
 
-var fileDescriptor_endpoint_c85a41e377429c8c = []byte{
-	// 251 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x54, 0x8f, 0xbf, 0x4e, 0xf4, 0x30,
-	0x10, 0xc4, 0xe5, 0x7c, 0xf9, 0x8e, 0x64, 0x25, 0x28, 0x5c, 0x20, 0x73, 0x3a, 0xa4, 0x88, 0x2a,
-	0x55, 0x52, 0x50, 0x52, 0x11, 0x74, 0x42, 0x74, 0x51, 0x4a, 0x1a, 0xb4, 0x84, 0x3d, 0xcb, 0x52,
-	0xce, 0x6b, 0xd9, 0x06, 0x1e, 0x83, 0x77, 0xe0, 0x49, 0xd1, 0x39, 0x39, 0xfe, 0x74, 0x9e, 0xfd,
-	0xcd, 0x58, 0x33, 0x70, 0xa1, 0x99, 0xf5, 0x44, 0x2d, 0x3a, 0xd3, 0x92, 0x7d, 0x71, 0x6c, 0x6c,
-	0x6c, 0x9c, 0xe7, 0xc8, 0x12, 0x66, 0xd4, 0xa0, 0x33, 0xeb, 0xcd, 0x2f, 0x1b, 0x5a, 0xcb, 0x11,
-	0xa3, 0x61, 0x1b, 0x66, 0xe7, 0xd5, 0x87, 0x80, 0x62, 0xbb, 0x84, 0xa5, 0x84, 0xdc, 0xe2, 0x9e,
-	0x94, 0xa8, 0x44, 0x5d, 0x0e, 0xe9, 0x2d, 0x37, 0x70, 0x82, 0x93, 0xc1, 0x40, 0x41, 0x65, 0xd5,
-	0xbf, 0xba, 0xec, 0x32, 0x25, 0x86, 0xe3, 0x49, 0xae, 0xa1, 0xd8, 0x11, 0xc6, 0x57, 0x4f, 0x41,
-	0xe5, 0x07, 0x3c, 0x7c, 0x6b, 0x79, 0x0e, 0xab, 0x88, 0x5e, 0x53, 0x54, 0x94, 0xfe, 0x5b, 0x94,
-	0xbc, 0x04, 0xc0, 0x69, 0xe2, 0xf7, 0xa7, 0x91, 0x7d, 0x50, 0xff, 0x2b, 0x51, 0x17, 0x43, 0x99,
-	0x2e, 0x77, 0xec, 0x43, 0xc7, 0x70, 0x36, 0xf2, 0xbe, 0xf9, 0x59, 0xd0, 0x9d, 0x1e, 0x0b, 0xf6,
-	0x87, 0xca, 0xbd, 0x78, 0xdc, 0x2e, 0x50, 0xf3, 0x84, 0x56, 0x37, 0xec, 0x75, 0xab, 0xc9, 0xa6,
-	0x41, 0xed, 0x8c, 0xd0, 0x99, 0x90, 0x16, 0x07, 0xf2, 0x6f, 0x66, 0xa4, 0x91, 0xed, 0xce, 0xe8,
-	0x9b, 0x3f, 0xea, 0x33, 0xcb, 0xef, 0x6f, 0xfb, 0x87, 0xe7, 0x55, 0x0a, 0x5e, 0x7f, 0x05, 0x00,
-	0x00, 0xff, 0xff, 0xec, 0x55, 0x37, 0x26, 0x50, 0x01, 0x00, 0x00,
+var fileDescriptor_endpoint_c5a971e7963d7d02 = []byte{
+	// 236 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x54, 0x8f, 0xc1, 0x4a, 0xc4, 0x30,
+	0x10, 0x86, 0x49, 0xad, 0x6b, 0x3b, 0xa0, 0x87, 0x1c, 0x24, 0x8a, 0x42, 0xf1, 0xd4, 0x53, 0x7b,
+	0xf0, 0xe8, 0xc9, 0xca, 0x22, 0xde, 0x4a, 0x8f, 0x5e, 0x64, 0xac, 0xb3, 0x21, 0x90, 0xcd, 0x84,
+	0x24, 0xea, 0x63, 0xf8, 0x0e, 0x3e, 0xa9, 0x6c, 0xb6, 0xab, 0x78, 0xcb, 0xff, 0x7f, 0x64, 0xf8,
+	0x7e, 0xb8, 0xd0, 0xcc, 0xda, 0x52, 0x8f, 0xde, 0xf4, 0xe4, 0xde, 0x3c, 0x1b, 0x97, 0x3a, 0x1f,
+	0x38, 0xb1, 0x84, 0x3d, 0xea, 0xd0, 0x9b, 0x9b, 0x2f, 0x01, 0xd5, 0x7a, 0xc1, 0x52, 0x42, 0xe9,
+	0x70, 0x4b, 0x4a, 0x34, 0xa2, 0xad, 0xa7, 0xfc, 0x96, 0x57, 0x70, 0x82, 0xd6, 0x60, 0xa4, 0xa8,
+	0x8a, 0xe6, 0xa8, 0xad, 0x87, 0x42, 0x89, 0xe9, 0x50, 0xc9, 0x4b, 0xa8, 0x36, 0x84, 0xe9, 0x3d,
+	0x50, 0x54, 0xe5, 0x0e, 0x4f, 0xbf, 0x59, 0x9e, 0xc3, 0x2a, 0x61, 0xd0, 0x94, 0x14, 0xe5, 0x7b,
+	0x4b, 0x92, 0xd7, 0x00, 0x68, 0x2d, 0x7f, 0xbe, 0xcc, 0x1c, 0xa2, 0x3a, 0x6e, 0x44, 0x5b, 0x4d,
+	0x75, 0x6e, 0x1e, 0x38, 0xc4, 0x81, 0xe1, 0x6c, 0xe6, 0x6d, 0xf7, 0xe7, 0x38, 0x9c, 0x1e, 0x04,
+	0xc7, 0x9d, 0xfe, 0x28, 0x9e, 0xd7, 0x0b, 0xd4, 0x6c, 0xd1, 0xe9, 0x8e, 0x83, 0xee, 0x35, 0xb9,
+	0x3c, 0xae, 0xdf, 0x23, 0xf4, 0x26, 0xe6, 0xe9, 0x91, 0xc2, 0x87, 0x99, 0x69, 0x66, 0xb7, 0x31,
+	0xfa, 0xee, 0x5f, 0xfa, 0x2e, 0xca, 0xc7, 0xfb, 0xf1, 0xe9, 0x75, 0x95, 0x3f, 0xde, 0xfe, 0x04,
+	0x00, 0x00, 0xff, 0xff, 0xa5, 0x38, 0x4b, 0xb3, 0x32, 0x01, 0x00, 0x00,
 }
diff --git a/googleapis/api/serviceconfig/log.pb.go b/googleapis/api/serviceconfig/log.pb.go
index 6ff6debcb18d0bd8a2939abc863994791215623f..a5ec3f645164e7a255b2ad6a1815a888e209be2a 100644
--- a/googleapis/api/serviceconfig/log.pb.go
+++ b/googleapis/api/serviceconfig/log.pb.go
@@ -52,7 +52,7 @@ func (m *LogDescriptor) Reset()         { *m = LogDescriptor{} }
 func (m *LogDescriptor) String() string { return proto.CompactTextString(m) }
 func (*LogDescriptor) ProtoMessage()    {}
 func (*LogDescriptor) Descriptor() ([]byte, []int) {
-	return fileDescriptor_log_aff180308fe8d9df, []int{0}
+	return fileDescriptor_log_2998a4c13830a4d6, []int{0}
 }
 func (m *LogDescriptor) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_LogDescriptor.Unmarshal(m, b)
@@ -104,9 +104,9 @@ func init() {
 	proto.RegisterType((*LogDescriptor)(nil), "google.api.LogDescriptor")
 }
 
-func init() { proto.RegisterFile("google/api/log.proto", fileDescriptor_log_aff180308fe8d9df) }
+func init() { proto.RegisterFile("google/api/log.proto", fileDescriptor_log_2998a4c13830a4d6) }
 
-var fileDescriptor_log_aff180308fe8d9df = []byte{
+var fileDescriptor_log_2998a4c13830a4d6 = []byte{
 	// 238 bytes of a gzipped FileDescriptorProto
 	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x54, 0x8f, 0xc1, 0x4a, 0xc3, 0x40,
 	0x10, 0x86, 0x49, 0x1b, 0x8a, 0x6e, 0xd5, 0xc3, 0x22, 0x12, 0xf4, 0x12, 0x3d, 0xf5, 0xb4, 0x01,
diff --git a/googleapis/api/serviceconfig/logging.pb.go b/googleapis/api/serviceconfig/logging.pb.go
index 1073a9f0b03dab0dd8c503ea26667ccf7520cb5b..9428656cb6d1d55cc2d5d67bd8d982cec82d5073 100644
--- a/googleapis/api/serviceconfig/logging.pb.go
+++ b/googleapis/api/serviceconfig/logging.pb.go
@@ -6,7 +6,6 @@ package serviceconfig // import "google.golang.org/genproto/googleapis/api/servi
 import proto "github.com/golang/protobuf/proto"
 import fmt "fmt"
 import math "math"
-import _ "google.golang.org/genproto/googleapis/api/annotations"
 
 // Reference imports to suppress errors if they are not otherwise used.
 var _ = proto.Marshal
@@ -68,7 +67,7 @@ func (m *Logging) Reset()         { *m = Logging{} }
 func (m *Logging) String() string { return proto.CompactTextString(m) }
 func (*Logging) ProtoMessage()    {}
 func (*Logging) Descriptor() ([]byte, []int) {
-	return fileDescriptor_logging_75c6d16b6d5e00f3, []int{0}
+	return fileDescriptor_logging_8c0bcb8dbfc24d55, []int{0}
 }
 func (m *Logging) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_Logging.Unmarshal(m, b)
@@ -106,13 +105,12 @@ func (m *Logging) GetConsumerDestinations() []*Logging_LoggingDestination {
 // or the consumer project).
 type Logging_LoggingDestination struct {
 	// The monitored resource type. The type must be defined in the
-	// [Service.monitored_resources][google.api.Service.monitored_resources]
-	// section.
+	// [Service.monitored_resources][google.api.Service.monitored_resources] section.
 	MonitoredResource string `protobuf:"bytes,3,opt,name=monitored_resource,json=monitoredResource,proto3" json:"monitored_resource,omitempty"`
 	// Names of the logs to be sent to this destination. Each name must
-	// be defined in the [Service.logs][google.api.Service.logs] section. If the
-	// log name is not a domain scoped name, it will be automatically prefixed
-	// with the service name followed by "/".
+	// be defined in the [Service.logs][google.api.Service.logs] section. If the log name is
+	// not a domain scoped name, it will be automatically prefixed with
+	// the service name followed by "/".
 	Logs                 []string `protobuf:"bytes,1,rep,name=logs,proto3" json:"logs,omitempty"`
 	XXX_NoUnkeyedLiteral struct{} `json:"-"`
 	XXX_unrecognized     []byte   `json:"-"`
@@ -123,7 +121,7 @@ func (m *Logging_LoggingDestination) Reset()         { *m = Logging_LoggingDesti
 func (m *Logging_LoggingDestination) String() string { return proto.CompactTextString(m) }
 func (*Logging_LoggingDestination) ProtoMessage()    {}
 func (*Logging_LoggingDestination) Descriptor() ([]byte, []int) {
-	return fileDescriptor_logging_75c6d16b6d5e00f3, []int{0, 0}
+	return fileDescriptor_logging_8c0bcb8dbfc24d55, []int{0, 0}
 }
 func (m *Logging_LoggingDestination) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_Logging_LoggingDestination.Unmarshal(m, b)
@@ -162,25 +160,25 @@ func init() {
 	proto.RegisterType((*Logging_LoggingDestination)(nil), "google.api.Logging.LoggingDestination")
 }
 
-func init() { proto.RegisterFile("google/api/logging.proto", fileDescriptor_logging_75c6d16b6d5e00f3) }
-
-var fileDescriptor_logging_75c6d16b6d5e00f3 = []byte{
-	// 270 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x90, 0x4f, 0x4b, 0xc4, 0x30,
-	0x10, 0xc5, 0x69, 0x77, 0x51, 0x36, 0x8a, 0x60, 0x50, 0x28, 0x8b, 0x87, 0xc5, 0x83, 0xec, 0xc5,
-	0x14, 0xf4, 0xe8, 0xc9, 0x45, 0x11, 0xc1, 0x43, 0xe9, 0x45, 0xd0, 0xc3, 0x12, 0xd3, 0x38, 0x04,
-	0xda, 0x99, 0x90, 0xa4, 0x7e, 0x1a, 0x4f, 0x7e, 0x52, 0xd9, 0xa6, 0x75, 0xab, 0x9e, 0xf6, 0x94,
-	0x3f, 0xef, 0xbd, 0x5f, 0x32, 0x8f, 0x65, 0x40, 0x04, 0xb5, 0xce, 0xa5, 0x35, 0x79, 0x4d, 0x00,
-	0x06, 0x41, 0x58, 0x47, 0x81, 0x38, 0x8b, 0x8a, 0x90, 0xd6, 0xcc, 0xcf, 0x46, 0x2e, 0x89, 0x48,
-	0x41, 0x06, 0x43, 0xe8, 0xa3, 0xf3, 0xfc, 0x33, 0x65, 0xfb, 0x4f, 0x31, 0xcb, 0x5f, 0xd9, 0xa9,
-	0x75, 0x54, 0xb5, 0x4a, 0xbb, 0x75, 0xa5, 0x7d, 0x30, 0x18, 0xad, 0x59, 0xb2, 0x98, 0x2c, 0x0f,
-	0xae, 0x2e, 0xc4, 0x96, 0x2a, 0xfa, 0xcc, 0xb0, 0xde, 0x6d, 0xed, 0xe5, 0xc9, 0x00, 0x19, 0x5d,
-	0xfa, 0x0d, 0x5c, 0x11, 0xfa, 0xb6, 0xf9, 0x0b, 0x4f, 0x77, 0x83, 0x0f, 0x90, 0x31, 0x7c, 0xfe,
-	0xcc, 0xf8, 0x7f, 0x2f, 0xbf, 0x64, 0xbc, 0x21, 0x34, 0x81, 0x9c, 0xae, 0xd6, 0x4e, 0x7b, 0x6a,
-	0x9d, 0xd2, 0xd9, 0x64, 0x91, 0x2c, 0x67, 0xe5, 0xf1, 0x8f, 0x52, 0xf6, 0x02, 0xe7, 0x6c, 0x5a,
-	0x13, 0xc4, 0x69, 0x67, 0x65, 0xb7, 0x5f, 0x21, 0x3b, 0x52, 0xd4, 0x8c, 0xfe, 0xb6, 0x3a, 0xec,
-	0x1f, 0x2a, 0x36, 0xf5, 0x15, 0xc9, 0xcb, 0x7d, 0xaf, 0x01, 0xd5, 0x12, 0x41, 0x90, 0x83, 0x1c,
-	0x34, 0x76, 0xe5, 0xe6, 0x51, 0x92, 0xd6, 0xf8, 0xae, 0x7d, 0xaf, 0xdd, 0x87, 0x51, 0x5a, 0x11,
-	0xbe, 0x1b, 0xb8, 0xf9, 0x75, 0xfa, 0x4a, 0xa7, 0x0f, 0xb7, 0xc5, 0xe3, 0xdb, 0x5e, 0x17, 0xbc,
-	0xfe, 0x0e, 0x00, 0x00, 0xff, 0xff, 0x73, 0x4f, 0x86, 0x6e, 0xdb, 0x01, 0x00, 0x00,
+func init() { proto.RegisterFile("google/api/logging.proto", fileDescriptor_logging_8c0bcb8dbfc24d55) }
+
+var fileDescriptor_logging_8c0bcb8dbfc24d55 = []byte{
+	// 260 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x91, 0x4d, 0x4b, 0xc4, 0x30,
+	0x10, 0x86, 0x69, 0x77, 0x51, 0x36, 0x8a, 0x60, 0x50, 0x28, 0x9e, 0x16, 0x0f, 0xb2, 0x17, 0x53,
+	0xd0, 0xa3, 0x27, 0x17, 0x45, 0x04, 0x0f, 0xa5, 0x17, 0x41, 0x0f, 0x4b, 0x4c, 0xe3, 0x30, 0xd0,
+	0xce, 0x84, 0xa4, 0xf5, 0xd7, 0x78, 0xf2, 0x97, 0xca, 0xf6, 0xc3, 0x56, 0x3d, 0xed, 0x29, 0x1f,
+	0xcf, 0xbc, 0x4f, 0x92, 0x89, 0x48, 0x80, 0x19, 0x4a, 0x9b, 0x6a, 0x87, 0x69, 0xc9, 0x00, 0x48,
+	0xa0, 0x9c, 0xe7, 0x9a, 0xa5, 0xe8, 0x88, 0xd2, 0x0e, 0xcf, 0x3f, 0x63, 0xb1, 0xff, 0xd4, 0x51,
+	0xf9, 0x2a, 0x4e, 0x9d, 0xe7, 0xa2, 0x31, 0xd6, 0x6f, 0x0a, 0x1b, 0x6a, 0x24, 0x5d, 0x23, 0x53,
+	0x48, 0xa2, 0xe5, 0x6c, 0x75, 0x70, 0x75, 0xa1, 0xc6, 0x9c, 0xea, 0x33, 0xc3, 0x78, 0x37, 0x96,
+	0xe7, 0x27, 0x83, 0x64, 0xb2, 0x19, 0xb6, 0x72, 0xc3, 0x14, 0x9a, 0xea, 0xaf, 0x3c, 0xde, 0x4d,
+	0x3e, 0x48, 0xa6, 0xf2, 0xb3, 0x67, 0x21, 0xff, 0xd7, 0xca, 0x4b, 0x21, 0x2b, 0x26, 0xac, 0xd9,
+	0xdb, 0x62, 0xe3, 0x6d, 0xe0, 0xc6, 0x1b, 0x9b, 0xcc, 0x96, 0xd1, 0x6a, 0x91, 0x1f, 0xff, 0x90,
+	0xbc, 0x07, 0x52, 0x8a, 0x79, 0xc9, 0xd0, 0xbd, 0x76, 0x91, 0xb7, 0xf3, 0x35, 0x89, 0x23, 0xc3,
+	0xd5, 0xe4, 0x6e, 0xeb, 0xc3, 0xfe, 0xa0, 0x6c, 0xdb, 0xca, 0x2c, 0x7a, 0xb9, 0xef, 0x19, 0x70,
+	0xa9, 0x09, 0x14, 0x7b, 0x48, 0xc1, 0x52, 0xdb, 0xe8, 0xb4, 0x43, 0xda, 0x61, 0x68, 0x7f, 0x21,
+	0x58, 0xff, 0x81, 0xc6, 0x1a, 0xa6, 0x77, 0x84, 0x9b, 0x5f, 0xab, 0xaf, 0x78, 0xfe, 0x70, 0x9b,
+	0x3d, 0xbe, 0xed, 0xb5, 0xc1, 0xeb, 0xef, 0x00, 0x00, 0x00, 0xff, 0xff, 0xf7, 0x84, 0x9b, 0x80,
+	0xbd, 0x01, 0x00, 0x00,
 }
diff --git a/googleapis/api/serviceconfig/monitoring.pb.go b/googleapis/api/serviceconfig/monitoring.pb.go
index e803a61cf1365345d08b4a13cd2489acb84b6e9d..2cd36bc55e9ae1c4d08388d7eb99ee21e3c34a71 100644
--- a/googleapis/api/serviceconfig/monitoring.pb.go
+++ b/googleapis/api/serviceconfig/monitoring.pb.go
@@ -6,7 +6,6 @@ package serviceconfig // import "google.golang.org/genproto/googleapis/api/servi
 import proto "github.com/golang/protobuf/proto"
 import fmt "fmt"
 import math "math"
-import _ "google.golang.org/genproto/googleapis/api/annotations"
 
 // Reference imports to suppress errors if they are not otherwise used.
 var _ = proto.Marshal
@@ -80,7 +79,7 @@ func (m *Monitoring) Reset()         { *m = Monitoring{} }
 func (m *Monitoring) String() string { return proto.CompactTextString(m) }
 func (*Monitoring) ProtoMessage()    {}
 func (*Monitoring) Descriptor() ([]byte, []int) {
-	return fileDescriptor_monitoring_5fec56252b27d7ca, []int{0}
+	return fileDescriptor_monitoring_607d42dbb71d0eb3, []int{0}
 }
 func (m *Monitoring) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_Monitoring.Unmarshal(m, b)
@@ -118,12 +117,10 @@ func (m *Monitoring) GetConsumerDestinations() []*Monitoring_MonitoringDestinati
 // or the consumer project).
 type Monitoring_MonitoringDestination struct {
 	// The monitored resource type. The type must be defined in
-	// [Service.monitored_resources][google.api.Service.monitored_resources]
-	// section.
+	// [Service.monitored_resources][google.api.Service.monitored_resources] section.
 	MonitoredResource string `protobuf:"bytes,1,opt,name=monitored_resource,json=monitoredResource,proto3" json:"monitored_resource,omitempty"`
 	// Types of the metrics to report to this monitoring destination.
-	// Each type must be defined in
-	// [Service.metrics][google.api.Service.metrics] section.
+	// Each type must be defined in [Service.metrics][google.api.Service.metrics] section.
 	Metrics              []string `protobuf:"bytes,2,rep,name=metrics,proto3" json:"metrics,omitempty"`
 	XXX_NoUnkeyedLiteral struct{} `json:"-"`
 	XXX_unrecognized     []byte   `json:"-"`
@@ -134,7 +131,7 @@ func (m *Monitoring_MonitoringDestination) Reset()         { *m = Monitoring_Mon
 func (m *Monitoring_MonitoringDestination) String() string { return proto.CompactTextString(m) }
 func (*Monitoring_MonitoringDestination) ProtoMessage()    {}
 func (*Monitoring_MonitoringDestination) Descriptor() ([]byte, []int) {
-	return fileDescriptor_monitoring_5fec56252b27d7ca, []int{0, 0}
+	return fileDescriptor_monitoring_607d42dbb71d0eb3, []int{0, 0}
 }
 func (m *Monitoring_MonitoringDestination) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_Monitoring_MonitoringDestination.Unmarshal(m, b)
@@ -174,26 +171,26 @@ func init() {
 }
 
 func init() {
-	proto.RegisterFile("google/api/monitoring.proto", fileDescriptor_monitoring_5fec56252b27d7ca)
-}
-
-var fileDescriptor_monitoring_5fec56252b27d7ca = []byte{
-	// 271 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x51, 0xcd, 0x4a, 0xc4, 0x30,
-	0x10, 0xa6, 0x55, 0x94, 0x8d, 0xa0, 0x58, 0x5c, 0x28, 0xab, 0x87, 0xc5, 0xd3, 0x1e, 0xb4, 0x05,
-	0x3d, 0x7a, 0x72, 0x51, 0xc4, 0x83, 0x50, 0x7a, 0xf4, 0xb2, 0xc6, 0x74, 0x0c, 0x03, 0xdb, 0x99,
-	0x9a, 0xa4, 0x3e, 0x90, 0xcf, 0xe0, 0x03, 0xca, 0x36, 0xed, 0x36, 0x8a, 0x27, 0x6f, 0x99, 0x7c,
-	0x7f, 0xc3, 0x37, 0xe2, 0x54, 0x33, 0xeb, 0x35, 0xe4, 0xb2, 0xc1, 0xbc, 0x66, 0x42, 0xc7, 0x06,
-	0x49, 0x67, 0x8d, 0x61, 0xc7, 0x89, 0xf0, 0x60, 0x26, 0x1b, 0x9c, 0x9d, 0x05, 0x44, 0x49, 0xc4,
-	0x4e, 0x3a, 0x64, 0xb2, 0x9e, 0x79, 0xfe, 0x15, 0x0b, 0xf1, 0xb4, 0x95, 0x27, 0x52, 0x4c, 0x1b,
-	0xc3, 0x55, 0xab, 0xc0, 0xac, 0x2a, 0xb0, 0x0e, 0xc9, 0xb3, 0xd3, 0x68, 0xbe, 0xb3, 0x38, 0xb8,
-	0xba, 0xc8, 0x46, 0xe3, 0x6c, 0x94, 0x05, 0xcf, 0xbb, 0x51, 0x54, 0x9e, 0x0c, 0x56, 0xc1, 0xa7,
-	0xdd, 0x44, 0x28, 0x26, 0xdb, 0xd6, 0xbf, 0x23, 0xe2, 0xff, 0x44, 0x0c, 0x56, 0x61, 0xc4, 0xec,
-	0x45, 0x4c, 0xff, 0xa4, 0x27, 0x97, 0x22, 0xe9, 0xbb, 0x82, 0x6a, 0x65, 0xc0, 0x72, 0x6b, 0x14,
-	0xa4, 0xd1, 0x3c, 0x5a, 0x4c, 0xca, 0xe3, 0x2d, 0x52, 0xf6, 0x40, 0x92, 0x8a, 0xfd, 0x1a, 0x9c,
-	0x41, 0xe5, 0x97, 0x9b, 0x94, 0xc3, 0xb8, 0x7c, 0x17, 0x87, 0x8a, 0xeb, 0x60, 0xd5, 0xe5, 0xd1,
-	0x98, 0x58, 0x6c, 0x9a, 0x2d, 0xa2, 0xe7, 0xfb, 0x1e, 0xd6, 0xbc, 0x96, 0xa4, 0x33, 0x36, 0x3a,
-	0xd7, 0x40, 0x5d, 0xef, 0xb9, 0x87, 0x64, 0x83, 0xb6, 0x3b, 0x8c, 0x05, 0xf3, 0x81, 0x0a, 0x14,
-	0xd3, 0x1b, 0xea, 0x9b, 0x1f, 0xd3, 0x67, 0xbc, 0xfb, 0x70, 0x5b, 0x3c, 0xbe, 0xee, 0x75, 0xc2,
-	0xeb, 0xef, 0x00, 0x00, 0x00, 0xff, 0xff, 0x51, 0x35, 0xf3, 0xe2, 0xf9, 0x01, 0x00, 0x00,
+	proto.RegisterFile("google/api/monitoring.proto", fileDescriptor_monitoring_607d42dbb71d0eb3)
+}
+
+var fileDescriptor_monitoring_607d42dbb71d0eb3 = []byte{
+	// 263 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x91, 0xcf, 0x4a, 0xc4, 0x30,
+	0x10, 0xc6, 0xe9, 0x2a, 0xca, 0x46, 0x50, 0x0c, 0x2e, 0x14, 0xbd, 0x2c, 0x9e, 0xf6, 0xa0, 0x29,
+	0xe8, 0xd1, 0x93, 0x8b, 0x22, 0x1e, 0x84, 0xd2, 0xa3, 0x97, 0x35, 0xa6, 0x63, 0x18, 0xd8, 0x66,
+	0xe2, 0x24, 0xf5, 0x81, 0x7c, 0x06, 0x1f, 0x50, 0xb6, 0x7f, 0xb6, 0x55, 0x3c, 0x79, 0xcb, 0xe4,
+	0x9b, 0x6f, 0x7e, 0xc3, 0x7c, 0xe2, 0xcc, 0x12, 0xd9, 0x35, 0x64, 0xda, 0x63, 0x56, 0x91, 0xc3,
+	0x48, 0x8c, 0xce, 0x2a, 0xcf, 0x14, 0x49, 0x8a, 0x56, 0x54, 0xda, 0xe3, 0xf9, 0xd7, 0x44, 0x88,
+	0xa7, 0x6d, 0x83, 0xd4, 0x62, 0xe6, 0x99, 0xca, 0xda, 0x00, 0xaf, 0x4a, 0x08, 0x11, 0x9d, 0x8e,
+	0x48, 0x2e, 0xa4, 0xc9, 0x7c, 0x67, 0x71, 0x70, 0x75, 0xa1, 0x06, 0xab, 0x1a, 0x6c, 0xa3, 0xe7,
+	0xdd, 0x60, 0x2a, 0x4e, 0xfa, 0x51, 0xa3, 0xcf, 0xb0, 0x41, 0x18, 0x72, 0xa1, 0xae, 0x7e, 0x23,
+	0x26, 0xff, 0x41, 0xf4, 0xa3, 0xc6, 0x88, 0xd3, 0x17, 0x31, 0xfb, 0xb3, 0x5d, 0x5e, 0x0a, 0xd9,
+	0x5d, 0x03, 0xca, 0x15, 0x43, 0xa0, 0x9a, 0x0d, 0xa4, 0xc9, 0x3c, 0x59, 0x4c, 0x8b, 0xe3, 0xad,
+	0x52, 0x74, 0x82, 0x4c, 0xc5, 0x7e, 0x05, 0x91, 0xd1, 0xb4, 0xcb, 0x4d, 0x8b, 0xbe, 0x5c, 0xbe,
+	0x8b, 0x43, 0x43, 0xd5, 0x68, 0xd5, 0xe5, 0xd1, 0x40, 0xcc, 0x37, 0x57, 0xce, 0x93, 0xe7, 0xfb,
+	0x4e, 0xb6, 0xb4, 0xd6, 0xce, 0x2a, 0x62, 0x9b, 0x59, 0x70, 0x4d, 0x06, 0x59, 0x2b, 0x69, 0x8f,
+	0xa1, 0xc9, 0x28, 0x00, 0x7f, 0xa0, 0x01, 0x43, 0xee, 0x0d, 0xed, 0xcd, 0x8f, 0xea, 0x73, 0xb2,
+	0xfb, 0x70, 0x9b, 0x3f, 0xbe, 0xee, 0x35, 0xc6, 0xeb, 0xef, 0x00, 0x00, 0x00, 0xff, 0xff, 0xb1,
+	0x9a, 0xd5, 0x79, 0xdb, 0x01, 0x00, 0x00,
 }
diff --git a/googleapis/api/serviceconfig/quota.pb.go b/googleapis/api/serviceconfig/quota.pb.go
index fe9168a142df62017e6d614117484d4eb11ec87a..b073aaf6f9283aa335ea2e4ece0c2904e663a85b 100644
--- a/googleapis/api/serviceconfig/quota.pb.go
+++ b/googleapis/api/serviceconfig/quota.pb.go
@@ -6,7 +6,6 @@ package serviceconfig // import "google.golang.org/genproto/googleapis/api/servi
 import proto "github.com/golang/protobuf/proto"
 import fmt "fmt"
 import math "math"
-import _ "google.golang.org/genproto/googleapis/api/annotations"
 
 // Reference imports to suppress errors if they are not otherwise used.
 var _ = proto.Marshal
@@ -22,7 +21,7 @@ const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package
 // Quota configuration helps to achieve fairness and budgeting in service
 // usage.
 //
-// The quota configuration works this way:
+// The metric based quota configuration works this way:
 // - The service configuration defines a set of metrics.
 // - For API calls, the quota.metric_rules maps methods to metrics with
 //   corresponding costs.
@@ -68,6 +67,8 @@ const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package
 //        display_name: Write requests
 //        metric_kind: DELTA
 //        value_type: INT64
+//
+//
 type Quota struct {
 	// List of `QuotaLimit` definitions for the service.
 	Limits []*QuotaLimit `protobuf:"bytes,3,rep,name=limits,proto3" json:"limits,omitempty"`
@@ -83,7 +84,7 @@ func (m *Quota) Reset()         { *m = Quota{} }
 func (m *Quota) String() string { return proto.CompactTextString(m) }
 func (*Quota) ProtoMessage()    {}
 func (*Quota) Descriptor() ([]byte, []int) {
-	return fileDescriptor_quota_259822e146c2c2dd, []int{0}
+	return fileDescriptor_quota_4b215e5a6820c815, []int{0}
 }
 func (m *Quota) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_Quota.Unmarshal(m, b)
@@ -122,8 +123,7 @@ func (m *Quota) GetMetricRules() []*MetricRule {
 type MetricRule struct {
 	// Selects the methods to which this rule applies.
 	//
-	// Refer to [selector][google.api.DocumentationRule.selector] for syntax
-	// details.
+	// Refer to [selector][google.api.DocumentationRule.selector] for syntax details.
 	Selector string `protobuf:"bytes,1,opt,name=selector,proto3" json:"selector,omitempty"`
 	// Metrics to update when the selected methods are called, and the associated
 	// cost applied to each metric.
@@ -141,7 +141,7 @@ func (m *MetricRule) Reset()         { *m = MetricRule{} }
 func (m *MetricRule) String() string { return proto.CompactTextString(m) }
 func (*MetricRule) ProtoMessage()    {}
 func (*MetricRule) Descriptor() ([]byte, []int) {
-	return fileDescriptor_quota_259822e146c2c2dd, []int{1}
+	return fileDescriptor_quota_4b215e5a6820c815, []int{1}
 }
 func (m *MetricRule) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_MetricRule.Unmarshal(m, b)
@@ -259,7 +259,7 @@ func (m *QuotaLimit) Reset()         { *m = QuotaLimit{} }
 func (m *QuotaLimit) String() string { return proto.CompactTextString(m) }
 func (*QuotaLimit) ProtoMessage()    {}
 func (*QuotaLimit) Descriptor() ([]byte, []int) {
-	return fileDescriptor_quota_259822e146c2c2dd, []int{2}
+	return fileDescriptor_quota_4b215e5a6820c815, []int{2}
 }
 func (m *QuotaLimit) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_QuotaLimit.Unmarshal(m, b)
@@ -357,38 +357,37 @@ func init() {
 	proto.RegisterMapType((map[string]int64)(nil), "google.api.QuotaLimit.ValuesEntry")
 }
 
-func init() { proto.RegisterFile("google/api/quota.proto", fileDescriptor_quota_259822e146c2c2dd) }
+func init() { proto.RegisterFile("google/api/quota.proto", fileDescriptor_quota_4b215e5a6820c815) }
 
-var fileDescriptor_quota_259822e146c2c2dd = []byte{
-	// 466 bytes of a gzipped FileDescriptorProto
+var fileDescriptor_quota_4b215e5a6820c815 = []byte{
+	// 453 bytes of a gzipped FileDescriptorProto
 	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x53, 0xc1, 0x8e, 0xd3, 0x30,
-	0x10, 0x55, 0x9a, 0xb6, 0xb4, 0xd3, 0x82, 0x56, 0x16, 0xaa, 0xac, 0xc2, 0xa1, 0x94, 0x03, 0x3d,
-	0xa5, 0x12, 0x5c, 0xd8, 0x45, 0x42, 0x62, 0xd1, 0x0a, 0x81, 0x00, 0x95, 0x08, 0x71, 0xe0, 0x52,
-	0x99, 0x74, 0x1a, 0x59, 0x38, 0x71, 0xb0, 0x9d, 0xd5, 0xf6, 0xcc, 0x9f, 0xf0, 0x0d, 0x7c, 0x20,
-	0xf2, 0xd8, 0xdb, 0x16, 0xd8, 0xcb, 0xde, 0x66, 0xe6, 0xbd, 0xe7, 0x17, 0x3f, 0x4f, 0x60, 0x52,
-	0x6a, 0x5d, 0x2a, 0x5c, 0x8a, 0x46, 0x2e, 0x7f, 0xb4, 0xda, 0x89, 0xac, 0x31, 0xda, 0x69, 0x06,
-	0x61, 0x9e, 0x89, 0x46, 0x4e, 0x1f, 0x1e, 0x71, 0x44, 0x5d, 0x6b, 0x27, 0x9c, 0xd4, 0xb5, 0x0d,
-	0xcc, 0xb9, 0x81, 0xde, 0x27, 0x2f, 0x64, 0x19, 0xf4, 0x95, 0xac, 0xa4, 0xb3, 0x3c, 0x9d, 0xa5,
-	0x8b, 0xd1, 0xd3, 0x49, 0x76, 0x38, 0x23, 0x23, 0xca, 0x7b, 0x0f, 0xe7, 0x91, 0xc5, 0x4e, 0x61,
-	0x5c, 0xa1, 0x33, 0xb2, 0x58, 0x9b, 0x56, 0xa1, 0xe5, 0xdd, 0xff, 0x55, 0x1f, 0x08, 0xcf, 0x5b,
-	0x85, 0xf9, 0xa8, 0xda, 0xd7, 0x76, 0xfe, 0x3b, 0x01, 0x38, 0x60, 0x6c, 0x0a, 0x03, 0x8b, 0x0a,
-	0x0b, 0xa7, 0x0d, 0x4f, 0x66, 0xc9, 0x62, 0x98, 0xef, 0x7b, 0xf6, 0x6e, 0xef, 0x52, 0x68, 0xeb,
-	0x2c, 0xef, 0x90, 0xcb, 0x93, 0x9b, 0x5d, 0x62, 0xf9, 0xda, 0x33, 0x2f, 0x6a, 0x67, 0x76, 0xd7,
-	0xb6, 0x34, 0x99, 0xbe, 0x84, 0x93, 0x7f, 0x09, 0xec, 0x04, 0xd2, 0xef, 0xb8, 0x8b, 0xb6, 0xbe,
-	0x64, 0xf7, 0xa1, 0x77, 0x29, 0x54, 0x8b, 0xbc, 0x33, 0x4b, 0x16, 0x69, 0x1e, 0x9a, 0xb3, 0xce,
-	0xf3, 0x64, 0xfe, 0x33, 0x05, 0x38, 0x04, 0xc1, 0x18, 0x74, 0x6b, 0x51, 0x21, 0xef, 0x93, 0x96,
-	0x6a, 0x36, 0x83, 0xd1, 0x06, 0x6d, 0x61, 0x64, 0xe3, 0x33, 0xa6, 0x23, 0x86, 0xf9, 0xf1, 0x88,
-	0x3d, 0x86, 0xbb, 0x1b, 0xdc, 0x8a, 0x56, 0xb9, 0x35, 0x05, 0xc9, 0x53, 0xb2, 0x19, 0xc7, 0x61,
-	0x38, 0xfa, 0x01, 0x0c, 0x2b, 0x71, 0x15, 0x09, 0x5d, 0x22, 0x0c, 0x2a, 0x71, 0xb5, 0x07, 0xb7,
-	0x06, 0x71, 0xed, 0x24, 0x1a, 0x7e, 0x27, 0x80, 0x7e, 0xf0, 0x59, 0xa2, 0xf1, 0x59, 0x6e, 0x5a,
-	0x43, 0x2f, 0xcc, 0x7b, 0x21, 0xcb, 0xeb, 0x9e, 0x4d, 0xa0, 0x1f, 0xe2, 0xe0, 0x03, 0x42, 0x62,
-	0xe7, 0x2f, 0xd2, 0xd6, 0xd2, 0xf1, 0x61, 0xb8, 0x88, 0xaf, 0xd9, 0x19, 0xf4, 0xe9, 0xe2, 0x96,
-	0x03, 0x25, 0x3e, 0xbf, 0x79, 0x1b, 0xb2, 0x2f, 0x44, 0x0a, 0x61, 0x47, 0x05, 0x7b, 0x04, 0xe3,
-	0x8d, 0xb4, 0x8d, 0x12, 0xbb, 0x35, 0x05, 0x34, 0x8e, 0x29, 0x84, 0xd9, 0x47, 0x51, 0xe1, 0xf4,
-	0x14, 0x46, 0x47, 0xca, 0xdb, 0xbc, 0xc2, 0xb9, 0x82, 0x7b, 0x85, 0xae, 0x8e, 0x3e, 0xe7, 0x3c,
-	0x3c, 0xca, 0xca, 0xaf, 0xf3, 0x2a, 0xf9, 0x7a, 0x11, 0x91, 0x52, 0x2b, 0x51, 0x97, 0x99, 0x36,
-	0xe5, 0xb2, 0xc4, 0x9a, 0x96, 0x7d, 0x19, 0x20, 0xd1, 0x48, 0x4b, 0x7f, 0x83, 0x45, 0x73, 0x29,
-	0x0b, 0x2c, 0x74, 0xbd, 0x95, 0xe5, 0x8b, 0xbf, 0xba, 0x5f, 0x9d, 0xee, 0x9b, 0x57, 0xab, 0xb7,
-	0xdf, 0xfa, 0x24, 0x7c, 0xf6, 0x27, 0x00, 0x00, 0xff, 0xff, 0x90, 0x7e, 0xf5, 0xab, 0x69, 0x03,
-	0x00, 0x00,
+	0x10, 0x55, 0x9a, 0x6e, 0x68, 0xa7, 0x05, 0xad, 0x2c, 0x54, 0x59, 0xe5, 0x52, 0xca, 0x81, 0x9e,
+	0x52, 0x09, 0x2e, 0xec, 0x22, 0x21, 0xb1, 0x68, 0x85, 0x40, 0x80, 0x4a, 0x84, 0x38, 0x70, 0xa9,
+	0x4c, 0x3a, 0x8d, 0x2c, 0x9c, 0x38, 0xd8, 0xce, 0x6a, 0x7b, 0xe6, 0x4f, 0xf8, 0x06, 0x3e, 0x10,
+	0x79, 0xec, 0x6d, 0x0b, 0xec, 0x85, 0xdb, 0xcc, 0x7b, 0x6f, 0xfc, 0xe2, 0xe7, 0x09, 0x4c, 0x2a,
+	0xad, 0x2b, 0x85, 0x4b, 0xd1, 0xca, 0xe5, 0xf7, 0x4e, 0x3b, 0x91, 0xb7, 0x46, 0x3b, 0xcd, 0x20,
+	0xe0, 0xb9, 0x68, 0xe5, 0xdc, 0xc0, 0xc9, 0x47, 0x4f, 0xb1, 0x1c, 0x32, 0x25, 0x6b, 0xe9, 0x2c,
+	0x4f, 0x67, 0xe9, 0x62, 0xf4, 0x64, 0x92, 0x1f, 0x54, 0x39, 0x49, 0xde, 0x79, 0xba, 0x88, 0x2a,
+	0x76, 0x06, 0xe3, 0x1a, 0x9d, 0x91, 0xe5, 0xda, 0x74, 0x0a, 0x2d, 0xef, 0xff, 0x3b, 0xf5, 0x9e,
+	0xf8, 0xa2, 0x53, 0x58, 0x8c, 0xea, 0x7d, 0x6d, 0xe7, 0xbf, 0x12, 0x80, 0x03, 0xc7, 0xa6, 0x30,
+	0xb0, 0xa8, 0xb0, 0x74, 0xda, 0xf0, 0x64, 0x96, 0x2c, 0x86, 0xc5, 0xbe, 0x67, 0x6f, 0xf7, 0x2e,
+	0xa5, 0xb6, 0xce, 0xf2, 0x1e, 0xb9, 0x3c, 0xbe, 0xdd, 0x25, 0x96, 0xaf, 0xbc, 0xf2, 0xb2, 0x71,
+	0x66, 0x77, 0x63, 0x4b, 0xc8, 0xf4, 0x05, 0x9c, 0xfe, 0x2d, 0x60, 0xa7, 0x90, 0x7e, 0xc3, 0x5d,
+	0xb4, 0xf5, 0x25, 0xbb, 0x0f, 0x27, 0x57, 0x42, 0x75, 0xc8, 0x7b, 0xb3, 0x64, 0x91, 0x16, 0xa1,
+	0x39, 0xef, 0x3d, 0x4b, 0xe6, 0x3f, 0x52, 0x80, 0x43, 0x10, 0x8c, 0x41, 0xbf, 0x11, 0x35, 0xf2,
+	0x8c, 0x66, 0xa9, 0x66, 0x33, 0x18, 0x6d, 0xd0, 0x96, 0x46, 0xb6, 0x4e, 0xea, 0x86, 0x8e, 0x18,
+	0x16, 0xc7, 0x10, 0x7b, 0x04, 0x77, 0x37, 0xb8, 0x15, 0x9d, 0x72, 0x6b, 0x0a, 0x92, 0xa7, 0x64,
+	0x33, 0x8e, 0x60, 0x38, 0xfa, 0x01, 0x0c, 0x6b, 0x71, 0x1d, 0x05, 0x7d, 0x12, 0x0c, 0x6a, 0x71,
+	0xbd, 0x27, 0xb7, 0x06, 0x71, 0xed, 0x24, 0x1a, 0x7e, 0x27, 0x90, 0x1e, 0xf8, 0x24, 0xd1, 0xf8,
+	0x2c, 0x37, 0x9d, 0x11, 0xe4, 0x7e, 0x12, 0xb2, 0xbc, 0xe9, 0xd9, 0x04, 0xb2, 0x10, 0x07, 0x1f,
+	0x10, 0x13, 0x3b, 0x7f, 0x91, 0xae, 0x91, 0x8e, 0x0f, 0xc3, 0x45, 0x7c, 0xcd, 0xce, 0x21, 0xa3,
+	0x8b, 0x5b, 0x0e, 0x94, 0xf8, 0xfc, 0xf6, 0x6d, 0xc8, 0x3f, 0x93, 0x28, 0x84, 0x1d, 0x27, 0xd8,
+	0x43, 0x18, 0x6f, 0xa4, 0x6d, 0x95, 0xd8, 0xad, 0x29, 0xa0, 0x71, 0x4c, 0x21, 0x60, 0x1f, 0x44,
+	0x8d, 0xd3, 0x33, 0x18, 0x1d, 0x4d, 0xfe, 0xcf, 0x2b, 0x5c, 0x28, 0xb8, 0x57, 0xea, 0xfa, 0xe8,
+	0x73, 0x2e, 0xc2, 0xa3, 0xac, 0xfc, 0x6a, 0xaf, 0x92, 0x2f, 0x97, 0x91, 0xa9, 0xb4, 0x12, 0x4d,
+	0x95, 0x6b, 0x53, 0x2d, 0x2b, 0x6c, 0x68, 0xf1, 0x97, 0x81, 0x12, 0xad, 0xb4, 0xf4, 0x4f, 0x58,
+	0x34, 0x57, 0xb2, 0xc4, 0x52, 0x37, 0x5b, 0x59, 0x3d, 0xff, 0xa3, 0xfb, 0xd9, 0xeb, 0xbf, 0x7e,
+	0xb9, 0x7a, 0xf3, 0x35, 0xa3, 0xc1, 0xa7, 0xbf, 0x03, 0x00, 0x00, 0xff, 0xff, 0x00, 0x7a, 0xae,
+	0xf6, 0x4b, 0x03, 0x00, 0x00,
 }
diff --git a/googleapis/api/serviceconfig/service.pb.go b/googleapis/api/serviceconfig/service.pb.go
index 709ee74239034547066c6d386c3adf0d5d716e3e..eee27cf44fdd219e3db1ba52f4cbdc238d6bbdfe 100644
--- a/googleapis/api/serviceconfig/service.pb.go
+++ b/googleapis/api/serviceconfig/service.pb.go
@@ -70,10 +70,10 @@ type Service struct {
 	// The Google project that owns this service.
 	ProducerProjectId string `protobuf:"bytes,22,opt,name=producer_project_id,json=producerProjectId,proto3" json:"producer_project_id,omitempty"`
 	// A list of API interfaces exported by this service. Only the `name` field
-	// of the [google.protobuf.Api][google.protobuf.Api] needs to be provided by
-	// the configuration author, as the remaining fields will be derived from the
-	// IDL during the normalization process. It is an error to specify an API
-	// interface here which cannot be resolved against the associated IDL files.
+	// of the [google.protobuf.Api][google.protobuf.Api] needs to be provided by the configuration
+	// author, as the remaining fields will be derived from the IDL during the
+	// normalization process. It is an error to specify an API interface here
+	// which cannot be resolved against the associated IDL files.
 	Apis []*api.Api `protobuf:"bytes,3,rep,name=apis,proto3" json:"apis,omitempty"`
 	// A list of all proto message types included in this API service.
 	// Types referenced directly or indirectly by the `apis` are
@@ -117,8 +117,7 @@ type Service struct {
 	// Defines the metrics used by this service.
 	Metrics []*metric.MetricDescriptor `protobuf:"bytes,24,rep,name=metrics,proto3" json:"metrics,omitempty"`
 	// Defines the monitored resources used by this service. This is required
-	// by the [Service.monitoring][google.api.Service.monitoring] and
-	// [Service.logging][google.api.Service.logging] configurations.
+	// by the [Service.monitoring][google.api.Service.monitoring] and [Service.logging][google.api.Service.logging] configurations.
 	MonitoredResources []*monitoredres.MonitoredResourceDescriptor `protobuf:"bytes,25,rep,name=monitored_resources,json=monitoredResources,proto3" json:"monitored_resources,omitempty"`
 	// Billing configuration.
 	Billing *Billing `protobuf:"bytes,26,opt,name=billing,proto3" json:"billing,omitempty"`
@@ -141,7 +140,7 @@ func (m *Service) Reset()         { *m = Service{} }
 func (m *Service) String() string { return proto.CompactTextString(m) }
 func (*Service) ProtoMessage()    {}
 func (*Service) Descriptor() ([]byte, []int) {
-	return fileDescriptor_service_7ba9b10e7153108c, []int{0}
+	return fileDescriptor_service_e73db125e27d5d7f, []int{0}
 }
 func (m *Service) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_Service.Unmarshal(m, b)
@@ -347,9 +346,9 @@ func init() {
 	proto.RegisterType((*Service)(nil), "google.api.Service")
 }
 
-func init() { proto.RegisterFile("google/api/service.proto", fileDescriptor_service_7ba9b10e7153108c) }
+func init() { proto.RegisterFile("google/api/service.proto", fileDescriptor_service_e73db125e27d5d7f) }
 
-var fileDescriptor_service_7ba9b10e7153108c = []byte{
+var fileDescriptor_service_e73db125e27d5d7f = []byte{
 	// 825 bytes of a gzipped FileDescriptorProto
 	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x74, 0x96, 0xdf, 0x6e, 0xdb, 0x36,
 	0x14, 0x87, 0x61, 0xd7, 0x6e, 0x16, 0x3a, 0xcd, 0x1a, 0xc6, 0x49, 0x19, 0xd7, 0x1b, 0xd2, 0xfd,
diff --git a/googleapis/api/serviceconfig/source_info.pb.go b/googleapis/api/serviceconfig/source_info.pb.go
index 334b20d5e08e8d2600c97a1a8b058e7fdb702494..d3785a9c7b03bc39b67ebae187a595c7580c10be 100644
--- a/googleapis/api/serviceconfig/source_info.pb.go
+++ b/googleapis/api/serviceconfig/source_info.pb.go
@@ -32,7 +32,7 @@ func (m *SourceInfo) Reset()         { *m = SourceInfo{} }
 func (m *SourceInfo) String() string { return proto.CompactTextString(m) }
 func (*SourceInfo) ProtoMessage()    {}
 func (*SourceInfo) Descriptor() ([]byte, []int) {
-	return fileDescriptor_source_info_a3e4837d95d932be, []int{0}
+	return fileDescriptor_source_info_183438e69452d617, []int{0}
 }
 func (m *SourceInfo) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_SourceInfo.Unmarshal(m, b)
@@ -64,10 +64,10 @@ func init() {
 }
 
 func init() {
-	proto.RegisterFile("google/api/source_info.proto", fileDescriptor_source_info_a3e4837d95d932be)
+	proto.RegisterFile("google/api/source_info.proto", fileDescriptor_source_info_183438e69452d617)
 }
 
-var fileDescriptor_source_info_a3e4837d95d932be = []byte{
+var fileDescriptor_source_info_183438e69452d617 = []byte{
 	// 198 bytes of a gzipped FileDescriptorProto
 	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x92, 0x49, 0xcf, 0xcf, 0x4f,
 	0xcf, 0x49, 0xd5, 0x4f, 0x2c, 0xc8, 0xd4, 0x2f, 0xce, 0x2f, 0x2d, 0x4a, 0x4e, 0x8d, 0xcf, 0xcc,
diff --git a/googleapis/api/serviceconfig/system_parameter.pb.go b/googleapis/api/serviceconfig/system_parameter.pb.go
index e2aa0388fc881460505c70f51e411b05a9c99a6a..5f944480f323434fa13f81ded798487551617dae 100644
--- a/googleapis/api/serviceconfig/system_parameter.pb.go
+++ b/googleapis/api/serviceconfig/system_parameter.pb.go
@@ -64,7 +64,7 @@ func (m *SystemParameters) Reset()         { *m = SystemParameters{} }
 func (m *SystemParameters) String() string { return proto.CompactTextString(m) }
 func (*SystemParameters) ProtoMessage()    {}
 func (*SystemParameters) Descriptor() ([]byte, []int) {
-	return fileDescriptor_system_parameter_a1924757c4d15682, []int{0}
+	return fileDescriptor_system_parameter_3640db39ba8fa91b, []int{0}
 }
 func (m *SystemParameters) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_SystemParameters.Unmarshal(m, b)
@@ -97,8 +97,7 @@ type SystemParameterRule struct {
 	// Selects the methods to which this rule applies. Use '*' to indicate all
 	// methods in all APIs.
 	//
-	// Refer to [selector][google.api.DocumentationRule.selector] for syntax
-	// details.
+	// Refer to [selector][google.api.DocumentationRule.selector] for syntax details.
 	Selector string `protobuf:"bytes,1,opt,name=selector,proto3" json:"selector,omitempty"`
 	// Define parameters. Multiple names may be defined for a parameter.
 	// For a given method call, only one of them should be used. If multiple
@@ -115,7 +114,7 @@ func (m *SystemParameterRule) Reset()         { *m = SystemParameterRule{} }
 func (m *SystemParameterRule) String() string { return proto.CompactTextString(m) }
 func (*SystemParameterRule) ProtoMessage()    {}
 func (*SystemParameterRule) Descriptor() ([]byte, []int) {
-	return fileDescriptor_system_parameter_a1924757c4d15682, []int{1}
+	return fileDescriptor_system_parameter_3640db39ba8fa91b, []int{1}
 }
 func (m *SystemParameterRule) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_SystemParameterRule.Unmarshal(m, b)
@@ -170,7 +169,7 @@ func (m *SystemParameter) Reset()         { *m = SystemParameter{} }
 func (m *SystemParameter) String() string { return proto.CompactTextString(m) }
 func (*SystemParameter) ProtoMessage()    {}
 func (*SystemParameter) Descriptor() ([]byte, []int) {
-	return fileDescriptor_system_parameter_a1924757c4d15682, []int{2}
+	return fileDescriptor_system_parameter_3640db39ba8fa91b, []int{2}
 }
 func (m *SystemParameter) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_SystemParameter.Unmarshal(m, b)
@@ -218,10 +217,10 @@ func init() {
 }
 
 func init() {
-	proto.RegisterFile("google/api/system_parameter.proto", fileDescriptor_system_parameter_a1924757c4d15682)
+	proto.RegisterFile("google/api/system_parameter.proto", fileDescriptor_system_parameter_3640db39ba8fa91b)
 }
 
-var fileDescriptor_system_parameter_a1924757c4d15682 = []byte{
+var fileDescriptor_system_parameter_3640db39ba8fa91b = []byte{
 	// 286 bytes of a gzipped FileDescriptorProto
 	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x7c, 0x91, 0xbf, 0x4e, 0xc3, 0x30,
 	0x10, 0x87, 0x95, 0xb6, 0x20, 0xb8, 0x4a, 0xfc, 0x71, 0x19, 0x22, 0x18, 0x5a, 0x3a, 0x75, 0x72,
diff --git a/googleapis/api/serviceconfig/usage.pb.go b/googleapis/api/serviceconfig/usage.pb.go
index d029cd0a3e0fed7286e4c3ad674cef85e0ed6b56..8d8d953cbae4b2c4b17b6a4ef8bc280e464bd671 100644
--- a/googleapis/api/serviceconfig/usage.pb.go
+++ b/googleapis/api/serviceconfig/usage.pb.go
@@ -6,7 +6,6 @@ package serviceconfig // import "google.golang.org/genproto/googleapis/api/servi
 import proto "github.com/golang/protobuf/proto"
 import fmt "fmt"
 import math "math"
-import _ "google.golang.org/genproto/googleapis/api/annotations"
 
 // Reference imports to suppress errors if they are not otherwise used.
 var _ = proto.Marshal
@@ -47,7 +46,7 @@ func (m *Usage) Reset()         { *m = Usage{} }
 func (m *Usage) String() string { return proto.CompactTextString(m) }
 func (*Usage) ProtoMessage()    {}
 func (*Usage) Descriptor() ([]byte, []int) {
-	return fileDescriptor_usage_5c2529237cea3af3, []int{0}
+	return fileDescriptor_usage_d6ec7a8d0b744701, []int{0}
 }
 func (m *Usage) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_Usage.Unmarshal(m, b)
@@ -117,8 +116,7 @@ type UsageRule struct {
 	// Selects the methods to which this rule applies. Use '*' to indicate all
 	// methods in all APIs.
 	//
-	// Refer to [selector][google.api.DocumentationRule.selector] for syntax
-	// details.
+	// Refer to [selector][google.api.DocumentationRule.selector] for syntax details.
 	Selector string `protobuf:"bytes,1,opt,name=selector,proto3" json:"selector,omitempty"`
 	// If true, the selected method allows unregistered calls, e.g. calls
 	// that don't identify any user or application.
@@ -137,7 +135,7 @@ func (m *UsageRule) Reset()         { *m = UsageRule{} }
 func (m *UsageRule) String() string { return proto.CompactTextString(m) }
 func (*UsageRule) ProtoMessage()    {}
 func (*UsageRule) Descriptor() ([]byte, []int) {
-	return fileDescriptor_usage_5c2529237cea3af3, []int{1}
+	return fileDescriptor_usage_d6ec7a8d0b744701, []int{1}
 }
 func (m *UsageRule) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_UsageRule.Unmarshal(m, b)
@@ -183,29 +181,28 @@ func init() {
 	proto.RegisterType((*UsageRule)(nil), "google.api.UsageRule")
 }
 
-func init() { proto.RegisterFile("google/api/usage.proto", fileDescriptor_usage_5c2529237cea3af3) }
-
-var fileDescriptor_usage_5c2529237cea3af3 = []byte{
-	// 331 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x54, 0x91, 0xc1, 0x4b, 0xfb, 0x30,
-	0x14, 0xc7, 0xe9, 0xf6, 0xdb, 0x7e, 0x5b, 0x14, 0x0f, 0x41, 0x47, 0x99, 0x0a, 0x65, 0xa7, 0x82,
-	0xd0, 0x8a, 0x5e, 0x04, 0x4f, 0x6e, 0x88, 0x78, 0x91, 0x51, 0xd9, 0xc5, 0x4b, 0x89, 0xd9, 0x5b,
-	0x0c, 0x66, 0x79, 0x35, 0x49, 0xf5, 0x0f, 0xf1, 0xea, 0xc9, 0xbf, 0x54, 0x9a, 0xcc, 0xd9, 0x1d,
-	0xdf, 0xfb, 0x7c, 0xbe, 0xef, 0xb5, 0x2f, 0x64, 0x24, 0x10, 0x85, 0x82, 0x9c, 0x55, 0x32, 0xaf,
-	0x2d, 0x13, 0x90, 0x55, 0x06, 0x1d, 0x52, 0x12, 0xfa, 0x19, 0xab, 0xe4, 0xf8, 0xa4, 0xe5, 0x30,
-	0xad, 0xd1, 0x31, 0x27, 0x51, 0xdb, 0x60, 0x4e, 0xbe, 0x22, 0xd2, 0x5b, 0x34, 0x49, 0x3a, 0x21,
-	0xfb, 0x06, 0xde, 0x6a, 0x69, 0x60, 0x0d, 0xda, 0xd9, 0x38, 0x4a, 0xba, 0xe9, 0xb0, 0xd8, 0xe9,
-	0xd1, 0x33, 0xd2, 0x33, 0xb5, 0x02, 0x1b, 0xf7, 0x93, 0x6e, 0xba, 0x77, 0x71, 0x94, 0xfd, 0xed,
-	0xc9, 0xfc, 0x94, 0xa2, 0x56, 0x50, 0x04, 0x87, 0x4e, 0xc9, 0x69, 0x65, 0x70, 0x59, 0x73, 0x30,
-	0xa5, 0x46, 0x27, 0x57, 0x92, 0xfb, 0xd5, 0x25, 0x7f, 0x61, 0x5a, 0x83, 0x8a, 0xff, 0x27, 0x51,
-	0x3a, 0x2c, 0x8e, 0x7f, 0xa5, 0x87, 0x96, 0x33, 0x0b, 0xca, 0xe4, 0x33, 0x22, 0xc3, 0xed, 0x60,
-	0x3a, 0x26, 0x03, 0x0b, 0x0a, 0xb8, 0x43, 0x13, 0x47, 0x3e, 0xbc, 0xad, 0xe9, 0x15, 0x89, 0x99,
-	0x52, 0xf8, 0x51, 0xd6, 0xda, 0x80, 0x90, 0xd6, 0x81, 0x81, 0x65, 0xc9, 0x99, 0x52, 0x36, 0xee,
-	0x24, 0x51, 0x3a, 0x28, 0x46, 0x9e, 0x2f, 0x5a, 0x78, 0xd6, 0x50, 0x7a, 0x4e, 0x0e, 0xed, 0xab,
-	0xac, 0x4a, 0x0b, 0xe6, 0x5d, 0x72, 0x28, 0x39, 0x6a, 0x67, 0x50, 0xc5, 0x5d, 0x9f, 0xa2, 0x0d,
-	0x7b, 0x0c, 0x68, 0x16, 0xc8, 0x54, 0x91, 0x03, 0x8e, 0xeb, 0xd6, 0xcf, 0x4f, 0x89, 0xff, 0xc8,
-	0x79, 0x73, 0xd2, 0x79, 0xf4, 0x74, 0xbb, 0x21, 0x02, 0x15, 0xd3, 0x22, 0x43, 0x23, 0x72, 0x01,
-	0xda, 0x1f, 0x3c, 0x0f, 0x88, 0x55, 0xd2, 0xfa, 0x17, 0xd9, 0x2c, 0xe5, 0xa8, 0x57, 0x52, 0x5c,
-	0xef, 0x54, 0xdf, 0x9d, 0x7f, 0x77, 0x37, 0xf3, 0xfb, 0xe7, 0xbe, 0x0f, 0x5e, 0xfe, 0x04, 0x00,
-	0x00, 0xff, 0xff, 0x9c, 0x4b, 0x8c, 0x57, 0xed, 0x01, 0x00, 0x00,
+func init() { proto.RegisterFile("google/api/usage.proto", fileDescriptor_usage_d6ec7a8d0b744701) }
+
+var fileDescriptor_usage_d6ec7a8d0b744701 = []byte{
+	// 319 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x54, 0x91, 0xc1, 0x4a, 0x33, 0x31,
+	0x14, 0x85, 0x49, 0xfb, 0xb7, 0x7f, 0x1b, 0xc5, 0x45, 0xd0, 0x12, 0x14, 0x61, 0xe8, 0x6a, 0x40,
+	0x98, 0x11, 0xdd, 0x08, 0xae, 0x6c, 0x11, 0x71, 0x23, 0x65, 0xa4, 0x1b, 0x37, 0x43, 0x4c, 0x6f,
+	0x63, 0x30, 0xcd, 0x1d, 0x93, 0x8c, 0x3e, 0x88, 0x5b, 0x57, 0x3e, 0xa9, 0x4c, 0xa6, 0xd6, 0x76,
+	0x79, 0xef, 0x77, 0xce, 0x49, 0x72, 0x42, 0x47, 0x0a, 0x51, 0x19, 0xc8, 0x45, 0xa5, 0xf3, 0xda,
+	0x0b, 0x05, 0x59, 0xe5, 0x30, 0x20, 0xa3, 0xed, 0x3e, 0x13, 0x95, 0x1e, 0x7f, 0x11, 0xda, 0x9b,
+	0x37, 0x8c, 0x8d, 0xe9, 0xbe, 0x83, 0xb7, 0x5a, 0x3b, 0x58, 0x81, 0x0d, 0x9e, 0x93, 0xa4, 0x9b,
+	0x0e, 0x8b, 0x9d, 0x1d, 0x3b, 0xa3, 0x3d, 0x57, 0x1b, 0xf0, 0xbc, 0x9f, 0x74, 0xd3, 0xbd, 0x8b,
+	0xa3, 0xec, 0x2f, 0x29, 0x8b, 0x29, 0x45, 0x6d, 0xa0, 0x68, 0x35, 0x6c, 0x42, 0x4f, 0x2b, 0x87,
+	0x8b, 0x5a, 0x82, 0x2b, 0x2d, 0x06, 0xbd, 0xd4, 0x52, 0x04, 0x8d, 0xb6, 0x94, 0x2f, 0xc2, 0x5a,
+	0x30, 0xfc, 0x7f, 0x42, 0xd2, 0x61, 0x71, 0xf2, 0x2b, 0x7a, 0xd8, 0xd2, 0x4c, 0x5b, 0xc9, 0xf8,
+	0x93, 0xd0, 0xe1, 0x26, 0x98, 0x1d, 0xd3, 0x81, 0x07, 0x03, 0x32, 0xa0, 0xe3, 0x24, 0x9a, 0x37,
+	0x33, 0xbb, 0xa2, 0x5c, 0x18, 0x83, 0x1f, 0x65, 0x6d, 0x1d, 0x28, 0xed, 0x03, 0x38, 0x58, 0x94,
+	0x52, 0x18, 0xe3, 0x79, 0x27, 0x21, 0xe9, 0xa0, 0x18, 0x45, 0x3e, 0xdf, 0xc2, 0xd3, 0x86, 0xb2,
+	0x73, 0x7a, 0xe8, 0x5f, 0x75, 0x55, 0x7a, 0x70, 0xef, 0x5a, 0x42, 0x29, 0xd1, 0x06, 0x87, 0x86,
+	0x77, 0xa3, 0x8b, 0x35, 0xec, 0xb1, 0x45, 0xd3, 0x96, 0x4c, 0x0c, 0x3d, 0x90, 0xb8, 0xda, 0x7a,
+	0xfc, 0x84, 0xc6, 0x4b, 0xce, 0x9a, 0x7a, 0x67, 0xe4, 0xe9, 0x76, 0x4d, 0x14, 0x1a, 0x61, 0x55,
+	0x86, 0x4e, 0xe5, 0x0a, 0x6c, 0x2c, 0x3f, 0x6f, 0x91, 0xa8, 0xb4, 0x8f, 0xff, 0xb2, 0x3e, 0x54,
+	0xa2, 0x5d, 0x6a, 0x75, 0xbd, 0x33, 0x7d, 0x77, 0xfe, 0xdd, 0xdd, 0xcc, 0xee, 0x9f, 0xfb, 0xd1,
+	0x78, 0xf9, 0x13, 0x00, 0x00, 0xff, 0xff, 0xd7, 0x64, 0x56, 0x3e, 0xcf, 0x01, 0x00, 0x00,
 }
diff --git a/googleapis/cloud/dialogflow/v2/audio_config.pb.go b/googleapis/cloud/dialogflow/v2/audio_config.pb.go
index db77fa58a56f562cb704e19113d948cdb0d447c7..5683a39546cdb3f83547f4a1b59e1c93e2b479fb 100644
--- a/googleapis/cloud/dialogflow/v2/audio_config.pb.go
+++ b/googleapis/cloud/dialogflow/v2/audio_config.pb.go
@@ -19,6 +19,140 @@ var _ = math.Inf
 // proto package needs to be updated.
 const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package
 
+// Audio encoding of the audio content sent in the conversational query request.
+// Refer to the
+// [Cloud Speech API
+// documentation](https://cloud.google.com/speech-to-text/docs/basics) for more
+// details.
+type AudioEncoding int32
+
+const (
+	// Not specified.
+	AudioEncoding_AUDIO_ENCODING_UNSPECIFIED AudioEncoding = 0
+	// Uncompressed 16-bit signed little-endian samples (Linear PCM).
+	AudioEncoding_AUDIO_ENCODING_LINEAR_16 AudioEncoding = 1
+	// [`FLAC`](https://xiph.org/flac/documentation.html) (Free Lossless Audio
+	// Codec) is the recommended encoding because it is lossless (therefore
+	// recognition is not compromised) and requires only about half the
+	// bandwidth of `LINEAR16`. `FLAC` stream encoding supports 16-bit and
+	// 24-bit samples, however, not all fields in `STREAMINFO` are supported.
+	AudioEncoding_AUDIO_ENCODING_FLAC AudioEncoding = 2
+	// 8-bit samples that compand 14-bit audio samples using G.711 PCMU/mu-law.
+	AudioEncoding_AUDIO_ENCODING_MULAW AudioEncoding = 3
+	// Adaptive Multi-Rate Narrowband codec. `sample_rate_hertz` must be 8000.
+	AudioEncoding_AUDIO_ENCODING_AMR AudioEncoding = 4
+	// Adaptive Multi-Rate Wideband codec. `sample_rate_hertz` must be 16000.
+	AudioEncoding_AUDIO_ENCODING_AMR_WB AudioEncoding = 5
+	// Opus encoded audio frames in Ogg container
+	// ([OggOpus](https://wiki.xiph.org/OggOpus)).
+	// `sample_rate_hertz` must be 16000.
+	AudioEncoding_AUDIO_ENCODING_OGG_OPUS AudioEncoding = 6
+	// Although the use of lossy encodings is not recommended, if a very low
+	// bitrate encoding is required, `OGG_OPUS` is highly preferred over
+	// Speex encoding. The [Speex](https://speex.org/) encoding supported by
+	// Dialogflow API has a header byte in each block, as in MIME type
+	// `audio/x-speex-with-header-byte`.
+	// It is a variant of the RTP Speex encoding defined in
+	// [RFC 5574](https://tools.ietf.org/html/rfc5574).
+	// The stream is a sequence of blocks, one block per RTP packet. Each block
+	// starts with a byte containing the length of the block, in bytes, followed
+	// by one or more frames of Speex data, padded to an integral number of
+	// bytes (octets) as specified in RFC 5574. In other words, each RTP header
+	// is replaced with a single byte containing the block length. Only Speex
+	// wideband is supported. `sample_rate_hertz` must be 16000.
+	AudioEncoding_AUDIO_ENCODING_SPEEX_WITH_HEADER_BYTE AudioEncoding = 7
+)
+
+var AudioEncoding_name = map[int32]string{
+	0: "AUDIO_ENCODING_UNSPECIFIED",
+	1: "AUDIO_ENCODING_LINEAR_16",
+	2: "AUDIO_ENCODING_FLAC",
+	3: "AUDIO_ENCODING_MULAW",
+	4: "AUDIO_ENCODING_AMR",
+	5: "AUDIO_ENCODING_AMR_WB",
+	6: "AUDIO_ENCODING_OGG_OPUS",
+	7: "AUDIO_ENCODING_SPEEX_WITH_HEADER_BYTE",
+}
+var AudioEncoding_value = map[string]int32{
+	"AUDIO_ENCODING_UNSPECIFIED":            0,
+	"AUDIO_ENCODING_LINEAR_16":              1,
+	"AUDIO_ENCODING_FLAC":                   2,
+	"AUDIO_ENCODING_MULAW":                  3,
+	"AUDIO_ENCODING_AMR":                    4,
+	"AUDIO_ENCODING_AMR_WB":                 5,
+	"AUDIO_ENCODING_OGG_OPUS":               6,
+	"AUDIO_ENCODING_SPEEX_WITH_HEADER_BYTE": 7,
+}
+
+func (x AudioEncoding) String() string {
+	return proto.EnumName(AudioEncoding_name, int32(x))
+}
+func (AudioEncoding) EnumDescriptor() ([]byte, []int) {
+	return fileDescriptor_audio_config_1b9deb1869936da6, []int{0}
+}
+
+// Variant of the specified [Speech model][google.cloud.dialogflow.v2.InputAudioConfig.model] to use.
+//
+// See the [Cloud Speech
+// documentation](https://cloud.google.com/speech-to-text/docs/enhanced-models)
+// for which models have different variants. For example, the "phone_call" model
+// has both a standard and an enhanced variant. When you use an enhanced model,
+// you will generally receive higher quality results than for a standard model.
+type SpeechModelVariant int32
+
+const (
+	// No model variant specified. In this case Dialogflow defaults to
+	// USE_BEST_AVAILABLE.
+	SpeechModelVariant_SPEECH_MODEL_VARIANT_UNSPECIFIED SpeechModelVariant = 0
+	// Use the best available variant of the [Speech
+	// model][InputAudioConfig.model] that the caller is eligible for.
+	//
+	// Please see the [Dialogflow
+	// docs](https://cloud.google.com/dialogflow-enterprise/docs/data-logging) for
+	// how to make your project eligible for enhanced models.
+	SpeechModelVariant_USE_BEST_AVAILABLE SpeechModelVariant = 1
+	// Use standard model variant even if an enhanced model is available.  See the
+	// [Cloud Speech
+	// documentation](https://cloud.google.com/speech-to-text/docs/enhanced-models)
+	// for details about enhanced models.
+	SpeechModelVariant_USE_STANDARD SpeechModelVariant = 2
+	// Use an enhanced model variant:
+	//
+	// * If an enhanced variant does not exist for the given
+	//   [model][google.cloud.dialogflow.v2.InputAudioConfig.model] and request language, Dialogflow falls
+	//   back to the standard variant.
+	//
+	//   The [Cloud Speech
+	//   documentation](https://cloud.google.com/speech-to-text/docs/enhanced-models)
+	//   describes which models have enhanced variants.
+	//
+	// * If the API caller isn't eligible for enhanced models, Dialogflow returns
+	//   an error. Please see the [Dialogflow
+	//   docs](https://cloud.google.com/dialogflow-enterprise/docs/data-logging)
+	//   for how to make your project eligible.
+	SpeechModelVariant_USE_ENHANCED SpeechModelVariant = 3
+)
+
+var SpeechModelVariant_name = map[int32]string{
+	0: "SPEECH_MODEL_VARIANT_UNSPECIFIED",
+	1: "USE_BEST_AVAILABLE",
+	2: "USE_STANDARD",
+	3: "USE_ENHANCED",
+}
+var SpeechModelVariant_value = map[string]int32{
+	"SPEECH_MODEL_VARIANT_UNSPECIFIED": 0,
+	"USE_BEST_AVAILABLE":               1,
+	"USE_STANDARD":                     2,
+	"USE_ENHANCED":                     3,
+}
+
+func (x SpeechModelVariant) String() string {
+	return proto.EnumName(SpeechModelVariant_name, int32(x))
+}
+func (SpeechModelVariant) EnumDescriptor() ([]byte, []int) {
+	return fileDescriptor_audio_config_1b9deb1869936da6, []int{1}
+}
+
 // Gender of the voice as described in
 // [SSML voice element](https://www.w3.org/TR/speech-synthesis11/#edef_voice).
 type SsmlVoiceGender int32
@@ -52,7 +186,7 @@ func (x SsmlVoiceGender) String() string {
 	return proto.EnumName(SsmlVoiceGender_name, int32(x))
 }
 func (SsmlVoiceGender) EnumDescriptor() ([]byte, []int) {
-	return fileDescriptor_audio_config_10e5d4ebe984100d, []int{0}
+	return fileDescriptor_audio_config_1b9deb1869936da6, []int{2}
 }
 
 // Audio encoding of the output audio format in Text-To-Speech.
@@ -90,7 +224,96 @@ func (x OutputAudioEncoding) String() string {
 	return proto.EnumName(OutputAudioEncoding_name, int32(x))
 }
 func (OutputAudioEncoding) EnumDescriptor() ([]byte, []int) {
-	return fileDescriptor_audio_config_10e5d4ebe984100d, []int{1}
+	return fileDescriptor_audio_config_1b9deb1869936da6, []int{3}
+}
+
+// Instructs the speech recognizer how to process the audio content.
+type InputAudioConfig struct {
+	// Required. Audio encoding of the audio content to process.
+	AudioEncoding AudioEncoding `protobuf:"varint,1,opt,name=audio_encoding,json=audioEncoding,proto3,enum=google.cloud.dialogflow.v2.AudioEncoding" json:"audio_encoding,omitempty"`
+	// Required. Sample rate (in Hertz) of the audio content sent in the query.
+	// Refer to
+	// [Cloud Speech API
+	// documentation](https://cloud.google.com/speech-to-text/docs/basics) for
+	// more details.
+	SampleRateHertz int32 `protobuf:"varint,2,opt,name=sample_rate_hertz,json=sampleRateHertz,proto3" json:"sample_rate_hertz,omitempty"`
+	// Required. The language of the supplied audio. Dialogflow does not do
+	// translations. See [Language
+	// Support](https://cloud.google.com/dialogflow-enterprise/docs/reference/language)
+	// for a list of the currently supported language codes. Note that queries in
+	// the same session do not necessarily need to specify the same language.
+	LanguageCode string `protobuf:"bytes,3,opt,name=language_code,json=languageCode,proto3" json:"language_code,omitempty"`
+	// Optional. The collection of phrase hints which are used to boost accuracy
+	// of speech recognition.
+	// Refer to
+	// [Cloud Speech API
+	// documentation](https://cloud.google.com/speech-to-text/docs/basics#phrase-hints)
+	// for more details.
+	PhraseHints []string `protobuf:"bytes,4,rep,name=phrase_hints,json=phraseHints,proto3" json:"phrase_hints,omitempty"`
+	// Optional. Which variant of the [Speech model][google.cloud.dialogflow.v2.InputAudioConfig.model] to use.
+	ModelVariant         SpeechModelVariant `protobuf:"varint,10,opt,name=model_variant,json=modelVariant,proto3,enum=google.cloud.dialogflow.v2.SpeechModelVariant" json:"model_variant,omitempty"`
+	XXX_NoUnkeyedLiteral struct{}           `json:"-"`
+	XXX_unrecognized     []byte             `json:"-"`
+	XXX_sizecache        int32              `json:"-"`
+}
+
+func (m *InputAudioConfig) Reset()         { *m = InputAudioConfig{} }
+func (m *InputAudioConfig) String() string { return proto.CompactTextString(m) }
+func (*InputAudioConfig) ProtoMessage()    {}
+func (*InputAudioConfig) Descriptor() ([]byte, []int) {
+	return fileDescriptor_audio_config_1b9deb1869936da6, []int{0}
+}
+func (m *InputAudioConfig) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_InputAudioConfig.Unmarshal(m, b)
+}
+func (m *InputAudioConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_InputAudioConfig.Marshal(b, m, deterministic)
+}
+func (dst *InputAudioConfig) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_InputAudioConfig.Merge(dst, src)
+}
+func (m *InputAudioConfig) XXX_Size() int {
+	return xxx_messageInfo_InputAudioConfig.Size(m)
+}
+func (m *InputAudioConfig) XXX_DiscardUnknown() {
+	xxx_messageInfo_InputAudioConfig.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_InputAudioConfig proto.InternalMessageInfo
+
+func (m *InputAudioConfig) GetAudioEncoding() AudioEncoding {
+	if m != nil {
+		return m.AudioEncoding
+	}
+	return AudioEncoding_AUDIO_ENCODING_UNSPECIFIED
+}
+
+func (m *InputAudioConfig) GetSampleRateHertz() int32 {
+	if m != nil {
+		return m.SampleRateHertz
+	}
+	return 0
+}
+
+func (m *InputAudioConfig) GetLanguageCode() string {
+	if m != nil {
+		return m.LanguageCode
+	}
+	return ""
+}
+
+func (m *InputAudioConfig) GetPhraseHints() []string {
+	if m != nil {
+		return m.PhraseHints
+	}
+	return nil
+}
+
+func (m *InputAudioConfig) GetModelVariant() SpeechModelVariant {
+	if m != nil {
+		return m.ModelVariant
+	}
+	return SpeechModelVariant_SPEECH_MODEL_VARIANT_UNSPECIFIED
 }
 
 // Description of which voice to use for speech synthesis.
@@ -113,7 +336,7 @@ func (m *VoiceSelectionParams) Reset()         { *m = VoiceSelectionParams{} }
 func (m *VoiceSelectionParams) String() string { return proto.CompactTextString(m) }
 func (*VoiceSelectionParams) ProtoMessage()    {}
 func (*VoiceSelectionParams) Descriptor() ([]byte, []int) {
-	return fileDescriptor_audio_config_10e5d4ebe984100d, []int{0}
+	return fileDescriptor_audio_config_1b9deb1869936da6, []int{1}
 }
 func (m *VoiceSelectionParams) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_VoiceSelectionParams.Unmarshal(m, b)
@@ -182,7 +405,7 @@ func (m *SynthesizeSpeechConfig) Reset()         { *m = SynthesizeSpeechConfig{}
 func (m *SynthesizeSpeechConfig) String() string { return proto.CompactTextString(m) }
 func (*SynthesizeSpeechConfig) ProtoMessage()    {}
 func (*SynthesizeSpeechConfig) Descriptor() ([]byte, []int) {
-	return fileDescriptor_audio_config_10e5d4ebe984100d, []int{1}
+	return fileDescriptor_audio_config_1b9deb1869936da6, []int{2}
 }
 func (m *SynthesizeSpeechConfig) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_SynthesizeSpeechConfig.Unmarshal(m, b)
@@ -237,7 +460,7 @@ func (m *SynthesizeSpeechConfig) GetVoice() *VoiceSelectionParams {
 	return nil
 }
 
-// Instructs the speech synthesizer how to generate the output audio content.
+// Instructs the speech synthesizer on how to generate the output audio content.
 type OutputAudioConfig struct {
 	// Required. Audio encoding of the synthesized audio content.
 	AudioEncoding OutputAudioEncoding `protobuf:"varint,1,opt,name=audio_encoding,json=audioEncoding,proto3,enum=google.cloud.dialogflow.v2.OutputAudioEncoding" json:"audio_encoding,omitempty"`
@@ -258,7 +481,7 @@ func (m *OutputAudioConfig) Reset()         { *m = OutputAudioConfig{} }
 func (m *OutputAudioConfig) String() string { return proto.CompactTextString(m) }
 func (*OutputAudioConfig) ProtoMessage()    {}
 func (*OutputAudioConfig) Descriptor() ([]byte, []int) {
-	return fileDescriptor_audio_config_10e5d4ebe984100d, []int{2}
+	return fileDescriptor_audio_config_1b9deb1869936da6, []int{3}
 }
 func (m *OutputAudioConfig) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_OutputAudioConfig.Unmarshal(m, b)
@@ -300,57 +523,77 @@ func (m *OutputAudioConfig) GetSynthesizeSpeechConfig() *SynthesizeSpeechConfig
 }
 
 func init() {
+	proto.RegisterType((*InputAudioConfig)(nil), "google.cloud.dialogflow.v2.InputAudioConfig")
 	proto.RegisterType((*VoiceSelectionParams)(nil), "google.cloud.dialogflow.v2.VoiceSelectionParams")
 	proto.RegisterType((*SynthesizeSpeechConfig)(nil), "google.cloud.dialogflow.v2.SynthesizeSpeechConfig")
 	proto.RegisterType((*OutputAudioConfig)(nil), "google.cloud.dialogflow.v2.OutputAudioConfig")
+	proto.RegisterEnum("google.cloud.dialogflow.v2.AudioEncoding", AudioEncoding_name, AudioEncoding_value)
+	proto.RegisterEnum("google.cloud.dialogflow.v2.SpeechModelVariant", SpeechModelVariant_name, SpeechModelVariant_value)
 	proto.RegisterEnum("google.cloud.dialogflow.v2.SsmlVoiceGender", SsmlVoiceGender_name, SsmlVoiceGender_value)
 	proto.RegisterEnum("google.cloud.dialogflow.v2.OutputAudioEncoding", OutputAudioEncoding_name, OutputAudioEncoding_value)
 }
 
 func init() {
-	proto.RegisterFile("google/cloud/dialogflow/v2/audio_config.proto", fileDescriptor_audio_config_10e5d4ebe984100d)
-}
-
-var fileDescriptor_audio_config_10e5d4ebe984100d = []byte{
-	// 635 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x7c, 0x54, 0xcf, 0x6f, 0xd3, 0x3e,
-	0x1c, 0xfd, 0xba, 0x5d, 0xbf, 0xd2, 0x3c, 0xd6, 0x65, 0x66, 0x9a, 0x4a, 0xb5, 0x8d, 0xae, 0x03,
-	0xa9, 0x1a, 0xd0, 0x40, 0x26, 0x71, 0xe1, 0xd4, 0x35, 0x69, 0x89, 0xd4, 0x35, 0x51, 0xb2, 0xf6,
-	0xc0, 0xc5, 0xf2, 0x12, 0x37, 0xb5, 0x48, 0xec, 0x28, 0x49, 0x0b, 0xec, 0xce, 0x91, 0xbf, 0x01,
-	0x09, 0x71, 0xe2, 0x9f, 0xe3, 0xca, 0x11, 0xc5, 0x29, 0x6c, 0xda, 0x42, 0x6f, 0xf1, 0xe7, 0xbd,
-	0xcf, 0xaf, 0xf7, 0xec, 0xc0, 0x17, 0x81, 0x10, 0x41, 0x48, 0x55, 0x2f, 0x14, 0x0b, 0x5f, 0xf5,
-	0x19, 0x09, 0x45, 0x30, 0x0b, 0xc5, 0x07, 0x75, 0xa9, 0xa9, 0x64, 0xe1, 0x33, 0x81, 0x3d, 0xc1,
-	0x67, 0x2c, 0xe8, 0xc6, 0x89, 0xc8, 0x04, 0x6a, 0x16, 0xf4, 0xae, 0xa4, 0x77, 0x6f, 0xe8, 0xdd,
-	0xa5, 0xd6, 0x3c, 0x58, 0x95, 0x22, 0x31, 0x53, 0x09, 0xe7, 0x22, 0x23, 0x19, 0x13, 0x3c, 0x2d,
-	0x32, 0xdb, 0x1f, 0xe1, 0xde, 0x54, 0x30, 0x8f, 0xba, 0x34, 0xa4, 0x5e, 0x0e, 0xd8, 0x24, 0x21,
-	0x51, 0x8a, 0x10, 0xdc, 0xe0, 0x24, 0xa2, 0x0d, 0xd0, 0x02, 0x9d, 0x4d, 0x47, 0x7e, 0xa3, 0x11,
-	0xdc, 0x4a, 0xd3, 0x28, 0xc4, 0x01, 0xe5, 0x3e, 0x4d, 0x1a, 0x95, 0x16, 0xe8, 0xd4, 0xb5, 0x67,
-	0xdd, 0x7f, 0xf7, 0xee, 0xba, 0x69, 0x14, 0xca, 0xf2, 0x43, 0x99, 0xe2, 0xc0, 0x3c, 0xbf, 0xf8,
-	0x6e, 0xff, 0x04, 0x70, 0xdf, 0xfd, 0xc4, 0xb3, 0x39, 0x4d, 0xd9, 0x35, 0x75, 0x63, 0x4a, 0xbd,
-	0x79, 0x5f, 0x2e, 0x85, 0x4e, 0xe0, 0x76, 0x1a, 0x53, 0xf2, 0x9e, 0xf1, 0x00, 0x27, 0x24, 0x2b,
-	0xa6, 0x00, 0xce, 0x83, 0x3f, 0x41, 0x87, 0x64, 0x14, 0xed, 0xc1, 0x5a, 0xcc, 0x32, 0x6f, 0x2e,
-	0xe7, 0x00, 0x4e, 0x71, 0x40, 0x4f, 0x60, 0x7d, 0x29, 0xc2, 0x45, 0x44, 0x71, 0x40, 0x18, 0xc7,
-	0xfe, 0x55, 0xa3, 0x5a, 0xe4, 0x16, 0xd1, 0x21, 0x61, 0x5c, 0xbf, 0x42, 0xcf, 0x21, 0xa2, 0xb3,
-	0x19, 0xf5, 0xb2, 0x14, 0xc7, 0x89, 0x98, 0xb1, 0x90, 0x62, 0xe6, 0x37, 0x6a, 0xad, 0x6a, 0x67,
-	0xd3, 0x51, 0x56, 0x88, 0x5d, 0x00, 0xa6, 0x8f, 0x06, 0xb0, 0xb6, 0xcc, 0x97, 0x68, 0x6c, 0xb4,
-	0x40, 0x67, 0x4b, 0x7b, 0xb9, 0x6e, 0xe3, 0x32, 0x31, 0x9d, 0x22, 0xbd, 0xfd, 0xb9, 0x02, 0x77,
-	0xad, 0x45, 0x16, 0x2f, 0xb2, 0x5e, 0x6e, 0xe1, 0x6a, 0xd9, 0x29, 0xac, 0x17, 0x8e, 0x52, 0xee,
-	0x09, 0x9f, 0xf1, 0x40, 0x6e, 0x5b, 0xd7, 0xd4, 0x75, 0x6d, 0x6e, 0x95, 0x31, 0x56, 0x69, 0xce,
-	0x36, 0xb9, 0x7d, 0x44, 0xa7, 0x70, 0x37, 0x25, 0x51, 0x1c, 0x52, 0x29, 0x21, 0x9e, 0xd3, 0x24,
-	0xbb, 0x96, 0x5a, 0xd5, 0x9c, 0x9d, 0x02, 0xc8, 0x65, 0x7c, 0x9b, 0x87, 0x51, 0x08, 0x1b, 0xe9,
-	0x5f, 0x2b, 0x70, 0x2a, 0xbd, 0x58, 0xdd, 0x30, 0xa9, 0xdf, 0x96, 0xa6, 0xad, 0xb5, 0xb9, 0xd4,
-	0x46, 0x67, 0x3f, 0x2d, 0x8d, 0x9f, 0x7e, 0x01, 0x70, 0xe7, 0xce, 0xcd, 0x40, 0xc7, 0xf0, 0xd0,
-	0x75, 0x2f, 0x46, 0x78, 0x6a, 0x99, 0x7d, 0x03, 0x0f, 0x8d, 0xb1, 0x6e, 0x38, 0x78, 0x32, 0x76,
-	0x6d, 0xa3, 0x6f, 0x0e, 0x4c, 0x43, 0x57, 0xfe, 0x43, 0x4d, 0xb8, 0x7f, 0x9f, 0x72, 0xd1, 0x1b,
-	0x19, 0x0a, 0x40, 0x07, 0xb0, 0x71, 0x1f, 0x1b, 0x18, 0x12, 0xad, 0xa0, 0x43, 0xf8, 0xe8, 0x3e,
-	0x3a, 0x36, 0x26, 0x97, 0x4e, 0x6f, 0xa4, 0x54, 0x4f, 0xbf, 0x03, 0xf8, 0xb0, 0x44, 0x50, 0xf4,
-	0x14, 0x1e, 0x5b, 0x93, 0x4b, 0x7b, 0x72, 0x89, 0x7b, 0x13, 0xdd, 0xb4, 0xb0, 0x31, 0xee, 0x5b,
-	0xba, 0x39, 0x1e, 0xde, 0x99, 0xeb, 0x04, 0x3e, 0x2e, 0xa7, 0x8d, 0xcc, 0xb1, 0xd1, 0x73, 0xf0,
-	0xab, 0xd7, 0x0a, 0xc8, 0x47, 0x28, 0x27, 0x5d, 0xd8, 0x67, 0x4a, 0x05, 0xb5, 0xe1, 0x51, 0x39,
-	0x6c, 0x0d, 0x87, 0xd8, 0xb2, 0x27, 0xae, 0x52, 0x3d, 0xff, 0x0a, 0xe0, 0x91, 0x27, 0xa2, 0x35,
-	0x46, 0x9c, 0x2b, 0xb7, 0x2e, 0x96, 0x9d, 0xbf, 0x6f, 0x1b, 0xbc, 0xd3, 0x57, 0xfc, 0x40, 0x84,
-	0x84, 0x07, 0x5d, 0x91, 0x04, 0x6a, 0x40, 0xb9, 0x7c, 0xfd, 0x6a, 0x01, 0x91, 0x98, 0xa5, 0x65,
-	0x7f, 0x9a, 0x37, 0x37, 0xa7, 0x5f, 0x00, 0x7c, 0xab, 0x54, 0xf4, 0xc1, 0x8f, 0x4a, 0x73, 0x58,
-	0x94, 0xeb, 0xcb, 0xf6, 0xfa, 0x4d, 0xfb, 0xa9, 0x76, 0xf5, 0xbf, 0xac, 0x7a, 0xf6, 0x3b, 0x00,
-	0x00, 0xff, 0xff, 0x00, 0x0b, 0x69, 0x1b, 0xbe, 0x04, 0x00, 0x00,
+	proto.RegisterFile("google/cloud/dialogflow/v2/audio_config.proto", fileDescriptor_audio_config_1b9deb1869936da6)
+}
+
+var fileDescriptor_audio_config_1b9deb1869936da6 = []byte{
+	// 898 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x55, 0x4f, 0x6f, 0xe2, 0xc6,
+	0x1b, 0xfe, 0xd9, 0x24, 0xfb, 0x53, 0xde, 0x90, 0xac, 0x77, 0x36, 0xcd, 0x3a, 0x69, 0x92, 0x92,
+	0x64, 0x57, 0x62, 0x69, 0x0b, 0x2d, 0x2b, 0xf5, 0xd2, 0x93, 0xc1, 0x03, 0x58, 0x02, 0x63, 0xd9,
+	0x40, 0xda, 0x5e, 0x46, 0x13, 0x7b, 0x30, 0x56, 0x8d, 0xc7, 0xc2, 0x86, 0xb6, 0x7b, 0xef, 0xb1,
+	0x9f, 0xa1, 0x52, 0xd5, 0x53, 0xa5, 0x7e, 0xb6, 0x5e, 0x2b, 0xf5, 0x52, 0x79, 0x4c, 0x36, 0x2c,
+	0xb0, 0x9c, 0x7a, 0xf3, 0x3c, 0xcf, 0xfb, 0xf7, 0x79, 0xdf, 0xf1, 0xc0, 0xe7, 0x3e, 0xe7, 0x7e,
+	0xc8, 0x6a, 0x6e, 0xc8, 0xe7, 0x5e, 0xcd, 0x0b, 0x68, 0xc8, 0xfd, 0x71, 0xc8, 0x7f, 0xa8, 0x2d,
+	0xea, 0x35, 0x3a, 0xf7, 0x02, 0x4e, 0x5c, 0x1e, 0x8d, 0x03, 0xbf, 0x1a, 0xcf, 0x78, 0xca, 0xd1,
+	0x79, 0x6e, 0x5e, 0x15, 0xe6, 0xd5, 0x47, 0xf3, 0xea, 0xa2, 0x7e, 0x7e, 0xb1, 0x0c, 0x45, 0xe3,
+	0xa0, 0x46, 0xa3, 0x88, 0xa7, 0x34, 0x0d, 0x78, 0x94, 0xe4, 0x9e, 0x37, 0x7f, 0xca, 0xa0, 0x18,
+	0x51, 0x3c, 0x4f, 0xb5, 0x2c, 0x6a, 0x53, 0x04, 0x45, 0x16, 0x1c, 0xe7, 0x49, 0x58, 0xe4, 0x72,
+	0x2f, 0x88, 0x7c, 0x55, 0x2a, 0x49, 0xe5, 0xe3, 0xfa, 0xeb, 0xea, 0x87, 0xf3, 0x54, 0x45, 0x00,
+	0xbc, 0x74, 0xb0, 0x8f, 0xe8, 0xea, 0x11, 0x55, 0xe0, 0x59, 0x42, 0xa7, 0x71, 0xc8, 0xc8, 0x8c,
+	0xa6, 0x8c, 0x4c, 0xd8, 0x2c, 0x7d, 0xab, 0xca, 0x25, 0xa9, 0xbc, 0x6f, 0x3f, 0xcd, 0x09, 0x9b,
+	0xa6, 0xac, 0x93, 0xc1, 0xe8, 0x16, 0x8e, 0x42, 0x1a, 0xf9, 0x73, 0xea, 0x33, 0xe2, 0x72, 0x8f,
+	0xa9, 0x85, 0x92, 0x54, 0x3e, 0xb0, 0x8b, 0x0f, 0x60, 0x93, 0x7b, 0x0c, 0x5d, 0x43, 0x31, 0x9e,
+	0xcc, 0x68, 0xc2, 0xc8, 0x24, 0x88, 0xd2, 0x44, 0xdd, 0x2b, 0x15, 0xca, 0x07, 0xf6, 0x61, 0x8e,
+	0x75, 0x32, 0x08, 0x39, 0x70, 0x34, 0xe5, 0x1e, 0x0b, 0xc9, 0x82, 0xce, 0x02, 0x1a, 0xa5, 0x2a,
+	0x88, 0x26, 0xaa, 0xbb, 0x9a, 0x70, 0x62, 0xc6, 0xdc, 0x49, 0x2f, 0x73, 0x1b, 0xe5, 0x5e, 0x76,
+	0x71, 0xba, 0x72, 0xba, 0xf9, 0x11, 0x4e, 0x46, 0x3c, 0x70, 0x99, 0xc3, 0x42, 0xe6, 0x66, 0x42,
+	0x5a, 0x74, 0x46, 0xa7, 0x09, 0x42, 0xb0, 0x17, 0xd1, 0x29, 0x13, 0x42, 0x1d, 0xd8, 0xe2, 0x1b,
+	0x75, 0xe1, 0x30, 0x49, 0xa6, 0x21, 0xf1, 0x59, 0xe4, 0xb1, 0x99, 0x68, 0xf7, 0xb8, 0xfe, 0xe9,
+	0xce, 0xf4, 0xc9, 0x34, 0x14, 0xe1, 0xdb, 0xc2, 0xc5, 0x86, 0xcc, 0x3f, 0xff, 0xbe, 0xf9, 0x4b,
+	0x82, 0x53, 0xe7, 0xa7, 0x28, 0x9d, 0xb0, 0x24, 0x78, 0xcb, 0xf2, 0x42, 0x97, 0xf3, 0xba, 0x85,
+	0xa3, 0x24, 0x66, 0xf4, 0xfb, 0x20, 0xf2, 0x85, 0xbe, 0xa2, 0x0a, 0xc9, 0x2e, 0x3e, 0x80, 0x99,
+	0xb6, 0xe8, 0x04, 0xf6, 0xe3, 0x20, 0x75, 0x27, 0xa2, 0x0e, 0xc9, 0xce, 0x0f, 0xe8, 0x25, 0x1c,
+	0x2f, 0x78, 0x38, 0x9f, 0x32, 0xe2, 0xd3, 0x20, 0x22, 0xde, 0xbd, 0x50, 0x5b, 0xb2, 0x8b, 0x39,
+	0xda, 0xa6, 0x41, 0xa4, 0xdf, 0xa3, 0xcf, 0x00, 0xb1, 0xf1, 0x98, 0xb9, 0x69, 0x42, 0xe2, 0x19,
+	0x1f, 0x07, 0x21, 0x23, 0x81, 0xa7, 0xee, 0x0b, 0xcd, 0x95, 0x25, 0x63, 0xe5, 0x84, 0xe1, 0xa1,
+	0x16, 0xec, 0x2f, 0xb2, 0x26, 0xd4, 0xbd, 0x92, 0x54, 0x3e, 0xac, 0x7f, 0xb1, 0xab, 0xe3, 0x6d,
+	0x62, 0xda, 0xb9, 0xfb, 0xcd, 0xcf, 0x32, 0x3c, 0xeb, 0xcf, 0xd3, 0xb5, 0xe5, 0x1c, 0x7d, 0x60,
+	0x39, 0x6b, 0xbb, 0xd2, 0xac, 0x84, 0xf9, 0x2f, 0x56, 0x34, 0x04, 0x35, 0x79, 0x37, 0x0a, 0x92,
+	0x88, 0x59, 0x2c, 0x6f, 0xa4, 0xd0, 0xef, 0xb0, 0x5e, 0xdf, 0x39, 0xe6, 0xad, 0x63, 0xb4, 0x4f,
+	0x93, 0xad, 0x78, 0xe5, 0x1f, 0x09, 0x8e, 0xde, 0x2b, 0x1d, 0x5d, 0xc1, 0xb9, 0x36, 0xd4, 0x8d,
+	0x3e, 0xc1, 0x66, 0xb3, 0xaf, 0x1b, 0x66, 0x9b, 0x0c, 0x4d, 0xc7, 0xc2, 0x4d, 0xa3, 0x65, 0x60,
+	0x5d, 0xf9, 0x1f, 0xba, 0x00, 0x75, 0x8d, 0xef, 0x1a, 0x26, 0xd6, 0x6c, 0xf2, 0xe5, 0x57, 0x8a,
+	0x84, 0x5e, 0xc0, 0xf3, 0x35, 0xb6, 0xd5, 0xd5, 0x9a, 0x8a, 0x8c, 0x54, 0x38, 0x59, 0x23, 0x7a,
+	0xc3, 0xae, 0x76, 0xa7, 0x14, 0xd0, 0x29, 0xa0, 0x35, 0x46, 0xeb, 0xd9, 0xca, 0x1e, 0x3a, 0x83,
+	0x8f, 0x36, 0x71, 0x72, 0xd7, 0x50, 0xf6, 0xd1, 0xc7, 0xf0, 0x62, 0x8d, 0xea, 0xb7, 0xdb, 0xa4,
+	0x6f, 0x0d, 0x1d, 0xe5, 0x09, 0x7a, 0x0d, 0xaf, 0xd6, 0x48, 0xc7, 0xc2, 0xf8, 0x1b, 0x72, 0x67,
+	0x0c, 0x3a, 0xa4, 0x83, 0x35, 0x1d, 0xdb, 0xa4, 0xf1, 0xed, 0x00, 0x2b, 0xff, 0xaf, 0x2c, 0x00,
+	0x6d, 0xde, 0x4a, 0xf4, 0x12, 0x4a, 0x99, 0x47, 0xb3, 0x43, 0x7a, 0x7d, 0x1d, 0x77, 0xc9, 0x48,
+	0xb3, 0x0d, 0xcd, 0x1c, 0xac, 0xe9, 0x70, 0x0a, 0x68, 0xe8, 0x60, 0xd2, 0xc0, 0xce, 0x80, 0x68,
+	0x23, 0xcd, 0xe8, 0x6a, 0x8d, 0x2e, 0x56, 0x24, 0xa4, 0x40, 0x31, 0xc3, 0x9d, 0x81, 0x66, 0xea,
+	0x9a, 0xad, 0x2b, 0xf2, 0x03, 0x82, 0xcd, 0x8e, 0x66, 0x36, 0xb1, 0xae, 0x14, 0x2a, 0xbf, 0x48,
+	0xf0, 0x74, 0xed, 0x3e, 0xa2, 0x6b, 0xb8, 0x74, 0x9c, 0x5e, 0x97, 0x8c, 0xfa, 0x46, 0x13, 0x93,
+	0x36, 0x36, 0xb3, 0x3a, 0xdf, 0x4f, 0x79, 0x0e, 0xa7, 0x9b, 0x26, 0x3d, 0x4d, 0xa4, 0xbd, 0x00,
+	0x75, 0x93, 0x6b, 0x61, 0xc1, 0xca, 0xe8, 0x12, 0xce, 0x36, 0x59, 0x13, 0x0f, 0x07, 0xb6, 0xd6,
+	0x55, 0x0a, 0x95, 0xdf, 0x25, 0x78, 0xbe, 0x65, 0x8d, 0xd1, 0x2b, 0xb8, 0xee, 0x0f, 0x07, 0xd6,
+	0x70, 0x40, 0x76, 0xae, 0xc4, 0x2d, 0x7c, 0xb2, 0xdd, 0x6c, 0x75, 0x33, 0x2e, 0xe1, 0x6c, 0xbb,
+	0x51, 0xcf, 0x7a, 0xa3, 0xc8, 0xe8, 0x06, 0xae, 0xb6, 0xd3, 0xef, 0x26, 0x5b, 0x68, 0xfc, 0x2a,
+	0xc1, 0x95, 0xcb, 0xa7, 0x3b, 0xd6, 0xbf, 0xa1, 0xac, 0x5c, 0x67, 0x2b, 0x7b, 0x85, 0x2c, 0xe9,
+	0x3b, 0x7d, 0x69, 0xef, 0xf3, 0xec, 0x37, 0x5f, 0xe5, 0x33, 0xbf, 0xe6, 0xb3, 0x48, 0xbc, 0x51,
+	0xb5, 0x9c, 0xa2, 0x71, 0x90, 0x6c, 0x7b, 0x0f, 0xbf, 0x7e, 0x3c, 0xfd, 0x2d, 0x49, 0xbf, 0xc9,
+	0xb2, 0xde, 0xfa, 0x43, 0x3e, 0x6f, 0xe7, 0xe1, 0x9a, 0x22, 0xbd, 0xfe, 0x98, 0x7e, 0x54, 0xbf,
+	0x7f, 0x22, 0xa2, 0xbe, 0xf9, 0x37, 0x00, 0x00, 0xff, 0xff, 0x15, 0xde, 0x52, 0x01, 0x64, 0x07,
+	0x00, 0x00,
 }
diff --git a/googleapis/cloud/dialogflow/v2/session.pb.go b/googleapis/cloud/dialogflow/v2/session.pb.go
index 26251f6caf10a5510feabf5ddcd20405f1cc87ce..29f06641af2ff31345eaacd89e89d98ff45a6226 100644
--- a/googleapis/cloud/dialogflow/v2/session.pb.go
+++ b/googleapis/cloud/dialogflow/v2/session.pb.go
@@ -27,78 +27,6 @@ var _ = math.Inf
 // proto package needs to be updated.
 const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package
 
-// Audio encoding of the audio content sent in the conversational query request.
-// Refer to the
-// [Cloud Speech API
-// documentation](https://cloud.google.com/speech-to-text/docs/basics) for more
-// details.
-type AudioEncoding int32
-
-const (
-	// Not specified.
-	AudioEncoding_AUDIO_ENCODING_UNSPECIFIED AudioEncoding = 0
-	// Uncompressed 16-bit signed little-endian samples (Linear PCM).
-	AudioEncoding_AUDIO_ENCODING_LINEAR_16 AudioEncoding = 1
-	// [`FLAC`](https://xiph.org/flac/documentation.html) (Free Lossless Audio
-	// Codec) is the recommended encoding because it is lossless (therefore
-	// recognition is not compromised) and requires only about half the
-	// bandwidth of `LINEAR16`. `FLAC` stream encoding supports 16-bit and
-	// 24-bit samples, however, not all fields in `STREAMINFO` are supported.
-	AudioEncoding_AUDIO_ENCODING_FLAC AudioEncoding = 2
-	// 8-bit samples that compand 14-bit audio samples using G.711 PCMU/mu-law.
-	AudioEncoding_AUDIO_ENCODING_MULAW AudioEncoding = 3
-	// Adaptive Multi-Rate Narrowband codec. `sample_rate_hertz` must be 8000.
-	AudioEncoding_AUDIO_ENCODING_AMR AudioEncoding = 4
-	// Adaptive Multi-Rate Wideband codec. `sample_rate_hertz` must be 16000.
-	AudioEncoding_AUDIO_ENCODING_AMR_WB AudioEncoding = 5
-	// Opus encoded audio frames in Ogg container
-	// ([OggOpus](https://wiki.xiph.org/OggOpus)).
-	// `sample_rate_hertz` must be 16000.
-	AudioEncoding_AUDIO_ENCODING_OGG_OPUS AudioEncoding = 6
-	// Although the use of lossy encodings is not recommended, if a very low
-	// bitrate encoding is required, `OGG_OPUS` is highly preferred over
-	// Speex encoding. The [Speex](https://speex.org/) encoding supported by
-	// Dialogflow API has a header byte in each block, as in MIME type
-	// `audio/x-speex-with-header-byte`.
-	// It is a variant of the RTP Speex encoding defined in
-	// [RFC 5574](https://tools.ietf.org/html/rfc5574).
-	// The stream is a sequence of blocks, one block per RTP packet. Each block
-	// starts with a byte containing the length of the block, in bytes, followed
-	// by one or more frames of Speex data, padded to an integral number of
-	// bytes (octets) as specified in RFC 5574. In other words, each RTP header
-	// is replaced with a single byte containing the block length. Only Speex
-	// wideband is supported. `sample_rate_hertz` must be 16000.
-	AudioEncoding_AUDIO_ENCODING_SPEEX_WITH_HEADER_BYTE AudioEncoding = 7
-)
-
-var AudioEncoding_name = map[int32]string{
-	0: "AUDIO_ENCODING_UNSPECIFIED",
-	1: "AUDIO_ENCODING_LINEAR_16",
-	2: "AUDIO_ENCODING_FLAC",
-	3: "AUDIO_ENCODING_MULAW",
-	4: "AUDIO_ENCODING_AMR",
-	5: "AUDIO_ENCODING_AMR_WB",
-	6: "AUDIO_ENCODING_OGG_OPUS",
-	7: "AUDIO_ENCODING_SPEEX_WITH_HEADER_BYTE",
-}
-var AudioEncoding_value = map[string]int32{
-	"AUDIO_ENCODING_UNSPECIFIED":            0,
-	"AUDIO_ENCODING_LINEAR_16":              1,
-	"AUDIO_ENCODING_FLAC":                   2,
-	"AUDIO_ENCODING_MULAW":                  3,
-	"AUDIO_ENCODING_AMR":                    4,
-	"AUDIO_ENCODING_AMR_WB":                 5,
-	"AUDIO_ENCODING_OGG_OPUS":               6,
-	"AUDIO_ENCODING_SPEEX_WITH_HEADER_BYTE": 7,
-}
-
-func (x AudioEncoding) String() string {
-	return proto.EnumName(AudioEncoding_name, int32(x))
-}
-func (AudioEncoding) EnumDescriptor() ([]byte, []int) {
-	return fileDescriptor_session_4508b1b03e818872, []int{0}
-}
-
 // Type of the response message.
 type StreamingRecognitionResult_MessageType int32
 
@@ -132,7 +60,7 @@ func (x StreamingRecognitionResult_MessageType) String() string {
 	return proto.EnumName(StreamingRecognitionResult_MessageType_name, int32(x))
 }
 func (StreamingRecognitionResult_MessageType) EnumDescriptor() ([]byte, []int) {
-	return fileDescriptor_session_4508b1b03e818872, []int{7, 0}
+	return fileDescriptor_session_b0ebae769d2249cb, []int{7, 0}
 }
 
 // The request to detect user's intent.
@@ -171,7 +99,7 @@ func (m *DetectIntentRequest) Reset()         { *m = DetectIntentRequest{} }
 func (m *DetectIntentRequest) String() string { return proto.CompactTextString(m) }
 func (*DetectIntentRequest) ProtoMessage()    {}
 func (*DetectIntentRequest) Descriptor() ([]byte, []int) {
-	return fileDescriptor_session_4508b1b03e818872, []int{0}
+	return fileDescriptor_session_b0ebae769d2249cb, []int{0}
 }
 func (m *DetectIntentRequest) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_DetectIntentRequest.Unmarshal(m, b)
@@ -254,7 +182,7 @@ func (m *DetectIntentResponse) Reset()         { *m = DetectIntentResponse{} }
 func (m *DetectIntentResponse) String() string { return proto.CompactTextString(m) }
 func (*DetectIntentResponse) ProtoMessage()    {}
 func (*DetectIntentResponse) Descriptor() ([]byte, []int) {
-	return fileDescriptor_session_4508b1b03e818872, []int{1}
+	return fileDescriptor_session_b0ebae769d2249cb, []int{1}
 }
 func (m *DetectIntentResponse) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_DetectIntentResponse.Unmarshal(m, b)
@@ -343,7 +271,7 @@ func (m *QueryParameters) Reset()         { *m = QueryParameters{} }
 func (m *QueryParameters) String() string { return proto.CompactTextString(m) }
 func (*QueryParameters) ProtoMessage()    {}
 func (*QueryParameters) Descriptor() ([]byte, []int) {
-	return fileDescriptor_session_4508b1b03e818872, []int{2}
+	return fileDescriptor_session_b0ebae769d2249cb, []int{2}
 }
 func (m *QueryParameters) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_QueryParameters.Unmarshal(m, b)
@@ -437,7 +365,7 @@ func (m *QueryInput) Reset()         { *m = QueryInput{} }
 func (m *QueryInput) String() string { return proto.CompactTextString(m) }
 func (*QueryInput) ProtoMessage()    {}
 func (*QueryInput) Descriptor() ([]byte, []int) {
-	return fileDescriptor_session_4508b1b03e818872, []int{3}
+	return fileDescriptor_session_b0ebae769d2249cb, []int{3}
 }
 func (m *QueryInput) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_QueryInput.Unmarshal(m, b)
@@ -676,7 +604,7 @@ func (m *QueryResult) Reset()         { *m = QueryResult{} }
 func (m *QueryResult) String() string { return proto.CompactTextString(m) }
 func (*QueryResult) ProtoMessage()    {}
 func (*QueryResult) Descriptor() ([]byte, []int) {
-	return fileDescriptor_session_4508b1b03e818872, []int{4}
+	return fileDescriptor_session_b0ebae769d2249cb, []int{4}
 }
 func (m *QueryResult) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_QueryResult.Unmarshal(m, b)
@@ -857,7 +785,7 @@ func (m *StreamingDetectIntentRequest) Reset()         { *m = StreamingDetectInt
 func (m *StreamingDetectIntentRequest) String() string { return proto.CompactTextString(m) }
 func (*StreamingDetectIntentRequest) ProtoMessage()    {}
 func (*StreamingDetectIntentRequest) Descriptor() ([]byte, []int) {
-	return fileDescriptor_session_4508b1b03e818872, []int{5}
+	return fileDescriptor_session_b0ebae769d2249cb, []int{5}
 }
 func (m *StreamingDetectIntentRequest) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_StreamingDetectIntentRequest.Unmarshal(m, b)
@@ -956,7 +884,7 @@ func (m *StreamingDetectIntentResponse) Reset()         { *m = StreamingDetectIn
 func (m *StreamingDetectIntentResponse) String() string { return proto.CompactTextString(m) }
 func (*StreamingDetectIntentResponse) ProtoMessage()    {}
 func (*StreamingDetectIntentResponse) Descriptor() ([]byte, []int) {
-	return fileDescriptor_session_4508b1b03e818872, []int{6}
+	return fileDescriptor_session_b0ebae769d2249cb, []int{6}
 }
 func (m *StreamingDetectIntentResponse) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_StreamingDetectIntentResponse.Unmarshal(m, b)
@@ -1079,7 +1007,7 @@ func (m *StreamingRecognitionResult) Reset()         { *m = StreamingRecognition
 func (m *StreamingRecognitionResult) String() string { return proto.CompactTextString(m) }
 func (*StreamingRecognitionResult) ProtoMessage()    {}
 func (*StreamingRecognitionResult) Descriptor() ([]byte, []int) {
-	return fileDescriptor_session_4508b1b03e818872, []int{7}
+	return fileDescriptor_session_b0ebae769d2249cb, []int{7}
 }
 func (m *StreamingRecognitionResult) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_StreamingRecognitionResult.Unmarshal(m, b)
@@ -1127,86 +1055,6 @@ func (m *StreamingRecognitionResult) GetConfidence() float32 {
 	return 0
 }
 
-// Instructs the speech recognizer how to process the audio content.
-type InputAudioConfig struct {
-	// Required. Audio encoding of the audio content to process.
-	AudioEncoding AudioEncoding `protobuf:"varint,1,opt,name=audio_encoding,json=audioEncoding,proto3,enum=google.cloud.dialogflow.v2.AudioEncoding" json:"audio_encoding,omitempty"`
-	// Required. Sample rate (in Hertz) of the audio content sent in the query.
-	// Refer to
-	// [Cloud Speech API
-	// documentation](https://cloud.google.com/speech-to-text/docs/basics) for
-	// more details.
-	SampleRateHertz int32 `protobuf:"varint,2,opt,name=sample_rate_hertz,json=sampleRateHertz,proto3" json:"sample_rate_hertz,omitempty"`
-	// Required. The language of the supplied audio. Dialogflow does not do
-	// translations. See [Language
-	// Support](https://cloud.google.com/dialogflow-enterprise/docs/reference/language)
-	// for a list of the currently supported language codes. Note that queries in
-	// the same session do not necessarily need to specify the same language.
-	LanguageCode string `protobuf:"bytes,3,opt,name=language_code,json=languageCode,proto3" json:"language_code,omitempty"`
-	// Optional. The collection of phrase hints which are used to boost accuracy
-	// of speech recognition.
-	// Refer to
-	// [Cloud Speech API
-	// documentation](https://cloud.google.com/speech-to-text/docs/basics#phrase-hints)
-	// for more details.
-	PhraseHints          []string `protobuf:"bytes,4,rep,name=phrase_hints,json=phraseHints,proto3" json:"phrase_hints,omitempty"`
-	XXX_NoUnkeyedLiteral struct{} `json:"-"`
-	XXX_unrecognized     []byte   `json:"-"`
-	XXX_sizecache        int32    `json:"-"`
-}
-
-func (m *InputAudioConfig) Reset()         { *m = InputAudioConfig{} }
-func (m *InputAudioConfig) String() string { return proto.CompactTextString(m) }
-func (*InputAudioConfig) ProtoMessage()    {}
-func (*InputAudioConfig) Descriptor() ([]byte, []int) {
-	return fileDescriptor_session_4508b1b03e818872, []int{8}
-}
-func (m *InputAudioConfig) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_InputAudioConfig.Unmarshal(m, b)
-}
-func (m *InputAudioConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_InputAudioConfig.Marshal(b, m, deterministic)
-}
-func (dst *InputAudioConfig) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_InputAudioConfig.Merge(dst, src)
-}
-func (m *InputAudioConfig) XXX_Size() int {
-	return xxx_messageInfo_InputAudioConfig.Size(m)
-}
-func (m *InputAudioConfig) XXX_DiscardUnknown() {
-	xxx_messageInfo_InputAudioConfig.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_InputAudioConfig proto.InternalMessageInfo
-
-func (m *InputAudioConfig) GetAudioEncoding() AudioEncoding {
-	if m != nil {
-		return m.AudioEncoding
-	}
-	return AudioEncoding_AUDIO_ENCODING_UNSPECIFIED
-}
-
-func (m *InputAudioConfig) GetSampleRateHertz() int32 {
-	if m != nil {
-		return m.SampleRateHertz
-	}
-	return 0
-}
-
-func (m *InputAudioConfig) GetLanguageCode() string {
-	if m != nil {
-		return m.LanguageCode
-	}
-	return ""
-}
-
-func (m *InputAudioConfig) GetPhraseHints() []string {
-	if m != nil {
-		return m.PhraseHints
-	}
-	return nil
-}
-
 // Represents the natural language text to be processed.
 type TextInput struct {
 	// Required. The UTF-8 encoded natural language text to be processed.
@@ -1226,7 +1074,7 @@ func (m *TextInput) Reset()         { *m = TextInput{} }
 func (m *TextInput) String() string { return proto.CompactTextString(m) }
 func (*TextInput) ProtoMessage()    {}
 func (*TextInput) Descriptor() ([]byte, []int) {
-	return fileDescriptor_session_4508b1b03e818872, []int{9}
+	return fileDescriptor_session_b0ebae769d2249cb, []int{8}
 }
 func (m *TextInput) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_TextInput.Unmarshal(m, b)
@@ -1284,7 +1132,7 @@ func (m *EventInput) Reset()         { *m = EventInput{} }
 func (m *EventInput) String() string { return proto.CompactTextString(m) }
 func (*EventInput) ProtoMessage()    {}
 func (*EventInput) Descriptor() ([]byte, []int) {
-	return fileDescriptor_session_4508b1b03e818872, []int{10}
+	return fileDescriptor_session_b0ebae769d2249cb, []int{9}
 }
 func (m *EventInput) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_EventInput.Unmarshal(m, b)
@@ -1340,7 +1188,7 @@ func (m *SentimentAnalysisRequestConfig) Reset()         { *m = SentimentAnalysi
 func (m *SentimentAnalysisRequestConfig) String() string { return proto.CompactTextString(m) }
 func (*SentimentAnalysisRequestConfig) ProtoMessage()    {}
 func (*SentimentAnalysisRequestConfig) Descriptor() ([]byte, []int) {
-	return fileDescriptor_session_4508b1b03e818872, []int{11}
+	return fileDescriptor_session_b0ebae769d2249cb, []int{10}
 }
 func (m *SentimentAnalysisRequestConfig) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_SentimentAnalysisRequestConfig.Unmarshal(m, b)
@@ -1381,7 +1229,7 @@ func (m *SentimentAnalysisResult) Reset()         { *m = SentimentAnalysisResult
 func (m *SentimentAnalysisResult) String() string { return proto.CompactTextString(m) }
 func (*SentimentAnalysisResult) ProtoMessage()    {}
 func (*SentimentAnalysisResult) Descriptor() ([]byte, []int) {
-	return fileDescriptor_session_4508b1b03e818872, []int{12}
+	return fileDescriptor_session_b0ebae769d2249cb, []int{11}
 }
 func (m *SentimentAnalysisResult) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_SentimentAnalysisResult.Unmarshal(m, b)
@@ -1426,7 +1274,7 @@ func (m *Sentiment) Reset()         { *m = Sentiment{} }
 func (m *Sentiment) String() string { return proto.CompactTextString(m) }
 func (*Sentiment) ProtoMessage()    {}
 func (*Sentiment) Descriptor() ([]byte, []int) {
-	return fileDescriptor_session_4508b1b03e818872, []int{13}
+	return fileDescriptor_session_b0ebae769d2249cb, []int{12}
 }
 func (m *Sentiment) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_Sentiment.Unmarshal(m, b)
@@ -1469,13 +1317,11 @@ func init() {
 	proto.RegisterType((*StreamingDetectIntentRequest)(nil), "google.cloud.dialogflow.v2.StreamingDetectIntentRequest")
 	proto.RegisterType((*StreamingDetectIntentResponse)(nil), "google.cloud.dialogflow.v2.StreamingDetectIntentResponse")
 	proto.RegisterType((*StreamingRecognitionResult)(nil), "google.cloud.dialogflow.v2.StreamingRecognitionResult")
-	proto.RegisterType((*InputAudioConfig)(nil), "google.cloud.dialogflow.v2.InputAudioConfig")
 	proto.RegisterType((*TextInput)(nil), "google.cloud.dialogflow.v2.TextInput")
 	proto.RegisterType((*EventInput)(nil), "google.cloud.dialogflow.v2.EventInput")
 	proto.RegisterType((*SentimentAnalysisRequestConfig)(nil), "google.cloud.dialogflow.v2.SentimentAnalysisRequestConfig")
 	proto.RegisterType((*SentimentAnalysisResult)(nil), "google.cloud.dialogflow.v2.SentimentAnalysisResult")
 	proto.RegisterType((*Sentiment)(nil), "google.cloud.dialogflow.v2.Sentiment")
-	proto.RegisterEnum("google.cloud.dialogflow.v2.AudioEncoding", AudioEncoding_name, AudioEncoding_value)
 	proto.RegisterEnum("google.cloud.dialogflow.v2.StreamingRecognitionResult_MessageType", StreamingRecognitionResult_MessageType_name, StreamingRecognitionResult_MessageType_value)
 }
 
@@ -1632,121 +1478,108 @@ var _Sessions_serviceDesc = grpc.ServiceDesc{
 }
 
 func init() {
-	proto.RegisterFile("google/cloud/dialogflow/v2/session.proto", fileDescriptor_session_4508b1b03e818872)
-}
-
-var fileDescriptor_session_4508b1b03e818872 = []byte{
-	// 1791 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xdc, 0x58, 0x4f, 0x73, 0x23, 0x47,
-	0x15, 0xdf, 0x91, 0xff, 0xea, 0x49, 0xb6, 0xb5, 0x6d, 0x27, 0x96, 0xff, 0xac, 0xd9, 0x55, 0x6a,
-	0x89, 0xd7, 0x10, 0x29, 0x71, 0xa8, 0x85, 0xec, 0x56, 0xb2, 0x91, 0xa5, 0xb1, 0x2d, 0xca, 0x2b,
-	0x6b, 0x5b, 0x32, 0x9b, 0xa4, 0x2a, 0xd5, 0xd5, 0x3b, 0x6a, 0x8f, 0x07, 0x46, 0xdd, 0xe3, 0xe9,
-	0xd6, 0x26, 0x5e, 0x0a, 0x0e, 0x54, 0xf1, 0x05, 0xa0, 0x38, 0x71, 0xe3, 0xc8, 0x89, 0x03, 0x07,
-	0x8e, 0x1c, 0xb9, 0x53, 0x45, 0xf1, 0x01, 0xe0, 0xc2, 0x27, 0xa0, 0x0a, 0x0e, 0xd4, 0xf4, 0xf4,
-	0x48, 0x63, 0xd9, 0x96, 0xcd, 0x56, 0xe0, 0x90, 0x9b, 0xfa, 0xf5, 0xef, 0xbd, 0x7e, 0xf3, 0xeb,
-	0xf7, 0x5e, 0xff, 0x6c, 0xd8, 0x74, 0x85, 0x70, 0x7d, 0x56, 0x71, 0x7c, 0xd1, 0xef, 0x56, 0xba,
-	0x1e, 0xf5, 0x85, 0x7b, 0xec, 0x8b, 0x2f, 0x2a, 0x2f, 0xb7, 0x2b, 0x92, 0x49, 0xe9, 0x09, 0x5e,
-	0x0e, 0x42, 0xa1, 0x04, 0x5a, 0x8d, 0x91, 0x65, 0x8d, 0x2c, 0x0f, 0x91, 0xe5, 0x97, 0xdb, 0xab,
-	0xeb, 0x26, 0x0a, 0x0d, 0xbc, 0x0a, 0xe5, 0x5c, 0x28, 0xaa, 0x3c, 0xc1, 0x65, 0xec, 0xb9, 0xba,
-	0x92, 0xda, 0x0d, 0x99, 0x14, 0xfd, 0xd0, 0x61, 0x66, 0xeb, 0x9d, 0x31, 0xc7, 0xd3, 0x7e, 0xd7,
-	0x13, 0xc4, 0x11, 0xfc, 0xd8, 0x73, 0x0d, 0x7c, 0x5c, 0xb6, 0x8e, 0xe0, 0x8a, 0x7d, 0xa9, 0x0c,
-	0xf2, 0xed, 0x31, 0x48, 0x8f, 0x2b, 0xc6, 0x13, 0xe0, 0x77, 0xae, 0x27, 0x80, 0x30, 0xae, 0x3c,
-	0x75, 0x46, 0xd4, 0x59, 0x90, 0xe4, 0x9d, 0x7c, 0xb0, 0x5e, 0xbd, 0xe8, 0x1f, 0x57, 0xa4, 0x0a,
-	0xfb, 0x4e, 0x12, 0x73, 0xd9, 0xec, 0x86, 0x81, 0x53, 0x91, 0x8a, 0xaa, 0x7e, 0xc2, 0x44, 0xd1,
-	0x6c, 0x44, 0x91, 0x2a, 0x3e, 0x55, 0x3e, 0x37, 0x5f, 0x56, 0xfa, 0x53, 0x06, 0x16, 0xeb, 0x4c,
-	0x31, 0x47, 0x35, 0x74, 0x76, 0x98, 0x9d, 0xf6, 0x99, 0x54, 0xa8, 0x08, 0x33, 0x26, 0x8b, 0xa2,
-	0x75, 0xd7, 0xda, 0xcc, 0xe2, 0x64, 0x89, 0x9a, 0x90, 0x3f, 0xed, 0xb3, 0xf0, 0x8c, 0x04, 0x34,
-	0xa4, 0x3d, 0x59, 0xcc, 0xdc, 0xb5, 0x36, 0x73, 0xdb, 0xdf, 0x2a, 0x5f, 0x7d, 0x4d, 0xe5, 0x67,
-	0x11, 0xbe, 0x15, 0xc1, 0x99, 0x62, 0xa1, 0xc4, 0xb9, 0xd3, 0x81, 0x41, 0xa2, 0x3d, 0x88, 0x97,
-	0xc4, 0xe3, 0x41, 0x5f, 0x15, 0x27, 0x74, 0xb8, 0x6f, 0x5e, 0x1b, 0xae, 0x11, 0xa1, 0x31, 0x9c,
-	0x0e, 0x7e, 0xa3, 0xcf, 0x61, 0x51, 0xf4, 0x55, 0xd0, 0x57, 0x24, 0x7d, 0x83, 0xc5, 0x49, 0x1d,
-	0xf0, 0x9d, 0x71, 0x01, 0x0f, 0xb5, 0x5b, 0x35, 0xf2, 0xaa, 0x69, 0x27, 0x7c, 0x5b, 0x8c, 0x9a,
-	0xd0, 0x37, 0x20, 0xa7, 0x33, 0x8c, 0xa3, 0x17, 0xa7, 0xee, 0x5a, 0x9b, 0x79, 0x0c, 0xda, 0xa4,
-	0x61, 0xa5, 0x3f, 0x66, 0x60, 0xe9, 0x3c, 0x95, 0x32, 0x10, 0x5c, 0xb2, 0xc8, 0x33, 0x34, 0xbf,
-	0x89, 0xd7, 0x35, 0x7c, 0x42, 0x62, 0x6a, 0x74, 0xd1, 0xf7, 0x13, 0x4a, 0x43, 0x26, 0xfb, 0xbe,
-	0x32, 0x94, 0xbe, 0x7d, 0x2d, 0x07, 0x58, 0xc3, 0x0d, 0x9d, 0xf1, 0x02, 0x7d, 0x00, 0xf3, 0x5f,
-	0xb0, 0x17, 0x27, 0x42, 0xfc, 0x88, 0xc4, 0x25, 0x60, 0x18, 0x45, 0x49, 0xb4, 0x30, 0x70, 0xca,
-	0x6d, 0xbd, 0x83, 0xe7, 0x0c, 0x32, 0x5e, 0xa2, 0x7b, 0x90, 0x4f, 0x13, 0xa8, 0x99, 0xcb, 0xe3,
-	0x5c, 0x8a, 0x8a, 0xab, 0x38, 0x9e, 0xfe, 0x6a, 0x38, 0x2e, 0xfd, 0x63, 0x02, 0x16, 0x46, 0x8a,
-	0x05, 0xad, 0x41, 0x56, 0x79, 0x3d, 0x46, 0x5e, 0x09, 0xce, 0x0c, 0x77, 0xb3, 0x91, 0xe1, 0x33,
-	0xc1, 0x19, 0x7a, 0x08, 0x79, 0x97, 0x09, 0xe2, 0x0b, 0x47, 0x77, 0xbe, 0x61, 0x6e, 0x31, 0x49,
-	0x44, 0x77, 0xce, 0x01, 0x55, 0x07, 0xdc, 0xc5, 0x39, 0x97, 0x89, 0x03, 0x83, 0x43, 0x4f, 0x60,
-	0xd6, 0xf4, 0x6d, 0xc4, 0xcf, 0xc4, 0x66, 0x6e, 0xfb, 0xad, 0x71, 0xc9, 0xd7, 0x62, 0x2c, 0x1e,
-	0x38, 0xa1, 0xfb, 0x30, 0x1f, 0x32, 0xc9, 0x14, 0x19, 0x84, 0x89, 0xd8, 0x9a, 0xc5, 0x73, 0xda,
-	0x5a, 0x4b, 0x60, 0x04, 0x96, 0x2e, 0x69, 0x66, 0x59, 0x9c, 0xd2, 0x67, 0x8e, 0x25, 0xac, 0x1d,
-	0xfb, 0xd9, 0xda, 0xad, 0x73, 0x16, 0x30, 0x8c, 0xe4, 0xa8, 0x49, 0xa2, 0xf7, 0x60, 0x26, 0xa0,
-	0x67, 0xbe, 0xa0, 0x5d, 0x73, 0x09, 0xcb, 0x49, 0xcc, 0x64, 0x44, 0x94, 0xdb, 0x7a, 0x44, 0xe0,
-	0x04, 0x87, 0x7e, 0x6e, 0xc1, 0x3d, 0x19, 0x65, 0xd3, 0x63, 0x5c, 0x11, 0xca, 0xa9, 0x7f, 0x26,
-	0x3d, 0x49, 0xc2, 0xb8, 0xf3, 0x93, 0x2b, 0x05, 0x1d, 0xed, 0xd1, 0xf8, 0x0c, 0x4d, 0x90, 0xaa,
-	0x89, 0x61, 0x86, 0x87, 0xb9, 0xdf, 0x0d, 0x39, 0x76, 0xbf, 0xf4, 0x77, 0x0b, 0x60, 0xd8, 0xca,
-	0xe8, 0x19, 0xe4, 0xcf, 0xd5, 0x94, 0xa5, 0x13, 0xf8, 0xf6, 0xb8, 0x04, 0x1a, 0xfc, 0x7c, 0xfd,
-	0xec, 0xdf, 0xc2, 0x39, 0x9a, 0x6a, 0xd9, 0xc7, 0x30, 0x19, 0x5d, 0x83, 0xa9, 0x8a, 0xfb, 0xe3,
-	0x42, 0x75, 0xd8, 0x97, 0x4a, 0x87, 0xdb, 0xbf, 0x85, 0xb5, 0x13, 0xfa, 0x08, 0xa6, 0xd8, 0x4b,
-	0xc6, 0x6f, 0x34, 0x91, 0xec, 0x08, 0x98, 0xb8, 0xc7, 0x6e, 0x3b, 0x33, 0x30, 0xa5, 0x87, 0x43,
-	0xe9, 0x57, 0x33, 0x90, 0x4b, 0xb5, 0x2b, 0xba, 0x03, 0xf1, 0xd4, 0x22, 0x3a, 0xb7, 0xb8, 0xa2,
-	0xb3, 0xda, 0x12, 0x25, 0x81, 0xde, 0x82, 0x39, 0x9f, 0x72, 0xb7, 0x4f, 0x5d, 0x46, 0x1c, 0xd1,
-	0x65, 0xc5, 0x05, 0x8d, 0xc8, 0x27, 0xc6, 0x9a, 0xe8, 0x32, 0xb4, 0x03, 0x77, 0x64, 0xc0, 0x98,
-	0x73, 0x42, 0x42, 0xe6, 0x08, 0x97, 0x7b, 0x51, 0x55, 0xc7, 0xcc, 0x75, 0x19, 0x77, 0x98, 0xfe,
-	0xe4, 0x0c, 0x5e, 0x8b, 0x41, 0x78, 0x88, 0xa9, 0x0d, 0x20, 0xe8, 0x4d, 0x98, 0xa6, 0x8e, 0xee,
-	0x9a, 0x09, 0x7d, 0x82, 0x59, 0xa1, 0xef, 0x02, 0x04, 0x83, 0xf6, 0x33, 0xe3, 0xf3, 0xca, 0xaa,
-	0x4a, 0x41, 0xd1, 0x87, 0xb0, 0x46, 0x7d, 0x5f, 0x17, 0x92, 0x17, 0xb2, 0xae, 0x79, 0x20, 0x48,
-	0x10, 0xb5, 0x04, 0x57, 0x7a, 0x62, 0xce, 0xe2, 0x22, 0xf5, 0x7d, 0x6c, 0x10, 0xf1, 0x0b, 0xd0,
-	0x8a, 0xf7, 0xd1, 0x03, 0x28, 0x1c, 0xf7, 0xfd, 0x63, 0xcf, 0xf7, 0x75, 0x61, 0x6a, 0x76, 0xa6,
-	0x75, 0x66, 0x0b, 0x29, 0xbb, 0xe6, 0xe8, 0x73, 0x58, 0x4a, 0x43, 0x7b, 0x4c, 0x4a, 0xea, 0x32,
-	0x59, 0x9c, 0xd1, 0x6d, 0xb5, 0x35, 0xbe, 0x66, 0xf4, 0x23, 0xfc, 0x34, 0x76, 0xc1, 0x8b, 0xa9,
-	0x38, 0xc6, 0xa6, 0x9b, 0x7b, 0x30, 0x43, 0xb5, 0x6a, 0x28, 0xce, 0xea, 0x3c, 0x06, 0xf3, 0x52,
-	0x1b, 0xd1, 0xc7, 0xb0, 0x90, 0xc0, 0x92, 0x1e, 0xcc, 0x8e, 0x67, 0x2b, 0x09, 0xdb, 0x32, 0xad,
-	0x78, 0x00, 0x0b, 0x66, 0x9c, 0x0e, 0xc6, 0x08, 0xdc, 0x7c, 0x1a, 0xcd, 0xc7, 0xbe, 0x83, 0x61,
-	0xf3, 0x08, 0xa6, 0x63, 0x89, 0x51, 0xcc, 0xe9, 0x34, 0x4a, 0xd7, 0xf3, 0x80, 0x8d, 0x07, 0xfa,
-	0x08, 0xd6, 0xe2, 0x5f, 0xa4, 0xab, 0x9f, 0xb0, 0x91, 0x72, 0xca, 0xeb, 0x72, 0x5a, 0x89, 0x21,
-	0xf5, 0x04, 0x91, 0x2a, 0xa6, 0x8f, 0x61, 0xa1, 0xeb, 0x51, 0x97, 0x0b, 0xa9, 0x3c, 0x87, 0x78,
-	0xfc, 0x58, 0x14, 0xe7, 0xaf, 0xe1, 0x62, 0x88, 0x6f, 0xf0, 0x63, 0x81, 0x04, 0xac, 0x5c, 0x3a,
-	0x95, 0xf4, 0x8b, 0x78, 0x5b, 0xc7, 0x7a, 0xff, 0xbf, 0x9c, 0x46, 0xfa, 0x75, 0x5c, 0x96, 0x97,
-	0x6f, 0x94, 0xfe, 0x9d, 0x81, 0xf5, 0xb6, 0x0a, 0x19, 0xed, 0x79, 0xdc, 0xfd, 0x9a, 0x68, 0xa0,
-	0x07, 0x50, 0x90, 0x1e, 0x77, 0x7d, 0x46, 0xfa, 0x4a, 0xb1, 0x90, 0x46, 0x77, 0x17, 0x3f, 0x4c,
-	0x0b, 0xb1, 0xfd, 0x28, 0x31, 0x5f, 0xf5, 0x94, 0x4f, 0xfd, 0x6f, 0xe4, 0xd2, 0xf4, 0x05, 0xb9,
-	0xf4, 0xbb, 0x09, 0xb8, 0x73, 0x05, 0xfd, 0x37, 0xd5, 0x4d, 0x0c, 0x50, 0x7a, 0xfc, 0x9d, 0x53,
-	0x4f, 0x0f, 0xc7, 0xd6, 0x4a, 0x72, 0x6e, 0x6a, 0x32, 0x9a, 0x72, 0xb9, 0x1d, 0x8e, 0x9a, 0x2e,
-	0xc8, 0xb3, 0x89, 0xaf, 0x54, 0x9e, 0x4d, 0xbe, 0xae, 0x3c, 0x9b, 0xfa, 0xbf, 0xcb, 0xb3, 0x3f,
-	0x64, 0x60, 0xf5, 0x6a, 0xea, 0x10, 0x83, 0xbc, 0x99, 0xc4, 0x5a, 0xe5, 0xe8, 0x0b, 0x9b, 0xdf,
-	0xde, 0x79, 0xbd, 0x8b, 0x48, 0x26, 0xb4, 0x56, 0x3e, 0xb9, 0xde, 0x70, 0x81, 0x36, 0x00, 0x54,
-	0x48, 0xb9, 0x74, 0x42, 0x2f, 0x88, 0x6f, 0x3b, 0x8b, 0x53, 0x16, 0xb4, 0x02, 0xb3, 0x9e, 0x24,
-	0xc7, 0x1e, 0xa7, 0xbe, 0xbe, 0xaa, 0x59, 0x3c, 0xe3, 0xc9, 0xdd, 0x68, 0x19, 0xb9, 0xa6, 0x86,
-	0xda, 0xa4, 0x1e, 0x6a, 0x29, 0x4b, 0xe9, 0x13, 0xc8, 0xa5, 0x8e, 0x45, 0xeb, 0x50, 0x7c, 0x6a,
-	0xb7, 0xdb, 0xd5, 0x3d, 0x9b, 0x74, 0x3e, 0x6d, 0xd9, 0xe4, 0xa8, 0xd9, 0x6e, 0xd9, 0xb5, 0xc6,
-	0x6e, 0xc3, 0xae, 0x17, 0x6e, 0xa1, 0x79, 0x80, 0x0e, 0xae, 0x36, 0xdb, 0x35, 0xdc, 0x68, 0x75,
-	0x0a, 0x16, 0x5a, 0x83, 0x65, 0xbb, 0x59, 0x27, 0x87, 0xbb, 0xa4, 0xdd, 0x68, 0xee, 0x1d, 0xd8,
-	0xe4, 0xa8, 0xd3, 0xb1, 0x71, 0xb5, 0x59, 0xb3, 0x0b, 0x99, 0xd2, 0x5f, 0x2d, 0x28, 0x8c, 0xca,
-	0x15, 0xd4, 0x82, 0xf9, 0xf8, 0x9e, 0x18, 0x77, 0x44, 0xd7, 0xe3, 0xae, 0xa1, 0xec, 0xc1, 0x38,
-	0xca, 0x74, 0x00, 0xdb, 0x38, 0xe0, 0x39, 0x9a, 0x5e, 0xa2, 0x2d, 0xb8, 0x2d, 0x69, 0x2f, 0xf0,
-	0x19, 0x09, 0xa9, 0x62, 0xe4, 0x84, 0x85, 0xea, 0x95, 0xa6, 0x68, 0x0a, 0x2f, 0xc4, 0x1b, 0x98,
-	0x2a, 0xb6, 0x1f, 0x99, 0x2f, 0x0a, 0x8d, 0x89, 0x4b, 0x84, 0xc6, 0x3d, 0xc8, 0x07, 0x27, 0x21,
-	0x95, 0x8c, 0x9c, 0x78, 0x5c, 0xab, 0xdc, 0x89, 0xcd, 0x2c, 0xce, 0xc5, 0xb6, 0xfd, 0xc8, 0x54,
-	0xaa, 0x43, 0x76, 0xa0, 0x9e, 0x10, 0x32, 0x92, 0x2b, 0x6e, 0xd6, 0x58, 0x49, 0x5d, 0x38, 0x28,
-	0x73, 0xf1, 0xa0, 0xd2, 0x4f, 0x01, 0x86, 0x2a, 0x2a, 0x0a, 0xc3, 0x69, 0x2f, 0xd1, 0xfb, 0xfa,
-	0xf7, 0x88, 0x2e, 0xc9, 0xdc, 0x5c, 0x97, 0xdc, 0xe4, 0x43, 0x4b, 0x14, 0x36, 0xc6, 0xeb, 0x59,
-	0xf4, 0x04, 0xd6, 0xf5, 0xb3, 0xf4, 0x8a, 0x91, 0xa1, 0x7e, 0x23, 0x83, 0xd7, 0x45, 0xe7, 0x3a,
-	0x8b, 0x57, 0x0c, 0xe6, 0x59, 0x22, 0xe8, 0x06, 0x51, 0x4b, 0x21, 0x2c, 0x5f, 0xf1, 0x48, 0xa1,
-	0xe7, 0xb0, 0x74, 0x65, 0xcc, 0x6b, 0x94, 0xeb, 0x20, 0x24, 0x46, 0xa7, 0x17, 0xcf, 0x7c, 0x02,
-	0xd9, 0xc1, 0x02, 0x2d, 0xc1, 0x94, 0x74, 0x44, 0x18, 0xd3, 0x9a, 0xc1, 0xf1, 0x02, 0xad, 0x43,
-	0xb6, 0x47, 0xa3, 0xde, 0xeb, 0x77, 0x13, 0xdd, 0x38, 0x34, 0x6c, 0xfd, 0xcb, 0x82, 0xb9, 0x73,
-	0x25, 0x87, 0x36, 0x60, 0xb5, 0x7a, 0x54, 0x6f, 0x1c, 0x12, 0xbb, 0x59, 0x3b, 0xac, 0x37, 0x9a,
-	0x7b, 0x23, 0x7d, 0xb1, 0x0e, 0xc5, 0x91, 0xfd, 0x83, 0x46, 0xd3, 0xae, 0x62, 0xf2, 0xde, 0xc3,
-	0x82, 0x85, 0x96, 0x61, 0x71, 0x64, 0x77, 0xf7, 0xa0, 0x5a, 0x2b, 0x64, 0x50, 0x11, 0x96, 0x46,
-	0x36, 0x9e, 0x1e, 0x1d, 0x54, 0x9f, 0x17, 0x26, 0xd0, 0x9b, 0x80, 0x46, 0x76, 0xaa, 0x4f, 0x71,
-	0x61, 0x12, 0xad, 0xc0, 0x1b, 0x17, 0xed, 0xe4, 0xf9, 0x4e, 0x61, 0x2a, 0xea, 0xc5, 0x91, 0xad,
-	0xc3, 0xbd, 0x3d, 0x72, 0xd8, 0x3a, 0x6a, 0x17, 0xa6, 0xd1, 0x03, 0xb8, 0x3f, 0xb2, 0xd9, 0x6e,
-	0xd9, 0xf6, 0x27, 0xe4, 0x79, 0xa3, 0xb3, 0x4f, 0xf6, 0xed, 0x6a, 0xdd, 0xc6, 0x64, 0xe7, 0xd3,
-	0x8e, 0x5d, 0x98, 0xd9, 0xfe, 0x4b, 0x06, 0x66, 0xcd, 0x1f, 0x62, 0x12, 0xfd, 0xde, 0x82, 0x7c,
-	0xfa, 0xa1, 0x42, 0x95, 0x71, 0xf7, 0x72, 0x89, 0xa2, 0x58, 0x7d, 0xf7, 0xe6, 0x0e, 0xf1, 0x23,
-	0x57, 0xaa, 0xfe, 0xec, 0xcf, 0x7f, 0xfb, 0x65, 0xe6, 0x71, 0xe9, 0x61, 0xe5, 0xe5, 0x76, 0xe5,
-	0xc7, 0x46, 0x7f, 0x7c, 0x18, 0x84, 0xe2, 0x87, 0xcc, 0x51, 0xb2, 0xb2, 0x55, 0xa1, 0x2e, 0xe3,
-	0x2a, 0xf9, 0x8f, 0x91, 0xac, 0x6c, 0xfd, 0xe4, 0x51, 0x37, 0x15, 0xe7, 0x91, 0xb5, 0x85, 0x7e,
-	0x61, 0xc1, 0x1b, 0x97, 0x3e, 0xb4, 0xe8, 0x7b, 0x37, 0x1a, 0xcd, 0x97, 0x7d, 0xc8, 0x07, 0xaf,
-	0xe1, 0x69, 0xbe, 0xe8, 0xd6, 0xa6, 0xf5, 0xae, 0xb5, 0xf3, 0x6b, 0x0b, 0x36, 0x1c, 0xd1, 0x1b,
-	0x13, 0x66, 0x27, 0x6f, 0x88, 0x6f, 0x45, 0xad, 0xdd, 0xb2, 0x3e, 0xab, 0x1b, 0xac, 0x2b, 0xa2,
-	0xc6, 0x2d, 0x8b, 0xd0, 0xad, 0xb8, 0x8c, 0xeb, 0xc6, 0xaf, 0xc4, 0x5b, 0x34, 0xf0, 0xe4, 0x65,
-	0xff, 0x50, 0x7b, 0x3c, 0x5c, 0xfd, 0xd3, 0xb2, 0x7e, 0x93, 0xc9, 0xd4, 0x77, 0x7f, 0x9b, 0x59,
-	0xdd, 0x8b, 0xc3, 0xd5, 0xf4, 0xd1, 0xf5, 0xe1, 0xd1, 0x3f, 0xd8, 0x7e, 0x31, 0xad, 0xa3, 0xbe,
-	0xff, 0x9f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x2d, 0xc9, 0xaf, 0x57, 0xa6, 0x14, 0x00, 0x00,
+	proto.RegisterFile("google/cloud/dialogflow/v2/session.proto", fileDescriptor_session_b0ebae769d2249cb)
+}
+
+var fileDescriptor_session_b0ebae769d2249cb = []byte{
+	// 1581 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xdc, 0x58, 0x4b, 0x73, 0x1b, 0xc7,
+	0x11, 0xe6, 0x82, 0x2f, 0xa0, 0x01, 0x91, 0xd4, 0x90, 0x09, 0xc1, 0x87, 0x18, 0x09, 0x2a, 0x45,
+	0x14, 0x13, 0x61, 0x15, 0x28, 0xa5, 0x44, 0x54, 0xe9, 0x41, 0x02, 0x20, 0x85, 0x14, 0x45, 0x41,
+	0x0b, 0x2a, 0x0f, 0x55, 0xa9, 0xb6, 0x56, 0x8b, 0xc1, 0x6a, 0x93, 0xc5, 0xcc, 0x72, 0x67, 0x96,
+	0x12, 0x95, 0x4a, 0x0e, 0xa9, 0xca, 0x1f, 0xb0, 0xcb, 0x27, 0xdf, 0x7c, 0xf4, 0xc9, 0x07, 0x1f,
+	0x7c, 0xf4, 0xd1, 0x77, 0x57, 0xf9, 0x17, 0xd8, 0x17, 0xff, 0x02, 0x1f, 0x7c, 0x70, 0xed, 0xcc,
+	0x2c, 0xb0, 0x24, 0x81, 0x25, 0xad, 0x92, 0x7d, 0xf0, 0x0d, 0xd3, 0xf3, 0x75, 0x4f, 0xef, 0x37,
+	0xdd, 0xdf, 0x74, 0x01, 0x56, 0x1d, 0x4a, 0x1d, 0x0f, 0xeb, 0xb6, 0x47, 0xc3, 0xb6, 0xde, 0x76,
+	0x2d, 0x8f, 0x3a, 0x1d, 0x8f, 0xbe, 0xd2, 0x0f, 0x2a, 0x3a, 0xc3, 0x8c, 0xb9, 0x94, 0x94, 0xfd,
+	0x80, 0x72, 0x8a, 0x16, 0x25, 0xb2, 0x2c, 0x90, 0xe5, 0x3e, 0xb2, 0x7c, 0x50, 0x59, 0x5c, 0x56,
+	0x51, 0x2c, 0xdf, 0xd5, 0x2d, 0x42, 0x28, 0xb7, 0xb8, 0x4b, 0x09, 0x93, 0x9e, 0x8b, 0x0b, 0x89,
+	0xdd, 0x00, 0x33, 0x1a, 0x06, 0x36, 0x56, 0x5b, 0xd7, 0x53, 0x8e, 0xb7, 0xc2, 0xb6, 0x4b, 0x4d,
+	0x9b, 0x92, 0x8e, 0xeb, 0x28, 0x78, 0x5a, 0xb6, 0x36, 0x25, 0x1c, 0xbf, 0xe6, 0x0a, 0x79, 0x35,
+	0x05, 0xe9, 0x12, 0x8e, 0x49, 0x0c, 0xfc, 0xe3, 0xe9, 0x04, 0x98, 0x98, 0x70, 0x97, 0x1f, 0x9a,
+	0xfc, 0xd0, 0x8f, 0xf3, 0x8e, 0x3f, 0x58, 0xac, 0x5e, 0x84, 0x1d, 0x9d, 0xf1, 0x20, 0xb4, 0xe3,
+	0x98, 0xf3, 0x6a, 0x37, 0xf0, 0x6d, 0x9d, 0x71, 0x8b, 0x87, 0x31, 0x13, 0x45, 0xb5, 0x11, 0x45,
+	0xd2, 0x3d, 0x8b, 0x7b, 0x44, 0x7d, 0x59, 0xe9, 0x8b, 0x0c, 0xcc, 0xd6, 0x30, 0xc7, 0x36, 0x6f,
+	0x88, 0xec, 0x0c, 0xbc, 0x1f, 0x62, 0xc6, 0x51, 0x11, 0x26, 0x55, 0x16, 0x45, 0xed, 0xa2, 0xb6,
+	0x9a, 0x33, 0xe2, 0x25, 0xda, 0x85, 0xc2, 0x7e, 0x88, 0x83, 0x43, 0xd3, 0xb7, 0x02, 0xab, 0xcb,
+	0x8a, 0x99, 0x8b, 0xda, 0x6a, 0xbe, 0xf2, 0xbb, 0xf2, 0xf0, 0x6b, 0x2a, 0x3f, 0x89, 0xf0, 0xcd,
+	0x08, 0x8e, 0x39, 0x0e, 0x98, 0x91, 0xdf, 0xef, 0x19, 0x18, 0xda, 0x06, 0xb9, 0x34, 0x5d, 0xe2,
+	0x87, 0xbc, 0x38, 0x2a, 0xc2, 0xfd, 0xf6, 0xd4, 0x70, 0x8d, 0x08, 0x6d, 0xc0, 0x7e, 0xef, 0x37,
+	0x7a, 0x0e, 0xb3, 0x34, 0xe4, 0x7e, 0xc8, 0xcd, 0xe4, 0x0d, 0x16, 0xc7, 0x44, 0xc0, 0xeb, 0x69,
+	0x01, 0x1f, 0x0b, 0xb7, 0x8d, 0xc8, 0xab, 0x2a, 0x9c, 0x8c, 0xf3, 0xf4, 0xb8, 0x09, 0xfd, 0x06,
+	0xf2, 0x22, 0x43, 0x19, 0xbd, 0x38, 0x7e, 0x51, 0x5b, 0x2d, 0x18, 0x20, 0x4c, 0x02, 0x56, 0xfa,
+	0x3c, 0x03, 0x73, 0x47, 0xa9, 0x64, 0x3e, 0x25, 0x0c, 0x47, 0x9e, 0x81, 0xfa, 0x6d, 0xba, 0x6d,
+	0xc5, 0x27, 0xc4, 0xa6, 0x46, 0x1b, 0xfd, 0x25, 0xa6, 0x34, 0xc0, 0x2c, 0xf4, 0xb8, 0xa2, 0xf4,
+	0xea, 0xa9, 0x1c, 0x18, 0x02, 0xae, 0xe8, 0x94, 0x0b, 0x74, 0x1b, 0xa6, 0x5e, 0xe1, 0x17, 0x2f,
+	0x29, 0xfd, 0x97, 0x29, 0x4b, 0x40, 0x31, 0x8a, 0xe2, 0x68, 0x81, 0x6f, 0x97, 0x5b, 0x62, 0xc7,
+	0x38, 0xa7, 0x90, 0x72, 0x89, 0x2e, 0x41, 0x21, 0x49, 0xa0, 0x60, 0xae, 0x60, 0xe4, 0x13, 0x54,
+	0x0c, 0xe3, 0x78, 0xe2, 0xdd, 0x70, 0x5c, 0xfa, 0x76, 0x14, 0xa6, 0x8f, 0x15, 0x0b, 0x5a, 0x82,
+	0x1c, 0x77, 0xbb, 0xd8, 0x7c, 0x43, 0x09, 0x56, 0xdc, 0x65, 0x23, 0xc3, 0x33, 0x4a, 0x30, 0xba,
+	0x05, 0x05, 0x07, 0x53, 0xd3, 0xa3, 0xb6, 0xe8, 0x7c, 0xc5, 0xdc, 0x6c, 0x9c, 0x88, 0xe8, 0x9c,
+	0x1d, 0x8b, 0xef, 0x10, 0xc7, 0xc8, 0x3b, 0x98, 0xee, 0x28, 0x1c, 0xba, 0x0f, 0x59, 0xd5, 0xb7,
+	0x11, 0x3f, 0xa3, 0xab, 0xf9, 0xca, 0xe5, 0xb4, 0xe4, 0xab, 0x12, 0x6b, 0xf4, 0x9c, 0xd0, 0x15,
+	0x98, 0x0a, 0x30, 0xc3, 0xdc, 0xec, 0x85, 0x89, 0xd8, 0xca, 0x1a, 0xe7, 0x84, 0xb5, 0x1a, 0xc3,
+	0x4c, 0x98, 0x1b, 0xd0, 0xcc, 0xac, 0x38, 0x2e, 0xce, 0x4c, 0x25, 0xac, 0x25, 0xfd, 0xea, 0xc2,
+	0x6d, 0xef, 0xd0, 0xc7, 0x06, 0x62, 0xc7, 0x4d, 0x0c, 0xfd, 0x01, 0x26, 0x7d, 0xeb, 0xd0, 0xa3,
+	0x56, 0x5b, 0x5d, 0xc2, 0x7c, 0x1c, 0x33, 0x96, 0x88, 0x72, 0x4b, 0x48, 0x84, 0x11, 0xe3, 0xd0,
+	0xff, 0x35, 0xb8, 0xc4, 0xa2, 0x6c, 0xba, 0x98, 0x70, 0xd3, 0x22, 0x96, 0x77, 0xc8, 0x5c, 0x66,
+	0x06, 0xb2, 0xf3, 0xe3, 0x2b, 0x05, 0x11, 0x6d, 0x3d, 0x3d, 0x43, 0x15, 0x64, 0x43, 0xc5, 0x50,
+	0xe2, 0xa1, 0xee, 0x77, 0x85, 0xa5, 0xee, 0x97, 0xbe, 0xd1, 0x00, 0xfa, 0xad, 0x8c, 0x9e, 0x40,
+	0xe1, 0x48, 0x4d, 0x69, 0x22, 0x81, 0xdf, 0xa7, 0x25, 0xd0, 0x20, 0x47, 0xeb, 0xe7, 0xe1, 0x88,
+	0x91, 0xb7, 0x12, 0x2d, 0x7b, 0x07, 0xc6, 0xa2, 0x6b, 0x50, 0x55, 0x71, 0x25, 0x2d, 0xd4, 0x1e,
+	0x7e, 0xcd, 0x45, 0xb8, 0x87, 0x23, 0x86, 0x70, 0x42, 0xf7, 0x60, 0x1c, 0x1f, 0x60, 0x72, 0x26,
+	0x45, 0xaa, 0x47, 0xc0, 0xd8, 0x5d, 0xba, 0x6d, 0x4e, 0xc2, 0xb8, 0x10, 0x87, 0xd2, 0x07, 0x93,
+	0x90, 0x4f, 0xb4, 0x2b, 0xba, 0x00, 0x52, 0xb5, 0x4c, 0x91, 0x9b, 0xac, 0xe8, 0x9c, 0xb0, 0x44,
+	0x49, 0xa0, 0xcb, 0x70, 0xce, 0xb3, 0x88, 0x13, 0x5a, 0x0e, 0x36, 0x6d, 0xda, 0xc6, 0xc5, 0x69,
+	0x81, 0x28, 0xc4, 0xc6, 0x2a, 0x6d, 0x63, 0xb4, 0x09, 0x17, 0x98, 0x8f, 0xb1, 0xfd, 0xd2, 0x0c,
+	0xb0, 0x4d, 0x1d, 0xe2, 0x46, 0x55, 0x2d, 0x99, 0x6b, 0x63, 0x62, 0x63, 0xf1, 0xc9, 0x19, 0x63,
+	0x49, 0x82, 0x8c, 0x3e, 0xa6, 0xda, 0x83, 0xa0, 0x5f, 0xc3, 0x84, 0x65, 0x8b, 0xae, 0x19, 0x15,
+	0x27, 0xa8, 0x15, 0xfa, 0x13, 0x80, 0xdf, 0x6b, 0x3f, 0x25, 0x9f, 0x43, 0xab, 0x2a, 0x01, 0x45,
+	0x77, 0x61, 0xc9, 0xf2, 0x3c, 0x51, 0x48, 0x6e, 0x80, 0xdb, 0xea, 0x81, 0x30, 0xfd, 0xa8, 0x25,
+	0x08, 0x17, 0x8a, 0x99, 0x35, 0x8a, 0x96, 0xe7, 0x19, 0x0a, 0x21, 0x5f, 0x80, 0xa6, 0xdc, 0x47,
+	0xd7, 0x60, 0xa6, 0x13, 0x7a, 0x1d, 0xd7, 0xf3, 0x44, 0x61, 0x0a, 0x76, 0x26, 0x44, 0x66, 0xd3,
+	0x09, 0xbb, 0xe0, 0xe8, 0x39, 0xcc, 0x25, 0xa1, 0x5d, 0xcc, 0x98, 0xe5, 0x60, 0x56, 0x9c, 0x14,
+	0x6d, 0xb5, 0x96, 0x5e, 0x33, 0xe2, 0x11, 0x7e, 0x24, 0x5d, 0x8c, 0xd9, 0x44, 0x1c, 0x65, 0x13,
+	0xcd, 0xdd, 0xd3, 0x50, 0x31, 0x35, 0x14, 0xb3, 0x22, 0x8f, 0x9e, 0x5e, 0x0a, 0x23, 0x7a, 0x00,
+	0xd3, 0x31, 0x2c, 0xee, 0xc1, 0x5c, 0x3a, 0x5b, 0x71, 0xd8, 0xa6, 0x6a, 0xc5, 0x1d, 0x98, 0x56,
+	0x72, 0xda, 0x93, 0x11, 0x38, 0xbb, 0x1a, 0x4d, 0x49, 0xdf, 0x9e, 0xd8, 0xac, 0xc3, 0x84, 0x1c,
+	0x31, 0x8a, 0x79, 0x91, 0x46, 0xe9, 0x74, 0x1e, 0x0c, 0xe5, 0x81, 0xee, 0xc1, 0x92, 0xfc, 0x65,
+	0xb6, 0xc5, 0x13, 0x76, 0xac, 0x9c, 0x0a, 0xa2, 0x9c, 0x16, 0x24, 0xa4, 0x16, 0x23, 0x12, 0xc5,
+	0xf4, 0x00, 0xa6, 0xdb, 0xae, 0xe5, 0x10, 0xca, 0xb8, 0x6b, 0x9b, 0x2e, 0xe9, 0xd0, 0xe2, 0xd4,
+	0x29, 0x5c, 0xf4, 0xf1, 0x0d, 0xd2, 0xa1, 0x88, 0xc2, 0xc2, 0x40, 0x55, 0x12, 0x2f, 0xe2, 0x79,
+	0x11, 0xeb, 0xe6, 0x8f, 0x54, 0x23, 0xf1, 0x3a, 0xce, 0xb3, 0xc1, 0x1b, 0xa5, 0xef, 0x33, 0xb0,
+	0xdc, 0xe2, 0x01, 0xb6, 0xba, 0x2e, 0x71, 0x7e, 0x21, 0x33, 0xd0, 0x35, 0x98, 0x61, 0x2e, 0x71,
+	0x3c, 0x6c, 0x86, 0x9c, 0xe3, 0xc0, 0x8a, 0xee, 0x4e, 0x3e, 0x4c, 0xd3, 0xd2, 0xfe, 0x34, 0x36,
+	0x0f, 0x7b, 0xca, 0xc7, 0x7f, 0x9a, 0x71, 0x69, 0xe2, 0xc4, 0xb8, 0xf4, 0xc9, 0x28, 0x5c, 0x18,
+	0x42, 0xff, 0x59, 0xe7, 0x26, 0x0c, 0x28, 0x29, 0x7f, 0x47, 0xa6, 0xa7, 0x5b, 0xa9, 0xb5, 0x12,
+	0x9f, 0x9b, 0x50, 0x46, 0x55, 0x2e, 0xe7, 0x83, 0xe3, 0xa6, 0x13, 0xe3, 0xd9, 0xe8, 0x3b, 0x1d,
+	0xcf, 0xc6, 0xde, 0x76, 0x3c, 0x1b, 0xff, 0xd9, 0xc7, 0xb3, 0xcf, 0x32, 0xb0, 0x38, 0x9c, 0x3a,
+	0x84, 0xa1, 0xa0, 0x94, 0x58, 0x4c, 0x39, 0xe2, 0xc2, 0xa6, 0x2a, 0x9b, 0x6f, 0x77, 0x11, 0xb1,
+	0x42, 0x8b, 0xc9, 0x27, 0xdf, 0xed, 0x2f, 0xd0, 0x0a, 0x00, 0x0f, 0x2c, 0xc2, 0xec, 0xc0, 0xf5,
+	0xe5, 0x6d, 0xe7, 0x8c, 0x84, 0x05, 0x2d, 0x40, 0xd6, 0x65, 0x66, 0xc7, 0x25, 0x96, 0x27, 0xae,
+	0x2a, 0x6b, 0x4c, 0xba, 0x6c, 0x2b, 0x5a, 0x46, 0xae, 0x09, 0x51, 0x1b, 0x13, 0xa2, 0x96, 0xb0,
+	0x94, 0xfe, 0x0e, 0xf9, 0xc4, 0xb1, 0x68, 0x19, 0x8a, 0x8f, 0xea, 0xad, 0xd6, 0xc6, 0x76, 0xdd,
+	0xdc, 0xfb, 0x47, 0xb3, 0x6e, 0x3e, 0xdd, 0x6d, 0x35, 0xeb, 0xd5, 0xc6, 0x56, 0xa3, 0x5e, 0x9b,
+	0x19, 0x41, 0x53, 0x00, 0x7b, 0xc6, 0xc6, 0x6e, 0xab, 0x6a, 0x34, 0x9a, 0x7b, 0x33, 0x1a, 0x5a,
+	0x82, 0xf9, 0xfa, 0x6e, 0xcd, 0x7c, 0xbc, 0x65, 0xb6, 0x1a, 0xbb, 0xdb, 0x3b, 0x75, 0xf3, 0xe9,
+	0xde, 0x5e, 0xdd, 0xd8, 0xd8, 0xad, 0xd6, 0x67, 0x32, 0xa5, 0x1a, 0xe4, 0x7a, 0x23, 0x06, 0x42,
+	0x6a, 0x2e, 0x91, 0x15, 0x2d, 0xc7, 0x8d, 0x13, 0xcf, 0x7e, 0xe6, 0xe4, 0xb3, 0x5f, 0xfa, 0x2f,
+	0x40, 0x7f, 0xd4, 0x88, 0xc2, 0x10, 0xab, 0x1b, 0x0f, 0xc5, 0xe2, 0xf7, 0xb1, 0xc7, 0x3b, 0x73,
+	0xf6, 0xc7, 0xfb, 0xc4, 0xf9, 0xa3, 0x03, 0xce, 0xb7, 0x60, 0x25, 0x7d, 0xe8, 0x43, 0xf7, 0x61,
+	0x59, 0x68, 0xf7, 0x1b, 0x6c, 0xf6, 0x87, 0x1c, 0xb3, 0x27, 0xc1, 0x22, 0xd7, 0xac, 0xb1, 0xa0,
+	0x30, 0x4f, 0xe2, 0xa9, 0xa7, 0x17, 0xb5, 0x14, 0xc0, 0xfc, 0x10, 0x25, 0x47, 0x7f, 0x83, 0xb9,
+	0xa1, 0x31, 0x4f, 0x19, 0xef, 0x7a, 0x21, 0x0d, 0xb4, 0x7f, 0xf2, 0xcc, 0xfb, 0x90, 0xeb, 0x2d,
+	0xd0, 0x1c, 0x8c, 0x33, 0x9b, 0x06, 0x92, 0xd6, 0x8c, 0x21, 0x17, 0x68, 0x19, 0x72, 0x5d, 0x2b,
+	0x2a, 0xd0, 0xb0, 0x1d, 0x0f, 0x57, 0x7d, 0x43, 0xe5, 0xab, 0x0c, 0x64, 0xd5, 0xbc, 0xce, 0xd0,
+	0xa7, 0x1a, 0x14, 0x92, 0x7a, 0x86, 0xf4, 0xb4, 0xcc, 0x06, 0x3c, 0x3c, 0x8b, 0x37, 0xce, 0xee,
+	0x20, 0xb5, 0xb0, 0xb4, 0xf1, 0xbf, 0x2f, 0xbf, 0x7e, 0x3f, 0x73, 0xa7, 0x74, 0x4b, 0x3f, 0xa8,
+	0xe8, 0xff, 0x56, 0xcf, 0xd4, 0x5d, 0x3f, 0xa0, 0xff, 0xc4, 0x36, 0x67, 0xfa, 0x9a, 0x6e, 0x39,
+	0x98, 0xf0, 0xf8, 0x8f, 0x05, 0xa6, 0xaf, 0xfd, 0x67, 0xbd, 0x9d, 0x88, 0xb3, 0xae, 0xad, 0xa1,
+	0xf7, 0x34, 0xf8, 0xd5, 0x40, 0x3d, 0x46, 0x7f, 0x3e, 0x53, 0x07, 0x0f, 0xfa, 0x90, 0xdb, 0x6f,
+	0xe1, 0xa9, 0xbe, 0x68, 0x64, 0x55, 0xbb, 0xa1, 0x6d, 0x7e, 0xa8, 0xc1, 0x8a, 0x4d, 0xbb, 0x29,
+	0x61, 0x36, 0x0b, 0x8a, 0xf8, 0x66, 0x54, 0xdc, 0x4d, 0xed, 0x59, 0x4d, 0x61, 0x1d, 0x1a, 0x95,
+	0x6e, 0x99, 0x06, 0x8e, 0xee, 0x60, 0x22, 0x4a, 0x5f, 0x97, 0x5b, 0x96, 0xef, 0xb2, 0x41, 0xff,
+	0xbb, 0xdc, 0xe9, 0xaf, 0xbe, 0xd3, 0xb4, 0x8f, 0x32, 0x99, 0xda, 0xd6, 0xc7, 0x99, 0xc5, 0x6d,
+	0x19, 0xae, 0x2a, 0x8e, 0xae, 0xf5, 0x8f, 0xfe, 0x6b, 0xe5, 0xc5, 0x84, 0x88, 0x7a, 0xf3, 0x87,
+	0x00, 0x00, 0x00, 0xff, 0xff, 0xad, 0xf5, 0x89, 0x0f, 0xcd, 0x12, 0x00, 0x00,
 }
diff --git a/googleapis/cloud/dialogflow/v2beta1/audio_config.pb.go b/googleapis/cloud/dialogflow/v2beta1/audio_config.pb.go
index bd2ae2750c3affcf59330c6f0637789b83f9ab7f..b63b43ec46454b594a4f0a53e820f2695a79bb0e 100644
--- a/googleapis/cloud/dialogflow/v2beta1/audio_config.pb.go
+++ b/googleapis/cloud/dialogflow/v2beta1/audio_config.pb.go
@@ -88,7 +88,69 @@ func (x AudioEncoding) String() string {
 	return proto.EnumName(AudioEncoding_name, int32(x))
 }
 func (AudioEncoding) EnumDescriptor() ([]byte, []int) {
-	return fileDescriptor_audio_config_14a1c148ba6678c0, []int{0}
+	return fileDescriptor_audio_config_3b6246f5d2be0e12, []int{0}
+}
+
+// Variant of the specified [Speech model][google.cloud.dialogflow.v2beta1.InputAudioConfig.model] to use.
+//
+// See the [Cloud Speech
+// documentation](https://cloud.google.com/speech-to-text/docs/enhanced-models)
+// for which models have different variants. For example, the "phone_call" model
+// has both a standard and an enhanced variant. When you use an enhanced model,
+// you will generally receive higher quality results than for a standard model.
+type SpeechModelVariant int32
+
+const (
+	// No model variant specified. In this case Dialogflow defaults to
+	// USE_BEST_AVAILABLE.
+	SpeechModelVariant_SPEECH_MODEL_VARIANT_UNSPECIFIED SpeechModelVariant = 0
+	// Use the best available variant of the [Speech
+	// model][InputAudioConfig.model] that the caller is eligible for.
+	//
+	// Please see the [Dialogflow
+	// docs](https://cloud.google.com/dialogflow-enterprise/docs/data-logging) for
+	// how to make your project eligible for enhanced models.
+	SpeechModelVariant_USE_BEST_AVAILABLE SpeechModelVariant = 1
+	// Use standard model variant even if an enhanced model is available.  See the
+	// [Cloud Speech
+	// documentation](https://cloud.google.com/speech-to-text/docs/enhanced-models)
+	// for details about enhanced models.
+	SpeechModelVariant_USE_STANDARD SpeechModelVariant = 2
+	// Use an enhanced model variant:
+	//
+	// * If an enhanced variant does not exist for the given
+	//   [model][google.cloud.dialogflow.v2beta1.InputAudioConfig.model] and request language, Dialogflow falls
+	//   back to the standard variant.
+	//
+	//   The [Cloud Speech
+	//   documentation](https://cloud.google.com/speech-to-text/docs/enhanced-models)
+	//   describes which models have enhanced variants.
+	//
+	// * If the API caller isn't eligible for enhanced models, Dialogflow returns
+	//   an error.  Please see the [Dialogflow
+	//   docs](https://cloud.google.com/dialogflow-enterprise/docs/data-logging)
+	//   for how to make your project eligible.
+	SpeechModelVariant_USE_ENHANCED SpeechModelVariant = 3
+)
+
+var SpeechModelVariant_name = map[int32]string{
+	0: "SPEECH_MODEL_VARIANT_UNSPECIFIED",
+	1: "USE_BEST_AVAILABLE",
+	2: "USE_STANDARD",
+	3: "USE_ENHANCED",
+}
+var SpeechModelVariant_value = map[string]int32{
+	"SPEECH_MODEL_VARIANT_UNSPECIFIED": 0,
+	"USE_BEST_AVAILABLE":               1,
+	"USE_STANDARD":                     2,
+	"USE_ENHANCED":                     3,
+}
+
+func (x SpeechModelVariant) String() string {
+	return proto.EnumName(SpeechModelVariant_name, int32(x))
+}
+func (SpeechModelVariant) EnumDescriptor() ([]byte, []int) {
+	return fileDescriptor_audio_config_3b6246f5d2be0e12, []int{1}
 }
 
 // Gender of the voice as described in
@@ -124,7 +186,7 @@ func (x SsmlVoiceGender) String() string {
 	return proto.EnumName(SsmlVoiceGender_name, int32(x))
 }
 func (SsmlVoiceGender) EnumDescriptor() ([]byte, []int) {
-	return fileDescriptor_audio_config_14a1c148ba6678c0, []int{1}
+	return fileDescriptor_audio_config_3b6246f5d2be0e12, []int{2}
 }
 
 // Audio encoding of the output audio format in Text-To-Speech.
@@ -162,10 +224,10 @@ func (x OutputAudioEncoding) String() string {
 	return proto.EnumName(OutputAudioEncoding_name, int32(x))
 }
 func (OutputAudioEncoding) EnumDescriptor() ([]byte, []int) {
-	return fileDescriptor_audio_config_14a1c148ba6678c0, []int{2}
+	return fileDescriptor_audio_config_3b6246f5d2be0e12, []int{3}
 }
 
-// Instructs the speech recognizer how to process the audio content.
+// Instructs the speech recognizer on how to process the audio content.
 type InputAudioConfig struct {
 	// Required. Audio encoding of the audio content to process.
 	AudioEncoding AudioEncoding `protobuf:"varint,1,opt,name=audio_encoding,json=audioEncoding,proto3,enum=google.cloud.dialogflow.v2beta1.AudioEncoding" json:"audio_encoding,omitempty"`
@@ -199,17 +261,19 @@ type InputAudioConfig struct {
 	// [Cloud Speech API
 	// documentation](https://cloud.google.com/speech-to-text/docs/basics#select-model)
 	// for more details.
-	Model                string   `protobuf:"bytes,7,opt,name=model,proto3" json:"model,omitempty"`
-	XXX_NoUnkeyedLiteral struct{} `json:"-"`
-	XXX_unrecognized     []byte   `json:"-"`
-	XXX_sizecache        int32    `json:"-"`
+	Model string `protobuf:"bytes,7,opt,name=model,proto3" json:"model,omitempty"`
+	// Optional. Which variant of the [Speech model][google.cloud.dialogflow.v2beta1.InputAudioConfig.model] to use.
+	ModelVariant         SpeechModelVariant `protobuf:"varint,10,opt,name=model_variant,json=modelVariant,proto3,enum=google.cloud.dialogflow.v2beta1.SpeechModelVariant" json:"model_variant,omitempty"`
+	XXX_NoUnkeyedLiteral struct{}           `json:"-"`
+	XXX_unrecognized     []byte             `json:"-"`
+	XXX_sizecache        int32              `json:"-"`
 }
 
 func (m *InputAudioConfig) Reset()         { *m = InputAudioConfig{} }
 func (m *InputAudioConfig) String() string { return proto.CompactTextString(m) }
 func (*InputAudioConfig) ProtoMessage()    {}
 func (*InputAudioConfig) Descriptor() ([]byte, []int) {
-	return fileDescriptor_audio_config_14a1c148ba6678c0, []int{0}
+	return fileDescriptor_audio_config_3b6246f5d2be0e12, []int{0}
 }
 func (m *InputAudioConfig) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_InputAudioConfig.Unmarshal(m, b)
@@ -264,6 +328,13 @@ func (m *InputAudioConfig) GetModel() string {
 	return ""
 }
 
+func (m *InputAudioConfig) GetModelVariant() SpeechModelVariant {
+	if m != nil {
+		return m.ModelVariant
+	}
+	return SpeechModelVariant_SPEECH_MODEL_VARIANT_UNSPECIFIED
+}
+
 // Description of which voice to use for speech synthesis.
 type VoiceSelectionParams struct {
 	// Optional. The name of the voice. If not set, the service will choose a
@@ -284,7 +355,7 @@ func (m *VoiceSelectionParams) Reset()         { *m = VoiceSelectionParams{} }
 func (m *VoiceSelectionParams) String() string { return proto.CompactTextString(m) }
 func (*VoiceSelectionParams) ProtoMessage()    {}
 func (*VoiceSelectionParams) Descriptor() ([]byte, []int) {
-	return fileDescriptor_audio_config_14a1c148ba6678c0, []int{1}
+	return fileDescriptor_audio_config_3b6246f5d2be0e12, []int{1}
 }
 func (m *VoiceSelectionParams) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_VoiceSelectionParams.Unmarshal(m, b)
@@ -353,7 +424,7 @@ func (m *SynthesizeSpeechConfig) Reset()         { *m = SynthesizeSpeechConfig{}
 func (m *SynthesizeSpeechConfig) String() string { return proto.CompactTextString(m) }
 func (*SynthesizeSpeechConfig) ProtoMessage()    {}
 func (*SynthesizeSpeechConfig) Descriptor() ([]byte, []int) {
-	return fileDescriptor_audio_config_14a1c148ba6678c0, []int{2}
+	return fileDescriptor_audio_config_3b6246f5d2be0e12, []int{2}
 }
 func (m *SynthesizeSpeechConfig) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_SynthesizeSpeechConfig.Unmarshal(m, b)
@@ -429,7 +500,7 @@ func (m *OutputAudioConfig) Reset()         { *m = OutputAudioConfig{} }
 func (m *OutputAudioConfig) String() string { return proto.CompactTextString(m) }
 func (*OutputAudioConfig) ProtoMessage()    {}
 func (*OutputAudioConfig) Descriptor() ([]byte, []int) {
-	return fileDescriptor_audio_config_14a1c148ba6678c0, []int{3}
+	return fileDescriptor_audio_config_3b6246f5d2be0e12, []int{3}
 }
 func (m *OutputAudioConfig) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_OutputAudioConfig.Unmarshal(m, b)
@@ -476,66 +547,73 @@ func init() {
 	proto.RegisterType((*SynthesizeSpeechConfig)(nil), "google.cloud.dialogflow.v2beta1.SynthesizeSpeechConfig")
 	proto.RegisterType((*OutputAudioConfig)(nil), "google.cloud.dialogflow.v2beta1.OutputAudioConfig")
 	proto.RegisterEnum("google.cloud.dialogflow.v2beta1.AudioEncoding", AudioEncoding_name, AudioEncoding_value)
+	proto.RegisterEnum("google.cloud.dialogflow.v2beta1.SpeechModelVariant", SpeechModelVariant_name, SpeechModelVariant_value)
 	proto.RegisterEnum("google.cloud.dialogflow.v2beta1.SsmlVoiceGender", SsmlVoiceGender_name, SsmlVoiceGender_value)
 	proto.RegisterEnum("google.cloud.dialogflow.v2beta1.OutputAudioEncoding", OutputAudioEncoding_name, OutputAudioEncoding_value)
 }
 
 func init() {
-	proto.RegisterFile("google/cloud/dialogflow/v2beta1/audio_config.proto", fileDescriptor_audio_config_14a1c148ba6678c0)
-}
-
-var fileDescriptor_audio_config_14a1c148ba6678c0 = []byte{
-	// 826 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x55, 0xcb, 0x6e, 0xdb, 0x46,
-	0x14, 0xed, 0x48, 0x56, 0x02, 0x5f, 0x3f, 0xc2, 0x4c, 0x5c, 0x87, 0x76, 0xe3, 0x58, 0x96, 0x1b,
-	0x40, 0x35, 0x0a, 0xa9, 0x51, 0xfa, 0x58, 0x74, 0x45, 0x4b, 0xb4, 0x4c, 0x54, 0x0f, 0x76, 0x28,
-	0xd9, 0x7d, 0x2c, 0x06, 0x63, 0x72, 0x44, 0x0d, 0x4a, 0xcd, 0xb0, 0x22, 0xe5, 0xa2, 0x01, 0xfa,
-	0x09, 0x45, 0xff, 0xa1, 0xe8, 0xaa, 0x8b, 0xfe, 0x5c, 0xbb, 0x28, 0xd0, 0x4d, 0xc1, 0xa1, 0x12,
-	0x3b, 0xb2, 0x52, 0x6d, 0xba, 0x23, 0xcf, 0x99, 0x73, 0xe6, 0xce, 0xb9, 0x77, 0x48, 0x68, 0x84,
-	0x4a, 0x85, 0x11, 0xaf, 0xfb, 0x91, 0x9a, 0x05, 0xf5, 0x40, 0xb0, 0x48, 0x85, 0xa3, 0x48, 0xfd,
-	0x50, 0xbf, 0x6e, 0x5c, 0xf1, 0x94, 0x3d, 0xaf, 0xb3, 0x59, 0x20, 0x14, 0xf5, 0x95, 0x1c, 0x89,
-	0xb0, 0x16, 0x4f, 0x55, 0xaa, 0xf0, 0x61, 0xae, 0xa9, 0x69, 0x4d, 0xed, 0x46, 0x53, 0x9b, 0x6b,
-	0xf6, 0x9f, 0xcc, 0x4d, 0x59, 0x2c, 0xea, 0x4c, 0x4a, 0x95, 0xb2, 0x54, 0x28, 0x99, 0xe4, 0xf2,
-	0xca, 0x9f, 0x08, 0x0c, 0x47, 0xc6, 0xb3, 0xd4, 0xca, 0xac, 0x9b, 0xda, 0x19, 0x0f, 0x61, 0x3b,
-	0xdf, 0x89, 0x4b, 0x5f, 0x05, 0x42, 0x86, 0x26, 0x2a, 0xa3, 0xea, 0x76, 0xa3, 0x56, 0x5b, 0xb1,
-	0x59, 0x4d, 0xbb, 0xd8, 0x73, 0x15, 0xd9, 0x62, 0xb7, 0x5f, 0xf1, 0x09, 0x3c, 0x4c, 0xd8, 0x24,
-	0x8e, 0x38, 0x9d, 0xb2, 0x94, 0xd3, 0x31, 0x9f, 0xa6, 0x2f, 0xcd, 0x42, 0x19, 0x55, 0x4b, 0xe4,
-	0x41, 0x4e, 0x10, 0x96, 0xf2, 0xf3, 0x0c, 0xc6, 0xc7, 0xb0, 0x15, 0x31, 0x19, 0xce, 0x58, 0xc8,
-	0xa9, 0xaf, 0x02, 0x6e, 0x16, 0xcb, 0xa8, 0xba, 0x4e, 0x36, 0x5f, 0x81, 0x4d, 0x15, 0x70, 0x7c,
-	0x04, 0x9b, 0xf1, 0x78, 0xca, 0x12, 0x4e, 0xc7, 0x42, 0xa6, 0x89, 0xb9, 0x56, 0x2e, 0x56, 0xd7,
-	0xc9, 0x46, 0x8e, 0x9d, 0x67, 0x10, 0xde, 0x81, 0xd2, 0x44, 0x05, 0x3c, 0x32, 0xef, 0x6b, 0x7d,
-	0xfe, 0x52, 0xf9, 0x09, 0x76, 0x2e, 0x94, 0xf0, 0xb9, 0xc7, 0x23, 0xee, 0x67, 0x71, 0xb8, 0x6c,
-	0xca, 0x26, 0x09, 0xc6, 0xb0, 0x26, 0xd9, 0x84, 0xeb, 0xe3, 0xae, 0x13, 0xfd, 0x8c, 0xbf, 0x84,
-	0x8d, 0x24, 0x99, 0x44, 0x34, 0xe4, 0x32, 0xe0, 0x53, 0x5d, 0xef, 0x76, 0xe3, 0xa3, 0x95, 0x49,
-	0x78, 0xc9, 0x24, 0xd2, 0x7b, 0xb4, 0xb5, 0x8e, 0x40, 0x66, 0x92, 0x3f, 0x57, 0xfe, 0x42, 0xb0,
-	0xeb, 0xfd, 0x28, 0xd3, 0x31, 0x4f, 0xc4, 0x4b, 0xee, 0xc5, 0x9c, 0xfb, 0xe3, 0x79, 0xf4, 0xc7,
-	0xb0, 0x95, 0xc4, 0x9c, 0x7d, 0x27, 0x64, 0xa8, 0x53, 0xd2, 0xa5, 0x20, 0xb2, 0xf9, 0x0a, 0xcc,
-	0x12, 0xca, 0x0e, 0x15, 0x8b, 0xd4, 0x1f, 0xeb, 0x62, 0x10, 0xc9, 0x5f, 0xf0, 0xfb, 0xb0, 0x7d,
-	0xad, 0xa2, 0xd9, 0x84, 0xd3, 0x90, 0x09, 0x49, 0x83, 0x2b, 0x9d, 0x19, 0x22, 0x9b, 0x39, 0xda,
-	0x66, 0x42, 0xb6, 0xae, 0xf0, 0x87, 0x80, 0xf9, 0x68, 0xc4, 0xfd, 0x34, 0xa1, 0xf1, 0x54, 0x8d,
-	0x44, 0xc4, 0xa9, 0x08, 0xcc, 0x92, 0x4e, 0xce, 0x98, 0x33, 0x6e, 0x4e, 0x38, 0x01, 0xfe, 0x02,
-	0x4a, 0xd7, 0xd9, 0x21, 0xcc, 0xb5, 0x32, 0xaa, 0x6e, 0x34, 0x3e, 0x59, 0x79, 0xec, 0x65, 0xb1,
-	0x92, 0xdc, 0xa3, 0xf2, 0x4b, 0x01, 0x1e, 0xf6, 0x67, 0xe9, 0xc2, 0xb0, 0x7d, 0xfb, 0x96, 0x61,
-	0xfb, 0x78, 0xe5, 0x5e, 0xb7, 0xbc, 0xfe, 0x8f, 0x91, 0xfb, 0x1e, 0xcc, 0xe4, 0x75, 0x53, 0x68,
-	0xa2, 0xbb, 0x32, 0xbf, 0x6b, 0x3a, 0xc9, 0x8d, 0xc6, 0x67, 0xab, 0xbb, 0xbe, 0xb4, 0xab, 0x64,
-	0x37, 0x59, 0x8a, 0x9f, 0xfc, 0x83, 0x60, 0xeb, 0x8d, 0xfa, 0xf1, 0x53, 0xd8, 0xb7, 0x86, 0x2d,
-	0xa7, 0x4f, 0xed, 0x5e, 0xb3, 0xdf, 0x72, 0x7a, 0x6d, 0x3a, 0xec, 0x79, 0xae, 0xdd, 0x74, 0xce,
-	0x1c, 0xbb, 0x65, 0xbc, 0x83, 0x9f, 0x80, 0xb9, 0xc0, 0x77, 0x9c, 0x9e, 0x6d, 0x11, 0xfa, 0xfc,
-	0x53, 0x03, 0xe1, 0xc7, 0xf0, 0x68, 0x81, 0x3d, 0xeb, 0x58, 0x4d, 0xa3, 0x80, 0x4d, 0xd8, 0x59,
-	0x20, 0xba, 0xc3, 0x8e, 0x75, 0x69, 0x14, 0xf1, 0x2e, 0xe0, 0x05, 0xc6, 0xea, 0x12, 0x63, 0x0d,
-	0xef, 0xc1, 0xbb, 0x77, 0x71, 0x7a, 0x79, 0x6a, 0x94, 0xf0, 0x7b, 0xf0, 0x78, 0x81, 0xea, 0xb7,
-	0xdb, 0xb4, 0xef, 0x0e, 0x3d, 0xe3, 0x1e, 0xfe, 0x00, 0x9e, 0x2d, 0x90, 0x9e, 0x6b, 0xdb, 0x5f,
-	0xd1, 0x4b, 0x67, 0x70, 0x4e, 0xcf, 0x6d, 0xab, 0x65, 0x13, 0x7a, 0xfa, 0xf5, 0xc0, 0x36, 0xee,
-	0x9f, 0xfc, 0x8c, 0xe0, 0xc1, 0xc2, 0x35, 0xc1, 0x47, 0x70, 0xe0, 0x79, 0xdd, 0x0e, 0xbd, 0xe8,
-	0x3b, 0x4d, 0x9b, 0xb6, 0xed, 0x5e, 0xb6, 0xfe, 0xcd, 0x08, 0xf6, 0x61, 0xf7, 0xee, 0x92, 0xae,
-	0xd5, 0xb1, 0x0d, 0x94, 0xc5, 0x73, 0x97, 0x3b, 0xb3, 0x35, 0x5b, 0xc0, 0x07, 0xb0, 0x77, 0x97,
-	0xed, 0xd9, 0xc3, 0x01, 0xb1, 0x3a, 0x46, 0xf1, 0xe4, 0x37, 0x04, 0x8f, 0x96, 0xcc, 0x14, 0x7e,
-	0x06, 0x47, 0xfd, 0xe1, 0xc0, 0x1d, 0x0e, 0xe8, 0x7f, 0xb6, 0xe6, 0x18, 0x0e, 0x97, 0x2f, 0xbb,
-	0xdd, 0xa1, 0x03, 0xd8, 0x5b, 0xbe, 0xa8, 0xeb, 0xbe, 0x30, 0x0a, 0xb8, 0x02, 0x4f, 0x97, 0xd3,
-	0xaf, 0x13, 0x2e, 0x9e, 0xfe, 0x81, 0xe0, 0xd8, 0x57, 0x93, 0x55, 0xb3, 0x78, 0x6a, 0xdc, 0xba,
-	0x65, 0x6e, 0xf6, 0xb1, 0x77, 0xd1, 0x37, 0xce, 0x5c, 0x14, 0xaa, 0xec, 0x43, 0x5a, 0x53, 0xd3,
-	0xb0, 0x1e, 0x72, 0xa9, 0x7f, 0x05, 0xf5, 0x9c, 0x62, 0xb1, 0x48, 0xde, 0xfa, 0x03, 0xfa, 0xfc,
-	0x06, 0xfa, 0x1b, 0xa1, 0x5f, 0x0b, 0x85, 0xd6, 0xd9, 0xef, 0x85, 0xc3, 0x76, 0xee, 0xd9, 0xd4,
-	0x85, 0xb4, 0x6e, 0x0a, 0xb9, 0xc8, 0x45, 0x57, 0xf7, 0xb4, 0xff, 0x8b, 0x7f, 0x03, 0x00, 0x00,
-	0xff, 0xff, 0x6c, 0xb1, 0x5c, 0x25, 0xdf, 0x06, 0x00, 0x00,
+	proto.RegisterFile("google/cloud/dialogflow/v2beta1/audio_config.proto", fileDescriptor_audio_config_3b6246f5d2be0e12)
+}
+
+var fileDescriptor_audio_config_3b6246f5d2be0e12 = []byte{
+	// 920 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x55, 0x4f, 0x6f, 0xe3, 0x44,
+	0x14, 0xc7, 0x4e, 0xbb, 0xab, 0xbe, 0xa6, 0x5d, 0xef, 0x6c, 0xe9, 0xba, 0xa5, 0xdd, 0xa6, 0xed,
+	0xae, 0x14, 0x22, 0x94, 0xb0, 0x29, 0x7f, 0x0e, 0x9c, 0x9c, 0x78, 0x9a, 0x58, 0x24, 0x4e, 0xb0,
+	0x93, 0x74, 0x81, 0xc3, 0x68, 0x6a, 0x4f, 0x1c, 0x0b, 0xc7, 0x63, 0x62, 0x27, 0x88, 0x95, 0xf8,
+	0x08, 0x88, 0xef, 0x80, 0x38, 0x71, 0xe0, 0x9b, 0xf0, 0x6d, 0x38, 0x20, 0x71, 0x41, 0x1e, 0xa7,
+	0xdb, 0x6c, 0x92, 0x25, 0x17, 0x6e, 0x33, 0xbf, 0xdf, 0xfc, 0xde, 0x7b, 0xf3, 0x7b, 0x6f, 0x34,
+	0x50, 0xf5, 0x38, 0xf7, 0x02, 0x56, 0x71, 0x02, 0x3e, 0x75, 0x2b, 0xae, 0x4f, 0x03, 0xee, 0x0d,
+	0x03, 0xfe, 0x43, 0x65, 0x56, 0xbd, 0x65, 0x09, 0x7d, 0x59, 0xa1, 0x53, 0xd7, 0xe7, 0xc4, 0xe1,
+	0xe1, 0xd0, 0xf7, 0xca, 0xd1, 0x84, 0x27, 0x1c, 0x9d, 0x65, 0x9a, 0xb2, 0xd0, 0x94, 0xef, 0x35,
+	0xe5, 0xb9, 0xe6, 0xf8, 0x64, 0x1e, 0x94, 0x46, 0x7e, 0x85, 0x86, 0x21, 0x4f, 0x68, 0xe2, 0xf3,
+	0x30, 0xce, 0xe4, 0x17, 0x7f, 0xca, 0xa0, 0x18, 0x61, 0x34, 0x4d, 0xb4, 0x34, 0x74, 0x5d, 0x44,
+	0x46, 0x7d, 0xd8, 0xcf, 0x32, 0xb1, 0xd0, 0xe1, 0xae, 0x1f, 0x7a, 0xaa, 0x54, 0x90, 0x8a, 0xfb,
+	0xd5, 0x72, 0x79, 0x43, 0xb2, 0xb2, 0x88, 0x82, 0xe7, 0x2a, 0x6b, 0x8f, 0x2e, 0x6e, 0x51, 0x09,
+	0x1e, 0xc7, 0x74, 0x1c, 0x05, 0x8c, 0x4c, 0x68, 0xc2, 0xc8, 0x88, 0x4d, 0x92, 0xd7, 0xaa, 0x5c,
+	0x90, 0x8a, 0xdb, 0xd6, 0xa3, 0x8c, 0xb0, 0x68, 0xc2, 0x9a, 0x29, 0x8c, 0x2e, 0x61, 0x2f, 0xa0,
+	0xa1, 0x37, 0xa5, 0x1e, 0x23, 0x0e, 0x77, 0x99, 0x9a, 0x2b, 0x48, 0xc5, 0x1d, 0x2b, 0x7f, 0x07,
+	0xd6, 0xb9, 0xcb, 0xd0, 0x39, 0xe4, 0xa3, 0xd1, 0x84, 0xc6, 0x8c, 0x8c, 0xfc, 0x30, 0x89, 0xd5,
+	0xad, 0x42, 0xae, 0xb8, 0x63, 0xed, 0x66, 0x58, 0x33, 0x85, 0xd0, 0x01, 0x6c, 0x8f, 0xb9, 0xcb,
+	0x02, 0xf5, 0xa1, 0xd0, 0x67, 0x1b, 0xf4, 0x0a, 0xf6, 0xc4, 0x82, 0xcc, 0xe8, 0xc4, 0xa7, 0x61,
+	0xa2, 0x82, 0xb8, 0xdf, 0xd5, 0xc6, 0xfb, 0xd9, 0x11, 0x63, 0xce, 0xa8, 0x9d, 0x6a, 0x07, 0x99,
+	0xd4, 0xca, 0x8f, 0x17, 0x76, 0x17, 0x3f, 0xc1, 0xc1, 0x80, 0xfb, 0x0e, 0xb3, 0x59, 0xc0, 0x9c,
+	0xd4, 0xe8, 0x2e, 0x9d, 0xd0, 0x71, 0x8c, 0x10, 0x6c, 0x85, 0x74, 0xcc, 0x84, 0x91, 0x3b, 0x96,
+	0x58, 0xa3, 0xaf, 0x60, 0x37, 0x8e, 0xc7, 0x01, 0xf1, 0x58, 0xe8, 0xb2, 0x89, 0x70, 0x62, 0xbf,
+	0xfa, 0xf1, 0xe6, 0x1a, 0xe2, 0x71, 0x20, 0x72, 0x34, 0x84, 0xce, 0x82, 0x34, 0x48, 0xb6, 0xbe,
+	0xf8, 0x4b, 0x82, 0x43, 0xfb, 0xc7, 0x30, 0x19, 0xb1, 0xd8, 0x7f, 0xcd, 0xb2, 0x6a, 0xe7, 0x4d,
+	0xbd, 0x84, 0xbd, 0x38, 0x62, 0xf4, 0x3b, 0x3f, 0xf4, 0x84, 0xff, 0xa2, 0x14, 0xc9, 0xca, 0xdf,
+	0x81, 0xa9, 0xf7, 0xa9, 0x5d, 0x91, 0x9f, 0x38, 0x23, 0x51, 0x8c, 0x64, 0x65, 0x1b, 0xf4, 0x1c,
+	0xf6, 0x67, 0x3c, 0x98, 0x8e, 0x19, 0xf1, 0xa8, 0x1f, 0x12, 0xf7, 0x56, 0x74, 0x43, 0xb2, 0xf2,
+	0x19, 0xda, 0xa0, 0x7e, 0xa8, 0xdf, 0xa2, 0x8f, 0x00, 0xb1, 0xe1, 0x90, 0x39, 0x49, 0x4c, 0xa2,
+	0x09, 0x1f, 0xfa, 0x01, 0x23, 0xbe, 0xab, 0x6e, 0x8b, 0x9e, 0x28, 0x73, 0xa6, 0x9b, 0x11, 0x86,
+	0x8b, 0xbe, 0x84, 0xed, 0x59, 0x7a, 0x09, 0x75, 0xab, 0x20, 0x15, 0x77, 0xab, 0x9f, 0x6e, 0xbc,
+	0xf6, 0x3a, 0x5b, 0xad, 0x2c, 0xc6, 0xc5, 0x2f, 0x32, 0x3c, 0xee, 0x4c, 0x93, 0xa5, 0x31, 0xfe,
+	0xf6, 0x1d, 0x63, 0xfc, 0xc9, 0xc6, 0x5c, 0x0b, 0xb1, 0xfe, 0x8f, 0x61, 0xfe, 0x1e, 0xd4, 0xf8,
+	0x4d, 0x53, 0x48, 0x2c, 0xba, 0x32, 0x7f, 0xc5, 0xc2, 0xc9, 0xdd, 0xea, 0xe7, 0x9b, 0xbb, 0xbe,
+	0xb6, 0xab, 0xd6, 0x61, 0xbc, 0x16, 0x2f, 0xfd, 0x23, 0xc1, 0xde, 0x5b, 0xf5, 0xa3, 0x67, 0x70,
+	0xac, 0xf5, 0x75, 0xa3, 0x43, 0xb0, 0x59, 0xef, 0xe8, 0x86, 0xd9, 0x20, 0x7d, 0xd3, 0xee, 0xe2,
+	0xba, 0x71, 0x6d, 0x60, 0x5d, 0x79, 0x0f, 0x9d, 0x80, 0xba, 0xc4, 0xb7, 0x0c, 0x13, 0x6b, 0x16,
+	0x79, 0xf9, 0x99, 0x22, 0xa1, 0xa7, 0xf0, 0x64, 0x89, 0xbd, 0x6e, 0x69, 0x75, 0x45, 0x46, 0x2a,
+	0x1c, 0x2c, 0x11, 0xed, 0x7e, 0x4b, 0xbb, 0x51, 0x72, 0xe8, 0x10, 0xd0, 0x12, 0xa3, 0xb5, 0x2d,
+	0x65, 0x0b, 0x1d, 0xc1, 0xfb, 0xab, 0x38, 0xb9, 0xa9, 0x29, 0xdb, 0xe8, 0x03, 0x78, 0xba, 0x44,
+	0x75, 0x1a, 0x0d, 0xd2, 0xe9, 0xf6, 0x6d, 0xe5, 0x01, 0xfa, 0x10, 0x5e, 0x2c, 0x91, 0x76, 0x17,
+	0xe3, 0x57, 0xe4, 0xc6, 0xe8, 0x35, 0x49, 0x13, 0x6b, 0x3a, 0xb6, 0x48, 0xed, 0xeb, 0x1e, 0x56,
+	0x1e, 0x96, 0x66, 0x80, 0x56, 0x5f, 0x2a, 0x7a, 0x0e, 0x85, 0x54, 0x51, 0x6f, 0x92, 0x76, 0x47,
+	0xc7, 0x2d, 0x32, 0xd0, 0x2c, 0x43, 0x33, 0x7b, 0x4b, 0x3e, 0x1c, 0x02, 0xea, 0xdb, 0x98, 0xd4,
+	0xb0, 0xdd, 0x23, 0xda, 0x40, 0x33, 0x5a, 0x5a, 0xad, 0x85, 0x15, 0x09, 0x29, 0x90, 0x4f, 0x71,
+	0xbb, 0xa7, 0x99, 0xba, 0x66, 0xe9, 0x8a, 0x7c, 0x87, 0x60, 0xb3, 0xa9, 0x99, 0x75, 0xac, 0x2b,
+	0xb9, 0xd2, 0xcf, 0x12, 0x3c, 0x5a, 0x7a, 0x9e, 0xe8, 0x1c, 0x4e, 0x6d, 0xbb, 0xdd, 0x22, 0x83,
+	0x8e, 0x51, 0xc7, 0xa4, 0x81, 0xcd, 0xb4, 0xce, 0xb7, 0x53, 0x1e, 0xc3, 0xe1, 0xea, 0x91, 0xb6,
+	0x26, 0xd2, 0x9e, 0x80, 0xba, 0xca, 0x5d, 0x63, 0xc1, 0xca, 0xe8, 0x14, 0x8e, 0x56, 0x59, 0x13,
+	0xf7, 0x7b, 0x96, 0xd6, 0x52, 0x72, 0xa5, 0xdf, 0x24, 0x78, 0xb2, 0x66, 0x96, 0xd1, 0x0b, 0x38,
+	0xef, 0xf4, 0x7b, 0xdd, 0x7e, 0x8f, 0xfc, 0xe7, 0x48, 0x5c, 0xc2, 0xd9, 0xfa, 0x63, 0x8b, 0x93,
+	0x71, 0x0a, 0x47, 0xeb, 0x0f, 0xb5, 0xbb, 0x57, 0x8a, 0x8c, 0x2e, 0xe0, 0xd9, 0x7a, 0xfa, 0x4d,
+	0x67, 0x73, 0xb5, 0x3f, 0x24, 0xb8, 0x74, 0xf8, 0x78, 0xd3, 0x1b, 0xa8, 0x29, 0x0b, 0xaf, 0xbb,
+	0x9b, 0x7e, 0x5f, 0x5d, 0xe9, 0x1b, 0x63, 0x2e, 0xf2, 0x78, 0xfa, 0x35, 0x94, 0xf9, 0xc4, 0xab,
+	0x78, 0x2c, 0x14, 0x9f, 0x5b, 0x25, 0xa3, 0x68, 0xe4, 0xc7, 0xef, 0xfc, 0x52, 0xbf, 0xb8, 0x87,
+	0xfe, 0x96, 0xa4, 0x5f, 0x65, 0x59, 0xbf, 0xfe, 0x5d, 0x3e, 0x6b, 0x64, 0x31, 0xeb, 0xa2, 0x10,
+	0xfd, 0xbe, 0x90, 0x41, 0x26, 0xba, 0x7d, 0x20, 0xe2, 0x5f, 0xfd, 0x1b, 0x00, 0x00, 0xff, 0xff,
+	0x21, 0x49, 0x7d, 0x05, 0xb1, 0x07, 0x00, 0x00,
 }
diff --git a/googleapis/cloud/securitycenter/v1/run_asset_discovery_response.pb.go b/googleapis/cloud/securitycenter/v1/run_asset_discovery_response.pb.go
new file mode 100644
index 0000000000000000000000000000000000000000..81322cc45f401dd796bde7a83bab4a23cf42dd11
--- /dev/null
+++ b/googleapis/cloud/securitycenter/v1/run_asset_discovery_response.pb.go
@@ -0,0 +1,143 @@
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// source: google/cloud/securitycenter/v1/run_asset_discovery_response.proto
+
+package securitycenter // import "google.golang.org/genproto/googleapis/cloud/securitycenter/v1"
+
+import proto "github.com/golang/protobuf/proto"
+import fmt "fmt"
+import math "math"
+import duration "github.com/golang/protobuf/ptypes/duration"
+import _ "github.com/golang/protobuf/ptypes/timestamp"
+import _ "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.ProtoPackageIsVersion2 // please upgrade the proto package
+
+// The state of an asset discovery run.
+type RunAssetDiscoveryResponse_State int32
+
+const (
+	// Asset discovery run state was unspecified.
+	RunAssetDiscoveryResponse_STATE_UNSPECIFIED RunAssetDiscoveryResponse_State = 0
+	// Asset discovery run completed successfully.
+	RunAssetDiscoveryResponse_COMPLETED RunAssetDiscoveryResponse_State = 1
+	// Asset discovery run was cancelled with tasks still pending, as another
+	// run for the same organization was started with a higher priority.
+	RunAssetDiscoveryResponse_SUPERSEDED RunAssetDiscoveryResponse_State = 2
+	// Asset discovery run was killed and terminated.
+	RunAssetDiscoveryResponse_TERMINATED RunAssetDiscoveryResponse_State = 3
+)
+
+var RunAssetDiscoveryResponse_State_name = map[int32]string{
+	0: "STATE_UNSPECIFIED",
+	1: "COMPLETED",
+	2: "SUPERSEDED",
+	3: "TERMINATED",
+}
+var RunAssetDiscoveryResponse_State_value = map[string]int32{
+	"STATE_UNSPECIFIED": 0,
+	"COMPLETED":         1,
+	"SUPERSEDED":        2,
+	"TERMINATED":        3,
+}
+
+func (x RunAssetDiscoveryResponse_State) String() string {
+	return proto.EnumName(RunAssetDiscoveryResponse_State_name, int32(x))
+}
+func (RunAssetDiscoveryResponse_State) EnumDescriptor() ([]byte, []int) {
+	return fileDescriptor_run_asset_discovery_response_4d32921e360a7834, []int{0, 0}
+}
+
+// Response of asset discovery run
+type RunAssetDiscoveryResponse struct {
+	// The state of an asset discovery run.
+	State RunAssetDiscoveryResponse_State `protobuf:"varint,1,opt,name=state,proto3,enum=google.cloud.securitycenter.v1.RunAssetDiscoveryResponse_State" json:"state,omitempty"`
+	// The duration between asset discovery run start and end
+	Duration             *duration.Duration `protobuf:"bytes,2,opt,name=duration,proto3" json:"duration,omitempty"`
+	XXX_NoUnkeyedLiteral struct{}           `json:"-"`
+	XXX_unrecognized     []byte             `json:"-"`
+	XXX_sizecache        int32              `json:"-"`
+}
+
+func (m *RunAssetDiscoveryResponse) Reset()         { *m = RunAssetDiscoveryResponse{} }
+func (m *RunAssetDiscoveryResponse) String() string { return proto.CompactTextString(m) }
+func (*RunAssetDiscoveryResponse) ProtoMessage()    {}
+func (*RunAssetDiscoveryResponse) Descriptor() ([]byte, []int) {
+	return fileDescriptor_run_asset_discovery_response_4d32921e360a7834, []int{0}
+}
+func (m *RunAssetDiscoveryResponse) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_RunAssetDiscoveryResponse.Unmarshal(m, b)
+}
+func (m *RunAssetDiscoveryResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_RunAssetDiscoveryResponse.Marshal(b, m, deterministic)
+}
+func (dst *RunAssetDiscoveryResponse) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_RunAssetDiscoveryResponse.Merge(dst, src)
+}
+func (m *RunAssetDiscoveryResponse) XXX_Size() int {
+	return xxx_messageInfo_RunAssetDiscoveryResponse.Size(m)
+}
+func (m *RunAssetDiscoveryResponse) XXX_DiscardUnknown() {
+	xxx_messageInfo_RunAssetDiscoveryResponse.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_RunAssetDiscoveryResponse proto.InternalMessageInfo
+
+func (m *RunAssetDiscoveryResponse) GetState() RunAssetDiscoveryResponse_State {
+	if m != nil {
+		return m.State
+	}
+	return RunAssetDiscoveryResponse_STATE_UNSPECIFIED
+}
+
+func (m *RunAssetDiscoveryResponse) GetDuration() *duration.Duration {
+	if m != nil {
+		return m.Duration
+	}
+	return nil
+}
+
+func init() {
+	proto.RegisterType((*RunAssetDiscoveryResponse)(nil), "google.cloud.securitycenter.v1.RunAssetDiscoveryResponse")
+	proto.RegisterEnum("google.cloud.securitycenter.v1.RunAssetDiscoveryResponse_State", RunAssetDiscoveryResponse_State_name, RunAssetDiscoveryResponse_State_value)
+}
+
+func init() {
+	proto.RegisterFile("google/cloud/securitycenter/v1/run_asset_discovery_response.proto", fileDescriptor_run_asset_discovery_response_4d32921e360a7834)
+}
+
+var fileDescriptor_run_asset_discovery_response_4d32921e360a7834 = []byte{
+	// 377 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x84, 0x92, 0xd1, 0xaa, 0xda, 0x30,
+	0x18, 0xc7, 0xd7, 0x0e, 0xc7, 0x96, 0x31, 0x71, 0x85, 0x81, 0xca, 0x70, 0xce, 0x2b, 0xaf, 0x12,
+	0xea, 0xd8, 0x4d, 0x77, 0x31, 0xba, 0x36, 0x1b, 0x82, 0xba, 0xd2, 0x56, 0x2f, 0x86, 0x50, 0x62,
+	0xcd, 0x4a, 0x41, 0x93, 0x92, 0xa4, 0x82, 0x8f, 0x76, 0x5e, 0xe1, 0x3c, 0xca, 0x79, 0x82, 0x73,
+	0x79, 0x68, 0xda, 0x1e, 0xf0, 0x80, 0xe7, 0x5c, 0x26, 0xff, 0xdf, 0xf7, 0xcb, 0xff, 0x83, 0x00,
+	0x37, 0xe3, 0x3c, 0x3b, 0x50, 0x94, 0x1e, 0x78, 0xb9, 0x47, 0x92, 0xa6, 0xa5, 0xc8, 0xd5, 0x39,
+	0xa5, 0x4c, 0x51, 0x81, 0x4e, 0x36, 0x12, 0x25, 0x4b, 0x88, 0x94, 0x54, 0x25, 0xfb, 0x5c, 0xa6,
+	0xfc, 0x44, 0xc5, 0x39, 0x11, 0x54, 0x16, 0x9c, 0x49, 0x0a, 0x0b, 0xc1, 0x15, 0xb7, 0x46, 0xb5,
+	0x02, 0x6a, 0x05, 0xbc, 0x54, 0xc0, 0x93, 0x3d, 0x6c, 0x72, 0xa4, 0xe9, 0x5d, 0xf9, 0x1f, 0xed,
+	0x4b, 0x41, 0x54, 0xce, 0x59, 0x3d, 0x3f, 0xfc, 0xf2, 0x34, 0x57, 0xf9, 0x91, 0x4a, 0x45, 0x8e,
+	0x45, 0x03, 0x7c, 0x6e, 0x00, 0x52, 0xe4, 0x88, 0x30, 0xc6, 0x95, 0x9e, 0x96, 0x75, 0x3a, 0xb9,
+	0x37, 0xc0, 0x20, 0x2c, 0x99, 0x5b, 0x95, 0xf4, 0xdb, 0x8e, 0x61, 0x53, 0xd1, 0x5a, 0x83, 0x8e,
+	0x54, 0x44, 0xd1, 0xbe, 0x31, 0x36, 0xa6, 0xdd, 0xd9, 0x4f, 0xf8, 0x7c, 0x59, 0x78, 0xd5, 0x04,
+	0xa3, 0x4a, 0x13, 0xd6, 0x36, 0xeb, 0x3b, 0x78, 0xdb, 0x6e, 0xd1, 0x37, 0xc7, 0xc6, 0xf4, 0xfd,
+	0x6c, 0xd0, 0x9a, 0xdb, 0x35, 0xa0, 0xdf, 0x00, 0xe1, 0x23, 0x3a, 0x59, 0x82, 0x8e, 0xd6, 0x58,
+	0x9f, 0xc0, 0xc7, 0x28, 0x76, 0x63, 0x9c, 0xac, 0x57, 0x51, 0x80, 0xbd, 0xf9, 0xef, 0x39, 0xf6,
+	0x7b, 0xaf, 0xac, 0x0f, 0xe0, 0x9d, 0xf7, 0x77, 0x19, 0x2c, 0x70, 0x8c, 0xfd, 0x9e, 0x61, 0x75,
+	0x01, 0x88, 0xd6, 0x01, 0x0e, 0x23, 0xec, 0x63, 0xbf, 0x67, 0x56, 0xe7, 0x18, 0x87, 0xcb, 0xf9,
+	0xca, 0xad, 0xf2, 0xd7, 0xbf, 0x6e, 0x0c, 0x30, 0x49, 0xf9, 0xf1, 0x85, 0x9d, 0x02, 0xe3, 0xdf,
+	0xa2, 0x21, 0x32, 0x7e, 0x20, 0x2c, 0x83, 0x5c, 0x64, 0x28, 0xa3, 0x4c, 0x37, 0x45, 0x75, 0x44,
+	0x8a, 0x5c, 0x5e, 0xfb, 0x04, 0x3f, 0x2e, 0x6f, 0x6e, 0xcd, 0xd1, 0x1f, 0x3d, 0xb3, 0xf5, 0x2a,
+	0x7e, 0x1b, 0x35, 0xa9, 0xa7, 0xd3, 0xed, 0xc6, 0xbe, 0x33, 0xbf, 0xd6, 0x80, 0xe3, 0x68, 0xc2,
+	0x71, 0x2e, 0x11, 0xc7, 0xd9, 0xd8, 0xbb, 0x37, 0xfa, 0xf5, 0x6f, 0x0f, 0x01, 0x00, 0x00, 0xff,
+	0xff, 0x2c, 0x18, 0x12, 0xe5, 0x81, 0x02, 0x00, 0x00,
+}
diff --git a/googleapis/cloud/securitycenter/v1/securitycenter_service.pb.go b/googleapis/cloud/securitycenter/v1/securitycenter_service.pb.go
index 8df78e8c654eb234ce0d324900188c6d6548a87a..864efaf8477948d0beaf9bdd42caee12560894e1 100644
--- a/googleapis/cloud/securitycenter/v1/securitycenter_service.pb.go
+++ b/googleapis/cloud/securitycenter/v1/securitycenter_service.pb.go
@@ -67,7 +67,7 @@ func (x ListAssetsResponse_ListAssetsResult_StateChange) String() string {
 	return proto.EnumName(ListAssetsResponse_ListAssetsResult_StateChange_name, int32(x))
 }
 func (ListAssetsResponse_ListAssetsResult_StateChange) EnumDescriptor() ([]byte, []int) {
-	return fileDescriptor_securitycenter_service_0f81407570caddda, []int{12, 0, 0}
+	return fileDescriptor_securitycenter_service_2e8a2f0740f1f361, []int{12, 0, 0}
 }
 
 // The change in state of the finding.
@@ -115,7 +115,7 @@ func (x ListFindingsResponse_ListFindingsResult_StateChange) String() string {
 	return proto.EnumName(ListFindingsResponse_ListFindingsResult_StateChange_name, int32(x))
 }
 func (ListFindingsResponse_ListFindingsResult_StateChange) EnumDescriptor() ([]byte, []int) {
-	return fileDescriptor_securitycenter_service_0f81407570caddda, []int{14, 0, 0}
+	return fileDescriptor_securitycenter_service_2e8a2f0740f1f361, []int{14, 0, 0}
 }
 
 // Request message for creating a finding.
@@ -139,7 +139,7 @@ func (m *CreateFindingRequest) Reset()         { *m = CreateFindingRequest{} }
 func (m *CreateFindingRequest) String() string { return proto.CompactTextString(m) }
 func (*CreateFindingRequest) ProtoMessage()    {}
 func (*CreateFindingRequest) Descriptor() ([]byte, []int) {
-	return fileDescriptor_securitycenter_service_0f81407570caddda, []int{0}
+	return fileDescriptor_securitycenter_service_2e8a2f0740f1f361, []int{0}
 }
 func (m *CreateFindingRequest) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_CreateFindingRequest.Unmarshal(m, b)
@@ -197,7 +197,7 @@ func (m *CreateSourceRequest) Reset()         { *m = CreateSourceRequest{} }
 func (m *CreateSourceRequest) String() string { return proto.CompactTextString(m) }
 func (*CreateSourceRequest) ProtoMessage()    {}
 func (*CreateSourceRequest) Descriptor() ([]byte, []int) {
-	return fileDescriptor_securitycenter_service_0f81407570caddda, []int{1}
+	return fileDescriptor_securitycenter_service_2e8a2f0740f1f361, []int{1}
 }
 func (m *CreateSourceRequest) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_CreateSourceRequest.Unmarshal(m, b)
@@ -245,7 +245,7 @@ func (m *GetOrganizationSettingsRequest) Reset()         { *m = GetOrganizationS
 func (m *GetOrganizationSettingsRequest) String() string { return proto.CompactTextString(m) }
 func (*GetOrganizationSettingsRequest) ProtoMessage()    {}
 func (*GetOrganizationSettingsRequest) Descriptor() ([]byte, []int) {
-	return fileDescriptor_securitycenter_service_0f81407570caddda, []int{2}
+	return fileDescriptor_securitycenter_service_2e8a2f0740f1f361, []int{2}
 }
 func (m *GetOrganizationSettingsRequest) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_GetOrganizationSettingsRequest.Unmarshal(m, b)
@@ -286,7 +286,7 @@ func (m *GetSourceRequest) Reset()         { *m = GetSourceRequest{} }
 func (m *GetSourceRequest) String() string { return proto.CompactTextString(m) }
 func (*GetSourceRequest) ProtoMessage()    {}
 func (*GetSourceRequest) Descriptor() ([]byte, []int) {
-	return fileDescriptor_securitycenter_service_0f81407570caddda, []int{3}
+	return fileDescriptor_securitycenter_service_2e8a2f0740f1f361, []int{3}
 }
 func (m *GetSourceRequest) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_GetSourceRequest.Unmarshal(m, b)
@@ -345,10 +345,11 @@ type GroupAssetsRequest struct {
 	// * boolean literals `true` and `false` without quotes.
 	//
 	// The following field and operator combinations are supported:
-	// name | `=`
-	// update_time | `>`, `<`, `>=`, `<=`
+	// name | '='
+	// update_time | '>', '<', '>=', '<=', '='
+	// create_time | '>', '<', '>=', '<=', '='
 	// iam_policy.policy_blob | '=', ':'
-	// resource_properties | '=', ':', `>`, `<`, `>=`, `<=`
+	// resource_properties | '=', ':', '>', '<', '>=', '<='
 	// security_marks | '=', ':'
 	// security_center_properties.resource_name | '=', ':'
 	// security_center_properties.resource_type | '=', ':'
@@ -422,7 +423,7 @@ func (m *GroupAssetsRequest) Reset()         { *m = GroupAssetsRequest{} }
 func (m *GroupAssetsRequest) String() string { return proto.CompactTextString(m) }
 func (*GroupAssetsRequest) ProtoMessage()    {}
 func (*GroupAssetsRequest) Descriptor() ([]byte, []int) {
-	return fileDescriptor_securitycenter_service_0f81407570caddda, []int{4}
+	return fileDescriptor_securitycenter_service_2e8a2f0740f1f361, []int{4}
 }
 func (m *GroupAssetsRequest) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_GroupAssetsRequest.Unmarshal(m, b)
@@ -513,7 +514,7 @@ func (m *GroupAssetsResponse) Reset()         { *m = GroupAssetsResponse{} }
 func (m *GroupAssetsResponse) String() string { return proto.CompactTextString(m) }
 func (*GroupAssetsResponse) ProtoMessage()    {}
 func (*GroupAssetsResponse) Descriptor() ([]byte, []int) {
-	return fileDescriptor_securitycenter_service_0f81407570caddda, []int{5}
+	return fileDescriptor_securitycenter_service_2e8a2f0740f1f361, []int{5}
 }
 func (m *GroupAssetsResponse) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_GroupAssetsResponse.Unmarshal(m, b)
@@ -668,7 +669,7 @@ func (m *GroupFindingsRequest) Reset()         { *m = GroupFindingsRequest{} }
 func (m *GroupFindingsRequest) String() string { return proto.CompactTextString(m) }
 func (*GroupFindingsRequest) ProtoMessage()    {}
 func (*GroupFindingsRequest) Descriptor() ([]byte, []int) {
-	return fileDescriptor_securitycenter_service_0f81407570caddda, []int{6}
+	return fileDescriptor_securitycenter_service_2e8a2f0740f1f361, []int{6}
 }
 func (m *GroupFindingsRequest) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_GroupFindingsRequest.Unmarshal(m, b)
@@ -759,7 +760,7 @@ func (m *GroupFindingsResponse) Reset()         { *m = GroupFindingsResponse{} }
 func (m *GroupFindingsResponse) String() string { return proto.CompactTextString(m) }
 func (*GroupFindingsResponse) ProtoMessage()    {}
 func (*GroupFindingsResponse) Descriptor() ([]byte, []int) {
-	return fileDescriptor_securitycenter_service_0f81407570caddda, []int{7}
+	return fileDescriptor_securitycenter_service_2e8a2f0740f1f361, []int{7}
 }
 func (m *GroupFindingsResponse) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_GroupFindingsResponse.Unmarshal(m, b)
@@ -822,7 +823,7 @@ func (m *GroupResult) Reset()         { *m = GroupResult{} }
 func (m *GroupResult) String() string { return proto.CompactTextString(m) }
 func (*GroupResult) ProtoMessage()    {}
 func (*GroupResult) Descriptor() ([]byte, []int) {
-	return fileDescriptor_securitycenter_service_0f81407570caddda, []int{8}
+	return fileDescriptor_securitycenter_service_2e8a2f0740f1f361, []int{8}
 }
 func (m *GroupResult) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_GroupResult.Unmarshal(m, b)
@@ -877,7 +878,7 @@ func (m *ListSourcesRequest) Reset()         { *m = ListSourcesRequest{} }
 func (m *ListSourcesRequest) String() string { return proto.CompactTextString(m) }
 func (*ListSourcesRequest) ProtoMessage()    {}
 func (*ListSourcesRequest) Descriptor() ([]byte, []int) {
-	return fileDescriptor_securitycenter_service_0f81407570caddda, []int{9}
+	return fileDescriptor_securitycenter_service_2e8a2f0740f1f361, []int{9}
 }
 func (m *ListSourcesRequest) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_ListSourcesRequest.Unmarshal(m, b)
@@ -934,7 +935,7 @@ func (m *ListSourcesResponse) Reset()         { *m = ListSourcesResponse{} }
 func (m *ListSourcesResponse) String() string { return proto.CompactTextString(m) }
 func (*ListSourcesResponse) ProtoMessage()    {}
 func (*ListSourcesResponse) Descriptor() ([]byte, []int) {
-	return fileDescriptor_securitycenter_service_0f81407570caddda, []int{10}
+	return fileDescriptor_securitycenter_service_2e8a2f0740f1f361, []int{10}
 }
 func (m *ListSourcesResponse) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_ListSourcesResponse.Unmarshal(m, b)
@@ -1084,7 +1085,7 @@ func (m *ListAssetsRequest) Reset()         { *m = ListAssetsRequest{} }
 func (m *ListAssetsRequest) String() string { return proto.CompactTextString(m) }
 func (*ListAssetsRequest) ProtoMessage()    {}
 func (*ListAssetsRequest) Descriptor() ([]byte, []int) {
-	return fileDescriptor_securitycenter_service_0f81407570caddda, []int{11}
+	return fileDescriptor_securitycenter_service_2e8a2f0740f1f361, []int{11}
 }
 func (m *ListAssetsRequest) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_ListAssetsRequest.Unmarshal(m, b)
@@ -1180,7 +1181,7 @@ func (m *ListAssetsResponse) Reset()         { *m = ListAssetsResponse{} }
 func (m *ListAssetsResponse) String() string { return proto.CompactTextString(m) }
 func (*ListAssetsResponse) ProtoMessage()    {}
 func (*ListAssetsResponse) Descriptor() ([]byte, []int) {
-	return fileDescriptor_securitycenter_service_0f81407570caddda, []int{12}
+	return fileDescriptor_securitycenter_service_2e8a2f0740f1f361, []int{12}
 }
 func (m *ListAssetsResponse) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_ListAssetsResponse.Unmarshal(m, b)
@@ -1243,7 +1244,7 @@ func (m *ListAssetsResponse_ListAssetsResult) Reset()         { *m = ListAssetsR
 func (m *ListAssetsResponse_ListAssetsResult) String() string { return proto.CompactTextString(m) }
 func (*ListAssetsResponse_ListAssetsResult) ProtoMessage()    {}
 func (*ListAssetsResponse_ListAssetsResult) Descriptor() ([]byte, []int) {
-	return fileDescriptor_securitycenter_service_0f81407570caddda, []int{12, 0}
+	return fileDescriptor_securitycenter_service_2e8a2f0740f1f361, []int{12, 0}
 }
 func (m *ListAssetsResponse_ListAssetsResult) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_ListAssetsResponse_ListAssetsResult.Unmarshal(m, b)
@@ -1391,7 +1392,7 @@ func (m *ListFindingsRequest) Reset()         { *m = ListFindingsRequest{} }
 func (m *ListFindingsRequest) String() string { return proto.CompactTextString(m) }
 func (*ListFindingsRequest) ProtoMessage()    {}
 func (*ListFindingsRequest) Descriptor() ([]byte, []int) {
-	return fileDescriptor_securitycenter_service_0f81407570caddda, []int{13}
+	return fileDescriptor_securitycenter_service_2e8a2f0740f1f361, []int{13}
 }
 func (m *ListFindingsRequest) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_ListFindingsRequest.Unmarshal(m, b)
@@ -1487,7 +1488,7 @@ func (m *ListFindingsResponse) Reset()         { *m = ListFindingsResponse{} }
 func (m *ListFindingsResponse) String() string { return proto.CompactTextString(m) }
 func (*ListFindingsResponse) ProtoMessage()    {}
 func (*ListFindingsResponse) Descriptor() ([]byte, []int) {
-	return fileDescriptor_securitycenter_service_0f81407570caddda, []int{14}
+	return fileDescriptor_securitycenter_service_2e8a2f0740f1f361, []int{14}
 }
 func (m *ListFindingsResponse) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_ListFindingsResponse.Unmarshal(m, b)
@@ -1552,7 +1553,7 @@ func (m *ListFindingsResponse_ListFindingsResult) Reset() {
 func (m *ListFindingsResponse_ListFindingsResult) String() string { return proto.CompactTextString(m) }
 func (*ListFindingsResponse_ListFindingsResult) ProtoMessage()    {}
 func (*ListFindingsResponse_ListFindingsResult) Descriptor() ([]byte, []int) {
-	return fileDescriptor_securitycenter_service_0f81407570caddda, []int{14, 0}
+	return fileDescriptor_securitycenter_service_2e8a2f0740f1f361, []int{14, 0}
 }
 func (m *ListFindingsResponse_ListFindingsResult) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_ListFindingsResponse_ListFindingsResult.Unmarshal(m, b)
@@ -1606,7 +1607,7 @@ func (m *SetFindingStateRequest) Reset()         { *m = SetFindingStateRequest{}
 func (m *SetFindingStateRequest) String() string { return proto.CompactTextString(m) }
 func (*SetFindingStateRequest) ProtoMessage()    {}
 func (*SetFindingStateRequest) Descriptor() ([]byte, []int) {
-	return fileDescriptor_securitycenter_service_0f81407570caddda, []int{15}
+	return fileDescriptor_securitycenter_service_2e8a2f0740f1f361, []int{15}
 }
 func (m *SetFindingStateRequest) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_SetFindingStateRequest.Unmarshal(m, b)
@@ -1661,7 +1662,7 @@ func (m *RunAssetDiscoveryRequest) Reset()         { *m = RunAssetDiscoveryReque
 func (m *RunAssetDiscoveryRequest) String() string { return proto.CompactTextString(m) }
 func (*RunAssetDiscoveryRequest) ProtoMessage()    {}
 func (*RunAssetDiscoveryRequest) Descriptor() ([]byte, []int) {
-	return fileDescriptor_securitycenter_service_0f81407570caddda, []int{16}
+	return fileDescriptor_securitycenter_service_2e8a2f0740f1f361, []int{16}
 }
 func (m *RunAssetDiscoveryRequest) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_RunAssetDiscoveryRequest.Unmarshal(m, b)
@@ -1714,7 +1715,7 @@ func (m *UpdateFindingRequest) Reset()         { *m = UpdateFindingRequest{} }
 func (m *UpdateFindingRequest) String() string { return proto.CompactTextString(m) }
 func (*UpdateFindingRequest) ProtoMessage()    {}
 func (*UpdateFindingRequest) Descriptor() ([]byte, []int) {
-	return fileDescriptor_securitycenter_service_0f81407570caddda, []int{17}
+	return fileDescriptor_securitycenter_service_2e8a2f0740f1f361, []int{17}
 }
 func (m *UpdateFindingRequest) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_UpdateFindingRequest.Unmarshal(m, b)
@@ -1765,7 +1766,7 @@ func (m *UpdateOrganizationSettingsRequest) Reset()         { *m = UpdateOrganiz
 func (m *UpdateOrganizationSettingsRequest) String() string { return proto.CompactTextString(m) }
 func (*UpdateOrganizationSettingsRequest) ProtoMessage()    {}
 func (*UpdateOrganizationSettingsRequest) Descriptor() ([]byte, []int) {
-	return fileDescriptor_securitycenter_service_0f81407570caddda, []int{18}
+	return fileDescriptor_securitycenter_service_2e8a2f0740f1f361, []int{18}
 }
 func (m *UpdateOrganizationSettingsRequest) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_UpdateOrganizationSettingsRequest.Unmarshal(m, b)
@@ -1816,7 +1817,7 @@ func (m *UpdateSourceRequest) Reset()         { *m = UpdateSourceRequest{} }
 func (m *UpdateSourceRequest) String() string { return proto.CompactTextString(m) }
 func (*UpdateSourceRequest) ProtoMessage()    {}
 func (*UpdateSourceRequest) Descriptor() ([]byte, []int) {
-	return fileDescriptor_securitycenter_service_0f81407570caddda, []int{19}
+	return fileDescriptor_securitycenter_service_2e8a2f0740f1f361, []int{19}
 }
 func (m *UpdateSourceRequest) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_UpdateSourceRequest.Unmarshal(m, b)
@@ -1873,7 +1874,7 @@ func (m *UpdateSecurityMarksRequest) Reset()         { *m = UpdateSecurityMarksR
 func (m *UpdateSecurityMarksRequest) String() string { return proto.CompactTextString(m) }
 func (*UpdateSecurityMarksRequest) ProtoMessage()    {}
 func (*UpdateSecurityMarksRequest) Descriptor() ([]byte, []int) {
-	return fileDescriptor_securitycenter_service_0f81407570caddda, []int{20}
+	return fileDescriptor_securitycenter_service_2e8a2f0740f1f361, []int{20}
 }
 func (m *UpdateSecurityMarksRequest) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_UpdateSecurityMarksRequest.Unmarshal(m, b)
@@ -2643,10 +2644,10 @@ var _SecurityCenter_serviceDesc = grpc.ServiceDesc{
 }
 
 func init() {
-	proto.RegisterFile("google/cloud/securitycenter/v1/securitycenter_service.proto", fileDescriptor_securitycenter_service_0f81407570caddda)
+	proto.RegisterFile("google/cloud/securitycenter/v1/securitycenter_service.proto", fileDescriptor_securitycenter_service_2e8a2f0740f1f361)
 }
 
-var fileDescriptor_securitycenter_service_0f81407570caddda = []byte{
+var fileDescriptor_securitycenter_service_2e8a2f0740f1f361 = []byte{
 	// 1987 bytes of a gzipped FileDescriptorProto
 	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x5a, 0xcd, 0x6f, 0x1b, 0xc7,
 	0x15, 0xef, 0xac, 0x3e, 0xf9, 0x68, 0xd9, 0xf4, 0x48, 0x76, 0x99, 0x4d, 0xec, 0x2a, 0x9b, 0xc4,
diff --git a/googleapis/cloud/vision/v1/geometry.pb.go b/googleapis/cloud/vision/v1/geometry.pb.go
index 8ea3ffa8a71f75c9074a758b59251b90b3852a16..1a92c48126d29c4f6a0b5137ce6928a75251f999 100644
--- a/googleapis/cloud/vision/v1/geometry.pb.go
+++ b/googleapis/cloud/vision/v1/geometry.pb.go
@@ -35,7 +35,7 @@ func (m *Vertex) Reset()         { *m = Vertex{} }
 func (m *Vertex) String() string { return proto.CompactTextString(m) }
 func (*Vertex) ProtoMessage()    {}
 func (*Vertex) Descriptor() ([]byte, []int) {
-	return fileDescriptor_geometry_1da1bb7d36959d6f, []int{0}
+	return fileDescriptor_geometry_e9c35a9b48a44a87, []int{0}
 }
 func (m *Vertex) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_Vertex.Unmarshal(m, b)
@@ -86,7 +86,7 @@ func (m *NormalizedVertex) Reset()         { *m = NormalizedVertex{} }
 func (m *NormalizedVertex) String() string { return proto.CompactTextString(m) }
 func (*NormalizedVertex) ProtoMessage()    {}
 func (*NormalizedVertex) Descriptor() ([]byte, []int) {
-	return fileDescriptor_geometry_1da1bb7d36959d6f, []int{1}
+	return fileDescriptor_geometry_e9c35a9b48a44a87, []int{1}
 }
 func (m *NormalizedVertex) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_NormalizedVertex.Unmarshal(m, b)
@@ -135,7 +135,7 @@ func (m *BoundingPoly) Reset()         { *m = BoundingPoly{} }
 func (m *BoundingPoly) String() string { return proto.CompactTextString(m) }
 func (*BoundingPoly) ProtoMessage()    {}
 func (*BoundingPoly) Descriptor() ([]byte, []int) {
-	return fileDescriptor_geometry_1da1bb7d36959d6f, []int{2}
+	return fileDescriptor_geometry_e9c35a9b48a44a87, []int{2}
 }
 func (m *BoundingPoly) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_BoundingPoly.Unmarshal(m, b)
@@ -188,7 +188,7 @@ func (m *Position) Reset()         { *m = Position{} }
 func (m *Position) String() string { return proto.CompactTextString(m) }
 func (*Position) ProtoMessage()    {}
 func (*Position) Descriptor() ([]byte, []int) {
-	return fileDescriptor_geometry_1da1bb7d36959d6f, []int{3}
+	return fileDescriptor_geometry_e9c35a9b48a44a87, []int{3}
 }
 func (m *Position) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_Position.Unmarshal(m, b)
@@ -237,10 +237,10 @@ func init() {
 }
 
 func init() {
-	proto.RegisterFile("google/cloud/vision/v1/geometry.proto", fileDescriptor_geometry_1da1bb7d36959d6f)
+	proto.RegisterFile("google/cloud/vision/v1/geometry.proto", fileDescriptor_geometry_e9c35a9b48a44a87)
 }
 
-var fileDescriptor_geometry_1da1bb7d36959d6f = []byte{
+var fileDescriptor_geometry_e9c35a9b48a44a87 = []byte{
 	// 300 bytes of a gzipped FileDescriptorProto
 	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x7c, 0x91, 0xc1, 0x4b, 0xc3, 0x30,
 	0x14, 0xc6, 0x49, 0xa7, 0x63, 0xc4, 0x09, 0x52, 0x41, 0xca, 0x10, 0x19, 0x43, 0xa1, 0xa7, 0x84,
diff --git a/googleapis/cloud/vision/v1/image_annotator.pb.go b/googleapis/cloud/vision/v1/image_annotator.pb.go
index f406eea4e59aa222816ebe59133a22de94452a25..57624c1fa0f776bd44507ceea62ed343c38f199a 100644
--- a/googleapis/cloud/vision/v1/image_annotator.pb.go
+++ b/googleapis/cloud/vision/v1/image_annotator.pb.go
@@ -70,7 +70,7 @@ func (x Likelihood) String() string {
 	return proto.EnumName(Likelihood_name, int32(x))
 }
 func (Likelihood) EnumDescriptor() ([]byte, []int) {
-	return fileDescriptor_image_annotator_70def9df53d0326d, []int{0}
+	return fileDescriptor_image_annotator_6cd7110f88ccf60d, []int{0}
 }
 
 // Type of Google Cloud Vision API feature to be extracted.
@@ -145,7 +145,7 @@ func (x Feature_Type) String() string {
 	return proto.EnumName(Feature_Type_name, int32(x))
 }
 func (Feature_Type) EnumDescriptor() ([]byte, []int) {
-	return fileDescriptor_image_annotator_70def9df53d0326d, []int{0, 0}
+	return fileDescriptor_image_annotator_6cd7110f88ccf60d, []int{0, 0}
 }
 
 // Face landmark (feature) type.
@@ -306,7 +306,7 @@ func (x FaceAnnotation_Landmark_Type) String() string {
 	return proto.EnumName(FaceAnnotation_Landmark_Type_name, int32(x))
 }
 func (FaceAnnotation_Landmark_Type) EnumDescriptor() ([]byte, []int) {
-	return fileDescriptor_image_annotator_70def9df53d0326d, []int{3, 0, 0}
+	return fileDescriptor_image_annotator_6cd7110f88ccf60d, []int{3, 0, 0}
 }
 
 // Batch operation states.
@@ -344,7 +344,7 @@ func (x OperationMetadata_State) String() string {
 	return proto.EnumName(OperationMetadata_State_name, int32(x))
 }
 func (OperationMetadata_State) EnumDescriptor() ([]byte, []int) {
-	return fileDescriptor_image_annotator_70def9df53d0326d, []int{32, 0}
+	return fileDescriptor_image_annotator_6cd7110f88ccf60d, []int{37, 0}
 }
 
 // The type of Google Cloud Vision API detection to perform, and the maximum
@@ -369,7 +369,7 @@ func (m *Feature) Reset()         { *m = Feature{} }
 func (m *Feature) String() string { return proto.CompactTextString(m) }
 func (*Feature) ProtoMessage()    {}
 func (*Feature) Descriptor() ([]byte, []int) {
-	return fileDescriptor_image_annotator_70def9df53d0326d, []int{0}
+	return fileDescriptor_image_annotator_6cd7110f88ccf60d, []int{0}
 }
 func (m *Feature) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_Feature.Unmarshal(m, b)
@@ -446,7 +446,7 @@ func (m *ImageSource) Reset()         { *m = ImageSource{} }
 func (m *ImageSource) String() string { return proto.CompactTextString(m) }
 func (*ImageSource) ProtoMessage()    {}
 func (*ImageSource) Descriptor() ([]byte, []int) {
-	return fileDescriptor_image_annotator_70def9df53d0326d, []int{1}
+	return fileDescriptor_image_annotator_6cd7110f88ccf60d, []int{1}
 }
 func (m *ImageSource) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_ImageSource.Unmarshal(m, b)
@@ -499,7 +499,7 @@ func (m *Image) Reset()         { *m = Image{} }
 func (m *Image) String() string { return proto.CompactTextString(m) }
 func (*Image) ProtoMessage()    {}
 func (*Image) Descriptor() ([]byte, []int) {
-	return fileDescriptor_image_annotator_70def9df53d0326d, []int{2}
+	return fileDescriptor_image_annotator_6cd7110f88ccf60d, []int{2}
 }
 func (m *Image) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_Image.Unmarshal(m, b)
@@ -536,7 +536,7 @@ func (m *Image) GetSource() *ImageSource {
 // A face annotation object contains the results of face detection.
 type FaceAnnotation struct {
 	// The bounding polygon around the face. The coordinates of the bounding box
-	// are in the original image's scale, as returned in `ImageParams`.
+	// are in the original image's scale.
 	// The bounding box is computed to "frame" the face in accordance with human
 	// expectations. It is based on the landmarker results.
 	// Note that one or more x and/or y coordinates may not be generated in the
@@ -590,7 +590,7 @@ func (m *FaceAnnotation) Reset()         { *m = FaceAnnotation{} }
 func (m *FaceAnnotation) String() string { return proto.CompactTextString(m) }
 func (*FaceAnnotation) ProtoMessage()    {}
 func (*FaceAnnotation) Descriptor() ([]byte, []int) {
-	return fileDescriptor_image_annotator_70def9df53d0326d, []int{3}
+	return fileDescriptor_image_annotator_6cd7110f88ccf60d, []int{3}
 }
 func (m *FaceAnnotation) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_FaceAnnotation.Unmarshal(m, b)
@@ -730,7 +730,7 @@ func (m *FaceAnnotation_Landmark) Reset()         { *m = FaceAnnotation_Landmark
 func (m *FaceAnnotation_Landmark) String() string { return proto.CompactTextString(m) }
 func (*FaceAnnotation_Landmark) ProtoMessage()    {}
 func (*FaceAnnotation_Landmark) Descriptor() ([]byte, []int) {
-	return fileDescriptor_image_annotator_70def9df53d0326d, []int{3, 0}
+	return fileDescriptor_image_annotator_6cd7110f88ccf60d, []int{3, 0}
 }
 func (m *FaceAnnotation_Landmark) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_FaceAnnotation_Landmark.Unmarshal(m, b)
@@ -777,7 +777,7 @@ func (m *LocationInfo) Reset()         { *m = LocationInfo{} }
 func (m *LocationInfo) String() string { return proto.CompactTextString(m) }
 func (*LocationInfo) ProtoMessage()    {}
 func (*LocationInfo) Descriptor() ([]byte, []int) {
-	return fileDescriptor_image_annotator_70def9df53d0326d, []int{4}
+	return fileDescriptor_image_annotator_6cd7110f88ccf60d, []int{4}
 }
 func (m *LocationInfo) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_LocationInfo.Unmarshal(m, b)
@@ -821,7 +821,7 @@ func (m *Property) Reset()         { *m = Property{} }
 func (m *Property) String() string { return proto.CompactTextString(m) }
 func (*Property) ProtoMessage()    {}
 func (*Property) Descriptor() ([]byte, []int) {
-	return fileDescriptor_image_annotator_70def9df53d0326d, []int{5}
+	return fileDescriptor_image_annotator_6cd7110f88ccf60d, []int{5}
 }
 func (m *Property) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_Property.Unmarshal(m, b)
@@ -908,7 +908,7 @@ func (m *EntityAnnotation) Reset()         { *m = EntityAnnotation{} }
 func (m *EntityAnnotation) String() string { return proto.CompactTextString(m) }
 func (*EntityAnnotation) ProtoMessage()    {}
 func (*EntityAnnotation) Descriptor() ([]byte, []int) {
-	return fileDescriptor_image_annotator_70def9df53d0326d, []int{6}
+	return fileDescriptor_image_annotator_6cd7110f88ccf60d, []int{6}
 }
 func (m *EntityAnnotation) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_EntityAnnotation.Unmarshal(m, b)
@@ -1015,7 +1015,7 @@ func (m *LocalizedObjectAnnotation) Reset()         { *m = LocalizedObjectAnnota
 func (m *LocalizedObjectAnnotation) String() string { return proto.CompactTextString(m) }
 func (*LocalizedObjectAnnotation) ProtoMessage()    {}
 func (*LocalizedObjectAnnotation) Descriptor() ([]byte, []int) {
-	return fileDescriptor_image_annotator_70def9df53d0326d, []int{7}
+	return fileDescriptor_image_annotator_6cd7110f88ccf60d, []int{7}
 }
 func (m *LocalizedObjectAnnotation) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_LocalizedObjectAnnotation.Unmarshal(m, b)
@@ -1100,7 +1100,7 @@ func (m *SafeSearchAnnotation) Reset()         { *m = SafeSearchAnnotation{} }
 func (m *SafeSearchAnnotation) String() string { return proto.CompactTextString(m) }
 func (*SafeSearchAnnotation) ProtoMessage()    {}
 func (*SafeSearchAnnotation) Descriptor() ([]byte, []int) {
-	return fileDescriptor_image_annotator_70def9df53d0326d, []int{8}
+	return fileDescriptor_image_annotator_6cd7110f88ccf60d, []int{8}
 }
 func (m *SafeSearchAnnotation) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_SafeSearchAnnotation.Unmarshal(m, b)
@@ -1170,7 +1170,7 @@ func (m *LatLongRect) Reset()         { *m = LatLongRect{} }
 func (m *LatLongRect) String() string { return proto.CompactTextString(m) }
 func (*LatLongRect) ProtoMessage()    {}
 func (*LatLongRect) Descriptor() ([]byte, []int) {
-	return fileDescriptor_image_annotator_70def9df53d0326d, []int{9}
+	return fileDescriptor_image_annotator_6cd7110f88ccf60d, []int{9}
 }
 func (m *LatLongRect) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_LatLongRect.Unmarshal(m, b)
@@ -1223,7 +1223,7 @@ func (m *ColorInfo) Reset()         { *m = ColorInfo{} }
 func (m *ColorInfo) String() string { return proto.CompactTextString(m) }
 func (*ColorInfo) ProtoMessage()    {}
 func (*ColorInfo) Descriptor() ([]byte, []int) {
-	return fileDescriptor_image_annotator_70def9df53d0326d, []int{10}
+	return fileDescriptor_image_annotator_6cd7110f88ccf60d, []int{10}
 }
 func (m *ColorInfo) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_ColorInfo.Unmarshal(m, b)
@@ -1277,7 +1277,7 @@ func (m *DominantColorsAnnotation) Reset()         { *m = DominantColorsAnnotati
 func (m *DominantColorsAnnotation) String() string { return proto.CompactTextString(m) }
 func (*DominantColorsAnnotation) ProtoMessage()    {}
 func (*DominantColorsAnnotation) Descriptor() ([]byte, []int) {
-	return fileDescriptor_image_annotator_70def9df53d0326d, []int{11}
+	return fileDescriptor_image_annotator_6cd7110f88ccf60d, []int{11}
 }
 func (m *DominantColorsAnnotation) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_DominantColorsAnnotation.Unmarshal(m, b)
@@ -1317,7 +1317,7 @@ func (m *ImageProperties) Reset()         { *m = ImageProperties{} }
 func (m *ImageProperties) String() string { return proto.CompactTextString(m) }
 func (*ImageProperties) ProtoMessage()    {}
 func (*ImageProperties) Descriptor() ([]byte, []int) {
-	return fileDescriptor_image_annotator_70def9df53d0326d, []int{12}
+	return fileDescriptor_image_annotator_6cd7110f88ccf60d, []int{12}
 }
 func (m *ImageProperties) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_ImageProperties.Unmarshal(m, b)
@@ -1347,7 +1347,7 @@ func (m *ImageProperties) GetDominantColors() *DominantColorsAnnotation {
 // Single crop hint that is used to generate a new crop when serving an image.
 type CropHint struct {
 	// The bounding polygon for the crop region. The coordinates of the bounding
-	// box are in the original image's scale, as returned in `ImageParams`.
+	// box are in the original image's scale.
 	BoundingPoly *BoundingPoly `protobuf:"bytes,1,opt,name=bounding_poly,json=boundingPoly,proto3" json:"bounding_poly,omitempty"`
 	// Confidence of this being a salient region.  Range [0, 1].
 	Confidence float32 `protobuf:"fixed32,2,opt,name=confidence,proto3" json:"confidence,omitempty"`
@@ -1363,7 +1363,7 @@ func (m *CropHint) Reset()         { *m = CropHint{} }
 func (m *CropHint) String() string { return proto.CompactTextString(m) }
 func (*CropHint) ProtoMessage()    {}
 func (*CropHint) Descriptor() ([]byte, []int) {
-	return fileDescriptor_image_annotator_70def9df53d0326d, []int{13}
+	return fileDescriptor_image_annotator_6cd7110f88ccf60d, []int{13}
 }
 func (m *CropHint) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_CropHint.Unmarshal(m, b)
@@ -1417,7 +1417,7 @@ func (m *CropHintsAnnotation) Reset()         { *m = CropHintsAnnotation{} }
 func (m *CropHintsAnnotation) String() string { return proto.CompactTextString(m) }
 func (*CropHintsAnnotation) ProtoMessage()    {}
 func (*CropHintsAnnotation) Descriptor() ([]byte, []int) {
-	return fileDescriptor_image_annotator_70def9df53d0326d, []int{14}
+	return fileDescriptor_image_annotator_6cd7110f88ccf60d, []int{14}
 }
 func (m *CropHintsAnnotation) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_CropHintsAnnotation.Unmarshal(m, b)
@@ -1462,7 +1462,7 @@ func (m *CropHintsParams) Reset()         { *m = CropHintsParams{} }
 func (m *CropHintsParams) String() string { return proto.CompactTextString(m) }
 func (*CropHintsParams) ProtoMessage()    {}
 func (*CropHintsParams) Descriptor() ([]byte, []int) {
-	return fileDescriptor_image_annotator_70def9df53d0326d, []int{15}
+	return fileDescriptor_image_annotator_6cd7110f88ccf60d, []int{15}
 }
 func (m *CropHintsParams) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_CropHintsParams.Unmarshal(m, b)
@@ -1502,7 +1502,7 @@ func (m *WebDetectionParams) Reset()         { *m = WebDetectionParams{} }
 func (m *WebDetectionParams) String() string { return proto.CompactTextString(m) }
 func (*WebDetectionParams) ProtoMessage()    {}
 func (*WebDetectionParams) Descriptor() ([]byte, []int) {
-	return fileDescriptor_image_annotator_70def9df53d0326d, []int{16}
+	return fileDescriptor_image_annotator_6cd7110f88ccf60d, []int{16}
 }
 func (m *WebDetectionParams) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_WebDetectionParams.Unmarshal(m, b)
@@ -1557,7 +1557,7 @@ func (m *ImageContext) Reset()         { *m = ImageContext{} }
 func (m *ImageContext) String() string { return proto.CompactTextString(m) }
 func (*ImageContext) ProtoMessage()    {}
 func (*ImageContext) Descriptor() ([]byte, []int) {
-	return fileDescriptor_image_annotator_70def9df53d0326d, []int{17}
+	return fileDescriptor_image_annotator_6cd7110f88ccf60d, []int{17}
 }
 func (m *ImageContext) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_ImageContext.Unmarshal(m, b)
@@ -1613,7 +1613,7 @@ func (m *ImageContext) GetWebDetectionParams() *WebDetectionParams {
 }
 
 // Request for performing Google Cloud Vision API tasks over a user-provided
-// image, with user-requested features.
+// image, with user-requested features, and with context information.
 type AnnotateImageRequest struct {
 	// The image to be processed.
 	Image *Image `protobuf:"bytes,1,opt,name=image,proto3" json:"image,omitempty"`
@@ -1630,7 +1630,7 @@ func (m *AnnotateImageRequest) Reset()         { *m = AnnotateImageRequest{} }
 func (m *AnnotateImageRequest) String() string { return proto.CompactTextString(m) }
 func (*AnnotateImageRequest) ProtoMessage()    {}
 func (*AnnotateImageRequest) Descriptor() ([]byte, []int) {
-	return fileDescriptor_image_annotator_70def9df53d0326d, []int{18}
+	return fileDescriptor_image_annotator_6cd7110f88ccf60d, []int{18}
 }
 func (m *AnnotateImageRequest) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_AnnotateImageRequest.Unmarshal(m, b)
@@ -1688,7 +1688,7 @@ func (m *ImageAnnotationContext) Reset()         { *m = ImageAnnotationContext{}
 func (m *ImageAnnotationContext) String() string { return proto.CompactTextString(m) }
 func (*ImageAnnotationContext) ProtoMessage()    {}
 func (*ImageAnnotationContext) Descriptor() ([]byte, []int) {
-	return fileDescriptor_image_annotator_70def9df53d0326d, []int{19}
+	return fileDescriptor_image_annotator_6cd7110f88ccf60d, []int{19}
 }
 func (m *ImageAnnotationContext) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_ImageAnnotationContext.Unmarshal(m, b)
@@ -1768,7 +1768,7 @@ func (m *AnnotateImageResponse) Reset()         { *m = AnnotateImageResponse{} }
 func (m *AnnotateImageResponse) String() string { return proto.CompactTextString(m) }
 func (*AnnotateImageResponse) ProtoMessage()    {}
 func (*AnnotateImageResponse) Descriptor() ([]byte, []int) {
-	return fileDescriptor_image_annotator_70def9df53d0326d, []int{20}
+	return fileDescriptor_image_annotator_6cd7110f88ccf60d, []int{20}
 }
 func (m *AnnotateImageResponse) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_AnnotateImageResponse.Unmarshal(m, b)
@@ -1892,17 +1892,19 @@ type AnnotateFileResponse struct {
 	// Information about the file for which this response is generated.
 	InputConfig *InputConfig `protobuf:"bytes,1,opt,name=input_config,json=inputConfig,proto3" json:"input_config,omitempty"`
 	// Individual responses to images found within the file.
-	Responses            []*AnnotateImageResponse `protobuf:"bytes,2,rep,name=responses,proto3" json:"responses,omitempty"`
-	XXX_NoUnkeyedLiteral struct{}                 `json:"-"`
-	XXX_unrecognized     []byte                   `json:"-"`
-	XXX_sizecache        int32                    `json:"-"`
+	Responses []*AnnotateImageResponse `protobuf:"bytes,2,rep,name=responses,proto3" json:"responses,omitempty"`
+	// This field gives the total number of pages in the file.
+	TotalPages           int32    `protobuf:"varint,3,opt,name=total_pages,json=totalPages,proto3" json:"total_pages,omitempty"`
+	XXX_NoUnkeyedLiteral struct{} `json:"-"`
+	XXX_unrecognized     []byte   `json:"-"`
+	XXX_sizecache        int32    `json:"-"`
 }
 
 func (m *AnnotateFileResponse) Reset()         { *m = AnnotateFileResponse{} }
 func (m *AnnotateFileResponse) String() string { return proto.CompactTextString(m) }
 func (*AnnotateFileResponse) ProtoMessage()    {}
 func (*AnnotateFileResponse) Descriptor() ([]byte, []int) {
-	return fileDescriptor_image_annotator_70def9df53d0326d, []int{21}
+	return fileDescriptor_image_annotator_6cd7110f88ccf60d, []int{21}
 }
 func (m *AnnotateFileResponse) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_AnnotateFileResponse.Unmarshal(m, b)
@@ -1936,6 +1938,13 @@ func (m *AnnotateFileResponse) GetResponses() []*AnnotateImageResponse {
 	return nil
 }
 
+func (m *AnnotateFileResponse) GetTotalPages() int32 {
+	if m != nil {
+		return m.TotalPages
+	}
+	return 0
+}
+
 // Multiple image annotation requests are batched into a single service call.
 type BatchAnnotateImagesRequest struct {
 	// Individual image annotation requests for this batch.
@@ -1949,7 +1958,7 @@ func (m *BatchAnnotateImagesRequest) Reset()         { *m = BatchAnnotateImagesR
 func (m *BatchAnnotateImagesRequest) String() string { return proto.CompactTextString(m) }
 func (*BatchAnnotateImagesRequest) ProtoMessage()    {}
 func (*BatchAnnotateImagesRequest) Descriptor() ([]byte, []int) {
-	return fileDescriptor_image_annotator_70def9df53d0326d, []int{22}
+	return fileDescriptor_image_annotator_6cd7110f88ccf60d, []int{22}
 }
 func (m *BatchAnnotateImagesRequest) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_BatchAnnotateImagesRequest.Unmarshal(m, b)
@@ -1989,7 +1998,7 @@ func (m *BatchAnnotateImagesResponse) Reset()         { *m = BatchAnnotateImages
 func (m *BatchAnnotateImagesResponse) String() string { return proto.CompactTextString(m) }
 func (*BatchAnnotateImagesResponse) ProtoMessage()    {}
 func (*BatchAnnotateImagesResponse) Descriptor() ([]byte, []int) {
-	return fileDescriptor_image_annotator_70def9df53d0326d, []int{23}
+	return fileDescriptor_image_annotator_6cd7110f88ccf60d, []int{23}
 }
 func (m *BatchAnnotateImagesResponse) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_BatchAnnotateImagesResponse.Unmarshal(m, b)
@@ -2016,6 +2025,168 @@ func (m *BatchAnnotateImagesResponse) GetResponses() []*AnnotateImageResponse {
 	return nil
 }
 
+// A request to annotate one single file, e.g. a PDF, TIFF or GIF file.
+type AnnotateFileRequest struct {
+	// Required. Information about the input file.
+	InputConfig *InputConfig `protobuf:"bytes,1,opt,name=input_config,json=inputConfig,proto3" json:"input_config,omitempty"`
+	// Required. Requested features.
+	Features []*Feature `protobuf:"bytes,2,rep,name=features,proto3" json:"features,omitempty"`
+	// Additional context that may accompany the image(s) in the file.
+	ImageContext *ImageContext `protobuf:"bytes,3,opt,name=image_context,json=imageContext,proto3" json:"image_context,omitempty"`
+	// Pages of the file to perform image annotation.
+	//
+	// Pages starts from 1, we assume the first page of the file is page 1.
+	// At most 5 pages are supported per request. Pages can be negative.
+	//
+	// Page 1 means the first page.
+	// Page 2 means the second page.
+	// Page -1 means the last page.
+	// Page -2 means the second to the last page.
+	//
+	// If the file is GIF instead of PDF or TIFF, page refers to GIF frames.
+	//
+	// If this field is empty, by default the service performs image annotation
+	// for the first 5 pages of the file.
+	Pages                []int32  `protobuf:"varint,4,rep,packed,name=pages,proto3" json:"pages,omitempty"`
+	XXX_NoUnkeyedLiteral struct{} `json:"-"`
+	XXX_unrecognized     []byte   `json:"-"`
+	XXX_sizecache        int32    `json:"-"`
+}
+
+func (m *AnnotateFileRequest) Reset()         { *m = AnnotateFileRequest{} }
+func (m *AnnotateFileRequest) String() string { return proto.CompactTextString(m) }
+func (*AnnotateFileRequest) ProtoMessage()    {}
+func (*AnnotateFileRequest) Descriptor() ([]byte, []int) {
+	return fileDescriptor_image_annotator_6cd7110f88ccf60d, []int{24}
+}
+func (m *AnnotateFileRequest) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_AnnotateFileRequest.Unmarshal(m, b)
+}
+func (m *AnnotateFileRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_AnnotateFileRequest.Marshal(b, m, deterministic)
+}
+func (dst *AnnotateFileRequest) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_AnnotateFileRequest.Merge(dst, src)
+}
+func (m *AnnotateFileRequest) XXX_Size() int {
+	return xxx_messageInfo_AnnotateFileRequest.Size(m)
+}
+func (m *AnnotateFileRequest) XXX_DiscardUnknown() {
+	xxx_messageInfo_AnnotateFileRequest.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_AnnotateFileRequest proto.InternalMessageInfo
+
+func (m *AnnotateFileRequest) GetInputConfig() *InputConfig {
+	if m != nil {
+		return m.InputConfig
+	}
+	return nil
+}
+
+func (m *AnnotateFileRequest) GetFeatures() []*Feature {
+	if m != nil {
+		return m.Features
+	}
+	return nil
+}
+
+func (m *AnnotateFileRequest) GetImageContext() *ImageContext {
+	if m != nil {
+		return m.ImageContext
+	}
+	return nil
+}
+
+func (m *AnnotateFileRequest) GetPages() []int32 {
+	if m != nil {
+		return m.Pages
+	}
+	return nil
+}
+
+// A list of requests to annotate files using the BatchAnnotateFiles API.
+type BatchAnnotateFilesRequest struct {
+	// The list of file annotation requests. Right now we support only one
+	// AnnotateFileRequest in BatchAnnotateFilesRequest.
+	Requests             []*AnnotateFileRequest `protobuf:"bytes,1,rep,name=requests,proto3" json:"requests,omitempty"`
+	XXX_NoUnkeyedLiteral struct{}               `json:"-"`
+	XXX_unrecognized     []byte                 `json:"-"`
+	XXX_sizecache        int32                  `json:"-"`
+}
+
+func (m *BatchAnnotateFilesRequest) Reset()         { *m = BatchAnnotateFilesRequest{} }
+func (m *BatchAnnotateFilesRequest) String() string { return proto.CompactTextString(m) }
+func (*BatchAnnotateFilesRequest) ProtoMessage()    {}
+func (*BatchAnnotateFilesRequest) Descriptor() ([]byte, []int) {
+	return fileDescriptor_image_annotator_6cd7110f88ccf60d, []int{25}
+}
+func (m *BatchAnnotateFilesRequest) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_BatchAnnotateFilesRequest.Unmarshal(m, b)
+}
+func (m *BatchAnnotateFilesRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_BatchAnnotateFilesRequest.Marshal(b, m, deterministic)
+}
+func (dst *BatchAnnotateFilesRequest) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_BatchAnnotateFilesRequest.Merge(dst, src)
+}
+func (m *BatchAnnotateFilesRequest) XXX_Size() int {
+	return xxx_messageInfo_BatchAnnotateFilesRequest.Size(m)
+}
+func (m *BatchAnnotateFilesRequest) XXX_DiscardUnknown() {
+	xxx_messageInfo_BatchAnnotateFilesRequest.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_BatchAnnotateFilesRequest proto.InternalMessageInfo
+
+func (m *BatchAnnotateFilesRequest) GetRequests() []*AnnotateFileRequest {
+	if m != nil {
+		return m.Requests
+	}
+	return nil
+}
+
+// A list of file annotation responses.
+type BatchAnnotateFilesResponse struct {
+	// The list of file annotation responses, each response corresponding to each
+	// AnnotateFileRequest in BatchAnnotateFilesRequest.
+	Responses            []*AnnotateFileResponse `protobuf:"bytes,1,rep,name=responses,proto3" json:"responses,omitempty"`
+	XXX_NoUnkeyedLiteral struct{}                `json:"-"`
+	XXX_unrecognized     []byte                  `json:"-"`
+	XXX_sizecache        int32                   `json:"-"`
+}
+
+func (m *BatchAnnotateFilesResponse) Reset()         { *m = BatchAnnotateFilesResponse{} }
+func (m *BatchAnnotateFilesResponse) String() string { return proto.CompactTextString(m) }
+func (*BatchAnnotateFilesResponse) ProtoMessage()    {}
+func (*BatchAnnotateFilesResponse) Descriptor() ([]byte, []int) {
+	return fileDescriptor_image_annotator_6cd7110f88ccf60d, []int{26}
+}
+func (m *BatchAnnotateFilesResponse) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_BatchAnnotateFilesResponse.Unmarshal(m, b)
+}
+func (m *BatchAnnotateFilesResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_BatchAnnotateFilesResponse.Marshal(b, m, deterministic)
+}
+func (dst *BatchAnnotateFilesResponse) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_BatchAnnotateFilesResponse.Merge(dst, src)
+}
+func (m *BatchAnnotateFilesResponse) XXX_Size() int {
+	return xxx_messageInfo_BatchAnnotateFilesResponse.Size(m)
+}
+func (m *BatchAnnotateFilesResponse) XXX_DiscardUnknown() {
+	xxx_messageInfo_BatchAnnotateFilesResponse.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_BatchAnnotateFilesResponse proto.InternalMessageInfo
+
+func (m *BatchAnnotateFilesResponse) GetResponses() []*AnnotateFileResponse {
+	if m != nil {
+		return m.Responses
+	}
+	return nil
+}
+
 // An offline file annotation request.
 type AsyncAnnotateFileRequest struct {
 	// Required. Information about the input file.
@@ -2035,7 +2206,7 @@ func (m *AsyncAnnotateFileRequest) Reset()         { *m = AsyncAnnotateFileReque
 func (m *AsyncAnnotateFileRequest) String() string { return proto.CompactTextString(m) }
 func (*AsyncAnnotateFileRequest) ProtoMessage()    {}
 func (*AsyncAnnotateFileRequest) Descriptor() ([]byte, []int) {
-	return fileDescriptor_image_annotator_70def9df53d0326d, []int{24}
+	return fileDescriptor_image_annotator_6cd7110f88ccf60d, []int{27}
 }
 func (m *AsyncAnnotateFileRequest) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_AsyncAnnotateFileRequest.Unmarshal(m, b)
@@ -2096,7 +2267,7 @@ func (m *AsyncAnnotateFileResponse) Reset()         { *m = AsyncAnnotateFileResp
 func (m *AsyncAnnotateFileResponse) String() string { return proto.CompactTextString(m) }
 func (*AsyncAnnotateFileResponse) ProtoMessage()    {}
 func (*AsyncAnnotateFileResponse) Descriptor() ([]byte, []int) {
-	return fileDescriptor_image_annotator_70def9df53d0326d, []int{25}
+	return fileDescriptor_image_annotator_6cd7110f88ccf60d, []int{28}
 }
 func (m *AsyncAnnotateFileResponse) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_AsyncAnnotateFileResponse.Unmarshal(m, b)
@@ -2123,6 +2294,95 @@ func (m *AsyncAnnotateFileResponse) GetOutputConfig() *OutputConfig {
 	return nil
 }
 
+// Request for async image annotation for a list of images.
+type AsyncBatchAnnotateImagesRequest struct {
+	// Individual image annotation requests for this batch.
+	Requests []*AnnotateImageRequest `protobuf:"bytes,1,rep,name=requests,proto3" json:"requests,omitempty"`
+	// Required. The desired output location and metadata (e.g. format).
+	OutputConfig         *OutputConfig `protobuf:"bytes,2,opt,name=output_config,json=outputConfig,proto3" json:"output_config,omitempty"`
+	XXX_NoUnkeyedLiteral struct{}      `json:"-"`
+	XXX_unrecognized     []byte        `json:"-"`
+	XXX_sizecache        int32         `json:"-"`
+}
+
+func (m *AsyncBatchAnnotateImagesRequest) Reset()         { *m = AsyncBatchAnnotateImagesRequest{} }
+func (m *AsyncBatchAnnotateImagesRequest) String() string { return proto.CompactTextString(m) }
+func (*AsyncBatchAnnotateImagesRequest) ProtoMessage()    {}
+func (*AsyncBatchAnnotateImagesRequest) Descriptor() ([]byte, []int) {
+	return fileDescriptor_image_annotator_6cd7110f88ccf60d, []int{29}
+}
+func (m *AsyncBatchAnnotateImagesRequest) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_AsyncBatchAnnotateImagesRequest.Unmarshal(m, b)
+}
+func (m *AsyncBatchAnnotateImagesRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_AsyncBatchAnnotateImagesRequest.Marshal(b, m, deterministic)
+}
+func (dst *AsyncBatchAnnotateImagesRequest) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_AsyncBatchAnnotateImagesRequest.Merge(dst, src)
+}
+func (m *AsyncBatchAnnotateImagesRequest) XXX_Size() int {
+	return xxx_messageInfo_AsyncBatchAnnotateImagesRequest.Size(m)
+}
+func (m *AsyncBatchAnnotateImagesRequest) XXX_DiscardUnknown() {
+	xxx_messageInfo_AsyncBatchAnnotateImagesRequest.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_AsyncBatchAnnotateImagesRequest proto.InternalMessageInfo
+
+func (m *AsyncBatchAnnotateImagesRequest) GetRequests() []*AnnotateImageRequest {
+	if m != nil {
+		return m.Requests
+	}
+	return nil
+}
+
+func (m *AsyncBatchAnnotateImagesRequest) GetOutputConfig() *OutputConfig {
+	if m != nil {
+		return m.OutputConfig
+	}
+	return nil
+}
+
+// Response to an async batch image annotation request.
+type AsyncBatchAnnotateImagesResponse struct {
+	// The output location and metadata from AsyncBatchAnnotateImagesRequest.
+	OutputConfig         *OutputConfig `protobuf:"bytes,1,opt,name=output_config,json=outputConfig,proto3" json:"output_config,omitempty"`
+	XXX_NoUnkeyedLiteral struct{}      `json:"-"`
+	XXX_unrecognized     []byte        `json:"-"`
+	XXX_sizecache        int32         `json:"-"`
+}
+
+func (m *AsyncBatchAnnotateImagesResponse) Reset()         { *m = AsyncBatchAnnotateImagesResponse{} }
+func (m *AsyncBatchAnnotateImagesResponse) String() string { return proto.CompactTextString(m) }
+func (*AsyncBatchAnnotateImagesResponse) ProtoMessage()    {}
+func (*AsyncBatchAnnotateImagesResponse) Descriptor() ([]byte, []int) {
+	return fileDescriptor_image_annotator_6cd7110f88ccf60d, []int{30}
+}
+func (m *AsyncBatchAnnotateImagesResponse) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_AsyncBatchAnnotateImagesResponse.Unmarshal(m, b)
+}
+func (m *AsyncBatchAnnotateImagesResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_AsyncBatchAnnotateImagesResponse.Marshal(b, m, deterministic)
+}
+func (dst *AsyncBatchAnnotateImagesResponse) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_AsyncBatchAnnotateImagesResponse.Merge(dst, src)
+}
+func (m *AsyncBatchAnnotateImagesResponse) XXX_Size() int {
+	return xxx_messageInfo_AsyncBatchAnnotateImagesResponse.Size(m)
+}
+func (m *AsyncBatchAnnotateImagesResponse) XXX_DiscardUnknown() {
+	xxx_messageInfo_AsyncBatchAnnotateImagesResponse.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_AsyncBatchAnnotateImagesResponse proto.InternalMessageInfo
+
+func (m *AsyncBatchAnnotateImagesResponse) GetOutputConfig() *OutputConfig {
+	if m != nil {
+		return m.OutputConfig
+	}
+	return nil
+}
+
 // Multiple async file annotation requests are batched into a single service
 // call.
 type AsyncBatchAnnotateFilesRequest struct {
@@ -2137,7 +2397,7 @@ func (m *AsyncBatchAnnotateFilesRequest) Reset()         { *m = AsyncBatchAnnota
 func (m *AsyncBatchAnnotateFilesRequest) String() string { return proto.CompactTextString(m) }
 func (*AsyncBatchAnnotateFilesRequest) ProtoMessage()    {}
 func (*AsyncBatchAnnotateFilesRequest) Descriptor() ([]byte, []int) {
-	return fileDescriptor_image_annotator_70def9df53d0326d, []int{26}
+	return fileDescriptor_image_annotator_6cd7110f88ccf60d, []int{31}
 }
 func (m *AsyncBatchAnnotateFilesRequest) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_AsyncBatchAnnotateFilesRequest.Unmarshal(m, b)
@@ -2178,7 +2438,7 @@ func (m *AsyncBatchAnnotateFilesResponse) Reset()         { *m = AsyncBatchAnnot
 func (m *AsyncBatchAnnotateFilesResponse) String() string { return proto.CompactTextString(m) }
 func (*AsyncBatchAnnotateFilesResponse) ProtoMessage()    {}
 func (*AsyncBatchAnnotateFilesResponse) Descriptor() ([]byte, []int) {
-	return fileDescriptor_image_annotator_70def9df53d0326d, []int{27}
+	return fileDescriptor_image_annotator_6cd7110f88ccf60d, []int{32}
 }
 func (m *AsyncBatchAnnotateFilesResponse) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_AsyncBatchAnnotateFilesResponse.Unmarshal(m, b)
@@ -2209,6 +2469,13 @@ func (m *AsyncBatchAnnotateFilesResponse) GetResponses() []*AsyncAnnotateFileRes
 type InputConfig struct {
 	// The Google Cloud Storage location to read the input from.
 	GcsSource *GcsSource `protobuf:"bytes,1,opt,name=gcs_source,json=gcsSource,proto3" json:"gcs_source,omitempty"`
+	// File content, represented as a stream of bytes.
+	// Note: As with all `bytes` fields, protobuffers use a pure binary
+	// representation, whereas JSON representations use base64.
+	//
+	// Currently, this field only works for BatchAnnotateFiles requests. It does
+	// not work for AsyncBatchAnnotateFiles requests.
+	Content []byte `protobuf:"bytes,3,opt,name=content,proto3" json:"content,omitempty"`
 	// The type of the file. Currently only "application/pdf" and "image/tiff"
 	// are supported. Wildcards are not supported.
 	MimeType             string   `protobuf:"bytes,2,opt,name=mime_type,json=mimeType,proto3" json:"mime_type,omitempty"`
@@ -2221,7 +2488,7 @@ func (m *InputConfig) Reset()         { *m = InputConfig{} }
 func (m *InputConfig) String() string { return proto.CompactTextString(m) }
 func (*InputConfig) ProtoMessage()    {}
 func (*InputConfig) Descriptor() ([]byte, []int) {
-	return fileDescriptor_image_annotator_70def9df53d0326d, []int{28}
+	return fileDescriptor_image_annotator_6cd7110f88ccf60d, []int{33}
 }
 func (m *InputConfig) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_InputConfig.Unmarshal(m, b)
@@ -2248,6 +2515,13 @@ func (m *InputConfig) GetGcsSource() *GcsSource {
 	return nil
 }
 
+func (m *InputConfig) GetContent() []byte {
+	if m != nil {
+		return m.Content
+	}
+	return nil
+}
+
 func (m *InputConfig) GetMimeType() string {
 	if m != nil {
 		return m.MimeType
@@ -2280,7 +2554,7 @@ func (m *OutputConfig) Reset()         { *m = OutputConfig{} }
 func (m *OutputConfig) String() string { return proto.CompactTextString(m) }
 func (*OutputConfig) ProtoMessage()    {}
 func (*OutputConfig) Descriptor() ([]byte, []int) {
-	return fileDescriptor_image_annotator_70def9df53d0326d, []int{29}
+	return fileDescriptor_image_annotator_6cd7110f88ccf60d, []int{34}
 }
 func (m *OutputConfig) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_OutputConfig.Unmarshal(m, b)
@@ -2328,7 +2602,7 @@ func (m *GcsSource) Reset()         { *m = GcsSource{} }
 func (m *GcsSource) String() string { return proto.CompactTextString(m) }
 func (*GcsSource) ProtoMessage()    {}
 func (*GcsSource) Descriptor() ([]byte, []int) {
-	return fileDescriptor_image_annotator_70def9df53d0326d, []int{30}
+	return fileDescriptor_image_annotator_6cd7110f88ccf60d, []int{35}
 }
 func (m *GcsSource) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_GcsSource.Unmarshal(m, b)
@@ -2357,16 +2631,23 @@ func (m *GcsSource) GetUri() string {
 
 // The Google Cloud Storage location where the output will be written to.
 type GcsDestination struct {
-	// Google Cloud Storage URI where the results will be stored. Results will
-	// be in JSON format and preceded by its corresponding input URI. This field
-	// can either represent a single file, or a prefix for multiple outputs.
-	// Prefixes must end in a `/`.
+	// Google Cloud Storage URI prefix where the results will be stored. Results
+	// will be in JSON format and preceded by its corresponding input URI prefix.
+	// This field can either represent a gcs file prefix or gcs directory. In
+	// either case, the uri should be unique because in order to get all of the
+	// output files, you will need to do a wildcard gcs search on the uri prefix
+	// you provide.
 	//
 	// Examples:
 	//
-	// *    File: gs://bucket-name/filename.json
-	// *    Prefix: gs://bucket-name/prefix/here/
-	// *    File: gs://bucket-name/prefix/here
+	// *    File Prefix: gs://bucket-name/here/filenameprefix   The output files
+	// will be created in gs://bucket-name/here/ and the names of the
+	// output files will begin with "filenameprefix".
+	//
+	// *    Directory Prefix: gs://bucket-name/some/location/   The output files
+	// will be created in gs://bucket-name/some/location/ and the names of the
+	// output files could be anything because there was no filename prefix
+	// specified.
 	//
 	// If multiple outputs, each response is still AnnotateFileResponse, each of
 	// which contains some subset of the full list of AnnotateImageResponse.
@@ -2382,7 +2663,7 @@ func (m *GcsDestination) Reset()         { *m = GcsDestination{} }
 func (m *GcsDestination) String() string { return proto.CompactTextString(m) }
 func (*GcsDestination) ProtoMessage()    {}
 func (*GcsDestination) Descriptor() ([]byte, []int) {
-	return fileDescriptor_image_annotator_70def9df53d0326d, []int{31}
+	return fileDescriptor_image_annotator_6cd7110f88ccf60d, []int{36}
 }
 func (m *GcsDestination) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_GcsDestination.Unmarshal(m, b)
@@ -2426,7 +2707,7 @@ func (m *OperationMetadata) Reset()         { *m = OperationMetadata{} }
 func (m *OperationMetadata) String() string { return proto.CompactTextString(m) }
 func (*OperationMetadata) ProtoMessage()    {}
 func (*OperationMetadata) Descriptor() ([]byte, []int) {
-	return fileDescriptor_image_annotator_70def9df53d0326d, []int{32}
+	return fileDescriptor_image_annotator_6cd7110f88ccf60d, []int{37}
 }
 func (m *OperationMetadata) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_OperationMetadata.Unmarshal(m, b)
@@ -2493,8 +2774,13 @@ func init() {
 	proto.RegisterType((*AnnotateFileResponse)(nil), "google.cloud.vision.v1.AnnotateFileResponse")
 	proto.RegisterType((*BatchAnnotateImagesRequest)(nil), "google.cloud.vision.v1.BatchAnnotateImagesRequest")
 	proto.RegisterType((*BatchAnnotateImagesResponse)(nil), "google.cloud.vision.v1.BatchAnnotateImagesResponse")
+	proto.RegisterType((*AnnotateFileRequest)(nil), "google.cloud.vision.v1.AnnotateFileRequest")
+	proto.RegisterType((*BatchAnnotateFilesRequest)(nil), "google.cloud.vision.v1.BatchAnnotateFilesRequest")
+	proto.RegisterType((*BatchAnnotateFilesResponse)(nil), "google.cloud.vision.v1.BatchAnnotateFilesResponse")
 	proto.RegisterType((*AsyncAnnotateFileRequest)(nil), "google.cloud.vision.v1.AsyncAnnotateFileRequest")
 	proto.RegisterType((*AsyncAnnotateFileResponse)(nil), "google.cloud.vision.v1.AsyncAnnotateFileResponse")
+	proto.RegisterType((*AsyncBatchAnnotateImagesRequest)(nil), "google.cloud.vision.v1.AsyncBatchAnnotateImagesRequest")
+	proto.RegisterType((*AsyncBatchAnnotateImagesResponse)(nil), "google.cloud.vision.v1.AsyncBatchAnnotateImagesResponse")
 	proto.RegisterType((*AsyncBatchAnnotateFilesRequest)(nil), "google.cloud.vision.v1.AsyncBatchAnnotateFilesRequest")
 	proto.RegisterType((*AsyncBatchAnnotateFilesResponse)(nil), "google.cloud.vision.v1.AsyncBatchAnnotateFilesResponse")
 	proto.RegisterType((*InputConfig)(nil), "google.cloud.vision.v1.InputConfig")
@@ -2522,6 +2808,24 @@ const _ = grpc.SupportPackageIsVersion4
 type ImageAnnotatorClient interface {
 	// Run image detection and annotation for a batch of images.
 	BatchAnnotateImages(ctx context.Context, in *BatchAnnotateImagesRequest, opts ...grpc.CallOption) (*BatchAnnotateImagesResponse, error)
+	// Service that performs image detection and annotation for a batch of files.
+	// Now only "application/pdf", "image/tiff" and "image/gif" are supported.
+	//
+	// This service will extract at most 5 (customers can specify which 5 in
+	// AnnotateFileRequest.pages) frames (gif) or pages (pdf or tiff) from each
+	// file provided and perform detection and annotation for each image
+	// extracted.
+	BatchAnnotateFiles(ctx context.Context, in *BatchAnnotateFilesRequest, opts ...grpc.CallOption) (*BatchAnnotateFilesResponse, error)
+	// Run asynchronous image detection and annotation for a list of images.
+	//
+	// Progress and results can be retrieved through the
+	// `google.longrunning.Operations` interface.
+	// `Operation.metadata` contains `OperationMetadata` (metadata).
+	// `Operation.response` contains `AsyncBatchAnnotateImagesResponse` (results).
+	//
+	// This service will write image annotation outputs to json files in customer
+	// GCS bucket, each json file containing BatchAnnotateImagesResponse proto.
+	AsyncBatchAnnotateImages(ctx context.Context, in *AsyncBatchAnnotateImagesRequest, opts ...grpc.CallOption) (*longrunning.Operation, error)
 	// Run asynchronous image detection and annotation for a list of generic
 	// files, such as PDF files, which may contain multiple pages and multiple
 	// images per page. Progress and results can be retrieved through the
@@ -2548,6 +2852,24 @@ func (c *imageAnnotatorClient) BatchAnnotateImages(ctx context.Context, in *Batc
 	return out, nil
 }
 
+func (c *imageAnnotatorClient) BatchAnnotateFiles(ctx context.Context, in *BatchAnnotateFilesRequest, opts ...grpc.CallOption) (*BatchAnnotateFilesResponse, error) {
+	out := new(BatchAnnotateFilesResponse)
+	err := c.cc.Invoke(ctx, "/google.cloud.vision.v1.ImageAnnotator/BatchAnnotateFiles", in, out, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *imageAnnotatorClient) AsyncBatchAnnotateImages(ctx context.Context, in *AsyncBatchAnnotateImagesRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) {
+	out := new(longrunning.Operation)
+	err := c.cc.Invoke(ctx, "/google.cloud.vision.v1.ImageAnnotator/AsyncBatchAnnotateImages", in, out, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
 func (c *imageAnnotatorClient) AsyncBatchAnnotateFiles(ctx context.Context, in *AsyncBatchAnnotateFilesRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) {
 	out := new(longrunning.Operation)
 	err := c.cc.Invoke(ctx, "/google.cloud.vision.v1.ImageAnnotator/AsyncBatchAnnotateFiles", in, out, opts...)
@@ -2561,6 +2883,24 @@ func (c *imageAnnotatorClient) AsyncBatchAnnotateFiles(ctx context.Context, in *
 type ImageAnnotatorServer interface {
 	// Run image detection and annotation for a batch of images.
 	BatchAnnotateImages(context.Context, *BatchAnnotateImagesRequest) (*BatchAnnotateImagesResponse, error)
+	// Service that performs image detection and annotation for a batch of files.
+	// Now only "application/pdf", "image/tiff" and "image/gif" are supported.
+	//
+	// This service will extract at most 5 (customers can specify which 5 in
+	// AnnotateFileRequest.pages) frames (gif) or pages (pdf or tiff) from each
+	// file provided and perform detection and annotation for each image
+	// extracted.
+	BatchAnnotateFiles(context.Context, *BatchAnnotateFilesRequest) (*BatchAnnotateFilesResponse, error)
+	// Run asynchronous image detection and annotation for a list of images.
+	//
+	// Progress and results can be retrieved through the
+	// `google.longrunning.Operations` interface.
+	// `Operation.metadata` contains `OperationMetadata` (metadata).
+	// `Operation.response` contains `AsyncBatchAnnotateImagesResponse` (results).
+	//
+	// This service will write image annotation outputs to json files in customer
+	// GCS bucket, each json file containing BatchAnnotateImagesResponse proto.
+	AsyncBatchAnnotateImages(context.Context, *AsyncBatchAnnotateImagesRequest) (*longrunning.Operation, error)
 	// Run asynchronous image detection and annotation for a list of generic
 	// files, such as PDF files, which may contain multiple pages and multiple
 	// images per page. Progress and results can be retrieved through the
@@ -2592,6 +2932,42 @@ func _ImageAnnotator_BatchAnnotateImages_Handler(srv interface{}, ctx context.Co
 	return interceptor(ctx, in, info, handler)
 }
 
+func _ImageAnnotator_BatchAnnotateFiles_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(BatchAnnotateFilesRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(ImageAnnotatorServer).BatchAnnotateFiles(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/google.cloud.vision.v1.ImageAnnotator/BatchAnnotateFiles",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(ImageAnnotatorServer).BatchAnnotateFiles(ctx, req.(*BatchAnnotateFilesRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _ImageAnnotator_AsyncBatchAnnotateImages_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(AsyncBatchAnnotateImagesRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(ImageAnnotatorServer).AsyncBatchAnnotateImages(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/google.cloud.vision.v1.ImageAnnotator/AsyncBatchAnnotateImages",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(ImageAnnotatorServer).AsyncBatchAnnotateImages(ctx, req.(*AsyncBatchAnnotateImagesRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
 func _ImageAnnotator_AsyncBatchAnnotateFiles_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
 	in := new(AsyncBatchAnnotateFilesRequest)
 	if err := dec(in); err != nil {
@@ -2618,6 +2994,14 @@ var _ImageAnnotator_serviceDesc = grpc.ServiceDesc{
 			MethodName: "BatchAnnotateImages",
 			Handler:    _ImageAnnotator_BatchAnnotateImages_Handler,
 		},
+		{
+			MethodName: "BatchAnnotateFiles",
+			Handler:    _ImageAnnotator_BatchAnnotateFiles_Handler,
+		},
+		{
+			MethodName: "AsyncBatchAnnotateImages",
+			Handler:    _ImageAnnotator_AsyncBatchAnnotateImages_Handler,
+		},
 		{
 			MethodName: "AsyncBatchAnnotateFiles",
 			Handler:    _ImageAnnotator_AsyncBatchAnnotateFiles_Handler,
@@ -2628,202 +3012,212 @@ var _ImageAnnotator_serviceDesc = grpc.ServiceDesc{
 }
 
 func init() {
-	proto.RegisterFile("google/cloud/vision/v1/image_annotator.proto", fileDescriptor_image_annotator_70def9df53d0326d)
-}
-
-var fileDescriptor_image_annotator_70def9df53d0326d = []byte{
-	// 3080 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x5a, 0x4f, 0x73, 0xdb, 0xc8,
-	0x95, 0x1f, 0xfe, 0x91, 0x44, 0x3e, 0x52, 0x14, 0xd4, 0x94, 0x64, 0x5a, 0xfe, 0x27, 0x63, 0x76,
-	0x76, 0x54, 0x1e, 0xaf, 0xb4, 0xf6, 0xcc, 0xba, 0x66, 0x6d, 0xd7, 0xee, 0x50, 0x24, 0x24, 0x71,
-	0x4d, 0x11, 0x9c, 0x26, 0x65, 0x8f, 0x67, 0xa7, 0x16, 0x05, 0x81, 0x4d, 0x1a, 0x1e, 0x10, 0xc0,
-	0x02, 0xa0, 0x2d, 0xcd, 0x56, 0xed, 0x21, 0xb7, 0x5c, 0x93, 0x53, 0x2e, 0xa9, 0x54, 0x52, 0x95,
-	0x1c, 0x72, 0x4d, 0xee, 0xb9, 0xa5, 0x72, 0xc8, 0x21, 0x35, 0x5f, 0x21, 0x87, 0x7c, 0x84, 0x1c,
-	0x53, 0xdd, 0x68, 0x80, 0x0d, 0x4a, 0xa0, 0xa5, 0xc9, 0x1c, 0x72, 0x12, 0xfb, 0xbd, 0xf7, 0xfb,
-	0x75, 0xf7, 0xeb, 0xee, 0xf7, 0x5e, 0x37, 0x04, 0xf7, 0x47, 0x8e, 0x33, 0xb2, 0xc8, 0xae, 0x61,
-	0x39, 0x93, 0xc1, 0xee, 0x1b, 0xd3, 0x37, 0x1d, 0x7b, 0xf7, 0xcd, 0x83, 0x5d, 0x73, 0xac, 0x8f,
-	0x88, 0xa6, 0xdb, 0xb6, 0x13, 0xe8, 0x81, 0xe3, 0xed, 0xb8, 0x9e, 0x13, 0x38, 0x68, 0x23, 0xb4,
-	0xde, 0x61, 0xd6, 0x3b, 0xa1, 0xf5, 0xce, 0x9b, 0x07, 0x9b, 0x37, 0x39, 0x8b, 0xee, 0x9a, 0xbb,
-	0x1c, 0x63, 0x3a, 0xb6, 0x1f, 0xa2, 0x36, 0x3f, 0x48, 0xe9, 0x63, 0x44, 0x9c, 0x31, 0x09, 0xbc,
-	0x33, 0x6e, 0xf6, 0x51, 0x8a, 0x99, 0xeb, 0x39, 0x83, 0x89, 0x11, 0x68, 0x3e, 0xd1, 0x3d, 0xe3,
-	0x15, 0x37, 0x4e, 0x1b, 0x77, 0x40, 0x4e, 0x03, 0x6d, 0x3a, 0x04, 0x6e, 0x7d, 0x2f, 0xc5, 0xfa,
-	0x2d, 0x39, 0xd1, 0x06, 0x24, 0x20, 0x86, 0x60, 0xfb, 0x3e, 0xb7, 0xb5, 0x1c, 0x7b, 0xe4, 0x4d,
-	0x6c, 0xdb, 0xb4, 0x47, 0xbb, 0x8e, 0x4b, 0xbc, 0xc4, 0x94, 0xb6, 0xb8, 0x11, 0x6b, 0x9d, 0x4c,
-	0x86, 0xbb, 0x43, 0x93, 0x58, 0x03, 0x6d, 0xac, 0xfb, 0x5f, 0x73, 0x8b, 0x3b, 0xb3, 0x16, 0x81,
-	0x39, 0x26, 0x7e, 0xa0, 0x8f, 0x5d, 0x6e, 0x70, 0x8d, 0x1b, 0x78, 0xae, 0xb1, 0xeb, 0x07, 0x7a,
-	0x30, 0xf1, 0x67, 0x14, 0xc1, 0x99, 0x4b, 0x76, 0x0d, 0xc7, 0x8a, 0xbc, 0xbf, 0x59, 0x13, 0x15,
-	0x96, 0x1e, 0x58, 0xf6, 0x28, 0xd4, 0xc8, 0x3f, 0xcb, 0xc1, 0xd2, 0x3e, 0xd1, 0x83, 0x89, 0x47,
-	0xd0, 0xa7, 0x90, 0xa7, 0x06, 0xb5, 0xcc, 0x56, 0x66, 0xbb, 0xf2, 0xf0, 0x9f, 0x76, 0x2e, 0x5e,
-	0xb2, 0x1d, 0x6e, 0xbe, 0xd3, 0x3f, 0x73, 0x09, 0x66, 0x08, 0x74, 0x07, 0x4a, 0x63, 0xfd, 0x54,
-	0xf3, 0x88, 0x3f, 0xb1, 0x02, 0xbf, 0x96, 0xdd, 0xca, 0x6c, 0x2f, 0x60, 0x18, 0xeb, 0xa7, 0x38,
-	0x94, 0xa0, 0x35, 0x58, 0x18, 0x3b, 0x03, 0x62, 0xd5, 0x72, 0x5b, 0x99, 0xed, 0x22, 0x0e, 0x1b,
-	0xf2, 0x2f, 0xb2, 0x90, 0xa7, 0x2c, 0x68, 0x0d, 0xa4, 0xfe, 0xcb, 0xae, 0xa2, 0x1d, 0x77, 0x7a,
-	0x5d, 0xa5, 0xd1, 0xda, 0x6f, 0x29, 0x4d, 0xe9, 0x3d, 0x84, 0xa0, 0xb2, 0x5f, 0x6f, 0x28, 0x5a,
-	0x53, 0xe9, 0x2b, 0x8d, 0x7e, 0x4b, 0xed, 0x48, 0x19, 0xb4, 0x01, 0xa8, 0x5d, 0xef, 0x34, 0x8f,
-	0xea, 0xf8, 0x99, 0x20, 0xcf, 0x52, 0xdb, 0xb6, 0x7a, 0xa0, 0x0a, 0xb2, 0x1c, 0xaa, 0xc2, 0x4a,
-	0xbb, 0xbe, 0xa7, 0xb4, 0x05, 0x61, 0x9e, 0x1a, 0xf6, 0x95, 0x2f, 0xfa, 0x82, 0x6c, 0x01, 0xdd,
-	0x80, 0x6b, 0x4d, 0xb5, 0x71, 0x7c, 0xa4, 0x74, 0xfa, 0xda, 0x8c, 0xb2, 0x84, 0xae, 0xc3, 0x7a,
-	0xaf, 0xbe, 0xaf, 0x68, 0x3d, 0xa5, 0x8e, 0x1b, 0x87, 0x82, 0x6a, 0x91, 0x0e, 0xbb, 0x75, 0x54,
-	0x3f, 0x50, 0xb4, 0x2e, 0x56, 0xbb, 0x0a, 0xee, 0xb7, 0x94, 0x9e, 0xb4, 0x84, 0x2a, 0x00, 0x0d,
-	0xac, 0x76, 0xb5, 0xc3, 0x56, 0xa7, 0xdf, 0x93, 0x8a, 0x68, 0x15, 0x96, 0x5f, 0x28, 0x7b, 0x02,
-	0x10, 0xe8, 0x20, 0xba, 0x58, 0x6d, 0x1e, 0x37, 0xfa, 0x9c, 0x56, 0x2a, 0xa3, 0x6b, 0x50, 0x55,
-	0xf7, 0xfe, 0x4b, 0x69, 0xf4, 0xb5, 0xb6, 0xda, 0xa8, 0xb7, 0x5b, 0x5f, 0xd6, 0x99, 0x71, 0x55,
-	0xee, 0x40, 0xa9, 0x45, 0xcf, 0x54, 0xcf, 0x99, 0x78, 0x06, 0x41, 0x32, 0x2c, 0x8f, 0x0c, 0x5f,
-	0x0b, 0x8f, 0xd9, 0xc4, 0x33, 0xd9, 0x72, 0x15, 0x71, 0x69, 0x64, 0xf8, 0xcc, 0xec, 0xd8, 0x33,
-	0xd1, 0x0d, 0x28, 0x4e, 0xf5, 0x59, 0xa6, 0x2f, 0x98, 0x5c, 0x29, 0xff, 0x0f, 0x2c, 0x30, 0x43,
-	0x54, 0x83, 0x25, 0xc3, 0xb1, 0x03, 0x62, 0x07, 0x8c, 0xa3, 0x8c, 0xa3, 0x26, 0x7a, 0x02, 0x8b,
-	0x3e, 0xeb, 0x8d, 0x81, 0x4b, 0x0f, 0xdf, 0x4f, 0xdb, 0x0b, 0xc2, 0xc0, 0x30, 0x87, 0xc8, 0x7f,
-	0x5a, 0x81, 0xca, 0xbe, 0x6e, 0x90, 0x7a, 0x7c, 0x96, 0x50, 0x0b, 0x96, 0x4f, 0x9c, 0x89, 0x3d,
-	0x30, 0xed, 0x91, 0xe6, 0x3a, 0xd6, 0x19, 0xeb, 0xaf, 0x94, 0xbe, 0xc5, 0xf6, 0xb8, 0x71, 0xd7,
-	0xb1, 0xce, 0x70, 0xf9, 0x44, 0x68, 0xa1, 0x0e, 0x48, 0xc3, 0x81, 0x96, 0x64, 0xcb, 0x5e, 0x81,
-	0xad, 0x32, 0x1c, 0x88, 0x6d, 0x74, 0x04, 0x45, 0x4b, 0xb7, 0x07, 0x63, 0xdd, 0xfb, 0xda, 0xaf,
-	0xe5, 0xb6, 0x72, 0xdb, 0xa5, 0x87, 0xbb, 0xa9, 0x3b, 0x3f, 0x31, 0xab, 0x9d, 0x36, 0xc7, 0xe1,
-	0x29, 0x03, 0xba, 0x05, 0xe0, 0x39, 0x96, 0xa5, 0xe9, 0xf6, 0xc8, 0x22, 0xb5, 0xfc, 0x56, 0x66,
-	0x3b, 0x8b, 0x8b, 0x54, 0x52, 0xa7, 0x02, 0xba, 0x30, 0xae, 0x6e, 0x73, 0xed, 0x02, 0xd3, 0x16,
-	0x5c, 0xdd, 0x0e, 0x95, 0xb7, 0x00, 0x02, 0xd3, 0x0a, 0xb8, 0x76, 0x31, 0xc4, 0x52, 0x49, 0xa8,
-	0x7e, 0x00, 0x6b, 0x71, 0xc4, 0xd1, 0x0c, 0xc7, 0x1e, 0x9a, 0x03, 0x62, 0x1b, 0xa4, 0xb6, 0xc4,
-	0x0c, 0xab, 0xb1, 0xae, 0x11, 0xab, 0xd0, 0xbf, 0xc1, 0x46, 0x34, 0x34, 0xea, 0x2c, 0x01, 0x54,
-	0x60, 0xa0, 0x75, 0x41, 0x2b, 0xc0, 0x5a, 0x50, 0x79, 0xed, 0x9c, 0x69, 0x96, 0xf9, 0x35, 0xb1,
-	0xcc, 0x57, 0x8e, 0x33, 0xa8, 0x15, 0x59, 0x48, 0x90, 0xd3, 0x1c, 0xd3, 0x8e, 0x2d, 0xf1, 0xf2,
-	0x6b, 0xe7, 0x6c, 0xda, 0x44, 0x2a, 0xac, 0xfa, 0x8e, 0xe7, 0x39, 0x6f, 0x45, 0x36, 0xb8, 0x34,
-	0x9b, 0x14, 0x82, 0x05, 0xc2, 0x23, 0x90, 0x74, 0x7b, 0x44, 0x3c, 0x91, 0xaf, 0x74, 0x69, 0xbe,
-	0x15, 0x86, 0x15, 0xe8, 0x7a, 0x50, 0xf5, 0x27, 0x9e, 0xeb, 0x99, 0x3e, 0x11, 0x19, 0xcb, 0x97,
-	0x66, 0x44, 0x11, 0x5c, 0x20, 0xfd, 0x0a, 0x6a, 0x13, 0x7b, 0x40, 0x3c, 0x8d, 0x9c, 0xba, 0x8e,
-	0x4f, 0x06, 0x22, 0xf3, 0xf2, 0xa5, 0x99, 0x37, 0x18, 0x87, 0x12, 0x52, 0x08, 0xec, 0x9f, 0x03,
-	0x3a, 0xb1, 0x26, 0x9e, 0x97, 0xe4, 0xad, 0x5c, 0x9a, 0x77, 0x95, 0xa3, 0x93, 0x5e, 0x78, 0x45,
-	0xf4, 0xc1, 0x5b, 0xa2, 0x27, 0xfc, 0xba, 0x72, 0x79, 0x2f, 0x44, 0xf0, 0xa9, 0x6c, 0xf3, 0x0f,
-	0x4b, 0x50, 0x88, 0x8e, 0x08, 0x3a, 0xe4, 0xb9, 0x25, 0xc7, 0x28, 0x3f, 0xb9, 0xe2, 0x09, 0x13,
-	0x73, 0xcd, 0x53, 0x28, 0xb8, 0x8e, 0x6f, 0x52, 0x3d, 0x3b, 0x5f, 0xa5, 0x87, 0x5b, 0x69, 0x6c,
-	0x5d, 0x6e, 0x87, 0x63, 0x84, 0xfc, 0x9b, 0xc5, 0x69, 0xca, 0x39, 0xee, 0x3c, 0xeb, 0xa8, 0x2f,
-	0x3a, 0x5a, 0x94, 0x50, 0xa4, 0xf7, 0x50, 0x19, 0x0a, 0x6d, 0x65, 0xbf, 0xaf, 0x29, 0x2f, 0x15,
-	0x29, 0x83, 0x96, 0xa1, 0x88, 0x5b, 0x07, 0x87, 0x61, 0x33, 0x8b, 0x6a, 0xb0, 0xc6, 0x94, 0xea,
-	0xbe, 0x16, 0x19, 0xed, 0x61, 0xf5, 0x85, 0x94, 0xa3, 0x39, 0x22, 0x34, 0x9c, 0x55, 0xe5, 0xa9,
-	0x2a, 0x02, 0xc5, 0x5c, 0x4c, 0xb5, 0x80, 0x36, 0x61, 0x23, 0x46, 0x25, 0x75, 0x8b, 0x14, 0x76,
-	0xd4, 0x6a, 0x76, 0xd5, 0x56, 0xa7, 0xaf, 0xed, 0x29, 0xfd, 0x17, 0x8a, 0xd2, 0xa1, 0x5a, 0x9a,
-	0x5f, 0xca, 0x50, 0xe8, 0xa8, 0x3d, 0x45, 0xeb, 0xb7, 0xba, 0x52, 0x81, 0x8e, 0xf1, 0xb8, 0xdb,
-	0x55, 0xb0, 0xd6, 0x6e, 0x75, 0xa5, 0x22, 0x6d, 0xb6, 0xd5, 0x17, 0xbc, 0x09, 0x34, 0x17, 0x1d,
-	0xa9, 0xc7, 0xfd, 0x43, 0x36, 0x2a, 0xa9, 0x84, 0x56, 0xa0, 0x14, 0xb6, 0x59, 0x7f, 0x52, 0x19,
-	0x49, 0x50, 0x0e, 0x05, 0x0d, 0xa5, 0xd3, 0x57, 0xb0, 0xb4, 0x8c, 0xd6, 0x61, 0x95, 0xd1, 0xef,
-	0xa9, 0xfd, 0xbe, 0x7a, 0xc4, 0x0d, 0x2b, 0xd4, 0x5f, 0xa2, 0x98, 0xf1, 0xad, 0xd0, 0x74, 0x2c,
-	0x4a, 0x39, 0x89, 0x14, 0xcf, 0x5a, 0x79, 0xa9, 0x68, 0x7d, 0xb5, 0xab, 0xed, 0xa9, 0xc7, 0x9d,
-	0x66, 0x1d, 0xbf, 0x94, 0x56, 0x13, 0xaa, 0x70, 0xd6, 0x0d, 0x15, 0x77, 0x14, 0x2c, 0x21, 0x74,
-	0x13, 0x6a, 0xb1, 0x8a, 0x33, 0xc6, 0xc0, 0x6a, 0xec, 0x7e, 0xaa, 0x65, 0x3f, 0x38, 0x6e, 0x6d,
-	0xea, 0xc8, 0x73, 0xdd, 0xad, 0x27, 0x75, 0x89, 0xfe, 0x36, 0xd0, 0x2d, 0xb8, 0x3e, 0xd5, 0xcd,
-	0x76, 0x78, 0x6d, 0xba, 0xaa, 0xb3, 0x3d, 0xd6, 0xd0, 0x1d, 0xb8, 0x21, 0xae, 0xb3, 0x16, 0x2e,
-	0x41, 0xb4, 0x62, 0xd2, 0x75, 0xb4, 0x05, 0x37, 0x13, 0x4b, 0x3a, 0x6b, 0xb1, 0x49, 0x1d, 0x1a,
-	0x52, 0xd4, 0xb1, 0xd6, 0xc7, 0xf5, 0x03, 0x9a, 0xec, 0x6f, 0x50, 0xef, 0x73, 0x9c, 0x20, 0xbe,
-	0xc9, 0xca, 0x9b, 0x68, 0xee, 0xdd, 0xe3, 0x6e, 0xab, 0x2d, 0xdd, 0xa2, 0xe5, 0xcd, 0x74, 0x78,
-	0xa1, 0xf0, 0x36, 0xc5, 0xef, 0xab, 0x58, 0x39, 0x54, 0xea, 0x4d, 0xed, 0x80, 0x55, 0x3f, 0xed,
-	0xba, 0x74, 0x87, 0xd6, 0x20, 0x8d, 0xc3, 0x56, 0x47, 0x3b, 0xe8, 0xd4, 0xfb, 0x87, 0x94, 0x72,
-	0x8b, 0xf6, 0xcf, 0x44, 0x8c, 0xf7, 0x40, 0xed, 0x50, 0xe9, 0x5d, 0x8a, 0x67, 0xd2, 0x90, 0x99,
-	0x8b, 0x65, 0xf9, 0x29, 0x94, 0xdb, 0x8e, 0xc1, 0x0e, 0x65, 0xcb, 0x1e, 0x3a, 0xe8, 0x3e, 0x2c,
-	0x59, 0x7a, 0xa0, 0x59, 0xf6, 0x88, 0xa7, 0xf2, 0x6a, 0x74, 0x06, 0xe9, 0x19, 0xdd, 0x69, 0xeb,
-	0x41, 0xdb, 0x1e, 0xe1, 0x45, 0x8b, 0xfd, 0x95, 0x5f, 0x40, 0xa1, 0xeb, 0xd1, 0x4a, 0x38, 0x38,
-	0x43, 0x08, 0xf2, 0xb6, 0x3e, 0x26, 0xbc, 0x6a, 0x61, 0xbf, 0x69, 0x75, 0xf8, 0x46, 0xb7, 0x26,
-	0x84, 0x97, 0x2a, 0x61, 0x03, 0xdd, 0x85, 0xf2, 0xc4, 0xb4, 0x83, 0x47, 0x9f, 0x68, 0xa1, 0x92,
-	0x86, 0x8e, 0x3c, 0x2e, 0x85, 0xb2, 0xe7, 0x54, 0x24, 0xff, 0x30, 0x07, 0x92, 0x62, 0x07, 0x66,
-	0x70, 0x26, 0x14, 0x1b, 0x12, 0xe4, 0xc6, 0xe6, 0x80, 0x77, 0x40, 0x7f, 0xa2, 0x0d, 0x58, 0xb4,
-	0x1c, 0x43, 0xb7, 0xa2, 0x0e, 0x78, 0x0b, 0x6d, 0x41, 0x69, 0x40, 0x7c, 0xc3, 0x33, 0x5d, 0x16,
-	0x4d, 0xc2, 0xda, 0x54, 0x14, 0xd1, 0x91, 0xf9, 0x86, 0xe3, 0x45, 0x99, 0x3c, 0x6c, 0x20, 0x19,
-	0x40, 0x48, 0xa5, 0x2c, 0x8d, 0xef, 0x65, 0x6b, 0x19, 0x2c, 0x48, 0xd1, 0x6d, 0x80, 0xc0, 0x71,
-	0x4d, 0x43, 0xb7, 0xcc, 0xe0, 0x8c, 0x27, 0x73, 0x41, 0x72, 0xbe, 0x24, 0x5a, 0xfa, 0xce, 0x25,
-	0xd1, 0x1e, 0x14, 0x2d, 0xbe, 0x38, 0x7e, 0xad, 0xc0, 0x4a, 0x98, 0x54, 0x1a, 0x71, 0x15, 0xf1,
-	0x14, 0x86, 0x3e, 0x03, 0x70, 0xc3, 0x25, 0x32, 0x89, 0x5f, 0x2b, 0x32, 0x92, 0xf4, 0xb8, 0xca,
-	0x17, 0x13, 0x0b, 0x18, 0xf9, 0xf7, 0x19, 0xb8, 0x4e, 0xd9, 0x2d, 0xf3, 0x1b, 0x32, 0x50, 0x4f,
-	0x5e, 0x13, 0x23, 0x98, 0xbb, 0x28, 0xef, 0xc3, 0xb2, 0xa5, 0xdb, 0xa3, 0x09, 0x2d, 0x53, 0x0d,
-	0x67, 0x10, 0xad, 0x4d, 0x39, 0x12, 0x36, 0x9c, 0x01, 0x89, 0x77, 0x4b, 0x2e, 0xb9, 0x5b, 0x2e,
-	0x58, 0x93, 0x73, 0xfe, 0x5c, 0xf8, 0xae, 0xfe, 0x94, 0x7f, 0x97, 0x85, 0xb5, 0x9e, 0x3e, 0x24,
-	0x3d, 0x76, 0x6d, 0x14, 0x26, 0xf1, 0x29, 0x2c, 0xe8, 0x83, 0x89, 0x15, 0xf0, 0x1b, 0xd2, 0x65,
-	0x12, 0x63, 0x08, 0xa0, 0x48, 0xdf, 0x75, 0x9c, 0x21, 0x9b, 0xe4, 0x25, 0x91, 0x0c, 0x80, 0x9e,
-	0xc2, 0xd2, 0x98, 0x0c, 0xe8, 0xae, 0xe1, 0xb9, 0xf3, 0x32, 0xd8, 0x08, 0x82, 0xfe, 0x03, 0x0a,
-	0x6f, 0x4c, 0xc7, 0x62, 0xfb, 0x34, 0x7f, 0x69, 0x78, 0x8c, 0x41, 0x8f, 0x20, 0xef, 0xe9, 0xc6,
-	0xd9, 0x15, 0xea, 0x3f, 0x66, 0x2f, 0xbf, 0x85, 0x12, 0x8d, 0x01, 0x8e, 0x3d, 0xc2, 0xc4, 0x08,
-	0xd0, 0xc7, 0x50, 0x1a, 0x9b, 0xb6, 0x76, 0x89, 0x90, 0x51, 0x1c, 0x9b, 0x76, 0xf8, 0x93, 0x81,
-	0xf4, 0xd3, 0x18, 0x94, 0x9d, 0x07, 0xd2, 0x4f, 0xc3, 0x9f, 0xb2, 0x07, 0xc5, 0x06, 0xbd, 0xf8,
-	0xb2, 0x28, 0xb5, 0x0d, 0x0b, 0xec, 0x16, 0xcc, 0x3b, 0x44, 0x09, 0x2c, 0x33, 0xc3, 0xa1, 0xc1,
-	0x74, 0x4f, 0x65, 0xc5, 0x3d, 0xf5, 0x01, 0x54, 0x5c, 0xf3, 0x94, 0x58, 0xda, 0xd0, 0xd3, 0x8d,
-	0x38, 0x44, 0x64, 0xf1, 0x32, 0x93, 0xee, 0x73, 0xa1, 0x7c, 0x0c, 0xb5, 0xa6, 0x33, 0x36, 0x6d,
-	0xdd, 0x0e, 0x18, 0xa9, 0x2f, 0x6c, 0x99, 0x7f, 0x87, 0x45, 0xd6, 0x83, 0x5f, 0xcb, 0xb0, 0x33,
-	0x75, 0x37, 0xcd, 0x85, 0xf1, 0xa8, 0x31, 0x07, 0xc8, 0x16, 0xac, 0xb0, 0xeb, 0x55, 0x37, 0x3e,
-	0x63, 0xe8, 0x25, 0xac, 0x0c, 0x78, 0x4f, 0x5a, 0x4c, 0x4b, 0xa7, 0xf6, 0xaf, 0x69, 0xb4, 0x69,
-	0x03, 0xc3, 0x95, 0x41, 0x42, 0x23, 0xff, 0x32, 0x03, 0x85, 0x86, 0xe7, 0xb8, 0x87, 0xa6, 0x1d,
-	0x7c, 0x9f, 0xf7, 0xb5, 0xdb, 0x89, 0x58, 0x19, 0xba, 0x57, 0x8c, 0x93, 0xbb, 0x50, 0x35, 0xc7,
-	0xae, 0xe3, 0x05, 0xba, 0x6d, 0x90, 0x59, 0x47, 0xa3, 0xa9, 0x2a, 0xf6, 0xf6, 0x73, 0xa8, 0x46,
-	0xe3, 0x14, 0x1d, 0xfd, 0x9f, 0x00, 0x86, 0xe7, 0xb8, 0xda, 0x2b, 0x2a, 0xe7, 0xce, 0x4e, 0x0d,
-	0x60, 0x11, 0x01, 0x2e, 0x1a, 0x11, 0x95, 0xfc, 0x08, 0x56, 0x62, 0xde, 0xae, 0xee, 0xe9, 0x63,
-	0x9f, 0x86, 0x28, 0xdd, 0x77, 0x89, 0x11, 0x68, 0xec, 0x0d, 0x27, 0xa4, 0xcd, 0xe2, 0x72, 0x28,
-	0xc4, 0x4c, 0x26, 0x37, 0x01, 0xbd, 0x20, 0x27, 0xcd, 0xe8, 0xf6, 0xc5, 0xa1, 0x3b, 0x50, 0x35,
-	0x6d, 0xc3, 0x9a, 0x0c, 0x88, 0x36, 0x22, 0x4e, 0xe2, 0x65, 0xa4, 0x80, 0x57, 0xb9, 0xea, 0x80,
-	0x38, 0xfc, 0x81, 0x44, 0xfe, 0x51, 0x0e, 0xca, 0x6c, 0xb5, 0x1b, 0xf4, 0x0a, 0x7e, 0x1a, 0xa0,
-	0x03, 0x1a, 0x1e, 0x03, 0xcd, 0x72, 0xec, 0x91, 0xe6, 0x11, 0x23, 0xe0, 0x4b, 0x90, 0x7a, 0x13,
-	0x17, 0x8e, 0x1b, 0x2e, 0x59, 0xc2, 0xd9, 0xfb, 0x00, 0x2a, 0x71, 0x9c, 0x0d, 0x9d, 0x93, 0xdd,
-	0xca, 0x6d, 0x17, 0x71, 0x1c, 0x7d, 0xd9, 0x8c, 0x51, 0x0f, 0x56, 0xa7, 0xfe, 0xd3, 0x5c, 0x36,
-	0x0b, 0x5e, 0x5f, 0x7f, 0xf8, 0x2e, 0x37, 0x72, 0x7f, 0xe1, 0x15, 0x63, 0xc6, 0x81, 0x1a, 0xac,
-	0x27, 0xdf, 0xe0, 0x22, 0xe2, 0x30, 0x38, 0x7f, 0x34, 0x27, 0xc1, 0x50, 0x50, 0x18, 0x80, 0x39,
-	0x79, 0xd5, 0x3d, 0x2f, 0x44, 0x5f, 0xc1, 0x5a, 0xe2, 0x25, 0x2e, 0xe2, 0x5f, 0x64, 0xfc, 0xf7,
-	0xd2, 0xf8, 0xcf, 0x2f, 0x18, 0x46, 0x6f, 0xcf, 0xc9, 0xe4, 0x6f, 0x33, 0xb0, 0xc6, 0xb7, 0x18,
-	0x61, 0x8b, 0x83, 0xc9, 0xff, 0x4e, 0x88, 0x4f, 0xe3, 0xd9, 0x02, 0x7b, 0x4e, 0xe1, 0x8b, 0x72,
-	0x6b, 0xee, 0xf3, 0x08, 0x0e, 0x6d, 0xd1, 0x13, 0x28, 0x0c, 0xc3, 0xa7, 0xb3, 0x70, 0x09, 0x4a,
-	0x0f, 0xef, 0xbc, 0xe3, 0x89, 0x0d, 0xc7, 0x00, 0x7a, 0x22, 0xc3, 0x17, 0x1d, 0x23, 0xdc, 0x1f,
-	0xec, 0x80, 0xcc, 0x39, 0x91, 0xe2, 0x5e, 0xc2, 0x65, 0x53, 0x68, 0xc9, 0xcf, 0x60, 0x83, 0x69,
-	0xa7, 0x87, 0x27, 0xda, 0x73, 0x12, 0xe4, 0xa6, 0x0f, 0x4a, 0xf4, 0x27, 0xba, 0x03, 0x25, 0x97,
-	0xf6, 0x6a, 0x4f, 0xc6, 0x27, 0xc4, 0x8b, 0x1e, 0xf6, 0xa8, 0xa8, 0xc3, 0x24, 0xf2, 0x5f, 0x8a,
-	0xb0, 0x3e, 0xe3, 0x22, 0xdf, 0x75, 0x6c, 0x9f, 0xa0, 0xcf, 0x41, 0x1a, 0xea, 0x06, 0x11, 0x9e,
-	0x54, 0xa3, 0x63, 0xf9, 0xcf, 0x97, 0xbb, 0xfd, 0xe1, 0x95, 0x61, 0xa2, 0xed, 0xa3, 0xff, 0x86,
-	0xb5, 0xe8, 0xc1, 0x22, 0x41, 0x1b, 0x7a, 0x73, 0x3b, 0x8d, 0x76, 0xb6, 0x42, 0xc4, 0xd5, 0x88,
-	0x45, 0x24, 0xef, 0x81, 0x64, 0x39, 0x23, 0x27, 0x41, 0x9c, 0xbb, 0x22, 0xf1, 0x0a, 0x65, 0x10,
-	0x49, 0x8f, 0x61, 0xd5, 0xd2, 0x4f, 0x88, 0x95, 0x60, 0xcd, 0x5f, 0x91, 0x55, 0x62, 0x14, 0x22,
-	0xad, 0x0f, 0x37, 0xad, 0xa8, 0xd4, 0xd2, 0x1c, 0x56, 0x6b, 0x25, 0x7a, 0xd8, 0x60, 0x3d, 0x3c,
-	0x98, 0x57, 0x04, 0x5e, 0x58, 0xa6, 0xe1, 0x4d, 0x2b, 0x4d, 0xc5, 0x1c, 0x34, 0xf3, 0x46, 0x4e,
-	0xcf, 0xf1, 0x15, 0x1d, 0x44, 0x19, 0x44, 0xd2, 0x2f, 0x60, 0x6d, 0x38, 0xb1, 0x2c, 0x6d, 0x86,
-	0x99, 0x3d, 0xc0, 0xcc, 0xd9, 0x29, 0xfd, 0x04, 0x0d, 0x46, 0x94, 0x23, 0x29, 0x43, 0x27, 0xb0,
-	0xe1, 0xeb, 0x43, 0x12, 0x05, 0x1e, 0x81, 0x3b, 0x0c, 0x0e, 0xf7, 0xd3, 0xb8, 0x2f, 0x2a, 0xfd,
-	0xf0, 0x9a, 0x7f, 0x51, 0x41, 0x38, 0x82, 0x1b, 0xe1, 0xa9, 0x9c, 0xd6, 0xc1, 0x62, 0x47, 0x85,
-	0xf9, 0xe1, 0x73, 0x26, 0xbb, 0xe3, 0xeb, 0x66, 0x52, 0x20, 0x74, 0xa4, 0xc1, 0xba, 0x10, 0x9d,
-	0x85, 0x2e, 0x4a, 0xf3, 0x03, 0xe9, 0x05, 0x99, 0x12, 0x57, 0x8d, 0x0b, 0xd2, 0x67, 0x0b, 0x96,
-	0x13, 0x81, 0x94, 0xbd, 0x53, 0xcd, 0x89, 0x2f, 0x62, 0x04, 0xc5, 0x65, 0x31, 0x76, 0x52, 0xc7,
-	0xcf, 0x04, 0xfd, 0x28, 0xfb, 0x55, 0xe6, 0x3b, 0x3e, 0x11, 0xf5, 0x79, 0x62, 0xc4, 0x6b, 0xee,
-	0x05, 0x52, 0x5a, 0xd9, 0x11, 0xcf, 0x73, 0x3c, 0x56, 0x98, 0x0a, 0x95, 0x9d, 0xe7, 0x1a, 0x3b,
-	0x3d, 0xf6, 0x49, 0x04, 0x87, 0x06, 0xe8, 0x90, 0x3f, 0x72, 0x9f, 0x06, 0xb5, 0x75, 0x66, 0xbb,
-	0x33, 0x77, 0x39, 0xce, 0x05, 0x45, 0x1c, 0xc1, 0xe5, 0x5f, 0x0b, 0xd9, 0x60, 0xdf, 0xb4, 0xa6,
-	0x91, 0x6e, 0x1f, 0xca, 0xa6, 0xed, 0x4e, 0x82, 0xf0, 0x7d, 0x75, 0xf4, 0xae, 0x4c, 0xdd, 0xa2,
-	0xb6, 0xec, 0xb5, 0x75, 0x84, 0x4b, 0xe6, 0xb4, 0x81, 0x9e, 0x41, 0xd1, 0xe3, 0x9c, 0x51, 0x4c,
-	0xfb, 0x97, 0x34, 0x92, 0x0b, 0x63, 0x2e, 0x9e, 0xe2, 0xe5, 0x21, 0x6c, 0xee, 0xe9, 0x41, 0xbc,
-	0x5b, 0x43, 0x43, 0x3f, 0x4a, 0x60, 0x87, 0x50, 0xf0, 0xc2, 0x9f, 0x51, 0x50, 0xbe, 0x7f, 0xc9,
-	0x9e, 0x18, 0x08, 0xc7, 0x68, 0xf9, 0x35, 0xdc, 0xb8, 0xb0, 0x1f, 0xee, 0x9b, 0xc4, 0x9c, 0x32,
-	0x7f, 0xe7, 0x9c, 0x7e, 0x9b, 0x85, 0x5a, 0xdd, 0x3f, 0xb3, 0x8d, 0xe4, 0x32, 0x84, 0x53, 0xfa,
-	0xbe, 0x56, 0xe1, 0x1f, 0x24, 0x4d, 0x53, 0x2a, 0x67, 0x12, 0x08, 0x13, 0xca, 0xcf, 0xa7, 0x52,
-	0x99, 0x31, 0x9f, 0x51, 0xd9, 0x11, 0x5a, 0xf2, 0x10, 0xae, 0x5f, 0xe0, 0x36, 0xbe, 0x42, 0xe7,
-	0xfa, 0xc9, 0x7c, 0xe7, 0x7e, 0x6c, 0xb8, 0xcd, 0xfa, 0x49, 0x6c, 0x08, 0xda, 0x59, 0xbc, 0xef,
-	0xda, 0xe7, 0xf6, 0x5d, 0xea, 0xcd, 0x25, 0x6d, 0xa1, 0x85, 0xbd, 0xe7, 0xc1, 0x9d, 0xd4, 0xfe,
-	0xf8, 0xec, 0xd4, 0xf3, 0xfb, 0xef, 0xc1, 0x15, 0x7a, 0x3c, 0xbf, 0x07, 0x2d, 0x28, 0x09, 0x5b,
-	0x07, 0x7d, 0x06, 0x30, 0x32, 0x7c, 0x8d, 0x7f, 0x2d, 0x0b, 0x5d, 0x97, 0x7a, 0xc7, 0x3b, 0x30,
-	0x7c, 0xfe, 0xad, 0xac, 0x38, 0x8a, 0x7e, 0xa2, 0x1b, 0x50, 0x1c, 0x9b, 0x63, 0xa2, 0xb1, 0xe7,
-	0x71, 0xfe, 0xad, 0x8e, 0x0a, 0xfa, 0x67, 0x2e, 0x91, 0xff, 0x1f, 0xca, 0xa2, 0xbf, 0x91, 0x0a,
-	0x2b, 0xb4, 0xbb, 0x01, 0xf1, 0x03, 0xd3, 0x0e, 0x33, 0x40, 0x66, 0x7e, 0xa6, 0x3c, 0x30, 0xfc,
-	0xe6, 0xd4, 0x1a, 0x57, 0x46, 0x89, 0x36, 0xba, 0x05, 0x70, 0x42, 0xbd, 0xa7, 0xf9, 0xe6, 0x37,
-	0x84, 0xd7, 0x77, 0x45, 0x26, 0xe9, 0x99, 0xdf, 0x10, 0xf9, 0x16, 0x14, 0xe3, 0x41, 0x9f, 0x2f,
-	0x0f, 0x65, 0x19, 0x2a, 0x49, 0xfe, 0x0b, 0x6c, 0x7e, 0x95, 0x85, 0x55, 0x35, 0xfa, 0x0a, 0x7e,
-	0x44, 0x02, 0x7d, 0xa0, 0x07, 0x3a, 0x52, 0x60, 0xc1, 0xa7, 0x6e, 0xe6, 0x4f, 0x29, 0xa9, 0x9f,
-	0xdc, 0xce, 0x21, 0x59, 0x78, 0x27, 0x38, 0x44, 0xa3, 0x27, 0x50, 0x32, 0x3c, 0xa2, 0x07, 0x44,
-	0x0b, 0xcc, 0x31, 0xe1, 0xd7, 0x8a, 0xcd, 0x88, 0x2c, 0xfa, 0x82, 0xbe, 0xd3, 0x8f, 0xbe, 0xa0,
-	0x63, 0x08, 0xcd, 0xa9, 0x80, 0x82, 0x27, 0xee, 0x20, 0x06, 0x2f, 0xbe, 0x1b, 0x1c, 0x9a, 0x53,
-	0x81, 0xfc, 0x39, 0x2c, 0xb0, 0x91, 0xa0, 0x75, 0x58, 0xed, 0xf5, 0xeb, 0xfd, 0xd9, 0x8f, 0xd7,
-	0x25, 0x58, 0x6a, 0x60, 0xa5, 0xde, 0x57, 0x9a, 0x52, 0x86, 0x36, 0xf0, 0x71, 0xa7, 0xd3, 0xea,
-	0x1c, 0x48, 0x59, 0x54, 0x80, 0x7c, 0x53, 0xed, 0x28, 0x52, 0x0e, 0x2d, 0x43, 0xb1, 0x51, 0xef,
-	0x34, 0x94, 0x76, 0x5b, 0x69, 0x4a, 0xf9, 0x7b, 0x04, 0x40, 0xf8, 0x26, 0x53, 0x82, 0x25, 0xfe,
-	0x81, 0x42, 0x7a, 0x0f, 0xad, 0xc2, 0xf2, 0x73, 0x05, 0xbf, 0xd4, 0x8e, 0x3b, 0xed, 0xd6, 0x33,
-	0xa5, 0xfd, 0x52, 0xca, 0xa0, 0x32, 0x14, 0xe2, 0x56, 0x96, 0xb6, 0xba, 0x6a, 0xaf, 0xd7, 0xda,
-	0x6b, 0x53, 0x62, 0x80, 0x45, 0xae, 0xc9, 0xa3, 0x15, 0x28, 0x31, 0x28, 0x17, 0x2c, 0x3c, 0xfc,
-	0x63, 0x16, 0x2a, 0x62, 0xae, 0x73, 0x3c, 0xf4, 0xd3, 0x0c, 0x54, 0x2f, 0x88, 0xe2, 0xe8, 0x61,
-	0xea, 0x85, 0x3f, 0x35, 0xb5, 0x6c, 0x7e, 0x7c, 0x25, 0x4c, 0x78, 0xac, 0xe4, 0xdb, 0x3f, 0xf8,
-	0xf6, 0xcf, 0x3f, 0xce, 0xd6, 0xe4, 0x6a, 0xfc, 0x1f, 0x24, 0xfe, 0x63, 0x5e, 0xe5, 0x90, 0xc7,
-	0x99, 0x7b, 0xe8, 0x27, 0x19, 0xb8, 0x96, 0x72, 0xd4, 0xd1, 0xa3, 0xb9, 0xe7, 0x39, 0x35, 0x16,
-	0x6d, 0xc6, 0xb7, 0x36, 0xe1, 0xff, 0x35, 0xa6, 0xfb, 0x4d, 0xfe, 0x90, 0x0d, 0xe9, 0xae, 0x7c,
-	0x93, 0x0e, 0x69, 0x48, 0x81, 0x8f, 0xf5, 0x73, 0x84, 0x8f, 0x33, 0xf7, 0xf6, 0xfe, 0x0f, 0x36,
-	0x0d, 0x67, 0x9c, 0x32, 0x88, 0xbd, 0x6a, 0xd2, 0xd5, 0x5d, 0xba, 0xab, 0xba, 0x99, 0x2f, 0x9f,
-	0x72, 0xf3, 0x91, 0x43, 0xaf, 0xe1, 0x3b, 0x8e, 0x37, 0xda, 0x1d, 0x11, 0x9b, 0xed, 0xb9, 0xdd,
-	0x50, 0xa5, 0xbb, 0xa6, 0x3f, 0xfb, 0x6f, 0x27, 0x4f, 0xc2, 0x5f, 0x7f, 0xcd, 0x64, 0x7e, 0x9e,
-	0xcd, 0x1f, 0x34, 0x9e, 0x77, 0x4e, 0x16, 0x19, 0xe4, 0xe3, 0xbf, 0x05, 0x00, 0x00, 0xff, 0xff,
-	0x3b, 0x54, 0xc8, 0x94, 0x8e, 0x23, 0x00, 0x00,
+	proto.RegisterFile("google/cloud/vision/v1/image_annotator.proto", fileDescriptor_image_annotator_6cd7110f88ccf60d)
+}
+
+var fileDescriptor_image_annotator_6cd7110f88ccf60d = []byte{
+	// 3240 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe4, 0x5a, 0x5f, 0x6f, 0x1b, 0x59,
+	0x15, 0x5f, 0xdb, 0x71, 0x62, 0x1f, 0x3b, 0xc9, 0xe4, 0x3a, 0x49, 0xdd, 0xb4, 0x69, 0xd3, 0x59,
+	0x96, 0x8d, 0xba, 0x25, 0xa1, 0xd9, 0xa5, 0x2c, 0xdb, 0x0a, 0xd6, 0x71, 0x26, 0x89, 0xb7, 0x8e,
+	0xed, 0xbd, 0x76, 0xda, 0xed, 0xb2, 0x62, 0x34, 0x19, 0x5f, 0xbb, 0xd3, 0x1d, 0xcf, 0x0c, 0x33,
+	0xe3, 0x36, 0x59, 0x24, 0x1e, 0x78, 0x40, 0xda, 0x57, 0x78, 0x02, 0x21, 0x84, 0x40, 0x82, 0x2f,
+	0x00, 0x3c, 0xf3, 0x86, 0x90, 0x78, 0x41, 0xfb, 0x15, 0x78, 0xe0, 0x23, 0x20, 0xf1, 0x82, 0xee,
+	0x9d, 0x3b, 0xe3, 0x3b, 0xfe, 0x57, 0xa7, 0xac, 0x10, 0x12, 0x4f, 0x9e, 0x7b, 0xfe, 0xfc, 0xee,
+	0x99, 0x73, 0xee, 0x39, 0xf7, 0xdc, 0x3b, 0x86, 0x3b, 0x5d, 0xdb, 0xee, 0x9a, 0x64, 0x57, 0x37,
+	0xed, 0x7e, 0x7b, 0xf7, 0xb9, 0xe1, 0x19, 0xb6, 0xb5, 0xfb, 0xfc, 0xee, 0xae, 0xd1, 0xd3, 0xba,
+	0x44, 0xd5, 0x2c, 0xcb, 0xf6, 0x35, 0xdf, 0x76, 0x77, 0x1c, 0xd7, 0xf6, 0x6d, 0xb4, 0x1e, 0x48,
+	0xef, 0x30, 0xe9, 0x9d, 0x40, 0x7a, 0xe7, 0xf9, 0xdd, 0x8d, 0xeb, 0x1c, 0x45, 0x73, 0x8c, 0x5d,
+	0xae, 0x63, 0xd8, 0x96, 0x17, 0x68, 0x6d, 0xbc, 0x31, 0x61, 0x8e, 0x2e, 0xb1, 0x7b, 0xc4, 0x77,
+	0x2f, 0xb8, 0xd8, 0x5b, 0x13, 0xc4, 0x1c, 0xd7, 0x6e, 0xf7, 0x75, 0x5f, 0xf5, 0x88, 0xe6, 0xea,
+	0x4f, 0xb9, 0xf0, 0x24, 0xbb, 0x7d, 0x72, 0xee, 0xab, 0x03, 0x13, 0xb8, 0xf4, 0xed, 0x09, 0xd2,
+	0x2f, 0xc8, 0x99, 0xda, 0x26, 0x3e, 0xd1, 0x05, 0xd9, 0xd7, 0xb9, 0xac, 0x69, 0x5b, 0x5d, 0xb7,
+	0x6f, 0x59, 0x86, 0xd5, 0xdd, 0xb5, 0x1d, 0xe2, 0xc6, 0x5e, 0x69, 0x8b, 0x0b, 0xb1, 0xd1, 0x59,
+	0xbf, 0xb3, 0xdb, 0x31, 0x88, 0xd9, 0x56, 0x7b, 0x9a, 0xf7, 0x29, 0x97, 0xb8, 0x39, 0x2c, 0xe1,
+	0x1b, 0x3d, 0xe2, 0xf9, 0x5a, 0xcf, 0xe1, 0x02, 0x57, 0xb8, 0x80, 0xeb, 0xe8, 0xbb, 0x9e, 0xaf,
+	0xf9, 0x7d, 0x6f, 0x88, 0xe1, 0x5f, 0x38, 0x64, 0x57, 0xb7, 0xcd, 0xd0, 0xfb, 0x1b, 0x45, 0x91,
+	0x61, 0x6a, 0xbe, 0x69, 0x75, 0x03, 0x8e, 0xfc, 0xab, 0x14, 0x2c, 0x1c, 0x12, 0xcd, 0xef, 0xbb,
+	0x04, 0xbd, 0x0b, 0x73, 0x54, 0xa0, 0x98, 0xd8, 0x4a, 0x6c, 0x2f, 0xed, 0x7d, 0x65, 0x67, 0x7c,
+	0xc8, 0x76, 0xb8, 0xf8, 0x4e, 0xeb, 0xc2, 0x21, 0x98, 0x69, 0xa0, 0x9b, 0x90, 0xeb, 0x69, 0xe7,
+	0xaa, 0x4b, 0xbc, 0xbe, 0xe9, 0x7b, 0xc5, 0xe4, 0x56, 0x62, 0x3b, 0x8d, 0xa1, 0xa7, 0x9d, 0xe3,
+	0x80, 0x82, 0x56, 0x21, 0xdd, 0xb3, 0xdb, 0xc4, 0x2c, 0xa6, 0xb6, 0x12, 0xdb, 0x59, 0x1c, 0x0c,
+	0xe4, 0xdf, 0x24, 0x61, 0x8e, 0xa2, 0xa0, 0x55, 0x90, 0x5a, 0x4f, 0x1a, 0x8a, 0x7a, 0x5a, 0x6b,
+	0x36, 0x94, 0x72, 0xe5, 0xb0, 0xa2, 0x1c, 0x48, 0xaf, 0x21, 0x04, 0x4b, 0x87, 0xa5, 0xb2, 0xa2,
+	0x1e, 0x28, 0x2d, 0xa5, 0xdc, 0xaa, 0xd4, 0x6b, 0x52, 0x02, 0xad, 0x03, 0xaa, 0x96, 0x6a, 0x07,
+	0x27, 0x25, 0xfc, 0x50, 0xa0, 0x27, 0xa9, 0x6c, 0xb5, 0x7e, 0x54, 0x17, 0x68, 0x29, 0x54, 0x80,
+	0xe5, 0x6a, 0x69, 0x5f, 0xa9, 0x0a, 0xc4, 0x39, 0x2a, 0xd8, 0x52, 0x3e, 0x6a, 0x09, 0xb4, 0x34,
+	0xba, 0x06, 0x57, 0x0e, 0xea, 0xe5, 0xd3, 0x13, 0xa5, 0xd6, 0x52, 0x87, 0x98, 0x39, 0x74, 0x15,
+	0xd6, 0x9a, 0xa5, 0x43, 0x45, 0x6d, 0x2a, 0x25, 0x5c, 0x3e, 0x16, 0x58, 0xf3, 0xd4, 0xec, 0xca,
+	0x49, 0xe9, 0x48, 0x51, 0x1b, 0xb8, 0xde, 0x50, 0x70, 0xab, 0xa2, 0x34, 0xa5, 0x05, 0xb4, 0x04,
+	0x50, 0xc6, 0xf5, 0x86, 0x7a, 0x5c, 0xa9, 0xb5, 0x9a, 0x52, 0x16, 0xad, 0xc0, 0xe2, 0x63, 0x65,
+	0x5f, 0x50, 0x04, 0x6a, 0x44, 0x03, 0xd7, 0x0f, 0x4e, 0xcb, 0x2d, 0x0e, 0x2b, 0xe5, 0xd1, 0x15,
+	0x28, 0xd4, 0xf7, 0x3f, 0x50, 0xca, 0x2d, 0xb5, 0x5a, 0x2f, 0x97, 0xaa, 0x95, 0x8f, 0x4b, 0x4c,
+	0xb8, 0x20, 0xd7, 0x20, 0x57, 0xa1, 0x39, 0xd5, 0xb4, 0xfb, 0xae, 0x4e, 0x90, 0x0c, 0x8b, 0x5d,
+	0xdd, 0x53, 0x83, 0x34, 0xeb, 0xbb, 0x06, 0x0b, 0x57, 0x16, 0xe7, 0xba, 0xba, 0xc7, 0xc4, 0x4e,
+	0x5d, 0x03, 0x5d, 0x83, 0xec, 0x80, 0x9f, 0x64, 0xfc, 0x8c, 0xc1, 0x99, 0xf2, 0xf7, 0x20, 0xcd,
+	0x04, 0x51, 0x11, 0x16, 0x74, 0xdb, 0xf2, 0x89, 0xe5, 0x33, 0x8c, 0x3c, 0x0e, 0x87, 0xe8, 0x3e,
+	0xcc, 0x7b, 0x6c, 0x36, 0xa6, 0x9c, 0xdb, 0x7b, 0x7d, 0xd2, 0x5a, 0x10, 0x0c, 0xc3, 0x5c, 0x45,
+	0xfe, 0xdb, 0x32, 0x2c, 0x1d, 0x6a, 0x3a, 0x29, 0x45, 0xb9, 0x84, 0x2a, 0xb0, 0x78, 0x66, 0xf7,
+	0xad, 0xb6, 0x61, 0x75, 0x55, 0xc7, 0x36, 0x2f, 0xd8, 0x7c, 0xb9, 0xc9, 0x4b, 0x6c, 0x9f, 0x0b,
+	0x37, 0x6c, 0xf3, 0x02, 0xe7, 0xcf, 0x84, 0x11, 0xaa, 0x81, 0xd4, 0x69, 0xab, 0x71, 0xb4, 0xe4,
+	0x25, 0xd0, 0x96, 0x3a, 0x6d, 0x71, 0x8c, 0x4e, 0x20, 0x6b, 0x6a, 0x56, 0xbb, 0xa7, 0xb9, 0x9f,
+	0x7a, 0xc5, 0xd4, 0x56, 0x6a, 0x3b, 0xb7, 0xb7, 0x3b, 0x71, 0xe5, 0xc7, 0xde, 0x6a, 0xa7, 0xca,
+	0xf5, 0xf0, 0x00, 0x01, 0x6d, 0x02, 0xb8, 0xb6, 0x69, 0xaa, 0x9a, 0xd5, 0x35, 0x49, 0x71, 0x6e,
+	0x2b, 0xb1, 0x9d, 0xc4, 0x59, 0x4a, 0x29, 0x51, 0x02, 0x0d, 0x8c, 0xa3, 0x59, 0x9c, 0x9b, 0x66,
+	0xdc, 0x8c, 0xa3, 0x59, 0x01, 0x73, 0x13, 0xc0, 0x37, 0x4c, 0x9f, 0x73, 0xe7, 0x03, 0x5d, 0x4a,
+	0x09, 0xd8, 0x77, 0x61, 0x35, 0xaa, 0x38, 0xaa, 0x6e, 0x5b, 0x1d, 0xa3, 0x4d, 0x2c, 0x9d, 0x14,
+	0x17, 0x98, 0x60, 0x21, 0xe2, 0x95, 0x23, 0x16, 0xfa, 0x06, 0xac, 0x87, 0xa6, 0x51, 0x67, 0x09,
+	0x4a, 0x19, 0xa6, 0xb4, 0x26, 0x70, 0x05, 0xb5, 0x0a, 0x2c, 0x3d, 0xb3, 0x2f, 0x54, 0xd3, 0xf8,
+	0x94, 0x98, 0xc6, 0x53, 0xdb, 0x6e, 0x17, 0xb3, 0xac, 0x24, 0xc8, 0x93, 0x1c, 0x53, 0x8d, 0x24,
+	0xf1, 0xe2, 0x33, 0xfb, 0x62, 0x30, 0x44, 0x75, 0x58, 0xf1, 0x6c, 0xd7, 0xb5, 0x5f, 0x88, 0x68,
+	0x30, 0x33, 0x9a, 0x14, 0x28, 0x0b, 0x80, 0x27, 0x20, 0x69, 0x56, 0x97, 0xb8, 0x22, 0x5e, 0x6e,
+	0x66, 0xbc, 0x65, 0xa6, 0x2b, 0xc0, 0x35, 0xa1, 0xe0, 0xf5, 0x5d, 0xc7, 0x35, 0x3c, 0x22, 0x22,
+	0xe6, 0x67, 0x46, 0x44, 0xa1, 0xba, 0x00, 0xfa, 0x09, 0x14, 0xfb, 0x56, 0x9b, 0xb8, 0x2a, 0x39,
+	0x77, 0x6c, 0x8f, 0xb4, 0x45, 0xe4, 0xc5, 0x99, 0x91, 0xd7, 0x19, 0x86, 0x12, 0x40, 0x08, 0xe8,
+	0x1f, 0x02, 0x3a, 0x33, 0xfb, 0xae, 0x1b, 0xc7, 0x5d, 0x9a, 0x19, 0x77, 0x85, 0x6b, 0xc7, 0xbd,
+	0xf0, 0x94, 0x68, 0xed, 0x17, 0x44, 0x8b, 0xf9, 0x75, 0x79, 0x76, 0x2f, 0x84, 0xea, 0x03, 0xda,
+	0xc6, 0x5f, 0x16, 0x20, 0x13, 0xa6, 0x08, 0x3a, 0xe6, 0x7b, 0x4b, 0x8a, 0x41, 0xbe, 0x73, 0xc9,
+	0x0c, 0x13, 0xf7, 0x9a, 0x07, 0x90, 0x71, 0x6c, 0xcf, 0xa0, 0x7c, 0x96, 0x5f, 0xb9, 0xbd, 0xad,
+	0x49, 0x68, 0x0d, 0x2e, 0x87, 0x23, 0x0d, 0xf9, 0xf7, 0xf3, 0x83, 0x2d, 0xe7, 0xb4, 0xf6, 0xb0,
+	0x56, 0x7f, 0x5c, 0x53, 0xc3, 0x0d, 0x45, 0x7a, 0x0d, 0xe5, 0x21, 0x53, 0x55, 0x0e, 0x5b, 0xaa,
+	0xf2, 0x44, 0x91, 0x12, 0x68, 0x11, 0xb2, 0xb8, 0x72, 0x74, 0x1c, 0x0c, 0x93, 0xa8, 0x08, 0xab,
+	0x8c, 0x59, 0x3f, 0x54, 0x43, 0xa1, 0x7d, 0x5c, 0x7f, 0x2c, 0xa5, 0xe8, 0x1e, 0x11, 0x08, 0x0e,
+	0xb3, 0xe6, 0x28, 0x2b, 0x54, 0x8a, 0xb0, 0x18, 0x2b, 0x8d, 0x36, 0x60, 0x3d, 0xd2, 0x8a, 0xf3,
+	0xe6, 0xa9, 0xda, 0x49, 0xe5, 0xa0, 0x51, 0xaf, 0xd4, 0x5a, 0xea, 0xbe, 0xd2, 0x7a, 0xac, 0x28,
+	0x35, 0xca, 0xa5, 0xfb, 0x4b, 0x1e, 0x32, 0xb5, 0x7a, 0x53, 0x51, 0x5b, 0x95, 0x86, 0x94, 0xa1,
+	0x36, 0x9e, 0x36, 0x1a, 0x0a, 0x56, 0xab, 0x95, 0x86, 0x94, 0xa5, 0xc3, 0x6a, 0xfd, 0x31, 0x1f,
+	0x02, 0xdd, 0x8b, 0x4e, 0xea, 0xa7, 0xad, 0x63, 0x66, 0x95, 0x94, 0x43, 0xcb, 0x90, 0x0b, 0xc6,
+	0x6c, 0x3e, 0x29, 0x8f, 0x24, 0xc8, 0x07, 0x84, 0xb2, 0x52, 0x6b, 0x29, 0x58, 0x5a, 0x44, 0x6b,
+	0xb0, 0xc2, 0xe0, 0xf7, 0xeb, 0xad, 0x56, 0xfd, 0x84, 0x0b, 0x2e, 0x51, 0x7f, 0x89, 0x64, 0x86,
+	0xb7, 0x4c, 0xb7, 0x63, 0x91, 0xca, 0x41, 0xa4, 0xe8, 0xad, 0x95, 0x27, 0x8a, 0xda, 0xaa, 0x37,
+	0xd4, 0xfd, 0xfa, 0x69, 0xed, 0xa0, 0x84, 0x9f, 0x48, 0x2b, 0x31, 0x56, 0xf0, 0xd6, 0xe5, 0x3a,
+	0xae, 0x29, 0x58, 0x42, 0xe8, 0x3a, 0x14, 0x23, 0x16, 0x47, 0x8c, 0x14, 0x0b, 0x91, 0xfb, 0x29,
+	0x97, 0x3d, 0x70, 0xbd, 0xd5, 0x81, 0x23, 0x47, 0xa6, 0x5b, 0x8b, 0xf3, 0x62, 0xf3, 0xad, 0xa3,
+	0x4d, 0xb8, 0x3a, 0xe0, 0x0d, 0x4f, 0x78, 0x65, 0x10, 0xd5, 0xe1, 0x19, 0x8b, 0xe8, 0x26, 0x5c,
+	0x13, 0xe3, 0xac, 0x06, 0x21, 0x08, 0x23, 0x26, 0x5d, 0x45, 0x5b, 0x70, 0x3d, 0x16, 0xd2, 0x61,
+	0x89, 0x0d, 0xea, 0xd0, 0x00, 0xa2, 0x84, 0xd5, 0x16, 0x2e, 0x1d, 0xd1, 0xcd, 0xfe, 0x1a, 0xf5,
+	0x3e, 0xd7, 0x13, 0xc8, 0xd7, 0x59, 0x7b, 0x13, 0xbe, 0x7b, 0xe3, 0xb4, 0x51, 0xa9, 0x4a, 0x9b,
+	0xb4, 0xbd, 0x19, 0x98, 0x17, 0x10, 0x6f, 0x50, 0xfd, 0xc3, 0x3a, 0x56, 0x8e, 0x95, 0xd2, 0x81,
+	0x7a, 0xc4, 0xba, 0x9f, 0x6a, 0x49, 0xba, 0x49, 0x7b, 0x90, 0xf2, 0x71, 0xa5, 0xa6, 0x1e, 0xd5,
+	0x4a, 0xad, 0x63, 0x0a, 0xb9, 0x45, 0xe7, 0x67, 0x24, 0x86, 0x7b, 0x54, 0xaf, 0x51, 0xea, 0x2d,
+	0xaa, 0xcf, 0xa8, 0x01, 0x32, 0x27, 0xcb, 0xf2, 0x03, 0xc8, 0x57, 0x6d, 0x9d, 0x25, 0x65, 0xc5,
+	0xea, 0xd8, 0xe8, 0x0e, 0x2c, 0x98, 0x9a, 0xaf, 0x9a, 0x56, 0x97, 0x6f, 0xe5, 0x85, 0x30, 0x07,
+	0x69, 0x8e, 0xee, 0x54, 0x35, 0xbf, 0x6a, 0x75, 0xf1, 0xbc, 0xc9, 0x7e, 0xe5, 0xc7, 0x90, 0x69,
+	0xb8, 0xb4, 0x13, 0xf6, 0x2f, 0x10, 0x82, 0x39, 0x4b, 0xeb, 0x11, 0xde, 0xb5, 0xb0, 0x67, 0xda,
+	0x1d, 0x3e, 0xd7, 0xcc, 0x3e, 0xe1, 0xad, 0x4a, 0x30, 0x40, 0xb7, 0x20, 0xdf, 0x37, 0x2c, 0xff,
+	0xde, 0x3b, 0x6a, 0xc0, 0xa4, 0xa5, 0x63, 0x0e, 0xe7, 0x02, 0xda, 0x23, 0x4a, 0x92, 0x3f, 0x4f,
+	0x81, 0xa4, 0x58, 0xbe, 0xe1, 0x5f, 0x08, 0xcd, 0x86, 0x04, 0xa9, 0x9e, 0xd1, 0xe6, 0x13, 0xd0,
+	0x47, 0xb4, 0x0e, 0xf3, 0xa6, 0xad, 0x6b, 0x66, 0x38, 0x01, 0x1f, 0xa1, 0x2d, 0xc8, 0xb5, 0x89,
+	0xa7, 0xbb, 0x86, 0xc3, 0xaa, 0x49, 0xd0, 0x9b, 0x8a, 0x24, 0x6a, 0x99, 0xa7, 0xdb, 0x6e, 0xb8,
+	0x93, 0x07, 0x03, 0x24, 0x03, 0x08, 0x5b, 0x29, 0xdb, 0xc6, 0xf7, 0x93, 0xc5, 0x04, 0x16, 0xa8,
+	0xe8, 0x06, 0x80, 0x6f, 0x3b, 0x86, 0xae, 0x99, 0x86, 0x7f, 0xc1, 0x37, 0x73, 0x81, 0x32, 0xda,
+	0x12, 0x2d, 0xbc, 0x72, 0x4b, 0xb4, 0x0f, 0x59, 0x93, 0x07, 0xc7, 0x2b, 0x66, 0x58, 0x0b, 0x33,
+	0x11, 0x46, 0x8c, 0x22, 0x1e, 0xa8, 0xa1, 0xf7, 0x01, 0x9c, 0x20, 0x44, 0x06, 0xf1, 0x8a, 0x59,
+	0x06, 0x32, 0xb9, 0xae, 0xf2, 0x60, 0x62, 0x41, 0x47, 0xfe, 0x73, 0x02, 0xae, 0x52, 0x74, 0xd3,
+	0xf8, 0x8c, 0xb4, 0xeb, 0x67, 0xcf, 0x88, 0xee, 0x4f, 0x0d, 0xca, 0xeb, 0xb0, 0x68, 0x6a, 0x56,
+	0xb7, 0x4f, 0xdb, 0x54, 0xdd, 0x6e, 0x87, 0xb1, 0xc9, 0x87, 0xc4, 0xb2, 0xdd, 0x26, 0xd1, 0x6a,
+	0x49, 0xc5, 0x57, 0xcb, 0x98, 0x98, 0x8c, 0xf8, 0x33, 0xfd, 0xaa, 0xfe, 0x94, 0xff, 0x94, 0x84,
+	0xd5, 0xa6, 0xd6, 0x21, 0x4d, 0x76, 0x6c, 0x14, 0x5e, 0xe2, 0x5d, 0x48, 0x6b, 0xed, 0xbe, 0xe9,
+	0xf3, 0x13, 0xd2, 0x2c, 0x1b, 0x63, 0xa0, 0x40, 0x35, 0x3d, 0xc7, 0xb6, 0x3b, 0xec, 0x25, 0x67,
+	0xd4, 0x64, 0x0a, 0xe8, 0x01, 0x2c, 0xf4, 0x48, 0x9b, 0xae, 0x1a, 0xbe, 0x77, 0xce, 0xa2, 0x1b,
+	0xaa, 0xa0, 0x6f, 0x43, 0xe6, 0xb9, 0x61, 0x9b, 0x6c, 0x9d, 0xce, 0xcd, 0xac, 0x1e, 0xe9, 0xa0,
+	0x7b, 0x30, 0xe7, 0x6a, 0xfa, 0xc5, 0x25, 0xfa, 0x3f, 0x26, 0x2f, 0xbf, 0x80, 0x1c, 0xad, 0x01,
+	0xb6, 0xd5, 0xc5, 0x44, 0xf7, 0xd1, 0xdb, 0x90, 0xeb, 0x19, 0x96, 0x3a, 0x43, 0xc9, 0xc8, 0xf6,
+	0x0c, 0x2b, 0x78, 0x64, 0x4a, 0xda, 0x79, 0xa4, 0x94, 0x9c, 0xa6, 0xa4, 0x9d, 0x07, 0x8f, 0xb2,
+	0x0b, 0xd9, 0x32, 0x3d, 0xf8, 0xb2, 0x2a, 0xb5, 0x0d, 0x69, 0x76, 0x0a, 0xe6, 0x13, 0xa2, 0x98,
+	0x2e, 0x13, 0xc3, 0x81, 0xc0, 0x60, 0x4d, 0x25, 0xc5, 0x35, 0xf5, 0x06, 0x2c, 0x39, 0xc6, 0x39,
+	0x31, 0xd5, 0x8e, 0xab, 0xe9, 0x51, 0x89, 0x48, 0xe2, 0x45, 0x46, 0x3d, 0xe4, 0x44, 0xf9, 0x14,
+	0x8a, 0x07, 0x76, 0xcf, 0xb0, 0x34, 0xcb, 0x67, 0xa0, 0x9e, 0xb0, 0x64, 0xbe, 0x05, 0xf3, 0x6c,
+	0x06, 0xaf, 0x98, 0x60, 0x39, 0x75, 0x6b, 0x92, 0x0b, 0x23, 0xab, 0x31, 0x57, 0x90, 0x4d, 0x58,
+	0x66, 0xc7, 0xab, 0x46, 0x94, 0x63, 0xe8, 0x09, 0x2c, 0xb7, 0xf9, 0x4c, 0x6a, 0x04, 0x4b, 0x5f,
+	0xed, 0xeb, 0x93, 0x60, 0x27, 0x19, 0x86, 0x97, 0xda, 0x31, 0x8e, 0xfc, 0xdb, 0x04, 0x64, 0xca,
+	0xae, 0xed, 0x1c, 0x1b, 0x96, 0xff, 0x65, 0x9e, 0xd7, 0x6e, 0xc4, 0x6a, 0x65, 0xe0, 0x5e, 0xb1,
+	0x4e, 0xee, 0x42, 0xc1, 0xe8, 0x39, 0xb6, 0xeb, 0x6b, 0x96, 0x4e, 0x86, 0x1d, 0x8d, 0x06, 0xac,
+	0xc8, 0xdb, 0x8f, 0xa0, 0x10, 0xda, 0x29, 0x3a, 0xfa, 0x3b, 0x00, 0xba, 0x6b, 0x3b, 0xea, 0x53,
+	0x4a, 0xe7, 0xce, 0x9e, 0x58, 0xc0, 0x42, 0x00, 0x9c, 0xd5, 0x43, 0x28, 0xf9, 0x1e, 0x2c, 0x47,
+	0xb8, 0x0d, 0xcd, 0xd5, 0x7a, 0x1e, 0x2d, 0x51, 0x9a, 0xe7, 0x10, 0xdd, 0x57, 0xd9, 0x1d, 0x4e,
+	0x00, 0x9b, 0xc4, 0xf9, 0x80, 0x88, 0x19, 0x4d, 0x3e, 0x00, 0xf4, 0x98, 0x9c, 0x1d, 0x84, 0xa7,
+	0x2f, 0xae, 0xba, 0x03, 0x05, 0xc3, 0xd2, 0xcd, 0x7e, 0x9b, 0xa8, 0x5d, 0x62, 0xc7, 0x6e, 0x46,
+	0x32, 0x78, 0x85, 0xb3, 0x8e, 0x88, 0xcd, 0x2f, 0x48, 0xe4, 0x9f, 0xa4, 0x20, 0xcf, 0xa2, 0x5d,
+	0xa6, 0x47, 0xf0, 0x73, 0x1f, 0x1d, 0xd1, 0xf2, 0xe8, 0xab, 0xa6, 0x6d, 0x75, 0x55, 0x97, 0xe8,
+	0x3e, 0x0f, 0xc1, 0xc4, 0x93, 0xb8, 0x90, 0x6e, 0x38, 0x67, 0x0a, 0xb9, 0xf7, 0x06, 0x2c, 0x45,
+	0x75, 0x36, 0x70, 0x4e, 0x72, 0x2b, 0xb5, 0x9d, 0xc5, 0x51, 0xf5, 0x65, 0x6f, 0x8c, 0x9a, 0xb0,
+	0x32, 0xf0, 0x9f, 0xea, 0xb0, 0xb7, 0xe0, 0xfd, 0xf5, 0x9b, 0x2f, 0x73, 0x23, 0xf7, 0x17, 0x5e,
+	0xd6, 0x87, 0x1c, 0xa8, 0xc2, 0x5a, 0xfc, 0x0e, 0x2e, 0x04, 0x0e, 0x8a, 0xf3, 0x5b, 0x53, 0x36,
+	0x18, 0xaa, 0x14, 0x14, 0x60, 0x0e, 0x5e, 0x70, 0x46, 0x89, 0xe8, 0x13, 0x58, 0x8d, 0xdd, 0xc4,
+	0x85, 0xf8, 0xf3, 0x0c, 0xff, 0xf6, 0x24, 0xfc, 0xd1, 0x80, 0x61, 0xf4, 0x62, 0x84, 0x26, 0x7f,
+	0x91, 0x80, 0x55, 0xbe, 0xc4, 0x08, 0x0b, 0x0e, 0x26, 0xdf, 0xef, 0x13, 0x8f, 0xd6, 0xb3, 0x34,
+	0xbb, 0x4e, 0xe1, 0x41, 0xd9, 0x9c, 0x7a, 0x3d, 0x82, 0x03, 0x59, 0x74, 0x1f, 0x32, 0x9d, 0xe0,
+	0xea, 0x2c, 0x08, 0x41, 0x6e, 0xef, 0xe6, 0x4b, 0xae, 0xd8, 0x70, 0xa4, 0x40, 0x33, 0x32, 0xb8,
+	0xd1, 0xd1, 0x83, 0xf5, 0xc1, 0x12, 0x64, 0x4a, 0x46, 0x8a, 0x6b, 0x09, 0xe7, 0x0d, 0x61, 0x24,
+	0x3f, 0x84, 0x75, 0xc6, 0x1d, 0x24, 0x4f, 0xb8, 0xe6, 0x24, 0x48, 0x0d, 0x2e, 0x94, 0xe8, 0x23,
+	0xba, 0x09, 0x39, 0x87, 0xce, 0x6a, 0xf5, 0x7b, 0x67, 0xc4, 0x0d, 0x2f, 0xf6, 0x28, 0xa9, 0xc6,
+	0x28, 0xf2, 0x3f, 0xb2, 0xb0, 0x36, 0xe4, 0x22, 0xcf, 0xb1, 0x2d, 0x8f, 0xa0, 0x0f, 0x41, 0xea,
+	0x68, 0x3a, 0x11, 0xae, 0x54, 0xc3, 0xb4, 0xfc, 0xea, 0x6c, 0xa7, 0x3f, 0xbc, 0xdc, 0x89, 0x8d,
+	0x3d, 0xf4, 0x5d, 0x58, 0x0d, 0x2f, 0x2c, 0x62, 0xb0, 0x81, 0x37, 0xb7, 0x27, 0xc1, 0x0e, 0x77,
+	0x88, 0xb8, 0x10, 0xa2, 0x88, 0xe0, 0x4d, 0x90, 0x4c, 0xbb, 0x6b, 0xc7, 0x80, 0x53, 0x97, 0x04,
+	0x5e, 0xa6, 0x08, 0x22, 0xe8, 0x29, 0xac, 0x98, 0xda, 0x19, 0x31, 0x63, 0xa8, 0x73, 0x97, 0x44,
+	0x95, 0x18, 0x84, 0x08, 0xeb, 0xc1, 0x75, 0x33, 0x6c, 0xb5, 0x54, 0x9b, 0xf5, 0x5a, 0xb1, 0x19,
+	0xd6, 0xd9, 0x0c, 0x77, 0xa7, 0x35, 0x81, 0x63, 0xdb, 0x34, 0xbc, 0x61, 0x4e, 0x62, 0x31, 0x07,
+	0x0d, 0xdd, 0x91, 0xd3, 0x3c, 0xbe, 0xa4, 0x83, 0x28, 0x82, 0x08, 0xfa, 0x11, 0xac, 0x76, 0xfa,
+	0xa6, 0xa9, 0x0e, 0x21, 0xb3, 0x0b, 0x98, 0x29, 0x2b, 0xa5, 0x15, 0x83, 0xc1, 0x88, 0x62, 0xc4,
+	0x69, 0xe8, 0x0c, 0xd6, 0x3d, 0xad, 0x43, 0xc2, 0xc2, 0x23, 0x60, 0x07, 0xc5, 0xe1, 0xce, 0x24,
+	0xec, 0x71, 0xad, 0x1f, 0x5e, 0xf5, 0xc6, 0x35, 0x84, 0x5d, 0xb8, 0x16, 0x64, 0xe5, 0xa0, 0x0f,
+	0x16, 0x27, 0xca, 0x4c, 0x2f, 0x9f, 0x43, 0xbb, 0x3b, 0xbe, 0x6a, 0xc4, 0x09, 0xc2, 0x44, 0x2a,
+	0xac, 0x09, 0xd5, 0x59, 0x98, 0x22, 0x37, 0xbd, 0x90, 0x8e, 0xd9, 0x29, 0x71, 0x41, 0x1f, 0xb3,
+	0x7d, 0x56, 0x60, 0x31, 0x56, 0x48, 0xd9, 0x3d, 0xd5, 0x94, 0xfa, 0x22, 0x56, 0x50, 0x9c, 0x17,
+	0x6b, 0x27, 0x75, 0xfc, 0x50, 0xd1, 0x0f, 0x77, 0xbf, 0xa5, 0xe9, 0x8e, 0x8f, 0x55, 0x7d, 0xbe,
+	0x31, 0xe2, 0x55, 0x67, 0x0c, 0x95, 0x76, 0x76, 0xc4, 0x75, 0x6d, 0x97, 0x35, 0xa6, 0x42, 0x67,
+	0xe7, 0x3a, 0xfa, 0x4e, 0x93, 0x7d, 0x12, 0xc1, 0x81, 0x00, 0x3a, 0xe6, 0x97, 0xdc, 0xe7, 0x7e,
+	0x71, 0x8d, 0xc9, 0xee, 0x4c, 0x0d, 0xc7, 0x48, 0x51, 0xc4, 0xa1, 0xba, 0xfc, 0x57, 0x61, 0x37,
+	0x38, 0x34, 0xcc, 0x41, 0xa5, 0x3b, 0x84, 0xbc, 0x61, 0x39, 0x7d, 0x3f, 0xb8, 0x5f, 0xed, 0xbe,
+	0x6c, 0xa7, 0xae, 0x50, 0x59, 0x76, 0xdb, 0xda, 0xc5, 0x39, 0x63, 0x30, 0x40, 0x0f, 0x21, 0xeb,
+	0x72, 0xcc, 0xb0, 0xa6, 0x7d, 0x6d, 0x12, 0xc8, 0xd8, 0x9a, 0x8b, 0x07, 0xfa, 0xb4, 0x72, 0xfb,
+	0xb6, 0xaf, 0x99, 0x2a, 0x2d, 0xd6, 0x1e, 0xdb, 0x2e, 0xd2, 0xf4, 0x00, 0xea, 0x6b, 0x66, 0x83,
+	0x52, 0xe4, 0x0e, 0x6c, 0xec, 0x6b, 0x7e, 0xb4, 0x9c, 0x03, 0x24, 0x2f, 0xdc, 0xe1, 0x8e, 0x21,
+	0xe3, 0x06, 0x8f, 0x61, 0xd5, 0xbe, 0x33, 0xa3, 0x29, 0x4c, 0x09, 0x47, 0xda, 0xf2, 0x33, 0xb8,
+	0x36, 0x76, 0x1e, 0xee, 0xbc, 0xd8, 0x4b, 0x27, 0xfe, 0xb3, 0x97, 0x96, 0xff, 0x95, 0x80, 0x42,
+	0x3c, 0x44, 0xc1, 0xdb, 0x7c, 0x59, 0x11, 0xfa, 0x1f, 0xd9, 0xc2, 0xe9, 0x71, 0x25, 0x08, 0x2b,
+	0xdd, 0x4a, 0xd2, 0x38, 0x18, 0xc8, 0x6d, 0xb8, 0x1a, 0xf3, 0x34, 0xf5, 0x40, 0x14, 0xd0, 0xa3,
+	0x91, 0x80, 0xbe, 0xf5, 0x32, 0x37, 0x0b, 0x1e, 0x14, 0xe2, 0xf9, 0x74, 0x68, 0xdd, 0xf0, 0x59,
+	0x78, 0x38, 0x3f, 0x18, 0x0d, 0xe7, 0x9d, 0xd9, 0xe6, 0x19, 0x8d, 0xe6, 0x1f, 0x92, 0x50, 0x2c,
+	0x79, 0x17, 0x96, 0xfe, 0xff, 0x10, 0xd2, 0x0a, 0x2c, 0xda, 0x7d, 0x5f, 0x78, 0xa1, 0xb9, 0xe9,
+	0x50, 0x75, 0x26, 0xcc, 0xdf, 0x28, 0x6f, 0x0b, 0x23, 0xb9, 0x03, 0x57, 0xc7, 0xb8, 0x8d, 0x07,
+	0x68, 0x64, 0x9e, 0xc4, 0x2b, 0xcf, 0xf3, 0xc7, 0x04, 0xdc, 0x64, 0x13, 0xfd, 0x37, 0xea, 0xc8,
+	0xa8, 0xe1, 0xc9, 0x57, 0x36, 0xbc, 0x07, 0x5b, 0x93, 0xed, 0xfe, 0xf2, 0xfd, 0x64, 0xc1, 0x8d,
+	0xd1, 0xe9, 0x62, 0xc9, 0x59, 0x1d, 0xf1, 0xd2, 0xc4, 0x03, 0xfd, 0xa4, 0x84, 0x10, 0x32, 0xd4,
+	0x1d, 0x17, 0x96, 0x78, 0x9a, 0xd6, 0x47, 0xd3, 0xf4, 0xee, 0x25, 0x66, 0x1c, 0xcd, 0xd5, 0x1f,
+	0x27, 0x20, 0x27, 0xe4, 0x18, 0x7a, 0x1f, 0xa0, 0xab, 0x7b, 0x2a, 0xff, 0x8a, 0x1c, 0xf8, 0x6e,
+	0xe2, 0xdd, 0xc7, 0x91, 0xee, 0xf1, 0x6f, 0xc8, 0xd9, 0x6e, 0xf8, 0x28, 0x7e, 0x9d, 0x4e, 0xc5,
+	0xbf, 0x4e, 0x5f, 0x83, 0x6c, 0xcf, 0xe8, 0x11, 0x95, 0x7d, 0x50, 0xe2, 0x5f, 0xb7, 0x29, 0xa1,
+	0x75, 0xe1, 0x10, 0xf9, 0x87, 0x90, 0x17, 0x43, 0x81, 0xea, 0xb0, 0x4c, 0x0d, 0x69, 0x13, 0xcf,
+	0x37, 0xac, 0xa0, 0x67, 0x4a, 0x4c, 0xef, 0x2d, 0x8f, 0x74, 0xef, 0x60, 0x20, 0x8d, 0x97, 0xba,
+	0xb1, 0x31, 0xda, 0x04, 0x38, 0xa3, 0x8e, 0x55, 0x3d, 0xe3, 0x33, 0xc2, 0x4f, 0x44, 0x59, 0x46,
+	0x69, 0x1a, 0x9f, 0x11, 0x79, 0x13, 0xb2, 0xd1, 0xeb, 0x8c, 0x1e, 0xa8, 0x64, 0x19, 0x96, 0xe2,
+	0xf8, 0x63, 0x64, 0x7e, 0x97, 0x84, 0x95, 0x7a, 0xf8, 0xbf, 0x91, 0x13, 0xe2, 0x6b, 0x6d, 0xcd,
+	0xd7, 0x90, 0x02, 0x69, 0x8f, 0x46, 0x80, 0x5f, 0x3e, 0x4e, 0xfc, 0x48, 0x3d, 0xa2, 0xc9, 0x1a,
+	0x22, 0x82, 0x03, 0x6d, 0x74, 0x1f, 0x72, 0xba, 0x4b, 0x34, 0x9f, 0xa8, 0xbe, 0xd1, 0x23, 0xfc,
+	0x20, 0xbe, 0x11, 0x82, 0x85, 0xff, 0x39, 0xd9, 0x69, 0x85, 0xff, 0x39, 0xc1, 0x10, 0x88, 0x53,
+	0x02, 0x55, 0xee, 0x3b, 0xed, 0x48, 0x79, 0xfe, 0xe5, 0xca, 0x81, 0x38, 0x25, 0xc8, 0x1f, 0x42,
+	0x9a, 0x59, 0x82, 0xd6, 0x60, 0xa5, 0xd9, 0x2a, 0xb5, 0x86, 0xff, 0xee, 0x91, 0x83, 0x85, 0x32,
+	0x56, 0x4a, 0x2d, 0xe5, 0x40, 0x4a, 0xd0, 0x01, 0x3e, 0xad, 0xd5, 0x2a, 0xb5, 0x23, 0x29, 0x89,
+	0x32, 0x30, 0x77, 0x50, 0xaf, 0x29, 0x52, 0x0a, 0x2d, 0x42, 0xb6, 0x5c, 0xaa, 0x95, 0x95, 0x6a,
+	0x55, 0x39, 0x90, 0xe6, 0x6e, 0x13, 0x00, 0xe1, 0x2b, 0x66, 0x0e, 0x16, 0xf8, 0x27, 0x3d, 0xe9,
+	0x35, 0xb4, 0x02, 0x8b, 0x8f, 0x14, 0xfc, 0x44, 0x3d, 0xad, 0x55, 0x2b, 0x0f, 0x95, 0xea, 0x13,
+	0x29, 0x81, 0xf2, 0x90, 0x89, 0x46, 0x49, 0x3a, 0x6a, 0xd4, 0x9b, 0xcd, 0xca, 0x7e, 0x95, 0x02,
+	0x03, 0xcc, 0x73, 0xce, 0x1c, 0x5a, 0x86, 0x1c, 0x53, 0xe5, 0x84, 0xf4, 0xde, 0xe7, 0x69, 0x58,
+	0x12, 0xbb, 0x43, 0xdb, 0x45, 0xbf, 0x4c, 0x40, 0x61, 0x4c, 0xf9, 0x40, 0x7b, 0x13, 0xaf, 0xc8,
+	0x26, 0xd6, 0xc8, 0x8d, 0xb7, 0x2f, 0xa5, 0x13, 0x64, 0x9c, 0x7c, 0xe3, 0x47, 0x5f, 0xfc, 0xfd,
+	0xa7, 0xc9, 0xa2, 0x5c, 0x88, 0xfe, 0x73, 0xe5, 0xbd, 0xc7, 0xcf, 0x05, 0xe4, 0xbd, 0xc4, 0x6d,
+	0xf4, 0xf3, 0x04, 0xa0, 0xd1, 0x02, 0x80, 0xee, 0xce, 0x34, 0x97, 0x58, 0x9c, 0x36, 0xf6, 0x2e,
+	0xa3, 0xc2, 0xad, 0xdb, 0x64, 0xd6, 0x5d, 0x91, 0x11, 0xb5, 0xae, 0x43, 0x59, 0x31, 0xe3, 0x7e,
+	0x91, 0xe0, 0x3b, 0xfb, 0x38, 0x17, 0x7e, 0x73, 0x6a, 0x21, 0x9a, 0xe2, 0xc7, 0xe8, 0x1a, 0x46,
+	0xf8, 0x03, 0xd6, 0x20, 0x1d, 0xe4, 0x6d, 0x66, 0x93, 0x2c, 0x6f, 0x8a, 0x1e, 0x1b, 0x81, 0xa4,
+	0xe6, 0xfd, 0x2c, 0x01, 0x57, 0x26, 0x54, 0x50, 0x74, 0x6f, 0x76, 0xeb, 0x62, 0x5e, 0x7c, 0x89,
+	0x71, 0x6f, 0x32, 0xe3, 0x6e, 0xc9, 0xd7, 0x05, 0x87, 0x8d, 0xb3, 0x6d, 0xff, 0x07, 0xb0, 0xa1,
+	0xdb, 0xbd, 0x09, 0x46, 0xec, 0x17, 0xe2, 0xcb, 0xb4, 0x41, 0x33, 0xb2, 0x91, 0xf8, 0xf8, 0x01,
+	0x17, 0xef, 0xda, 0xa6, 0x66, 0x75, 0x77, 0x6c, 0xb7, 0xbb, 0xdb, 0x25, 0x16, 0xcb, 0xd7, 0xdd,
+	0x80, 0xa5, 0x39, 0x86, 0x37, 0xfc, 0x27, 0xb7, 0xfb, 0xc1, 0xd3, 0x3f, 0x13, 0x89, 0x5f, 0x27,
+	0xe7, 0x8e, 0xca, 0x8f, 0x6a, 0x67, 0xf3, 0x4c, 0xe5, 0xed, 0x7f, 0x07, 0x00, 0x00, 0xff, 0xff,
+	0x88, 0xec, 0xbf, 0xf1, 0xfc, 0x27, 0x00, 0x00,
 }
diff --git a/googleapis/cloud/vision/v1/product_search.pb.go b/googleapis/cloud/vision/v1/product_search.pb.go
index bf69708aae33153e6bdad5f970984bd9f43e4c36..93cdf3188e9dfa83e3dd12455a1031e341faf866 100644
--- a/googleapis/cloud/vision/v1/product_search.pb.go
+++ b/googleapis/cloud/vision/v1/product_search.pb.go
@@ -37,10 +37,12 @@ type ProductSearchParams struct {
 	ProductCategories []string `protobuf:"bytes,7,rep,name=product_categories,json=productCategories,proto3" json:"product_categories,omitempty"`
 	// The filtering expression. This can be used to restrict search results based
 	// on Product labels. We currently support an AND of OR of key-value
-	// expressions, where each expression within an OR must have the same key.
+	// expressions, where each expression within an OR must have the same key. An
+	// '=' should be used to connect the key and value.
 	//
 	// For example, "(color = red OR color = blue) AND brand = Google" is
-	// acceptable, but not "(color = red OR brand = Google)" or "color: red".
+	// acceptable, but "(color = red OR brand = Google)" is not acceptable.
+	// "color: red" is not acceptable because it uses a ':' instead of an '='.
 	Filter               string   `protobuf:"bytes,8,opt,name=filter,proto3" json:"filter,omitempty"`
 	XXX_NoUnkeyedLiteral struct{} `json:"-"`
 	XXX_unrecognized     []byte   `json:"-"`
@@ -51,7 +53,7 @@ func (m *ProductSearchParams) Reset()         { *m = ProductSearchParams{} }
 func (m *ProductSearchParams) String() string { return proto.CompactTextString(m) }
 func (*ProductSearchParams) ProtoMessage()    {}
 func (*ProductSearchParams) Descriptor() ([]byte, []int) {
-	return fileDescriptor_product_search_30d05cab1317cb78, []int{0}
+	return fileDescriptor_product_search_2518938c42ac81f7, []int{0}
 }
 func (m *ProductSearchParams) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_ProductSearchParams.Unmarshal(m, b)
@@ -101,8 +103,9 @@ func (m *ProductSearchParams) GetFilter() string {
 
 // Results for a product search request.
 type ProductSearchResults struct {
-	// Timestamp of the index which provided these results. Changes made after
-	// this time are not reflected in the current results.
+	// Timestamp of the index which provided these results. Products added to the
+	// product set and products removed from the product set after this time are
+	// not reflected in the current results.
 	IndexTime *timestamp.Timestamp `protobuf:"bytes,2,opt,name=index_time,json=indexTime,proto3" json:"index_time,omitempty"`
 	// List of results, one for each product match.
 	Results []*ProductSearchResults_Result `protobuf:"bytes,5,rep,name=results,proto3" json:"results,omitempty"`
@@ -120,7 +123,7 @@ func (m *ProductSearchResults) Reset()         { *m = ProductSearchResults{} }
 func (m *ProductSearchResults) String() string { return proto.CompactTextString(m) }
 func (*ProductSearchResults) ProtoMessage()    {}
 func (*ProductSearchResults) Descriptor() ([]byte, []int) {
-	return fileDescriptor_product_search_30d05cab1317cb78, []int{1}
+	return fileDescriptor_product_search_2518938c42ac81f7, []int{1}
 }
 func (m *ProductSearchResults) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_ProductSearchResults.Unmarshal(m, b)
@@ -180,7 +183,7 @@ func (m *ProductSearchResults_Result) Reset()         { *m = ProductSearchResult
 func (m *ProductSearchResults_Result) String() string { return proto.CompactTextString(m) }
 func (*ProductSearchResults_Result) ProtoMessage()    {}
 func (*ProductSearchResults_Result) Descriptor() ([]byte, []int) {
-	return fileDescriptor_product_search_30d05cab1317cb78, []int{1, 0}
+	return fileDescriptor_product_search_2518938c42ac81f7, []int{1, 0}
 }
 func (m *ProductSearchResults_Result) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_ProductSearchResults_Result.Unmarshal(m, b)
@@ -237,7 +240,7 @@ func (m *ProductSearchResults_GroupedResult) Reset()         { *m = ProductSearc
 func (m *ProductSearchResults_GroupedResult) String() string { return proto.CompactTextString(m) }
 func (*ProductSearchResults_GroupedResult) ProtoMessage()    {}
 func (*ProductSearchResults_GroupedResult) Descriptor() ([]byte, []int) {
-	return fileDescriptor_product_search_30d05cab1317cb78, []int{1, 1}
+	return fileDescriptor_product_search_2518938c42ac81f7, []int{1, 1}
 }
 func (m *ProductSearchResults_GroupedResult) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_ProductSearchResults_GroupedResult.Unmarshal(m, b)
@@ -279,10 +282,10 @@ func init() {
 }
 
 func init() {
-	proto.RegisterFile("google/cloud/vision/v1/product_search.proto", fileDescriptor_product_search_30d05cab1317cb78)
+	proto.RegisterFile("google/cloud/vision/v1/product_search.proto", fileDescriptor_product_search_2518938c42ac81f7)
 }
 
-var fileDescriptor_product_search_30d05cab1317cb78 = []byte{
+var fileDescriptor_product_search_2518938c42ac81f7 = []byte{
 	// 485 bytes of a gzipped FileDescriptorProto
 	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x93, 0xcf, 0x6f, 0xd3, 0x30,
 	0x14, 0xc7, 0x95, 0x76, 0x4b, 0xa9, 0xcb, 0x0e, 0x98, 0x31, 0xa2, 0x08, 0xa9, 0xd5, 0x04, 0x52,
diff --git a/googleapis/cloud/vision/v1/product_search_service.pb.go b/googleapis/cloud/vision/v1/product_search_service.pb.go
index 6e6a1f7953e8ee3cfc007444c61c78554eff2178..b6dca27a3ebb5c31143b0e5c68baa24150251892 100644
--- a/googleapis/cloud/vision/v1/product_search_service.pb.go
+++ b/googleapis/cloud/vision/v1/product_search_service.pb.go
@@ -67,7 +67,7 @@ func (x BatchOperationMetadata_State) String() string {
 	return proto.EnumName(BatchOperationMetadata_State_name, int32(x))
 }
 func (BatchOperationMetadata_State) EnumDescriptor() ([]byte, []int) {
-	return fileDescriptor_product_search_service_69ae292236718878, []int{28, 0}
+	return fileDescriptor_product_search_service_05b23c95580d8dfa, []int{28, 0}
 }
 
 // A Product contains ReferenceImages.
@@ -109,7 +109,7 @@ func (m *Product) Reset()         { *m = Product{} }
 func (m *Product) String() string { return proto.CompactTextString(m) }
 func (*Product) ProtoMessage()    {}
 func (*Product) Descriptor() ([]byte, []int) {
-	return fileDescriptor_product_search_service_69ae292236718878, []int{0}
+	return fileDescriptor_product_search_service_05b23c95580d8dfa, []int{0}
 }
 func (m *Product) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_Product.Unmarshal(m, b)
@@ -181,7 +181,7 @@ func (m *Product_KeyValue) Reset()         { *m = Product_KeyValue{} }
 func (m *Product_KeyValue) String() string { return proto.CompactTextString(m) }
 func (*Product_KeyValue) ProtoMessage()    {}
 func (*Product_KeyValue) Descriptor() ([]byte, []int) {
-	return fileDescriptor_product_search_service_69ae292236718878, []int{0, 0}
+	return fileDescriptor_product_search_service_05b23c95580d8dfa, []int{0, 0}
 }
 func (m *Product_KeyValue) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_Product_KeyValue.Unmarshal(m, b)
@@ -231,7 +231,8 @@ type ProductSet struct {
 	DisplayName string `protobuf:"bytes,2,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"`
 	// Output only. The time at which this ProductSet was last indexed. Query
 	// results will reflect all updates before this time. If this ProductSet has
-	// never been indexed, this field is 0.
+	// never been indexed, this timestamp is the default value
+	// "1970-01-01T00:00:00Z".
 	//
 	// This field is ignored when creating a ProductSet.
 	IndexTime *timestamp.Timestamp `protobuf:"bytes,3,opt,name=index_time,json=indexTime,proto3" json:"index_time,omitempty"`
@@ -249,7 +250,7 @@ func (m *ProductSet) Reset()         { *m = ProductSet{} }
 func (m *ProductSet) String() string { return proto.CompactTextString(m) }
 func (*ProductSet) ProtoMessage()    {}
 func (*ProductSet) Descriptor() ([]byte, []int) {
-	return fileDescriptor_product_search_service_69ae292236718878, []int{1}
+	return fileDescriptor_product_search_service_05b23c95580d8dfa, []int{1}
 }
 func (m *ProductSet) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_ProductSet.Unmarshal(m, b)
@@ -332,7 +333,7 @@ func (m *ReferenceImage) Reset()         { *m = ReferenceImage{} }
 func (m *ReferenceImage) String() string { return proto.CompactTextString(m) }
 func (*ReferenceImage) ProtoMessage()    {}
 func (*ReferenceImage) Descriptor() ([]byte, []int) {
-	return fileDescriptor_product_search_service_69ae292236718878, []int{2}
+	return fileDescriptor_product_search_service_05b23c95580d8dfa, []int{2}
 }
 func (m *ReferenceImage) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_ReferenceImage.Unmarshal(m, b)
@@ -396,7 +397,7 @@ func (m *CreateProductRequest) Reset()         { *m = CreateProductRequest{} }
 func (m *CreateProductRequest) String() string { return proto.CompactTextString(m) }
 func (*CreateProductRequest) ProtoMessage()    {}
 func (*CreateProductRequest) Descriptor() ([]byte, []int) {
-	return fileDescriptor_product_search_service_69ae292236718878, []int{3}
+	return fileDescriptor_product_search_service_05b23c95580d8dfa, []int{3}
 }
 func (m *CreateProductRequest) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_CreateProductRequest.Unmarshal(m, b)
@@ -457,7 +458,7 @@ func (m *ListProductsRequest) Reset()         { *m = ListProductsRequest{} }
 func (m *ListProductsRequest) String() string { return proto.CompactTextString(m) }
 func (*ListProductsRequest) ProtoMessage()    {}
 func (*ListProductsRequest) Descriptor() ([]byte, []int) {
-	return fileDescriptor_product_search_service_69ae292236718878, []int{4}
+	return fileDescriptor_product_search_service_05b23c95580d8dfa, []int{4}
 }
 func (m *ListProductsRequest) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_ListProductsRequest.Unmarshal(m, b)
@@ -514,7 +515,7 @@ func (m *ListProductsResponse) Reset()         { *m = ListProductsResponse{} }
 func (m *ListProductsResponse) String() string { return proto.CompactTextString(m) }
 func (*ListProductsResponse) ProtoMessage()    {}
 func (*ListProductsResponse) Descriptor() ([]byte, []int) {
-	return fileDescriptor_product_search_service_69ae292236718878, []int{5}
+	return fileDescriptor_product_search_service_05b23c95580d8dfa, []int{5}
 }
 func (m *ListProductsResponse) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_ListProductsResponse.Unmarshal(m, b)
@@ -564,7 +565,7 @@ func (m *GetProductRequest) Reset()         { *m = GetProductRequest{} }
 func (m *GetProductRequest) String() string { return proto.CompactTextString(m) }
 func (*GetProductRequest) ProtoMessage()    {}
 func (*GetProductRequest) Descriptor() ([]byte, []int) {
-	return fileDescriptor_product_search_service_69ae292236718878, []int{6}
+	return fileDescriptor_product_search_service_05b23c95580d8dfa, []int{6}
 }
 func (m *GetProductRequest) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_GetProductRequest.Unmarshal(m, b)
@@ -611,7 +612,7 @@ func (m *UpdateProductRequest) Reset()         { *m = UpdateProductRequest{} }
 func (m *UpdateProductRequest) String() string { return proto.CompactTextString(m) }
 func (*UpdateProductRequest) ProtoMessage()    {}
 func (*UpdateProductRequest) Descriptor() ([]byte, []int) {
-	return fileDescriptor_product_search_service_69ae292236718878, []int{7}
+	return fileDescriptor_product_search_service_05b23c95580d8dfa, []int{7}
 }
 func (m *UpdateProductRequest) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_UpdateProductRequest.Unmarshal(m, b)
@@ -661,7 +662,7 @@ func (m *DeleteProductRequest) Reset()         { *m = DeleteProductRequest{} }
 func (m *DeleteProductRequest) String() string { return proto.CompactTextString(m) }
 func (*DeleteProductRequest) ProtoMessage()    {}
 func (*DeleteProductRequest) Descriptor() ([]byte, []int) {
-	return fileDescriptor_product_search_service_69ae292236718878, []int{8}
+	return fileDescriptor_product_search_service_05b23c95580d8dfa, []int{8}
 }
 func (m *DeleteProductRequest) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_DeleteProductRequest.Unmarshal(m, b)
@@ -710,7 +711,7 @@ func (m *CreateProductSetRequest) Reset()         { *m = CreateProductSetRequest
 func (m *CreateProductSetRequest) String() string { return proto.CompactTextString(m) }
 func (*CreateProductSetRequest) ProtoMessage()    {}
 func (*CreateProductSetRequest) Descriptor() ([]byte, []int) {
-	return fileDescriptor_product_search_service_69ae292236718878, []int{9}
+	return fileDescriptor_product_search_service_05b23c95580d8dfa, []int{9}
 }
 func (m *CreateProductSetRequest) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_CreateProductSetRequest.Unmarshal(m, b)
@@ -770,7 +771,7 @@ func (m *ListProductSetsRequest) Reset()         { *m = ListProductSetsRequest{}
 func (m *ListProductSetsRequest) String() string { return proto.CompactTextString(m) }
 func (*ListProductSetsRequest) ProtoMessage()    {}
 func (*ListProductSetsRequest) Descriptor() ([]byte, []int) {
-	return fileDescriptor_product_search_service_69ae292236718878, []int{10}
+	return fileDescriptor_product_search_service_05b23c95580d8dfa, []int{10}
 }
 func (m *ListProductSetsRequest) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_ListProductSetsRequest.Unmarshal(m, b)
@@ -827,7 +828,7 @@ func (m *ListProductSetsResponse) Reset()         { *m = ListProductSetsResponse
 func (m *ListProductSetsResponse) String() string { return proto.CompactTextString(m) }
 func (*ListProductSetsResponse) ProtoMessage()    {}
 func (*ListProductSetsResponse) Descriptor() ([]byte, []int) {
-	return fileDescriptor_product_search_service_69ae292236718878, []int{11}
+	return fileDescriptor_product_search_service_05b23c95580d8dfa, []int{11}
 }
 func (m *ListProductSetsResponse) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_ListProductSetsResponse.Unmarshal(m, b)
@@ -877,7 +878,7 @@ func (m *GetProductSetRequest) Reset()         { *m = GetProductSetRequest{} }
 func (m *GetProductSetRequest) String() string { return proto.CompactTextString(m) }
 func (*GetProductSetRequest) ProtoMessage()    {}
 func (*GetProductSetRequest) Descriptor() ([]byte, []int) {
-	return fileDescriptor_product_search_service_69ae292236718878, []int{12}
+	return fileDescriptor_product_search_service_05b23c95580d8dfa, []int{12}
 }
 func (m *GetProductSetRequest) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_GetProductSetRequest.Unmarshal(m, b)
@@ -922,7 +923,7 @@ func (m *UpdateProductSetRequest) Reset()         { *m = UpdateProductSetRequest
 func (m *UpdateProductSetRequest) String() string { return proto.CompactTextString(m) }
 func (*UpdateProductSetRequest) ProtoMessage()    {}
 func (*UpdateProductSetRequest) Descriptor() ([]byte, []int) {
-	return fileDescriptor_product_search_service_69ae292236718878, []int{13}
+	return fileDescriptor_product_search_service_05b23c95580d8dfa, []int{13}
 }
 func (m *UpdateProductSetRequest) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_UpdateProductSetRequest.Unmarshal(m, b)
@@ -972,7 +973,7 @@ func (m *DeleteProductSetRequest) Reset()         { *m = DeleteProductSetRequest
 func (m *DeleteProductSetRequest) String() string { return proto.CompactTextString(m) }
 func (*DeleteProductSetRequest) ProtoMessage()    {}
 func (*DeleteProductSetRequest) Descriptor() ([]byte, []int) {
-	return fileDescriptor_product_search_service_69ae292236718878, []int{14}
+	return fileDescriptor_product_search_service_05b23c95580d8dfa, []int{14}
 }
 func (m *DeleteProductSetRequest) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_DeleteProductSetRequest.Unmarshal(m, b)
@@ -1023,7 +1024,7 @@ func (m *CreateReferenceImageRequest) Reset()         { *m = CreateReferenceImag
 func (m *CreateReferenceImageRequest) String() string { return proto.CompactTextString(m) }
 func (*CreateReferenceImageRequest) ProtoMessage()    {}
 func (*CreateReferenceImageRequest) Descriptor() ([]byte, []int) {
-	return fileDescriptor_product_search_service_69ae292236718878, []int{15}
+	return fileDescriptor_product_search_service_05b23c95580d8dfa, []int{15}
 }
 func (m *CreateReferenceImageRequest) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_CreateReferenceImageRequest.Unmarshal(m, b)
@@ -1087,7 +1088,7 @@ func (m *ListReferenceImagesRequest) Reset()         { *m = ListReferenceImagesR
 func (m *ListReferenceImagesRequest) String() string { return proto.CompactTextString(m) }
 func (*ListReferenceImagesRequest) ProtoMessage()    {}
 func (*ListReferenceImagesRequest) Descriptor() ([]byte, []int) {
-	return fileDescriptor_product_search_service_69ae292236718878, []int{16}
+	return fileDescriptor_product_search_service_05b23c95580d8dfa, []int{16}
 }
 func (m *ListReferenceImagesRequest) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_ListReferenceImagesRequest.Unmarshal(m, b)
@@ -1145,7 +1146,7 @@ func (m *ListReferenceImagesResponse) Reset()         { *m = ListReferenceImages
 func (m *ListReferenceImagesResponse) String() string { return proto.CompactTextString(m) }
 func (*ListReferenceImagesResponse) ProtoMessage()    {}
 func (*ListReferenceImagesResponse) Descriptor() ([]byte, []int) {
-	return fileDescriptor_product_search_service_69ae292236718878, []int{17}
+	return fileDescriptor_product_search_service_05b23c95580d8dfa, []int{17}
 }
 func (m *ListReferenceImagesResponse) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_ListReferenceImagesResponse.Unmarshal(m, b)
@@ -1203,7 +1204,7 @@ func (m *GetReferenceImageRequest) Reset()         { *m = GetReferenceImageReque
 func (m *GetReferenceImageRequest) String() string { return proto.CompactTextString(m) }
 func (*GetReferenceImageRequest) ProtoMessage()    {}
 func (*GetReferenceImageRequest) Descriptor() ([]byte, []int) {
-	return fileDescriptor_product_search_service_69ae292236718878, []int{18}
+	return fileDescriptor_product_search_service_05b23c95580d8dfa, []int{18}
 }
 func (m *GetReferenceImageRequest) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_GetReferenceImageRequest.Unmarshal(m, b)
@@ -1247,7 +1248,7 @@ func (m *DeleteReferenceImageRequest) Reset()         { *m = DeleteReferenceImag
 func (m *DeleteReferenceImageRequest) String() string { return proto.CompactTextString(m) }
 func (*DeleteReferenceImageRequest) ProtoMessage()    {}
 func (*DeleteReferenceImageRequest) Descriptor() ([]byte, []int) {
-	return fileDescriptor_product_search_service_69ae292236718878, []int{19}
+	return fileDescriptor_product_search_service_05b23c95580d8dfa, []int{19}
 }
 func (m *DeleteReferenceImageRequest) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_DeleteReferenceImageRequest.Unmarshal(m, b)
@@ -1295,7 +1296,7 @@ func (m *AddProductToProductSetRequest) Reset()         { *m = AddProductToProdu
 func (m *AddProductToProductSetRequest) String() string { return proto.CompactTextString(m) }
 func (*AddProductToProductSetRequest) ProtoMessage()    {}
 func (*AddProductToProductSetRequest) Descriptor() ([]byte, []int) {
-	return fileDescriptor_product_search_service_69ae292236718878, []int{20}
+	return fileDescriptor_product_search_service_05b23c95580d8dfa, []int{20}
 }
 func (m *AddProductToProductSetRequest) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_AddProductToProductSetRequest.Unmarshal(m, b)
@@ -1350,7 +1351,7 @@ func (m *RemoveProductFromProductSetRequest) Reset()         { *m = RemoveProduc
 func (m *RemoveProductFromProductSetRequest) String() string { return proto.CompactTextString(m) }
 func (*RemoveProductFromProductSetRequest) ProtoMessage()    {}
 func (*RemoveProductFromProductSetRequest) Descriptor() ([]byte, []int) {
-	return fileDescriptor_product_search_service_69ae292236718878, []int{21}
+	return fileDescriptor_product_search_service_05b23c95580d8dfa, []int{21}
 }
 func (m *RemoveProductFromProductSetRequest) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_RemoveProductFromProductSetRequest.Unmarshal(m, b)
@@ -1404,7 +1405,7 @@ func (m *ListProductsInProductSetRequest) Reset()         { *m = ListProductsInP
 func (m *ListProductsInProductSetRequest) String() string { return proto.CompactTextString(m) }
 func (*ListProductsInProductSetRequest) ProtoMessage()    {}
 func (*ListProductsInProductSetRequest) Descriptor() ([]byte, []int) {
-	return fileDescriptor_product_search_service_69ae292236718878, []int{22}
+	return fileDescriptor_product_search_service_05b23c95580d8dfa, []int{22}
 }
 func (m *ListProductsInProductSetRequest) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_ListProductsInProductSetRequest.Unmarshal(m, b)
@@ -1461,7 +1462,7 @@ func (m *ListProductsInProductSetResponse) Reset()         { *m = ListProductsIn
 func (m *ListProductsInProductSetResponse) String() string { return proto.CompactTextString(m) }
 func (*ListProductsInProductSetResponse) ProtoMessage()    {}
 func (*ListProductsInProductSetResponse) Descriptor() ([]byte, []int) {
-	return fileDescriptor_product_search_service_69ae292236718878, []int{23}
+	return fileDescriptor_product_search_service_05b23c95580d8dfa, []int{23}
 }
 func (m *ListProductsInProductSetResponse) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_ListProductsInProductSetResponse.Unmarshal(m, b)
@@ -1571,7 +1572,7 @@ func (m *ImportProductSetsGcsSource) Reset()         { *m = ImportProductSetsGcs
 func (m *ImportProductSetsGcsSource) String() string { return proto.CompactTextString(m) }
 func (*ImportProductSetsGcsSource) ProtoMessage()    {}
 func (*ImportProductSetsGcsSource) Descriptor() ([]byte, []int) {
-	return fileDescriptor_product_search_service_69ae292236718878, []int{24}
+	return fileDescriptor_product_search_service_05b23c95580d8dfa, []int{24}
 }
 func (m *ImportProductSetsGcsSource) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_ImportProductSetsGcsSource.Unmarshal(m, b)
@@ -1614,7 +1615,7 @@ func (m *ImportProductSetsInputConfig) Reset()         { *m = ImportProductSetsI
 func (m *ImportProductSetsInputConfig) String() string { return proto.CompactTextString(m) }
 func (*ImportProductSetsInputConfig) ProtoMessage()    {}
 func (*ImportProductSetsInputConfig) Descriptor() ([]byte, []int) {
-	return fileDescriptor_product_search_service_69ae292236718878, []int{25}
+	return fileDescriptor_product_search_service_05b23c95580d8dfa, []int{25}
 }
 func (m *ImportProductSetsInputConfig) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_ImportProductSetsInputConfig.Unmarshal(m, b)
@@ -1730,7 +1731,7 @@ func (m *ImportProductSetsRequest) Reset()         { *m = ImportProductSetsReque
 func (m *ImportProductSetsRequest) String() string { return proto.CompactTextString(m) }
 func (*ImportProductSetsRequest) ProtoMessage()    {}
 func (*ImportProductSetsRequest) Descriptor() ([]byte, []int) {
-	return fileDescriptor_product_search_service_69ae292236718878, []int{26}
+	return fileDescriptor_product_search_service_05b23c95580d8dfa, []int{26}
 }
 func (m *ImportProductSetsRequest) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_ImportProductSetsRequest.Unmarshal(m, b)
@@ -1790,7 +1791,7 @@ func (m *ImportProductSetsResponse) Reset()         { *m = ImportProductSetsResp
 func (m *ImportProductSetsResponse) String() string { return proto.CompactTextString(m) }
 func (*ImportProductSetsResponse) ProtoMessage()    {}
 func (*ImportProductSetsResponse) Descriptor() ([]byte, []int) {
-	return fileDescriptor_product_search_service_69ae292236718878, []int{27}
+	return fileDescriptor_product_search_service_05b23c95580d8dfa, []int{27}
 }
 func (m *ImportProductSetsResponse) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_ImportProductSetsResponse.Unmarshal(m, b)
@@ -1846,7 +1847,7 @@ func (m *BatchOperationMetadata) Reset()         { *m = BatchOperationMetadata{}
 func (m *BatchOperationMetadata) String() string { return proto.CompactTextString(m) }
 func (*BatchOperationMetadata) ProtoMessage()    {}
 func (*BatchOperationMetadata) Descriptor() ([]byte, []int) {
-	return fileDescriptor_product_search_service_69ae292236718878, []int{28}
+	return fileDescriptor_product_search_service_05b23c95580d8dfa, []int{28}
 }
 func (m *BatchOperationMetadata) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_BatchOperationMetadata.Unmarshal(m, b)
@@ -1966,10 +1967,6 @@ type ProductSearchClient interface {
 	// ProductSet are not deleted.
 	//
 	// The actual image files are not deleted from Google Cloud Storage.
-	//
-	// Possible errors:
-	//
-	// * Returns NOT_FOUND if the ProductSet does not exist.
 	DeleteProductSet(ctx context.Context, in *DeleteProductSetRequest, opts ...grpc.CallOption) (*empty.Empty, error)
 	// Creates and returns a new product resource.
 	//
@@ -2013,10 +2010,6 @@ type ProductSearchClient interface {
 	// Metadata of the product and all its images will be deleted right away, but
 	// search queries against ProductSets containing the product may still work
 	// until all related caches are refreshed.
-	//
-	// Possible errors:
-	//
-	// * Returns NOT_FOUND if the product does not exist.
 	DeleteProduct(ctx context.Context, in *DeleteProductRequest, opts ...grpc.CallOption) (*empty.Empty, error)
 	// Creates and returns a new ReferenceImage resource.
 	//
@@ -2045,10 +2038,6 @@ type ProductSearchClient interface {
 	// caches are refreshed.
 	//
 	// The actual image files are not deleted from Google Cloud Storage.
-	//
-	// Possible errors:
-	//
-	// * Returns NOT_FOUND if the reference image does not exist.
 	DeleteReferenceImage(ctx context.Context, in *DeleteReferenceImageRequest, opts ...grpc.CallOption) (*empty.Empty, error)
 	// Lists reference images.
 	//
@@ -2074,10 +2063,6 @@ type ProductSearchClient interface {
 	// * Returns NOT_FOUND if the Product or the ProductSet doesn't exist.
 	AddProductToProductSet(ctx context.Context, in *AddProductToProductSetRequest, opts ...grpc.CallOption) (*empty.Empty, error)
 	// Removes a Product from the specified ProductSet.
-	//
-	// Possible errors:
-	//
-	// * Returns NOT_FOUND If the Product is not found under the ProductSet.
 	RemoveProductFromProductSet(ctx context.Context, in *RemoveProductFromProductSetRequest, opts ...grpc.CallOption) (*empty.Empty, error)
 	// Lists the Products in a ProductSet, in an unspecified order. If the
 	// ProductSet does not exist, the products field of the response will be
@@ -2306,10 +2291,6 @@ type ProductSearchServer interface {
 	// ProductSet are not deleted.
 	//
 	// The actual image files are not deleted from Google Cloud Storage.
-	//
-	// Possible errors:
-	//
-	// * Returns NOT_FOUND if the ProductSet does not exist.
 	DeleteProductSet(context.Context, *DeleteProductSetRequest) (*empty.Empty, error)
 	// Creates and returns a new product resource.
 	//
@@ -2353,10 +2334,6 @@ type ProductSearchServer interface {
 	// Metadata of the product and all its images will be deleted right away, but
 	// search queries against ProductSets containing the product may still work
 	// until all related caches are refreshed.
-	//
-	// Possible errors:
-	//
-	// * Returns NOT_FOUND if the product does not exist.
 	DeleteProduct(context.Context, *DeleteProductRequest) (*empty.Empty, error)
 	// Creates and returns a new ReferenceImage resource.
 	//
@@ -2385,10 +2362,6 @@ type ProductSearchServer interface {
 	// caches are refreshed.
 	//
 	// The actual image files are not deleted from Google Cloud Storage.
-	//
-	// Possible errors:
-	//
-	// * Returns NOT_FOUND if the reference image does not exist.
 	DeleteReferenceImage(context.Context, *DeleteReferenceImageRequest) (*empty.Empty, error)
 	// Lists reference images.
 	//
@@ -2414,10 +2387,6 @@ type ProductSearchServer interface {
 	// * Returns NOT_FOUND if the Product or the ProductSet doesn't exist.
 	AddProductToProductSet(context.Context, *AddProductToProductSetRequest) (*empty.Empty, error)
 	// Removes a Product from the specified ProductSet.
-	//
-	// Possible errors:
-	//
-	// * Returns NOT_FOUND If the Product is not found under the ProductSet.
 	RemoveProductFromProductSet(context.Context, *RemoveProductFromProductSetRequest) (*empty.Empty, error)
 	// Lists the Products in a ProductSet, in an unspecified order. If the
 	// ProductSet does not exist, the products field of the response will be
@@ -2851,10 +2820,10 @@ var _ProductSearch_serviceDesc = grpc.ServiceDesc{
 }
 
 func init() {
-	proto.RegisterFile("google/cloud/vision/v1/product_search_service.proto", fileDescriptor_product_search_service_69ae292236718878)
+	proto.RegisterFile("google/cloud/vision/v1/product_search_service.proto", fileDescriptor_product_search_service_05b23c95580d8dfa)
 }
 
-var fileDescriptor_product_search_service_69ae292236718878 = []byte{
+var fileDescriptor_product_search_service_05b23c95580d8dfa = []byte{
 	// 1853 bytes of a gzipped FileDescriptorProto
 	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x59, 0x4f, 0x73, 0xdb, 0xc6,
 	0x15, 0xcf, 0x4a, 0x96, 0x2d, 0x3d, 0x8a, 0x12, 0xbd, 0x55, 0x25, 0x86, 0x8a, 0xc7, 0x2a, 0x9a,
diff --git a/googleapis/cloud/vision/v1/text_annotation.pb.go b/googleapis/cloud/vision/v1/text_annotation.pb.go
index 30de75d7739336faa3828c188d4161c4a7013d24..10f6ae94d2600c74cc2414a97a15d4124f730288 100644
--- a/googleapis/cloud/vision/v1/text_annotation.pb.go
+++ b/googleapis/cloud/vision/v1/text_annotation.pb.go
@@ -59,7 +59,7 @@ func (x TextAnnotation_DetectedBreak_BreakType) String() string {
 	return proto.EnumName(TextAnnotation_DetectedBreak_BreakType_name, int32(x))
 }
 func (TextAnnotation_DetectedBreak_BreakType) EnumDescriptor() ([]byte, []int) {
-	return fileDescriptor_text_annotation_338efa2cc6d38681, []int{0, 1, 0}
+	return fileDescriptor_text_annotation_7450293501cc3cb0, []int{0, 1, 0}
 }
 
 // Type of a block (text, image etc) as identified by OCR.
@@ -101,7 +101,7 @@ func (x Block_BlockType) String() string {
 	return proto.EnumName(Block_BlockType_name, int32(x))
 }
 func (Block_BlockType) EnumDescriptor() ([]byte, []int) {
-	return fileDescriptor_text_annotation_338efa2cc6d38681, []int{2, 0}
+	return fileDescriptor_text_annotation_7450293501cc3cb0, []int{2, 0}
 }
 
 // TextAnnotation contains a structured representation of OCR extracted text.
@@ -126,7 +126,7 @@ func (m *TextAnnotation) Reset()         { *m = TextAnnotation{} }
 func (m *TextAnnotation) String() string { return proto.CompactTextString(m) }
 func (*TextAnnotation) ProtoMessage()    {}
 func (*TextAnnotation) Descriptor() ([]byte, []int) {
-	return fileDescriptor_text_annotation_338efa2cc6d38681, []int{0}
+	return fileDescriptor_text_annotation_7450293501cc3cb0, []int{0}
 }
 func (m *TextAnnotation) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_TextAnnotation.Unmarshal(m, b)
@@ -177,7 +177,7 @@ func (m *TextAnnotation_DetectedLanguage) Reset()         { *m = TextAnnotation_
 func (m *TextAnnotation_DetectedLanguage) String() string { return proto.CompactTextString(m) }
 func (*TextAnnotation_DetectedLanguage) ProtoMessage()    {}
 func (*TextAnnotation_DetectedLanguage) Descriptor() ([]byte, []int) {
-	return fileDescriptor_text_annotation_338efa2cc6d38681, []int{0, 0}
+	return fileDescriptor_text_annotation_7450293501cc3cb0, []int{0, 0}
 }
 func (m *TextAnnotation_DetectedLanguage) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_TextAnnotation_DetectedLanguage.Unmarshal(m, b)
@@ -226,7 +226,7 @@ func (m *TextAnnotation_DetectedBreak) Reset()         { *m = TextAnnotation_Det
 func (m *TextAnnotation_DetectedBreak) String() string { return proto.CompactTextString(m) }
 func (*TextAnnotation_DetectedBreak) ProtoMessage()    {}
 func (*TextAnnotation_DetectedBreak) Descriptor() ([]byte, []int) {
-	return fileDescriptor_text_annotation_338efa2cc6d38681, []int{0, 1}
+	return fileDescriptor_text_annotation_7450293501cc3cb0, []int{0, 1}
 }
 func (m *TextAnnotation_DetectedBreak) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_TextAnnotation_DetectedBreak.Unmarshal(m, b)
@@ -275,7 +275,7 @@ func (m *TextAnnotation_TextProperty) Reset()         { *m = TextAnnotation_Text
 func (m *TextAnnotation_TextProperty) String() string { return proto.CompactTextString(m) }
 func (*TextAnnotation_TextProperty) ProtoMessage()    {}
 func (*TextAnnotation_TextProperty) Descriptor() ([]byte, []int) {
-	return fileDescriptor_text_annotation_338efa2cc6d38681, []int{0, 2}
+	return fileDescriptor_text_annotation_7450293501cc3cb0, []int{0, 2}
 }
 func (m *TextAnnotation_TextProperty) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_TextAnnotation_TextProperty.Unmarshal(m, b)
@@ -332,7 +332,7 @@ func (m *Page) Reset()         { *m = Page{} }
 func (m *Page) String() string { return proto.CompactTextString(m) }
 func (*Page) ProtoMessage()    {}
 func (*Page) Descriptor() ([]byte, []int) {
-	return fileDescriptor_text_annotation_338efa2cc6d38681, []int{1}
+	return fileDescriptor_text_annotation_7450293501cc3cb0, []int{1}
 }
 func (m *Page) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_Page.Unmarshal(m, b)
@@ -427,7 +427,7 @@ func (m *Block) Reset()         { *m = Block{} }
 func (m *Block) String() string { return proto.CompactTextString(m) }
 func (*Block) ProtoMessage()    {}
 func (*Block) Descriptor() ([]byte, []int) {
-	return fileDescriptor_text_annotation_338efa2cc6d38681, []int{2}
+	return fileDescriptor_text_annotation_7450293501cc3cb0, []int{2}
 }
 func (m *Block) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_Block.Unmarshal(m, b)
@@ -515,7 +515,7 @@ func (m *Paragraph) Reset()         { *m = Paragraph{} }
 func (m *Paragraph) String() string { return proto.CompactTextString(m) }
 func (*Paragraph) ProtoMessage()    {}
 func (*Paragraph) Descriptor() ([]byte, []int) {
-	return fileDescriptor_text_annotation_338efa2cc6d38681, []int{3}
+	return fileDescriptor_text_annotation_7450293501cc3cb0, []int{3}
 }
 func (m *Paragraph) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_Paragraph.Unmarshal(m, b)
@@ -597,7 +597,7 @@ func (m *Word) Reset()         { *m = Word{} }
 func (m *Word) String() string { return proto.CompactTextString(m) }
 func (*Word) ProtoMessage()    {}
 func (*Word) Descriptor() ([]byte, []int) {
-	return fileDescriptor_text_annotation_338efa2cc6d38681, []int{4}
+	return fileDescriptor_text_annotation_7450293501cc3cb0, []int{4}
 }
 func (m *Word) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_Word.Unmarshal(m, b)
@@ -678,7 +678,7 @@ func (m *Symbol) Reset()         { *m = Symbol{} }
 func (m *Symbol) String() string { return proto.CompactTextString(m) }
 func (*Symbol) ProtoMessage()    {}
 func (*Symbol) Descriptor() ([]byte, []int) {
-	return fileDescriptor_text_annotation_338efa2cc6d38681, []int{5}
+	return fileDescriptor_text_annotation_7450293501cc3cb0, []int{5}
 }
 func (m *Symbol) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_Symbol.Unmarshal(m, b)
@@ -741,10 +741,10 @@ func init() {
 }
 
 func init() {
-	proto.RegisterFile("google/cloud/vision/v1/text_annotation.proto", fileDescriptor_text_annotation_338efa2cc6d38681)
+	proto.RegisterFile("google/cloud/vision/v1/text_annotation.proto", fileDescriptor_text_annotation_7450293501cc3cb0)
 }
 
-var fileDescriptor_text_annotation_338efa2cc6d38681 = []byte{
+var fileDescriptor_text_annotation_7450293501cc3cb0 = []byte{
 	// 774 bytes of a gzipped FileDescriptorProto
 	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x56, 0xcf, 0x6f, 0xd3, 0x58,
 	0x10, 0x5e, 0x27, 0x76, 0x1a, 0x4f, 0xda, 0xc8, 0xfb, 0x76, 0x55, 0x45, 0xd9, 0x6e, 0xd5, 0xcd,
diff --git a/googleapis/cloud/vision/v1/web_detection.pb.go b/googleapis/cloud/vision/v1/web_detection.pb.go
index f353f2eb653cc5c1591a6d7b5d92db80a4e3b614..29f1619aa24fecd3292d547c68f6098b85beb900 100644
--- a/googleapis/cloud/vision/v1/web_detection.pb.go
+++ b/googleapis/cloud/vision/v1/web_detection.pb.go
@@ -46,7 +46,7 @@ func (m *WebDetection) Reset()         { *m = WebDetection{} }
 func (m *WebDetection) String() string { return proto.CompactTextString(m) }
 func (*WebDetection) ProtoMessage()    {}
 func (*WebDetection) Descriptor() ([]byte, []int) {
-	return fileDescriptor_web_detection_0c8ffa3ff7324a9d, []int{0}
+	return fileDescriptor_web_detection_5b9f638086911196, []int{0}
 }
 func (m *WebDetection) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_WebDetection.Unmarshal(m, b)
@@ -126,7 +126,7 @@ func (m *WebDetection_WebEntity) Reset()         { *m = WebDetection_WebEntity{}
 func (m *WebDetection_WebEntity) String() string { return proto.CompactTextString(m) }
 func (*WebDetection_WebEntity) ProtoMessage()    {}
 func (*WebDetection_WebEntity) Descriptor() ([]byte, []int) {
-	return fileDescriptor_web_detection_0c8ffa3ff7324a9d, []int{0, 0}
+	return fileDescriptor_web_detection_5b9f638086911196, []int{0, 0}
 }
 func (m *WebDetection_WebEntity) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_WebDetection_WebEntity.Unmarshal(m, b)
@@ -182,7 +182,7 @@ func (m *WebDetection_WebImage) Reset()         { *m = WebDetection_WebImage{} }
 func (m *WebDetection_WebImage) String() string { return proto.CompactTextString(m) }
 func (*WebDetection_WebImage) ProtoMessage()    {}
 func (*WebDetection_WebImage) Descriptor() ([]byte, []int) {
-	return fileDescriptor_web_detection_0c8ffa3ff7324a9d, []int{0, 1}
+	return fileDescriptor_web_detection_5b9f638086911196, []int{0, 1}
 }
 func (m *WebDetection_WebImage) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_WebDetection_WebImage.Unmarshal(m, b)
@@ -216,6 +216,57 @@ func (m *WebDetection_WebImage) GetScore() float32 {
 	return 0
 }
 
+// Label to provide extra metadata for the web detection.
+type WebDetection_WebLabel struct {
+	// Label for extra metadata.
+	Label string `protobuf:"bytes,1,opt,name=label,proto3" json:"label,omitempty"`
+	// The BCP-47 language code for `label`, such as "en-US" or "sr-Latn".
+	// For more information, see
+	// http://www.unicode.org/reports/tr35/#Unicode_locale_identifier.
+	LanguageCode         string   `protobuf:"bytes,2,opt,name=language_code,json=languageCode,proto3" json:"language_code,omitempty"`
+	XXX_NoUnkeyedLiteral struct{} `json:"-"`
+	XXX_unrecognized     []byte   `json:"-"`
+	XXX_sizecache        int32    `json:"-"`
+}
+
+func (m *WebDetection_WebLabel) Reset()         { *m = WebDetection_WebLabel{} }
+func (m *WebDetection_WebLabel) String() string { return proto.CompactTextString(m) }
+func (*WebDetection_WebLabel) ProtoMessage()    {}
+func (*WebDetection_WebLabel) Descriptor() ([]byte, []int) {
+	return fileDescriptor_web_detection_5b9f638086911196, []int{0, 2}
+}
+func (m *WebDetection_WebLabel) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_WebDetection_WebLabel.Unmarshal(m, b)
+}
+func (m *WebDetection_WebLabel) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_WebDetection_WebLabel.Marshal(b, m, deterministic)
+}
+func (dst *WebDetection_WebLabel) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_WebDetection_WebLabel.Merge(dst, src)
+}
+func (m *WebDetection_WebLabel) XXX_Size() int {
+	return xxx_messageInfo_WebDetection_WebLabel.Size(m)
+}
+func (m *WebDetection_WebLabel) XXX_DiscardUnknown() {
+	xxx_messageInfo_WebDetection_WebLabel.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_WebDetection_WebLabel proto.InternalMessageInfo
+
+func (m *WebDetection_WebLabel) GetLabel() string {
+	if m != nil {
+		return m.Label
+	}
+	return ""
+}
+
+func (m *WebDetection_WebLabel) GetLanguageCode() string {
+	if m != nil {
+		return m.LanguageCode
+	}
+	return ""
+}
+
 // Metadata for web pages.
 type WebDetection_WebPage struct {
 	// The result web page URL.
@@ -241,7 +292,7 @@ func (m *WebDetection_WebPage) Reset()         { *m = WebDetection_WebPage{} }
 func (m *WebDetection_WebPage) String() string { return proto.CompactTextString(m) }
 func (*WebDetection_WebPage) ProtoMessage()    {}
 func (*WebDetection_WebPage) Descriptor() ([]byte, []int) {
-	return fileDescriptor_web_detection_0c8ffa3ff7324a9d, []int{0, 2}
+	return fileDescriptor_web_detection_5b9f638086911196, []int{0, 3}
 }
 func (m *WebDetection_WebPage) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_WebDetection_WebPage.Unmarshal(m, b)
@@ -296,101 +347,50 @@ func (m *WebDetection_WebPage) GetPartialMatchingImages() []*WebDetection_WebIma
 	return nil
 }
 
-// Label to provide extra metadata for the web detection.
-type WebDetection_WebLabel struct {
-	// Label for extra metadata.
-	Label string `protobuf:"bytes,1,opt,name=label,proto3" json:"label,omitempty"`
-	// The BCP-47 language code for `label`, such as "en-US" or "sr-Latn".
-	// For more information, see
-	// http://www.unicode.org/reports/tr35/#Unicode_locale_identifier.
-	LanguageCode         string   `protobuf:"bytes,2,opt,name=language_code,json=languageCode,proto3" json:"language_code,omitempty"`
-	XXX_NoUnkeyedLiteral struct{} `json:"-"`
-	XXX_unrecognized     []byte   `json:"-"`
-	XXX_sizecache        int32    `json:"-"`
-}
-
-func (m *WebDetection_WebLabel) Reset()         { *m = WebDetection_WebLabel{} }
-func (m *WebDetection_WebLabel) String() string { return proto.CompactTextString(m) }
-func (*WebDetection_WebLabel) ProtoMessage()    {}
-func (*WebDetection_WebLabel) Descriptor() ([]byte, []int) {
-	return fileDescriptor_web_detection_0c8ffa3ff7324a9d, []int{0, 3}
-}
-func (m *WebDetection_WebLabel) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_WebDetection_WebLabel.Unmarshal(m, b)
-}
-func (m *WebDetection_WebLabel) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_WebDetection_WebLabel.Marshal(b, m, deterministic)
-}
-func (dst *WebDetection_WebLabel) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_WebDetection_WebLabel.Merge(dst, src)
-}
-func (m *WebDetection_WebLabel) XXX_Size() int {
-	return xxx_messageInfo_WebDetection_WebLabel.Size(m)
-}
-func (m *WebDetection_WebLabel) XXX_DiscardUnknown() {
-	xxx_messageInfo_WebDetection_WebLabel.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_WebDetection_WebLabel proto.InternalMessageInfo
-
-func (m *WebDetection_WebLabel) GetLabel() string {
-	if m != nil {
-		return m.Label
-	}
-	return ""
-}
-
-func (m *WebDetection_WebLabel) GetLanguageCode() string {
-	if m != nil {
-		return m.LanguageCode
-	}
-	return ""
-}
-
 func init() {
 	proto.RegisterType((*WebDetection)(nil), "google.cloud.vision.v1.WebDetection")
 	proto.RegisterType((*WebDetection_WebEntity)(nil), "google.cloud.vision.v1.WebDetection.WebEntity")
 	proto.RegisterType((*WebDetection_WebImage)(nil), "google.cloud.vision.v1.WebDetection.WebImage")
-	proto.RegisterType((*WebDetection_WebPage)(nil), "google.cloud.vision.v1.WebDetection.WebPage")
 	proto.RegisterType((*WebDetection_WebLabel)(nil), "google.cloud.vision.v1.WebDetection.WebLabel")
+	proto.RegisterType((*WebDetection_WebPage)(nil), "google.cloud.vision.v1.WebDetection.WebPage")
 }
 
 func init() {
-	proto.RegisterFile("google/cloud/vision/v1/web_detection.proto", fileDescriptor_web_detection_0c8ffa3ff7324a9d)
-}
-
-var fileDescriptor_web_detection_0c8ffa3ff7324a9d = []byte{
-	// 512 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x94, 0x51, 0x6f, 0xd3, 0x30,
-	0x10, 0xc7, 0x95, 0xb6, 0x1b, 0xad, 0x5b, 0x04, 0xb3, 0x06, 0x8b, 0x02, 0x48, 0x15, 0xbc, 0x54,
-	0x08, 0x12, 0x6d, 0x3c, 0xc2, 0xd3, 0xc6, 0x34, 0x4d, 0x02, 0x54, 0x02, 0x62, 0x82, 0x17, 0xe3,
-	0x26, 0x26, 0x3d, 0xc9, 0x8d, 0xa3, 0xd8, 0x69, 0xd5, 0x6f, 0xc2, 0x33, 0x1f, 0x88, 0xcf, 0xc3,
-	0x23, 0x3a, 0xdb, 0x45, 0xd5, 0xba, 0x49, 0x65, 0x42, 0xbc, 0xdd, 0x5d, 0xee, 0xff, 0xfb, 0xdb,
-	0x97, 0x93, 0xc9, 0xd3, 0x42, 0xa9, 0x42, 0x8a, 0x24, 0x93, 0xaa, 0xc9, 0x93, 0x39, 0x68, 0x50,
-	0x65, 0x32, 0x3f, 0x4c, 0x16, 0x62, 0xc2, 0x72, 0x61, 0x44, 0x66, 0x40, 0x95, 0x71, 0x55, 0x2b,
-	0xa3, 0xe8, 0x7d, 0xd7, 0x1b, 0xdb, 0xde, 0xd8, 0xf5, 0xc6, 0xf3, 0xc3, 0xe8, 0xa1, 0x67, 0xf0,
-	0x0a, 0x12, 0x5e, 0x96, 0xca, 0x70, 0x14, 0x69, 0xa7, 0x7a, 0xfc, 0xb3, 0x4b, 0x06, 0x17, 0x62,
-	0xf2, 0x7a, 0x05, 0xa3, 0xef, 0xc9, 0x00, 0xe9, 0xa2, 0x34, 0x60, 0x40, 0xe8, 0x30, 0x18, 0xb6,
-	0x47, 0xfd, 0xa3, 0x38, 0xbe, 0x9a, 0x1e, 0xaf, 0x6b, 0x31, 0x39, 0x45, 0xdd, 0x32, 0xed, 0x2f,
-	0x7c, 0x08, 0x42, 0x53, 0x46, 0xf6, 0xbf, 0x35, 0x52, 0xb2, 0x19, 0x37, 0xd9, 0x14, 0xca, 0x82,
-	0xc1, 0x8c, 0x17, 0x42, 0x87, 0x2d, 0x8b, 0x7e, 0xbe, 0x2d, 0xfa, 0x1c, 0x55, 0x29, 0x45, 0xd4,
-	0x5b, 0x4f, 0xb2, 0x25, 0x4d, 0x05, 0x39, 0xa8, 0x78, 0x6d, 0x80, 0x6f, 0x7a, 0xb4, 0x6f, 0xe2,
-	0x71, 0xcf, 0xd3, 0x2e, 0xd9, 0x00, 0x89, 0x2a, 0x0c, 0xd8, 0x02, 0xcc, 0x74, 0xc3, 0xa9, 0x63,
-	0x9d, 0x9e, 0x6d, 0xeb, 0x34, 0x46, 0xa3, 0x03, 0xcb, 0xbb, 0x00, 0x33, 0xdd, 0xbc, 0xd1, 0x1c,
-	0x74, 0xc3, 0xa5, 0x5c, 0x32, 0x0d, 0x33, 0x90, 0xbc, 0x5e, 0xf9, 0xec, 0xde, 0xe8, 0x46, 0x2b,
-	0xda, 0x07, 0x07, 0xf3, 0x36, 0x9f, 0xc9, 0xde, 0x44, 0x68, 0xc3, 0x8a, 0x46, 0x68, 0xcd, 0x24,
-	0x9f, 0x08, 0xa9, 0xc3, 0xee, 0xdf, 0x19, 0xbc, 0x41, 0x55, 0x7a, 0x07, 0x39, 0x67, 0x88, 0xb1,
-	0xb9, 0x8e, 0xbe, 0x92, 0xde, 0x9f, 0x75, 0xa0, 0x0f, 0x48, 0xcf, 0x2e, 0xd4, 0x92, 0x41, 0x1e,
-	0x06, 0xc3, 0x60, 0xd4, 0x4b, 0xbb, 0xae, 0x70, 0x9e, 0xd3, 0x7d, 0xb2, 0xa3, 0x33, 0x55, 0x8b,
-	0xb0, 0x35, 0x0c, 0x46, 0xad, 0xd4, 0x25, 0x74, 0x48, 0xfa, 0xb9, 0xd0, 0x59, 0x0d, 0x15, 0x1a,
-	0x85, 0x6d, 0x2b, 0x5a, 0x2f, 0x45, 0x47, 0xa4, 0xbb, 0xba, 0x1f, 0xbd, 0x4b, 0xda, 0x4d, 0x2d,
-	0x3d, 0x1a, 0xc3, 0xab, 0xa9, 0xd1, 0xf7, 0x16, 0xb9, 0xe5, 0x87, 0xbf, 0xad, 0x86, 0x3e, 0x22,
-	0x04, 0x7f, 0x13, 0x33, 0x60, 0xa4, 0xf0, 0x07, 0xe9, 0x61, 0xe5, 0x23, 0x16, 0xae, 0xdd, 0xee,
-	0xce, 0x7f, 0xd8, 0xee, 0x9d, 0x7f, 0xb7, 0xdd, 0xd1, 0xa9, 0x1d, 0xa7, 0xfd, 0x7b, 0x38, 0x08,
-	0xbb, 0x0c, 0x7e, 0x38, 0x2e, 0xa1, 0x4f, 0xc8, 0x6d, 0xc9, 0xcb, 0xa2, 0xc1, 0x61, 0x64, 0x2a,
-	0x77, 0x63, 0xea, 0xa5, 0x83, 0x55, 0xf1, 0x44, 0xe5, 0xe2, 0x78, 0x49, 0xa2, 0x4c, 0xcd, 0xae,
-	0x39, 0xd1, 0xf1, 0xde, 0xfa, 0x91, 0xc6, 0xf8, 0x02, 0x8d, 0x83, 0x2f, 0xaf, 0x7c, 0x73, 0xa1,
-	0x90, 0x14, 0xab, 0xba, 0x48, 0x0a, 0x51, 0xda, 0xf7, 0x29, 0x71, 0x9f, 0x78, 0x05, 0xfa, 0xf2,
-	0x23, 0xf8, 0xd2, 0x45, 0xbf, 0x82, 0xe0, 0x47, 0xab, 0x73, 0x76, 0xf2, 0xe9, 0xdd, 0x64, 0xd7,
-	0x4a, 0x5e, 0xfc, 0x0e, 0x00, 0x00, 0xff, 0xff, 0x99, 0x1b, 0x06, 0x03, 0x36, 0x05, 0x00, 0x00,
+	proto.RegisterFile("google/cloud/vision/v1/web_detection.proto", fileDescriptor_web_detection_5b9f638086911196)
+}
+
+var fileDescriptor_web_detection_5b9f638086911196 = []byte{
+	// 511 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x94, 0xdf, 0x6e, 0xd3, 0x30,
+	0x14, 0xc6, 0x95, 0xb6, 0x1b, 0xad, 0x5b, 0x04, 0xb3, 0x06, 0x8b, 0x02, 0x48, 0x15, 0xdc, 0x54,
+	0x08, 0x12, 0x6d, 0x5c, 0xc2, 0xd5, 0xc6, 0x34, 0x4d, 0x02, 0x54, 0x02, 0x62, 0x82, 0x1b, 0xe3,
+	0x24, 0xc6, 0x3d, 0x92, 0x1b, 0x47, 0xb1, 0xd3, 0xaa, 0x6f, 0xc2, 0x35, 0x0f, 0xc4, 0xf3, 0x70,
+	0x89, 0xfc, 0x27, 0xa8, 0x5a, 0x37, 0xa9, 0x4c, 0x88, 0xbb, 0x73, 0x4e, 0xcf, 0xf7, 0xfb, 0x7a,
+	0x62, 0xfb, 0xa0, 0xa7, 0x5c, 0x4a, 0x2e, 0x58, 0x92, 0x0b, 0xd9, 0x14, 0xc9, 0x02, 0x14, 0xc8,
+	0x32, 0x59, 0x1c, 0x26, 0x4b, 0x96, 0x91, 0x82, 0x69, 0x96, 0x6b, 0x90, 0x65, 0x5c, 0xd5, 0x52,
+	0x4b, 0x7c, 0xdf, 0xf5, 0xc6, 0xb6, 0x37, 0x76, 0xbd, 0xf1, 0xe2, 0x30, 0x7a, 0xe8, 0x19, 0xb4,
+	0x82, 0x84, 0x96, 0xa5, 0xd4, 0xd4, 0x88, 0x94, 0x53, 0x3d, 0xfe, 0xd9, 0x47, 0xa3, 0x0b, 0x96,
+	0xbd, 0x6e, 0x61, 0xf8, 0x3d, 0x1a, 0x19, 0x3a, 0x2b, 0x35, 0x68, 0x60, 0x2a, 0x0c, 0xc6, 0xdd,
+	0xc9, 0xf0, 0x28, 0x8e, 0xaf, 0xa6, 0xc7, 0xeb, 0x5a, 0x93, 0x9c, 0x1a, 0xdd, 0x2a, 0x1d, 0x2e,
+	0x7d, 0x08, 0x4c, 0x61, 0x82, 0xf6, 0xbf, 0x35, 0x42, 0x90, 0x39, 0xd5, 0xf9, 0x0c, 0x4a, 0x4e,
+	0x60, 0x4e, 0x39, 0x53, 0x61, 0xc7, 0xa2, 0x9f, 0x6f, 0x8b, 0x3e, 0x37, 0xaa, 0x14, 0x1b, 0xd4,
+	0x5b, 0x4f, 0xb2, 0x25, 0x85, 0x19, 0x3a, 0xa8, 0x68, 0xad, 0x81, 0x6e, 0x7a, 0x74, 0x6f, 0xe2,
+	0x71, 0xcf, 0xd3, 0x2e, 0xd9, 0x00, 0x8a, 0x2a, 0x13, 0x90, 0x25, 0xe8, 0xd9, 0x86, 0x53, 0xcf,
+	0x3a, 0x3d, 0xdb, 0xd6, 0x69, 0x6a, 0x8c, 0x0e, 0x2c, 0xef, 0x02, 0xf4, 0x6c, 0x73, 0xa2, 0x05,
+	0xa8, 0x86, 0x0a, 0xb1, 0x22, 0x0a, 0xe6, 0x20, 0x68, 0xdd, 0xfa, 0xec, 0xde, 0x68, 0xa2, 0x96,
+	0xf6, 0xc1, 0xc1, 0xbc, 0xcd, 0x67, 0xb4, 0x97, 0x31, 0xa5, 0x09, 0x6f, 0x98, 0x52, 0x44, 0xd0,
+	0x8c, 0x09, 0x15, 0xf6, 0xff, 0xce, 0xe0, 0x8d, 0x51, 0xa5, 0x77, 0x0c, 0xe7, 0xcc, 0x60, 0x6c,
+	0xae, 0xa2, 0xaf, 0x68, 0xf0, 0xe7, 0x3a, 0xe0, 0x07, 0x68, 0x60, 0x2f, 0xd4, 0x8a, 0x40, 0x11,
+	0x06, 0xe3, 0x60, 0x32, 0x48, 0xfb, 0xae, 0x70, 0x5e, 0xe0, 0x7d, 0xb4, 0xa3, 0x72, 0x59, 0xb3,
+	0xb0, 0x33, 0x0e, 0x26, 0x9d, 0xd4, 0x25, 0x78, 0x8c, 0x86, 0x05, 0x53, 0x79, 0x0d, 0x95, 0x31,
+	0x0a, 0xbb, 0x56, 0xb4, 0x5e, 0x8a, 0x8e, 0x50, 0xbf, 0x9d, 0x0f, 0xdf, 0x45, 0xdd, 0xa6, 0x16,
+	0x1e, 0x6d, 0xc2, 0xab, 0xa9, 0xd1, 0xa9, 0xd5, 0xd8, 0xbf, 0x68, 0x3a, 0xec, 0xc4, 0x5e, 0xe5,
+	0x12, 0xfc, 0x04, 0xdd, 0x16, 0xb4, 0xe4, 0x0d, 0xe5, 0x8c, 0xe4, 0xb2, 0x70, 0xfa, 0x41, 0x3a,
+	0x6a, 0x8b, 0x27, 0xb2, 0x60, 0xd1, 0xf7, 0x0e, 0xba, 0xe5, 0xcf, 0x70, 0x5b, 0x6b, 0xfc, 0x08,
+	0x21, 0x73, 0xda, 0x44, 0x83, 0x16, 0xcc, 0xcf, 0x33, 0x30, 0x95, 0x8f, 0xa6, 0x70, 0xed, 0x23,
+	0xe9, 0xfd, 0x87, 0x47, 0xb2, 0xf3, 0xef, 0x1e, 0xc9, 0xf1, 0x0a, 0x45, 0xb9, 0x9c, 0x5f, 0x83,
+	0x3a, 0xde, 0x5b, 0x67, 0x4d, 0xcd, 0x06, 0x9a, 0x06, 0x5f, 0x5e, 0xf9, 0x66, 0x2e, 0xcd, 0x47,
+	0x8e, 0x65, 0xcd, 0x13, 0xce, 0x4a, 0xbb, 0x9f, 0x12, 0xf7, 0x13, 0xad, 0x40, 0x5d, 0x5e, 0x82,
+	0x2f, 0x5d, 0xf4, 0x2b, 0x08, 0x7e, 0x74, 0x7a, 0x67, 0x27, 0x9f, 0xde, 0x65, 0xbb, 0x56, 0xf2,
+	0xe2, 0x77, 0x00, 0x00, 0x00, 0xff, 0xff, 0x38, 0x42, 0x3a, 0x04, 0x36, 0x05, 0x00, 0x00,
 }
diff --git a/googleapis/devtools/containeranalysis/v1/containeranalysis.pb.go b/googleapis/devtools/containeranalysis/v1/containeranalysis.pb.go
new file mode 100644
index 0000000000000000000000000000000000000000..f6707f4b016703ed2b0cdd5892f01c87bd0e3ba5
--- /dev/null
+++ b/googleapis/devtools/containeranalysis/v1/containeranalysis.pb.go
@@ -0,0 +1,244 @@
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// source: google/devtools/containeranalysis/v1/containeranalysis.proto
+
+package containeranalysis // import "google.golang.org/genproto/googleapis/devtools/containeranalysis/v1"
+
+import proto "github.com/golang/protobuf/proto"
+import fmt "fmt"
+import math "math"
+import _ "github.com/golang/protobuf/ptypes/timestamp"
+import _ "google.golang.org/genproto/googleapis/api/annotations"
+import v1 "google.golang.org/genproto/googleapis/iam/v1"
+
+import (
+	context "golang.org/x/net/context"
+	grpc "google.golang.org/grpc"
+)
+
+// 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.ProtoPackageIsVersion2 // please upgrade the proto package
+
+// Reference imports to suppress errors if they are not otherwise used.
+var _ context.Context
+var _ grpc.ClientConn
+
+// 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.SupportPackageIsVersion4
+
+// ContainerAnalysisClient is the client API for ContainerAnalysis service.
+//
+// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
+type ContainerAnalysisClient interface {
+	// Sets the access control policy on the specified note or occurrence.
+	// Requires `containeranalysis.notes.setIamPolicy` or
+	// `containeranalysis.occurrences.setIamPolicy` permission if the resource is
+	// a note or an occurrence, respectively.
+	//
+	// The resource takes the format `projects/[PROJECT_ID]/notes/[NOTE_ID]` for
+	// notes and `projects/[PROJECT_ID]/occurrences/[OCCURRENCE_ID]` for
+	// occurrences.
+	SetIamPolicy(ctx context.Context, in *v1.SetIamPolicyRequest, opts ...grpc.CallOption) (*v1.Policy, error)
+	// Gets the access control policy for a note or an occurrence resource.
+	// Requires `containeranalysis.notes.setIamPolicy` or
+	// `containeranalysis.occurrences.setIamPolicy` permission if the resource is
+	// a note or occurrence, respectively.
+	//
+	// The resource takes the format `projects/[PROJECT_ID]/notes/[NOTE_ID]` for
+	// notes and `projects/[PROJECT_ID]/occurrences/[OCCURRENCE_ID]` for
+	// occurrences.
+	GetIamPolicy(ctx context.Context, in *v1.GetIamPolicyRequest, opts ...grpc.CallOption) (*v1.Policy, error)
+	// Returns the permissions that a caller has on the specified note or
+	// occurrence. Requires list permission on the project (for example,
+	// `containeranalysis.notes.list`).
+	//
+	// The resource takes the format `projects/[PROJECT_ID]/notes/[NOTE_ID]` for
+	// notes and `projects/[PROJECT_ID]/occurrences/[OCCURRENCE_ID]` for
+	// occurrences.
+	TestIamPermissions(ctx context.Context, in *v1.TestIamPermissionsRequest, opts ...grpc.CallOption) (*v1.TestIamPermissionsResponse, error)
+}
+
+type containerAnalysisClient struct {
+	cc *grpc.ClientConn
+}
+
+func NewContainerAnalysisClient(cc *grpc.ClientConn) ContainerAnalysisClient {
+	return &containerAnalysisClient{cc}
+}
+
+func (c *containerAnalysisClient) SetIamPolicy(ctx context.Context, in *v1.SetIamPolicyRequest, opts ...grpc.CallOption) (*v1.Policy, error) {
+	out := new(v1.Policy)
+	err := c.cc.Invoke(ctx, "/google.devtools.containeranalysis.v1.ContainerAnalysis/SetIamPolicy", in, out, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *containerAnalysisClient) GetIamPolicy(ctx context.Context, in *v1.GetIamPolicyRequest, opts ...grpc.CallOption) (*v1.Policy, error) {
+	out := new(v1.Policy)
+	err := c.cc.Invoke(ctx, "/google.devtools.containeranalysis.v1.ContainerAnalysis/GetIamPolicy", in, out, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *containerAnalysisClient) TestIamPermissions(ctx context.Context, in *v1.TestIamPermissionsRequest, opts ...grpc.CallOption) (*v1.TestIamPermissionsResponse, error) {
+	out := new(v1.TestIamPermissionsResponse)
+	err := c.cc.Invoke(ctx, "/google.devtools.containeranalysis.v1.ContainerAnalysis/TestIamPermissions", in, out, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+// ContainerAnalysisServer is the server API for ContainerAnalysis service.
+type ContainerAnalysisServer interface {
+	// Sets the access control policy on the specified note or occurrence.
+	// Requires `containeranalysis.notes.setIamPolicy` or
+	// `containeranalysis.occurrences.setIamPolicy` permission if the resource is
+	// a note or an occurrence, respectively.
+	//
+	// The resource takes the format `projects/[PROJECT_ID]/notes/[NOTE_ID]` for
+	// notes and `projects/[PROJECT_ID]/occurrences/[OCCURRENCE_ID]` for
+	// occurrences.
+	SetIamPolicy(context.Context, *v1.SetIamPolicyRequest) (*v1.Policy, error)
+	// Gets the access control policy for a note or an occurrence resource.
+	// Requires `containeranalysis.notes.setIamPolicy` or
+	// `containeranalysis.occurrences.setIamPolicy` permission if the resource is
+	// a note or occurrence, respectively.
+	//
+	// The resource takes the format `projects/[PROJECT_ID]/notes/[NOTE_ID]` for
+	// notes and `projects/[PROJECT_ID]/occurrences/[OCCURRENCE_ID]` for
+	// occurrences.
+	GetIamPolicy(context.Context, *v1.GetIamPolicyRequest) (*v1.Policy, error)
+	// Returns the permissions that a caller has on the specified note or
+	// occurrence. Requires list permission on the project (for example,
+	// `containeranalysis.notes.list`).
+	//
+	// The resource takes the format `projects/[PROJECT_ID]/notes/[NOTE_ID]` for
+	// notes and `projects/[PROJECT_ID]/occurrences/[OCCURRENCE_ID]` for
+	// occurrences.
+	TestIamPermissions(context.Context, *v1.TestIamPermissionsRequest) (*v1.TestIamPermissionsResponse, error)
+}
+
+func RegisterContainerAnalysisServer(s *grpc.Server, srv ContainerAnalysisServer) {
+	s.RegisterService(&_ContainerAnalysis_serviceDesc, srv)
+}
+
+func _ContainerAnalysis_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.(ContainerAnalysisServer).SetIamPolicy(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/google.devtools.containeranalysis.v1.ContainerAnalysis/SetIamPolicy",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(ContainerAnalysisServer).SetIamPolicy(ctx, req.(*v1.SetIamPolicyRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _ContainerAnalysis_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.(ContainerAnalysisServer).GetIamPolicy(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/google.devtools.containeranalysis.v1.ContainerAnalysis/GetIamPolicy",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(ContainerAnalysisServer).GetIamPolicy(ctx, req.(*v1.GetIamPolicyRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _ContainerAnalysis_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.(ContainerAnalysisServer).TestIamPermissions(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/google.devtools.containeranalysis.v1.ContainerAnalysis/TestIamPermissions",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(ContainerAnalysisServer).TestIamPermissions(ctx, req.(*v1.TestIamPermissionsRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+var _ContainerAnalysis_serviceDesc = grpc.ServiceDesc{
+	ServiceName: "google.devtools.containeranalysis.v1.ContainerAnalysis",
+	HandlerType: (*ContainerAnalysisServer)(nil),
+	Methods: []grpc.MethodDesc{
+		{
+			MethodName: "SetIamPolicy",
+			Handler:    _ContainerAnalysis_SetIamPolicy_Handler,
+		},
+		{
+			MethodName: "GetIamPolicy",
+			Handler:    _ContainerAnalysis_GetIamPolicy_Handler,
+		},
+		{
+			MethodName: "TestIamPermissions",
+			Handler:    _ContainerAnalysis_TestIamPermissions_Handler,
+		},
+	},
+	Streams:  []grpc.StreamDesc{},
+	Metadata: "google/devtools/containeranalysis/v1/containeranalysis.proto",
+}
+
+func init() {
+	proto.RegisterFile("google/devtools/containeranalysis/v1/containeranalysis.proto", fileDescriptor_containeranalysis_50dd09dafa8381b2)
+}
+
+var fileDescriptor_containeranalysis_50dd09dafa8381b2 = []byte{
+	// 393 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x93, 0x4f, 0x6a, 0xdb, 0x40,
+	0x14, 0xc6, 0x91, 0x4b, 0xbb, 0x10, 0xdd, 0x54, 0xd0, 0x8d, 0x28, 0x35, 0x88, 0x2e, 0x5a, 0x2f,
+	0x66, 0x70, 0xdb, 0x4d, 0xdd, 0x84, 0xe0, 0x78, 0x61, 0xb2, 0x33, 0xf9, 0xb3, 0xf1, 0x26, 0x8c,
+	0x27, 0x2f, 0x62, 0x82, 0x66, 0x9e, 0x32, 0x33, 0x12, 0x38, 0x21, 0x60, 0xb2, 0xc8, 0x05, 0x72,
+	0x83, 0x5c, 0x24, 0x87, 0xc8, 0x15, 0xb2, 0xcc, 0x21, 0x82, 0xa4, 0x51, 0xb0, 0x2d, 0xc7, 0x98,
+	0x40, 0x96, 0xf3, 0xbe, 0xf7, 0x7d, 0xf3, 0xfd, 0x60, 0xc6, 0xdf, 0x8a, 0x11, 0xe3, 0x04, 0xe8,
+	0x09, 0xe4, 0x16, 0x31, 0x31, 0x94, 0xa3, 0xb2, 0x4c, 0x28, 0xd0, 0x4c, 0xb1, 0x64, 0x6a, 0x84,
+	0xa1, 0x79, 0xb7, 0x39, 0x24, 0xa9, 0x46, 0x8b, 0xc1, 0x8f, 0xca, 0x4d, 0x6a, 0x37, 0x69, 0x2e,
+	0xe6, 0xdd, 0xf0, 0x9b, 0xbb, 0x83, 0xa5, 0x82, 0x32, 0xa5, 0xd0, 0x32, 0x2b, 0x50, 0xb9, 0x8c,
+	0xf0, 0xbb, 0x53, 0x05, 0x93, 0xc5, 0x55, 0x82, 0xc9, 0xe3, 0x14, 0x13, 0xc1, 0xa7, 0x4e, 0x0f,
+	0x17, 0xf5, 0x05, 0xad, 0xed, 0xb4, 0xf2, 0x34, 0xc9, 0x4e, 0xa9, 0x15, 0x12, 0x8c, 0x65, 0x32,
+	0xad, 0x16, 0x7e, 0xdf, 0x7c, 0xf4, 0xbf, 0x0c, 0xea, 0x4e, 0x7d, 0xd7, 0x29, 0xb8, 0xf7, 0xfc,
+	0xcf, 0x07, 0x60, 0xf7, 0x98, 0x1c, 0x95, 0x69, 0x41, 0x44, 0x1c, 0x88, 0x60, 0x92, 0xe4, 0x5d,
+	0x32, 0x2f, 0xee, 0xc3, 0x79, 0x06, 0xc6, 0x86, 0x5f, 0x97, 0x76, 0x2a, 0x35, 0xb2, 0xd7, 0x0f,
+	0x8f, 0xb7, 0x2d, 0x15, 0x91, 0xa2, 0xdc, 0xa5, 0x06, 0x83, 0x99, 0xe6, 0xb0, 0x9d, 0x6a, 0x3c,
+	0x03, 0x6e, 0x0d, 0xed, 0x50, 0x85, 0x16, 0x0c, 0xed, 0x5c, 0xf5, 0xcc, 0x5c, 0x6a, 0xcf, 0xeb,
+	0x8c, 0xff, 0x45, 0x7f, 0x5f, 0x35, 0x21, 0xe7, 0x99, 0xd6, 0xa0, 0xf8, 0x4a, 0x6b, 0x49, 0x30,
+	0x5c, 0x47, 0x30, 0x7c, 0x17, 0x82, 0xf8, 0xed, 0x04, 0x4b, 0xd6, 0xe0, 0xc9, 0xf3, 0x83, 0x43,
+	0x30, 0xe5, 0x10, 0xb4, 0x14, 0xc6, 0x14, 0x6f, 0x22, 0xf8, 0xb9, 0xd4, 0xb1, 0xb9, 0x52, 0xd3,
+	0xfc, 0xda, 0x60, 0xd3, 0xa4, 0xa8, 0x0c, 0x44, 0x33, 0xaf, 0x44, 0xbc, 0x58, 0xd3, 0xf6, 0x05,
+	0xd1, 0x36, 0x62, 0x0a, 0xd0, 0x9d, 0xa8, 0xb7, 0x29, 0xe8, 0xca, 0x80, 0xdd, 0x99, 0xe7, 0xb7,
+	0x39, 0xca, 0xba, 0xf3, 0xaa, 0x7f, 0x32, 0xf2, 0xc6, 0x47, 0x4e, 0x8e, 0x31, 0x61, 0x2a, 0x26,
+	0xa8, 0x63, 0x1a, 0x83, 0x2a, 0x9f, 0x32, 0xad, 0x24, 0x96, 0x0a, 0xb3, 0xfe, 0xb3, 0xfe, 0x6f,
+	0x0c, 0xef, 0x5a, 0x1f, 0x86, 0x83, 0xfe, 0xe4, 0x53, 0x99, 0xf3, 0xe7, 0x39, 0x00, 0x00, 0xff,
+	0xff, 0xba, 0xe6, 0x43, 0xb1, 0xf3, 0x03, 0x00, 0x00,
+}
diff --git a/googleapis/example/library/v1/library.pb.go b/googleapis/example/library/v1/library.pb.go
index e609150d224cc1617fff33526bee4de6dca37d72..8ee3bcfe7705cfb82fb357a041a2d190ce174048 100644
--- a/googleapis/example/library/v1/library.pb.go
+++ b/googleapis/example/library/v1/library.pb.go
@@ -46,7 +46,7 @@ func (m *Book) Reset()         { *m = Book{} }
 func (m *Book) String() string { return proto.CompactTextString(m) }
 func (*Book) ProtoMessage()    {}
 func (*Book) Descriptor() ([]byte, []int) {
-	return fileDescriptor_library_7c96cd28c8512754, []int{0}
+	return fileDescriptor_library_fcff9dd9d5d18d9c, []int{0}
 }
 func (m *Book) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_Book.Unmarshal(m, b)
@@ -111,7 +111,7 @@ func (m *Shelf) Reset()         { *m = Shelf{} }
 func (m *Shelf) String() string { return proto.CompactTextString(m) }
 func (*Shelf) ProtoMessage()    {}
 func (*Shelf) Descriptor() ([]byte, []int) {
-	return fileDescriptor_library_7c96cd28c8512754, []int{1}
+	return fileDescriptor_library_fcff9dd9d5d18d9c, []int{1}
 }
 func (m *Shelf) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_Shelf.Unmarshal(m, b)
@@ -158,7 +158,7 @@ func (m *CreateShelfRequest) Reset()         { *m = CreateShelfRequest{} }
 func (m *CreateShelfRequest) String() string { return proto.CompactTextString(m) }
 func (*CreateShelfRequest) ProtoMessage()    {}
 func (*CreateShelfRequest) Descriptor() ([]byte, []int) {
-	return fileDescriptor_library_7c96cd28c8512754, []int{2}
+	return fileDescriptor_library_fcff9dd9d5d18d9c, []int{2}
 }
 func (m *CreateShelfRequest) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_CreateShelfRequest.Unmarshal(m, b)
@@ -198,7 +198,7 @@ func (m *GetShelfRequest) Reset()         { *m = GetShelfRequest{} }
 func (m *GetShelfRequest) String() string { return proto.CompactTextString(m) }
 func (*GetShelfRequest) ProtoMessage()    {}
 func (*GetShelfRequest) Descriptor() ([]byte, []int) {
-	return fileDescriptor_library_7c96cd28c8512754, []int{3}
+	return fileDescriptor_library_fcff9dd9d5d18d9c, []int{3}
 }
 func (m *GetShelfRequest) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_GetShelfRequest.Unmarshal(m, b)
@@ -244,7 +244,7 @@ func (m *ListShelvesRequest) Reset()         { *m = ListShelvesRequest{} }
 func (m *ListShelvesRequest) String() string { return proto.CompactTextString(m) }
 func (*ListShelvesRequest) ProtoMessage()    {}
 func (*ListShelvesRequest) Descriptor() ([]byte, []int) {
-	return fileDescriptor_library_7c96cd28c8512754, []int{4}
+	return fileDescriptor_library_fcff9dd9d5d18d9c, []int{4}
 }
 func (m *ListShelvesRequest) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_ListShelvesRequest.Unmarshal(m, b)
@@ -297,7 +297,7 @@ func (m *ListShelvesResponse) Reset()         { *m = ListShelvesResponse{} }
 func (m *ListShelvesResponse) String() string { return proto.CompactTextString(m) }
 func (*ListShelvesResponse) ProtoMessage()    {}
 func (*ListShelvesResponse) Descriptor() ([]byte, []int) {
-	return fileDescriptor_library_7c96cd28c8512754, []int{5}
+	return fileDescriptor_library_fcff9dd9d5d18d9c, []int{5}
 }
 func (m *ListShelvesResponse) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_ListShelvesResponse.Unmarshal(m, b)
@@ -344,7 +344,7 @@ func (m *DeleteShelfRequest) Reset()         { *m = DeleteShelfRequest{} }
 func (m *DeleteShelfRequest) String() string { return proto.CompactTextString(m) }
 func (*DeleteShelfRequest) ProtoMessage()    {}
 func (*DeleteShelfRequest) Descriptor() ([]byte, []int) {
-	return fileDescriptor_library_7c96cd28c8512754, []int{6}
+	return fileDescriptor_library_fcff9dd9d5d18d9c, []int{6}
 }
 func (m *DeleteShelfRequest) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_DeleteShelfRequest.Unmarshal(m, b)
@@ -387,7 +387,7 @@ func (m *MergeShelvesRequest) Reset()         { *m = MergeShelvesRequest{} }
 func (m *MergeShelvesRequest) String() string { return proto.CompactTextString(m) }
 func (*MergeShelvesRequest) ProtoMessage()    {}
 func (*MergeShelvesRequest) Descriptor() ([]byte, []int) {
-	return fileDescriptor_library_7c96cd28c8512754, []int{7}
+	return fileDescriptor_library_fcff9dd9d5d18d9c, []int{7}
 }
 func (m *MergeShelvesRequest) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_MergeShelvesRequest.Unmarshal(m, b)
@@ -436,7 +436,7 @@ func (m *CreateBookRequest) Reset()         { *m = CreateBookRequest{} }
 func (m *CreateBookRequest) String() string { return proto.CompactTextString(m) }
 func (*CreateBookRequest) ProtoMessage()    {}
 func (*CreateBookRequest) Descriptor() ([]byte, []int) {
-	return fileDescriptor_library_7c96cd28c8512754, []int{8}
+	return fileDescriptor_library_fcff9dd9d5d18d9c, []int{8}
 }
 func (m *CreateBookRequest) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_CreateBookRequest.Unmarshal(m, b)
@@ -483,7 +483,7 @@ func (m *GetBookRequest) Reset()         { *m = GetBookRequest{} }
 func (m *GetBookRequest) String() string { return proto.CompactTextString(m) }
 func (*GetBookRequest) ProtoMessage()    {}
 func (*GetBookRequest) Descriptor() ([]byte, []int) {
-	return fileDescriptor_library_7c96cd28c8512754, []int{9}
+	return fileDescriptor_library_fcff9dd9d5d18d9c, []int{9}
 }
 func (m *GetBookRequest) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_GetBookRequest.Unmarshal(m, b)
@@ -531,7 +531,7 @@ func (m *ListBooksRequest) Reset()         { *m = ListBooksRequest{} }
 func (m *ListBooksRequest) String() string { return proto.CompactTextString(m) }
 func (*ListBooksRequest) ProtoMessage()    {}
 func (*ListBooksRequest) Descriptor() ([]byte, []int) {
-	return fileDescriptor_library_7c96cd28c8512754, []int{10}
+	return fileDescriptor_library_fcff9dd9d5d18d9c, []int{10}
 }
 func (m *ListBooksRequest) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_ListBooksRequest.Unmarshal(m, b)
@@ -591,7 +591,7 @@ func (m *ListBooksResponse) Reset()         { *m = ListBooksResponse{} }
 func (m *ListBooksResponse) String() string { return proto.CompactTextString(m) }
 func (*ListBooksResponse) ProtoMessage()    {}
 func (*ListBooksResponse) Descriptor() ([]byte, []int) {
-	return fileDescriptor_library_7c96cd28c8512754, []int{11}
+	return fileDescriptor_library_fcff9dd9d5d18d9c, []int{11}
 }
 func (m *ListBooksResponse) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_ListBooksResponse.Unmarshal(m, b)
@@ -640,7 +640,7 @@ func (m *UpdateBookRequest) Reset()         { *m = UpdateBookRequest{} }
 func (m *UpdateBookRequest) String() string { return proto.CompactTextString(m) }
 func (*UpdateBookRequest) ProtoMessage()    {}
 func (*UpdateBookRequest) Descriptor() ([]byte, []int) {
-	return fileDescriptor_library_7c96cd28c8512754, []int{12}
+	return fileDescriptor_library_fcff9dd9d5d18d9c, []int{12}
 }
 func (m *UpdateBookRequest) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_UpdateBookRequest.Unmarshal(m, b)
@@ -687,7 +687,7 @@ func (m *DeleteBookRequest) Reset()         { *m = DeleteBookRequest{} }
 func (m *DeleteBookRequest) String() string { return proto.CompactTextString(m) }
 func (*DeleteBookRequest) ProtoMessage()    {}
 func (*DeleteBookRequest) Descriptor() ([]byte, []int) {
-	return fileDescriptor_library_7c96cd28c8512754, []int{13}
+	return fileDescriptor_library_fcff9dd9d5d18d9c, []int{13}
 }
 func (m *DeleteBookRequest) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_DeleteBookRequest.Unmarshal(m, b)
@@ -730,7 +730,7 @@ func (m *MoveBookRequest) Reset()         { *m = MoveBookRequest{} }
 func (m *MoveBookRequest) String() string { return proto.CompactTextString(m) }
 func (*MoveBookRequest) ProtoMessage()    {}
 func (*MoveBookRequest) Descriptor() ([]byte, []int) {
-	return fileDescriptor_library_7c96cd28c8512754, []int{14}
+	return fileDescriptor_library_fcff9dd9d5d18d9c, []int{14}
 }
 func (m *MoveBookRequest) XXX_Unmarshal(b []byte) error {
 	return xxx_messageInfo_MoveBookRequest.Unmarshal(m, b)
@@ -1229,72 +1229,75 @@ var _LibraryService_serviceDesc = grpc.ServiceDesc{
 }
 
 func init() {
-	proto.RegisterFile("google/example/library/v1/library.proto", fileDescriptor_library_7c96cd28c8512754)
-}
-
-var fileDescriptor_library_7c96cd28c8512754 = []byte{
-	// 1002 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x57, 0xcf, 0x53, 0xdb, 0x56,
-	0x10, 0x1e, 0x19, 0x3b, 0x81, 0x35, 0x81, 0xb0, 0x50, 0xe2, 0x28, 0x24, 0x10, 0x35, 0x93, 0x06,
-	0x87, 0x4a, 0x0d, 0x29, 0x9d, 0x8e, 0x33, 0xe9, 0x54, 0x6e, 0x3a, 0xb9, 0x84, 0x0e, 0x35, 0xed,
-	0xa5, 0x17, 0x8f, 0x0c, 0x8b, 0xad, 0x41, 0xd6, 0x73, 0x24, 0xe1, 0x81, 0x30, 0x1c, 0x9a, 0x53,
-	0xaf, 0x6d, 0xce, 0x9d, 0xfe, 0x51, 0xbd, 0xf9, 0xc4, 0xa1, 0xa7, 0xfe, 0x09, 0x3d, 0x75, 0xde,
-	0x0f, 0x81, 0xfc, 0x03, 0x49, 0xb4, 0x27, 0xa4, 0xf7, 0x76, 0xdf, 0xf7, 0xbd, 0xdd, 0x6f, 0x3f,
-	0x19, 0xf8, 0xa4, 0xcd, 0x58, 0xdb, 0x23, 0x8b, 0x8e, 0x9d, 0x6e, 0xcf, 0x23, 0xcb, 0x73, 0x5b,
-	0x81, 0x13, 0x9c, 0x58, 0xfd, 0x67, 0xf1, 0xa3, 0xd9, 0x0b, 0x58, 0xc4, 0xf0, 0xae, 0x0c, 0x34,
-	0x55, 0xa0, 0x19, 0xef, 0xf6, 0x9f, 0xe9, 0x2b, 0xea, 0x0c, 0xa7, 0xe7, 0x5a, 0x8e, 0xef, 0xb3,
-	0xc8, 0x89, 0x5c, 0xe6, 0x87, 0x32, 0x51, 0xbf, 0x93, 0xd8, 0xdd, 0xf3, 0x5c, 0xf2, 0x23, 0xb5,
-	0xb1, 0x9a, 0xd8, 0x38, 0x70, 0xc9, 0xdb, 0x6f, 0xb6, 0xa8, 0xe3, 0xf4, 0x5d, 0x16, 0xa8, 0x80,
-	0xbb, 0x89, 0x80, 0x80, 0x42, 0x76, 0x14, 0xec, 0x91, 0xda, 0xba, 0xa7, 0xb6, 0xc4, 0x5b, 0xeb,
-	0xe8, 0xc0, 0xa2, 0x6e, 0x2f, 0x52, 0x54, 0x8d, 0x5f, 0x34, 0x28, 0xd6, 0x19, 0x3b, 0xc4, 0xaf,
-	0xa0, 0xe8, 0x3b, 0x5d, 0xaa, 0x68, 0x6b, 0xda, 0x93, 0x99, 0x7a, 0xf5, 0xdc, 0x2e, 0xfc, 0x6d,
-	0x3f, 0x02, 0x23, 0xec, 0x90, 0xd7, 0xa7, 0xd0, 0x3a, 0xe5, 0x0f, 0x07, 0x4d, 0x77, 0xff, 0xcc,
-	0x6a, 0x31, 0x76, 0x18, 0x5a, 0xa7, 0xfc, 0x0f, 0x7f, 0x6f, 0x88, 0x3c, 0x5c, 0x86, 0x1b, 0xce,
-	0x51, 0xd4, 0x61, 0x41, 0xa5, 0xc0, 0x4f, 0x68, 0xa8, 0x37, 0x5c, 0x82, 0x52, 0xe4, 0x46, 0x1e,
-	0x55, 0xa6, 0xc4, 0xb2, 0x7c, 0x41, 0x84, 0x62, 0x40, 0xce, 0x7e, 0xa5, 0xb8, 0xa6, 0x3d, 0x99,
-	0x6e, 0x88, 0x67, 0x63, 0x1b, 0x4a, 0xbb, 0x1c, 0x04, 0xcd, 0x21, 0x2a, 0xba, 0xa0, 0xb2, 0x04,
-	0x38, 0x4e, 0x45, 0x41, 0x73, 0x88, 0x0e, 0x75, 0x49, 0x21, 0xcb, 0x17, 0xe3, 0x7b, 0xc0, 0x6f,
-	0x02, 0x72, 0x22, 0x12, 0x87, 0x36, 0xe8, 0xed, 0x11, 0x85, 0x11, 0xbe, 0x80, 0x92, 0x48, 0x17,
-	0x87, 0x97, 0x37, 0xd7, 0xcc, 0x2b, 0x5b, 0x65, 0x8a, 0xbc, 0xfa, 0xd4, 0xb9, 0x5d, 0x68, 0xc8,
-	0x1c, 0x63, 0x13, 0xe6, 0x5f, 0x53, 0x34, 0x74, 0xde, 0xea, 0x10, 0xd7, 0xf2, 0xb9, 0x5d, 0xf8,
-	0xc7, 0x96, 0xd7, 0x90, 0xe4, 0x8c, 0x1d, 0xc0, 0x37, 0x6e, 0x28, 0x92, 0xfa, 0x14, 0xc6, 0x69,
-	0xf7, 0x60, 0xa6, 0xe7, 0xb4, 0xa9, 0x19, 0xba, 0xef, 0x64, 0x6e, 0xa9, 0x31, 0xcd, 0x17, 0x76,
-	0xdd, 0x77, 0x84, 0xf7, 0x01, 0xc4, 0x66, 0xc4, 0x0e, 0xc9, 0x57, 0x97, 0x12, 0xe1, 0x3f, 0xf0,
-	0x05, 0xe3, 0x04, 0x16, 0x87, 0x4e, 0x0c, 0x7b, 0xcc, 0x0f, 0x09, 0x6b, 0x70, 0x53, 0x55, 0xa8,
-	0xa2, 0xad, 0x4d, 0xe5, 0xb9, 0x5b, 0x23, 0x4e, 0xc0, 0xc7, 0x30, 0xef, 0xd3, 0x71, 0xd4, 0x1c,
-	0x83, 0xbd, 0xc5, 0x97, 0x77, 0x2e, 0xa0, 0xb7, 0x00, 0x5f, 0x91, 0x47, 0x23, 0x35, 0xcd, 0xac,
-	0x41, 0x17, 0x16, 0xb7, 0x29, 0x68, 0xd3, 0x48, 0x11, 0xb2, 0xf2, 0x70, 0x0b, 0x6e, 0xb3, 0xa8,
-	0x43, 0x41, 0x53, 0x76, 0x5c, 0x04, 0x17, 0xc6, 0x83, 0xe7, 0x44, 0x90, 0x78, 0xfe, 0x8e, 0xc3,
-	0xf9, 0xb0, 0x20, 0x3b, 0xcf, 0x85, 0x9d, 0x1b, 0xec, 0x4b, 0x28, 0x72, 0x49, 0x0b, 0x80, 0xf2,
-	0xe6, 0x6a, 0x4a, 0xf1, 0xf8, 0xb1, 0x52, 0x17, 0x22, 0xc3, 0xf8, 0x0c, 0xe6, 0x5e, 0x53, 0x94,
-	0x04, 0x7b, 0x30, 0x04, 0x06, 0x02, 0x4c, 0x8c, 0x99, 0x2a, 0x08, 0x83, 0xdb, 0xbc, 0x85, 0x7c,
-	0x25, 0x7f, 0x35, 0x86, 0x34, 0x53, 0x48, 0xd5, 0xcc, 0xd4, 0xa8, 0x66, 0x02, 0x58, 0x48, 0x00,
-	0x2a, 0xc5, 0x6c, 0x41, 0x49, 0xcc, 0xb2, 0xd2, 0x4b, 0xd6, 0x95, 0x1b, 0x32, 0x3a, 0xb7, 0x58,
-	0x0e, 0x60, 0xe1, 0xc7, 0xde, 0xfe, 0x48, 0x1b, 0xee, 0x0c, 0xdd, 0x52, 0x16, 0xf1, 0x7f, 0x96,
-	0xff, 0x39, 0x2c, 0x48, 0x51, 0x5e, 0xa7, 0x03, 0x1d, 0x98, 0xdf, 0x66, 0xfd, 0xeb, 0xa4, 0xfc,
-	0x47, 0x35, 0x6e, 0xfe, 0x36, 0x0b, 0x73, 0x6f, 0x24, 0xfb, 0x5d, 0x0a, 0xfa, 0xee, 0x1e, 0xe1,
-	0x7b, 0x0d, 0xca, 0x09, 0x6f, 0xc2, 0x4f, 0x53, 0x6e, 0x3b, 0xee, 0x61, 0x7a, 0xe6, 0x60, 0x1b,
-	0xc6, 0xc0, 0x96, 0x96, 0xf5, 0xfe, 0xcf, 0xbf, 0x3e, 0x14, 0x96, 0x8c, 0x32, 0xff, 0x46, 0xa9,
-	0x61, 0xaf, 0xc9, 0x1d, 0x3c, 0x83, 0xe9, 0xd8, 0xcc, 0xb0, 0x9a, 0x72, 0xe2, 0x88, 0xe3, 0xe5,
-	0x40, 0xff, 0x78, 0x60, 0x8b, 0x8a, 0x09, 0xf0, 0x65, 0x5c, 0xe2, 0xe0, 0xa7, 0x7c, 0xe1, 0x65,
-	0x6c, 0xe1, 0xd5, 0x33, 0xfc, 0x59, 0x83, 0x72, 0xc2, 0xc6, 0x52, 0x6b, 0x30, 0x6e, 0xa0, 0xba,
-	0x99, 0x37, 0x5c, 0x6a, 0xdd, 0x58, 0x14, 0x64, 0x6e, 0x61, 0xb2, 0x12, 0x78, 0x02, 0xe5, 0x84,
-	0x9d, 0xa5, 0x52, 0x18, 0xb7, 0x3d, 0x7d, 0x39, 0x0e, 0x8f, 0x3f, 0xac, 0xe6, 0xb7, 0xfc, 0xc3,
-	0x3a, 0x72, 0xfd, 0xea, 0xe4, 0xeb, 0xff, 0xa1, 0xc1, 0x6c, 0xd2, 0x13, 0x31, 0xed, 0x42, 0x13,
-	0xcc, 0x33, 0x47, 0x1b, 0x5e, 0x0e, 0xec, 0x8f, 0x38, 0xec, 0xc6, 0xa8, 0x6a, 0x05, 0xb1, 0x55,
-	0x43, 0x9f, 0x44, 0xac, 0xd6, 0xe5, 0x58, 0x35, 0xad, 0x8a, 0xbf, 0x6a, 0x00, 0x97, 0x36, 0x8a,
-	0x1b, 0x99, 0x1a, 0x4d, 0xcc, 0x92, 0x9e, 0x35, 0xbf, 0xc6, 0xe7, 0x03, 0x7b, 0x46, 0x90, 0xe3,
-	0x23, 0x2c, 0x08, 0x19, 0x93, 0x09, 0xc9, 0x9f, 0x1b, 0x35, 0x31, 0xea, 0x7c, 0x70, 0x6e, 0x2a,
-	0xab, 0xc5, 0xf5, 0x74, 0xcd, 0x5e, 0x8b, 0xcd, 0xd3, 0x64, 0xcb, 0x1e, 0xe0, 0xca, 0x04, 0x22,
-	0xea, 0x67, 0x4f, 0xf5, 0x8c, 0x17, 0x66, 0xe6, 0xc2, 0x4c, 0xf1, 0x69, 0x86, 0x10, 0x93, 0x1e,
-	0xaf, 0x6f, 0xe4, 0x0b, 0x56, 0x9a, 0x5d, 0x4f, 0xb2, 0x5a, 0xc1, 0x94, 0xf2, 0xe0, 0x31, 0xc0,
-	0xa5, 0x07, 0xa6, 0xf6, 0x6a, 0xcc, 0x2a, 0xaf, 0xd4, 0xf1, 0x23, 0x59, 0x8d, 0x6a, 0x7a, 0x35,
-	0x3e, 0x68, 0x00, 0x97, 0x36, 0x9f, 0x0a, 0x3d, 0xf6, 0x35, 0xc8, 0x6e, 0xcc, 0x17, 0x03, 0xbb,
-	0x78, 0xa1, 0x90, 0x75, 0xfd, 0xa1, 0xa0, 0xc2, 0x17, 0xcc, 0x2b, 0xf8, 0x28, 0xa1, 0xfc, 0xae,
-	0xc1, 0x74, 0xec, 0xef, 0xa9, 0xee, 0x36, 0xf2, 0x11, 0xc8, 0x66, 0xf4, 0x2a, 0x75, 0xaa, 0x1e,
-	0x1b, 0x0f, 0xd3, 0xaa, 0x55, 0xeb, 0xb2, 0x3e, 0x1f, 0xae, 0xfa, 0x5b, 0xb8, 0xbf, 0xc7, 0xba,
-	0x57, 0x63, 0xd5, 0x67, 0xd5, 0x27, 0x63, 0x87, 0xf7, 0x64, 0x47, 0xfb, 0xe9, 0x6b, 0x15, 0xda,
-	0x66, 0x9e, 0xe3, 0xb7, 0x4d, 0x16, 0xb4, 0xad, 0x36, 0xf9, 0xa2, 0x63, 0x96, 0xdc, 0x72, 0x7a,
-	0x6e, 0x38, 0xe1, 0x5f, 0x93, 0x17, 0xea, 0xb1, 0x75, 0x43, 0x04, 0x3f, 0xff, 0x37, 0x00, 0x00,
-	0xff, 0xff, 0xab, 0x6d, 0x0a, 0x95, 0xc6, 0x0c, 0x00, 0x00,
+	proto.RegisterFile("google/example/library/v1/library.proto", fileDescriptor_library_fcff9dd9d5d18d9c)
+}
+
+var fileDescriptor_library_fcff9dd9d5d18d9c = []byte{
+	// 1041 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x57, 0x4b, 0x53, 0xdb, 0x56,
+	0x14, 0x1e, 0x19, 0xf3, 0x3a, 0xe6, 0x11, 0x2e, 0x94, 0x38, 0x0e, 0x29, 0x46, 0x49, 0x69, 0x30,
+	0x44, 0x9a, 0xd0, 0xa4, 0xe9, 0x28, 0xc3, 0x34, 0x72, 0xd3, 0xc9, 0x74, 0x86, 0x74, 0xa8, 0x69,
+	0x37, 0xdd, 0x78, 0x64, 0x73, 0xb0, 0x35, 0xc8, 0xba, 0x42, 0x12, 0x1e, 0x08, 0xc3, 0xa2, 0xf9,
+	0x07, 0x6d, 0xd6, 0x6d, 0x7f, 0x54, 0x17, 0x9d, 0xf1, 0x2a, 0x8b, 0xae, 0xf2, 0x13, 0xba, 0xea,
+	0xdc, 0x87, 0x40, 0x7e, 0x20, 0x89, 0x66, 0x65, 0xe9, 0xde, 0x73, 0xee, 0x77, 0x1e, 0xdf, 0xf9,
+	0x74, 0x0d, 0x9f, 0xb7, 0x28, 0x6d, 0x39, 0xa8, 0xe3, 0xa9, 0xd5, 0xf1, 0x1c, 0xd4, 0x1d, 0xbb,
+	0xe1, 0x5b, 0xfe, 0x99, 0xde, 0x7d, 0x1c, 0x3d, 0x6a, 0x9e, 0x4f, 0x43, 0x4a, 0xee, 0x08, 0x43,
+	0x4d, 0x1a, 0x6a, 0xd1, 0x6e, 0xf7, 0x71, 0x69, 0x45, 0x9e, 0x61, 0x79, 0xb6, 0x6e, 0xb9, 0x2e,
+	0x0d, 0xad, 0xd0, 0xa6, 0x6e, 0x20, 0x1c, 0x4b, 0xb7, 0x63, 0xbb, 0x4d, 0xc7, 0x46, 0x37, 0x94,
+	0x1b, 0xab, 0xb1, 0x8d, 0x43, 0x1b, 0x9d, 0x83, 0x7a, 0x03, 0xdb, 0x56, 0xd7, 0xa6, 0xbe, 0x34,
+	0xb8, 0x13, 0x33, 0xf0, 0x31, 0xa0, 0x27, 0x7e, 0x13, 0xe5, 0xd6, 0x5d, 0xb9, 0xc5, 0xdf, 0x1a,
+	0x27, 0x87, 0x3a, 0x76, 0xbc, 0x50, 0x86, 0xaa, 0xfe, 0xad, 0x40, 0xbe, 0x4a, 0xe9, 0x11, 0xf9,
+	0x1a, 0xf2, 0xae, 0xd5, 0xc1, 0xa2, 0x52, 0x56, 0x1e, 0x4e, 0x57, 0x37, 0xdf, 0x9b, 0xb9, 0x7f,
+	0xcd, 0xcf, 0xe0, 0xbe, 0x0c, 0xfd, 0x51, 0x94, 0x8a, 0x38, 0xcb, 0xf2, 0xec, 0x40, 0x6b, 0xd2,
+	0x8e, 0xce, 0x5c, 0x6b, 0xdc, 0x91, 0x2c, 0xc3, 0x84, 0x75, 0x12, 0xb6, 0xa9, 0x5f, 0xcc, 0xb1,
+	0x23, 0x6a, 0xf2, 0x8d, 0x2c, 0xc1, 0x78, 0x68, 0x87, 0x0e, 0x16, 0xc7, 0xf8, 0xb2, 0x78, 0x21,
+	0x04, 0xf2, 0x3e, 0x5a, 0x07, 0xc5, 0x7c, 0x59, 0x79, 0x38, 0x55, 0xe3, 0xcf, 0xc6, 0xee, 0x07,
+	0xf3, 0xbb, 0x4c, 0x88, 0x44, 0x0d, 0xda, 0xe8, 0x74, 0x31, 0xd0, 0xcf, 0xd9, 0xc3, 0x61, 0xdd,
+	0x3e, 0xb8, 0xd0, 0x1b, 0x94, 0x1e, 0x05, 0xfa, 0x39, 0xfb, 0x61, 0xef, 0xea, 0x1f, 0x0a, 0x8c,
+	0xef, 0xb3, 0x5d, 0xf2, 0xa2, 0x2f, 0xb5, 0x2d, 0x9e, 0xda, 0x3a, 0x3c, 0x48, 0x01, 0xe2, 0xbe,
+	0x32, 0x37, 0x96, 0x43, 0x1b, 0x3b, 0x28, 0x53, 0x13, 0x2f, 0xc6, 0xce, 0x07, 0xd3, 0xc8, 0x76,
+	0x0c, 0x21, 0xc3, 0x01, 0xab, 0x3f, 0x00, 0xf9, 0xc6, 0x47, 0x2b, 0x44, 0x81, 0x84, 0xc7, 0x27,
+	0x18, 0x84, 0xe4, 0x39, 0x8c, 0x73, 0x13, 0x1e, 0x6d, 0x61, 0xbb, 0xac, 0x5d, 0xcb, 0x25, 0x8d,
+	0xfb, 0x55, 0xc7, 0xde, 0x9b, 0xb9, 0x9a, 0xf0, 0x51, 0x9f, 0xc0, 0xfc, 0x2b, 0x0c, 0xfb, 0xce,
+	0x5b, 0xeb, 0x4b, 0x7e, 0x96, 0x27, 0x3f, 0x29, 0x2b, 0x23, 0xb2, 0x53, 0xf7, 0x80, 0xec, 0xda,
+	0x01, 0x77, 0xeb, 0x62, 0x10, 0x39, 0xde, 0x85, 0x69, 0xcf, 0x6a, 0x61, 0x3d, 0xb0, 0xdf, 0x08,
+	0xef, 0xf1, 0xda, 0x14, 0x5b, 0xd8, 0xb7, 0xdf, 0x20, 0xb9, 0x07, 0xc0, 0x37, 0x43, 0x7a, 0x84,
+	0xae, 0xac, 0x0a, 0x37, 0xff, 0x91, 0x2d, 0xa8, 0x67, 0xb0, 0xd8, 0x77, 0x62, 0xe0, 0x51, 0x37,
+	0x40, 0x62, 0xc0, 0xa4, 0xac, 0x43, 0x51, 0x29, 0x8f, 0x65, 0xc9, 0xae, 0x16, 0x39, 0x90, 0x75,
+	0x98, 0x77, 0xf1, 0x34, 0xac, 0x0f, 0xc1, 0xce, 0xb2, 0xe5, 0xbd, 0x4b, 0xe8, 0x67, 0x40, 0x5e,
+	0xa2, 0x83, 0x03, 0x55, 0xcd, 0x50, 0x85, 0x63, 0x58, 0x7c, 0x8d, 0x7e, 0x0b, 0x07, 0xca, 0x90,
+	0xee, 0x49, 0x9e, 0xc1, 0x2d, 0x1a, 0xb6, 0xd1, 0xaf, 0x8b, 0xde, 0x72, 0xf3, 0xdc, 0x28, 0xf3,
+	0x39, 0x6e, 0xc6, 0x9f, 0xbf, 0x67, 0x90, 0x1e, 0x2c, 0x08, 0x06, 0xf0, 0x31, 0xca, 0x0e, 0xf8,
+	0x15, 0xe4, 0x19, 0xcd, 0x39, 0x48, 0x61, 0x7b, 0x35, 0xa1, 0x88, 0xec, 0x60, 0xc1, 0x10, 0xee,
+	0xa1, 0x6e, 0xc3, 0xdc, 0x2b, 0x0c, 0xe3, 0x70, 0xe5, 0x3e, 0xb8, 0x19, 0x0e, 0x37, 0x21, 0x34,
+	0xe1, 0xb2, 0x30, 0xb7, 0x58, 0x33, 0xd9, 0xca, 0x4d, 0xaa, 0xd2, 0xc7, 0x9f, 0x5c, 0x22, 0x7f,
+	0xc6, 0x06, 0xf9, 0xe3, 0xc3, 0x42, 0x0c, 0x52, 0xb2, 0xe7, 0x29, 0x8c, 0xf3, 0x19, 0x97, 0xdc,
+	0x49, 0x4b, 0xbb, 0x26, 0xac, 0x33, 0x13, 0xe7, 0x10, 0x16, 0x7e, 0xf2, 0x0e, 0x06, 0x9a, 0x71,
+	0xbb, 0x2f, 0x4f, 0x51, 0xc8, 0x8f, 0x6c, 0xc1, 0x53, 0x58, 0x10, 0x04, 0xbd, 0x59, 0x17, 0x1c,
+	0x98, 0x7f, 0x4d, 0xbb, 0x37, 0x73, 0xfa, 0xdf, 0xcc, 0xdc, 0xfe, 0x6d, 0x06, 0xe6, 0x76, 0x45,
+	0x0e, 0xfb, 0xe8, 0x77, 0xed, 0x26, 0x92, 0xb7, 0x0a, 0x14, 0x62, 0x7a, 0x45, 0x1e, 0x25, 0xe4,
+	0x3c, 0xac, 0x6b, 0xa5, 0xd4, 0x51, 0x57, 0xd5, 0x9e, 0x29, 0x64, 0xec, 0xed, 0x5f, 0xff, 0xbc,
+	0xcb, 0x2d, 0xa9, 0x05, 0xf6, 0x61, 0x95, 0xe3, 0x6f, 0x88, 0x1d, 0x72, 0x01, 0x53, 0x91, 0xc0,
+	0x91, 0x4a, 0xc2, 0x89, 0x03, 0x2a, 0x98, 0x01, 0xfd, 0x7e, 0xcf, 0xe4, 0x35, 0xe3, 0xe0, 0xcb,
+	0x64, 0x89, 0x81, 0x9f, 0xb3, 0x85, 0x9d, 0x48, 0xba, 0x2b, 0x17, 0xe4, 0x17, 0x05, 0x0a, 0x31,
+	0x61, 0x4b, 0xac, 0xc1, 0xb0, 0xa4, 0x96, 0xb4, 0xac, 0xe6, 0x82, 0xf1, 0xea, 0x22, 0x0f, 0x66,
+	0x96, 0xc4, 0x2b, 0x41, 0xce, 0xa0, 0x10, 0x13, 0xb8, 0xc4, 0x10, 0x86, 0x85, 0xb0, 0xb4, 0x1c,
+	0x99, 0x47, 0xb7, 0x01, 0xed, 0x5b, 0x76, 0x1b, 0x18, 0x48, 0xbf, 0x32, 0x3a, 0xfd, 0x3f, 0x15,
+	0x98, 0x89, 0x6b, 0x24, 0x49, 0x4a, 0x68, 0x84, 0x98, 0x66, 0x68, 0xc3, 0x4e, 0xcf, 0xfc, 0x84,
+	0xc1, 0x6e, 0x0d, 0xf2, 0x96, 0x07, 0xb6, 0xaa, 0x96, 0x46, 0x05, 0x66, 0x74, 0x18, 0x96, 0xa1,
+	0x54, 0xc8, 0xaf, 0x0a, 0xc0, 0x95, 0xa4, 0x92, 0xad, 0x54, 0x8e, 0xc6, 0xe6, 0xa9, 0x94, 0x36,
+	0xc5, 0xea, 0x93, 0x9e, 0x39, 0xcd, 0x83, 0x63, 0x83, 0xcc, 0x03, 0x52, 0x47, 0x07, 0x24, 0x2e,
+	0x23, 0x06, 0x1f, 0x78, 0x36, 0x38, 0x93, 0x52, 0x74, 0xc9, 0x46, 0x32, 0x67, 0x6f, 0x14, 0xcd,
+	0x66, 0xbc, 0x65, 0x9f, 0x92, 0x95, 0x11, 0x81, 0xc8, 0x4b, 0x51, 0xe5, 0x82, 0x15, 0x66, 0xfa,
+	0x52, 0x52, 0xc9, 0x66, 0x0a, 0x11, 0xe3, 0x5a, 0x5f, 0xda, 0xca, 0x66, 0x2c, 0x39, 0xbb, 0x11,
+	0x8f, 0x6a, 0x85, 0x24, 0x94, 0x87, 0x9c, 0x02, 0x5c, 0x29, 0x61, 0x62, 0xaf, 0x86, 0x04, 0xf3,
+	0x5a, 0x1e, 0x3f, 0x10, 0xd5, 0xa8, 0x24, 0x57, 0xe3, 0x9d, 0x02, 0x70, 0x25, 0xf6, 0x89, 0xd0,
+	0x43, 0xdf, 0x84, 0xf4, 0xc6, 0x7c, 0xd9, 0x33, 0xf3, 0x97, 0x0c, 0xd9, 0x28, 0xad, 0xf1, 0x50,
+	0xd8, 0x82, 0x76, 0x4d, 0x3c, 0x92, 0x28, 0xbf, 0x2b, 0x30, 0x15, 0x69, 0x7c, 0xa2, 0xba, 0x0d,
+	0x7c, 0x08, 0xd2, 0x23, 0x7a, 0x99, 0x38, 0x55, 0xeb, 0xea, 0x5a, 0x52, 0xb5, 0x8c, 0x0e, 0xed,
+	0xb2, 0xe1, 0xaa, 0x1e, 0xc3, 0xbd, 0x26, 0xed, 0x5c, 0x8f, 0x55, 0x9d, 0x91, 0x9f, 0x8c, 0x3d,
+	0xd6, 0x93, 0x3d, 0xe5, 0xe7, 0x17, 0xd2, 0xb4, 0x45, 0x1d, 0xcb, 0x6d, 0x69, 0xd4, 0x6f, 0xe9,
+	0x2d, 0x74, 0x79, 0xc7, 0xf4, 0xab, 0x6b, 0xf2, 0x88, 0xff, 0x53, 0xcf, 0xe5, 0x63, 0x63, 0x82,
+	0x1b, 0x7f, 0xf1, 0x5f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x3a, 0x38, 0xed, 0x3a, 0x7b, 0x0d, 0x00,
+	0x00,
 }