diff --git a/accessapproval/apiv1/access_approval_client.go b/accessapproval/apiv1/access_approval_client.go
index e30f7c9..1230f00 100644
--- a/accessapproval/apiv1/access_approval_client.go
+++ b/accessapproval/apiv1/access_approval_client.go
@@ -39,13 +39,15 @@
 
 // CallOptions contains the retry settings for each method of Client.
 type CallOptions struct {
-	ListApprovalRequests         []gax.CallOption
-	GetApprovalRequest           []gax.CallOption
-	ApproveApprovalRequest       []gax.CallOption
-	DismissApprovalRequest       []gax.CallOption
-	GetAccessApprovalSettings    []gax.CallOption
-	UpdateAccessApprovalSettings []gax.CallOption
-	DeleteAccessApprovalSettings []gax.CallOption
+	ListApprovalRequests            []gax.CallOption
+	GetApprovalRequest              []gax.CallOption
+	ApproveApprovalRequest          []gax.CallOption
+	DismissApprovalRequest          []gax.CallOption
+	InvalidateApprovalRequest       []gax.CallOption
+	GetAccessApprovalSettings       []gax.CallOption
+	UpdateAccessApprovalSettings    []gax.CallOption
+	DeleteAccessApprovalSettings    []gax.CallOption
+	GetAccessApprovalServiceAccount []gax.CallOption
 }
 
 func defaultGRPCClientOptions() []option.ClientOption {
@@ -84,8 +86,9 @@
 				})
 			}),
 		},
-		ApproveApprovalRequest: []gax.CallOption{},
-		DismissApprovalRequest: []gax.CallOption{},
+		ApproveApprovalRequest:    []gax.CallOption{},
+		DismissApprovalRequest:    []gax.CallOption{},
+		InvalidateApprovalRequest: []gax.CallOption{},
 		GetAccessApprovalSettings: []gax.CallOption{
 			gax.WithRetry(func() gax.Retryer {
 				return gax.OnCodes([]codes.Code{
@@ -97,8 +100,9 @@
 				})
 			}),
 		},
-		UpdateAccessApprovalSettings: []gax.CallOption{},
-		DeleteAccessApprovalSettings: []gax.CallOption{},
+		UpdateAccessApprovalSettings:    []gax.CallOption{},
+		DeleteAccessApprovalSettings:    []gax.CallOption{},
+		GetAccessApprovalServiceAccount: []gax.CallOption{},
 	}
 }
 
@@ -111,9 +115,11 @@
 	GetApprovalRequest(context.Context, *accessapprovalpb.GetApprovalRequestMessage, ...gax.CallOption) (*accessapprovalpb.ApprovalRequest, error)
 	ApproveApprovalRequest(context.Context, *accessapprovalpb.ApproveApprovalRequestMessage, ...gax.CallOption) (*accessapprovalpb.ApprovalRequest, error)
 	DismissApprovalRequest(context.Context, *accessapprovalpb.DismissApprovalRequestMessage, ...gax.CallOption) (*accessapprovalpb.ApprovalRequest, error)
+	InvalidateApprovalRequest(context.Context, *accessapprovalpb.InvalidateApprovalRequestMessage, ...gax.CallOption) (*accessapprovalpb.ApprovalRequest, error)
 	GetAccessApprovalSettings(context.Context, *accessapprovalpb.GetAccessApprovalSettingsMessage, ...gax.CallOption) (*accessapprovalpb.AccessApprovalSettings, error)
 	UpdateAccessApprovalSettings(context.Context, *accessapprovalpb.UpdateAccessApprovalSettingsMessage, ...gax.CallOption) (*accessapprovalpb.AccessApprovalSettings, error)
 	DeleteAccessApprovalSettings(context.Context, *accessapprovalpb.DeleteAccessApprovalSettingsMessage, ...gax.CallOption) error
+	GetAccessApprovalServiceAccount(context.Context, *accessapprovalpb.GetAccessApprovalServiceAccountMessage, ...gax.CallOption) (*accessapprovalpb.AccessApprovalServiceAccount, error)
 }
 
 // Client is a client for interacting with Access Approval API.
@@ -217,6 +223,18 @@
 	return c.internalClient.DismissApprovalRequest(ctx, req, opts...)
 }
 
+// InvalidateApprovalRequest invalidates an existing ApprovalRequest. Returns the updated
+// ApprovalRequest.
+//
+// NOTE: This does not deny access to the resource if another request has been
+// made and approved. It only invalidates a single approval.
+//
+// Returns FAILED_PRECONDITION if the request exists but is not in an approved
+// state.
+func (c *Client) InvalidateApprovalRequest(ctx context.Context, req *accessapprovalpb.InvalidateApprovalRequestMessage, opts ...gax.CallOption) (*accessapprovalpb.ApprovalRequest, error) {
+	return c.internalClient.InvalidateApprovalRequest(ctx, req, opts...)
+}
+
 // GetAccessApprovalSettings gets the settings associated with a project, folder, or organization.
 func (c *Client) GetAccessApprovalSettings(ctx context.Context, req *accessapprovalpb.GetAccessApprovalSettingsMessage, opts ...gax.CallOption) (*accessapprovalpb.AccessApprovalSettings, error) {
 	return c.internalClient.GetAccessApprovalSettings(ctx, req, opts...)
@@ -238,6 +256,12 @@
 	return c.internalClient.DeleteAccessApprovalSettings(ctx, req, opts...)
 }
 
