Skip to main content

nominal_api_proto/proto/
google.protobuf.rs

1// This file is @generated by prost-build.
2#[derive(Clone, PartialEq, ::prost::Message)]
3pub struct FileDescriptorSet {
4    #[prost(message, repeated, tag = "1")]
5    pub file: ::prost::alloc::vec::Vec<FileDescriptorProto>,
6}
7#[derive(Clone, PartialEq, ::prost::Message)]
8pub struct FileDescriptorProto {
9    #[prost(string, optional, tag = "1")]
10    pub name: ::core::option::Option<::prost::alloc::string::String>,
11    #[prost(string, optional, tag = "2")]
12    pub package: ::core::option::Option<::prost::alloc::string::String>,
13    #[prost(string, repeated, tag = "3")]
14    pub dependency: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
15    #[prost(int32, repeated, packed = "false", tag = "10")]
16    pub public_dependency: ::prost::alloc::vec::Vec<i32>,
17    #[prost(int32, repeated, packed = "false", tag = "11")]
18    pub weak_dependency: ::prost::alloc::vec::Vec<i32>,
19    #[prost(string, repeated, tag = "15")]
20    pub option_dependency: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
21    #[prost(message, repeated, tag = "4")]
22    pub message_type: ::prost::alloc::vec::Vec<DescriptorProto>,
23    #[prost(message, repeated, tag = "5")]
24    pub enum_type: ::prost::alloc::vec::Vec<EnumDescriptorProto>,
25    #[prost(message, repeated, tag = "6")]
26    pub service: ::prost::alloc::vec::Vec<ServiceDescriptorProto>,
27    #[prost(message, repeated, tag = "7")]
28    pub extension: ::prost::alloc::vec::Vec<FieldDescriptorProto>,
29    #[prost(message, optional, tag = "8")]
30    pub options: ::core::option::Option<FileOptions>,
31    #[prost(message, optional, tag = "9")]
32    pub source_code_info: ::core::option::Option<SourceCodeInfo>,
33    #[prost(string, optional, tag = "12")]
34    pub syntax: ::core::option::Option<::prost::alloc::string::String>,
35    #[prost(enumeration = "Edition", optional, tag = "14")]
36    pub edition: ::core::option::Option<i32>,
37}
38#[derive(Clone, PartialEq, ::prost::Message)]
39pub struct DescriptorProto {
40    #[prost(string, optional, tag = "1")]
41    pub name: ::core::option::Option<::prost::alloc::string::String>,
42    #[prost(message, repeated, tag = "2")]
43    pub field: ::prost::alloc::vec::Vec<FieldDescriptorProto>,
44    #[prost(message, repeated, tag = "6")]
45    pub extension: ::prost::alloc::vec::Vec<FieldDescriptorProto>,
46    #[prost(message, repeated, tag = "3")]
47    pub nested_type: ::prost::alloc::vec::Vec<DescriptorProto>,
48    #[prost(message, repeated, tag = "4")]
49    pub enum_type: ::prost::alloc::vec::Vec<EnumDescriptorProto>,
50    #[prost(message, repeated, tag = "5")]
51    pub extension_range: ::prost::alloc::vec::Vec<descriptor_proto::ExtensionRange>,
52    #[prost(message, repeated, tag = "8")]
53    pub oneof_decl: ::prost::alloc::vec::Vec<OneofDescriptorProto>,
54    #[prost(message, optional, tag = "7")]
55    pub options: ::core::option::Option<MessageOptions>,
56    #[prost(message, repeated, tag = "9")]
57    pub reserved_range: ::prost::alloc::vec::Vec<descriptor_proto::ReservedRange>,
58    #[prost(string, repeated, tag = "10")]
59    pub reserved_name: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
60    #[prost(enumeration = "SymbolVisibility", optional, tag = "11")]
61    pub visibility: ::core::option::Option<i32>,
62}
63/// Nested message and enum types in `DescriptorProto`.
64pub mod descriptor_proto {
65    #[derive(Clone, PartialEq, ::prost::Message)]
66    pub struct ExtensionRange {
67        #[prost(int32, optional, tag = "1")]
68        pub start: ::core::option::Option<i32>,
69        #[prost(int32, optional, tag = "2")]
70        pub end: ::core::option::Option<i32>,
71        #[prost(message, optional, tag = "3")]
72        pub options: ::core::option::Option<super::ExtensionRangeOptions>,
73    }
74    #[derive(Clone, Copy, PartialEq, ::prost::Message)]
75    pub struct ReservedRange {
76        #[prost(int32, optional, tag = "1")]
77        pub start: ::core::option::Option<i32>,
78        #[prost(int32, optional, tag = "2")]
79        pub end: ::core::option::Option<i32>,
80    }
81}
82#[derive(Clone, PartialEq, ::prost::Message)]
83pub struct ExtensionRangeOptions {
84    #[prost(message, repeated, tag = "999")]
85    pub uninterpreted_option: ::prost::alloc::vec::Vec<UninterpretedOption>,
86    #[prost(message, repeated, tag = "2")]
87    pub declaration: ::prost::alloc::vec::Vec<extension_range_options::Declaration>,
88    #[prost(message, optional, tag = "50")]
89    pub features: ::core::option::Option<FeatureSet>,
90    #[prost(
91        enumeration = "extension_range_options::VerificationState",
92        optional,
93        tag = "3",
94        default = "Unverified"
95    )]
96    pub verification: ::core::option::Option<i32>,
97}
98/// Nested message and enum types in `ExtensionRangeOptions`.
99pub mod extension_range_options {
100    #[derive(Clone, PartialEq, ::prost::Message)]
101    pub struct Declaration {
102        #[prost(int32, optional, tag = "1")]
103        pub number: ::core::option::Option<i32>,
104        #[prost(string, optional, tag = "2")]
105        pub full_name: ::core::option::Option<::prost::alloc::string::String>,
106        #[prost(string, optional, tag = "3")]
107        pub r#type: ::core::option::Option<::prost::alloc::string::String>,
108        #[prost(bool, optional, tag = "5")]
109        pub reserved: ::core::option::Option<bool>,
110        #[prost(bool, optional, tag = "6")]
111        pub repeated: ::core::option::Option<bool>,
112    }
113    #[derive(
114        Clone,
115        Copy,
116        Debug,
117        PartialEq,
118        Eq,
119        Hash,
120        PartialOrd,
121        Ord,
122        ::prost::Enumeration
123    )]
124    #[repr(i32)]
125    pub enum VerificationState {
126        Declaration = 0,
127        Unverified = 1,
128    }
129    impl VerificationState {
130        /// String value of the enum field names used in the ProtoBuf definition.
131        ///
132        /// The values are not transformed in any way and thus are considered stable
133        /// (if the ProtoBuf definition does not change) and safe for programmatic use.
134        pub fn as_str_name(&self) -> &'static str {
135            match self {
136                Self::Declaration => "DECLARATION",
137                Self::Unverified => "UNVERIFIED",
138            }
139        }
140        /// Creates an enum from field names used in the ProtoBuf definition.
141        pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
142            match value {
143                "DECLARATION" => Some(Self::Declaration),
144                "UNVERIFIED" => Some(Self::Unverified),
145                _ => None,
146            }
147        }
148    }
149}
150#[derive(Clone, PartialEq, ::prost::Message)]
151pub struct FieldDescriptorProto {
152    #[prost(string, optional, tag = "1")]
153    pub name: ::core::option::Option<::prost::alloc::string::String>,
154    #[prost(int32, optional, tag = "3")]
155    pub number: ::core::option::Option<i32>,
156    #[prost(enumeration = "field_descriptor_proto::Label", optional, tag = "4")]
157    pub label: ::core::option::Option<i32>,
158    #[prost(enumeration = "field_descriptor_proto::Type", optional, tag = "5")]
159    pub r#type: ::core::option::Option<i32>,
160    #[prost(string, optional, tag = "6")]
161    pub type_name: ::core::option::Option<::prost::alloc::string::String>,
162    #[prost(string, optional, tag = "2")]
163    pub extendee: ::core::option::Option<::prost::alloc::string::String>,
164    #[prost(string, optional, tag = "7")]
165    pub default_value: ::core::option::Option<::prost::alloc::string::String>,
166    #[prost(int32, optional, tag = "9")]
167    pub oneof_index: ::core::option::Option<i32>,
168    #[prost(string, optional, tag = "10")]
169    pub json_name: ::core::option::Option<::prost::alloc::string::String>,
170    #[prost(message, optional, tag = "8")]
171    pub options: ::core::option::Option<FieldOptions>,
172    #[prost(bool, optional, tag = "17")]
173    pub proto3_optional: ::core::option::Option<bool>,
174}
175/// Nested message and enum types in `FieldDescriptorProto`.
176pub mod field_descriptor_proto {
177    #[derive(
178        Clone,
179        Copy,
180        Debug,
181        PartialEq,
182        Eq,
183        Hash,
184        PartialOrd,
185        Ord,
186        ::prost::Enumeration
187    )]
188    #[repr(i32)]
189    pub enum Type {
190        Double = 1,
191        Float = 2,
192        Int64 = 3,
193        Uint64 = 4,
194        Int32 = 5,
195        Fixed64 = 6,
196        Fixed32 = 7,
197        Bool = 8,
198        String = 9,
199        Group = 10,
200        Message = 11,
201        Bytes = 12,
202        Uint32 = 13,
203        Enum = 14,
204        Sfixed32 = 15,
205        Sfixed64 = 16,
206        Sint32 = 17,
207        Sint64 = 18,
208    }
209    impl Type {
210        /// String value of the enum field names used in the ProtoBuf definition.
211        ///
212        /// The values are not transformed in any way and thus are considered stable
213        /// (if the ProtoBuf definition does not change) and safe for programmatic use.
214        pub fn as_str_name(&self) -> &'static str {
215            match self {
216                Self::Double => "TYPE_DOUBLE",
217                Self::Float => "TYPE_FLOAT",
218                Self::Int64 => "TYPE_INT64",
219                Self::Uint64 => "TYPE_UINT64",
220                Self::Int32 => "TYPE_INT32",
221                Self::Fixed64 => "TYPE_FIXED64",
222                Self::Fixed32 => "TYPE_FIXED32",
223                Self::Bool => "TYPE_BOOL",
224                Self::String => "TYPE_STRING",
225                Self::Group => "TYPE_GROUP",
226                Self::Message => "TYPE_MESSAGE",
227                Self::Bytes => "TYPE_BYTES",
228                Self::Uint32 => "TYPE_UINT32",
229                Self::Enum => "TYPE_ENUM",
230                Self::Sfixed32 => "TYPE_SFIXED32",
231                Self::Sfixed64 => "TYPE_SFIXED64",
232                Self::Sint32 => "TYPE_SINT32",
233                Self::Sint64 => "TYPE_SINT64",
234            }
235        }
236        /// Creates an enum from field names used in the ProtoBuf definition.
237        pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
238            match value {
239                "TYPE_DOUBLE" => Some(Self::Double),
240                "TYPE_FLOAT" => Some(Self::Float),
241                "TYPE_INT64" => Some(Self::Int64),
242                "TYPE_UINT64" => Some(Self::Uint64),
243                "TYPE_INT32" => Some(Self::Int32),
244                "TYPE_FIXED64" => Some(Self::Fixed64),
245                "TYPE_FIXED32" => Some(Self::Fixed32),
246                "TYPE_BOOL" => Some(Self::Bool),
247                "TYPE_STRING" => Some(Self::String),
248                "TYPE_GROUP" => Some(Self::Group),
249                "TYPE_MESSAGE" => Some(Self::Message),
250                "TYPE_BYTES" => Some(Self::Bytes),
251                "TYPE_UINT32" => Some(Self::Uint32),
252                "TYPE_ENUM" => Some(Self::Enum),
253                "TYPE_SFIXED32" => Some(Self::Sfixed32),
254                "TYPE_SFIXED64" => Some(Self::Sfixed64),
255                "TYPE_SINT32" => Some(Self::Sint32),
256                "TYPE_SINT64" => Some(Self::Sint64),
257                _ => None,
258            }
259        }
260    }
261    #[derive(
262        Clone,
263        Copy,
264        Debug,
265        PartialEq,
266        Eq,
267        Hash,
268        PartialOrd,
269        Ord,
270        ::prost::Enumeration
271    )]
272    #[repr(i32)]
273    pub enum Label {
274        Optional = 1,
275        Repeated = 3,
276        Required = 2,
277    }
278    impl Label {
279        /// String value of the enum field names used in the ProtoBuf definition.
280        ///
281        /// The values are not transformed in any way and thus are considered stable
282        /// (if the ProtoBuf definition does not change) and safe for programmatic use.
283        pub fn as_str_name(&self) -> &'static str {
284            match self {
285                Self::Optional => "LABEL_OPTIONAL",
286                Self::Repeated => "LABEL_REPEATED",
287                Self::Required => "LABEL_REQUIRED",
288            }
289        }
290        /// Creates an enum from field names used in the ProtoBuf definition.
291        pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
292            match value {
293                "LABEL_OPTIONAL" => Some(Self::Optional),
294                "LABEL_REPEATED" => Some(Self::Repeated),
295                "LABEL_REQUIRED" => Some(Self::Required),
296                _ => None,
297            }
298        }
299    }
300}
301#[derive(Clone, PartialEq, ::prost::Message)]
302pub struct OneofDescriptorProto {
303    #[prost(string, optional, tag = "1")]
304    pub name: ::core::option::Option<::prost::alloc::string::String>,
305    #[prost(message, optional, tag = "2")]
306    pub options: ::core::option::Option<OneofOptions>,
307}
308#[derive(Clone, PartialEq, ::prost::Message)]
309pub struct EnumDescriptorProto {
310    #[prost(string, optional, tag = "1")]
311    pub name: ::core::option::Option<::prost::alloc::string::String>,
312    #[prost(message, repeated, tag = "2")]
313    pub value: ::prost::alloc::vec::Vec<EnumValueDescriptorProto>,
314    #[prost(message, optional, tag = "3")]
315    pub options: ::core::option::Option<EnumOptions>,
316    #[prost(message, repeated, tag = "4")]
317    pub reserved_range: ::prost::alloc::vec::Vec<
318        enum_descriptor_proto::EnumReservedRange,
319    >,
320    #[prost(string, repeated, tag = "5")]
321    pub reserved_name: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
322    #[prost(enumeration = "SymbolVisibility", optional, tag = "6")]
323    pub visibility: ::core::option::Option<i32>,
324}
325/// Nested message and enum types in `EnumDescriptorProto`.
326pub mod enum_descriptor_proto {
327    #[derive(Clone, Copy, PartialEq, ::prost::Message)]
328    pub struct EnumReservedRange {
329        #[prost(int32, optional, tag = "1")]
330        pub start: ::core::option::Option<i32>,
331        #[prost(int32, optional, tag = "2")]
332        pub end: ::core::option::Option<i32>,
333    }
334}
335#[derive(Clone, PartialEq, ::prost::Message)]
336pub struct EnumValueDescriptorProto {
337    #[prost(string, optional, tag = "1")]
338    pub name: ::core::option::Option<::prost::alloc::string::String>,
339    #[prost(int32, optional, tag = "2")]
340    pub number: ::core::option::Option<i32>,
341    #[prost(message, optional, tag = "3")]
342    pub options: ::core::option::Option<EnumValueOptions>,
343}
344#[derive(Clone, PartialEq, ::prost::Message)]
345pub struct ServiceDescriptorProto {
346    #[prost(string, optional, tag = "1")]
347    pub name: ::core::option::Option<::prost::alloc::string::String>,
348    #[prost(message, repeated, tag = "2")]
349    pub method: ::prost::alloc::vec::Vec<MethodDescriptorProto>,
350    #[prost(message, optional, tag = "3")]
351    pub options: ::core::option::Option<ServiceOptions>,
352}
353#[derive(Clone, PartialEq, ::prost::Message)]
354pub struct MethodDescriptorProto {
355    #[prost(string, optional, tag = "1")]
356    pub name: ::core::option::Option<::prost::alloc::string::String>,
357    #[prost(string, optional, tag = "2")]
358    pub input_type: ::core::option::Option<::prost::alloc::string::String>,
359    #[prost(string, optional, tag = "3")]
360    pub output_type: ::core::option::Option<::prost::alloc::string::String>,
361    #[prost(message, optional, tag = "4")]
362    pub options: ::core::option::Option<MethodOptions>,
363    #[prost(bool, optional, tag = "5", default = "false")]
364    pub client_streaming: ::core::option::Option<bool>,
365    #[prost(bool, optional, tag = "6", default = "false")]
366    pub server_streaming: ::core::option::Option<bool>,
367}
368#[derive(Clone, PartialEq, ::prost::Message)]
369pub struct FileOptions {
370    #[prost(string, optional, tag = "1")]
371    pub java_package: ::core::option::Option<::prost::alloc::string::String>,
372    #[prost(string, optional, tag = "8")]
373    pub java_outer_classname: ::core::option::Option<::prost::alloc::string::String>,
374    #[prost(bool, optional, tag = "10", default = "false")]
375    pub java_multiple_files: ::core::option::Option<bool>,
376    #[deprecated]
377    #[prost(bool, optional, tag = "20")]
378    pub java_generate_equals_and_hash: ::core::option::Option<bool>,
379    #[prost(bool, optional, tag = "27", default = "false")]
380    pub java_string_check_utf8: ::core::option::Option<bool>,
381    #[prost(
382        enumeration = "file_options::OptimizeMode",
383        optional,
384        tag = "9",
385        default = "Speed"
386    )]
387    pub optimize_for: ::core::option::Option<i32>,
388    #[prost(string, optional, tag = "11")]
389    pub go_package: ::core::option::Option<::prost::alloc::string::String>,
390    #[prost(bool, optional, tag = "16", default = "false")]
391    pub cc_generic_services: ::core::option::Option<bool>,
392    #[prost(bool, optional, tag = "17", default = "false")]
393    pub java_generic_services: ::core::option::Option<bool>,
394    #[prost(bool, optional, tag = "18", default = "false")]
395    pub py_generic_services: ::core::option::Option<bool>,
396    #[prost(bool, optional, tag = "23", default = "false")]
397    pub deprecated: ::core::option::Option<bool>,
398    #[prost(bool, optional, tag = "31", default = "true")]
399    pub cc_enable_arenas: ::core::option::Option<bool>,
400    #[prost(string, optional, tag = "36")]
401    pub objc_class_prefix: ::core::option::Option<::prost::alloc::string::String>,
402    #[prost(string, optional, tag = "37")]
403    pub csharp_namespace: ::core::option::Option<::prost::alloc::string::String>,
404    #[prost(string, optional, tag = "39")]
405    pub swift_prefix: ::core::option::Option<::prost::alloc::string::String>,
406    #[prost(string, optional, tag = "40")]
407    pub php_class_prefix: ::core::option::Option<::prost::alloc::string::String>,
408    #[prost(string, optional, tag = "41")]
409    pub php_namespace: ::core::option::Option<::prost::alloc::string::String>,
410    #[prost(string, optional, tag = "44")]
411    pub php_metadata_namespace: ::core::option::Option<::prost::alloc::string::String>,
412    #[prost(string, optional, tag = "45")]
413    pub ruby_package: ::core::option::Option<::prost::alloc::string::String>,
414    #[prost(message, optional, tag = "50")]
415    pub features: ::core::option::Option<FeatureSet>,
416    #[prost(message, repeated, tag = "999")]
417    pub uninterpreted_option: ::prost::alloc::vec::Vec<UninterpretedOption>,
418}
419/// Nested message and enum types in `FileOptions`.
420pub mod file_options {
421    #[derive(
422        Clone,
423        Copy,
424        Debug,
425        PartialEq,
426        Eq,
427        Hash,
428        PartialOrd,
429        Ord,
430        ::prost::Enumeration
431    )]
432    #[repr(i32)]
433    pub enum OptimizeMode {
434        Speed = 1,
435        CodeSize = 2,
436        LiteRuntime = 3,
437    }
438    impl OptimizeMode {
439        /// String value of the enum field names used in the ProtoBuf definition.
440        ///
441        /// The values are not transformed in any way and thus are considered stable
442        /// (if the ProtoBuf definition does not change) and safe for programmatic use.
443        pub fn as_str_name(&self) -> &'static str {
444            match self {
445                Self::Speed => "SPEED",
446                Self::CodeSize => "CODE_SIZE",
447                Self::LiteRuntime => "LITE_RUNTIME",
448            }
449        }
450        /// Creates an enum from field names used in the ProtoBuf definition.
451        pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
452            match value {
453                "SPEED" => Some(Self::Speed),
454                "CODE_SIZE" => Some(Self::CodeSize),
455                "LITE_RUNTIME" => Some(Self::LiteRuntime),
456                _ => None,
457            }
458        }
459    }
460}
461#[derive(Clone, PartialEq, ::prost::Message)]
462pub struct MessageOptions {
463    #[prost(bool, optional, tag = "1", default = "false")]
464    pub message_set_wire_format: ::core::option::Option<bool>,
465    #[prost(bool, optional, tag = "2", default = "false")]
466    pub no_standard_descriptor_accessor: ::core::option::Option<bool>,
467    #[prost(bool, optional, tag = "3", default = "false")]
468    pub deprecated: ::core::option::Option<bool>,
469    #[prost(bool, optional, tag = "7")]
470    pub map_entry: ::core::option::Option<bool>,
471    #[deprecated]
472    #[prost(bool, optional, tag = "11")]
473    pub deprecated_legacy_json_field_conflicts: ::core::option::Option<bool>,
474    #[prost(message, optional, tag = "12")]
475    pub features: ::core::option::Option<FeatureSet>,
476    #[prost(message, repeated, tag = "999")]
477    pub uninterpreted_option: ::prost::alloc::vec::Vec<UninterpretedOption>,
478}
479#[derive(Clone, PartialEq, ::prost::Message)]
480pub struct FieldOptions {
481    #[prost(
482        enumeration = "field_options::CType",
483        optional,
484        tag = "1",
485        default = "String"
486    )]
487    pub ctype: ::core::option::Option<i32>,
488    #[prost(bool, optional, tag = "2")]
489    pub packed: ::core::option::Option<bool>,
490    #[prost(
491        enumeration = "field_options::JsType",
492        optional,
493        tag = "6",
494        default = "JsNormal"
495    )]
496    pub jstype: ::core::option::Option<i32>,
497    #[prost(bool, optional, tag = "5", default = "false")]
498    pub lazy: ::core::option::Option<bool>,
499    #[prost(bool, optional, tag = "15", default = "false")]
500    pub unverified_lazy: ::core::option::Option<bool>,
501    #[prost(bool, optional, tag = "3", default = "false")]
502    pub deprecated: ::core::option::Option<bool>,
503    #[deprecated]
504    #[prost(bool, optional, tag = "10", default = "false")]
505    pub weak: ::core::option::Option<bool>,
506    #[prost(bool, optional, tag = "16", default = "false")]
507    pub debug_redact: ::core::option::Option<bool>,
508    #[prost(enumeration = "field_options::OptionRetention", optional, tag = "17")]
509    pub retention: ::core::option::Option<i32>,
510    #[prost(
511        enumeration = "field_options::OptionTargetType",
512        repeated,
513        packed = "false",
514        tag = "19"
515    )]
516    pub targets: ::prost::alloc::vec::Vec<i32>,
517    #[prost(message, repeated, tag = "20")]
518    pub edition_defaults: ::prost::alloc::vec::Vec<field_options::EditionDefault>,
519    #[prost(message, optional, tag = "21")]
520    pub features: ::core::option::Option<FeatureSet>,
521    #[prost(message, optional, tag = "22")]
522    pub feature_support: ::core::option::Option<field_options::FeatureSupport>,
523    #[prost(message, repeated, tag = "999")]
524    pub uninterpreted_option: ::prost::alloc::vec::Vec<UninterpretedOption>,
525}
526/// Nested message and enum types in `FieldOptions`.
527pub mod field_options {
528    #[derive(Clone, PartialEq, ::prost::Message)]
529    pub struct EditionDefault {
530        #[prost(enumeration = "super::Edition", optional, tag = "3")]
531        pub edition: ::core::option::Option<i32>,
532        #[prost(string, optional, tag = "2")]
533        pub value: ::core::option::Option<::prost::alloc::string::String>,
534    }
535    #[derive(Clone, PartialEq, ::prost::Message)]
536    pub struct FeatureSupport {
537        #[prost(enumeration = "super::Edition", optional, tag = "1")]
538        pub edition_introduced: ::core::option::Option<i32>,
539        #[prost(enumeration = "super::Edition", optional, tag = "2")]
540        pub edition_deprecated: ::core::option::Option<i32>,
541        #[prost(string, optional, tag = "3")]
542        pub deprecation_warning: ::core::option::Option<::prost::alloc::string::String>,
543        #[prost(enumeration = "super::Edition", optional, tag = "4")]
544        pub edition_removed: ::core::option::Option<i32>,
545        #[prost(string, optional, tag = "5")]
546        pub removal_error: ::core::option::Option<::prost::alloc::string::String>,
547    }
548    #[derive(
549        Clone,
550        Copy,
551        Debug,
552        PartialEq,
553        Eq,
554        Hash,
555        PartialOrd,
556        Ord,
557        ::prost::Enumeration
558    )]
559    #[repr(i32)]
560    pub enum CType {
561        String = 0,
562        Cord = 1,
563        StringPiece = 2,
564    }
565    impl CType {
566        /// String value of the enum field names used in the ProtoBuf definition.
567        ///
568        /// The values are not transformed in any way and thus are considered stable
569        /// (if the ProtoBuf definition does not change) and safe for programmatic use.
570        pub fn as_str_name(&self) -> &'static str {
571            match self {
572                Self::String => "STRING",
573                Self::Cord => "CORD",
574                Self::StringPiece => "STRING_PIECE",
575            }
576        }
577        /// Creates an enum from field names used in the ProtoBuf definition.
578        pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
579            match value {
580                "STRING" => Some(Self::String),
581                "CORD" => Some(Self::Cord),
582                "STRING_PIECE" => Some(Self::StringPiece),
583                _ => None,
584            }
585        }
586    }
587    #[derive(
588        Clone,
589        Copy,
590        Debug,
591        PartialEq,
592        Eq,
593        Hash,
594        PartialOrd,
595        Ord,
596        ::prost::Enumeration
597    )]
598    #[repr(i32)]
599    pub enum JsType {
600        JsNormal = 0,
601        JsString = 1,
602        JsNumber = 2,
603    }
604    impl JsType {
605        /// String value of the enum field names used in the ProtoBuf definition.
606        ///
607        /// The values are not transformed in any way and thus are considered stable
608        /// (if the ProtoBuf definition does not change) and safe for programmatic use.
609        pub fn as_str_name(&self) -> &'static str {
610            match self {
611                Self::JsNormal => "JS_NORMAL",
612                Self::JsString => "JS_STRING",
613                Self::JsNumber => "JS_NUMBER",
614            }
615        }
616        /// Creates an enum from field names used in the ProtoBuf definition.
617        pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
618            match value {
619                "JS_NORMAL" => Some(Self::JsNormal),
620                "JS_STRING" => Some(Self::JsString),
621                "JS_NUMBER" => Some(Self::JsNumber),
622                _ => None,
623            }
624        }
625    }
626    #[derive(
627        Clone,
628        Copy,
629        Debug,
630        PartialEq,
631        Eq,
632        Hash,
633        PartialOrd,
634        Ord,
635        ::prost::Enumeration
636    )]
637    #[repr(i32)]
638    pub enum OptionRetention {
639        RetentionUnknown = 0,
640        RetentionRuntime = 1,
641        RetentionSource = 2,
642    }
643    impl OptionRetention {
644        /// String value of the enum field names used in the ProtoBuf definition.
645        ///
646        /// The values are not transformed in any way and thus are considered stable
647        /// (if the ProtoBuf definition does not change) and safe for programmatic use.
648        pub fn as_str_name(&self) -> &'static str {
649            match self {
650                Self::RetentionUnknown => "RETENTION_UNKNOWN",
651                Self::RetentionRuntime => "RETENTION_RUNTIME",
652                Self::RetentionSource => "RETENTION_SOURCE",
653            }
654        }
655        /// Creates an enum from field names used in the ProtoBuf definition.
656        pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
657            match value {
658                "RETENTION_UNKNOWN" => Some(Self::RetentionUnknown),
659                "RETENTION_RUNTIME" => Some(Self::RetentionRuntime),
660                "RETENTION_SOURCE" => Some(Self::RetentionSource),
661                _ => None,
662            }
663        }
664    }
665    #[derive(
666        Clone,
667        Copy,
668        Debug,
669        PartialEq,
670        Eq,
671        Hash,
672        PartialOrd,
673        Ord,
674        ::prost::Enumeration
675    )]
676    #[repr(i32)]
677    pub enum OptionTargetType {
678        TargetTypeUnknown = 0,
679        TargetTypeFile = 1,
680        TargetTypeExtensionRange = 2,
681        TargetTypeMessage = 3,
682        TargetTypeField = 4,
683        TargetTypeOneof = 5,
684        TargetTypeEnum = 6,
685        TargetTypeEnumEntry = 7,
686        TargetTypeService = 8,
687        TargetTypeMethod = 9,
688    }
689    impl OptionTargetType {
690        /// String value of the enum field names used in the ProtoBuf definition.
691        ///
692        /// The values are not transformed in any way and thus are considered stable
693        /// (if the ProtoBuf definition does not change) and safe for programmatic use.
694        pub fn as_str_name(&self) -> &'static str {
695            match self {
696                Self::TargetTypeUnknown => "TARGET_TYPE_UNKNOWN",
697                Self::TargetTypeFile => "TARGET_TYPE_FILE",
698                Self::TargetTypeExtensionRange => "TARGET_TYPE_EXTENSION_RANGE",
699                Self::TargetTypeMessage => "TARGET_TYPE_MESSAGE",
700                Self::TargetTypeField => "TARGET_TYPE_FIELD",
701                Self::TargetTypeOneof => "TARGET_TYPE_ONEOF",
702                Self::TargetTypeEnum => "TARGET_TYPE_ENUM",
703                Self::TargetTypeEnumEntry => "TARGET_TYPE_ENUM_ENTRY",
704                Self::TargetTypeService => "TARGET_TYPE_SERVICE",
705                Self::TargetTypeMethod => "TARGET_TYPE_METHOD",
706            }
707        }
708        /// Creates an enum from field names used in the ProtoBuf definition.
709        pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
710            match value {
711                "TARGET_TYPE_UNKNOWN" => Some(Self::TargetTypeUnknown),
712                "TARGET_TYPE_FILE" => Some(Self::TargetTypeFile),
713                "TARGET_TYPE_EXTENSION_RANGE" => Some(Self::TargetTypeExtensionRange),
714                "TARGET_TYPE_MESSAGE" => Some(Self::TargetTypeMessage),
715                "TARGET_TYPE_FIELD" => Some(Self::TargetTypeField),
716                "TARGET_TYPE_ONEOF" => Some(Self::TargetTypeOneof),
717                "TARGET_TYPE_ENUM" => Some(Self::TargetTypeEnum),
718                "TARGET_TYPE_ENUM_ENTRY" => Some(Self::TargetTypeEnumEntry),
719                "TARGET_TYPE_SERVICE" => Some(Self::TargetTypeService),
720                "TARGET_TYPE_METHOD" => Some(Self::TargetTypeMethod),
721                _ => None,
722            }
723        }
724    }
725}
726#[derive(Clone, PartialEq, ::prost::Message)]
727pub struct OneofOptions {
728    #[prost(message, optional, tag = "1")]
729    pub features: ::core::option::Option<FeatureSet>,
730    #[prost(message, repeated, tag = "999")]
731    pub uninterpreted_option: ::prost::alloc::vec::Vec<UninterpretedOption>,
732}
733#[derive(Clone, PartialEq, ::prost::Message)]
734pub struct EnumOptions {
735    #[prost(bool, optional, tag = "2")]
736    pub allow_alias: ::core::option::Option<bool>,
737    #[prost(bool, optional, tag = "3", default = "false")]
738    pub deprecated: ::core::option::Option<bool>,
739    #[deprecated]
740    #[prost(bool, optional, tag = "6")]
741    pub deprecated_legacy_json_field_conflicts: ::core::option::Option<bool>,
742    #[prost(message, optional, tag = "7")]
743    pub features: ::core::option::Option<FeatureSet>,
744    #[prost(message, repeated, tag = "999")]
745    pub uninterpreted_option: ::prost::alloc::vec::Vec<UninterpretedOption>,
746}
747#[derive(Clone, PartialEq, ::prost::Message)]
748pub struct EnumValueOptions {
749    #[prost(bool, optional, tag = "1", default = "false")]
750    pub deprecated: ::core::option::Option<bool>,
751    #[prost(message, optional, tag = "2")]
752    pub features: ::core::option::Option<FeatureSet>,
753    #[prost(bool, optional, tag = "3", default = "false")]
754    pub debug_redact: ::core::option::Option<bool>,
755    #[prost(message, optional, tag = "4")]
756    pub feature_support: ::core::option::Option<field_options::FeatureSupport>,
757    #[prost(message, repeated, tag = "999")]
758    pub uninterpreted_option: ::prost::alloc::vec::Vec<UninterpretedOption>,
759}
760#[derive(Clone, PartialEq, ::prost::Message)]
761pub struct ServiceOptions {
762    #[prost(message, optional, tag = "34")]
763    pub features: ::core::option::Option<FeatureSet>,
764    #[prost(bool, optional, tag = "33", default = "false")]
765    pub deprecated: ::core::option::Option<bool>,
766    #[prost(message, repeated, tag = "999")]
767    pub uninterpreted_option: ::prost::alloc::vec::Vec<UninterpretedOption>,
768}
769#[derive(Clone, PartialEq, ::prost::Message)]
770pub struct MethodOptions {
771    #[prost(bool, optional, tag = "33", default = "false")]
772    pub deprecated: ::core::option::Option<bool>,
773    #[prost(
774        enumeration = "method_options::IdempotencyLevel",
775        optional,
776        tag = "34",
777        default = "IdempotencyUnknown"
778    )]
779    pub idempotency_level: ::core::option::Option<i32>,
780    #[prost(message, optional, tag = "35")]
781    pub features: ::core::option::Option<FeatureSet>,
782    #[prost(message, repeated, tag = "999")]
783    pub uninterpreted_option: ::prost::alloc::vec::Vec<UninterpretedOption>,
784}
785/// Nested message and enum types in `MethodOptions`.
786pub mod method_options {
787    #[derive(
788        Clone,
789        Copy,
790        Debug,
791        PartialEq,
792        Eq,
793        Hash,
794        PartialOrd,
795        Ord,
796        ::prost::Enumeration
797    )]
798    #[repr(i32)]
799    pub enum IdempotencyLevel {
800        IdempotencyUnknown = 0,
801        NoSideEffects = 1,
802        Idempotent = 2,
803    }
804    impl IdempotencyLevel {
805        /// String value of the enum field names used in the ProtoBuf definition.
806        ///
807        /// The values are not transformed in any way and thus are considered stable
808        /// (if the ProtoBuf definition does not change) and safe for programmatic use.
809        pub fn as_str_name(&self) -> &'static str {
810            match self {
811                Self::IdempotencyUnknown => "IDEMPOTENCY_UNKNOWN",
812                Self::NoSideEffects => "NO_SIDE_EFFECTS",
813                Self::Idempotent => "IDEMPOTENT",
814            }
815        }
816        /// Creates an enum from field names used in the ProtoBuf definition.
817        pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
818            match value {
819                "IDEMPOTENCY_UNKNOWN" => Some(Self::IdempotencyUnknown),
820                "NO_SIDE_EFFECTS" => Some(Self::NoSideEffects),
821                "IDEMPOTENT" => Some(Self::Idempotent),
822                _ => None,
823            }
824        }
825    }
826}
827#[derive(Clone, PartialEq, ::prost::Message)]
828pub struct UninterpretedOption {
829    #[prost(message, repeated, tag = "2")]
830    pub name: ::prost::alloc::vec::Vec<uninterpreted_option::NamePart>,
831    #[prost(string, optional, tag = "3")]
832    pub identifier_value: ::core::option::Option<::prost::alloc::string::String>,
833    #[prost(uint64, optional, tag = "4")]
834    pub positive_int_value: ::core::option::Option<u64>,
835    #[prost(int64, optional, tag = "5")]
836    pub negative_int_value: ::core::option::Option<i64>,
837    #[prost(double, optional, tag = "6")]
838    pub double_value: ::core::option::Option<f64>,
839    #[prost(bytes = "vec", optional, tag = "7")]
840    pub string_value: ::core::option::Option<::prost::alloc::vec::Vec<u8>>,
841    #[prost(string, optional, tag = "8")]
842    pub aggregate_value: ::core::option::Option<::prost::alloc::string::String>,
843}
844/// Nested message and enum types in `UninterpretedOption`.
845pub mod uninterpreted_option {
846    #[derive(Clone, PartialEq, ::prost::Message)]
847    pub struct NamePart {
848        #[prost(string, required, tag = "1")]
849        pub name_part: ::prost::alloc::string::String,
850        #[prost(bool, required, tag = "2")]
851        pub is_extension: bool,
852    }
853}
854#[derive(Clone, Copy, PartialEq, ::prost::Message)]
855pub struct FeatureSet {
856    #[prost(enumeration = "feature_set::FieldPresence", optional, tag = "1")]
857    pub field_presence: ::core::option::Option<i32>,
858    #[prost(enumeration = "feature_set::EnumType", optional, tag = "2")]
859    pub enum_type: ::core::option::Option<i32>,
860    #[prost(enumeration = "feature_set::RepeatedFieldEncoding", optional, tag = "3")]
861    pub repeated_field_encoding: ::core::option::Option<i32>,
862    #[prost(enumeration = "feature_set::Utf8Validation", optional, tag = "4")]
863    pub utf8_validation: ::core::option::Option<i32>,
864    #[prost(enumeration = "feature_set::MessageEncoding", optional, tag = "5")]
865    pub message_encoding: ::core::option::Option<i32>,
866    #[prost(enumeration = "feature_set::JsonFormat", optional, tag = "6")]
867    pub json_format: ::core::option::Option<i32>,
868    #[prost(enumeration = "feature_set::EnforceNamingStyle", optional, tag = "7")]
869    pub enforce_naming_style: ::core::option::Option<i32>,
870    #[prost(
871        enumeration = "feature_set::visibility_feature::DefaultSymbolVisibility",
872        optional,
873        tag = "8"
874    )]
875    pub default_symbol_visibility: ::core::option::Option<i32>,
876    #[prost(
877        enumeration = "feature_set::proto_limits_feature::EnforceProtoLimits",
878        optional,
879        tag = "9"
880    )]
881    pub enforce_proto_limits: ::core::option::Option<i32>,
882}
883/// Nested message and enum types in `FeatureSet`.
884pub mod feature_set {
885    #[derive(Clone, Copy, PartialEq, ::prost::Message)]
886    pub struct VisibilityFeature {}
887    /// Nested message and enum types in `VisibilityFeature`.
888    pub mod visibility_feature {
889        #[derive(
890            Clone,
891            Copy,
892            Debug,
893            PartialEq,
894            Eq,
895            Hash,
896            PartialOrd,
897            Ord,
898            ::prost::Enumeration
899        )]
900        #[repr(i32)]
901        pub enum DefaultSymbolVisibility {
902            Unknown = 0,
903            ExportAll = 1,
904            ExportTopLevel = 2,
905            LocalAll = 3,
906            Strict = 4,
907        }
908        impl DefaultSymbolVisibility {
909            /// String value of the enum field names used in the ProtoBuf definition.
910            ///
911            /// The values are not transformed in any way and thus are considered stable
912            /// (if the ProtoBuf definition does not change) and safe for programmatic use.
913            pub fn as_str_name(&self) -> &'static str {
914                match self {
915                    Self::Unknown => "DEFAULT_SYMBOL_VISIBILITY_UNKNOWN",
916                    Self::ExportAll => "EXPORT_ALL",
917                    Self::ExportTopLevel => "EXPORT_TOP_LEVEL",
918                    Self::LocalAll => "LOCAL_ALL",
919                    Self::Strict => "STRICT",
920                }
921            }
922            /// Creates an enum from field names used in the ProtoBuf definition.
923            pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
924                match value {
925                    "DEFAULT_SYMBOL_VISIBILITY_UNKNOWN" => Some(Self::Unknown),
926                    "EXPORT_ALL" => Some(Self::ExportAll),
927                    "EXPORT_TOP_LEVEL" => Some(Self::ExportTopLevel),
928                    "LOCAL_ALL" => Some(Self::LocalAll),
929                    "STRICT" => Some(Self::Strict),
930                    _ => None,
931                }
932            }
933        }
934    }
935    #[derive(Clone, Copy, PartialEq, ::prost::Message)]
936    pub struct ProtoLimitsFeature {}
937    /// Nested message and enum types in `ProtoLimitsFeature`.
938    pub mod proto_limits_feature {
939        #[derive(
940            Clone,
941            Copy,
942            Debug,
943            PartialEq,
944            Eq,
945            Hash,
946            PartialOrd,
947            Ord,
948            ::prost::Enumeration
949        )]
950        #[repr(i32)]
951        pub enum EnforceProtoLimits {
952            ProtoLimitsUnknown = 0,
953            LegacyNoExplicitLimits = 1,
954            ProtoLimits2026 = 2,
955        }
956        impl EnforceProtoLimits {
957            /// String value of the enum field names used in the ProtoBuf definition.
958            ///
959            /// The values are not transformed in any way and thus are considered stable
960            /// (if the ProtoBuf definition does not change) and safe for programmatic use.
961            pub fn as_str_name(&self) -> &'static str {
962                match self {
963                    Self::ProtoLimitsUnknown => "PROTO_LIMITS_UNKNOWN",
964                    Self::LegacyNoExplicitLimits => "LEGACY_NO_EXPLICIT_LIMITS",
965                    Self::ProtoLimits2026 => "PROTO_LIMITS2026",
966                }
967            }
968            /// Creates an enum from field names used in the ProtoBuf definition.
969            pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
970                match value {
971                    "PROTO_LIMITS_UNKNOWN" => Some(Self::ProtoLimitsUnknown),
972                    "LEGACY_NO_EXPLICIT_LIMITS" => Some(Self::LegacyNoExplicitLimits),
973                    "PROTO_LIMITS2026" => Some(Self::ProtoLimits2026),
974                    _ => None,
975                }
976            }
977        }
978    }
979    #[derive(
980        Clone,
981        Copy,
982        Debug,
983        PartialEq,
984        Eq,
985        Hash,
986        PartialOrd,
987        Ord,
988        ::prost::Enumeration
989    )]
990    #[repr(i32)]
991    pub enum FieldPresence {
992        Unknown = 0,
993        Explicit = 1,
994        Implicit = 2,
995        LegacyRequired = 3,
996    }
997    impl FieldPresence {
998        /// String value of the enum field names used in the ProtoBuf definition.
999        ///
1000        /// The values are not transformed in any way and thus are considered stable
1001        /// (if the ProtoBuf definition does not change) and safe for programmatic use.
1002        pub fn as_str_name(&self) -> &'static str {
1003            match self {
1004                Self::Unknown => "FIELD_PRESENCE_UNKNOWN",
1005                Self::Explicit => "EXPLICIT",
1006                Self::Implicit => "IMPLICIT",
1007                Self::LegacyRequired => "LEGACY_REQUIRED",
1008            }
1009        }
1010        /// Creates an enum from field names used in the ProtoBuf definition.
1011        pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1012            match value {
1013                "FIELD_PRESENCE_UNKNOWN" => Some(Self::Unknown),
1014                "EXPLICIT" => Some(Self::Explicit),
1015                "IMPLICIT" => Some(Self::Implicit),
1016                "LEGACY_REQUIRED" => Some(Self::LegacyRequired),
1017                _ => None,
1018            }
1019        }
1020    }
1021    #[derive(
1022        Clone,
1023        Copy,
1024        Debug,
1025        PartialEq,
1026        Eq,
1027        Hash,
1028        PartialOrd,
1029        Ord,
1030        ::prost::Enumeration
1031    )]
1032    #[repr(i32)]
1033    pub enum EnumType {
1034        Unknown = 0,
1035        Open = 1,
1036        Closed = 2,
1037    }
1038    impl EnumType {
1039        /// String value of the enum field names used in the ProtoBuf definition.
1040        ///
1041        /// The values are not transformed in any way and thus are considered stable
1042        /// (if the ProtoBuf definition does not change) and safe for programmatic use.
1043        pub fn as_str_name(&self) -> &'static str {
1044            match self {
1045                Self::Unknown => "ENUM_TYPE_UNKNOWN",
1046                Self::Open => "OPEN",
1047                Self::Closed => "CLOSED",
1048            }
1049        }
1050        /// Creates an enum from field names used in the ProtoBuf definition.
1051        pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1052            match value {
1053                "ENUM_TYPE_UNKNOWN" => Some(Self::Unknown),
1054                "OPEN" => Some(Self::Open),
1055                "CLOSED" => Some(Self::Closed),
1056                _ => None,
1057            }
1058        }
1059    }
1060    #[derive(
1061        Clone,
1062        Copy,
1063        Debug,
1064        PartialEq,
1065        Eq,
1066        Hash,
1067        PartialOrd,
1068        Ord,
1069        ::prost::Enumeration
1070    )]
1071    #[repr(i32)]
1072    pub enum RepeatedFieldEncoding {
1073        Unknown = 0,
1074        Packed = 1,
1075        Expanded = 2,
1076    }
1077    impl RepeatedFieldEncoding {
1078        /// String value of the enum field names used in the ProtoBuf definition.
1079        ///
1080        /// The values are not transformed in any way and thus are considered stable
1081        /// (if the ProtoBuf definition does not change) and safe for programmatic use.
1082        pub fn as_str_name(&self) -> &'static str {
1083            match self {
1084                Self::Unknown => "REPEATED_FIELD_ENCODING_UNKNOWN",
1085                Self::Packed => "PACKED",
1086                Self::Expanded => "EXPANDED",
1087            }
1088        }
1089        /// Creates an enum from field names used in the ProtoBuf definition.
1090        pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1091            match value {
1092                "REPEATED_FIELD_ENCODING_UNKNOWN" => Some(Self::Unknown),
1093                "PACKED" => Some(Self::Packed),
1094                "EXPANDED" => Some(Self::Expanded),
1095                _ => None,
1096            }
1097        }
1098    }
1099    #[derive(
1100        Clone,
1101        Copy,
1102        Debug,
1103        PartialEq,
1104        Eq,
1105        Hash,
1106        PartialOrd,
1107        Ord,
1108        ::prost::Enumeration
1109    )]
1110    #[repr(i32)]
1111    pub enum Utf8Validation {
1112        Unknown = 0,
1113        Verify = 2,
1114        None = 3,
1115    }
1116    impl Utf8Validation {
1117        /// String value of the enum field names used in the ProtoBuf definition.
1118        ///
1119        /// The values are not transformed in any way and thus are considered stable
1120        /// (if the ProtoBuf definition does not change) and safe for programmatic use.
1121        pub fn as_str_name(&self) -> &'static str {
1122            match self {
1123                Self::Unknown => "UTF8_VALIDATION_UNKNOWN",
1124                Self::Verify => "VERIFY",
1125                Self::None => "NONE",
1126            }
1127        }
1128        /// Creates an enum from field names used in the ProtoBuf definition.
1129        pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1130            match value {
1131                "UTF8_VALIDATION_UNKNOWN" => Some(Self::Unknown),
1132                "VERIFY" => Some(Self::Verify),
1133                "NONE" => Some(Self::None),
1134                _ => None,
1135            }
1136        }
1137    }
1138    #[derive(
1139        Clone,
1140        Copy,
1141        Debug,
1142        PartialEq,
1143        Eq,
1144        Hash,
1145        PartialOrd,
1146        Ord,
1147        ::prost::Enumeration
1148    )]
1149    #[repr(i32)]
1150    pub enum MessageEncoding {
1151        Unknown = 0,
1152        LengthPrefixed = 1,
1153        Delimited = 2,
1154    }
1155    impl MessageEncoding {
1156        /// String value of the enum field names used in the ProtoBuf definition.
1157        ///
1158        /// The values are not transformed in any way and thus are considered stable
1159        /// (if the ProtoBuf definition does not change) and safe for programmatic use.
1160        pub fn as_str_name(&self) -> &'static str {
1161            match self {
1162                Self::Unknown => "MESSAGE_ENCODING_UNKNOWN",
1163                Self::LengthPrefixed => "LENGTH_PREFIXED",
1164                Self::Delimited => "DELIMITED",
1165            }
1166        }
1167        /// Creates an enum from field names used in the ProtoBuf definition.
1168        pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1169            match value {
1170                "MESSAGE_ENCODING_UNKNOWN" => Some(Self::Unknown),
1171                "LENGTH_PREFIXED" => Some(Self::LengthPrefixed),
1172                "DELIMITED" => Some(Self::Delimited),
1173                _ => None,
1174            }
1175        }
1176    }
1177    #[derive(
1178        Clone,
1179        Copy,
1180        Debug,
1181        PartialEq,
1182        Eq,
1183        Hash,
1184        PartialOrd,
1185        Ord,
1186        ::prost::Enumeration
1187    )]
1188    #[repr(i32)]
1189    pub enum JsonFormat {
1190        Unknown = 0,
1191        Allow = 1,
1192        LegacyBestEffort = 2,
1193    }
1194    impl JsonFormat {
1195        /// String value of the enum field names used in the ProtoBuf definition.
1196        ///
1197        /// The values are not transformed in any way and thus are considered stable
1198        /// (if the ProtoBuf definition does not change) and safe for programmatic use.
1199        pub fn as_str_name(&self) -> &'static str {
1200            match self {
1201                Self::Unknown => "JSON_FORMAT_UNKNOWN",
1202                Self::Allow => "ALLOW",
1203                Self::LegacyBestEffort => "LEGACY_BEST_EFFORT",
1204            }
1205        }
1206        /// Creates an enum from field names used in the ProtoBuf definition.
1207        pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1208            match value {
1209                "JSON_FORMAT_UNKNOWN" => Some(Self::Unknown),
1210                "ALLOW" => Some(Self::Allow),
1211                "LEGACY_BEST_EFFORT" => Some(Self::LegacyBestEffort),
1212                _ => None,
1213            }
1214        }
1215    }
1216    #[derive(
1217        Clone,
1218        Copy,
1219        Debug,
1220        PartialEq,
1221        Eq,
1222        Hash,
1223        PartialOrd,
1224        Ord,
1225        ::prost::Enumeration
1226    )]
1227    #[repr(i32)]
1228    pub enum EnforceNamingStyle {
1229        Unknown = 0,
1230        Style2024 = 1,
1231        StyleLegacy = 2,
1232        Style2026 = 3,
1233    }
1234    impl EnforceNamingStyle {
1235        /// String value of the enum field names used in the ProtoBuf definition.
1236        ///
1237        /// The values are not transformed in any way and thus are considered stable
1238        /// (if the ProtoBuf definition does not change) and safe for programmatic use.
1239        pub fn as_str_name(&self) -> &'static str {
1240            match self {
1241                Self::Unknown => "ENFORCE_NAMING_STYLE_UNKNOWN",
1242                Self::Style2024 => "STYLE2024",
1243                Self::StyleLegacy => "STYLE_LEGACY",
1244                Self::Style2026 => "STYLE2026",
1245            }
1246        }
1247        /// Creates an enum from field names used in the ProtoBuf definition.
1248        pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1249            match value {
1250                "ENFORCE_NAMING_STYLE_UNKNOWN" => Some(Self::Unknown),
1251                "STYLE2024" => Some(Self::Style2024),
1252                "STYLE_LEGACY" => Some(Self::StyleLegacy),
1253                "STYLE2026" => Some(Self::Style2026),
1254                _ => None,
1255            }
1256        }
1257    }
1258}
1259#[derive(Clone, PartialEq, ::prost::Message)]
1260pub struct FeatureSetDefaults {
1261    #[prost(message, repeated, tag = "1")]
1262    pub defaults: ::prost::alloc::vec::Vec<
1263        feature_set_defaults::FeatureSetEditionDefault,
1264    >,
1265    #[prost(enumeration = "Edition", optional, tag = "4")]
1266    pub minimum_edition: ::core::option::Option<i32>,
1267    #[prost(enumeration = "Edition", optional, tag = "5")]
1268    pub maximum_edition: ::core::option::Option<i32>,
1269}
1270/// Nested message and enum types in `FeatureSetDefaults`.
1271pub mod feature_set_defaults {
1272    #[derive(Clone, Copy, PartialEq, ::prost::Message)]
1273    pub struct FeatureSetEditionDefault {
1274        #[prost(enumeration = "super::Edition", optional, tag = "3")]
1275        pub edition: ::core::option::Option<i32>,
1276        #[prost(message, optional, tag = "4")]
1277        pub overridable_features: ::core::option::Option<super::FeatureSet>,
1278        #[prost(message, optional, tag = "5")]
1279        pub fixed_features: ::core::option::Option<super::FeatureSet>,
1280    }
1281}
1282#[derive(Clone, PartialEq, ::prost::Message)]
1283pub struct SourceCodeInfo {
1284    #[prost(message, repeated, tag = "1")]
1285    pub location: ::prost::alloc::vec::Vec<source_code_info::Location>,
1286}
1287/// Nested message and enum types in `SourceCodeInfo`.
1288pub mod source_code_info {
1289    #[derive(Clone, PartialEq, ::prost::Message)]
1290    pub struct Location {
1291        #[prost(int32, repeated, tag = "1")]
1292        pub path: ::prost::alloc::vec::Vec<i32>,
1293        #[prost(int32, repeated, tag = "2")]
1294        pub span: ::prost::alloc::vec::Vec<i32>,
1295        #[prost(string, optional, tag = "3")]
1296        pub leading_comments: ::core::option::Option<::prost::alloc::string::String>,
1297        #[prost(string, optional, tag = "4")]
1298        pub trailing_comments: ::core::option::Option<::prost::alloc::string::String>,
1299        #[prost(string, repeated, tag = "6")]
1300        pub leading_detached_comments: ::prost::alloc::vec::Vec<
1301            ::prost::alloc::string::String,
1302        >,
1303    }
1304}
1305#[derive(Clone, PartialEq, ::prost::Message)]
1306pub struct GeneratedCodeInfo {
1307    #[prost(message, repeated, tag = "1")]
1308    pub annotation: ::prost::alloc::vec::Vec<generated_code_info::Annotation>,
1309}
1310/// Nested message and enum types in `GeneratedCodeInfo`.
1311pub mod generated_code_info {
1312    #[derive(Clone, PartialEq, ::prost::Message)]
1313    pub struct Annotation {
1314        #[prost(int32, repeated, tag = "1")]
1315        pub path: ::prost::alloc::vec::Vec<i32>,
1316        #[prost(string, optional, tag = "2")]
1317        pub source_file: ::core::option::Option<::prost::alloc::string::String>,
1318        #[prost(int32, optional, tag = "3")]
1319        pub begin: ::core::option::Option<i32>,
1320        #[prost(int32, optional, tag = "4")]
1321        pub end: ::core::option::Option<i32>,
1322        #[prost(enumeration = "annotation::Semantic", optional, tag = "5")]
1323        pub semantic: ::core::option::Option<i32>,
1324    }
1325    /// Nested message and enum types in `Annotation`.
1326    pub mod annotation {
1327        #[derive(
1328            Clone,
1329            Copy,
1330            Debug,
1331            PartialEq,
1332            Eq,
1333            Hash,
1334            PartialOrd,
1335            Ord,
1336            ::prost::Enumeration
1337        )]
1338        #[repr(i32)]
1339        pub enum Semantic {
1340            None = 0,
1341            Set = 1,
1342            Alias = 2,
1343        }
1344        impl Semantic {
1345            /// String value of the enum field names used in the ProtoBuf definition.
1346            ///
1347            /// The values are not transformed in any way and thus are considered stable
1348            /// (if the ProtoBuf definition does not change) and safe for programmatic use.
1349            pub fn as_str_name(&self) -> &'static str {
1350                match self {
1351                    Self::None => "NONE",
1352                    Self::Set => "SET",
1353                    Self::Alias => "ALIAS",
1354                }
1355            }
1356            /// Creates an enum from field names used in the ProtoBuf definition.
1357            pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1358                match value {
1359                    "NONE" => Some(Self::None),
1360                    "SET" => Some(Self::Set),
1361                    "ALIAS" => Some(Self::Alias),
1362                    _ => None,
1363                }
1364            }
1365        }
1366    }
1367}
1368#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1369#[repr(i32)]
1370pub enum Edition {
1371    Unknown = 0,
1372    Legacy = 900,
1373    Proto2 = 998,
1374    Proto3 = 999,
1375    Edition2023 = 1000,
1376    Edition2024 = 1001,
1377    Edition2026 = 1002,
1378    Unstable = 9999,
1379    Edition1TestOnly = 1,
1380    Edition2TestOnly = 2,
1381    Edition99997TestOnly = 99997,
1382    Edition99998TestOnly = 99998,
1383    Edition99999TestOnly = 99999,
1384    Max = 2147483647,
1385}
1386impl Edition {
1387    /// String value of the enum field names used in the ProtoBuf definition.
1388    ///
1389    /// The values are not transformed in any way and thus are considered stable
1390    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
1391    pub fn as_str_name(&self) -> &'static str {
1392        match self {
1393            Self::Unknown => "EDITION_UNKNOWN",
1394            Self::Legacy => "EDITION_LEGACY",
1395            Self::Proto2 => "EDITION_PROTO2",
1396            Self::Proto3 => "EDITION_PROTO3",
1397            Self::Edition2023 => "EDITION_2023",
1398            Self::Edition2024 => "EDITION_2024",
1399            Self::Edition2026 => "EDITION_2026",
1400            Self::Unstable => "EDITION_UNSTABLE",
1401            Self::Edition1TestOnly => "EDITION_1_TEST_ONLY",
1402            Self::Edition2TestOnly => "EDITION_2_TEST_ONLY",
1403            Self::Edition99997TestOnly => "EDITION_99997_TEST_ONLY",
1404            Self::Edition99998TestOnly => "EDITION_99998_TEST_ONLY",
1405            Self::Edition99999TestOnly => "EDITION_99999_TEST_ONLY",
1406            Self::Max => "EDITION_MAX",
1407        }
1408    }
1409    /// Creates an enum from field names used in the ProtoBuf definition.
1410    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1411        match value {
1412            "EDITION_UNKNOWN" => Some(Self::Unknown),
1413            "EDITION_LEGACY" => Some(Self::Legacy),
1414            "EDITION_PROTO2" => Some(Self::Proto2),
1415            "EDITION_PROTO3" => Some(Self::Proto3),
1416            "EDITION_2023" => Some(Self::Edition2023),
1417            "EDITION_2024" => Some(Self::Edition2024),
1418            "EDITION_2026" => Some(Self::Edition2026),
1419            "EDITION_UNSTABLE" => Some(Self::Unstable),
1420            "EDITION_1_TEST_ONLY" => Some(Self::Edition1TestOnly),
1421            "EDITION_2_TEST_ONLY" => Some(Self::Edition2TestOnly),
1422            "EDITION_99997_TEST_ONLY" => Some(Self::Edition99997TestOnly),
1423            "EDITION_99998_TEST_ONLY" => Some(Self::Edition99998TestOnly),
1424            "EDITION_99999_TEST_ONLY" => Some(Self::Edition99999TestOnly),
1425            "EDITION_MAX" => Some(Self::Max),
1426            _ => None,
1427        }
1428    }
1429}
1430#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1431#[repr(i32)]
1432pub enum SymbolVisibility {
1433    VisibilityUnset = 0,
1434    VisibilityLocal = 1,
1435    VisibilityExport = 2,
1436}
1437impl SymbolVisibility {
1438    /// String value of the enum field names used in the ProtoBuf definition.
1439    ///
1440    /// The values are not transformed in any way and thus are considered stable
1441    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
1442    pub fn as_str_name(&self) -> &'static str {
1443        match self {
1444            Self::VisibilityUnset => "VISIBILITY_UNSET",
1445            Self::VisibilityLocal => "VISIBILITY_LOCAL",
1446            Self::VisibilityExport => "VISIBILITY_EXPORT",
1447        }
1448    }
1449    /// Creates an enum from field names used in the ProtoBuf definition.
1450    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1451        match value {
1452            "VISIBILITY_UNSET" => Some(Self::VisibilityUnset),
1453            "VISIBILITY_LOCAL" => Some(Self::VisibilityLocal),
1454            "VISIBILITY_EXPORT" => Some(Self::VisibilityExport),
1455            _ => None,
1456        }
1457    }
1458}
1459#[derive(Clone, Copy, PartialEq, ::prost::Message)]
1460pub struct Empty {}
1461#[derive(Clone, PartialEq, ::prost::Message)]
1462pub struct FieldMask {
1463    #[prost(string, repeated, tag = "1")]
1464    pub paths: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
1465}
1466#[derive(Clone, PartialEq, ::prost::Message)]
1467pub struct Struct {
1468    #[prost(map = "string, message", tag = "1")]
1469    pub fields: ::std::collections::HashMap<::prost::alloc::string::String, Value>,
1470}
1471#[derive(Clone, PartialEq, ::prost::Message)]
1472pub struct Value {
1473    #[prost(oneof = "value::Kind", tags = "1, 2, 3, 4, 5, 6")]
1474    pub kind: ::core::option::Option<value::Kind>,
1475}
1476/// Nested message and enum types in `Value`.
1477pub mod value {
1478    #[derive(Clone, PartialEq, ::prost::Oneof)]
1479    pub enum Kind {
1480        #[prost(enumeration = "super::NullValue", tag = "1")]
1481        NullValue(i32),
1482        #[prost(double, tag = "2")]
1483        NumberValue(f64),
1484        #[prost(string, tag = "3")]
1485        StringValue(::prost::alloc::string::String),
1486        #[prost(bool, tag = "4")]
1487        BoolValue(bool),
1488        #[prost(message, tag = "5")]
1489        StructValue(super::Struct),
1490        #[prost(message, tag = "6")]
1491        ListValue(super::ListValue),
1492    }
1493}
1494#[derive(Clone, PartialEq, ::prost::Message)]
1495pub struct ListValue {
1496    #[prost(message, repeated, tag = "1")]
1497    pub values: ::prost::alloc::vec::Vec<Value>,
1498}
1499#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1500#[repr(i32)]
1501pub enum NullValue {
1502    NullValue = 0,
1503}
1504impl NullValue {
1505    /// String value of the enum field names used in the ProtoBuf definition.
1506    ///
1507    /// The values are not transformed in any way and thus are considered stable
1508    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
1509    pub fn as_str_name(&self) -> &'static str {
1510        match self {
1511            Self::NullValue => "NULL_VALUE",
1512        }
1513    }
1514    /// Creates an enum from field names used in the ProtoBuf definition.
1515    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1516        match value {
1517            "NULL_VALUE" => Some(Self::NullValue),
1518            _ => None,
1519        }
1520    }
1521}
1522#[derive(Clone, Copy, PartialEq, ::prost::Message)]
1523pub struct Timestamp {
1524    #[prost(int64, tag = "1")]
1525    pub seconds: i64,
1526    #[prost(int32, tag = "2")]
1527    pub nanos: i32,
1528}
1529#[derive(Clone, Copy, PartialEq, ::prost::Message)]
1530pub struct Duration {
1531    #[prost(int64, tag = "1")]
1532    pub seconds: i64,
1533    #[prost(int32, tag = "2")]
1534    pub nanos: i32,
1535}