...

Source file src/cloud.google.com/go/pubsub/apiv1/pubsubpb/pubsub.pb.go

Documentation: cloud.google.com/go/pubsub/apiv1/pubsubpb

     1  // Copyright 2023 Google LLC
     2  //
     3  // Licensed under the Apache License, Version 2.0 (the "License");
     4  // you may not use this file except in compliance with the License.
     5  // You may obtain a copy of the License at
     6  //
     7  //     http://www.apache.org/licenses/LICENSE-2.0
     8  //
     9  // Unless required by applicable law or agreed to in writing, software
    10  // distributed under the License is distributed on an "AS IS" BASIS,
    11  // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    12  // See the License for the specific language governing permissions and
    13  // limitations under the License.
    14  
    15  // Code generated by protoc-gen-go. DO NOT EDIT.
    16  // versions:
    17  // 	protoc-gen-go v1.33.0
    18  // 	protoc        v4.25.3
    19  // source: google/pubsub/v1/pubsub.proto
    20  
    21  package pubsubpb
    22  
    23  import (
    24  	context "context"
    25  	reflect "reflect"
    26  	sync "sync"
    27  
    28  	_ "google.golang.org/genproto/googleapis/api/annotations"
    29  	grpc "google.golang.org/grpc"
    30  	codes "google.golang.org/grpc/codes"
    31  	status "google.golang.org/grpc/status"
    32  	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
    33  	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
    34  	durationpb "google.golang.org/protobuf/types/known/durationpb"
    35  	emptypb "google.golang.org/protobuf/types/known/emptypb"
    36  	fieldmaskpb "google.golang.org/protobuf/types/known/fieldmaskpb"
    37  	timestamppb "google.golang.org/protobuf/types/known/timestamppb"
    38  )
    39  
    40  const (
    41  	// Verify that this generated code is sufficiently up-to-date.
    42  	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
    43  	// Verify that runtime/protoimpl is sufficiently up-to-date.
    44  	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
    45  )
    46  
    47  // Possible states for ingestion from Amazon Kinesis Data Streams.
    48  type IngestionDataSourceSettings_AwsKinesis_State int32
    49  
    50  const (
    51  	// Default value. This value is unused.
    52  	IngestionDataSourceSettings_AwsKinesis_STATE_UNSPECIFIED IngestionDataSourceSettings_AwsKinesis_State = 0
    53  	// Ingestion is active.
    54  	IngestionDataSourceSettings_AwsKinesis_ACTIVE IngestionDataSourceSettings_AwsKinesis_State = 1
    55  	// Permission denied encountered while consuming data from Kinesis.
    56  	// This can happen if:
    57  	//   - The provided `aws_role_arn` does not exist or does not have the
    58  	//     appropriate permissions attached.
    59  	//   - The provided `aws_role_arn` is not set up properly for Identity
    60  	//     Federation using `gcp_service_account`.
    61  	//   - The Pub/Sub SA is not granted the
    62  	//     `iam.serviceAccounts.getOpenIdToken` permission on
    63  	//     `gcp_service_account`.
    64  	IngestionDataSourceSettings_AwsKinesis_KINESIS_PERMISSION_DENIED IngestionDataSourceSettings_AwsKinesis_State = 2
    65  	// Permission denied encountered while publishing to the topic. This can
    66  	// happen if the Pub/Sub SA has not been granted the [appropriate publish
    67  	// permissions](https://cloud.google.com/pubsub/docs/access-control#pubsub.publisher)
    68  	IngestionDataSourceSettings_AwsKinesis_PUBLISH_PERMISSION_DENIED IngestionDataSourceSettings_AwsKinesis_State = 3
    69  	// The Kinesis stream does not exist.
    70  	IngestionDataSourceSettings_AwsKinesis_STREAM_NOT_FOUND IngestionDataSourceSettings_AwsKinesis_State = 4
    71  	// The Kinesis consumer does not exist.
    72  	IngestionDataSourceSettings_AwsKinesis_CONSUMER_NOT_FOUND IngestionDataSourceSettings_AwsKinesis_State = 5
    73  )
    74  
    75  // Enum value maps for IngestionDataSourceSettings_AwsKinesis_State.
    76  var (
    77  	IngestionDataSourceSettings_AwsKinesis_State_name = map[int32]string{
    78  		0: "STATE_UNSPECIFIED",
    79  		1: "ACTIVE",
    80  		2: "KINESIS_PERMISSION_DENIED",
    81  		3: "PUBLISH_PERMISSION_DENIED",
    82  		4: "STREAM_NOT_FOUND",
    83  		5: "CONSUMER_NOT_FOUND",
    84  	}
    85  	IngestionDataSourceSettings_AwsKinesis_State_value = map[string]int32{
    86  		"STATE_UNSPECIFIED":         0,
    87  		"ACTIVE":                    1,
    88  		"KINESIS_PERMISSION_DENIED": 2,
    89  		"PUBLISH_PERMISSION_DENIED": 3,
    90  		"STREAM_NOT_FOUND":          4,
    91  		"CONSUMER_NOT_FOUND":        5,
    92  	}
    93  )
    94  
    95  func (x IngestionDataSourceSettings_AwsKinesis_State) Enum() *IngestionDataSourceSettings_AwsKinesis_State {
    96  	p := new(IngestionDataSourceSettings_AwsKinesis_State)
    97  	*p = x
    98  	return p
    99  }
   100  
   101  func (x IngestionDataSourceSettings_AwsKinesis_State) String() string {
   102  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
   103  }
   104  
   105  func (IngestionDataSourceSettings_AwsKinesis_State) Descriptor() protoreflect.EnumDescriptor {
   106  	return file_google_pubsub_v1_pubsub_proto_enumTypes[0].Descriptor()
   107  }
   108  
   109  func (IngestionDataSourceSettings_AwsKinesis_State) Type() protoreflect.EnumType {
   110  	return &file_google_pubsub_v1_pubsub_proto_enumTypes[0]
   111  }
   112  
   113  func (x IngestionDataSourceSettings_AwsKinesis_State) Number() protoreflect.EnumNumber {
   114  	return protoreflect.EnumNumber(x)
   115  }
   116  
   117  // Deprecated: Use IngestionDataSourceSettings_AwsKinesis_State.Descriptor instead.
   118  func (IngestionDataSourceSettings_AwsKinesis_State) EnumDescriptor() ([]byte, []int) {
   119  	return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{2, 0, 0}
   120  }
   121  
   122  // The state of the topic.
   123  type Topic_State int32
   124  
   125  const (
   126  	// Default value. This value is unused.
   127  	Topic_STATE_UNSPECIFIED Topic_State = 0
   128  	// The topic does not have any persistent errors.
   129  	Topic_ACTIVE Topic_State = 1
   130  	// Ingestion from the data source has encountered a permanent error.
   131  	// See the more detailed error state in the corresponding ingestion
   132  	// source configuration.
   133  	Topic_INGESTION_RESOURCE_ERROR Topic_State = 2
   134  )
   135  
   136  // Enum value maps for Topic_State.
   137  var (
   138  	Topic_State_name = map[int32]string{
   139  		0: "STATE_UNSPECIFIED",
   140  		1: "ACTIVE",
   141  		2: "INGESTION_RESOURCE_ERROR",
   142  	}
   143  	Topic_State_value = map[string]int32{
   144  		"STATE_UNSPECIFIED":        0,
   145  		"ACTIVE":                   1,
   146  		"INGESTION_RESOURCE_ERROR": 2,
   147  	}
   148  )
   149  
   150  func (x Topic_State) Enum() *Topic_State {
   151  	p := new(Topic_State)
   152  	*p = x
   153  	return p
   154  }
   155  
   156  func (x Topic_State) String() string {
   157  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
   158  }
   159  
   160  func (Topic_State) Descriptor() protoreflect.EnumDescriptor {
   161  	return file_google_pubsub_v1_pubsub_proto_enumTypes[1].Descriptor()
   162  }
   163  
   164  func (Topic_State) Type() protoreflect.EnumType {
   165  	return &file_google_pubsub_v1_pubsub_proto_enumTypes[1]
   166  }
   167  
   168  func (x Topic_State) Number() protoreflect.EnumNumber {
   169  	return protoreflect.EnumNumber(x)
   170  }
   171  
   172  // Deprecated: Use Topic_State.Descriptor instead.
   173  func (Topic_State) EnumDescriptor() ([]byte, []int) {
   174  	return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{3, 0}
   175  }
   176  
   177  // Possible states for a subscription.
   178  type Subscription_State int32
   179  
   180  const (
   181  	// Default value. This value is unused.
   182  	Subscription_STATE_UNSPECIFIED Subscription_State = 0
   183  	// The subscription can actively receive messages
   184  	Subscription_ACTIVE Subscription_State = 1
   185  	// The subscription cannot receive messages because of an error with the
   186  	// resource to which it pushes messages. See the more detailed error state
   187  	// in the corresponding configuration.
   188  	Subscription_RESOURCE_ERROR Subscription_State = 2
   189  )
   190  
   191  // Enum value maps for Subscription_State.
   192  var (
   193  	Subscription_State_name = map[int32]string{
   194  		0: "STATE_UNSPECIFIED",
   195  		1: "ACTIVE",
   196  		2: "RESOURCE_ERROR",
   197  	}
   198  	Subscription_State_value = map[string]int32{
   199  		"STATE_UNSPECIFIED": 0,
   200  		"ACTIVE":            1,
   201  		"RESOURCE_ERROR":    2,
   202  	}
   203  )
   204  
   205  func (x Subscription_State) Enum() *Subscription_State {
   206  	p := new(Subscription_State)
   207  	*p = x
   208  	return p
   209  }
   210  
   211  func (x Subscription_State) String() string {
   212  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
   213  }
   214  
   215  func (Subscription_State) Descriptor() protoreflect.EnumDescriptor {
   216  	return file_google_pubsub_v1_pubsub_proto_enumTypes[2].Descriptor()
   217  }
   218  
   219  func (Subscription_State) Type() protoreflect.EnumType {
   220  	return &file_google_pubsub_v1_pubsub_proto_enumTypes[2]
   221  }
   222  
   223  func (x Subscription_State) Number() protoreflect.EnumNumber {
   224  	return protoreflect.EnumNumber(x)
   225  }
   226  
   227  // Deprecated: Use Subscription_State.Descriptor instead.
   228  func (Subscription_State) EnumDescriptor() ([]byte, []int) {
   229  	return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{18, 0}
   230  }
   231  
   232  // Possible states for a BigQuery subscription.
   233  type BigQueryConfig_State int32
   234  
   235  const (
   236  	// Default value. This value is unused.
   237  	BigQueryConfig_STATE_UNSPECIFIED BigQueryConfig_State = 0
   238  	// The subscription can actively send messages to BigQuery
   239  	BigQueryConfig_ACTIVE BigQueryConfig_State = 1
   240  	// Cannot write to the BigQuery table because of permission denied errors.
   241  	// This can happen if
   242  	// - Pub/Sub SA has not been granted the [appropriate BigQuery IAM
   243  	// permissions](https://cloud.google.com/pubsub/docs/create-subscription#assign_bigquery_service_account)
   244  	// - bigquery.googleapis.com API is not enabled for the project
   245  	// ([instructions](https://cloud.google.com/service-usage/docs/enable-disable))
   246  	BigQueryConfig_PERMISSION_DENIED BigQueryConfig_State = 2
   247  	// Cannot write to the BigQuery table because it does not exist.
   248  	BigQueryConfig_NOT_FOUND BigQueryConfig_State = 3
   249  	// Cannot write to the BigQuery table due to a schema mismatch.
   250  	BigQueryConfig_SCHEMA_MISMATCH BigQueryConfig_State = 4
   251  	// Cannot write to the destination because enforce_in_transit is set to true
   252  	// and the destination locations are not in the allowed regions.
   253  	BigQueryConfig_IN_TRANSIT_LOCATION_RESTRICTION BigQueryConfig_State = 5
   254  )
   255  
   256  // Enum value maps for BigQueryConfig_State.
   257  var (
   258  	BigQueryConfig_State_name = map[int32]string{
   259  		0: "STATE_UNSPECIFIED",
   260  		1: "ACTIVE",
   261  		2: "PERMISSION_DENIED",
   262  		3: "NOT_FOUND",
   263  		4: "SCHEMA_MISMATCH",
   264  		5: "IN_TRANSIT_LOCATION_RESTRICTION",
   265  	}
   266  	BigQueryConfig_State_value = map[string]int32{
   267  		"STATE_UNSPECIFIED":               0,
   268  		"ACTIVE":                          1,
   269  		"PERMISSION_DENIED":               2,
   270  		"NOT_FOUND":                       3,
   271  		"SCHEMA_MISMATCH":                 4,
   272  		"IN_TRANSIT_LOCATION_RESTRICTION": 5,
   273  	}
   274  )
   275  
   276  func (x BigQueryConfig_State) Enum() *BigQueryConfig_State {
   277  	p := new(BigQueryConfig_State)
   278  	*p = x
   279  	return p
   280  }
   281  
   282  func (x BigQueryConfig_State) String() string {
   283  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
   284  }
   285  
   286  func (BigQueryConfig_State) Descriptor() protoreflect.EnumDescriptor {
   287  	return file_google_pubsub_v1_pubsub_proto_enumTypes[3].Descriptor()
   288  }
   289  
   290  func (BigQueryConfig_State) Type() protoreflect.EnumType {
   291  	return &file_google_pubsub_v1_pubsub_proto_enumTypes[3]
   292  }
   293  
   294  func (x BigQueryConfig_State) Number() protoreflect.EnumNumber {
   295  	return protoreflect.EnumNumber(x)
   296  }
   297  
   298  // Deprecated: Use BigQueryConfig_State.Descriptor instead.
   299  func (BigQueryConfig_State) EnumDescriptor() ([]byte, []int) {
   300  	return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{23, 0}
   301  }
   302  
   303  // Possible states for a Cloud Storage subscription.
   304  type CloudStorageConfig_State int32
   305  
   306  const (
   307  	// Default value. This value is unused.
   308  	CloudStorageConfig_STATE_UNSPECIFIED CloudStorageConfig_State = 0
   309  	// The subscription can actively send messages to Cloud Storage.
   310  	CloudStorageConfig_ACTIVE CloudStorageConfig_State = 1
   311  	// Cannot write to the Cloud Storage bucket because of permission denied
   312  	// errors.
   313  	CloudStorageConfig_PERMISSION_DENIED CloudStorageConfig_State = 2
   314  	// Cannot write to the Cloud Storage bucket because it does not exist.
   315  	CloudStorageConfig_NOT_FOUND CloudStorageConfig_State = 3
   316  	// Cannot write to the destination because enforce_in_transit is set to true
   317  	// and the destination locations are not in the allowed regions.
   318  	CloudStorageConfig_IN_TRANSIT_LOCATION_RESTRICTION CloudStorageConfig_State = 4
   319  )
   320  
   321  // Enum value maps for CloudStorageConfig_State.
   322  var (
   323  	CloudStorageConfig_State_name = map[int32]string{
   324  		0: "STATE_UNSPECIFIED",
   325  		1: "ACTIVE",
   326  		2: "PERMISSION_DENIED",
   327  		3: "NOT_FOUND",
   328  		4: "IN_TRANSIT_LOCATION_RESTRICTION",
   329  	}
   330  	CloudStorageConfig_State_value = map[string]int32{
   331  		"STATE_UNSPECIFIED":               0,
   332  		"ACTIVE":                          1,
   333  		"PERMISSION_DENIED":               2,
   334  		"NOT_FOUND":                       3,
   335  		"IN_TRANSIT_LOCATION_RESTRICTION": 4,
   336  	}
   337  )
   338  
   339  func (x CloudStorageConfig_State) Enum() *CloudStorageConfig_State {
   340  	p := new(CloudStorageConfig_State)
   341  	*p = x
   342  	return p
   343  }
   344  
   345  func (x CloudStorageConfig_State) String() string {
   346  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
   347  }
   348  
   349  func (CloudStorageConfig_State) Descriptor() protoreflect.EnumDescriptor {
   350  	return file_google_pubsub_v1_pubsub_proto_enumTypes[4].Descriptor()
   351  }
   352  
   353  func (CloudStorageConfig_State) Type() protoreflect.EnumType {
   354  	return &file_google_pubsub_v1_pubsub_proto_enumTypes[4]
   355  }
   356  
   357  func (x CloudStorageConfig_State) Number() protoreflect.EnumNumber {
   358  	return protoreflect.EnumNumber(x)
   359  }
   360  
   361  // Deprecated: Use CloudStorageConfig_State.Descriptor instead.
   362  func (CloudStorageConfig_State) EnumDescriptor() ([]byte, []int) {
   363  	return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{24, 0}
   364  }
   365  
   366  // A policy constraining the storage of messages published to the topic.
   367  type MessageStoragePolicy struct {
   368  	state         protoimpl.MessageState
   369  	sizeCache     protoimpl.SizeCache
   370  	unknownFields protoimpl.UnknownFields
   371  
   372  	// Optional. A list of IDs of Google Cloud regions where messages that are
   373  	// published to the topic may be persisted in storage. Messages published by
   374  	// publishers running in non-allowed Google Cloud regions (or running outside
   375  	// of Google Cloud altogether) are routed for storage in one of the allowed
   376  	// regions. An empty list means that no regions are allowed, and is not a
   377  	// valid configuration.
   378  	AllowedPersistenceRegions []string `protobuf:"bytes,1,rep,name=allowed_persistence_regions,json=allowedPersistenceRegions,proto3" json:"allowed_persistence_regions,omitempty"`
   379  	// Optional. If true, `allowed_persistence_regions` is also used to enforce
   380  	// in-transit guarantees for messages. That is, Pub/Sub will fail
   381  	// Publish operations on this topic and subscribe operations
   382  	// on any subscription attached to this topic in any region that is
   383  	// not in `allowed_persistence_regions`.
   384  	EnforceInTransit bool `protobuf:"varint,2,opt,name=enforce_in_transit,json=enforceInTransit,proto3" json:"enforce_in_transit,omitempty"`
   385  }
   386  
   387  func (x *MessageStoragePolicy) Reset() {
   388  	*x = MessageStoragePolicy{}
   389  	if protoimpl.UnsafeEnabled {
   390  		mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[0]
   391  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   392  		ms.StoreMessageInfo(mi)
   393  	}
   394  }
   395  
   396  func (x *MessageStoragePolicy) String() string {
   397  	return protoimpl.X.MessageStringOf(x)
   398  }
   399  
   400  func (*MessageStoragePolicy) ProtoMessage() {}
   401  
   402  func (x *MessageStoragePolicy) ProtoReflect() protoreflect.Message {
   403  	mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[0]
   404  	if protoimpl.UnsafeEnabled && x != nil {
   405  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   406  		if ms.LoadMessageInfo() == nil {
   407  			ms.StoreMessageInfo(mi)
   408  		}
   409  		return ms
   410  	}
   411  	return mi.MessageOf(x)
   412  }
   413  
   414  // Deprecated: Use MessageStoragePolicy.ProtoReflect.Descriptor instead.
   415  func (*MessageStoragePolicy) Descriptor() ([]byte, []int) {
   416  	return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{0}
   417  }
   418  
   419  func (x *MessageStoragePolicy) GetAllowedPersistenceRegions() []string {
   420  	if x != nil {
   421  		return x.AllowedPersistenceRegions
   422  	}
   423  	return nil
   424  }
   425  
   426  func (x *MessageStoragePolicy) GetEnforceInTransit() bool {
   427  	if x != nil {
   428  		return x.EnforceInTransit
   429  	}
   430  	return false
   431  }
   432  
   433  // Settings for validating messages published against a schema.
   434  type SchemaSettings struct {
   435  	state         protoimpl.MessageState
   436  	sizeCache     protoimpl.SizeCache
   437  	unknownFields protoimpl.UnknownFields
   438  
   439  	// Required. The name of the schema that messages published should be
   440  	// validated against. Format is `projects/{project}/schemas/{schema}`. The
   441  	// value of this field will be `_deleted-schema_` if the schema has been
   442  	// deleted.
   443  	Schema string `protobuf:"bytes,1,opt,name=schema,proto3" json:"schema,omitempty"`
   444  	// Optional. The encoding of messages validated against `schema`.
   445  	Encoding Encoding `protobuf:"varint,2,opt,name=encoding,proto3,enum=google.pubsub.v1.Encoding" json:"encoding,omitempty"`
   446  	// Optional. The minimum (inclusive) revision allowed for validating messages.
   447  	// If empty or not present, allow any revision to be validated against
   448  	// last_revision or any revision created before.
   449  	FirstRevisionId string `protobuf:"bytes,3,opt,name=first_revision_id,json=firstRevisionId,proto3" json:"first_revision_id,omitempty"`
   450  	// Optional. The maximum (inclusive) revision allowed for validating messages.
   451  	// If empty or not present, allow any revision to be validated against
   452  	// first_revision or any revision created after.
   453  	LastRevisionId string `protobuf:"bytes,4,opt,name=last_revision_id,json=lastRevisionId,proto3" json:"last_revision_id,omitempty"`
   454  }
   455  
   456  func (x *SchemaSettings) Reset() {
   457  	*x = SchemaSettings{}
   458  	if protoimpl.UnsafeEnabled {
   459  		mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[1]
   460  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   461  		ms.StoreMessageInfo(mi)
   462  	}
   463  }
   464  
   465  func (x *SchemaSettings) String() string {
   466  	return protoimpl.X.MessageStringOf(x)
   467  }
   468  
   469  func (*SchemaSettings) ProtoMessage() {}
   470  
   471  func (x *SchemaSettings) ProtoReflect() protoreflect.Message {
   472  	mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[1]
   473  	if protoimpl.UnsafeEnabled && x != nil {
   474  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   475  		if ms.LoadMessageInfo() == nil {
   476  			ms.StoreMessageInfo(mi)
   477  		}
   478  		return ms
   479  	}
   480  	return mi.MessageOf(x)
   481  }
   482  
   483  // Deprecated: Use SchemaSettings.ProtoReflect.Descriptor instead.
   484  func (*SchemaSettings) Descriptor() ([]byte, []int) {
   485  	return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{1}
   486  }
   487  
   488  func (x *SchemaSettings) GetSchema() string {
   489  	if x != nil {
   490  		return x.Schema
   491  	}
   492  	return ""
   493  }
   494  
   495  func (x *SchemaSettings) GetEncoding() Encoding {
   496  	if x != nil {
   497  		return x.Encoding
   498  	}
   499  	return Encoding_ENCODING_UNSPECIFIED
   500  }
   501  
   502  func (x *SchemaSettings) GetFirstRevisionId() string {
   503  	if x != nil {
   504  		return x.FirstRevisionId
   505  	}
   506  	return ""
   507  }
   508  
   509  func (x *SchemaSettings) GetLastRevisionId() string {
   510  	if x != nil {
   511  		return x.LastRevisionId
   512  	}
   513  	return ""
   514  }
   515  
   516  // Settings for an ingestion data source on a topic.
   517  type IngestionDataSourceSettings struct {
   518  	state         protoimpl.MessageState
   519  	sizeCache     protoimpl.SizeCache
   520  	unknownFields protoimpl.UnknownFields
   521  
   522  	// Only one source type can have settings set.
   523  	//
   524  	// Types that are assignable to Source:
   525  	//
   526  	//	*IngestionDataSourceSettings_AwsKinesis_
   527  	Source isIngestionDataSourceSettings_Source `protobuf_oneof:"source"`
   528  }
   529  
   530  func (x *IngestionDataSourceSettings) Reset() {
   531  	*x = IngestionDataSourceSettings{}
   532  	if protoimpl.UnsafeEnabled {
   533  		mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[2]
   534  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   535  		ms.StoreMessageInfo(mi)
   536  	}
   537  }
   538  
   539  func (x *IngestionDataSourceSettings) String() string {
   540  	return protoimpl.X.MessageStringOf(x)
   541  }
   542  
   543  func (*IngestionDataSourceSettings) ProtoMessage() {}
   544  
   545  func (x *IngestionDataSourceSettings) ProtoReflect() protoreflect.Message {
   546  	mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[2]
   547  	if protoimpl.UnsafeEnabled && x != nil {
   548  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   549  		if ms.LoadMessageInfo() == nil {
   550  			ms.StoreMessageInfo(mi)
   551  		}
   552  		return ms
   553  	}
   554  	return mi.MessageOf(x)
   555  }
   556  
   557  // Deprecated: Use IngestionDataSourceSettings.ProtoReflect.Descriptor instead.
   558  func (*IngestionDataSourceSettings) Descriptor() ([]byte, []int) {
   559  	return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{2}
   560  }
   561  
   562  func (m *IngestionDataSourceSettings) GetSource() isIngestionDataSourceSettings_Source {
   563  	if m != nil {
   564  		return m.Source
   565  	}
   566  	return nil
   567  }
   568  
   569  func (x *IngestionDataSourceSettings) GetAwsKinesis() *IngestionDataSourceSettings_AwsKinesis {
   570  	if x, ok := x.GetSource().(*IngestionDataSourceSettings_AwsKinesis_); ok {
   571  		return x.AwsKinesis
   572  	}
   573  	return nil
   574  }
   575  
   576  type isIngestionDataSourceSettings_Source interface {
   577  	isIngestionDataSourceSettings_Source()
   578  }
   579  
   580  type IngestionDataSourceSettings_AwsKinesis_ struct {
   581  	// Optional. Amazon Kinesis Data Streams.
   582  	AwsKinesis *IngestionDataSourceSettings_AwsKinesis `protobuf:"bytes,1,opt,name=aws_kinesis,json=awsKinesis,proto3,oneof"`
   583  }
   584  
   585  func (*IngestionDataSourceSettings_AwsKinesis_) isIngestionDataSourceSettings_Source() {}
   586  
   587  // A topic resource.
   588  type Topic struct {
   589  	state         protoimpl.MessageState
   590  	sizeCache     protoimpl.SizeCache
   591  	unknownFields protoimpl.UnknownFields
   592  
   593  	// Required. The name of the topic. It must have the format
   594  	// `"projects/{project}/topics/{topic}"`. `{topic}` must start with a letter,
   595  	// and contain only letters (`[A-Za-z]`), numbers (`[0-9]`), dashes (`-`),
   596  	// underscores (`_`), periods (`.`), tildes (`~`), plus (`+`) or percent
   597  	// signs (`%`). It must be between 3 and 255 characters in length, and it
   598  	// must not start with `"goog"`.
   599  	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
   600  	// Optional. See [Creating and managing labels]
   601  	// (https://cloud.google.com/pubsub/docs/labels).
   602  	Labels map[string]string `protobuf:"bytes,2,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
   603  	// Optional. Policy constraining the set of Google Cloud Platform regions
   604  	// where messages published to the topic may be stored. If not present, then
   605  	// no constraints are in effect.
   606  	MessageStoragePolicy *MessageStoragePolicy `protobuf:"bytes,3,opt,name=message_storage_policy,json=messageStoragePolicy,proto3" json:"message_storage_policy,omitempty"`
   607  	// Optional. The resource name of the Cloud KMS CryptoKey to be used to
   608  	// protect access to messages published on this topic.
   609  	//
   610  	// The expected format is `projects/*/locations/*/keyRings/*/cryptoKeys/*`.
   611  	KmsKeyName string `protobuf:"bytes,5,opt,name=kms_key_name,json=kmsKeyName,proto3" json:"kms_key_name,omitempty"`
   612  	// Optional. Settings for validating messages published against a schema.
   613  	SchemaSettings *SchemaSettings `protobuf:"bytes,6,opt,name=schema_settings,json=schemaSettings,proto3" json:"schema_settings,omitempty"`
   614  	// Optional. Reserved for future use. This field is set only in responses from
   615  	// the server; it is ignored if it is set in any requests.
   616  	SatisfiesPzs bool `protobuf:"varint,7,opt,name=satisfies_pzs,json=satisfiesPzs,proto3" json:"satisfies_pzs,omitempty"`
   617  	// Optional. Indicates the minimum duration to retain a message after it is
   618  	// published to the topic. If this field is set, messages published to the
   619  	// topic in the last `message_retention_duration` are always available to
   620  	// subscribers. For instance, it allows any attached subscription to [seek to
   621  	// a
   622  	// timestamp](https://cloud.google.com/pubsub/docs/replay-overview#seek_to_a_time)
   623  	// that is up to `message_retention_duration` in the past. If this field is
   624  	// not set, message retention is controlled by settings on individual
   625  	// subscriptions. Cannot be more than 31 days or less than 10 minutes.
   626  	MessageRetentionDuration *durationpb.Duration `protobuf:"bytes,8,opt,name=message_retention_duration,json=messageRetentionDuration,proto3" json:"message_retention_duration,omitempty"`
   627  	// Output only. An output-only field indicating the state of the topic.
   628  	State Topic_State `protobuf:"varint,9,opt,name=state,proto3,enum=google.pubsub.v1.Topic_State" json:"state,omitempty"`
   629  	// Optional. Settings for ingestion from a data source into this topic.
   630  	IngestionDataSourceSettings *IngestionDataSourceSettings `protobuf:"bytes,10,opt,name=ingestion_data_source_settings,json=ingestionDataSourceSettings,proto3" json:"ingestion_data_source_settings,omitempty"`
   631  }
   632  
   633  func (x *Topic) Reset() {
   634  	*x = Topic{}
   635  	if protoimpl.UnsafeEnabled {
   636  		mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[3]
   637  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   638  		ms.StoreMessageInfo(mi)
   639  	}
   640  }
   641  
   642  func (x *Topic) String() string {
   643  	return protoimpl.X.MessageStringOf(x)
   644  }
   645  
   646  func (*Topic) ProtoMessage() {}
   647  
   648  func (x *Topic) ProtoReflect() protoreflect.Message {
   649  	mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[3]
   650  	if protoimpl.UnsafeEnabled && x != nil {
   651  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   652  		if ms.LoadMessageInfo() == nil {
   653  			ms.StoreMessageInfo(mi)
   654  		}
   655  		return ms
   656  	}
   657  	return mi.MessageOf(x)
   658  }
   659  
   660  // Deprecated: Use Topic.ProtoReflect.Descriptor instead.
   661  func (*Topic) Descriptor() ([]byte, []int) {
   662  	return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{3}
   663  }
   664  
   665  func (x *Topic) GetName() string {
   666  	if x != nil {
   667  		return x.Name
   668  	}
   669  	return ""
   670  }
   671  
   672  func (x *Topic) GetLabels() map[string]string {
   673  	if x != nil {
   674  		return x.Labels
   675  	}
   676  	return nil
   677  }
   678  
   679  func (x *Topic) GetMessageStoragePolicy() *MessageStoragePolicy {
   680  	if x != nil {
   681  		return x.MessageStoragePolicy
   682  	}
   683  	return nil
   684  }
   685  
   686  func (x *Topic) GetKmsKeyName() string {
   687  	if x != nil {
   688  		return x.KmsKeyName
   689  	}
   690  	return ""
   691  }
   692  
   693  func (x *Topic) GetSchemaSettings() *SchemaSettings {
   694  	if x != nil {
   695  		return x.SchemaSettings
   696  	}
   697  	return nil
   698  }
   699  
   700  func (x *Topic) GetSatisfiesPzs() bool {
   701  	if x != nil {
   702  		return x.SatisfiesPzs
   703  	}
   704  	return false
   705  }
   706  
   707  func (x *Topic) GetMessageRetentionDuration() *durationpb.Duration {
   708  	if x != nil {
   709  		return x.MessageRetentionDuration
   710  	}
   711  	return nil
   712  }
   713  
   714  func (x *Topic) GetState() Topic_State {
   715  	if x != nil {
   716  		return x.State
   717  	}
   718  	return Topic_STATE_UNSPECIFIED
   719  }
   720  
   721  func (x *Topic) GetIngestionDataSourceSettings() *IngestionDataSourceSettings {
   722  	if x != nil {
   723  		return x.IngestionDataSourceSettings
   724  	}
   725  	return nil
   726  }
   727  
   728  // A message that is published by publishers and consumed by subscribers. The
   729  // message must contain either a non-empty data field or at least one attribute.
   730  // Note that client libraries represent this object differently
   731  // depending on the language. See the corresponding [client library
   732  // documentation](https://cloud.google.com/pubsub/docs/reference/libraries) for
   733  // more information. See [quotas and limits]
   734  // (https://cloud.google.com/pubsub/quotas) for more information about message
   735  // limits.
   736  type PubsubMessage struct {
   737  	state         protoimpl.MessageState
   738  	sizeCache     protoimpl.SizeCache
   739  	unknownFields protoimpl.UnknownFields
   740  
   741  	// Optional. The message data field. If this field is empty, the message must
   742  	// contain at least one attribute.
   743  	Data []byte `protobuf:"bytes,1,opt,name=data,proto3" json:"data,omitempty"`
   744  	// Optional. Attributes for this message. If this field is empty, the message
   745  	// must contain non-empty data. This can be used to filter messages on the
   746  	// subscription.
   747  	Attributes map[string]string `protobuf:"bytes,2,rep,name=attributes,proto3" json:"attributes,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
   748  	// ID of this message, assigned by the server when the message is published.
   749  	// Guaranteed to be unique within the topic. This value may be read by a
   750  	// subscriber that receives a `PubsubMessage` via a `Pull` call or a push
   751  	// delivery. It must not be populated by the publisher in a `Publish` call.
   752  	MessageId string `protobuf:"bytes,3,opt,name=message_id,json=messageId,proto3" json:"message_id,omitempty"`
   753  	// The time at which the message was published, populated by the server when
   754  	// it receives the `Publish` call. It must not be populated by the
   755  	// publisher in a `Publish` call.
   756  	PublishTime *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=publish_time,json=publishTime,proto3" json:"publish_time,omitempty"`
   757  	// Optional. If non-empty, identifies related messages for which publish order
   758  	// should be respected. If a `Subscription` has `enable_message_ordering` set
   759  	// to `true`, messages published with the same non-empty `ordering_key` value
   760  	// will be delivered to subscribers in the order in which they are received by
   761  	// the Pub/Sub system. All `PubsubMessage`s published in a given
   762  	// `PublishRequest` must specify the same `ordering_key` value. For more
   763  	// information, see [ordering
   764  	// messages](https://cloud.google.com/pubsub/docs/ordering).
   765  	OrderingKey string `protobuf:"bytes,5,opt,name=ordering_key,json=orderingKey,proto3" json:"ordering_key,omitempty"`
   766  }
   767  
   768  func (x *PubsubMessage) Reset() {
   769  	*x = PubsubMessage{}
   770  	if protoimpl.UnsafeEnabled {
   771  		mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[4]
   772  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   773  		ms.StoreMessageInfo(mi)
   774  	}
   775  }
   776  
   777  func (x *PubsubMessage) String() string {
   778  	return protoimpl.X.MessageStringOf(x)
   779  }
   780  
   781  func (*PubsubMessage) ProtoMessage() {}
   782  
   783  func (x *PubsubMessage) ProtoReflect() protoreflect.Message {
   784  	mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[4]
   785  	if protoimpl.UnsafeEnabled && x != nil {
   786  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   787  		if ms.LoadMessageInfo() == nil {
   788  			ms.StoreMessageInfo(mi)
   789  		}
   790  		return ms
   791  	}
   792  	return mi.MessageOf(x)
   793  }
   794  
   795  // Deprecated: Use PubsubMessage.ProtoReflect.Descriptor instead.
   796  func (*PubsubMessage) Descriptor() ([]byte, []int) {
   797  	return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{4}
   798  }
   799  
   800  func (x *PubsubMessage) GetData() []byte {
   801  	if x != nil {
   802  		return x.Data
   803  	}
   804  	return nil
   805  }
   806  
   807  func (x *PubsubMessage) GetAttributes() map[string]string {
   808  	if x != nil {
   809  		return x.Attributes
   810  	}
   811  	return nil
   812  }
   813  
   814  func (x *PubsubMessage) GetMessageId() string {
   815  	if x != nil {
   816  		return x.MessageId
   817  	}
   818  	return ""
   819  }
   820  
   821  func (x *PubsubMessage) GetPublishTime() *timestamppb.Timestamp {
   822  	if x != nil {
   823  		return x.PublishTime
   824  	}
   825  	return nil
   826  }
   827  
   828  func (x *PubsubMessage) GetOrderingKey() string {
   829  	if x != nil {
   830  		return x.OrderingKey
   831  	}
   832  	return ""
   833  }
   834  
   835  // Request for the GetTopic method.
   836  type GetTopicRequest struct {
   837  	state         protoimpl.MessageState
   838  	sizeCache     protoimpl.SizeCache
   839  	unknownFields protoimpl.UnknownFields
   840  
   841  	// Required. The name of the topic to get.
   842  	// Format is `projects/{project}/topics/{topic}`.
   843  	Topic string `protobuf:"bytes,1,opt,name=topic,proto3" json:"topic,omitempty"`
   844  }
   845  
   846  func (x *GetTopicRequest) Reset() {
   847  	*x = GetTopicRequest{}
   848  	if protoimpl.UnsafeEnabled {
   849  		mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[5]
   850  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   851  		ms.StoreMessageInfo(mi)
   852  	}
   853  }
   854  
   855  func (x *GetTopicRequest) String() string {
   856  	return protoimpl.X.MessageStringOf(x)
   857  }
   858  
   859  func (*GetTopicRequest) ProtoMessage() {}
   860  
   861  func (x *GetTopicRequest) ProtoReflect() protoreflect.Message {
   862  	mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[5]
   863  	if protoimpl.UnsafeEnabled && x != nil {
   864  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   865  		if ms.LoadMessageInfo() == nil {
   866  			ms.StoreMessageInfo(mi)
   867  		}
   868  		return ms
   869  	}
   870  	return mi.MessageOf(x)
   871  }
   872  
   873  // Deprecated: Use GetTopicRequest.ProtoReflect.Descriptor instead.
   874  func (*GetTopicRequest) Descriptor() ([]byte, []int) {
   875  	return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{5}
   876  }
   877  
   878  func (x *GetTopicRequest) GetTopic() string {
   879  	if x != nil {
   880  		return x.Topic
   881  	}
   882  	return ""
   883  }
   884  
   885  // Request for the UpdateTopic method.
   886  type UpdateTopicRequest struct {
   887  	state         protoimpl.MessageState
   888  	sizeCache     protoimpl.SizeCache
   889  	unknownFields protoimpl.UnknownFields
   890  
   891  	// Required. The updated topic object.
   892  	Topic *Topic `protobuf:"bytes,1,opt,name=topic,proto3" json:"topic,omitempty"`
   893  	// Required. Indicates which fields in the provided topic to update. Must be
   894  	// specified and non-empty. Note that if `update_mask` contains
   895  	// "message_storage_policy" but the `message_storage_policy` is not set in
   896  	// the `topic` provided above, then the updated value is determined by the
   897  	// policy configured at the project or organization level.
   898  	UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"`
   899  }
   900  
   901  func (x *UpdateTopicRequest) Reset() {
   902  	*x = UpdateTopicRequest{}
   903  	if protoimpl.UnsafeEnabled {
   904  		mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[6]
   905  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   906  		ms.StoreMessageInfo(mi)
   907  	}
   908  }
   909  
   910  func (x *UpdateTopicRequest) String() string {
   911  	return protoimpl.X.MessageStringOf(x)
   912  }
   913  
   914  func (*UpdateTopicRequest) ProtoMessage() {}
   915  
   916  func (x *UpdateTopicRequest) ProtoReflect() protoreflect.Message {
   917  	mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[6]
   918  	if protoimpl.UnsafeEnabled && x != nil {
   919  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   920  		if ms.LoadMessageInfo() == nil {
   921  			ms.StoreMessageInfo(mi)
   922  		}
   923  		return ms
   924  	}
   925  	return mi.MessageOf(x)
   926  }
   927  
   928  // Deprecated: Use UpdateTopicRequest.ProtoReflect.Descriptor instead.
   929  func (*UpdateTopicRequest) Descriptor() ([]byte, []int) {
   930  	return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{6}
   931  }
   932  
   933  func (x *UpdateTopicRequest) GetTopic() *Topic {
   934  	if x != nil {
   935  		return x.Topic
   936  	}
   937  	return nil
   938  }
   939  
   940  func (x *UpdateTopicRequest) GetUpdateMask() *fieldmaskpb.FieldMask {
   941  	if x != nil {
   942  		return x.UpdateMask
   943  	}
   944  	return nil
   945  }
   946  
   947  // Request for the Publish method.
   948  type PublishRequest struct {
   949  	state         protoimpl.MessageState
   950  	sizeCache     protoimpl.SizeCache
   951  	unknownFields protoimpl.UnknownFields
   952  
   953  	// Required. The messages in the request will be published on this topic.
   954  	// Format is `projects/{project}/topics/{topic}`.
   955  	Topic string `protobuf:"bytes,1,opt,name=topic,proto3" json:"topic,omitempty"`
   956  	// Required. The messages to publish.
   957  	Messages []*PubsubMessage `protobuf:"bytes,2,rep,name=messages,proto3" json:"messages,omitempty"`
   958  }
   959  
   960  func (x *PublishRequest) Reset() {
   961  	*x = PublishRequest{}
   962  	if protoimpl.UnsafeEnabled {
   963  		mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[7]
   964  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   965  		ms.StoreMessageInfo(mi)
   966  	}
   967  }
   968  
   969  func (x *PublishRequest) String() string {
   970  	return protoimpl.X.MessageStringOf(x)
   971  }
   972  
   973  func (*PublishRequest) ProtoMessage() {}
   974  
   975  func (x *PublishRequest) ProtoReflect() protoreflect.Message {
   976  	mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[7]
   977  	if protoimpl.UnsafeEnabled && x != nil {
   978  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   979  		if ms.LoadMessageInfo() == nil {
   980  			ms.StoreMessageInfo(mi)
   981  		}
   982  		return ms
   983  	}
   984  	return mi.MessageOf(x)
   985  }
   986  
   987  // Deprecated: Use PublishRequest.ProtoReflect.Descriptor instead.
   988  func (*PublishRequest) Descriptor() ([]byte, []int) {
   989  	return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{7}
   990  }
   991  
   992  func (x *PublishRequest) GetTopic() string {
   993  	if x != nil {
   994  		return x.Topic
   995  	}
   996  	return ""
   997  }
   998  
   999  func (x *PublishRequest) GetMessages() []*PubsubMessage {
  1000  	if x != nil {
  1001  		return x.Messages
  1002  	}
  1003  	return nil
  1004  }
  1005  
  1006  // Response for the `Publish` method.
  1007  type PublishResponse struct {
  1008  	state         protoimpl.MessageState
  1009  	sizeCache     protoimpl.SizeCache
  1010  	unknownFields protoimpl.UnknownFields
  1011  
  1012  	// Optional. The server-assigned ID of each published message, in the same
  1013  	// order as the messages in the request. IDs are guaranteed to be unique
  1014  	// within the topic.
  1015  	MessageIds []string `protobuf:"bytes,1,rep,name=message_ids,json=messageIds,proto3" json:"message_ids,omitempty"`
  1016  }
  1017  
  1018  func (x *PublishResponse) Reset() {
  1019  	*x = PublishResponse{}
  1020  	if protoimpl.UnsafeEnabled {
  1021  		mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[8]
  1022  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1023  		ms.StoreMessageInfo(mi)
  1024  	}
  1025  }
  1026  
  1027  func (x *PublishResponse) String() string {
  1028  	return protoimpl.X.MessageStringOf(x)
  1029  }
  1030  
  1031  func (*PublishResponse) ProtoMessage() {}
  1032  
  1033  func (x *PublishResponse) ProtoReflect() protoreflect.Message {
  1034  	mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[8]
  1035  	if protoimpl.UnsafeEnabled && x != nil {
  1036  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1037  		if ms.LoadMessageInfo() == nil {
  1038  			ms.StoreMessageInfo(mi)
  1039  		}
  1040  		return ms
  1041  	}
  1042  	return mi.MessageOf(x)
  1043  }
  1044  
  1045  // Deprecated: Use PublishResponse.ProtoReflect.Descriptor instead.
  1046  func (*PublishResponse) Descriptor() ([]byte, []int) {
  1047  	return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{8}
  1048  }
  1049  
  1050  func (x *PublishResponse) GetMessageIds() []string {
  1051  	if x != nil {
  1052  		return x.MessageIds
  1053  	}
  1054  	return nil
  1055  }
  1056  
  1057  // Request for the `ListTopics` method.
  1058  type ListTopicsRequest struct {
  1059  	state         protoimpl.MessageState
  1060  	sizeCache     protoimpl.SizeCache
  1061  	unknownFields protoimpl.UnknownFields
  1062  
  1063  	// Required. The name of the project in which to list topics.
  1064  	// Format is `projects/{project-id}`.
  1065  	Project string `protobuf:"bytes,1,opt,name=project,proto3" json:"project,omitempty"`
  1066  	// Optional. Maximum number of topics to return.
  1067  	PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
  1068  	// Optional. The value returned by the last `ListTopicsResponse`; indicates
  1069  	// that this is a continuation of a prior `ListTopics` call, and that the
  1070  	// system should return the next page of data.
  1071  	PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
  1072  }
  1073  
  1074  func (x *ListTopicsRequest) Reset() {
  1075  	*x = ListTopicsRequest{}
  1076  	if protoimpl.UnsafeEnabled {
  1077  		mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[9]
  1078  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1079  		ms.StoreMessageInfo(mi)
  1080  	}
  1081  }
  1082  
  1083  func (x *ListTopicsRequest) String() string {
  1084  	return protoimpl.X.MessageStringOf(x)
  1085  }
  1086  
  1087  func (*ListTopicsRequest) ProtoMessage() {}
  1088  
  1089  func (x *ListTopicsRequest) ProtoReflect() protoreflect.Message {
  1090  	mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[9]
  1091  	if protoimpl.UnsafeEnabled && x != nil {
  1092  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1093  		if ms.LoadMessageInfo() == nil {
  1094  			ms.StoreMessageInfo(mi)
  1095  		}
  1096  		return ms
  1097  	}
  1098  	return mi.MessageOf(x)
  1099  }
  1100  
  1101  // Deprecated: Use ListTopicsRequest.ProtoReflect.Descriptor instead.
  1102  func (*ListTopicsRequest) Descriptor() ([]byte, []int) {
  1103  	return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{9}
  1104  }
  1105  
  1106  func (x *ListTopicsRequest) GetProject() string {
  1107  	if x != nil {
  1108  		return x.Project
  1109  	}
  1110  	return ""
  1111  }
  1112  
  1113  func (x *ListTopicsRequest) GetPageSize() int32 {
  1114  	if x != nil {
  1115  		return x.PageSize
  1116  	}
  1117  	return 0
  1118  }
  1119  
  1120  func (x *ListTopicsRequest) GetPageToken() string {
  1121  	if x != nil {
  1122  		return x.PageToken
  1123  	}
  1124  	return ""
  1125  }
  1126  
  1127  // Response for the `ListTopics` method.
  1128  type ListTopicsResponse struct {
  1129  	state         protoimpl.MessageState
  1130  	sizeCache     protoimpl.SizeCache
  1131  	unknownFields protoimpl.UnknownFields
  1132  
  1133  	// Optional. The resulting topics.
  1134  	Topics []*Topic `protobuf:"bytes,1,rep,name=topics,proto3" json:"topics,omitempty"`
  1135  	// Optional. If not empty, indicates that there may be more topics that match
  1136  	// the request; this value should be passed in a new `ListTopicsRequest`.
  1137  	NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
  1138  }
  1139  
  1140  func (x *ListTopicsResponse) Reset() {
  1141  	*x = ListTopicsResponse{}
  1142  	if protoimpl.UnsafeEnabled {
  1143  		mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[10]
  1144  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1145  		ms.StoreMessageInfo(mi)
  1146  	}
  1147  }
  1148  
  1149  func (x *ListTopicsResponse) String() string {
  1150  	return protoimpl.X.MessageStringOf(x)
  1151  }
  1152  
  1153  func (*ListTopicsResponse) ProtoMessage() {}
  1154  
  1155  func (x *ListTopicsResponse) ProtoReflect() protoreflect.Message {
  1156  	mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[10]
  1157  	if protoimpl.UnsafeEnabled && x != nil {
  1158  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1159  		if ms.LoadMessageInfo() == nil {
  1160  			ms.StoreMessageInfo(mi)
  1161  		}
  1162  		return ms
  1163  	}
  1164  	return mi.MessageOf(x)
  1165  }
  1166  
  1167  // Deprecated: Use ListTopicsResponse.ProtoReflect.Descriptor instead.
  1168  func (*ListTopicsResponse) Descriptor() ([]byte, []int) {
  1169  	return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{10}
  1170  }
  1171  
  1172  func (x *ListTopicsResponse) GetTopics() []*Topic {
  1173  	if x != nil {
  1174  		return x.Topics
  1175  	}
  1176  	return nil
  1177  }
  1178  
  1179  func (x *ListTopicsResponse) GetNextPageToken() string {
  1180  	if x != nil {
  1181  		return x.NextPageToken
  1182  	}
  1183  	return ""
  1184  }
  1185  
  1186  // Request for the `ListTopicSubscriptions` method.
  1187  type ListTopicSubscriptionsRequest struct {
  1188  	state         protoimpl.MessageState
  1189  	sizeCache     protoimpl.SizeCache
  1190  	unknownFields protoimpl.UnknownFields
  1191  
  1192  	// Required. The name of the topic that subscriptions are attached to.
  1193  	// Format is `projects/{project}/topics/{topic}`.
  1194  	Topic string `protobuf:"bytes,1,opt,name=topic,proto3" json:"topic,omitempty"`
  1195  	// Optional. Maximum number of subscription names to return.
  1196  	PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
  1197  	// Optional. The value returned by the last `ListTopicSubscriptionsResponse`;
  1198  	// indicates that this is a continuation of a prior `ListTopicSubscriptions`
  1199  	// call, and that the system should return the next page of data.
  1200  	PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
  1201  }
  1202  
  1203  func (x *ListTopicSubscriptionsRequest) Reset() {
  1204  	*x = ListTopicSubscriptionsRequest{}
  1205  	if protoimpl.UnsafeEnabled {
  1206  		mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[11]
  1207  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1208  		ms.StoreMessageInfo(mi)
  1209  	}
  1210  }
  1211  
  1212  func (x *ListTopicSubscriptionsRequest) String() string {
  1213  	return protoimpl.X.MessageStringOf(x)
  1214  }
  1215  
  1216  func (*ListTopicSubscriptionsRequest) ProtoMessage() {}
  1217  
  1218  func (x *ListTopicSubscriptionsRequest) ProtoReflect() protoreflect.Message {
  1219  	mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[11]
  1220  	if protoimpl.UnsafeEnabled && x != nil {
  1221  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1222  		if ms.LoadMessageInfo() == nil {
  1223  			ms.StoreMessageInfo(mi)
  1224  		}
  1225  		return ms
  1226  	}
  1227  	return mi.MessageOf(x)
  1228  }
  1229  
  1230  // Deprecated: Use ListTopicSubscriptionsRequest.ProtoReflect.Descriptor instead.
  1231  func (*ListTopicSubscriptionsRequest) Descriptor() ([]byte, []int) {
  1232  	return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{11}
  1233  }
  1234  
  1235  func (x *ListTopicSubscriptionsRequest) GetTopic() string {
  1236  	if x != nil {
  1237  		return x.Topic
  1238  	}
  1239  	return ""
  1240  }
  1241  
  1242  func (x *ListTopicSubscriptionsRequest) GetPageSize() int32 {
  1243  	if x != nil {
  1244  		return x.PageSize
  1245  	}
  1246  	return 0
  1247  }
  1248  
  1249  func (x *ListTopicSubscriptionsRequest) GetPageToken() string {
  1250  	if x != nil {
  1251  		return x.PageToken
  1252  	}
  1253  	return ""
  1254  }
  1255  
  1256  // Response for the `ListTopicSubscriptions` method.
  1257  type ListTopicSubscriptionsResponse struct {
  1258  	state         protoimpl.MessageState
  1259  	sizeCache     protoimpl.SizeCache
  1260  	unknownFields protoimpl.UnknownFields
  1261  
  1262  	// Optional. The names of subscriptions attached to the topic specified in the
  1263  	// request.
  1264  	Subscriptions []string `protobuf:"bytes,1,rep,name=subscriptions,proto3" json:"subscriptions,omitempty"`
  1265  	// Optional. If not empty, indicates that there may be more subscriptions that
  1266  	// match the request; this value should be passed in a new
  1267  	// `ListTopicSubscriptionsRequest` to get more subscriptions.
  1268  	NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
  1269  }
  1270  
  1271  func (x *ListTopicSubscriptionsResponse) Reset() {
  1272  	*x = ListTopicSubscriptionsResponse{}
  1273  	if protoimpl.UnsafeEnabled {
  1274  		mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[12]
  1275  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1276  		ms.StoreMessageInfo(mi)
  1277  	}
  1278  }
  1279  
  1280  func (x *ListTopicSubscriptionsResponse) String() string {
  1281  	return protoimpl.X.MessageStringOf(x)
  1282  }
  1283  
  1284  func (*ListTopicSubscriptionsResponse) ProtoMessage() {}
  1285  
  1286  func (x *ListTopicSubscriptionsResponse) ProtoReflect() protoreflect.Message {
  1287  	mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[12]
  1288  	if protoimpl.UnsafeEnabled && x != nil {
  1289  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1290  		if ms.LoadMessageInfo() == nil {
  1291  			ms.StoreMessageInfo(mi)
  1292  		}
  1293  		return ms
  1294  	}
  1295  	return mi.MessageOf(x)
  1296  }
  1297  
  1298  // Deprecated: Use ListTopicSubscriptionsResponse.ProtoReflect.Descriptor instead.
  1299  func (*ListTopicSubscriptionsResponse) Descriptor() ([]byte, []int) {
  1300  	return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{12}
  1301  }
  1302  
  1303  func (x *ListTopicSubscriptionsResponse) GetSubscriptions() []string {
  1304  	if x != nil {
  1305  		return x.Subscriptions
  1306  	}
  1307  	return nil
  1308  }
  1309  
  1310  func (x *ListTopicSubscriptionsResponse) GetNextPageToken() string {
  1311  	if x != nil {
  1312  		return x.NextPageToken
  1313  	}
  1314  	return ""
  1315  }
  1316  
  1317  // Request for the `ListTopicSnapshots` method.
  1318  type ListTopicSnapshotsRequest struct {
  1319  	state         protoimpl.MessageState
  1320  	sizeCache     protoimpl.SizeCache
  1321  	unknownFields protoimpl.UnknownFields
  1322  
  1323  	// Required. The name of the topic that snapshots are attached to.
  1324  	// Format is `projects/{project}/topics/{topic}`.
  1325  	Topic string `protobuf:"bytes,1,opt,name=topic,proto3" json:"topic,omitempty"`
  1326  	// Optional. Maximum number of snapshot names to return.
  1327  	PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
  1328  	// Optional. The value returned by the last `ListTopicSnapshotsResponse`;
  1329  	// indicates that this is a continuation of a prior `ListTopicSnapshots` call,
  1330  	// and that the system should return the next page of data.
  1331  	PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
  1332  }
  1333  
  1334  func (x *ListTopicSnapshotsRequest) Reset() {
  1335  	*x = ListTopicSnapshotsRequest{}
  1336  	if protoimpl.UnsafeEnabled {
  1337  		mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[13]
  1338  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1339  		ms.StoreMessageInfo(mi)
  1340  	}
  1341  }
  1342  
  1343  func (x *ListTopicSnapshotsRequest) String() string {
  1344  	return protoimpl.X.MessageStringOf(x)
  1345  }
  1346  
  1347  func (*ListTopicSnapshotsRequest) ProtoMessage() {}
  1348  
  1349  func (x *ListTopicSnapshotsRequest) ProtoReflect() protoreflect.Message {
  1350  	mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[13]
  1351  	if protoimpl.UnsafeEnabled && x != nil {
  1352  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1353  		if ms.LoadMessageInfo() == nil {
  1354  			ms.StoreMessageInfo(mi)
  1355  		}
  1356  		return ms
  1357  	}
  1358  	return mi.MessageOf(x)
  1359  }
  1360  
  1361  // Deprecated: Use ListTopicSnapshotsRequest.ProtoReflect.Descriptor instead.
  1362  func (*ListTopicSnapshotsRequest) Descriptor() ([]byte, []int) {
  1363  	return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{13}
  1364  }
  1365  
  1366  func (x *ListTopicSnapshotsRequest) GetTopic() string {
  1367  	if x != nil {
  1368  		return x.Topic
  1369  	}
  1370  	return ""
  1371  }
  1372  
  1373  func (x *ListTopicSnapshotsRequest) GetPageSize() int32 {
  1374  	if x != nil {
  1375  		return x.PageSize
  1376  	}
  1377  	return 0
  1378  }
  1379  
  1380  func (x *ListTopicSnapshotsRequest) GetPageToken() string {
  1381  	if x != nil {
  1382  		return x.PageToken
  1383  	}
  1384  	return ""
  1385  }
  1386  
  1387  // Response for the `ListTopicSnapshots` method.
  1388  type ListTopicSnapshotsResponse struct {
  1389  	state         protoimpl.MessageState
  1390  	sizeCache     protoimpl.SizeCache
  1391  	unknownFields protoimpl.UnknownFields
  1392  
  1393  	// Optional. The names of the snapshots that match the request.
  1394  	Snapshots []string `protobuf:"bytes,1,rep,name=snapshots,proto3" json:"snapshots,omitempty"`
  1395  	// Optional. If not empty, indicates that there may be more snapshots that
  1396  	// match the request; this value should be passed in a new
  1397  	// `ListTopicSnapshotsRequest` to get more snapshots.
  1398  	NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
  1399  }
  1400  
  1401  func (x *ListTopicSnapshotsResponse) Reset() {
  1402  	*x = ListTopicSnapshotsResponse{}
  1403  	if protoimpl.UnsafeEnabled {
  1404  		mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[14]
  1405  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1406  		ms.StoreMessageInfo(mi)
  1407  	}
  1408  }
  1409  
  1410  func (x *ListTopicSnapshotsResponse) String() string {
  1411  	return protoimpl.X.MessageStringOf(x)
  1412  }
  1413  
  1414  func (*ListTopicSnapshotsResponse) ProtoMessage() {}
  1415  
  1416  func (x *ListTopicSnapshotsResponse) ProtoReflect() protoreflect.Message {
  1417  	mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[14]
  1418  	if protoimpl.UnsafeEnabled && x != nil {
  1419  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1420  		if ms.LoadMessageInfo() == nil {
  1421  			ms.StoreMessageInfo(mi)
  1422  		}
  1423  		return ms
  1424  	}
  1425  	return mi.MessageOf(x)
  1426  }
  1427  
  1428  // Deprecated: Use ListTopicSnapshotsResponse.ProtoReflect.Descriptor instead.
  1429  func (*ListTopicSnapshotsResponse) Descriptor() ([]byte, []int) {
  1430  	return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{14}
  1431  }
  1432  
  1433  func (x *ListTopicSnapshotsResponse) GetSnapshots() []string {
  1434  	if x != nil {
  1435  		return x.Snapshots
  1436  	}
  1437  	return nil
  1438  }
  1439  
  1440  func (x *ListTopicSnapshotsResponse) GetNextPageToken() string {
  1441  	if x != nil {
  1442  		return x.NextPageToken
  1443  	}
  1444  	return ""
  1445  }
  1446  
  1447  // Request for the `DeleteTopic` method.
  1448  type DeleteTopicRequest struct {
  1449  	state         protoimpl.MessageState
  1450  	sizeCache     protoimpl.SizeCache
  1451  	unknownFields protoimpl.UnknownFields
  1452  
  1453  	// Required. Name of the topic to delete.
  1454  	// Format is `projects/{project}/topics/{topic}`.
  1455  	Topic string `protobuf:"bytes,1,opt,name=topic,proto3" json:"topic,omitempty"`
  1456  }
  1457  
  1458  func (x *DeleteTopicRequest) Reset() {
  1459  	*x = DeleteTopicRequest{}
  1460  	if protoimpl.UnsafeEnabled {
  1461  		mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[15]
  1462  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1463  		ms.StoreMessageInfo(mi)
  1464  	}
  1465  }
  1466  
  1467  func (x *DeleteTopicRequest) String() string {
  1468  	return protoimpl.X.MessageStringOf(x)
  1469  }
  1470  
  1471  func (*DeleteTopicRequest) ProtoMessage() {}
  1472  
  1473  func (x *DeleteTopicRequest) ProtoReflect() protoreflect.Message {
  1474  	mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[15]
  1475  	if protoimpl.UnsafeEnabled && x != nil {
  1476  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1477  		if ms.LoadMessageInfo() == nil {
  1478  			ms.StoreMessageInfo(mi)
  1479  		}
  1480  		return ms
  1481  	}
  1482  	return mi.MessageOf(x)
  1483  }
  1484  
  1485  // Deprecated: Use DeleteTopicRequest.ProtoReflect.Descriptor instead.
  1486  func (*DeleteTopicRequest) Descriptor() ([]byte, []int) {
  1487  	return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{15}
  1488  }
  1489  
  1490  func (x *DeleteTopicRequest) GetTopic() string {
  1491  	if x != nil {
  1492  		return x.Topic
  1493  	}
  1494  	return ""
  1495  }
  1496  
  1497  // Request for the DetachSubscription method.
  1498  type DetachSubscriptionRequest struct {
  1499  	state         protoimpl.MessageState
  1500  	sizeCache     protoimpl.SizeCache
  1501  	unknownFields protoimpl.UnknownFields
  1502  
  1503  	// Required. The subscription to detach.
  1504  	// Format is `projects/{project}/subscriptions/{subscription}`.
  1505  	Subscription string `protobuf:"bytes,1,opt,name=subscription,proto3" json:"subscription,omitempty"`
  1506  }
  1507  
  1508  func (x *DetachSubscriptionRequest) Reset() {
  1509  	*x = DetachSubscriptionRequest{}
  1510  	if protoimpl.UnsafeEnabled {
  1511  		mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[16]
  1512  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1513  		ms.StoreMessageInfo(mi)
  1514  	}
  1515  }
  1516  
  1517  func (x *DetachSubscriptionRequest) String() string {
  1518  	return protoimpl.X.MessageStringOf(x)
  1519  }
  1520  
  1521  func (*DetachSubscriptionRequest) ProtoMessage() {}
  1522  
  1523  func (x *DetachSubscriptionRequest) ProtoReflect() protoreflect.Message {
  1524  	mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[16]
  1525  	if protoimpl.UnsafeEnabled && x != nil {
  1526  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1527  		if ms.LoadMessageInfo() == nil {
  1528  			ms.StoreMessageInfo(mi)
  1529  		}
  1530  		return ms
  1531  	}
  1532  	return mi.MessageOf(x)
  1533  }
  1534  
  1535  // Deprecated: Use DetachSubscriptionRequest.ProtoReflect.Descriptor instead.
  1536  func (*DetachSubscriptionRequest) Descriptor() ([]byte, []int) {
  1537  	return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{16}
  1538  }
  1539  
  1540  func (x *DetachSubscriptionRequest) GetSubscription() string {
  1541  	if x != nil {
  1542  		return x.Subscription
  1543  	}
  1544  	return ""
  1545  }
  1546  
  1547  // Response for the DetachSubscription method.
  1548  // Reserved for future use.
  1549  type DetachSubscriptionResponse struct {
  1550  	state         protoimpl.MessageState
  1551  	sizeCache     protoimpl.SizeCache
  1552  	unknownFields protoimpl.UnknownFields
  1553  }
  1554  
  1555  func (x *DetachSubscriptionResponse) Reset() {
  1556  	*x = DetachSubscriptionResponse{}
  1557  	if protoimpl.UnsafeEnabled {
  1558  		mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[17]
  1559  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1560  		ms.StoreMessageInfo(mi)
  1561  	}
  1562  }
  1563  
  1564  func (x *DetachSubscriptionResponse) String() string {
  1565  	return protoimpl.X.MessageStringOf(x)
  1566  }
  1567  
  1568  func (*DetachSubscriptionResponse) ProtoMessage() {}
  1569  
  1570  func (x *DetachSubscriptionResponse) ProtoReflect() protoreflect.Message {
  1571  	mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[17]
  1572  	if protoimpl.UnsafeEnabled && x != nil {
  1573  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1574  		if ms.LoadMessageInfo() == nil {
  1575  			ms.StoreMessageInfo(mi)
  1576  		}
  1577  		return ms
  1578  	}
  1579  	return mi.MessageOf(x)
  1580  }
  1581  
  1582  // Deprecated: Use DetachSubscriptionResponse.ProtoReflect.Descriptor instead.
  1583  func (*DetachSubscriptionResponse) Descriptor() ([]byte, []int) {
  1584  	return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{17}
  1585  }
  1586  
  1587  // A subscription resource. If none of `push_config`, `bigquery_config`, or
  1588  // `cloud_storage_config` is set, then the subscriber will pull and ack messages
  1589  // using API methods. At most one of these fields may be set.
  1590  type Subscription struct {
  1591  	state         protoimpl.MessageState
  1592  	sizeCache     protoimpl.SizeCache
  1593  	unknownFields protoimpl.UnknownFields
  1594  
  1595  	// Required. The name of the subscription. It must have the format
  1596  	// `"projects/{project}/subscriptions/{subscription}"`. `{subscription}` must
  1597  	// start with a letter, and contain only letters (`[A-Za-z]`), numbers
  1598  	// (`[0-9]`), dashes (`-`), underscores (`_`), periods (`.`), tildes (`~`),
  1599  	// plus (`+`) or percent signs (`%`). It must be between 3 and 255 characters
  1600  	// in length, and it must not start with `"goog"`.
  1601  	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
  1602  	// Required. The name of the topic from which this subscription is receiving
  1603  	// messages. Format is `projects/{project}/topics/{topic}`. The value of this
  1604  	// field will be `_deleted-topic_` if the topic has been deleted.
  1605  	Topic string `protobuf:"bytes,2,opt,name=topic,proto3" json:"topic,omitempty"`
  1606  	// Optional. If push delivery is used with this subscription, this field is
  1607  	// used to configure it.
  1608  	PushConfig *PushConfig `protobuf:"bytes,4,opt,name=push_config,json=pushConfig,proto3" json:"push_config,omitempty"`
  1609  	// Optional. If delivery to BigQuery is used with this subscription, this
  1610  	// field is used to configure it.
  1611  	BigqueryConfig *BigQueryConfig `protobuf:"bytes,18,opt,name=bigquery_config,json=bigqueryConfig,proto3" json:"bigquery_config,omitempty"`
  1612  	// Optional. If delivery to Google Cloud Storage is used with this
  1613  	// subscription, this field is used to configure it.
  1614  	CloudStorageConfig *CloudStorageConfig `protobuf:"bytes,22,opt,name=cloud_storage_config,json=cloudStorageConfig,proto3" json:"cloud_storage_config,omitempty"`
  1615  	// Optional. The approximate amount of time (on a best-effort basis) Pub/Sub
  1616  	// waits for the subscriber to acknowledge receipt before resending the
  1617  	// message. In the interval after the message is delivered and before it is
  1618  	// acknowledged, it is considered to be _outstanding_. During that time
  1619  	// period, the message will not be redelivered (on a best-effort basis).
  1620  	//
  1621  	// For pull subscriptions, this value is used as the initial value for the ack
  1622  	// deadline. To override this value for a given message, call
  1623  	// `ModifyAckDeadline` with the corresponding `ack_id` if using
  1624  	// non-streaming pull or send the `ack_id` in a
  1625  	// `StreamingModifyAckDeadlineRequest` if using streaming pull.
  1626  	// The minimum custom deadline you can specify is 10 seconds.
  1627  	// The maximum custom deadline you can specify is 600 seconds (10 minutes).
  1628  	// If this parameter is 0, a default value of 10 seconds is used.
  1629  	//
  1630  	// For push delivery, this value is also used to set the request timeout for
  1631  	// the call to the push endpoint.
  1632  	//
  1633  	// If the subscriber never acknowledges the message, the Pub/Sub
  1634  	// system will eventually redeliver the message.
  1635  	AckDeadlineSeconds int32 `protobuf:"varint,5,opt,name=ack_deadline_seconds,json=ackDeadlineSeconds,proto3" json:"ack_deadline_seconds,omitempty"`
  1636  	// Optional. Indicates whether to retain acknowledged messages. If true, then
  1637  	// messages are not expunged from the subscription's backlog, even if they are
  1638  	// acknowledged, until they fall out of the `message_retention_duration`
  1639  	// window. This must be true if you would like to [`Seek` to a timestamp]
  1640  	// (https://cloud.google.com/pubsub/docs/replay-overview#seek_to_a_time) in
  1641  	// the past to replay previously-acknowledged messages.
  1642  	RetainAckedMessages bool `protobuf:"varint,7,opt,name=retain_acked_messages,json=retainAckedMessages,proto3" json:"retain_acked_messages,omitempty"`
  1643  	// Optional. How long to retain unacknowledged messages in the subscription's
  1644  	// backlog, from the moment a message is published. If `retain_acked_messages`
  1645  	// is true, then this also configures the retention of acknowledged messages,
  1646  	// and thus configures how far back in time a `Seek` can be done. Defaults to
  1647  	// 7 days. Cannot be more than 7 days or less than 10 minutes.
  1648  	MessageRetentionDuration *durationpb.Duration `protobuf:"bytes,8,opt,name=message_retention_duration,json=messageRetentionDuration,proto3" json:"message_retention_duration,omitempty"`
  1649  	// Optional. See [Creating and managing
  1650  	// labels](https://cloud.google.com/pubsub/docs/labels).
  1651  	Labels map[string]string `protobuf:"bytes,9,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
  1652  	// Optional. If true, messages published with the same `ordering_key` in
  1653  	// `PubsubMessage` will be delivered to the subscribers in the order in which
  1654  	// they are received by the Pub/Sub system. Otherwise, they may be delivered
  1655  	// in any order.
  1656  	EnableMessageOrdering bool `protobuf:"varint,10,opt,name=enable_message_ordering,json=enableMessageOrdering,proto3" json:"enable_message_ordering,omitempty"`
  1657  	// Optional. A policy that specifies the conditions for this subscription's
  1658  	// expiration. A subscription is considered active as long as any connected
  1659  	// subscriber is successfully consuming messages from the subscription or is
  1660  	// issuing operations on the subscription. If `expiration_policy` is not set,
  1661  	// a *default policy* with `ttl` of 31 days will be used. The minimum allowed
  1662  	// value for `expiration_policy.ttl` is 1 day. If `expiration_policy` is set,
  1663  	// but `expiration_policy.ttl` is not set, the subscription never expires.
  1664  	ExpirationPolicy *ExpirationPolicy `protobuf:"bytes,11,opt,name=expiration_policy,json=expirationPolicy,proto3" json:"expiration_policy,omitempty"`
  1665  	// Optional. An expression written in the Pub/Sub [filter
  1666  	// language](https://cloud.google.com/pubsub/docs/filtering). If non-empty,
  1667  	// then only `PubsubMessage`s whose `attributes` field matches the filter are
  1668  	// delivered on this subscription. If empty, then no messages are filtered
  1669  	// out.
  1670  	Filter string `protobuf:"bytes,12,opt,name=filter,proto3" json:"filter,omitempty"`
  1671  	// Optional. A policy that specifies the conditions for dead lettering
  1672  	// messages in this subscription. If dead_letter_policy is not set, dead
  1673  	// lettering is disabled.
  1674  	//
  1675  	// The Pub/Sub service account associated with this subscriptions's
  1676  	// parent project (i.e.,
  1677  	// service-{project_number}@gcp-sa-pubsub.iam.gserviceaccount.com) must have
  1678  	// permission to Acknowledge() messages on this subscription.
  1679  	DeadLetterPolicy *DeadLetterPolicy `protobuf:"bytes,13,opt,name=dead_letter_policy,json=deadLetterPolicy,proto3" json:"dead_letter_policy,omitempty"`
  1680  	// Optional. A policy that specifies how Pub/Sub retries message delivery for
  1681  	// this subscription.
  1682  	//
  1683  	// If not set, the default retry policy is applied. This generally implies
  1684  	// that messages will be retried as soon as possible for healthy subscribers.
  1685  	// RetryPolicy will be triggered on NACKs or acknowledgement deadline
  1686  	// exceeded events for a given message.
  1687  	RetryPolicy *RetryPolicy `protobuf:"bytes,14,opt,name=retry_policy,json=retryPolicy,proto3" json:"retry_policy,omitempty"`
  1688  	// Optional. Indicates whether the subscription is detached from its topic.
  1689  	// Detached subscriptions don't receive messages from their topic and don't
  1690  	// retain any backlog. `Pull` and `StreamingPull` requests will return
  1691  	// FAILED_PRECONDITION. If the subscription is a push subscription, pushes to
  1692  	// the endpoint will not be made.
  1693  	Detached bool `protobuf:"varint,15,opt,name=detached,proto3" json:"detached,omitempty"`
  1694  	// Optional. If true, Pub/Sub provides the following guarantees for the
  1695  	// delivery of a message with a given value of `message_id` on this
  1696  	// subscription:
  1697  	//
  1698  	// * The message sent to a subscriber is guaranteed not to be resent
  1699  	// before the message's acknowledgement deadline expires.
  1700  	// * An acknowledged message will not be resent to a subscriber.
  1701  	//
  1702  	// Note that subscribers may still receive multiple copies of a message
  1703  	// when `enable_exactly_once_delivery` is true if the message was published
  1704  	// multiple times by a publisher client. These copies are  considered distinct
  1705  	// by Pub/Sub and have distinct `message_id` values.
  1706  	EnableExactlyOnceDelivery bool `protobuf:"varint,16,opt,name=enable_exactly_once_delivery,json=enableExactlyOnceDelivery,proto3" json:"enable_exactly_once_delivery,omitempty"`
  1707  	// Output only. Indicates the minimum duration for which a message is retained
  1708  	// after it is published to the subscription's topic. If this field is set,
  1709  	// messages published to the subscription's topic in the last
  1710  	// `topic_message_retention_duration` are always available to subscribers. See
  1711  	// the `message_retention_duration` field in `Topic`. This field is set only
  1712  	// in responses from the server; it is ignored if it is set in any requests.
  1713  	TopicMessageRetentionDuration *durationpb.Duration `protobuf:"bytes,17,opt,name=topic_message_retention_duration,json=topicMessageRetentionDuration,proto3" json:"topic_message_retention_duration,omitempty"`
  1714  	// Output only. An output-only field indicating whether or not the
  1715  	// subscription can receive messages.
  1716  	State Subscription_State `protobuf:"varint,19,opt,name=state,proto3,enum=google.pubsub.v1.Subscription_State" json:"state,omitempty"`
  1717  }
  1718  
  1719  func (x *Subscription) Reset() {
  1720  	*x = Subscription{}
  1721  	if protoimpl.UnsafeEnabled {
  1722  		mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[18]
  1723  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1724  		ms.StoreMessageInfo(mi)
  1725  	}
  1726  }
  1727  
  1728  func (x *Subscription) String() string {
  1729  	return protoimpl.X.MessageStringOf(x)
  1730  }
  1731  
  1732  func (*Subscription) ProtoMessage() {}
  1733  
  1734  func (x *Subscription) ProtoReflect() protoreflect.Message {
  1735  	mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[18]
  1736  	if protoimpl.UnsafeEnabled && x != nil {
  1737  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1738  		if ms.LoadMessageInfo() == nil {
  1739  			ms.StoreMessageInfo(mi)
  1740  		}
  1741  		return ms
  1742  	}
  1743  	return mi.MessageOf(x)
  1744  }
  1745  
  1746  // Deprecated: Use Subscription.ProtoReflect.Descriptor instead.
  1747  func (*Subscription) Descriptor() ([]byte, []int) {
  1748  	return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{18}
  1749  }
  1750  
  1751  func (x *Subscription) GetName() string {
  1752  	if x != nil {
  1753  		return x.Name
  1754  	}
  1755  	return ""
  1756  }
  1757  
  1758  func (x *Subscription) GetTopic() string {
  1759  	if x != nil {
  1760  		return x.Topic
  1761  	}
  1762  	return ""
  1763  }
  1764  
  1765  func (x *Subscription) GetPushConfig() *PushConfig {
  1766  	if x != nil {
  1767  		return x.PushConfig
  1768  	}
  1769  	return nil
  1770  }
  1771  
  1772  func (x *Subscription) GetBigqueryConfig() *BigQueryConfig {
  1773  	if x != nil {
  1774  		return x.BigqueryConfig
  1775  	}
  1776  	return nil
  1777  }
  1778  
  1779  func (x *Subscription) GetCloudStorageConfig() *CloudStorageConfig {
  1780  	if x != nil {
  1781  		return x.CloudStorageConfig
  1782  	}
  1783  	return nil
  1784  }
  1785  
  1786  func (x *Subscription) GetAckDeadlineSeconds() int32 {
  1787  	if x != nil {
  1788  		return x.AckDeadlineSeconds
  1789  	}
  1790  	return 0
  1791  }
  1792  
  1793  func (x *Subscription) GetRetainAckedMessages() bool {
  1794  	if x != nil {
  1795  		return x.RetainAckedMessages
  1796  	}
  1797  	return false
  1798  }
  1799  
  1800  func (x *Subscription) GetMessageRetentionDuration() *durationpb.Duration {
  1801  	if x != nil {
  1802  		return x.MessageRetentionDuration
  1803  	}
  1804  	return nil
  1805  }
  1806  
  1807  func (x *Subscription) GetLabels() map[string]string {
  1808  	if x != nil {
  1809  		return x.Labels
  1810  	}
  1811  	return nil
  1812  }
  1813  
  1814  func (x *Subscription) GetEnableMessageOrdering() bool {
  1815  	if x != nil {
  1816  		return x.EnableMessageOrdering
  1817  	}
  1818  	return false
  1819  }
  1820  
  1821  func (x *Subscription) GetExpirationPolicy() *ExpirationPolicy {
  1822  	if x != nil {
  1823  		return x.ExpirationPolicy
  1824  	}
  1825  	return nil
  1826  }
  1827  
  1828  func (x *Subscription) GetFilter() string {
  1829  	if x != nil {
  1830  		return x.Filter
  1831  	}
  1832  	return ""
  1833  }
  1834  
  1835  func (x *Subscription) GetDeadLetterPolicy() *DeadLetterPolicy {
  1836  	if x != nil {
  1837  		return x.DeadLetterPolicy
  1838  	}
  1839  	return nil
  1840  }
  1841  
  1842  func (x *Subscription) GetRetryPolicy() *RetryPolicy {
  1843  	if x != nil {
  1844  		return x.RetryPolicy
  1845  	}
  1846  	return nil
  1847  }
  1848  
  1849  func (x *Subscription) GetDetached() bool {
  1850  	if x != nil {
  1851  		return x.Detached
  1852  	}
  1853  	return false
  1854  }
  1855  
  1856  func (x *Subscription) GetEnableExactlyOnceDelivery() bool {
  1857  	if x != nil {
  1858  		return x.EnableExactlyOnceDelivery
  1859  	}
  1860  	return false
  1861  }
  1862  
  1863  func (x *Subscription) GetTopicMessageRetentionDuration() *durationpb.Duration {
  1864  	if x != nil {
  1865  		return x.TopicMessageRetentionDuration
  1866  	}
  1867  	return nil
  1868  }
  1869  
  1870  func (x *Subscription) GetState() Subscription_State {
  1871  	if x != nil {
  1872  		return x.State
  1873  	}
  1874  	return Subscription_STATE_UNSPECIFIED
  1875  }
  1876  
  1877  // A policy that specifies how Pub/Sub retries message delivery.
  1878  //
  1879  // Retry delay will be exponential based on provided minimum and maximum
  1880  // backoffs. https://en.wikipedia.org/wiki/Exponential_backoff.
  1881  //
  1882  // RetryPolicy will be triggered on NACKs or acknowledgement deadline exceeded
  1883  // events for a given message.
  1884  //
  1885  // Retry Policy is implemented on a best effort basis. At times, the delay
  1886  // between consecutive deliveries may not match the configuration. That is,
  1887  // delay can be more or less than configured backoff.
  1888  type RetryPolicy struct {
  1889  	state         protoimpl.MessageState
  1890  	sizeCache     protoimpl.SizeCache
  1891  	unknownFields protoimpl.UnknownFields
  1892  
  1893  	// Optional. The minimum delay between consecutive deliveries of a given
  1894  	// message. Value should be between 0 and 600 seconds. Defaults to 10 seconds.
  1895  	MinimumBackoff *durationpb.Duration `protobuf:"bytes,1,opt,name=minimum_backoff,json=minimumBackoff,proto3" json:"minimum_backoff,omitempty"`
  1896  	// Optional. The maximum delay between consecutive deliveries of a given
  1897  	// message. Value should be between 0 and 600 seconds. Defaults to 600
  1898  	// seconds.
  1899  	MaximumBackoff *durationpb.Duration `protobuf:"bytes,2,opt,name=maximum_backoff,json=maximumBackoff,proto3" json:"maximum_backoff,omitempty"`
  1900  }
  1901  
  1902  func (x *RetryPolicy) Reset() {
  1903  	*x = RetryPolicy{}
  1904  	if protoimpl.UnsafeEnabled {
  1905  		mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[19]
  1906  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1907  		ms.StoreMessageInfo(mi)
  1908  	}
  1909  }
  1910  
  1911  func (x *RetryPolicy) String() string {
  1912  	return protoimpl.X.MessageStringOf(x)
  1913  }
  1914  
  1915  func (*RetryPolicy) ProtoMessage() {}
  1916  
  1917  func (x *RetryPolicy) ProtoReflect() protoreflect.Message {
  1918  	mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[19]
  1919  	if protoimpl.UnsafeEnabled && x != nil {
  1920  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1921  		if ms.LoadMessageInfo() == nil {
  1922  			ms.StoreMessageInfo(mi)
  1923  		}
  1924  		return ms
  1925  	}
  1926  	return mi.MessageOf(x)
  1927  }
  1928  
  1929  // Deprecated: Use RetryPolicy.ProtoReflect.Descriptor instead.
  1930  func (*RetryPolicy) Descriptor() ([]byte, []int) {
  1931  	return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{19}
  1932  }
  1933  
  1934  func (x *RetryPolicy) GetMinimumBackoff() *durationpb.Duration {
  1935  	if x != nil {
  1936  		return x.MinimumBackoff
  1937  	}
  1938  	return nil
  1939  }
  1940  
  1941  func (x *RetryPolicy) GetMaximumBackoff() *durationpb.Duration {
  1942  	if x != nil {
  1943  		return x.MaximumBackoff
  1944  	}
  1945  	return nil
  1946  }
  1947  
  1948  // Dead lettering is done on a best effort basis. The same message might be
  1949  // dead lettered multiple times.
  1950  //
  1951  // If validation on any of the fields fails at subscription creation/updation,
  1952  // the create/update subscription request will fail.
  1953  type DeadLetterPolicy struct {
  1954  	state         protoimpl.MessageState
  1955  	sizeCache     protoimpl.SizeCache
  1956  	unknownFields protoimpl.UnknownFields
  1957  
  1958  	// Optional. The name of the topic to which dead letter messages should be
  1959  	// published. Format is `projects/{project}/topics/{topic}`.The Pub/Sub
  1960  	// service account associated with the enclosing subscription's parent project
  1961  	// (i.e., service-{project_number}@gcp-sa-pubsub.iam.gserviceaccount.com) must
  1962  	// have permission to Publish() to this topic.
  1963  	//
  1964  	// The operation will fail if the topic does not exist.
  1965  	// Users should ensure that there is a subscription attached to this topic
  1966  	// since messages published to a topic with no subscriptions are lost.
  1967  	DeadLetterTopic string `protobuf:"bytes,1,opt,name=dead_letter_topic,json=deadLetterTopic,proto3" json:"dead_letter_topic,omitempty"`
  1968  	// Optional. The maximum number of delivery attempts for any message. The
  1969  	// value must be between 5 and 100.
  1970  	//
  1971  	// The number of delivery attempts is defined as 1 + (the sum of number of
  1972  	// NACKs and number of times the acknowledgement deadline has been exceeded
  1973  	// for the message).
  1974  	//
  1975  	// A NACK is any call to ModifyAckDeadline with a 0 deadline. Note that
  1976  	// client libraries may automatically extend ack_deadlines.
  1977  	//
  1978  	// This field will be honored on a best effort basis.
  1979  	//
  1980  	// If this parameter is 0, a default value of 5 is used.
  1981  	MaxDeliveryAttempts int32 `protobuf:"varint,2,opt,name=max_delivery_attempts,json=maxDeliveryAttempts,proto3" json:"max_delivery_attempts,omitempty"`
  1982  }
  1983  
  1984  func (x *DeadLetterPolicy) Reset() {
  1985  	*x = DeadLetterPolicy{}
  1986  	if protoimpl.UnsafeEnabled {
  1987  		mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[20]
  1988  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1989  		ms.StoreMessageInfo(mi)
  1990  	}
  1991  }
  1992  
  1993  func (x *DeadLetterPolicy) String() string {
  1994  	return protoimpl.X.MessageStringOf(x)
  1995  }
  1996  
  1997  func (*DeadLetterPolicy) ProtoMessage() {}
  1998  
  1999  func (x *DeadLetterPolicy) ProtoReflect() protoreflect.Message {
  2000  	mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[20]
  2001  	if protoimpl.UnsafeEnabled && x != nil {
  2002  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2003  		if ms.LoadMessageInfo() == nil {
  2004  			ms.StoreMessageInfo(mi)
  2005  		}
  2006  		return ms
  2007  	}
  2008  	return mi.MessageOf(x)
  2009  }
  2010  
  2011  // Deprecated: Use DeadLetterPolicy.ProtoReflect.Descriptor instead.
  2012  func (*DeadLetterPolicy) Descriptor() ([]byte, []int) {
  2013  	return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{20}
  2014  }
  2015  
  2016  func (x *DeadLetterPolicy) GetDeadLetterTopic() string {
  2017  	if x != nil {
  2018  		return x.DeadLetterTopic
  2019  	}
  2020  	return ""
  2021  }
  2022  
  2023  func (x *DeadLetterPolicy) GetMaxDeliveryAttempts() int32 {
  2024  	if x != nil {
  2025  		return x.MaxDeliveryAttempts
  2026  	}
  2027  	return 0
  2028  }
  2029  
  2030  // A policy that specifies the conditions for resource expiration (i.e.,
  2031  // automatic resource deletion).
  2032  type ExpirationPolicy struct {
  2033  	state         protoimpl.MessageState
  2034  	sizeCache     protoimpl.SizeCache
  2035  	unknownFields protoimpl.UnknownFields
  2036  
  2037  	// Optional. Specifies the "time-to-live" duration for an associated resource.
  2038  	// The resource expires if it is not active for a period of `ttl`. The
  2039  	// definition of "activity" depends on the type of the associated resource.
  2040  	// The minimum and maximum allowed values for `ttl` depend on the type of the
  2041  	// associated resource, as well. If `ttl` is not set, the associated resource
  2042  	// never expires.
  2043  	Ttl *durationpb.Duration `protobuf:"bytes,1,opt,name=ttl,proto3" json:"ttl,omitempty"`
  2044  }
  2045  
  2046  func (x *ExpirationPolicy) Reset() {
  2047  	*x = ExpirationPolicy{}
  2048  	if protoimpl.UnsafeEnabled {
  2049  		mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[21]
  2050  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2051  		ms.StoreMessageInfo(mi)
  2052  	}
  2053  }
  2054  
  2055  func (x *ExpirationPolicy) String() string {
  2056  	return protoimpl.X.MessageStringOf(x)
  2057  }
  2058  
  2059  func (*ExpirationPolicy) ProtoMessage() {}
  2060  
  2061  func (x *ExpirationPolicy) ProtoReflect() protoreflect.Message {
  2062  	mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[21]
  2063  	if protoimpl.UnsafeEnabled && x != nil {
  2064  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2065  		if ms.LoadMessageInfo() == nil {
  2066  			ms.StoreMessageInfo(mi)
  2067  		}
  2068  		return ms
  2069  	}
  2070  	return mi.MessageOf(x)
  2071  }
  2072  
  2073  // Deprecated: Use ExpirationPolicy.ProtoReflect.Descriptor instead.
  2074  func (*ExpirationPolicy) Descriptor() ([]byte, []int) {
  2075  	return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{21}
  2076  }
  2077  
  2078  func (x *ExpirationPolicy) GetTtl() *durationpb.Duration {
  2079  	if x != nil {
  2080  		return x.Ttl
  2081  	}
  2082  	return nil
  2083  }
  2084  
  2085  // Configuration for a push delivery endpoint.
  2086  type PushConfig struct {
  2087  	state         protoimpl.MessageState
  2088  	sizeCache     protoimpl.SizeCache
  2089  	unknownFields protoimpl.UnknownFields
  2090  
  2091  	// Optional. A URL locating the endpoint to which messages should be pushed.
  2092  	// For example, a Webhook endpoint might use `https://example.com/push`.
  2093  	PushEndpoint string `protobuf:"bytes,1,opt,name=push_endpoint,json=pushEndpoint,proto3" json:"push_endpoint,omitempty"`
  2094  	// Optional. Endpoint configuration attributes that can be used to control
  2095  	// different aspects of the message delivery.
  2096  	//
  2097  	// The only currently supported attribute is `x-goog-version`, which you can
  2098  	// use to change the format of the pushed message. This attribute
  2099  	// indicates the version of the data expected by the endpoint. This
  2100  	// controls the shape of the pushed message (i.e., its fields and metadata).
  2101  	//
  2102  	// If not present during the `CreateSubscription` call, it will default to
  2103  	// the version of the Pub/Sub API used to make such call. If not present in a
  2104  	// `ModifyPushConfig` call, its value will not be changed. `GetSubscription`
  2105  	// calls will always return a valid version, even if the subscription was
  2106  	// created without this attribute.
  2107  	//
  2108  	// The only supported values for the `x-goog-version` attribute are:
  2109  	//
  2110  	// * `v1beta1`: uses the push format defined in the v1beta1 Pub/Sub API.
  2111  	// * `v1` or `v1beta2`: uses the push format defined in the v1 Pub/Sub API.
  2112  	//
  2113  	// For example:
  2114  	// `attributes { "x-goog-version": "v1" }`
  2115  	Attributes map[string]string `protobuf:"bytes,2,rep,name=attributes,proto3" json:"attributes,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
  2116  	// An authentication method used by push endpoints to verify the source of
  2117  	// push requests. This can be used with push endpoints that are private by
  2118  	// default to allow requests only from the Pub/Sub system, for example.
  2119  	// This field is optional and should be set only by users interested in
  2120  	// authenticated push.
  2121  	//
  2122  	// Types that are assignable to AuthenticationMethod:
  2123  	//
  2124  	//	*PushConfig_OidcToken_
  2125  	AuthenticationMethod isPushConfig_AuthenticationMethod `protobuf_oneof:"authentication_method"`
  2126  	// The format of the delivered message to the push endpoint is defined by
  2127  	// the chosen wrapper. When unset, `PubsubWrapper` is used.
  2128  	//
  2129  	// Types that are assignable to Wrapper:
  2130  	//
  2131  	//	*PushConfig_PubsubWrapper_
  2132  	//	*PushConfig_NoWrapper_
  2133  	Wrapper isPushConfig_Wrapper `protobuf_oneof:"wrapper"`
  2134  }
  2135  
  2136  func (x *PushConfig) Reset() {
  2137  	*x = PushConfig{}
  2138  	if protoimpl.UnsafeEnabled {
  2139  		mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[22]
  2140  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2141  		ms.StoreMessageInfo(mi)
  2142  	}
  2143  }
  2144  
  2145  func (x *PushConfig) String() string {
  2146  	return protoimpl.X.MessageStringOf(x)
  2147  }
  2148  
  2149  func (*PushConfig) ProtoMessage() {}
  2150  
  2151  func (x *PushConfig) ProtoReflect() protoreflect.Message {
  2152  	mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[22]
  2153  	if protoimpl.UnsafeEnabled && x != nil {
  2154  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2155  		if ms.LoadMessageInfo() == nil {
  2156  			ms.StoreMessageInfo(mi)
  2157  		}
  2158  		return ms
  2159  	}
  2160  	return mi.MessageOf(x)
  2161  }
  2162  
  2163  // Deprecated: Use PushConfig.ProtoReflect.Descriptor instead.
  2164  func (*PushConfig) Descriptor() ([]byte, []int) {
  2165  	return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{22}
  2166  }
  2167  
  2168  func (x *PushConfig) GetPushEndpoint() string {
  2169  	if x != nil {
  2170  		return x.PushEndpoint
  2171  	}
  2172  	return ""
  2173  }
  2174  
  2175  func (x *PushConfig) GetAttributes() map[string]string {
  2176  	if x != nil {
  2177  		return x.Attributes
  2178  	}
  2179  	return nil
  2180  }
  2181  
  2182  func (m *PushConfig) GetAuthenticationMethod() isPushConfig_AuthenticationMethod {
  2183  	if m != nil {
  2184  		return m.AuthenticationMethod
  2185  	}
  2186  	return nil
  2187  }
  2188  
  2189  func (x *PushConfig) GetOidcToken() *PushConfig_OidcToken {
  2190  	if x, ok := x.GetAuthenticationMethod().(*PushConfig_OidcToken_); ok {
  2191  		return x.OidcToken
  2192  	}
  2193  	return nil
  2194  }
  2195  
  2196  func (m *PushConfig) GetWrapper() isPushConfig_Wrapper {
  2197  	if m != nil {
  2198  		return m.Wrapper
  2199  	}
  2200  	return nil
  2201  }
  2202  
  2203  func (x *PushConfig) GetPubsubWrapper() *PushConfig_PubsubWrapper {
  2204  	if x, ok := x.GetWrapper().(*PushConfig_PubsubWrapper_); ok {
  2205  		return x.PubsubWrapper
  2206  	}
  2207  	return nil
  2208  }
  2209  
  2210  func (x *PushConfig) GetNoWrapper() *PushConfig_NoWrapper {
  2211  	if x, ok := x.GetWrapper().(*PushConfig_NoWrapper_); ok {
  2212  		return x.NoWrapper
  2213  	}
  2214  	return nil
  2215  }
  2216  
  2217  type isPushConfig_AuthenticationMethod interface {
  2218  	isPushConfig_AuthenticationMethod()
  2219  }
  2220  
  2221  type PushConfig_OidcToken_ struct {
  2222  	// Optional. If specified, Pub/Sub will generate and attach an OIDC JWT
  2223  	// token as an `Authorization` header in the HTTP request for every pushed
  2224  	// message.
  2225  	OidcToken *PushConfig_OidcToken `protobuf:"bytes,3,opt,name=oidc_token,json=oidcToken,proto3,oneof"`
  2226  }
  2227  
  2228  func (*PushConfig_OidcToken_) isPushConfig_AuthenticationMethod() {}
  2229  
  2230  type isPushConfig_Wrapper interface {
  2231  	isPushConfig_Wrapper()
  2232  }
  2233  
  2234  type PushConfig_PubsubWrapper_ struct {
  2235  	// Optional. When set, the payload to the push endpoint is in the form of
  2236  	// the JSON representation of a PubsubMessage
  2237  	// (https://cloud.google.com/pubsub/docs/reference/rpc/google.pubsub.v1#pubsubmessage).
  2238  	PubsubWrapper *PushConfig_PubsubWrapper `protobuf:"bytes,4,opt,name=pubsub_wrapper,json=pubsubWrapper,proto3,oneof"`
  2239  }
  2240  
  2241  type PushConfig_NoWrapper_ struct {
  2242  	// Optional. When set, the payload to the push endpoint is not wrapped.
  2243  	NoWrapper *PushConfig_NoWrapper `protobuf:"bytes,5,opt,name=no_wrapper,json=noWrapper,proto3,oneof"`
  2244  }
  2245  
  2246  func (*PushConfig_PubsubWrapper_) isPushConfig_Wrapper() {}
  2247  
  2248  func (*PushConfig_NoWrapper_) isPushConfig_Wrapper() {}
  2249  
  2250  // Configuration for a BigQuery subscription.
  2251  type BigQueryConfig struct {
  2252  	state         protoimpl.MessageState
  2253  	sizeCache     protoimpl.SizeCache
  2254  	unknownFields protoimpl.UnknownFields
  2255  
  2256  	// Optional. The name of the table to which to write data, of the form
  2257  	// {projectId}.{datasetId}.{tableId}
  2258  	Table string `protobuf:"bytes,1,opt,name=table,proto3" json:"table,omitempty"`
  2259  	// Optional. When true, use the topic's schema as the columns to write to in
  2260  	// BigQuery, if it exists. `use_topic_schema` and `use_table_schema` cannot be
  2261  	// enabled at the same time.
  2262  	UseTopicSchema bool `protobuf:"varint,2,opt,name=use_topic_schema,json=useTopicSchema,proto3" json:"use_topic_schema,omitempty"`
  2263  	// Optional. When true, write the subscription name, message_id, publish_time,
  2264  	// attributes, and ordering_key to additional columns in the table. The
  2265  	// subscription name, message_id, and publish_time fields are put in their own
  2266  	// columns while all other message properties (other than data) are written to
  2267  	// a JSON object in the attributes column.
  2268  	WriteMetadata bool `protobuf:"varint,3,opt,name=write_metadata,json=writeMetadata,proto3" json:"write_metadata,omitempty"`
  2269  	// Optional. When true and use_topic_schema is true, any fields that are a
  2270  	// part of the topic schema that are not part of the BigQuery table schema are
  2271  	// dropped when writing to BigQuery. Otherwise, the schemas must be kept in
  2272  	// sync and any messages with extra fields are not written and remain in the
  2273  	// subscription's backlog.
  2274  	DropUnknownFields bool `protobuf:"varint,4,opt,name=drop_unknown_fields,json=dropUnknownFields,proto3" json:"drop_unknown_fields,omitempty"`
  2275  	// Output only. An output-only field that indicates whether or not the
  2276  	// subscription can receive messages.
  2277  	State BigQueryConfig_State `protobuf:"varint,5,opt,name=state,proto3,enum=google.pubsub.v1.BigQueryConfig_State" json:"state,omitempty"`
  2278  	// Optional. When true, use the BigQuery table's schema as the columns to
  2279  	// write to in BigQuery. `use_table_schema` and `use_topic_schema` cannot be
  2280  	// enabled at the same time.
  2281  	UseTableSchema bool `protobuf:"varint,6,opt,name=use_table_schema,json=useTableSchema,proto3" json:"use_table_schema,omitempty"`
  2282  }
  2283  
  2284  func (x *BigQueryConfig) Reset() {
  2285  	*x = BigQueryConfig{}
  2286  	if protoimpl.UnsafeEnabled {
  2287  		mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[23]
  2288  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2289  		ms.StoreMessageInfo(mi)
  2290  	}
  2291  }
  2292  
  2293  func (x *BigQueryConfig) String() string {
  2294  	return protoimpl.X.MessageStringOf(x)
  2295  }
  2296  
  2297  func (*BigQueryConfig) ProtoMessage() {}
  2298  
  2299  func (x *BigQueryConfig) ProtoReflect() protoreflect.Message {
  2300  	mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[23]
  2301  	if protoimpl.UnsafeEnabled && x != nil {
  2302  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2303  		if ms.LoadMessageInfo() == nil {
  2304  			ms.StoreMessageInfo(mi)
  2305  		}
  2306  		return ms
  2307  	}
  2308  	return mi.MessageOf(x)
  2309  }
  2310  
  2311  // Deprecated: Use BigQueryConfig.ProtoReflect.Descriptor instead.
  2312  func (*BigQueryConfig) Descriptor() ([]byte, []int) {
  2313  	return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{23}
  2314  }
  2315  
  2316  func (x *BigQueryConfig) GetTable() string {
  2317  	if x != nil {
  2318  		return x.Table
  2319  	}
  2320  	return ""
  2321  }
  2322  
  2323  func (x *BigQueryConfig) GetUseTopicSchema() bool {
  2324  	if x != nil {
  2325  		return x.UseTopicSchema
  2326  	}
  2327  	return false
  2328  }
  2329  
  2330  func (x *BigQueryConfig) GetWriteMetadata() bool {
  2331  	if x != nil {
  2332  		return x.WriteMetadata
  2333  	}
  2334  	return false
  2335  }
  2336  
  2337  func (x *BigQueryConfig) GetDropUnknownFields() bool {
  2338  	if x != nil {
  2339  		return x.DropUnknownFields
  2340  	}
  2341  	return false
  2342  }
  2343  
  2344  func (x *BigQueryConfig) GetState() BigQueryConfig_State {
  2345  	if x != nil {
  2346  		return x.State
  2347  	}
  2348  	return BigQueryConfig_STATE_UNSPECIFIED
  2349  }
  2350  
  2351  func (x *BigQueryConfig) GetUseTableSchema() bool {
  2352  	if x != nil {
  2353  		return x.UseTableSchema
  2354  	}
  2355  	return false
  2356  }
  2357  
  2358  // Configuration for a Cloud Storage subscription.
  2359  type CloudStorageConfig struct {
  2360  	state         protoimpl.MessageState
  2361  	sizeCache     protoimpl.SizeCache
  2362  	unknownFields protoimpl.UnknownFields
  2363  
  2364  	// Required. User-provided name for the Cloud Storage bucket.
  2365  	// The bucket must be created by the user. The bucket name must be without
  2366  	// any prefix like "gs://". See the [bucket naming
  2367  	// requirements] (https://cloud.google.com/storage/docs/buckets#naming).
  2368  	Bucket string `protobuf:"bytes,1,opt,name=bucket,proto3" json:"bucket,omitempty"`
  2369  	// Optional. User-provided prefix for Cloud Storage filename. See the [object
  2370  	// naming requirements](https://cloud.google.com/storage/docs/objects#naming).
  2371  	FilenamePrefix string `protobuf:"bytes,2,opt,name=filename_prefix,json=filenamePrefix,proto3" json:"filename_prefix,omitempty"`
  2372  	// Optional. User-provided suffix for Cloud Storage filename. See the [object
  2373  	// naming requirements](https://cloud.google.com/storage/docs/objects#naming).
  2374  	// Must not end in "/".
  2375  	FilenameSuffix string `protobuf:"bytes,3,opt,name=filename_suffix,json=filenameSuffix,proto3" json:"filename_suffix,omitempty"`
  2376  	// Optional. User-provided format string specifying how to represent datetimes
  2377  	// in Cloud Storage filenames. See the [datetime format
  2378  	// guidance](https://cloud.google.com/pubsub/docs/create-cloudstorage-subscription#file_names).
  2379  	FilenameDatetimeFormat string `protobuf:"bytes,10,opt,name=filename_datetime_format,json=filenameDatetimeFormat,proto3" json:"filename_datetime_format,omitempty"`
  2380  	// Defaults to text format.
  2381  	//
  2382  	// Types that are assignable to OutputFormat:
  2383  	//
  2384  	//	*CloudStorageConfig_TextConfig_
  2385  	//	*CloudStorageConfig_AvroConfig_
  2386  	OutputFormat isCloudStorageConfig_OutputFormat `protobuf_oneof:"output_format"`
  2387  	// Optional. The maximum duration that can elapse before a new Cloud Storage
  2388  	// file is created. Min 1 minute, max 10 minutes, default 5 minutes. May not
  2389  	// exceed the subscription's acknowledgement deadline.
  2390  	MaxDuration *durationpb.Duration `protobuf:"bytes,6,opt,name=max_duration,json=maxDuration,proto3" json:"max_duration,omitempty"`
  2391  	// Optional. The maximum bytes that can be written to a Cloud Storage file
  2392  	// before a new file is created. Min 1 KB, max 10 GiB. The max_bytes limit may
  2393  	// be exceeded in cases where messages are larger than the limit.
  2394  	MaxBytes int64 `protobuf:"varint,7,opt,name=max_bytes,json=maxBytes,proto3" json:"max_bytes,omitempty"`
  2395  	// Output only. An output-only field that indicates whether or not the
  2396  	// subscription can receive messages.
  2397  	State CloudStorageConfig_State `protobuf:"varint,9,opt,name=state,proto3,enum=google.pubsub.v1.CloudStorageConfig_State" json:"state,omitempty"`
  2398  }
  2399  
  2400  func (x *CloudStorageConfig) Reset() {
  2401  	*x = CloudStorageConfig{}
  2402  	if protoimpl.UnsafeEnabled {
  2403  		mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[24]
  2404  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2405  		ms.StoreMessageInfo(mi)
  2406  	}
  2407  }
  2408  
  2409  func (x *CloudStorageConfig) String() string {
  2410  	return protoimpl.X.MessageStringOf(x)
  2411  }
  2412  
  2413  func (*CloudStorageConfig) ProtoMessage() {}
  2414  
  2415  func (x *CloudStorageConfig) ProtoReflect() protoreflect.Message {
  2416  	mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[24]
  2417  	if protoimpl.UnsafeEnabled && x != nil {
  2418  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2419  		if ms.LoadMessageInfo() == nil {
  2420  			ms.StoreMessageInfo(mi)
  2421  		}
  2422  		return ms
  2423  	}
  2424  	return mi.MessageOf(x)
  2425  }
  2426  
  2427  // Deprecated: Use CloudStorageConfig.ProtoReflect.Descriptor instead.
  2428  func (*CloudStorageConfig) Descriptor() ([]byte, []int) {
  2429  	return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{24}
  2430  }
  2431  
  2432  func (x *CloudStorageConfig) GetBucket() string {
  2433  	if x != nil {
  2434  		return x.Bucket
  2435  	}
  2436  	return ""
  2437  }
  2438  
  2439  func (x *CloudStorageConfig) GetFilenamePrefix() string {
  2440  	if x != nil {
  2441  		return x.FilenamePrefix
  2442  	}
  2443  	return ""
  2444  }
  2445  
  2446  func (x *CloudStorageConfig) GetFilenameSuffix() string {
  2447  	if x != nil {
  2448  		return x.FilenameSuffix
  2449  	}
  2450  	return ""
  2451  }
  2452  
  2453  func (x *CloudStorageConfig) GetFilenameDatetimeFormat() string {
  2454  	if x != nil {
  2455  		return x.FilenameDatetimeFormat
  2456  	}
  2457  	return ""
  2458  }
  2459  
  2460  func (m *CloudStorageConfig) GetOutputFormat() isCloudStorageConfig_OutputFormat {
  2461  	if m != nil {
  2462  		return m.OutputFormat
  2463  	}
  2464  	return nil
  2465  }
  2466  
  2467  func (x *CloudStorageConfig) GetTextConfig() *CloudStorageConfig_TextConfig {
  2468  	if x, ok := x.GetOutputFormat().(*CloudStorageConfig_TextConfig_); ok {
  2469  		return x.TextConfig
  2470  	}
  2471  	return nil
  2472  }
  2473  
  2474  func (x *CloudStorageConfig) GetAvroConfig() *CloudStorageConfig_AvroConfig {
  2475  	if x, ok := x.GetOutputFormat().(*CloudStorageConfig_AvroConfig_); ok {
  2476  		return x.AvroConfig
  2477  	}
  2478  	return nil
  2479  }
  2480  
  2481  func (x *CloudStorageConfig) GetMaxDuration() *durationpb.Duration {
  2482  	if x != nil {
  2483  		return x.MaxDuration
  2484  	}
  2485  	return nil
  2486  }
  2487  
  2488  func (x *CloudStorageConfig) GetMaxBytes() int64 {
  2489  	if x != nil {
  2490  		return x.MaxBytes
  2491  	}
  2492  	return 0
  2493  }
  2494  
  2495  func (x *CloudStorageConfig) GetState() CloudStorageConfig_State {
  2496  	if x != nil {
  2497  		return x.State
  2498  	}
  2499  	return CloudStorageConfig_STATE_UNSPECIFIED
  2500  }
  2501  
  2502  type isCloudStorageConfig_OutputFormat interface {
  2503  	isCloudStorageConfig_OutputFormat()
  2504  }
  2505  
  2506  type CloudStorageConfig_TextConfig_ struct {
  2507  	// Optional. If set, message data will be written to Cloud Storage in text
  2508  	// format.
  2509  	TextConfig *CloudStorageConfig_TextConfig `protobuf:"bytes,4,opt,name=text_config,json=textConfig,proto3,oneof"`
  2510  }
  2511  
  2512  type CloudStorageConfig_AvroConfig_ struct {
  2513  	// Optional. If set, message data will be written to Cloud Storage in Avro
  2514  	// format.
  2515  	AvroConfig *CloudStorageConfig_AvroConfig `protobuf:"bytes,5,opt,name=avro_config,json=avroConfig,proto3,oneof"`
  2516  }
  2517  
  2518  func (*CloudStorageConfig_TextConfig_) isCloudStorageConfig_OutputFormat() {}
  2519  
  2520  func (*CloudStorageConfig_AvroConfig_) isCloudStorageConfig_OutputFormat() {}
  2521  
  2522  // A message and its corresponding acknowledgment ID.
  2523  type ReceivedMessage struct {
  2524  	state         protoimpl.MessageState
  2525  	sizeCache     protoimpl.SizeCache
  2526  	unknownFields protoimpl.UnknownFields
  2527  
  2528  	// Optional. This ID can be used to acknowledge the received message.
  2529  	AckId string `protobuf:"bytes,1,opt,name=ack_id,json=ackId,proto3" json:"ack_id,omitempty"`
  2530  	// Optional. The message.
  2531  	Message *PubsubMessage `protobuf:"bytes,2,opt,name=message,proto3" json:"message,omitempty"`
  2532  	// Optional. The approximate number of times that Pub/Sub has attempted to
  2533  	// deliver the associated message to a subscriber.
  2534  	//
  2535  	// More precisely, this is 1 + (number of NACKs) +
  2536  	// (number of ack_deadline exceeds) for this message.
  2537  	//
  2538  	// A NACK is any call to ModifyAckDeadline with a 0 deadline. An ack_deadline
  2539  	// exceeds event is whenever a message is not acknowledged within
  2540  	// ack_deadline. Note that ack_deadline is initially
  2541  	// Subscription.ackDeadlineSeconds, but may get extended automatically by
  2542  	// the client library.
  2543  	//
  2544  	// Upon the first delivery of a given message, `delivery_attempt` will have a
  2545  	// value of 1. The value is calculated at best effort and is approximate.
  2546  	//
  2547  	// If a DeadLetterPolicy is not set on the subscription, this will be 0.
  2548  	DeliveryAttempt int32 `protobuf:"varint,3,opt,name=delivery_attempt,json=deliveryAttempt,proto3" json:"delivery_attempt,omitempty"`
  2549  }
  2550  
  2551  func (x *ReceivedMessage) Reset() {
  2552  	*x = ReceivedMessage{}
  2553  	if protoimpl.UnsafeEnabled {
  2554  		mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[25]
  2555  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2556  		ms.StoreMessageInfo(mi)
  2557  	}
  2558  }
  2559  
  2560  func (x *ReceivedMessage) String() string {
  2561  	return protoimpl.X.MessageStringOf(x)
  2562  }
  2563  
  2564  func (*ReceivedMessage) ProtoMessage() {}
  2565  
  2566  func (x *ReceivedMessage) ProtoReflect() protoreflect.Message {
  2567  	mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[25]
  2568  	if protoimpl.UnsafeEnabled && x != nil {
  2569  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2570  		if ms.LoadMessageInfo() == nil {
  2571  			ms.StoreMessageInfo(mi)
  2572  		}
  2573  		return ms
  2574  	}
  2575  	return mi.MessageOf(x)
  2576  }
  2577  
  2578  // Deprecated: Use ReceivedMessage.ProtoReflect.Descriptor instead.
  2579  func (*ReceivedMessage) Descriptor() ([]byte, []int) {
  2580  	return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{25}
  2581  }
  2582  
  2583  func (x *ReceivedMessage) GetAckId() string {
  2584  	if x != nil {
  2585  		return x.AckId
  2586  	}
  2587  	return ""
  2588  }
  2589  
  2590  func (x *ReceivedMessage) GetMessage() *PubsubMessage {
  2591  	if x != nil {
  2592  		return x.Message
  2593  	}
  2594  	return nil
  2595  }
  2596  
  2597  func (x *ReceivedMessage) GetDeliveryAttempt() int32 {
  2598  	if x != nil {
  2599  		return x.DeliveryAttempt
  2600  	}
  2601  	return 0
  2602  }
  2603  
  2604  // Request for the GetSubscription method.
  2605  type GetSubscriptionRequest struct {
  2606  	state         protoimpl.MessageState
  2607  	sizeCache     protoimpl.SizeCache
  2608  	unknownFields protoimpl.UnknownFields
  2609  
  2610  	// Required. The name of the subscription to get.
  2611  	// Format is `projects/{project}/subscriptions/{sub}`.
  2612  	Subscription string `protobuf:"bytes,1,opt,name=subscription,proto3" json:"subscription,omitempty"`
  2613  }
  2614  
  2615  func (x *GetSubscriptionRequest) Reset() {
  2616  	*x = GetSubscriptionRequest{}
  2617  	if protoimpl.UnsafeEnabled {
  2618  		mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[26]
  2619  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2620  		ms.StoreMessageInfo(mi)
  2621  	}
  2622  }
  2623  
  2624  func (x *GetSubscriptionRequest) String() string {
  2625  	return protoimpl.X.MessageStringOf(x)
  2626  }
  2627  
  2628  func (*GetSubscriptionRequest) ProtoMessage() {}
  2629  
  2630  func (x *GetSubscriptionRequest) ProtoReflect() protoreflect.Message {
  2631  	mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[26]
  2632  	if protoimpl.UnsafeEnabled && x != nil {
  2633  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2634  		if ms.LoadMessageInfo() == nil {
  2635  			ms.StoreMessageInfo(mi)
  2636  		}
  2637  		return ms
  2638  	}
  2639  	return mi.MessageOf(x)
  2640  }
  2641  
  2642  // Deprecated: Use GetSubscriptionRequest.ProtoReflect.Descriptor instead.
  2643  func (*GetSubscriptionRequest) Descriptor() ([]byte, []int) {
  2644  	return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{26}
  2645  }
  2646  
  2647  func (x *GetSubscriptionRequest) GetSubscription() string {
  2648  	if x != nil {
  2649  		return x.Subscription
  2650  	}
  2651  	return ""
  2652  }
  2653  
  2654  // Request for the UpdateSubscription method.
  2655  type UpdateSubscriptionRequest struct {
  2656  	state         protoimpl.MessageState
  2657  	sizeCache     protoimpl.SizeCache
  2658  	unknownFields protoimpl.UnknownFields
  2659  
  2660  	// Required. The updated subscription object.
  2661  	Subscription *Subscription `protobuf:"bytes,1,opt,name=subscription,proto3" json:"subscription,omitempty"`
  2662  	// Required. Indicates which fields in the provided subscription to update.
  2663  	// Must be specified and non-empty.
  2664  	UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"`
  2665  }
  2666  
  2667  func (x *UpdateSubscriptionRequest) Reset() {
  2668  	*x = UpdateSubscriptionRequest{}
  2669  	if protoimpl.UnsafeEnabled {
  2670  		mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[27]
  2671  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2672  		ms.StoreMessageInfo(mi)
  2673  	}
  2674  }
  2675  
  2676  func (x *UpdateSubscriptionRequest) String() string {
  2677  	return protoimpl.X.MessageStringOf(x)
  2678  }
  2679  
  2680  func (*UpdateSubscriptionRequest) ProtoMessage() {}
  2681  
  2682  func (x *UpdateSubscriptionRequest) ProtoReflect() protoreflect.Message {
  2683  	mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[27]
  2684  	if protoimpl.UnsafeEnabled && x != nil {
  2685  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2686  		if ms.LoadMessageInfo() == nil {
  2687  			ms.StoreMessageInfo(mi)
  2688  		}
  2689  		return ms
  2690  	}
  2691  	return mi.MessageOf(x)
  2692  }
  2693  
  2694  // Deprecated: Use UpdateSubscriptionRequest.ProtoReflect.Descriptor instead.
  2695  func (*UpdateSubscriptionRequest) Descriptor() ([]byte, []int) {
  2696  	return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{27}
  2697  }
  2698  
  2699  func (x *UpdateSubscriptionRequest) GetSubscription() *Subscription {
  2700  	if x != nil {
  2701  		return x.Subscription
  2702  	}
  2703  	return nil
  2704  }
  2705  
  2706  func (x *UpdateSubscriptionRequest) GetUpdateMask() *fieldmaskpb.FieldMask {
  2707  	if x != nil {
  2708  		return x.UpdateMask
  2709  	}
  2710  	return nil
  2711  }
  2712  
  2713  // Request for the `ListSubscriptions` method.
  2714  type ListSubscriptionsRequest struct {
  2715  	state         protoimpl.MessageState
  2716  	sizeCache     protoimpl.SizeCache
  2717  	unknownFields protoimpl.UnknownFields
  2718  
  2719  	// Required. The name of the project in which to list subscriptions.
  2720  	// Format is `projects/{project-id}`.
  2721  	Project string `protobuf:"bytes,1,opt,name=project,proto3" json:"project,omitempty"`
  2722  	// Optional. Maximum number of subscriptions to return.
  2723  	PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
  2724  	// Optional. The value returned by the last `ListSubscriptionsResponse`;
  2725  	// indicates that this is a continuation of a prior `ListSubscriptions` call,
  2726  	// and that the system should return the next page of data.
  2727  	PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
  2728  }
  2729  
  2730  func (x *ListSubscriptionsRequest) Reset() {
  2731  	*x = ListSubscriptionsRequest{}
  2732  	if protoimpl.UnsafeEnabled {
  2733  		mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[28]
  2734  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2735  		ms.StoreMessageInfo(mi)
  2736  	}
  2737  }
  2738  
  2739  func (x *ListSubscriptionsRequest) String() string {
  2740  	return protoimpl.X.MessageStringOf(x)
  2741  }
  2742  
  2743  func (*ListSubscriptionsRequest) ProtoMessage() {}
  2744  
  2745  func (x *ListSubscriptionsRequest) ProtoReflect() protoreflect.Message {
  2746  	mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[28]
  2747  	if protoimpl.UnsafeEnabled && x != nil {
  2748  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2749  		if ms.LoadMessageInfo() == nil {
  2750  			ms.StoreMessageInfo(mi)
  2751  		}
  2752  		return ms
  2753  	}
  2754  	return mi.MessageOf(x)
  2755  }
  2756  
  2757  // Deprecated: Use ListSubscriptionsRequest.ProtoReflect.Descriptor instead.
  2758  func (*ListSubscriptionsRequest) Descriptor() ([]byte, []int) {
  2759  	return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{28}
  2760  }
  2761  
  2762  func (x *ListSubscriptionsRequest) GetProject() string {
  2763  	if x != nil {
  2764  		return x.Project
  2765  	}
  2766  	return ""
  2767  }
  2768  
  2769  func (x *ListSubscriptionsRequest) GetPageSize() int32 {
  2770  	if x != nil {
  2771  		return x.PageSize
  2772  	}
  2773  	return 0
  2774  }
  2775  
  2776  func (x *ListSubscriptionsRequest) GetPageToken() string {
  2777  	if x != nil {
  2778  		return x.PageToken
  2779  	}
  2780  	return ""
  2781  }
  2782  
  2783  // Response for the `ListSubscriptions` method.
  2784  type ListSubscriptionsResponse struct {
  2785  	state         protoimpl.MessageState
  2786  	sizeCache     protoimpl.SizeCache
  2787  	unknownFields protoimpl.UnknownFields
  2788  
  2789  	// Optional. The subscriptions that match the request.
  2790  	Subscriptions []*Subscription `protobuf:"bytes,1,rep,name=subscriptions,proto3" json:"subscriptions,omitempty"`
  2791  	// Optional. If not empty, indicates that there may be more subscriptions that
  2792  	// match the request; this value should be passed in a new
  2793  	// `ListSubscriptionsRequest` to get more subscriptions.
  2794  	NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
  2795  }
  2796  
  2797  func (x *ListSubscriptionsResponse) Reset() {
  2798  	*x = ListSubscriptionsResponse{}
  2799  	if protoimpl.UnsafeEnabled {
  2800  		mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[29]
  2801  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2802  		ms.StoreMessageInfo(mi)
  2803  	}
  2804  }
  2805  
  2806  func (x *ListSubscriptionsResponse) String() string {
  2807  	return protoimpl.X.MessageStringOf(x)
  2808  }
  2809  
  2810  func (*ListSubscriptionsResponse) ProtoMessage() {}
  2811  
  2812  func (x *ListSubscriptionsResponse) ProtoReflect() protoreflect.Message {
  2813  	mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[29]
  2814  	if protoimpl.UnsafeEnabled && x != nil {
  2815  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2816  		if ms.LoadMessageInfo() == nil {
  2817  			ms.StoreMessageInfo(mi)
  2818  		}
  2819  		return ms
  2820  	}
  2821  	return mi.MessageOf(x)
  2822  }
  2823  
  2824  // Deprecated: Use ListSubscriptionsResponse.ProtoReflect.Descriptor instead.
  2825  func (*ListSubscriptionsResponse) Descriptor() ([]byte, []int) {
  2826  	return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{29}
  2827  }
  2828  
  2829  func (x *ListSubscriptionsResponse) GetSubscriptions() []*Subscription {
  2830  	if x != nil {
  2831  		return x.Subscriptions
  2832  	}
  2833  	return nil
  2834  }
  2835  
  2836  func (x *ListSubscriptionsResponse) GetNextPageToken() string {
  2837  	if x != nil {
  2838  		return x.NextPageToken
  2839  	}
  2840  	return ""
  2841  }
  2842  
  2843  // Request for the DeleteSubscription method.
  2844  type DeleteSubscriptionRequest struct {
  2845  	state         protoimpl.MessageState
  2846  	sizeCache     protoimpl.SizeCache
  2847  	unknownFields protoimpl.UnknownFields
  2848  
  2849  	// Required. The subscription to delete.
  2850  	// Format is `projects/{project}/subscriptions/{sub}`.
  2851  	Subscription string `protobuf:"bytes,1,opt,name=subscription,proto3" json:"subscription,omitempty"`
  2852  }
  2853  
  2854  func (x *DeleteSubscriptionRequest) Reset() {
  2855  	*x = DeleteSubscriptionRequest{}
  2856  	if protoimpl.UnsafeEnabled {
  2857  		mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[30]
  2858  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2859  		ms.StoreMessageInfo(mi)
  2860  	}
  2861  }
  2862  
  2863  func (x *DeleteSubscriptionRequest) String() string {
  2864  	return protoimpl.X.MessageStringOf(x)
  2865  }
  2866  
  2867  func (*DeleteSubscriptionRequest) ProtoMessage() {}
  2868  
  2869  func (x *DeleteSubscriptionRequest) ProtoReflect() protoreflect.Message {
  2870  	mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[30]
  2871  	if protoimpl.UnsafeEnabled && x != nil {
  2872  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2873  		if ms.LoadMessageInfo() == nil {
  2874  			ms.StoreMessageInfo(mi)
  2875  		}
  2876  		return ms
  2877  	}
  2878  	return mi.MessageOf(x)
  2879  }
  2880  
  2881  // Deprecated: Use DeleteSubscriptionRequest.ProtoReflect.Descriptor instead.
  2882  func (*DeleteSubscriptionRequest) Descriptor() ([]byte, []int) {
  2883  	return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{30}
  2884  }
  2885  
  2886  func (x *DeleteSubscriptionRequest) GetSubscription() string {
  2887  	if x != nil {
  2888  		return x.Subscription
  2889  	}
  2890  	return ""
  2891  }
  2892  
  2893  // Request for the ModifyPushConfig method.
  2894  type ModifyPushConfigRequest struct {
  2895  	state         protoimpl.MessageState
  2896  	sizeCache     protoimpl.SizeCache
  2897  	unknownFields protoimpl.UnknownFields
  2898  
  2899  	// Required. The name of the subscription.
  2900  	// Format is `projects/{project}/subscriptions/{sub}`.
  2901  	Subscription string `protobuf:"bytes,1,opt,name=subscription,proto3" json:"subscription,omitempty"`
  2902  	// Required. The push configuration for future deliveries.
  2903  	//
  2904  	// An empty `pushConfig` indicates that the Pub/Sub system should
  2905  	// stop pushing messages from the given subscription and allow
  2906  	// messages to be pulled and acknowledged - effectively pausing
  2907  	// the subscription if `Pull` or `StreamingPull` is not called.
  2908  	PushConfig *PushConfig `protobuf:"bytes,2,opt,name=push_config,json=pushConfig,proto3" json:"push_config,omitempty"`
  2909  }
  2910  
  2911  func (x *ModifyPushConfigRequest) Reset() {
  2912  	*x = ModifyPushConfigRequest{}
  2913  	if protoimpl.UnsafeEnabled {
  2914  		mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[31]
  2915  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2916  		ms.StoreMessageInfo(mi)
  2917  	}
  2918  }
  2919  
  2920  func (x *ModifyPushConfigRequest) String() string {
  2921  	return protoimpl.X.MessageStringOf(x)
  2922  }
  2923  
  2924  func (*ModifyPushConfigRequest) ProtoMessage() {}
  2925  
  2926  func (x *ModifyPushConfigRequest) ProtoReflect() protoreflect.Message {
  2927  	mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[31]
  2928  	if protoimpl.UnsafeEnabled && x != nil {
  2929  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2930  		if ms.LoadMessageInfo() == nil {
  2931  			ms.StoreMessageInfo(mi)
  2932  		}
  2933  		return ms
  2934  	}
  2935  	return mi.MessageOf(x)
  2936  }
  2937  
  2938  // Deprecated: Use ModifyPushConfigRequest.ProtoReflect.Descriptor instead.
  2939  func (*ModifyPushConfigRequest) Descriptor() ([]byte, []int) {
  2940  	return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{31}
  2941  }
  2942  
  2943  func (x *ModifyPushConfigRequest) GetSubscription() string {
  2944  	if x != nil {
  2945  		return x.Subscription
  2946  	}
  2947  	return ""
  2948  }
  2949  
  2950  func (x *ModifyPushConfigRequest) GetPushConfig() *PushConfig {
  2951  	if x != nil {
  2952  		return x.PushConfig
  2953  	}
  2954  	return nil
  2955  }
  2956  
  2957  // Request for the `Pull` method.
  2958  type PullRequest struct {
  2959  	state         protoimpl.MessageState
  2960  	sizeCache     protoimpl.SizeCache
  2961  	unknownFields protoimpl.UnknownFields
  2962  
  2963  	// Required. The subscription from which messages should be pulled.
  2964  	// Format is `projects/{project}/subscriptions/{sub}`.
  2965  	Subscription string `protobuf:"bytes,1,opt,name=subscription,proto3" json:"subscription,omitempty"`
  2966  	// Optional. If this field set to true, the system will respond immediately
  2967  	// even if it there are no messages available to return in the `Pull`
  2968  	// response. Otherwise, the system may wait (for a bounded amount of time)
  2969  	// until at least one message is available, rather than returning no messages.
  2970  	// Warning: setting this field to `true` is discouraged because it adversely
  2971  	// impacts the performance of `Pull` operations. We recommend that users do
  2972  	// not set this field.
  2973  	//
  2974  	// Deprecated: Marked as deprecated in google/pubsub/v1/pubsub.proto.
  2975  	ReturnImmediately bool `protobuf:"varint,2,opt,name=return_immediately,json=returnImmediately,proto3" json:"return_immediately,omitempty"`
  2976  	// Required. The maximum number of messages to return for this request. Must
  2977  	// be a positive integer. The Pub/Sub system may return fewer than the number
  2978  	// specified.
  2979  	MaxMessages int32 `protobuf:"varint,3,opt,name=max_messages,json=maxMessages,proto3" json:"max_messages,omitempty"`
  2980  }
  2981  
  2982  func (x *PullRequest) Reset() {
  2983  	*x = PullRequest{}
  2984  	if protoimpl.UnsafeEnabled {
  2985  		mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[32]
  2986  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2987  		ms.StoreMessageInfo(mi)
  2988  	}
  2989  }
  2990  
  2991  func (x *PullRequest) String() string {
  2992  	return protoimpl.X.MessageStringOf(x)
  2993  }
  2994  
  2995  func (*PullRequest) ProtoMessage() {}
  2996  
  2997  func (x *PullRequest) ProtoReflect() protoreflect.Message {
  2998  	mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[32]
  2999  	if protoimpl.UnsafeEnabled && x != nil {
  3000  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3001  		if ms.LoadMessageInfo() == nil {
  3002  			ms.StoreMessageInfo(mi)
  3003  		}
  3004  		return ms
  3005  	}
  3006  	return mi.MessageOf(x)
  3007  }
  3008  
  3009  // Deprecated: Use PullRequest.ProtoReflect.Descriptor instead.
  3010  func (*PullRequest) Descriptor() ([]byte, []int) {
  3011  	return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{32}
  3012  }
  3013  
  3014  func (x *PullRequest) GetSubscription() string {
  3015  	if x != nil {
  3016  		return x.Subscription
  3017  	}
  3018  	return ""
  3019  }
  3020  
  3021  // Deprecated: Marked as deprecated in google/pubsub/v1/pubsub.proto.
  3022  func (x *PullRequest) GetReturnImmediately() bool {
  3023  	if x != nil {
  3024  		return x.ReturnImmediately
  3025  	}
  3026  	return false
  3027  }
  3028  
  3029  func (x *PullRequest) GetMaxMessages() int32 {
  3030  	if x != nil {
  3031  		return x.MaxMessages
  3032  	}
  3033  	return 0
  3034  }
  3035  
  3036  // Response for the `Pull` method.
  3037  type PullResponse struct {
  3038  	state         protoimpl.MessageState
  3039  	sizeCache     protoimpl.SizeCache
  3040  	unknownFields protoimpl.UnknownFields
  3041  
  3042  	// Optional. Received Pub/Sub messages. The list will be empty if there are no
  3043  	// more messages available in the backlog, or if no messages could be returned
  3044  	// before the request timeout. For JSON, the response can be entirely
  3045  	// empty. The Pub/Sub system may return fewer than the `maxMessages` requested
  3046  	// even if there are more messages available in the backlog.
  3047  	ReceivedMessages []*ReceivedMessage `protobuf:"bytes,1,rep,name=received_messages,json=receivedMessages,proto3" json:"received_messages,omitempty"`
  3048  }
  3049  
  3050  func (x *PullResponse) Reset() {
  3051  	*x = PullResponse{}
  3052  	if protoimpl.UnsafeEnabled {
  3053  		mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[33]
  3054  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3055  		ms.StoreMessageInfo(mi)
  3056  	}
  3057  }
  3058  
  3059  func (x *PullResponse) String() string {
  3060  	return protoimpl.X.MessageStringOf(x)
  3061  }
  3062  
  3063  func (*PullResponse) ProtoMessage() {}
  3064  
  3065  func (x *PullResponse) ProtoReflect() protoreflect.Message {
  3066  	mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[33]
  3067  	if protoimpl.UnsafeEnabled && x != nil {
  3068  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3069  		if ms.LoadMessageInfo() == nil {
  3070  			ms.StoreMessageInfo(mi)
  3071  		}
  3072  		return ms
  3073  	}
  3074  	return mi.MessageOf(x)
  3075  }
  3076  
  3077  // Deprecated: Use PullResponse.ProtoReflect.Descriptor instead.
  3078  func (*PullResponse) Descriptor() ([]byte, []int) {
  3079  	return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{33}
  3080  }
  3081  
  3082  func (x *PullResponse) GetReceivedMessages() []*ReceivedMessage {
  3083  	if x != nil {
  3084  		return x.ReceivedMessages
  3085  	}
  3086  	return nil
  3087  }
  3088  
  3089  // Request for the ModifyAckDeadline method.
  3090  type ModifyAckDeadlineRequest struct {
  3091  	state         protoimpl.MessageState
  3092  	sizeCache     protoimpl.SizeCache
  3093  	unknownFields protoimpl.UnknownFields
  3094  
  3095  	// Required. The name of the subscription.
  3096  	// Format is `projects/{project}/subscriptions/{sub}`.
  3097  	Subscription string `protobuf:"bytes,1,opt,name=subscription,proto3" json:"subscription,omitempty"`
  3098  	// Required. List of acknowledgment IDs.
  3099  	AckIds []string `protobuf:"bytes,4,rep,name=ack_ids,json=ackIds,proto3" json:"ack_ids,omitempty"`
  3100  	// Required. The new ack deadline with respect to the time this request was
  3101  	// sent to the Pub/Sub system. For example, if the value is 10, the new ack
  3102  	// deadline will expire 10 seconds after the `ModifyAckDeadline` call was
  3103  	// made. Specifying zero might immediately make the message available for
  3104  	// delivery to another subscriber client. This typically results in an
  3105  	// increase in the rate of message redeliveries (that is, duplicates).
  3106  	// The minimum deadline you can specify is 0 seconds.
  3107  	// The maximum deadline you can specify in a single request is 600 seconds
  3108  	// (10 minutes).
  3109  	AckDeadlineSeconds int32 `protobuf:"varint,3,opt,name=ack_deadline_seconds,json=ackDeadlineSeconds,proto3" json:"ack_deadline_seconds,omitempty"`
  3110  }
  3111  
  3112  func (x *ModifyAckDeadlineRequest) Reset() {
  3113  	*x = ModifyAckDeadlineRequest{}
  3114  	if protoimpl.UnsafeEnabled {
  3115  		mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[34]
  3116  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3117  		ms.StoreMessageInfo(mi)
  3118  	}
  3119  }
  3120  
  3121  func (x *ModifyAckDeadlineRequest) String() string {
  3122  	return protoimpl.X.MessageStringOf(x)
  3123  }
  3124  
  3125  func (*ModifyAckDeadlineRequest) ProtoMessage() {}
  3126  
  3127  func (x *ModifyAckDeadlineRequest) ProtoReflect() protoreflect.Message {
  3128  	mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[34]
  3129  	if protoimpl.UnsafeEnabled && x != nil {
  3130  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3131  		if ms.LoadMessageInfo() == nil {
  3132  			ms.StoreMessageInfo(mi)
  3133  		}
  3134  		return ms
  3135  	}
  3136  	return mi.MessageOf(x)
  3137  }
  3138  
  3139  // Deprecated: Use ModifyAckDeadlineRequest.ProtoReflect.Descriptor instead.
  3140  func (*ModifyAckDeadlineRequest) Descriptor() ([]byte, []int) {
  3141  	return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{34}
  3142  }
  3143  
  3144  func (x *ModifyAckDeadlineRequest) GetSubscription() string {
  3145  	if x != nil {
  3146  		return x.Subscription
  3147  	}
  3148  	return ""
  3149  }
  3150  
  3151  func (x *ModifyAckDeadlineRequest) GetAckIds() []string {
  3152  	if x != nil {
  3153  		return x.AckIds
  3154  	}
  3155  	return nil
  3156  }
  3157  
  3158  func (x *ModifyAckDeadlineRequest) GetAckDeadlineSeconds() int32 {
  3159  	if x != nil {
  3160  		return x.AckDeadlineSeconds
  3161  	}
  3162  	return 0
  3163  }
  3164  
  3165  // Request for the Acknowledge method.
  3166  type AcknowledgeRequest struct {
  3167  	state         protoimpl.MessageState
  3168  	sizeCache     protoimpl.SizeCache
  3169  	unknownFields protoimpl.UnknownFields
  3170  
  3171  	// Required. The subscription whose message is being acknowledged.
  3172  	// Format is `projects/{project}/subscriptions/{sub}`.
  3173  	Subscription string `protobuf:"bytes,1,opt,name=subscription,proto3" json:"subscription,omitempty"`
  3174  	// Required. The acknowledgment ID for the messages being acknowledged that
  3175  	// was returned by the Pub/Sub system in the `Pull` response. Must not be
  3176  	// empty.
  3177  	AckIds []string `protobuf:"bytes,2,rep,name=ack_ids,json=ackIds,proto3" json:"ack_ids,omitempty"`
  3178  }
  3179  
  3180  func (x *AcknowledgeRequest) Reset() {
  3181  	*x = AcknowledgeRequest{}
  3182  	if protoimpl.UnsafeEnabled {
  3183  		mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[35]
  3184  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3185  		ms.StoreMessageInfo(mi)
  3186  	}
  3187  }
  3188  
  3189  func (x *AcknowledgeRequest) String() string {
  3190  	return protoimpl.X.MessageStringOf(x)
  3191  }
  3192  
  3193  func (*AcknowledgeRequest) ProtoMessage() {}
  3194  
  3195  func (x *AcknowledgeRequest) ProtoReflect() protoreflect.Message {
  3196  	mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[35]
  3197  	if protoimpl.UnsafeEnabled && x != nil {
  3198  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3199  		if ms.LoadMessageInfo() == nil {
  3200  			ms.StoreMessageInfo(mi)
  3201  		}
  3202  		return ms
  3203  	}
  3204  	return mi.MessageOf(x)
  3205  }
  3206  
  3207  // Deprecated: Use AcknowledgeRequest.ProtoReflect.Descriptor instead.
  3208  func (*AcknowledgeRequest) Descriptor() ([]byte, []int) {
  3209  	return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{35}
  3210  }
  3211  
  3212  func (x *AcknowledgeRequest) GetSubscription() string {
  3213  	if x != nil {
  3214  		return x.Subscription
  3215  	}
  3216  	return ""
  3217  }
  3218  
  3219  func (x *AcknowledgeRequest) GetAckIds() []string {
  3220  	if x != nil {
  3221  		return x.AckIds
  3222  	}
  3223  	return nil
  3224  }
  3225  
  3226  // Request for the `StreamingPull` streaming RPC method. This request is used to
  3227  // establish the initial stream as well as to stream acknowledgements and ack
  3228  // deadline modifications from the client to the server.
  3229  type StreamingPullRequest struct {
  3230  	state         protoimpl.MessageState
  3231  	sizeCache     protoimpl.SizeCache
  3232  	unknownFields protoimpl.UnknownFields
  3233  
  3234  	// Required. The subscription for which to initialize the new stream. This
  3235  	// must be provided in the first request on the stream, and must not be set in
  3236  	// subsequent requests from client to server.
  3237  	// Format is `projects/{project}/subscriptions/{sub}`.
  3238  	Subscription string `protobuf:"bytes,1,opt,name=subscription,proto3" json:"subscription,omitempty"`
  3239  	// Optional. List of acknowledgement IDs for acknowledging previously received
  3240  	// messages (received on this stream or a different stream). If an ack ID has
  3241  	// expired, the corresponding message may be redelivered later. Acknowledging
  3242  	// a message more than once will not result in an error. If the
  3243  	// acknowledgement ID is malformed, the stream will be aborted with status
  3244  	// `INVALID_ARGUMENT`.
  3245  	AckIds []string `protobuf:"bytes,2,rep,name=ack_ids,json=ackIds,proto3" json:"ack_ids,omitempty"`
  3246  	// Optional. The list of new ack deadlines for the IDs listed in
  3247  	// `modify_deadline_ack_ids`. The size of this list must be the same as the
  3248  	// size of `modify_deadline_ack_ids`. If it differs the stream will be aborted
  3249  	// with `INVALID_ARGUMENT`. Each element in this list is applied to the
  3250  	// element in the same position in `modify_deadline_ack_ids`. The new ack
  3251  	// deadline is with respect to the time this request was sent to the Pub/Sub
  3252  	// system. Must be >= 0. For example, if the value is 10, the new ack deadline
  3253  	// will expire 10 seconds after this request is received. If the value is 0,
  3254  	// the message is immediately made available for another streaming or
  3255  	// non-streaming pull request. If the value is < 0 (an error), the stream will
  3256  	// be aborted with status `INVALID_ARGUMENT`.
  3257  	ModifyDeadlineSeconds []int32 `protobuf:"varint,3,rep,packed,name=modify_deadline_seconds,json=modifyDeadlineSeconds,proto3" json:"modify_deadline_seconds,omitempty"`
  3258  	// Optional. List of acknowledgement IDs whose deadline will be modified based
  3259  	// on the corresponding element in `modify_deadline_seconds`. This field can
  3260  	// be used to indicate that more time is needed to process a message by the
  3261  	// subscriber, or to make the message available for redelivery if the
  3262  	// processing was interrupted.
  3263  	ModifyDeadlineAckIds []string `protobuf:"bytes,4,rep,name=modify_deadline_ack_ids,json=modifyDeadlineAckIds,proto3" json:"modify_deadline_ack_ids,omitempty"`
  3264  	// Required. The ack deadline to use for the stream. This must be provided in
  3265  	// the first request on the stream, but it can also be updated on subsequent
  3266  	// requests from client to server. The minimum deadline you can specify is 10
  3267  	// seconds. The maximum deadline you can specify is 600 seconds (10 minutes).
  3268  	StreamAckDeadlineSeconds int32 `protobuf:"varint,5,opt,name=stream_ack_deadline_seconds,json=streamAckDeadlineSeconds,proto3" json:"stream_ack_deadline_seconds,omitempty"`
  3269  	// Optional. A unique identifier that is used to distinguish client instances
  3270  	// from each other. Only needs to be provided on the initial request. When a
  3271  	// stream disconnects and reconnects for the same stream, the client_id should
  3272  	// be set to the same value so that state associated with the old stream can
  3273  	// be transferred to the new stream. The same client_id should not be used for
  3274  	// different client instances.
  3275  	ClientId string `protobuf:"bytes,6,opt,name=client_id,json=clientId,proto3" json:"client_id,omitempty"`
  3276  	// Optional. Flow control settings for the maximum number of outstanding
  3277  	// messages. When there are `max_outstanding_messages` currently sent to the
  3278  	// streaming pull client that have not yet been acked or nacked, the server
  3279  	// stops sending more messages. The sending of messages resumes once the
  3280  	// number of outstanding messages is less than this value. If the value is
  3281  	// <= 0, there is no limit to the number of outstanding messages. This
  3282  	// property can only be set on the initial StreamingPullRequest. If it is set
  3283  	// on a subsequent request, the stream will be aborted with status
  3284  	// `INVALID_ARGUMENT`.
  3285  	MaxOutstandingMessages int64 `protobuf:"varint,7,opt,name=max_outstanding_messages,json=maxOutstandingMessages,proto3" json:"max_outstanding_messages,omitempty"`
  3286  	// Optional. Flow control settings for the maximum number of outstanding
  3287  	// bytes. When there are `max_outstanding_bytes` or more worth of messages
  3288  	// currently sent to the streaming pull client that have not yet been acked or
  3289  	// nacked, the server will stop sending more messages. The sending of messages
  3290  	// resumes once the number of outstanding bytes is less than this value. If
  3291  	// the value is <= 0, there is no limit to the number of outstanding bytes.
  3292  	// This property can only be set on the initial StreamingPullRequest. If it is
  3293  	// set on a subsequent request, the stream will be aborted with status
  3294  	// `INVALID_ARGUMENT`.
  3295  	MaxOutstandingBytes int64 `protobuf:"varint,8,opt,name=max_outstanding_bytes,json=maxOutstandingBytes,proto3" json:"max_outstanding_bytes,omitempty"`
  3296  }
  3297  
  3298  func (x *StreamingPullRequest) Reset() {
  3299  	*x = StreamingPullRequest{}
  3300  	if protoimpl.UnsafeEnabled {
  3301  		mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[36]
  3302  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3303  		ms.StoreMessageInfo(mi)
  3304  	}
  3305  }
  3306  
  3307  func (x *StreamingPullRequest) String() string {
  3308  	return protoimpl.X.MessageStringOf(x)
  3309  }
  3310  
  3311  func (*StreamingPullRequest) ProtoMessage() {}
  3312  
  3313  func (x *StreamingPullRequest) ProtoReflect() protoreflect.Message {
  3314  	mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[36]
  3315  	if protoimpl.UnsafeEnabled && x != nil {
  3316  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3317  		if ms.LoadMessageInfo() == nil {
  3318  			ms.StoreMessageInfo(mi)
  3319  		}
  3320  		return ms
  3321  	}
  3322  	return mi.MessageOf(x)
  3323  }
  3324  
  3325  // Deprecated: Use StreamingPullRequest.ProtoReflect.Descriptor instead.
  3326  func (*StreamingPullRequest) Descriptor() ([]byte, []int) {
  3327  	return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{36}
  3328  }
  3329  
  3330  func (x *StreamingPullRequest) GetSubscription() string {
  3331  	if x != nil {
  3332  		return x.Subscription
  3333  	}
  3334  	return ""
  3335  }
  3336  
  3337  func (x *StreamingPullRequest) GetAckIds() []string {
  3338  	if x != nil {
  3339  		return x.AckIds
  3340  	}
  3341  	return nil
  3342  }
  3343  
  3344  func (x *StreamingPullRequest) GetModifyDeadlineSeconds() []int32 {
  3345  	if x != nil {
  3346  		return x.ModifyDeadlineSeconds
  3347  	}
  3348  	return nil
  3349  }
  3350  
  3351  func (x *StreamingPullRequest) GetModifyDeadlineAckIds() []string {
  3352  	if x != nil {
  3353  		return x.ModifyDeadlineAckIds
  3354  	}
  3355  	return nil
  3356  }
  3357  
  3358  func (x *StreamingPullRequest) GetStreamAckDeadlineSeconds() int32 {
  3359  	if x != nil {
  3360  		return x.StreamAckDeadlineSeconds
  3361  	}
  3362  	return 0
  3363  }
  3364  
  3365  func (x *StreamingPullRequest) GetClientId() string {
  3366  	if x != nil {
  3367  		return x.ClientId
  3368  	}
  3369  	return ""
  3370  }
  3371  
  3372  func (x *StreamingPullRequest) GetMaxOutstandingMessages() int64 {
  3373  	if x != nil {
  3374  		return x.MaxOutstandingMessages
  3375  	}
  3376  	return 0
  3377  }
  3378  
  3379  func (x *StreamingPullRequest) GetMaxOutstandingBytes() int64 {
  3380  	if x != nil {
  3381  		return x.MaxOutstandingBytes
  3382  	}
  3383  	return 0
  3384  }
  3385  
  3386  // Response for the `StreamingPull` method. This response is used to stream
  3387  // messages from the server to the client.
  3388  type StreamingPullResponse struct {
  3389  	state         protoimpl.MessageState
  3390  	sizeCache     protoimpl.SizeCache
  3391  	unknownFields protoimpl.UnknownFields
  3392  
  3393  	// Optional. Received Pub/Sub messages. This will not be empty.
  3394  	ReceivedMessages []*ReceivedMessage `protobuf:"bytes,1,rep,name=received_messages,json=receivedMessages,proto3" json:"received_messages,omitempty"`
  3395  	// Optional. This field will only be set if `enable_exactly_once_delivery` is
  3396  	// set to `true`.
  3397  	AcknowledgeConfirmation *StreamingPullResponse_AcknowledgeConfirmation `protobuf:"bytes,5,opt,name=acknowledge_confirmation,json=acknowledgeConfirmation,proto3" json:"acknowledge_confirmation,omitempty"`
  3398  	// Optional. This field will only be set if `enable_exactly_once_delivery` is
  3399  	// set to `true`.
  3400  	ModifyAckDeadlineConfirmation *StreamingPullResponse_ModifyAckDeadlineConfirmation `protobuf:"bytes,3,opt,name=modify_ack_deadline_confirmation,json=modifyAckDeadlineConfirmation,proto3" json:"modify_ack_deadline_confirmation,omitempty"`
  3401  	// Optional. Properties associated with this subscription.
  3402  	SubscriptionProperties *StreamingPullResponse_SubscriptionProperties `protobuf:"bytes,4,opt,name=subscription_properties,json=subscriptionProperties,proto3" json:"subscription_properties,omitempty"`
  3403  }
  3404  
  3405  func (x *StreamingPullResponse) Reset() {
  3406  	*x = StreamingPullResponse{}
  3407  	if protoimpl.UnsafeEnabled {
  3408  		mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[37]
  3409  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3410  		ms.StoreMessageInfo(mi)
  3411  	}
  3412  }
  3413  
  3414  func (x *StreamingPullResponse) String() string {
  3415  	return protoimpl.X.MessageStringOf(x)
  3416  }
  3417  
  3418  func (*StreamingPullResponse) ProtoMessage() {}
  3419  
  3420  func (x *StreamingPullResponse) ProtoReflect() protoreflect.Message {
  3421  	mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[37]
  3422  	if protoimpl.UnsafeEnabled && x != nil {
  3423  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3424  		if ms.LoadMessageInfo() == nil {
  3425  			ms.StoreMessageInfo(mi)
  3426  		}
  3427  		return ms
  3428  	}
  3429  	return mi.MessageOf(x)
  3430  }
  3431  
  3432  // Deprecated: Use StreamingPullResponse.ProtoReflect.Descriptor instead.
  3433  func (*StreamingPullResponse) Descriptor() ([]byte, []int) {
  3434  	return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{37}
  3435  }
  3436  
  3437  func (x *StreamingPullResponse) GetReceivedMessages() []*ReceivedMessage {
  3438  	if x != nil {
  3439  		return x.ReceivedMessages
  3440  	}
  3441  	return nil
  3442  }
  3443  
  3444  func (x *StreamingPullResponse) GetAcknowledgeConfirmation() *StreamingPullResponse_AcknowledgeConfirmation {
  3445  	if x != nil {
  3446  		return x.AcknowledgeConfirmation
  3447  	}
  3448  	return nil
  3449  }
  3450  
  3451  func (x *StreamingPullResponse) GetModifyAckDeadlineConfirmation() *StreamingPullResponse_ModifyAckDeadlineConfirmation {
  3452  	if x != nil {
  3453  		return x.ModifyAckDeadlineConfirmation
  3454  	}
  3455  	return nil
  3456  }
  3457  
  3458  func (x *StreamingPullResponse) GetSubscriptionProperties() *StreamingPullResponse_SubscriptionProperties {
  3459  	if x != nil {
  3460  		return x.SubscriptionProperties
  3461  	}
  3462  	return nil
  3463  }
  3464  
  3465  // Request for the `CreateSnapshot` method.
  3466  type CreateSnapshotRequest struct {
  3467  	state         protoimpl.MessageState
  3468  	sizeCache     protoimpl.SizeCache
  3469  	unknownFields protoimpl.UnknownFields
  3470  
  3471  	// Required. User-provided name for this snapshot. If the name is not provided
  3472  	// in the request, the server will assign a random name for this snapshot on
  3473  	// the same project as the subscription. Note that for REST API requests, you
  3474  	// must specify a name.  See the [resource name
  3475  	// rules](https://cloud.google.com/pubsub/docs/pubsub-basics#resource_names).
  3476  	// Format is `projects/{project}/snapshots/{snap}`.
  3477  	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
  3478  	// Required. The subscription whose backlog the snapshot retains.
  3479  	// Specifically, the created snapshot is guaranteed to retain:
  3480  	//
  3481  	//	(a) The existing backlog on the subscription. More precisely, this is
  3482  	//	    defined as the messages in the subscription's backlog that are
  3483  	//	    unacknowledged upon the successful completion of the
  3484  	//	    `CreateSnapshot` request; as well as:
  3485  	//	(b) Any messages published to the subscription's topic following the
  3486  	//	    successful completion of the CreateSnapshot request.
  3487  	//
  3488  	// Format is `projects/{project}/subscriptions/{sub}`.
  3489  	Subscription string `protobuf:"bytes,2,opt,name=subscription,proto3" json:"subscription,omitempty"`
  3490  	// Optional. See [Creating and managing
  3491  	// labels](https://cloud.google.com/pubsub/docs/labels).
  3492  	Labels map[string]string `protobuf:"bytes,3,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
  3493  }
  3494  
  3495  func (x *CreateSnapshotRequest) Reset() {
  3496  	*x = CreateSnapshotRequest{}
  3497  	if protoimpl.UnsafeEnabled {
  3498  		mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[38]
  3499  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3500  		ms.StoreMessageInfo(mi)
  3501  	}
  3502  }
  3503  
  3504  func (x *CreateSnapshotRequest) String() string {
  3505  	return protoimpl.X.MessageStringOf(x)
  3506  }
  3507  
  3508  func (*CreateSnapshotRequest) ProtoMessage() {}
  3509  
  3510  func (x *CreateSnapshotRequest) ProtoReflect() protoreflect.Message {
  3511  	mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[38]
  3512  	if protoimpl.UnsafeEnabled && x != nil {
  3513  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3514  		if ms.LoadMessageInfo() == nil {
  3515  			ms.StoreMessageInfo(mi)
  3516  		}
  3517  		return ms
  3518  	}
  3519  	return mi.MessageOf(x)
  3520  }
  3521  
  3522  // Deprecated: Use CreateSnapshotRequest.ProtoReflect.Descriptor instead.
  3523  func (*CreateSnapshotRequest) Descriptor() ([]byte, []int) {
  3524  	return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{38}
  3525  }
  3526  
  3527  func (x *CreateSnapshotRequest) GetName() string {
  3528  	if x != nil {
  3529  		return x.Name
  3530  	}
  3531  	return ""
  3532  }
  3533  
  3534  func (x *CreateSnapshotRequest) GetSubscription() string {
  3535  	if x != nil {
  3536  		return x.Subscription
  3537  	}
  3538  	return ""
  3539  }
  3540  
  3541  func (x *CreateSnapshotRequest) GetLabels() map[string]string {
  3542  	if x != nil {
  3543  		return x.Labels
  3544  	}
  3545  	return nil
  3546  }
  3547  
  3548  // Request for the UpdateSnapshot method.
  3549  type UpdateSnapshotRequest struct {
  3550  	state         protoimpl.MessageState
  3551  	sizeCache     protoimpl.SizeCache
  3552  	unknownFields protoimpl.UnknownFields
  3553  
  3554  	// Required. The updated snapshot object.
  3555  	Snapshot *Snapshot `protobuf:"bytes,1,opt,name=snapshot,proto3" json:"snapshot,omitempty"`
  3556  	// Required. Indicates which fields in the provided snapshot to update.
  3557  	// Must be specified and non-empty.
  3558  	UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"`
  3559  }
  3560  
  3561  func (x *UpdateSnapshotRequest) Reset() {
  3562  	*x = UpdateSnapshotRequest{}
  3563  	if protoimpl.UnsafeEnabled {
  3564  		mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[39]
  3565  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3566  		ms.StoreMessageInfo(mi)
  3567  	}
  3568  }
  3569  
  3570  func (x *UpdateSnapshotRequest) String() string {
  3571  	return protoimpl.X.MessageStringOf(x)
  3572  }
  3573  
  3574  func (*UpdateSnapshotRequest) ProtoMessage() {}
  3575  
  3576  func (x *UpdateSnapshotRequest) ProtoReflect() protoreflect.Message {
  3577  	mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[39]
  3578  	if protoimpl.UnsafeEnabled && x != nil {
  3579  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3580  		if ms.LoadMessageInfo() == nil {
  3581  			ms.StoreMessageInfo(mi)
  3582  		}
  3583  		return ms
  3584  	}
  3585  	return mi.MessageOf(x)
  3586  }
  3587  
  3588  // Deprecated: Use UpdateSnapshotRequest.ProtoReflect.Descriptor instead.
  3589  func (*UpdateSnapshotRequest) Descriptor() ([]byte, []int) {
  3590  	return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{39}
  3591  }
  3592  
  3593  func (x *UpdateSnapshotRequest) GetSnapshot() *Snapshot {
  3594  	if x != nil {
  3595  		return x.Snapshot
  3596  	}
  3597  	return nil
  3598  }
  3599  
  3600  func (x *UpdateSnapshotRequest) GetUpdateMask() *fieldmaskpb.FieldMask {
  3601  	if x != nil {
  3602  		return x.UpdateMask
  3603  	}
  3604  	return nil
  3605  }
  3606  
  3607  // A snapshot resource. Snapshots are used in
  3608  // [Seek](https://cloud.google.com/pubsub/docs/replay-overview)
  3609  // operations, which allow you to manage message acknowledgments in bulk. That
  3610  // is, you can set the acknowledgment state of messages in an existing
  3611  // subscription to the state captured by a snapshot.
  3612  type Snapshot struct {
  3613  	state         protoimpl.MessageState
  3614  	sizeCache     protoimpl.SizeCache
  3615  	unknownFields protoimpl.UnknownFields
  3616  
  3617  	// Optional. The name of the snapshot.
  3618  	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
  3619  	// Optional. The name of the topic from which this snapshot is retaining
  3620  	// messages.
  3621  	Topic string `protobuf:"bytes,2,opt,name=topic,proto3" json:"topic,omitempty"`
  3622  	// Optional. The snapshot is guaranteed to exist up until this time.
  3623  	// A newly-created snapshot expires no later than 7 days from the time of its
  3624  	// creation. Its exact lifetime is determined at creation by the existing
  3625  	// backlog in the source subscription. Specifically, the lifetime of the
  3626  	// snapshot is `7 days - (age of oldest unacked message in the subscription)`.
  3627  	// For example, consider a subscription whose oldest unacked message is 3 days
  3628  	// old. If a snapshot is created from this subscription, the snapshot -- which
  3629  	// will always capture this 3-day-old backlog as long as the snapshot
  3630  	// exists -- will expire in 4 days. The service will refuse to create a
  3631  	// snapshot that would expire in less than 1 hour after creation.
  3632  	ExpireTime *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=expire_time,json=expireTime,proto3" json:"expire_time,omitempty"`
  3633  	// Optional. See [Creating and managing labels]
  3634  	// (https://cloud.google.com/pubsub/docs/labels).
  3635  	Labels map[string]string `protobuf:"bytes,4,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
  3636  }
  3637  
  3638  func (x *Snapshot) Reset() {
  3639  	*x = Snapshot{}
  3640  	if protoimpl.UnsafeEnabled {
  3641  		mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[40]
  3642  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3643  		ms.StoreMessageInfo(mi)
  3644  	}
  3645  }
  3646  
  3647  func (x *Snapshot) String() string {
  3648  	return protoimpl.X.MessageStringOf(x)
  3649  }
  3650  
  3651  func (*Snapshot) ProtoMessage() {}
  3652  
  3653  func (x *Snapshot) ProtoReflect() protoreflect.Message {
  3654  	mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[40]
  3655  	if protoimpl.UnsafeEnabled && x != nil {
  3656  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3657  		if ms.LoadMessageInfo() == nil {
  3658  			ms.StoreMessageInfo(mi)
  3659  		}
  3660  		return ms
  3661  	}
  3662  	return mi.MessageOf(x)
  3663  }
  3664  
  3665  // Deprecated: Use Snapshot.ProtoReflect.Descriptor instead.
  3666  func (*Snapshot) Descriptor() ([]byte, []int) {
  3667  	return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{40}
  3668  }
  3669  
  3670  func (x *Snapshot) GetName() string {
  3671  	if x != nil {
  3672  		return x.Name
  3673  	}
  3674  	return ""
  3675  }
  3676  
  3677  func (x *Snapshot) GetTopic() string {
  3678  	if x != nil {
  3679  		return x.Topic
  3680  	}
  3681  	return ""
  3682  }
  3683  
  3684  func (x *Snapshot) GetExpireTime() *timestamppb.Timestamp {
  3685  	if x != nil {
  3686  		return x.ExpireTime
  3687  	}
  3688  	return nil
  3689  }
  3690  
  3691  func (x *Snapshot) GetLabels() map[string]string {
  3692  	if x != nil {
  3693  		return x.Labels
  3694  	}
  3695  	return nil
  3696  }
  3697  
  3698  // Request for the GetSnapshot method.
  3699  type GetSnapshotRequest struct {
  3700  	state         protoimpl.MessageState
  3701  	sizeCache     protoimpl.SizeCache
  3702  	unknownFields protoimpl.UnknownFields
  3703  
  3704  	// Required. The name of the snapshot to get.
  3705  	// Format is `projects/{project}/snapshots/{snap}`.
  3706  	Snapshot string `protobuf:"bytes,1,opt,name=snapshot,proto3" json:"snapshot,omitempty"`
  3707  }
  3708  
  3709  func (x *GetSnapshotRequest) Reset() {
  3710  	*x = GetSnapshotRequest{}
  3711  	if protoimpl.UnsafeEnabled {
  3712  		mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[41]
  3713  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3714  		ms.StoreMessageInfo(mi)
  3715  	}
  3716  }
  3717  
  3718  func (x *GetSnapshotRequest) String() string {
  3719  	return protoimpl.X.MessageStringOf(x)
  3720  }
  3721  
  3722  func (*GetSnapshotRequest) ProtoMessage() {}
  3723  
  3724  func (x *GetSnapshotRequest) ProtoReflect() protoreflect.Message {
  3725  	mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[41]
  3726  	if protoimpl.UnsafeEnabled && x != nil {
  3727  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3728  		if ms.LoadMessageInfo() == nil {
  3729  			ms.StoreMessageInfo(mi)
  3730  		}
  3731  		return ms
  3732  	}
  3733  	return mi.MessageOf(x)
  3734  }
  3735  
  3736  // Deprecated: Use GetSnapshotRequest.ProtoReflect.Descriptor instead.
  3737  func (*GetSnapshotRequest) Descriptor() ([]byte, []int) {
  3738  	return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{41}
  3739  }
  3740  
  3741  func (x *GetSnapshotRequest) GetSnapshot() string {
  3742  	if x != nil {
  3743  		return x.Snapshot
  3744  	}
  3745  	return ""
  3746  }
  3747  
  3748  // Request for the `ListSnapshots` method.
  3749  type ListSnapshotsRequest struct {
  3750  	state         protoimpl.MessageState
  3751  	sizeCache     protoimpl.SizeCache
  3752  	unknownFields protoimpl.UnknownFields
  3753  
  3754  	// Required. The name of the project in which to list snapshots.
  3755  	// Format is `projects/{project-id}`.
  3756  	Project string `protobuf:"bytes,1,opt,name=project,proto3" json:"project,omitempty"`
  3757  	// Optional. Maximum number of snapshots to return.
  3758  	PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
  3759  	// Optional. The value returned by the last `ListSnapshotsResponse`; indicates
  3760  	// that this is a continuation of a prior `ListSnapshots` call, and that the
  3761  	// system should return the next page of data.
  3762  	PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
  3763  }
  3764  
  3765  func (x *ListSnapshotsRequest) Reset() {
  3766  	*x = ListSnapshotsRequest{}
  3767  	if protoimpl.UnsafeEnabled {
  3768  		mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[42]
  3769  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3770  		ms.StoreMessageInfo(mi)
  3771  	}
  3772  }
  3773  
  3774  func (x *ListSnapshotsRequest) String() string {
  3775  	return protoimpl.X.MessageStringOf(x)
  3776  }
  3777  
  3778  func (*ListSnapshotsRequest) ProtoMessage() {}
  3779  
  3780  func (x *ListSnapshotsRequest) ProtoReflect() protoreflect.Message {
  3781  	mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[42]
  3782  	if protoimpl.UnsafeEnabled && x != nil {
  3783  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3784  		if ms.LoadMessageInfo() == nil {
  3785  			ms.StoreMessageInfo(mi)
  3786  		}
  3787  		return ms
  3788  	}
  3789  	return mi.MessageOf(x)
  3790  }
  3791  
  3792  // Deprecated: Use ListSnapshotsRequest.ProtoReflect.Descriptor instead.
  3793  func (*ListSnapshotsRequest) Descriptor() ([]byte, []int) {
  3794  	return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{42}
  3795  }
  3796  
  3797  func (x *ListSnapshotsRequest) GetProject() string {
  3798  	if x != nil {
  3799  		return x.Project
  3800  	}
  3801  	return ""
  3802  }
  3803  
  3804  func (x *ListSnapshotsRequest) GetPageSize() int32 {
  3805  	if x != nil {
  3806  		return x.PageSize
  3807  	}
  3808  	return 0
  3809  }
  3810  
  3811  func (x *ListSnapshotsRequest) GetPageToken() string {
  3812  	if x != nil {
  3813  		return x.PageToken
  3814  	}
  3815  	return ""
  3816  }
  3817  
  3818  // Response for the `ListSnapshots` method.
  3819  type ListSnapshotsResponse struct {
  3820  	state         protoimpl.MessageState
  3821  	sizeCache     protoimpl.SizeCache
  3822  	unknownFields protoimpl.UnknownFields
  3823  
  3824  	// Optional. The resulting snapshots.
  3825  	Snapshots []*Snapshot `protobuf:"bytes,1,rep,name=snapshots,proto3" json:"snapshots,omitempty"`
  3826  	// Optional. If not empty, indicates that there may be more snapshot that
  3827  	// match the request; this value should be passed in a new
  3828  	// `ListSnapshotsRequest`.
  3829  	NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
  3830  }
  3831  
  3832  func (x *ListSnapshotsResponse) Reset() {
  3833  	*x = ListSnapshotsResponse{}
  3834  	if protoimpl.UnsafeEnabled {
  3835  		mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[43]
  3836  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3837  		ms.StoreMessageInfo(mi)
  3838  	}
  3839  }
  3840  
  3841  func (x *ListSnapshotsResponse) String() string {
  3842  	return protoimpl.X.MessageStringOf(x)
  3843  }
  3844  
  3845  func (*ListSnapshotsResponse) ProtoMessage() {}
  3846  
  3847  func (x *ListSnapshotsResponse) ProtoReflect() protoreflect.Message {
  3848  	mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[43]
  3849  	if protoimpl.UnsafeEnabled && x != nil {
  3850  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3851  		if ms.LoadMessageInfo() == nil {
  3852  			ms.StoreMessageInfo(mi)
  3853  		}
  3854  		return ms
  3855  	}
  3856  	return mi.MessageOf(x)
  3857  }
  3858  
  3859  // Deprecated: Use ListSnapshotsResponse.ProtoReflect.Descriptor instead.
  3860  func (*ListSnapshotsResponse) Descriptor() ([]byte, []int) {
  3861  	return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{43}
  3862  }
  3863  
  3864  func (x *ListSnapshotsResponse) GetSnapshots() []*Snapshot {
  3865  	if x != nil {
  3866  		return x.Snapshots
  3867  	}
  3868  	return nil
  3869  }
  3870  
  3871  func (x *ListSnapshotsResponse) GetNextPageToken() string {
  3872  	if x != nil {
  3873  		return x.NextPageToken
  3874  	}
  3875  	return ""
  3876  }
  3877  
  3878  // Request for the `DeleteSnapshot` method.
  3879  type DeleteSnapshotRequest struct {
  3880  	state         protoimpl.MessageState
  3881  	sizeCache     protoimpl.SizeCache
  3882  	unknownFields protoimpl.UnknownFields
  3883  
  3884  	// Required. The name of the snapshot to delete.
  3885  	// Format is `projects/{project}/snapshots/{snap}`.
  3886  	Snapshot string `protobuf:"bytes,1,opt,name=snapshot,proto3" json:"snapshot,omitempty"`
  3887  }
  3888  
  3889  func (x *DeleteSnapshotRequest) Reset() {
  3890  	*x = DeleteSnapshotRequest{}
  3891  	if protoimpl.UnsafeEnabled {
  3892  		mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[44]
  3893  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3894  		ms.StoreMessageInfo(mi)
  3895  	}
  3896  }
  3897  
  3898  func (x *DeleteSnapshotRequest) String() string {
  3899  	return protoimpl.X.MessageStringOf(x)
  3900  }
  3901  
  3902  func (*DeleteSnapshotRequest) ProtoMessage() {}
  3903  
  3904  func (x *DeleteSnapshotRequest) ProtoReflect() protoreflect.Message {
  3905  	mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[44]
  3906  	if protoimpl.UnsafeEnabled && x != nil {
  3907  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3908  		if ms.LoadMessageInfo() == nil {
  3909  			ms.StoreMessageInfo(mi)
  3910  		}
  3911  		return ms
  3912  	}
  3913  	return mi.MessageOf(x)
  3914  }
  3915  
  3916  // Deprecated: Use DeleteSnapshotRequest.ProtoReflect.Descriptor instead.
  3917  func (*DeleteSnapshotRequest) Descriptor() ([]byte, []int) {
  3918  	return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{44}
  3919  }
  3920  
  3921  func (x *DeleteSnapshotRequest) GetSnapshot() string {
  3922  	if x != nil {
  3923  		return x.Snapshot
  3924  	}
  3925  	return ""
  3926  }
  3927  
  3928  // Request for the `Seek` method.
  3929  type SeekRequest struct {
  3930  	state         protoimpl.MessageState
  3931  	sizeCache     protoimpl.SizeCache
  3932  	unknownFields protoimpl.UnknownFields
  3933  
  3934  	// Required. The subscription to affect.
  3935  	Subscription string `protobuf:"bytes,1,opt,name=subscription,proto3" json:"subscription,omitempty"`
  3936  	// Types that are assignable to Target:
  3937  	//
  3938  	//	*SeekRequest_Time
  3939  	//	*SeekRequest_Snapshot
  3940  	Target isSeekRequest_Target `protobuf_oneof:"target"`
  3941  }
  3942  
  3943  func (x *SeekRequest) Reset() {
  3944  	*x = SeekRequest{}
  3945  	if protoimpl.UnsafeEnabled {
  3946  		mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[45]
  3947  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3948  		ms.StoreMessageInfo(mi)
  3949  	}
  3950  }
  3951  
  3952  func (x *SeekRequest) String() string {
  3953  	return protoimpl.X.MessageStringOf(x)
  3954  }
  3955  
  3956  func (*SeekRequest) ProtoMessage() {}
  3957  
  3958  func (x *SeekRequest) ProtoReflect() protoreflect.Message {
  3959  	mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[45]
  3960  	if protoimpl.UnsafeEnabled && x != nil {
  3961  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3962  		if ms.LoadMessageInfo() == nil {
  3963  			ms.StoreMessageInfo(mi)
  3964  		}
  3965  		return ms
  3966  	}
  3967  	return mi.MessageOf(x)
  3968  }
  3969  
  3970  // Deprecated: Use SeekRequest.ProtoReflect.Descriptor instead.
  3971  func (*SeekRequest) Descriptor() ([]byte, []int) {
  3972  	return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{45}
  3973  }
  3974  
  3975  func (x *SeekRequest) GetSubscription() string {
  3976  	if x != nil {
  3977  		return x.Subscription
  3978  	}
  3979  	return ""
  3980  }
  3981  
  3982  func (m *SeekRequest) GetTarget() isSeekRequest_Target {
  3983  	if m != nil {
  3984  		return m.Target
  3985  	}
  3986  	return nil
  3987  }
  3988  
  3989  func (x *SeekRequest) GetTime() *timestamppb.Timestamp {
  3990  	if x, ok := x.GetTarget().(*SeekRequest_Time); ok {
  3991  		return x.Time
  3992  	}
  3993  	return nil
  3994  }
  3995  
  3996  func (x *SeekRequest) GetSnapshot() string {
  3997  	if x, ok := x.GetTarget().(*SeekRequest_Snapshot); ok {
  3998  		return x.Snapshot
  3999  	}
  4000  	return ""
  4001  }
  4002  
  4003  type isSeekRequest_Target interface {
  4004  	isSeekRequest_Target()
  4005  }
  4006  
  4007  type SeekRequest_Time struct {
  4008  	// Optional. The time to seek to.
  4009  	// Messages retained in the subscription that were published before this
  4010  	// time are marked as acknowledged, and messages retained in the
  4011  	// subscription that were published after this time are marked as
  4012  	// unacknowledged. Note that this operation affects only those messages
  4013  	// retained in the subscription (configured by the combination of
  4014  	// `message_retention_duration` and `retain_acked_messages`). For example,
  4015  	// if `time` corresponds to a point before the message retention
  4016  	// window (or to a point before the system's notion of the subscription
  4017  	// creation time), only retained messages will be marked as unacknowledged,
  4018  	// and already-expunged messages will not be restored.
  4019  	Time *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=time,proto3,oneof"`
  4020  }
  4021  
  4022  type SeekRequest_Snapshot struct {
  4023  	// Optional. The snapshot to seek to. The snapshot's topic must be the same
  4024  	// as that of the provided subscription. Format is
  4025  	// `projects/{project}/snapshots/{snap}`.
  4026  	Snapshot string `protobuf:"bytes,3,opt,name=snapshot,proto3,oneof"`
  4027  }
  4028  
  4029  func (*SeekRequest_Time) isSeekRequest_Target() {}
  4030  
  4031  func (*SeekRequest_Snapshot) isSeekRequest_Target() {}
  4032  
  4033  // Response for the `Seek` method (this response is empty).
  4034  type SeekResponse struct {
  4035  	state         protoimpl.MessageState
  4036  	sizeCache     protoimpl.SizeCache
  4037  	unknownFields protoimpl.UnknownFields
  4038  }
  4039  
  4040  func (x *SeekResponse) Reset() {
  4041  	*x = SeekResponse{}
  4042  	if protoimpl.UnsafeEnabled {
  4043  		mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[46]
  4044  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  4045  		ms.StoreMessageInfo(mi)
  4046  	}
  4047  }
  4048  
  4049  func (x *SeekResponse) String() string {
  4050  	return protoimpl.X.MessageStringOf(x)
  4051  }
  4052  
  4053  func (*SeekResponse) ProtoMessage() {}
  4054  
  4055  func (x *SeekResponse) ProtoReflect() protoreflect.Message {
  4056  	mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[46]
  4057  	if protoimpl.UnsafeEnabled && x != nil {
  4058  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  4059  		if ms.LoadMessageInfo() == nil {
  4060  			ms.StoreMessageInfo(mi)
  4061  		}
  4062  		return ms
  4063  	}
  4064  	return mi.MessageOf(x)
  4065  }
  4066  
  4067  // Deprecated: Use SeekResponse.ProtoReflect.Descriptor instead.
  4068  func (*SeekResponse) Descriptor() ([]byte, []int) {
  4069  	return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{46}
  4070  }
  4071  
  4072  // Ingestion settings for Amazon Kinesis Data Streams.
  4073  type IngestionDataSourceSettings_AwsKinesis struct {
  4074  	state         protoimpl.MessageState
  4075  	sizeCache     protoimpl.SizeCache
  4076  	unknownFields protoimpl.UnknownFields
  4077  
  4078  	// Output only. An output-only field that indicates the state of the Kinesis
  4079  	// ingestion source.
  4080  	State IngestionDataSourceSettings_AwsKinesis_State `protobuf:"varint,1,opt,name=state,proto3,enum=google.pubsub.v1.IngestionDataSourceSettings_AwsKinesis_State" json:"state,omitempty"`
  4081  	// Required. The Kinesis stream ARN to ingest data from.
  4082  	StreamArn string `protobuf:"bytes,2,opt,name=stream_arn,json=streamArn,proto3" json:"stream_arn,omitempty"`
  4083  	// Required. The Kinesis consumer ARN to used for ingestion in Enhanced
  4084  	// Fan-Out mode. The consumer must be already created and ready to be used.
  4085  	ConsumerArn string `protobuf:"bytes,3,opt,name=consumer_arn,json=consumerArn,proto3" json:"consumer_arn,omitempty"`
  4086  	// Required. AWS role ARN to be used for Federated Identity authentication
  4087  	// with Kinesis. Check the Pub/Sub docs for how to set up this role and the
  4088  	// required permissions that need to be attached to it.
  4089  	AwsRoleArn string `protobuf:"bytes,4,opt,name=aws_role_arn,json=awsRoleArn,proto3" json:"aws_role_arn,omitempty"`
  4090  	// Required. The GCP service account to be used for Federated Identity
  4091  	// authentication with Kinesis (via a `AssumeRoleWithWebIdentity` call for
  4092  	// the provided role). The `aws_role_arn` must be set up with
  4093  	// `accounts.google.com:sub` equals to this service account number.
  4094  	GcpServiceAccount string `protobuf:"bytes,5,opt,name=gcp_service_account,json=gcpServiceAccount,proto3" json:"gcp_service_account,omitempty"`
  4095  }
  4096  
  4097  func (x *IngestionDataSourceSettings_AwsKinesis) Reset() {
  4098  	*x = IngestionDataSourceSettings_AwsKinesis{}
  4099  	if protoimpl.UnsafeEnabled {
  4100  		mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[47]
  4101  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  4102  		ms.StoreMessageInfo(mi)
  4103  	}
  4104  }
  4105  
  4106  func (x *IngestionDataSourceSettings_AwsKinesis) String() string {
  4107  	return protoimpl.X.MessageStringOf(x)
  4108  }
  4109  
  4110  func (*IngestionDataSourceSettings_AwsKinesis) ProtoMessage() {}
  4111  
  4112  func (x *IngestionDataSourceSettings_AwsKinesis) ProtoReflect() protoreflect.Message {
  4113  	mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[47]
  4114  	if protoimpl.UnsafeEnabled && x != nil {
  4115  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  4116  		if ms.LoadMessageInfo() == nil {
  4117  			ms.StoreMessageInfo(mi)
  4118  		}
  4119  		return ms
  4120  	}
  4121  	return mi.MessageOf(x)
  4122  }
  4123  
  4124  // Deprecated: Use IngestionDataSourceSettings_AwsKinesis.ProtoReflect.Descriptor instead.
  4125  func (*IngestionDataSourceSettings_AwsKinesis) Descriptor() ([]byte, []int) {
  4126  	return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{2, 0}
  4127  }
  4128  
  4129  func (x *IngestionDataSourceSettings_AwsKinesis) GetState() IngestionDataSourceSettings_AwsKinesis_State {
  4130  	if x != nil {
  4131  		return x.State
  4132  	}
  4133  	return IngestionDataSourceSettings_AwsKinesis_STATE_UNSPECIFIED
  4134  }
  4135  
  4136  func (x *IngestionDataSourceSettings_AwsKinesis) GetStreamArn() string {
  4137  	if x != nil {
  4138  		return x.StreamArn
  4139  	}
  4140  	return ""
  4141  }
  4142  
  4143  func (x *IngestionDataSourceSettings_AwsKinesis) GetConsumerArn() string {
  4144  	if x != nil {
  4145  		return x.ConsumerArn
  4146  	}
  4147  	return ""
  4148  }
  4149  
  4150  func (x *IngestionDataSourceSettings_AwsKinesis) GetAwsRoleArn() string {
  4151  	if x != nil {
  4152  		return x.AwsRoleArn
  4153  	}
  4154  	return ""
  4155  }
  4156  
  4157  func (x *IngestionDataSourceSettings_AwsKinesis) GetGcpServiceAccount() string {
  4158  	if x != nil {
  4159  		return x.GcpServiceAccount
  4160  	}
  4161  	return ""
  4162  }
  4163  
  4164  // Contains information needed for generating an
  4165  // [OpenID Connect
  4166  // token](https://developers.google.com/identity/protocols/OpenIDConnect).
  4167  type PushConfig_OidcToken struct {
  4168  	state         protoimpl.MessageState
  4169  	sizeCache     protoimpl.SizeCache
  4170  	unknownFields protoimpl.UnknownFields
  4171  
  4172  	// Optional. [Service account
  4173  	// email](https://cloud.google.com/iam/docs/service-accounts)
  4174  	// used for generating the OIDC token. For more information
  4175  	// on setting up authentication, see
  4176  	// [Push subscriptions](https://cloud.google.com/pubsub/docs/push).
  4177  	ServiceAccountEmail string `protobuf:"bytes,1,opt,name=service_account_email,json=serviceAccountEmail,proto3" json:"service_account_email,omitempty"`
  4178  	// Optional. Audience to be used when generating OIDC token. The audience
  4179  	// claim identifies the recipients that the JWT is intended for. The
  4180  	// audience value is a single case-sensitive string. Having multiple values
  4181  	// (array) for the audience field is not supported. More info about the OIDC
  4182  	// JWT token audience here:
  4183  	// https://tools.ietf.org/html/rfc7519#section-4.1.3 Note: if not specified,
  4184  	// the Push endpoint URL will be used.
  4185  	Audience string `protobuf:"bytes,2,opt,name=audience,proto3" json:"audience,omitempty"`
  4186  }
  4187  
  4188  func (x *PushConfig_OidcToken) Reset() {
  4189  	*x = PushConfig_OidcToken{}
  4190  	if protoimpl.UnsafeEnabled {
  4191  		mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[51]
  4192  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  4193  		ms.StoreMessageInfo(mi)
  4194  	}
  4195  }
  4196  
  4197  func (x *PushConfig_OidcToken) String() string {
  4198  	return protoimpl.X.MessageStringOf(x)
  4199  }
  4200  
  4201  func (*PushConfig_OidcToken) ProtoMessage() {}
  4202  
  4203  func (x *PushConfig_OidcToken) ProtoReflect() protoreflect.Message {
  4204  	mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[51]
  4205  	if protoimpl.UnsafeEnabled && x != nil {
  4206  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  4207  		if ms.LoadMessageInfo() == nil {
  4208  			ms.StoreMessageInfo(mi)
  4209  		}
  4210  		return ms
  4211  	}
  4212  	return mi.MessageOf(x)
  4213  }
  4214  
  4215  // Deprecated: Use PushConfig_OidcToken.ProtoReflect.Descriptor instead.
  4216  func (*PushConfig_OidcToken) Descriptor() ([]byte, []int) {
  4217  	return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{22, 0}
  4218  }
  4219  
  4220  func (x *PushConfig_OidcToken) GetServiceAccountEmail() string {
  4221  	if x != nil {
  4222  		return x.ServiceAccountEmail
  4223  	}
  4224  	return ""
  4225  }
  4226  
  4227  func (x *PushConfig_OidcToken) GetAudience() string {
  4228  	if x != nil {
  4229  		return x.Audience
  4230  	}
  4231  	return ""
  4232  }
  4233  
  4234  // The payload to the push endpoint is in the form of the JSON representation
  4235  // of a PubsubMessage
  4236  // (https://cloud.google.com/pubsub/docs/reference/rpc/google.pubsub.v1#pubsubmessage).
  4237  type PushConfig_PubsubWrapper struct {
  4238  	state         protoimpl.MessageState
  4239  	sizeCache     protoimpl.SizeCache
  4240  	unknownFields protoimpl.UnknownFields
  4241  }
  4242  
  4243  func (x *PushConfig_PubsubWrapper) Reset() {
  4244  	*x = PushConfig_PubsubWrapper{}
  4245  	if protoimpl.UnsafeEnabled {
  4246  		mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[52]
  4247  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  4248  		ms.StoreMessageInfo(mi)
  4249  	}
  4250  }
  4251  
  4252  func (x *PushConfig_PubsubWrapper) String() string {
  4253  	return protoimpl.X.MessageStringOf(x)
  4254  }
  4255  
  4256  func (*PushConfig_PubsubWrapper) ProtoMessage() {}
  4257  
  4258  func (x *PushConfig_PubsubWrapper) ProtoReflect() protoreflect.Message {
  4259  	mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[52]
  4260  	if protoimpl.UnsafeEnabled && x != nil {
  4261  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  4262  		if ms.LoadMessageInfo() == nil {
  4263  			ms.StoreMessageInfo(mi)
  4264  		}
  4265  		return ms
  4266  	}
  4267  	return mi.MessageOf(x)
  4268  }
  4269  
  4270  // Deprecated: Use PushConfig_PubsubWrapper.ProtoReflect.Descriptor instead.
  4271  func (*PushConfig_PubsubWrapper) Descriptor() ([]byte, []int) {
  4272  	return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{22, 1}
  4273  }
  4274  
  4275  // Sets the `data` field as the HTTP body for delivery.
  4276  type PushConfig_NoWrapper struct {
  4277  	state         protoimpl.MessageState
  4278  	sizeCache     protoimpl.SizeCache
  4279  	unknownFields protoimpl.UnknownFields
  4280  
  4281  	// Optional. When true, writes the Pub/Sub message metadata to
  4282  	// `x-goog-pubsub-<KEY>:<VAL>` headers of the HTTP request. Writes the
  4283  	// Pub/Sub message attributes to `<KEY>:<VAL>` headers of the HTTP request.
  4284  	WriteMetadata bool `protobuf:"varint,1,opt,name=write_metadata,json=writeMetadata,proto3" json:"write_metadata,omitempty"`
  4285  }
  4286  
  4287  func (x *PushConfig_NoWrapper) Reset() {
  4288  	*x = PushConfig_NoWrapper{}
  4289  	if protoimpl.UnsafeEnabled {
  4290  		mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[53]
  4291  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  4292  		ms.StoreMessageInfo(mi)
  4293  	}
  4294  }
  4295  
  4296  func (x *PushConfig_NoWrapper) String() string {
  4297  	return protoimpl.X.MessageStringOf(x)
  4298  }
  4299  
  4300  func (*PushConfig_NoWrapper) ProtoMessage() {}
  4301  
  4302  func (x *PushConfig_NoWrapper) ProtoReflect() protoreflect.Message {
  4303  	mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[53]
  4304  	if protoimpl.UnsafeEnabled && x != nil {
  4305  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  4306  		if ms.LoadMessageInfo() == nil {
  4307  			ms.StoreMessageInfo(mi)
  4308  		}
  4309  		return ms
  4310  	}
  4311  	return mi.MessageOf(x)
  4312  }
  4313  
  4314  // Deprecated: Use PushConfig_NoWrapper.ProtoReflect.Descriptor instead.
  4315  func (*PushConfig_NoWrapper) Descriptor() ([]byte, []int) {
  4316  	return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{22, 2}
  4317  }
  4318  
  4319  func (x *PushConfig_NoWrapper) GetWriteMetadata() bool {
  4320  	if x != nil {
  4321  		return x.WriteMetadata
  4322  	}
  4323  	return false
  4324  }
  4325  
  4326  // Configuration for writing message data in text format.
  4327  // Message payloads will be written to files as raw text, separated by a
  4328  // newline.
  4329  type CloudStorageConfig_TextConfig struct {
  4330  	state         protoimpl.MessageState
  4331  	sizeCache     protoimpl.SizeCache
  4332  	unknownFields protoimpl.UnknownFields
  4333  }
  4334  
  4335  func (x *CloudStorageConfig_TextConfig) Reset() {
  4336  	*x = CloudStorageConfig_TextConfig{}
  4337  	if protoimpl.UnsafeEnabled {
  4338  		mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[55]
  4339  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  4340  		ms.StoreMessageInfo(mi)
  4341  	}
  4342  }
  4343  
  4344  func (x *CloudStorageConfig_TextConfig) String() string {
  4345  	return protoimpl.X.MessageStringOf(x)
  4346  }
  4347  
  4348  func (*CloudStorageConfig_TextConfig) ProtoMessage() {}
  4349  
  4350  func (x *CloudStorageConfig_TextConfig) ProtoReflect() protoreflect.Message {
  4351  	mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[55]
  4352  	if protoimpl.UnsafeEnabled && x != nil {
  4353  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  4354  		if ms.LoadMessageInfo() == nil {
  4355  			ms.StoreMessageInfo(mi)
  4356  		}
  4357  		return ms
  4358  	}
  4359  	return mi.MessageOf(x)
  4360  }
  4361  
  4362  // Deprecated: Use CloudStorageConfig_TextConfig.ProtoReflect.Descriptor instead.
  4363  func (*CloudStorageConfig_TextConfig) Descriptor() ([]byte, []int) {
  4364  	return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{24, 0}
  4365  }
  4366  
  4367  // Configuration for writing message data in Avro format.
  4368  // Message payloads and metadata will be written to files as an Avro binary.
  4369  type CloudStorageConfig_AvroConfig struct {
  4370  	state         protoimpl.MessageState
  4371  	sizeCache     protoimpl.SizeCache
  4372  	unknownFields protoimpl.UnknownFields
  4373  
  4374  	// Optional. When true, write the subscription name, message_id,
  4375  	// publish_time, attributes, and ordering_key as additional fields in the
  4376  	// output. The subscription name, message_id, and publish_time fields are
  4377  	// put in their own fields while all other message properties other than
  4378  	// data (for example, an ordering_key, if present) are added as entries in
  4379  	// the attributes map.
  4380  	WriteMetadata bool `protobuf:"varint,1,opt,name=write_metadata,json=writeMetadata,proto3" json:"write_metadata,omitempty"`
  4381  }
  4382  
  4383  func (x *CloudStorageConfig_AvroConfig) Reset() {
  4384  	*x = CloudStorageConfig_AvroConfig{}
  4385  	if protoimpl.UnsafeEnabled {
  4386  		mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[56]
  4387  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  4388  		ms.StoreMessageInfo(mi)
  4389  	}
  4390  }
  4391  
  4392  func (x *CloudStorageConfig_AvroConfig) String() string {
  4393  	return protoimpl.X.MessageStringOf(x)
  4394  }
  4395  
  4396  func (*CloudStorageConfig_AvroConfig) ProtoMessage() {}
  4397  
  4398  func (x *CloudStorageConfig_AvroConfig) ProtoReflect() protoreflect.Message {
  4399  	mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[56]
  4400  	if protoimpl.UnsafeEnabled && x != nil {
  4401  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  4402  		if ms.LoadMessageInfo() == nil {
  4403  			ms.StoreMessageInfo(mi)
  4404  		}
  4405  		return ms
  4406  	}
  4407  	return mi.MessageOf(x)
  4408  }
  4409  
  4410  // Deprecated: Use CloudStorageConfig_AvroConfig.ProtoReflect.Descriptor instead.
  4411  func (*CloudStorageConfig_AvroConfig) Descriptor() ([]byte, []int) {
  4412  	return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{24, 1}
  4413  }
  4414  
  4415  func (x *CloudStorageConfig_AvroConfig) GetWriteMetadata() bool {
  4416  	if x != nil {
  4417  		return x.WriteMetadata
  4418  	}
  4419  	return false
  4420  }
  4421  
  4422  // Acknowledgement IDs sent in one or more previous requests to acknowledge a
  4423  // previously received message.
  4424  type StreamingPullResponse_AcknowledgeConfirmation struct {
  4425  	state         protoimpl.MessageState
  4426  	sizeCache     protoimpl.SizeCache
  4427  	unknownFields protoimpl.UnknownFields
  4428  
  4429  	// Optional. Successfully processed acknowledgement IDs.
  4430  	AckIds []string `protobuf:"bytes,1,rep,name=ack_ids,json=ackIds,proto3" json:"ack_ids,omitempty"`
  4431  	// Optional. List of acknowledgement IDs that were malformed or whose
  4432  	// acknowledgement deadline has expired.
  4433  	InvalidAckIds []string `protobuf:"bytes,2,rep,name=invalid_ack_ids,json=invalidAckIds,proto3" json:"invalid_ack_ids,omitempty"`
  4434  	// Optional. List of acknowledgement IDs that were out of order.
  4435  	UnorderedAckIds []string `protobuf:"bytes,3,rep,name=unordered_ack_ids,json=unorderedAckIds,proto3" json:"unordered_ack_ids,omitempty"`
  4436  	// Optional. List of acknowledgement IDs that failed processing with
  4437  	// temporary issues.
  4438  	TemporaryFailedAckIds []string `protobuf:"bytes,4,rep,name=temporary_failed_ack_ids,json=temporaryFailedAckIds,proto3" json:"temporary_failed_ack_ids,omitempty"`
  4439  }
  4440  
  4441  func (x *StreamingPullResponse_AcknowledgeConfirmation) Reset() {
  4442  	*x = StreamingPullResponse_AcknowledgeConfirmation{}
  4443  	if protoimpl.UnsafeEnabled {
  4444  		mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[57]
  4445  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  4446  		ms.StoreMessageInfo(mi)
  4447  	}
  4448  }
  4449  
  4450  func (x *StreamingPullResponse_AcknowledgeConfirmation) String() string {
  4451  	return protoimpl.X.MessageStringOf(x)
  4452  }
  4453  
  4454  func (*StreamingPullResponse_AcknowledgeConfirmation) ProtoMessage() {}
  4455  
  4456  func (x *StreamingPullResponse_AcknowledgeConfirmation) ProtoReflect() protoreflect.Message {
  4457  	mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[57]
  4458  	if protoimpl.UnsafeEnabled && x != nil {
  4459  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  4460  		if ms.LoadMessageInfo() == nil {
  4461  			ms.StoreMessageInfo(mi)
  4462  		}
  4463  		return ms
  4464  	}
  4465  	return mi.MessageOf(x)
  4466  }
  4467  
  4468  // Deprecated: Use StreamingPullResponse_AcknowledgeConfirmation.ProtoReflect.Descriptor instead.
  4469  func (*StreamingPullResponse_AcknowledgeConfirmation) Descriptor() ([]byte, []int) {
  4470  	return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{37, 0}
  4471  }
  4472  
  4473  func (x *StreamingPullResponse_AcknowledgeConfirmation) GetAckIds() []string {
  4474  	if x != nil {
  4475  		return x.AckIds
  4476  	}
  4477  	return nil
  4478  }
  4479  
  4480  func (x *StreamingPullResponse_AcknowledgeConfirmation) GetInvalidAckIds() []string {
  4481  	if x != nil {
  4482  		return x.InvalidAckIds
  4483  	}
  4484  	return nil
  4485  }
  4486  
  4487  func (x *StreamingPullResponse_AcknowledgeConfirmation) GetUnorderedAckIds() []string {
  4488  	if x != nil {
  4489  		return x.UnorderedAckIds
  4490  	}
  4491  	return nil
  4492  }
  4493  
  4494  func (x *StreamingPullResponse_AcknowledgeConfirmation) GetTemporaryFailedAckIds() []string {
  4495  	if x != nil {
  4496  		return x.TemporaryFailedAckIds
  4497  	}
  4498  	return nil
  4499  }
  4500  
  4501  // Acknowledgement IDs sent in one or more previous requests to modify the
  4502  // deadline for a specific message.
  4503  type StreamingPullResponse_ModifyAckDeadlineConfirmation struct {
  4504  	state         protoimpl.MessageState
  4505  	sizeCache     protoimpl.SizeCache
  4506  	unknownFields protoimpl.UnknownFields
  4507  
  4508  	// Optional. Successfully processed acknowledgement IDs.
  4509  	AckIds []string `protobuf:"bytes,1,rep,name=ack_ids,json=ackIds,proto3" json:"ack_ids,omitempty"`
  4510  	// Optional. List of acknowledgement IDs that were malformed or whose
  4511  	// acknowledgement deadline has expired.
  4512  	InvalidAckIds []string `protobuf:"bytes,2,rep,name=invalid_ack_ids,json=invalidAckIds,proto3" json:"invalid_ack_ids,omitempty"`
  4513  	// Optional. List of acknowledgement IDs that failed processing with
  4514  	// temporary issues.
  4515  	TemporaryFailedAckIds []string `protobuf:"bytes,3,rep,name=temporary_failed_ack_ids,json=temporaryFailedAckIds,proto3" json:"temporary_failed_ack_ids,omitempty"`
  4516  }
  4517  
  4518  func (x *StreamingPullResponse_ModifyAckDeadlineConfirmation) Reset() {
  4519  	*x = StreamingPullResponse_ModifyAckDeadlineConfirmation{}
  4520  	if protoimpl.UnsafeEnabled {
  4521  		mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[58]
  4522  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  4523  		ms.StoreMessageInfo(mi)
  4524  	}
  4525  }
  4526  
  4527  func (x *StreamingPullResponse_ModifyAckDeadlineConfirmation) String() string {
  4528  	return protoimpl.X.MessageStringOf(x)
  4529  }
  4530  
  4531  func (*StreamingPullResponse_ModifyAckDeadlineConfirmation) ProtoMessage() {}
  4532  
  4533  func (x *StreamingPullResponse_ModifyAckDeadlineConfirmation) ProtoReflect() protoreflect.Message {
  4534  	mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[58]
  4535  	if protoimpl.UnsafeEnabled && x != nil {
  4536  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  4537  		if ms.LoadMessageInfo() == nil {
  4538  			ms.StoreMessageInfo(mi)
  4539  		}
  4540  		return ms
  4541  	}
  4542  	return mi.MessageOf(x)
  4543  }
  4544  
  4545  // Deprecated: Use StreamingPullResponse_ModifyAckDeadlineConfirmation.ProtoReflect.Descriptor instead.
  4546  func (*StreamingPullResponse_ModifyAckDeadlineConfirmation) Descriptor() ([]byte, []int) {
  4547  	return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{37, 1}
  4548  }
  4549  
  4550  func (x *StreamingPullResponse_ModifyAckDeadlineConfirmation) GetAckIds() []string {
  4551  	if x != nil {
  4552  		return x.AckIds
  4553  	}
  4554  	return nil
  4555  }
  4556  
  4557  func (x *StreamingPullResponse_ModifyAckDeadlineConfirmation) GetInvalidAckIds() []string {
  4558  	if x != nil {
  4559  		return x.InvalidAckIds
  4560  	}
  4561  	return nil
  4562  }
  4563  
  4564  func (x *StreamingPullResponse_ModifyAckDeadlineConfirmation) GetTemporaryFailedAckIds() []string {
  4565  	if x != nil {
  4566  		return x.TemporaryFailedAckIds
  4567  	}
  4568  	return nil
  4569  }
  4570  
  4571  // Subscription properties sent as part of the response.
  4572  type StreamingPullResponse_SubscriptionProperties struct {
  4573  	state         protoimpl.MessageState
  4574  	sizeCache     protoimpl.SizeCache
  4575  	unknownFields protoimpl.UnknownFields
  4576  
  4577  	// Optional. True iff exactly once delivery is enabled for this
  4578  	// subscription.
  4579  	ExactlyOnceDeliveryEnabled bool `protobuf:"varint,1,opt,name=exactly_once_delivery_enabled,json=exactlyOnceDeliveryEnabled,proto3" json:"exactly_once_delivery_enabled,omitempty"`
  4580  	// Optional. True iff message ordering is enabled for this subscription.
  4581  	MessageOrderingEnabled bool `protobuf:"varint,2,opt,name=message_ordering_enabled,json=messageOrderingEnabled,proto3" json:"message_ordering_enabled,omitempty"`
  4582  }
  4583  
  4584  func (x *StreamingPullResponse_SubscriptionProperties) Reset() {
  4585  	*x = StreamingPullResponse_SubscriptionProperties{}
  4586  	if protoimpl.UnsafeEnabled {
  4587  		mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[59]
  4588  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  4589  		ms.StoreMessageInfo(mi)
  4590  	}
  4591  }
  4592  
  4593  func (x *StreamingPullResponse_SubscriptionProperties) String() string {
  4594  	return protoimpl.X.MessageStringOf(x)
  4595  }
  4596  
  4597  func (*StreamingPullResponse_SubscriptionProperties) ProtoMessage() {}
  4598  
  4599  func (x *StreamingPullResponse_SubscriptionProperties) ProtoReflect() protoreflect.Message {
  4600  	mi := &file_google_pubsub_v1_pubsub_proto_msgTypes[59]
  4601  	if protoimpl.UnsafeEnabled && x != nil {
  4602  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  4603  		if ms.LoadMessageInfo() == nil {
  4604  			ms.StoreMessageInfo(mi)
  4605  		}
  4606  		return ms
  4607  	}
  4608  	return mi.MessageOf(x)
  4609  }
  4610  
  4611  // Deprecated: Use StreamingPullResponse_SubscriptionProperties.ProtoReflect.Descriptor instead.
  4612  func (*StreamingPullResponse_SubscriptionProperties) Descriptor() ([]byte, []int) {
  4613  	return file_google_pubsub_v1_pubsub_proto_rawDescGZIP(), []int{37, 2}
  4614  }
  4615  
  4616  func (x *StreamingPullResponse_SubscriptionProperties) GetExactlyOnceDeliveryEnabled() bool {
  4617  	if x != nil {
  4618  		return x.ExactlyOnceDeliveryEnabled
  4619  	}
  4620  	return false
  4621  }
  4622  
  4623  func (x *StreamingPullResponse_SubscriptionProperties) GetMessageOrderingEnabled() bool {
  4624  	if x != nil {
  4625  		return x.MessageOrderingEnabled
  4626  	}
  4627  	return false
  4628  }
  4629  
  4630  var File_google_pubsub_v1_pubsub_proto protoreflect.FileDescriptor
  4631  
  4632  var file_google_pubsub_v1_pubsub_proto_rawDesc = []byte{
  4633  	0x0a, 0x1d, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2f,
  4634  	0x76, 0x31, 0x2f, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
  4635  	0x10, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76,
  4636  	0x31, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e,
  4637  	0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
  4638  	0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6c, 0x69, 0x65,
  4639  	0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
  4640  	0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76,
  4641  	0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
  4642  	0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70,
  4643  	0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f,
  4644  	0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70,
  4645  	0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f,
  4646  	0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74,
  4647  	0x6f, 0x1a, 0x20, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
  4648  	0x75, 0x66, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x2e, 0x70, 0x72,
  4649  	0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74,
  4650  	0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70,
  4651  	0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x75, 0x62,
  4652  	0x73, 0x75, 0x62, 0x2f, 0x76, 0x31, 0x2f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x70, 0x72,
  4653  	0x6f, 0x74, 0x6f, 0x22, 0x8e, 0x01, 0x0a, 0x14, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x53,
  4654  	0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x43, 0x0a, 0x1b,
  4655  	0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x5f, 0x70, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65,
  4656  	0x6e, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28,
  4657  	0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x19, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x50,
  4658  	0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e,
  4659  	0x73, 0x12, 0x31, 0x0a, 0x12, 0x65, 0x6e, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x6e, 0x5f,
  4660  	0x74, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0,
  4661  	0x41, 0x01, 0x52, 0x10, 0x65, 0x6e, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x49, 0x6e, 0x54, 0x72, 0x61,
  4662  	0x6e, 0x73, 0x69, 0x74, 0x22, 0xeb, 0x01, 0x0a, 0x0e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x53,
  4663  	0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x3c, 0x0a, 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d,
  4664  	0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x24, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x1e, 0x0a,
  4665  	0x1c, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70,
  4666  	0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x06, 0x73,
  4667  	0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, 0x3b, 0x0a, 0x08, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e,
  4668  	0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
  4669  	0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x63, 0x6f, 0x64,
  4670  	0x69, 0x6e, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x08, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x69,
  4671  	0x6e, 0x67, 0x12, 0x2f, 0x0a, 0x11, 0x66, 0x69, 0x72, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x76, 0x69,
  4672  	0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0,
  4673  	0x41, 0x01, 0x52, 0x0f, 0x66, 0x69, 0x72, 0x73, 0x74, 0x52, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f,
  4674  	0x6e, 0x49, 0x64, 0x12, 0x2d, 0x0a, 0x10, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x76, 0x69,
  4675  	0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0,
  4676  	0x41, 0x01, 0x52, 0x0e, 0x6c, 0x61, 0x73, 0x74, 0x52, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e,
  4677  	0x49, 0x64, 0x22, 0xb4, 0x04, 0x0a, 0x1b, 0x49, 0x6e, 0x67, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e,
  4678  	0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e,
  4679  	0x67, 0x73, 0x12, 0x60, 0x0a, 0x0b, 0x61, 0x77, 0x73, 0x5f, 0x6b, 0x69, 0x6e, 0x65, 0x73, 0x69,
  4680  	0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
  4681  	0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x67, 0x65, 0x73,
  4682  	0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x65,
  4683  	0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x2e, 0x41, 0x77, 0x73, 0x4b, 0x69, 0x6e, 0x65, 0x73, 0x69,
  4684  	0x73, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x0a, 0x61, 0x77, 0x73, 0x4b, 0x69, 0x6e,
  4685  	0x65, 0x73, 0x69, 0x73, 0x1a, 0xa8, 0x03, 0x0a, 0x0a, 0x41, 0x77, 0x73, 0x4b, 0x69, 0x6e, 0x65,
  4686  	0x73, 0x69, 0x73, 0x12, 0x59, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01,
  4687  	0x28, 0x0e, 0x32, 0x3e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73,
  4688  	0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x67, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x44,
  4689  	0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67,
  4690  	0x73, 0x2e, 0x41, 0x77, 0x73, 0x4b, 0x69, 0x6e, 0x65, 0x73, 0x69, 0x73, 0x2e, 0x53, 0x74, 0x61,
  4691  	0x74, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x22,
  4692  	0x0a, 0x0a, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x61, 0x72, 0x6e, 0x18, 0x02, 0x20, 0x01,
  4693  	0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x41,
  4694  	0x72, 0x6e, 0x12, 0x26, 0x0a, 0x0c, 0x63, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x72, 0x5f, 0x61,
  4695  	0x72, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x63,
  4696  	0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x72, 0x41, 0x72, 0x6e, 0x12, 0x25, 0x0a, 0x0c, 0x61, 0x77,
  4697  	0x73, 0x5f, 0x72, 0x6f, 0x6c, 0x65, 0x5f, 0x61, 0x72, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09,
  4698  	0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x61, 0x77, 0x73, 0x52, 0x6f, 0x6c, 0x65, 0x41, 0x72,
  4699  	0x6e, 0x12, 0x33, 0x0a, 0x13, 0x67, 0x63, 0x70, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65,
  4700  	0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03,
  4701  	0xe0, 0x41, 0x02, 0x52, 0x11, 0x67, 0x63, 0x70, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41,
  4702  	0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x96, 0x01, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65,
  4703  	0x12, 0x15, 0x0a, 0x11, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43,
  4704  	0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x41, 0x43, 0x54, 0x49, 0x56,
  4705  	0x45, 0x10, 0x01, 0x12, 0x1d, 0x0a, 0x19, 0x4b, 0x49, 0x4e, 0x45, 0x53, 0x49, 0x53, 0x5f, 0x50,
  4706  	0x45, 0x52, 0x4d, 0x49, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x44, 0x45, 0x4e, 0x49, 0x45, 0x44,
  4707  	0x10, 0x02, 0x12, 0x1d, 0x0a, 0x19, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x53, 0x48, 0x5f, 0x50, 0x45,
  4708  	0x52, 0x4d, 0x49, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x44, 0x45, 0x4e, 0x49, 0x45, 0x44, 0x10,
  4709  	0x03, 0x12, 0x14, 0x0a, 0x10, 0x53, 0x54, 0x52, 0x45, 0x41, 0x4d, 0x5f, 0x4e, 0x4f, 0x54, 0x5f,
  4710  	0x46, 0x4f, 0x55, 0x4e, 0x44, 0x10, 0x04, 0x12, 0x16, 0x0a, 0x12, 0x43, 0x4f, 0x4e, 0x53, 0x55,
  4711  	0x4d, 0x45, 0x52, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x46, 0x4f, 0x55, 0x4e, 0x44, 0x10, 0x05, 0x42,
  4712  	0x08, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0xd2, 0x06, 0x0a, 0x05, 0x54, 0x6f,
  4713  	0x70, 0x69, 0x63, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
  4714  	0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x40, 0x0a, 0x06,
  4715  	0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67,
  4716  	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e,
  4717  	0x54, 0x6f, 0x70, 0x69, 0x63, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72,
  4718  	0x79, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x61,
  4719  	0x0a, 0x16, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67,
  4720  	0x65, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26,
  4721  	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76,
  4722  	0x31, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65,
  4723  	0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x14, 0x6d, 0x65, 0x73,
  4724  	0x73, 0x61, 0x67, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63,
  4725  	0x79, 0x12, 0x25, 0x0a, 0x0c, 0x6b, 0x6d, 0x73, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x6e, 0x61, 0x6d,
  4726  	0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0a, 0x6b, 0x6d,
  4727  	0x73, 0x4b, 0x65, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x4e, 0x0a, 0x0f, 0x73, 0x63, 0x68, 0x65,
  4728  	0x6d, 0x61, 0x5f, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28,
  4729  	0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75,
  4730  	0x62, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x53, 0x65, 0x74, 0x74, 0x69,
  4731  	0x6e, 0x67, 0x73, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0e, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61,
  4732  	0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x28, 0x0a, 0x0d, 0x73, 0x61, 0x74, 0x69,
  4733  	0x73, 0x66, 0x69, 0x65, 0x73, 0x5f, 0x70, 0x7a, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x42,
  4734  	0x03, 0xe0, 0x41, 0x01, 0x52, 0x0c, 0x73, 0x61, 0x74, 0x69, 0x73, 0x66, 0x69, 0x65, 0x73, 0x50,
  4735  	0x7a, 0x73, 0x12, 0x5c, 0x0a, 0x1a, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x72, 0x65,
  4736  	0x74, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
  4737  	0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
  4738  	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f,
  4739  	0x6e, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x18, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52,
  4740  	0x65, 0x74, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
  4741  	0x12, 0x38, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0e, 0x32,
  4742  	0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e,
  4743  	0x76, 0x31, 0x2e, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x42, 0x03,
  4744  	0xe0, 0x41, 0x03, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x77, 0x0a, 0x1e, 0x69, 0x6e,
  4745  	0x67, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x6f, 0x75,
  4746  	0x72, 0x63, 0x65, 0x5f, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x0a, 0x20, 0x01,
  4747  	0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73,
  4748  	0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x67, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x44,
  4749  	0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67,
  4750  	0x73, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x1b, 0x69, 0x6e, 0x67, 0x65, 0x73, 0x74, 0x69, 0x6f,
  4751  	0x6e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x65, 0x74, 0x74, 0x69,
  4752  	0x6e, 0x67, 0x73, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74,
  4753  	0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
  4754  	0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20,
  4755  	0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x48,
  4756  	0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x15, 0x0a, 0x11, 0x53, 0x54, 0x41, 0x54, 0x45,
  4757  	0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0a,
  4758  	0x0a, 0x06, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x10, 0x01, 0x12, 0x1c, 0x0a, 0x18, 0x49, 0x4e,
  4759  	0x47, 0x45, 0x53, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x52, 0x45, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45,
  4760  	0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x02, 0x3a, 0x54, 0xea, 0x41, 0x51, 0x0a, 0x1b, 0x70,
  4761  	0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73,
  4762  	0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x12, 0x21, 0x70, 0x72, 0x6f, 0x6a,
  4763  	0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x74,
  4764  	0x6f, 0x70, 0x69, 0x63, 0x73, 0x2f, 0x7b, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x7d, 0x12, 0x0f, 0x5f,
  4765  	0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x2d, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x22, 0xc3,
  4766  	0x02, 0x0a, 0x0d, 0x50, 0x75, 0x62, 0x73, 0x75, 0x62, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65,
  4767  	0x12, 0x17, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x42, 0x03,
  4768  	0xe0, 0x41, 0x01, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x54, 0x0a, 0x0a, 0x61, 0x74, 0x74,
  4769  	0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e,
  4770  	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31,
  4771  	0x2e, 0x50, 0x75, 0x62, 0x73, 0x75, 0x62, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x41,
  4772  	0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x42, 0x03,
  4773  	0xe0, 0x41, 0x01, 0x52, 0x0a, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x12,
  4774  	0x1d, 0x0a, 0x0a, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20,
  4775  	0x01, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x49, 0x64, 0x12, 0x3d,
  4776  	0x0a, 0x0c, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x04,
  4777  	0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
  4778  	0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70,
  4779  	0x52, 0x0b, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x26, 0x0a,
  4780  	0x0c, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x05, 0x20,
  4781  	0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0b, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x69,
  4782  	0x6e, 0x67, 0x4b, 0x65, 0x79, 0x1a, 0x3d, 0x0a, 0x0f, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75,
  4783  	0x74, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18,
  4784  	0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61,
  4785  	0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
  4786  	0x3a, 0x02, 0x38, 0x01, 0x22, 0x4c, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x54, 0x6f, 0x70, 0x69, 0x63,
  4787  	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x39, 0x0a, 0x05, 0x74, 0x6f, 0x70, 0x69, 0x63,
  4788  	0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x23, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x1d, 0x0a, 0x1b,
  4789  	0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69,
  4790  	0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x52, 0x05, 0x74, 0x6f, 0x70,
  4791  	0x69, 0x63, 0x22, 0x8a, 0x01, 0x0a, 0x12, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x6f, 0x70,
  4792  	0x69, 0x63, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x32, 0x0a, 0x05, 0x74, 0x6f, 0x70,
  4793  	0x69, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
  4794  	0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x6f, 0x70, 0x69,
  4795  	0x63, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x05, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x12, 0x40, 0x0a,
  4796  	0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x02, 0x20, 0x01,
  4797  	0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
  4798  	0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x42, 0x03,
  4799  	0xe0, 0x41, 0x02, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x22,
  4800  	0x8d, 0x01, 0x0a, 0x0e, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65,
  4801  	0x73, 0x74, 0x12, 0x39, 0x0a, 0x05, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28,
  4802  	0x09, 0x42, 0x23, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x1d, 0x0a, 0x1b, 0x70, 0x75, 0x62, 0x73, 0x75,
  4803  	0x62, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d,
  4804  	0x2f, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x52, 0x05, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x12, 0x40, 0x0a,
  4805  	0x08, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32,
  4806  	0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e,
  4807  	0x76, 0x31, 0x2e, 0x50, 0x75, 0x62, 0x73, 0x75, 0x62, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65,
  4808  	0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x22,
  4809  	0x37, 0x0a, 0x0f, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
  4810  	0x73, 0x65, 0x12, 0x24, 0x0a, 0x0b, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64,
  4811  	0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0a, 0x6d, 0x65,
  4812  	0x73, 0x73, 0x61, 0x67, 0x65, 0x49, 0x64, 0x73, 0x22, 0xa8, 0x01, 0x0a, 0x11, 0x4c, 0x69, 0x73,
  4813  	0x74, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4d,
  4814  	0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42,
  4815  	0x33, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2d, 0x0a, 0x2b, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x72, 0x65,
  4816  	0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x67, 0x6f,
  4817  	0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x50, 0x72, 0x6f,
  4818  	0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x20, 0x0a,
  4819  	0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05,
  4820  	0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12,
  4821  	0x22, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20,
  4822  	0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f,
  4823  	0x6b, 0x65, 0x6e, 0x22, 0x77, 0x0a, 0x12, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x6f, 0x70, 0x69, 0x63,
  4824  	0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x34, 0x0a, 0x06, 0x74, 0x6f, 0x70,
  4825  	0x69, 0x63, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
  4826  	0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x6f, 0x70,
  4827  	0x69, 0x63, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x06, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x73, 0x12,
  4828  	0x2b, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b,
  4829  	0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0d, 0x6e,
  4830  	0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0xa0, 0x01, 0x0a,
  4831  	0x1d, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72,
  4832  	0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x39,
  4833  	0x0a, 0x05, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x23, 0xe0,
  4834  	0x41, 0x02, 0xfa, 0x41, 0x1d, 0x0a, 0x1b, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x67, 0x6f,
  4835  	0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x54, 0x6f, 0x70,
  4836  	0x69, 0x63, 0x52, 0x05, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x12, 0x20, 0x0a, 0x09, 0x70, 0x61, 0x67,
  4837  	0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41,
  4838  	0x01, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x22, 0x0a, 0x0a, 0x70,
  4839  	0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42,
  4840  	0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22,
  4841  	0x9f, 0x01, 0x0a, 0x1e, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x53, 0x75, 0x62,
  4842  	0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
  4843  	0x73, 0x65, 0x12, 0x50, 0x0a, 0x0d, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69,
  4844  	0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x42, 0x2a, 0xe0, 0x41, 0x01, 0xfa, 0x41,
  4845  	0x24, 0x0a, 0x22, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
  4846  	0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69,
  4847  	0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0d, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74,
  4848  	0x69, 0x6f, 0x6e, 0x73, 0x12, 0x2b, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67,
  4849  	0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0,
  4850  	0x41, 0x01, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65,
  4851  	0x6e, 0x22, 0x9c, 0x01, 0x0a, 0x19, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x53,
  4852  	0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
  4853  	0x39, 0x0a, 0x05, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x23,
  4854  	0xe0, 0x41, 0x02, 0xfa, 0x41, 0x1d, 0x0a, 0x1b, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x67,
  4855  	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x54, 0x6f,
  4856  	0x70, 0x69, 0x63, 0x52, 0x05, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x12, 0x20, 0x0a, 0x09, 0x70, 0x61,
  4857  	0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0,
  4858  	0x41, 0x01, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x22, 0x0a, 0x0a,
  4859  	0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09,
  4860  	0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e,
  4861  	0x22, 0x6c, 0x0a, 0x1a, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x53, 0x6e, 0x61,
  4862  	0x70, 0x73, 0x68, 0x6f, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x21,
  4863  	0x0a, 0x09, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28,
  4864  	0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74,
  4865  	0x73, 0x12, 0x2b, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74,
  4866  	0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52,
  4867  	0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x4f,
  4868  	0x0a, 0x12, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x52, 0x65, 0x71,
  4869  	0x75, 0x65, 0x73, 0x74, 0x12, 0x39, 0x0a, 0x05, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x18, 0x01, 0x20,
  4870  	0x01, 0x28, 0x09, 0x42, 0x23, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x1d, 0x0a, 0x1b, 0x70, 0x75, 0x62,
  4871  	0x73, 0x75, 0x62, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63,
  4872  	0x6f, 0x6d, 0x2f, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x52, 0x05, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x22,
  4873  	0x6b, 0x0a, 0x19, 0x44, 0x65, 0x74, 0x61, 0x63, 0x68, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69,
  4874  	0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4e, 0x0a, 0x0c,
  4875  	0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01,
  4876  	0x28, 0x09, 0x42, 0x2a, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x24, 0x0a, 0x22, 0x70, 0x75, 0x62, 0x73,
  4877  	0x75, 0x62, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f,
  4878  	0x6d, 0x2f, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c,
  4879  	0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x1c, 0x0a, 0x1a,
  4880  	0x44, 0x65, 0x74, 0x61, 0x63, 0x68, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69,
  4881  	0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x9e, 0x0b, 0x0a, 0x0c, 0x53,
  4882  	0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x17, 0x0a, 0x04, 0x6e,
  4883  	0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04,
  4884  	0x6e, 0x61, 0x6d, 0x65, 0x12, 0x39, 0x0a, 0x05, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x18, 0x02, 0x20,
  4885  	0x01, 0x28, 0x09, 0x42, 0x23, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x1d, 0x0a, 0x1b, 0x70, 0x75, 0x62,
  4886  	0x73, 0x75, 0x62, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63,
  4887  	0x6f, 0x6d, 0x2f, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x52, 0x05, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x12,
  4888  	0x42, 0x0a, 0x0b, 0x70, 0x75, 0x73, 0x68, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x04,
  4889  	0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75,
  4890  	0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x75, 0x73, 0x68, 0x43, 0x6f, 0x6e, 0x66,
  4891  	0x69, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0a, 0x70, 0x75, 0x73, 0x68, 0x43, 0x6f, 0x6e,
  4892  	0x66, 0x69, 0x67, 0x12, 0x4e, 0x0a, 0x0f, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f,
  4893  	0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67,
  4894  	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e,
  4895  	0x42, 0x69, 0x67, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x03,
  4896  	0xe0, 0x41, 0x01, 0x52, 0x0e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6f, 0x6e,
  4897  	0x66, 0x69, 0x67, 0x12, 0x5b, 0x0a, 0x14, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x5f, 0x73, 0x74, 0x6f,
  4898  	0x72, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x16, 0x20, 0x01, 0x28,
  4899  	0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75,
  4900  	0x62, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67,
  4901  	0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x12, 0x63, 0x6c,
  4902  	0x6f, 0x75, 0x64, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67,
  4903  	0x12, 0x35, 0x0a, 0x14, 0x61, 0x63, 0x6b, 0x5f, 0x64, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65,
  4904  	0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03,
  4905  	0xe0, 0x41, 0x01, 0x52, 0x12, 0x61, 0x63, 0x6b, 0x44, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65,
  4906  	0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x12, 0x37, 0x0a, 0x15, 0x72, 0x65, 0x74, 0x61, 0x69,
  4907  	0x6e, 0x5f, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73,
  4908  	0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x13, 0x72, 0x65, 0x74,
  4909  	0x61, 0x69, 0x6e, 0x41, 0x63, 0x6b, 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73,
  4910  	0x12, 0x5c, 0x0a, 0x1a, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x72, 0x65, 0x74, 0x65,
  4911  	0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x08,
  4912  	0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
  4913  	0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42,
  4914  	0x03, 0xe0, 0x41, 0x01, 0x52, 0x18, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x74,
  4915  	0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x47,
  4916  	0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a,
  4917  	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76,
  4918  	0x31, 0x2e, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x4c,
  4919  	0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52,
  4920  	0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x3b, 0x0a, 0x17, 0x65, 0x6e, 0x61, 0x62, 0x6c,
  4921  	0x65, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x69,
  4922  	0x6e, 0x67, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x15, 0x65,
  4923  	0x6e, 0x61, 0x62, 0x6c, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4f, 0x72, 0x64, 0x65,
  4924  	0x72, 0x69, 0x6e, 0x67, 0x12, 0x54, 0x0a, 0x11, 0x65, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69,
  4925  	0x6f, 0x6e, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32,
  4926  	0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e,
  4927  	0x76, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6c,
  4928  	0x69, 0x63, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x10, 0x65, 0x78, 0x70, 0x69, 0x72, 0x61,
  4929  	0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x1b, 0x0a, 0x06, 0x66, 0x69,
  4930  	0x6c, 0x74, 0x65, 0x72, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52,
  4931  	0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x55, 0x0a, 0x12, 0x64, 0x65, 0x61, 0x64, 0x5f,
  4932  	0x6c, 0x65, 0x74, 0x74, 0x65, 0x72, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x0d, 0x20,
  4933  	0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62,
  4934  	0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x61, 0x64, 0x4c, 0x65, 0x74, 0x74, 0x65,
  4935  	0x72, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x10, 0x64, 0x65,
  4936  	0x61, 0x64, 0x4c, 0x65, 0x74, 0x74, 0x65, 0x72, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x45,
  4937  	0x0a, 0x0c, 0x72, 0x65, 0x74, 0x72, 0x79, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x0e,
  4938  	0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75,
  4939  	0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x74, 0x72, 0x79, 0x50, 0x6f, 0x6c,
  4940  	0x69, 0x63, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0b, 0x72, 0x65, 0x74, 0x72, 0x79, 0x50,
  4941  	0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x1f, 0x0a, 0x08, 0x64, 0x65, 0x74, 0x61, 0x63, 0x68, 0x65,
  4942  	0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x08, 0x64, 0x65,
  4943  	0x74, 0x61, 0x63, 0x68, 0x65, 0x64, 0x12, 0x44, 0x0a, 0x1c, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65,
  4944  	0x5f, 0x65, 0x78, 0x61, 0x63, 0x74, 0x6c, 0x79, 0x5f, 0x6f, 0x6e, 0x63, 0x65, 0x5f, 0x64, 0x65,
  4945  	0x6c, 0x69, 0x76, 0x65, 0x72, 0x79, 0x18, 0x10, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41,
  4946  	0x01, 0x52, 0x19, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x45, 0x78, 0x61, 0x63, 0x74, 0x6c, 0x79,
  4947  	0x4f, 0x6e, 0x63, 0x65, 0x44, 0x65, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x79, 0x12, 0x67, 0x0a, 0x20,
  4948  	0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x72, 0x65,
  4949  	0x74, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
  4950  	0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
  4951  	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f,
  4952  	0x6e, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x1d, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x4d, 0x65, 0x73,
  4953  	0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x74, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x75, 0x72,
  4954  	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3f, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x13,
  4955  	0x20, 0x01, 0x28, 0x0e, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75,
  4956  	0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70,
  4957  	0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52,
  4958  	0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73,
  4959  	0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01,
  4960  	0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
  4961  	0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38,
  4962  	0x01, 0x22, 0x3e, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x15, 0x0a, 0x11, 0x53, 0x54,
  4963  	0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10,
  4964  	0x00, 0x12, 0x0a, 0x0a, 0x06, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x10, 0x01, 0x12, 0x12, 0x0a,
  4965  	0x0e, 0x52, 0x45, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10,
  4966  	0x02, 0x3a, 0x58, 0xea, 0x41, 0x55, 0x0a, 0x22, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x67,
  4967  	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x53, 0x75,
  4968  	0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2f, 0x70, 0x72, 0x6f, 0x6a,
  4969  	0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x73,
  4970  	0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x73, 0x75,
  4971  	0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x22, 0x9f, 0x01, 0x0a, 0x0b,
  4972  	0x52, 0x65, 0x74, 0x72, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x47, 0x0a, 0x0f, 0x6d,
  4973  	0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x5f, 0x62, 0x61, 0x63, 0x6b, 0x6f, 0x66, 0x66, 0x18, 0x01,
  4974  	0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
  4975  	0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42,
  4976  	0x03, 0xe0, 0x41, 0x01, 0x52, 0x0e, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x42, 0x61, 0x63,
  4977  	0x6b, 0x6f, 0x66, 0x66, 0x12, 0x47, 0x0a, 0x0f, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x5f,
  4978  	0x62, 0x61, 0x63, 0x6b, 0x6f, 0x66, 0x66, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e,
  4979  	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
  4980  	0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0e, 0x6d,
  4981  	0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x42, 0x61, 0x63, 0x6b, 0x6f, 0x66, 0x66, 0x22, 0x7c, 0x0a,
  4982  	0x10, 0x44, 0x65, 0x61, 0x64, 0x4c, 0x65, 0x74, 0x74, 0x65, 0x72, 0x50, 0x6f, 0x6c, 0x69, 0x63,
  4983  	0x79, 0x12, 0x2f, 0x0a, 0x11, 0x64, 0x65, 0x61, 0x64, 0x5f, 0x6c, 0x65, 0x74, 0x74, 0x65, 0x72,
  4984  	0x5f, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41,
  4985  	0x01, 0x52, 0x0f, 0x64, 0x65, 0x61, 0x64, 0x4c, 0x65, 0x74, 0x74, 0x65, 0x72, 0x54, 0x6f, 0x70,
  4986  	0x69, 0x63, 0x12, 0x37, 0x0a, 0x15, 0x6d, 0x61, 0x78, 0x5f, 0x64, 0x65, 0x6c, 0x69, 0x76, 0x65,
  4987  	0x72, 0x79, 0x5f, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28,
  4988  	0x05, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x13, 0x6d, 0x61, 0x78, 0x44, 0x65, 0x6c, 0x69, 0x76,
  4989  	0x65, 0x72, 0x79, 0x41, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x73, 0x22, 0x44, 0x0a, 0x10, 0x45,
  4990  	0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12,
  4991  	0x30, 0x0a, 0x03, 0x74, 0x74, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67,
  4992  	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44,
  4993  	0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x03, 0x74, 0x74,
  4994  	0x6c, 0x22, 0x93, 0x05, 0x0a, 0x0a, 0x50, 0x75, 0x73, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67,
  4995  	0x12, 0x28, 0x0a, 0x0d, 0x70, 0x75, 0x73, 0x68, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e,
  4996  	0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0c, 0x70, 0x75,
  4997  	0x73, 0x68, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x51, 0x0a, 0x0a, 0x61, 0x74,
  4998  	0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c,
  4999  	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76,
  5000  	0x31, 0x2e, 0x50, 0x75, 0x73, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x41, 0x74, 0x74,
  5001  	0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x42, 0x03, 0xe0, 0x41,
  5002  	0x01, 0x52, 0x0a, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x12, 0x4c, 0x0a,
  5003  	0x0a, 0x6f, 0x69, 0x64, 0x63, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28,
  5004  	0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75,
  5005  	0x62, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x75, 0x73, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e,
  5006  	0x4f, 0x69, 0x64, 0x63, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00,
  5007  	0x52, 0x09, 0x6f, 0x69, 0x64, 0x63, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x58, 0x0a, 0x0e, 0x70,
  5008  	0x75, 0x62, 0x73, 0x75, 0x62, 0x5f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x18, 0x04, 0x20,
  5009  	0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62,
  5010  	0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x75, 0x73, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69,
  5011  	0x67, 0x2e, 0x50, 0x75, 0x62, 0x73, 0x75, 0x62, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x42,
  5012  	0x03, 0xe0, 0x41, 0x01, 0x48, 0x01, 0x52, 0x0d, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x57, 0x72,
  5013  	0x61, 0x70, 0x70, 0x65, 0x72, 0x12, 0x4c, 0x0a, 0x0a, 0x6e, 0x6f, 0x5f, 0x77, 0x72, 0x61, 0x70,
  5014  	0x70, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
  5015  	0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x75, 0x73,
  5016  	0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x4e, 0x6f, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65,
  5017  	0x72, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x01, 0x52, 0x09, 0x6e, 0x6f, 0x57, 0x72, 0x61, 0x70,
  5018  	0x70, 0x65, 0x72, 0x1a, 0x65, 0x0a, 0x09, 0x4f, 0x69, 0x64, 0x63, 0x54, 0x6f, 0x6b, 0x65, 0x6e,
  5019  	0x12, 0x37, 0x0a, 0x15, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f,
  5020  	0x75, 0x6e, 0x74, 0x5f, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42,
  5021  	0x03, 0xe0, 0x41, 0x01, 0x52, 0x13, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63,
  5022  	0x6f, 0x75, 0x6e, 0x74, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x1f, 0x0a, 0x08, 0x61, 0x75, 0x64,
  5023  	0x69, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01,
  5024  	0x52, 0x08, 0x61, 0x75, 0x64, 0x69, 0x65, 0x6e, 0x63, 0x65, 0x1a, 0x0f, 0x0a, 0x0d, 0x50, 0x75,
  5025  	0x62, 0x73, 0x75, 0x62, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x1a, 0x37, 0x0a, 0x09, 0x4e,
  5026  	0x6f, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x12, 0x2a, 0x0a, 0x0e, 0x77, 0x72, 0x69, 0x74,
  5027  	0x65, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08,
  5028  	0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0d, 0x77, 0x72, 0x69, 0x74, 0x65, 0x4d, 0x65, 0x74, 0x61,
  5029  	0x64, 0x61, 0x74, 0x61, 0x1a, 0x3d, 0x0a, 0x0f, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74,
  5030  	0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01,
  5031  	0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c,
  5032  	0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a,
  5033  	0x02, 0x38, 0x01, 0x42, 0x17, 0x0a, 0x15, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63,
  5034  	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x42, 0x09, 0x0a, 0x07,
  5035  	0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x22, 0xba, 0x03, 0x0a, 0x0e, 0x42, 0x69, 0x67, 0x51,
  5036  	0x75, 0x65, 0x72, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x19, 0x0a, 0x05, 0x74, 0x61,
  5037  	0x62, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x05,
  5038  	0x74, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x2d, 0x0a, 0x10, 0x75, 0x73, 0x65, 0x5f, 0x74, 0x6f, 0x70,
  5039  	0x69, 0x63, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x42,
  5040  	0x03, 0xe0, 0x41, 0x01, 0x52, 0x0e, 0x75, 0x73, 0x65, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x53, 0x63,
  5041  	0x68, 0x65, 0x6d, 0x61, 0x12, 0x2a, 0x0a, 0x0e, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x6d, 0x65,
  5042  	0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41,
  5043  	0x01, 0x52, 0x0d, 0x77, 0x72, 0x69, 0x74, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61,
  5044  	0x12, 0x33, 0x0a, 0x13, 0x64, 0x72, 0x6f, 0x70, 0x5f, 0x75, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e,
  5045  	0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0,
  5046  	0x41, 0x01, 0x52, 0x11, 0x64, 0x72, 0x6f, 0x70, 0x55, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x46,
  5047  	0x69, 0x65, 0x6c, 0x64, 0x73, 0x12, 0x41, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x05,
  5048  	0x20, 0x01, 0x28, 0x0e, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75,
  5049  	0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x69, 0x67, 0x51, 0x75, 0x65, 0x72, 0x79,
  5050  	0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x42, 0x03, 0xe0, 0x41,
  5051  	0x03, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x2d, 0x0a, 0x10, 0x75, 0x73, 0x65, 0x5f,
  5052  	0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x18, 0x06, 0x20, 0x01,
  5053  	0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0e, 0x75, 0x73, 0x65, 0x54, 0x61, 0x62, 0x6c,
  5054  	0x65, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x22, 0x8a, 0x01, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74,
  5055  	0x65, 0x12, 0x15, 0x0a, 0x11, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45,
  5056  	0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x41, 0x43, 0x54, 0x49,
  5057  	0x56, 0x45, 0x10, 0x01, 0x12, 0x15, 0x0a, 0x11, 0x50, 0x45, 0x52, 0x4d, 0x49, 0x53, 0x53, 0x49,
  5058  	0x4f, 0x4e, 0x5f, 0x44, 0x45, 0x4e, 0x49, 0x45, 0x44, 0x10, 0x02, 0x12, 0x0d, 0x0a, 0x09, 0x4e,
  5059  	0x4f, 0x54, 0x5f, 0x46, 0x4f, 0x55, 0x4e, 0x44, 0x10, 0x03, 0x12, 0x13, 0x0a, 0x0f, 0x53, 0x43,
  5060  	0x48, 0x45, 0x4d, 0x41, 0x5f, 0x4d, 0x49, 0x53, 0x4d, 0x41, 0x54, 0x43, 0x48, 0x10, 0x04, 0x12,
  5061  	0x23, 0x0a, 0x1f, 0x49, 0x4e, 0x5f, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x49, 0x54, 0x5f, 0x4c, 0x4f,
  5062  	0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x52, 0x45, 0x53, 0x54, 0x52, 0x49, 0x43, 0x54, 0x49,
  5063  	0x4f, 0x4e, 0x10, 0x05, 0x22, 0xfa, 0x05, 0x0a, 0x12, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x53, 0x74,
  5064  	0x6f, 0x72, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1b, 0x0a, 0x06, 0x62,
  5065  	0x75, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02,
  5066  	0x52, 0x06, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x2c, 0x0a, 0x0f, 0x66, 0x69, 0x6c, 0x65,
  5067  	0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28,
  5068  	0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0e, 0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65,
  5069  	0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x2c, 0x0a, 0x0f, 0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61,
  5070  	0x6d, 0x65, 0x5f, 0x73, 0x75, 0x66, 0x66, 0x69, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42,
  5071  	0x03, 0xe0, 0x41, 0x01, 0x52, 0x0e, 0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x53, 0x75,
  5072  	0x66, 0x66, 0x69, 0x78, 0x12, 0x3d, 0x0a, 0x18, 0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65,
  5073  	0x5f, 0x64, 0x61, 0x74, 0x65, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74,
  5074  	0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x16, 0x66, 0x69, 0x6c,
  5075  	0x65, 0x6e, 0x61, 0x6d, 0x65, 0x44, 0x61, 0x74, 0x65, 0x74, 0x69, 0x6d, 0x65, 0x46, 0x6f, 0x72,
  5076  	0x6d, 0x61, 0x74, 0x12, 0x57, 0x0a, 0x0b, 0x74, 0x65, 0x78, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66,
  5077  	0x69, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
  5078  	0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6c, 0x6f, 0x75,
  5079  	0x64, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x54,
  5080  	0x65, 0x78, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00,
  5081  	0x52, 0x0a, 0x74, 0x65, 0x78, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x57, 0x0a, 0x0b,
  5082  	0x61, 0x76, 0x72, 0x6f, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28,
  5083  	0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75,
  5084  	0x62, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67,
  5085  	0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x41, 0x76, 0x72, 0x6f, 0x43, 0x6f, 0x6e, 0x66,
  5086  	0x69, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x0a, 0x61, 0x76, 0x72, 0x6f, 0x43,
  5087  	0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x41, 0x0a, 0x0c, 0x6d, 0x61, 0x78, 0x5f, 0x64, 0x75, 0x72,
  5088  	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f,
  5089  	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75,
  5090  	0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0b, 0x6d, 0x61, 0x78,
  5091  	0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x20, 0x0a, 0x09, 0x6d, 0x61, 0x78, 0x5f,
  5092  	0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x42, 0x03, 0xe0, 0x41, 0x01,
  5093  	0x52, 0x08, 0x6d, 0x61, 0x78, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x45, 0x0a, 0x05, 0x73, 0x74,
  5094  	0x61, 0x74, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
  5095  	0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6c, 0x6f,
  5096  	0x75, 0x64, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e,
  5097  	0x53, 0x74, 0x61, 0x74, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74,
  5098  	0x65, 0x1a, 0x0c, 0x0a, 0x0a, 0x54, 0x65, 0x78, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x1a,
  5099  	0x38, 0x0a, 0x0a, 0x41, 0x76, 0x72, 0x6f, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x2a, 0x0a,
  5100  	0x0e, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18,
  5101  	0x01, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0d, 0x77, 0x72, 0x69, 0x74,
  5102  	0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0x75, 0x0a, 0x05, 0x53, 0x74, 0x61,
  5103  	0x74, 0x65, 0x12, 0x15, 0x0a, 0x11, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50,
  5104  	0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x41, 0x43, 0x54,
  5105  	0x49, 0x56, 0x45, 0x10, 0x01, 0x12, 0x15, 0x0a, 0x11, 0x50, 0x45, 0x52, 0x4d, 0x49, 0x53, 0x53,
  5106  	0x49, 0x4f, 0x4e, 0x5f, 0x44, 0x45, 0x4e, 0x49, 0x45, 0x44, 0x10, 0x02, 0x12, 0x0d, 0x0a, 0x09,
  5107  	0x4e, 0x4f, 0x54, 0x5f, 0x46, 0x4f, 0x55, 0x4e, 0x44, 0x10, 0x03, 0x12, 0x23, 0x0a, 0x1f, 0x49,
  5108  	0x4e, 0x5f, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x49, 0x54, 0x5f, 0x4c, 0x4f, 0x43, 0x41, 0x54, 0x49,
  5109  	0x4f, 0x4e, 0x5f, 0x52, 0x45, 0x53, 0x54, 0x52, 0x49, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x04,
  5110  	0x42, 0x0f, 0x0a, 0x0d, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x61,
  5111  	0x74, 0x22, 0x9d, 0x01, 0x0a, 0x0f, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x4d, 0x65,
  5112  	0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x06, 0x61, 0x63, 0x6b, 0x5f, 0x69, 0x64, 0x18,
  5113  	0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x05, 0x61, 0x63, 0x6b, 0x49,
  5114  	0x64, 0x12, 0x3e, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01,
  5115  	0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73,
  5116  	0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x75, 0x62, 0x73, 0x75, 0x62, 0x4d, 0x65, 0x73, 0x73,
  5117  	0x61, 0x67, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67,
  5118  	0x65, 0x12, 0x2e, 0x0a, 0x10, 0x64, 0x65, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x79, 0x5f, 0x61, 0x74,
  5119  	0x74, 0x65, 0x6d, 0x70, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x01,
  5120  	0x52, 0x0f, 0x64, 0x65, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x79, 0x41, 0x74, 0x74, 0x65, 0x6d, 0x70,
  5121  	0x74, 0x22, 0x68, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70,
  5122  	0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4e, 0x0a, 0x0c, 0x73,
  5123  	0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28,
  5124  	0x09, 0x42, 0x2a, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x24, 0x0a, 0x22, 0x70, 0x75, 0x62, 0x73, 0x75,
  5125  	0x62, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d,
  5126  	0x2f, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x73,
  5127  	0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xa6, 0x01, 0x0a, 0x19,
  5128  	0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69,
  5129  	0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x47, 0x0a, 0x0c, 0x73, 0x75, 0x62,
  5130  	0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
  5131  	0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e,
  5132  	0x76, 0x31, 0x2e, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42,
  5133  	0x03, 0xe0, 0x41, 0x02, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69,
  5134  	0x6f, 0x6e, 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73,
  5135  	0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
  5136  	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d,
  5137  	0x61, 0x73, 0x6b, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65,
  5138  	0x4d, 0x61, 0x73, 0x6b, 0x22, 0xaf, 0x01, 0x0a, 0x18, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x75, 0x62,
  5139  	0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
  5140  	0x74, 0x12, 0x4d, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01,
  5141  	0x28, 0x09, 0x42, 0x33, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2d, 0x0a, 0x2b, 0x63, 0x6c, 0x6f, 0x75,
  5142  	0x64, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72,
  5143  	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f,
  5144  	0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74,
  5145  	0x12, 0x20, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20,
  5146  	0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69,
  5147  	0x7a, 0x65, 0x12, 0x22, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e,
  5148  	0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x70, 0x61, 0x67,
  5149  	0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x93, 0x01, 0x0a, 0x19, 0x4c, 0x69, 0x73, 0x74, 0x53,
  5150  	0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70,
  5151  	0x6f, 0x6e, 0x73, 0x65, 0x12, 0x49, 0x0a, 0x0d, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70,
  5152  	0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x6f,
  5153  	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x53,
  5154  	0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x01,
  5155  	0x52, 0x0d, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12,
  5156  	0x2b, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b,
  5157  	0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0d, 0x6e,
  5158  	0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x6b, 0x0a, 0x19,
  5159  	0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69,
  5160  	0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4e, 0x0a, 0x0c, 0x73, 0x75, 0x62,
  5161  	0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42,
  5162  	0x2a, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x24, 0x0a, 0x22, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e,
  5163  	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x53,
  5164  	0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x73, 0x75, 0x62,
  5165  	0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xad, 0x01, 0x0a, 0x17, 0x4d, 0x6f,
  5166  	0x64, 0x69, 0x66, 0x79, 0x50, 0x75, 0x73, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65,
  5167  	0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4e, 0x0a, 0x0c, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69,
  5168  	0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2a, 0xe0, 0x41, 0x02,
  5169  	0xfa, 0x41, 0x24, 0x0a, 0x22, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
  5170  	0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x53, 0x75, 0x62, 0x73, 0x63,
  5171  	0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69,
  5172  	0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x42, 0x0a, 0x0b, 0x70, 0x75, 0x73, 0x68, 0x5f, 0x63, 0x6f,
  5173  	0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f,
  5174  	0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x75,
  5175  	0x73, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x70,
  5176  	0x75, 0x73, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0xbb, 0x01, 0x0a, 0x0b, 0x50, 0x75,
  5177  	0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4e, 0x0a, 0x0c, 0x73, 0x75, 0x62,
  5178  	0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42,
  5179  	0x2a, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x24, 0x0a, 0x22, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e,
  5180  	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x53,
  5181  	0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x73, 0x75, 0x62,
  5182  	0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x34, 0x0a, 0x12, 0x72, 0x65, 0x74,
  5183  	0x75, 0x72, 0x6e, 0x5f, 0x69, 0x6d, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x65, 0x6c, 0x79, 0x18,
  5184  	0x02, 0x20, 0x01, 0x28, 0x08, 0x42, 0x05, 0xe0, 0x41, 0x01, 0x18, 0x01, 0x52, 0x11, 0x72, 0x65,
  5185  	0x74, 0x75, 0x72, 0x6e, 0x49, 0x6d, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x65, 0x6c, 0x79, 0x12,
  5186  	0x26, 0x0a, 0x0c, 0x6d, 0x61, 0x78, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x18,
  5187  	0x03, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x6d, 0x61, 0x78, 0x4d,
  5188  	0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x22, 0x63, 0x0a, 0x0c, 0x50, 0x75, 0x6c, 0x6c, 0x52,
  5189  	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x53, 0x0a, 0x11, 0x72, 0x65, 0x63, 0x65, 0x69,
  5190  	0x76, 0x65, 0x64, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03,
  5191  	0x28, 0x0b, 0x32, 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73,
  5192  	0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x4d, 0x65,
  5193  	0x73, 0x73, 0x61, 0x67, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x10, 0x72, 0x65, 0x63, 0x65,
  5194  	0x69, 0x76, 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x22, 0xbf, 0x01, 0x0a,
  5195  	0x18, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x41, 0x63, 0x6b, 0x44, 0x65, 0x61, 0x64, 0x6c, 0x69,
  5196  	0x6e, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4e, 0x0a, 0x0c, 0x73, 0x75, 0x62,
  5197  	0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42,
  5198  	0x2a, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x24, 0x0a, 0x22, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e,
  5199  	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x53,
  5200  	0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x73, 0x75, 0x62,
  5201  	0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x07, 0x61, 0x63, 0x6b,
  5202  	0x5f, 0x69, 0x64, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52,
  5203  	0x06, 0x61, 0x63, 0x6b, 0x49, 0x64, 0x73, 0x12, 0x35, 0x0a, 0x14, 0x61, 0x63, 0x6b, 0x5f, 0x64,
  5204  	0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18,
  5205  	0x03, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x12, 0x61, 0x63, 0x6b, 0x44,
  5206  	0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x22, 0x82,
  5207  	0x01, 0x0a, 0x12, 0x41, 0x63, 0x6b, 0x6e, 0x6f, 0x77, 0x6c, 0x65, 0x64, 0x67, 0x65, 0x52, 0x65,
  5208  	0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4e, 0x0a, 0x0c, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69,
  5209  	0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2a, 0xe0, 0x41, 0x02,
  5210  	0xfa, 0x41, 0x24, 0x0a, 0x22, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
  5211  	0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x53, 0x75, 0x62, 0x73, 0x63,
  5212  	0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69,
  5213  	0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x07, 0x61, 0x63, 0x6b, 0x5f, 0x69, 0x64, 0x73,
  5214  	0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x61, 0x63, 0x6b,
  5215  	0x49, 0x64, 0x73, 0x22, 0xdb, 0x03, 0x0a, 0x14, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e,
  5216  	0x67, 0x50, 0x75, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4e, 0x0a, 0x0c,
  5217  	0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01,
  5218  	0x28, 0x09, 0x42, 0x2a, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x24, 0x0a, 0x22, 0x70, 0x75, 0x62, 0x73,
  5219  	0x75, 0x62, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f,
  5220  	0x6d, 0x2f, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c,
  5221  	0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x07,
  5222  	0x61, 0x63, 0x6b, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0,
  5223  	0x41, 0x01, 0x52, 0x06, 0x61, 0x63, 0x6b, 0x49, 0x64, 0x73, 0x12, 0x3b, 0x0a, 0x17, 0x6d, 0x6f,
  5224  	0x64, 0x69, 0x66, 0x79, 0x5f, 0x64, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x73, 0x65,
  5225  	0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x01,
  5226  	0x52, 0x15, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x44, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65,
  5227  	0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x12, 0x3a, 0x0a, 0x17, 0x6d, 0x6f, 0x64, 0x69, 0x66,
  5228  	0x79, 0x5f, 0x64, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x61, 0x63, 0x6b, 0x5f, 0x69,
  5229  	0x64, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x14, 0x6d,
  5230  	0x6f, 0x64, 0x69, 0x66, 0x79, 0x44, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x41, 0x63, 0x6b,
  5231  	0x49, 0x64, 0x73, 0x12, 0x42, 0x0a, 0x1b, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x61, 0x63,
  5232  	0x6b, 0x5f, 0x64, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e,
  5233  	0x64, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x18, 0x73,
  5234  	0x74, 0x72, 0x65, 0x61, 0x6d, 0x41, 0x63, 0x6b, 0x44, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65,
  5235  	0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x12, 0x20, 0x0a, 0x09, 0x63, 0x6c, 0x69, 0x65, 0x6e,
  5236  	0x74, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52,
  5237  	0x08, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x3d, 0x0a, 0x18, 0x6d, 0x61, 0x78,
  5238  	0x5f, 0x6f, 0x75, 0x74, 0x73, 0x74, 0x61, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x6d, 0x65, 0x73,
  5239  	0x73, 0x61, 0x67, 0x65, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x42, 0x03, 0xe0, 0x41, 0x01,
  5240  	0x52, 0x16, 0x6d, 0x61, 0x78, 0x4f, 0x75, 0x74, 0x73, 0x74, 0x61, 0x6e, 0x64, 0x69, 0x6e, 0x67,
  5241  	0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x12, 0x37, 0x0a, 0x15, 0x6d, 0x61, 0x78, 0x5f,
  5242  	0x6f, 0x75, 0x74, 0x73, 0x74, 0x61, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x62, 0x79, 0x74, 0x65,
  5243  	0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x13, 0x6d, 0x61,
  5244  	0x78, 0x4f, 0x75, 0x74, 0x73, 0x74, 0x61, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x42, 0x79, 0x74, 0x65,
  5245  	0x73, 0x22, 0xa4, 0x08, 0x0a, 0x15, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x50,
  5246  	0x75, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x53, 0x0a, 0x11, 0x72,
  5247  	0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73,
  5248  	0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
  5249  	0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76,
  5250  	0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x10,
  5251  	0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73,
  5252  	0x12, 0x7f, 0x0a, 0x18, 0x61, 0x63, 0x6b, 0x6e, 0x6f, 0x77, 0x6c, 0x65, 0x64, 0x67, 0x65, 0x5f,
  5253  	0x63, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01,
  5254  	0x28, 0x0b, 0x32, 0x3f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73,
  5255  	0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x50,
  5256  	0x75, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x41, 0x63, 0x6b, 0x6e,
  5257  	0x6f, 0x77, 0x6c, 0x65, 0x64, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x61, 0x74,
  5258  	0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x17, 0x61, 0x63, 0x6b, 0x6e, 0x6f, 0x77,
  5259  	0x6c, 0x65, 0x64, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f,
  5260  	0x6e, 0x12, 0x93, 0x01, 0x0a, 0x20, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x5f, 0x61, 0x63, 0x6b,
  5261  	0x5f, 0x64, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x72,
  5262  	0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x45, 0x2e, 0x67,
  5263  	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e,
  5264  	0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x50, 0x75, 0x6c, 0x6c, 0x52, 0x65, 0x73,
  5265  	0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x41, 0x63, 0x6b, 0x44,
  5266  	0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x61, 0x74,
  5267  	0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x1d, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x79,
  5268  	0x41, 0x63, 0x6b, 0x44, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69,
  5269  	0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x7c, 0x0a, 0x17, 0x73, 0x75, 0x62, 0x73, 0x63,
  5270  	0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69,
  5271  	0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
  5272  	0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x72, 0x65,
  5273  	0x61, 0x6d, 0x69, 0x6e, 0x67, 0x50, 0x75, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
  5274  	0x65, 0x2e, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72,
  5275  	0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x16, 0x73,
  5276  	0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x70, 0x65,
  5277  	0x72, 0x74, 0x69, 0x65, 0x73, 0x1a, 0xd3, 0x01, 0x0a, 0x17, 0x41, 0x63, 0x6b, 0x6e, 0x6f, 0x77,
  5278  	0x6c, 0x65, 0x64, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f,
  5279  	0x6e, 0x12, 0x1c, 0x0a, 0x07, 0x61, 0x63, 0x6b, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03,
  5280  	0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x06, 0x61, 0x63, 0x6b, 0x49, 0x64, 0x73, 0x12,
  5281  	0x2b, 0x0a, 0x0f, 0x69, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x5f, 0x61, 0x63, 0x6b, 0x5f, 0x69,
  5282  	0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0d, 0x69,
  5283  	0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x41, 0x63, 0x6b, 0x49, 0x64, 0x73, 0x12, 0x2f, 0x0a, 0x11,
  5284  	0x75, 0x6e, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x65, 0x64, 0x5f, 0x61, 0x63, 0x6b, 0x5f, 0x69, 0x64,
  5285  	0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0f, 0x75, 0x6e,
  5286  	0x6f, 0x72, 0x64, 0x65, 0x72, 0x65, 0x64, 0x41, 0x63, 0x6b, 0x49, 0x64, 0x73, 0x12, 0x3c, 0x0a,
  5287  	0x18, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x72, 0x79, 0x5f, 0x66, 0x61, 0x69, 0x6c, 0x65,
  5288  	0x64, 0x5f, 0x61, 0x63, 0x6b, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x42,
  5289  	0x03, 0xe0, 0x41, 0x01, 0x52, 0x15, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x72, 0x79, 0x46,
  5290  	0x61, 0x69, 0x6c, 0x65, 0x64, 0x41, 0x63, 0x6b, 0x49, 0x64, 0x73, 0x1a, 0xa8, 0x01, 0x0a, 0x1d,
  5291  	0x4d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x41, 0x63, 0x6b, 0x44, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e,
  5292  	0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a,
  5293  	0x07, 0x61, 0x63, 0x6b, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03,
  5294  	0xe0, 0x41, 0x01, 0x52, 0x06, 0x61, 0x63, 0x6b, 0x49, 0x64, 0x73, 0x12, 0x2b, 0x0a, 0x0f, 0x69,
  5295  	0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x5f, 0x61, 0x63, 0x6b, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x02,
  5296  	0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0d, 0x69, 0x6e, 0x76, 0x61, 0x6c,
  5297  	0x69, 0x64, 0x41, 0x63, 0x6b, 0x49, 0x64, 0x73, 0x12, 0x3c, 0x0a, 0x18, 0x74, 0x65, 0x6d, 0x70,
  5298  	0x6f, 0x72, 0x61, 0x72, 0x79, 0x5f, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x5f, 0x61, 0x63, 0x6b,
  5299  	0x5f, 0x69, 0x64, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52,
  5300  	0x15, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x72, 0x79, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64,
  5301  	0x41, 0x63, 0x6b, 0x49, 0x64, 0x73, 0x1a, 0x9f, 0x01, 0x0a, 0x16, 0x53, 0x75, 0x62, 0x73, 0x63,
  5302  	0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65,
  5303  	0x73, 0x12, 0x46, 0x0a, 0x1d, 0x65, 0x78, 0x61, 0x63, 0x74, 0x6c, 0x79, 0x5f, 0x6f, 0x6e, 0x63,
  5304  	0x65, 0x5f, 0x64, 0x65, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x79, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c,
  5305  	0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x1a, 0x65,
  5306  	0x78, 0x61, 0x63, 0x74, 0x6c, 0x79, 0x4f, 0x6e, 0x63, 0x65, 0x44, 0x65, 0x6c, 0x69, 0x76, 0x65,
  5307  	0x72, 0x79, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x3d, 0x0a, 0x18, 0x6d, 0x65, 0x73,
  5308  	0x73, 0x61, 0x67, 0x65, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x65, 0x6e,
  5309  	0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01,
  5310  	0x52, 0x16, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x69, 0x6e,
  5311  	0x67, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x22, 0xb0, 0x02, 0x0a, 0x15, 0x43, 0x72, 0x65,
  5312  	0x61, 0x74, 0x65, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65,
  5313  	0x73, 0x74, 0x12, 0x3a, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
  5314  	0x42, 0x26, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x20, 0x0a, 0x1e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62,
  5315  	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f,
  5316  	0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x4e,
  5317  	0x0a, 0x0c, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02,
  5318  	0x20, 0x01, 0x28, 0x09, 0x42, 0x2a, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x24, 0x0a, 0x22, 0x70, 0x75,
  5319  	0x62, 0x73, 0x75, 0x62, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e,
  5320  	0x63, 0x6f, 0x6d, 0x2f, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e,
  5321  	0x52, 0x0c, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x50,
  5322  	0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x33,
  5323  	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76,
  5324  	0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74,
  5325  	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e,
  5326  	0x74, 0x72, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73,
  5327  	0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12,
  5328  	0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65,
  5329  	0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
  5330  	0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x96, 0x01, 0x0a, 0x15,
  5331  	0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, 0x65,
  5332  	0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3b, 0x0a, 0x08, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f,
  5333  	0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
  5334  	0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x6e, 0x61, 0x70, 0x73,
  5335  	0x68, 0x6f, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68,
  5336  	0x6f, 0x74, 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73,
  5337  	0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
  5338  	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d,
  5339  	0x61, 0x73, 0x6b, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65,
  5340  	0x4d, 0x61, 0x73, 0x6b, 0x22, 0xee, 0x02, 0x0a, 0x08, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f,
  5341  	0x74, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42,
  5342  	0x03, 0xe0, 0x41, 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x39, 0x0a, 0x05, 0x74, 0x6f,
  5343  	0x70, 0x69, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x23, 0xe0, 0x41, 0x01, 0xfa, 0x41,
  5344  	0x1d, 0x0a, 0x1b, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
  5345  	0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x52, 0x05,
  5346  	0x74, 0x6f, 0x70, 0x69, 0x63, 0x12, 0x40, 0x0a, 0x0b, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x5f,
  5347  	0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f,
  5348  	0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d,
  5349  	0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0a, 0x65, 0x78, 0x70,
  5350  	0x69, 0x72, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x43, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c,
  5351  	0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
  5352  	0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x6e, 0x61, 0x70, 0x73,
  5353  	0x68, 0x6f, 0x74, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x42,
  5354  	0x03, 0xe0, 0x41, 0x01, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x1a, 0x39, 0x0a, 0x0b,
  5355  	0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b,
  5356  	0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a,
  5357  	0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61,
  5358  	0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x3a, 0x4c, 0xea, 0x41, 0x49, 0x0a, 0x1e, 0x70, 0x75,
  5359  	0x62, 0x73, 0x75, 0x62, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e,
  5360  	0x63, 0x6f, 0x6d, 0x2f, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x12, 0x27, 0x70, 0x72,
  5361  	0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d,
  5362  	0x2f, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x73, 0x2f, 0x7b, 0x73, 0x6e, 0x61, 0x70,
  5363  	0x73, 0x68, 0x6f, 0x74, 0x7d, 0x22, 0x58, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x53, 0x6e, 0x61, 0x70,
  5364  	0x73, 0x68, 0x6f, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x42, 0x0a, 0x08, 0x73,
  5365  	0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x26, 0xe0,
  5366  	0x41, 0x02, 0xfa, 0x41, 0x20, 0x0a, 0x1e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x67, 0x6f,
  5367  	0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x53, 0x6e, 0x61,
  5368  	0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, 0x08, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x22,
  5369  	0xab, 0x01, 0x0a, 0x14, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74,
  5370  	0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4d, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a,
  5371  	0x65, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x33, 0xe0, 0x41, 0x02, 0xfa, 0x41,
  5372  	0x2d, 0x0a, 0x2b, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65,
  5373  	0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70,
  5374  	0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07,
  5375  	0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x20, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f,
  5376  	0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52,
  5377  	0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x22, 0x0a, 0x0a, 0x70, 0x61, 0x67,
  5378  	0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0,
  5379  	0x41, 0x01, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x83, 0x01,
  5380  	0x0a, 0x15, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x73, 0x52,
  5381  	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3d, 0x0a, 0x09, 0x73, 0x6e, 0x61, 0x70, 0x73,
  5382  	0x68, 0x6f, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f,
  5383  	0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x6e,
  5384  	0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x73, 0x6e, 0x61,
  5385  	0x70, 0x73, 0x68, 0x6f, 0x74, 0x73, 0x12, 0x2b, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70,
  5386  	0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42,
  5387  	0x03, 0xe0, 0x41, 0x01, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f,
  5388  	0x6b, 0x65, 0x6e, 0x22, 0x5b, 0x0a, 0x15, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x6e, 0x61,
  5389  	0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x42, 0x0a, 0x08,
  5390  	0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x26,
  5391  	0xe0, 0x41, 0x02, 0xfa, 0x41, 0x20, 0x0a, 0x1e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x67,
  5392  	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x53, 0x6e,
  5393  	0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, 0x08, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74,
  5394  	0x22, 0xe4, 0x01, 0x0a, 0x0b, 0x53, 0x65, 0x65, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
  5395  	0x12, 0x4e, 0x0a, 0x0c, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e,
  5396  	0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2a, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x24, 0x0a, 0x22,
  5397  	0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69,
  5398  	0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69,
  5399  	0x6f, 0x6e, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e,
  5400  	0x12, 0x35, 0x0a, 0x04, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a,
  5401  	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
  5402  	0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48,
  5403  	0x00, 0x52, 0x04, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x44, 0x0a, 0x08, 0x73, 0x6e, 0x61, 0x70, 0x73,
  5404  	0x68, 0x6f, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x26, 0xe0, 0x41, 0x01, 0xfa, 0x41,
  5405  	0x20, 0x0a, 0x1e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
  5406  	0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f,
  5407  	0x74, 0x48, 0x00, 0x52, 0x08, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x42, 0x08, 0x0a,
  5408  	0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x22, 0x0e, 0x0a, 0x0c, 0x53, 0x65, 0x65, 0x6b, 0x52,
  5409  	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x32, 0xb8, 0x0b, 0x0a, 0x09, 0x50, 0x75, 0x62, 0x6c,
  5410  	0x69, 0x73, 0x68, 0x65, 0x72, 0x12, 0x71, 0x0a, 0x0b, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54,
  5411  	0x6f, 0x70, 0x69, 0x63, 0x12, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75,
  5412  	0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x1a, 0x17, 0x2e,
  5413  	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31,
  5414  	0x2e, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x22, 0x30, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82,
  5415  	0xd3, 0xe4, 0x93, 0x02, 0x23, 0x3a, 0x01, 0x2a, 0x1a, 0x1e, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e,
  5416  	0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x74,
  5417  	0x6f, 0x70, 0x69, 0x63, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0x91, 0x01, 0x0a, 0x0b, 0x55, 0x70, 0x64,
  5418  	0x61, 0x74, 0x65, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x12, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
  5419  	0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61,
  5420  	0x74, 0x65, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17,
  5421  	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76,
  5422  	0x31, 0x2e, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x22, 0x43, 0xda, 0x41, 0x11, 0x74, 0x6f, 0x70, 0x69,
  5423  	0x63, 0x2c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x82, 0xd3, 0xe4,
  5424  	0x93, 0x02, 0x29, 0x3a, 0x01, 0x2a, 0x32, 0x24, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x74, 0x6f, 0x70,
  5425  	0x69, 0x63, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73,
  5426  	0x2f, 0x2a, 0x2f, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0x93, 0x01, 0x0a,
  5427  	0x07, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x12, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
  5428  	0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x75, 0x62, 0x6c,
  5429  	0x69, 0x73, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x67, 0x6f, 0x6f,
  5430  	0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x75,
  5431  	0x62, 0x6c, 0x69, 0x73, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x43, 0xda,
  5432  	0x41, 0x0e, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x2c, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73,
  5433  	0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2c, 0x3a, 0x01, 0x2a, 0x22, 0x27, 0x2f, 0x76, 0x31, 0x2f, 0x7b,
  5434  	0x74, 0x6f, 0x70, 0x69, 0x63, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a,
  5435  	0x2f, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x70, 0x75, 0x62, 0x6c, 0x69,
  5436  	0x73, 0x68, 0x12, 0x77, 0x0a, 0x08, 0x47, 0x65, 0x74, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x12, 0x21,
  5437  	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76,
  5438  	0x31, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
  5439  	0x74, 0x1a, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75,
  5440  	0x62, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x22, 0x2f, 0xda, 0x41, 0x05, 0x74,
  5441  	0x6f, 0x70, 0x69, 0x63, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x21, 0x12, 0x1f, 0x2f, 0x76, 0x31, 0x2f,
  5442  	0x7b, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f,
  5443  	0x2a, 0x2f, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0x8a, 0x01, 0x0a, 0x0a,
  5444  	0x4c, 0x69, 0x73, 0x74, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x73, 0x12, 0x23, 0x2e, 0x67, 0x6f, 0x6f,
  5445  	0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69,
  5446  	0x73, 0x74, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
  5447  	0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e,
  5448  	0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x73, 0x52, 0x65, 0x73,
  5449  	0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x31, 0xda, 0x41, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63,
  5450  	0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x21, 0x12, 0x1f, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x72,
  5451  	0x6f, 0x6a, 0x65, 0x63, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a,
  5452  	0x7d, 0x2f, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x73, 0x12, 0xba, 0x01, 0x0a, 0x16, 0x4c, 0x69, 0x73,
  5453  	0x74, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69,
  5454  	0x6f, 0x6e, 0x73, 0x12, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62,
  5455  	0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x6f, 0x70, 0x69, 0x63,
  5456  	0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71,
  5457  	0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75,
  5458  	0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x6f, 0x70, 0x69,
  5459  	0x63, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65,
  5460  	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3d, 0xda, 0x41, 0x05, 0x74, 0x6f, 0x70, 0x69, 0x63,
  5461  	0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2f, 0x12, 0x2d, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x74, 0x6f, 0x70,
  5462  	0x69, 0x63, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x74, 0x6f,
  5463  	0x70, 0x69, 0x63, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70,
  5464  	0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0xaa, 0x01, 0x0a, 0x12, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x6f,
  5465  	0x70, 0x69, 0x63, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x73, 0x12, 0x2b, 0x2e, 0x67,
  5466  	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e,
  5467  	0x4c, 0x69, 0x73, 0x74, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f,
  5468  	0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
  5469  	0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73,
  5470  	0x74, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x73, 0x52,
  5471  	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x39, 0xda, 0x41, 0x05, 0x74, 0x6f, 0x70, 0x69,
  5472  	0x63, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2b, 0x12, 0x29, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x74, 0x6f,
  5473  	0x70, 0x69, 0x63, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x74,
  5474  	0x6f, 0x70, 0x69, 0x63, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f,
  5475  	0x74, 0x73, 0x12, 0x7c, 0x0a, 0x0b, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x6f, 0x70, 0x69,
  5476  	0x63, 0x12, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75,
  5477  	0x62, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x6f, 0x70, 0x69, 0x63,
  5478  	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
  5479  	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22,
  5480  	0x2f, 0xda, 0x41, 0x05, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x21, 0x2a,
  5481  	0x1f, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x3d, 0x70, 0x72, 0x6f, 0x6a,
  5482  	0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x73, 0x2f, 0x2a, 0x7d,
  5483  	0x12, 0xad, 0x01, 0x0a, 0x12, 0x44, 0x65, 0x74, 0x61, 0x63, 0x68, 0x53, 0x75, 0x62, 0x73, 0x63,
  5484  	0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
  5485  	0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x74, 0x61, 0x63,
  5486  	0x68, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71,
  5487  	0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75,
  5488  	0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x74, 0x61, 0x63, 0x68, 0x53, 0x75,
  5489  	0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
  5490  	0x73, 0x65, 0x22, 0x3c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x36, 0x22, 0x34, 0x2f, 0x76, 0x31, 0x2f,
  5491  	0x7b, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x3d, 0x70, 0x72,
  5492  	0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69,
  5493  	0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x64, 0x65, 0x74, 0x61, 0x63, 0x68,
  5494  	0x1a, 0x70, 0xca, 0x41, 0x15, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
  5495  	0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41, 0x55, 0x68, 0x74, 0x74,
  5496  	0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61,
  5497  	0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f,
  5498  	0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2c, 0x68, 0x74, 0x74, 0x70,
  5499  	0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70,
  5500  	0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x70, 0x75, 0x62, 0x73,
  5501  	0x75, 0x62, 0x32, 0xd2, 0x15, 0x0a, 0x0a, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65,
  5502  	0x72, 0x12, 0xb4, 0x01, 0x0a, 0x12, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x75, 0x62, 0x73,
  5503  	0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
  5504  	0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x75, 0x62, 0x73,
  5505  	0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
  5506  	0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x75, 0x62, 0x73,
  5507  	0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x5e, 0xda, 0x41, 0x2b, 0x6e, 0x61, 0x6d,
  5508  	0x65, 0x2c, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x2c, 0x70, 0x75, 0x73, 0x68, 0x5f, 0x63, 0x6f, 0x6e,
  5509  	0x66, 0x69, 0x67, 0x2c, 0x61, 0x63, 0x6b, 0x5f, 0x64, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65,
  5510  	0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2a, 0x3a, 0x01,
  5511  	0x2a, 0x1a, 0x25, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f,
  5512  	0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70,
  5513  	0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xa1, 0x01, 0x0a, 0x0f, 0x47, 0x65, 0x74,
  5514  	0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x28, 0x2e, 0x67,
  5515  	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e,
  5516  	0x47, 0x65, 0x74, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52,
  5517  	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
  5518  	0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72,
  5519  	0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x44, 0xda, 0x41, 0x0c, 0x73, 0x75, 0x62, 0x73, 0x63,
  5520  	0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2f, 0x12, 0x2d, 0x2f,
  5521  	0x76, 0x31, 0x2f, 0x7b, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e,
  5522  	0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x75, 0x62, 0x73,
  5523  	0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xbb, 0x01, 0x0a,
  5524  	0x12, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74,
  5525  	0x69, 0x6f, 0x6e, 0x12, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62,
  5526  	0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x75, 0x62,
  5527  	0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
  5528  	0x1a, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62,
  5529  	0x2e, 0x76, 0x31, 0x2e, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e,
  5530  	0x22, 0x58, 0xda, 0x41, 0x18, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f,
  5531  	0x6e, 0x2c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x82, 0xd3, 0xe4,
  5532  	0x93, 0x02, 0x37, 0x3a, 0x01, 0x2a, 0x32, 0x32, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x73, 0x75, 0x62,
  5533  	0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70,
  5534  	0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72,
  5535  	0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xa6, 0x01, 0x0a, 0x11, 0x4c,
  5536  	0x69, 0x73, 0x74, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73,
  5537  	0x12, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62,
  5538  	0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70,
  5539  	0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x67,
  5540  	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e,
  5541  	0x4c, 0x69, 0x73, 0x74, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e,
  5542  	0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x38, 0xda, 0x41, 0x07, 0x70, 0x72,
  5543  	0x6f, 0x6a, 0x65, 0x63, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x28, 0x12, 0x26, 0x2f, 0x76, 0x31,
  5544  	0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63,
  5545  	0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69,
  5546  	0x6f, 0x6e, 0x73, 0x12, 0x9f, 0x01, 0x0a, 0x12, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x75,
  5547  	0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2b, 0x2e, 0x67, 0x6f, 0x6f,
  5548  	0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65,
  5549  	0x6c, 0x65, 0x74, 0x65, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e,
  5550  	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
  5551  	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22,
  5552  	0x44, 0xda, 0x41, 0x0c, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e,
  5553  	0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2f, 0x2a, 0x2d, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x73, 0x75, 0x62,
  5554  	0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63,
  5555  	0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f,
  5556  	0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xcf, 0x01, 0x0a, 0x11, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x79,
  5557  	0x41, 0x63, 0x6b, 0x44, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x2a, 0x2e, 0x67, 0x6f,
  5558  	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x4d,
  5559  	0x6f, 0x64, 0x69, 0x66, 0x79, 0x41, 0x63, 0x6b, 0x44, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65,
  5560  	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
  5561  	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22,
  5562  	0x76, 0xda, 0x41, 0x29, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e,
  5563  	0x2c, 0x61, 0x63, 0x6b, 0x5f, 0x69, 0x64, 0x73, 0x2c, 0x61, 0x63, 0x6b, 0x5f, 0x64, 0x65, 0x61,
  5564  	0x64, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x82, 0xd3, 0xe4,
  5565  	0x93, 0x02, 0x44, 0x3a, 0x01, 0x2a, 0x22, 0x3f, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x73, 0x75, 0x62,
  5566  	0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63,
  5567  	0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f,
  5568  	0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x41, 0x63, 0x6b, 0x44,
  5569  	0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0xa8, 0x01, 0x0a, 0x0b, 0x41, 0x63, 0x6b, 0x6e,
  5570  	0x6f, 0x77, 0x6c, 0x65, 0x64, 0x67, 0x65, 0x12, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
  5571  	0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x63, 0x6b, 0x6e, 0x6f,
  5572  	0x77, 0x6c, 0x65, 0x64, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e,
  5573  	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
  5574  	0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x5b, 0xda, 0x41, 0x14, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72,
  5575  	0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x2c, 0x61, 0x63, 0x6b, 0x5f, 0x69, 0x64, 0x73, 0x82, 0xd3,
  5576  	0xe4, 0x93, 0x02, 0x3e, 0x3a, 0x01, 0x2a, 0x22, 0x39, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x73, 0x75,
  5577  	0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65,
  5578  	0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69,
  5579  	0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x61, 0x63, 0x6b, 0x6e, 0x6f, 0x77, 0x6c, 0x65, 0x64,
  5580  	0x67, 0x65, 0x12, 0xd0, 0x01, 0x0a, 0x04, 0x50, 0x75, 0x6c, 0x6c, 0x12, 0x1d, 0x2e, 0x67, 0x6f,
  5581  	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x50,
  5582  	0x75, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x67, 0x6f, 0x6f,
  5583  	0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x75,
  5584  	0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x88, 0x01, 0xda, 0x41, 0x2c,
  5585  	0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x2c, 0x72, 0x65, 0x74,
  5586  	0x75, 0x72, 0x6e, 0x5f, 0x69, 0x6d, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x65, 0x6c, 0x79, 0x2c,
  5587  	0x6d, 0x61, 0x78, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0xda, 0x41, 0x19, 0x73,
  5588  	0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x2c, 0x6d, 0x61, 0x78, 0x5f,
  5589  	0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x37, 0x3a, 0x01,
  5590  	0x2a, 0x22, 0x32, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70,
  5591  	0x74, 0x69, 0x6f, 0x6e, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f,
  5592  	0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d,
  5593  	0x3a, 0x70, 0x75, 0x6c, 0x6c, 0x12, 0x66, 0x0a, 0x0d, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69,
  5594  	0x6e, 0x67, 0x50, 0x75, 0x6c, 0x6c, 0x12, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
  5595  	0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d,
  5596  	0x69, 0x6e, 0x67, 0x50, 0x75, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27,
  5597  	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76,
  5598  	0x31, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x50, 0x75, 0x6c, 0x6c, 0x52,
  5599  	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x28, 0x01, 0x30, 0x01, 0x12, 0xbb, 0x01,
  5600  	0x0a, 0x10, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x50, 0x75, 0x73, 0x68, 0x43, 0x6f, 0x6e, 0x66,
  5601  	0x69, 0x67, 0x12, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73,
  5602  	0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x50, 0x75, 0x73, 0x68,
  5603  	0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e,
  5604  	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
  5605  	0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x64, 0xda, 0x41, 0x18, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72,
  5606  	0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x2c, 0x70, 0x75, 0x73, 0x68, 0x5f, 0x63, 0x6f, 0x6e, 0x66,
  5607  	0x69, 0x67, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x43, 0x3a, 0x01, 0x2a, 0x22, 0x3e, 0x2f, 0x76, 0x31,
  5608  	0x2f, 0x7b, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x3d, 0x70,
  5609  	0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72,
  5610  	0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x6d, 0x6f, 0x64, 0x69, 0x66,
  5611  	0x79, 0x50, 0x75, 0x73, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x89, 0x01, 0x0a, 0x0b,
  5612  	0x47, 0x65, 0x74, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x12, 0x24, 0x2e, 0x67, 0x6f,
  5613  	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x47,
  5614  	0x65, 0x74, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
  5615  	0x74, 0x1a, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75,
  5616  	0x62, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x22, 0x38, 0xda,
  5617  	0x41, 0x08, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x27,
  5618  	0x12, 0x25, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x3d,
  5619  	0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x6e, 0x61, 0x70, 0x73,
  5620  	0x68, 0x6f, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0x96, 0x01, 0x0a, 0x0d, 0x4c, 0x69, 0x73, 0x74,
  5621  	0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x73, 0x12, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
  5622  	0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73,
  5623  	0x74, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
  5624  	0x74, 0x1a, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75,
  5625  	0x62, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f,
  5626  	0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x34, 0xda, 0x41, 0x07, 0x70,
  5627  	0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x24, 0x12, 0x22, 0x2f, 0x76,
  5628  	0x31, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65,
  5629  	0x63, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x73,
  5630  	0x12, 0x97, 0x01, 0x0a, 0x0e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x6e, 0x61, 0x70, 0x73,
  5631  	0x68, 0x6f, 0x74, 0x12, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62,
  5632  	0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x6e, 0x61,
  5633  	0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x67,
  5634  	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e,
  5635  	0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x22, 0x40, 0xda, 0x41, 0x11, 0x6e, 0x61, 0x6d,
  5636  	0x65, 0x2c, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x82, 0xd3,
  5637  	0xe4, 0x93, 0x02, 0x26, 0x3a, 0x01, 0x2a, 0x1a, 0x21, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61,
  5638  	0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x6e,
  5639  	0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xa3, 0x01, 0x0a, 0x0e, 0x55,
  5640  	0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x12, 0x27, 0x2e,
  5641  	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31,
  5642  	0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x52,
  5643  	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
  5644  	0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68,
  5645  	0x6f, 0x74, 0x22, 0x4c, 0xda, 0x41, 0x14, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x2c,
  5646  	0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x82, 0xd3, 0xe4, 0x93, 0x02,
  5647  	0x2f, 0x3a, 0x01, 0x2a, 0x32, 0x2a, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x73, 0x6e, 0x61, 0x70, 0x73,
  5648  	0x68, 0x6f, 0x74, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74,
  5649  	0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x73, 0x2f, 0x2a, 0x7d,
  5650  	0x12, 0x8b, 0x01, 0x0a, 0x0e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x6e, 0x61, 0x70, 0x73,
  5651  	0x68, 0x6f, 0x74, 0x12, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62,
  5652  	0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x6e, 0x61,
  5653  	0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67,
  5654  	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45,
  5655  	0x6d, 0x70, 0x74, 0x79, 0x22, 0x38, 0xda, 0x41, 0x08, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f,
  5656  	0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x27, 0x2a, 0x25, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x73, 0x6e,
  5657  	0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f,
  5658  	0x2a, 0x2f, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0x84,
  5659  	0x01, 0x0a, 0x04, 0x53, 0x65, 0x65, 0x6b, 0x12, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
  5660  	0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x65, 0x6b, 0x52,
  5661  	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
  5662  	0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x65, 0x6b, 0x52, 0x65,
  5663  	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x37, 0x3a, 0x01,
  5664  	0x2a, 0x22, 0x32, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70,
  5665  	0x74, 0x69, 0x6f, 0x6e, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f,
  5666  	0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d,
  5667  	0x3a, 0x73, 0x65, 0x65, 0x6b, 0x1a, 0x70, 0xca, 0x41, 0x15, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62,
  5668  	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0xd2,
  5669  	0x41, 0x55, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f,
  5670  	0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74,
  5671  	0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d,
  5672  	0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f,
  5673  	0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68,
  5674  	0x2f, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x42, 0xaa, 0x01, 0x0a, 0x14, 0x63, 0x6f, 0x6d, 0x2e,
  5675  	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x76, 0x31,
  5676  	0x42, 0x0b, 0x50, 0x75, 0x62, 0x73, 0x75, 0x62, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a,
  5677  	0x32, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f,
  5678  	0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2f, 0x61, 0x70, 0x69, 0x76,
  5679  	0x31, 0x2f, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x70, 0x62, 0x3b, 0x70, 0x75, 0x62, 0x73, 0x75,
  5680  	0x62, 0x70, 0x62, 0xf8, 0x01, 0x01, 0xaa, 0x02, 0x16, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
  5681  	0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x50, 0x75, 0x62, 0x53, 0x75, 0x62, 0x2e, 0x56, 0x31, 0xca,
  5682  	0x02, 0x16, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x50,
  5683  	0x75, 0x62, 0x53, 0x75, 0x62, 0x5c, 0x56, 0x31, 0xea, 0x02, 0x19, 0x47, 0x6f, 0x6f, 0x67, 0x6c,
  5684  	0x65, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x50, 0x75, 0x62, 0x53, 0x75, 0x62,
  5685  	0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
  5686  }
  5687  
  5688  var (
  5689  	file_google_pubsub_v1_pubsub_proto_rawDescOnce sync.Once
  5690  	file_google_pubsub_v1_pubsub_proto_rawDescData = file_google_pubsub_v1_pubsub_proto_rawDesc
  5691  )
  5692  
  5693  func file_google_pubsub_v1_pubsub_proto_rawDescGZIP() []byte {
  5694  	file_google_pubsub_v1_pubsub_proto_rawDescOnce.Do(func() {
  5695  		file_google_pubsub_v1_pubsub_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_pubsub_v1_pubsub_proto_rawDescData)
  5696  	})
  5697  	return file_google_pubsub_v1_pubsub_proto_rawDescData
  5698  }
  5699  
  5700  var file_google_pubsub_v1_pubsub_proto_enumTypes = make([]protoimpl.EnumInfo, 5)
  5701  var file_google_pubsub_v1_pubsub_proto_msgTypes = make([]protoimpl.MessageInfo, 62)
  5702  var file_google_pubsub_v1_pubsub_proto_goTypes = []interface{}{
  5703  	(IngestionDataSourceSettings_AwsKinesis_State)(0), // 0: google.pubsub.v1.IngestionDataSourceSettings.AwsKinesis.State
  5704  	(Topic_State)(0),                               // 1: google.pubsub.v1.Topic.State
  5705  	(Subscription_State)(0),                        // 2: google.pubsub.v1.Subscription.State
  5706  	(BigQueryConfig_State)(0),                      // 3: google.pubsub.v1.BigQueryConfig.State
  5707  	(CloudStorageConfig_State)(0),                  // 4: google.pubsub.v1.CloudStorageConfig.State
  5708  	(*MessageStoragePolicy)(nil),                   // 5: google.pubsub.v1.MessageStoragePolicy
  5709  	(*SchemaSettings)(nil),                         // 6: google.pubsub.v1.SchemaSettings
  5710  	(*IngestionDataSourceSettings)(nil),            // 7: google.pubsub.v1.IngestionDataSourceSettings
  5711  	(*Topic)(nil),                                  // 8: google.pubsub.v1.Topic
  5712  	(*PubsubMessage)(nil),                          // 9: google.pubsub.v1.PubsubMessage
  5713  	(*GetTopicRequest)(nil),                        // 10: google.pubsub.v1.GetTopicRequest
  5714  	(*UpdateTopicRequest)(nil),                     // 11: google.pubsub.v1.UpdateTopicRequest
  5715  	(*PublishRequest)(nil),                         // 12: google.pubsub.v1.PublishRequest
  5716  	(*PublishResponse)(nil),                        // 13: google.pubsub.v1.PublishResponse
  5717  	(*ListTopicsRequest)(nil),                      // 14: google.pubsub.v1.ListTopicsRequest
  5718  	(*ListTopicsResponse)(nil),                     // 15: google.pubsub.v1.ListTopicsResponse
  5719  	(*ListTopicSubscriptionsRequest)(nil),          // 16: google.pubsub.v1.ListTopicSubscriptionsRequest
  5720  	(*ListTopicSubscriptionsResponse)(nil),         // 17: google.pubsub.v1.ListTopicSubscriptionsResponse
  5721  	(*ListTopicSnapshotsRequest)(nil),              // 18: google.pubsub.v1.ListTopicSnapshotsRequest
  5722  	(*ListTopicSnapshotsResponse)(nil),             // 19: google.pubsub.v1.ListTopicSnapshotsResponse
  5723  	(*DeleteTopicRequest)(nil),                     // 20: google.pubsub.v1.DeleteTopicRequest
  5724  	(*DetachSubscriptionRequest)(nil),              // 21: google.pubsub.v1.DetachSubscriptionRequest
  5725  	(*DetachSubscriptionResponse)(nil),             // 22: google.pubsub.v1.DetachSubscriptionResponse
  5726  	(*Subscription)(nil),                           // 23: google.pubsub.v1.Subscription
  5727  	(*RetryPolicy)(nil),                            // 24: google.pubsub.v1.RetryPolicy
  5728  	(*DeadLetterPolicy)(nil),                       // 25: google.pubsub.v1.DeadLetterPolicy
  5729  	(*ExpirationPolicy)(nil),                       // 26: google.pubsub.v1.ExpirationPolicy
  5730  	(*PushConfig)(nil),                             // 27: google.pubsub.v1.PushConfig
  5731  	(*BigQueryConfig)(nil),                         // 28: google.pubsub.v1.BigQueryConfig
  5732  	(*CloudStorageConfig)(nil),                     // 29: google.pubsub.v1.CloudStorageConfig
  5733  	(*ReceivedMessage)(nil),                        // 30: google.pubsub.v1.ReceivedMessage
  5734  	(*GetSubscriptionRequest)(nil),                 // 31: google.pubsub.v1.GetSubscriptionRequest
  5735  	(*UpdateSubscriptionRequest)(nil),              // 32: google.pubsub.v1.UpdateSubscriptionRequest
  5736  	(*ListSubscriptionsRequest)(nil),               // 33: google.pubsub.v1.ListSubscriptionsRequest
  5737  	(*ListSubscriptionsResponse)(nil),              // 34: google.pubsub.v1.ListSubscriptionsResponse
  5738  	(*DeleteSubscriptionRequest)(nil),              // 35: google.pubsub.v1.DeleteSubscriptionRequest
  5739  	(*ModifyPushConfigRequest)(nil),                // 36: google.pubsub.v1.ModifyPushConfigRequest
  5740  	(*PullRequest)(nil),                            // 37: google.pubsub.v1.PullRequest
  5741  	(*PullResponse)(nil),                           // 38: google.pubsub.v1.PullResponse
  5742  	(*ModifyAckDeadlineRequest)(nil),               // 39: google.pubsub.v1.ModifyAckDeadlineRequest
  5743  	(*AcknowledgeRequest)(nil),                     // 40: google.pubsub.v1.AcknowledgeRequest
  5744  	(*StreamingPullRequest)(nil),                   // 41: google.pubsub.v1.StreamingPullRequest
  5745  	(*StreamingPullResponse)(nil),                  // 42: google.pubsub.v1.StreamingPullResponse
  5746  	(*CreateSnapshotRequest)(nil),                  // 43: google.pubsub.v1.CreateSnapshotRequest
  5747  	(*UpdateSnapshotRequest)(nil),                  // 44: google.pubsub.v1.UpdateSnapshotRequest
  5748  	(*Snapshot)(nil),                               // 45: google.pubsub.v1.Snapshot
  5749  	(*GetSnapshotRequest)(nil),                     // 46: google.pubsub.v1.GetSnapshotRequest
  5750  	(*ListSnapshotsRequest)(nil),                   // 47: google.pubsub.v1.ListSnapshotsRequest
  5751  	(*ListSnapshotsResponse)(nil),                  // 48: google.pubsub.v1.ListSnapshotsResponse
  5752  	(*DeleteSnapshotRequest)(nil),                  // 49: google.pubsub.v1.DeleteSnapshotRequest
  5753  	(*SeekRequest)(nil),                            // 50: google.pubsub.v1.SeekRequest
  5754  	(*SeekResponse)(nil),                           // 51: google.pubsub.v1.SeekResponse
  5755  	(*IngestionDataSourceSettings_AwsKinesis)(nil), // 52: google.pubsub.v1.IngestionDataSourceSettings.AwsKinesis
  5756  	nil,                                   // 53: google.pubsub.v1.Topic.LabelsEntry
  5757  	nil,                                   // 54: google.pubsub.v1.PubsubMessage.AttributesEntry
  5758  	nil,                                   // 55: google.pubsub.v1.Subscription.LabelsEntry
  5759  	(*PushConfig_OidcToken)(nil),          // 56: google.pubsub.v1.PushConfig.OidcToken
  5760  	(*PushConfig_PubsubWrapper)(nil),      // 57: google.pubsub.v1.PushConfig.PubsubWrapper
  5761  	(*PushConfig_NoWrapper)(nil),          // 58: google.pubsub.v1.PushConfig.NoWrapper
  5762  	nil,                                   // 59: google.pubsub.v1.PushConfig.AttributesEntry
  5763  	(*CloudStorageConfig_TextConfig)(nil), // 60: google.pubsub.v1.CloudStorageConfig.TextConfig
  5764  	(*CloudStorageConfig_AvroConfig)(nil), // 61: google.pubsub.v1.CloudStorageConfig.AvroConfig
  5765  	(*StreamingPullResponse_AcknowledgeConfirmation)(nil),       // 62: google.pubsub.v1.StreamingPullResponse.AcknowledgeConfirmation
  5766  	(*StreamingPullResponse_ModifyAckDeadlineConfirmation)(nil), // 63: google.pubsub.v1.StreamingPullResponse.ModifyAckDeadlineConfirmation
  5767  	(*StreamingPullResponse_SubscriptionProperties)(nil),        // 64: google.pubsub.v1.StreamingPullResponse.SubscriptionProperties
  5768  	nil,                           // 65: google.pubsub.v1.CreateSnapshotRequest.LabelsEntry
  5769  	nil,                           // 66: google.pubsub.v1.Snapshot.LabelsEntry
  5770  	(Encoding)(0),                 // 67: google.pubsub.v1.Encoding
  5771  	(*durationpb.Duration)(nil),   // 68: google.protobuf.Duration
  5772  	(*timestamppb.Timestamp)(nil), // 69: google.protobuf.Timestamp
  5773  	(*fieldmaskpb.FieldMask)(nil), // 70: google.protobuf.FieldMask
  5774  	(*emptypb.Empty)(nil),         // 71: google.protobuf.Empty
  5775  }
  5776  var file_google_pubsub_v1_pubsub_proto_depIdxs = []int32{
  5777  	67, // 0: google.pubsub.v1.SchemaSettings.encoding:type_name -> google.pubsub.v1.Encoding
  5778  	52, // 1: google.pubsub.v1.IngestionDataSourceSettings.aws_kinesis:type_name -> google.pubsub.v1.IngestionDataSourceSettings.AwsKinesis
  5779  	53, // 2: google.pubsub.v1.Topic.labels:type_name -> google.pubsub.v1.Topic.LabelsEntry
  5780  	5,  // 3: google.pubsub.v1.Topic.message_storage_policy:type_name -> google.pubsub.v1.MessageStoragePolicy
  5781  	6,  // 4: google.pubsub.v1.Topic.schema_settings:type_name -> google.pubsub.v1.SchemaSettings
  5782  	68, // 5: google.pubsub.v1.Topic.message_retention_duration:type_name -> google.protobuf.Duration
  5783  	1,  // 6: google.pubsub.v1.Topic.state:type_name -> google.pubsub.v1.Topic.State
  5784  	7,  // 7: google.pubsub.v1.Topic.ingestion_data_source_settings:type_name -> google.pubsub.v1.IngestionDataSourceSettings
  5785  	54, // 8: google.pubsub.v1.PubsubMessage.attributes:type_name -> google.pubsub.v1.PubsubMessage.AttributesEntry
  5786  	69, // 9: google.pubsub.v1.PubsubMessage.publish_time:type_name -> google.protobuf.Timestamp
  5787  	8,  // 10: google.pubsub.v1.UpdateTopicRequest.topic:type_name -> google.pubsub.v1.Topic
  5788  	70, // 11: google.pubsub.v1.UpdateTopicRequest.update_mask:type_name -> google.protobuf.FieldMask
  5789  	9,  // 12: google.pubsub.v1.PublishRequest.messages:type_name -> google.pubsub.v1.PubsubMessage
  5790  	8,  // 13: google.pubsub.v1.ListTopicsResponse.topics:type_name -> google.pubsub.v1.Topic
  5791  	27, // 14: google.pubsub.v1.Subscription.push_config:type_name -> google.pubsub.v1.PushConfig
  5792  	28, // 15: google.pubsub.v1.Subscription.bigquery_config:type_name -> google.pubsub.v1.BigQueryConfig
  5793  	29, // 16: google.pubsub.v1.Subscription.cloud_storage_config:type_name -> google.pubsub.v1.CloudStorageConfig
  5794  	68, // 17: google.pubsub.v1.Subscription.message_retention_duration:type_name -> google.protobuf.Duration
  5795  	55, // 18: google.pubsub.v1.Subscription.labels:type_name -> google.pubsub.v1.Subscription.LabelsEntry
  5796  	26, // 19: google.pubsub.v1.Subscription.expiration_policy:type_name -> google.pubsub.v1.ExpirationPolicy
  5797  	25, // 20: google.pubsub.v1.Subscription.dead_letter_policy:type_name -> google.pubsub.v1.DeadLetterPolicy
  5798  	24, // 21: google.pubsub.v1.Subscription.retry_policy:type_name -> google.pubsub.v1.RetryPolicy
  5799  	68, // 22: google.pubsub.v1.Subscription.topic_message_retention_duration:type_name -> google.protobuf.Duration
  5800  	2,  // 23: google.pubsub.v1.Subscription.state:type_name -> google.pubsub.v1.Subscription.State
  5801  	68, // 24: google.pubsub.v1.RetryPolicy.minimum_backoff:type_name -> google.protobuf.Duration
  5802  	68, // 25: google.pubsub.v1.RetryPolicy.maximum_backoff:type_name -> google.protobuf.Duration
  5803  	68, // 26: google.pubsub.v1.ExpirationPolicy.ttl:type_name -> google.protobuf.Duration
  5804  	59, // 27: google.pubsub.v1.PushConfig.attributes:type_name -> google.pubsub.v1.PushConfig.AttributesEntry
  5805  	56, // 28: google.pubsub.v1.PushConfig.oidc_token:type_name -> google.pubsub.v1.PushConfig.OidcToken
  5806  	57, // 29: google.pubsub.v1.PushConfig.pubsub_wrapper:type_name -> google.pubsub.v1.PushConfig.PubsubWrapper
  5807  	58, // 30: google.pubsub.v1.PushConfig.no_wrapper:type_name -> google.pubsub.v1.PushConfig.NoWrapper
  5808  	3,  // 31: google.pubsub.v1.BigQueryConfig.state:type_name -> google.pubsub.v1.BigQueryConfig.State
  5809  	60, // 32: google.pubsub.v1.CloudStorageConfig.text_config:type_name -> google.pubsub.v1.CloudStorageConfig.TextConfig
  5810  	61, // 33: google.pubsub.v1.CloudStorageConfig.avro_config:type_name -> google.pubsub.v1.CloudStorageConfig.AvroConfig
  5811  	68, // 34: google.pubsub.v1.CloudStorageConfig.max_duration:type_name -> google.protobuf.Duration
  5812  	4,  // 35: google.pubsub.v1.CloudStorageConfig.state:type_name -> google.pubsub.v1.CloudStorageConfig.State
  5813  	9,  // 36: google.pubsub.v1.ReceivedMessage.message:type_name -> google.pubsub.v1.PubsubMessage
  5814  	23, // 37: google.pubsub.v1.UpdateSubscriptionRequest.subscription:type_name -> google.pubsub.v1.Subscription
  5815  	70, // 38: google.pubsub.v1.UpdateSubscriptionRequest.update_mask:type_name -> google.protobuf.FieldMask
  5816  	23, // 39: google.pubsub.v1.ListSubscriptionsResponse.subscriptions:type_name -> google.pubsub.v1.Subscription
  5817  	27, // 40: google.pubsub.v1.ModifyPushConfigRequest.push_config:type_name -> google.pubsub.v1.PushConfig
  5818  	30, // 41: google.pubsub.v1.PullResponse.received_messages:type_name -> google.pubsub.v1.ReceivedMessage
  5819  	30, // 42: google.pubsub.v1.StreamingPullResponse.received_messages:type_name -> google.pubsub.v1.ReceivedMessage
  5820  	62, // 43: google.pubsub.v1.StreamingPullResponse.acknowledge_confirmation:type_name -> google.pubsub.v1.StreamingPullResponse.AcknowledgeConfirmation
  5821  	63, // 44: google.pubsub.v1.StreamingPullResponse.modify_ack_deadline_confirmation:type_name -> google.pubsub.v1.StreamingPullResponse.ModifyAckDeadlineConfirmation
  5822  	64, // 45: google.pubsub.v1.StreamingPullResponse.subscription_properties:type_name -> google.pubsub.v1.StreamingPullResponse.SubscriptionProperties
  5823  	65, // 46: google.pubsub.v1.CreateSnapshotRequest.labels:type_name -> google.pubsub.v1.CreateSnapshotRequest.LabelsEntry
  5824  	45, // 47: google.pubsub.v1.UpdateSnapshotRequest.snapshot:type_name -> google.pubsub.v1.Snapshot
  5825  	70, // 48: google.pubsub.v1.UpdateSnapshotRequest.update_mask:type_name -> google.protobuf.FieldMask
  5826  	69, // 49: google.pubsub.v1.Snapshot.expire_time:type_name -> google.protobuf.Timestamp
  5827  	66, // 50: google.pubsub.v1.Snapshot.labels:type_name -> google.pubsub.v1.Snapshot.LabelsEntry
  5828  	45, // 51: google.pubsub.v1.ListSnapshotsResponse.snapshots:type_name -> google.pubsub.v1.Snapshot
  5829  	69, // 52: google.pubsub.v1.SeekRequest.time:type_name -> google.protobuf.Timestamp
  5830  	0,  // 53: google.pubsub.v1.IngestionDataSourceSettings.AwsKinesis.state:type_name -> google.pubsub.v1.IngestionDataSourceSettings.AwsKinesis.State
  5831  	8,  // 54: google.pubsub.v1.Publisher.CreateTopic:input_type -> google.pubsub.v1.Topic
  5832  	11, // 55: google.pubsub.v1.Publisher.UpdateTopic:input_type -> google.pubsub.v1.UpdateTopicRequest
  5833  	12, // 56: google.pubsub.v1.Publisher.Publish:input_type -> google.pubsub.v1.PublishRequest
  5834  	10, // 57: google.pubsub.v1.Publisher.GetTopic:input_type -> google.pubsub.v1.GetTopicRequest
  5835  	14, // 58: google.pubsub.v1.Publisher.ListTopics:input_type -> google.pubsub.v1.ListTopicsRequest
  5836  	16, // 59: google.pubsub.v1.Publisher.ListTopicSubscriptions:input_type -> google.pubsub.v1.ListTopicSubscriptionsRequest
  5837  	18, // 60: google.pubsub.v1.Publisher.ListTopicSnapshots:input_type -> google.pubsub.v1.ListTopicSnapshotsRequest
  5838  	20, // 61: google.pubsub.v1.Publisher.DeleteTopic:input_type -> google.pubsub.v1.DeleteTopicRequest
  5839  	21, // 62: google.pubsub.v1.Publisher.DetachSubscription:input_type -> google.pubsub.v1.DetachSubscriptionRequest
  5840  	23, // 63: google.pubsub.v1.Subscriber.CreateSubscription:input_type -> google.pubsub.v1.Subscription
  5841  	31, // 64: google.pubsub.v1.Subscriber.GetSubscription:input_type -> google.pubsub.v1.GetSubscriptionRequest
  5842  	32, // 65: google.pubsub.v1.Subscriber.UpdateSubscription:input_type -> google.pubsub.v1.UpdateSubscriptionRequest
  5843  	33, // 66: google.pubsub.v1.Subscriber.ListSubscriptions:input_type -> google.pubsub.v1.ListSubscriptionsRequest
  5844  	35, // 67: google.pubsub.v1.Subscriber.DeleteSubscription:input_type -> google.pubsub.v1.DeleteSubscriptionRequest
  5845  	39, // 68: google.pubsub.v1.Subscriber.ModifyAckDeadline:input_type -> google.pubsub.v1.ModifyAckDeadlineRequest
  5846  	40, // 69: google.pubsub.v1.Subscriber.Acknowledge:input_type -> google.pubsub.v1.AcknowledgeRequest
  5847  	37, // 70: google.pubsub.v1.Subscriber.Pull:input_type -> google.pubsub.v1.PullRequest
  5848  	41, // 71: google.pubsub.v1.Subscriber.StreamingPull:input_type -> google.pubsub.v1.StreamingPullRequest
  5849  	36, // 72: google.pubsub.v1.Subscriber.ModifyPushConfig:input_type -> google.pubsub.v1.ModifyPushConfigRequest
  5850  	46, // 73: google.pubsub.v1.Subscriber.GetSnapshot:input_type -> google.pubsub.v1.GetSnapshotRequest
  5851  	47, // 74: google.pubsub.v1.Subscriber.ListSnapshots:input_type -> google.pubsub.v1.ListSnapshotsRequest
  5852  	43, // 75: google.pubsub.v1.Subscriber.CreateSnapshot:input_type -> google.pubsub.v1.CreateSnapshotRequest
  5853  	44, // 76: google.pubsub.v1.Subscriber.UpdateSnapshot:input_type -> google.pubsub.v1.UpdateSnapshotRequest
  5854  	49, // 77: google.pubsub.v1.Subscriber.DeleteSnapshot:input_type -> google.pubsub.v1.DeleteSnapshotRequest
  5855  	50, // 78: google.pubsub.v1.Subscriber.Seek:input_type -> google.pubsub.v1.SeekRequest
  5856  	8,  // 79: google.pubsub.v1.Publisher.CreateTopic:output_type -> google.pubsub.v1.Topic
  5857  	8,  // 80: google.pubsub.v1.Publisher.UpdateTopic:output_type -> google.pubsub.v1.Topic
  5858  	13, // 81: google.pubsub.v1.Publisher.Publish:output_type -> google.pubsub.v1.PublishResponse
  5859  	8,  // 82: google.pubsub.v1.Publisher.GetTopic:output_type -> google.pubsub.v1.Topic
  5860  	15, // 83: google.pubsub.v1.Publisher.ListTopics:output_type -> google.pubsub.v1.ListTopicsResponse
  5861  	17, // 84: google.pubsub.v1.Publisher.ListTopicSubscriptions:output_type -> google.pubsub.v1.ListTopicSubscriptionsResponse
  5862  	19, // 85: google.pubsub.v1.Publisher.ListTopicSnapshots:output_type -> google.pubsub.v1.ListTopicSnapshotsResponse
  5863  	71, // 86: google.pubsub.v1.Publisher.DeleteTopic:output_type -> google.protobuf.Empty
  5864  	22, // 87: google.pubsub.v1.Publisher.DetachSubscription:output_type -> google.pubsub.v1.DetachSubscriptionResponse
  5865  	23, // 88: google.pubsub.v1.Subscriber.CreateSubscription:output_type -> google.pubsub.v1.Subscription
  5866  	23, // 89: google.pubsub.v1.Subscriber.GetSubscription:output_type -> google.pubsub.v1.Subscription
  5867  	23, // 90: google.pubsub.v1.Subscriber.UpdateSubscription:output_type -> google.pubsub.v1.Subscription
  5868  	34, // 91: google.pubsub.v1.Subscriber.ListSubscriptions:output_type -> google.pubsub.v1.ListSubscriptionsResponse
  5869  	71, // 92: google.pubsub.v1.Subscriber.DeleteSubscription:output_type -> google.protobuf.Empty
  5870  	71, // 93: google.pubsub.v1.Subscriber.ModifyAckDeadline:output_type -> google.protobuf.Empty
  5871  	71, // 94: google.pubsub.v1.Subscriber.Acknowledge:output_type -> google.protobuf.Empty
  5872  	38, // 95: google.pubsub.v1.Subscriber.Pull:output_type -> google.pubsub.v1.PullResponse
  5873  	42, // 96: google.pubsub.v1.Subscriber.StreamingPull:output_type -> google.pubsub.v1.StreamingPullResponse
  5874  	71, // 97: google.pubsub.v1.Subscriber.ModifyPushConfig:output_type -> google.protobuf.Empty
  5875  	45, // 98: google.pubsub.v1.Subscriber.GetSnapshot:output_type -> google.pubsub.v1.Snapshot
  5876  	48, // 99: google.pubsub.v1.Subscriber.ListSnapshots:output_type -> google.pubsub.v1.ListSnapshotsResponse
  5877  	45, // 100: google.pubsub.v1.Subscriber.CreateSnapshot:output_type -> google.pubsub.v1.Snapshot
  5878  	45, // 101: google.pubsub.v1.Subscriber.UpdateSnapshot:output_type -> google.pubsub.v1.Snapshot
  5879  	71, // 102: google.pubsub.v1.Subscriber.DeleteSnapshot:output_type -> google.protobuf.Empty
  5880  	51, // 103: google.pubsub.v1.Subscriber.Seek:output_type -> google.pubsub.v1.SeekResponse
  5881  	79, // [79:104] is the sub-list for method output_type
  5882  	54, // [54:79] is the sub-list for method input_type
  5883  	54, // [54:54] is the sub-list for extension type_name
  5884  	54, // [54:54] is the sub-list for extension extendee
  5885  	0,  // [0:54] is the sub-list for field type_name
  5886  }
  5887  
  5888  func init() { file_google_pubsub_v1_pubsub_proto_init() }
  5889  func file_google_pubsub_v1_pubsub_proto_init() {
  5890  	if File_google_pubsub_v1_pubsub_proto != nil {
  5891  		return
  5892  	}
  5893  	file_google_pubsub_v1_schema_proto_init()
  5894  	if !protoimpl.UnsafeEnabled {
  5895  		file_google_pubsub_v1_pubsub_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
  5896  			switch v := v.(*MessageStoragePolicy); i {
  5897  			case 0:
  5898  				return &v.state
  5899  			case 1:
  5900  				return &v.sizeCache
  5901  			case 2:
  5902  				return &v.unknownFields
  5903  			default:
  5904  				return nil
  5905  			}
  5906  		}
  5907  		file_google_pubsub_v1_pubsub_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
  5908  			switch v := v.(*SchemaSettings); i {
  5909  			case 0:
  5910  				return &v.state
  5911  			case 1:
  5912  				return &v.sizeCache
  5913  			case 2:
  5914  				return &v.unknownFields
  5915  			default:
  5916  				return nil
  5917  			}
  5918  		}
  5919  		file_google_pubsub_v1_pubsub_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
  5920  			switch v := v.(*IngestionDataSourceSettings); i {
  5921  			case 0:
  5922  				return &v.state
  5923  			case 1:
  5924  				return &v.sizeCache
  5925  			case 2:
  5926  				return &v.unknownFields
  5927  			default:
  5928  				return nil
  5929  			}
  5930  		}
  5931  		file_google_pubsub_v1_pubsub_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
  5932  			switch v := v.(*Topic); i {
  5933  			case 0:
  5934  				return &v.state
  5935  			case 1:
  5936  				return &v.sizeCache
  5937  			case 2:
  5938  				return &v.unknownFields
  5939  			default:
  5940  				return nil
  5941  			}
  5942  		}
  5943  		file_google_pubsub_v1_pubsub_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
  5944  			switch v := v.(*PubsubMessage); i {
  5945  			case 0:
  5946  				return &v.state
  5947  			case 1:
  5948  				return &v.sizeCache
  5949  			case 2:
  5950  				return &v.unknownFields
  5951  			default:
  5952  				return nil
  5953  			}
  5954  		}
  5955  		file_google_pubsub_v1_pubsub_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
  5956  			switch v := v.(*GetTopicRequest); i {
  5957  			case 0:
  5958  				return &v.state
  5959  			case 1:
  5960  				return &v.sizeCache
  5961  			case 2:
  5962  				return &v.unknownFields
  5963  			default:
  5964  				return nil
  5965  			}
  5966  		}
  5967  		file_google_pubsub_v1_pubsub_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
  5968  			switch v := v.(*UpdateTopicRequest); i {
  5969  			case 0:
  5970  				return &v.state
  5971  			case 1:
  5972  				return &v.sizeCache
  5973  			case 2:
  5974  				return &v.unknownFields
  5975  			default:
  5976  				return nil
  5977  			}
  5978  		}
  5979  		file_google_pubsub_v1_pubsub_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
  5980  			switch v := v.(*PublishRequest); i {
  5981  			case 0:
  5982  				return &v.state
  5983  			case 1:
  5984  				return &v.sizeCache
  5985  			case 2:
  5986  				return &v.unknownFields
  5987  			default:
  5988  				return nil
  5989  			}
  5990  		}
  5991  		file_google_pubsub_v1_pubsub_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
  5992  			switch v := v.(*PublishResponse); i {
  5993  			case 0:
  5994  				return &v.state
  5995  			case 1:
  5996  				return &v.sizeCache
  5997  			case 2:
  5998  				return &v.unknownFields
  5999  			default:
  6000  				return nil
  6001  			}
  6002  		}
  6003  		file_google_pubsub_v1_pubsub_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
  6004  			switch v := v.(*ListTopicsRequest); i {
  6005  			case 0:
  6006  				return &v.state
  6007  			case 1:
  6008  				return &v.sizeCache
  6009  			case 2:
  6010  				return &v.unknownFields
  6011  			default:
  6012  				return nil
  6013  			}
  6014  		}
  6015  		file_google_pubsub_v1_pubsub_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
  6016  			switch v := v.(*ListTopicsResponse); i {
  6017  			case 0:
  6018  				return &v.state
  6019  			case 1:
  6020  				return &v.sizeCache
  6021  			case 2:
  6022  				return &v.unknownFields
  6023  			default:
  6024  				return nil
  6025  			}
  6026  		}
  6027  		file_google_pubsub_v1_pubsub_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
  6028  			switch v := v.(*ListTopicSubscriptionsRequest); i {
  6029  			case 0:
  6030  				return &v.state
  6031  			case 1:
  6032  				return &v.sizeCache
  6033  			case 2:
  6034  				return &v.unknownFields
  6035  			default:
  6036  				return nil
  6037  			}
  6038  		}
  6039  		file_google_pubsub_v1_pubsub_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
  6040  			switch v := v.(*ListTopicSubscriptionsResponse); i {
  6041  			case 0:
  6042  				return &v.state
  6043  			case 1:
  6044  				return &v.sizeCache
  6045  			case 2:
  6046  				return &v.unknownFields
  6047  			default:
  6048  				return nil
  6049  			}
  6050  		}
  6051  		file_google_pubsub_v1_pubsub_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
  6052  			switch v := v.(*ListTopicSnapshotsRequest); i {
  6053  			case 0:
  6054  				return &v.state
  6055  			case 1:
  6056  				return &v.sizeCache
  6057  			case 2:
  6058  				return &v.unknownFields
  6059  			default:
  6060  				return nil
  6061  			}
  6062  		}
  6063  		file_google_pubsub_v1_pubsub_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
  6064  			switch v := v.(*ListTopicSnapshotsResponse); i {
  6065  			case 0:
  6066  				return &v.state
  6067  			case 1:
  6068  				return &v.sizeCache
  6069  			case 2:
  6070  				return &v.unknownFields
  6071  			default:
  6072  				return nil
  6073  			}
  6074  		}
  6075  		file_google_pubsub_v1_pubsub_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
  6076  			switch v := v.(*DeleteTopicRequest); i {
  6077  			case 0:
  6078  				return &v.state
  6079  			case 1:
  6080  				return &v.sizeCache
  6081  			case 2:
  6082  				return &v.unknownFields
  6083  			default:
  6084  				return nil
  6085  			}
  6086  		}
  6087  		file_google_pubsub_v1_pubsub_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
  6088  			switch v := v.(*DetachSubscriptionRequest); i {
  6089  			case 0:
  6090  				return &v.state
  6091  			case 1:
  6092  				return &v.sizeCache
  6093  			case 2:
  6094  				return &v.unknownFields
  6095  			default:
  6096  				return nil
  6097  			}
  6098  		}
  6099  		file_google_pubsub_v1_pubsub_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
  6100  			switch v := v.(*DetachSubscriptionResponse); i {
  6101  			case 0:
  6102  				return &v.state
  6103  			case 1:
  6104  				return &v.sizeCache
  6105  			case 2:
  6106  				return &v.unknownFields
  6107  			default:
  6108  				return nil
  6109  			}
  6110  		}
  6111  		file_google_pubsub_v1_pubsub_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
  6112  			switch v := v.(*Subscription); i {
  6113  			case 0:
  6114  				return &v.state
  6115  			case 1:
  6116  				return &v.sizeCache
  6117  			case 2:
  6118  				return &v.unknownFields
  6119  			default:
  6120  				return nil
  6121  			}
  6122  		}
  6123  		file_google_pubsub_v1_pubsub_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
  6124  			switch v := v.(*RetryPolicy); i {
  6125  			case 0:
  6126  				return &v.state
  6127  			case 1:
  6128  				return &v.sizeCache
  6129  			case 2:
  6130  				return &v.unknownFields
  6131  			default:
  6132  				return nil
  6133  			}
  6134  		}
  6135  		file_google_pubsub_v1_pubsub_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} {
  6136  			switch v := v.(*DeadLetterPolicy); i {
  6137  			case 0:
  6138  				return &v.state
  6139  			case 1:
  6140  				return &v.sizeCache
  6141  			case 2:
  6142  				return &v.unknownFields
  6143  			default:
  6144  				return nil
  6145  			}
  6146  		}
  6147  		file_google_pubsub_v1_pubsub_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} {
  6148  			switch v := v.(*ExpirationPolicy); i {
  6149  			case 0:
  6150  				return &v.state
  6151  			case 1:
  6152  				return &v.sizeCache
  6153  			case 2:
  6154  				return &v.unknownFields
  6155  			default:
  6156  				return nil
  6157  			}
  6158  		}
  6159  		file_google_pubsub_v1_pubsub_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} {
  6160  			switch v := v.(*PushConfig); i {
  6161  			case 0:
  6162  				return &v.state
  6163  			case 1:
  6164  				return &v.sizeCache
  6165  			case 2:
  6166  				return &v.unknownFields
  6167  			default:
  6168  				return nil
  6169  			}
  6170  		}
  6171  		file_google_pubsub_v1_pubsub_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} {
  6172  			switch v := v.(*BigQueryConfig); i {
  6173  			case 0:
  6174  				return &v.state
  6175  			case 1:
  6176  				return &v.sizeCache
  6177  			case 2:
  6178  				return &v.unknownFields
  6179  			default:
  6180  				return nil
  6181  			}
  6182  		}
  6183  		file_google_pubsub_v1_pubsub_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} {
  6184  			switch v := v.(*CloudStorageConfig); i {
  6185  			case 0:
  6186  				return &v.state
  6187  			case 1:
  6188  				return &v.sizeCache
  6189  			case 2:
  6190  				return &v.unknownFields
  6191  			default:
  6192  				return nil
  6193  			}
  6194  		}
  6195  		file_google_pubsub_v1_pubsub_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} {
  6196  			switch v := v.(*ReceivedMessage); i {
  6197  			case 0:
  6198  				return &v.state
  6199  			case 1:
  6200  				return &v.sizeCache
  6201  			case 2:
  6202  				return &v.unknownFields
  6203  			default:
  6204  				return nil
  6205  			}
  6206  		}
  6207  		file_google_pubsub_v1_pubsub_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} {
  6208  			switch v := v.(*GetSubscriptionRequest); i {
  6209  			case 0:
  6210  				return &v.state
  6211  			case 1:
  6212  				return &v.sizeCache
  6213  			case 2:
  6214  				return &v.unknownFields
  6215  			default:
  6216  				return nil
  6217  			}
  6218  		}
  6219  		file_google_pubsub_v1_pubsub_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} {
  6220  			switch v := v.(*UpdateSubscriptionRequest); i {
  6221  			case 0:
  6222  				return &v.state
  6223  			case 1:
  6224  				return &v.sizeCache
  6225  			case 2:
  6226  				return &v.unknownFields
  6227  			default:
  6228  				return nil
  6229  			}
  6230  		}
  6231  		file_google_pubsub_v1_pubsub_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} {
  6232  			switch v := v.(*ListSubscriptionsRequest); i {
  6233  			case 0:
  6234  				return &v.state
  6235  			case 1:
  6236  				return &v.sizeCache
  6237  			case 2:
  6238  				return &v.unknownFields
  6239  			default:
  6240  				return nil
  6241  			}
  6242  		}
  6243  		file_google_pubsub_v1_pubsub_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} {
  6244  			switch v := v.(*ListSubscriptionsResponse); i {
  6245  			case 0:
  6246  				return &v.state
  6247  			case 1:
  6248  				return &v.sizeCache
  6249  			case 2:
  6250  				return &v.unknownFields
  6251  			default:
  6252  				return nil
  6253  			}
  6254  		}
  6255  		file_google_pubsub_v1_pubsub_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} {
  6256  			switch v := v.(*DeleteSubscriptionRequest); i {
  6257  			case 0:
  6258  				return &v.state
  6259  			case 1:
  6260  				return &v.sizeCache
  6261  			case 2:
  6262  				return &v.unknownFields
  6263  			default:
  6264  				return nil
  6265  			}
  6266  		}
  6267  		file_google_pubsub_v1_pubsub_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} {
  6268  			switch v := v.(*ModifyPushConfigRequest); i {
  6269  			case 0:
  6270  				return &v.state
  6271  			case 1:
  6272  				return &v.sizeCache
  6273  			case 2:
  6274  				return &v.unknownFields
  6275  			default:
  6276  				return nil
  6277  			}
  6278  		}
  6279  		file_google_pubsub_v1_pubsub_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} {
  6280  			switch v := v.(*PullRequest); i {
  6281  			case 0:
  6282  				return &v.state
  6283  			case 1:
  6284  				return &v.sizeCache
  6285  			case 2:
  6286  				return &v.unknownFields
  6287  			default:
  6288  				return nil
  6289  			}
  6290  		}
  6291  		file_google_pubsub_v1_pubsub_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} {
  6292  			switch v := v.(*PullResponse); i {
  6293  			case 0:
  6294  				return &v.state
  6295  			case 1:
  6296  				return &v.sizeCache
  6297  			case 2:
  6298  				return &v.unknownFields
  6299  			default:
  6300  				return nil
  6301  			}
  6302  		}
  6303  		file_google_pubsub_v1_pubsub_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} {
  6304  			switch v := v.(*ModifyAckDeadlineRequest); i {
  6305  			case 0:
  6306  				return &v.state
  6307  			case 1:
  6308  				return &v.sizeCache
  6309  			case 2:
  6310  				return &v.unknownFields
  6311  			default:
  6312  				return nil
  6313  			}
  6314  		}
  6315  		file_google_pubsub_v1_pubsub_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} {
  6316  			switch v := v.(*AcknowledgeRequest); i {
  6317  			case 0:
  6318  				return &v.state
  6319  			case 1:
  6320  				return &v.sizeCache
  6321  			case 2:
  6322  				return &v.unknownFields
  6323  			default:
  6324  				return nil
  6325  			}
  6326  		}
  6327  		file_google_pubsub_v1_pubsub_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} {
  6328  			switch v := v.(*StreamingPullRequest); i {
  6329  			case 0:
  6330  				return &v.state
  6331  			case 1:
  6332  				return &v.sizeCache
  6333  			case 2:
  6334  				return &v.unknownFields
  6335  			default:
  6336  				return nil
  6337  			}
  6338  		}
  6339  		file_google_pubsub_v1_pubsub_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} {
  6340  			switch v := v.(*StreamingPullResponse); i {
  6341  			case 0:
  6342  				return &v.state
  6343  			case 1:
  6344  				return &v.sizeCache
  6345  			case 2:
  6346  				return &v.unknownFields
  6347  			default:
  6348  				return nil
  6349  			}
  6350  		}
  6351  		file_google_pubsub_v1_pubsub_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} {
  6352  			switch v := v.(*CreateSnapshotRequest); i {
  6353  			case 0:
  6354  				return &v.state
  6355  			case 1:
  6356  				return &v.sizeCache
  6357  			case 2:
  6358  				return &v.unknownFields
  6359  			default:
  6360  				return nil
  6361  			}
  6362  		}
  6363  		file_google_pubsub_v1_pubsub_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} {
  6364  			switch v := v.(*UpdateSnapshotRequest); i {
  6365  			case 0:
  6366  				return &v.state
  6367  			case 1:
  6368  				return &v.sizeCache
  6369  			case 2:
  6370  				return &v.unknownFields
  6371  			default:
  6372  				return nil
  6373  			}
  6374  		}
  6375  		file_google_pubsub_v1_pubsub_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} {
  6376  			switch v := v.(*Snapshot); i {
  6377  			case 0:
  6378  				return &v.state
  6379  			case 1:
  6380  				return &v.sizeCache
  6381  			case 2:
  6382  				return &v.unknownFields
  6383  			default:
  6384  				return nil
  6385  			}
  6386  		}
  6387  		file_google_pubsub_v1_pubsub_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} {
  6388  			switch v := v.(*GetSnapshotRequest); i {
  6389  			case 0:
  6390  				return &v.state
  6391  			case 1:
  6392  				return &v.sizeCache
  6393  			case 2:
  6394  				return &v.unknownFields
  6395  			default:
  6396  				return nil
  6397  			}
  6398  		}
  6399  		file_google_pubsub_v1_pubsub_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} {
  6400  			switch v := v.(*ListSnapshotsRequest); i {
  6401  			case 0:
  6402  				return &v.state
  6403  			case 1:
  6404  				return &v.sizeCache
  6405  			case 2:
  6406  				return &v.unknownFields
  6407  			default:
  6408  				return nil
  6409  			}
  6410  		}
  6411  		file_google_pubsub_v1_pubsub_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} {
  6412  			switch v := v.(*ListSnapshotsResponse); i {
  6413  			case 0:
  6414  				return &v.state
  6415  			case 1:
  6416  				return &v.sizeCache
  6417  			case 2:
  6418  				return &v.unknownFields
  6419  			default:
  6420  				return nil
  6421  			}
  6422  		}
  6423  		file_google_pubsub_v1_pubsub_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} {
  6424  			switch v := v.(*DeleteSnapshotRequest); i {
  6425  			case 0:
  6426  				return &v.state
  6427  			case 1:
  6428  				return &v.sizeCache
  6429  			case 2:
  6430  				return &v.unknownFields
  6431  			default:
  6432  				return nil
  6433  			}
  6434  		}
  6435  		file_google_pubsub_v1_pubsub_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} {
  6436  			switch v := v.(*SeekRequest); i {
  6437  			case 0:
  6438  				return &v.state
  6439  			case 1:
  6440  				return &v.sizeCache
  6441  			case 2:
  6442  				return &v.unknownFields
  6443  			default:
  6444  				return nil
  6445  			}
  6446  		}
  6447  		file_google_pubsub_v1_pubsub_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} {
  6448  			switch v := v.(*SeekResponse); i {
  6449  			case 0:
  6450  				return &v.state
  6451  			case 1:
  6452  				return &v.sizeCache
  6453  			case 2:
  6454  				return &v.unknownFields
  6455  			default:
  6456  				return nil
  6457  			}
  6458  		}
  6459  		file_google_pubsub_v1_pubsub_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} {
  6460  			switch v := v.(*IngestionDataSourceSettings_AwsKinesis); i {
  6461  			case 0:
  6462  				return &v.state
  6463  			case 1:
  6464  				return &v.sizeCache
  6465  			case 2:
  6466  				return &v.unknownFields
  6467  			default:
  6468  				return nil
  6469  			}
  6470  		}
  6471  		file_google_pubsub_v1_pubsub_proto_msgTypes[51].Exporter = func(v interface{}, i int) interface{} {
  6472  			switch v := v.(*PushConfig_OidcToken); i {
  6473  			case 0:
  6474  				return &v.state
  6475  			case 1:
  6476  				return &v.sizeCache
  6477  			case 2:
  6478  				return &v.unknownFields
  6479  			default:
  6480  				return nil
  6481  			}
  6482  		}
  6483  		file_google_pubsub_v1_pubsub_proto_msgTypes[52].Exporter = func(v interface{}, i int) interface{} {
  6484  			switch v := v.(*PushConfig_PubsubWrapper); i {
  6485  			case 0:
  6486  				return &v.state
  6487  			case 1:
  6488  				return &v.sizeCache
  6489  			case 2:
  6490  				return &v.unknownFields
  6491  			default:
  6492  				return nil
  6493  			}
  6494  		}
  6495  		file_google_pubsub_v1_pubsub_proto_msgTypes[53].Exporter = func(v interface{}, i int) interface{} {
  6496  			switch v := v.(*PushConfig_NoWrapper); i {
  6497  			case 0:
  6498  				return &v.state
  6499  			case 1:
  6500  				return &v.sizeCache
  6501  			case 2:
  6502  				return &v.unknownFields
  6503  			default:
  6504  				return nil
  6505  			}
  6506  		}
  6507  		file_google_pubsub_v1_pubsub_proto_msgTypes[55].Exporter = func(v interface{}, i int) interface{} {
  6508  			switch v := v.(*CloudStorageConfig_TextConfig); i {
  6509  			case 0:
  6510  				return &v.state
  6511  			case 1:
  6512  				return &v.sizeCache
  6513  			case 2:
  6514  				return &v.unknownFields
  6515  			default:
  6516  				return nil
  6517  			}
  6518  		}
  6519  		file_google_pubsub_v1_pubsub_proto_msgTypes[56].Exporter = func(v interface{}, i int) interface{} {
  6520  			switch v := v.(*CloudStorageConfig_AvroConfig); i {
  6521  			case 0:
  6522  				return &v.state
  6523  			case 1:
  6524  				return &v.sizeCache
  6525  			case 2:
  6526  				return &v.unknownFields
  6527  			default:
  6528  				return nil
  6529  			}
  6530  		}
  6531  		file_google_pubsub_v1_pubsub_proto_msgTypes[57].Exporter = func(v interface{}, i int) interface{} {
  6532  			switch v := v.(*StreamingPullResponse_AcknowledgeConfirmation); i {
  6533  			case 0:
  6534  				return &v.state
  6535  			case 1:
  6536  				return &v.sizeCache
  6537  			case 2:
  6538  				return &v.unknownFields
  6539  			default:
  6540  				return nil
  6541  			}
  6542  		}
  6543  		file_google_pubsub_v1_pubsub_proto_msgTypes[58].Exporter = func(v interface{}, i int) interface{} {
  6544  			switch v := v.(*StreamingPullResponse_ModifyAckDeadlineConfirmation); i {
  6545  			case 0:
  6546  				return &v.state
  6547  			case 1:
  6548  				return &v.sizeCache
  6549  			case 2:
  6550  				return &v.unknownFields
  6551  			default:
  6552  				return nil
  6553  			}
  6554  		}
  6555  		file_google_pubsub_v1_pubsub_proto_msgTypes[59].Exporter = func(v interface{}, i int) interface{} {
  6556  			switch v := v.(*StreamingPullResponse_SubscriptionProperties); i {
  6557  			case 0:
  6558  				return &v.state
  6559  			case 1:
  6560  				return &v.sizeCache
  6561  			case 2:
  6562  				return &v.unknownFields
  6563  			default:
  6564  				return nil
  6565  			}
  6566  		}
  6567  	}
  6568  	file_google_pubsub_v1_pubsub_proto_msgTypes[2].OneofWrappers = []interface{}{
  6569  		(*IngestionDataSourceSettings_AwsKinesis_)(nil),
  6570  	}
  6571  	file_google_pubsub_v1_pubsub_proto_msgTypes[22].OneofWrappers = []interface{}{
  6572  		(*PushConfig_OidcToken_)(nil),
  6573  		(*PushConfig_PubsubWrapper_)(nil),
  6574  		(*PushConfig_NoWrapper_)(nil),
  6575  	}
  6576  	file_google_pubsub_v1_pubsub_proto_msgTypes[24].OneofWrappers = []interface{}{
  6577  		(*CloudStorageConfig_TextConfig_)(nil),
  6578  		(*CloudStorageConfig_AvroConfig_)(nil),
  6579  	}
  6580  	file_google_pubsub_v1_pubsub_proto_msgTypes[45].OneofWrappers = []interface{}{
  6581  		(*SeekRequest_Time)(nil),
  6582  		(*SeekRequest_Snapshot)(nil),
  6583  	}
  6584  	type x struct{}
  6585  	out := protoimpl.TypeBuilder{
  6586  		File: protoimpl.DescBuilder{
  6587  			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
  6588  			RawDescriptor: file_google_pubsub_v1_pubsub_proto_rawDesc,
  6589  			NumEnums:      5,
  6590  			NumMessages:   62,
  6591  			NumExtensions: 0,
  6592  			NumServices:   2,
  6593  		},
  6594  		GoTypes:           file_google_pubsub_v1_pubsub_proto_goTypes,
  6595  		DependencyIndexes: file_google_pubsub_v1_pubsub_proto_depIdxs,
  6596  		EnumInfos:         file_google_pubsub_v1_pubsub_proto_enumTypes,
  6597  		MessageInfos:      file_google_pubsub_v1_pubsub_proto_msgTypes,
  6598  	}.Build()
  6599  	File_google_pubsub_v1_pubsub_proto = out.File
  6600  	file_google_pubsub_v1_pubsub_proto_rawDesc = nil
  6601  	file_google_pubsub_v1_pubsub_proto_goTypes = nil
  6602  	file_google_pubsub_v1_pubsub_proto_depIdxs = nil
  6603  }
  6604  
  6605  // Reference imports to suppress errors if they are not otherwise used.
  6606  var _ context.Context
  6607  var _ grpc.ClientConnInterface
  6608  
  6609  // This is a compile-time assertion to ensure that this generated file
  6610  // is compatible with the grpc package it is being compiled against.
  6611  const _ = grpc.SupportPackageIsVersion6
  6612  
  6613  // PublisherClient is the client API for Publisher service.
  6614  //
  6615  // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
  6616  type PublisherClient interface {
  6617  	// Creates the given topic with the given name. See the [resource name rules]
  6618  	// (https://cloud.google.com/pubsub/docs/pubsub-basics#resource_names).
  6619  	CreateTopic(ctx context.Context, in *Topic, opts ...grpc.CallOption) (*Topic, error)
  6620  	// Updates an existing topic by updating the fields specified in the update
  6621  	// mask. Note that certain properties of a topic are not modifiable.
  6622  	UpdateTopic(ctx context.Context, in *UpdateTopicRequest, opts ...grpc.CallOption) (*Topic, error)
  6623  	// Adds one or more messages to the topic. Returns `NOT_FOUND` if the topic
  6624  	// does not exist.
  6625  	Publish(ctx context.Context, in *PublishRequest, opts ...grpc.CallOption) (*PublishResponse, error)
  6626  	// Gets the configuration of a topic.
  6627  	GetTopic(ctx context.Context, in *GetTopicRequest, opts ...grpc.CallOption) (*Topic, error)
  6628  	// Lists matching topics.
  6629  	ListTopics(ctx context.Context, in *ListTopicsRequest, opts ...grpc.CallOption) (*ListTopicsResponse, error)
  6630  	// Lists the names of the attached subscriptions on this topic.
  6631  	ListTopicSubscriptions(ctx context.Context, in *ListTopicSubscriptionsRequest, opts ...grpc.CallOption) (*ListTopicSubscriptionsResponse, error)
  6632  	// Lists the names of the snapshots on this topic. Snapshots are used in
  6633  	// [Seek](https://cloud.google.com/pubsub/docs/replay-overview) operations,
  6634  	// which allow you to manage message acknowledgments in bulk. That is, you can
  6635  	// set the acknowledgment state of messages in an existing subscription to the
  6636  	// state captured by a snapshot.
  6637  	ListTopicSnapshots(ctx context.Context, in *ListTopicSnapshotsRequest, opts ...grpc.CallOption) (*ListTopicSnapshotsResponse, error)
  6638  	// Deletes the topic with the given name. Returns `NOT_FOUND` if the topic
  6639  	// does not exist. After a topic is deleted, a new topic may be created with
  6640  	// the same name; this is an entirely new topic with none of the old
  6641  	// configuration or subscriptions. Existing subscriptions to this topic are
  6642  	// not deleted, but their `topic` field is set to `_deleted-topic_`.
  6643  	DeleteTopic(ctx context.Context, in *DeleteTopicRequest, opts ...grpc.CallOption) (*emptypb.Empty, error)
  6644  	// Detaches a subscription from this topic. All messages retained in the
  6645  	// subscription are dropped. Subsequent `Pull` and `StreamingPull` requests
  6646  	// will return FAILED_PRECONDITION. If the subscription is a push
  6647  	// subscription, pushes to the endpoint will stop.
  6648  	DetachSubscription(ctx context.Context, in *DetachSubscriptionRequest, opts ...grpc.CallOption) (*DetachSubscriptionResponse, error)
  6649  }
  6650  
  6651  type publisherClient struct {
  6652  	cc grpc.ClientConnInterface
  6653  }
  6654  
  6655  func NewPublisherClient(cc grpc.ClientConnInterface) PublisherClient {
  6656  	return &publisherClient{cc}
  6657  }
  6658  
  6659  func (c *publisherClient) CreateTopic(ctx context.Context, in *Topic, opts ...grpc.CallOption) (*Topic, error) {
  6660  	out := new(Topic)
  6661  	err := c.cc.Invoke(ctx, "/google.pubsub.v1.Publisher/CreateTopic", in, out, opts...)
  6662  	if err != nil {
  6663  		return nil, err
  6664  	}
  6665  	return out, nil
  6666  }
  6667  
  6668  func (c *publisherClient) UpdateTopic(ctx context.Context, in *UpdateTopicRequest, opts ...grpc.CallOption) (*Topic, error) {
  6669  	out := new(Topic)
  6670  	err := c.cc.Invoke(ctx, "/google.pubsub.v1.Publisher/UpdateTopic", in, out, opts...)
  6671  	if err != nil {
  6672  		return nil, err
  6673  	}
  6674  	return out, nil
  6675  }
  6676  
  6677  func (c *publisherClient) Publish(ctx context.Context, in *PublishRequest, opts ...grpc.CallOption) (*PublishResponse, error) {
  6678  	out := new(PublishResponse)
  6679  	err := c.cc.Invoke(ctx, "/google.pubsub.v1.Publisher/Publish", in, out, opts...)
  6680  	if err != nil {
  6681  		return nil, err
  6682  	}
  6683  	return out, nil
  6684  }
  6685  
  6686  func (c *publisherClient) GetTopic(ctx context.Context, in *GetTopicRequest, opts ...grpc.CallOption) (*Topic, error) {
  6687  	out := new(Topic)
  6688  	err := c.cc.Invoke(ctx, "/google.pubsub.v1.Publisher/GetTopic", in, out, opts...)
  6689  	if err != nil {
  6690  		return nil, err
  6691  	}
  6692  	return out, nil
  6693  }
  6694  
  6695  func (c *publisherClient) ListTopics(ctx context.Context, in *ListTopicsRequest, opts ...grpc.CallOption) (*ListTopicsResponse, error) {
  6696  	out := new(ListTopicsResponse)
  6697  	err := c.cc.Invoke(ctx, "/google.pubsub.v1.Publisher/ListTopics", in, out, opts...)
  6698  	if err != nil {
  6699  		return nil, err
  6700  	}
  6701  	return out, nil
  6702  }
  6703  
  6704  func (c *publisherClient) ListTopicSubscriptions(ctx context.Context, in *ListTopicSubscriptionsRequest, opts ...grpc.CallOption) (*ListTopicSubscriptionsResponse, error) {
  6705  	out := new(ListTopicSubscriptionsResponse)
  6706  	err := c.cc.Invoke(ctx, "/google.pubsub.v1.Publisher/ListTopicSubscriptions", in, out, opts...)
  6707  	if err != nil {
  6708  		return nil, err
  6709  	}
  6710  	return out, nil
  6711  }
  6712  
  6713  func (c *publisherClient) ListTopicSnapshots(ctx context.Context, in *ListTopicSnapshotsRequest, opts ...grpc.CallOption) (*ListTopicSnapshotsResponse, error) {
  6714  	out := new(ListTopicSnapshotsResponse)
  6715  	err := c.cc.Invoke(ctx, "/google.pubsub.v1.Publisher/ListTopicSnapshots", in, out, opts...)
  6716  	if err != nil {
  6717  		return nil, err
  6718  	}
  6719  	return out, nil
  6720  }
  6721  
  6722  func (c *publisherClient) DeleteTopic(ctx context.Context, in *DeleteTopicRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
  6723  	out := new(emptypb.Empty)
  6724  	err := c.cc.Invoke(ctx, "/google.pubsub.v1.Publisher/DeleteTopic", in, out, opts...)
  6725  	if err != nil {
  6726  		return nil, err
  6727  	}
  6728  	return out, nil
  6729  }
  6730  
  6731  func (c *publisherClient) DetachSubscription(ctx context.Context, in *DetachSubscriptionRequest, opts ...grpc.CallOption) (*DetachSubscriptionResponse, error) {
  6732  	out := new(DetachSubscriptionResponse)
  6733  	err := c.cc.Invoke(ctx, "/google.pubsub.v1.Publisher/DetachSubscription", in, out, opts...)
  6734  	if err != nil {
  6735  		return nil, err
  6736  	}
  6737  	return out, nil
  6738  }
  6739  
  6740  // PublisherServer is the server API for Publisher service.
  6741  type PublisherServer interface {
  6742  	// Creates the given topic with the given name. See the [resource name rules]
  6743  	// (https://cloud.google.com/pubsub/docs/pubsub-basics#resource_names).
  6744  	CreateTopic(context.Context, *Topic) (*Topic, error)
  6745  	// Updates an existing topic by updating the fields specified in the update
  6746  	// mask. Note that certain properties of a topic are not modifiable.
  6747  	UpdateTopic(context.Context, *UpdateTopicRequest) (*Topic, error)
  6748  	// Adds one or more messages to the topic. Returns `NOT_FOUND` if the topic
  6749  	// does not exist.
  6750  	Publish(context.Context, *PublishRequest) (*PublishResponse, error)
  6751  	// Gets the configuration of a topic.
  6752  	GetTopic(context.Context, *GetTopicRequest) (*Topic, error)
  6753  	// Lists matching topics.
  6754  	ListTopics(context.Context, *ListTopicsRequest) (*ListTopicsResponse, error)
  6755  	// Lists the names of the attached subscriptions on this topic.
  6756  	ListTopicSubscriptions(context.Context, *ListTopicSubscriptionsRequest) (*ListTopicSubscriptionsResponse, error)
  6757  	// Lists the names of the snapshots on this topic. Snapshots are used in
  6758  	// [Seek](https://cloud.google.com/pubsub/docs/replay-overview) operations,
  6759  	// which allow you to manage message acknowledgments in bulk. That is, you can
  6760  	// set the acknowledgment state of messages in an existing subscription to the
  6761  	// state captured by a snapshot.
  6762  	ListTopicSnapshots(context.Context, *ListTopicSnapshotsRequest) (*ListTopicSnapshotsResponse, error)
  6763  	// Deletes the topic with the given name. Returns `NOT_FOUND` if the topic
  6764  	// does not exist. After a topic is deleted, a new topic may be created with
  6765  	// the same name; this is an entirely new topic with none of the old
  6766  	// configuration or subscriptions. Existing subscriptions to this topic are
  6767  	// not deleted, but their `topic` field is set to `_deleted-topic_`.
  6768  	DeleteTopic(context.Context, *DeleteTopicRequest) (*emptypb.Empty, error)
  6769  	// Detaches a subscription from this topic. All messages retained in the
  6770  	// subscription are dropped. Subsequent `Pull` and `StreamingPull` requests
  6771  	// will return FAILED_PRECONDITION. If the subscription is a push
  6772  	// subscription, pushes to the endpoint will stop.
  6773  	DetachSubscription(context.Context, *DetachSubscriptionRequest) (*DetachSubscriptionResponse, error)
  6774  }
  6775  
  6776  // UnimplementedPublisherServer can be embedded to have forward compatible implementations.
  6777  type UnimplementedPublisherServer struct {
  6778  }
  6779  
  6780  func (*UnimplementedPublisherServer) CreateTopic(context.Context, *Topic) (*Topic, error) {
  6781  	return nil, status.Errorf(codes.Unimplemented, "method CreateTopic not implemented")
  6782  }
  6783  func (*UnimplementedPublisherServer) UpdateTopic(context.Context, *UpdateTopicRequest) (*Topic, error) {
  6784  	return nil, status.Errorf(codes.Unimplemented, "method UpdateTopic not implemented")
  6785  }
  6786  func (*UnimplementedPublisherServer) Publish(context.Context, *PublishRequest) (*PublishResponse, error) {
  6787  	return nil, status.Errorf(codes.Unimplemented, "method Publish not implemented")
  6788  }
  6789  func (*UnimplementedPublisherServer) GetTopic(context.Context, *GetTopicRequest) (*Topic, error) {
  6790  	return nil, status.Errorf(codes.Unimplemented, "method GetTopic not implemented")
  6791  }
  6792  func (*UnimplementedPublisherServer) ListTopics(context.Context, *ListTopicsRequest) (*ListTopicsResponse, error) {
  6793  	return nil, status.Errorf(codes.Unimplemented, "method ListTopics not implemented")
  6794  }
  6795  func (*UnimplementedPublisherServer) ListTopicSubscriptions(context.Context, *ListTopicSubscriptionsRequest) (*ListTopicSubscriptionsResponse, error) {
  6796  	return nil, status.Errorf(codes.Unimplemented, "method ListTopicSubscriptions not implemented")
  6797  }
  6798  func (*UnimplementedPublisherServer) ListTopicSnapshots(context.Context, *ListTopicSnapshotsRequest) (*ListTopicSnapshotsResponse, error) {
  6799  	return nil, status.Errorf(codes.Unimplemented, "method ListTopicSnapshots not implemented")
  6800  }
  6801  func (*UnimplementedPublisherServer) DeleteTopic(context.Context, *DeleteTopicRequest) (*emptypb.Empty, error) {
  6802  	return nil, status.Errorf(codes.Unimplemented, "method DeleteTopic not implemented")
  6803  }
  6804  func (*UnimplementedPublisherServer) DetachSubscription(context.Context, *DetachSubscriptionRequest) (*DetachSubscriptionResponse, error) {
  6805  	return nil, status.Errorf(codes.Unimplemented, "method DetachSubscription not implemented")
  6806  }
  6807  
  6808  func RegisterPublisherServer(s *grpc.Server, srv PublisherServer) {
  6809  	s.RegisterService(&_Publisher_serviceDesc, srv)
  6810  }
  6811  
  6812  func _Publisher_CreateTopic_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  6813  	in := new(Topic)
  6814  	if err := dec(in); err != nil {
  6815  		return nil, err
  6816  	}
  6817  	if interceptor == nil {
  6818  		return srv.(PublisherServer).CreateTopic(ctx, in)
  6819  	}
  6820  	info := &grpc.UnaryServerInfo{
  6821  		Server:     srv,
  6822  		FullMethod: "/google.pubsub.v1.Publisher/CreateTopic",
  6823  	}
  6824  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  6825  		return srv.(PublisherServer).CreateTopic(ctx, req.(*Topic))
  6826  	}
  6827  	return interceptor(ctx, in, info, handler)
  6828  }
  6829  
  6830  func _Publisher_UpdateTopic_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  6831  	in := new(UpdateTopicRequest)
  6832  	if err := dec(in); err != nil {
  6833  		return nil, err
  6834  	}
  6835  	if interceptor == nil {
  6836  		return srv.(PublisherServer).UpdateTopic(ctx, in)
  6837  	}
  6838  	info := &grpc.UnaryServerInfo{
  6839  		Server:     srv,
  6840  		FullMethod: "/google.pubsub.v1.Publisher/UpdateTopic",
  6841  	}
  6842  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  6843  		return srv.(PublisherServer).UpdateTopic(ctx, req.(*UpdateTopicRequest))
  6844  	}
  6845  	return interceptor(ctx, in, info, handler)
  6846  }
  6847  
  6848  func _Publisher_Publish_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  6849  	in := new(PublishRequest)
  6850  	if err := dec(in); err != nil {
  6851  		return nil, err
  6852  	}
  6853  	if interceptor == nil {
  6854  		return srv.(PublisherServer).Publish(ctx, in)
  6855  	}
  6856  	info := &grpc.UnaryServerInfo{
  6857  		Server:     srv,
  6858  		FullMethod: "/google.pubsub.v1.Publisher/Publish",
  6859  	}
  6860  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  6861  		return srv.(PublisherServer).Publish(ctx, req.(*PublishRequest))
  6862  	}
  6863  	return interceptor(ctx, in, info, handler)
  6864  }
  6865  
  6866  func _Publisher_GetTopic_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  6867  	in := new(GetTopicRequest)
  6868  	if err := dec(in); err != nil {
  6869  		return nil, err
  6870  	}
  6871  	if interceptor == nil {
  6872  		return srv.(PublisherServer).GetTopic(ctx, in)
  6873  	}
  6874  	info := &grpc.UnaryServerInfo{
  6875  		Server:     srv,
  6876  		FullMethod: "/google.pubsub.v1.Publisher/GetTopic",
  6877  	}
  6878  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  6879  		return srv.(PublisherServer).GetTopic(ctx, req.(*GetTopicRequest))
  6880  	}
  6881  	return interceptor(ctx, in, info, handler)
  6882  }
  6883  
  6884  func _Publisher_ListTopics_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  6885  	in := new(ListTopicsRequest)
  6886  	if err := dec(in); err != nil {
  6887  		return nil, err
  6888  	}
  6889  	if interceptor == nil {
  6890  		return srv.(PublisherServer).ListTopics(ctx, in)
  6891  	}
  6892  	info := &grpc.UnaryServerInfo{
  6893  		Server:     srv,
  6894  		FullMethod: "/google.pubsub.v1.Publisher/ListTopics",
  6895  	}
  6896  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  6897  		return srv.(PublisherServer).ListTopics(ctx, req.(*ListTopicsRequest))
  6898  	}
  6899  	return interceptor(ctx, in, info, handler)
  6900  }
  6901  
  6902  func _Publisher_ListTopicSubscriptions_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  6903  	in := new(ListTopicSubscriptionsRequest)
  6904  	if err := dec(in); err != nil {
  6905  		return nil, err
  6906  	}
  6907  	if interceptor == nil {
  6908  		return srv.(PublisherServer).ListTopicSubscriptions(ctx, in)
  6909  	}
  6910  	info := &grpc.UnaryServerInfo{
  6911  		Server:     srv,
  6912  		FullMethod: "/google.pubsub.v1.Publisher/ListTopicSubscriptions",
  6913  	}
  6914  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  6915  		return srv.(PublisherServer).ListTopicSubscriptions(ctx, req.(*ListTopicSubscriptionsRequest))
  6916  	}
  6917  	return interceptor(ctx, in, info, handler)
  6918  }
  6919  
  6920  func _Publisher_ListTopicSnapshots_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  6921  	in := new(ListTopicSnapshotsRequest)
  6922  	if err := dec(in); err != nil {
  6923  		return nil, err
  6924  	}
  6925  	if interceptor == nil {
  6926  		return srv.(PublisherServer).ListTopicSnapshots(ctx, in)
  6927  	}
  6928  	info := &grpc.UnaryServerInfo{
  6929  		Server:     srv,
  6930  		FullMethod: "/google.pubsub.v1.Publisher/ListTopicSnapshots",
  6931  	}
  6932  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  6933  		return srv.(PublisherServer).ListTopicSnapshots(ctx, req.(*ListTopicSnapshotsRequest))
  6934  	}
  6935  	return interceptor(ctx, in, info, handler)
  6936  }
  6937  
  6938  func _Publisher_DeleteTopic_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  6939  	in := new(DeleteTopicRequest)
  6940  	if err := dec(in); err != nil {
  6941  		return nil, err
  6942  	}
  6943  	if interceptor == nil {
  6944  		return srv.(PublisherServer).DeleteTopic(ctx, in)
  6945  	}
  6946  	info := &grpc.UnaryServerInfo{
  6947  		Server:     srv,
  6948  		FullMethod: "/google.pubsub.v1.Publisher/DeleteTopic",
  6949  	}
  6950  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  6951  		return srv.(PublisherServer).DeleteTopic(ctx, req.(*DeleteTopicRequest))
  6952  	}
  6953  	return interceptor(ctx, in, info, handler)
  6954  }
  6955  
  6956  func _Publisher_DetachSubscription_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  6957  	in := new(DetachSubscriptionRequest)
  6958  	if err := dec(in); err != nil {
  6959  		return nil, err
  6960  	}
  6961  	if interceptor == nil {
  6962  		return srv.(PublisherServer).DetachSubscription(ctx, in)
  6963  	}
  6964  	info := &grpc.UnaryServerInfo{
  6965  		Server:     srv,
  6966  		FullMethod: "/google.pubsub.v1.Publisher/DetachSubscription",
  6967  	}
  6968  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  6969  		return srv.(PublisherServer).DetachSubscription(ctx, req.(*DetachSubscriptionRequest))
  6970  	}
  6971  	return interceptor(ctx, in, info, handler)
  6972  }
  6973  
  6974  var _Publisher_serviceDesc = grpc.ServiceDesc{
  6975  	ServiceName: "google.pubsub.v1.Publisher",
  6976  	HandlerType: (*PublisherServer)(nil),
  6977  	Methods: []grpc.MethodDesc{
  6978  		{
  6979  			MethodName: "CreateTopic",
  6980  			Handler:    _Publisher_CreateTopic_Handler,
  6981  		},
  6982  		{
  6983  			MethodName: "UpdateTopic",
  6984  			Handler:    _Publisher_UpdateTopic_Handler,
  6985  		},
  6986  		{
  6987  			MethodName: "Publish",
  6988  			Handler:    _Publisher_Publish_Handler,
  6989  		},
  6990  		{
  6991  			MethodName: "GetTopic",
  6992  			Handler:    _Publisher_GetTopic_Handler,
  6993  		},
  6994  		{
  6995  			MethodName: "ListTopics",
  6996  			Handler:    _Publisher_ListTopics_Handler,
  6997  		},
  6998  		{
  6999  			MethodName: "ListTopicSubscriptions",
  7000  			Handler:    _Publisher_ListTopicSubscriptions_Handler,
  7001  		},
  7002  		{
  7003  			MethodName: "ListTopicSnapshots",
  7004  			Handler:    _Publisher_ListTopicSnapshots_Handler,
  7005  		},
  7006  		{
  7007  			MethodName: "DeleteTopic",
  7008  			Handler:    _Publisher_DeleteTopic_Handler,
  7009  		},
  7010  		{
  7011  			MethodName: "DetachSubscription",
  7012  			Handler:    _Publisher_DetachSubscription_Handler,
  7013  		},
  7014  	},
  7015  	Streams:  []grpc.StreamDesc{},
  7016  	Metadata: "google/pubsub/v1/pubsub.proto",
  7017  }
  7018  
  7019  // SubscriberClient is the client API for Subscriber service.
  7020  //
  7021  // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
  7022  type SubscriberClient interface {
  7023  	// Creates a subscription to a given topic. See the [resource name rules]
  7024  	// (https://cloud.google.com/pubsub/docs/pubsub-basics#resource_names).
  7025  	// If the subscription already exists, returns `ALREADY_EXISTS`.
  7026  	// If the corresponding topic doesn't exist, returns `NOT_FOUND`.
  7027  	//
  7028  	// If the name is not provided in the request, the server will assign a random
  7029  	// name for this subscription on the same project as the topic, conforming
  7030  	// to the [resource name format]
  7031  	// (https://cloud.google.com/pubsub/docs/pubsub-basics#resource_names). The
  7032  	// generated name is populated in the returned Subscription object. Note that
  7033  	// for REST API requests, you must specify a name in the request.
  7034  	CreateSubscription(ctx context.Context, in *Subscription, opts ...grpc.CallOption) (*Subscription, error)
  7035  	// Gets the configuration details of a subscription.
  7036  	GetSubscription(ctx context.Context, in *GetSubscriptionRequest, opts ...grpc.CallOption) (*Subscription, error)
  7037  	// Updates an existing subscription by updating the fields specified in the
  7038  	// update mask. Note that certain properties of a subscription, such as its
  7039  	// topic, are not modifiable.
  7040  	UpdateSubscription(ctx context.Context, in *UpdateSubscriptionRequest, opts ...grpc.CallOption) (*Subscription, error)
  7041  	// Lists matching subscriptions.
  7042  	ListSubscriptions(ctx context.Context, in *ListSubscriptionsRequest, opts ...grpc.CallOption) (*ListSubscriptionsResponse, error)
  7043  	// Deletes an existing subscription. All messages retained in the subscription
  7044  	// are immediately dropped. Calls to `Pull` after deletion will return
  7045  	// `NOT_FOUND`. After a subscription is deleted, a new one may be created with
  7046  	// the same name, but the new one has no association with the old
  7047  	// subscription or its topic unless the same topic is specified.
  7048  	DeleteSubscription(ctx context.Context, in *DeleteSubscriptionRequest, opts ...grpc.CallOption) (*emptypb.Empty, error)
  7049  	// Modifies the ack deadline for a specific message. This method is useful
  7050  	// to indicate that more time is needed to process a message by the
  7051  	// subscriber, or to make the message available for redelivery if the
  7052  	// processing was interrupted. Note that this does not modify the
  7053  	// subscription-level `ackDeadlineSeconds` used for subsequent messages.
  7054  	ModifyAckDeadline(ctx context.Context, in *ModifyAckDeadlineRequest, opts ...grpc.CallOption) (*emptypb.Empty, error)
  7055  	// Acknowledges the messages associated with the `ack_ids` in the
  7056  	// `AcknowledgeRequest`. The Pub/Sub system can remove the relevant messages
  7057  	// from the subscription.
  7058  	//
  7059  	// Acknowledging a message whose ack deadline has expired may succeed,
  7060  	// but such a message may be redelivered later. Acknowledging a message more
  7061  	// than once will not result in an error.
  7062  	Acknowledge(ctx context.Context, in *AcknowledgeRequest, opts ...grpc.CallOption) (*emptypb.Empty, error)
  7063  	// Pulls messages from the server.
  7064  	Pull(ctx context.Context, in *PullRequest, opts ...grpc.CallOption) (*PullResponse, error)
  7065  	// Establishes a stream with the server, which sends messages down to the
  7066  	// client. The client streams acknowledgements and ack deadline modifications
  7067  	// back to the server. The server will close the stream and return the status
  7068  	// on any error. The server may close the stream with status `UNAVAILABLE` to
  7069  	// reassign server-side resources, in which case, the client should
  7070  	// re-establish the stream. Flow control can be achieved by configuring the
  7071  	// underlying RPC channel.
  7072  	StreamingPull(ctx context.Context, opts ...grpc.CallOption) (Subscriber_StreamingPullClient, error)
  7073  	// Modifies the `PushConfig` for a specified subscription.
  7074  	//
  7075  	// This may be used to change a push subscription to a pull one (signified by
  7076  	// an empty `PushConfig`) or vice versa, or change the endpoint URL and other
  7077  	// attributes of a push subscription. Messages will accumulate for delivery
  7078  	// continuously through the call regardless of changes to the `PushConfig`.
  7079  	ModifyPushConfig(ctx context.Context, in *ModifyPushConfigRequest, opts ...grpc.CallOption) (*emptypb.Empty, error)
  7080  	// Gets the configuration details of a snapshot. Snapshots are used in
  7081  	// [Seek](https://cloud.google.com/pubsub/docs/replay-overview) operations,
  7082  	// which allow you to manage message acknowledgments in bulk. That is, you can
  7083  	// set the acknowledgment state of messages in an existing subscription to the
  7084  	// state captured by a snapshot.
  7085  	GetSnapshot(ctx context.Context, in *GetSnapshotRequest, opts ...grpc.CallOption) (*Snapshot, error)
  7086  	// Lists the existing snapshots. Snapshots are used in [Seek](
  7087  	// https://cloud.google.com/pubsub/docs/replay-overview) operations, which
  7088  	// allow you to manage message acknowledgments in bulk. That is, you can set
  7089  	// the acknowledgment state of messages in an existing subscription to the
  7090  	// state captured by a snapshot.
  7091  	ListSnapshots(ctx context.Context, in *ListSnapshotsRequest, opts ...grpc.CallOption) (*ListSnapshotsResponse, error)
  7092  	// Creates a snapshot from the requested subscription. Snapshots are used in
  7093  	// [Seek](https://cloud.google.com/pubsub/docs/replay-overview) operations,
  7094  	// which allow you to manage message acknowledgments in bulk. That is, you can
  7095  	// set the acknowledgment state of messages in an existing subscription to the
  7096  	// state captured by a snapshot.
  7097  	// If the snapshot already exists, returns `ALREADY_EXISTS`.
  7098  	// If the requested subscription doesn't exist, returns `NOT_FOUND`.
  7099  	// If the backlog in the subscription is too old -- and the resulting snapshot
  7100  	// would expire in less than 1 hour -- then `FAILED_PRECONDITION` is returned.
  7101  	// See also the `Snapshot.expire_time` field. If the name is not provided in
  7102  	// the request, the server will assign a random
  7103  	// name for this snapshot on the same project as the subscription, conforming
  7104  	// to the [resource name format]
  7105  	// (https://cloud.google.com/pubsub/docs/pubsub-basics#resource_names). The
  7106  	// generated name is populated in the returned Snapshot object. Note that for
  7107  	// REST API requests, you must specify a name in the request.
  7108  	CreateSnapshot(ctx context.Context, in *CreateSnapshotRequest, opts ...grpc.CallOption) (*Snapshot, error)
  7109  	// Updates an existing snapshot by updating the fields specified in the update
  7110  	// mask. Snapshots are used in
  7111  	// [Seek](https://cloud.google.com/pubsub/docs/replay-overview) operations,
  7112  	// which allow you to manage message acknowledgments in bulk. That is, you can
  7113  	// set the acknowledgment state of messages in an existing subscription to the
  7114  	// state captured by a snapshot.
  7115  	UpdateSnapshot(ctx context.Context, in *UpdateSnapshotRequest, opts ...grpc.CallOption) (*Snapshot, error)
  7116  	// Removes an existing snapshot. Snapshots are used in [Seek]
  7117  	// (https://cloud.google.com/pubsub/docs/replay-overview) operations, which
  7118  	// allow you to manage message acknowledgments in bulk. That is, you can set
  7119  	// the acknowledgment state of messages in an existing subscription to the
  7120  	// state captured by a snapshot.
  7121  	// When the snapshot is deleted, all messages retained in the snapshot
  7122  	// are immediately dropped. After a snapshot is deleted, a new one may be
  7123  	// created with the same name, but the new one has no association with the old
  7124  	// snapshot or its subscription, unless the same subscription is specified.
  7125  	DeleteSnapshot(ctx context.Context, in *DeleteSnapshotRequest, opts ...grpc.CallOption) (*emptypb.Empty, error)
  7126  	// Seeks an existing subscription to a point in time or to a given snapshot,
  7127  	// whichever is provided in the request. Snapshots are used in [Seek]
  7128  	// (https://cloud.google.com/pubsub/docs/replay-overview) operations, which
  7129  	// allow you to manage message acknowledgments in bulk. That is, you can set
  7130  	// the acknowledgment state of messages in an existing subscription to the
  7131  	// state captured by a snapshot. Note that both the subscription and the
  7132  	// snapshot must be on the same topic.
  7133  	Seek(ctx context.Context, in *SeekRequest, opts ...grpc.CallOption) (*SeekResponse, error)
  7134  }
  7135  
  7136  type subscriberClient struct {
  7137  	cc grpc.ClientConnInterface
  7138  }
  7139  
  7140  func NewSubscriberClient(cc grpc.ClientConnInterface) SubscriberClient {
  7141  	return &subscriberClient{cc}
  7142  }
  7143  
  7144  func (c *subscriberClient) CreateSubscription(ctx context.Context, in *Subscription, opts ...grpc.CallOption) (*Subscription, error) {
  7145  	out := new(Subscription)
  7146  	err := c.cc.Invoke(ctx, "/google.pubsub.v1.Subscriber/CreateSubscription", in, out, opts...)
  7147  	if err != nil {
  7148  		return nil, err
  7149  	}
  7150  	return out, nil
  7151  }
  7152  
  7153  func (c *subscriberClient) GetSubscription(ctx context.Context, in *GetSubscriptionRequest, opts ...grpc.CallOption) (*Subscription, error) {
  7154  	out := new(Subscription)
  7155  	err := c.cc.Invoke(ctx, "/google.pubsub.v1.Subscriber/GetSubscription", in, out, opts...)
  7156  	if err != nil {
  7157  		return nil, err
  7158  	}
  7159  	return out, nil
  7160  }
  7161  
  7162  func (c *subscriberClient) UpdateSubscription(ctx context.Context, in *UpdateSubscriptionRequest, opts ...grpc.CallOption) (*Subscription, error) {
  7163  	out := new(Subscription)
  7164  	err := c.cc.Invoke(ctx, "/google.pubsub.v1.Subscriber/UpdateSubscription", in, out, opts...)
  7165  	if err != nil {
  7166  		return nil, err
  7167  	}
  7168  	return out, nil
  7169  }
  7170  
  7171  func (c *subscriberClient) ListSubscriptions(ctx context.Context, in *ListSubscriptionsRequest, opts ...grpc.CallOption) (*ListSubscriptionsResponse, error) {
  7172  	out := new(ListSubscriptionsResponse)
  7173  	err := c.cc.Invoke(ctx, "/google.pubsub.v1.Subscriber/ListSubscriptions", in, out, opts...)
  7174  	if err != nil {
  7175  		return nil, err
  7176  	}
  7177  	return out, nil
  7178  }
  7179  
  7180  func (c *subscriberClient) DeleteSubscription(ctx context.Context, in *DeleteSubscriptionRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
  7181  	out := new(emptypb.Empty)
  7182  	err := c.cc.Invoke(ctx, "/google.pubsub.v1.Subscriber/DeleteSubscription", in, out, opts...)
  7183  	if err != nil {
  7184  		return nil, err
  7185  	}
  7186  	return out, nil
  7187  }
  7188  
  7189  func (c *subscriberClient) ModifyAckDeadline(ctx context.Context, in *ModifyAckDeadlineRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
  7190  	out := new(emptypb.Empty)
  7191  	err := c.cc.Invoke(ctx, "/google.pubsub.v1.Subscriber/ModifyAckDeadline", in, out, opts...)
  7192  	if err != nil {
  7193  		return nil, err
  7194  	}
  7195  	return out, nil
  7196  }
  7197  
  7198  func (c *subscriberClient) Acknowledge(ctx context.Context, in *AcknowledgeRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
  7199  	out := new(emptypb.Empty)
  7200  	err := c.cc.Invoke(ctx, "/google.pubsub.v1.Subscriber/Acknowledge", in, out, opts...)
  7201  	if err != nil {
  7202  		return nil, err
  7203  	}
  7204  	return out, nil
  7205  }
  7206  
  7207  func (c *subscriberClient) Pull(ctx context.Context, in *PullRequest, opts ...grpc.CallOption) (*PullResponse, error) {
  7208  	out := new(PullResponse)
  7209  	err := c.cc.Invoke(ctx, "/google.pubsub.v1.Subscriber/Pull", in, out, opts...)
  7210  	if err != nil {
  7211  		return nil, err
  7212  	}
  7213  	return out, nil
  7214  }
  7215  
  7216  func (c *subscriberClient) StreamingPull(ctx context.Context, opts ...grpc.CallOption) (Subscriber_StreamingPullClient, error) {
  7217  	stream, err := c.cc.NewStream(ctx, &_Subscriber_serviceDesc.Streams[0], "/google.pubsub.v1.Subscriber/StreamingPull", opts...)
  7218  	if err != nil {
  7219  		return nil, err
  7220  	}
  7221  	x := &subscriberStreamingPullClient{stream}
  7222  	return x, nil
  7223  }
  7224  
  7225  type Subscriber_StreamingPullClient interface {
  7226  	Send(*StreamingPullRequest) error
  7227  	Recv() (*StreamingPullResponse, error)
  7228  	grpc.ClientStream
  7229  }
  7230  
  7231  type subscriberStreamingPullClient struct {
  7232  	grpc.ClientStream
  7233  }
  7234  
  7235  func (x *subscriberStreamingPullClient) Send(m *StreamingPullRequest) error {
  7236  	return x.ClientStream.SendMsg(m)
  7237  }
  7238  
  7239  func (x *subscriberStreamingPullClient) Recv() (*StreamingPullResponse, error) {
  7240  	m := new(StreamingPullResponse)
  7241  	if err := x.ClientStream.RecvMsg(m); err != nil {
  7242  		return nil, err
  7243  	}
  7244  	return m, nil
  7245  }
  7246  
  7247  func (c *subscriberClient) ModifyPushConfig(ctx context.Context, in *ModifyPushConfigRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
  7248  	out := new(emptypb.Empty)
  7249  	err := c.cc.Invoke(ctx, "/google.pubsub.v1.Subscriber/ModifyPushConfig", in, out, opts...)
  7250  	if err != nil {
  7251  		return nil, err
  7252  	}
  7253  	return out, nil
  7254  }
  7255  
  7256  func (c *subscriberClient) GetSnapshot(ctx context.Context, in *GetSnapshotRequest, opts ...grpc.CallOption) (*Snapshot, error) {
  7257  	out := new(Snapshot)
  7258  	err := c.cc.Invoke(ctx, "/google.pubsub.v1.Subscriber/GetSnapshot", in, out, opts...)
  7259  	if err != nil {
  7260  		return nil, err
  7261  	}
  7262  	return out, nil
  7263  }
  7264  
  7265  func (c *subscriberClient) ListSnapshots(ctx context.Context, in *ListSnapshotsRequest, opts ...grpc.CallOption) (*ListSnapshotsResponse, error) {
  7266  	out := new(ListSnapshotsResponse)
  7267  	err := c.cc.Invoke(ctx, "/google.pubsub.v1.Subscriber/ListSnapshots", in, out, opts...)
  7268  	if err != nil {
  7269  		return nil, err
  7270  	}
  7271  	return out, nil
  7272  }
  7273  
  7274  func (c *subscriberClient) CreateSnapshot(ctx context.Context, in *CreateSnapshotRequest, opts ...grpc.CallOption) (*Snapshot, error) {
  7275  	out := new(Snapshot)
  7276  	err := c.cc.Invoke(ctx, "/google.pubsub.v1.Subscriber/CreateSnapshot", in, out, opts...)
  7277  	if err != nil {
  7278  		return nil, err
  7279  	}
  7280  	return out, nil
  7281  }
  7282  
  7283  func (c *subscriberClient) UpdateSnapshot(ctx context.Context, in *UpdateSnapshotRequest, opts ...grpc.CallOption) (*Snapshot, error) {
  7284  	out := new(Snapshot)
  7285  	err := c.cc.Invoke(ctx, "/google.pubsub.v1.Subscriber/UpdateSnapshot", in, out, opts...)
  7286  	if err != nil {
  7287  		return nil, err
  7288  	}
  7289  	return out, nil
  7290  }
  7291  
  7292  func (c *subscriberClient) DeleteSnapshot(ctx context.Context, in *DeleteSnapshotRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
  7293  	out := new(emptypb.Empty)
  7294  	err := c.cc.Invoke(ctx, "/google.pubsub.v1.Subscriber/DeleteSnapshot", in, out, opts...)
  7295  	if err != nil {
  7296  		return nil, err
  7297  	}
  7298  	return out, nil
  7299  }
  7300  
  7301  func (c *subscriberClient) Seek(ctx context.Context, in *SeekRequest, opts ...grpc.CallOption) (*SeekResponse, error) {
  7302  	out := new(SeekResponse)
  7303  	err := c.cc.Invoke(ctx, "/google.pubsub.v1.Subscriber/Seek", in, out, opts...)
  7304  	if err != nil {
  7305  		return nil, err
  7306  	}
  7307  	return out, nil
  7308  }
  7309  
  7310  // SubscriberServer is the server API for Subscriber service.
  7311  type SubscriberServer interface {
  7312  	// Creates a subscription to a given topic. See the [resource name rules]
  7313  	// (https://cloud.google.com/pubsub/docs/pubsub-basics#resource_names).
  7314  	// If the subscription already exists, returns `ALREADY_EXISTS`.
  7315  	// If the corresponding topic doesn't exist, returns `NOT_FOUND`.
  7316  	//
  7317  	// If the name is not provided in the request, the server will assign a random
  7318  	// name for this subscription on the same project as the topic, conforming
  7319  	// to the [resource name format]
  7320  	// (https://cloud.google.com/pubsub/docs/pubsub-basics#resource_names). The
  7321  	// generated name is populated in the returned Subscription object. Note that
  7322  	// for REST API requests, you must specify a name in the request.
  7323  	CreateSubscription(context.Context, *Subscription) (*Subscription, error)
  7324  	// Gets the configuration details of a subscription.
  7325  	GetSubscription(context.Context, *GetSubscriptionRequest) (*Subscription, error)
  7326  	// Updates an existing subscription by updating the fields specified in the
  7327  	// update mask. Note that certain properties of a subscription, such as its
  7328  	// topic, are not modifiable.
  7329  	UpdateSubscription(context.Context, *UpdateSubscriptionRequest) (*Subscription, error)
  7330  	// Lists matching subscriptions.
  7331  	ListSubscriptions(context.Context, *ListSubscriptionsRequest) (*ListSubscriptionsResponse, error)
  7332  	// Deletes an existing subscription. All messages retained in the subscription
  7333  	// are immediately dropped. Calls to `Pull` after deletion will return
  7334  	// `NOT_FOUND`. After a subscription is deleted, a new one may be created with
  7335  	// the same name, but the new one has no association with the old
  7336  	// subscription or its topic unless the same topic is specified.
  7337  	DeleteSubscription(context.Context, *DeleteSubscriptionRequest) (*emptypb.Empty, error)
  7338  	// Modifies the ack deadline for a specific message. This method is useful
  7339  	// to indicate that more time is needed to process a message by the
  7340  	// subscriber, or to make the message available for redelivery if the
  7341  	// processing was interrupted. Note that this does not modify the
  7342  	// subscription-level `ackDeadlineSeconds` used for subsequent messages.
  7343  	ModifyAckDeadline(context.Context, *ModifyAckDeadlineRequest) (*emptypb.Empty, error)
  7344  	// Acknowledges the messages associated with the `ack_ids` in the
  7345  	// `AcknowledgeRequest`. The Pub/Sub system can remove the relevant messages
  7346  	// from the subscription.
  7347  	//
  7348  	// Acknowledging a message whose ack deadline has expired may succeed,
  7349  	// but such a message may be redelivered later. Acknowledging a message more
  7350  	// than once will not result in an error.
  7351  	Acknowledge(context.Context, *AcknowledgeRequest) (*emptypb.Empty, error)
  7352  	// Pulls messages from the server.
  7353  	Pull(context.Context, *PullRequest) (*PullResponse, error)
  7354  	// Establishes a stream with the server, which sends messages down to the
  7355  	// client. The client streams acknowledgements and ack deadline modifications
  7356  	// back to the server. The server will close the stream and return the status
  7357  	// on any error. The server may close the stream with status `UNAVAILABLE` to
  7358  	// reassign server-side resources, in which case, the client should
  7359  	// re-establish the stream. Flow control can be achieved by configuring the
  7360  	// underlying RPC channel.
  7361  	StreamingPull(Subscriber_StreamingPullServer) error
  7362  	// Modifies the `PushConfig` for a specified subscription.
  7363  	//
  7364  	// This may be used to change a push subscription to a pull one (signified by
  7365  	// an empty `PushConfig`) or vice versa, or change the endpoint URL and other
  7366  	// attributes of a push subscription. Messages will accumulate for delivery
  7367  	// continuously through the call regardless of changes to the `PushConfig`.
  7368  	ModifyPushConfig(context.Context, *ModifyPushConfigRequest) (*emptypb.Empty, error)
  7369  	// Gets the configuration details of a snapshot. Snapshots are used in
  7370  	// [Seek](https://cloud.google.com/pubsub/docs/replay-overview) operations,
  7371  	// which allow you to manage message acknowledgments in bulk. That is, you can
  7372  	// set the acknowledgment state of messages in an existing subscription to the
  7373  	// state captured by a snapshot.
  7374  	GetSnapshot(context.Context, *GetSnapshotRequest) (*Snapshot, error)
  7375  	// Lists the existing snapshots. Snapshots are used in [Seek](
  7376  	// https://cloud.google.com/pubsub/docs/replay-overview) operations, which
  7377  	// allow you to manage message acknowledgments in bulk. That is, you can set
  7378  	// the acknowledgment state of messages in an existing subscription to the
  7379  	// state captured by a snapshot.
  7380  	ListSnapshots(context.Context, *ListSnapshotsRequest) (*ListSnapshotsResponse, error)
  7381  	// Creates a snapshot from the requested subscription. Snapshots are used in
  7382  	// [Seek](https://cloud.google.com/pubsub/docs/replay-overview) operations,
  7383  	// which allow you to manage message acknowledgments in bulk. That is, you can
  7384  	// set the acknowledgment state of messages in an existing subscription to the
  7385  	// state captured by a snapshot.
  7386  	// If the snapshot already exists, returns `ALREADY_EXISTS`.
  7387  	// If the requested subscription doesn't exist, returns `NOT_FOUND`.
  7388  	// If the backlog in the subscription is too old -- and the resulting snapshot
  7389  	// would expire in less than 1 hour -- then `FAILED_PRECONDITION` is returned.
  7390  	// See also the `Snapshot.expire_time` field. If the name is not provided in
  7391  	// the request, the server will assign a random
  7392  	// name for this snapshot on the same project as the subscription, conforming
  7393  	// to the [resource name format]
  7394  	// (https://cloud.google.com/pubsub/docs/pubsub-basics#resource_names). The
  7395  	// generated name is populated in the returned Snapshot object. Note that for
  7396  	// REST API requests, you must specify a name in the request.
  7397  	CreateSnapshot(context.Context, *CreateSnapshotRequest) (*Snapshot, error)
  7398  	// Updates an existing snapshot by updating the fields specified in the update
  7399  	// mask. Snapshots are used in
  7400  	// [Seek](https://cloud.google.com/pubsub/docs/replay-overview) operations,
  7401  	// which allow you to manage message acknowledgments in bulk. That is, you can
  7402  	// set the acknowledgment state of messages in an existing subscription to the
  7403  	// state captured by a snapshot.
  7404  	UpdateSnapshot(context.Context, *UpdateSnapshotRequest) (*Snapshot, error)
  7405  	// Removes an existing snapshot. Snapshots are used in [Seek]
  7406  	// (https://cloud.google.com/pubsub/docs/replay-overview) operations, which
  7407  	// allow you to manage message acknowledgments in bulk. That is, you can set
  7408  	// the acknowledgment state of messages in an existing subscription to the
  7409  	// state captured by a snapshot.
  7410  	// When the snapshot is deleted, all messages retained in the snapshot
  7411  	// are immediately dropped. After a snapshot is deleted, a new one may be
  7412  	// created with the same name, but the new one has no association with the old
  7413  	// snapshot or its subscription, unless the same subscription is specified.
  7414  	DeleteSnapshot(context.Context, *DeleteSnapshotRequest) (*emptypb.Empty, error)
  7415  	// Seeks an existing subscription to a point in time or to a given snapshot,
  7416  	// whichever is provided in the request. Snapshots are used in [Seek]
  7417  	// (https://cloud.google.com/pubsub/docs/replay-overview) operations, which
  7418  	// allow you to manage message acknowledgments in bulk. That is, you can set
  7419  	// the acknowledgment state of messages in an existing subscription to the
  7420  	// state captured by a snapshot. Note that both the subscription and the
  7421  	// snapshot must be on the same topic.
  7422  	Seek(context.Context, *SeekRequest) (*SeekResponse, error)
  7423  }
  7424  
  7425  // UnimplementedSubscriberServer can be embedded to have forward compatible implementations.
  7426  type UnimplementedSubscriberServer struct {
  7427  }
  7428  
  7429  func (*UnimplementedSubscriberServer) CreateSubscription(context.Context, *Subscription) (*Subscription, error) {
  7430  	return nil, status.Errorf(codes.Unimplemented, "method CreateSubscription not implemented")
  7431  }
  7432  func (*UnimplementedSubscriberServer) GetSubscription(context.Context, *GetSubscriptionRequest) (*Subscription, error) {
  7433  	return nil, status.Errorf(codes.Unimplemented, "method GetSubscription not implemented")
  7434  }
  7435  func (*UnimplementedSubscriberServer) UpdateSubscription(context.Context, *UpdateSubscriptionRequest) (*Subscription, error) {
  7436  	return nil, status.Errorf(codes.Unimplemented, "method UpdateSubscription not implemented")
  7437  }
  7438  func (*UnimplementedSubscriberServer) ListSubscriptions(context.Context, *ListSubscriptionsRequest) (*ListSubscriptionsResponse, error) {
  7439  	return nil, status.Errorf(codes.Unimplemented, "method ListSubscriptions not implemented")
  7440  }
  7441  func (*UnimplementedSubscriberServer) DeleteSubscription(context.Context, *DeleteSubscriptionRequest) (*emptypb.Empty, error) {
  7442  	return nil, status.Errorf(codes.Unimplemented, "method DeleteSubscription not implemented")
  7443  }
  7444  func (*UnimplementedSubscriberServer) ModifyAckDeadline(context.Context, *ModifyAckDeadlineRequest) (*emptypb.Empty, error) {
  7445  	return nil, status.Errorf(codes.Unimplemented, "method ModifyAckDeadline not implemented")
  7446  }
  7447  func (*UnimplementedSubscriberServer) Acknowledge(context.Context, *AcknowledgeRequest) (*emptypb.Empty, error) {
  7448  	return nil, status.Errorf(codes.Unimplemented, "method Acknowledge not implemented")
  7449  }
  7450  func (*UnimplementedSubscriberServer) Pull(context.Context, *PullRequest) (*PullResponse, error) {
  7451  	return nil, status.Errorf(codes.Unimplemented, "method Pull not implemented")
  7452  }
  7453  func (*UnimplementedSubscriberServer) StreamingPull(Subscriber_StreamingPullServer) error {
  7454  	return status.Errorf(codes.Unimplemented, "method StreamingPull not implemented")
  7455  }
  7456  func (*UnimplementedSubscriberServer) ModifyPushConfig(context.Context, *ModifyPushConfigRequest) (*emptypb.Empty, error) {
  7457  	return nil, status.Errorf(codes.Unimplemented, "method ModifyPushConfig not implemented")
  7458  }
  7459  func (*UnimplementedSubscriberServer) GetSnapshot(context.Context, *GetSnapshotRequest) (*Snapshot, error) {
  7460  	return nil, status.Errorf(codes.Unimplemented, "method GetSnapshot not implemented")
  7461  }
  7462  func (*UnimplementedSubscriberServer) ListSnapshots(context.Context, *ListSnapshotsRequest) (*ListSnapshotsResponse, error) {
  7463  	return nil, status.Errorf(codes.Unimplemented, "method ListSnapshots not implemented")
  7464  }
  7465  func (*UnimplementedSubscriberServer) CreateSnapshot(context.Context, *CreateSnapshotRequest) (*Snapshot, error) {
  7466  	return nil, status.Errorf(codes.Unimplemented, "method CreateSnapshot not implemented")
  7467  }
  7468  func (*UnimplementedSubscriberServer) UpdateSnapshot(context.Context, *UpdateSnapshotRequest) (*Snapshot, error) {
  7469  	return nil, status.Errorf(codes.Unimplemented, "method UpdateSnapshot not implemented")
  7470  }
  7471  func (*UnimplementedSubscriberServer) DeleteSnapshot(context.Context, *DeleteSnapshotRequest) (*emptypb.Empty, error) {
  7472  	return nil, status.Errorf(codes.Unimplemented, "method DeleteSnapshot not implemented")
  7473  }
  7474  func (*UnimplementedSubscriberServer) Seek(context.Context, *SeekRequest) (*SeekResponse, error) {
  7475  	return nil, status.Errorf(codes.Unimplemented, "method Seek not implemented")
  7476  }
  7477  
  7478  func RegisterSubscriberServer(s *grpc.Server, srv SubscriberServer) {
  7479  	s.RegisterService(&_Subscriber_serviceDesc, srv)
  7480  }
  7481  
  7482  func _Subscriber_CreateSubscription_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  7483  	in := new(Subscription)
  7484  	if err := dec(in); err != nil {
  7485  		return nil, err
  7486  	}
  7487  	if interceptor == nil {
  7488  		return srv.(SubscriberServer).CreateSubscription(ctx, in)
  7489  	}
  7490  	info := &grpc.UnaryServerInfo{
  7491  		Server:     srv,
  7492  		FullMethod: "/google.pubsub.v1.Subscriber/CreateSubscription",
  7493  	}
  7494  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  7495  		return srv.(SubscriberServer).CreateSubscription(ctx, req.(*Subscription))
  7496  	}
  7497  	return interceptor(ctx, in, info, handler)
  7498  }
  7499  
  7500  func _Subscriber_GetSubscription_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  7501  	in := new(GetSubscriptionRequest)
  7502  	if err := dec(in); err != nil {
  7503  		return nil, err
  7504  	}
  7505  	if interceptor == nil {
  7506  		return srv.(SubscriberServer).GetSubscription(ctx, in)
  7507  	}
  7508  	info := &grpc.UnaryServerInfo{
  7509  		Server:     srv,
  7510  		FullMethod: "/google.pubsub.v1.Subscriber/GetSubscription",
  7511  	}
  7512  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  7513  		return srv.(SubscriberServer).GetSubscription(ctx, req.(*GetSubscriptionRequest))
  7514  	}
  7515  	return interceptor(ctx, in, info, handler)
  7516  }
  7517  
  7518  func _Subscriber_UpdateSubscription_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  7519  	in := new(UpdateSubscriptionRequest)
  7520  	if err := dec(in); err != nil {
  7521  		return nil, err
  7522  	}
  7523  	if interceptor == nil {
  7524  		return srv.(SubscriberServer).UpdateSubscription(ctx, in)
  7525  	}
  7526  	info := &grpc.UnaryServerInfo{
  7527  		Server:     srv,
  7528  		FullMethod: "/google.pubsub.v1.Subscriber/UpdateSubscription",
  7529  	}
  7530  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  7531  		return srv.(SubscriberServer).UpdateSubscription(ctx, req.(*UpdateSubscriptionRequest))
  7532  	}
  7533  	return interceptor(ctx, in, info, handler)
  7534  }
  7535  
  7536  func _Subscriber_ListSubscriptions_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  7537  	in := new(ListSubscriptionsRequest)
  7538  	if err := dec(in); err != nil {
  7539  		return nil, err
  7540  	}
  7541  	if interceptor == nil {
  7542  		return srv.(SubscriberServer).ListSubscriptions(ctx, in)
  7543  	}
  7544  	info := &grpc.UnaryServerInfo{
  7545  		Server:     srv,
  7546  		FullMethod: "/google.pubsub.v1.Subscriber/ListSubscriptions",
  7547  	}
  7548  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  7549  		return srv.(SubscriberServer).ListSubscriptions(ctx, req.(*ListSubscriptionsRequest))
  7550  	}
  7551  	return interceptor(ctx, in, info, handler)
  7552  }
  7553  
  7554  func _Subscriber_DeleteSubscription_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  7555  	in := new(DeleteSubscriptionRequest)
  7556  	if err := dec(in); err != nil {
  7557  		return nil, err
  7558  	}
  7559  	if interceptor == nil {
  7560  		return srv.(SubscriberServer).DeleteSubscription(ctx, in)
  7561  	}
  7562  	info := &grpc.UnaryServerInfo{
  7563  		Server:     srv,
  7564  		FullMethod: "/google.pubsub.v1.Subscriber/DeleteSubscription",
  7565  	}
  7566  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  7567  		return srv.(SubscriberServer).DeleteSubscription(ctx, req.(*DeleteSubscriptionRequest))
  7568  	}
  7569  	return interceptor(ctx, in, info, handler)
  7570  }
  7571  
  7572  func _Subscriber_ModifyAckDeadline_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  7573  	in := new(ModifyAckDeadlineRequest)
  7574  	if err := dec(in); err != nil {
  7575  		return nil, err
  7576  	}
  7577  	if interceptor == nil {
  7578  		return srv.(SubscriberServer).ModifyAckDeadline(ctx, in)
  7579  	}
  7580  	info := &grpc.UnaryServerInfo{
  7581  		Server:     srv,
  7582  		FullMethod: "/google.pubsub.v1.Subscriber/ModifyAckDeadline",
  7583  	}
  7584  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  7585  		return srv.(SubscriberServer).ModifyAckDeadline(ctx, req.(*ModifyAckDeadlineRequest))
  7586  	}
  7587  	return interceptor(ctx, in, info, handler)
  7588  }
  7589  
  7590  func _Subscriber_Acknowledge_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  7591  	in := new(AcknowledgeRequest)
  7592  	if err := dec(in); err != nil {
  7593  		return nil, err
  7594  	}
  7595  	if interceptor == nil {
  7596  		return srv.(SubscriberServer).Acknowledge(ctx, in)
  7597  	}
  7598  	info := &grpc.UnaryServerInfo{
  7599  		Server:     srv,
  7600  		FullMethod: "/google.pubsub.v1.Subscriber/Acknowledge",
  7601  	}
  7602  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  7603  		return srv.(SubscriberServer).Acknowledge(ctx, req.(*AcknowledgeRequest))
  7604  	}
  7605  	return interceptor(ctx, in, info, handler)
  7606  }
  7607  
  7608  func _Subscriber_Pull_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  7609  	in := new(PullRequest)
  7610  	if err := dec(in); err != nil {
  7611  		return nil, err
  7612  	}
  7613  	if interceptor == nil {
  7614  		return srv.(SubscriberServer).Pull(ctx, in)
  7615  	}
  7616  	info := &grpc.UnaryServerInfo{
  7617  		Server:     srv,
  7618  		FullMethod: "/google.pubsub.v1.Subscriber/Pull",
  7619  	}
  7620  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  7621  		return srv.(SubscriberServer).Pull(ctx, req.(*PullRequest))
  7622  	}
  7623  	return interceptor(ctx, in, info, handler)
  7624  }
  7625  
  7626  func _Subscriber_StreamingPull_Handler(srv interface{}, stream grpc.ServerStream) error {
  7627  	return srv.(SubscriberServer).StreamingPull(&subscriberStreamingPullServer{stream})
  7628  }
  7629  
  7630  type Subscriber_StreamingPullServer interface {
  7631  	Send(*StreamingPullResponse) error
  7632  	Recv() (*StreamingPullRequest, error)
  7633  	grpc.ServerStream
  7634  }
  7635  
  7636  type subscriberStreamingPullServer struct {
  7637  	grpc.ServerStream
  7638  }
  7639  
  7640  func (x *subscriberStreamingPullServer) Send(m *StreamingPullResponse) error {
  7641  	return x.ServerStream.SendMsg(m)
  7642  }
  7643  
  7644  func (x *subscriberStreamingPullServer) Recv() (*StreamingPullRequest, error) {
  7645  	m := new(StreamingPullRequest)
  7646  	if err := x.ServerStream.RecvMsg(m); err != nil {
  7647  		return nil, err
  7648  	}
  7649  	return m, nil
  7650  }
  7651  
  7652  func _Subscriber_ModifyPushConfig_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  7653  	in := new(ModifyPushConfigRequest)
  7654  	if err := dec(in); err != nil {
  7655  		return nil, err
  7656  	}
  7657  	if interceptor == nil {
  7658  		return srv.(SubscriberServer).ModifyPushConfig(ctx, in)
  7659  	}
  7660  	info := &grpc.UnaryServerInfo{
  7661  		Server:     srv,
  7662  		FullMethod: "/google.pubsub.v1.Subscriber/ModifyPushConfig",
  7663  	}
  7664  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  7665  		return srv.(SubscriberServer).ModifyPushConfig(ctx, req.(*ModifyPushConfigRequest))
  7666  	}
  7667  	return interceptor(ctx, in, info, handler)
  7668  }
  7669  
  7670  func _Subscriber_GetSnapshot_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  7671  	in := new(GetSnapshotRequest)
  7672  	if err := dec(in); err != nil {
  7673  		return nil, err
  7674  	}
  7675  	if interceptor == nil {
  7676  		return srv.(SubscriberServer).GetSnapshot(ctx, in)
  7677  	}
  7678  	info := &grpc.UnaryServerInfo{
  7679  		Server:     srv,
  7680  		FullMethod: "/google.pubsub.v1.Subscriber/GetSnapshot",
  7681  	}
  7682  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  7683  		return srv.(SubscriberServer).GetSnapshot(ctx, req.(*GetSnapshotRequest))
  7684  	}
  7685  	return interceptor(ctx, in, info, handler)
  7686  }
  7687  
  7688  func _Subscriber_ListSnapshots_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  7689  	in := new(ListSnapshotsRequest)
  7690  	if err := dec(in); err != nil {
  7691  		return nil, err
  7692  	}
  7693  	if interceptor == nil {
  7694  		return srv.(SubscriberServer).ListSnapshots(ctx, in)
  7695  	}
  7696  	info := &grpc.UnaryServerInfo{
  7697  		Server:     srv,
  7698  		FullMethod: "/google.pubsub.v1.Subscriber/ListSnapshots",
  7699  	}
  7700  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  7701  		return srv.(SubscriberServer).ListSnapshots(ctx, req.(*ListSnapshotsRequest))
  7702  	}
  7703  	return interceptor(ctx, in, info, handler)
  7704  }
  7705  
  7706  func _Subscriber_CreateSnapshot_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  7707  	in := new(CreateSnapshotRequest)
  7708  	if err := dec(in); err != nil {
  7709  		return nil, err
  7710  	}
  7711  	if interceptor == nil {
  7712  		return srv.(SubscriberServer).CreateSnapshot(ctx, in)
  7713  	}
  7714  	info := &grpc.UnaryServerInfo{
  7715  		Server:     srv,
  7716  		FullMethod: "/google.pubsub.v1.Subscriber/CreateSnapshot",
  7717  	}
  7718  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  7719  		return srv.(SubscriberServer).CreateSnapshot(ctx, req.(*CreateSnapshotRequest))
  7720  	}
  7721  	return interceptor(ctx, in, info, handler)
  7722  }
  7723  
  7724  func _Subscriber_UpdateSnapshot_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  7725  	in := new(UpdateSnapshotRequest)
  7726  	if err := dec(in); err != nil {
  7727  		return nil, err
  7728  	}
  7729  	if interceptor == nil {
  7730  		return srv.(SubscriberServer).UpdateSnapshot(ctx, in)
  7731  	}
  7732  	info := &grpc.UnaryServerInfo{
  7733  		Server:     srv,
  7734  		FullMethod: "/google.pubsub.v1.Subscriber/UpdateSnapshot",
  7735  	}
  7736  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  7737  		return srv.(SubscriberServer).UpdateSnapshot(ctx, req.(*UpdateSnapshotRequest))
  7738  	}
  7739  	return interceptor(ctx, in, info, handler)
  7740  }
  7741  
  7742  func _Subscriber_DeleteSnapshot_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  7743  	in := new(DeleteSnapshotRequest)
  7744  	if err := dec(in); err != nil {
  7745  		return nil, err
  7746  	}
  7747  	if interceptor == nil {
  7748  		return srv.(SubscriberServer).DeleteSnapshot(ctx, in)
  7749  	}
  7750  	info := &grpc.UnaryServerInfo{
  7751  		Server:     srv,
  7752  		FullMethod: "/google.pubsub.v1.Subscriber/DeleteSnapshot",
  7753  	}
  7754  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  7755  		return srv.(SubscriberServer).DeleteSnapshot(ctx, req.(*DeleteSnapshotRequest))
  7756  	}
  7757  	return interceptor(ctx, in, info, handler)
  7758  }
  7759  
  7760  func _Subscriber_Seek_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  7761  	in := new(SeekRequest)
  7762  	if err := dec(in); err != nil {
  7763  		return nil, err
  7764  	}
  7765  	if interceptor == nil {
  7766  		return srv.(SubscriberServer).Seek(ctx, in)
  7767  	}
  7768  	info := &grpc.UnaryServerInfo{
  7769  		Server:     srv,
  7770  		FullMethod: "/google.pubsub.v1.Subscriber/Seek",
  7771  	}
  7772  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  7773  		return srv.(SubscriberServer).Seek(ctx, req.(*SeekRequest))
  7774  	}
  7775  	return interceptor(ctx, in, info, handler)
  7776  }
  7777  
  7778  var _Subscriber_serviceDesc = grpc.ServiceDesc{
  7779  	ServiceName: "google.pubsub.v1.Subscriber",
  7780  	HandlerType: (*SubscriberServer)(nil),
  7781  	Methods: []grpc.MethodDesc{
  7782  		{
  7783  			MethodName: "CreateSubscription",
  7784  			Handler:    _Subscriber_CreateSubscription_Handler,
  7785  		},
  7786  		{
  7787  			MethodName: "GetSubscription",
  7788  			Handler:    _Subscriber_GetSubscription_Handler,
  7789  		},
  7790  		{
  7791  			MethodName: "UpdateSubscription",
  7792  			Handler:    _Subscriber_UpdateSubscription_Handler,
  7793  		},
  7794  		{
  7795  			MethodName: "ListSubscriptions",
  7796  			Handler:    _Subscriber_ListSubscriptions_Handler,
  7797  		},
  7798  		{
  7799  			MethodName: "DeleteSubscription",
  7800  			Handler:    _Subscriber_DeleteSubscription_Handler,
  7801  		},
  7802  		{
  7803  			MethodName: "ModifyAckDeadline",
  7804  			Handler:    _Subscriber_ModifyAckDeadline_Handler,
  7805  		},
  7806  		{
  7807  			MethodName: "Acknowledge",
  7808  			Handler:    _Subscriber_Acknowledge_Handler,
  7809  		},
  7810  		{
  7811  			MethodName: "Pull",
  7812  			Handler:    _Subscriber_Pull_Handler,
  7813  		},
  7814  		{
  7815  			MethodName: "ModifyPushConfig",
  7816  			Handler:    _Subscriber_ModifyPushConfig_Handler,
  7817  		},
  7818  		{
  7819  			MethodName: "GetSnapshot",
  7820  			Handler:    _Subscriber_GetSnapshot_Handler,
  7821  		},
  7822  		{
  7823  			MethodName: "ListSnapshots",
  7824  			Handler:    _Subscriber_ListSnapshots_Handler,
  7825  		},
  7826  		{
  7827  			MethodName: "CreateSnapshot",
  7828  			Handler:    _Subscriber_CreateSnapshot_Handler,
  7829  		},
  7830  		{
  7831  			MethodName: "UpdateSnapshot",
  7832  			Handler:    _Subscriber_UpdateSnapshot_Handler,
  7833  		},
  7834  		{
  7835  			MethodName: "DeleteSnapshot",
  7836  			Handler:    _Subscriber_DeleteSnapshot_Handler,
  7837  		},
  7838  		{
  7839  			MethodName: "Seek",
  7840  			Handler:    _Subscriber_Seek_Handler,
  7841  		},
  7842  	},
  7843  	Streams: []grpc.StreamDesc{
  7844  		{
  7845  			StreamName:    "StreamingPull",
  7846  			Handler:       _Subscriber_StreamingPull_Handler,
  7847  			ServerStreams: true,
  7848  			ClientStreams: true,
  7849  		},
  7850  	},
  7851  	Metadata: "google/pubsub/v1/pubsub.proto",
  7852  }
  7853  

View as plain text