+// GetAccessApprovalServiceAccount retrieves the service account that is used by Access Approval to access KMS
+// keys for signing approved approval requests.
+func (c *Client) GetAccessApprovalServiceAccount(ctx context.Context, req *accessapprovalpb.GetAccessApprovalServiceAccountMessage, opts ...gax.CallOption) (*accessapprovalpb.AccessApprovalServiceAccount, error) {
+	return c.internalClient.GetAccessApprovalServiceAccount(ctx, req, opts...)
+}
+
 // gRPCClient is a client for interacting with Access Approval API over gRPC transport.
 //
 // Methods, except Close, may be called concurrently. However, fields must not be modified concurrently with method calls.
@@ -462,6 +486,28 @@
 	return resp, nil
 }
 
+func (c *gRPCClient) InvalidateApprovalRequest(ctx context.Context, req *accessapprovalpb.InvalidateApprovalRequestMessage, opts ...gax.CallOption) (*accessapprovalpb.ApprovalRequest, error) {
+	if _, ok := ctx.Deadline(); !ok && !c.disableDeadlines {
+		cctx, cancel := context.WithTimeout(ctx, 600000*time.Millisecond)
+		defer cancel()
+		ctx = cctx
+	}
+	md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName())))
+
+	ctx = insertMetadata(ctx, c.xGoogMetadata, md)
+	opts = append((*c.CallOptions).InvalidateApprovalRequest[0:len((*c.CallOptions).InvalidateApprovalRequest):len((*c.CallOptions).InvalidateApprovalRequest)], opts...)
+	var resp *accessapprovalpb.ApprovalRequest
+	err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
+		var err error
+		resp, err = c.client.InvalidateApprovalRequest(ctx, req, settings.GRPC...)
+		return err
+	}, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return resp, nil
+}
+
 func (c *gRPCClient) GetAccessApprovalSettings(ctx context.Context, req *accessapprovalpb.GetAccessApprovalSettingsMessage, opts ...gax.CallOption) (*accessapprovalpb.AccessApprovalSettings, error) {
 	if _, ok := ctx.Deadline(); !ok && !c.disableDeadlines {
 		cctx, cancel := context.WithTimeout(ctx, 600000*time.Millisecond)
@@ -524,6 +570,23 @@
 	return err
 }
 
+func (c *gRPCClient) GetAccessApprovalServiceAccount(ctx context.Context, req *accessapprovalpb.GetAccessApprovalServiceAccountMessage, opts ...gax.CallOption) (*accessapprovalpb.AccessApprovalServiceAccount, error) {
+	md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName())))
+
+	ctx = insertMetadata(ctx, c.xGoogMetadata, md)
+	opts = append((*c.CallOptions).GetAccessApprovalServiceAccount[0:len((*c.CallOptions).GetAccessApprovalServiceAccount):len((*c.CallOptions).GetAccessApprovalServiceAccount)], opts...)
+	var resp *accessapprovalpb.AccessApprovalServiceAccount
+	err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
+		var err error
+		resp, err = c.client.GetAccessApprovalServiceAccount(ctx, req, settings.GRPC...)
+		return err
+	}, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return resp, nil
+}
+
 // ApprovalRequestIterator manages a stream of *accessapprovalpb.ApprovalRequest.
 type ApprovalRequestIterator struct {
 	items    []*accessapprovalpb.ApprovalRequest
diff --git a/accessapproval/apiv1/access_approval_client_example_test.go b/accessapproval/apiv1/access_approval_client_example_test.go
index 9c60380..69286e9 100644
--- a/accessapproval/apiv1/access_approval_client_example_test.go
+++ b/accessapproval/apiv1/access_approval_client_example_test.go
@@ -122,6 +122,26 @@
 	_ = resp
 }
 
+func ExampleClient_InvalidateApprovalRequest() {
+	ctx := context.Background()
+	c, err := accessapproval.NewClient(ctx)
+	if err != nil {
+		// TODO: Handle error.
+	}
+	defer c.Close()
+
+	req := &accessapprovalpb.InvalidateApprovalRequestMessage{
+		// TODO: Fill request struct fields.
+		// See https://pkg.go.dev/google.golang.org/genproto/googleapis/cloud/accessapproval/v1#InvalidateApprovalRequestMessage.
+	}
+	resp, err := c.InvalidateApprovalRequest(ctx, req)
+	if err != nil {
+		// TODO: Handle error.
+	}
+	// TODO: Use resp.
+	_ = resp
+}
+
 func ExampleClient_GetAccessApprovalSettings() {
 	ctx := context.Background()
 	c, err := accessapproval.NewClient(ctx)
@@ -179,3 +199,23 @@
 		// TODO: Handle error.
 	}
 }
+
+func ExampleClient_GetAccessApprovalServiceAccount() {
+	ctx := context.Background()
+	c, err := accessapproval.NewClient(ctx)
+	if err != nil {
+		// TODO: Handle error.
+	}
+	defer c.Close()
+
+	req := &accessapprovalpb.GetAccessApprovalServiceAccountMessage{
+		// TODO: Fill request struct fields.
+		// See https://pkg.go.dev/google.golang.org/genproto/googleapis/cloud/accessapproval/v1#GetAccessApprovalServiceAccountMessage.
+	}
+	resp, err := c.GetAccessApprovalServiceAccount(ctx, req)
+	if err != nil {
+		// TODO: Handle error.
+	}
+	// TODO: Use resp.
+	_ = resp
+}
diff --git a/accessapproval/apiv1/gapic_metadata.json b/accessapproval/apiv1/gapic_metadata.json
index 25dd995..3e70729 100644
--- a/accessapproval/apiv1/gapic_metadata.json
+++ b/accessapproval/apiv1/gapic_metadata.json
@@ -25,6 +25,11 @@
                 "DismissApprovalRequest"
               ]
             },
