...

Source file src/google.golang.org/genproto/googleapis/api/expr/v1alpha1/syntax.pb.go

Documentation: google.golang.org/genproto/googleapis/api/expr/v1alpha1

     1  // Copyright 2024 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.26.0
    18  // 	protoc        v4.24.4
    19  // source: google/api/expr/v1alpha1/syntax.proto
    20  
    21  package expr
    22  
    23  import (
    24  	reflect "reflect"
    25  	sync "sync"
    26  
    27  	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
    28  	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
    29  	durationpb "google.golang.org/protobuf/types/known/durationpb"
    30  	structpb "google.golang.org/protobuf/types/known/structpb"
    31  	timestamppb "google.golang.org/protobuf/types/known/timestamppb"
    32  )
    33  
    34  const (
    35  	// Verify that this generated code is sufficiently up-to-date.
    36  	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
    37  	// Verify that runtime/protoimpl is sufficiently up-to-date.
    38  	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
    39  )
    40  
    41  // CEL component specifier.
    42  type SourceInfo_Extension_Component int32
    43  
    44  const (
    45  	// Unspecified, default.
    46  	SourceInfo_Extension_COMPONENT_UNSPECIFIED SourceInfo_Extension_Component = 0
    47  	// Parser. Converts a CEL string to an AST.
    48  	SourceInfo_Extension_COMPONENT_PARSER SourceInfo_Extension_Component = 1
    49  	// Type checker. Checks that references in an AST are defined and types
    50  	// agree.
    51  	SourceInfo_Extension_COMPONENT_TYPE_CHECKER SourceInfo_Extension_Component = 2
    52  	// Runtime. Evaluates a parsed and optionally checked CEL AST against a
    53  	// context.
    54  	SourceInfo_Extension_COMPONENT_RUNTIME SourceInfo_Extension_Component = 3
    55  )
    56  
    57  // Enum value maps for SourceInfo_Extension_Component.
    58  var (
    59  	SourceInfo_Extension_Component_name = map[int32]string{
    60  		0: "COMPONENT_UNSPECIFIED",
    61  		1: "COMPONENT_PARSER",
    62  		2: "COMPONENT_TYPE_CHECKER",
    63  		3: "COMPONENT_RUNTIME",
    64  	}
    65  	SourceInfo_Extension_Component_value = map[string]int32{
    66  		"COMPONENT_UNSPECIFIED":  0,
    67  		"COMPONENT_PARSER":       1,
    68  		"COMPONENT_TYPE_CHECKER": 2,
    69  		"COMPONENT_RUNTIME":      3,
    70  	}
    71  )
    72  
    73  func (x SourceInfo_Extension_Component) Enum() *SourceInfo_Extension_Component {
    74  	p := new(SourceInfo_Extension_Component)
    75  	*p = x
    76  	return p
    77  }
    78  
    79  func (x SourceInfo_Extension_Component) String() string {
    80  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
    81  }
    82  
    83  func (SourceInfo_Extension_Component) Descriptor() protoreflect.EnumDescriptor {
    84  	return file_google_api_expr_v1alpha1_syntax_proto_enumTypes[0].Descriptor()
    85  }
    86  
    87  func (SourceInfo_Extension_Component) Type() protoreflect.EnumType {
    88  	return &file_google_api_expr_v1alpha1_syntax_proto_enumTypes[0]
    89  }
    90  
    91  func (x SourceInfo_Extension_Component) Number() protoreflect.EnumNumber {
    92  	return protoreflect.EnumNumber(x)
    93  }
    94  
    95  // Deprecated: Use SourceInfo_Extension_Component.Descriptor instead.
    96  func (SourceInfo_Extension_Component) EnumDescriptor() ([]byte, []int) {
    97  	return file_google_api_expr_v1alpha1_syntax_proto_rawDescGZIP(), []int{3, 0, 0}
    98  }
    99  
   100  // An expression together with source information as returned by the parser.
   101  type ParsedExpr struct {
   102  	state         protoimpl.MessageState
   103  	sizeCache     protoimpl.SizeCache
   104  	unknownFields protoimpl.UnknownFields
   105  
   106  	// The parsed expression.
   107  	Expr *Expr `protobuf:"bytes,2,opt,name=expr,proto3" json:"expr,omitempty"`
   108  	// The source info derived from input that generated the parsed `expr`.
   109  	SourceInfo *SourceInfo `protobuf:"bytes,3,opt,name=source_info,json=sourceInfo,proto3" json:"source_info,omitempty"`
   110  }
   111  
   112  func (x *ParsedExpr) Reset() {
   113  	*x = ParsedExpr{}
   114  	if protoimpl.UnsafeEnabled {
   115  		mi := &file_google_api_expr_v1alpha1_syntax_proto_msgTypes[0]
   116  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   117  		ms.StoreMessageInfo(mi)
   118  	}
   119  }
   120  
   121  func (x *ParsedExpr) String() string {
   122  	return protoimpl.X.MessageStringOf(x)
   123  }
   124  
   125  func (*ParsedExpr) ProtoMessage() {}
   126  
   127  func (x *ParsedExpr) ProtoReflect() protoreflect.Message {
   128  	mi := &file_google_api_expr_v1alpha1_syntax_proto_msgTypes[0]
   129  	if protoimpl.UnsafeEnabled && x != nil {
   130  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   131  		if ms.LoadMessageInfo() == nil {
   132  			ms.StoreMessageInfo(mi)
   133  		}
   134  		return ms
   135  	}
   136  	return mi.MessageOf(x)
   137  }
   138  
   139  // Deprecated: Use ParsedExpr.ProtoReflect.Descriptor instead.
   140  func (*ParsedExpr) Descriptor() ([]byte, []int) {
   141  	return file_google_api_expr_v1alpha1_syntax_proto_rawDescGZIP(), []int{0}
   142  }
   143  
   144  func (x *ParsedExpr) GetExpr() *Expr {
   145  	if x != nil {
   146  		return x.Expr
   147  	}
   148  	return nil
   149  }
   150  
   151  func (x *ParsedExpr) GetSourceInfo() *SourceInfo {
   152  	if x != nil {
   153  		return x.SourceInfo
   154  	}
   155  	return nil
   156  }
   157  
   158  // An abstract representation of a common expression.
   159  //
   160  // Expressions are abstractly represented as a collection of identifiers,
   161  // select statements, function calls, literals, and comprehensions. All
   162  // operators with the exception of the '.' operator are modelled as function
   163  // calls. This makes it easy to represent new operators into the existing AST.
   164  //
   165  // All references within expressions must resolve to a
   166  // [Decl][google.api.expr.v1alpha1.Decl] provided at type-check for an
   167  // expression to be valid. A reference may either be a bare identifier `name` or
   168  // a qualified identifier `google.api.name`. References may either refer to a
   169  // value or a function declaration.
   170  //
   171  // For example, the expression `google.api.name.startsWith('expr')` references
   172  // the declaration `google.api.name` within a
   173  // [Expr.Select][google.api.expr.v1alpha1.Expr.Select] expression, and the
   174  // function declaration `startsWith`.
   175  type Expr struct {
   176  	state         protoimpl.MessageState
   177  	sizeCache     protoimpl.SizeCache
   178  	unknownFields protoimpl.UnknownFields
   179  
   180  	// Required. An id assigned to this node by the parser which is unique in a
   181  	// given expression tree. This is used to associate type information and other
   182  	// attributes to a node in the parse tree.
   183  	Id int64 `protobuf:"varint,2,opt,name=id,proto3" json:"id,omitempty"`
   184  	// Required. Variants of expressions.
   185  	//
   186  	// Types that are assignable to ExprKind:
   187  	//
   188  	//	*Expr_ConstExpr
   189  	//	*Expr_IdentExpr
   190  	//	*Expr_SelectExpr
   191  	//	*Expr_CallExpr
   192  	//	*Expr_ListExpr
   193  	//	*Expr_StructExpr
   194  	//	*Expr_ComprehensionExpr
   195  	ExprKind isExpr_ExprKind `protobuf_oneof:"expr_kind"`
   196  }
   197  
   198  func (x *Expr) Reset() {
   199  	*x = Expr{}
   200  	if protoimpl.UnsafeEnabled {
   201  		mi := &file_google_api_expr_v1alpha1_syntax_proto_msgTypes[1]
   202  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   203  		ms.StoreMessageInfo(mi)
   204  	}
   205  }
   206  
   207  func (x *Expr) String() string {
   208  	return protoimpl.X.MessageStringOf(x)
   209  }
   210  
   211  func (*Expr) ProtoMessage() {}
   212  
   213  func (x *Expr) ProtoReflect() protoreflect.Message {
   214  	mi := &file_google_api_expr_v1alpha1_syntax_proto_msgTypes[1]
   215  	if protoimpl.UnsafeEnabled && x != nil {
   216  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   217  		if ms.LoadMessageInfo() == nil {
   218  			ms.StoreMessageInfo(mi)
   219  		}
   220  		return ms
   221  	}
   222  	return mi.MessageOf(x)
   223  }
   224  
   225  // Deprecated: Use Expr.ProtoReflect.Descriptor instead.
   226  func (*Expr) Descriptor() ([]byte, []int) {
   227  	return file_google_api_expr_v1alpha1_syntax_proto_rawDescGZIP(), []int{1}
   228  }
   229  
   230  func (x *Expr) GetId() int64 {
   231  	if x != nil {
   232  		return x.Id
   233  	}
   234  	return 0
   235  }
   236  
   237  func (m *Expr) GetExprKind() isExpr_ExprKind {
   238  	if m != nil {
   239  		return m.ExprKind
   240  	}
   241  	return nil
   242  }
   243  
   244  func (x *Expr) GetConstExpr() *Constant {
   245  	if x, ok := x.GetExprKind().(*Expr_ConstExpr); ok {
   246  		return x.ConstExpr
   247  	}
   248  	return nil
   249  }
   250  
   251  func (x *Expr) GetIdentExpr() *Expr_Ident {
   252  	if x, ok := x.GetExprKind().(*Expr_IdentExpr); ok {
   253  		return x.IdentExpr
   254  	}
   255  	return nil
   256  }
   257  
   258  func (x *Expr) GetSelectExpr() *Expr_Select {
   259  	if x, ok := x.GetExprKind().(*Expr_SelectExpr); ok {
   260  		return x.SelectExpr
   261  	}
   262  	return nil
   263  }
   264  
   265  func (x *Expr) GetCallExpr() *Expr_Call {
   266  	if x, ok := x.GetExprKind().(*Expr_CallExpr); ok {
   267  		return x.CallExpr
   268  	}
   269  	return nil
   270  }
   271  
   272  func (x *Expr) GetListExpr() *Expr_CreateList {
   273  	if x, ok := x.GetExprKind().(*Expr_ListExpr); ok {
   274  		return x.ListExpr
   275  	}
   276  	return nil
   277  }
   278  
   279  func (x *Expr) GetStructExpr() *Expr_CreateStruct {
   280  	if x, ok := x.GetExprKind().(*Expr_StructExpr); ok {
   281  		return x.StructExpr
   282  	}
   283  	return nil
   284  }
   285  
   286  func (x *Expr) GetComprehensionExpr() *Expr_Comprehension {
   287  	if x, ok := x.GetExprKind().(*Expr_ComprehensionExpr); ok {
   288  		return x.ComprehensionExpr
   289  	}
   290  	return nil
   291  }
   292  
   293  type isExpr_ExprKind interface {
   294  	isExpr_ExprKind()
   295  }
   296  
   297  type Expr_ConstExpr struct {
   298  	// A literal expression.
   299  	ConstExpr *Constant `protobuf:"bytes,3,opt,name=const_expr,json=constExpr,proto3,oneof"`
   300  }
   301  
   302  type Expr_IdentExpr struct {
   303  	// An identifier expression.
   304  	IdentExpr *Expr_Ident `protobuf:"bytes,4,opt,name=ident_expr,json=identExpr,proto3,oneof"`
   305  }
   306  
   307  type Expr_SelectExpr struct {
   308  	// A field selection expression, e.g. `request.auth`.
   309  	SelectExpr *Expr_Select `protobuf:"bytes,5,opt,name=select_expr,json=selectExpr,proto3,oneof"`
   310  }
   311  
   312  type Expr_CallExpr struct {
   313  	// A call expression, including calls to predefined functions and operators.
   314  	CallExpr *Expr_Call `protobuf:"bytes,6,opt,name=call_expr,json=callExpr,proto3,oneof"`
   315  }
   316  
   317  type Expr_ListExpr struct {
   318  	// A list creation expression.
   319  	ListExpr *Expr_CreateList `protobuf:"bytes,7,opt,name=list_expr,json=listExpr,proto3,oneof"`
   320  }
   321  
   322  type Expr_StructExpr struct {
   323  	// A map or message creation expression.
   324  	StructExpr *Expr_CreateStruct `protobuf:"bytes,8,opt,name=struct_expr,json=structExpr,proto3,oneof"`
   325  }
   326  
   327  type Expr_ComprehensionExpr struct {
   328  	// A comprehension expression.
   329  	ComprehensionExpr *Expr_Comprehension `protobuf:"bytes,9,opt,name=comprehension_expr,json=comprehensionExpr,proto3,oneof"`
   330  }
   331  
   332  func (*Expr_ConstExpr) isExpr_ExprKind() {}
   333  
   334  func (*Expr_IdentExpr) isExpr_ExprKind() {}
   335  
   336  func (*Expr_SelectExpr) isExpr_ExprKind() {}
   337  
   338  func (*Expr_CallExpr) isExpr_ExprKind() {}
   339  
   340  func (*Expr_ListExpr) isExpr_ExprKind() {}
   341  
   342  func (*Expr_StructExpr) isExpr_ExprKind() {}
   343  
   344  func (*Expr_ComprehensionExpr) isExpr_ExprKind() {}
   345  
   346  // Represents a primitive literal.
   347  //
   348  // Named 'Constant' here for backwards compatibility.
   349  //
   350  // This is similar as the primitives supported in the well-known type
   351  // `google.protobuf.Value`, but richer so it can represent CEL's full range of
   352  // primitives.
   353  //
   354  // Lists and structs are not included as constants as these aggregate types may
   355  // contain [Expr][google.api.expr.v1alpha1.Expr] elements which require
   356  // evaluation and are thus not constant.
   357  //
   358  // Examples of literals include: `"hello"`, `b'bytes'`, `1u`, `4.2`, `-2`,
   359  // `true`, `null`.
   360  type Constant struct {
   361  	state         protoimpl.MessageState
   362  	sizeCache     protoimpl.SizeCache
   363  	unknownFields protoimpl.UnknownFields
   364  
   365  	// Required. The valid constant kinds.
   366  	//
   367  	// Types that are assignable to ConstantKind:
   368  	//
   369  	//	*Constant_NullValue
   370  	//	*Constant_BoolValue
   371  	//	*Constant_Int64Value
   372  	//	*Constant_Uint64Value
   373  	//	*Constant_DoubleValue
   374  	//	*Constant_StringValue
   375  	//	*Constant_BytesValue
   376  	//	*Constant_DurationValue
   377  	//	*Constant_TimestampValue
   378  	ConstantKind isConstant_ConstantKind `protobuf_oneof:"constant_kind"`
   379  }
   380  
   381  func (x *Constant) Reset() {
   382  	*x = Constant{}
   383  	if protoimpl.UnsafeEnabled {
   384  		mi := &file_google_api_expr_v1alpha1_syntax_proto_msgTypes[2]
   385  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   386  		ms.StoreMessageInfo(mi)
   387  	}
   388  }
   389  
   390  func (x *Constant) String() string {
   391  	return protoimpl.X.MessageStringOf(x)
   392  }
   393  
   394  func (*Constant) ProtoMessage() {}
   395  
   396  func (x *Constant) ProtoReflect() protoreflect.Message {
   397  	mi := &file_google_api_expr_v1alpha1_syntax_proto_msgTypes[2]
   398  	if protoimpl.UnsafeEnabled && x != nil {
   399  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   400  		if ms.LoadMessageInfo() == nil {
   401  			ms.StoreMessageInfo(mi)
   402  		}
   403  		return ms
   404  	}
   405  	return mi.MessageOf(x)
   406  }
   407  
   408  // Deprecated: Use Constant.ProtoReflect.Descriptor instead.
   409  func (*Constant) Descriptor() ([]byte, []int) {
   410  	return file_google_api_expr_v1alpha1_syntax_proto_rawDescGZIP(), []int{2}
   411  }
   412  
   413  func (m *Constant) GetConstantKind() isConstant_ConstantKind {
   414  	if m != nil {
   415  		return m.ConstantKind
   416  	}
   417  	return nil
   418  }
   419  
   420  func (x *Constant) GetNullValue() structpb.NullValue {
   421  	if x, ok := x.GetConstantKind().(*Constant_NullValue); ok {
   422  		return x.NullValue
   423  	}
   424  	return structpb.NullValue_NULL_VALUE
   425  }
   426  
   427  func (x *Constant) GetBoolValue() bool {
   428  	if x, ok := x.GetConstantKind().(*Constant_BoolValue); ok {
   429  		return x.BoolValue
   430  	}
   431  	return false
   432  }
   433  
   434  func (x *Constant) GetInt64Value() int64 {
   435  	if x, ok := x.GetConstantKind().(*Constant_Int64Value); ok {
   436  		return x.Int64Value
   437  	}
   438  	return 0
   439  }
   440  
   441  func (x *Constant) GetUint64Value() uint64 {
   442  	if x, ok := x.GetConstantKind().(*Constant_Uint64Value); ok {
   443  		return x.Uint64Value
   444  	}
   445  	return 0
   446  }
   447  
   448  func (x *Constant) GetDoubleValue() float64 {
   449  	if x, ok := x.GetConstantKind().(*Constant_DoubleValue); ok {
   450  		return x.DoubleValue
   451  	}
   452  	return 0
   453  }
   454  
   455  func (x *Constant) GetStringValue() string {
   456  	if x, ok := x.GetConstantKind().(*Constant_StringValue); ok {
   457  		return x.StringValue
   458  	}
   459  	return ""
   460  }
   461  
   462  func (x *Constant) GetBytesValue() []byte {
   463  	if x, ok := x.GetConstantKind().(*Constant_BytesValue); ok {
   464  		return x.BytesValue
   465  	}
   466  	return nil
   467  }
   468  
   469  // Deprecated: Do not use.
   470  func (x *Constant) GetDurationValue() *durationpb.Duration {
   471  	if x, ok := x.GetConstantKind().(*Constant_DurationValue); ok {
   472  		return x.DurationValue
   473  	}
   474  	return nil
   475  }
   476  
   477  // Deprecated: Do not use.
   478  func (x *Constant) GetTimestampValue() *timestamppb.Timestamp {
   479  	if x, ok := x.GetConstantKind().(*Constant_TimestampValue); ok {
   480  		return x.TimestampValue
   481  	}
   482  	return nil
   483  }
   484  
   485  type isConstant_ConstantKind interface {
   486  	isConstant_ConstantKind()
   487  }
   488  
   489  type Constant_NullValue struct {
   490  	// null value.
   491  	NullValue structpb.NullValue `protobuf:"varint,1,opt,name=null_value,json=nullValue,proto3,enum=google.protobuf.NullValue,oneof"`
   492  }
   493  
   494  type Constant_BoolValue struct {
   495  	// boolean value.
   496  	BoolValue bool `protobuf:"varint,2,opt,name=bool_value,json=boolValue,proto3,oneof"`
   497  }
   498  
   499  type Constant_Int64Value struct {
   500  	// int64 value.
   501  	Int64Value int64 `protobuf:"varint,3,opt,name=int64_value,json=int64Value,proto3,oneof"`
   502  }
   503  
   504  type Constant_Uint64Value struct {
   505  	// uint64 value.
   506  	Uint64Value uint64 `protobuf:"varint,4,opt,name=uint64_value,json=uint64Value,proto3,oneof"`
   507  }
   508  
   509  type Constant_DoubleValue struct {
   510  	// double value.
   511  	DoubleValue float64 `protobuf:"fixed64,5,opt,name=double_value,json=doubleValue,proto3,oneof"`
   512  }
   513  
   514  type Constant_StringValue struct {
   515  	// string value.
   516  	StringValue string `protobuf:"bytes,6,opt,name=string_value,json=stringValue,proto3,oneof"`
   517  }
   518  
   519  type Constant_BytesValue struct {
   520  	// bytes value.
   521  	BytesValue []byte `protobuf:"bytes,7,opt,name=bytes_value,json=bytesValue,proto3,oneof"`
   522  }
   523  
   524  type Constant_DurationValue struct {
   525  	// protobuf.Duration value.
   526  	//
   527  	// Deprecated: duration is no longer considered a builtin cel type.
   528  	//
   529  	// Deprecated: Do not use.
   530  	DurationValue *durationpb.Duration `protobuf:"bytes,8,opt,name=duration_value,json=durationValue,proto3,oneof"`
   531  }
   532  
   533  type Constant_TimestampValue struct {
   534  	// protobuf.Timestamp value.
   535  	//
   536  	// Deprecated: timestamp is no longer considered a builtin cel type.
   537  	//
   538  	// Deprecated: Do not use.
   539  	TimestampValue *timestamppb.Timestamp `protobuf:"bytes,9,opt,name=timestamp_value,json=timestampValue,proto3,oneof"`
   540  }
   541  
   542  func (*Constant_NullValue) isConstant_ConstantKind() {}
   543  
   544  func (*Constant_BoolValue) isConstant_ConstantKind() {}
   545  
   546  func (*Constant_Int64Value) isConstant_ConstantKind() {}
   547  
   548  func (*Constant_Uint64Value) isConstant_ConstantKind() {}
   549  
   550  func (*Constant_DoubleValue) isConstant_ConstantKind() {}
   551  
   552  func (*Constant_StringValue) isConstant_ConstantKind() {}
   553  
   554  func (*Constant_BytesValue) isConstant_ConstantKind() {}
   555  
   556  func (*Constant_DurationValue) isConstant_ConstantKind() {}
   557  
   558  func (*Constant_TimestampValue) isConstant_ConstantKind() {}
   559  
   560  // Source information collected at parse time.
   561  type SourceInfo struct {
   562  	state         protoimpl.MessageState
   563  	sizeCache     protoimpl.SizeCache
   564  	unknownFields protoimpl.UnknownFields
   565  
   566  	// The syntax version of the source, e.g. `cel1`.
   567  	SyntaxVersion string `protobuf:"bytes,1,opt,name=syntax_version,json=syntaxVersion,proto3" json:"syntax_version,omitempty"`
   568  	// The location name. All position information attached to an expression is
   569  	// relative to this location.
   570  	//
   571  	// The location could be a file, UI element, or similar. For example,
   572  	// `acme/app/AnvilPolicy.cel`.
   573  	Location string `protobuf:"bytes,2,opt,name=location,proto3" json:"location,omitempty"`
   574  	// Monotonically increasing list of code point offsets where newlines
   575  	// `\n` appear.
   576  	//
   577  	// The line number of a given position is the index `i` where for a given
   578  	// `id` the `line_offsets[i] < id_positions[id] < line_offsets[i+1]`. The
   579  	// column may be derivd from `id_positions[id] - line_offsets[i]`.
   580  	LineOffsets []int32 `protobuf:"varint,3,rep,packed,name=line_offsets,json=lineOffsets,proto3" json:"line_offsets,omitempty"`
   581  	// A map from the parse node id (e.g. `Expr.id`) to the code point offset
   582  	// within the source.
   583  	Positions map[int64]int32 `protobuf:"bytes,4,rep,name=positions,proto3" json:"positions,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
   584  	// A map from the parse node id where a macro replacement was made to the
   585  	// call `Expr` that resulted in a macro expansion.
   586  	//
   587  	// For example, `has(value.field)` is a function call that is replaced by a
   588  	// `test_only` field selection in the AST. Likewise, the call
   589  	// `list.exists(e, e > 10)` translates to a comprehension expression. The key
   590  	// in the map corresponds to the expression id of the expanded macro, and the
   591  	// value is the call `Expr` that was replaced.
   592  	MacroCalls map[int64]*Expr `protobuf:"bytes,5,rep,name=macro_calls,json=macroCalls,proto3" json:"macro_calls,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
   593  	// A list of tags for extensions that were used while parsing or type checking
   594  	// the source expression. For example, optimizations that require special
   595  	// runtime support may be specified.
   596  	//
   597  	// These are used to check feature support between components in separate
   598  	// implementations. This can be used to either skip redundant work or
   599  	// report an error if the extension is unsupported.
   600  	Extensions []*SourceInfo_Extension `protobuf:"bytes,6,rep,name=extensions,proto3" json:"extensions,omitempty"`
   601  }
   602  
   603  func (x *SourceInfo) Reset() {
   604  	*x = SourceInfo{}
   605  	if protoimpl.UnsafeEnabled {
   606  		mi := &file_google_api_expr_v1alpha1_syntax_proto_msgTypes[3]
   607  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   608  		ms.StoreMessageInfo(mi)
   609  	}
   610  }
   611  
   612  func (x *SourceInfo) String() string {
   613  	return protoimpl.X.MessageStringOf(x)
   614  }
   615  
   616  func (*SourceInfo) ProtoMessage() {}
   617  
   618  func (x *SourceInfo) ProtoReflect() protoreflect.Message {
   619  	mi := &file_google_api_expr_v1alpha1_syntax_proto_msgTypes[3]
   620  	if protoimpl.UnsafeEnabled && x != nil {
   621  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   622  		if ms.LoadMessageInfo() == nil {
   623  			ms.StoreMessageInfo(mi)
   624  		}
   625  		return ms
   626  	}
   627  	return mi.MessageOf(x)
   628  }
   629  
   630  // Deprecated: Use SourceInfo.ProtoReflect.Descriptor instead.
   631  func (*SourceInfo) Descriptor() ([]byte, []int) {
   632  	return file_google_api_expr_v1alpha1_syntax_proto_rawDescGZIP(), []int{3}
   633  }
   634  
   635  func (x *SourceInfo) GetSyntaxVersion() string {
   636  	if x != nil {
   637  		return x.SyntaxVersion
   638  	}
   639  	return ""
   640  }
   641  
   642  func (x *SourceInfo) GetLocation() string {
   643  	if x != nil {
   644  		return x.Location
   645  	}
   646  	return ""
   647  }
   648  
   649  func (x *SourceInfo) GetLineOffsets() []int32 {
   650  	if x != nil {
   651  		return x.LineOffsets
   652  	}
   653  	return nil
   654  }
   655  
   656  func (x *SourceInfo) GetPositions() map[int64]int32 {
   657  	if x != nil {
   658  		return x.Positions
   659  	}
   660  	return nil
   661  }
   662  
   663  func (x *SourceInfo) GetMacroCalls() map[int64]*Expr {
   664  	if x != nil {
   665  		return x.MacroCalls
   666  	}
   667  	return nil
   668  }
   669  
   670  func (x *SourceInfo) GetExtensions() []*SourceInfo_Extension {
   671  	if x != nil {
   672  		return x.Extensions
   673  	}
   674  	return nil
   675  }
   676  
   677  // A specific position in source.
   678  type SourcePosition struct {
   679  	state         protoimpl.MessageState
   680  	sizeCache     protoimpl.SizeCache
   681  	unknownFields protoimpl.UnknownFields
   682  
   683  	// The soucre location name (e.g. file name).
   684  	Location string `protobuf:"bytes,1,opt,name=location,proto3" json:"location,omitempty"`
   685  	// The UTF-8 code unit offset.
   686  	Offset int32 `protobuf:"varint,2,opt,name=offset,proto3" json:"offset,omitempty"`
   687  	// The 1-based index of the starting line in the source text
   688  	// where the issue occurs, or 0 if unknown.
   689  	Line int32 `protobuf:"varint,3,opt,name=line,proto3" json:"line,omitempty"`
   690  	// The 0-based index of the starting position within the line of source text
   691  	// where the issue occurs.  Only meaningful if line is nonzero.
   692  	Column int32 `protobuf:"varint,4,opt,name=column,proto3" json:"column,omitempty"`
   693  }
   694  
   695  func (x *SourcePosition) Reset() {
   696  	*x = SourcePosition{}
   697  	if protoimpl.UnsafeEnabled {
   698  		mi := &file_google_api_expr_v1alpha1_syntax_proto_msgTypes[4]
   699  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   700  		ms.StoreMessageInfo(mi)
   701  	}
   702  }
   703  
   704  func (x *SourcePosition) String() string {
   705  	return protoimpl.X.MessageStringOf(x)
   706  }
   707  
   708  func (*SourcePosition) ProtoMessage() {}
   709  
   710  func (x *SourcePosition) ProtoReflect() protoreflect.Message {
   711  	mi := &file_google_api_expr_v1alpha1_syntax_proto_msgTypes[4]
   712  	if protoimpl.UnsafeEnabled && x != nil {
   713  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   714  		if ms.LoadMessageInfo() == nil {
   715  			ms.StoreMessageInfo(mi)
   716  		}
   717  		return ms
   718  	}
   719  	return mi.MessageOf(x)
   720  }
   721  
   722  // Deprecated: Use SourcePosition.ProtoReflect.Descriptor instead.
   723  func (*SourcePosition) Descriptor() ([]byte, []int) {
   724  	return file_google_api_expr_v1alpha1_syntax_proto_rawDescGZIP(), []int{4}
   725  }
   726  
   727  func (x *SourcePosition) GetLocation() string {
   728  	if x != nil {
   729  		return x.Location
   730  	}
   731  	return ""
   732  }
   733  
   734  func (x *SourcePosition) GetOffset() int32 {
   735  	if x != nil {
   736  		return x.Offset
   737  	}
   738  	return 0
   739  }
   740  
   741  func (x *SourcePosition) GetLine() int32 {
   742  	if x != nil {
   743  		return x.Line
   744  	}
   745  	return 0
   746  }
   747  
   748  func (x *SourcePosition) GetColumn() int32 {
   749  	if x != nil {
   750  		return x.Column
   751  	}
   752  	return 0
   753  }
   754  
   755  // An identifier expression. e.g. `request`.
   756  type Expr_Ident struct {
   757  	state         protoimpl.MessageState
   758  	sizeCache     protoimpl.SizeCache
   759  	unknownFields protoimpl.UnknownFields
   760  
   761  	// Required. Holds a single, unqualified identifier, possibly preceded by a
   762  	// '.'.
   763  	//
   764  	// Qualified names are represented by the
   765  	// [Expr.Select][google.api.expr.v1alpha1.Expr.Select] expression.
   766  	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
   767  }
   768  
   769  func (x *Expr_Ident) Reset() {
   770  	*x = Expr_Ident{}
   771  	if protoimpl.UnsafeEnabled {
   772  		mi := &file_google_api_expr_v1alpha1_syntax_proto_msgTypes[5]
   773  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   774  		ms.StoreMessageInfo(mi)
   775  	}
   776  }
   777  
   778  func (x *Expr_Ident) String() string {
   779  	return protoimpl.X.MessageStringOf(x)
   780  }
   781  
   782  func (*Expr_Ident) ProtoMessage() {}
   783  
   784  func (x *Expr_Ident) ProtoReflect() protoreflect.Message {
   785  	mi := &file_google_api_expr_v1alpha1_syntax_proto_msgTypes[5]
   786  	if protoimpl.UnsafeEnabled && x != nil {
   787  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   788  		if ms.LoadMessageInfo() == nil {
   789  			ms.StoreMessageInfo(mi)
   790  		}
   791  		return ms
   792  	}
   793  	return mi.MessageOf(x)
   794  }
   795  
   796  // Deprecated: Use Expr_Ident.ProtoReflect.Descriptor instead.
   797  func (*Expr_Ident) Descriptor() ([]byte, []int) {
   798  	return file_google_api_expr_v1alpha1_syntax_proto_rawDescGZIP(), []int{1, 0}
   799  }
   800  
   801  func (x *Expr_Ident) GetName() string {
   802  	if x != nil {
   803  		return x.Name
   804  	}
   805  	return ""
   806  }
   807  
   808  // A field selection expression. e.g. `request.auth`.
   809  type Expr_Select struct {
   810  	state         protoimpl.MessageState
   811  	sizeCache     protoimpl.SizeCache
   812  	unknownFields protoimpl.UnknownFields
   813  
   814  	// Required. The target of the selection expression.
   815  	//
   816  	// For example, in the select expression `request.auth`, the `request`
   817  	// portion of the expression is the `operand`.
   818  	Operand *Expr `protobuf:"bytes,1,opt,name=operand,proto3" json:"operand,omitempty"`
   819  	// Required. The name of the field to select.
   820  	//
   821  	// For example, in the select expression `request.auth`, the `auth` portion
   822  	// of the expression would be the `field`.
   823  	Field string `protobuf:"bytes,2,opt,name=field,proto3" json:"field,omitempty"`
   824  	// Whether the select is to be interpreted as a field presence test.
   825  	//
   826  	// This results from the macro `has(request.auth)`.
   827  	TestOnly bool `protobuf:"varint,3,opt,name=test_only,json=testOnly,proto3" json:"test_only,omitempty"`
   828  }
   829  
   830  func (x *Expr_Select) Reset() {
   831  	*x = Expr_Select{}
   832  	if protoimpl.UnsafeEnabled {
   833  		mi := &file_google_api_expr_v1alpha1_syntax_proto_msgTypes[6]
   834  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   835  		ms.StoreMessageInfo(mi)
   836  	}
   837  }
   838  
   839  func (x *Expr_Select) String() string {
   840  	return protoimpl.X.MessageStringOf(x)
   841  }
   842  
   843  func (*Expr_Select) ProtoMessage() {}
   844  
   845  func (x *Expr_Select) ProtoReflect() protoreflect.Message {
   846  	mi := &file_google_api_expr_v1alpha1_syntax_proto_msgTypes[6]
   847  	if protoimpl.UnsafeEnabled && x != nil {
   848  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   849  		if ms.LoadMessageInfo() == nil {
   850  			ms.StoreMessageInfo(mi)
   851  		}
   852  		return ms
   853  	}
   854  	return mi.MessageOf(x)
   855  }
   856  
   857  // Deprecated: Use Expr_Select.ProtoReflect.Descriptor instead.
   858  func (*Expr_Select) Descriptor() ([]byte, []int) {
   859  	return file_google_api_expr_v1alpha1_syntax_proto_rawDescGZIP(), []int{1, 1}
   860  }
   861  
   862  func (x *Expr_Select) GetOperand() *Expr {
   863  	if x != nil {
   864  		return x.Operand
   865  	}
   866  	return nil
   867  }
   868  
   869  func (x *Expr_Select) GetField() string {
   870  	if x != nil {
   871  		return x.Field
   872  	}
   873  	return ""
   874  }
   875  
   876  func (x *Expr_Select) GetTestOnly() bool {
   877  	if x != nil {
   878  		return x.TestOnly
   879  	}
   880  	return false
   881  }
   882  
   883  // A call expression, including calls to predefined functions and operators.
   884  //
   885  // For example, `value == 10`, `size(map_value)`.
   886  type Expr_Call struct {
   887  	state         protoimpl.MessageState
   888  	sizeCache     protoimpl.SizeCache
   889  	unknownFields protoimpl.UnknownFields
   890  
   891  	// The target of an method call-style expression. For example, `x` in
   892  	// `x.f()`.
   893  	Target *Expr `protobuf:"bytes,1,opt,name=target,proto3" json:"target,omitempty"`
   894  	// Required. The name of the function or method being called.
   895  	Function string `protobuf:"bytes,2,opt,name=function,proto3" json:"function,omitempty"`
   896  	// The arguments.
   897  	Args []*Expr `protobuf:"bytes,3,rep,name=args,proto3" json:"args,omitempty"`
   898  }
   899  
   900  func (x *Expr_Call) Reset() {
   901  	*x = Expr_Call{}
   902  	if protoimpl.UnsafeEnabled {
   903  		mi := &file_google_api_expr_v1alpha1_syntax_proto_msgTypes[7]
   904  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   905  		ms.StoreMessageInfo(mi)
   906  	}
   907  }
   908  
   909  func (x *Expr_Call) String() string {
   910  	return protoimpl.X.MessageStringOf(x)
   911  }
   912  
   913  func (*Expr_Call) ProtoMessage() {}
   914  
   915  func (x *Expr_Call) ProtoReflect() protoreflect.Message {
   916  	mi := &file_google_api_expr_v1alpha1_syntax_proto_msgTypes[7]
   917  	if protoimpl.UnsafeEnabled && x != nil {
   918  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   919  		if ms.LoadMessageInfo() == nil {
   920  			ms.StoreMessageInfo(mi)
   921  		}
   922  		return ms
   923  	}
   924  	return mi.MessageOf(x)
   925  }
   926  
   927  // Deprecated: Use Expr_Call.ProtoReflect.Descriptor instead.
   928  func (*Expr_Call) Descriptor() ([]byte, []int) {
   929  	return file_google_api_expr_v1alpha1_syntax_proto_rawDescGZIP(), []int{1, 2}
   930  }
   931  
   932  func (x *Expr_Call) GetTarget() *Expr {
   933  	if x != nil {
   934  		return x.Target
   935  	}
   936  	return nil
   937  }
   938  
   939  func (x *Expr_Call) GetFunction() string {
   940  	if x != nil {
   941  		return x.Function
   942  	}
   943  	return ""
   944  }
   945  
   946  func (x *Expr_Call) GetArgs() []*Expr {
   947  	if x != nil {
   948  		return x.Args
   949  	}
   950  	return nil
   951  }
   952  
   953  // A list creation expression.
   954  //
   955  // Lists may either be homogenous, e.g. `[1, 2, 3]`, or heterogeneous, e.g.
   956  // `dyn([1, 'hello', 2.0])`
   957  type Expr_CreateList struct {
   958  	state         protoimpl.MessageState
   959  	sizeCache     protoimpl.SizeCache
   960  	unknownFields protoimpl.UnknownFields
   961  
   962  	// The elements part of the list.
   963  	Elements []*Expr `protobuf:"bytes,1,rep,name=elements,proto3" json:"elements,omitempty"`
   964  	// The indices within the elements list which are marked as optional
   965  	// elements.
   966  	//
   967  	// When an optional-typed value is present, the value it contains
   968  	// is included in the list. If the optional-typed value is absent, the list
   969  	// element is omitted from the CreateList result.
   970  	OptionalIndices []int32 `protobuf:"varint,2,rep,packed,name=optional_indices,json=optionalIndices,proto3" json:"optional_indices,omitempty"`
   971  }
   972  
   973  func (x *Expr_CreateList) Reset() {
   974  	*x = Expr_CreateList{}
   975  	if protoimpl.UnsafeEnabled {
   976  		mi := &file_google_api_expr_v1alpha1_syntax_proto_msgTypes[8]
   977  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   978  		ms.StoreMessageInfo(mi)
   979  	}
   980  }
   981  
   982  func (x *Expr_CreateList) String() string {
   983  	return protoimpl.X.MessageStringOf(x)
   984  }
   985  
   986  func (*Expr_CreateList) ProtoMessage() {}
   987  
   988  func (x *Expr_CreateList) ProtoReflect() protoreflect.Message {
   989  	mi := &file_google_api_expr_v1alpha1_syntax_proto_msgTypes[8]
   990  	if protoimpl.UnsafeEnabled && x != nil {
   991  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   992  		if ms.LoadMessageInfo() == nil {
   993  			ms.StoreMessageInfo(mi)
   994  		}
   995  		return ms
   996  	}
   997  	return mi.MessageOf(x)
   998  }
   999  
  1000  // Deprecated: Use Expr_CreateList.ProtoReflect.Descriptor instead.
  1001  func (*Expr_CreateList) Descriptor() ([]byte, []int) {
  1002  	return file_google_api_expr_v1alpha1_syntax_proto_rawDescGZIP(), []int{1, 3}
  1003  }
  1004  
  1005  func (x *Expr_CreateList) GetElements() []*Expr {
  1006  	if x != nil {
  1007  		return x.Elements
  1008  	}
  1009  	return nil
  1010  }
  1011  
  1012  func (x *Expr_CreateList) GetOptionalIndices() []int32 {
  1013  	if x != nil {
  1014  		return x.OptionalIndices
  1015  	}
  1016  	return nil
  1017  }
  1018  
  1019  // A map or message creation expression.
  1020  //
  1021  // Maps are constructed as `{'key_name': 'value'}`. Message construction is
  1022  // similar, but prefixed with a type name and composed of field ids:
  1023  // `types.MyType{field_id: 'value'}`.
  1024  type Expr_CreateStruct struct {
  1025  	state         protoimpl.MessageState
  1026  	sizeCache     protoimpl.SizeCache
  1027  	unknownFields protoimpl.UnknownFields
  1028  
  1029  	// The type name of the message to be created, empty when creating map
  1030  	// literals.
  1031  	MessageName string `protobuf:"bytes,1,opt,name=message_name,json=messageName,proto3" json:"message_name,omitempty"`
  1032  	// The entries in the creation expression.
  1033  	Entries []*Expr_CreateStruct_Entry `protobuf:"bytes,2,rep,name=entries,proto3" json:"entries,omitempty"`
  1034  }
  1035  
  1036  func (x *Expr_CreateStruct) Reset() {
  1037  	*x = Expr_CreateStruct{}
  1038  	if protoimpl.UnsafeEnabled {
  1039  		mi := &file_google_api_expr_v1alpha1_syntax_proto_msgTypes[9]
  1040  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1041  		ms.StoreMessageInfo(mi)
  1042  	}
  1043  }
  1044  
  1045  func (x *Expr_CreateStruct) String() string {
  1046  	return protoimpl.X.MessageStringOf(x)
  1047  }
  1048  
  1049  func (*Expr_CreateStruct) ProtoMessage() {}
  1050  
  1051  func (x *Expr_CreateStruct) ProtoReflect() protoreflect.Message {
  1052  	mi := &file_google_api_expr_v1alpha1_syntax_proto_msgTypes[9]
  1053  	if protoimpl.UnsafeEnabled && x != nil {
  1054  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1055  		if ms.LoadMessageInfo() == nil {
  1056  			ms.StoreMessageInfo(mi)
  1057  		}
  1058  		return ms
  1059  	}
  1060  	return mi.MessageOf(x)
  1061  }
  1062  
  1063  // Deprecated: Use Expr_CreateStruct.ProtoReflect.Descriptor instead.
  1064  func (*Expr_CreateStruct) Descriptor() ([]byte, []int) {
  1065  	return file_google_api_expr_v1alpha1_syntax_proto_rawDescGZIP(), []int{1, 4}
  1066  }
  1067  
  1068  func (x *Expr_CreateStruct) GetMessageName() string {
  1069  	if x != nil {
  1070  		return x.MessageName
  1071  	}
  1072  	return ""
  1073  }
  1074  
  1075  func (x *Expr_CreateStruct) GetEntries() []*Expr_CreateStruct_Entry {
  1076  	if x != nil {
  1077  		return x.Entries
  1078  	}
  1079  	return nil
  1080  }
  1081  
  1082  // A comprehension expression applied to a list or map.
  1083  //
  1084  // Comprehensions are not part of the core syntax, but enabled with macros.
  1085  // A macro matches a specific call signature within a parsed AST and replaces
  1086  // the call with an alternate AST block. Macro expansion happens at parse
  1087  // time.
  1088  //
  1089  // The following macros are supported within CEL:
  1090  //
  1091  // Aggregate type macros may be applied to all elements in a list or all keys
  1092  // in a map:
  1093  //
  1094  //   - `all`, `exists`, `exists_one` -  test a predicate expression against
  1095  //     the inputs and return `true` if the predicate is satisfied for all,
  1096  //     any, or only one value `list.all(x, x < 10)`.
  1097  //   - `filter` - test a predicate expression against the inputs and return
  1098  //     the subset of elements which satisfy the predicate:
  1099  //     `payments.filter(p, p > 1000)`.
  1100  //   - `map` - apply an expression to all elements in the input and return the
  1101  //     output aggregate type: `[1, 2, 3].map(i, i * i)`.
  1102  //
  1103  // The `has(m.x)` macro tests whether the property `x` is present in struct
  1104  // `m`. The semantics of this macro depend on the type of `m`. For proto2
  1105  // messages `has(m.x)` is defined as 'defined, but not set`. For proto3, the
  1106  // macro tests whether the property is set to its default. For map and struct
  1107  // types, the macro tests whether the property `x` is defined on `m`.
  1108  type Expr_Comprehension struct {
  1109  	state         protoimpl.MessageState
  1110  	sizeCache     protoimpl.SizeCache
  1111  	unknownFields protoimpl.UnknownFields
  1112  
  1113  	// The name of the iteration variable.
  1114  	IterVar string `protobuf:"bytes,1,opt,name=iter_var,json=iterVar,proto3" json:"iter_var,omitempty"`
  1115  	// The range over which var iterates.
  1116  	IterRange *Expr `protobuf:"bytes,2,opt,name=iter_range,json=iterRange,proto3" json:"iter_range,omitempty"`
  1117  	// The name of the variable used for accumulation of the result.
  1118  	AccuVar string `protobuf:"bytes,3,opt,name=accu_var,json=accuVar,proto3" json:"accu_var,omitempty"`
  1119  	// The initial value of the accumulator.
  1120  	AccuInit *Expr `protobuf:"bytes,4,opt,name=accu_init,json=accuInit,proto3" json:"accu_init,omitempty"`
  1121  	// An expression which can contain iter_var and accu_var.
  1122  	//
  1123  	// Returns false when the result has been computed and may be used as
  1124  	// a hint to short-circuit the remainder of the comprehension.
  1125  	LoopCondition *Expr `protobuf:"bytes,5,opt,name=loop_condition,json=loopCondition,proto3" json:"loop_condition,omitempty"`
  1126  	// An expression which can contain iter_var and accu_var.
  1127  	//
  1128  	// Computes the next value of accu_var.
  1129  	LoopStep *Expr `protobuf:"bytes,6,opt,name=loop_step,json=loopStep,proto3" json:"loop_step,omitempty"`
  1130  	// An expression which can contain accu_var.
  1131  	//
  1132  	// Computes the result.
  1133  	Result *Expr `protobuf:"bytes,7,opt,name=result,proto3" json:"result,omitempty"`
  1134  }
  1135  
  1136  func (x *Expr_Comprehension) Reset() {
  1137  	*x = Expr_Comprehension{}
  1138  	if protoimpl.UnsafeEnabled {
  1139  		mi := &file_google_api_expr_v1alpha1_syntax_proto_msgTypes[10]
  1140  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1141  		ms.StoreMessageInfo(mi)
  1142  	}
  1143  }
  1144  
  1145  func (x *Expr_Comprehension) String() string {
  1146  	return protoimpl.X.MessageStringOf(x)
  1147  }
  1148  
  1149  func (*Expr_Comprehension) ProtoMessage() {}
  1150  
  1151  func (x *Expr_Comprehension) ProtoReflect() protoreflect.Message {
  1152  	mi := &file_google_api_expr_v1alpha1_syntax_proto_msgTypes[10]
  1153  	if protoimpl.UnsafeEnabled && x != nil {
  1154  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1155  		if ms.LoadMessageInfo() == nil {
  1156  			ms.StoreMessageInfo(mi)
  1157  		}
  1158  		return ms
  1159  	}
  1160  	return mi.MessageOf(x)
  1161  }
  1162  
  1163  // Deprecated: Use Expr_Comprehension.ProtoReflect.Descriptor instead.
  1164  func (*Expr_Comprehension) Descriptor() ([]byte, []int) {
  1165  	return file_google_api_expr_v1alpha1_syntax_proto_rawDescGZIP(), []int{1, 5}
  1166  }
  1167  
  1168  func (x *Expr_Comprehension) GetIterVar() string {
  1169  	if x != nil {
  1170  		return x.IterVar
  1171  	}
  1172  	return ""
  1173  }
  1174  
  1175  func (x *Expr_Comprehension) GetIterRange() *Expr {
  1176  	if x != nil {
  1177  		return x.IterRange
  1178  	}
  1179  	return nil
  1180  }
  1181  
  1182  func (x *Expr_Comprehension) GetAccuVar() string {
  1183  	if x != nil {
  1184  		return x.AccuVar
  1185  	}
  1186  	return ""
  1187  }
  1188  
  1189  func (x *Expr_Comprehension) GetAccuInit() *Expr {
  1190  	if x != nil {
  1191  		return x.AccuInit
  1192  	}
  1193  	return nil
  1194  }
  1195  
  1196  func (x *Expr_Comprehension) GetLoopCondition() *Expr {
  1197  	if x != nil {
  1198  		return x.LoopCondition
  1199  	}
  1200  	return nil
  1201  }
  1202  
  1203  func (x *Expr_Comprehension) GetLoopStep() *Expr {
  1204  	if x != nil {
  1205  		return x.LoopStep
  1206  	}
  1207  	return nil
  1208  }
  1209  
  1210  func (x *Expr_Comprehension) GetResult() *Expr {
  1211  	if x != nil {
  1212  		return x.Result
  1213  	}
  1214  	return nil
  1215  }
  1216  
  1217  // Represents an entry.
  1218  type Expr_CreateStruct_Entry struct {
  1219  	state         protoimpl.MessageState
  1220  	sizeCache     protoimpl.SizeCache
  1221  	unknownFields protoimpl.UnknownFields
  1222  
  1223  	// Required. An id assigned to this node by the parser which is unique
  1224  	// in a given expression tree. This is used to associate type
  1225  	// information and other attributes to the node.
  1226  	Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
  1227  	// The `Entry` key kinds.
  1228  	//
  1229  	// Types that are assignable to KeyKind:
  1230  	//
  1231  	//	*Expr_CreateStruct_Entry_FieldKey
  1232  	//	*Expr_CreateStruct_Entry_MapKey
  1233  	KeyKind isExpr_CreateStruct_Entry_KeyKind `protobuf_oneof:"key_kind"`
  1234  	// Required. The value assigned to the key.
  1235  	//
  1236  	// If the optional_entry field is true, the expression must resolve to an
  1237  	// optional-typed value. If the optional value is present, the key will be
  1238  	// set; however, if the optional value is absent, the key will be unset.
  1239  	Value *Expr `protobuf:"bytes,4,opt,name=value,proto3" json:"value,omitempty"`
  1240  	// Whether the key-value pair is optional.
  1241  	OptionalEntry bool `protobuf:"varint,5,opt,name=optional_entry,json=optionalEntry,proto3" json:"optional_entry,omitempty"`
  1242  }
  1243  
  1244  func (x *Expr_CreateStruct_Entry) Reset() {
  1245  	*x = Expr_CreateStruct_Entry{}
  1246  	if protoimpl.UnsafeEnabled {
  1247  		mi := &file_google_api_expr_v1alpha1_syntax_proto_msgTypes[11]
  1248  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1249  		ms.StoreMessageInfo(mi)
  1250  	}
  1251  }
  1252  
  1253  func (x *Expr_CreateStruct_Entry) String() string {
  1254  	return protoimpl.X.MessageStringOf(x)
  1255  }
  1256  
  1257  func (*Expr_CreateStruct_Entry) ProtoMessage() {}
  1258  
  1259  func (x *Expr_CreateStruct_Entry) ProtoReflect() protoreflect.Message {
  1260  	mi := &file_google_api_expr_v1alpha1_syntax_proto_msgTypes[11]
  1261  	if protoimpl.UnsafeEnabled && x != nil {
  1262  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1263  		if ms.LoadMessageInfo() == nil {
  1264  			ms.StoreMessageInfo(mi)
  1265  		}
  1266  		return ms
  1267  	}
  1268  	return mi.MessageOf(x)
  1269  }
  1270  
  1271  // Deprecated: Use Expr_CreateStruct_Entry.ProtoReflect.Descriptor instead.
  1272  func (*Expr_CreateStruct_Entry) Descriptor() ([]byte, []int) {
  1273  	return file_google_api_expr_v1alpha1_syntax_proto_rawDescGZIP(), []int{1, 4, 0}
  1274  }
  1275  
  1276  func (x *Expr_CreateStruct_Entry) GetId() int64 {
  1277  	if x != nil {
  1278  		return x.Id
  1279  	}
  1280  	return 0
  1281  }
  1282  
  1283  func (m *Expr_CreateStruct_Entry) GetKeyKind() isExpr_CreateStruct_Entry_KeyKind {
  1284  	if m != nil {
  1285  		return m.KeyKind
  1286  	}
  1287  	return nil
  1288  }
  1289  
  1290  func (x *Expr_CreateStruct_Entry) GetFieldKey() string {
  1291  	if x, ok := x.GetKeyKind().(*Expr_CreateStruct_Entry_FieldKey); ok {
  1292  		return x.FieldKey
  1293  	}
  1294  	return ""
  1295  }
  1296  
  1297  func (x *Expr_CreateStruct_Entry) GetMapKey() *Expr {
  1298  	if x, ok := x.GetKeyKind().(*Expr_CreateStruct_Entry_MapKey); ok {
  1299  		return x.MapKey
  1300  	}
  1301  	return nil
  1302  }
  1303  
  1304  func (x *Expr_CreateStruct_Entry) GetValue() *Expr {
  1305  	if x != nil {
  1306  		return x.Value
  1307  	}
  1308  	return nil
  1309  }
  1310  
  1311  func (x *Expr_CreateStruct_Entry) GetOptionalEntry() bool {
  1312  	if x != nil {
  1313  		return x.OptionalEntry
  1314  	}
  1315  	return false
  1316  }
  1317  
  1318  type isExpr_CreateStruct_Entry_KeyKind interface {
  1319  	isExpr_CreateStruct_Entry_KeyKind()
  1320  }
  1321  
  1322  type Expr_CreateStruct_Entry_FieldKey struct {
  1323  	// The field key for a message creator statement.
  1324  	FieldKey string `protobuf:"bytes,2,opt,name=field_key,json=fieldKey,proto3,oneof"`
  1325  }
  1326  
  1327  type Expr_CreateStruct_Entry_MapKey struct {
  1328  	// The key expression for a map creation statement.
  1329  	MapKey *Expr `protobuf:"bytes,3,opt,name=map_key,json=mapKey,proto3,oneof"`
  1330  }
  1331  
  1332  func (*Expr_CreateStruct_Entry_FieldKey) isExpr_CreateStruct_Entry_KeyKind() {}
  1333  
  1334  func (*Expr_CreateStruct_Entry_MapKey) isExpr_CreateStruct_Entry_KeyKind() {}
  1335  
  1336  // An extension that was requested for the source expression.
  1337  type SourceInfo_Extension struct {
  1338  	state         protoimpl.MessageState
  1339  	sizeCache     protoimpl.SizeCache
  1340  	unknownFields protoimpl.UnknownFields
  1341  
  1342  	// Identifier for the extension. Example: constant_folding
  1343  	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
  1344  	// If set, the listed components must understand the extension for the
  1345  	// expression to evaluate correctly.
  1346  	//
  1347  	// This field has set semantics, repeated values should be deduplicated.
  1348  	AffectedComponents []SourceInfo_Extension_Component `protobuf:"varint,2,rep,packed,name=affected_components,json=affectedComponents,proto3,enum=google.api.expr.v1alpha1.SourceInfo_Extension_Component" json:"affected_components,omitempty"`
  1349  	// Version info. May be skipped if it isn't meaningful for the extension.
  1350  	// (for example constant_folding might always be v0.0).
  1351  	Version *SourceInfo_Extension_Version `protobuf:"bytes,3,opt,name=version,proto3" json:"version,omitempty"`
  1352  }
  1353  
  1354  func (x *SourceInfo_Extension) Reset() {
  1355  	*x = SourceInfo_Extension{}
  1356  	if protoimpl.UnsafeEnabled {
  1357  		mi := &file_google_api_expr_v1alpha1_syntax_proto_msgTypes[12]
  1358  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1359  		ms.StoreMessageInfo(mi)
  1360  	}
  1361  }
  1362  
  1363  func (x *SourceInfo_Extension) String() string {
  1364  	return protoimpl.X.MessageStringOf(x)
  1365  }
  1366  
  1367  func (*SourceInfo_Extension) ProtoMessage() {}
  1368  
  1369  func (x *SourceInfo_Extension) ProtoReflect() protoreflect.Message {
  1370  	mi := &file_google_api_expr_v1alpha1_syntax_proto_msgTypes[12]
  1371  	if protoimpl.UnsafeEnabled && x != nil {
  1372  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1373  		if ms.LoadMessageInfo() == nil {
  1374  			ms.StoreMessageInfo(mi)
  1375  		}
  1376  		return ms
  1377  	}
  1378  	return mi.MessageOf(x)
  1379  }
  1380  
  1381  // Deprecated: Use SourceInfo_Extension.ProtoReflect.Descriptor instead.
  1382  func (*SourceInfo_Extension) Descriptor() ([]byte, []int) {
  1383  	return file_google_api_expr_v1alpha1_syntax_proto_rawDescGZIP(), []int{3, 0}
  1384  }
  1385  
  1386  func (x *SourceInfo_Extension) GetId() string {
  1387  	if x != nil {
  1388  		return x.Id
  1389  	}
  1390  	return ""
  1391  }
  1392  
  1393  func (x *SourceInfo_Extension) GetAffectedComponents() []SourceInfo_Extension_Component {
  1394  	if x != nil {
  1395  		return x.AffectedComponents
  1396  	}
  1397  	return nil
  1398  }
  1399  
  1400  func (x *SourceInfo_Extension) GetVersion() *SourceInfo_Extension_Version {
  1401  	if x != nil {
  1402  		return x.Version
  1403  	}
  1404  	return nil
  1405  }
  1406  
  1407  // Version
  1408  type SourceInfo_Extension_Version struct {
  1409  	state         protoimpl.MessageState
  1410  	sizeCache     protoimpl.SizeCache
  1411  	unknownFields protoimpl.UnknownFields
  1412  
  1413  	// Major version changes indicate different required support level from
  1414  	// the required components.
  1415  	Major int64 `protobuf:"varint,1,opt,name=major,proto3" json:"major,omitempty"`
  1416  	// Minor version changes must not change the observed behavior from
  1417  	// existing implementations, but may be provided informationally.
  1418  	Minor int64 `protobuf:"varint,2,opt,name=minor,proto3" json:"minor,omitempty"`
  1419  }
  1420  
  1421  func (x *SourceInfo_Extension_Version) Reset() {
  1422  	*x = SourceInfo_Extension_Version{}
  1423  	if protoimpl.UnsafeEnabled {
  1424  		mi := &file_google_api_expr_v1alpha1_syntax_proto_msgTypes[15]
  1425  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1426  		ms.StoreMessageInfo(mi)
  1427  	}
  1428  }
  1429  
  1430  func (x *SourceInfo_Extension_Version) String() string {
  1431  	return protoimpl.X.MessageStringOf(x)
  1432  }
  1433  
  1434  func (*SourceInfo_Extension_Version) ProtoMessage() {}
  1435  
  1436  func (x *SourceInfo_Extension_Version) ProtoReflect() protoreflect.Message {
  1437  	mi := &file_google_api_expr_v1alpha1_syntax_proto_msgTypes[15]
  1438  	if protoimpl.UnsafeEnabled && x != nil {
  1439  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1440  		if ms.LoadMessageInfo() == nil {
  1441  			ms.StoreMessageInfo(mi)
  1442  		}
  1443  		return ms
  1444  	}
  1445  	return mi.MessageOf(x)
  1446  }
  1447  
  1448  // Deprecated: Use SourceInfo_Extension_Version.ProtoReflect.Descriptor instead.
  1449  func (*SourceInfo_Extension_Version) Descriptor() ([]byte, []int) {
  1450  	return file_google_api_expr_v1alpha1_syntax_proto_rawDescGZIP(), []int{3, 0, 0}
  1451  }
  1452  
  1453  func (x *SourceInfo_Extension_Version) GetMajor() int64 {
  1454  	if x != nil {
  1455  		return x.Major
  1456  	}
  1457  	return 0
  1458  }
  1459  
  1460  func (x *SourceInfo_Extension_Version) GetMinor() int64 {
  1461  	if x != nil {
  1462  		return x.Minor
  1463  	}
  1464  	return 0
  1465  }
  1466  
  1467  var File_google_api_expr_v1alpha1_syntax_proto protoreflect.FileDescriptor
  1468  
  1469  var file_google_api_expr_v1alpha1_syntax_proto_rawDesc = []byte{
  1470  	0x0a, 0x25, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x65, 0x78, 0x70,
  1471  	0x72, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2f, 0x73, 0x79, 0x6e, 0x74, 0x61,
  1472  	0x78, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x18, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
  1473  	0x61, 0x70, 0x69, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61,
  1474  	0x31, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
  1475  	0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74,
  1476  	0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
  1477  	0x75, 0x66, 0x2f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
  1478  	0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
  1479  	0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
  1480  	0x22, 0x87, 0x01, 0x0a, 0x0a, 0x50, 0x61, 0x72, 0x73, 0x65, 0x64, 0x45, 0x78, 0x70, 0x72, 0x12,
  1481  	0x32, 0x0a, 0x04, 0x65, 0x78, 0x70, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e,
  1482  	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e,
  1483  	0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x72, 0x52, 0x04, 0x65,
  1484  	0x78, 0x70, 0x72, 0x12, 0x45, 0x0a, 0x0b, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x6e,
  1485  	0x66, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
  1486  	0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70,
  1487  	0x68, 0x61, 0x31, 0x2e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0a,
  1488  	0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0xae, 0x0d, 0x0a, 0x04, 0x45,
  1489  	0x78, 0x70, 0x72, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52,
  1490  	0x02, 0x69, 0x64, 0x12, 0x43, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x5f, 0x65, 0x78, 0x70,
  1491  	0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
  1492  	0x2e, 0x61, 0x70, 0x69, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68,
  1493  	0x61, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x09, 0x63,
  1494  	0x6f, 0x6e, 0x73, 0x74, 0x45, 0x78, 0x70, 0x72, 0x12, 0x45, 0x0a, 0x0a, 0x69, 0x64, 0x65, 0x6e,
  1495  	0x74, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67,
  1496  	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x76,
  1497  	0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x72, 0x2e, 0x49, 0x64, 0x65,
  1498  	0x6e, 0x74, 0x48, 0x00, 0x52, 0x09, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x45, 0x78, 0x70, 0x72, 0x12,
  1499  	0x48, 0x0a, 0x0b, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x18, 0x05,
  1500  	0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70,
  1501  	0x69, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e,
  1502  	0x45, 0x78, 0x70, 0x72, 0x2e, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x48, 0x00, 0x52, 0x0a, 0x73,
  1503  	0x65, 0x6c, 0x65, 0x63, 0x74, 0x45, 0x78, 0x70, 0x72, 0x12, 0x42, 0x0a, 0x09, 0x63, 0x61, 0x6c,
  1504  	0x6c, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67,
  1505  	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x76,
  1506  	0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x72, 0x2e, 0x43, 0x61, 0x6c,
  1507  	0x6c, 0x48, 0x00, 0x52, 0x08, 0x63, 0x61, 0x6c, 0x6c, 0x45, 0x78, 0x70, 0x72, 0x12, 0x48, 0x0a,
  1508  	0x09, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b,
  1509  	0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x65, 0x78,
  1510  	0x70, 0x72, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x72,
  1511  	0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x48, 0x00, 0x52, 0x08, 0x6c,
  1512  	0x69, 0x73, 0x74, 0x45, 0x78, 0x70, 0x72, 0x12, 0x4e, 0x0a, 0x0b, 0x73, 0x74, 0x72, 0x75, 0x63,
  1513  	0x74, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67,
  1514  	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x76,
  1515  	0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x72, 0x2e, 0x43, 0x72, 0x65,
  1516  	0x61, 0x74, 0x65, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x48, 0x00, 0x52, 0x0a, 0x73, 0x74, 0x72,
  1517  	0x75, 0x63, 0x74, 0x45, 0x78, 0x70, 0x72, 0x12, 0x5d, 0x0a, 0x12, 0x63, 0x6f, 0x6d, 0x70, 0x72,
  1518  	0x65, 0x68, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x18, 0x09, 0x20,
  1519  	0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69,
  1520  	0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x45,
  1521  	0x78, 0x70, 0x72, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x68, 0x65, 0x6e, 0x73, 0x69, 0x6f,
  1522  	0x6e, 0x48, 0x00, 0x52, 0x11, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x68, 0x65, 0x6e, 0x73, 0x69,
  1523  	0x6f, 0x6e, 0x45, 0x78, 0x70, 0x72, 0x1a, 0x1b, 0x0a, 0x05, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x12,
  1524  	0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e,
  1525  	0x61, 0x6d, 0x65, 0x1a, 0x75, 0x0a, 0x06, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x12, 0x38, 0x0a,
  1526  	0x07, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e,
  1527  	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x65, 0x78, 0x70, 0x72,
  1528  	0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x72, 0x52, 0x07,
  1529  	0x6f, 0x70, 0x65, 0x72, 0x61, 0x6e, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x69, 0x65, 0x6c, 0x64,
  1530  	0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x12, 0x1b, 0x0a,
  1531  	0x09, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08,
  1532  	0x52, 0x08, 0x74, 0x65, 0x73, 0x74, 0x4f, 0x6e, 0x6c, 0x79, 0x1a, 0x8e, 0x01, 0x0a, 0x04, 0x43,
  1533  	0x61, 0x6c, 0x6c, 0x12, 0x36, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x01, 0x20,
  1534  	0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69,
  1535  	0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x45,
  1536  	0x78, 0x70, 0x72, 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x66,
  1537  	0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66,
  1538  	0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x32, 0x0a, 0x04, 0x61, 0x72, 0x67, 0x73, 0x18,
  1539  	0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61,
  1540  	0x70, 0x69, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31,
  1541  	0x2e, 0x45, 0x78, 0x70, 0x72, 0x52, 0x04, 0x61, 0x72, 0x67, 0x73, 0x1a, 0x73, 0x0a, 0x0a, 0x43,
  1542  	0x72, 0x65, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x3a, 0x0a, 0x08, 0x65, 0x6c, 0x65,
  1543  	0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x6f,
  1544  	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x76, 0x31,
  1545  	0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x72, 0x52, 0x08, 0x65, 0x6c, 0x65,
  1546  	0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x29, 0x0a, 0x10, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61,
  1547  	0x6c, 0x5f, 0x69, 0x6e, 0x64, 0x69, 0x63, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x05, 0x52,
  1548  	0x0f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x49, 0x6e, 0x64, 0x69, 0x63, 0x65, 0x73,
  1549  	0x1a, 0xdb, 0x02, 0x0a, 0x0c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x74, 0x72, 0x75, 0x63,
  1550  	0x74, 0x12, 0x21, 0x0a, 0x0c, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x6e, 0x61, 0x6d,
  1551  	0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65,
  1552  	0x4e, 0x61, 0x6d, 0x65, 0x12, 0x4b, 0x0a, 0x07, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x18,
  1553  	0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61,
  1554  	0x70, 0x69, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31,
  1555  	0x2e, 0x45, 0x78, 0x70, 0x72, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x74, 0x72, 0x75,
  1556  	0x63, 0x74, 0x2e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65,
  1557  	0x73, 0x1a, 0xda, 0x01, 0x0a, 0x05, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x0e, 0x0a, 0x02, 0x69,
  1558  	0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1d, 0x0a, 0x09, 0x66,
  1559  	0x69, 0x65, 0x6c, 0x64, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00,
  1560  	0x52, 0x08, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x4b, 0x65, 0x79, 0x12, 0x39, 0x0a, 0x07, 0x6d, 0x61,
  1561  	0x70, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x6f,
  1562  	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x76, 0x31,
  1563  	0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x72, 0x48, 0x00, 0x52, 0x06, 0x6d,
  1564  	0x61, 0x70, 0x4b, 0x65, 0x79, 0x12, 0x34, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x04,
  1565  	0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70,
  1566  	0x69, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e,
  1567  	0x45, 0x78, 0x70, 0x72, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x6f,
  1568  	0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x18, 0x05, 0x20,
  1569  	0x01, 0x28, 0x08, 0x52, 0x0d, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x6e, 0x74,
  1570  	0x72, 0x79, 0x42, 0x0a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x1a, 0xfd,
  1571  	0x02, 0x0a, 0x0d, 0x43, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x68, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e,
  1572  	0x12, 0x19, 0x0a, 0x08, 0x69, 0x74, 0x65, 0x72, 0x5f, 0x76, 0x61, 0x72, 0x18, 0x01, 0x20, 0x01,
  1573  	0x28, 0x09, 0x52, 0x07, 0x69, 0x74, 0x65, 0x72, 0x56, 0x61, 0x72, 0x12, 0x3d, 0x0a, 0x0a, 0x69,
  1574  	0x74, 0x65, 0x72, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32,
  1575  	0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x65, 0x78, 0x70,
  1576  	0x72, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x72, 0x52,
  1577  	0x09, 0x69, 0x74, 0x65, 0x72, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x61, 0x63,
  1578  	0x63, 0x75, 0x5f, 0x76, 0x61, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x63,
  1579  	0x63, 0x75, 0x56, 0x61, 0x72, 0x12, 0x3b, 0x0a, 0x09, 0x61, 0x63, 0x63, 0x75, 0x5f, 0x69, 0x6e,
  1580  	0x69, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
  1581  	0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70,
  1582  	0x68, 0x61, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x72, 0x52, 0x08, 0x61, 0x63, 0x63, 0x75, 0x49, 0x6e,
  1583  	0x69, 0x74, 0x12, 0x45, 0x0a, 0x0e, 0x6c, 0x6f, 0x6f, 0x70, 0x5f, 0x63, 0x6f, 0x6e, 0x64, 0x69,
  1584  	0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x6f, 0x6f,
  1585  	0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x76, 0x31, 0x61,
  1586  	0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x72, 0x52, 0x0d, 0x6c, 0x6f, 0x6f, 0x70,
  1587  	0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3b, 0x0a, 0x09, 0x6c, 0x6f, 0x6f,
  1588  	0x70, 0x5f, 0x73, 0x74, 0x65, 0x70, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67,
  1589  	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x76,
  1590  	0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x72, 0x52, 0x08, 0x6c, 0x6f,
  1591  	0x6f, 0x70, 0x53, 0x74, 0x65, 0x70, 0x12, 0x36, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74,
  1592  	0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
  1593  	0x61, 0x70, 0x69, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61,
  1594  	0x31, 0x2e, 0x45, 0x78, 0x70, 0x72, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x42, 0x0b,
  1595  	0x0a, 0x09, 0x65, 0x78, 0x70, 0x72, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x22, 0xc1, 0x03, 0x0a, 0x08,
  1596  	0x43, 0x6f, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x12, 0x3b, 0x0a, 0x0a, 0x6e, 0x75, 0x6c, 0x6c,
  1597  	0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1a, 0x2e, 0x67,
  1598  	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x4e,
  1599  	0x75, 0x6c, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x48, 0x00, 0x52, 0x09, 0x6e, 0x75, 0x6c, 0x6c,
  1600  	0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1f, 0x0a, 0x0a, 0x62, 0x6f, 0x6f, 0x6c, 0x5f, 0x76, 0x61,
  1601  	0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x09, 0x62, 0x6f, 0x6f,
  1602  	0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x21, 0x0a, 0x0b, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x5f,
  1603  	0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x0a, 0x69,
  1604  	0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x23, 0x0a, 0x0c, 0x75, 0x69, 0x6e,
  1605  	0x74, 0x36, 0x34, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x48,
  1606  	0x00, 0x52, 0x0b, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x23,
  1607  	0x0a, 0x0c, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x05,
  1608  	0x20, 0x01, 0x28, 0x01, 0x48, 0x00, 0x52, 0x0b, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x56, 0x61,
  1609  	0x6c, 0x75, 0x65, 0x12, 0x23, 0x0a, 0x0c, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x76, 0x61,
  1610  	0x6c, 0x75, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0b, 0x73, 0x74, 0x72,
  1611  	0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x21, 0x0a, 0x0b, 0x62, 0x79, 0x74, 0x65,
  1612  	0x73, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52,
  1613  	0x0a, 0x62, 0x79, 0x74, 0x65, 0x73, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x46, 0x0a, 0x0e, 0x64,
  1614  	0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x08, 0x20,
  1615  	0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
  1616  	0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x02,
  1617  	0x18, 0x01, 0x48, 0x00, 0x52, 0x0d, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x56, 0x61,
  1618  	0x6c, 0x75, 0x65, 0x12, 0x49, 0x0a, 0x0f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70,
  1619  	0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67,
  1620  	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54,
  1621  	0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x02, 0x18, 0x01, 0x48, 0x00, 0x52, 0x0e,
  1622  	0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x0f,
  1623  	0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x22,
  1624  	0x8c, 0x07, 0x0a, 0x0a, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x25,
  1625  	0x0a, 0x0e, 0x73, 0x79, 0x6e, 0x74, 0x61, 0x78, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e,
  1626  	0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x73, 0x79, 0x6e, 0x74, 0x61, 0x78, 0x56, 0x65,
  1627  	0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f,
  1628  	0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f,
  1629  	0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74,
  1630  	0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0b, 0x6c, 0x69, 0x6e, 0x65, 0x4f, 0x66, 0x66,
  1631  	0x73, 0x65, 0x74, 0x73, 0x12, 0x51, 0x0a, 0x09, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e,
  1632  	0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
  1633  	0x2e, 0x61, 0x70, 0x69, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68,
  1634  	0x61, 0x31, 0x2e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x50, 0x6f,
  1635  	0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x09, 0x70, 0x6f,
  1636  	0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x55, 0x0a, 0x0b, 0x6d, 0x61, 0x63, 0x72, 0x6f,
  1637  	0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x67,
  1638  	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x76,
  1639  	0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x6e,
  1640  	0x66, 0x6f, 0x2e, 0x4d, 0x61, 0x63, 0x72, 0x6f, 0x43, 0x61, 0x6c, 0x6c, 0x73, 0x45, 0x6e, 0x74,
  1641  	0x72, 0x79, 0x52, 0x0a, 0x6d, 0x61, 0x63, 0x72, 0x6f, 0x43, 0x61, 0x6c, 0x6c, 0x73, 0x12, 0x4e,
  1642  	0x0a, 0x0a, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x06, 0x20, 0x03,
  1643  	0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e,
  1644  	0x65, 0x78, 0x70, 0x72, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x53, 0x6f,
  1645  	0x75, 0x72, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69,
  1646  	0x6f, 0x6e, 0x52, 0x0a, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x80,
  1647  	0x03, 0x0a, 0x09, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x0e, 0x0a, 0x02,
  1648  	0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x69, 0x0a, 0x13,
  1649  	0x61, 0x66, 0x66, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65,
  1650  	0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
  1651  	0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x76, 0x31, 0x61, 0x6c,
  1652  	0x70, 0x68, 0x61, 0x31, 0x2e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e,
  1653  	0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e,
  1654  	0x65, 0x6e, 0x74, 0x52, 0x12, 0x61, 0x66, 0x66, 0x65, 0x63, 0x74, 0x65, 0x64, 0x43, 0x6f, 0x6d,
  1655  	0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x50, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69,
  1656  	0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
  1657  	0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70,
  1658  	0x68, 0x61, 0x31, 0x2e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x45,
  1659  	0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e,
  1660  	0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x1a, 0x35, 0x0a, 0x07, 0x56, 0x65, 0x72,
  1661  	0x73, 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x6d, 0x61, 0x6a, 0x6f, 0x72, 0x18, 0x01, 0x20,
  1662  	0x01, 0x28, 0x03, 0x52, 0x05, 0x6d, 0x61, 0x6a, 0x6f, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x6d, 0x69,
  1663  	0x6e, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x6d, 0x69, 0x6e, 0x6f, 0x72,
  1664  	0x22, 0x6f, 0x0a, 0x09, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x12, 0x19, 0x0a,
  1665  	0x15, 0x43, 0x4f, 0x4d, 0x50, 0x4f, 0x4e, 0x45, 0x4e, 0x54, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45,
  1666  	0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x14, 0x0a, 0x10, 0x43, 0x4f, 0x4d, 0x50,
  1667  	0x4f, 0x4e, 0x45, 0x4e, 0x54, 0x5f, 0x50, 0x41, 0x52, 0x53, 0x45, 0x52, 0x10, 0x01, 0x12, 0x1a,
  1668  	0x0a, 0x16, 0x43, 0x4f, 0x4d, 0x50, 0x4f, 0x4e, 0x45, 0x4e, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45,
  1669  	0x5f, 0x43, 0x48, 0x45, 0x43, 0x4b, 0x45, 0x52, 0x10, 0x02, 0x12, 0x15, 0x0a, 0x11, 0x43, 0x4f,
  1670  	0x4d, 0x50, 0x4f, 0x4e, 0x45, 0x4e, 0x54, 0x5f, 0x52, 0x55, 0x4e, 0x54, 0x49, 0x4d, 0x45, 0x10,
  1671  	0x03, 0x1a, 0x3c, 0x0a, 0x0e, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e,
  1672  	0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03,
  1673  	0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02,
  1674  	0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a,
  1675  	0x5d, 0x0a, 0x0f, 0x4d, 0x61, 0x63, 0x72, 0x6f, 0x43, 0x61, 0x6c, 0x6c, 0x73, 0x45, 0x6e, 0x74,
  1676  	0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52,
  1677  	0x03, 0x6b, 0x65, 0x79, 0x12, 0x34, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20,
  1678  	0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69,
  1679  	0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x45,
  1680  	0x78, 0x70, 0x72, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x70,
  1681  	0x0a, 0x0e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e,
  1682  	0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01,
  1683  	0x28, 0x09, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06,
  1684  	0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x6f, 0x66,
  1685  	0x66, 0x73, 0x65, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x03, 0x20, 0x01,
  1686  	0x28, 0x05, 0x52, 0x04, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x6f, 0x6c, 0x75,
  1687  	0x6d, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e,
  1688  	0x42, 0x6e, 0x0a, 0x1c, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61,
  1689  	0x70, 0x69, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31,
  1690  	0x42, 0x0b, 0x53, 0x79, 0x6e, 0x74, 0x61, 0x78, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a,
  1691  	0x3c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f,
  1692  	0x72, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x6f, 0x67,
  1693  	0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x65, 0x78, 0x70, 0x72, 0x2f,
  1694  	0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x3b, 0x65, 0x78, 0x70, 0x72, 0xf8, 0x01, 0x01,
  1695  	0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
  1696  }
  1697  
  1698  var (
  1699  	file_google_api_expr_v1alpha1_syntax_proto_rawDescOnce sync.Once
  1700  	file_google_api_expr_v1alpha1_syntax_proto_rawDescData = file_google_api_expr_v1alpha1_syntax_proto_rawDesc
  1701  )
  1702  
  1703  func file_google_api_expr_v1alpha1_syntax_proto_rawDescGZIP() []byte {
  1704  	file_google_api_expr_v1alpha1_syntax_proto_rawDescOnce.Do(func() {
  1705  		file_google_api_expr_v1alpha1_syntax_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_api_expr_v1alpha1_syntax_proto_rawDescData)
  1706  	})
  1707  	return file_google_api_expr_v1alpha1_syntax_proto_rawDescData
  1708  }
  1709  
  1710  var file_google_api_expr_v1alpha1_syntax_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
  1711  var file_google_api_expr_v1alpha1_syntax_proto_msgTypes = make([]protoimpl.MessageInfo, 16)
  1712  var file_google_api_expr_v1alpha1_syntax_proto_goTypes = []interface{}{
  1713  	(SourceInfo_Extension_Component)(0),  // 0: google.api.expr.v1alpha1.SourceInfo.Extension.Component
  1714  	(*ParsedExpr)(nil),                   // 1: google.api.expr.v1alpha1.ParsedExpr
  1715  	(*Expr)(nil),                         // 2: google.api.expr.v1alpha1.Expr
  1716  	(*Constant)(nil),                     // 3: google.api.expr.v1alpha1.Constant
  1717  	(*SourceInfo)(nil),                   // 4: google.api.expr.v1alpha1.SourceInfo
  1718  	(*SourcePosition)(nil),               // 5: google.api.expr.v1alpha1.SourcePosition
  1719  	(*Expr_Ident)(nil),                   // 6: google.api.expr.v1alpha1.Expr.Ident
  1720  	(*Expr_Select)(nil),                  // 7: google.api.expr.v1alpha1.Expr.Select
  1721  	(*Expr_Call)(nil),                    // 8: google.api.expr.v1alpha1.Expr.Call
  1722  	(*Expr_CreateList)(nil),              // 9: google.api.expr.v1alpha1.Expr.CreateList
  1723  	(*Expr_CreateStruct)(nil),            // 10: google.api.expr.v1alpha1.Expr.CreateStruct
  1724  	(*Expr_Comprehension)(nil),           // 11: google.api.expr.v1alpha1.Expr.Comprehension
  1725  	(*Expr_CreateStruct_Entry)(nil),      // 12: google.api.expr.v1alpha1.Expr.CreateStruct.Entry
  1726  	(*SourceInfo_Extension)(nil),         // 13: google.api.expr.v1alpha1.SourceInfo.Extension
  1727  	nil,                                  // 14: google.api.expr.v1alpha1.SourceInfo.PositionsEntry
  1728  	nil,                                  // 15: google.api.expr.v1alpha1.SourceInfo.MacroCallsEntry
  1729  	(*SourceInfo_Extension_Version)(nil), // 16: google.api.expr.v1alpha1.SourceInfo.Extension.Version
  1730  	(structpb.NullValue)(0),              // 17: google.protobuf.NullValue
  1731  	(*durationpb.Duration)(nil),          // 18: google.protobuf.Duration
  1732  	(*timestamppb.Timestamp)(nil),        // 19: google.protobuf.Timestamp
  1733  }
  1734  var file_google_api_expr_v1alpha1_syntax_proto_depIdxs = []int32{
  1735  	2,  // 0: google.api.expr.v1alpha1.ParsedExpr.expr:type_name -> google.api.expr.v1alpha1.Expr
  1736  	4,  // 1: google.api.expr.v1alpha1.ParsedExpr.source_info:type_name -> google.api.expr.v1alpha1.SourceInfo
  1737  	3,  // 2: google.api.expr.v1alpha1.Expr.const_expr:type_name -> google.api.expr.v1alpha1.Constant
  1738  	6,  // 3: google.api.expr.v1alpha1.Expr.ident_expr:type_name -> google.api.expr.v1alpha1.Expr.Ident
  1739  	7,  // 4: google.api.expr.v1alpha1.Expr.select_expr:type_name -> google.api.expr.v1alpha1.Expr.Select
  1740  	8,  // 5: google.api.expr.v1alpha1.Expr.call_expr:type_name -> google.api.expr.v1alpha1.Expr.Call
  1741  	9,  // 6: google.api.expr.v1alpha1.Expr.list_expr:type_name -> google.api.expr.v1alpha1.Expr.CreateList
  1742  	10, // 7: google.api.expr.v1alpha1.Expr.struct_expr:type_name -> google.api.expr.v1alpha1.Expr.CreateStruct
  1743  	11, // 8: google.api.expr.v1alpha1.Expr.comprehension_expr:type_name -> google.api.expr.v1alpha1.Expr.Comprehension
  1744  	17, // 9: google.api.expr.v1alpha1.Constant.null_value:type_name -> google.protobuf.NullValue
  1745  	18, // 10: google.api.expr.v1alpha1.Constant.duration_value:type_name -> google.protobuf.Duration
  1746  	19, // 11: google.api.expr.v1alpha1.Constant.timestamp_value:type_name -> google.protobuf.Timestamp
  1747  	14, // 12: google.api.expr.v1alpha1.SourceInfo.positions:type_name -> google.api.expr.v1alpha1.SourceInfo.PositionsEntry
  1748  	15, // 13: google.api.expr.v1alpha1.SourceInfo.macro_calls:type_name -> google.api.expr.v1alpha1.SourceInfo.MacroCallsEntry
  1749  	13, // 14: google.api.expr.v1alpha1.SourceInfo.extensions:type_name -> google.api.expr.v1alpha1.SourceInfo.Extension
  1750  	2,  // 15: google.api.expr.v1alpha1.Expr.Select.operand:type_name -> google.api.expr.v1alpha1.Expr
  1751  	2,  // 16: google.api.expr.v1alpha1.Expr.Call.target:type_name -> google.api.expr.v1alpha1.Expr
  1752  	2,  // 17: google.api.expr.v1alpha1.Expr.Call.args:type_name -> google.api.expr.v1alpha1.Expr
  1753  	2,  // 18: google.api.expr.v1alpha1.Expr.CreateList.elements:type_name -> google.api.expr.v1alpha1.Expr
  1754  	12, // 19: google.api.expr.v1alpha1.Expr.CreateStruct.entries:type_name -> google.api.expr.v1alpha1.Expr.CreateStruct.Entry
  1755  	2,  // 20: google.api.expr.v1alpha1.Expr.Comprehension.iter_range:type_name -> google.api.expr.v1alpha1.Expr
  1756  	2,  // 21: google.api.expr.v1alpha1.Expr.Comprehension.accu_init:type_name -> google.api.expr.v1alpha1.Expr
  1757  	2,  // 22: google.api.expr.v1alpha1.Expr.Comprehension.loop_condition:type_name -> google.api.expr.v1alpha1.Expr
  1758  	2,  // 23: google.api.expr.v1alpha1.Expr.Comprehension.loop_step:type_name -> google.api.expr.v1alpha1.Expr
  1759  	2,  // 24: google.api.expr.v1alpha1.Expr.Comprehension.result:type_name -> google.api.expr.v1alpha1.Expr
  1760  	2,  // 25: google.api.expr.v1alpha1.Expr.CreateStruct.Entry.map_key:type_name -> google.api.expr.v1alpha1.Expr
  1761  	2,  // 26: google.api.expr.v1alpha1.Expr.CreateStruct.Entry.value:type_name -> google.api.expr.v1alpha1.Expr
  1762  	0,  // 27: google.api.expr.v1alpha1.SourceInfo.Extension.affected_components:type_name -> google.api.expr.v1alpha1.SourceInfo.Extension.Component
  1763  	16, // 28: google.api.expr.v1alpha1.SourceInfo.Extension.version:type_name -> google.api.expr.v1alpha1.SourceInfo.Extension.Version
  1764  	2,  // 29: google.api.expr.v1alpha1.SourceInfo.MacroCallsEntry.value:type_name -> google.api.expr.v1alpha1.Expr
  1765  	30, // [30:30] is the sub-list for method output_type
  1766  	30, // [30:30] is the sub-list for method input_type
  1767  	30, // [30:30] is the sub-list for extension type_name
  1768  	30, // [30:30] is the sub-list for extension extendee
  1769  	0,  // [0:30] is the sub-list for field type_name
  1770  }
  1771  
  1772  func init() { file_google_api_expr_v1alpha1_syntax_proto_init() }
  1773  func file_google_api_expr_v1alpha1_syntax_proto_init() {
  1774  	if File_google_api_expr_v1alpha1_syntax_proto != nil {
  1775  		return
  1776  	}
  1777  	if !protoimpl.UnsafeEnabled {
  1778  		file_google_api_expr_v1alpha1_syntax_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
  1779  			switch v := v.(*ParsedExpr); i {
  1780  			case 0:
  1781  				return &v.state
  1782  			case 1:
  1783  				return &v.sizeCache
  1784  			case 2:
  1785  				return &v.unknownFields
  1786  			default:
  1787  				return nil
  1788  			}
  1789  		}
  1790  		file_google_api_expr_v1alpha1_syntax_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
  1791  			switch v := v.(*Expr); i {
  1792  			case 0:
  1793  				return &v.state
  1794  			case 1:
  1795  				return &v.sizeCache
  1796  			case 2:
  1797  				return &v.unknownFields
  1798  			default:
  1799  				return nil
  1800  			}
  1801  		}
  1802  		file_google_api_expr_v1alpha1_syntax_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
  1803  			switch v := v.(*Constant); i {
  1804  			case 0:
  1805  				return &v.state
  1806  			case 1:
  1807  				return &v.sizeCache
  1808  			case 2:
  1809  				return &v.unknownFields
  1810  			default:
  1811  				return nil
  1812  			}
  1813  		}
  1814  		file_google_api_expr_v1alpha1_syntax_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
  1815  			switch v := v.(*SourceInfo); i {
  1816  			case 0:
  1817  				return &v.state
  1818  			case 1:
  1819  				return &v.sizeCache
  1820  			case 2:
  1821  				return &v.unknownFields
  1822  			default:
  1823  				return nil
  1824  			}
  1825  		}
  1826  		file_google_api_expr_v1alpha1_syntax_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
  1827  			switch v := v.(*SourcePosition); i {
  1828  			case 0:
  1829  				return &v.state
  1830  			case 1:
  1831  				return &v.sizeCache
  1832  			case 2:
  1833  				return &v.unknownFields
  1834  			default:
  1835  				return nil
  1836  			}
  1837  		}
  1838  		file_google_api_expr_v1alpha1_syntax_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
  1839  			switch v := v.(*Expr_Ident); i {
  1840  			case 0:
  1841  				return &v.state
  1842  			case 1:
  1843  				return &v.sizeCache
  1844  			case 2:
  1845  				return &v.unknownFields
  1846  			default:
  1847  				return nil
  1848  			}
  1849  		}
  1850  		file_google_api_expr_v1alpha1_syntax_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
  1851  			switch v := v.(*Expr_Select); i {
  1852  			case 0:
  1853  				return &v.state
  1854  			case 1:
  1855  				return &v.sizeCache
  1856  			case 2:
  1857  				return &v.unknownFields
  1858  			default:
  1859  				return nil
  1860  			}
  1861  		}
  1862  		file_google_api_expr_v1alpha1_syntax_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
  1863  			switch v := v.(*Expr_Call); i {
  1864  			case 0:
  1865  				return &v.state
  1866  			case 1:
  1867  				return &v.sizeCache
  1868  			case 2:
  1869  				return &v.unknownFields
  1870  			default:
  1871  				return nil
  1872  			}
  1873  		}
  1874  		file_google_api_expr_v1alpha1_syntax_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
  1875  			switch v := v.(*Expr_CreateList); i {
  1876  			case 0:
  1877  				return &v.state
  1878  			case 1:
  1879  				return &v.sizeCache
  1880  			case 2:
  1881  				return &v.unknownFields
  1882  			default:
  1883  				return nil
  1884  			}
  1885  		}
  1886  		file_google_api_expr_v1alpha1_syntax_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
  1887  			switch v := v.(*Expr_CreateStruct); i {
  1888  			case 0:
  1889  				return &v.state
  1890  			case 1:
  1891  				return &v.sizeCache
  1892  			case 2:
  1893  				return &v.unknownFields
  1894  			default:
  1895  				return nil
  1896  			}
  1897  		}
  1898  		file_google_api_expr_v1alpha1_syntax_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
  1899  			switch v := v.(*Expr_Comprehension); i {
  1900  			case 0:
  1901  				return &v.state
  1902  			case 1:
  1903  				return &v.sizeCache
  1904  			case 2:
  1905  				return &v.unknownFields
  1906  			default:
  1907  				return nil
  1908  			}
  1909  		}
  1910  		file_google_api_expr_v1alpha1_syntax_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
  1911  			switch v := v.(*Expr_CreateStruct_Entry); i {
  1912  			case 0:
  1913  				return &v.state
  1914  			case 1:
  1915  				return &v.sizeCache
  1916  			case 2:
  1917  				return &v.unknownFields
  1918  			default:
  1919  				return nil
  1920  			}
  1921  		}
  1922  		file_google_api_expr_v1alpha1_syntax_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
  1923  			switch v := v.(*SourceInfo_Extension); i {
  1924  			case 0:
  1925  				return &v.state
  1926  			case 1:
  1927  				return &v.sizeCache
  1928  			case 2:
  1929  				return &v.unknownFields
  1930  			default:
  1931  				return nil
  1932  			}
  1933  		}
  1934  		file_google_api_expr_v1alpha1_syntax_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
  1935  			switch v := v.(*SourceInfo_Extension_Version); i {
  1936  			case 0:
  1937  				return &v.state
  1938  			case 1:
  1939  				return &v.sizeCache
  1940  			case 2:
  1941  				return &v.unknownFields
  1942  			default:
  1943  				return nil
  1944  			}
  1945  		}
  1946  	}
  1947  	file_google_api_expr_v1alpha1_syntax_proto_msgTypes[1].OneofWrappers = []interface{}{
  1948  		(*Expr_ConstExpr)(nil),
  1949  		(*Expr_IdentExpr)(nil),
  1950  		(*Expr_SelectExpr)(nil),
  1951  		(*Expr_CallExpr)(nil),
  1952  		(*Expr_ListExpr)(nil),
  1953  		(*Expr_StructExpr)(nil),
  1954  		(*Expr_ComprehensionExpr)(nil),
  1955  	}
  1956  	file_google_api_expr_v1alpha1_syntax_proto_msgTypes[2].OneofWrappers = []interface{}{
  1957  		(*Constant_NullValue)(nil),
  1958  		(*Constant_BoolValue)(nil),
  1959  		(*Constant_Int64Value)(nil),
  1960  		(*Constant_Uint64Value)(nil),
  1961  		(*Constant_DoubleValue)(nil),
  1962  		(*Constant_StringValue)(nil),
  1963  		(*Constant_BytesValue)(nil),
  1964  		(*Constant_DurationValue)(nil),
  1965  		(*Constant_TimestampValue)(nil),
  1966  	}
  1967  	file_google_api_expr_v1alpha1_syntax_proto_msgTypes[11].OneofWrappers = []interface{}{
  1968  		(*Expr_CreateStruct_Entry_FieldKey)(nil),
  1969  		(*Expr_CreateStruct_Entry_MapKey)(nil),
  1970  	}
  1971  	type x struct{}
  1972  	out := protoimpl.TypeBuilder{
  1973  		File: protoimpl.DescBuilder{
  1974  			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
  1975  			RawDescriptor: file_google_api_expr_v1alpha1_syntax_proto_rawDesc,
  1976  			NumEnums:      1,
  1977  			NumMessages:   16,
  1978  			NumExtensions: 0,
  1979  			NumServices:   0,
  1980  		},
  1981  		GoTypes:           file_google_api_expr_v1alpha1_syntax_proto_goTypes,
  1982  		DependencyIndexes: file_google_api_expr_v1alpha1_syntax_proto_depIdxs,
  1983  		EnumInfos:         file_google_api_expr_v1alpha1_syntax_proto_enumTypes,
  1984  		MessageInfos:      file_google_api_expr_v1alpha1_syntax_proto_msgTypes,
  1985  	}.Build()
  1986  	File_google_api_expr_v1alpha1_syntax_proto = out.File
  1987  	file_google_api_expr_v1alpha1_syntax_proto_rawDesc = nil
  1988  	file_google_api_expr_v1alpha1_syntax_proto_goTypes = nil
  1989  	file_google_api_expr_v1alpha1_syntax_proto_depIdxs = nil
  1990  }
  1991  

View as plain text