+            "GetAccessApprovalServiceAccount": {
+              "methods": [
+                "GetAccessApprovalServiceAccount"
+              ]
+            },
             "GetAccessApprovalSettings": {
               "methods": [
                 "GetAccessApprovalSettings"
@@ -35,6 +40,11 @@
                 "GetApprovalRequest"
               ]
             },
+            "InvalidateApprovalRequest": {
+              "methods": [
+                "InvalidateApprovalRequest"
+              ]
+            },
             "ListApprovalRequests": {
               "methods": [
                 "ListApprovalRequests"
diff --git a/accessapproval/go.mod b/accessapproval/go.mod
index 1f4f6ca..6eecec4 100644
--- a/accessapproval/go.mod
+++ b/accessapproval/go.mod
@@ -5,7 +5,7 @@
 require (
 	github.com/googleapis/gax-go/v2 v2.4.0
 	google.golang.org/api v0.80.0
-	google.golang.org/genproto v0.0.0-20220518221133-4f43b3371335
+	google.golang.org/genproto v0.0.0-20220523171625-347a074981d8
 	google.golang.org/grpc v1.46.2
 	google.golang.org/protobuf v1.28.0
 )
diff --git a/accessapproval/go.sum b/accessapproval/go.sum
index 1e89a97..313f6cf 100644
--- a/accessapproval/go.sum
+++ b/accessapproval/go.sum
@@ -560,8 +560,8 @@
 google.golang.org/genproto v0.0.0-20220421151946-72621c1f0bd3/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo=
 google.golang.org/genproto v0.0.0-20220429170224-98d788798c3e/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo=
 google.golang.org/genproto v0.0.0-20220505152158-f39f71e6c8f3/go.mod h1:RAyBrSAP7Fh3Nc84ghnVLDPuV51xc9agzmm4Ph6i0Q4=
-google.golang.org/genproto v0.0.0-20220518221133-4f43b3371335 h1:2D0OT6tPVdrQTOnVe1VQjfJPTED6EZ7fdJ/f6Db6OsY=
-google.golang.org/genproto v0.0.0-20220518221133-4f43b3371335/go.mod h1:RAyBrSAP7Fh3Nc84ghnVLDPuV51xc9agzmm4Ph6i0Q4=
+google.golang.org/genproto v0.0.0-20220523171625-347a074981d8 h1:4NSrVrQGh6+UqBEd+Kwdh6ZDwESH0Sj2bNUQN+VjoQk=
+google.golang.org/genproto v0.0.0-20220523171625-347a074981d8/go.mod h1:RAyBrSAP7Fh3Nc84ghnVLDPuV51xc9agzmm4Ph6i0Q4=
 google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c=
 google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38=
 google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM=
diff --git a/gkemulticloud/go.mod b/gkemulticloud/go.mod
index d2545c5..992d5cc 100644
--- a/gkemulticloud/go.mod
+++ b/gkemulticloud/go.mod
@@ -6,7 +6,7 @@
 	cloud.google.com/go v0.101.1
 	github.com/googleapis/gax-go/v2 v2.4.0
 	google.golang.org/api v0.80.0
-	google.golang.org/genproto v0.0.0-20220518221133-4f43b3371335
+	google.golang.org/genproto v0.0.0-20220523171625-347a074981d8
 	google.golang.org/grpc v1.46.2
 	google.golang.org/protobuf v1.28.0
 )
diff --git a/gkemulticloud/go.sum b/gkemulticloud/go.sum
index 3564dbc..69d677c 100644
--- a/gkemulticloud/go.sum
+++ b/gkemulticloud/go.sum
@@ -569,8 +569,8 @@
 google.golang.org/genproto v0.0.0-20220429170224-98d788798c3e/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo=
 google.golang.org/genproto v0.0.0-20220502173005-c8bf987b8c21/go.mod h1:RAyBrSAP7Fh3Nc84ghnVLDPuV51xc9agzmm4Ph6i0Q4=
 google.golang.org/genproto v0.0.0-20220505152158-f39f71e6c8f3/go.mod h1:RAyBrSAP7Fh3Nc84ghnVLDPuV51xc9agzmm4Ph6i0Q4=
-google.golang.org/genproto v0.0.0-20220518221133-4f43b3371335 h1:2D0OT6tPVdrQTOnVe1VQjfJPTED6EZ7fdJ/f6Db6OsY=
-google.golang.org/genproto v0.0.0-20220518221133-4f43b3371335/go.mod h1:RAyBrSAP7Fh3Nc84ghnVLDPuV51xc9agzmm4Ph6i0Q4=
+google.golang.org/genproto v0.0.0-20220523171625-347a074981d8 h1:4NSrVrQGh6+UqBEd+Kwdh6ZDwESH0Sj2bNUQN+VjoQk=
+google.golang.org/genproto v0.0.0-20220523171625-347a074981d8/go.mod h1:RAyBrSAP7Fh3Nc84ghnVLDPuV51xc9agzmm4Ph6i0Q4=
 google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c=
 google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38=
 google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM=
diff --git a/go.mod b/go.mod
index bb912e9..e1835b1 100644
--- a/go.mod
+++ b/go.mod
@@ -13,7 +13,7 @@
 	golang.org/x/oauth2 v0.0.0-20220411215720-9780585627b5
 	golang.org/x/xerrors v0.0.0-20220517211312-f3a8303e98df
 	google.golang.org/api v0.80.0
-	google.golang.org/genproto v0.0.0-20220519153652-3a47de7e79bd
+	google.golang.org/genproto v0.0.0-20220523171625-347a074981d8
 	google.golang.org/grpc v1.46.2
 	google.golang.org/protobuf v1.28.0
 )
diff --git a/go.sum b/go.sum
index 55d7084..9c3074d 100644
--- a/go.sum
+++ b/go.sum
@@ -573,8 +573,8 @@
 google.golang.org/genproto v0.0.0-20220429170224-98d788798c3e/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo=
 google.golang.org/genproto v0.0.0-20220505152158-f39f71e6c8f3/go.mod h1:RAyBrSAP7Fh3Nc84ghnVLDPuV51xc9agzmm4Ph6i0Q4=
 google.golang.org/genproto v0.0.0-20220518221133-4f43b3371335/go.mod h1:RAyBrSAP7Fh3Nc84ghnVLDPuV51xc9agzmm4Ph6i0Q4=
-google.golang.org/genproto v0.0.0-20220519153652-3a47de7e79bd h1:e0TwkXOdbnH/1x5rc5MZ/VYyiZ4v+RdVfrGMqEwT68I=
-google.golang.org/genproto v0.0.0-20220519153652-3a47de7e79bd/go.mod h1:RAyBrSAP7Fh3Nc84ghnVLDPuV51xc9agzmm4Ph6i0Q4=
+google.golang.org/genproto v0.0.0-20220523171625-347a074981d8 h1:4NSrVrQGh6+UqBEd+Kwdh6ZDwESH0Sj2bNUQN+VjoQk=
+google.golang.org/genproto v0.0.0-20220523171625-347a074981d8/go.mod h1:RAyBrSAP7Fh3Nc84ghnVLDPuV51xc9agzmm4Ph6i0Q4=
 google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c=
 google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38=
 google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM=
diff --git a/internal/.repo-metadata-full.json b/internal/.repo-metadata-full.json
index 2f82513..a30a3c1 100644
--- a/internal/.repo-metadata-full.json
+++ b/internal/.repo-metadata-full.json
@@ -1201,7 +1201,7 @@
     "description": "reCAPTCHA Enterprise API",
     "language": "Go",
     "client_library_type": "generated",
-    "docs_url": "https://cloud.google.com/go/docs/reference/cloud.google.com/go/recaptchaenterprise/latest/v2/apiv1",
+    "docs_url": "https://cloud.google.com/go/docs/reference/cloud.google.com/go/recaptchaenterprise/v2/latest/apiv1",
     "release_level": "ga",
     "library_type": "GAPIC_AUTO"
   },
diff --git a/internal/gapicgen/go.sum b/internal/gapicgen/go.sum
index d2f4400..7813913 100644
--- a/internal/gapicgen/go.sum
+++ b/internal/gapicgen/go.sum
@@ -429,8 +429,8 @@
 golang.org/x/sys v0.0.0-20220227234510-4e6760a101f9/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 golang.org/x/sys v0.0.0-20220328115105-d36c6a25d886/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 golang.org/x/sys v0.0.0-20220412211240-33da011f77ad/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
-golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a h1:dGzPydgVsqGcTRVwiLJ1jVbufYwmzD3LfVPLKsKg+0k=
-golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.0.0-20220502124256-b6088ccd6cba h1:AyHWHCBVlIYI5rgEM3o+1PLd0sLPcIAoaUckGQMaWtw=
+golang.org/x/sys v0.0.0-20220502124256-b6088ccd6cba/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
 golang.org/x/term v0.0.0-20210927222741-03fcf44c2211 h1:JGgROgKl9N8DuW20oFS5gxc+lE67/N3FcwmBPMe7ArY=
 golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
@@ -620,17 +620,13 @@
 google.golang.org/genproto v0.0.0-20220310185008-1973136f34c6/go.mod h1:kGP+zUP2Ddo0ayMi4YuN7C3WZyJvGLZRh8Z5wnAqvEI=
 google.golang.org/genproto v0.0.0-20220324131243-acbaeb5b85eb/go.mod h1:hAL49I2IFola2sVEjAn7MEwsja0xp51I0tlGAf9hz4E=
 google.golang.org/genproto v0.0.0-20220405205423-9d709892a2bf/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo=
-<<<<<<< HEAD
 google.golang.org/genproto v0.0.0-20220407144326-9054f6ed7bac/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo=
 google.golang.org/genproto v0.0.0-20220413183235-5e96e2839df9/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo=
 google.golang.org/genproto v0.0.0-20220414192740-2d67ff6cf2b4/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo=
 google.golang.org/genproto v0.0.0-20220502173005-c8bf987b8c21/go.mod h1:RAyBrSAP7Fh3Nc84ghnVLDPuV51xc9agzmm4Ph6i0Q4=
-google.golang.org/genproto v0.0.0-20220518221133-4f43b3371335 h1:2D0OT6tPVdrQTOnVe1VQjfJPTED6EZ7fdJ/f6Db6OsY=
 google.golang.org/genproto v0.0.0-20220518221133-4f43b3371335/go.mod h1:RAyBrSAP7Fh3Nc84ghnVLDPuV51xc9agzmm4Ph6i0Q4=
-=======
 google.golang.org/genproto v0.0.0-20220519153652-3a47de7e79bd h1:e0TwkXOdbnH/1x5rc5MZ/VYyiZ4v+RdVfrGMqEwT68I=
 google.golang.org/genproto v0.0.0-20220519153652-3a47de7e79bd/go.mod h1:RAyBrSAP7Fh3Nc84ghnVLDPuV51xc9agzmm4Ph6i0Q4=
->>>>>>> 9ccddcf2a (feat(retail): start generating apiv2alpha)
 google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c=
 google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38=
 google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM=
diff --git a/internal/generated/snippets/accessapproval/apiv1/Client/GetAccessApprovalServiceAccount/main.go b/internal/generated/snippets/accessapproval/apiv1/Client/GetAccessApprovalServiceAccount/main.go
new file mode 100644
index 0000000..26d7725
--- /dev/null
+++ b/internal/generated/snippets/accessapproval/apiv1/Client/GetAccessApprovalServiceAccount/main.go
@@ -0,0 +1,48 @@
+// Copyright 2022 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+// Code generated by cloud.google.com/go/internal/gapicgen/gensnippets. DO NOT EDIT.
+
+// [START accessapproval_v1_generated_AccessApproval_GetAccessApprovalServiceAccount_sync]
+
+package main
+
+import (
+	"context"
+
+	accessapproval "cloud.google.com/go/accessapproval/apiv1"
+	accessapprovalpb "google.golang.org/genproto/googleapis/cloud/accessapproval/v1"
+)
+
+func main() {
+	ctx := context.Background()
+	c, err := accessapproval.NewClient(ctx)
+	if err != nil {
+		// TODO: Handle error.
+	}
+	defer c.Close()
+
+	req := &accessapprovalpb.GetAccessApprovalServiceAccountMessage{
+		// TODO: Fill request struct fields.
+		// See https://pkg.go.dev/google.golang.org/genproto/googleapis/cloud/accessapproval/v1#GetAccessApprovalServiceAccountMessage.
+	}
+	resp, err := c.GetAccessApprovalServiceAccount(ctx, req)
+	if err != nil {
+		// TODO: Handle error.
+	}
+	// TODO: Use resp.
+	_ = resp
+}
+
+// [END accessapproval_v1_generated_AccessApproval_GetAccessApprovalServiceAccount_sync]
diff --git a/internal/generated/snippets/accessapproval/apiv1/Client/InvalidateApprovalRequest/main.go b/internal/generated/snippets/accessapproval/apiv1/Client/InvalidateApprovalRequest/main.go
new file mode 100644
index 0000000..8f758b4
--- /dev/null
+++ b/internal/generated/snippets/accessapproval/apiv1/Client/InvalidateApprovalRequest/main.go
@@ -0,0 +1,48 @@
+// Copyright 2022 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+// Code generated by cloud.google.com/go/internal/gapicgen/gensnippets. DO NOT EDIT.
+
+// [START accessapproval_v1_generated_AccessApproval_InvalidateApprovalRequest_sync]
+
+package main
+
+import (
+	"context"
+
+	accessapproval "cloud.google.com/go/accessapproval/apiv1"
+	accessapprovalpb "google.golang.org/genproto/googleapis/cloud/accessapproval/v1"
+)
+
+func main() {
+	ctx := context.Background()
+	c, err := accessapproval.NewClient(ctx)
+	if err != nil {
+		// TODO: Handle error.
+	}
+	defer c.Close()
+
+	req := &accessapprovalpb.InvalidateApprovalRequestMessage{
+		// TODO: Fill request struct fields.
+		// See https://pkg.go.dev/google.golang.org/genproto/googleapis/cloud/accessapproval/v1#InvalidateApprovalRequestMessage.
+	}
+	resp, err := c.InvalidateApprovalRequest(ctx, req)
+	if err != nil {
+		// TODO: Handle error.
+	}
+	// TODO: Use resp.
+	_ = resp
+}
+
+// [END accessapproval_v1_generated_AccessApproval_InvalidateApprovalRequest_sync]
diff --git a/internal/generated/snippets/accessapproval/apiv1/snippet_metadata.google.cloud.accessapproval.v1.json b/internal/generated/snippets/accessapproval/apiv1/snippet_metadata.google.cloud.accessapproval.v1.json
index f441cee..e75ebe3 100644
--- a/internal/generated/snippets/accessapproval/apiv1/snippet_metadata.google.cloud.accessapproval.v1.json
+++ b/internal/generated/snippets/accessapproval/apiv1/snippet_metadata.google.cloud.accessapproval.v1.json
@@ -149,6 +149,52 @@
       ]
     },
     {
+      "regionTag": "accessapproval_v1_generated_AccessApproval_GetAccessApprovalServiceAccount_sync",
+      "title": "accessapproval GetAccessApprovalServiceAccount Sample",
+      "description": "GetAccessApprovalServiceAccount retrieves the service account that is used by Access Approval to access KMS\nkeys for signing approved approval requests.",
+      "file": "Client/GetAccessApprovalServiceAccount/main.go",
+      "language": "GO",
+      "clientMethod": {
+        "shortName": "GetAccessApprovalServiceAccount",
+        "fullName": "google.cloud.accessapproval.v1.Client.GetAccessApprovalServiceAccount",
+        "parameters": [
+          {
+            "type": "context.Context",
+            "name": "ctx"
+          },
+          {
+            "type": "accessapprovalpb.GetAccessApprovalServiceAccountMessage",
+            "name": "req"
+          },
+          {
+            "type": "...gax.CallOption",
+            "name": "opts"
+          }
+        ],
+        "resultType": "accessapprovalpb.AccessApprovalServiceAccount",
+        "client": {
+          "shortName": "Client",
+          "fullName": "google.cloud.accessapproval.v1.Client"
+        },
+        "method": {
+          "shortName": "GetAccessApprovalServiceAccount",
+          "fullName": "google.cloud.accessapproval.v1.AccessApproval.GetAccessApprovalServiceAccount",
+          "service": {
+            "shortName": "AccessApproval",
+            "fullName": "google.cloud.accessapproval.v1.AccessApproval"
+          }
+        }
+      },
+      "origin": "API_DEFINITION",
+      "segments": [
+        {
+          "start": 18,
+          "end": 47,
+          "type": "FULL"
+        }
+      ]
+    },
+    {
       "regionTag": "accessapproval_v1_generated_AccessApproval_GetAccessApprovalSettings_sync",
       "title": "accessapproval GetAccessApprovalSettings Sample",
       "description": "GetAccessApprovalSettings gets the settings associated with a project, folder, or organization.",
@@ -241,6 +287,52 @@
       ]
     },
     {
+      "regionTag": "accessapproval_v1_generated_AccessApproval_InvalidateApprovalRequest_sync",
+      "title": "accessapproval InvalidateApprovalRequest Sample",
+      "description": "InvalidateApprovalRequest invalidates an existing ApprovalRequest. Returns the updated\nApprovalRequest.\n\nNOTE: This does not deny access to the resource if another request has been\nmade and approved. It only invalidates a single approval.\n\nReturns FAILED_PRECONDITION if the request exists but is not in an approved\nstate.",
+      "file": "Client/InvalidateApprovalRequest/main.go",
+      "language": "GO",
+      "clientMethod": {
+        "shortName": "InvalidateApprovalRequest",
+        "fullName": "google.cloud.accessapproval.v1.Client.InvalidateApprovalRequest",
+        "parameters": [
+          {
+            "type": "context.Context",
+            "name": "ctx"
+          },
+          {
+            "type": "accessapprovalpb.InvalidateApprovalRequestMessage",
+            "name": "req"
+          },
+          {
+            "type": "...gax.CallOption",
+            "name": "opts"
+          }
+        ],
+        "resultType": "accessapprovalpb.ApprovalRequest",
+        "client": {
+          "shortName": "Client",
+          "fullName": "google.cloud.accessapproval.v1.Client"
+        },
+        "method": {
+          "shortName": "InvalidateApprovalRequest",
+          "fullName": "google.cloud.accessapproval.v1.AccessApproval.InvalidateApprovalRequest",
+          "service": {
+            "shortName": "AccessApproval",
+            "fullName": "google.cloud.accessapproval.v1.AccessApproval"
+          }
+        }
+      },
+      "origin": "API_DEFINITION",
+      "segments": [
+        {
+          "start": 18,
+          "end": 47,
+          "type": "FULL"
+        }
+      ]
+    },
+    {
       "regionTag": "accessapproval_v1_generated_AccessApproval_ListApprovalRequests_sync",
       "title": "accessapproval ListApprovalRequests Sample",
       "description": "ListApprovalRequests lists approval requests associated with a project, folder, or organization.\nApproval requests can be filtered by state (pending, active, dismissed).\nThe order is reverse chronological.",
diff --git a/internal/generated/snippets/go.mod b/internal/generated/snippets/go.mod
index 97341d9..f13514f 100644
--- a/internal/generated/snippets/go.mod
+++ b/internal/generated/snippets/go.mod
@@ -116,7 +116,7 @@
 	cloud.google.com/go/workflows v1.1.0
 	github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect
 	google.golang.org/api v0.80.0
-	google.golang.org/genproto v0.0.0-20220519153652-3a47de7e79bd
+	google.golang.org/genproto v0.0.0-20220523171625-347a074981d8
 )
 
 replace cloud.google.com/go/storagetransfer => ../../../storagetransfer
@@ -348,3 +348,5 @@
 replace cloud.google.com/go/gkebackup => ../../../gkebackup
 
 replace cloud.google.com/go/gkemulticloud => ../../../gkemulticloud
+
+replace cloud.google.com/go/recaptchaenterprise/v2 => ../../../recaptchaenterprise/v2
diff --git a/internal/generated/snippets/go.sum b/internal/generated/snippets/go.sum
index 0461264..981d22e 100644
--- a/internal/generated/snippets/go.sum
+++ b/internal/generated/snippets/go.sum
@@ -204,8 +204,9 @@
 google.golang.org/genproto v0.0.0-20220429170224-98d788798c3e/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo=
 google.golang.org/genproto v0.0.0-20220505152158-f39f71e6c8f3/go.mod h1:RAyBrSAP7Fh3Nc84ghnVLDPuV51xc9agzmm4Ph6i0Q4=
 google.golang.org/genproto v0.0.0-20220518221133-4f43b3371335/go.mod h1:RAyBrSAP7Fh3Nc84ghnVLDPuV51xc9agzmm4Ph6i0Q4=
-google.golang.org/genproto v0.0.0-20220519153652-3a47de7e79bd h1:e0TwkXOdbnH/1x5rc5MZ/VYyiZ4v+RdVfrGMqEwT68I=
 google.golang.org/genproto v0.0.0-20220519153652-3a47de7e79bd/go.mod h1:RAyBrSAP7Fh3Nc84ghnVLDPuV51xc9agzmm4Ph6i0Q4=
+google.golang.org/genproto v0.0.0-20220523171625-347a074981d8 h1:4NSrVrQGh6+UqBEd+Kwdh6ZDwESH0Sj2bNUQN+VjoQk=
+google.golang.org/genproto v0.0.0-20220523171625-347a074981d8/go.mod h1:RAyBrSAP7Fh3Nc84ghnVLDPuV51xc9agzmm4Ph6i0Q4=
 google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c=
 google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg=
 google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY=
diff --git a/internal/godocfx/go.sum b/internal/godocfx/go.sum
index 20ff18c..d8f5e5b 100644
--- a/internal/godocfx/go.sum
+++ b/internal/godocfx/go.sum
@@ -254,8 +254,8 @@
 google.golang.org/genproto v0.0.0-20220429170224-98d788798c3e/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo=
 google.golang.org/genproto v0.0.0-20220505152158-f39f71e6c8f3/go.mod h1:RAyBrSAP7Fh3Nc84ghnVLDPuV51xc9agzmm4Ph6i0Q4=
 google.golang.org/genproto v0.0.0-20220518221133-4f43b3371335/go.mod h1:RAyBrSAP7Fh3Nc84ghnVLDPuV51xc9agzmm4Ph6i0Q4=
-google.golang.org/genproto v0.0.0-20220519153652-3a47de7e79bd h1:e0TwkXOdbnH/1x5rc5MZ/VYyiZ4v+RdVfrGMqEwT68I=
-google.golang.org/genproto v0.0.0-20220519153652-3a47de7e79bd/go.mod h1:RAyBrSAP7Fh3Nc84ghnVLDPuV51xc9agzmm4Ph6i0Q4=
+google.golang.org/genproto v0.0.0-20220523171625-347a074981d8 h1:4NSrVrQGh6+UqBEd+Kwdh6ZDwESH0Sj2bNUQN+VjoQk=
+google.golang.org/genproto v0.0.0-20220523171625-347a074981d8/go.mod h1:RAyBrSAP7Fh3Nc84ghnVLDPuV51xc9agzmm4Ph6i0Q4=
 google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c=
 google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg=
 google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY=
diff --git a/recaptchaenterprise/v2/apiv1/version.go b/recaptchaenterprise/v2/apiv1/version.go
index 81c0f66..f7196bb 100644
--- a/recaptchaenterprise/v2/apiv1/version.go
+++ b/recaptchaenterprise/v2/apiv1/version.go
@@ -16,7 +16,7 @@
 
 package recaptchaenterprise
 
-import "cloud.google.com/go/recaptchaenterprise/v2/internal"
+import "cloud.google.com/go/recaptchaenterprise/internal"
 
 func init() {
 	versionClient = internal.Version
diff --git a/recaptchaenterprise/v2/go.mod b/recaptchaenterprise/v2/go.mod
index edfadf8..509497c 100644
--- a/recaptchaenterprise/v2/go.mod
+++ b/recaptchaenterprise/v2/go.mod
@@ -3,9 +3,10 @@
 go 1.16
 
 require (
+	cloud.google.com/go/recaptchaenterprise v1.3.1
 	github.com/googleapis/gax-go/v2 v2.3.0
 	google.golang.org/api v0.80.0
-	google.golang.org/genproto v0.0.0-20220518221133-4f43b3371335
+	google.golang.org/genproto v0.0.0-20220523171625-347a074981d8
 	google.golang.org/grpc v1.46.0
 	google.golang.org/protobuf v1.28.0
 )
diff --git a/recaptchaenterprise/v2/go.sum b/recaptchaenterprise/v2/go.sum
index f53dca1..575cfff 100644
--- a/recaptchaenterprise/v2/go.sum
+++ b/recaptchaenterprise/v2/go.sum
@@ -46,6 +46,8 @@
 cloud.google.com/go/pubsub v1.1.0/go.mod h1:EwwdRX2sKPjnvnqCa270oGRyludottCI76h+R3AArQw=
 cloud.google.com/go/pubsub v1.2.0/go.mod h1:jhfEVHT8odbXTkndysNHCcx0awwzvfOlguIAii9o8iA=
 cloud.google.com/go/pubsub v1.3.1/go.mod h1:i+ucay31+CNRpDW4Lu78I4xXG+O1r/MAHgjpRVR+TSU=
+cloud.google.com/go/recaptchaenterprise v1.3.1 h1:u6EznTGzIdsyOsvm+Xkw0aSuKFXQlyjGE9a4exk6iNQ=
+cloud.google.com/go/recaptchaenterprise v1.3.1/go.mod h1:OdD+q+y4XGeAlxRaMn1Y7/GveP6zmq76byL6tjPE7d4=
 cloud.google.com/go/storage v1.0.0/go.mod h1:IhtSnM/ZTZV8YYJWCY8RULGVqBDmpoyjwiyrjsg+URw=
 cloud.google.com/go/storage v1.5.0/go.mod h1:tpKbwo567HUNpVclU5sGELwQWBDZ8gh0ZeosJ0Rtdos=
 cloud.google.com/go/storage v1.6.0/go.mod h1:N7U0C8pVQ/+NIKOBQyamJIeKQKkZ+mxpohlUTyfDhBk=
@@ -474,6 +476,7 @@
 google.golang.org/api v0.71.0/go.mod h1:4PyU6e6JogV1f9eA4voyrTY2batOLdgZ5qZ5HOCc4j8=
 google.golang.org/api v0.74.0/go.mod h1:ZpfMZOVRMywNyvJFeqL9HRWBgAuRfSjJFpe9QtRRyDs=
 google.golang.org/api v0.75.0/go.mod h1:pU9QmyHLnzlpar1Mjt4IbapUCy8J+6HD6GeELN69ljA=
+google.golang.org/api v0.77.0/go.mod h1:pU9QmyHLnzlpar1Mjt4IbapUCy8J+6HD6GeELN69ljA=
 google.golang.org/api v0.80.0 h1:IQWaGVCYnsm4MO3hh+WtSXMzMzuyFx/fuR8qkN3A0Qo=
 google.golang.org/api v0.80.0/go.mod h1:xY3nI94gbvBrE0J6NHXhxOmW97HG7Khjkku6AFB3Hyg=
 google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM=
@@ -555,9 +558,10 @@
 google.golang.org/genproto v0.0.0-20220413183235-5e96e2839df9/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo=
 google.golang.org/genproto v0.0.0-20220414192740-2d67ff6cf2b4/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo=
 google.golang.org/genproto v0.0.0-20220421151946-72621c1f0bd3/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo=
+google.golang.org/genproto v0.0.0-20220502173005-c8bf987b8c21/go.mod h1:RAyBrSAP7Fh3Nc84ghnVLDPuV51xc9agzmm4Ph6i0Q4=
 google.golang.org/genproto v0.0.0-20220505152158-f39f71e6c8f3/go.mod h1:RAyBrSAP7Fh3Nc84ghnVLDPuV51xc9agzmm4Ph6i0Q4=
-google.golang.org/genproto v0.0.0-20220518221133-4f43b3371335 h1:2D0OT6tPVdrQTOnVe1VQjfJPTED6EZ7fdJ/f6Db6OsY=
-google.golang.org/genproto v0.0.0-20220518221133-4f43b3371335/go.mod h1:RAyBrSAP7Fh3Nc84ghnVLDPuV51xc9agzmm4Ph6i0Q4=
+google.golang.org/genproto v0.0.0-20220523171625-347a074981d8 h1:4NSrVrQGh6+UqBEd+Kwdh6ZDwESH0Sj2bNUQN+VjoQk=
+google.golang.org/genproto v0.0.0-20220523171625-347a074981d8/go.mod h1:RAyBrSAP7Fh3Nc84ghnVLDPuV51xc9agzmm4Ph6i0Q4=
 google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c=
 google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38=
 google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM=
diff --git a/retail/go.sum b/retail/go.sum
index b1efb98..3b09ce8 100644
--- a/retail/go.sum
+++ b/retail/go.sum
@@ -567,11 +567,7 @@
 google.golang.org/genproto v0.0.0-20220414192740-2d67ff6cf2b4/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo=
 google.golang.org/genproto v0.0.0-20220421151946-72621c1f0bd3/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo=
 google.golang.org/genproto v0.0.0-20220429170224-98d788798c3e/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo=
-<<<<<<< HEAD
 google.golang.org/genproto v0.0.0-20220502173005-c8bf987b8c21/go.mod h1:RAyBrSAP7Fh3Nc84ghnVLDPuV51xc9agzmm4Ph6i0Q4=
-google.golang.org/genproto v0.0.0-20220505152158-f39f71e6c8f3 h1:q1kiSVscqoDeqTF27eQ2NnLLDmqF0I373qQNXYMy0fo=
-=======
->>>>>>> 9ccddcf2a (feat(retail): start generating apiv2alpha)
 google.golang.org/genproto v0.0.0-20220505152158-f39f71e6c8f3/go.mod h1:RAyBrSAP7Fh3Nc84ghnVLDPuV51xc9agzmm4Ph6i0Q4=
 google.golang.org/genproto v0.0.0-20220519153652-3a47de7e79bd h1:e0TwkXOdbnH/1x5rc5MZ/VYyiZ4v+RdVfrGMqEwT68I=
 google.golang.org/genproto v0.0.0-20220519153652-3a47de7e79bd/go.mod h1:RAyBrSAP7Fh3Nc84ghnVLDPuV51xc9agzmm4Ph6i0Q4=
diff --git a/video/go.mod b/video/go.mod
index 35fb480..4b0d256 100644
--- a/video/go.mod
+++ b/video/go.mod
@@ -6,7 +6,7 @@
 	cloud.google.com/go v0.101.1
 	github.com/googleapis/gax-go/v2 v2.4.0
 	google.golang.org/api v0.80.0
-	google.golang.org/genproto v0.0.0-20220505152158-f39f71e6c8f3
+	google.golang.org/genproto v0.0.0-20220523171625-347a074981d8
 	google.golang.org/grpc v1.46.2
 	google.golang.org/protobuf v1.28.0
 )
diff --git a/video/go.sum b/video/go.sum
index a8c8d83..69d677c 100644
--- a/video/go.sum
+++ b/video/go.sum
@@ -568,8 +568,9 @@
 google.golang.org/genproto v0.0.0-20220421151946-72621c1f0bd3/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo=
 google.golang.org/genproto v0.0.0-20220429170224-98d788798c3e/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo=
 google.golang.org/genproto v0.0.0-20220502173005-c8bf987b8c21/go.mod h1:RAyBrSAP7Fh3Nc84ghnVLDPuV51xc9agzmm4Ph6i0Q4=
-google.golang.org/genproto v0.0.0-20220505152158-f39f71e6c8f3 h1:q1kiSVscqoDeqTF27eQ2NnLLDmqF0I373qQNXYMy0fo=
 google.golang.org/genproto v0.0.0-20220505152158-f39f71e6c8f3/go.mod h1:RAyBrSAP7Fh3Nc84ghnVLDPuV51xc9agzmm4Ph6i0Q4=
+google.golang.org/genproto v0.0.0-20220523171625-347a074981d8 h1:4NSrVrQGh6+UqBEd+Kwdh6ZDwESH0Sj2bNUQN+VjoQk=
+google.golang.org/genproto v0.0.0-20220523171625-347a074981d8/go.mod h1:RAyBrSAP7Fh3Nc84ghnVLDPuV51xc9agzmm4Ph6i0Q4=
 google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c=
 google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38=
 google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM=
