diff options
-rw-r--r-- | .cargo_vcs_info.json | 2 | ||||
-rw-r--r-- | Android.bp | 2 | ||||
-rw-r--r-- | Cargo.toml | 3 | ||||
-rw-r--r-- | Cargo.toml.orig | 4 | ||||
-rw-r--r-- | METADATA | 8 | ||||
-rw-r--r-- | build.rs | 6 | ||||
-rw-r--r-- | out/version.rs | 6 | ||||
-rwxr-xr-x | regenerate.sh | 5 | ||||
-rw-r--r-- | src/descriptor.rs | 3421 | ||||
-rw-r--r-- | src/plugin.rs | 923 | ||||
-rw-r--r-- | src/reflect/message.rs | 3 | ||||
-rw-r--r-- | src/rustproto.rs | 2 | ||||
-rw-r--r-- | src/stream.rs | 3 | ||||
-rw-r--r-- | src/well_known_types/any.rs | 205 | ||||
-rw-r--r-- | src/well_known_types/api.rs | 391 | ||||
-rw-r--r-- | src/well_known_types/duration.rs | 211 | ||||
-rw-r--r-- | src/well_known_types/empty.rs | 88 | ||||
-rw-r--r-- | src/well_known_types/field_mask.rs | 258 | ||||
-rw-r--r-- | src/well_known_types/source_context.rs | 108 | ||||
-rw-r--r-- | src/well_known_types/struct_pb.rs | 94 | ||||
-rw-r--r-- | src/well_known_types/timestamp.rs | 235 | ||||
-rw-r--r-- | src/well_known_types/type_pb.rs | 494 | ||||
-rw-r--r-- | src/well_known_types/wrappers.rs | 218 |
23 files changed, 4234 insertions, 2456 deletions
diff --git a/.cargo_vcs_info.json b/.cargo_vcs_info.json index 97d68b2..e1cdbd8 100644 --- a/.cargo_vcs_info.json +++ b/.cargo_vcs_info.json @@ -1,5 +1,5 @@ { "git": { - "sha1": "1e5368c80fd4272ada7d2ed7c6be783376bb5080" + "sha1": "6dc2d04102a36615e0ca9853390d77712f889b9c" } } @@ -45,4 +45,4 @@ rust_library { } // dependent_library ["feature_list"] -// bytes-1.0.0 "default,std" +// bytes-1.0.1 "default,std" @@ -13,7 +13,7 @@ [package] edition = "2018" name = "protobuf" -version = "2.20.0" +version = "2.22.0" authors = ["Stepan Koltsov <stepan.koltsov@gmail.com>"] description = "Rust implementation of Google protocol buffers\n" homepage = "https://github.com/stepancheg/rust-protobuf/" @@ -32,6 +32,7 @@ optional = true [dependencies.serde] version = "1.0" +features = ["derive"] optional = true [dependencies.serde_derive] diff --git a/Cargo.toml.orig b/Cargo.toml.orig index 0935e0e..24d73ad 100644 --- a/Cargo.toml.orig +++ b/Cargo.toml.orig @@ -1,7 +1,7 @@ [package] name = "protobuf" -version = "2.20.0" +version = "2.22.0" authors = ["Stepan Koltsov <stepan.koltsov@gmail.com>"] edition = "2018" license = "MIT" @@ -22,7 +22,7 @@ with-serde = ["serde", "serde_derive"] [dependencies] bytes = { version = "1.0", optional = true } -serde = { version = "1.0", optional = true } +serde = { version = "1.0", features = ["derive"], optional = true } serde_derive = { version = "1.0", optional = true } [package.metadata.docs.rs] @@ -7,13 +7,13 @@ third_party { } url { type: ARCHIVE - value: "https://static.crates.io/crates/protobuf/protobuf-2.20.0.crate" + value: "https://static.crates.io/crates/protobuf/protobuf-2.22.0.crate" } - version: "2.20.0" + version: "2.22.0" license_type: NOTICE last_upgrade_date { year: 2021 - month: 1 - day: 7 + month: 2 + day: 9 } } @@ -1,7 +1,9 @@ use std::env; use std::fs::File; -use std::io::{Read, Write}; -use std::path::{Path, PathBuf}; +use std::io::Read; +use std::io::Write; +use std::path::Path; +use std::path::PathBuf; use std::process; // % rustc +stable --version diff --git a/out/version.rs b/out/version.rs index 239f02e..a242f31 100644 --- a/out/version.rs +++ b/out/version.rs @@ -1,7 +1,7 @@ /// protobuf crate version -pub const VERSION: &'static str = "2.20.0"; +pub const VERSION: &'static str = "2.22.0"; /// This symbol is used by codegen #[doc(hidden)] -pub const VERSION_IDENT: &'static str = "VERSION_2_20_0"; +pub const VERSION_IDENT: &'static str = "VERSION_2_22_0"; /// This symbol can be referenced to assert that proper version of crate is used -pub const VERSION_2_20_0: () = (); +pub const VERSION_2_22_0: () = (); diff --git a/regenerate.sh b/regenerate.sh index a1e0dd9..672106e 100755 --- a/regenerate.sh +++ b/regenerate.sh @@ -36,8 +36,9 @@ protoc \ --rust_out tmp-generated \ --rust_opt 'serde_derive=true inside_protobuf=true' \ -I../proto \ - ../proto/google/protobuf/*.proto \ - ../proto/google/protobuf/compiler/* \ + -I../protoc-bin-vendored/include \ + ../protoc-bin-vendored/include/google/protobuf/*.proto \ + ../protoc-bin-vendored/include/google/protobuf/compiler/* \ ../proto/rustproto.proto mv tmp-generated/descriptor.rs tmp-generated/plugin.rs tmp-generated/rustproto.rs src/ diff --git a/src/descriptor.rs b/src/descriptor.rs index 01dcd81..3e76bee 100644 --- a/src/descriptor.rs +++ b/src/descriptor.rs @@ -1,4 +1,4 @@ -// This file is generated by rust-protobuf 2.19.0-pre. Do not edit +// This file is generated by rust-protobuf 2.22.0-pre. Do not edit // @generated // https://github.com/rust-lang/rust-clippy/issues/702 @@ -20,7 +20,7 @@ //! Generated file from `google/protobuf/descriptor.proto` #[derive(PartialEq,Clone,Default)] -#[cfg_attr(feature = "with-serde", derive(Serialize, Deserialize))] +#[cfg_attr(feature = "with-serde", derive(::serde::Serialize, ::serde::Deserialize))] pub struct FileDescriptorSet { // message fields pub file: crate::RepeatedField<FileDescriptorProto>, @@ -189,7 +189,7 @@ impl crate::reflect::ProtobufValue for FileDescriptorSet { } #[derive(PartialEq,Clone,Default)] -#[cfg_attr(feature = "with-serde", derive(Serialize, Deserialize))] +#[cfg_attr(feature = "with-serde", derive(::serde::Serialize, ::serde::Deserialize))] pub struct FileDescriptorProto { // message fields name: crate::SingularField<::std::string::String>, @@ -898,7 +898,7 @@ impl crate::reflect::ProtobufValue for FileDescriptorProto { } #[derive(PartialEq,Clone,Default)] -#[cfg_attr(feature = "with-serde", derive(Serialize, Deserialize))] +#[cfg_attr(feature = "with-serde", derive(::serde::Serialize, ::serde::Deserialize))] pub struct DescriptorProto { // message fields name: crate::SingularField<::std::string::String>, @@ -1511,11 +1511,12 @@ impl crate::reflect::ProtobufValue for DescriptorProto { } #[derive(PartialEq,Clone,Default)] -#[cfg_attr(feature = "with-serde", derive(Serialize, Deserialize))] +#[cfg_attr(feature = "with-serde", derive(::serde::Serialize, ::serde::Deserialize))] pub struct DescriptorProto_ExtensionRange { // message fields start: ::std::option::Option<i32>, end: ::std::option::Option<i32>, + pub options: crate::SingularPtrField<ExtensionRangeOptions>, // special fields #[cfg_attr(feature = "with-serde", serde(skip))] pub unknown_fields: crate::UnknownFields, @@ -1571,10 +1572,48 @@ impl DescriptorProto_ExtensionRange { pub fn set_end(&mut self, v: i32) { self.end = ::std::option::Option::Some(v); } + + // optional .google.protobuf.ExtensionRangeOptions options = 3; + + + pub fn get_options(&self) -> &ExtensionRangeOptions { + self.options.as_ref().unwrap_or_else(|| <ExtensionRangeOptions as crate::Message>::default_instance()) + } + pub fn clear_options(&mut self) { + self.options.clear(); + } + + pub fn has_options(&self) -> bool { + self.options.is_some() + } + + // Param is passed by value, moved + pub fn set_options(&mut self, v: ExtensionRangeOptions) { + self.options = crate::SingularPtrField::some(v); + } + + // Mutable pointer to the field. + // If field is not initialized, it is initialized with default value first. + pub fn mut_options(&mut self) -> &mut ExtensionRangeOptions { + if self.options.is_none() { + self.options.set_default(); + } + self.options.as_mut().unwrap() + } + + // Take field + pub fn take_options(&mut self) -> ExtensionRangeOptions { + self.options.take().unwrap_or_else(|| ExtensionRangeOptions::new()) + } } impl crate::Message for DescriptorProto_ExtensionRange { fn is_initialized(&self) -> bool { + for v in &self.options { + if !v.is_initialized() { + return false; + } + }; true } @@ -1596,6 +1635,9 @@ impl crate::Message for DescriptorProto_ExtensionRange { let tmp = is.read_int32()?; self.end = ::std::option::Option::Some(tmp); }, + 3 => { + crate::rt::read_singular_message_into(wire_type, is, &mut self.options)?; + }, _ => { crate::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?; }, @@ -1614,6 +1656,10 @@ impl crate::Message for DescriptorProto_ExtensionRange { if let Some(v) = self.end { my_size += crate::rt::value_size(2, v, crate::wire_format::WireTypeVarint); } + if let Some(ref v) = self.options.as_ref() { + let len = v.compute_size(); + my_size += 1 + crate::rt::compute_raw_varint32_size(len) + len; + } my_size += crate::rt::unknown_fields_size(self.get_unknown_fields()); self.cached_size.set(my_size); my_size @@ -1626,6 +1672,11 @@ impl crate::Message for DescriptorProto_ExtensionRange { if let Some(v) = self.end { os.write_int32(2, v)?; } + if let Some(ref v) = self.options.as_ref() { + os.write_tag(3, crate::wire_format::WireTypeLengthDelimited)?; + os.write_raw_varint32(v.get_cached_size())?; + v.write_to_with_cached_sizes(os)?; + } os.write_unknown_fields(self.get_unknown_fields())?; ::std::result::Result::Ok(()) } @@ -1674,6 +1725,11 @@ impl crate::Message for DescriptorProto_ExtensionRange { |m: &DescriptorProto_ExtensionRange| { &m.end }, |m: &mut DescriptorProto_ExtensionRange| { &mut m.end }, )); + fields.push(crate::reflect::accessor::make_singular_ptr_field_accessor::<_, crate::types::ProtobufTypeMessage<ExtensionRangeOptions>>( + "options", + |m: &DescriptorProto_ExtensionRange| { &m.options }, + |m: &mut DescriptorProto_ExtensionRange| { &mut m.options }, + )); crate::reflect::MessageDescriptor::new_pb_name::<DescriptorProto_ExtensionRange>( "DescriptorProto.ExtensionRange", fields, @@ -1692,6 +1748,7 @@ impl crate::Clear for DescriptorProto_ExtensionRange { fn clear(&mut self) { self.start = ::std::option::Option::None; self.end = ::std::option::Option::None; + self.options.clear(); self.unknown_fields.clear(); } } @@ -1709,7 +1766,7 @@ impl crate::reflect::ProtobufValue for DescriptorProto_ExtensionRange { } #[derive(PartialEq,Clone,Default)] -#[cfg_attr(feature = "with-serde", derive(Serialize, Deserialize))] +#[cfg_attr(feature = "with-serde", derive(::serde::Serialize, ::serde::Deserialize))] pub struct DescriptorProto_ReservedRange { // message fields start: ::std::option::Option<i32>, @@ -1907,7 +1964,176 @@ impl crate::reflect::ProtobufValue for DescriptorProto_ReservedRange { } #[derive(PartialEq,Clone,Default)] -#[cfg_attr(feature = "with-serde", derive(Serialize, Deserialize))] +#[cfg_attr(feature = "with-serde", derive(::serde::Serialize, ::serde::Deserialize))] +pub struct ExtensionRangeOptions { + // message fields + pub uninterpreted_option: crate::RepeatedField<UninterpretedOption>, + // special fields + #[cfg_attr(feature = "with-serde", serde(skip))] + pub unknown_fields: crate::UnknownFields, + #[cfg_attr(feature = "with-serde", serde(skip))] + pub cached_size: crate::CachedSize, +} + +impl<'a> ::std::default::Default for &'a ExtensionRangeOptions { + fn default() -> &'a ExtensionRangeOptions { + <ExtensionRangeOptions as crate::Message>::default_instance() + } +} + +impl ExtensionRangeOptions { + pub fn new() -> ExtensionRangeOptions { + ::std::default::Default::default() + } + + // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999; + + + pub fn get_uninterpreted_option(&self) -> &[UninterpretedOption] { + &self.uninterpreted_option + } + pub fn clear_uninterpreted_option(&mut self) { + self.uninterpreted_option.clear(); + } + + // Param is passed by value, moved + pub fn set_uninterpreted_option(&mut self, v: crate::RepeatedField<UninterpretedOption>) { + self.uninterpreted_option = v; + } + + // Mutable pointer to the field. + pub fn mut_uninterpreted_option(&mut self) -> &mut crate::RepeatedField<UninterpretedOption> { + &mut self.uninterpreted_option + } + + // Take field + pub fn take_uninterpreted_option(&mut self) -> crate::RepeatedField<UninterpretedOption> { + ::std::mem::replace(&mut self.uninterpreted_option, crate::RepeatedField::new()) + } +} + +impl crate::Message for ExtensionRangeOptions { + fn is_initialized(&self) -> bool { + for v in &self.uninterpreted_option { + if !v.is_initialized() { + return false; + } + }; + true + } + + fn merge_from(&mut self, is: &mut crate::CodedInputStream<'_>) -> crate::ProtobufResult<()> { + while !is.eof()? { + let (field_number, wire_type) = is.read_tag_unpack()?; + match field_number { + 999 => { + crate::rt::read_repeated_message_into(wire_type, is, &mut self.uninterpreted_option)?; + }, + _ => { + crate::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?; + }, + }; + } + ::std::result::Result::Ok(()) + } + + // Compute sizes of nested messages + #[allow(unused_variables)] + fn compute_size(&self) -> u32 { + let mut my_size = 0; + for value in &self.uninterpreted_option { + let len = value.compute_size(); + my_size += 2 + crate::rt::compute_raw_varint32_size(len) + len; + }; + my_size += crate::rt::unknown_fields_size(self.get_unknown_fields()); + self.cached_size.set(my_size); + my_size + } + + fn write_to_with_cached_sizes(&self, os: &mut crate::CodedOutputStream<'_>) -> crate::ProtobufResult<()> { + for v in &self.uninterpreted_option { + os.write_tag(999, crate::wire_format::WireTypeLengthDelimited)?; + os.write_raw_varint32(v.get_cached_size())?; + v.write_to_with_cached_sizes(os)?; + }; + os.write_unknown_fields(self.get_unknown_fields())?; + ::std::result::Result::Ok(()) + } + + fn get_cached_size(&self) -> u32 { + self.cached_size.get() + } + + fn get_unknown_fields(&self) -> &crate::UnknownFields { + &self.unknown_fields + } + + fn mut_unknown_fields(&mut self) -> &mut crate::UnknownFields { + &mut self.unknown_fields + } + + fn as_any(&self) -> &dyn (::std::any::Any) { + self as &dyn (::std::any::Any) + } + fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) { + self as &mut dyn (::std::any::Any) + } + fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> { + self + } + + fn descriptor(&self) -> &'static crate::reflect::MessageDescriptor { + Self::descriptor_static() + } + + fn new() -> ExtensionRangeOptions { + ExtensionRangeOptions::new() + } + + fn descriptor_static() -> &'static crate::reflect::MessageDescriptor { + static descriptor: crate::rt::LazyV2<crate::reflect::MessageDescriptor> = crate::rt::LazyV2::INIT; + descriptor.get(|| { + let mut fields = ::std::vec::Vec::new(); + fields.push(crate::reflect::accessor::make_repeated_field_accessor::<_, crate::types::ProtobufTypeMessage<UninterpretedOption>>( + "uninterpreted_option", + |m: &ExtensionRangeOptions| { &m.uninterpreted_option }, + |m: &mut ExtensionRangeOptions| { &mut m.uninterpreted_option }, + )); + crate::reflect::MessageDescriptor::new_pb_name::<ExtensionRangeOptions>( + "ExtensionRangeOptions", + fields, + file_descriptor_proto() + ) + }) + } + + fn default_instance() -> &'static ExtensionRangeOptions { + static instance: crate::rt::LazyV2<ExtensionRangeOptions> = crate::rt::LazyV2::INIT; + instance.get(ExtensionRangeOptions::new) + } +} + +impl crate::Clear for ExtensionRangeOptions { + fn clear(&mut self) { + self.uninterpreted_option.clear(); + self.unknown_fields.clear(); + } +} + +impl ::std::fmt::Debug for ExtensionRangeOptions { + fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result { + crate::text_format::fmt(self, f) + } +} + +impl crate::reflect::ProtobufValue for ExtensionRangeOptions { + fn as_ref(&self) -> crate::reflect::ReflectValueRef { + crate::reflect::ReflectValueRef::Message(self) + } +} + +#[derive(PartialEq,Clone,Default)] +#[cfg_attr(feature = "with-serde", derive(::serde::Serialize, ::serde::Deserialize))] pub struct FieldDescriptorProto { // message fields name: crate::SingularField<::std::string::String>, @@ -1920,6 +2146,7 @@ pub struct FieldDescriptorProto { oneof_index: ::std::option::Option<i32>, json_name: crate::SingularField<::std::string::String>, pub options: crate::SingularPtrField<FieldOptions>, + proto3_optional: ::std::option::Option<bool>, // special fields #[cfg_attr(feature = "with-serde", serde(skip))] pub unknown_fields: crate::UnknownFields, @@ -2226,6 +2453,25 @@ impl FieldDescriptorProto { pub fn take_options(&mut self) -> FieldOptions { self.options.take().unwrap_or_else(|| FieldOptions::new()) } + + // optional bool proto3_optional = 17; + + + pub fn get_proto3_optional(&self) -> bool { + self.proto3_optional.unwrap_or(false) + } + pub fn clear_proto3_optional(&mut self) { + self.proto3_optional = ::std::option::Option::None; + } + + pub fn has_proto3_optional(&self) -> bool { + self.proto3_optional.is_some() + } + + // Param is passed by value, moved + pub fn set_proto3_optional(&mut self, v: bool) { + self.proto3_optional = ::std::option::Option::Some(v); + } } impl crate::Message for FieldDescriptorProto { @@ -2280,6 +2526,13 @@ impl crate::Message for FieldDescriptorProto { 8 => { crate::rt::read_singular_message_into(wire_type, is, &mut self.options)?; }, + 17 => { + if wire_type != crate::wire_format::WireTypeVarint { + return ::std::result::Result::Err(crate::rt::unexpected_wire_type(wire_type)); + } + let tmp = is.read_bool()?; + self.proto3_optional = ::std::option::Option::Some(tmp); + }, _ => { crate::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?; }, @@ -2323,6 +2576,9 @@ impl crate::Message for FieldDescriptorProto { let len = v.compute_size(); my_size += 1 + crate::rt::compute_raw_varint32_size(len) + len; } + if let Some(v) = self.proto3_optional { + my_size += 3; + } my_size += crate::rt::unknown_fields_size(self.get_unknown_fields()); self.cached_size.set(my_size); my_size @@ -2361,6 +2617,9 @@ impl crate::Message for FieldDescriptorProto { os.write_raw_varint32(v.get_cached_size())?; v.write_to_with_cached_sizes(os)?; } + if let Some(v) = self.proto3_optional { + os.write_bool(17, v)?; + } os.write_unknown_fields(self.get_unknown_fields())?; ::std::result::Result::Ok(()) } @@ -2449,6 +2708,11 @@ impl crate::Message for FieldDescriptorProto { |m: &FieldDescriptorProto| { &m.options }, |m: &mut FieldDescriptorProto| { &mut m.options }, )); + fields.push(crate::reflect::accessor::make_option_accessor::<_, crate::types::ProtobufTypeBool>( + "proto3_optional", + |m: &FieldDescriptorProto| { &m.proto3_optional }, + |m: &mut FieldDescriptorProto| { &mut m.proto3_optional }, + )); crate::reflect::MessageDescriptor::new_pb_name::<FieldDescriptorProto>( "FieldDescriptorProto", fields, @@ -2475,6 +2739,7 @@ impl crate::Clear for FieldDescriptorProto { self.oneof_index = ::std::option::Option::None; self.json_name.clear(); self.options.clear(); + self.proto3_optional = ::std::option::Option::None; self.unknown_fields.clear(); } } @@ -2492,7 +2757,7 @@ impl crate::reflect::ProtobufValue for FieldDescriptorProto { } #[derive(Clone,PartialEq,Eq,Debug,Hash)] -#[cfg_attr(feature = "with-serde", derive(Serialize, Deserialize))] +#[cfg_attr(feature = "with-serde", derive(::serde::Serialize, ::serde::Deserialize))] pub enum FieldDescriptorProto_Type { TYPE_DOUBLE = 1, TYPE_FLOAT = 2, @@ -2592,7 +2857,7 @@ impl crate::reflect::ProtobufValue for FieldDescriptorProto_Type { } #[derive(Clone,PartialEq,Eq,Debug,Hash)] -#[cfg_attr(feature = "with-serde", derive(Serialize, Deserialize))] +#[cfg_attr(feature = "with-serde", derive(::serde::Serialize, ::serde::Deserialize))] pub enum FieldDescriptorProto_Label { LABEL_OPTIONAL = 1, LABEL_REQUIRED = 2, @@ -2647,7 +2912,7 @@ impl crate::reflect::ProtobufValue for FieldDescriptorProto_Label { } #[derive(PartialEq,Clone,Default)] -#[cfg_attr(feature = "with-serde", derive(Serialize, Deserialize))] +#[cfg_attr(feature = "with-serde", derive(::serde::Serialize, ::serde::Deserialize))] pub struct OneofDescriptorProto { // message fields name: crate::SingularField<::std::string::String>, @@ -2876,12 +3141,14 @@ impl crate::reflect::ProtobufValue for OneofDescriptorProto { } #[derive(PartialEq,Clone,Default)] -#[cfg_attr(feature = "with-serde", derive(Serialize, Deserialize))] +#[cfg_attr(feature = "with-serde", derive(::serde::Serialize, ::serde::Deserialize))] pub struct EnumDescriptorProto { // message fields name: crate::SingularField<::std::string::String>, pub value: crate::RepeatedField<EnumValueDescriptorProto>, pub options: crate::SingularPtrField<EnumOptions>, + pub reserved_range: crate::RepeatedField<EnumDescriptorProto_EnumReservedRange>, + pub reserved_name: crate::RepeatedField<::std::string::String>, // special fields #[cfg_attr(feature = "with-serde", serde(skip))] pub unknown_fields: crate::UnknownFields, @@ -2993,6 +3260,56 @@ impl EnumDescriptorProto { pub fn take_options(&mut self) -> EnumOptions { self.options.take().unwrap_or_else(|| EnumOptions::new()) } + + // repeated .google.protobuf.EnumDescriptorProto.EnumReservedRange reserved_range = 4; + + + pub fn get_reserved_range(&self) -> &[EnumDescriptorProto_EnumReservedRange] { + &self.reserved_range + } + pub fn clear_reserved_range(&mut self) { + self.reserved_range.clear(); + } + + // Param is passed by value, moved + pub fn set_reserved_range(&mut self, v: crate::RepeatedField<EnumDescriptorProto_EnumReservedRange>) { + self.reserved_range = v; + } + + // Mutable pointer to the field. + pub fn mut_reserved_range(&mut self) -> &mut crate::RepeatedField<EnumDescriptorProto_EnumReservedRange> { + &mut self.reserved_range + } + + // Take field + pub fn take_reserved_range(&mut self) -> crate::RepeatedField<EnumDescriptorProto_EnumReservedRange> { + ::std::mem::replace(&mut self.reserved_range, crate::RepeatedField::new()) + } + + // repeated string reserved_name = 5; + + + pub fn get_reserved_name(&self) -> &[::std::string::String] { + &self.reserved_name + } + pub fn clear_reserved_name(&mut self) { + self.reserved_name.clear(); + } + + // Param is passed by value, moved + pub fn set_reserved_name(&mut self, v: crate::RepeatedField<::std::string::String>) { + self.reserved_name = v; + } + + // Mutable pointer to the field. + pub fn mut_reserved_name(&mut self) -> &mut crate::RepeatedField<::std::string::String> { + &mut self.reserved_name + } + + // Take field + pub fn take_reserved_name(&mut self) -> crate::RepeatedField<::std::string::String> { + ::std::mem::replace(&mut self.reserved_name, crate::RepeatedField::new()) + } } impl crate::Message for EnumDescriptorProto { @@ -3007,6 +3324,11 @@ impl crate::Message for EnumDescriptorProto { return false; } }; + for v in &self.reserved_range { + if !v.is_initialized() { + return false; + } + }; true } @@ -3023,6 +3345,12 @@ impl crate::Message for EnumDescriptorProto { 3 => { crate::rt::read_singular_message_into(wire_type, is, &mut self.options)?; }, + 4 => { + crate::rt::read_repeated_message_into(wire_type, is, &mut self.reserved_range)?; + }, + 5 => { + crate::rt::read_repeated_string_into(wire_type, is, &mut self.reserved_name)?; + }, _ => { crate::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?; }, @@ -3046,6 +3374,13 @@ impl crate::Message for EnumDescriptorProto { let len = v.compute_size(); my_size += 1 + crate::rt::compute_raw_varint32_size(len) + len; } + for value in &self.reserved_range { + let len = value.compute_size(); + my_size += 1 + crate::rt::compute_raw_varint32_size(len) + len; + }; + for value in &self.reserved_name { + my_size += crate::rt::string_size(5, &value); + }; my_size += crate::rt::unknown_fields_size(self.get_unknown_fields()); self.cached_size.set(my_size); my_size @@ -3065,6 +3400,14 @@ impl crate::Message for EnumDescriptorProto { os.write_raw_varint32(v.get_cached_size())?; v.write_to_with_cached_sizes(os)?; } + for v in &self.reserved_range { + os.write_tag(4, crate::wire_format::WireTypeLengthDelimited)?; + os.write_raw_varint32(v.get_cached_size())?; + v.write_to_with_cached_sizes(os)?; + }; + for v in &self.reserved_name { + os.write_string(5, &v)?; + }; os.write_unknown_fields(self.get_unknown_fields())?; ::std::result::Result::Ok(()) } @@ -3118,6 +3461,16 @@ impl crate::Message for EnumDescriptorProto { |m: &EnumDescriptorProto| { &m.options }, |m: &mut EnumDescriptorProto| { &mut m.options }, )); + fields.push(crate::reflect::accessor::make_repeated_field_accessor::<_, crate::types::ProtobufTypeMessage<EnumDescriptorProto_EnumReservedRange>>( + "reserved_range", + |m: &EnumDescriptorProto| { &m.reserved_range }, + |m: &mut EnumDescriptorProto| { &mut m.reserved_range }, + )); + fields.push(crate::reflect::accessor::make_repeated_field_accessor::<_, crate::types::ProtobufTypeString>( + "reserved_name", + |m: &EnumDescriptorProto| { &m.reserved_name }, + |m: &mut EnumDescriptorProto| { &mut m.reserved_name }, + )); crate::reflect::MessageDescriptor::new_pb_name::<EnumDescriptorProto>( "EnumDescriptorProto", fields, @@ -3137,6 +3490,8 @@ impl crate::Clear for EnumDescriptorProto { self.name.clear(); self.value.clear(); self.options.clear(); + self.reserved_range.clear(); + self.reserved_name.clear(); self.unknown_fields.clear(); } } @@ -3154,7 +3509,205 @@ impl crate::reflect::ProtobufValue for EnumDescriptorProto { } #[derive(PartialEq,Clone,Default)] -#[cfg_attr(feature = "with-serde", derive(Serialize, Deserialize))] +#[cfg_attr(feature = "with-serde", derive(::serde::Serialize, ::serde::Deserialize))] +pub struct EnumDescriptorProto_EnumReservedRange { + // message fields + start: ::std::option::Option<i32>, + end: ::std::option::Option<i32>, + // special fields + #[cfg_attr(feature = "with-serde", serde(skip))] + pub unknown_fields: crate::UnknownFields, + #[cfg_attr(feature = "with-serde", serde(skip))] + pub cached_size: crate::CachedSize, +} + +impl<'a> ::std::default::Default for &'a EnumDescriptorProto_EnumReservedRange { + fn default() -> &'a EnumDescriptorProto_EnumReservedRange { + <EnumDescriptorProto_EnumReservedRange as crate::Message>::default_instance() + } +} + +impl EnumDescriptorProto_EnumReservedRange { + pub fn new() -> EnumDescriptorProto_EnumReservedRange { + ::std::default::Default::default() + } + + // optional int32 start = 1; + + + pub fn get_start(&self) -> i32 { + self.start.unwrap_or(0) + } + pub fn clear_start(&mut self) { + self.start = ::std::option::Option::None; + } + + pub fn has_start(&self) -> bool { + self.start.is_some() + } + + // Param is passed by value, moved + pub fn set_start(&mut self, v: i32) { + self.start = ::std::option::Option::Some(v); + } + + // optional int32 end = 2; + + + pub fn get_end(&self) -> i32 { + self.end.unwrap_or(0) + } + pub fn clear_end(&mut self) { + self.end = ::std::option::Option::None; + } + + pub fn has_end(&self) -> bool { + self.end.is_some() + } + + // Param is passed by value, moved + pub fn set_end(&mut self, v: i32) { + self.end = ::std::option::Option::Some(v); + } +} + +impl crate::Message for EnumDescriptorProto_EnumReservedRange { + fn is_initialized(&self) -> bool { + true + } + + fn merge_from(&mut self, is: &mut crate::CodedInputStream<'_>) -> crate::ProtobufResult<()> { + while !is.eof()? { + let (field_number, wire_type) = is.read_tag_unpack()?; + match field_number { + 1 => { + if wire_type != crate::wire_format::WireTypeVarint { + return ::std::result::Result::Err(crate::rt::unexpected_wire_type(wire_type)); + } + let tmp = is.read_int32()?; + self.start = ::std::option::Option::Some(tmp); + }, + 2 => { + if wire_type != crate::wire_format::WireTypeVarint { + return ::std::result::Result::Err(crate::rt::unexpected_wire_type(wire_type)); + } + let tmp = is.read_int32()?; + self.end = ::std::option::Option::Some(tmp); + }, + _ => { + crate::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?; + }, + }; + } + ::std::result::Result::Ok(()) + } + + // Compute sizes of nested messages + #[allow(unused_variables)] + fn compute_size(&self) -> u32 { + let mut my_size = 0; + if let Some(v) = self.start { + my_size += crate::rt::value_size(1, v, crate::wire_format::WireTypeVarint); + } + if let Some(v) = self.end { + my_size += crate::rt::value_size(2, v, crate::wire_format::WireTypeVarint); + } + my_size += crate::rt::unknown_fields_size(self.get_unknown_fields()); + self.cached_size.set(my_size); + my_size + } + + fn write_to_with_cached_sizes(&self, os: &mut crate::CodedOutputStream<'_>) -> crate::ProtobufResult<()> { + if let Some(v) = self.start { + os.write_int32(1, v)?; + } + if let Some(v) = self.end { + os.write_int32(2, v)?; + } + os.write_unknown_fields(self.get_unknown_fields())?; + ::std::result::Result::Ok(()) + } + + fn get_cached_size(&self) -> u32 { + self.cached_size.get() + } + + fn get_unknown_fields(&self) -> &crate::UnknownFields { + &self.unknown_fields + } + + fn mut_unknown_fields(&mut self) -> &mut crate::UnknownFields { + &mut self.unknown_fields + } + + fn as_any(&self) -> &dyn (::std::any::Any) { + self as &dyn (::std::any::Any) + } + fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) { + self as &mut dyn (::std::any::Any) + } + fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> { + self + } + + fn descriptor(&self) -> &'static crate::reflect::MessageDescriptor { + Self::descriptor_static() + } + + fn new() -> EnumDescriptorProto_EnumReservedRange { + EnumDescriptorProto_EnumReservedRange::new() + } + + fn descriptor_static() -> &'static crate::reflect::MessageDescriptor { + static descriptor: crate::rt::LazyV2<crate::reflect::MessageDescriptor> = crate::rt::LazyV2::INIT; + descriptor.get(|| { + let mut fields = ::std::vec::Vec::new(); + fields.push(crate::reflect::accessor::make_option_accessor::<_, crate::types::ProtobufTypeInt32>( + "start", + |m: &EnumDescriptorProto_EnumReservedRange| { &m.start }, + |m: &mut EnumDescriptorProto_EnumReservedRange| { &mut m.start }, + )); + fields.push(crate::reflect::accessor::make_option_accessor::<_, crate::types::ProtobufTypeInt32>( + "end", + |m: &EnumDescriptorProto_EnumReservedRange| { &m.end }, + |m: &mut EnumDescriptorProto_EnumReservedRange| { &mut m.end }, + )); + crate::reflect::MessageDescriptor::new_pb_name::<EnumDescriptorProto_EnumReservedRange>( + "EnumDescriptorProto.EnumReservedRange", + fields, + file_descriptor_proto() + ) + }) + } + + fn default_instance() -> &'static EnumDescriptorProto_EnumReservedRange { + static instance: crate::rt::LazyV2<EnumDescriptorProto_EnumReservedRange> = crate::rt::LazyV2::INIT; + instance.get(EnumDescriptorProto_EnumReservedRange::new) + } +} + +impl crate::Clear for EnumDescriptorProto_EnumReservedRange { + fn clear(&mut self) { + self.start = ::std::option::Option::None; + self.end = ::std::option::Option::None; + self.unknown_fields.clear(); + } +} + +impl ::std::fmt::Debug for EnumDescriptorProto_EnumReservedRange { + fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result { + crate::text_format::fmt(self, f) + } +} + +impl crate::reflect::ProtobufValue for EnumDescriptorProto_EnumReservedRange { + fn as_ref(&self) -> crate::reflect::ReflectValueRef { + crate::reflect::ReflectValueRef::Message(self) + } +} + +#[derive(PartialEq,Clone,Default)] +#[cfg_attr(feature = "with-serde", derive(::serde::Serialize, ::serde::Deserialize))] pub struct EnumValueDescriptorProto { // message fields name: crate::SingularField<::std::string::String>, @@ -3422,7 +3975,7 @@ impl crate::reflect::ProtobufValue for EnumValueDescriptorProto { } #[derive(PartialEq,Clone,Default)] -#[cfg_attr(feature = "with-serde", derive(Serialize, Deserialize))] +#[cfg_attr(feature = "with-serde", derive(::serde::Serialize, ::serde::Deserialize))] pub struct ServiceDescriptorProto { // message fields name: crate::SingularField<::std::string::String>, @@ -3700,7 +4253,7 @@ impl crate::reflect::ProtobufValue for ServiceDescriptorProto { } #[derive(PartialEq,Clone,Default)] -#[cfg_attr(feature = "with-serde", derive(Serialize, Deserialize))] +#[cfg_attr(feature = "with-serde", derive(::serde::Serialize, ::serde::Deserialize))] pub struct MethodDescriptorProto { // message fields name: crate::SingularField<::std::string::String>, @@ -4111,7 +4664,7 @@ impl crate::reflect::ProtobufValue for MethodDescriptorProto { } #[derive(PartialEq,Clone,Default)] -#[cfg_attr(feature = "with-serde", derive(Serialize, Deserialize))] +#[cfg_attr(feature = "with-serde", derive(::serde::Serialize, ::serde::Deserialize))] pub struct FileOptions { // message fields java_package: crate::SingularField<::std::string::String>, @@ -4124,10 +4677,16 @@ pub struct FileOptions { cc_generic_services: ::std::option::Option<bool>, java_generic_services: ::std::option::Option<bool>, py_generic_services: ::std::option::Option<bool>, + php_generic_services: ::std::option::Option<bool>, deprecated: ::std::option::Option<bool>, cc_enable_arenas: ::std::option::Option<bool>, objc_class_prefix: crate::SingularField<::std::string::String>, csharp_namespace: crate::SingularField<::std::string::String>, + swift_prefix: crate::SingularField<::std::string::String>, + php_class_prefix: crate::SingularField<::std::string::String>, + php_namespace: crate::SingularField<::std::string::String>, + php_metadata_namespace: crate::SingularField<::std::string::String>, + ruby_package: crate::SingularField<::std::string::String>, pub uninterpreted_option: crate::RepeatedField<UninterpretedOption>, // special fields #[cfg_attr(feature = "with-serde", serde(skip))] @@ -4388,6 +4947,25 @@ impl FileOptions { self.py_generic_services = ::std::option::Option::Some(v); } + // optional bool php_generic_services = 42; + + + pub fn get_php_generic_services(&self) -> bool { + self.php_generic_services.unwrap_or(false) + } + pub fn clear_php_generic_services(&mut self) { + self.php_generic_services = ::std::option::Option::None; + } + + pub fn has_php_generic_services(&self) -> bool { + self.php_generic_services.is_some() + } + + // Param is passed by value, moved + pub fn set_php_generic_services(&mut self, v: bool) { + self.php_generic_services = ::std::option::Option::Some(v); + } + // optional bool deprecated = 23; @@ -4411,7 +4989,7 @@ impl FileOptions { pub fn get_cc_enable_arenas(&self) -> bool { - self.cc_enable_arenas.unwrap_or(false) + self.cc_enable_arenas.unwrap_or(true) } pub fn clear_cc_enable_arenas(&mut self) { self.cc_enable_arenas = ::std::option::Option::None; @@ -4498,6 +5076,186 @@ impl FileOptions { self.csharp_namespace.take().unwrap_or_else(|| ::std::string::String::new()) } + // optional string swift_prefix = 39; + + + pub fn get_swift_prefix(&self) -> &str { + match self.swift_prefix.as_ref() { + Some(v) => &v, + None => "", + } + } + pub fn clear_swift_prefix(&mut self) { + self.swift_prefix.clear(); + } + + pub fn has_swift_prefix(&self) -> bool { + self.swift_prefix.is_some() + } + + // Param is passed by value, moved + pub fn set_swift_prefix(&mut self, v: ::std::string::String) { + self.swift_prefix = crate::SingularField::some(v); + } + + // Mutable pointer to the field. + // If field is not initialized, it is initialized with default value first. + pub fn mut_swift_prefix(&mut self) -> &mut ::std::string::String { + if self.swift_prefix.is_none() { + self.swift_prefix.set_default(); + } + self.swift_prefix.as_mut().unwrap() + } + + // Take field + pub fn take_swift_prefix(&mut self) -> ::std::string::String { + self.swift_prefix.take().unwrap_or_else(|| ::std::string::String::new()) + } + + // optional string php_class_prefix = 40; + + + pub fn get_php_class_prefix(&self) -> &str { + match self.php_class_prefix.as_ref() { + Some(v) => &v, + None => "", + } + } + pub fn clear_php_class_prefix(&mut self) { + self.php_class_prefix.clear(); + } + + pub fn has_php_class_prefix(&self) -> bool { + self.php_class_prefix.is_some() + } + + // Param is passed by value, moved + pub fn set_php_class_prefix(&mut self, v: ::std::string::String) { + self.php_class_prefix = crate::SingularField::some(v); + } + + // Mutable pointer to the field. + // If field is not initialized, it is initialized with default value first. + pub fn mut_php_class_prefix(&mut self) -> &mut ::std::string::String { + if self.php_class_prefix.is_none() { + self.php_class_prefix.set_default(); + } + self.php_class_prefix.as_mut().unwrap() + } + + // Take field + pub fn take_php_class_prefix(&mut self) -> ::std::string::String { + self.php_class_prefix.take().unwrap_or_else(|| ::std::string::String::new()) + } + + // optional string php_namespace = 41; + + + pub fn get_php_namespace(&self) -> &str { + match self.php_namespace.as_ref() { + Some(v) => &v, + None => "", + } + } + pub fn clear_php_namespace(&mut self) { + self.php_namespace.clear(); + } + + pub fn has_php_namespace(&self) -> bool { + self.php_namespace.is_some() + } + + // Param is passed by value, moved + pub fn set_php_namespace(&mut self, v: ::std::string::String) { + self.php_namespace = crate::SingularField::some(v); + } + + // Mutable pointer to the field. + // If field is not initialized, it is initialized with default value first. + pub fn mut_php_namespace(&mut self) -> &mut ::std::string::String { + if self.php_namespace.is_none() { + self.php_namespace.set_default(); + } + self.php_namespace.as_mut().unwrap() + } + + // Take field + pub fn take_php_namespace(&mut self) -> ::std::string::String { + self.php_namespace.take().unwrap_or_else(|| ::std::string::String::new()) + } + + // optional string php_metadata_namespace = 44; + + + pub fn get_php_metadata_namespace(&self) -> &str { + match self.php_metadata_namespace.as_ref() { + Some(v) => &v, + None => "", + } + } + pub fn clear_php_metadata_namespace(&mut self) { + self.php_metadata_namespace.clear(); + } + + pub fn has_php_metadata_namespace(&self) -> bool { + self.php_metadata_namespace.is_some() + } + + // Param is passed by value, moved + pub fn set_php_metadata_namespace(&mut self, v: ::std::string::String) { + self.php_metadata_namespace = crate::SingularField::some(v); + } + + // Mutable pointer to the field. + // If field is not initialized, it is initialized with default value first. + pub fn mut_php_metadata_namespace(&mut self) -> &mut ::std::string::String { + if self.php_metadata_namespace.is_none() { + self.php_metadata_namespace.set_default(); + } + self.php_metadata_namespace.as_mut().unwrap() + } + + // Take field + pub fn take_php_metadata_namespace(&mut self) -> ::std::string::String { + self.php_metadata_namespace.take().unwrap_or_else(|| ::std::string::String::new()) + } + + // optional string ruby_package = 45; + + + pub fn get_ruby_package(&self) -> &str { + match self.ruby_package.as_ref() { + Some(v) => &v, + None => "", + } + } + pub fn clear_ruby_package(&mut self) { + self.ruby_package.clear(); + } + + pub fn has_ruby_package(&self) -> bool { + self.ruby_package.is_some() + } + + // Param is passed by value, moved + pub fn set_ruby_package(&mut self, v: ::std::string::String) { + self.ruby_package = crate::SingularField::some(v); + } + + // Mutable pointer to the field. + // If field is not initialized, it is initialized with default value first. + pub fn mut_ruby_package(&mut self) -> &mut ::std::string::String { + if self.ruby_package.is_none() { + self.ruby_package.set_default(); + } + self.ruby_package.as_mut().unwrap() + } + + // Take field + pub fn take_ruby_package(&mut self) -> ::std::string::String { + self.ruby_package.take().unwrap_or_else(|| ::std::string::String::new()) + } + // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999; @@ -4592,6 +5350,13 @@ impl crate::Message for FileOptions { let tmp = is.read_bool()?; self.py_generic_services = ::std::option::Option::Some(tmp); }, + 42 => { + if wire_type != crate::wire_format::WireTypeVarint { + return ::std::result::Result::Err(crate::rt::unexpected_wire_type(wire_type)); + } + let tmp = is.read_bool()?; + self.php_generic_services = ::std::option::Option::Some(tmp); + }, 23 => { if wire_type != crate::wire_format::WireTypeVarint { return ::std::result::Result::Err(crate::rt::unexpected_wire_type(wire_type)); @@ -4612,6 +5377,21 @@ impl crate::Message for FileOptions { 37 => { crate::rt::read_singular_string_into(wire_type, is, &mut self.csharp_namespace)?; }, + 39 => { + crate::rt::read_singular_string_into(wire_type, is, &mut self.swift_prefix)?; + }, + 40 => { + crate::rt::read_singular_string_into(wire_type, is, &mut self.php_class_prefix)?; + }, + 41 => { + crate::rt::read_singular_string_into(wire_type, is, &mut self.php_namespace)?; + }, + 44 => { + crate::rt::read_singular_string_into(wire_type, is, &mut self.php_metadata_namespace)?; + }, + 45 => { + crate::rt::read_singular_string_into(wire_type, is, &mut self.ruby_package)?; + }, 999 => { crate::rt::read_repeated_message_into(wire_type, is, &mut self.uninterpreted_option)?; }, @@ -4657,6 +5437,9 @@ impl crate::Message for FileOptions { if let Some(v) = self.py_generic_services { my_size += 3; } + if let Some(v) = self.php_generic_services { + my_size += 3; + } if let Some(v) = self.deprecated { my_size += 3; } @@ -4669,6 +5452,21 @@ impl crate::Message for FileOptions { if let Some(ref v) = self.csharp_namespace.as_ref() { my_size += crate::rt::string_size(37, &v); } + if let Some(ref v) = self.swift_prefix.as_ref() { + my_size += crate::rt::string_size(39, &v); + } + if let Some(ref v) = self.php_class_prefix.as_ref() { + my_size += crate::rt::string_size(40, &v); + } + if let Some(ref v) = self.php_namespace.as_ref() { + my_size += crate::rt::string_size(41, &v); + } + if let Some(ref v) = self.php_metadata_namespace.as_ref() { + my_size += crate::rt::string_size(44, &v); + } + if let Some(ref v) = self.ruby_package.as_ref() { + my_size += crate::rt::string_size(45, &v); + } for value in &self.uninterpreted_option { let len = value.compute_size(); my_size += 2 + crate::rt::compute_raw_varint32_size(len) + len; @@ -4709,6 +5507,9 @@ impl crate::Message for FileOptions { if let Some(v) = self.py_generic_services { os.write_bool(18, v)?; } + if let Some(v) = self.php_generic_services { + os.write_bool(42, v)?; + } if let Some(v) = self.deprecated { os.write_bool(23, v)?; } @@ -4721,6 +5522,21 @@ impl crate::Message for FileOptions { if let Some(ref v) = self.csharp_namespace.as_ref() { os.write_string(37, &v)?; } + if let Some(ref v) = self.swift_prefix.as_ref() { + os.write_string(39, &v)?; + } + if let Some(ref v) = self.php_class_prefix.as_ref() { + os.write_string(40, &v)?; + } + if let Some(ref v) = self.php_namespace.as_ref() { + os.write_string(41, &v)?; + } + if let Some(ref v) = self.php_metadata_namespace.as_ref() { + os.write_string(44, &v)?; + } + if let Some(ref v) = self.ruby_package.as_ref() { + os.write_string(45, &v)?; + } for v in &self.uninterpreted_option { os.write_tag(999, crate::wire_format::WireTypeLengthDelimited)?; os.write_raw_varint32(v.get_cached_size())?; @@ -4815,6 +5631,11 @@ impl crate::Message for FileOptions { |m: &mut FileOptions| { &mut m.py_generic_services }, )); fields.push(crate::reflect::accessor::make_option_accessor::<_, crate::types::ProtobufTypeBool>( + "php_generic_services", + |m: &FileOptions| { &m.php_generic_services }, + |m: &mut FileOptions| { &mut m.php_generic_services }, + )); + fields.push(crate::reflect::accessor::make_option_accessor::<_, crate::types::ProtobufTypeBool>( "deprecated", |m: &FileOptions| { &m.deprecated }, |m: &mut FileOptions| { &mut m.deprecated }, @@ -4834,6 +5655,31 @@ impl crate::Message for FileOptions { |m: &FileOptions| { &m.csharp_namespace }, |m: &mut FileOptions| { &mut m.csharp_namespace }, )); + fields.push(crate::reflect::accessor::make_singular_field_accessor::<_, crate::types::ProtobufTypeString>( + "swift_prefix", + |m: &FileOptions| { &m.swift_prefix }, + |m: &mut FileOptions| { &mut m.swift_prefix }, + )); + fields.push(crate::reflect::accessor::make_singular_field_accessor::<_, crate::types::ProtobufTypeString>( + "php_class_prefix", + |m: &FileOptions| { &m.php_class_prefix }, + |m: &mut FileOptions| { &mut m.php_class_prefix }, + )); + fields.push(crate::reflect::accessor::make_singular_field_accessor::<_, crate::types::ProtobufTypeString>( + "php_namespace", + |m: &FileOptions| { &m.php_namespace }, + |m: &mut FileOptions| { &mut m.php_namespace }, + )); + fields.push(crate::reflect::accessor::make_singular_field_accessor::<_, crate::types::ProtobufTypeString>( + "php_metadata_namespace", + |m: &FileOptions| { &m.php_metadata_namespace }, + |m: &mut FileOptions| { &mut m.php_metadata_namespace }, + )); + fields.push(crate::reflect::accessor::make_singular_field_accessor::<_, crate::types::ProtobufTypeString>( + "ruby_package", + |m: &FileOptions| { &m.ruby_package }, + |m: &mut FileOptions| { &mut m.ruby_package }, + )); fields.push(crate::reflect::accessor::make_repeated_field_accessor::<_, crate::types::ProtobufTypeMessage<UninterpretedOption>>( "uninterpreted_option", |m: &FileOptions| { &m.uninterpreted_option }, @@ -4865,10 +5711,16 @@ impl crate::Clear for FileOptions { self.cc_generic_services = ::std::option::Option::None; self.java_generic_services = ::std::option::Option::None; self.py_generic_services = ::std::option::Option::None; + self.php_generic_services = ::std::option::Option::None; self.deprecated = ::std::option::Option::None; self.cc_enable_arenas = ::std::option::Option::None; self.objc_class_prefix.clear(); self.csharp_namespace.clear(); + self.swift_prefix.clear(); + self.php_class_prefix.clear(); + self.php_namespace.clear(); + self.php_metadata_namespace.clear(); + self.ruby_package.clear(); self.uninterpreted_option.clear(); self.unknown_fields.clear(); } @@ -4887,7 +5739,7 @@ impl crate::reflect::ProtobufValue for FileOptions { } #[derive(Clone,PartialEq,Eq,Debug,Hash)] -#[cfg_attr(feature = "with-serde", derive(Serialize, Deserialize))] +#[cfg_attr(feature = "with-serde", derive(::serde::Serialize, ::serde::Deserialize))] pub enum FileOptions_OptimizeMode { SPEED = 1, CODE_SIZE = 2, @@ -4942,7 +5794,7 @@ impl crate::reflect::ProtobufValue for FileOptions_OptimizeMode { } #[derive(PartialEq,Clone,Default)] -#[cfg_attr(feature = "with-serde", derive(Serialize, Deserialize))] +#[cfg_attr(feature = "with-serde", derive(::serde::Serialize, ::serde::Deserialize))] pub struct MessageOptions { // message fields message_set_wire_format: ::std::option::Option<bool>, @@ -5267,7 +6119,7 @@ impl crate::reflect::ProtobufValue for MessageOptions { } #[derive(PartialEq,Clone,Default)] -#[cfg_attr(feature = "with-serde", derive(Serialize, Deserialize))] +#[cfg_attr(feature = "with-serde", derive(::serde::Serialize, ::serde::Deserialize))] pub struct FieldOptions { // message fields ctype: ::std::option::Option<FieldOptions_CType>, @@ -5662,7 +6514,7 @@ impl crate::reflect::ProtobufValue for FieldOptions { } #[derive(Clone,PartialEq,Eq,Debug,Hash)] -#[cfg_attr(feature = "with-serde", derive(Serialize, Deserialize))] +#[cfg_attr(feature = "with-serde", derive(::serde::Serialize, ::serde::Deserialize))] pub enum FieldOptions_CType { STRING = 0, CORD = 1, @@ -5716,7 +6568,7 @@ impl crate::reflect::ProtobufValue for FieldOptions_CType { } #[derive(Clone,PartialEq,Eq,Debug,Hash)] -#[cfg_attr(feature = "with-serde", derive(Serialize, Deserialize))] +#[cfg_attr(feature = "with-serde", derive(::serde::Serialize, ::serde::Deserialize))] pub enum FieldOptions_JSType { JS_NORMAL = 0, JS_STRING = 1, @@ -5770,7 +6622,7 @@ impl crate::reflect::ProtobufValue for FieldOptions_JSType { } #[derive(PartialEq,Clone,Default)] -#[cfg_attr(feature = "with-serde", derive(Serialize, Deserialize))] +#[cfg_attr(feature = "with-serde", derive(::serde::Serialize, ::serde::Deserialize))] pub struct OneofOptions { // message fields pub uninterpreted_option: crate::RepeatedField<UninterpretedOption>, @@ -5939,7 +6791,7 @@ impl crate::reflect::ProtobufValue for OneofOptions { } #[derive(PartialEq,Clone,Default)] -#[cfg_attr(feature = "with-serde", derive(Serialize, Deserialize))] +#[cfg_attr(feature = "with-serde", derive(::serde::Serialize, ::serde::Deserialize))] pub struct EnumOptions { // message fields allow_alias: ::std::option::Option<bool>, @@ -6186,7 +7038,7 @@ impl crate::reflect::ProtobufValue for EnumOptions { } #[derive(PartialEq,Clone,Default)] -#[cfg_attr(feature = "with-serde", derive(Serialize, Deserialize))] +#[cfg_attr(feature = "with-serde", derive(::serde::Serialize, ::serde::Deserialize))] pub struct EnumValueOptions { // message fields deprecated: ::std::option::Option<bool>, @@ -6394,7 +7246,7 @@ impl crate::reflect::ProtobufValue for EnumValueOptions { } #[derive(PartialEq,Clone,Default)] -#[cfg_attr(feature = "with-serde", derive(Serialize, Deserialize))] +#[cfg_attr(feature = "with-serde", derive(::serde::Serialize, ::serde::Deserialize))] pub struct ServiceOptions { // message fields deprecated: ::std::option::Option<bool>, @@ -6602,10 +7454,11 @@ impl crate::reflect::ProtobufValue for ServiceOptions { } #[derive(PartialEq,Clone,Default)] -#[cfg_attr(feature = "with-serde", derive(Serialize, Deserialize))] +#[cfg_attr(feature = "with-serde", derive(::serde::Serialize, ::serde::Deserialize))] pub struct MethodOptions { // message fields deprecated: ::std::option::Option<bool>, + idempotency_level: ::std::option::Option<MethodOptions_IdempotencyLevel>, pub uninterpreted_option: crate::RepeatedField<UninterpretedOption>, // special fields #[cfg_attr(feature = "with-serde", serde(skip))] @@ -6644,6 +7497,25 @@ impl MethodOptions { self.deprecated = ::std::option::Option::Some(v); } + // optional .google.protobuf.MethodOptions.IdempotencyLevel idempotency_level = 34; + + + pub fn get_idempotency_level(&self) -> MethodOptions_IdempotencyLevel { + self.idempotency_level.unwrap_or(MethodOptions_IdempotencyLevel::IDEMPOTENCY_UNKNOWN) + } + pub fn clear_idempotency_level(&mut self) { + self.idempotency_level = ::std::option::Option::None; + } + + pub fn has_idempotency_level(&self) -> bool { + self.idempotency_level.is_some() + } + + // Param is passed by value, moved + pub fn set_idempotency_level(&mut self, v: MethodOptions_IdempotencyLevel) { + self.idempotency_level = ::std::option::Option::Some(v); + } + // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999; @@ -6691,6 +7563,9 @@ impl crate::Message for MethodOptions { let tmp = is.read_bool()?; self.deprecated = ::std::option::Option::Some(tmp); }, + 34 => { + crate::rt::read_proto2_enum_with_unknown_fields_into(wire_type, is, &mut self.idempotency_level, 34, &mut self.unknown_fields)? + }, 999 => { crate::rt::read_repeated_message_into(wire_type, is, &mut self.uninterpreted_option)?; }, @@ -6709,6 +7584,9 @@ impl crate::Message for MethodOptions { if let Some(v) = self.deprecated { my_size += 3; } + if let Some(v) = self.idempotency_level { + my_size += crate::rt::enum_size(34, v); + } for value in &self.uninterpreted_option { let len = value.compute_size(); my_size += 2 + crate::rt::compute_raw_varint32_size(len) + len; @@ -6722,6 +7600,9 @@ impl crate::Message for MethodOptions { if let Some(v) = self.deprecated { os.write_bool(33, v)?; } + if let Some(v) = self.idempotency_level { + os.write_enum(34, crate::ProtobufEnum::value(&v))?; + } for v in &self.uninterpreted_option { os.write_tag(999, crate::wire_format::WireTypeLengthDelimited)?; os.write_raw_varint32(v.get_cached_size())?; @@ -6770,6 +7651,11 @@ impl crate::Message for MethodOptions { |m: &MethodOptions| { &m.deprecated }, |m: &mut MethodOptions| { &mut m.deprecated }, )); + fields.push(crate::reflect::accessor::make_option_accessor::<_, crate::types::ProtobufTypeEnum<MethodOptions_IdempotencyLevel>>( + "idempotency_level", + |m: &MethodOptions| { &m.idempotency_level }, + |m: &mut MethodOptions| { &mut m.idempotency_level }, + )); fields.push(crate::reflect::accessor::make_repeated_field_accessor::<_, crate::types::ProtobufTypeMessage<UninterpretedOption>>( "uninterpreted_option", |m: &MethodOptions| { &m.uninterpreted_option }, @@ -6792,6 +7678,7 @@ impl crate::Message for MethodOptions { impl crate::Clear for MethodOptions { fn clear(&mut self) { self.deprecated = ::std::option::Option::None; + self.idempotency_level = ::std::option::Option::None; self.uninterpreted_option.clear(); self.unknown_fields.clear(); } @@ -6809,8 +7696,62 @@ impl crate::reflect::ProtobufValue for MethodOptions { } } +#[derive(Clone,PartialEq,Eq,Debug,Hash)] +#[cfg_attr(feature = "with-serde", derive(::serde::Serialize, ::serde::Deserialize))] +pub enum MethodOptions_IdempotencyLevel { + IDEMPOTENCY_UNKNOWN = 0, + NO_SIDE_EFFECTS = 1, + IDEMPOTENT = 2, +} + +impl crate::ProtobufEnum for MethodOptions_IdempotencyLevel { + fn value(&self) -> i32 { + *self as i32 + } + + fn from_i32(value: i32) -> ::std::option::Option<MethodOptions_IdempotencyLevel> { + match value { + 0 => ::std::option::Option::Some(MethodOptions_IdempotencyLevel::IDEMPOTENCY_UNKNOWN), + 1 => ::std::option::Option::Some(MethodOptions_IdempotencyLevel::NO_SIDE_EFFECTS), + 2 => ::std::option::Option::Some(MethodOptions_IdempotencyLevel::IDEMPOTENT), + _ => ::std::option::Option::None + } + } + + fn values() -> &'static [Self] { + static values: &'static [MethodOptions_IdempotencyLevel] = &[ + MethodOptions_IdempotencyLevel::IDEMPOTENCY_UNKNOWN, + MethodOptions_IdempotencyLevel::NO_SIDE_EFFECTS, + MethodOptions_IdempotencyLevel::IDEMPOTENT, + ]; + values + } + + fn enum_descriptor_static() -> &'static crate::reflect::EnumDescriptor { + static descriptor: crate::rt::LazyV2<crate::reflect::EnumDescriptor> = crate::rt::LazyV2::INIT; + descriptor.get(|| { + crate::reflect::EnumDescriptor::new_pb_name::<MethodOptions_IdempotencyLevel>("MethodOptions.IdempotencyLevel", file_descriptor_proto()) + }) + } +} + +impl ::std::marker::Copy for MethodOptions_IdempotencyLevel { +} + +impl ::std::default::Default for MethodOptions_IdempotencyLevel { + fn default() -> Self { + MethodOptions_IdempotencyLevel::IDEMPOTENCY_UNKNOWN + } +} + +impl crate::reflect::ProtobufValue for MethodOptions_IdempotencyLevel { + fn as_ref(&self) -> crate::reflect::ReflectValueRef { + crate::reflect::ReflectValueRef::Enum(crate::ProtobufEnum::descriptor(self)) + } +} + #[derive(PartialEq,Clone,Default)] -#[cfg_attr(feature = "with-serde", derive(Serialize, Deserialize))] +#[cfg_attr(feature = "with-serde", derive(::serde::Serialize, ::serde::Deserialize))] pub struct UninterpretedOption { // message fields pub name: crate::RepeatedField<UninterpretedOption_NamePart>, @@ -7252,7 +8193,7 @@ impl crate::reflect::ProtobufValue for UninterpretedOption { } #[derive(PartialEq,Clone,Default)] -#[cfg_attr(feature = "with-serde", derive(Serialize, Deserialize))] +#[cfg_attr(feature = "with-serde", derive(::serde::Serialize, ::serde::Deserialize))] pub struct UninterpretedOption_NamePart { // message fields name_part: crate::SingularField<::std::string::String>, @@ -7469,7 +8410,7 @@ impl crate::reflect::ProtobufValue for UninterpretedOption_NamePart { } #[derive(PartialEq,Clone,Default)] -#[cfg_attr(feature = "with-serde", derive(Serialize, Deserialize))] +#[cfg_attr(feature = "with-serde", derive(::serde::Serialize, ::serde::Deserialize))] pub struct SourceCodeInfo { // message fields pub location: crate::RepeatedField<SourceCodeInfo_Location>, @@ -7638,7 +8579,7 @@ impl crate::reflect::ProtobufValue for SourceCodeInfo { } #[derive(PartialEq,Clone,Default)] -#[cfg_attr(feature = "with-serde", derive(Serialize, Deserialize))] +#[cfg_attr(feature = "with-serde", derive(::serde::Serialize, ::serde::Deserialize))] pub struct SourceCodeInfo_Location { // message fields pub path: ::std::vec::Vec<i32>, @@ -7995,7 +8936,7 @@ impl crate::reflect::ProtobufValue for SourceCodeInfo_Location { } #[derive(PartialEq,Clone,Default)] -#[cfg_attr(feature = "with-serde", derive(Serialize, Deserialize))] +#[cfg_attr(feature = "with-serde", derive(::serde::Serialize, ::serde::Deserialize))] pub struct GeneratedCodeInfo { // message fields pub annotation: crate::RepeatedField<GeneratedCodeInfo_Annotation>, @@ -8164,7 +9105,7 @@ impl crate::reflect::ProtobufValue for GeneratedCodeInfo { } #[derive(PartialEq,Clone,Default)] -#[cfg_attr(feature = "with-serde", derive(Serialize, Deserialize))] +#[cfg_attr(feature = "with-serde", derive(::serde::Serialize, ::serde::Deserialize))] pub struct GeneratedCodeInfo_Annotation { // message fields pub path: ::std::vec::Vec<i32>, @@ -8475,7 +9416,7 @@ static file_descriptor_proto_data: &'static [u8] = b"\ sion\x126\n\x07options\x18\x08\x20\x01(\x0b2\x1c.google.protobuf.FileOpt\ ionsR\x07options\x12I\n\x10source_code_info\x18\t\x20\x01(\x0b2\x1f.goog\ le.protobuf.SourceCodeInfoR\x0esourceCodeInfo\x12\x16\n\x06syntax\x18\ - \x0c\x20\x01(\tR\x06syntax\"\xf7\x05\n\x0fDescriptorProto\x12\x12\n\x04n\ + \x0c\x20\x01(\tR\x06syntax\"\xb9\x06\n\x0fDescriptorProto\x12\x12\n\x04n\ ame\x18\x01\x20\x01(\tR\x04name\x12;\n\x05field\x18\x02\x20\x03(\x0b2%.g\ oogle.protobuf.FieldDescriptorProtoR\x05field\x12C\n\textension\x18\x06\ \x20\x03(\x0b2%.google.protobuf.FieldDescriptorProtoR\textension\x12A\n\ @@ -8487,37 +9428,46 @@ static file_descriptor_proto_data: &'static [u8] = b"\ criptorProtoR\toneofDecl\x129\n\x07options\x18\x07\x20\x01(\x0b2\x1f.goo\ gle.protobuf.MessageOptionsR\x07options\x12U\n\x0ereserved_range\x18\t\ \x20\x03(\x0b2..google.protobuf.DescriptorProto.ReservedRangeR\rreserved\ - Range\x12#\n\rreserved_name\x18\n\x20\x03(\tR\x0creservedName\x1a8\n\x0e\ + Range\x12#\n\rreserved_name\x18\n\x20\x03(\tR\x0creservedName\x1az\n\x0e\ ExtensionRange\x12\x14\n\x05start\x18\x01\x20\x01(\x05R\x05start\x12\x10\ - \n\x03end\x18\x02\x20\x01(\x05R\x03end\x1a7\n\rReservedRange\x12\x14\n\ - \x05start\x18\x01\x20\x01(\x05R\x05start\x12\x10\n\x03end\x18\x02\x20\ - \x01(\x05R\x03end\"\x98\x06\n\x14FieldDescriptorProto\x12\x12\n\x04name\ - \x18\x01\x20\x01(\tR\x04name\x12\x16\n\x06number\x18\x03\x20\x01(\x05R\ - \x06number\x12A\n\x05label\x18\x04\x20\x01(\x0e2+.google.protobuf.FieldD\ - escriptorProto.LabelR\x05label\x12>\n\x04type\x18\x05\x20\x01(\x0e2*.goo\ - gle.protobuf.FieldDescriptorProto.TypeR\x04type\x12\x1b\n\ttype_name\x18\ - \x06\x20\x01(\tR\x08typeName\x12\x1a\n\x08extendee\x18\x02\x20\x01(\tR\ - \x08extendee\x12#\n\rdefault_value\x18\x07\x20\x01(\tR\x0cdefaultValue\ - \x12\x1f\n\x0boneof_index\x18\t\x20\x01(\x05R\noneofIndex\x12\x1b\n\tjso\ - n_name\x18\n\x20\x01(\tR\x08jsonName\x127\n\x07options\x18\x08\x20\x01(\ - \x0b2\x1d.google.protobuf.FieldOptionsR\x07options\"\xb6\x02\n\x04Type\ - \x12\x0f\n\x0bTYPE_DOUBLE\x10\x01\x12\x0e\n\nTYPE_FLOAT\x10\x02\x12\x0e\ - \n\nTYPE_INT64\x10\x03\x12\x0f\n\x0bTYPE_UINT64\x10\x04\x12\x0e\n\nTYPE_\ - INT32\x10\x05\x12\x10\n\x0cTYPE_FIXED64\x10\x06\x12\x10\n\x0cTYPE_FIXED3\ - 2\x10\x07\x12\r\n\tTYPE_BOOL\x10\x08\x12\x0f\n\x0bTYPE_STRING\x10\t\x12\ - \x0e\n\nTYPE_GROUP\x10\n\x12\x10\n\x0cTYPE_MESSAGE\x10\x0b\x12\x0e\n\nTY\ - PE_BYTES\x10\x0c\x12\x0f\n\x0bTYPE_UINT32\x10\r\x12\r\n\tTYPE_ENUM\x10\ - \x0e\x12\x11\n\rTYPE_SFIXED32\x10\x0f\x12\x11\n\rTYPE_SFIXED64\x10\x10\ - \x12\x0f\n\x0bTYPE_SINT32\x10\x11\x12\x0f\n\x0bTYPE_SINT64\x10\x12\"C\n\ - \x05Label\x12\x12\n\x0eLABEL_OPTIONAL\x10\x01\x12\x12\n\x0eLABEL_REQUIRE\ - D\x10\x02\x12\x12\n\x0eLABEL_REPEATED\x10\x03\"c\n\x14OneofDescriptorPro\ - to\x12\x12\n\x04name\x18\x01\x20\x01(\tR\x04name\x127\n\x07options\x18\ - \x02\x20\x01(\x0b2\x1d.google.protobuf.OneofOptionsR\x07options\"\xa2\ - \x01\n\x13EnumDescriptorProto\x12\x12\n\x04name\x18\x01\x20\x01(\tR\x04n\ - ame\x12?\n\x05value\x18\x02\x20\x03(\x0b2).google.protobuf.EnumValueDesc\ - riptorProtoR\x05value\x126\n\x07options\x18\x03\x20\x01(\x0b2\x1c.google\ - .protobuf.EnumOptionsR\x07options\"\x83\x01\n\x18EnumValueDescriptorProt\ - o\x12\x12\n\x04name\x18\x01\x20\x01(\tR\x04name\x12\x16\n\x06number\x18\ + \n\x03end\x18\x02\x20\x01(\x05R\x03end\x12@\n\x07options\x18\x03\x20\x01\ + (\x0b2&.google.protobuf.ExtensionRangeOptionsR\x07options\x1a7\n\rReserv\ + edRange\x12\x14\n\x05start\x18\x01\x20\x01(\x05R\x05start\x12\x10\n\x03e\ + nd\x18\x02\x20\x01(\x05R\x03end\"|\n\x15ExtensionRangeOptions\x12X\n\x14\ + uninterpreted_option\x18\xe7\x07\x20\x03(\x0b2$.google.protobuf.Uninterp\ + retedOptionR\x13uninterpretedOption*\t\x08\xe8\x07\x10\x80\x80\x80\x80\ + \x02\"\xc1\x06\n\x14FieldDescriptorProto\x12\x12\n\x04name\x18\x01\x20\ + \x01(\tR\x04name\x12\x16\n\x06number\x18\x03\x20\x01(\x05R\x06number\x12\ + A\n\x05label\x18\x04\x20\x01(\x0e2+.google.protobuf.FieldDescriptorProto\ + .LabelR\x05label\x12>\n\x04type\x18\x05\x20\x01(\x0e2*.google.protobuf.F\ + ieldDescriptorProto.TypeR\x04type\x12\x1b\n\ttype_name\x18\x06\x20\x01(\ + \tR\x08typeName\x12\x1a\n\x08extendee\x18\x02\x20\x01(\tR\x08extendee\ + \x12#\n\rdefault_value\x18\x07\x20\x01(\tR\x0cdefaultValue\x12\x1f\n\x0b\ + oneof_index\x18\t\x20\x01(\x05R\noneofIndex\x12\x1b\n\tjson_name\x18\n\ + \x20\x01(\tR\x08jsonName\x127\n\x07options\x18\x08\x20\x01(\x0b2\x1d.goo\ + gle.protobuf.FieldOptionsR\x07options\x12'\n\x0fproto3_optional\x18\x11\ + \x20\x01(\x08R\x0eproto3Optional\"\xb6\x02\n\x04Type\x12\x0f\n\x0bTYPE_D\ + OUBLE\x10\x01\x12\x0e\n\nTYPE_FLOAT\x10\x02\x12\x0e\n\nTYPE_INT64\x10\ + \x03\x12\x0f\n\x0bTYPE_UINT64\x10\x04\x12\x0e\n\nTYPE_INT32\x10\x05\x12\ + \x10\n\x0cTYPE_FIXED64\x10\x06\x12\x10\n\x0cTYPE_FIXED32\x10\x07\x12\r\n\ + \tTYPE_BOOL\x10\x08\x12\x0f\n\x0bTYPE_STRING\x10\t\x12\x0e\n\nTYPE_GROUP\ + \x10\n\x12\x10\n\x0cTYPE_MESSAGE\x10\x0b\x12\x0e\n\nTYPE_BYTES\x10\x0c\ + \x12\x0f\n\x0bTYPE_UINT32\x10\r\x12\r\n\tTYPE_ENUM\x10\x0e\x12\x11\n\rTY\ + PE_SFIXED32\x10\x0f\x12\x11\n\rTYPE_SFIXED64\x10\x10\x12\x0f\n\x0bTYPE_S\ + INT32\x10\x11\x12\x0f\n\x0bTYPE_SINT64\x10\x12\"C\n\x05Label\x12\x12\n\ + \x0eLABEL_OPTIONAL\x10\x01\x12\x12\n\x0eLABEL_REQUIRED\x10\x02\x12\x12\n\ + \x0eLABEL_REPEATED\x10\x03\"c\n\x14OneofDescriptorProto\x12\x12\n\x04nam\ + e\x18\x01\x20\x01(\tR\x04name\x127\n\x07options\x18\x02\x20\x01(\x0b2\ + \x1d.google.protobuf.OneofOptionsR\x07options\"\xe3\x02\n\x13EnumDescrip\ + torProto\x12\x12\n\x04name\x18\x01\x20\x01(\tR\x04name\x12?\n\x05value\ + \x18\x02\x20\x03(\x0b2).google.protobuf.EnumValueDescriptorProtoR\x05val\ + ue\x126\n\x07options\x18\x03\x20\x01(\x0b2\x1c.google.protobuf.EnumOptio\ + nsR\x07options\x12]\n\x0ereserved_range\x18\x04\x20\x03(\x0b26.google.pr\ + otobuf.EnumDescriptorProto.EnumReservedRangeR\rreservedRange\x12#\n\rres\ + erved_name\x18\x05\x20\x03(\tR\x0creservedName\x1a;\n\x11EnumReservedRan\ + ge\x12\x14\n\x05start\x18\x01\x20\x01(\x05R\x05start\x12\x10\n\x03end\ + \x18\x02\x20\x01(\x05R\x03end\"\x83\x01\n\x18EnumValueDescriptorProto\ + \x12\x12\n\x04name\x18\x01\x20\x01(\tR\x04name\x12\x16\n\x06number\x18\ \x02\x20\x01(\x05R\x06number\x12;\n\x07options\x18\x03\x20\x01(\x0b2!.go\ ogle.protobuf.EnumValueOptionsR\x07options\"\xa7\x01\n\x16ServiceDescrip\ torProto\x12\x12\n\x04name\x18\x01\x20\x01(\tR\x04name\x12>\n\x06method\ @@ -8529,1070 +9479,1241 @@ static file_descriptor_proto_data: &'static [u8] = b"\ \n\x07options\x18\x04\x20\x01(\x0b2\x1e.google.protobuf.MethodOptionsR\ \x07options\x120\n\x10client_streaming\x18\x05\x20\x01(\x08:\x05falseR\ \x0fclientStreaming\x120\n\x10server_streaming\x18\x06\x20\x01(\x08:\x05\ - falseR\x0fserverStreaming\"\x88\x07\n\x0bFileOptions\x12!\n\x0cjava_pack\ - age\x18\x01\x20\x01(\tR\x0bjavaPackage\x120\n\x14java_outer_classname\ - \x18\x08\x20\x01(\tR\x12javaOuterClassname\x125\n\x13java_multiple_files\ - \x18\n\x20\x01(\x08:\x05falseR\x11javaMultipleFiles\x12D\n\x1djava_gener\ - ate_equals_and_hash\x18\x14\x20\x01(\x08R\x19javaGenerateEqualsAndHashB\ - \x02\x18\x01\x12:\n\x16java_string_check_utf8\x18\x1b\x20\x01(\x08:\x05f\ - alseR\x13javaStringCheckUtf8\x12S\n\x0coptimize_for\x18\t\x20\x01(\x0e2)\ - .google.protobuf.FileOptions.OptimizeMode:\x05SPEEDR\x0boptimizeFor\x12\ - \x1d\n\ngo_package\x18\x0b\x20\x01(\tR\tgoPackage\x125\n\x13cc_generic_s\ - ervices\x18\x10\x20\x01(\x08:\x05falseR\x11ccGenericServices\x129\n\x15j\ - ava_generic_services\x18\x11\x20\x01(\x08:\x05falseR\x13javaGenericServi\ - ces\x125\n\x13py_generic_services\x18\x12\x20\x01(\x08:\x05falseR\x11pyG\ - enericServices\x12%\n\ndeprecated\x18\x17\x20\x01(\x08:\x05falseR\ndepre\ - cated\x12/\n\x10cc_enable_arenas\x18\x1f\x20\x01(\x08:\x05falseR\x0eccEn\ - ableArenas\x12*\n\x11objc_class_prefix\x18$\x20\x01(\tR\x0fobjcClassPref\ - ix\x12)\n\x10csharp_namespace\x18%\x20\x01(\tR\x0fcsharpNamespace\x12X\n\ + falseR\x0fserverStreaming\"\x91\t\n\x0bFileOptions\x12!\n\x0cjava_packag\ + e\x18\x01\x20\x01(\tR\x0bjavaPackage\x120\n\x14java_outer_classname\x18\ + \x08\x20\x01(\tR\x12javaOuterClassname\x125\n\x13java_multiple_files\x18\ + \n\x20\x01(\x08:\x05falseR\x11javaMultipleFiles\x12D\n\x1djava_generate_\ + equals_and_hash\x18\x14\x20\x01(\x08R\x19javaGenerateEqualsAndHashB\x02\ + \x18\x01\x12:\n\x16java_string_check_utf8\x18\x1b\x20\x01(\x08:\x05false\ + R\x13javaStringCheckUtf8\x12S\n\x0coptimize_for\x18\t\x20\x01(\x0e2).goo\ + gle.protobuf.FileOptions.OptimizeMode:\x05SPEEDR\x0boptimizeFor\x12\x1d\ + \n\ngo_package\x18\x0b\x20\x01(\tR\tgoPackage\x125\n\x13cc_generic_servi\ + ces\x18\x10\x20\x01(\x08:\x05falseR\x11ccGenericServices\x129\n\x15java_\ + generic_services\x18\x11\x20\x01(\x08:\x05falseR\x13javaGenericServices\ + \x125\n\x13py_generic_services\x18\x12\x20\x01(\x08:\x05falseR\x11pyGene\ + ricServices\x127\n\x14php_generic_services\x18*\x20\x01(\x08:\x05falseR\ + \x12phpGenericServices\x12%\n\ndeprecated\x18\x17\x20\x01(\x08:\x05false\ + R\ndeprecated\x12.\n\x10cc_enable_arenas\x18\x1f\x20\x01(\x08:\x04trueR\ + \x0eccEnableArenas\x12*\n\x11objc_class_prefix\x18$\x20\x01(\tR\x0fobjcC\ + lassPrefix\x12)\n\x10csharp_namespace\x18%\x20\x01(\tR\x0fcsharpNamespac\ + e\x12!\n\x0cswift_prefix\x18'\x20\x01(\tR\x0bswiftPrefix\x12(\n\x10php_c\ + lass_prefix\x18(\x20\x01(\tR\x0ephpClassPrefix\x12#\n\rphp_namespace\x18\ + )\x20\x01(\tR\x0cphpNamespace\x124\n\x16php_metadata_namespace\x18,\x20\ + \x01(\tR\x14phpMetadataNamespace\x12!\n\x0cruby_package\x18-\x20\x01(\tR\ + \x0brubyPackage\x12X\n\x14uninterpreted_option\x18\xe7\x07\x20\x03(\x0b2\ + $.google.protobuf.UninterpretedOptionR\x13uninterpretedOption\":\n\x0cOp\ + timizeMode\x12\t\n\x05SPEED\x10\x01\x12\r\n\tCODE_SIZE\x10\x02\x12\x10\n\ + \x0cLITE_RUNTIME\x10\x03*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02J\x04\x08\ + &\x10'\"\xd1\x02\n\x0eMessageOptions\x12<\n\x17message_set_wire_format\ + \x18\x01\x20\x01(\x08:\x05falseR\x14messageSetWireFormat\x12L\n\x1fno_st\ + andard_descriptor_accessor\x18\x02\x20\x01(\x08:\x05falseR\x1cnoStandard\ + DescriptorAccessor\x12%\n\ndeprecated\x18\x03\x20\x01(\x08:\x05falseR\nd\ + eprecated\x12\x1b\n\tmap_entry\x18\x07\x20\x01(\x08R\x08mapEntry\x12X\n\ \x14uninterpreted_option\x18\xe7\x07\x20\x03(\x0b2$.google.protobuf.Unin\ - terpretedOptionR\x13uninterpretedOption\":\n\x0cOptimizeMode\x12\t\n\x05\ - SPEED\x10\x01\x12\r\n\tCODE_SIZE\x10\x02\x12\x10\n\x0cLITE_RUNTIME\x10\ - \x03*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02\"\xc5\x02\n\x0eMessageOption\ - s\x12<\n\x17message_set_wire_format\x18\x01\x20\x01(\x08:\x05falseR\x14m\ - essageSetWireFormat\x12L\n\x1fno_standard_descriptor_accessor\x18\x02\ - \x20\x01(\x08:\x05falseR\x1cnoStandardDescriptorAccessor\x12%\n\ndepreca\ - ted\x18\x03\x20\x01(\x08:\x05falseR\ndeprecated\x12\x1b\n\tmap_entry\x18\ - \x07\x20\x01(\x08R\x08mapEntry\x12X\n\x14uninterpreted_option\x18\xe7\ - \x07\x20\x03(\x0b2$.google.protobuf.UninterpretedOptionR\x13uninterprete\ - dOption*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02\"\xdc\x03\n\x0cFieldOptio\ - ns\x12A\n\x05ctype\x18\x01\x20\x01(\x0e2#.google.protobuf.FieldOptions.C\ - Type:\x06STRINGR\x05ctype\x12\x16\n\x06packed\x18\x02\x20\x01(\x08R\x06p\ - acked\x12G\n\x06jstype\x18\x06\x20\x01(\x0e2$.google.protobuf.FieldOptio\ - ns.JSType:\tJS_NORMALR\x06jstype\x12\x19\n\x04lazy\x18\x05\x20\x01(\x08:\ + terpretedOptionR\x13uninterpretedOption*\t\x08\xe8\x07\x10\x80\x80\x80\ + \x80\x02J\x04\x08\x08\x10\tJ\x04\x08\t\x10\n\"\xe2\x03\n\x0cFieldOptions\ + \x12A\n\x05ctype\x18\x01\x20\x01(\x0e2#.google.protobuf.FieldOptions.CTy\ + pe:\x06STRINGR\x05ctype\x12\x16\n\x06packed\x18\x02\x20\x01(\x08R\x06pac\ + ked\x12G\n\x06jstype\x18\x06\x20\x01(\x0e2$.google.protobuf.FieldOptions\ + .JSType:\tJS_NORMALR\x06jstype\x12\x19\n\x04lazy\x18\x05\x20\x01(\x08:\ \x05falseR\x04lazy\x12%\n\ndeprecated\x18\x03\x20\x01(\x08:\x05falseR\nd\ eprecated\x12\x19\n\x04weak\x18\n\x20\x01(\x08:\x05falseR\x04weak\x12X\n\ \x14uninterpreted_option\x18\xe7\x07\x20\x03(\x0b2$.google.protobuf.Unin\ terpretedOptionR\x13uninterpretedOption\"/\n\x05CType\x12\n\n\x06STRING\ \x10\0\x12\x08\n\x04CORD\x10\x01\x12\x10\n\x0cSTRING_PIECE\x10\x02\"5\n\ \x06JSType\x12\r\n\tJS_NORMAL\x10\0\x12\r\n\tJS_STRING\x10\x01\x12\r\n\t\ - JS_NUMBER\x10\x02*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02\"s\n\x0cOneofOp\ - tions\x12X\n\x14uninterpreted_option\x18\xe7\x07\x20\x03(\x0b2$.google.p\ - rotobuf.UninterpretedOptionR\x13uninterpretedOption*\t\x08\xe8\x07\x10\ - \x80\x80\x80\x80\x02\"\xba\x01\n\x0bEnumOptions\x12\x1f\n\x0ballow_alias\ - \x18\x02\x20\x01(\x08R\nallowAlias\x12%\n\ndeprecated\x18\x03\x20\x01(\ - \x08:\x05falseR\ndeprecated\x12X\n\x14uninterpreted_option\x18\xe7\x07\ + JS_NUMBER\x10\x02*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02J\x04\x08\x04\ + \x10\x05\"s\n\x0cOneofOptions\x12X\n\x14uninterpreted_option\x18\xe7\x07\ \x20\x03(\x0b2$.google.protobuf.UninterpretedOptionR\x13uninterpretedOpt\ - ion*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02\"\x9e\x01\n\x10EnumValueOptio\ - ns\x12%\n\ndeprecated\x18\x01\x20\x01(\x08:\x05falseR\ndeprecated\x12X\n\ - \x14uninterpreted_option\x18\xe7\x07\x20\x03(\x0b2$.google.protobuf.Unin\ - terpretedOptionR\x13uninterpretedOption*\t\x08\xe8\x07\x10\x80\x80\x80\ - \x80\x02\"\x9c\x01\n\x0eServiceOptions\x12%\n\ndeprecated\x18!\x20\x01(\ - \x08:\x05falseR\ndeprecated\x12X\n\x14uninterpreted_option\x18\xe7\x07\ + ion*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02\"\xc0\x01\n\x0bEnumOptions\ + \x12\x1f\n\x0ballow_alias\x18\x02\x20\x01(\x08R\nallowAlias\x12%\n\ndepr\ + ecated\x18\x03\x20\x01(\x08:\x05falseR\ndeprecated\x12X\n\x14uninterpret\ + ed_option\x18\xe7\x07\x20\x03(\x0b2$.google.protobuf.UninterpretedOption\ + R\x13uninterpretedOption*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02J\x04\x08\ + \x05\x10\x06\"\x9e\x01\n\x10EnumValueOptions\x12%\n\ndeprecated\x18\x01\ + \x20\x01(\x08:\x05falseR\ndeprecated\x12X\n\x14uninterpreted_option\x18\ + \xe7\x07\x20\x03(\x0b2$.google.protobuf.UninterpretedOptionR\x13uninterp\ + retedOption*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02\"\x9c\x01\n\x0eServic\ + eOptions\x12%\n\ndeprecated\x18!\x20\x01(\x08:\x05falseR\ndeprecated\x12\ + X\n\x14uninterpreted_option\x18\xe7\x07\x20\x03(\x0b2$.google.protobuf.U\ + ninterpretedOptionR\x13uninterpretedOption*\t\x08\xe8\x07\x10\x80\x80\ + \x80\x80\x02\"\xe0\x02\n\rMethodOptions\x12%\n\ndeprecated\x18!\x20\x01(\ + \x08:\x05falseR\ndeprecated\x12q\n\x11idempotency_level\x18\"\x20\x01(\ + \x0e2/.google.protobuf.MethodOptions.IdempotencyLevel:\x13IDEMPOTENCY_UN\ + KNOWNR\x10idempotencyLevel\x12X\n\x14uninterpreted_option\x18\xe7\x07\ \x20\x03(\x0b2$.google.protobuf.UninterpretedOptionR\x13uninterpretedOpt\ - ion*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02\"\x9b\x01\n\rMethodOptions\ - \x12%\n\ndeprecated\x18!\x20\x01(\x08:\x05falseR\ndeprecated\x12X\n\x14u\ - ninterpreted_option\x18\xe7\x07\x20\x03(\x0b2$.google.protobuf.Uninterpr\ - etedOptionR\x13uninterpretedOption*\t\x08\xe8\x07\x10\x80\x80\x80\x80\ - \x02\"\x9a\x03\n\x13UninterpretedOption\x12A\n\x04name\x18\x02\x20\x03(\ - \x0b2-.google.protobuf.UninterpretedOption.NamePartR\x04name\x12)\n\x10i\ - dentifier_value\x18\x03\x20\x01(\tR\x0fidentifierValue\x12,\n\x12positiv\ - e_int_value\x18\x04\x20\x01(\x04R\x10positiveIntValue\x12,\n\x12negative\ - _int_value\x18\x05\x20\x01(\x03R\x10negativeIntValue\x12!\n\x0cdouble_va\ - lue\x18\x06\x20\x01(\x01R\x0bdoubleValue\x12!\n\x0cstring_value\x18\x07\ - \x20\x01(\x0cR\x0bstringValue\x12'\n\x0faggregate_value\x18\x08\x20\x01(\ - \tR\x0eaggregateValue\x1aJ\n\x08NamePart\x12\x1b\n\tname_part\x18\x01\ - \x20\x02(\tR\x08namePart\x12!\n\x0cis_extension\x18\x02\x20\x02(\x08R\ - \x0bisExtension\"\xa7\x02\n\x0eSourceCodeInfo\x12D\n\x08location\x18\x01\ - \x20\x03(\x0b2(.google.protobuf.SourceCodeInfo.LocationR\x08location\x1a\ - \xce\x01\n\x08Location\x12\x16\n\x04path\x18\x01\x20\x03(\x05R\x04pathB\ - \x02\x10\x01\x12\x16\n\x04span\x18\x02\x20\x03(\x05R\x04spanB\x02\x10\ - \x01\x12)\n\x10leading_comments\x18\x03\x20\x01(\tR\x0fleadingComments\ - \x12+\n\x11trailing_comments\x18\x04\x20\x01(\tR\x10trailingComments\x12\ - :\n\x19leading_detached_comments\x18\x06\x20\x03(\tR\x17leadingDetachedC\ - omments\"\xd1\x01\n\x11GeneratedCodeInfo\x12M\n\nannotation\x18\x01\x20\ - \x03(\x0b2-.google.protobuf.GeneratedCodeInfo.AnnotationR\nannotation\ - \x1am\n\nAnnotation\x12\x16\n\x04path\x18\x01\x20\x03(\x05R\x04pathB\x02\ - \x10\x01\x12\x1f\n\x0bsource_file\x18\x02\x20\x01(\tR\nsourceFile\x12\ - \x14\n\x05begin\x18\x03\x20\x01(\x05R\x05begin\x12\x10\n\x03end\x18\x04\ - \x20\x01(\x05R\x03endBX\n\x13com.google.protobufB\x10DescriptorProtosH\ - \x01Z\ndescriptor\xa2\x02\x03GPB\xaa\x02\x1aGoogle.Protobuf.ReflectionJ\ - \xb3\x9f\x02\n\x07\x12\x05'\0\xa3\x06\x01\n\xaa\x0f\n\x01\x0c\x12\x03'\0\ - \x122\xc1\x0c\x20Protocol\x20Buffers\x20-\x20Google's\x20data\x20interch\ - ange\x20format\n\x20Copyright\x202008\x20Google\x20Inc.\x20\x20All\x20ri\ - ghts\x20reserved.\n\x20https://developers.google.com/protocol-buffers/\n\ - \n\x20Redistribution\x20and\x20use\x20in\x20source\x20and\x20binary\x20f\ - orms,\x20with\x20or\x20without\n\x20modification,\x20are\x20permitted\ - \x20provided\x20that\x20the\x20following\x20conditions\x20are\n\x20met:\ - \n\n\x20\x20\x20\x20\x20*\x20Redistributions\x20of\x20source\x20code\x20\ - must\x20retain\x20the\x20above\x20copyright\n\x20notice,\x20this\x20list\ - \x20of\x20conditions\x20and\x20the\x20following\x20disclaimer.\n\x20\x20\ - \x20\x20\x20*\x20Redistributions\x20in\x20binary\x20form\x20must\x20repr\ - oduce\x20the\x20above\n\x20copyright\x20notice,\x20this\x20list\x20of\ - \x20conditions\x20and\x20the\x20following\x20disclaimer\n\x20in\x20the\ - \x20documentation\x20and/or\x20other\x20materials\x20provided\x20with\ - \x20the\n\x20distribution.\n\x20\x20\x20\x20\x20*\x20Neither\x20the\x20n\ - ame\x20of\x20Google\x20Inc.\x20nor\x20the\x20names\x20of\x20its\n\x20con\ - tributors\x20may\x20be\x20used\x20to\x20endorse\x20or\x20promote\x20prod\ - ucts\x20derived\x20from\n\x20this\x20software\x20without\x20specific\x20\ - prior\x20written\x20permission.\n\n\x20THIS\x20SOFTWARE\x20IS\x20PROVIDE\ - D\x20BY\x20THE\x20COPYRIGHT\x20HOLDERS\x20AND\x20CONTRIBUTORS\n\x20\"AS\ - \x20IS\"\x20AND\x20ANY\x20EXPRESS\x20OR\x20IMPLIED\x20WARRANTIES,\x20INC\ - LUDING,\x20BUT\x20NOT\n\x20LIMITED\x20TO,\x20THE\x20IMPLIED\x20WARRANTIE\ - S\x20OF\x20MERCHANTABILITY\x20AND\x20FITNESS\x20FOR\n\x20A\x20PARTICULAR\ - \x20PURPOSE\x20ARE\x20DISCLAIMED.\x20IN\x20NO\x20EVENT\x20SHALL\x20THE\ - \x20COPYRIGHT\n\x20OWNER\x20OR\x20CONTRIBUTORS\x20BE\x20LIABLE\x20FOR\ - \x20ANY\x20DIRECT,\x20INDIRECT,\x20INCIDENTAL,\n\x20SPECIAL,\x20EXEMPLAR\ - Y,\x20OR\x20CONSEQUENTIAL\x20DAMAGES\x20(INCLUDING,\x20BUT\x20NOT\n\x20L\ - IMITED\x20TO,\x20PROCUREMENT\x20OF\x20SUBSTITUTE\x20GOODS\x20OR\x20SERVI\ - CES;\x20LOSS\x20OF\x20USE,\n\x20DATA,\x20OR\x20PROFITS;\x20OR\x20BUSINES\ - S\x20INTERRUPTION)\x20HOWEVER\x20CAUSED\x20AND\x20ON\x20ANY\n\x20THEORY\ - \x20OF\x20LIABILITY,\x20WHETHER\x20IN\x20CONTRACT,\x20STRICT\x20LIABILIT\ - Y,\x20OR\x20TORT\n\x20(INCLUDING\x20NEGLIGENCE\x20OR\x20OTHERWISE)\x20AR\ - ISING\x20IN\x20ANY\x20WAY\x20OUT\x20OF\x20THE\x20USE\n\x20OF\x20THIS\x20\ - SOFTWARE,\x20EVEN\x20IF\x20ADVISED\x20OF\x20THE\x20POSSIBILITY\x20OF\x20\ - SUCH\x20DAMAGE.\n2\xdb\x02\x20Author:\x20kenton@google.com\x20(Kenton\ - \x20Varda)\n\x20\x20Based\x20on\x20original\x20Protocol\x20Buffers\x20de\ - sign\x20by\n\x20\x20Sanjay\x20Ghemawat,\x20Jeff\x20Dean,\x20and\x20other\ - s.\n\n\x20The\x20messages\x20in\x20this\x20file\x20describe\x20the\x20de\ - finitions\x20found\x20in\x20.proto\x20files.\n\x20A\x20valid\x20.proto\ - \x20file\x20can\x20be\x20translated\x20directly\x20to\x20a\x20FileDescri\ - ptorProto\n\x20without\x20any\x20other\x20information\x20(e.g.\x20withou\ - t\x20reading\x20its\x20imports).\n\n\x08\n\x01\x02\x12\x03)\0\x18\n\x08\ - \n\x01\x08\x12\x03*\0!\n\t\n\x02\x08\x0b\x12\x03*\0!\n\x08\n\x01\x08\x12\ - \x03+\0,\n\t\n\x02\x08\x01\x12\x03+\0,\n\x08\n\x01\x08\x12\x03,\01\n\t\n\ - \x02\x08\x08\x12\x03,\01\n\x08\n\x01\x08\x12\x03-\07\n\t\n\x02\x08%\x12\ - \x03-\07\n\x08\n\x01\x08\x12\x03.\0!\n\t\n\x02\x08$\x12\x03.\0!\n\x08\n\ - \x01\x08\x12\x032\0\x1c\n\x7f\n\x02\x08\t\x12\x032\0\x1c\x1at\x20descrip\ - tor.proto\x20must\x20be\x20optimized\x20for\x20speed\x20because\x20refle\ - ction-based\n\x20algorithms\x20don't\x20work\x20during\x20bootstrapping.\ - \n\nj\n\x02\x04\0\x12\x046\08\x01\x1a^\x20The\x20protocol\x20compiler\ - \x20can\x20output\x20a\x20FileDescriptorSet\x20containing\x20the\x20.pro\ - to\n\x20files\x20it\x20parses.\n\n\n\n\x03\x04\0\x01\x12\x036\x08\x19\n\ - \x0b\n\x04\x04\0\x02\0\x12\x037\x02(\n\x0c\n\x05\x04\0\x02\0\x04\x12\x03\ - 7\x02\n\n\x0c\n\x05\x04\0\x02\0\x06\x12\x037\x0b\x1e\n\x0c\n\x05\x04\0\ - \x02\0\x01\x12\x037\x1f#\n\x0c\n\x05\x04\0\x02\0\x03\x12\x037&'\n/\n\x02\ - \x04\x01\x12\x04;\0X\x01\x1a#\x20Describes\x20a\x20complete\x20.proto\ - \x20file.\n\n\n\n\x03\x04\x01\x01\x12\x03;\x08\x1b\n9\n\x04\x04\x01\x02\ - \0\x12\x03<\x02\x1b\",\x20file\x20name,\x20relative\x20to\x20root\x20of\ - \x20source\x20tree\n\n\x0c\n\x05\x04\x01\x02\0\x04\x12\x03<\x02\n\n\x0c\ - \n\x05\x04\x01\x02\0\x05\x12\x03<\x0b\x11\n\x0c\n\x05\x04\x01\x02\0\x01\ - \x12\x03<\x12\x16\n\x0c\n\x05\x04\x01\x02\0\x03\x12\x03<\x19\x1a\n*\n\ - \x04\x04\x01\x02\x01\x12\x03=\x02\x1e\"\x1d\x20e.g.\x20\"foo\",\x20\"foo\ - .bar\",\x20etc.\n\n\x0c\n\x05\x04\x01\x02\x01\x04\x12\x03=\x02\n\n\x0c\n\ - \x05\x04\x01\x02\x01\x05\x12\x03=\x0b\x11\n\x0c\n\x05\x04\x01\x02\x01\ - \x01\x12\x03=\x12\x19\n\x0c\n\x05\x04\x01\x02\x01\x03\x12\x03=\x1c\x1d\n\ - 4\n\x04\x04\x01\x02\x02\x12\x03@\x02!\x1a'\x20Names\x20of\x20files\x20im\ - ported\x20by\x20this\x20file.\n\n\x0c\n\x05\x04\x01\x02\x02\x04\x12\x03@\ - \x02\n\n\x0c\n\x05\x04\x01\x02\x02\x05\x12\x03@\x0b\x11\n\x0c\n\x05\x04\ - \x01\x02\x02\x01\x12\x03@\x12\x1c\n\x0c\n\x05\x04\x01\x02\x02\x03\x12\ - \x03@\x1f\x20\nQ\n\x04\x04\x01\x02\x03\x12\x03B\x02(\x1aD\x20Indexes\x20\ + ion\"P\n\x10IdempotencyLevel\x12\x17\n\x13IDEMPOTENCY_UNKNOWN\x10\0\x12\ + \x13\n\x0fNO_SIDE_EFFECTS\x10\x01\x12\x0e\n\nIDEMPOTENT\x10\x02*\t\x08\ + \xe8\x07\x10\x80\x80\x80\x80\x02\"\x9a\x03\n\x13UninterpretedOption\x12A\ + \n\x04name\x18\x02\x20\x03(\x0b2-.google.protobuf.UninterpretedOption.Na\ + mePartR\x04name\x12)\n\x10identifier_value\x18\x03\x20\x01(\tR\x0fidenti\ + fierValue\x12,\n\x12positive_int_value\x18\x04\x20\x01(\x04R\x10positive\ + IntValue\x12,\n\x12negative_int_value\x18\x05\x20\x01(\x03R\x10negativeI\ + ntValue\x12!\n\x0cdouble_value\x18\x06\x20\x01(\x01R\x0bdoubleValue\x12!\ + \n\x0cstring_value\x18\x07\x20\x01(\x0cR\x0bstringValue\x12'\n\x0faggreg\ + ate_value\x18\x08\x20\x01(\tR\x0eaggregateValue\x1aJ\n\x08NamePart\x12\ + \x1b\n\tname_part\x18\x01\x20\x02(\tR\x08namePart\x12!\n\x0cis_extension\ + \x18\x02\x20\x02(\x08R\x0bisExtension\"\xa7\x02\n\x0eSourceCodeInfo\x12D\ + \n\x08location\x18\x01\x20\x03(\x0b2(.google.protobuf.SourceCodeInfo.Loc\ + ationR\x08location\x1a\xce\x01\n\x08Location\x12\x16\n\x04path\x18\x01\ + \x20\x03(\x05R\x04pathB\x02\x10\x01\x12\x16\n\x04span\x18\x02\x20\x03(\ + \x05R\x04spanB\x02\x10\x01\x12)\n\x10leading_comments\x18\x03\x20\x01(\t\ + R\x0fleadingComments\x12+\n\x11trailing_comments\x18\x04\x20\x01(\tR\x10\ + trailingComments\x12:\n\x19leading_detached_comments\x18\x06\x20\x03(\tR\ + \x17leadingDetachedComments\"\xd1\x01\n\x11GeneratedCodeInfo\x12M\n\nann\ + otation\x18\x01\x20\x03(\x0b2-.google.protobuf.GeneratedCodeInfo.Annotat\ + ionR\nannotation\x1am\n\nAnnotation\x12\x16\n\x04path\x18\x01\x20\x03(\ + \x05R\x04pathB\x02\x10\x01\x12\x1f\n\x0bsource_file\x18\x02\x20\x01(\tR\ + \nsourceFile\x12\x14\n\x05begin\x18\x03\x20\x01(\x05R\x05begin\x12\x10\n\ + \x03end\x18\x04\x20\x01(\x05R\x03endB~\n\x13com.google.protobufB\x10Desc\ + riptorProtosH\x01Z-google.golang.org/protobuf/types/descriptorpb\xf8\x01\ + \x01\xa2\x02\x03GPB\xaa\x02\x1aGoogle.Protobuf.ReflectionJ\xbc\xc8\x02\n\ + \x07\x12\x05'\0\x8c\x07\x01\n\xaa\x0f\n\x01\x0c\x12\x03'\0\x122\xc1\x0c\ + \x20Protocol\x20Buffers\x20-\x20Google's\x20data\x20interchange\x20forma\ + t\n\x20Copyright\x202008\x20Google\x20Inc.\x20\x20All\x20rights\x20reser\ + ved.\n\x20https://developers.google.com/protocol-buffers/\n\n\x20Redistr\ + ibution\x20and\x20use\x20in\x20source\x20and\x20binary\x20forms,\x20with\ + \x20or\x20without\n\x20modification,\x20are\x20permitted\x20provided\x20\ + that\x20the\x20following\x20conditions\x20are\n\x20met:\n\n\x20\x20\x20\ + \x20\x20*\x20Redistributions\x20of\x20source\x20code\x20must\x20retain\ + \x20the\x20above\x20copyright\n\x20notice,\x20this\x20list\x20of\x20cond\ + itions\x20and\x20the\x20following\x20disclaimer.\n\x20\x20\x20\x20\x20*\ + \x20Redistributions\x20in\x20binary\x20form\x20must\x20reproduce\x20the\ + \x20above\n\x20copyright\x20notice,\x20this\x20list\x20of\x20conditions\ + \x20and\x20the\x20following\x20disclaimer\n\x20in\x20the\x20documentatio\ + n\x20and/or\x20other\x20materials\x20provided\x20with\x20the\n\x20distri\ + bution.\n\x20\x20\x20\x20\x20*\x20Neither\x20the\x20name\x20of\x20Google\ + \x20Inc.\x20nor\x20the\x20names\x20of\x20its\n\x20contributors\x20may\ + \x20be\x20used\x20to\x20endorse\x20or\x20promote\x20products\x20derived\ + \x20from\n\x20this\x20software\x20without\x20specific\x20prior\x20writte\ + n\x20permission.\n\n\x20THIS\x20SOFTWARE\x20IS\x20PROVIDED\x20BY\x20THE\ + \x20COPYRIGHT\x20HOLDERS\x20AND\x20CONTRIBUTORS\n\x20\"AS\x20IS\"\x20AND\ + \x20ANY\x20EXPRESS\x20OR\x20IMPLIED\x20WARRANTIES,\x20INCLUDING,\x20BUT\ + \x20NOT\n\x20LIMITED\x20TO,\x20THE\x20IMPLIED\x20WARRANTIES\x20OF\x20MER\ + CHANTABILITY\x20AND\x20FITNESS\x20FOR\n\x20A\x20PARTICULAR\x20PURPOSE\ + \x20ARE\x20DISCLAIMED.\x20IN\x20NO\x20EVENT\x20SHALL\x20THE\x20COPYRIGHT\ + \n\x20OWNER\x20OR\x20CONTRIBUTORS\x20BE\x20LIABLE\x20FOR\x20ANY\x20DIREC\ + T,\x20INDIRECT,\x20INCIDENTAL,\n\x20SPECIAL,\x20EXEMPLARY,\x20OR\x20CONS\ + EQUENTIAL\x20DAMAGES\x20(INCLUDING,\x20BUT\x20NOT\n\x20LIMITED\x20TO,\ + \x20PROCUREMENT\x20OF\x20SUBSTITUTE\x20GOODS\x20OR\x20SERVICES;\x20LOSS\ + \x20OF\x20USE,\n\x20DATA,\x20OR\x20PROFITS;\x20OR\x20BUSINESS\x20INTERRU\ + PTION)\x20HOWEVER\x20CAUSED\x20AND\x20ON\x20ANY\n\x20THEORY\x20OF\x20LIA\ + BILITY,\x20WHETHER\x20IN\x20CONTRACT,\x20STRICT\x20LIABILITY,\x20OR\x20T\ + ORT\n\x20(INCLUDING\x20NEGLIGENCE\x20OR\x20OTHERWISE)\x20ARISING\x20IN\ + \x20ANY\x20WAY\x20OUT\x20OF\x20THE\x20USE\n\x20OF\x20THIS\x20SOFTWARE,\ + \x20EVEN\x20IF\x20ADVISED\x20OF\x20THE\x20POSSIBILITY\x20OF\x20SUCH\x20D\ + AMAGE.\n2\xdb\x02\x20Author:\x20kenton@google.com\x20(Kenton\x20Varda)\n\ + \x20\x20Based\x20on\x20original\x20Protocol\x20Buffers\x20design\x20by\n\ + \x20\x20Sanjay\x20Ghemawat,\x20Jeff\x20Dean,\x20and\x20others.\n\n\x20Th\ + e\x20messages\x20in\x20this\x20file\x20describe\x20the\x20definitions\ + \x20found\x20in\x20.proto\x20files.\n\x20A\x20valid\x20.proto\x20file\ + \x20can\x20be\x20translated\x20directly\x20to\x20a\x20FileDescriptorProt\ + o\n\x20without\x20any\x20other\x20information\x20(e.g.\x20without\x20rea\ + ding\x20its\x20imports).\n\n\x08\n\x01\x02\x12\x03)\0\x18\n\x08\n\x01\ + \x08\x12\x03+\0D\n\t\n\x02\x08\x0b\x12\x03+\0D\n\x08\n\x01\x08\x12\x03,\ + \0,\n\t\n\x02\x08\x01\x12\x03,\0,\n\x08\n\x01\x08\x12\x03-\01\n\t\n\x02\ + \x08\x08\x12\x03-\01\n\x08\n\x01\x08\x12\x03.\07\n\t\n\x02\x08%\x12\x03.\ + \07\n\x08\n\x01\x08\x12\x03/\0!\n\t\n\x02\x08$\x12\x03/\0!\n\x08\n\x01\ + \x08\x12\x030\0\x1f\n\t\n\x02\x08\x1f\x12\x030\0\x1f\n\x08\n\x01\x08\x12\ + \x034\0\x1c\n\x7f\n\x02\x08\t\x12\x034\0\x1c\x1at\x20descriptor.proto\ + \x20must\x20be\x20optimized\x20for\x20speed\x20because\x20reflection-bas\ + ed\n\x20algorithms\x20don't\x20work\x20during\x20bootstrapping.\n\nj\n\ + \x02\x04\0\x12\x048\0:\x01\x1a^\x20The\x20protocol\x20compiler\x20can\ + \x20output\x20a\x20FileDescriptorSet\x20containing\x20the\x20.proto\n\ + \x20files\x20it\x20parses.\n\n\n\n\x03\x04\0\x01\x12\x038\x08\x19\n\x0b\ + \n\x04\x04\0\x02\0\x12\x039\x02(\n\x0c\n\x05\x04\0\x02\0\x04\x12\x039\ + \x02\n\n\x0c\n\x05\x04\0\x02\0\x06\x12\x039\x0b\x1e\n\x0c\n\x05\x04\0\ + \x02\0\x01\x12\x039\x1f#\n\x0c\n\x05\x04\0\x02\0\x03\x12\x039&'\n/\n\x02\ + \x04\x01\x12\x04=\0Z\x01\x1a#\x20Describes\x20a\x20complete\x20.proto\ + \x20file.\n\n\n\n\x03\x04\x01\x01\x12\x03=\x08\x1b\n9\n\x04\x04\x01\x02\ + \0\x12\x03>\x02\x1b\",\x20file\x20name,\x20relative\x20to\x20root\x20of\ + \x20source\x20tree\n\n\x0c\n\x05\x04\x01\x02\0\x04\x12\x03>\x02\n\n\x0c\ + \n\x05\x04\x01\x02\0\x05\x12\x03>\x0b\x11\n\x0c\n\x05\x04\x01\x02\0\x01\ + \x12\x03>\x12\x16\n\x0c\n\x05\x04\x01\x02\0\x03\x12\x03>\x19\x1a\n*\n\ + \x04\x04\x01\x02\x01\x12\x03?\x02\x1e\"\x1d\x20e.g.\x20\"foo\",\x20\"foo\ + .bar\",\x20etc.\n\n\x0c\n\x05\x04\x01\x02\x01\x04\x12\x03?\x02\n\n\x0c\n\ + \x05\x04\x01\x02\x01\x05\x12\x03?\x0b\x11\n\x0c\n\x05\x04\x01\x02\x01\ + \x01\x12\x03?\x12\x19\n\x0c\n\x05\x04\x01\x02\x01\x03\x12\x03?\x1c\x1d\n\ + 4\n\x04\x04\x01\x02\x02\x12\x03B\x02!\x1a'\x20Names\x20of\x20files\x20im\ + ported\x20by\x20this\x20file.\n\n\x0c\n\x05\x04\x01\x02\x02\x04\x12\x03B\ + \x02\n\n\x0c\n\x05\x04\x01\x02\x02\x05\x12\x03B\x0b\x11\n\x0c\n\x05\x04\ + \x01\x02\x02\x01\x12\x03B\x12\x1c\n\x0c\n\x05\x04\x01\x02\x02\x03\x12\ + \x03B\x1f\x20\nQ\n\x04\x04\x01\x02\x03\x12\x03D\x02(\x1aD\x20Indexes\x20\ of\x20the\x20public\x20imported\x20files\x20in\x20the\x20dependency\x20l\ - ist\x20above.\n\n\x0c\n\x05\x04\x01\x02\x03\x04\x12\x03B\x02\n\n\x0c\n\ - \x05\x04\x01\x02\x03\x05\x12\x03B\x0b\x10\n\x0c\n\x05\x04\x01\x02\x03\ - \x01\x12\x03B\x11\"\n\x0c\n\x05\x04\x01\x02\x03\x03\x12\x03B%'\nz\n\x04\ - \x04\x01\x02\x04\x12\x03E\x02&\x1am\x20Indexes\x20of\x20the\x20weak\x20i\ + ist\x20above.\n\n\x0c\n\x05\x04\x01\x02\x03\x04\x12\x03D\x02\n\n\x0c\n\ + \x05\x04\x01\x02\x03\x05\x12\x03D\x0b\x10\n\x0c\n\x05\x04\x01\x02\x03\ + \x01\x12\x03D\x11\"\n\x0c\n\x05\x04\x01\x02\x03\x03\x12\x03D%'\nz\n\x04\ + \x04\x01\x02\x04\x12\x03G\x02&\x1am\x20Indexes\x20of\x20the\x20weak\x20i\ mported\x20files\x20in\x20the\x20dependency\x20list.\n\x20For\x20Google-\ internal\x20migration\x20only.\x20Do\x20not\x20use.\n\n\x0c\n\x05\x04\ - \x01\x02\x04\x04\x12\x03E\x02\n\n\x0c\n\x05\x04\x01\x02\x04\x05\x12\x03E\ - \x0b\x10\n\x0c\n\x05\x04\x01\x02\x04\x01\x12\x03E\x11\x20\n\x0c\n\x05\ - \x04\x01\x02\x04\x03\x12\x03E#%\n6\n\x04\x04\x01\x02\x05\x12\x03H\x02,\ + \x01\x02\x04\x04\x12\x03G\x02\n\n\x0c\n\x05\x04\x01\x02\x04\x05\x12\x03G\ + \x0b\x10\n\x0c\n\x05\x04\x01\x02\x04\x01\x12\x03G\x11\x20\n\x0c\n\x05\ + \x04\x01\x02\x04\x03\x12\x03G#%\n6\n\x04\x04\x01\x02\x05\x12\x03J\x02,\ \x1a)\x20All\x20top-level\x20definitions\x20in\x20this\x20file.\n\n\x0c\ - \n\x05\x04\x01\x02\x05\x04\x12\x03H\x02\n\n\x0c\n\x05\x04\x01\x02\x05\ - \x06\x12\x03H\x0b\x1a\n\x0c\n\x05\x04\x01\x02\x05\x01\x12\x03H\x1b'\n\ - \x0c\n\x05\x04\x01\x02\x05\x03\x12\x03H*+\n\x0b\n\x04\x04\x01\x02\x06\ - \x12\x03I\x02-\n\x0c\n\x05\x04\x01\x02\x06\x04\x12\x03I\x02\n\n\x0c\n\ - \x05\x04\x01\x02\x06\x06\x12\x03I\x0b\x1e\n\x0c\n\x05\x04\x01\x02\x06\ - \x01\x12\x03I\x1f(\n\x0c\n\x05\x04\x01\x02\x06\x03\x12\x03I+,\n\x0b\n\ - \x04\x04\x01\x02\x07\x12\x03J\x02.\n\x0c\n\x05\x04\x01\x02\x07\x04\x12\ - \x03J\x02\n\n\x0c\n\x05\x04\x01\x02\x07\x06\x12\x03J\x0b!\n\x0c\n\x05\ - \x04\x01\x02\x07\x01\x12\x03J\")\n\x0c\n\x05\x04\x01\x02\x07\x03\x12\x03\ - J,-\n\x0b\n\x04\x04\x01\x02\x08\x12\x03K\x02.\n\x0c\n\x05\x04\x01\x02\ - \x08\x04\x12\x03K\x02\n\n\x0c\n\x05\x04\x01\x02\x08\x06\x12\x03K\x0b\x1f\ - \n\x0c\n\x05\x04\x01\x02\x08\x01\x12\x03K\x20)\n\x0c\n\x05\x04\x01\x02\ - \x08\x03\x12\x03K,-\n\x0b\n\x04\x04\x01\x02\t\x12\x03M\x02#\n\x0c\n\x05\ - \x04\x01\x02\t\x04\x12\x03M\x02\n\n\x0c\n\x05\x04\x01\x02\t\x06\x12\x03M\ - \x0b\x16\n\x0c\n\x05\x04\x01\x02\t\x01\x12\x03M\x17\x1e\n\x0c\n\x05\x04\ - \x01\x02\t\x03\x12\x03M!\"\n\xf4\x01\n\x04\x04\x01\x02\n\x12\x03S\x02/\ + \n\x05\x04\x01\x02\x05\x04\x12\x03J\x02\n\n\x0c\n\x05\x04\x01\x02\x05\ + \x06\x12\x03J\x0b\x1a\n\x0c\n\x05\x04\x01\x02\x05\x01\x12\x03J\x1b'\n\ + \x0c\n\x05\x04\x01\x02\x05\x03\x12\x03J*+\n\x0b\n\x04\x04\x01\x02\x06\ + \x12\x03K\x02-\n\x0c\n\x05\x04\x01\x02\x06\x04\x12\x03K\x02\n\n\x0c\n\ + \x05\x04\x01\x02\x06\x06\x12\x03K\x0b\x1e\n\x0c\n\x05\x04\x01\x02\x06\ + \x01\x12\x03K\x1f(\n\x0c\n\x05\x04\x01\x02\x06\x03\x12\x03K+,\n\x0b\n\ + \x04\x04\x01\x02\x07\x12\x03L\x02.\n\x0c\n\x05\x04\x01\x02\x07\x04\x12\ + \x03L\x02\n\n\x0c\n\x05\x04\x01\x02\x07\x06\x12\x03L\x0b!\n\x0c\n\x05\ + \x04\x01\x02\x07\x01\x12\x03L\")\n\x0c\n\x05\x04\x01\x02\x07\x03\x12\x03\ + L,-\n\x0b\n\x04\x04\x01\x02\x08\x12\x03M\x02.\n\x0c\n\x05\x04\x01\x02\ + \x08\x04\x12\x03M\x02\n\n\x0c\n\x05\x04\x01\x02\x08\x06\x12\x03M\x0b\x1f\ + \n\x0c\n\x05\x04\x01\x02\x08\x01\x12\x03M\x20)\n\x0c\n\x05\x04\x01\x02\ + \x08\x03\x12\x03M,-\n\x0b\n\x04\x04\x01\x02\t\x12\x03O\x02#\n\x0c\n\x05\ + \x04\x01\x02\t\x04\x12\x03O\x02\n\n\x0c\n\x05\x04\x01\x02\t\x06\x12\x03O\ + \x0b\x16\n\x0c\n\x05\x04\x01\x02\t\x01\x12\x03O\x17\x1e\n\x0c\n\x05\x04\ + \x01\x02\t\x03\x12\x03O!\"\n\xf4\x01\n\x04\x04\x01\x02\n\x12\x03U\x02/\ \x1a\xe6\x01\x20This\x20field\x20contains\x20optional\x20information\x20\ about\x20the\x20original\x20source\x20code.\n\x20You\x20may\x20safely\ \x20remove\x20this\x20entire\x20field\x20without\x20harming\x20runtime\n\ \x20functionality\x20of\x20the\x20descriptors\x20--\x20the\x20informatio\ n\x20is\x20needed\x20only\x20by\n\x20development\x20tools.\n\n\x0c\n\x05\ - \x04\x01\x02\n\x04\x12\x03S\x02\n\n\x0c\n\x05\x04\x01\x02\n\x06\x12\x03S\ - \x0b\x19\n\x0c\n\x05\x04\x01\x02\n\x01\x12\x03S\x1a*\n\x0c\n\x05\x04\x01\ - \x02\n\x03\x12\x03S-.\n]\n\x04\x04\x01\x02\x0b\x12\x03W\x02\x1e\x1aP\x20\ + \x04\x01\x02\n\x04\x12\x03U\x02\n\n\x0c\n\x05\x04\x01\x02\n\x06\x12\x03U\ + \x0b\x19\n\x0c\n\x05\x04\x01\x02\n\x01\x12\x03U\x1a*\n\x0c\n\x05\x04\x01\ + \x02\n\x03\x12\x03U-.\n]\n\x04\x04\x01\x02\x0b\x12\x03Y\x02\x1e\x1aP\x20\ The\x20syntax\x20of\x20the\x20proto\x20file.\n\x20The\x20supported\x20va\ lues\x20are\x20\"proto2\"\x20and\x20\"proto3\".\n\n\x0c\n\x05\x04\x01\ - \x02\x0b\x04\x12\x03W\x02\n\n\x0c\n\x05\x04\x01\x02\x0b\x05\x12\x03W\x0b\ - \x11\n\x0c\n\x05\x04\x01\x02\x0b\x01\x12\x03W\x12\x18\n\x0c\n\x05\x04\ - \x01\x02\x0b\x03\x12\x03W\x1b\x1d\n'\n\x02\x04\x02\x12\x04[\0y\x01\x1a\ + \x02\x0b\x04\x12\x03Y\x02\n\n\x0c\n\x05\x04\x01\x02\x0b\x05\x12\x03Y\x0b\ + \x11\n\x0c\n\x05\x04\x01\x02\x0b\x01\x12\x03Y\x12\x18\n\x0c\n\x05\x04\ + \x01\x02\x0b\x03\x12\x03Y\x1b\x1d\n'\n\x02\x04\x02\x12\x04]\0}\x01\x1a\ \x1b\x20Describes\x20a\x20message\x20type.\n\n\n\n\x03\x04\x02\x01\x12\ - \x03[\x08\x17\n\x0b\n\x04\x04\x02\x02\0\x12\x03\\\x02\x1b\n\x0c\n\x05\ - \x04\x02\x02\0\x04\x12\x03\\\x02\n\n\x0c\n\x05\x04\x02\x02\0\x05\x12\x03\ - \\\x0b\x11\n\x0c\n\x05\x04\x02\x02\0\x01\x12\x03\\\x12\x16\n\x0c\n\x05\ - \x04\x02\x02\0\x03\x12\x03\\\x19\x1a\n\x0b\n\x04\x04\x02\x02\x01\x12\x03\ - ^\x02*\n\x0c\n\x05\x04\x02\x02\x01\x04\x12\x03^\x02\n\n\x0c\n\x05\x04\ - \x02\x02\x01\x06\x12\x03^\x0b\x1f\n\x0c\n\x05\x04\x02\x02\x01\x01\x12\ - \x03^\x20%\n\x0c\n\x05\x04\x02\x02\x01\x03\x12\x03^()\n\x0b\n\x04\x04\ - \x02\x02\x02\x12\x03_\x02.\n\x0c\n\x05\x04\x02\x02\x02\x04\x12\x03_\x02\ - \n\n\x0c\n\x05\x04\x02\x02\x02\x06\x12\x03_\x0b\x1f\n\x0c\n\x05\x04\x02\ - \x02\x02\x01\x12\x03_\x20)\n\x0c\n\x05\x04\x02\x02\x02\x03\x12\x03_,-\n\ - \x0b\n\x04\x04\x02\x02\x03\x12\x03a\x02+\n\x0c\n\x05\x04\x02\x02\x03\x04\ - \x12\x03a\x02\n\n\x0c\n\x05\x04\x02\x02\x03\x06\x12\x03a\x0b\x1a\n\x0c\n\ - \x05\x04\x02\x02\x03\x01\x12\x03a\x1b&\n\x0c\n\x05\x04\x02\x02\x03\x03\ - \x12\x03a)*\n\x0b\n\x04\x04\x02\x02\x04\x12\x03b\x02-\n\x0c\n\x05\x04\ - \x02\x02\x04\x04\x12\x03b\x02\n\n\x0c\n\x05\x04\x02\x02\x04\x06\x12\x03b\ - \x0b\x1e\n\x0c\n\x05\x04\x02\x02\x04\x01\x12\x03b\x1f(\n\x0c\n\x05\x04\ - \x02\x02\x04\x03\x12\x03b+,\n\x0c\n\x04\x04\x02\x03\0\x12\x04d\x02g\x03\ - \n\x0c\n\x05\x04\x02\x03\0\x01\x12\x03d\n\x18\n\r\n\x06\x04\x02\x03\0\ - \x02\0\x12\x03e\x04\x1d\n\x0e\n\x07\x04\x02\x03\0\x02\0\x04\x12\x03e\x04\ - \x0c\n\x0e\n\x07\x04\x02\x03\0\x02\0\x05\x12\x03e\r\x12\n\x0e\n\x07\x04\ - \x02\x03\0\x02\0\x01\x12\x03e\x13\x18\n\x0e\n\x07\x04\x02\x03\0\x02\0\ - \x03\x12\x03e\x1b\x1c\n\r\n\x06\x04\x02\x03\0\x02\x01\x12\x03f\x04\x1b\n\ - \x0e\n\x07\x04\x02\x03\0\x02\x01\x04\x12\x03f\x04\x0c\n\x0e\n\x07\x04\ - \x02\x03\0\x02\x01\x05\x12\x03f\r\x12\n\x0e\n\x07\x04\x02\x03\0\x02\x01\ - \x01\x12\x03f\x13\x16\n\x0e\n\x07\x04\x02\x03\0\x02\x01\x03\x12\x03f\x19\ - \x1a\n\x0b\n\x04\x04\x02\x02\x05\x12\x03h\x02.\n\x0c\n\x05\x04\x02\x02\ - \x05\x04\x12\x03h\x02\n\n\x0c\n\x05\x04\x02\x02\x05\x06\x12\x03h\x0b\x19\ - \n\x0c\n\x05\x04\x02\x02\x05\x01\x12\x03h\x1a)\n\x0c\n\x05\x04\x02\x02\ - \x05\x03\x12\x03h,-\n\x0b\n\x04\x04\x02\x02\x06\x12\x03j\x02/\n\x0c\n\ - \x05\x04\x02\x02\x06\x04\x12\x03j\x02\n\n\x0c\n\x05\x04\x02\x02\x06\x06\ - \x12\x03j\x0b\x1f\n\x0c\n\x05\x04\x02\x02\x06\x01\x12\x03j\x20*\n\x0c\n\ - \x05\x04\x02\x02\x06\x03\x12\x03j-.\n\x0b\n\x04\x04\x02\x02\x07\x12\x03l\ - \x02&\n\x0c\n\x05\x04\x02\x02\x07\x04\x12\x03l\x02\n\n\x0c\n\x05\x04\x02\ - \x02\x07\x06\x12\x03l\x0b\x19\n\x0c\n\x05\x04\x02\x02\x07\x01\x12\x03l\ - \x1a!\n\x0c\n\x05\x04\x02\x02\x07\x03\x12\x03l$%\n\xaa\x01\n\x04\x04\x02\ - \x03\x01\x12\x04q\x02t\x03\x1a\x9b\x01\x20Range\x20of\x20reserved\x20tag\ - \x20numbers.\x20Reserved\x20tag\x20numbers\x20may\x20not\x20be\x20used\ - \x20by\n\x20fields\x20or\x20extension\x20ranges\x20in\x20the\x20same\x20\ - message.\x20Reserved\x20ranges\x20may\n\x20not\x20overlap.\n\n\x0c\n\x05\ - \x04\x02\x03\x01\x01\x12\x03q\n\x17\n\x1b\n\x06\x04\x02\x03\x01\x02\0\ - \x12\x03r\x04\x1d\"\x0c\x20Inclusive.\n\n\x0e\n\x07\x04\x02\x03\x01\x02\ - \0\x04\x12\x03r\x04\x0c\n\x0e\n\x07\x04\x02\x03\x01\x02\0\x05\x12\x03r\r\ - \x12\n\x0e\n\x07\x04\x02\x03\x01\x02\0\x01\x12\x03r\x13\x18\n\x0e\n\x07\ - \x04\x02\x03\x01\x02\0\x03\x12\x03r\x1b\x1c\n\x1b\n\x06\x04\x02\x03\x01\ - \x02\x01\x12\x03s\x04\x1b\"\x0c\x20Exclusive.\n\n\x0e\n\x07\x04\x02\x03\ - \x01\x02\x01\x04\x12\x03s\x04\x0c\n\x0e\n\x07\x04\x02\x03\x01\x02\x01\ - \x05\x12\x03s\r\x12\n\x0e\n\x07\x04\x02\x03\x01\x02\x01\x01\x12\x03s\x13\ - \x16\n\x0e\n\x07\x04\x02\x03\x01\x02\x01\x03\x12\x03s\x19\x1a\n\x0b\n\ - \x04\x04\x02\x02\x08\x12\x03u\x02,\n\x0c\n\x05\x04\x02\x02\x08\x04\x12\ - \x03u\x02\n\n\x0c\n\x05\x04\x02\x02\x08\x06\x12\x03u\x0b\x18\n\x0c\n\x05\ - \x04\x02\x02\x08\x01\x12\x03u\x19'\n\x0c\n\x05\x04\x02\x02\x08\x03\x12\ - \x03u*+\n\x82\x01\n\x04\x04\x02\x02\t\x12\x03x\x02%\x1au\x20Reserved\x20\ - field\x20names,\x20which\x20may\x20not\x20be\x20used\x20by\x20fields\x20\ - in\x20the\x20same\x20message.\n\x20A\x20given\x20name\x20may\x20only\x20\ - be\x20reserved\x20once.\n\n\x0c\n\x05\x04\x02\x02\t\x04\x12\x03x\x02\n\n\ - \x0c\n\x05\x04\x02\x02\t\x05\x12\x03x\x0b\x11\n\x0c\n\x05\x04\x02\x02\t\ - \x01\x12\x03x\x12\x1f\n\x0c\n\x05\x04\x02\x02\t\x03\x12\x03x\"$\n2\n\x02\ - \x04\x03\x12\x05|\0\xc7\x01\x01\x1a%\x20Describes\x20a\x20field\x20withi\ - n\x20a\x20message.\n\n\n\n\x03\x04\x03\x01\x12\x03|\x08\x1c\n\r\n\x04\ - \x04\x03\x04\0\x12\x05}\x02\x98\x01\x03\n\x0c\n\x05\x04\x03\x04\0\x01\ - \x12\x03}\x07\x0b\nS\n\x06\x04\x03\x04\0\x02\0\x12\x04\x80\x01\x04\x1c\ - \x1aC\x200\x20is\x20reserved\x20for\x20errors.\n\x20Order\x20is\x20weird\ - \x20for\x20historical\x20reasons.\n\n\x0f\n\x07\x04\x03\x04\0\x02\0\x01\ - \x12\x04\x80\x01\x04\x0f\n\x0f\n\x07\x04\x03\x04\0\x02\0\x02\x12\x04\x80\ - \x01\x1a\x1b\n\x0e\n\x06\x04\x03\x04\0\x02\x01\x12\x04\x81\x01\x04\x1c\n\ - \x0f\n\x07\x04\x03\x04\0\x02\x01\x01\x12\x04\x81\x01\x04\x0e\n\x0f\n\x07\ - \x04\x03\x04\0\x02\x01\x02\x12\x04\x81\x01\x1a\x1b\nw\n\x06\x04\x03\x04\ - \0\x02\x02\x12\x04\x84\x01\x04\x1c\x1ag\x20Not\x20ZigZag\x20encoded.\x20\ - \x20Negative\x20numbers\x20take\x2010\x20bytes.\x20\x20Use\x20TYPE_SINT6\ - 4\x20if\n\x20negative\x20values\x20are\x20likely.\n\n\x0f\n\x07\x04\x03\ - \x04\0\x02\x02\x01\x12\x04\x84\x01\x04\x0e\n\x0f\n\x07\x04\x03\x04\0\x02\ - \x02\x02\x12\x04\x84\x01\x1a\x1b\n\x0e\n\x06\x04\x03\x04\0\x02\x03\x12\ - \x04\x85\x01\x04\x1c\n\x0f\n\x07\x04\x03\x04\0\x02\x03\x01\x12\x04\x85\ - \x01\x04\x0f\n\x0f\n\x07\x04\x03\x04\0\x02\x03\x02\x12\x04\x85\x01\x1a\ - \x1b\nw\n\x06\x04\x03\x04\0\x02\x04\x12\x04\x88\x01\x04\x1c\x1ag\x20Not\ - \x20ZigZag\x20encoded.\x20\x20Negative\x20numbers\x20take\x2010\x20bytes\ - .\x20\x20Use\x20TYPE_SINT32\x20if\n\x20negative\x20values\x20are\x20like\ - ly.\n\n\x0f\n\x07\x04\x03\x04\0\x02\x04\x01\x12\x04\x88\x01\x04\x0e\n\ - \x0f\n\x07\x04\x03\x04\0\x02\x04\x02\x12\x04\x88\x01\x1a\x1b\n\x0e\n\x06\ - \x04\x03\x04\0\x02\x05\x12\x04\x89\x01\x04\x1c\n\x0f\n\x07\x04\x03\x04\0\ - \x02\x05\x01\x12\x04\x89\x01\x04\x10\n\x0f\n\x07\x04\x03\x04\0\x02\x05\ - \x02\x12\x04\x89\x01\x1a\x1b\n\x0e\n\x06\x04\x03\x04\0\x02\x06\x12\x04\ - \x8a\x01\x04\x1c\n\x0f\n\x07\x04\x03\x04\0\x02\x06\x01\x12\x04\x8a\x01\ - \x04\x10\n\x0f\n\x07\x04\x03\x04\0\x02\x06\x02\x12\x04\x8a\x01\x1a\x1b\n\ - \x0e\n\x06\x04\x03\x04\0\x02\x07\x12\x04\x8b\x01\x04\x1c\n\x0f\n\x07\x04\ - \x03\x04\0\x02\x07\x01\x12\x04\x8b\x01\x04\r\n\x0f\n\x07\x04\x03\x04\0\ - \x02\x07\x02\x12\x04\x8b\x01\x1a\x1b\n\x0e\n\x06\x04\x03\x04\0\x02\x08\ - \x12\x04\x8c\x01\x04\x1c\n\x0f\n\x07\x04\x03\x04\0\x02\x08\x01\x12\x04\ - \x8c\x01\x04\x0f\n\x0f\n\x07\x04\x03\x04\0\x02\x08\x02\x12\x04\x8c\x01\ - \x1a\x1b\n*\n\x06\x04\x03\x04\0\x02\t\x12\x04\x8d\x01\x04\x1d\"\x1a\x20T\ - ag-delimited\x20aggregate.\n\n\x0f\n\x07\x04\x03\x04\0\x02\t\x01\x12\x04\ - \x8d\x01\x04\x0e\n\x0f\n\x07\x04\x03\x04\0\x02\t\x02\x12\x04\x8d\x01\x1a\ - \x1c\n-\n\x06\x04\x03\x04\0\x02\n\x12\x04\x8e\x01\x04\x1d\"\x1d\x20Lengt\ - h-delimited\x20aggregate.\n\n\x0f\n\x07\x04\x03\x04\0\x02\n\x01\x12\x04\ - \x8e\x01\x04\x10\n\x0f\n\x07\x04\x03\x04\0\x02\n\x02\x12\x04\x8e\x01\x1a\ - \x1c\n#\n\x06\x04\x03\x04\0\x02\x0b\x12\x04\x91\x01\x04\x1d\x1a\x13\x20N\ - ew\x20in\x20version\x202.\n\n\x0f\n\x07\x04\x03\x04\0\x02\x0b\x01\x12\ - \x04\x91\x01\x04\x0e\n\x0f\n\x07\x04\x03\x04\0\x02\x0b\x02\x12\x04\x91\ - \x01\x1a\x1c\n\x0e\n\x06\x04\x03\x04\0\x02\x0c\x12\x04\x92\x01\x04\x1d\n\ - \x0f\n\x07\x04\x03\x04\0\x02\x0c\x01\x12\x04\x92\x01\x04\x0f\n\x0f\n\x07\ - \x04\x03\x04\0\x02\x0c\x02\x12\x04\x92\x01\x1a\x1c\n\x0e\n\x06\x04\x03\ - \x04\0\x02\r\x12\x04\x93\x01\x04\x1d\n\x0f\n\x07\x04\x03\x04\0\x02\r\x01\ - \x12\x04\x93\x01\x04\r\n\x0f\n\x07\x04\x03\x04\0\x02\r\x02\x12\x04\x93\ - \x01\x1a\x1c\n\x0e\n\x06\x04\x03\x04\0\x02\x0e\x12\x04\x94\x01\x04\x1d\n\ - \x0f\n\x07\x04\x03\x04\0\x02\x0e\x01\x12\x04\x94\x01\x04\x11\n\x0f\n\x07\ - \x04\x03\x04\0\x02\x0e\x02\x12\x04\x94\x01\x1a\x1c\n\x0e\n\x06\x04\x03\ - \x04\0\x02\x0f\x12\x04\x95\x01\x04\x1d\n\x0f\n\x07\x04\x03\x04\0\x02\x0f\ - \x01\x12\x04\x95\x01\x04\x11\n\x0f\n\x07\x04\x03\x04\0\x02\x0f\x02\x12\ - \x04\x95\x01\x1a\x1c\n'\n\x06\x04\x03\x04\0\x02\x10\x12\x04\x96\x01\x04\ - \x1d\"\x17\x20Uses\x20ZigZag\x20encoding.\n\n\x0f\n\x07\x04\x03\x04\0\ - \x02\x10\x01\x12\x04\x96\x01\x04\x0f\n\x0f\n\x07\x04\x03\x04\0\x02\x10\ - \x02\x12\x04\x96\x01\x1a\x1c\n'\n\x06\x04\x03\x04\0\x02\x11\x12\x04\x97\ - \x01\x04\x1d\"\x17\x20Uses\x20ZigZag\x20encoding.\n\n\x0f\n\x07\x04\x03\ - \x04\0\x02\x11\x01\x12\x04\x97\x01\x04\x0f\n\x0f\n\x07\x04\x03\x04\0\x02\ - \x11\x02\x12\x04\x97\x01\x1a\x1c\n\x0e\n\x04\x04\x03\x04\x01\x12\x06\x9a\ - \x01\x02\xa0\x01\x03\n\r\n\x05\x04\x03\x04\x01\x01\x12\x04\x9a\x01\x07\ - \x0c\n*\n\x06\x04\x03\x04\x01\x02\0\x12\x04\x9c\x01\x04\x1c\x1a\x1a\x200\ - \x20is\x20reserved\x20for\x20errors\n\n\x0f\n\x07\x04\x03\x04\x01\x02\0\ - \x01\x12\x04\x9c\x01\x04\x12\n\x0f\n\x07\x04\x03\x04\x01\x02\0\x02\x12\ - \x04\x9c\x01\x1a\x1b\n\x0e\n\x06\x04\x03\x04\x01\x02\x01\x12\x04\x9d\x01\ - \x04\x1c\n\x0f\n\x07\x04\x03\x04\x01\x02\x01\x01\x12\x04\x9d\x01\x04\x12\ - \n\x0f\n\x07\x04\x03\x04\x01\x02\x01\x02\x12\x04\x9d\x01\x1a\x1b\n8\n\ - \x06\x04\x03\x04\x01\x02\x02\x12\x04\x9e\x01\x04\x1c\"(\x20TODO(sanjay):\ - \x20Should\x20we\x20add\x20LABEL_MAP?\n\n\x0f\n\x07\x04\x03\x04\x01\x02\ - \x02\x01\x12\x04\x9e\x01\x04\x12\n\x0f\n\x07\x04\x03\x04\x01\x02\x02\x02\ - \x12\x04\x9e\x01\x1a\x1b\n\x0c\n\x04\x04\x03\x02\0\x12\x04\xa2\x01\x02\ - \x1b\n\r\n\x05\x04\x03\x02\0\x04\x12\x04\xa2\x01\x02\n\n\r\n\x05\x04\x03\ - \x02\0\x05\x12\x04\xa2\x01\x0b\x11\n\r\n\x05\x04\x03\x02\0\x01\x12\x04\ - \xa2\x01\x12\x16\n\r\n\x05\x04\x03\x02\0\x03\x12\x04\xa2\x01\x19\x1a\n\ - \x0c\n\x04\x04\x03\x02\x01\x12\x04\xa3\x01\x02\x1c\n\r\n\x05\x04\x03\x02\ - \x01\x04\x12\x04\xa3\x01\x02\n\n\r\n\x05\x04\x03\x02\x01\x05\x12\x04\xa3\ - \x01\x0b\x10\n\r\n\x05\x04\x03\x02\x01\x01\x12\x04\xa3\x01\x11\x17\n\r\n\ - \x05\x04\x03\x02\x01\x03\x12\x04\xa3\x01\x1a\x1b\n\x0c\n\x04\x04\x03\x02\ - \x02\x12\x04\xa4\x01\x02\x1b\n\r\n\x05\x04\x03\x02\x02\x04\x12\x04\xa4\ - \x01\x02\n\n\r\n\x05\x04\x03\x02\x02\x06\x12\x04\xa4\x01\x0b\x10\n\r\n\ - \x05\x04\x03\x02\x02\x01\x12\x04\xa4\x01\x11\x16\n\r\n\x05\x04\x03\x02\ - \x02\x03\x12\x04\xa4\x01\x19\x1a\n\x9c\x01\n\x04\x04\x03\x02\x03\x12\x04\ - \xa8\x01\x02\x19\x1a\x8d\x01\x20If\x20type_name\x20is\x20set,\x20this\ - \x20need\x20not\x20be\x20set.\x20\x20If\x20both\x20this\x20and\x20type_n\ - ame\n\x20are\x20set,\x20this\x20must\x20be\x20one\x20of\x20TYPE_ENUM,\ - \x20TYPE_MESSAGE\x20or\x20TYPE_GROUP.\n\n\r\n\x05\x04\x03\x02\x03\x04\ - \x12\x04\xa8\x01\x02\n\n\r\n\x05\x04\x03\x02\x03\x06\x12\x04\xa8\x01\x0b\ - \x0f\n\r\n\x05\x04\x03\x02\x03\x01\x12\x04\xa8\x01\x10\x14\n\r\n\x05\x04\ - \x03\x02\x03\x03\x12\x04\xa8\x01\x17\x18\n\xb7\x02\n\x04\x04\x03\x02\x04\ - \x12\x04\xaf\x01\x02\x20\x1a\xa8\x02\x20For\x20message\x20and\x20enum\ - \x20types,\x20this\x20is\x20the\x20name\x20of\x20the\x20type.\x20\x20If\ - \x20the\x20name\n\x20starts\x20with\x20a\x20'.',\x20it\x20is\x20fully-qu\ - alified.\x20\x20Otherwise,\x20C++-like\x20scoping\n\x20rules\x20are\x20u\ - sed\x20to\x20find\x20the\x20type\x20(i.e.\x20first\x20the\x20nested\x20t\ - ypes\x20within\x20this\n\x20message\x20are\x20searched,\x20then\x20withi\ - n\x20the\x20parent,\x20on\x20up\x20to\x20the\x20root\n\x20namespace).\n\ - \n\r\n\x05\x04\x03\x02\x04\x04\x12\x04\xaf\x01\x02\n\n\r\n\x05\x04\x03\ - \x02\x04\x05\x12\x04\xaf\x01\x0b\x11\n\r\n\x05\x04\x03\x02\x04\x01\x12\ - \x04\xaf\x01\x12\x1b\n\r\n\x05\x04\x03\x02\x04\x03\x12\x04\xaf\x01\x1e\ - \x1f\n~\n\x04\x04\x03\x02\x05\x12\x04\xb3\x01\x02\x1f\x1ap\x20For\x20ext\ - ensions,\x20this\x20is\x20the\x20name\x20of\x20the\x20type\x20being\x20e\ - xtended.\x20\x20It\x20is\n\x20resolved\x20in\x20the\x20same\x20manner\ - \x20as\x20type_name.\n\n\r\n\x05\x04\x03\x02\x05\x04\x12\x04\xb3\x01\x02\ - \n\n\r\n\x05\x04\x03\x02\x05\x05\x12\x04\xb3\x01\x0b\x11\n\r\n\x05\x04\ - \x03\x02\x05\x01\x12\x04\xb3\x01\x12\x1a\n\r\n\x05\x04\x03\x02\x05\x03\ - \x12\x04\xb3\x01\x1d\x1e\n\xb1\x02\n\x04\x04\x03\x02\x06\x12\x04\xba\x01\ - \x02$\x1a\xa2\x02\x20For\x20numeric\x20types,\x20contains\x20the\x20orig\ - inal\x20text\x20representation\x20of\x20the\x20value.\n\x20For\x20boolea\ - ns,\x20\"true\"\x20or\x20\"false\".\n\x20For\x20strings,\x20contains\x20\ - the\x20default\x20text\x20contents\x20(not\x20escaped\x20in\x20any\x20wa\ - y).\n\x20For\x20bytes,\x20contains\x20the\x20C\x20escaped\x20value.\x20\ - \x20All\x20bytes\x20>=\x20128\x20are\x20escaped.\n\x20TODO(kenton):\x20\ - \x20Base-64\x20encode?\n\n\r\n\x05\x04\x03\x02\x06\x04\x12\x04\xba\x01\ - \x02\n\n\r\n\x05\x04\x03\x02\x06\x05\x12\x04\xba\x01\x0b\x11\n\r\n\x05\ - \x04\x03\x02\x06\x01\x12\x04\xba\x01\x12\x1f\n\r\n\x05\x04\x03\x02\x06\ - \x03\x12\x04\xba\x01\"#\n\x84\x01\n\x04\x04\x03\x02\x07\x12\x04\xbe\x01\ - \x02!\x1av\x20If\x20set,\x20gives\x20the\x20index\x20of\x20a\x20oneof\ - \x20in\x20the\x20containing\x20type's\x20oneof_decl\n\x20list.\x20\x20Th\ - is\x20field\x20is\x20a\x20member\x20of\x20that\x20oneof.\n\n\r\n\x05\x04\ - \x03\x02\x07\x04\x12\x04\xbe\x01\x02\n\n\r\n\x05\x04\x03\x02\x07\x05\x12\ - \x04\xbe\x01\x0b\x10\n\r\n\x05\x04\x03\x02\x07\x01\x12\x04\xbe\x01\x11\ - \x1c\n\r\n\x05\x04\x03\x02\x07\x03\x12\x04\xbe\x01\x1f\x20\n\xfa\x01\n\ - \x04\x04\x03\x02\x08\x12\x04\xc4\x01\x02!\x1a\xeb\x01\x20JSON\x20name\ - \x20of\x20this\x20field.\x20The\x20value\x20is\x20set\x20by\x20protocol\ - \x20compiler.\x20If\x20the\n\x20user\x20has\x20set\x20a\x20\"json_name\"\ - \x20option\x20on\x20this\x20field,\x20that\x20option's\x20value\n\x20wil\ - l\x20be\x20used.\x20Otherwise,\x20it's\x20deduced\x20from\x20the\x20fiel\ - d's\x20name\x20by\x20converting\n\x20it\x20to\x20camelCase.\n\n\r\n\x05\ - \x04\x03\x02\x08\x04\x12\x04\xc4\x01\x02\n\n\r\n\x05\x04\x03\x02\x08\x05\ - \x12\x04\xc4\x01\x0b\x11\n\r\n\x05\x04\x03\x02\x08\x01\x12\x04\xc4\x01\ - \x12\x1b\n\r\n\x05\x04\x03\x02\x08\x03\x12\x04\xc4\x01\x1e\x20\n\x0c\n\ - \x04\x04\x03\x02\t\x12\x04\xc6\x01\x02$\n\r\n\x05\x04\x03\x02\t\x04\x12\ - \x04\xc6\x01\x02\n\n\r\n\x05\x04\x03\x02\t\x06\x12\x04\xc6\x01\x0b\x17\n\ - \r\n\x05\x04\x03\x02\t\x01\x12\x04\xc6\x01\x18\x1f\n\r\n\x05\x04\x03\x02\ - \t\x03\x12\x04\xc6\x01\"#\n\"\n\x02\x04\x04\x12\x06\xca\x01\0\xcd\x01\ - \x01\x1a\x14\x20Describes\x20a\x20oneof.\n\n\x0b\n\x03\x04\x04\x01\x12\ - \x04\xca\x01\x08\x1c\n\x0c\n\x04\x04\x04\x02\0\x12\x04\xcb\x01\x02\x1b\n\ - \r\n\x05\x04\x04\x02\0\x04\x12\x04\xcb\x01\x02\n\n\r\n\x05\x04\x04\x02\0\ - \x05\x12\x04\xcb\x01\x0b\x11\n\r\n\x05\x04\x04\x02\0\x01\x12\x04\xcb\x01\ - \x12\x16\n\r\n\x05\x04\x04\x02\0\x03\x12\x04\xcb\x01\x19\x1a\n\x0c\n\x04\ - \x04\x04\x02\x01\x12\x04\xcc\x01\x02$\n\r\n\x05\x04\x04\x02\x01\x04\x12\ - \x04\xcc\x01\x02\n\n\r\n\x05\x04\x04\x02\x01\x06\x12\x04\xcc\x01\x0b\x17\ - \n\r\n\x05\x04\x04\x02\x01\x01\x12\x04\xcc\x01\x18\x1f\n\r\n\x05\x04\x04\ - \x02\x01\x03\x12\x04\xcc\x01\"#\n'\n\x02\x04\x05\x12\x06\xd0\x01\0\xd6\ - \x01\x01\x1a\x19\x20Describes\x20an\x20enum\x20type.\n\n\x0b\n\x03\x04\ - \x05\x01\x12\x04\xd0\x01\x08\x1b\n\x0c\n\x04\x04\x05\x02\0\x12\x04\xd1\ - \x01\x02\x1b\n\r\n\x05\x04\x05\x02\0\x04\x12\x04\xd1\x01\x02\n\n\r\n\x05\ - \x04\x05\x02\0\x05\x12\x04\xd1\x01\x0b\x11\n\r\n\x05\x04\x05\x02\0\x01\ - \x12\x04\xd1\x01\x12\x16\n\r\n\x05\x04\x05\x02\0\x03\x12\x04\xd1\x01\x19\ - \x1a\n\x0c\n\x04\x04\x05\x02\x01\x12\x04\xd3\x01\x02.\n\r\n\x05\x04\x05\ - \x02\x01\x04\x12\x04\xd3\x01\x02\n\n\r\n\x05\x04\x05\x02\x01\x06\x12\x04\ - \xd3\x01\x0b#\n\r\n\x05\x04\x05\x02\x01\x01\x12\x04\xd3\x01$)\n\r\n\x05\ - \x04\x05\x02\x01\x03\x12\x04\xd3\x01,-\n\x0c\n\x04\x04\x05\x02\x02\x12\ - \x04\xd5\x01\x02#\n\r\n\x05\x04\x05\x02\x02\x04\x12\x04\xd5\x01\x02\n\n\ - \r\n\x05\x04\x05\x02\x02\x06\x12\x04\xd5\x01\x0b\x16\n\r\n\x05\x04\x05\ - \x02\x02\x01\x12\x04\xd5\x01\x17\x1e\n\r\n\x05\x04\x05\x02\x02\x03\x12\ - \x04\xd5\x01!\"\n1\n\x02\x04\x06\x12\x06\xd9\x01\0\xde\x01\x01\x1a#\x20D\ - escribes\x20a\x20value\x20within\x20an\x20enum.\n\n\x0b\n\x03\x04\x06\ - \x01\x12\x04\xd9\x01\x08\x20\n\x0c\n\x04\x04\x06\x02\0\x12\x04\xda\x01\ - \x02\x1b\n\r\n\x05\x04\x06\x02\0\x04\x12\x04\xda\x01\x02\n\n\r\n\x05\x04\ - \x06\x02\0\x05\x12\x04\xda\x01\x0b\x11\n\r\n\x05\x04\x06\x02\0\x01\x12\ - \x04\xda\x01\x12\x16\n\r\n\x05\x04\x06\x02\0\x03\x12\x04\xda\x01\x19\x1a\ - \n\x0c\n\x04\x04\x06\x02\x01\x12\x04\xdb\x01\x02\x1c\n\r\n\x05\x04\x06\ - \x02\x01\x04\x12\x04\xdb\x01\x02\n\n\r\n\x05\x04\x06\x02\x01\x05\x12\x04\ - \xdb\x01\x0b\x10\n\r\n\x05\x04\x06\x02\x01\x01\x12\x04\xdb\x01\x11\x17\n\ - \r\n\x05\x04\x06\x02\x01\x03\x12\x04\xdb\x01\x1a\x1b\n\x0c\n\x04\x04\x06\ - \x02\x02\x12\x04\xdd\x01\x02(\n\r\n\x05\x04\x06\x02\x02\x04\x12\x04\xdd\ - \x01\x02\n\n\r\n\x05\x04\x06\x02\x02\x06\x12\x04\xdd\x01\x0b\x1b\n\r\n\ - \x05\x04\x06\x02\x02\x01\x12\x04\xdd\x01\x1c#\n\r\n\x05\x04\x06\x02\x02\ - \x03\x12\x04\xdd\x01&'\n$\n\x02\x04\x07\x12\x06\xe1\x01\0\xe6\x01\x01\ - \x1a\x16\x20Describes\x20a\x20service.\n\n\x0b\n\x03\x04\x07\x01\x12\x04\ - \xe1\x01\x08\x1e\n\x0c\n\x04\x04\x07\x02\0\x12\x04\xe2\x01\x02\x1b\n\r\n\ - \x05\x04\x07\x02\0\x04\x12\x04\xe2\x01\x02\n\n\r\n\x05\x04\x07\x02\0\x05\ - \x12\x04\xe2\x01\x0b\x11\n\r\n\x05\x04\x07\x02\0\x01\x12\x04\xe2\x01\x12\ - \x16\n\r\n\x05\x04\x07\x02\0\x03\x12\x04\xe2\x01\x19\x1a\n\x0c\n\x04\x04\ - \x07\x02\x01\x12\x04\xe3\x01\x02,\n\r\n\x05\x04\x07\x02\x01\x04\x12\x04\ - \xe3\x01\x02\n\n\r\n\x05\x04\x07\x02\x01\x06\x12\x04\xe3\x01\x0b\x20\n\r\ - \n\x05\x04\x07\x02\x01\x01\x12\x04\xe3\x01!'\n\r\n\x05\x04\x07\x02\x01\ - \x03\x12\x04\xe3\x01*+\n\x0c\n\x04\x04\x07\x02\x02\x12\x04\xe5\x01\x02&\ - \n\r\n\x05\x04\x07\x02\x02\x04\x12\x04\xe5\x01\x02\n\n\r\n\x05\x04\x07\ - \x02\x02\x06\x12\x04\xe5\x01\x0b\x19\n\r\n\x05\x04\x07\x02\x02\x01\x12\ - \x04\xe5\x01\x1a!\n\r\n\x05\x04\x07\x02\x02\x03\x12\x04\xe5\x01$%\n0\n\ - \x02\x04\x08\x12\x06\xe9\x01\0\xf7\x01\x01\x1a\"\x20Describes\x20a\x20me\ - thod\x20of\x20a\x20service.\n\n\x0b\n\x03\x04\x08\x01\x12\x04\xe9\x01\ - \x08\x1d\n\x0c\n\x04\x04\x08\x02\0\x12\x04\xea\x01\x02\x1b\n\r\n\x05\x04\ - \x08\x02\0\x04\x12\x04\xea\x01\x02\n\n\r\n\x05\x04\x08\x02\0\x05\x12\x04\ - \xea\x01\x0b\x11\n\r\n\x05\x04\x08\x02\0\x01\x12\x04\xea\x01\x12\x16\n\r\ - \n\x05\x04\x08\x02\0\x03\x12\x04\xea\x01\x19\x1a\n\x97\x01\n\x04\x04\x08\ - \x02\x01\x12\x04\xee\x01\x02!\x1a\x88\x01\x20Input\x20and\x20output\x20t\ + \x03]\x08\x17\n\x0b\n\x04\x04\x02\x02\0\x12\x03^\x02\x1b\n\x0c\n\x05\x04\ + \x02\x02\0\x04\x12\x03^\x02\n\n\x0c\n\x05\x04\x02\x02\0\x05\x12\x03^\x0b\ + \x11\n\x0c\n\x05\x04\x02\x02\0\x01\x12\x03^\x12\x16\n\x0c\n\x05\x04\x02\ + \x02\0\x03\x12\x03^\x19\x1a\n\x0b\n\x04\x04\x02\x02\x01\x12\x03`\x02*\n\ + \x0c\n\x05\x04\x02\x02\x01\x04\x12\x03`\x02\n\n\x0c\n\x05\x04\x02\x02\ + \x01\x06\x12\x03`\x0b\x1f\n\x0c\n\x05\x04\x02\x02\x01\x01\x12\x03`\x20%\ + \n\x0c\n\x05\x04\x02\x02\x01\x03\x12\x03`()\n\x0b\n\x04\x04\x02\x02\x02\ + \x12\x03a\x02.\n\x0c\n\x05\x04\x02\x02\x02\x04\x12\x03a\x02\n\n\x0c\n\ + \x05\x04\x02\x02\x02\x06\x12\x03a\x0b\x1f\n\x0c\n\x05\x04\x02\x02\x02\ + \x01\x12\x03a\x20)\n\x0c\n\x05\x04\x02\x02\x02\x03\x12\x03a,-\n\x0b\n\ + \x04\x04\x02\x02\x03\x12\x03c\x02+\n\x0c\n\x05\x04\x02\x02\x03\x04\x12\ + \x03c\x02\n\n\x0c\n\x05\x04\x02\x02\x03\x06\x12\x03c\x0b\x1a\n\x0c\n\x05\ + \x04\x02\x02\x03\x01\x12\x03c\x1b&\n\x0c\n\x05\x04\x02\x02\x03\x03\x12\ + \x03c)*\n\x0b\n\x04\x04\x02\x02\x04\x12\x03d\x02-\n\x0c\n\x05\x04\x02\ + \x02\x04\x04\x12\x03d\x02\n\n\x0c\n\x05\x04\x02\x02\x04\x06\x12\x03d\x0b\ + \x1e\n\x0c\n\x05\x04\x02\x02\x04\x01\x12\x03d\x1f(\n\x0c\n\x05\x04\x02\ + \x02\x04\x03\x12\x03d+,\n\x0c\n\x04\x04\x02\x03\0\x12\x04f\x02k\x03\n\ + \x0c\n\x05\x04\x02\x03\0\x01\x12\x03f\n\x18\n\x1b\n\x06\x04\x02\x03\0\ + \x02\0\x12\x03g\x04\x1d\"\x0c\x20Inclusive.\n\n\x0e\n\x07\x04\x02\x03\0\ + \x02\0\x04\x12\x03g\x04\x0c\n\x0e\n\x07\x04\x02\x03\0\x02\0\x05\x12\x03g\ + \r\x12\n\x0e\n\x07\x04\x02\x03\0\x02\0\x01\x12\x03g\x13\x18\n\x0e\n\x07\ + \x04\x02\x03\0\x02\0\x03\x12\x03g\x1b\x1c\n\x1b\n\x06\x04\x02\x03\0\x02\ + \x01\x12\x03h\x04\x1b\"\x0c\x20Exclusive.\n\n\x0e\n\x07\x04\x02\x03\0\ + \x02\x01\x04\x12\x03h\x04\x0c\n\x0e\n\x07\x04\x02\x03\0\x02\x01\x05\x12\ + \x03h\r\x12\n\x0e\n\x07\x04\x02\x03\0\x02\x01\x01\x12\x03h\x13\x16\n\x0e\ + \n\x07\x04\x02\x03\0\x02\x01\x03\x12\x03h\x19\x1a\n\r\n\x06\x04\x02\x03\ + \0\x02\x02\x12\x03j\x04/\n\x0e\n\x07\x04\x02\x03\0\x02\x02\x04\x12\x03j\ + \x04\x0c\n\x0e\n\x07\x04\x02\x03\0\x02\x02\x06\x12\x03j\r\"\n\x0e\n\x07\ + \x04\x02\x03\0\x02\x02\x01\x12\x03j#*\n\x0e\n\x07\x04\x02\x03\0\x02\x02\ + \x03\x12\x03j-.\n\x0b\n\x04\x04\x02\x02\x05\x12\x03l\x02.\n\x0c\n\x05\ + \x04\x02\x02\x05\x04\x12\x03l\x02\n\n\x0c\n\x05\x04\x02\x02\x05\x06\x12\ + \x03l\x0b\x19\n\x0c\n\x05\x04\x02\x02\x05\x01\x12\x03l\x1a)\n\x0c\n\x05\ + \x04\x02\x02\x05\x03\x12\x03l,-\n\x0b\n\x04\x04\x02\x02\x06\x12\x03n\x02\ + /\n\x0c\n\x05\x04\x02\x02\x06\x04\x12\x03n\x02\n\n\x0c\n\x05\x04\x02\x02\ + \x06\x06\x12\x03n\x0b\x1f\n\x0c\n\x05\x04\x02\x02\x06\x01\x12\x03n\x20*\ + \n\x0c\n\x05\x04\x02\x02\x06\x03\x12\x03n-.\n\x0b\n\x04\x04\x02\x02\x07\ + \x12\x03p\x02&\n\x0c\n\x05\x04\x02\x02\x07\x04\x12\x03p\x02\n\n\x0c\n\ + \x05\x04\x02\x02\x07\x06\x12\x03p\x0b\x19\n\x0c\n\x05\x04\x02\x02\x07\ + \x01\x12\x03p\x1a!\n\x0c\n\x05\x04\x02\x02\x07\x03\x12\x03p$%\n\xaa\x01\ + \n\x04\x04\x02\x03\x01\x12\x04u\x02x\x03\x1a\x9b\x01\x20Range\x20of\x20r\ + eserved\x20tag\x20numbers.\x20Reserved\x20tag\x20numbers\x20may\x20not\ + \x20be\x20used\x20by\n\x20fields\x20or\x20extension\x20ranges\x20in\x20t\ + he\x20same\x20message.\x20Reserved\x20ranges\x20may\n\x20not\x20overlap.\ + \n\n\x0c\n\x05\x04\x02\x03\x01\x01\x12\x03u\n\x17\n\x1b\n\x06\x04\x02\ + \x03\x01\x02\0\x12\x03v\x04\x1d\"\x0c\x20Inclusive.\n\n\x0e\n\x07\x04\ + \x02\x03\x01\x02\0\x04\x12\x03v\x04\x0c\n\x0e\n\x07\x04\x02\x03\x01\x02\ + \0\x05\x12\x03v\r\x12\n\x0e\n\x07\x04\x02\x03\x01\x02\0\x01\x12\x03v\x13\ + \x18\n\x0e\n\x07\x04\x02\x03\x01\x02\0\x03\x12\x03v\x1b\x1c\n\x1b\n\x06\ + \x04\x02\x03\x01\x02\x01\x12\x03w\x04\x1b\"\x0c\x20Exclusive.\n\n\x0e\n\ + \x07\x04\x02\x03\x01\x02\x01\x04\x12\x03w\x04\x0c\n\x0e\n\x07\x04\x02\ + \x03\x01\x02\x01\x05\x12\x03w\r\x12\n\x0e\n\x07\x04\x02\x03\x01\x02\x01\ + \x01\x12\x03w\x13\x16\n\x0e\n\x07\x04\x02\x03\x01\x02\x01\x03\x12\x03w\ + \x19\x1a\n\x0b\n\x04\x04\x02\x02\x08\x12\x03y\x02,\n\x0c\n\x05\x04\x02\ + \x02\x08\x04\x12\x03y\x02\n\n\x0c\n\x05\x04\x02\x02\x08\x06\x12\x03y\x0b\ + \x18\n\x0c\n\x05\x04\x02\x02\x08\x01\x12\x03y\x19'\n\x0c\n\x05\x04\x02\ + \x02\x08\x03\x12\x03y*+\n\x82\x01\n\x04\x04\x02\x02\t\x12\x03|\x02%\x1au\ + \x20Reserved\x20field\x20names,\x20which\x20may\x20not\x20be\x20used\x20\ + by\x20fields\x20in\x20the\x20same\x20message.\n\x20A\x20given\x20name\ + \x20may\x20only\x20be\x20reserved\x20once.\n\n\x0c\n\x05\x04\x02\x02\t\ + \x04\x12\x03|\x02\n\n\x0c\n\x05\x04\x02\x02\t\x05\x12\x03|\x0b\x11\n\x0c\ + \n\x05\x04\x02\x02\t\x01\x12\x03|\x12\x1f\n\x0c\n\x05\x04\x02\x02\t\x03\ + \x12\x03|\"$\n\x0b\n\x02\x04\x03\x12\x05\x7f\0\x86\x01\x01\n\n\n\x03\x04\ + \x03\x01\x12\x03\x7f\x08\x1d\nO\n\x04\x04\x03\x02\0\x12\x04\x81\x01\x02:\ + \x1aA\x20The\x20parser\x20stores\x20options\x20it\x20doesn't\x20recogniz\ + e\x20here.\x20See\x20above.\n\n\r\n\x05\x04\x03\x02\0\x04\x12\x04\x81\ + \x01\x02\n\n\r\n\x05\x04\x03\x02\0\x06\x12\x04\x81\x01\x0b\x1e\n\r\n\x05\ + \x04\x03\x02\0\x01\x12\x04\x81\x01\x1f3\n\r\n\x05\x04\x03\x02\0\x03\x12\ + \x04\x81\x0169\nZ\n\x03\x04\x03\x05\x12\x04\x85\x01\x02\x19\x1aM\x20Clie\ + nts\x20can\x20define\x20custom\x20options\x20in\x20extensions\x20of\x20t\ + his\x20message.\x20See\x20above.\n\n\x0c\n\x04\x04\x03\x05\0\x12\x04\x85\ + \x01\r\x18\n\r\n\x05\x04\x03\x05\0\x01\x12\x04\x85\x01\r\x11\n\r\n\x05\ + \x04\x03\x05\0\x02\x12\x04\x85\x01\x15\x18\n3\n\x02\x04\x04\x12\x06\x89\ + \x01\0\xee\x01\x01\x1a%\x20Describes\x20a\x20field\x20within\x20a\x20mes\ + sage.\n\n\x0b\n\x03\x04\x04\x01\x12\x04\x89\x01\x08\x1c\n\x0e\n\x04\x04\ + \x04\x04\0\x12\x06\x8a\x01\x02\xa9\x01\x03\n\r\n\x05\x04\x04\x04\0\x01\ + \x12\x04\x8a\x01\x07\x0b\nS\n\x06\x04\x04\x04\0\x02\0\x12\x04\x8d\x01\ + \x04\x14\x1aC\x200\x20is\x20reserved\x20for\x20errors.\n\x20Order\x20is\ + \x20weird\x20for\x20historical\x20reasons.\n\n\x0f\n\x07\x04\x04\x04\0\ + \x02\0\x01\x12\x04\x8d\x01\x04\x0f\n\x0f\n\x07\x04\x04\x04\0\x02\0\x02\ + \x12\x04\x8d\x01\x12\x13\n\x0e\n\x06\x04\x04\x04\0\x02\x01\x12\x04\x8e\ + \x01\x04\x13\n\x0f\n\x07\x04\x04\x04\0\x02\x01\x01\x12\x04\x8e\x01\x04\ + \x0e\n\x0f\n\x07\x04\x04\x04\0\x02\x01\x02\x12\x04\x8e\x01\x11\x12\nw\n\ + \x06\x04\x04\x04\0\x02\x02\x12\x04\x91\x01\x04\x13\x1ag\x20Not\x20ZigZag\ + \x20encoded.\x20\x20Negative\x20numbers\x20take\x2010\x20bytes.\x20\x20U\ + se\x20TYPE_SINT64\x20if\n\x20negative\x20values\x20are\x20likely.\n\n\ + \x0f\n\x07\x04\x04\x04\0\x02\x02\x01\x12\x04\x91\x01\x04\x0e\n\x0f\n\x07\ + \x04\x04\x04\0\x02\x02\x02\x12\x04\x91\x01\x11\x12\n\x0e\n\x06\x04\x04\ + \x04\0\x02\x03\x12\x04\x92\x01\x04\x14\n\x0f\n\x07\x04\x04\x04\0\x02\x03\ + \x01\x12\x04\x92\x01\x04\x0f\n\x0f\n\x07\x04\x04\x04\0\x02\x03\x02\x12\ + \x04\x92\x01\x12\x13\nw\n\x06\x04\x04\x04\0\x02\x04\x12\x04\x95\x01\x04\ + \x13\x1ag\x20Not\x20ZigZag\x20encoded.\x20\x20Negative\x20numbers\x20tak\ + e\x2010\x20bytes.\x20\x20Use\x20TYPE_SINT32\x20if\n\x20negative\x20value\ + s\x20are\x20likely.\n\n\x0f\n\x07\x04\x04\x04\0\x02\x04\x01\x12\x04\x95\ + \x01\x04\x0e\n\x0f\n\x07\x04\x04\x04\0\x02\x04\x02\x12\x04\x95\x01\x11\ + \x12\n\x0e\n\x06\x04\x04\x04\0\x02\x05\x12\x04\x96\x01\x04\x15\n\x0f\n\ + \x07\x04\x04\x04\0\x02\x05\x01\x12\x04\x96\x01\x04\x10\n\x0f\n\x07\x04\ + \x04\x04\0\x02\x05\x02\x12\x04\x96\x01\x13\x14\n\x0e\n\x06\x04\x04\x04\0\ + \x02\x06\x12\x04\x97\x01\x04\x15\n\x0f\n\x07\x04\x04\x04\0\x02\x06\x01\ + \x12\x04\x97\x01\x04\x10\n\x0f\n\x07\x04\x04\x04\0\x02\x06\x02\x12\x04\ + \x97\x01\x13\x14\n\x0e\n\x06\x04\x04\x04\0\x02\x07\x12\x04\x98\x01\x04\ + \x12\n\x0f\n\x07\x04\x04\x04\0\x02\x07\x01\x12\x04\x98\x01\x04\r\n\x0f\n\ + \x07\x04\x04\x04\0\x02\x07\x02\x12\x04\x98\x01\x10\x11\n\x0e\n\x06\x04\ + \x04\x04\0\x02\x08\x12\x04\x99\x01\x04\x14\n\x0f\n\x07\x04\x04\x04\0\x02\ + \x08\x01\x12\x04\x99\x01\x04\x0f\n\x0f\n\x07\x04\x04\x04\0\x02\x08\x02\ + \x12\x04\x99\x01\x12\x13\n\xe2\x01\n\x06\x04\x04\x04\0\x02\t\x12\x04\x9e\ + \x01\x04\x14\x1a\xd1\x01\x20Tag-delimited\x20aggregate.\n\x20Group\x20ty\ + pe\x20is\x20deprecated\x20and\x20not\x20supported\x20in\x20proto3.\x20Ho\ + wever,\x20Proto3\n\x20implementations\x20should\x20still\x20be\x20able\ + \x20to\x20parse\x20the\x20group\x20wire\x20format\x20and\n\x20treat\x20g\ + roup\x20fields\x20as\x20unknown\x20fields.\n\n\x0f\n\x07\x04\x04\x04\0\ + \x02\t\x01\x12\x04\x9e\x01\x04\x0e\n\x0f\n\x07\x04\x04\x04\0\x02\t\x02\ + \x12\x04\x9e\x01\x11\x13\n-\n\x06\x04\x04\x04\0\x02\n\x12\x04\x9f\x01\ + \x04\x16\"\x1d\x20Length-delimited\x20aggregate.\n\n\x0f\n\x07\x04\x04\ + \x04\0\x02\n\x01\x12\x04\x9f\x01\x04\x10\n\x0f\n\x07\x04\x04\x04\0\x02\n\ + \x02\x12\x04\x9f\x01\x13\x15\n#\n\x06\x04\x04\x04\0\x02\x0b\x12\x04\xa2\ + \x01\x04\x14\x1a\x13\x20New\x20in\x20version\x202.\n\n\x0f\n\x07\x04\x04\ + \x04\0\x02\x0b\x01\x12\x04\xa2\x01\x04\x0e\n\x0f\n\x07\x04\x04\x04\0\x02\ + \x0b\x02\x12\x04\xa2\x01\x11\x13\n\x0e\n\x06\x04\x04\x04\0\x02\x0c\x12\ + \x04\xa3\x01\x04\x15\n\x0f\n\x07\x04\x04\x04\0\x02\x0c\x01\x12\x04\xa3\ + \x01\x04\x0f\n\x0f\n\x07\x04\x04\x04\0\x02\x0c\x02\x12\x04\xa3\x01\x12\ + \x14\n\x0e\n\x06\x04\x04\x04\0\x02\r\x12\x04\xa4\x01\x04\x13\n\x0f\n\x07\ + \x04\x04\x04\0\x02\r\x01\x12\x04\xa4\x01\x04\r\n\x0f\n\x07\x04\x04\x04\0\ + \x02\r\x02\x12\x04\xa4\x01\x10\x12\n\x0e\n\x06\x04\x04\x04\0\x02\x0e\x12\ + \x04\xa5\x01\x04\x17\n\x0f\n\x07\x04\x04\x04\0\x02\x0e\x01\x12\x04\xa5\ + \x01\x04\x11\n\x0f\n\x07\x04\x04\x04\0\x02\x0e\x02\x12\x04\xa5\x01\x14\ + \x16\n\x0e\n\x06\x04\x04\x04\0\x02\x0f\x12\x04\xa6\x01\x04\x17\n\x0f\n\ + \x07\x04\x04\x04\0\x02\x0f\x01\x12\x04\xa6\x01\x04\x11\n\x0f\n\x07\x04\ + \x04\x04\0\x02\x0f\x02\x12\x04\xa6\x01\x14\x16\n'\n\x06\x04\x04\x04\0\ + \x02\x10\x12\x04\xa7\x01\x04\x15\"\x17\x20Uses\x20ZigZag\x20encoding.\n\ + \n\x0f\n\x07\x04\x04\x04\0\x02\x10\x01\x12\x04\xa7\x01\x04\x0f\n\x0f\n\ + \x07\x04\x04\x04\0\x02\x10\x02\x12\x04\xa7\x01\x12\x14\n'\n\x06\x04\x04\ + \x04\0\x02\x11\x12\x04\xa8\x01\x04\x15\"\x17\x20Uses\x20ZigZag\x20encodi\ + ng.\n\n\x0f\n\x07\x04\x04\x04\0\x02\x11\x01\x12\x04\xa8\x01\x04\x0f\n\ + \x0f\n\x07\x04\x04\x04\0\x02\x11\x02\x12\x04\xa8\x01\x12\x14\n\x0e\n\x04\ + \x04\x04\x04\x01\x12\x06\xab\x01\x02\xb0\x01\x03\n\r\n\x05\x04\x04\x04\ + \x01\x01\x12\x04\xab\x01\x07\x0c\n*\n\x06\x04\x04\x04\x01\x02\0\x12\x04\ + \xad\x01\x04\x17\x1a\x1a\x200\x20is\x20reserved\x20for\x20errors\n\n\x0f\ + \n\x07\x04\x04\x04\x01\x02\0\x01\x12\x04\xad\x01\x04\x12\n\x0f\n\x07\x04\ + \x04\x04\x01\x02\0\x02\x12\x04\xad\x01\x15\x16\n\x0e\n\x06\x04\x04\x04\ + \x01\x02\x01\x12\x04\xae\x01\x04\x17\n\x0f\n\x07\x04\x04\x04\x01\x02\x01\ + \x01\x12\x04\xae\x01\x04\x12\n\x0f\n\x07\x04\x04\x04\x01\x02\x01\x02\x12\ + \x04\xae\x01\x15\x16\n\x0e\n\x06\x04\x04\x04\x01\x02\x02\x12\x04\xaf\x01\ + \x04\x17\n\x0f\n\x07\x04\x04\x04\x01\x02\x02\x01\x12\x04\xaf\x01\x04\x12\ + \n\x0f\n\x07\x04\x04\x04\x01\x02\x02\x02\x12\x04\xaf\x01\x15\x16\n\x0c\n\ + \x04\x04\x04\x02\0\x12\x04\xb2\x01\x02\x1b\n\r\n\x05\x04\x04\x02\0\x04\ + \x12\x04\xb2\x01\x02\n\n\r\n\x05\x04\x04\x02\0\x05\x12\x04\xb2\x01\x0b\ + \x11\n\r\n\x05\x04\x04\x02\0\x01\x12\x04\xb2\x01\x12\x16\n\r\n\x05\x04\ + \x04\x02\0\x03\x12\x04\xb2\x01\x19\x1a\n\x0c\n\x04\x04\x04\x02\x01\x12\ + \x04\xb3\x01\x02\x1c\n\r\n\x05\x04\x04\x02\x01\x04\x12\x04\xb3\x01\x02\n\ + \n\r\n\x05\x04\x04\x02\x01\x05\x12\x04\xb3\x01\x0b\x10\n\r\n\x05\x04\x04\ + \x02\x01\x01\x12\x04\xb3\x01\x11\x17\n\r\n\x05\x04\x04\x02\x01\x03\x12\ + \x04\xb3\x01\x1a\x1b\n\x0c\n\x04\x04\x04\x02\x02\x12\x04\xb4\x01\x02\x1b\ + \n\r\n\x05\x04\x04\x02\x02\x04\x12\x04\xb4\x01\x02\n\n\r\n\x05\x04\x04\ + \x02\x02\x06\x12\x04\xb4\x01\x0b\x10\n\r\n\x05\x04\x04\x02\x02\x01\x12\ + \x04\xb4\x01\x11\x16\n\r\n\x05\x04\x04\x02\x02\x03\x12\x04\xb4\x01\x19\ + \x1a\n\x9c\x01\n\x04\x04\x04\x02\x03\x12\x04\xb8\x01\x02\x19\x1a\x8d\x01\ + \x20If\x20type_name\x20is\x20set,\x20this\x20need\x20not\x20be\x20set.\ + \x20\x20If\x20both\x20this\x20and\x20type_name\n\x20are\x20set,\x20this\ + \x20must\x20be\x20one\x20of\x20TYPE_ENUM,\x20TYPE_MESSAGE\x20or\x20TYPE_\ + GROUP.\n\n\r\n\x05\x04\x04\x02\x03\x04\x12\x04\xb8\x01\x02\n\n\r\n\x05\ + \x04\x04\x02\x03\x06\x12\x04\xb8\x01\x0b\x0f\n\r\n\x05\x04\x04\x02\x03\ + \x01\x12\x04\xb8\x01\x10\x14\n\r\n\x05\x04\x04\x02\x03\x03\x12\x04\xb8\ + \x01\x17\x18\n\xb7\x02\n\x04\x04\x04\x02\x04\x12\x04\xbf\x01\x02\x20\x1a\ + \xa8\x02\x20For\x20message\x20and\x20enum\x20types,\x20this\x20is\x20the\ + \x20name\x20of\x20the\x20type.\x20\x20If\x20the\x20name\n\x20starts\x20w\ + ith\x20a\x20'.',\x20it\x20is\x20fully-qualified.\x20\x20Otherwise,\x20C+\ + +-like\x20scoping\n\x20rules\x20are\x20used\x20to\x20find\x20the\x20type\ + \x20(i.e.\x20first\x20the\x20nested\x20types\x20within\x20this\n\x20mess\ + age\x20are\x20searched,\x20then\x20within\x20the\x20parent,\x20on\x20up\ + \x20to\x20the\x20root\n\x20namespace).\n\n\r\n\x05\x04\x04\x02\x04\x04\ + \x12\x04\xbf\x01\x02\n\n\r\n\x05\x04\x04\x02\x04\x05\x12\x04\xbf\x01\x0b\ + \x11\n\r\n\x05\x04\x04\x02\x04\x01\x12\x04\xbf\x01\x12\x1b\n\r\n\x05\x04\ + \x04\x02\x04\x03\x12\x04\xbf\x01\x1e\x1f\n~\n\x04\x04\x04\x02\x05\x12\ + \x04\xc3\x01\x02\x1f\x1ap\x20For\x20extensions,\x20this\x20is\x20the\x20\ + name\x20of\x20the\x20type\x20being\x20extended.\x20\x20It\x20is\n\x20res\ + olved\x20in\x20the\x20same\x20manner\x20as\x20type_name.\n\n\r\n\x05\x04\ + \x04\x02\x05\x04\x12\x04\xc3\x01\x02\n\n\r\n\x05\x04\x04\x02\x05\x05\x12\ + \x04\xc3\x01\x0b\x11\n\r\n\x05\x04\x04\x02\x05\x01\x12\x04\xc3\x01\x12\ + \x1a\n\r\n\x05\x04\x04\x02\x05\x03\x12\x04\xc3\x01\x1d\x1e\n\xb1\x02\n\ + \x04\x04\x04\x02\x06\x12\x04\xca\x01\x02$\x1a\xa2\x02\x20For\x20numeric\ + \x20types,\x20contains\x20the\x20original\x20text\x20representation\x20o\ + f\x20the\x20value.\n\x20For\x20booleans,\x20\"true\"\x20or\x20\"false\".\ + \n\x20For\x20strings,\x20contains\x20the\x20default\x20text\x20contents\ + \x20(not\x20escaped\x20in\x20any\x20way).\n\x20For\x20bytes,\x20contains\ + \x20the\x20C\x20escaped\x20value.\x20\x20All\x20bytes\x20>=\x20128\x20ar\ + e\x20escaped.\n\x20TODO(kenton):\x20\x20Base-64\x20encode?\n\n\r\n\x05\ + \x04\x04\x02\x06\x04\x12\x04\xca\x01\x02\n\n\r\n\x05\x04\x04\x02\x06\x05\ + \x12\x04\xca\x01\x0b\x11\n\r\n\x05\x04\x04\x02\x06\x01\x12\x04\xca\x01\ + \x12\x1f\n\r\n\x05\x04\x04\x02\x06\x03\x12\x04\xca\x01\"#\n\x84\x01\n\ + \x04\x04\x04\x02\x07\x12\x04\xce\x01\x02!\x1av\x20If\x20set,\x20gives\ + \x20the\x20index\x20of\x20a\x20oneof\x20in\x20the\x20containing\x20type'\ + s\x20oneof_decl\n\x20list.\x20\x20This\x20field\x20is\x20a\x20member\x20\ + of\x20that\x20oneof.\n\n\r\n\x05\x04\x04\x02\x07\x04\x12\x04\xce\x01\x02\ + \n\n\r\n\x05\x04\x04\x02\x07\x05\x12\x04\xce\x01\x0b\x10\n\r\n\x05\x04\ + \x04\x02\x07\x01\x12\x04\xce\x01\x11\x1c\n\r\n\x05\x04\x04\x02\x07\x03\ + \x12\x04\xce\x01\x1f\x20\n\xfa\x01\n\x04\x04\x04\x02\x08\x12\x04\xd4\x01\ + \x02!\x1a\xeb\x01\x20JSON\x20name\x20of\x20this\x20field.\x20The\x20valu\ + e\x20is\x20set\x20by\x20protocol\x20compiler.\x20If\x20the\n\x20user\x20\ + has\x20set\x20a\x20\"json_name\"\x20option\x20on\x20this\x20field,\x20th\ + at\x20option's\x20value\n\x20will\x20be\x20used.\x20Otherwise,\x20it's\ + \x20deduced\x20from\x20the\x20field's\x20name\x20by\x20converting\n\x20i\ + t\x20to\x20camelCase.\n\n\r\n\x05\x04\x04\x02\x08\x04\x12\x04\xd4\x01\ + \x02\n\n\r\n\x05\x04\x04\x02\x08\x05\x12\x04\xd4\x01\x0b\x11\n\r\n\x05\ + \x04\x04\x02\x08\x01\x12\x04\xd4\x01\x12\x1b\n\r\n\x05\x04\x04\x02\x08\ + \x03\x12\x04\xd4\x01\x1e\x20\n\x0c\n\x04\x04\x04\x02\t\x12\x04\xd6\x01\ + \x02$\n\r\n\x05\x04\x04\x02\t\x04\x12\x04\xd6\x01\x02\n\n\r\n\x05\x04\ + \x04\x02\t\x06\x12\x04\xd6\x01\x0b\x17\n\r\n\x05\x04\x04\x02\t\x01\x12\ + \x04\xd6\x01\x18\x1f\n\r\n\x05\x04\x04\x02\t\x03\x12\x04\xd6\x01\"#\n\ + \xb3\t\n\x04\x04\x04\x02\n\x12\x04\xed\x01\x02%\x1a\xa4\t\x20If\x20true,\ + \x20this\x20is\x20a\x20proto3\x20\"optional\".\x20When\x20a\x20proto3\ + \x20field\x20is\x20optional,\x20it\n\x20tracks\x20presence\x20regardless\ + \x20of\x20field\x20type.\n\n\x20When\x20proto3_optional\x20is\x20true,\ + \x20this\x20field\x20must\x20be\x20belong\x20to\x20a\x20oneof\x20to\n\ + \x20signal\x20to\x20old\x20proto3\x20clients\x20that\x20presence\x20is\ + \x20tracked\x20for\x20this\x20field.\x20This\n\x20oneof\x20is\x20known\ + \x20as\x20a\x20\"synthetic\"\x20oneof,\x20and\x20this\x20field\x20must\ + \x20be\x20its\x20sole\n\x20member\x20(each\x20proto3\x20optional\x20fiel\ + d\x20gets\x20its\x20own\x20synthetic\x20oneof).\x20Synthetic\n\x20oneofs\ + \x20exist\x20in\x20the\x20descriptor\x20only,\x20and\x20do\x20not\x20gen\ + erate\x20any\x20API.\x20Synthetic\n\x20oneofs\x20must\x20be\x20ordered\ + \x20after\x20all\x20\"real\"\x20oneofs.\n\n\x20For\x20message\x20fields,\ + \x20proto3_optional\x20doesn't\x20create\x20any\x20semantic\x20change,\n\ + \x20since\x20non-repeated\x20message\x20fields\x20always\x20track\x20pre\ + sence.\x20However\x20it\x20still\n\x20indicates\x20the\x20semantic\x20de\ + tail\x20of\x20whether\x20the\x20user\x20wrote\x20\"optional\"\x20or\x20n\ + ot.\n\x20This\x20can\x20be\x20useful\x20for\x20round-tripping\x20the\x20\ + .proto\x20file.\x20For\x20consistency\x20we\n\x20give\x20message\x20fiel\ + ds\x20a\x20synthetic\x20oneof\x20also,\x20even\x20though\x20it\x20is\x20\ + not\x20required\n\x20to\x20track\x20presence.\x20This\x20is\x20especiall\ + y\x20important\x20because\x20the\x20parser\x20can't\n\x20tell\x20if\x20a\ + \x20field\x20is\x20a\x20message\x20or\x20an\x20enum,\x20so\x20it\x20must\ + \x20always\x20create\x20a\n\x20synthetic\x20oneof.\n\n\x20Proto2\x20opti\ + onal\x20fields\x20do\x20not\x20set\x20this\x20flag,\x20because\x20they\ + \x20already\x20indicate\n\x20optional\x20with\x20`LABEL_OPTIONAL`.\n\n\r\ + \n\x05\x04\x04\x02\n\x04\x12\x04\xed\x01\x02\n\n\r\n\x05\x04\x04\x02\n\ + \x05\x12\x04\xed\x01\x0b\x0f\n\r\n\x05\x04\x04\x02\n\x01\x12\x04\xed\x01\ + \x10\x1f\n\r\n\x05\x04\x04\x02\n\x03\x12\x04\xed\x01\"$\n\"\n\x02\x04\ + \x05\x12\x06\xf1\x01\0\xf4\x01\x01\x1a\x14\x20Describes\x20a\x20oneof.\n\ + \n\x0b\n\x03\x04\x05\x01\x12\x04\xf1\x01\x08\x1c\n\x0c\n\x04\x04\x05\x02\ + \0\x12\x04\xf2\x01\x02\x1b\n\r\n\x05\x04\x05\x02\0\x04\x12\x04\xf2\x01\ + \x02\n\n\r\n\x05\x04\x05\x02\0\x05\x12\x04\xf2\x01\x0b\x11\n\r\n\x05\x04\ + \x05\x02\0\x01\x12\x04\xf2\x01\x12\x16\n\r\n\x05\x04\x05\x02\0\x03\x12\ + \x04\xf2\x01\x19\x1a\n\x0c\n\x04\x04\x05\x02\x01\x12\x04\xf3\x01\x02$\n\ + \r\n\x05\x04\x05\x02\x01\x04\x12\x04\xf3\x01\x02\n\n\r\n\x05\x04\x05\x02\ + \x01\x06\x12\x04\xf3\x01\x0b\x17\n\r\n\x05\x04\x05\x02\x01\x01\x12\x04\ + \xf3\x01\x18\x1f\n\r\n\x05\x04\x05\x02\x01\x03\x12\x04\xf3\x01\"#\n'\n\ + \x02\x04\x06\x12\x06\xf7\x01\0\x91\x02\x01\x1a\x19\x20Describes\x20an\ + \x20enum\x20type.\n\n\x0b\n\x03\x04\x06\x01\x12\x04\xf7\x01\x08\x1b\n\ + \x0c\n\x04\x04\x06\x02\0\x12\x04\xf8\x01\x02\x1b\n\r\n\x05\x04\x06\x02\0\ + \x04\x12\x04\xf8\x01\x02\n\n\r\n\x05\x04\x06\x02\0\x05\x12\x04\xf8\x01\ + \x0b\x11\n\r\n\x05\x04\x06\x02\0\x01\x12\x04\xf8\x01\x12\x16\n\r\n\x05\ + \x04\x06\x02\0\x03\x12\x04\xf8\x01\x19\x1a\n\x0c\n\x04\x04\x06\x02\x01\ + \x12\x04\xfa\x01\x02.\n\r\n\x05\x04\x06\x02\x01\x04\x12\x04\xfa\x01\x02\ + \n\n\r\n\x05\x04\x06\x02\x01\x06\x12\x04\xfa\x01\x0b#\n\r\n\x05\x04\x06\ + \x02\x01\x01\x12\x04\xfa\x01$)\n\r\n\x05\x04\x06\x02\x01\x03\x12\x04\xfa\ + \x01,-\n\x0c\n\x04\x04\x06\x02\x02\x12\x04\xfc\x01\x02#\n\r\n\x05\x04\ + \x06\x02\x02\x04\x12\x04\xfc\x01\x02\n\n\r\n\x05\x04\x06\x02\x02\x06\x12\ + \x04\xfc\x01\x0b\x16\n\r\n\x05\x04\x06\x02\x02\x01\x12\x04\xfc\x01\x17\ + \x1e\n\r\n\x05\x04\x06\x02\x02\x03\x12\x04\xfc\x01!\"\n\xaf\x02\n\x04\ + \x04\x06\x03\0\x12\x06\x84\x02\x02\x87\x02\x03\x1a\x9e\x02\x20Range\x20o\ + f\x20reserved\x20numeric\x20values.\x20Reserved\x20values\x20may\x20not\ + \x20be\x20used\x20by\n\x20entries\x20in\x20the\x20same\x20enum.\x20Reser\ + ved\x20ranges\x20may\x20not\x20overlap.\n\n\x20Note\x20that\x20this\x20i\ + s\x20distinct\x20from\x20DescriptorProto.ReservedRange\x20in\x20that\x20\ + it\n\x20is\x20inclusive\x20such\x20that\x20it\x20can\x20appropriately\ + \x20represent\x20the\x20entire\x20int32\n\x20domain.\n\n\r\n\x05\x04\x06\ + \x03\0\x01\x12\x04\x84\x02\n\x1b\n\x1c\n\x06\x04\x06\x03\0\x02\0\x12\x04\ + \x85\x02\x04\x1d\"\x0c\x20Inclusive.\n\n\x0f\n\x07\x04\x06\x03\0\x02\0\ + \x04\x12\x04\x85\x02\x04\x0c\n\x0f\n\x07\x04\x06\x03\0\x02\0\x05\x12\x04\ + \x85\x02\r\x12\n\x0f\n\x07\x04\x06\x03\0\x02\0\x01\x12\x04\x85\x02\x13\ + \x18\n\x0f\n\x07\x04\x06\x03\0\x02\0\x03\x12\x04\x85\x02\x1b\x1c\n\x1c\n\ + \x06\x04\x06\x03\0\x02\x01\x12\x04\x86\x02\x04\x1b\"\x0c\x20Inclusive.\n\ + \n\x0f\n\x07\x04\x06\x03\0\x02\x01\x04\x12\x04\x86\x02\x04\x0c\n\x0f\n\ + \x07\x04\x06\x03\0\x02\x01\x05\x12\x04\x86\x02\r\x12\n\x0f\n\x07\x04\x06\ + \x03\0\x02\x01\x01\x12\x04\x86\x02\x13\x16\n\x0f\n\x07\x04\x06\x03\0\x02\ + \x01\x03\x12\x04\x86\x02\x19\x1a\n\xaa\x01\n\x04\x04\x06\x02\x03\x12\x04\ + \x8c\x02\x020\x1a\x9b\x01\x20Range\x20of\x20reserved\x20numeric\x20value\ + s.\x20Reserved\x20numeric\x20values\x20may\x20not\x20be\x20used\n\x20by\ + \x20enum\x20values\x20in\x20the\x20same\x20enum\x20declaration.\x20Reser\ + ved\x20ranges\x20may\x20not\n\x20overlap.\n\n\r\n\x05\x04\x06\x02\x03\ + \x04\x12\x04\x8c\x02\x02\n\n\r\n\x05\x04\x06\x02\x03\x06\x12\x04\x8c\x02\ + \x0b\x1c\n\r\n\x05\x04\x06\x02\x03\x01\x12\x04\x8c\x02\x1d+\n\r\n\x05\ + \x04\x06\x02\x03\x03\x12\x04\x8c\x02./\nl\n\x04\x04\x06\x02\x04\x12\x04\ + \x90\x02\x02$\x1a^\x20Reserved\x20enum\x20value\x20names,\x20which\x20ma\ + y\x20not\x20be\x20reused.\x20A\x20given\x20name\x20may\x20only\n\x20be\ + \x20reserved\x20once.\n\n\r\n\x05\x04\x06\x02\x04\x04\x12\x04\x90\x02\ + \x02\n\n\r\n\x05\x04\x06\x02\x04\x05\x12\x04\x90\x02\x0b\x11\n\r\n\x05\ + \x04\x06\x02\x04\x01\x12\x04\x90\x02\x12\x1f\n\r\n\x05\x04\x06\x02\x04\ + \x03\x12\x04\x90\x02\"#\n1\n\x02\x04\x07\x12\x06\x94\x02\0\x99\x02\x01\ + \x1a#\x20Describes\x20a\x20value\x20within\x20an\x20enum.\n\n\x0b\n\x03\ + \x04\x07\x01\x12\x04\x94\x02\x08\x20\n\x0c\n\x04\x04\x07\x02\0\x12\x04\ + \x95\x02\x02\x1b\n\r\n\x05\x04\x07\x02\0\x04\x12\x04\x95\x02\x02\n\n\r\n\ + \x05\x04\x07\x02\0\x05\x12\x04\x95\x02\x0b\x11\n\r\n\x05\x04\x07\x02\0\ + \x01\x12\x04\x95\x02\x12\x16\n\r\n\x05\x04\x07\x02\0\x03\x12\x04\x95\x02\ + \x19\x1a\n\x0c\n\x04\x04\x07\x02\x01\x12\x04\x96\x02\x02\x1c\n\r\n\x05\ + \x04\x07\x02\x01\x04\x12\x04\x96\x02\x02\n\n\r\n\x05\x04\x07\x02\x01\x05\ + \x12\x04\x96\x02\x0b\x10\n\r\n\x05\x04\x07\x02\x01\x01\x12\x04\x96\x02\ + \x11\x17\n\r\n\x05\x04\x07\x02\x01\x03\x12\x04\x96\x02\x1a\x1b\n\x0c\n\ + \x04\x04\x07\x02\x02\x12\x04\x98\x02\x02(\n\r\n\x05\x04\x07\x02\x02\x04\ + \x12\x04\x98\x02\x02\n\n\r\n\x05\x04\x07\x02\x02\x06\x12\x04\x98\x02\x0b\ + \x1b\n\r\n\x05\x04\x07\x02\x02\x01\x12\x04\x98\x02\x1c#\n\r\n\x05\x04\ + \x07\x02\x02\x03\x12\x04\x98\x02&'\n$\n\x02\x04\x08\x12\x06\x9c\x02\0\ + \xa1\x02\x01\x1a\x16\x20Describes\x20a\x20service.\n\n\x0b\n\x03\x04\x08\ + \x01\x12\x04\x9c\x02\x08\x1e\n\x0c\n\x04\x04\x08\x02\0\x12\x04\x9d\x02\ + \x02\x1b\n\r\n\x05\x04\x08\x02\0\x04\x12\x04\x9d\x02\x02\n\n\r\n\x05\x04\ + \x08\x02\0\x05\x12\x04\x9d\x02\x0b\x11\n\r\n\x05\x04\x08\x02\0\x01\x12\ + \x04\x9d\x02\x12\x16\n\r\n\x05\x04\x08\x02\0\x03\x12\x04\x9d\x02\x19\x1a\ + \n\x0c\n\x04\x04\x08\x02\x01\x12\x04\x9e\x02\x02,\n\r\n\x05\x04\x08\x02\ + \x01\x04\x12\x04\x9e\x02\x02\n\n\r\n\x05\x04\x08\x02\x01\x06\x12\x04\x9e\ + \x02\x0b\x20\n\r\n\x05\x04\x08\x02\x01\x01\x12\x04\x9e\x02!'\n\r\n\x05\ + \x04\x08\x02\x01\x03\x12\x04\x9e\x02*+\n\x0c\n\x04\x04\x08\x02\x02\x12\ + \x04\xa0\x02\x02&\n\r\n\x05\x04\x08\x02\x02\x04\x12\x04\xa0\x02\x02\n\n\ + \r\n\x05\x04\x08\x02\x02\x06\x12\x04\xa0\x02\x0b\x19\n\r\n\x05\x04\x08\ + \x02\x02\x01\x12\x04\xa0\x02\x1a!\n\r\n\x05\x04\x08\x02\x02\x03\x12\x04\ + \xa0\x02$%\n0\n\x02\x04\t\x12\x06\xa4\x02\0\xb2\x02\x01\x1a\"\x20Describ\ + es\x20a\x20method\x20of\x20a\x20service.\n\n\x0b\n\x03\x04\t\x01\x12\x04\ + \xa4\x02\x08\x1d\n\x0c\n\x04\x04\t\x02\0\x12\x04\xa5\x02\x02\x1b\n\r\n\ + \x05\x04\t\x02\0\x04\x12\x04\xa5\x02\x02\n\n\r\n\x05\x04\t\x02\0\x05\x12\ + \x04\xa5\x02\x0b\x11\n\r\n\x05\x04\t\x02\0\x01\x12\x04\xa5\x02\x12\x16\n\ + \r\n\x05\x04\t\x02\0\x03\x12\x04\xa5\x02\x19\x1a\n\x97\x01\n\x04\x04\t\ + \x02\x01\x12\x04\xa9\x02\x02!\x1a\x88\x01\x20Input\x20and\x20output\x20t\ ype\x20names.\x20\x20These\x20are\x20resolved\x20in\x20the\x20same\x20wa\ y\x20as\n\x20FieldDescriptorProto.type_name,\x20but\x20must\x20refer\x20\ - to\x20a\x20message\x20type.\n\n\r\n\x05\x04\x08\x02\x01\x04\x12\x04\xee\ - \x01\x02\n\n\r\n\x05\x04\x08\x02\x01\x05\x12\x04\xee\x01\x0b\x11\n\r\n\ - \x05\x04\x08\x02\x01\x01\x12\x04\xee\x01\x12\x1c\n\r\n\x05\x04\x08\x02\ - \x01\x03\x12\x04\xee\x01\x1f\x20\n\x0c\n\x04\x04\x08\x02\x02\x12\x04\xef\ - \x01\x02\"\n\r\n\x05\x04\x08\x02\x02\x04\x12\x04\xef\x01\x02\n\n\r\n\x05\ - \x04\x08\x02\x02\x05\x12\x04\xef\x01\x0b\x11\n\r\n\x05\x04\x08\x02\x02\ - \x01\x12\x04\xef\x01\x12\x1d\n\r\n\x05\x04\x08\x02\x02\x03\x12\x04\xef\ - \x01\x20!\n\x0c\n\x04\x04\x08\x02\x03\x12\x04\xf1\x01\x02%\n\r\n\x05\x04\ - \x08\x02\x03\x04\x12\x04\xf1\x01\x02\n\n\r\n\x05\x04\x08\x02\x03\x06\x12\ - \x04\xf1\x01\x0b\x18\n\r\n\x05\x04\x08\x02\x03\x01\x12\x04\xf1\x01\x19\ - \x20\n\r\n\x05\x04\x08\x02\x03\x03\x12\x04\xf1\x01#$\nE\n\x04\x04\x08\ - \x02\x04\x12\x04\xf4\x01\x025\x1a7\x20Identifies\x20if\x20client\x20stre\ - ams\x20multiple\x20client\x20messages\n\n\r\n\x05\x04\x08\x02\x04\x04\ - \x12\x04\xf4\x01\x02\n\n\r\n\x05\x04\x08\x02\x04\x05\x12\x04\xf4\x01\x0b\ - \x0f\n\r\n\x05\x04\x08\x02\x04\x01\x12\x04\xf4\x01\x10\x20\n\r\n\x05\x04\ - \x08\x02\x04\x03\x12\x04\xf4\x01#$\n\r\n\x05\x04\x08\x02\x04\x08\x12\x04\ - \xf4\x01%4\n\r\n\x05\x04\x08\x02\x04\x07\x12\x04\xf4\x01.3\nE\n\x04\x04\ - \x08\x02\x05\x12\x04\xf6\x01\x025\x1a7\x20Identifies\x20if\x20server\x20\ - streams\x20multiple\x20server\x20messages\n\n\r\n\x05\x04\x08\x02\x05\ - \x04\x12\x04\xf6\x01\x02\n\n\r\n\x05\x04\x08\x02\x05\x05\x12\x04\xf6\x01\ - \x0b\x0f\n\r\n\x05\x04\x08\x02\x05\x01\x12\x04\xf6\x01\x10\x20\n\r\n\x05\ - \x04\x08\x02\x05\x03\x12\x04\xf6\x01#$\n\r\n\x05\x04\x08\x02\x05\x08\x12\ - \x04\xf6\x01%4\n\r\n\x05\x04\x08\x02\x05\x07\x12\x04\xf6\x01.3\n\xaf\x0e\ - \n\x02\x04\t\x12\x06\x9b\x02\0\xf8\x02\x012N\x20========================\ - ===========================================\n\x20Options\n2\xd0\r\x20Eac\ - h\x20of\x20the\x20definitions\x20above\x20may\x20have\x20\"options\"\x20\ - attached.\x20\x20These\x20are\n\x20just\x20annotations\x20which\x20may\ - \x20cause\x20code\x20to\x20be\x20generated\x20slightly\x20differently\n\ - \x20or\x20may\x20contain\x20hints\x20for\x20code\x20that\x20manipulates\ - \x20protocol\x20messages.\n\n\x20Clients\x20may\x20define\x20custom\x20o\ - ptions\x20as\x20extensions\x20of\x20the\x20*Options\x20messages.\n\x20Th\ - ese\x20extensions\x20may\x20not\x20yet\x20be\x20known\x20at\x20parsing\ - \x20time,\x20so\x20the\x20parser\x20cannot\n\x20store\x20the\x20values\ - \x20in\x20them.\x20\x20Instead\x20it\x20stores\x20them\x20in\x20a\x20fie\ - ld\x20in\x20the\x20*Options\n\x20message\x20called\x20uninterpreted_opti\ - on.\x20This\x20field\x20must\x20have\x20the\x20same\x20name\n\x20across\ - \x20all\x20*Options\x20messages.\x20We\x20then\x20use\x20this\x20field\ - \x20to\x20populate\x20the\n\x20extensions\x20when\x20we\x20build\x20a\ - \x20descriptor,\x20at\x20which\x20point\x20all\x20protos\x20have\x20been\ - \n\x20parsed\x20and\x20so\x20all\x20extensions\x20are\x20known.\n\n\x20E\ - xtension\x20numbers\x20for\x20custom\x20options\x20may\x20be\x20chosen\ - \x20as\x20follows:\n\x20*\x20For\x20options\x20which\x20will\x20only\x20\ - be\x20used\x20within\x20a\x20single\x20application\x20or\n\x20\x20\x20or\ - ganization,\x20or\x20for\x20experimental\x20options,\x20use\x20field\x20\ - numbers\x2050000\n\x20\x20\x20through\x2099999.\x20\x20It\x20is\x20up\ - \x20to\x20you\x20to\x20ensure\x20that\x20you\x20do\x20not\x20use\x20the\ - \n\x20\x20\x20same\x20number\x20for\x20multiple\x20options.\n\x20*\x20Fo\ - r\x20options\x20which\x20will\x20be\x20published\x20and\x20used\x20publi\ - cly\x20by\x20multiple\n\x20\x20\x20independent\x20entities,\x20e-mail\ - \x20protobuf-global-extension-registry@google.com\n\x20\x20\x20to\x20res\ - erve\x20extension\x20numbers.\x20Simply\x20provide\x20your\x20project\ - \x20name\x20(e.g.\n\x20\x20\x20Objective-C\x20plugin)\x20and\x20your\x20\ - project\x20website\x20(if\x20available)\x20--\x20there's\x20no\n\x20\x20\ - \x20need\x20to\x20explain\x20how\x20you\x20intend\x20to\x20use\x20them.\ - \x20Usually\x20you\x20only\x20need\x20one\n\x20\x20\x20extension\x20numb\ - er.\x20You\x20can\x20declare\x20multiple\x20options\x20with\x20only\x20o\ - ne\x20extension\n\x20\x20\x20number\x20by\x20putting\x20them\x20in\x20a\ - \x20sub-message.\x20See\x20the\x20Custom\x20Options\x20section\x20of\n\ - \x20\x20\x20the\x20docs\x20for\x20examples:\n\x20\x20\x20https://develop\ - ers.google.com/protocol-buffers/docs/proto#options\n\x20\x20\x20If\x20th\ - is\x20turns\x20out\x20to\x20be\x20popular,\x20a\x20web\x20service\x20wil\ - l\x20be\x20set\x20up\n\x20\x20\x20to\x20automatically\x20assign\x20optio\ - n\x20numbers.\n\n\x0b\n\x03\x04\t\x01\x12\x04\x9b\x02\x08\x13\n\xf4\x01\ - \n\x04\x04\t\x02\0\x12\x04\xa1\x02\x02#\x1a\xe5\x01\x20Sets\x20the\x20Ja\ - va\x20package\x20where\x20classes\x20generated\x20from\x20this\x20.proto\ - \x20will\x20be\n\x20placed.\x20\x20By\x20default,\x20the\x20proto\x20pac\ - kage\x20is\x20used,\x20but\x20this\x20is\x20often\n\x20inappropriate\x20\ - because\x20proto\x20packages\x20do\x20not\x20normally\x20start\x20with\ - \x20backwards\n\x20domain\x20names.\n\n\r\n\x05\x04\t\x02\0\x04\x12\x04\ - \xa1\x02\x02\n\n\r\n\x05\x04\t\x02\0\x05\x12\x04\xa1\x02\x0b\x11\n\r\n\ - \x05\x04\t\x02\0\x01\x12\x04\xa1\x02\x12\x1e\n\r\n\x05\x04\t\x02\0\x03\ - \x12\x04\xa1\x02!\"\n\xbf\x02\n\x04\x04\t\x02\x01\x12\x04\xa9\x02\x02+\ - \x1a\xb0\x02\x20If\x20set,\x20all\x20the\x20classes\x20from\x20the\x20.p\ - roto\x20file\x20are\x20wrapped\x20in\x20a\x20single\n\x20outer\x20class\ - \x20with\x20the\x20given\x20name.\x20\x20This\x20applies\x20to\x20both\ - \x20Proto1\n\x20(equivalent\x20to\x20the\x20old\x20\"--one_java_file\"\ - \x20option)\x20and\x20Proto2\x20(where\n\x20a\x20.proto\x20always\x20tra\ - nslates\x20to\x20a\x20single\x20class,\x20but\x20you\x20may\x20want\x20t\ - o\n\x20explicitly\x20choose\x20the\x20class\x20name).\n\n\r\n\x05\x04\t\ - \x02\x01\x04\x12\x04\xa9\x02\x02\n\n\r\n\x05\x04\t\x02\x01\x05\x12\x04\ - \xa9\x02\x0b\x11\n\r\n\x05\x04\t\x02\x01\x01\x12\x04\xa9\x02\x12&\n\r\n\ - \x05\x04\t\x02\x01\x03\x12\x04\xa9\x02)*\n\xa3\x03\n\x04\x04\t\x02\x02\ - \x12\x04\xb1\x02\x029\x1a\x94\x03\x20If\x20set\x20true,\x20then\x20the\ - \x20Java\x20code\x20generator\x20will\x20generate\x20a\x20separate\x20.j\ - ava\n\x20file\x20for\x20each\x20top-level\x20message,\x20enum,\x20and\ - \x20service\x20defined\x20in\x20the\x20.proto\n\x20file.\x20\x20Thus,\ - \x20these\x20types\x20will\x20*not*\x20be\x20nested\x20inside\x20the\x20\ - outer\x20class\n\x20named\x20by\x20java_outer_classname.\x20\x20However,\ - \x20the\x20outer\x20class\x20will\x20still\x20be\n\x20generated\x20to\ - \x20contain\x20the\x20file's\x20getDescriptor()\x20method\x20as\x20well\ - \x20as\x20any\n\x20top-level\x20extensions\x20defined\x20in\x20the\x20fi\ - le.\n\n\r\n\x05\x04\t\x02\x02\x04\x12\x04\xb1\x02\x02\n\n\r\n\x05\x04\t\ - \x02\x02\x05\x12\x04\xb1\x02\x0b\x0f\n\r\n\x05\x04\t\x02\x02\x01\x12\x04\ - \xb1\x02\x10#\n\r\n\x05\x04\t\x02\x02\x03\x12\x04\xb1\x02&(\n\r\n\x05\ - \x04\t\x02\x02\x08\x12\x04\xb1\x02)8\n\r\n\x05\x04\t\x02\x02\x07\x12\x04\ - \xb1\x0227\n)\n\x04\x04\t\x02\x03\x12\x04\xb4\x02\x02E\x1a\x1b\x20This\ - \x20option\x20does\x20nothing.\n\n\r\n\x05\x04\t\x02\x03\x04\x12\x04\xb4\ - \x02\x02\n\n\r\n\x05\x04\t\x02\x03\x05\x12\x04\xb4\x02\x0b\x0f\n\r\n\x05\ - \x04\t\x02\x03\x01\x12\x04\xb4\x02\x10-\n\r\n\x05\x04\t\x02\x03\x03\x12\ - \x04\xb4\x0202\n\r\n\x05\x04\t\x02\x03\x08\x12\x04\xb4\x023D\n\x0e\n\x06\ - \x04\t\x02\x03\x08\x03\x12\x04\xb4\x024C\n\xe6\x02\n\x04\x04\t\x02\x04\ - \x12\x04\xbc\x02\x02<\x1a\xd7\x02\x20If\x20set\x20true,\x20then\x20the\ - \x20Java2\x20code\x20generator\x20will\x20generate\x20code\x20that\n\x20\ - throws\x20an\x20exception\x20whenever\x20an\x20attempt\x20is\x20made\x20\ - to\x20assign\x20a\x20non-UTF-8\n\x20byte\x20sequence\x20to\x20a\x20strin\ - g\x20field.\n\x20Message\x20reflection\x20will\x20do\x20the\x20same.\n\ - \x20However,\x20an\x20extension\x20field\x20still\x20accepts\x20non-UTF-\ - 8\x20byte\x20sequences.\n\x20This\x20option\x20has\x20no\x20effect\x20on\ - \x20when\x20used\x20with\x20the\x20lite\x20runtime.\n\n\r\n\x05\x04\t\ - \x02\x04\x04\x12\x04\xbc\x02\x02\n\n\r\n\x05\x04\t\x02\x04\x05\x12\x04\ - \xbc\x02\x0b\x0f\n\r\n\x05\x04\t\x02\x04\x01\x12\x04\xbc\x02\x10&\n\r\n\ - \x05\x04\t\x02\x04\x03\x12\x04\xbc\x02)+\n\r\n\x05\x04\t\x02\x04\x08\x12\ - \x04\xbc\x02,;\n\r\n\x05\x04\t\x02\x04\x07\x12\x04\xbc\x025:\nL\n\x04\ - \x04\t\x04\0\x12\x06\xc0\x02\x02\xc5\x02\x03\x1a<\x20Generated\x20classe\ - s\x20can\x20be\x20optimized\x20for\x20speed\x20or\x20code\x20size.\n\n\r\ - \n\x05\x04\t\x04\0\x01\x12\x04\xc0\x02\x07\x13\nD\n\x06\x04\t\x04\0\x02\ - \0\x12\x04\xc1\x02\x04\x0e\"4\x20Generate\x20complete\x20code\x20for\x20\ - parsing,\x20serialization,\n\n\x0f\n\x07\x04\t\x04\0\x02\0\x01\x12\x04\ - \xc1\x02\x04\t\n\x0f\n\x07\x04\t\x04\0\x02\0\x02\x12\x04\xc1\x02\x0c\r\n\ - G\n\x06\x04\t\x04\0\x02\x01\x12\x04\xc3\x02\x04\x12\x1a\x06\x20etc.\n\"/\ - \x20Use\x20ReflectionOps\x20to\x20implement\x20these\x20methods.\n\n\x0f\ - \n\x07\x04\t\x04\0\x02\x01\x01\x12\x04\xc3\x02\x04\r\n\x0f\n\x07\x04\t\ - \x04\0\x02\x01\x02\x12\x04\xc3\x02\x10\x11\nG\n\x06\x04\t\x04\0\x02\x02\ - \x12\x04\xc4\x02\x04\x15\"7\x20Generate\x20code\x20using\x20MessageLite\ - \x20and\x20the\x20lite\x20runtime.\n\n\x0f\n\x07\x04\t\x04\0\x02\x02\x01\ - \x12\x04\xc4\x02\x04\x10\n\x0f\n\x07\x04\t\x04\0\x02\x02\x02\x12\x04\xc4\ - \x02\x13\x14\n\x0c\n\x04\x04\t\x02\x05\x12\x04\xc6\x02\x029\n\r\n\x05\ - \x04\t\x02\x05\x04\x12\x04\xc6\x02\x02\n\n\r\n\x05\x04\t\x02\x05\x06\x12\ - \x04\xc6\x02\x0b\x17\n\r\n\x05\x04\t\x02\x05\x01\x12\x04\xc6\x02\x18$\n\ - \r\n\x05\x04\t\x02\x05\x03\x12\x04\xc6\x02'(\n\r\n\x05\x04\t\x02\x05\x08\ - \x12\x04\xc6\x02)8\n\r\n\x05\x04\t\x02\x05\x07\x12\x04\xc6\x0227\n\xe2\ - \x02\n\x04\x04\t\x02\x06\x12\x04\xcd\x02\x02\"\x1a\xd3\x02\x20Sets\x20th\ - e\x20Go\x20package\x20where\x20structs\x20generated\x20from\x20this\x20.\ - proto\x20will\x20be\n\x20placed.\x20If\x20omitted,\x20the\x20Go\x20packa\ - ge\x20will\x20be\x20derived\x20from\x20the\x20following:\n\x20\x20\x20-\ - \x20The\x20basename\x20of\x20the\x20package\x20import\x20path,\x20if\x20\ - provided.\n\x20\x20\x20-\x20Otherwise,\x20the\x20package\x20statement\ - \x20in\x20the\x20.proto\x20file,\x20if\x20present.\n\x20\x20\x20-\x20Oth\ - erwise,\x20the\x20basename\x20of\x20the\x20.proto\x20file,\x20without\ - \x20extension.\n\n\r\n\x05\x04\t\x02\x06\x04\x12\x04\xcd\x02\x02\n\n\r\n\ - \x05\x04\t\x02\x06\x05\x12\x04\xcd\x02\x0b\x11\n\r\n\x05\x04\t\x02\x06\ - \x01\x12\x04\xcd\x02\x12\x1c\n\r\n\x05\x04\t\x02\x06\x03\x12\x04\xcd\x02\ - \x1f!\n\xd4\x04\n\x04\x04\t\x02\x07\x12\x04\xdb\x02\x029\x1a\xc5\x04\x20\ - Should\x20generic\x20services\x20be\x20generated\x20in\x20each\x20langua\ - ge?\x20\x20\"Generic\"\x20services\n\x20are\x20not\x20specific\x20to\x20\ - any\x20particular\x20RPC\x20system.\x20\x20They\x20are\x20generated\x20b\ - y\x20the\n\x20main\x20code\x20generators\x20in\x20each\x20language\x20(w\ - ithout\x20additional\x20plugins).\n\x20Generic\x20services\x20were\x20th\ - e\x20only\x20kind\x20of\x20service\x20generation\x20supported\x20by\n\ - \x20early\x20versions\x20of\x20google.protobuf.\n\n\x20Generic\x20servic\ - es\x20are\x20now\x20considered\x20deprecated\x20in\x20favor\x20of\x20usi\ - ng\x20plugins\n\x20that\x20generate\x20code\x20specific\x20to\x20your\ - \x20particular\x20RPC\x20system.\x20\x20Therefore,\n\x20these\x20default\ - \x20to\x20false.\x20\x20Old\x20code\x20which\x20depends\x20on\x20generic\ - \x20services\x20should\n\x20explicitly\x20set\x20them\x20to\x20true.\n\n\ - \r\n\x05\x04\t\x02\x07\x04\x12\x04\xdb\x02\x02\n\n\r\n\x05\x04\t\x02\x07\ - \x05\x12\x04\xdb\x02\x0b\x0f\n\r\n\x05\x04\t\x02\x07\x01\x12\x04\xdb\x02\ - \x10#\n\r\n\x05\x04\t\x02\x07\x03\x12\x04\xdb\x02&(\n\r\n\x05\x04\t\x02\ - \x07\x08\x12\x04\xdb\x02)8\n\r\n\x05\x04\t\x02\x07\x07\x12\x04\xdb\x0227\ - \n\x0c\n\x04\x04\t\x02\x08\x12\x04\xdc\x02\x02;\n\r\n\x05\x04\t\x02\x08\ - \x04\x12\x04\xdc\x02\x02\n\n\r\n\x05\x04\t\x02\x08\x05\x12\x04\xdc\x02\ - \x0b\x0f\n\r\n\x05\x04\t\x02\x08\x01\x12\x04\xdc\x02\x10%\n\r\n\x05\x04\ - \t\x02\x08\x03\x12\x04\xdc\x02(*\n\r\n\x05\x04\t\x02\x08\x08\x12\x04\xdc\ - \x02+:\n\r\n\x05\x04\t\x02\x08\x07\x12\x04\xdc\x0249\n\x0c\n\x04\x04\t\ - \x02\t\x12\x04\xdd\x02\x029\n\r\n\x05\x04\t\x02\t\x04\x12\x04\xdd\x02\ - \x02\n\n\r\n\x05\x04\t\x02\t\x05\x12\x04\xdd\x02\x0b\x0f\n\r\n\x05\x04\t\ - \x02\t\x01\x12\x04\xdd\x02\x10#\n\r\n\x05\x04\t\x02\t\x03\x12\x04\xdd\ - \x02&(\n\r\n\x05\x04\t\x02\t\x08\x12\x04\xdd\x02)8\n\r\n\x05\x04\t\x02\t\ - \x07\x12\x04\xdd\x0227\n\xf3\x01\n\x04\x04\t\x02\n\x12\x04\xe3\x02\x020\ - \x1a\xe4\x01\x20Is\x20this\x20file\x20deprecated?\n\x20Depending\x20on\ - \x20the\x20target\x20platform,\x20this\x20can\x20emit\x20Deprecated\x20a\ - nnotations\n\x20for\x20everything\x20in\x20the\x20file,\x20or\x20it\x20w\ - ill\x20be\x20completely\x20ignored;\x20in\x20the\x20very\n\x20least,\x20\ - this\x20is\x20a\x20formalization\x20for\x20deprecating\x20files.\n\n\r\n\ - \x05\x04\t\x02\n\x04\x12\x04\xe3\x02\x02\n\n\r\n\x05\x04\t\x02\n\x05\x12\ - \x04\xe3\x02\x0b\x0f\n\r\n\x05\x04\t\x02\n\x01\x12\x04\xe3\x02\x10\x1a\n\ - \r\n\x05\x04\t\x02\n\x03\x12\x04\xe3\x02\x1d\x1f\n\r\n\x05\x04\t\x02\n\ - \x08\x12\x04\xe3\x02\x20/\n\r\n\x05\x04\t\x02\n\x07\x12\x04\xe3\x02).\n\ - \x7f\n\x04\x04\t\x02\x0b\x12\x04\xe7\x02\x026\x1aq\x20Enables\x20the\x20\ - use\x20of\x20arenas\x20for\x20the\x20proto\x20messages\x20in\x20this\x20\ - file.\x20This\x20applies\n\x20only\x20to\x20generated\x20classes\x20for\ - \x20C++.\n\n\r\n\x05\x04\t\x02\x0b\x04\x12\x04\xe7\x02\x02\n\n\r\n\x05\ - \x04\t\x02\x0b\x05\x12\x04\xe7\x02\x0b\x0f\n\r\n\x05\x04\t\x02\x0b\x01\ - \x12\x04\xe7\x02\x10\x20\n\r\n\x05\x04\t\x02\x0b\x03\x12\x04\xe7\x02#%\n\ - \r\n\x05\x04\t\x02\x0b\x08\x12\x04\xe7\x02&5\n\r\n\x05\x04\t\x02\x0b\x07\ - \x12\x04\xe7\x02/4\n\x92\x01\n\x04\x04\t\x02\x0c\x12\x04\xec\x02\x02)\ + to\x20a\x20message\x20type.\n\n\r\n\x05\x04\t\x02\x01\x04\x12\x04\xa9\ + \x02\x02\n\n\r\n\x05\x04\t\x02\x01\x05\x12\x04\xa9\x02\x0b\x11\n\r\n\x05\ + \x04\t\x02\x01\x01\x12\x04\xa9\x02\x12\x1c\n\r\n\x05\x04\t\x02\x01\x03\ + \x12\x04\xa9\x02\x1f\x20\n\x0c\n\x04\x04\t\x02\x02\x12\x04\xaa\x02\x02\"\ + \n\r\n\x05\x04\t\x02\x02\x04\x12\x04\xaa\x02\x02\n\n\r\n\x05\x04\t\x02\ + \x02\x05\x12\x04\xaa\x02\x0b\x11\n\r\n\x05\x04\t\x02\x02\x01\x12\x04\xaa\ + \x02\x12\x1d\n\r\n\x05\x04\t\x02\x02\x03\x12\x04\xaa\x02\x20!\n\x0c\n\ + \x04\x04\t\x02\x03\x12\x04\xac\x02\x02%\n\r\n\x05\x04\t\x02\x03\x04\x12\ + \x04\xac\x02\x02\n\n\r\n\x05\x04\t\x02\x03\x06\x12\x04\xac\x02\x0b\x18\n\ + \r\n\x05\x04\t\x02\x03\x01\x12\x04\xac\x02\x19\x20\n\r\n\x05\x04\t\x02\ + \x03\x03\x12\x04\xac\x02#$\nE\n\x04\x04\t\x02\x04\x12\x04\xaf\x02\x027\ + \x1a7\x20Identifies\x20if\x20client\x20streams\x20multiple\x20client\x20\ + messages\n\n\r\n\x05\x04\t\x02\x04\x04\x12\x04\xaf\x02\x02\n\n\r\n\x05\ + \x04\t\x02\x04\x05\x12\x04\xaf\x02\x0b\x0f\n\r\n\x05\x04\t\x02\x04\x01\ + \x12\x04\xaf\x02\x10\x20\n\r\n\x05\x04\t\x02\x04\x03\x12\x04\xaf\x02#$\n\ + \r\n\x05\x04\t\x02\x04\x08\x12\x04\xaf\x02%6\n\r\n\x05\x04\t\x02\x04\x07\ + \x12\x04\xaf\x0205\nE\n\x04\x04\t\x02\x05\x12\x04\xb1\x02\x027\x1a7\x20I\ + dentifies\x20if\x20server\x20streams\x20multiple\x20server\x20messages\n\ + \n\r\n\x05\x04\t\x02\x05\x04\x12\x04\xb1\x02\x02\n\n\r\n\x05\x04\t\x02\ + \x05\x05\x12\x04\xb1\x02\x0b\x0f\n\r\n\x05\x04\t\x02\x05\x01\x12\x04\xb1\ + \x02\x10\x20\n\r\n\x05\x04\t\x02\x05\x03\x12\x04\xb1\x02#$\n\r\n\x05\x04\ + \t\x02\x05\x08\x12\x04\xb1\x02%6\n\r\n\x05\x04\t\x02\x05\x07\x12\x04\xb1\ + \x0205\n\xaf\x0e\n\x02\x04\n\x12\x06\xd5\x02\0\xd0\x03\x012N\x20========\ + ===========================================================\n\x20Options\ + \n2\xd0\r\x20Each\x20of\x20the\x20definitions\x20above\x20may\x20have\ + \x20\"options\"\x20attached.\x20\x20These\x20are\n\x20just\x20annotation\ + s\x20which\x20may\x20cause\x20code\x20to\x20be\x20generated\x20slightly\ + \x20differently\n\x20or\x20may\x20contain\x20hints\x20for\x20code\x20tha\ + t\x20manipulates\x20protocol\x20messages.\n\n\x20Clients\x20may\x20defin\ + e\x20custom\x20options\x20as\x20extensions\x20of\x20the\x20*Options\x20m\ + essages.\n\x20These\x20extensions\x20may\x20not\x20yet\x20be\x20known\ + \x20at\x20parsing\x20time,\x20so\x20the\x20parser\x20cannot\n\x20store\ + \x20the\x20values\x20in\x20them.\x20\x20Instead\x20it\x20stores\x20them\ + \x20in\x20a\x20field\x20in\x20the\x20*Options\n\x20message\x20called\x20\ + uninterpreted_option.\x20This\x20field\x20must\x20have\x20the\x20same\ + \x20name\n\x20across\x20all\x20*Options\x20messages.\x20We\x20then\x20us\ + e\x20this\x20field\x20to\x20populate\x20the\n\x20extensions\x20when\x20w\ + e\x20build\x20a\x20descriptor,\x20at\x20which\x20point\x20all\x20protos\ + \x20have\x20been\n\x20parsed\x20and\x20so\x20all\x20extensions\x20are\ + \x20known.\n\n\x20Extension\x20numbers\x20for\x20custom\x20options\x20ma\ + y\x20be\x20chosen\x20as\x20follows:\n\x20*\x20For\x20options\x20which\ + \x20will\x20only\x20be\x20used\x20within\x20a\x20single\x20application\ + \x20or\n\x20\x20\x20organization,\x20or\x20for\x20experimental\x20option\ + s,\x20use\x20field\x20numbers\x2050000\n\x20\x20\x20through\x2099999.\ + \x20\x20It\x20is\x20up\x20to\x20you\x20to\x20ensure\x20that\x20you\x20do\ + \x20not\x20use\x20the\n\x20\x20\x20same\x20number\x20for\x20multiple\x20\ + options.\n\x20*\x20For\x20options\x20which\x20will\x20be\x20published\ + \x20and\x20used\x20publicly\x20by\x20multiple\n\x20\x20\x20independent\ + \x20entities,\x20e-mail\x20protobuf-global-extension-registry@google.com\ + \n\x20\x20\x20to\x20reserve\x20extension\x20numbers.\x20Simply\x20provid\ + e\x20your\x20project\x20name\x20(e.g.\n\x20\x20\x20Objective-C\x20plugin\ + )\x20and\x20your\x20project\x20website\x20(if\x20available)\x20--\x20the\ + re's\x20no\n\x20\x20\x20need\x20to\x20explain\x20how\x20you\x20intend\ + \x20to\x20use\x20them.\x20Usually\x20you\x20only\x20need\x20one\n\x20\ + \x20\x20extension\x20number.\x20You\x20can\x20declare\x20multiple\x20opt\ + ions\x20with\x20only\x20one\x20extension\n\x20\x20\x20number\x20by\x20pu\ + tting\x20them\x20in\x20a\x20sub-message.\x20See\x20the\x20Custom\x20Opti\ + ons\x20section\x20of\n\x20\x20\x20the\x20docs\x20for\x20examples:\n\x20\ + \x20\x20https://developers.google.com/protocol-buffers/docs/proto#option\ + s\n\x20\x20\x20If\x20this\x20turns\x20out\x20to\x20be\x20popular,\x20a\ + \x20web\x20service\x20will\x20be\x20set\x20up\n\x20\x20\x20to\x20automat\ + ically\x20assign\x20option\x20numbers.\n\n\x0b\n\x03\x04\n\x01\x12\x04\ + \xd5\x02\x08\x13\n\xf4\x01\n\x04\x04\n\x02\0\x12\x04\xdb\x02\x02#\x1a\ + \xe5\x01\x20Sets\x20the\x20Java\x20package\x20where\x20classes\x20genera\ + ted\x20from\x20this\x20.proto\x20will\x20be\n\x20placed.\x20\x20By\x20de\ + fault,\x20the\x20proto\x20package\x20is\x20used,\x20but\x20this\x20is\ + \x20often\n\x20inappropriate\x20because\x20proto\x20packages\x20do\x20no\ + t\x20normally\x20start\x20with\x20backwards\n\x20domain\x20names.\n\n\r\ + \n\x05\x04\n\x02\0\x04\x12\x04\xdb\x02\x02\n\n\r\n\x05\x04\n\x02\0\x05\ + \x12\x04\xdb\x02\x0b\x11\n\r\n\x05\x04\n\x02\0\x01\x12\x04\xdb\x02\x12\ + \x1e\n\r\n\x05\x04\n\x02\0\x03\x12\x04\xdb\x02!\"\n\xbf\x02\n\x04\x04\n\ + \x02\x01\x12\x04\xe3\x02\x02+\x1a\xb0\x02\x20If\x20set,\x20all\x20the\ + \x20classes\x20from\x20the\x20.proto\x20file\x20are\x20wrapped\x20in\x20\ + a\x20single\n\x20outer\x20class\x20with\x20the\x20given\x20name.\x20\x20\ + This\x20applies\x20to\x20both\x20Proto1\n\x20(equivalent\x20to\x20the\ + \x20old\x20\"--one_java_file\"\x20option)\x20and\x20Proto2\x20(where\n\ + \x20a\x20.proto\x20always\x20translates\x20to\x20a\x20single\x20class,\ + \x20but\x20you\x20may\x20want\x20to\n\x20explicitly\x20choose\x20the\x20\ + class\x20name).\n\n\r\n\x05\x04\n\x02\x01\x04\x12\x04\xe3\x02\x02\n\n\r\ + \n\x05\x04\n\x02\x01\x05\x12\x04\xe3\x02\x0b\x11\n\r\n\x05\x04\n\x02\x01\ + \x01\x12\x04\xe3\x02\x12&\n\r\n\x05\x04\n\x02\x01\x03\x12\x04\xe3\x02)*\ + \n\xa3\x03\n\x04\x04\n\x02\x02\x12\x04\xeb\x02\x02;\x1a\x94\x03\x20If\ + \x20set\x20true,\x20then\x20the\x20Java\x20code\x20generator\x20will\x20\ + generate\x20a\x20separate\x20.java\n\x20file\x20for\x20each\x20top-level\ + \x20message,\x20enum,\x20and\x20service\x20defined\x20in\x20the\x20.prot\ + o\n\x20file.\x20\x20Thus,\x20these\x20types\x20will\x20*not*\x20be\x20ne\ + sted\x20inside\x20the\x20outer\x20class\n\x20named\x20by\x20java_outer_c\ + lassname.\x20\x20However,\x20the\x20outer\x20class\x20will\x20still\x20b\ + e\n\x20generated\x20to\x20contain\x20the\x20file's\x20getDescriptor()\ + \x20method\x20as\x20well\x20as\x20any\n\x20top-level\x20extensions\x20de\ + fined\x20in\x20the\x20file.\n\n\r\n\x05\x04\n\x02\x02\x04\x12\x04\xeb\ + \x02\x02\n\n\r\n\x05\x04\n\x02\x02\x05\x12\x04\xeb\x02\x0b\x0f\n\r\n\x05\ + \x04\n\x02\x02\x01\x12\x04\xeb\x02\x10#\n\r\n\x05\x04\n\x02\x02\x03\x12\ + \x04\xeb\x02&(\n\r\n\x05\x04\n\x02\x02\x08\x12\x04\xeb\x02):\n\r\n\x05\ + \x04\n\x02\x02\x07\x12\x04\xeb\x0249\n)\n\x04\x04\n\x02\x03\x12\x04\xee\ + \x02\x02E\x1a\x1b\x20This\x20option\x20does\x20nothing.\n\n\r\n\x05\x04\ + \n\x02\x03\x04\x12\x04\xee\x02\x02\n\n\r\n\x05\x04\n\x02\x03\x05\x12\x04\ + \xee\x02\x0b\x0f\n\r\n\x05\x04\n\x02\x03\x01\x12\x04\xee\x02\x10-\n\r\n\ + \x05\x04\n\x02\x03\x03\x12\x04\xee\x0202\n\r\n\x05\x04\n\x02\x03\x08\x12\ + \x04\xee\x023D\n\x0e\n\x06\x04\n\x02\x03\x08\x03\x12\x04\xee\x024C\n\xe6\ + \x02\n\x04\x04\n\x02\x04\x12\x04\xf6\x02\x02>\x1a\xd7\x02\x20If\x20set\ + \x20true,\x20then\x20the\x20Java2\x20code\x20generator\x20will\x20genera\ + te\x20code\x20that\n\x20throws\x20an\x20exception\x20whenever\x20an\x20a\ + ttempt\x20is\x20made\x20to\x20assign\x20a\x20non-UTF-8\n\x20byte\x20sequ\ + ence\x20to\x20a\x20string\x20field.\n\x20Message\x20reflection\x20will\ + \x20do\x20the\x20same.\n\x20However,\x20an\x20extension\x20field\x20stil\ + l\x20accepts\x20non-UTF-8\x20byte\x20sequences.\n\x20This\x20option\x20h\ + as\x20no\x20effect\x20on\x20when\x20used\x20with\x20the\x20lite\x20runti\ + me.\n\n\r\n\x05\x04\n\x02\x04\x04\x12\x04\xf6\x02\x02\n\n\r\n\x05\x04\n\ + \x02\x04\x05\x12\x04\xf6\x02\x0b\x0f\n\r\n\x05\x04\n\x02\x04\x01\x12\x04\ + \xf6\x02\x10&\n\r\n\x05\x04\n\x02\x04\x03\x12\x04\xf6\x02)+\n\r\n\x05\ + \x04\n\x02\x04\x08\x12\x04\xf6\x02,=\n\r\n\x05\x04\n\x02\x04\x07\x12\x04\ + \xf6\x027<\nL\n\x04\x04\n\x04\0\x12\x06\xfa\x02\x02\xff\x02\x03\x1a<\x20\ + Generated\x20classes\x20can\x20be\x20optimized\x20for\x20speed\x20or\x20\ + code\x20size.\n\n\r\n\x05\x04\n\x04\0\x01\x12\x04\xfa\x02\x07\x13\nD\n\ + \x06\x04\n\x04\0\x02\0\x12\x04\xfb\x02\x04\x0e\"4\x20Generate\x20complet\ + e\x20code\x20for\x20parsing,\x20serialization,\n\n\x0f\n\x07\x04\n\x04\0\ + \x02\0\x01\x12\x04\xfb\x02\x04\t\n\x0f\n\x07\x04\n\x04\0\x02\0\x02\x12\ + \x04\xfb\x02\x0c\r\nG\n\x06\x04\n\x04\0\x02\x01\x12\x04\xfd\x02\x04\x12\ + \x1a\x06\x20etc.\n\"/\x20Use\x20ReflectionOps\x20to\x20implement\x20thes\ + e\x20methods.\n\n\x0f\n\x07\x04\n\x04\0\x02\x01\x01\x12\x04\xfd\x02\x04\ + \r\n\x0f\n\x07\x04\n\x04\0\x02\x01\x02\x12\x04\xfd\x02\x10\x11\nG\n\x06\ + \x04\n\x04\0\x02\x02\x12\x04\xfe\x02\x04\x15\"7\x20Generate\x20code\x20u\ + sing\x20MessageLite\x20and\x20the\x20lite\x20runtime.\n\n\x0f\n\x07\x04\ + \n\x04\0\x02\x02\x01\x12\x04\xfe\x02\x04\x10\n\x0f\n\x07\x04\n\x04\0\x02\ + \x02\x02\x12\x04\xfe\x02\x13\x14\n\x0c\n\x04\x04\n\x02\x05\x12\x04\x80\ + \x03\x02;\n\r\n\x05\x04\n\x02\x05\x04\x12\x04\x80\x03\x02\n\n\r\n\x05\ + \x04\n\x02\x05\x06\x12\x04\x80\x03\x0b\x17\n\r\n\x05\x04\n\x02\x05\x01\ + \x12\x04\x80\x03\x18$\n\r\n\x05\x04\n\x02\x05\x03\x12\x04\x80\x03'(\n\r\ + \n\x05\x04\n\x02\x05\x08\x12\x04\x80\x03):\n\r\n\x05\x04\n\x02\x05\x07\ + \x12\x04\x80\x0349\n\xe2\x02\n\x04\x04\n\x02\x06\x12\x04\x87\x03\x02\"\ + \x1a\xd3\x02\x20Sets\x20the\x20Go\x20package\x20where\x20structs\x20gene\ + rated\x20from\x20this\x20.proto\x20will\x20be\n\x20placed.\x20If\x20omit\ + ted,\x20the\x20Go\x20package\x20will\x20be\x20derived\x20from\x20the\x20\ + following:\n\x20\x20\x20-\x20The\x20basename\x20of\x20the\x20package\x20\ + import\x20path,\x20if\x20provided.\n\x20\x20\x20-\x20Otherwise,\x20the\ + \x20package\x20statement\x20in\x20the\x20.proto\x20file,\x20if\x20presen\ + t.\n\x20\x20\x20-\x20Otherwise,\x20the\x20basename\x20of\x20the\x20.prot\ + o\x20file,\x20without\x20extension.\n\n\r\n\x05\x04\n\x02\x06\x04\x12\ + \x04\x87\x03\x02\n\n\r\n\x05\x04\n\x02\x06\x05\x12\x04\x87\x03\x0b\x11\n\ + \r\n\x05\x04\n\x02\x06\x01\x12\x04\x87\x03\x12\x1c\n\r\n\x05\x04\n\x02\ + \x06\x03\x12\x04\x87\x03\x1f!\n\xd4\x04\n\x04\x04\n\x02\x07\x12\x04\x96\ + \x03\x02;\x1a\xc5\x04\x20Should\x20generic\x20services\x20be\x20generate\ + d\x20in\x20each\x20language?\x20\x20\"Generic\"\x20services\n\x20are\x20\ + not\x20specific\x20to\x20any\x20particular\x20RPC\x20system.\x20\x20They\ + \x20are\x20generated\x20by\x20the\n\x20main\x20code\x20generators\x20in\ + \x20each\x20language\x20(without\x20additional\x20plugins).\n\x20Generic\ + \x20services\x20were\x20the\x20only\x20kind\x20of\x20service\x20generati\ + on\x20supported\x20by\n\x20early\x20versions\x20of\x20google.protobuf.\n\ + \n\x20Generic\x20services\x20are\x20now\x20considered\x20deprecated\x20i\ + n\x20favor\x20of\x20using\x20plugins\n\x20that\x20generate\x20code\x20sp\ + ecific\x20to\x20your\x20particular\x20RPC\x20system.\x20\x20Therefore,\n\ + \x20these\x20default\x20to\x20false.\x20\x20Old\x20code\x20which\x20depe\ + nds\x20on\x20generic\x20services\x20should\n\x20explicitly\x20set\x20the\ + m\x20to\x20true.\n\n\r\n\x05\x04\n\x02\x07\x04\x12\x04\x96\x03\x02\n\n\r\ + \n\x05\x04\n\x02\x07\x05\x12\x04\x96\x03\x0b\x0f\n\r\n\x05\x04\n\x02\x07\ + \x01\x12\x04\x96\x03\x10#\n\r\n\x05\x04\n\x02\x07\x03\x12\x04\x96\x03&(\ + \n\r\n\x05\x04\n\x02\x07\x08\x12\x04\x96\x03):\n\r\n\x05\x04\n\x02\x07\ + \x07\x12\x04\x96\x0349\n\x0c\n\x04\x04\n\x02\x08\x12\x04\x97\x03\x02=\n\ + \r\n\x05\x04\n\x02\x08\x04\x12\x04\x97\x03\x02\n\n\r\n\x05\x04\n\x02\x08\ + \x05\x12\x04\x97\x03\x0b\x0f\n\r\n\x05\x04\n\x02\x08\x01\x12\x04\x97\x03\ + \x10%\n\r\n\x05\x04\n\x02\x08\x03\x12\x04\x97\x03(*\n\r\n\x05\x04\n\x02\ + \x08\x08\x12\x04\x97\x03+<\n\r\n\x05\x04\n\x02\x08\x07\x12\x04\x97\x036;\ + \n\x0c\n\x04\x04\n\x02\t\x12\x04\x98\x03\x02;\n\r\n\x05\x04\n\x02\t\x04\ + \x12\x04\x98\x03\x02\n\n\r\n\x05\x04\n\x02\t\x05\x12\x04\x98\x03\x0b\x0f\ + \n\r\n\x05\x04\n\x02\t\x01\x12\x04\x98\x03\x10#\n\r\n\x05\x04\n\x02\t\ + \x03\x12\x04\x98\x03&(\n\r\n\x05\x04\n\x02\t\x08\x12\x04\x98\x03):\n\r\n\ + \x05\x04\n\x02\t\x07\x12\x04\x98\x0349\n\x0c\n\x04\x04\n\x02\n\x12\x04\ + \x99\x03\x02<\n\r\n\x05\x04\n\x02\n\x04\x12\x04\x99\x03\x02\n\n\r\n\x05\ + \x04\n\x02\n\x05\x12\x04\x99\x03\x0b\x0f\n\r\n\x05\x04\n\x02\n\x01\x12\ + \x04\x99\x03\x10$\n\r\n\x05\x04\n\x02\n\x03\x12\x04\x99\x03')\n\r\n\x05\ + \x04\n\x02\n\x08\x12\x04\x99\x03*;\n\r\n\x05\x04\n\x02\n\x07\x12\x04\x99\ + \x035:\n\xf3\x01\n\x04\x04\n\x02\x0b\x12\x04\x9f\x03\x022\x1a\xe4\x01\ + \x20Is\x20this\x20file\x20deprecated?\n\x20Depending\x20on\x20the\x20tar\ + get\x20platform,\x20this\x20can\x20emit\x20Deprecated\x20annotations\n\ + \x20for\x20everything\x20in\x20the\x20file,\x20or\x20it\x20will\x20be\ + \x20completely\x20ignored;\x20in\x20the\x20very\n\x20least,\x20this\x20i\ + s\x20a\x20formalization\x20for\x20deprecating\x20files.\n\n\r\n\x05\x04\ + \n\x02\x0b\x04\x12\x04\x9f\x03\x02\n\n\r\n\x05\x04\n\x02\x0b\x05\x12\x04\ + \x9f\x03\x0b\x0f\n\r\n\x05\x04\n\x02\x0b\x01\x12\x04\x9f\x03\x10\x1a\n\r\ + \n\x05\x04\n\x02\x0b\x03\x12\x04\x9f\x03\x1d\x1f\n\r\n\x05\x04\n\x02\x0b\ + \x08\x12\x04\x9f\x03\x201\n\r\n\x05\x04\n\x02\x0b\x07\x12\x04\x9f\x03+0\ + \n\x7f\n\x04\x04\n\x02\x0c\x12\x04\xa3\x03\x027\x1aq\x20Enables\x20the\ + \x20use\x20of\x20arenas\x20for\x20the\x20proto\x20messages\x20in\x20this\ + \x20file.\x20This\x20applies\n\x20only\x20to\x20generated\x20classes\x20\ + for\x20C++.\n\n\r\n\x05\x04\n\x02\x0c\x04\x12\x04\xa3\x03\x02\n\n\r\n\ + \x05\x04\n\x02\x0c\x05\x12\x04\xa3\x03\x0b\x0f\n\r\n\x05\x04\n\x02\x0c\ + \x01\x12\x04\xa3\x03\x10\x20\n\r\n\x05\x04\n\x02\x0c\x03\x12\x04\xa3\x03\ + #%\n\r\n\x05\x04\n\x02\x0c\x08\x12\x04\xa3\x03&6\n\r\n\x05\x04\n\x02\x0c\ + \x07\x12\x04\xa3\x0315\n\x92\x01\n\x04\x04\n\x02\r\x12\x04\xa8\x03\x02)\ \x1a\x83\x01\x20Sets\x20the\x20objective\x20c\x20class\x20prefix\x20whic\ h\x20is\x20prepended\x20to\x20all\x20objective\x20c\n\x20generated\x20cl\ asses\x20from\x20this\x20.proto.\x20There\x20is\x20no\x20default.\n\n\r\ - \n\x05\x04\t\x02\x0c\x04\x12\x04\xec\x02\x02\n\n\r\n\x05\x04\t\x02\x0c\ - \x05\x12\x04\xec\x02\x0b\x11\n\r\n\x05\x04\t\x02\x0c\x01\x12\x04\xec\x02\ - \x12#\n\r\n\x05\x04\t\x02\x0c\x03\x12\x04\xec\x02&(\nI\n\x04\x04\t\x02\r\ - \x12\x04\xef\x02\x02(\x1a;\x20Namespace\x20for\x20generated\x20classes;\ - \x20defaults\x20to\x20the\x20package.\n\n\r\n\x05\x04\t\x02\r\x04\x12\ - \x04\xef\x02\x02\n\n\r\n\x05\x04\t\x02\r\x05\x12\x04\xef\x02\x0b\x11\n\r\ - \n\x05\x04\t\x02\r\x01\x12\x04\xef\x02\x12\"\n\r\n\x05\x04\t\x02\r\x03\ - \x12\x04\xef\x02%'\nO\n\x04\x04\t\x02\x0e\x12\x04\xf2\x02\x02:\x1aA\x20T\ + \n\x05\x04\n\x02\r\x04\x12\x04\xa8\x03\x02\n\n\r\n\x05\x04\n\x02\r\x05\ + \x12\x04\xa8\x03\x0b\x11\n\r\n\x05\x04\n\x02\r\x01\x12\x04\xa8\x03\x12#\ + \n\r\n\x05\x04\n\x02\r\x03\x12\x04\xa8\x03&(\nI\n\x04\x04\n\x02\x0e\x12\ + \x04\xab\x03\x02(\x1a;\x20Namespace\x20for\x20generated\x20classes;\x20d\ + efaults\x20to\x20the\x20package.\n\n\r\n\x05\x04\n\x02\x0e\x04\x12\x04\ + \xab\x03\x02\n\n\r\n\x05\x04\n\x02\x0e\x05\x12\x04\xab\x03\x0b\x11\n\r\n\ + \x05\x04\n\x02\x0e\x01\x12\x04\xab\x03\x12\"\n\r\n\x05\x04\n\x02\x0e\x03\ + \x12\x04\xab\x03%'\n\x91\x02\n\x04\x04\n\x02\x0f\x12\x04\xb1\x03\x02$\ + \x1a\x82\x02\x20By\x20default\x20Swift\x20generators\x20will\x20take\x20\ + the\x20proto\x20package\x20and\x20CamelCase\x20it\n\x20replacing\x20'.'\ + \x20with\x20underscore\x20and\x20use\x20that\x20to\x20prefix\x20the\x20t\ + ypes/symbols\n\x20defined.\x20When\x20this\x20options\x20is\x20provided,\ + \x20they\x20will\x20use\x20this\x20value\x20instead\n\x20to\x20prefix\ + \x20the\x20types/symbols\x20defined.\n\n\r\n\x05\x04\n\x02\x0f\x04\x12\ + \x04\xb1\x03\x02\n\n\r\n\x05\x04\n\x02\x0f\x05\x12\x04\xb1\x03\x0b\x11\n\ + \r\n\x05\x04\n\x02\x0f\x01\x12\x04\xb1\x03\x12\x1e\n\r\n\x05\x04\n\x02\ + \x0f\x03\x12\x04\xb1\x03!#\n~\n\x04\x04\n\x02\x10\x12\x04\xb5\x03\x02(\ + \x1ap\x20Sets\x20the\x20php\x20class\x20prefix\x20which\x20is\x20prepend\ + ed\x20to\x20all\x20php\x20generated\x20classes\n\x20from\x20this\x20.pro\ + to.\x20Default\x20is\x20empty.\n\n\r\n\x05\x04\n\x02\x10\x04\x12\x04\xb5\ + \x03\x02\n\n\r\n\x05\x04\n\x02\x10\x05\x12\x04\xb5\x03\x0b\x11\n\r\n\x05\ + \x04\n\x02\x10\x01\x12\x04\xb5\x03\x12\"\n\r\n\x05\x04\n\x02\x10\x03\x12\ + \x04\xb5\x03%'\n\xbe\x01\n\x04\x04\n\x02\x11\x12\x04\xba\x03\x02%\x1a\ + \xaf\x01\x20Use\x20this\x20option\x20to\x20change\x20the\x20namespace\ + \x20of\x20php\x20generated\x20classes.\x20Default\n\x20is\x20empty.\x20W\ + hen\x20this\x20option\x20is\x20empty,\x20the\x20package\x20name\x20will\ + \x20be\x20used\x20for\n\x20determining\x20the\x20namespace.\n\n\r\n\x05\ + \x04\n\x02\x11\x04\x12\x04\xba\x03\x02\n\n\r\n\x05\x04\n\x02\x11\x05\x12\ + \x04\xba\x03\x0b\x11\n\r\n\x05\x04\n\x02\x11\x01\x12\x04\xba\x03\x12\x1f\ + \n\r\n\x05\x04\n\x02\x11\x03\x12\x04\xba\x03\"$\n\xca\x01\n\x04\x04\n\ + \x02\x12\x12\x04\xbf\x03\x02.\x1a\xbb\x01\x20Use\x20this\x20option\x20to\ + \x20change\x20the\x20namespace\x20of\x20php\x20generated\x20metadata\x20\ + classes.\n\x20Default\x20is\x20empty.\x20When\x20this\x20option\x20is\ + \x20empty,\x20the\x20proto\x20file\x20name\x20will\x20be\n\x20used\x20fo\ + r\x20determining\x20the\x20namespace.\n\n\r\n\x05\x04\n\x02\x12\x04\x12\ + \x04\xbf\x03\x02\n\n\r\n\x05\x04\n\x02\x12\x05\x12\x04\xbf\x03\x0b\x11\n\ + \r\n\x05\x04\n\x02\x12\x01\x12\x04\xbf\x03\x12(\n\r\n\x05\x04\n\x02\x12\ + \x03\x12\x04\xbf\x03+-\n\xc2\x01\n\x04\x04\n\x02\x13\x12\x04\xc4\x03\x02\ + $\x1a\xb3\x01\x20Use\x20this\x20option\x20to\x20change\x20the\x20package\ + \x20of\x20ruby\x20generated\x20classes.\x20Default\n\x20is\x20empty.\x20\ + When\x20this\x20option\x20is\x20not\x20set,\x20the\x20package\x20name\ + \x20will\x20be\x20used\x20for\n\x20determining\x20the\x20ruby\x20package\ + .\n\n\r\n\x05\x04\n\x02\x13\x04\x12\x04\xc4\x03\x02\n\n\r\n\x05\x04\n\ + \x02\x13\x05\x12\x04\xc4\x03\x0b\x11\n\r\n\x05\x04\n\x02\x13\x01\x12\x04\ + \xc4\x03\x12\x1e\n\r\n\x05\x04\n\x02\x13\x03\x12\x04\xc4\x03!#\n|\n\x04\ + \x04\n\x02\x14\x12\x04\xc9\x03\x02:\x1an\x20The\x20parser\x20stores\x20o\ + ptions\x20it\x20doesn't\x20recognize\x20here.\n\x20See\x20the\x20documen\ + tation\x20for\x20the\x20\"Options\"\x20section\x20above.\n\n\r\n\x05\x04\ + \n\x02\x14\x04\x12\x04\xc9\x03\x02\n\n\r\n\x05\x04\n\x02\x14\x06\x12\x04\ + \xc9\x03\x0b\x1e\n\r\n\x05\x04\n\x02\x14\x01\x12\x04\xc9\x03\x1f3\n\r\n\ + \x05\x04\n\x02\x14\x03\x12\x04\xc9\x0369\n\x87\x01\n\x03\x04\n\x05\x12\ + \x04\xcd\x03\x02\x19\x1az\x20Clients\x20can\x20define\x20custom\x20optio\ + ns\x20in\x20extensions\x20of\x20this\x20message.\n\x20See\x20the\x20docu\ + mentation\x20for\x20the\x20\"Options\"\x20section\x20above.\n\n\x0c\n\ + \x04\x04\n\x05\0\x12\x04\xcd\x03\r\x18\n\r\n\x05\x04\n\x05\0\x01\x12\x04\ + \xcd\x03\r\x11\n\r\n\x05\x04\n\x05\0\x02\x12\x04\xcd\x03\x15\x18\n\x0b\n\ + \x03\x04\n\t\x12\x04\xcf\x03\x02\x0e\n\x0c\n\x04\x04\n\t\0\x12\x04\xcf\ + \x03\x0b\r\n\r\n\x05\x04\n\t\0\x01\x12\x04\xcf\x03\x0b\r\n\r\n\x05\x04\n\ + \t\0\x02\x12\x04\xcf\x03\x0b\r\n\x0c\n\x02\x04\x0b\x12\x06\xd2\x03\0\x92\ + \x04\x01\n\x0b\n\x03\x04\x0b\x01\x12\x04\xd2\x03\x08\x16\n\xd8\x05\n\x04\ + \x04\x0b\x02\0\x12\x04\xe5\x03\x02>\x1a\xc9\x05\x20Set\x20true\x20to\x20\ + use\x20the\x20old\x20proto1\x20MessageSet\x20wire\x20format\x20for\x20ex\ + tensions.\n\x20This\x20is\x20provided\x20for\x20backwards-compatibility\ + \x20with\x20the\x20MessageSet\x20wire\n\x20format.\x20\x20You\x20should\ + \x20not\x20use\x20this\x20for\x20any\x20other\x20reason:\x20\x20It's\x20\ + less\n\x20efficient,\x20has\x20fewer\x20features,\x20and\x20is\x20more\ + \x20complicated.\n\n\x20The\x20message\x20must\x20be\x20defined\x20exact\ + ly\x20as\x20follows:\n\x20\x20\x20message\x20Foo\x20{\n\x20\x20\x20\x20\ + \x20option\x20message_set_wire_format\x20=\x20true;\n\x20\x20\x20\x20\ + \x20extensions\x204\x20to\x20max;\n\x20\x20\x20}\n\x20Note\x20that\x20th\ + e\x20message\x20cannot\x20have\x20any\x20defined\x20fields;\x20MessageSe\ + ts\x20only\n\x20have\x20extensions.\n\n\x20All\x20extensions\x20of\x20yo\ + ur\x20type\x20must\x20be\x20singular\x20messages;\x20e.g.\x20they\x20can\ + not\n\x20be\x20int32s,\x20enums,\x20or\x20repeated\x20messages.\n\n\x20B\ + ecause\x20this\x20is\x20an\x20option,\x20the\x20above\x20two\x20restrict\ + ions\x20are\x20not\x20enforced\x20by\n\x20the\x20protocol\x20compiler.\n\ + \n\r\n\x05\x04\x0b\x02\0\x04\x12\x04\xe5\x03\x02\n\n\r\n\x05\x04\x0b\x02\ + \0\x05\x12\x04\xe5\x03\x0b\x0f\n\r\n\x05\x04\x0b\x02\0\x01\x12\x04\xe5\ + \x03\x10'\n\r\n\x05\x04\x0b\x02\0\x03\x12\x04\xe5\x03*+\n\r\n\x05\x04\ + \x0b\x02\0\x08\x12\x04\xe5\x03,=\n\r\n\x05\x04\x0b\x02\0\x07\x12\x04\xe5\ + \x037<\n\xeb\x01\n\x04\x04\x0b\x02\x01\x12\x04\xea\x03\x02F\x1a\xdc\x01\ + \x20Disables\x20the\x20generation\x20of\x20the\x20standard\x20\"descript\ + or()\"\x20accessor,\x20which\x20can\n\x20conflict\x20with\x20a\x20field\ + \x20of\x20the\x20same\x20name.\x20\x20This\x20is\x20meant\x20to\x20make\ + \x20migration\n\x20from\x20proto1\x20easier;\x20new\x20code\x20should\ + \x20avoid\x20fields\x20named\x20\"descriptor\".\n\n\r\n\x05\x04\x0b\x02\ + \x01\x04\x12\x04\xea\x03\x02\n\n\r\n\x05\x04\x0b\x02\x01\x05\x12\x04\xea\ + \x03\x0b\x0f\n\r\n\x05\x04\x0b\x02\x01\x01\x12\x04\xea\x03\x10/\n\r\n\ + \x05\x04\x0b\x02\x01\x03\x12\x04\xea\x0323\n\r\n\x05\x04\x0b\x02\x01\x08\ + \x12\x04\xea\x034E\n\r\n\x05\x04\x0b\x02\x01\x07\x12\x04\xea\x03?D\n\xee\ + \x01\n\x04\x04\x0b\x02\x02\x12\x04\xf0\x03\x021\x1a\xdf\x01\x20Is\x20thi\ + s\x20message\x20deprecated?\n\x20Depending\x20on\x20the\x20target\x20pla\ + tform,\x20this\x20can\x20emit\x20Deprecated\x20annotations\n\x20for\x20t\ + he\x20message,\x20or\x20it\x20will\x20be\x20completely\x20ignored;\x20in\ + \x20the\x20very\x20least,\n\x20this\x20is\x20a\x20formalization\x20for\ + \x20deprecating\x20messages.\n\n\r\n\x05\x04\x0b\x02\x02\x04\x12\x04\xf0\ + \x03\x02\n\n\r\n\x05\x04\x0b\x02\x02\x05\x12\x04\xf0\x03\x0b\x0f\n\r\n\ + \x05\x04\x0b\x02\x02\x01\x12\x04\xf0\x03\x10\x1a\n\r\n\x05\x04\x0b\x02\ + \x02\x03\x12\x04\xf0\x03\x1d\x1e\n\r\n\x05\x04\x0b\x02\x02\x08\x12\x04\ + \xf0\x03\x1f0\n\r\n\x05\x04\x0b\x02\x02\x07\x12\x04\xf0\x03*/\n\xa0\x06\ + \n\x04\x04\x0b\x02\x03\x12\x04\x87\x04\x02\x1e\x1a\x91\x06\x20Whether\ + \x20the\x20message\x20is\x20an\x20automatically\x20generated\x20map\x20e\ + ntry\x20type\x20for\x20the\n\x20maps\x20field.\n\n\x20For\x20maps\x20fie\ + lds:\n\x20\x20\x20\x20\x20map<KeyType,\x20ValueType>\x20map_field\x20=\ + \x201;\n\x20The\x20parsed\x20descriptor\x20looks\x20like:\n\x20\x20\x20\ + \x20\x20message\x20MapFieldEntry\x20{\n\x20\x20\x20\x20\x20\x20\x20\x20\ + \x20option\x20map_entry\x20=\x20true;\n\x20\x20\x20\x20\x20\x20\x20\x20\ + \x20optional\x20KeyType\x20key\x20=\x201;\n\x20\x20\x20\x20\x20\x20\x20\ + \x20\x20optional\x20ValueType\x20value\x20=\x202;\n\x20\x20\x20\x20\x20}\ + \n\x20\x20\x20\x20\x20repeated\x20MapFieldEntry\x20map_field\x20=\x201;\ + \n\n\x20Implementations\x20may\x20choose\x20not\x20to\x20generate\x20the\ + \x20map_entry=true\x20message,\x20but\n\x20use\x20a\x20native\x20map\x20\ + in\x20the\x20target\x20language\x20to\x20hold\x20the\x20keys\x20and\x20v\ + alues.\n\x20The\x20reflection\x20APIs\x20in\x20such\x20implementations\ + \x20still\x20need\x20to\x20work\x20as\n\x20if\x20the\x20field\x20is\x20a\ + \x20repeated\x20message\x20field.\n\n\x20NOTE:\x20Do\x20not\x20set\x20th\ + e\x20option\x20in\x20.proto\x20files.\x20Always\x20use\x20the\x20maps\ + \x20syntax\n\x20instead.\x20The\x20option\x20should\x20only\x20be\x20imp\ + licitly\x20set\x20by\x20the\x20proto\x20compiler\n\x20parser.\n\n\r\n\ + \x05\x04\x0b\x02\x03\x04\x12\x04\x87\x04\x02\n\n\r\n\x05\x04\x0b\x02\x03\ + \x05\x12\x04\x87\x04\x0b\x0f\n\r\n\x05\x04\x0b\x02\x03\x01\x12\x04\x87\ + \x04\x10\x19\n\r\n\x05\x04\x0b\x02\x03\x03\x12\x04\x87\x04\x1c\x1d\n$\n\ + \x03\x04\x0b\t\x12\x04\x89\x04\x02\r\"\x17\x20javalite_serializable\n\n\ + \x0c\n\x04\x04\x0b\t\0\x12\x04\x89\x04\x0b\x0c\n\r\n\x05\x04\x0b\t\0\x01\ + \x12\x04\x89\x04\x0b\x0c\n\r\n\x05\x04\x0b\t\0\x02\x12\x04\x89\x04\x0b\ + \x0c\n\x1f\n\x03\x04\x0b\t\x12\x04\x8a\x04\x02\r\"\x12\x20javanano_as_li\ + te\n\n\x0c\n\x04\x04\x0b\t\x01\x12\x04\x8a\x04\x0b\x0c\n\r\n\x05\x04\x0b\ + \t\x01\x01\x12\x04\x8a\x04\x0b\x0c\n\r\n\x05\x04\x0b\t\x01\x02\x12\x04\ + \x8a\x04\x0b\x0c\nO\n\x04\x04\x0b\x02\x04\x12\x04\x8e\x04\x02:\x1aA\x20T\ he\x20parser\x20stores\x20options\x20it\x20doesn't\x20recognize\x20here.\ - \x20See\x20above.\n\n\r\n\x05\x04\t\x02\x0e\x04\x12\x04\xf2\x02\x02\n\n\ - \r\n\x05\x04\t\x02\x0e\x06\x12\x04\xf2\x02\x0b\x1e\n\r\n\x05\x04\t\x02\ - \x0e\x01\x12\x04\xf2\x02\x1f3\n\r\n\x05\x04\t\x02\x0e\x03\x12\x04\xf2\ - \x0269\nZ\n\x03\x04\t\x05\x12\x04\xf5\x02\x02\x19\x1aM\x20Clients\x20can\ - \x20define\x20custom\x20options\x20in\x20extensions\x20of\x20this\x20mes\ - sage.\x20See\x20above.\n\n\x0c\n\x04\x04\t\x05\0\x12\x04\xf5\x02\r\x18\n\ - \r\n\x05\x04\t\x05\0\x01\x12\x04\xf5\x02\r\x11\n\r\n\x05\x04\t\x05\0\x02\ - \x12\x04\xf5\x02\x15\x18\n\x0c\n\x02\x04\n\x12\x06\xfa\x02\0\xb8\x03\x01\ - \n\x0b\n\x03\x04\n\x01\x12\x04\xfa\x02\x08\x16\n\xd8\x05\n\x04\x04\n\x02\ - \0\x12\x04\x8d\x03\x02<\x1a\xc9\x05\x20Set\x20true\x20to\x20use\x20the\ - \x20old\x20proto1\x20MessageSet\x20wire\x20format\x20for\x20extensions.\ - \n\x20This\x20is\x20provided\x20for\x20backwards-compatibility\x20with\ - \x20the\x20MessageSet\x20wire\n\x20format.\x20\x20You\x20should\x20not\ - \x20use\x20this\x20for\x20any\x20other\x20reason:\x20\x20It's\x20less\n\ - \x20efficient,\x20has\x20fewer\x20features,\x20and\x20is\x20more\x20comp\ - licated.\n\n\x20The\x20message\x20must\x20be\x20defined\x20exactly\x20as\ - \x20follows:\n\x20\x20\x20message\x20Foo\x20{\n\x20\x20\x20\x20\x20optio\ - n\x20message_set_wire_format\x20=\x20true;\n\x20\x20\x20\x20\x20extensio\ - ns\x204\x20to\x20max;\n\x20\x20\x20}\n\x20Note\x20that\x20the\x20message\ - \x20cannot\x20have\x20any\x20defined\x20fields;\x20MessageSets\x20only\n\ - \x20have\x20extensions.\n\n\x20All\x20extensions\x20of\x20your\x20type\ - \x20must\x20be\x20singular\x20messages;\x20e.g.\x20they\x20cannot\n\x20b\ - e\x20int32s,\x20enums,\x20or\x20repeated\x20messages.\n\n\x20Because\x20\ - this\x20is\x20an\x20option,\x20the\x20above\x20two\x20restrictions\x20ar\ - e\x20not\x20enforced\x20by\n\x20the\x20protocol\x20compiler.\n\n\r\n\x05\ - \x04\n\x02\0\x04\x12\x04\x8d\x03\x02\n\n\r\n\x05\x04\n\x02\0\x05\x12\x04\ - \x8d\x03\x0b\x0f\n\r\n\x05\x04\n\x02\0\x01\x12\x04\x8d\x03\x10'\n\r\n\ - \x05\x04\n\x02\0\x03\x12\x04\x8d\x03*+\n\r\n\x05\x04\n\x02\0\x08\x12\x04\ - \x8d\x03,;\n\r\n\x05\x04\n\x02\0\x07\x12\x04\x8d\x035:\n\xeb\x01\n\x04\ - \x04\n\x02\x01\x12\x04\x92\x03\x02D\x1a\xdc\x01\x20Disables\x20the\x20ge\ - neration\x20of\x20the\x20standard\x20\"descriptor()\"\x20accessor,\x20wh\ - ich\x20can\n\x20conflict\x20with\x20a\x20field\x20of\x20the\x20same\x20n\ - ame.\x20\x20This\x20is\x20meant\x20to\x20make\x20migration\n\x20from\x20\ - proto1\x20easier;\x20new\x20code\x20should\x20avoid\x20fields\x20named\ - \x20\"descriptor\".\n\n\r\n\x05\x04\n\x02\x01\x04\x12\x04\x92\x03\x02\n\ - \n\r\n\x05\x04\n\x02\x01\x05\x12\x04\x92\x03\x0b\x0f\n\r\n\x05\x04\n\x02\ - \x01\x01\x12\x04\x92\x03\x10/\n\r\n\x05\x04\n\x02\x01\x03\x12\x04\x92\ - \x0323\n\r\n\x05\x04\n\x02\x01\x08\x12\x04\x92\x034C\n\r\n\x05\x04\n\x02\ - \x01\x07\x12\x04\x92\x03=B\n\xee\x01\n\x04\x04\n\x02\x02\x12\x04\x98\x03\ - \x02/\x1a\xdf\x01\x20Is\x20this\x20message\x20deprecated?\n\x20Depending\ - \x20on\x20the\x20target\x20platform,\x20this\x20can\x20emit\x20Deprecate\ - d\x20annotations\n\x20for\x20the\x20message,\x20or\x20it\x20will\x20be\ - \x20completely\x20ignored;\x20in\x20the\x20very\x20least,\n\x20this\x20i\ - s\x20a\x20formalization\x20for\x20deprecating\x20messages.\n\n\r\n\x05\ - \x04\n\x02\x02\x04\x12\x04\x98\x03\x02\n\n\r\n\x05\x04\n\x02\x02\x05\x12\ - \x04\x98\x03\x0b\x0f\n\r\n\x05\x04\n\x02\x02\x01\x12\x04\x98\x03\x10\x1a\ - \n\r\n\x05\x04\n\x02\x02\x03\x12\x04\x98\x03\x1d\x1e\n\r\n\x05\x04\n\x02\ - \x02\x08\x12\x04\x98\x03\x1f.\n\r\n\x05\x04\n\x02\x02\x07\x12\x04\x98\ - \x03(-\n\x9e\x06\n\x04\x04\n\x02\x03\x12\x04\xaf\x03\x02\x1e\x1a\x8f\x06\ - \x20Whether\x20the\x20message\x20is\x20an\x20automatically\x20generated\ - \x20map\x20entry\x20type\x20for\x20the\n\x20maps\x20field.\n\n\x20For\ - \x20maps\x20fields:\n\x20\x20\x20\x20\x20map<KeyType,\x20ValueType>\x20m\ - ap_field\x20=\x201;\n\x20The\x20parsed\x20descriptor\x20looks\x20like:\n\ - \x20\x20\x20\x20\x20message\x20MapFieldEntry\x20{\n\x20\x20\x20\x20\x20\ - \x20\x20\x20\x20option\x20map_entry\x20=\x20true;\n\x20\x20\x20\x20\x20\ - \x20\x20\x20\x20optional\x20KeyType\x20key\x20=\x201;\n\x20\x20\x20\x20\ - \x20\x20\x20\x20\x20optional\x20ValueType\x20value\x20=\x202;\n\x20\x20\ - \x20\x20\x20}\n\x20\x20\x20\x20\x20repeated\x20MapFieldEntry\x20map_fiel\ - d\x20=\x201;\n\n\x20Implementations\x20may\x20choose\x20not\x20to\x20gen\ - erate\x20the\x20map_entry=true\x20message,\x20but\n\x20use\x20a\x20nativ\ - e\x20map\x20in\x20the\x20target\x20language\x20to\x20hold\x20the\x20keys\ - \x20and\x20values.\n\x20The\x20reflection\x20APIs\x20in\x20such\x20imple\ - mentions\x20still\x20need\x20to\x20work\x20as\n\x20if\x20the\x20field\ - \x20is\x20a\x20repeated\x20message\x20field.\n\n\x20NOTE:\x20Do\x20not\ - \x20set\x20the\x20option\x20in\x20.proto\x20files.\x20Always\x20use\x20t\ - he\x20maps\x20syntax\n\x20instead.\x20The\x20option\x20should\x20only\ - \x20be\x20implicitly\x20set\x20by\x20the\x20proto\x20compiler\n\x20parse\ - r.\n\n\r\n\x05\x04\n\x02\x03\x04\x12\x04\xaf\x03\x02\n\n\r\n\x05\x04\n\ - \x02\x03\x05\x12\x04\xaf\x03\x0b\x0f\n\r\n\x05\x04\n\x02\x03\x01\x12\x04\ - \xaf\x03\x10\x19\n\r\n\x05\x04\n\x02\x03\x03\x12\x04\xaf\x03\x1c\x1d\nO\ - \n\x04\x04\n\x02\x04\x12\x04\xb2\x03\x02:\x1aA\x20The\x20parser\x20store\ - s\x20options\x20it\x20doesn't\x20recognize\x20here.\x20See\x20above.\n\n\ - \r\n\x05\x04\n\x02\x04\x04\x12\x04\xb2\x03\x02\n\n\r\n\x05\x04\n\x02\x04\ - \x06\x12\x04\xb2\x03\x0b\x1e\n\r\n\x05\x04\n\x02\x04\x01\x12\x04\xb2\x03\ - \x1f3\n\r\n\x05\x04\n\x02\x04\x03\x12\x04\xb2\x0369\nZ\n\x03\x04\n\x05\ - \x12\x04\xb5\x03\x02\x19\x1aM\x20Clients\x20can\x20define\x20custom\x20o\ - ptions\x20in\x20extensions\x20of\x20this\x20message.\x20See\x20above.\n\ - \n\x0c\n\x04\x04\n\x05\0\x12\x04\xb5\x03\r\x18\n\r\n\x05\x04\n\x05\0\x01\ - \x12\x04\xb5\x03\r\x11\n\r\n\x05\x04\n\x05\0\x02\x12\x04\xb5\x03\x15\x18\ - \n\x0c\n\x02\x04\x0b\x12\x06\xba\x03\0\x93\x04\x01\n\x0b\n\x03\x04\x0b\ - \x01\x12\x04\xba\x03\x08\x14\n\xa3\x02\n\x04\x04\x0b\x02\0\x12\x04\xbf\ - \x03\x02.\x1a\x94\x02\x20The\x20ctype\x20option\x20instructs\x20the\x20C\ - ++\x20code\x20generator\x20to\x20use\x20a\x20different\n\x20representati\ - on\x20of\x20the\x20field\x20than\x20it\x20normally\x20would.\x20\x20See\ - \x20the\x20specific\n\x20options\x20below.\x20\x20This\x20option\x20is\ - \x20not\x20yet\x20implemented\x20in\x20the\x20open\x20source\n\x20releas\ - e\x20--\x20sorry,\x20we'll\x20try\x20to\x20include\x20it\x20in\x20a\x20f\ - uture\x20version!\n\n\r\n\x05\x04\x0b\x02\0\x04\x12\x04\xbf\x03\x02\n\n\ - \r\n\x05\x04\x0b\x02\0\x06\x12\x04\xbf\x03\x0b\x10\n\r\n\x05\x04\x0b\x02\ - \0\x01\x12\x04\xbf\x03\x11\x16\n\r\n\x05\x04\x0b\x02\0\x03\x12\x04\xbf\ - \x03\x19\x1a\n\r\n\x05\x04\x0b\x02\0\x08\x12\x04\xbf\x03\x1b-\n\r\n\x05\ - \x04\x0b\x02\0\x07\x12\x04\xbf\x03&,\n\x0e\n\x04\x04\x0b\x04\0\x12\x06\ - \xc0\x03\x02\xc7\x03\x03\n\r\n\x05\x04\x0b\x04\0\x01\x12\x04\xc0\x03\x07\ - \x0c\n\x1f\n\x06\x04\x0b\x04\0\x02\0\x12\x04\xc2\x03\x04\x0f\x1a\x0f\x20\ - Default\x20mode.\n\n\x0f\n\x07\x04\x0b\x04\0\x02\0\x01\x12\x04\xc2\x03\ - \x04\n\n\x0f\n\x07\x04\x0b\x04\0\x02\0\x02\x12\x04\xc2\x03\r\x0e\n\x0e\n\ - \x06\x04\x0b\x04\0\x02\x01\x12\x04\xc4\x03\x04\r\n\x0f\n\x07\x04\x0b\x04\ - \0\x02\x01\x01\x12\x04\xc4\x03\x04\x08\n\x0f\n\x07\x04\x0b\x04\0\x02\x01\ - \x02\x12\x04\xc4\x03\x0b\x0c\n\x0e\n\x06\x04\x0b\x04\0\x02\x02\x12\x04\ - \xc6\x03\x04\x15\n\x0f\n\x07\x04\x0b\x04\0\x02\x02\x01\x12\x04\xc6\x03\ - \x04\x10\n\x0f\n\x07\x04\x0b\x04\0\x02\x02\x02\x12\x04\xc6\x03\x13\x14\n\ - \xda\x02\n\x04\x04\x0b\x02\x01\x12\x04\xcd\x03\x02\x1b\x1a\xcb\x02\x20Th\ - e\x20packed\x20option\x20can\x20be\x20enabled\x20for\x20repeated\x20prim\ - itive\x20fields\x20to\x20enable\n\x20a\x20more\x20efficient\x20represent\ - ation\x20on\x20the\x20wire.\x20Rather\x20than\x20repeatedly\n\x20writing\ - \x20the\x20tag\x20and\x20type\x20for\x20each\x20element,\x20the\x20entir\ - e\x20array\x20is\x20encoded\x20as\n\x20a\x20single\x20length-delimited\ - \x20blob.\x20In\x20proto3,\x20only\x20explicit\x20setting\x20it\x20to\n\ - \x20false\x20will\x20avoid\x20using\x20packed\x20encoding.\n\n\r\n\x05\ - \x04\x0b\x02\x01\x04\x12\x04\xcd\x03\x02\n\n\r\n\x05\x04\x0b\x02\x01\x05\ - \x12\x04\xcd\x03\x0b\x0f\n\r\n\x05\x04\x0b\x02\x01\x01\x12\x04\xcd\x03\ - \x10\x16\n\r\n\x05\x04\x0b\x02\x01\x03\x12\x04\xcd\x03\x19\x1a\n\xe4\x04\ - \n\x04\x04\x0b\x02\x02\x12\x04\xd8\x03\x023\x1a\xd5\x04\x20The\x20jstype\ - \x20option\x20determines\x20the\x20JavaScript\x20type\x20used\x20for\x20\ - values\x20of\x20the\n\x20field.\x20\x20The\x20option\x20is\x20permitted\ - \x20only\x20for\x2064\x20bit\x20integral\x20and\x20fixed\x20types\n\x20(\ - int64,\x20uint64,\x20sint64,\x20fixed64,\x20sfixed64).\x20\x20By\x20defa\ - ult\x20these\x20types\x20are\n\x20represented\x20as\x20JavaScript\x20str\ - ings.\x20\x20This\x20avoids\x20loss\x20of\x20precision\x20that\x20can\n\ - \x20happen\x20when\x20a\x20large\x20value\x20is\x20converted\x20to\x20a\ - \x20floating\x20point\x20JavaScript\n\x20numbers.\x20\x20Specifying\x20J\ - S_NUMBER\x20for\x20the\x20jstype\x20causes\x20the\x20generated\n\x20Java\ - Script\x20code\x20to\x20use\x20the\x20JavaScript\x20\"number\"\x20type\ - \x20instead\x20of\x20strings.\n\x20This\x20option\x20is\x20an\x20enum\ - \x20to\x20permit\x20additional\x20types\x20to\x20be\x20added,\n\x20e.g.\ - \x20goog.math.Integer.\n\n\r\n\x05\x04\x0b\x02\x02\x04\x12\x04\xd8\x03\ - \x02\n\n\r\n\x05\x04\x0b\x02\x02\x06\x12\x04\xd8\x03\x0b\x11\n\r\n\x05\ - \x04\x0b\x02\x02\x01\x12\x04\xd8\x03\x12\x18\n\r\n\x05\x04\x0b\x02\x02\ - \x03\x12\x04\xd8\x03\x1b\x1c\n\r\n\x05\x04\x0b\x02\x02\x08\x12\x04\xd8\ - \x03\x1d2\n\r\n\x05\x04\x0b\x02\x02\x07\x12\x04\xd8\x03(1\n\x0e\n\x04\ - \x04\x0b\x04\x01\x12\x06\xd9\x03\x02\xe2\x03\x03\n\r\n\x05\x04\x0b\x04\ - \x01\x01\x12\x04\xd9\x03\x07\r\n'\n\x06\x04\x0b\x04\x01\x02\0\x12\x04\ - \xdb\x03\x04\x12\x1a\x17\x20Use\x20the\x20default\x20type.\n\n\x0f\n\x07\ - \x04\x0b\x04\x01\x02\0\x01\x12\x04\xdb\x03\x04\r\n\x0f\n\x07\x04\x0b\x04\ - \x01\x02\0\x02\x12\x04\xdb\x03\x10\x11\n)\n\x06\x04\x0b\x04\x01\x02\x01\ - \x12\x04\xde\x03\x04\x12\x1a\x19\x20Use\x20JavaScript\x20strings.\n\n\ - \x0f\n\x07\x04\x0b\x04\x01\x02\x01\x01\x12\x04\xde\x03\x04\r\n\x0f\n\x07\ - \x04\x0b\x04\x01\x02\x01\x02\x12\x04\xde\x03\x10\x11\n)\n\x06\x04\x0b\ - \x04\x01\x02\x02\x12\x04\xe1\x03\x04\x12\x1a\x19\x20Use\x20JavaScript\ - \x20numbers.\n\n\x0f\n\x07\x04\x0b\x04\x01\x02\x02\x01\x12\x04\xe1\x03\ - \x04\r\n\x0f\n\x07\x04\x0b\x04\x01\x02\x02\x02\x12\x04\xe1\x03\x10\x11\n\ - \xef\x0c\n\x04\x04\x0b\x02\x03\x12\x04\x80\x04\x02)\x1a\xe0\x0c\x20Shoul\ - d\x20this\x20field\x20be\x20parsed\x20lazily?\x20\x20Lazy\x20applies\x20\ - only\x20to\x20message-type\n\x20fields.\x20\x20It\x20means\x20that\x20wh\ - en\x20the\x20outer\x20message\x20is\x20initially\x20parsed,\x20the\n\x20\ - inner\x20message's\x20contents\x20will\x20not\x20be\x20parsed\x20but\x20\ - instead\x20stored\x20in\x20encoded\n\x20form.\x20\x20The\x20inner\x20mes\ - sage\x20will\x20actually\x20be\x20parsed\x20when\x20it\x20is\x20first\ - \x20accessed.\n\n\x20This\x20is\x20only\x20a\x20hint.\x20\x20Implementat\ - ions\x20are\x20free\x20to\x20choose\x20whether\x20to\x20use\n\x20eager\ - \x20or\x20lazy\x20parsing\x20regardless\x20of\x20the\x20value\x20of\x20t\ - his\x20option.\x20\x20However,\n\x20setting\x20this\x20option\x20true\ - \x20suggests\x20that\x20the\x20protocol\x20author\x20believes\x20that\n\ - \x20using\x20lazy\x20parsing\x20on\x20this\x20field\x20is\x20worth\x20th\ - e\x20additional\x20bookkeeping\n\x20overhead\x20typically\x20needed\x20t\ - o\x20implement\x20it.\n\n\x20This\x20option\x20does\x20not\x20affect\x20\ - the\x20public\x20interface\x20of\x20any\x20generated\x20code;\n\x20all\ - \x20method\x20signatures\x20remain\x20the\x20same.\x20\x20Furthermore,\ - \x20thread-safety\x20of\x20the\n\x20interface\x20is\x20not\x20affected\ - \x20by\x20this\x20option;\x20const\x20methods\x20remain\x20safe\x20to\n\ - \x20call\x20from\x20multiple\x20threads\x20concurrently,\x20while\x20non\ - -const\x20methods\x20continue\n\x20to\x20require\x20exclusive\x20access.\ - \n\n\n\x20Note\x20that\x20implementations\x20may\x20choose\x20not\x20to\ - \x20check\x20required\x20fields\x20within\n\x20a\x20lazy\x20sub-message.\ - \x20\x20That\x20is,\x20calling\x20IsInitialized()\x20on\x20the\x20outer\ - \x20message\n\x20may\x20return\x20true\x20even\x20if\x20the\x20inner\x20\ - message\x20has\x20missing\x20required\x20fields.\n\x20This\x20is\x20nece\ - ssary\x20because\x20otherwise\x20the\x20inner\x20message\x20would\x20hav\ - e\x20to\x20be\n\x20parsed\x20in\x20order\x20to\x20perform\x20the\x20chec\ - k,\x20defeating\x20the\x20purpose\x20of\x20lazy\n\x20parsing.\x20\x20An\ - \x20implementation\x20which\x20chooses\x20not\x20to\x20check\x20required\ - \x20fields\n\x20must\x20be\x20consistent\x20about\x20it.\x20\x20That\x20\ - is,\x20for\x20any\x20particular\x20sub-message,\x20the\n\x20implementati\ - on\x20must\x20either\x20*always*\x20check\x20its\x20required\x20fields,\ - \x20or\x20*never*\n\x20check\x20its\x20required\x20fields,\x20regardless\ - \x20of\x20whether\x20or\x20not\x20the\x20message\x20has\n\x20been\x20par\ - sed.\n\n\r\n\x05\x04\x0b\x02\x03\x04\x12\x04\x80\x04\x02\n\n\r\n\x05\x04\ - \x0b\x02\x03\x05\x12\x04\x80\x04\x0b\x0f\n\r\n\x05\x04\x0b\x02\x03\x01\ - \x12\x04\x80\x04\x10\x14\n\r\n\x05\x04\x0b\x02\x03\x03\x12\x04\x80\x04\ - \x17\x18\n\r\n\x05\x04\x0b\x02\x03\x08\x12\x04\x80\x04\x19(\n\r\n\x05\ - \x04\x0b\x02\x03\x07\x12\x04\x80\x04\"'\n\xe8\x01\n\x04\x04\x0b\x02\x04\ - \x12\x04\x86\x04\x02/\x1a\xd9\x01\x20Is\x20this\x20field\x20deprecated?\ - \n\x20Depending\x20on\x20the\x20target\x20platform,\x20this\x20can\x20em\ - it\x20Deprecated\x20annotations\n\x20for\x20accessors,\x20or\x20it\x20wi\ - ll\x20be\x20completely\x20ignored;\x20in\x20the\x20very\x20least,\x20thi\ - s\n\x20is\x20a\x20formalization\x20for\x20deprecating\x20fields.\n\n\r\n\ - \x05\x04\x0b\x02\x04\x04\x12\x04\x86\x04\x02\n\n\r\n\x05\x04\x0b\x02\x04\ - \x05\x12\x04\x86\x04\x0b\x0f\n\r\n\x05\x04\x0b\x02\x04\x01\x12\x04\x86\ - \x04\x10\x1a\n\r\n\x05\x04\x0b\x02\x04\x03\x12\x04\x86\x04\x1d\x1e\n\r\n\ - \x05\x04\x0b\x02\x04\x08\x12\x04\x86\x04\x1f.\n\r\n\x05\x04\x0b\x02\x04\ - \x07\x12\x04\x86\x04(-\n?\n\x04\x04\x0b\x02\x05\x12\x04\x89\x04\x02*\x1a\ - 1\x20For\x20Google-internal\x20migration\x20only.\x20Do\x20not\x20use.\n\ - \n\r\n\x05\x04\x0b\x02\x05\x04\x12\x04\x89\x04\x02\n\n\r\n\x05\x04\x0b\ - \x02\x05\x05\x12\x04\x89\x04\x0b\x0f\n\r\n\x05\x04\x0b\x02\x05\x01\x12\ - \x04\x89\x04\x10\x14\n\r\n\x05\x04\x0b\x02\x05\x03\x12\x04\x89\x04\x17\ - \x19\n\r\n\x05\x04\x0b\x02\x05\x08\x12\x04\x89\x04\x1a)\n\r\n\x05\x04\ - \x0b\x02\x05\x07\x12\x04\x89\x04#(\nO\n\x04\x04\x0b\x02\x06\x12\x04\x8d\ - \x04\x02:\x1aA\x20The\x20parser\x20stores\x20options\x20it\x20doesn't\ - \x20recognize\x20here.\x20See\x20above.\n\n\r\n\x05\x04\x0b\x02\x06\x04\ - \x12\x04\x8d\x04\x02\n\n\r\n\x05\x04\x0b\x02\x06\x06\x12\x04\x8d\x04\x0b\ - \x1e\n\r\n\x05\x04\x0b\x02\x06\x01\x12\x04\x8d\x04\x1f3\n\r\n\x05\x04\ - \x0b\x02\x06\x03\x12\x04\x8d\x0469\nZ\n\x03\x04\x0b\x05\x12\x04\x90\x04\ - \x02\x19\x1aM\x20Clients\x20can\x20define\x20custom\x20options\x20in\x20\ - extensions\x20of\x20this\x20message.\x20See\x20above.\n\n\x0c\n\x04\x04\ - \x0b\x05\0\x12\x04\x90\x04\r\x18\n\r\n\x05\x04\x0b\x05\0\x01\x12\x04\x90\ - \x04\r\x11\n\r\n\x05\x04\x0b\x05\0\x02\x12\x04\x90\x04\x15\x18\n\x0c\n\ - \x02\x04\x0c\x12\x06\x95\x04\0\x9b\x04\x01\n\x0b\n\x03\x04\x0c\x01\x12\ - \x04\x95\x04\x08\x14\nO\n\x04\x04\x0c\x02\0\x12\x04\x97\x04\x02:\x1aA\ - \x20The\x20parser\x20stores\x20options\x20it\x20doesn't\x20recognize\x20\ - here.\x20See\x20above.\n\n\r\n\x05\x04\x0c\x02\0\x04\x12\x04\x97\x04\x02\ - \n\n\r\n\x05\x04\x0c\x02\0\x06\x12\x04\x97\x04\x0b\x1e\n\r\n\x05\x04\x0c\ - \x02\0\x01\x12\x04\x97\x04\x1f3\n\r\n\x05\x04\x0c\x02\0\x03\x12\x04\x97\ - \x0469\nZ\n\x03\x04\x0c\x05\x12\x04\x9a\x04\x02\x19\x1aM\x20Clients\x20c\ - an\x20define\x20custom\x20options\x20in\x20extensions\x20of\x20this\x20m\ - essage.\x20See\x20above.\n\n\x0c\n\x04\x04\x0c\x05\0\x12\x04\x9a\x04\r\ - \x18\n\r\n\x05\x04\x0c\x05\0\x01\x12\x04\x9a\x04\r\x11\n\r\n\x05\x04\x0c\ - \x05\0\x02\x12\x04\x9a\x04\x15\x18\n\x0c\n\x02\x04\r\x12\x06\x9d\x04\0\ - \xae\x04\x01\n\x0b\n\x03\x04\r\x01\x12\x04\x9d\x04\x08\x13\n`\n\x04\x04\ - \r\x02\0\x12\x04\xa1\x04\x02\x20\x1aR\x20Set\x20this\x20option\x20to\x20\ - true\x20to\x20allow\x20mapping\x20different\x20tag\x20names\x20to\x20the\ - \x20same\n\x20value.\n\n\r\n\x05\x04\r\x02\0\x04\x12\x04\xa1\x04\x02\n\n\ - \r\n\x05\x04\r\x02\0\x05\x12\x04\xa1\x04\x0b\x0f\n\r\n\x05\x04\r\x02\0\ - \x01\x12\x04\xa1\x04\x10\x1b\n\r\n\x05\x04\r\x02\0\x03\x12\x04\xa1\x04\ - \x1e\x1f\n\xe5\x01\n\x04\x04\r\x02\x01\x12\x04\xa7\x04\x02/\x1a\xd6\x01\ - \x20Is\x20this\x20enum\x20deprecated?\n\x20Depending\x20on\x20the\x20tar\ - get\x20platform,\x20this\x20can\x20emit\x20Deprecated\x20annotations\n\ - \x20for\x20the\x20enum,\x20or\x20it\x20will\x20be\x20completely\x20ignor\ - ed;\x20in\x20the\x20very\x20least,\x20this\n\x20is\x20a\x20formalization\ - \x20for\x20deprecating\x20enums.\n\n\r\n\x05\x04\r\x02\x01\x04\x12\x04\ - \xa7\x04\x02\n\n\r\n\x05\x04\r\x02\x01\x05\x12\x04\xa7\x04\x0b\x0f\n\r\n\ - \x05\x04\r\x02\x01\x01\x12\x04\xa7\x04\x10\x1a\n\r\n\x05\x04\r\x02\x01\ - \x03\x12\x04\xa7\x04\x1d\x1e\n\r\n\x05\x04\r\x02\x01\x08\x12\x04\xa7\x04\ - \x1f.\n\r\n\x05\x04\r\x02\x01\x07\x12\x04\xa7\x04(-\nO\n\x04\x04\r\x02\ - \x02\x12\x04\xaa\x04\x02:\x1aA\x20The\x20parser\x20stores\x20options\x20\ - it\x20doesn't\x20recognize\x20here.\x20See\x20above.\n\n\r\n\x05\x04\r\ - \x02\x02\x04\x12\x04\xaa\x04\x02\n\n\r\n\x05\x04\r\x02\x02\x06\x12\x04\ - \xaa\x04\x0b\x1e\n\r\n\x05\x04\r\x02\x02\x01\x12\x04\xaa\x04\x1f3\n\r\n\ - \x05\x04\r\x02\x02\x03\x12\x04\xaa\x0469\nZ\n\x03\x04\r\x05\x12\x04\xad\ - \x04\x02\x19\x1aM\x20Clients\x20can\x20define\x20custom\x20options\x20in\ - \x20extensions\x20of\x20this\x20message.\x20See\x20above.\n\n\x0c\n\x04\ - \x04\r\x05\0\x12\x04\xad\x04\r\x18\n\r\n\x05\x04\r\x05\0\x01\x12\x04\xad\ - \x04\r\x11\n\r\n\x05\x04\r\x05\0\x02\x12\x04\xad\x04\x15\x18\n\x0c\n\x02\ - \x04\x0e\x12\x06\xb0\x04\0\xbc\x04\x01\n\x0b\n\x03\x04\x0e\x01\x12\x04\ - \xb0\x04\x08\x18\n\xf7\x01\n\x04\x04\x0e\x02\0\x12\x04\xb5\x04\x02/\x1a\ - \xe8\x01\x20Is\x20this\x20enum\x20value\x20deprecated?\n\x20Depending\ - \x20on\x20the\x20target\x20platform,\x20this\x20can\x20emit\x20Deprecate\ - d\x20annotations\n\x20for\x20the\x20enum\x20value,\x20or\x20it\x20will\ - \x20be\x20completely\x20ignored;\x20in\x20the\x20very\x20least,\n\x20thi\ - s\x20is\x20a\x20formalization\x20for\x20deprecating\x20enum\x20values.\n\ - \n\r\n\x05\x04\x0e\x02\0\x04\x12\x04\xb5\x04\x02\n\n\r\n\x05\x04\x0e\x02\ - \0\x05\x12\x04\xb5\x04\x0b\x0f\n\r\n\x05\x04\x0e\x02\0\x01\x12\x04\xb5\ - \x04\x10\x1a\n\r\n\x05\x04\x0e\x02\0\x03\x12\x04\xb5\x04\x1d\x1e\n\r\n\ - \x05\x04\x0e\x02\0\x08\x12\x04\xb5\x04\x1f.\n\r\n\x05\x04\x0e\x02\0\x07\ - \x12\x04\xb5\x04(-\nO\n\x04\x04\x0e\x02\x01\x12\x04\xb8\x04\x02:\x1aA\ + \x20See\x20above.\n\n\r\n\x05\x04\x0b\x02\x04\x04\x12\x04\x8e\x04\x02\n\ + \n\r\n\x05\x04\x0b\x02\x04\x06\x12\x04\x8e\x04\x0b\x1e\n\r\n\x05\x04\x0b\ + \x02\x04\x01\x12\x04\x8e\x04\x1f3\n\r\n\x05\x04\x0b\x02\x04\x03\x12\x04\ + \x8e\x0469\nZ\n\x03\x04\x0b\x05\x12\x04\x91\x04\x02\x19\x1aM\x20Clients\ + \x20can\x20define\x20custom\x20options\x20in\x20extensions\x20of\x20this\ + \x20message.\x20See\x20above.\n\n\x0c\n\x04\x04\x0b\x05\0\x12\x04\x91\ + \x04\r\x18\n\r\n\x05\x04\x0b\x05\0\x01\x12\x04\x91\x04\r\x11\n\r\n\x05\ + \x04\x0b\x05\0\x02\x12\x04\x91\x04\x15\x18\n\x0c\n\x02\x04\x0c\x12\x06\ + \x94\x04\0\xef\x04\x01\n\x0b\n\x03\x04\x0c\x01\x12\x04\x94\x04\x08\x14\n\ + \xa3\x02\n\x04\x04\x0c\x02\0\x12\x04\x99\x04\x02.\x1a\x94\x02\x20The\x20\ + ctype\x20option\x20instructs\x20the\x20C++\x20code\x20generator\x20to\ + \x20use\x20a\x20different\n\x20representation\x20of\x20the\x20field\x20t\ + han\x20it\x20normally\x20would.\x20\x20See\x20the\x20specific\n\x20optio\ + ns\x20below.\x20\x20This\x20option\x20is\x20not\x20yet\x20implemented\ + \x20in\x20the\x20open\x20source\n\x20release\x20--\x20sorry,\x20we'll\ + \x20try\x20to\x20include\x20it\x20in\x20a\x20future\x20version!\n\n\r\n\ + \x05\x04\x0c\x02\0\x04\x12\x04\x99\x04\x02\n\n\r\n\x05\x04\x0c\x02\0\x06\ + \x12\x04\x99\x04\x0b\x10\n\r\n\x05\x04\x0c\x02\0\x01\x12\x04\x99\x04\x11\ + \x16\n\r\n\x05\x04\x0c\x02\0\x03\x12\x04\x99\x04\x19\x1a\n\r\n\x05\x04\ + \x0c\x02\0\x08\x12\x04\x99\x04\x1b-\n\r\n\x05\x04\x0c\x02\0\x07\x12\x04\ + \x99\x04&,\n\x0e\n\x04\x04\x0c\x04\0\x12\x06\x9a\x04\x02\xa1\x04\x03\n\r\ + \n\x05\x04\x0c\x04\0\x01\x12\x04\x9a\x04\x07\x0c\n\x1f\n\x06\x04\x0c\x04\ + \0\x02\0\x12\x04\x9c\x04\x04\x0f\x1a\x0f\x20Default\x20mode.\n\n\x0f\n\ + \x07\x04\x0c\x04\0\x02\0\x01\x12\x04\x9c\x04\x04\n\n\x0f\n\x07\x04\x0c\ + \x04\0\x02\0\x02\x12\x04\x9c\x04\r\x0e\n\x0e\n\x06\x04\x0c\x04\0\x02\x01\ + \x12\x04\x9e\x04\x04\r\n\x0f\n\x07\x04\x0c\x04\0\x02\x01\x01\x12\x04\x9e\ + \x04\x04\x08\n\x0f\n\x07\x04\x0c\x04\0\x02\x01\x02\x12\x04\x9e\x04\x0b\ + \x0c\n\x0e\n\x06\x04\x0c\x04\0\x02\x02\x12\x04\xa0\x04\x04\x15\n\x0f\n\ + \x07\x04\x0c\x04\0\x02\x02\x01\x12\x04\xa0\x04\x04\x10\n\x0f\n\x07\x04\ + \x0c\x04\0\x02\x02\x02\x12\x04\xa0\x04\x13\x14\n\xda\x02\n\x04\x04\x0c\ + \x02\x01\x12\x04\xa7\x04\x02\x1b\x1a\xcb\x02\x20The\x20packed\x20option\ + \x20can\x20be\x20enabled\x20for\x20repeated\x20primitive\x20fields\x20to\ + \x20enable\n\x20a\x20more\x20efficient\x20representation\x20on\x20the\ + \x20wire.\x20Rather\x20than\x20repeatedly\n\x20writing\x20the\x20tag\x20\ + and\x20type\x20for\x20each\x20element,\x20the\x20entire\x20array\x20is\ + \x20encoded\x20as\n\x20a\x20single\x20length-delimited\x20blob.\x20In\ + \x20proto3,\x20only\x20explicit\x20setting\x20it\x20to\n\x20false\x20wil\ + l\x20avoid\x20using\x20packed\x20encoding.\n\n\r\n\x05\x04\x0c\x02\x01\ + \x04\x12\x04\xa7\x04\x02\n\n\r\n\x05\x04\x0c\x02\x01\x05\x12\x04\xa7\x04\ + \x0b\x0f\n\r\n\x05\x04\x0c\x02\x01\x01\x12\x04\xa7\x04\x10\x16\n\r\n\x05\ + \x04\x0c\x02\x01\x03\x12\x04\xa7\x04\x19\x1a\n\x9a\x05\n\x04\x04\x0c\x02\ + \x02\x12\x04\xb4\x04\x023\x1a\x8b\x05\x20The\x20jstype\x20option\x20dete\ + rmines\x20the\x20JavaScript\x20type\x20used\x20for\x20values\x20of\x20th\ + e\n\x20field.\x20\x20The\x20option\x20is\x20permitted\x20only\x20for\x20\ + 64\x20bit\x20integral\x20and\x20fixed\x20types\n\x20(int64,\x20uint64,\ + \x20sint64,\x20fixed64,\x20sfixed64).\x20\x20A\x20field\x20with\x20jstyp\ + e\x20JS_STRING\n\x20is\x20represented\x20as\x20JavaScript\x20string,\x20\ + which\x20avoids\x20loss\x20of\x20precision\x20that\n\x20can\x20happen\ + \x20when\x20a\x20large\x20value\x20is\x20converted\x20to\x20a\x20floatin\ + g\x20point\x20JavaScript.\n\x20Specifying\x20JS_NUMBER\x20for\x20the\x20\ + jstype\x20causes\x20the\x20generated\x20JavaScript\x20code\x20to\n\x20us\ + e\x20the\x20JavaScript\x20\"number\"\x20type.\x20\x20The\x20behavior\x20\ + of\x20the\x20default\x20option\n\x20JS_NORMAL\x20is\x20implementation\ + \x20dependent.\n\n\x20This\x20option\x20is\x20an\x20enum\x20to\x20permit\ + \x20additional\x20types\x20to\x20be\x20added,\x20e.g.\n\x20goog.math.Int\ + eger.\n\n\r\n\x05\x04\x0c\x02\x02\x04\x12\x04\xb4\x04\x02\n\n\r\n\x05\ + \x04\x0c\x02\x02\x06\x12\x04\xb4\x04\x0b\x11\n\r\n\x05\x04\x0c\x02\x02\ + \x01\x12\x04\xb4\x04\x12\x18\n\r\n\x05\x04\x0c\x02\x02\x03\x12\x04\xb4\ + \x04\x1b\x1c\n\r\n\x05\x04\x0c\x02\x02\x08\x12\x04\xb4\x04\x1d2\n\r\n\ + \x05\x04\x0c\x02\x02\x07\x12\x04\xb4\x04(1\n\x0e\n\x04\x04\x0c\x04\x01\ + \x12\x06\xb5\x04\x02\xbe\x04\x03\n\r\n\x05\x04\x0c\x04\x01\x01\x12\x04\ + \xb5\x04\x07\r\n'\n\x06\x04\x0c\x04\x01\x02\0\x12\x04\xb7\x04\x04\x12\ + \x1a\x17\x20Use\x20the\x20default\x20type.\n\n\x0f\n\x07\x04\x0c\x04\x01\ + \x02\0\x01\x12\x04\xb7\x04\x04\r\n\x0f\n\x07\x04\x0c\x04\x01\x02\0\x02\ + \x12\x04\xb7\x04\x10\x11\n)\n\x06\x04\x0c\x04\x01\x02\x01\x12\x04\xba\ + \x04\x04\x12\x1a\x19\x20Use\x20JavaScript\x20strings.\n\n\x0f\n\x07\x04\ + \x0c\x04\x01\x02\x01\x01\x12\x04\xba\x04\x04\r\n\x0f\n\x07\x04\x0c\x04\ + \x01\x02\x01\x02\x12\x04\xba\x04\x10\x11\n)\n\x06\x04\x0c\x04\x01\x02\ + \x02\x12\x04\xbd\x04\x04\x12\x1a\x19\x20Use\x20JavaScript\x20numbers.\n\ + \n\x0f\n\x07\x04\x0c\x04\x01\x02\x02\x01\x12\x04\xbd\x04\x04\r\n\x0f\n\ + \x07\x04\x0c\x04\x01\x02\x02\x02\x12\x04\xbd\x04\x10\x11\n\xef\x0c\n\x04\ + \x04\x0c\x02\x03\x12\x04\xdc\x04\x02+\x1a\xe0\x0c\x20Should\x20this\x20f\ + ield\x20be\x20parsed\x20lazily?\x20\x20Lazy\x20applies\x20only\x20to\x20\ + message-type\n\x20fields.\x20\x20It\x20means\x20that\x20when\x20the\x20o\ + uter\x20message\x20is\x20initially\x20parsed,\x20the\n\x20inner\x20messa\ + ge's\x20contents\x20will\x20not\x20be\x20parsed\x20but\x20instead\x20sto\ + red\x20in\x20encoded\n\x20form.\x20\x20The\x20inner\x20message\x20will\ + \x20actually\x20be\x20parsed\x20when\x20it\x20is\x20first\x20accessed.\n\ + \n\x20This\x20is\x20only\x20a\x20hint.\x20\x20Implementations\x20are\x20\ + free\x20to\x20choose\x20whether\x20to\x20use\n\x20eager\x20or\x20lazy\ + \x20parsing\x20regardless\x20of\x20the\x20value\x20of\x20this\x20option.\ + \x20\x20However,\n\x20setting\x20this\x20option\x20true\x20suggests\x20t\ + hat\x20the\x20protocol\x20author\x20believes\x20that\n\x20using\x20lazy\ + \x20parsing\x20on\x20this\x20field\x20is\x20worth\x20the\x20additional\ + \x20bookkeeping\n\x20overhead\x20typically\x20needed\x20to\x20implement\ + \x20it.\n\n\x20This\x20option\x20does\x20not\x20affect\x20the\x20public\ + \x20interface\x20of\x20any\x20generated\x20code;\n\x20all\x20method\x20s\ + ignatures\x20remain\x20the\x20same.\x20\x20Furthermore,\x20thread-safety\ + \x20of\x20the\n\x20interface\x20is\x20not\x20affected\x20by\x20this\x20o\ + ption;\x20const\x20methods\x20remain\x20safe\x20to\n\x20call\x20from\x20\ + multiple\x20threads\x20concurrently,\x20while\x20non-const\x20methods\ + \x20continue\n\x20to\x20require\x20exclusive\x20access.\n\n\n\x20Note\ + \x20that\x20implementations\x20may\x20choose\x20not\x20to\x20check\x20re\ + quired\x20fields\x20within\n\x20a\x20lazy\x20sub-message.\x20\x20That\ + \x20is,\x20calling\x20IsInitialized()\x20on\x20the\x20outer\x20message\n\ + \x20may\x20return\x20true\x20even\x20if\x20the\x20inner\x20message\x20ha\ + s\x20missing\x20required\x20fields.\n\x20This\x20is\x20necessary\x20beca\ + use\x20otherwise\x20the\x20inner\x20message\x20would\x20have\x20to\x20be\ + \n\x20parsed\x20in\x20order\x20to\x20perform\x20the\x20check,\x20defeati\ + ng\x20the\x20purpose\x20of\x20lazy\n\x20parsing.\x20\x20An\x20implementa\ + tion\x20which\x20chooses\x20not\x20to\x20check\x20required\x20fields\n\ + \x20must\x20be\x20consistent\x20about\x20it.\x20\x20That\x20is,\x20for\ + \x20any\x20particular\x20sub-message,\x20the\n\x20implementation\x20must\ + \x20either\x20*always*\x20check\x20its\x20required\x20fields,\x20or\x20*\ + never*\n\x20check\x20its\x20required\x20fields,\x20regardless\x20of\x20w\ + hether\x20or\x20not\x20the\x20message\x20has\n\x20been\x20parsed.\n\n\r\ + \n\x05\x04\x0c\x02\x03\x04\x12\x04\xdc\x04\x02\n\n\r\n\x05\x04\x0c\x02\ + \x03\x05\x12\x04\xdc\x04\x0b\x0f\n\r\n\x05\x04\x0c\x02\x03\x01\x12\x04\ + \xdc\x04\x10\x14\n\r\n\x05\x04\x0c\x02\x03\x03\x12\x04\xdc\x04\x17\x18\n\ + \r\n\x05\x04\x0c\x02\x03\x08\x12\x04\xdc\x04\x19*\n\r\n\x05\x04\x0c\x02\ + \x03\x07\x12\x04\xdc\x04$)\n\xe8\x01\n\x04\x04\x0c\x02\x04\x12\x04\xe2\ + \x04\x021\x1a\xd9\x01\x20Is\x20this\x20field\x20deprecated?\n\x20Dependi\ + ng\x20on\x20the\x20target\x20platform,\x20this\x20can\x20emit\x20Depreca\ + ted\x20annotations\n\x20for\x20accessors,\x20or\x20it\x20will\x20be\x20c\ + ompletely\x20ignored;\x20in\x20the\x20very\x20least,\x20this\n\x20is\x20\ + a\x20formalization\x20for\x20deprecating\x20fields.\n\n\r\n\x05\x04\x0c\ + \x02\x04\x04\x12\x04\xe2\x04\x02\n\n\r\n\x05\x04\x0c\x02\x04\x05\x12\x04\ + \xe2\x04\x0b\x0f\n\r\n\x05\x04\x0c\x02\x04\x01\x12\x04\xe2\x04\x10\x1a\n\ + \r\n\x05\x04\x0c\x02\x04\x03\x12\x04\xe2\x04\x1d\x1e\n\r\n\x05\x04\x0c\ + \x02\x04\x08\x12\x04\xe2\x04\x1f0\n\r\n\x05\x04\x0c\x02\x04\x07\x12\x04\ + \xe2\x04*/\n?\n\x04\x04\x0c\x02\x05\x12\x04\xe5\x04\x02,\x1a1\x20For\x20\ + Google-internal\x20migration\x20only.\x20Do\x20not\x20use.\n\n\r\n\x05\ + \x04\x0c\x02\x05\x04\x12\x04\xe5\x04\x02\n\n\r\n\x05\x04\x0c\x02\x05\x05\ + \x12\x04\xe5\x04\x0b\x0f\n\r\n\x05\x04\x0c\x02\x05\x01\x12\x04\xe5\x04\ + \x10\x14\n\r\n\x05\x04\x0c\x02\x05\x03\x12\x04\xe5\x04\x17\x19\n\r\n\x05\ + \x04\x0c\x02\x05\x08\x12\x04\xe5\x04\x1a+\n\r\n\x05\x04\x0c\x02\x05\x07\ + \x12\x04\xe5\x04%*\nO\n\x04\x04\x0c\x02\x06\x12\x04\xe9\x04\x02:\x1aA\ \x20The\x20parser\x20stores\x20options\x20it\x20doesn't\x20recognize\x20\ - here.\x20See\x20above.\n\n\r\n\x05\x04\x0e\x02\x01\x04\x12\x04\xb8\x04\ - \x02\n\n\r\n\x05\x04\x0e\x02\x01\x06\x12\x04\xb8\x04\x0b\x1e\n\r\n\x05\ - \x04\x0e\x02\x01\x01\x12\x04\xb8\x04\x1f3\n\r\n\x05\x04\x0e\x02\x01\x03\ - \x12\x04\xb8\x0469\nZ\n\x03\x04\x0e\x05\x12\x04\xbb\x04\x02\x19\x1aM\x20\ + here.\x20See\x20above.\n\n\r\n\x05\x04\x0c\x02\x06\x04\x12\x04\xe9\x04\ + \x02\n\n\r\n\x05\x04\x0c\x02\x06\x06\x12\x04\xe9\x04\x0b\x1e\n\r\n\x05\ + \x04\x0c\x02\x06\x01\x12\x04\xe9\x04\x1f3\n\r\n\x05\x04\x0c\x02\x06\x03\ + \x12\x04\xe9\x0469\nZ\n\x03\x04\x0c\x05\x12\x04\xec\x04\x02\x19\x1aM\x20\ Clients\x20can\x20define\x20custom\x20options\x20in\x20extensions\x20of\ - \x20this\x20message.\x20See\x20above.\n\n\x0c\n\x04\x04\x0e\x05\0\x12\ - \x04\xbb\x04\r\x18\n\r\n\x05\x04\x0e\x05\0\x01\x12\x04\xbb\x04\r\x11\n\r\ - \n\x05\x04\x0e\x05\0\x02\x12\x04\xbb\x04\x15\x18\n\x0c\n\x02\x04\x0f\x12\ - \x06\xbe\x04\0\xd0\x04\x01\n\x0b\n\x03\x04\x0f\x01\x12\x04\xbe\x04\x08\ - \x16\n\xd9\x03\n\x04\x04\x0f\x02\0\x12\x04\xc9\x04\x020\x1a\xdf\x01\x20I\ - s\x20this\x20service\x20deprecated?\n\x20Depending\x20on\x20the\x20targe\ - t\x20platform,\x20this\x20can\x20emit\x20Deprecated\x20annotations\n\x20\ - for\x20the\x20service,\x20or\x20it\x20will\x20be\x20completely\x20ignore\ - d;\x20in\x20the\x20very\x20least,\n\x20this\x20is\x20a\x20formalization\ - \x20for\x20deprecating\x20services.\n2\xe8\x01\x20Note:\x20\x20Field\x20\ - numbers\x201\x20through\x2032\x20are\x20reserved\x20for\x20Google's\x20i\ - nternal\x20RPC\n\x20\x20\x20framework.\x20\x20We\x20apologize\x20for\x20\ - hoarding\x20these\x20numbers\x20to\x20ourselves,\x20but\n\x20\x20\x20we\ - \x20were\x20already\x20using\x20them\x20long\x20before\x20we\x20decided\ - \x20to\x20release\x20Protocol\n\x20\x20\x20Buffers.\n\n\r\n\x05\x04\x0f\ - \x02\0\x04\x12\x04\xc9\x04\x02\n\n\r\n\x05\x04\x0f\x02\0\x05\x12\x04\xc9\ - \x04\x0b\x0f\n\r\n\x05\x04\x0f\x02\0\x01\x12\x04\xc9\x04\x10\x1a\n\r\n\ - \x05\x04\x0f\x02\0\x03\x12\x04\xc9\x04\x1d\x1f\n\r\n\x05\x04\x0f\x02\0\ - \x08\x12\x04\xc9\x04\x20/\n\r\n\x05\x04\x0f\x02\0\x07\x12\x04\xc9\x04).\ - \nO\n\x04\x04\x0f\x02\x01\x12\x04\xcc\x04\x02:\x1aA\x20The\x20parser\x20\ + \x20this\x20message.\x20See\x20above.\n\n\x0c\n\x04\x04\x0c\x05\0\x12\ + \x04\xec\x04\r\x18\n\r\n\x05\x04\x0c\x05\0\x01\x12\x04\xec\x04\r\x11\n\r\ + \n\x05\x04\x0c\x05\0\x02\x12\x04\xec\x04\x15\x18\n\x1c\n\x03\x04\x0c\t\ + \x12\x04\xee\x04\x02\r\"\x0f\x20removed\x20jtype\n\n\x0c\n\x04\x04\x0c\t\ + \0\x12\x04\xee\x04\x0b\x0c\n\r\n\x05\x04\x0c\t\0\x01\x12\x04\xee\x04\x0b\ + \x0c\n\r\n\x05\x04\x0c\t\0\x02\x12\x04\xee\x04\x0b\x0c\n\x0c\n\x02\x04\r\ + \x12\x06\xf1\x04\0\xf7\x04\x01\n\x0b\n\x03\x04\r\x01\x12\x04\xf1\x04\x08\ + \x14\nO\n\x04\x04\r\x02\0\x12\x04\xf3\x04\x02:\x1aA\x20The\x20parser\x20\ stores\x20options\x20it\x20doesn't\x20recognize\x20here.\x20See\x20above\ - .\n\n\r\n\x05\x04\x0f\x02\x01\x04\x12\x04\xcc\x04\x02\n\n\r\n\x05\x04\ - \x0f\x02\x01\x06\x12\x04\xcc\x04\x0b\x1e\n\r\n\x05\x04\x0f\x02\x01\x01\ - \x12\x04\xcc\x04\x1f3\n\r\n\x05\x04\x0f\x02\x01\x03\x12\x04\xcc\x0469\nZ\ - \n\x03\x04\x0f\x05\x12\x04\xcf\x04\x02\x19\x1aM\x20Clients\x20can\x20def\ - ine\x20custom\x20options\x20in\x20extensions\x20of\x20this\x20message.\ - \x20See\x20above.\n\n\x0c\n\x04\x04\x0f\x05\0\x12\x04\xcf\x04\r\x18\n\r\ - \n\x05\x04\x0f\x05\0\x01\x12\x04\xcf\x04\r\x11\n\r\n\x05\x04\x0f\x05\0\ - \x02\x12\x04\xcf\x04\x15\x18\n\x0c\n\x02\x04\x10\x12\x06\xd2\x04\0\xe4\ - \x04\x01\n\x0b\n\x03\x04\x10\x01\x12\x04\xd2\x04\x08\x15\n\xd6\x03\n\x04\ - \x04\x10\x02\0\x12\x04\xdd\x04\x020\x1a\xdc\x01\x20Is\x20this\x20method\ - \x20deprecated?\n\x20Depending\x20on\x20the\x20target\x20platform,\x20th\ - is\x20can\x20emit\x20Deprecated\x20annotations\n\x20for\x20the\x20method\ - ,\x20or\x20it\x20will\x20be\x20completely\x20ignored;\x20in\x20the\x20ve\ - ry\x20least,\n\x20this\x20is\x20a\x20formalization\x20for\x20deprecating\ - \x20methods.\n2\xe8\x01\x20Note:\x20\x20Field\x20numbers\x201\x20through\ - \x2032\x20are\x20reserved\x20for\x20Google's\x20internal\x20RPC\n\x20\ - \x20\x20framework.\x20\x20We\x20apologize\x20for\x20hoarding\x20these\ - \x20numbers\x20to\x20ourselves,\x20but\n\x20\x20\x20we\x20were\x20alread\ - y\x20using\x20them\x20long\x20before\x20we\x20decided\x20to\x20release\ - \x20Protocol\n\x20\x20\x20Buffers.\n\n\r\n\x05\x04\x10\x02\0\x04\x12\x04\ - \xdd\x04\x02\n\n\r\n\x05\x04\x10\x02\0\x05\x12\x04\xdd\x04\x0b\x0f\n\r\n\ - \x05\x04\x10\x02\0\x01\x12\x04\xdd\x04\x10\x1a\n\r\n\x05\x04\x10\x02\0\ - \x03\x12\x04\xdd\x04\x1d\x1f\n\r\n\x05\x04\x10\x02\0\x08\x12\x04\xdd\x04\ - \x20/\n\r\n\x05\x04\x10\x02\0\x07\x12\x04\xdd\x04).\nO\n\x04\x04\x10\x02\ - \x01\x12\x04\xe0\x04\x02:\x1aA\x20The\x20parser\x20stores\x20options\x20\ - it\x20doesn't\x20recognize\x20here.\x20See\x20above.\n\n\r\n\x05\x04\x10\ - \x02\x01\x04\x12\x04\xe0\x04\x02\n\n\r\n\x05\x04\x10\x02\x01\x06\x12\x04\ - \xe0\x04\x0b\x1e\n\r\n\x05\x04\x10\x02\x01\x01\x12\x04\xe0\x04\x1f3\n\r\ - \n\x05\x04\x10\x02\x01\x03\x12\x04\xe0\x0469\nZ\n\x03\x04\x10\x05\x12\ - \x04\xe3\x04\x02\x19\x1aM\x20Clients\x20can\x20define\x20custom\x20optio\ + .\n\n\r\n\x05\x04\r\x02\0\x04\x12\x04\xf3\x04\x02\n\n\r\n\x05\x04\r\x02\ + \0\x06\x12\x04\xf3\x04\x0b\x1e\n\r\n\x05\x04\r\x02\0\x01\x12\x04\xf3\x04\ + \x1f3\n\r\n\x05\x04\r\x02\0\x03\x12\x04\xf3\x0469\nZ\n\x03\x04\r\x05\x12\ + \x04\xf6\x04\x02\x19\x1aM\x20Clients\x20can\x20define\x20custom\x20optio\ ns\x20in\x20extensions\x20of\x20this\x20message.\x20See\x20above.\n\n\ - \x0c\n\x04\x04\x10\x05\0\x12\x04\xe3\x04\r\x18\n\r\n\x05\x04\x10\x05\0\ - \x01\x12\x04\xe3\x04\r\x11\n\r\n\x05\x04\x10\x05\0\x02\x12\x04\xe3\x04\ - \x15\x18\n\x8b\x03\n\x02\x04\x11\x12\x06\xed\x04\0\x81\x05\x01\x1a\xfc\ - \x02\x20A\x20message\x20representing\x20a\x20option\x20the\x20parser\x20\ - does\x20not\x20recognize.\x20This\x20only\n\x20appears\x20in\x20options\ - \x20protos\x20created\x20by\x20the\x20compiler::Parser\x20class.\n\x20De\ - scriptorPool\x20resolves\x20these\x20when\x20building\x20Descriptor\x20o\ - bjects.\x20Therefore,\n\x20options\x20protos\x20in\x20descriptor\x20obje\ - cts\x20(e.g.\x20returned\x20by\x20Descriptor::options(),\n\x20or\x20prod\ - uced\x20by\x20Descriptor::CopyTo())\x20will\x20never\x20have\x20Uninterp\ - retedOptions\n\x20in\x20them.\n\n\x0b\n\x03\x04\x11\x01\x12\x04\xed\x04\ - \x08\x1b\n\xcb\x02\n\x04\x04\x11\x03\0\x12\x06\xf3\x04\x02\xf6\x04\x03\ - \x1a\xba\x02\x20The\x20name\x20of\x20the\x20uninterpreted\x20option.\x20\ - \x20Each\x20string\x20represents\x20a\x20segment\x20in\n\x20a\x20dot-sep\ - arated\x20name.\x20\x20is_extension\x20is\x20true\x20iff\x20a\x20segment\ - \x20represents\x20an\n\x20extension\x20(denoted\x20with\x20parentheses\ - \x20in\x20options\x20specs\x20in\x20.proto\x20files).\n\x20E.g.,{\x20[\"\ - foo\",\x20false],\x20[\"bar.baz\",\x20true],\x20[\"qux\",\x20false]\x20}\ - \x20represents\n\x20\"foo.(bar.baz).qux\".\n\n\r\n\x05\x04\x11\x03\0\x01\ - \x12\x04\xf3\x04\n\x12\n\x0e\n\x06\x04\x11\x03\0\x02\0\x12\x04\xf4\x04\ - \x04\"\n\x0f\n\x07\x04\x11\x03\0\x02\0\x04\x12\x04\xf4\x04\x04\x0c\n\x0f\ - \n\x07\x04\x11\x03\0\x02\0\x05\x12\x04\xf4\x04\r\x13\n\x0f\n\x07\x04\x11\ - \x03\0\x02\0\x01\x12\x04\xf4\x04\x14\x1d\n\x0f\n\x07\x04\x11\x03\0\x02\0\ - \x03\x12\x04\xf4\x04\x20!\n\x0e\n\x06\x04\x11\x03\0\x02\x01\x12\x04\xf5\ - \x04\x04#\n\x0f\n\x07\x04\x11\x03\0\x02\x01\x04\x12\x04\xf5\x04\x04\x0c\ - \n\x0f\n\x07\x04\x11\x03\0\x02\x01\x05\x12\x04\xf5\x04\r\x11\n\x0f\n\x07\ - \x04\x11\x03\0\x02\x01\x01\x12\x04\xf5\x04\x12\x1e\n\x0f\n\x07\x04\x11\ - \x03\0\x02\x01\x03\x12\x04\xf5\x04!\"\n\x0c\n\x04\x04\x11\x02\0\x12\x04\ - \xf7\x04\x02\x1d\n\r\n\x05\x04\x11\x02\0\x04\x12\x04\xf7\x04\x02\n\n\r\n\ - \x05\x04\x11\x02\0\x06\x12\x04\xf7\x04\x0b\x13\n\r\n\x05\x04\x11\x02\0\ - \x01\x12\x04\xf7\x04\x14\x18\n\r\n\x05\x04\x11\x02\0\x03\x12\x04\xf7\x04\ - \x1b\x1c\n\x9c\x01\n\x04\x04\x11\x02\x01\x12\x04\xfb\x04\x02'\x1a\x8d\ - \x01\x20The\x20value\x20of\x20the\x20uninterpreted\x20option,\x20in\x20w\ - hatever\x20type\x20the\x20tokenizer\n\x20identified\x20it\x20as\x20durin\ - g\x20parsing.\x20Exactly\x20one\x20of\x20these\x20should\x20be\x20set.\n\ - \n\r\n\x05\x04\x11\x02\x01\x04\x12\x04\xfb\x04\x02\n\n\r\n\x05\x04\x11\ - \x02\x01\x05\x12\x04\xfb\x04\x0b\x11\n\r\n\x05\x04\x11\x02\x01\x01\x12\ - \x04\xfb\x04\x12\"\n\r\n\x05\x04\x11\x02\x01\x03\x12\x04\xfb\x04%&\n\x0c\ - \n\x04\x04\x11\x02\x02\x12\x04\xfc\x04\x02)\n\r\n\x05\x04\x11\x02\x02\ - \x04\x12\x04\xfc\x04\x02\n\n\r\n\x05\x04\x11\x02\x02\x05\x12\x04\xfc\x04\ - \x0b\x11\n\r\n\x05\x04\x11\x02\x02\x01\x12\x04\xfc\x04\x12$\n\r\n\x05\ - \x04\x11\x02\x02\x03\x12\x04\xfc\x04'(\n\x0c\n\x04\x04\x11\x02\x03\x12\ - \x04\xfd\x04\x02(\n\r\n\x05\x04\x11\x02\x03\x04\x12\x04\xfd\x04\x02\n\n\ - \r\n\x05\x04\x11\x02\x03\x05\x12\x04\xfd\x04\x0b\x10\n\r\n\x05\x04\x11\ - \x02\x03\x01\x12\x04\xfd\x04\x11#\n\r\n\x05\x04\x11\x02\x03\x03\x12\x04\ - \xfd\x04&'\n\x0c\n\x04\x04\x11\x02\x04\x12\x04\xfe\x04\x02#\n\r\n\x05\ - \x04\x11\x02\x04\x04\x12\x04\xfe\x04\x02\n\n\r\n\x05\x04\x11\x02\x04\x05\ - \x12\x04\xfe\x04\x0b\x11\n\r\n\x05\x04\x11\x02\x04\x01\x12\x04\xfe\x04\ - \x12\x1e\n\r\n\x05\x04\x11\x02\x04\x03\x12\x04\xfe\x04!\"\n\x0c\n\x04\ - \x04\x11\x02\x05\x12\x04\xff\x04\x02\"\n\r\n\x05\x04\x11\x02\x05\x04\x12\ - \x04\xff\x04\x02\n\n\r\n\x05\x04\x11\x02\x05\x05\x12\x04\xff\x04\x0b\x10\ - \n\r\n\x05\x04\x11\x02\x05\x01\x12\x04\xff\x04\x11\x1d\n\r\n\x05\x04\x11\ - \x02\x05\x03\x12\x04\xff\x04\x20!\n\x0c\n\x04\x04\x11\x02\x06\x12\x04\ - \x80\x05\x02&\n\r\n\x05\x04\x11\x02\x06\x04\x12\x04\x80\x05\x02\n\n\r\n\ - \x05\x04\x11\x02\x06\x05\x12\x04\x80\x05\x0b\x11\n\r\n\x05\x04\x11\x02\ - \x06\x01\x12\x04\x80\x05\x12!\n\r\n\x05\x04\x11\x02\x06\x03\x12\x04\x80\ - \x05$%\n\xda\x01\n\x02\x04\x12\x12\x06\x88\x05\0\x89\x06\x01\x1aj\x20Enc\ - apsulates\x20information\x20about\x20the\x20original\x20source\x20file\ - \x20from\x20which\x20a\n\x20FileDescriptorProto\x20was\x20generated.\n2`\ - \x20===================================================================\ - \n\x20Optional\x20source\x20code\x20info\n\n\x0b\n\x03\x04\x12\x01\x12\ - \x04\x88\x05\x08\x16\n\x82\x11\n\x04\x04\x12\x02\0\x12\x04\xb4\x05\x02!\ - \x1a\xf3\x10\x20A\x20Location\x20identifies\x20a\x20piece\x20of\x20sourc\ - e\x20code\x20in\x20a\x20.proto\x20file\x20which\n\x20corresponds\x20to\ - \x20a\x20particular\x20definition.\x20\x20This\x20information\x20is\x20i\ - ntended\n\x20to\x20be\x20useful\x20to\x20IDEs,\x20code\x20indexers,\x20d\ - ocumentation\x20generators,\x20and\x20similar\n\x20tools.\n\n\x20For\x20\ - example,\x20say\x20we\x20have\x20a\x20file\x20like:\n\x20\x20\x20message\ - \x20Foo\x20{\n\x20\x20\x20\x20\x20optional\x20string\x20foo\x20=\x201;\n\ - \x20\x20\x20}\n\x20Let's\x20look\x20at\x20just\x20the\x20field\x20defini\ - tion:\n\x20\x20\x20optional\x20string\x20foo\x20=\x201;\n\x20\x20\x20^\ - \x20\x20\x20\x20\x20\x20\x20^^\x20\x20\x20\x20\x20^^\x20\x20^\x20\x20^^^\ - \n\x20\x20\x20a\x20\x20\x20\x20\x20\x20\x20bc\x20\x20\x20\x20\x20de\x20\ - \x20f\x20\x20ghi\n\x20We\x20have\x20the\x20following\x20locations:\n\x20\ - \x20\x20span\x20\x20\x20path\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\ - \x20\x20\x20\x20represents\n\x20\x20\x20[a,i)\x20\x20[\x204,\x200,\x202,\ - \x200\x20]\x20\x20\x20\x20\x20The\x20whole\x20field\x20definition.\n\x20\ - \x20\x20[a,b)\x20\x20[\x204,\x200,\x202,\x200,\x204\x20]\x20\x20The\x20l\ - abel\x20(optional).\n\x20\x20\x20[c,d)\x20\x20[\x204,\x200,\x202,\x200,\ - \x205\x20]\x20\x20The\x20type\x20(string).\n\x20\x20\x20[e,f)\x20\x20[\ - \x204,\x200,\x202,\x200,\x201\x20]\x20\x20The\x20name\x20(foo).\n\x20\ - \x20\x20[g,h)\x20\x20[\x204,\x200,\x202,\x200,\x203\x20]\x20\x20The\x20n\ - umber\x20(1).\n\n\x20Notes:\n\x20-\x20A\x20location\x20may\x20refer\x20t\ - o\x20a\x20repeated\x20field\x20itself\x20(i.e.\x20not\x20to\x20any\n\x20\ - \x20\x20particular\x20index\x20within\x20it).\x20\x20This\x20is\x20used\ - \x20whenever\x20a\x20set\x20of\x20elements\x20are\n\x20\x20\x20logically\ - \x20enclosed\x20in\x20a\x20single\x20code\x20segment.\x20\x20For\x20exam\ - ple,\x20an\x20entire\n\x20\x20\x20extend\x20block\x20(possibly\x20contai\ - ning\x20multiple\x20extension\x20definitions)\x20will\n\x20\x20\x20have\ - \x20an\x20outer\x20location\x20whose\x20path\x20refers\x20to\x20the\x20\ - \"extensions\"\x20repeated\n\x20\x20\x20field\x20without\x20an\x20index.\ - \n\x20-\x20Multiple\x20locations\x20may\x20have\x20the\x20same\x20path.\ - \x20\x20This\x20happens\x20when\x20a\x20single\n\x20\x20\x20logical\x20d\ - eclaration\x20is\x20spread\x20out\x20across\x20multiple\x20places.\x20\ - \x20The\x20most\n\x20\x20\x20obvious\x20example\x20is\x20the\x20\"extend\ - \"\x20block\x20again\x20--\x20there\x20may\x20be\x20multiple\n\x20\x20\ - \x20extend\x20blocks\x20in\x20the\x20same\x20scope,\x20each\x20of\x20whi\ - ch\x20will\x20have\x20the\x20same\x20path.\n\x20-\x20A\x20location's\x20\ - span\x20is\x20not\x20always\x20a\x20subset\x20of\x20its\x20parent's\x20s\ - pan.\x20\x20For\n\x20\x20\x20example,\x20the\x20\"extendee\"\x20of\x20an\ - \x20extension\x20declaration\x20appears\x20at\x20the\n\x20\x20\x20beginn\ - ing\x20of\x20the\x20\"extend\"\x20block\x20and\x20is\x20shared\x20by\x20\ - all\x20extensions\x20within\n\x20\x20\x20the\x20block.\n\x20-\x20Just\ - \x20because\x20a\x20location's\x20span\x20is\x20a\x20subset\x20of\x20som\ - e\x20other\x20location's\x20span\n\x20\x20\x20does\x20not\x20mean\x20tha\ - t\x20it\x20is\x20a\x20descendent.\x20\x20For\x20example,\x20a\x20\"group\ - \"\x20defines\n\x20\x20\x20both\x20a\x20type\x20and\x20a\x20field\x20in\ - \x20a\x20single\x20declaration.\x20\x20Thus,\x20the\x20locations\n\x20\ - \x20\x20corresponding\x20to\x20the\x20type\x20and\x20field\x20and\x20the\ - ir\x20components\x20will\x20overlap.\n\x20-\x20Code\x20which\x20tries\ - \x20to\x20interpret\x20locations\x20should\x20probably\x20be\x20designed\ - \x20to\n\x20\x20\x20ignore\x20those\x20that\x20it\x20doesn't\x20understa\ - nd,\x20as\x20more\x20types\x20of\x20locations\x20could\n\x20\x20\x20be\ - \x20recorded\x20in\x20the\x20future.\n\n\r\n\x05\x04\x12\x02\0\x04\x12\ - \x04\xb4\x05\x02\n\n\r\n\x05\x04\x12\x02\0\x06\x12\x04\xb4\x05\x0b\x13\n\ - \r\n\x05\x04\x12\x02\0\x01\x12\x04\xb4\x05\x14\x1c\n\r\n\x05\x04\x12\x02\ - \0\x03\x12\x04\xb4\x05\x1f\x20\n\x0e\n\x04\x04\x12\x03\0\x12\x06\xb5\x05\ - \x02\x88\x06\x03\n\r\n\x05\x04\x12\x03\0\x01\x12\x04\xb5\x05\n\x12\n\x83\ - \x07\n\x06\x04\x12\x03\0\x02\0\x12\x04\xcd\x05\x04*\x1a\xf2\x06\x20Ident\ + \x0c\n\x04\x04\r\x05\0\x12\x04\xf6\x04\r\x18\n\r\n\x05\x04\r\x05\0\x01\ + \x12\x04\xf6\x04\r\x11\n\r\n\x05\x04\r\x05\0\x02\x12\x04\xf6\x04\x15\x18\ + \n\x0c\n\x02\x04\x0e\x12\x06\xf9\x04\0\x8c\x05\x01\n\x0b\n\x03\x04\x0e\ + \x01\x12\x04\xf9\x04\x08\x13\n`\n\x04\x04\x0e\x02\0\x12\x04\xfd\x04\x02\ + \x20\x1aR\x20Set\x20this\x20option\x20to\x20true\x20to\x20allow\x20mappi\ + ng\x20different\x20tag\x20names\x20to\x20the\x20same\n\x20value.\n\n\r\n\ + \x05\x04\x0e\x02\0\x04\x12\x04\xfd\x04\x02\n\n\r\n\x05\x04\x0e\x02\0\x05\ + \x12\x04\xfd\x04\x0b\x0f\n\r\n\x05\x04\x0e\x02\0\x01\x12\x04\xfd\x04\x10\ + \x1b\n\r\n\x05\x04\x0e\x02\0\x03\x12\x04\xfd\x04\x1e\x1f\n\xe5\x01\n\x04\ + \x04\x0e\x02\x01\x12\x04\x83\x05\x021\x1a\xd6\x01\x20Is\x20this\x20enum\ + \x20deprecated?\n\x20Depending\x20on\x20the\x20target\x20platform,\x20th\ + is\x20can\x20emit\x20Deprecated\x20annotations\n\x20for\x20the\x20enum,\ + \x20or\x20it\x20will\x20be\x20completely\x20ignored;\x20in\x20the\x20ver\ + y\x20least,\x20this\n\x20is\x20a\x20formalization\x20for\x20deprecating\ + \x20enums.\n\n\r\n\x05\x04\x0e\x02\x01\x04\x12\x04\x83\x05\x02\n\n\r\n\ + \x05\x04\x0e\x02\x01\x05\x12\x04\x83\x05\x0b\x0f\n\r\n\x05\x04\x0e\x02\ + \x01\x01\x12\x04\x83\x05\x10\x1a\n\r\n\x05\x04\x0e\x02\x01\x03\x12\x04\ + \x83\x05\x1d\x1e\n\r\n\x05\x04\x0e\x02\x01\x08\x12\x04\x83\x05\x1f0\n\r\ + \n\x05\x04\x0e\x02\x01\x07\x12\x04\x83\x05*/\n\x1f\n\x03\x04\x0e\t\x12\ + \x04\x85\x05\x02\r\"\x12\x20javanano_as_lite\n\n\x0c\n\x04\x04\x0e\t\0\ + \x12\x04\x85\x05\x0b\x0c\n\r\n\x05\x04\x0e\t\0\x01\x12\x04\x85\x05\x0b\ + \x0c\n\r\n\x05\x04\x0e\t\0\x02\x12\x04\x85\x05\x0b\x0c\nO\n\x04\x04\x0e\ + \x02\x02\x12\x04\x88\x05\x02:\x1aA\x20The\x20parser\x20stores\x20options\ + \x20it\x20doesn't\x20recognize\x20here.\x20See\x20above.\n\n\r\n\x05\x04\ + \x0e\x02\x02\x04\x12\x04\x88\x05\x02\n\n\r\n\x05\x04\x0e\x02\x02\x06\x12\ + \x04\x88\x05\x0b\x1e\n\r\n\x05\x04\x0e\x02\x02\x01\x12\x04\x88\x05\x1f3\ + \n\r\n\x05\x04\x0e\x02\x02\x03\x12\x04\x88\x0569\nZ\n\x03\x04\x0e\x05\ + \x12\x04\x8b\x05\x02\x19\x1aM\x20Clients\x20can\x20define\x20custom\x20o\ + ptions\x20in\x20extensions\x20of\x20this\x20message.\x20See\x20above.\n\ + \n\x0c\n\x04\x04\x0e\x05\0\x12\x04\x8b\x05\r\x18\n\r\n\x05\x04\x0e\x05\0\ + \x01\x12\x04\x8b\x05\r\x11\n\r\n\x05\x04\x0e\x05\0\x02\x12\x04\x8b\x05\ + \x15\x18\n\x0c\n\x02\x04\x0f\x12\x06\x8e\x05\0\x9a\x05\x01\n\x0b\n\x03\ + \x04\x0f\x01\x12\x04\x8e\x05\x08\x18\n\xf7\x01\n\x04\x04\x0f\x02\0\x12\ + \x04\x93\x05\x021\x1a\xe8\x01\x20Is\x20this\x20enum\x20value\x20deprecat\ + ed?\n\x20Depending\x20on\x20the\x20target\x20platform,\x20this\x20can\ + \x20emit\x20Deprecated\x20annotations\n\x20for\x20the\x20enum\x20value,\ + \x20or\x20it\x20will\x20be\x20completely\x20ignored;\x20in\x20the\x20ver\ + y\x20least,\n\x20this\x20is\x20a\x20formalization\x20for\x20deprecating\ + \x20enum\x20values.\n\n\r\n\x05\x04\x0f\x02\0\x04\x12\x04\x93\x05\x02\n\ + \n\r\n\x05\x04\x0f\x02\0\x05\x12\x04\x93\x05\x0b\x0f\n\r\n\x05\x04\x0f\ + \x02\0\x01\x12\x04\x93\x05\x10\x1a\n\r\n\x05\x04\x0f\x02\0\x03\x12\x04\ + \x93\x05\x1d\x1e\n\r\n\x05\x04\x0f\x02\0\x08\x12\x04\x93\x05\x1f0\n\r\n\ + \x05\x04\x0f\x02\0\x07\x12\x04\x93\x05*/\nO\n\x04\x04\x0f\x02\x01\x12\ + \x04\x96\x05\x02:\x1aA\x20The\x20parser\x20stores\x20options\x20it\x20do\ + esn't\x20recognize\x20here.\x20See\x20above.\n\n\r\n\x05\x04\x0f\x02\x01\ + \x04\x12\x04\x96\x05\x02\n\n\r\n\x05\x04\x0f\x02\x01\x06\x12\x04\x96\x05\ + \x0b\x1e\n\r\n\x05\x04\x0f\x02\x01\x01\x12\x04\x96\x05\x1f3\n\r\n\x05\ + \x04\x0f\x02\x01\x03\x12\x04\x96\x0569\nZ\n\x03\x04\x0f\x05\x12\x04\x99\ + \x05\x02\x19\x1aM\x20Clients\x20can\x20define\x20custom\x20options\x20in\ + \x20extensions\x20of\x20this\x20message.\x20See\x20above.\n\n\x0c\n\x04\ + \x04\x0f\x05\0\x12\x04\x99\x05\r\x18\n\r\n\x05\x04\x0f\x05\0\x01\x12\x04\ + \x99\x05\r\x11\n\r\n\x05\x04\x0f\x05\0\x02\x12\x04\x99\x05\x15\x18\n\x0c\ + \n\x02\x04\x10\x12\x06\x9c\x05\0\xae\x05\x01\n\x0b\n\x03\x04\x10\x01\x12\ + \x04\x9c\x05\x08\x16\n\xd9\x03\n\x04\x04\x10\x02\0\x12\x04\xa7\x05\x022\ + \x1a\xdf\x01\x20Is\x20this\x20service\x20deprecated?\n\x20Depending\x20o\ + n\x20the\x20target\x20platform,\x20this\x20can\x20emit\x20Deprecated\x20\ + annotations\n\x20for\x20the\x20service,\x20or\x20it\x20will\x20be\x20com\ + pletely\x20ignored;\x20in\x20the\x20very\x20least,\n\x20this\x20is\x20a\ + \x20formalization\x20for\x20deprecating\x20services.\n2\xe8\x01\x20Note:\ + \x20\x20Field\x20numbers\x201\x20through\x2032\x20are\x20reserved\x20for\ + \x20Google's\x20internal\x20RPC\n\x20\x20\x20framework.\x20\x20We\x20apo\ + logize\x20for\x20hoarding\x20these\x20numbers\x20to\x20ourselves,\x20but\ + \n\x20\x20\x20we\x20were\x20already\x20using\x20them\x20long\x20before\ + \x20we\x20decided\x20to\x20release\x20Protocol\n\x20\x20\x20Buffers.\n\n\ + \r\n\x05\x04\x10\x02\0\x04\x12\x04\xa7\x05\x02\n\n\r\n\x05\x04\x10\x02\0\ + \x05\x12\x04\xa7\x05\x0b\x0f\n\r\n\x05\x04\x10\x02\0\x01\x12\x04\xa7\x05\ + \x10\x1a\n\r\n\x05\x04\x10\x02\0\x03\x12\x04\xa7\x05\x1d\x1f\n\r\n\x05\ + \x04\x10\x02\0\x08\x12\x04\xa7\x05\x201\n\r\n\x05\x04\x10\x02\0\x07\x12\ + \x04\xa7\x05+0\nO\n\x04\x04\x10\x02\x01\x12\x04\xaa\x05\x02:\x1aA\x20The\ + \x20parser\x20stores\x20options\x20it\x20doesn't\x20recognize\x20here.\ + \x20See\x20above.\n\n\r\n\x05\x04\x10\x02\x01\x04\x12\x04\xaa\x05\x02\n\ + \n\r\n\x05\x04\x10\x02\x01\x06\x12\x04\xaa\x05\x0b\x1e\n\r\n\x05\x04\x10\ + \x02\x01\x01\x12\x04\xaa\x05\x1f3\n\r\n\x05\x04\x10\x02\x01\x03\x12\x04\ + \xaa\x0569\nZ\n\x03\x04\x10\x05\x12\x04\xad\x05\x02\x19\x1aM\x20Clients\ + \x20can\x20define\x20custom\x20options\x20in\x20extensions\x20of\x20this\ + \x20message.\x20See\x20above.\n\n\x0c\n\x04\x04\x10\x05\0\x12\x04\xad\ + \x05\r\x18\n\r\n\x05\x04\x10\x05\0\x01\x12\x04\xad\x05\r\x11\n\r\n\x05\ + \x04\x10\x05\0\x02\x12\x04\xad\x05\x15\x18\n\x0c\n\x02\x04\x11\x12\x06\ + \xb0\x05\0\xcd\x05\x01\n\x0b\n\x03\x04\x11\x01\x12\x04\xb0\x05\x08\x15\n\ + \xd6\x03\n\x04\x04\x11\x02\0\x12\x04\xbb\x05\x022\x1a\xdc\x01\x20Is\x20t\ + his\x20method\x20deprecated?\n\x20Depending\x20on\x20the\x20target\x20pl\ + atform,\x20this\x20can\x20emit\x20Deprecated\x20annotations\n\x20for\x20\ + the\x20method,\x20or\x20it\x20will\x20be\x20completely\x20ignored;\x20in\ + \x20the\x20very\x20least,\n\x20this\x20is\x20a\x20formalization\x20for\ + \x20deprecating\x20methods.\n2\xe8\x01\x20Note:\x20\x20Field\x20numbers\ + \x201\x20through\x2032\x20are\x20reserved\x20for\x20Google's\x20internal\ + \x20RPC\n\x20\x20\x20framework.\x20\x20We\x20apologize\x20for\x20hoardin\ + g\x20these\x20numbers\x20to\x20ourselves,\x20but\n\x20\x20\x20we\x20were\ + \x20already\x20using\x20them\x20long\x20before\x20we\x20decided\x20to\ + \x20release\x20Protocol\n\x20\x20\x20Buffers.\n\n\r\n\x05\x04\x11\x02\0\ + \x04\x12\x04\xbb\x05\x02\n\n\r\n\x05\x04\x11\x02\0\x05\x12\x04\xbb\x05\ + \x0b\x0f\n\r\n\x05\x04\x11\x02\0\x01\x12\x04\xbb\x05\x10\x1a\n\r\n\x05\ + \x04\x11\x02\0\x03\x12\x04\xbb\x05\x1d\x1f\n\r\n\x05\x04\x11\x02\0\x08\ + \x12\x04\xbb\x05\x201\n\r\n\x05\x04\x11\x02\0\x07\x12\x04\xbb\x05+0\n\ + \xf0\x01\n\x04\x04\x11\x04\0\x12\x06\xc0\x05\x02\xc4\x05\x03\x1a\xdf\x01\ + \x20Is\x20this\x20method\x20side-effect-free\x20(or\x20safe\x20in\x20HTT\ + P\x20parlance),\x20or\x20idempotent,\n\x20or\x20neither?\x20HTTP\x20base\ + d\x20RPC\x20implementation\x20may\x20choose\x20GET\x20verb\x20for\x20saf\ + e\n\x20methods,\x20and\x20PUT\x20verb\x20for\x20idempotent\x20methods\ + \x20instead\x20of\x20the\x20default\x20POST.\n\n\r\n\x05\x04\x11\x04\0\ + \x01\x12\x04\xc0\x05\x07\x17\n\x0e\n\x06\x04\x11\x04\0\x02\0\x12\x04\xc1\ + \x05\x04\x1c\n\x0f\n\x07\x04\x11\x04\0\x02\0\x01\x12\x04\xc1\x05\x04\x17\ + \n\x0f\n\x07\x04\x11\x04\0\x02\0\x02\x12\x04\xc1\x05\x1a\x1b\n$\n\x06\ + \x04\x11\x04\0\x02\x01\x12\x04\xc2\x05\x04\x18\"\x14\x20implies\x20idemp\ + otent\n\n\x0f\n\x07\x04\x11\x04\0\x02\x01\x01\x12\x04\xc2\x05\x04\x13\n\ + \x0f\n\x07\x04\x11\x04\0\x02\x01\x02\x12\x04\xc2\x05\x16\x17\n7\n\x06\ + \x04\x11\x04\0\x02\x02\x12\x04\xc3\x05\x04\x13\"'\x20idempotent,\x20but\ + \x20may\x20have\x20side\x20effects\n\n\x0f\n\x07\x04\x11\x04\0\x02\x02\ + \x01\x12\x04\xc3\x05\x04\x0e\n\x0f\n\x07\x04\x11\x04\0\x02\x02\x02\x12\ + \x04\xc3\x05\x11\x12\n\x0e\n\x04\x04\x11\x02\x01\x12\x06\xc5\x05\x02\xc6\ + \x05&\n\r\n\x05\x04\x11\x02\x01\x04\x12\x04\xc5\x05\x02\n\n\r\n\x05\x04\ + \x11\x02\x01\x06\x12\x04\xc5\x05\x0b\x1b\n\r\n\x05\x04\x11\x02\x01\x01\ + \x12\x04\xc5\x05\x1c-\n\r\n\x05\x04\x11\x02\x01\x03\x12\x04\xc5\x0502\n\ + \r\n\x05\x04\x11\x02\x01\x08\x12\x04\xc6\x05\x06%\n\r\n\x05\x04\x11\x02\ + \x01\x07\x12\x04\xc6\x05\x11$\nO\n\x04\x04\x11\x02\x02\x12\x04\xc9\x05\ + \x02:\x1aA\x20The\x20parser\x20stores\x20options\x20it\x20doesn't\x20rec\ + ognize\x20here.\x20See\x20above.\n\n\r\n\x05\x04\x11\x02\x02\x04\x12\x04\ + \xc9\x05\x02\n\n\r\n\x05\x04\x11\x02\x02\x06\x12\x04\xc9\x05\x0b\x1e\n\r\ + \n\x05\x04\x11\x02\x02\x01\x12\x04\xc9\x05\x1f3\n\r\n\x05\x04\x11\x02\ + \x02\x03\x12\x04\xc9\x0569\nZ\n\x03\x04\x11\x05\x12\x04\xcc\x05\x02\x19\ + \x1aM\x20Clients\x20can\x20define\x20custom\x20options\x20in\x20extensio\ + ns\x20of\x20this\x20message.\x20See\x20above.\n\n\x0c\n\x04\x04\x11\x05\ + \0\x12\x04\xcc\x05\r\x18\n\r\n\x05\x04\x11\x05\0\x01\x12\x04\xcc\x05\r\ + \x11\n\r\n\x05\x04\x11\x05\0\x02\x12\x04\xcc\x05\x15\x18\n\x8b\x03\n\x02\ + \x04\x12\x12\x06\xd6\x05\0\xea\x05\x01\x1a\xfc\x02\x20A\x20message\x20re\ + presenting\x20a\x20option\x20the\x20parser\x20does\x20not\x20recognize.\ + \x20This\x20only\n\x20appears\x20in\x20options\x20protos\x20created\x20b\ + y\x20the\x20compiler::Parser\x20class.\n\x20DescriptorPool\x20resolves\ + \x20these\x20when\x20building\x20Descriptor\x20objects.\x20Therefore,\n\ + \x20options\x20protos\x20in\x20descriptor\x20objects\x20(e.g.\x20returne\ + d\x20by\x20Descriptor::options(),\n\x20or\x20produced\x20by\x20Descripto\ + r::CopyTo())\x20will\x20never\x20have\x20UninterpretedOptions\n\x20in\ + \x20them.\n\n\x0b\n\x03\x04\x12\x01\x12\x04\xd6\x05\x08\x1b\n\xcb\x02\n\ + \x04\x04\x12\x03\0\x12\x06\xdc\x05\x02\xdf\x05\x03\x1a\xba\x02\x20The\ + \x20name\x20of\x20the\x20uninterpreted\x20option.\x20\x20Each\x20string\ + \x20represents\x20a\x20segment\x20in\n\x20a\x20dot-separated\x20name.\ + \x20\x20is_extension\x20is\x20true\x20iff\x20a\x20segment\x20represents\ + \x20an\n\x20extension\x20(denoted\x20with\x20parentheses\x20in\x20option\ + s\x20specs\x20in\x20.proto\x20files).\n\x20E.g.,{\x20[\"foo\",\x20false]\ + ,\x20[\"bar.baz\",\x20true],\x20[\"qux\",\x20false]\x20}\x20represents\n\ + \x20\"foo.(bar.baz).qux\".\n\n\r\n\x05\x04\x12\x03\0\x01\x12\x04\xdc\x05\ + \n\x12\n\x0e\n\x06\x04\x12\x03\0\x02\0\x12\x04\xdd\x05\x04\"\n\x0f\n\x07\ + \x04\x12\x03\0\x02\0\x04\x12\x04\xdd\x05\x04\x0c\n\x0f\n\x07\x04\x12\x03\ + \0\x02\0\x05\x12\x04\xdd\x05\r\x13\n\x0f\n\x07\x04\x12\x03\0\x02\0\x01\ + \x12\x04\xdd\x05\x14\x1d\n\x0f\n\x07\x04\x12\x03\0\x02\0\x03\x12\x04\xdd\ + \x05\x20!\n\x0e\n\x06\x04\x12\x03\0\x02\x01\x12\x04\xde\x05\x04#\n\x0f\n\ + \x07\x04\x12\x03\0\x02\x01\x04\x12\x04\xde\x05\x04\x0c\n\x0f\n\x07\x04\ + \x12\x03\0\x02\x01\x05\x12\x04\xde\x05\r\x11\n\x0f\n\x07\x04\x12\x03\0\ + \x02\x01\x01\x12\x04\xde\x05\x12\x1e\n\x0f\n\x07\x04\x12\x03\0\x02\x01\ + \x03\x12\x04\xde\x05!\"\n\x0c\n\x04\x04\x12\x02\0\x12\x04\xe0\x05\x02\ + \x1d\n\r\n\x05\x04\x12\x02\0\x04\x12\x04\xe0\x05\x02\n\n\r\n\x05\x04\x12\ + \x02\0\x06\x12\x04\xe0\x05\x0b\x13\n\r\n\x05\x04\x12\x02\0\x01\x12\x04\ + \xe0\x05\x14\x18\n\r\n\x05\x04\x12\x02\0\x03\x12\x04\xe0\x05\x1b\x1c\n\ + \x9c\x01\n\x04\x04\x12\x02\x01\x12\x04\xe4\x05\x02'\x1a\x8d\x01\x20The\ + \x20value\x20of\x20the\x20uninterpreted\x20option,\x20in\x20whatever\x20\ + type\x20the\x20tokenizer\n\x20identified\x20it\x20as\x20during\x20parsin\ + g.\x20Exactly\x20one\x20of\x20these\x20should\x20be\x20set.\n\n\r\n\x05\ + \x04\x12\x02\x01\x04\x12\x04\xe4\x05\x02\n\n\r\n\x05\x04\x12\x02\x01\x05\ + \x12\x04\xe4\x05\x0b\x11\n\r\n\x05\x04\x12\x02\x01\x01\x12\x04\xe4\x05\ + \x12\"\n\r\n\x05\x04\x12\x02\x01\x03\x12\x04\xe4\x05%&\n\x0c\n\x04\x04\ + \x12\x02\x02\x12\x04\xe5\x05\x02)\n\r\n\x05\x04\x12\x02\x02\x04\x12\x04\ + \xe5\x05\x02\n\n\r\n\x05\x04\x12\x02\x02\x05\x12\x04\xe5\x05\x0b\x11\n\r\ + \n\x05\x04\x12\x02\x02\x01\x12\x04\xe5\x05\x12$\n\r\n\x05\x04\x12\x02\ + \x02\x03\x12\x04\xe5\x05'(\n\x0c\n\x04\x04\x12\x02\x03\x12\x04\xe6\x05\ + \x02(\n\r\n\x05\x04\x12\x02\x03\x04\x12\x04\xe6\x05\x02\n\n\r\n\x05\x04\ + \x12\x02\x03\x05\x12\x04\xe6\x05\x0b\x10\n\r\n\x05\x04\x12\x02\x03\x01\ + \x12\x04\xe6\x05\x11#\n\r\n\x05\x04\x12\x02\x03\x03\x12\x04\xe6\x05&'\n\ + \x0c\n\x04\x04\x12\x02\x04\x12\x04\xe7\x05\x02#\n\r\n\x05\x04\x12\x02\ + \x04\x04\x12\x04\xe7\x05\x02\n\n\r\n\x05\x04\x12\x02\x04\x05\x12\x04\xe7\ + \x05\x0b\x11\n\r\n\x05\x04\x12\x02\x04\x01\x12\x04\xe7\x05\x12\x1e\n\r\n\ + \x05\x04\x12\x02\x04\x03\x12\x04\xe7\x05!\"\n\x0c\n\x04\x04\x12\x02\x05\ + \x12\x04\xe8\x05\x02\"\n\r\n\x05\x04\x12\x02\x05\x04\x12\x04\xe8\x05\x02\ + \n\n\r\n\x05\x04\x12\x02\x05\x05\x12\x04\xe8\x05\x0b\x10\n\r\n\x05\x04\ + \x12\x02\x05\x01\x12\x04\xe8\x05\x11\x1d\n\r\n\x05\x04\x12\x02\x05\x03\ + \x12\x04\xe8\x05\x20!\n\x0c\n\x04\x04\x12\x02\x06\x12\x04\xe9\x05\x02&\n\ + \r\n\x05\x04\x12\x02\x06\x04\x12\x04\xe9\x05\x02\n\n\r\n\x05\x04\x12\x02\ + \x06\x05\x12\x04\xe9\x05\x0b\x11\n\r\n\x05\x04\x12\x02\x06\x01\x12\x04\ + \xe9\x05\x12!\n\r\n\x05\x04\x12\x02\x06\x03\x12\x04\xe9\x05$%\n\xda\x01\ + \n\x02\x04\x13\x12\x06\xf1\x05\0\xf2\x06\x01\x1aj\x20Encapsulates\x20inf\ + ormation\x20about\x20the\x20original\x20source\x20file\x20from\x20which\ + \x20a\n\x20FileDescriptorProto\x20was\x20generated.\n2`\x20=============\ + ======================================================\n\x20Optional\x20\ + source\x20code\x20info\n\n\x0b\n\x03\x04\x13\x01\x12\x04\xf1\x05\x08\x16\ + \n\x82\x11\n\x04\x04\x13\x02\0\x12\x04\x9d\x06\x02!\x1a\xf3\x10\x20A\x20\ + Location\x20identifies\x20a\x20piece\x20of\x20source\x20code\x20in\x20a\ + \x20.proto\x20file\x20which\n\x20corresponds\x20to\x20a\x20particular\ + \x20definition.\x20\x20This\x20information\x20is\x20intended\n\x20to\x20\ + be\x20useful\x20to\x20IDEs,\x20code\x20indexers,\x20documentation\x20gen\ + erators,\x20and\x20similar\n\x20tools.\n\n\x20For\x20example,\x20say\x20\ + we\x20have\x20a\x20file\x20like:\n\x20\x20\x20message\x20Foo\x20{\n\x20\ + \x20\x20\x20\x20optional\x20string\x20foo\x20=\x201;\n\x20\x20\x20}\n\ + \x20Let's\x20look\x20at\x20just\x20the\x20field\x20definition:\n\x20\x20\ + \x20optional\x20string\x20foo\x20=\x201;\n\x20\x20\x20^\x20\x20\x20\x20\ + \x20\x20\x20^^\x20\x20\x20\x20\x20^^\x20\x20^\x20\x20^^^\n\x20\x20\x20a\ + \x20\x20\x20\x20\x20\x20\x20bc\x20\x20\x20\x20\x20de\x20\x20f\x20\x20ghi\ + \n\x20We\x20have\x20the\x20following\x20locations:\n\x20\x20\x20span\x20\ + \x20\x20path\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\ + represents\n\x20\x20\x20[a,i)\x20\x20[\x204,\x200,\x202,\x200\x20]\x20\ + \x20\x20\x20\x20The\x20whole\x20field\x20definition.\n\x20\x20\x20[a,b)\ + \x20\x20[\x204,\x200,\x202,\x200,\x204\x20]\x20\x20The\x20label\x20(opti\ + onal).\n\x20\x20\x20[c,d)\x20\x20[\x204,\x200,\x202,\x200,\x205\x20]\x20\ + \x20The\x20type\x20(string).\n\x20\x20\x20[e,f)\x20\x20[\x204,\x200,\x20\ + 2,\x200,\x201\x20]\x20\x20The\x20name\x20(foo).\n\x20\x20\x20[g,h)\x20\ + \x20[\x204,\x200,\x202,\x200,\x203\x20]\x20\x20The\x20number\x20(1).\n\n\ + \x20Notes:\n\x20-\x20A\x20location\x20may\x20refer\x20to\x20a\x20repeate\ + d\x20field\x20itself\x20(i.e.\x20not\x20to\x20any\n\x20\x20\x20particula\ + r\x20index\x20within\x20it).\x20\x20This\x20is\x20used\x20whenever\x20a\ + \x20set\x20of\x20elements\x20are\n\x20\x20\x20logically\x20enclosed\x20i\ + n\x20a\x20single\x20code\x20segment.\x20\x20For\x20example,\x20an\x20ent\ + ire\n\x20\x20\x20extend\x20block\x20(possibly\x20containing\x20multiple\ + \x20extension\x20definitions)\x20will\n\x20\x20\x20have\x20an\x20outer\ + \x20location\x20whose\x20path\x20refers\x20to\x20the\x20\"extensions\"\ + \x20repeated\n\x20\x20\x20field\x20without\x20an\x20index.\n\x20-\x20Mul\ + tiple\x20locations\x20may\x20have\x20the\x20same\x20path.\x20\x20This\ + \x20happens\x20when\x20a\x20single\n\x20\x20\x20logical\x20declaration\ + \x20is\x20spread\x20out\x20across\x20multiple\x20places.\x20\x20The\x20m\ + ost\n\x20\x20\x20obvious\x20example\x20is\x20the\x20\"extend\"\x20block\ + \x20again\x20--\x20there\x20may\x20be\x20multiple\n\x20\x20\x20extend\ + \x20blocks\x20in\x20the\x20same\x20scope,\x20each\x20of\x20which\x20will\ + \x20have\x20the\x20same\x20path.\n\x20-\x20A\x20location's\x20span\x20is\ + \x20not\x20always\x20a\x20subset\x20of\x20its\x20parent's\x20span.\x20\ + \x20For\n\x20\x20\x20example,\x20the\x20\"extendee\"\x20of\x20an\x20exte\ + nsion\x20declaration\x20appears\x20at\x20the\n\x20\x20\x20beginning\x20o\ + f\x20the\x20\"extend\"\x20block\x20and\x20is\x20shared\x20by\x20all\x20e\ + xtensions\x20within\n\x20\x20\x20the\x20block.\n\x20-\x20Just\x20because\ + \x20a\x20location's\x20span\x20is\x20a\x20subset\x20of\x20some\x20other\ + \x20location's\x20span\n\x20\x20\x20does\x20not\x20mean\x20that\x20it\ + \x20is\x20a\x20descendant.\x20\x20For\x20example,\x20a\x20\"group\"\x20d\ + efines\n\x20\x20\x20both\x20a\x20type\x20and\x20a\x20field\x20in\x20a\ + \x20single\x20declaration.\x20\x20Thus,\x20the\x20locations\n\x20\x20\ + \x20corresponding\x20to\x20the\x20type\x20and\x20field\x20and\x20their\ + \x20components\x20will\x20overlap.\n\x20-\x20Code\x20which\x20tries\x20t\ + o\x20interpret\x20locations\x20should\x20probably\x20be\x20designed\x20t\ + o\n\x20\x20\x20ignore\x20those\x20that\x20it\x20doesn't\x20understand,\ + \x20as\x20more\x20types\x20of\x20locations\x20could\n\x20\x20\x20be\x20r\ + ecorded\x20in\x20the\x20future.\n\n\r\n\x05\x04\x13\x02\0\x04\x12\x04\ + \x9d\x06\x02\n\n\r\n\x05\x04\x13\x02\0\x06\x12\x04\x9d\x06\x0b\x13\n\r\n\ + \x05\x04\x13\x02\0\x01\x12\x04\x9d\x06\x14\x1c\n\r\n\x05\x04\x13\x02\0\ + \x03\x12\x04\x9d\x06\x1f\x20\n\x0e\n\x04\x04\x13\x03\0\x12\x06\x9e\x06\ + \x02\xf1\x06\x03\n\r\n\x05\x04\x13\x03\0\x01\x12\x04\x9e\x06\n\x12\n\x83\ + \x07\n\x06\x04\x13\x03\0\x02\0\x12\x04\xb6\x06\x04,\x1a\xf2\x06\x20Ident\ ifies\x20which\x20part\x20of\x20the\x20FileDescriptorProto\x20was\x20def\ ined\x20at\x20this\n\x20location.\n\n\x20Each\x20element\x20is\x20a\x20f\ ield\x20number\x20or\x20an\x20index.\x20\x20They\x20form\x20a\x20path\ @@ -9613,12 +10734,12 @@ static file_descriptor_proto_data: &'static [u8] = b"\ lement:\n\x20\x20\x20[\x204,\x203,\x202,\x207\x20]\n\x20this\x20path\x20\ refers\x20to\x20the\x20whole\x20field\x20declaration\x20(from\x20the\x20\ beginning\n\x20of\x20the\x20label\x20to\x20the\x20terminating\x20semicol\ - on).\n\n\x0f\n\x07\x04\x12\x03\0\x02\0\x04\x12\x04\xcd\x05\x04\x0c\n\x0f\ - \n\x07\x04\x12\x03\0\x02\0\x05\x12\x04\xcd\x05\r\x12\n\x0f\n\x07\x04\x12\ - \x03\0\x02\0\x01\x12\x04\xcd\x05\x13\x17\n\x0f\n\x07\x04\x12\x03\0\x02\0\ - \x03\x12\x04\xcd\x05\x1a\x1b\n\x0f\n\x07\x04\x12\x03\0\x02\0\x08\x12\x04\ - \xcd\x05\x1c)\n\x10\n\x08\x04\x12\x03\0\x02\0\x08\x02\x12\x04\xcd\x05\ - \x1d(\n\xd2\x02\n\x06\x04\x12\x03\0\x02\x01\x12\x04\xd4\x05\x04*\x1a\xc1\ + on).\n\n\x0f\n\x07\x04\x13\x03\0\x02\0\x04\x12\x04\xb6\x06\x04\x0c\n\x0f\ + \n\x07\x04\x13\x03\0\x02\0\x05\x12\x04\xb6\x06\r\x12\n\x0f\n\x07\x04\x13\ + \x03\0\x02\0\x01\x12\x04\xb6\x06\x13\x17\n\x0f\n\x07\x04\x13\x03\0\x02\0\ + \x03\x12\x04\xb6\x06\x1a\x1b\n\x0f\n\x07\x04\x13\x03\0\x02\0\x08\x12\x04\ + \xb6\x06\x1c+\n\x10\n\x08\x04\x13\x03\0\x02\0\x08\x02\x12\x04\xb6\x06\ + \x1d*\n\xd2\x02\n\x06\x04\x13\x03\0\x02\x01\x12\x04\xbd\x06\x04,\x1a\xc1\ \x02\x20Always\x20has\x20exactly\x20three\x20or\x20four\x20elements:\x20\ start\x20line,\x20start\x20column,\n\x20end\x20line\x20(optional,\x20oth\ erwise\x20assumed\x20same\x20as\x20start\x20line),\x20end\x20column.\n\ @@ -9626,12 +10747,12 @@ static file_descriptor_proto_data: &'static [u8] = b"\ iciency.\x20\x20Note\x20that\x20line\n\x20and\x20column\x20numbers\x20ar\ e\x20zero-based\x20--\x20typically\x20you\x20will\x20want\x20to\x20add\n\ \x201\x20to\x20each\x20before\x20displaying\x20to\x20a\x20user.\n\n\x0f\ - \n\x07\x04\x12\x03\0\x02\x01\x04\x12\x04\xd4\x05\x04\x0c\n\x0f\n\x07\x04\ - \x12\x03\0\x02\x01\x05\x12\x04\xd4\x05\r\x12\n\x0f\n\x07\x04\x12\x03\0\ - \x02\x01\x01\x12\x04\xd4\x05\x13\x17\n\x0f\n\x07\x04\x12\x03\0\x02\x01\ - \x03\x12\x04\xd4\x05\x1a\x1b\n\x0f\n\x07\x04\x12\x03\0\x02\x01\x08\x12\ - \x04\xd4\x05\x1c)\n\x10\n\x08\x04\x12\x03\0\x02\x01\x08\x02\x12\x04\xd4\ - \x05\x1d(\n\xa5\x0c\n\x06\x04\x12\x03\0\x02\x02\x12\x04\x85\x06\x04)\x1a\ + \n\x07\x04\x13\x03\0\x02\x01\x04\x12\x04\xbd\x06\x04\x0c\n\x0f\n\x07\x04\ + \x13\x03\0\x02\x01\x05\x12\x04\xbd\x06\r\x12\n\x0f\n\x07\x04\x13\x03\0\ + \x02\x01\x01\x12\x04\xbd\x06\x13\x17\n\x0f\n\x07\x04\x13\x03\0\x02\x01\ + \x03\x12\x04\xbd\x06\x1a\x1b\n\x0f\n\x07\x04\x13\x03\0\x02\x01\x08\x12\ + \x04\xbd\x06\x1c+\n\x10\n\x08\x04\x13\x03\0\x02\x01\x08\x02\x12\x04\xbd\ + \x06\x1d*\n\xa5\x0c\n\x06\x04\x13\x03\0\x02\x02\x12\x04\xee\x06\x04)\x1a\ \x94\x0c\x20If\x20this\x20SourceCodeInfo\x20represents\x20a\x20complete\ \x20declaration,\x20these\x20are\x20any\n\x20comments\x20appearing\x20be\ fore\x20and\x20after\x20the\x20declaration\x20which\x20appear\x20to\x20b\ @@ -9667,61 +10788,61 @@ static file_descriptor_proto_data: &'static [u8] = b"\ \x20removed.\x20*/\n\x20\x20\x20/*\x20Block\x20comment\x20attached\x20to\ \n\x20\x20\x20\x20*\x20grault.\x20*/\n\x20\x20\x20optional\x20int32\x20g\ rault\x20=\x206;\n\n\x20\x20\x20//\x20ignored\x20detached\x20comments.\n\ - \n\x0f\n\x07\x04\x12\x03\0\x02\x02\x04\x12\x04\x85\x06\x04\x0c\n\x0f\n\ - \x07\x04\x12\x03\0\x02\x02\x05\x12\x04\x85\x06\r\x13\n\x0f\n\x07\x04\x12\ - \x03\0\x02\x02\x01\x12\x04\x85\x06\x14$\n\x0f\n\x07\x04\x12\x03\0\x02\ - \x02\x03\x12\x04\x85\x06'(\n\x0e\n\x06\x04\x12\x03\0\x02\x03\x12\x04\x86\ - \x06\x04*\n\x0f\n\x07\x04\x12\x03\0\x02\x03\x04\x12\x04\x86\x06\x04\x0c\ - \n\x0f\n\x07\x04\x12\x03\0\x02\x03\x05\x12\x04\x86\x06\r\x13\n\x0f\n\x07\ - \x04\x12\x03\0\x02\x03\x01\x12\x04\x86\x06\x14%\n\x0f\n\x07\x04\x12\x03\ - \0\x02\x03\x03\x12\x04\x86\x06()\n\x0e\n\x06\x04\x12\x03\0\x02\x04\x12\ - \x04\x87\x06\x042\n\x0f\n\x07\x04\x12\x03\0\x02\x04\x04\x12\x04\x87\x06\ - \x04\x0c\n\x0f\n\x07\x04\x12\x03\0\x02\x04\x05\x12\x04\x87\x06\r\x13\n\ - \x0f\n\x07\x04\x12\x03\0\x02\x04\x01\x12\x04\x87\x06\x14-\n\x0f\n\x07\ - \x04\x12\x03\0\x02\x04\x03\x12\x04\x87\x0601\n\xee\x01\n\x02\x04\x13\x12\ - \x06\x8e\x06\0\xa3\x06\x01\x1a\xdf\x01\x20Describes\x20the\x20relationsh\ + \n\x0f\n\x07\x04\x13\x03\0\x02\x02\x04\x12\x04\xee\x06\x04\x0c\n\x0f\n\ + \x07\x04\x13\x03\0\x02\x02\x05\x12\x04\xee\x06\r\x13\n\x0f\n\x07\x04\x13\ + \x03\0\x02\x02\x01\x12\x04\xee\x06\x14$\n\x0f\n\x07\x04\x13\x03\0\x02\ + \x02\x03\x12\x04\xee\x06'(\n\x0e\n\x06\x04\x13\x03\0\x02\x03\x12\x04\xef\ + \x06\x04*\n\x0f\n\x07\x04\x13\x03\0\x02\x03\x04\x12\x04\xef\x06\x04\x0c\ + \n\x0f\n\x07\x04\x13\x03\0\x02\x03\x05\x12\x04\xef\x06\r\x13\n\x0f\n\x07\ + \x04\x13\x03\0\x02\x03\x01\x12\x04\xef\x06\x14%\n\x0f\n\x07\x04\x13\x03\ + \0\x02\x03\x03\x12\x04\xef\x06()\n\x0e\n\x06\x04\x13\x03\0\x02\x04\x12\ + \x04\xf0\x06\x042\n\x0f\n\x07\x04\x13\x03\0\x02\x04\x04\x12\x04\xf0\x06\ + \x04\x0c\n\x0f\n\x07\x04\x13\x03\0\x02\x04\x05\x12\x04\xf0\x06\r\x13\n\ + \x0f\n\x07\x04\x13\x03\0\x02\x04\x01\x12\x04\xf0\x06\x14-\n\x0f\n\x07\ + \x04\x13\x03\0\x02\x04\x03\x12\x04\xf0\x0601\n\xee\x01\n\x02\x04\x14\x12\ + \x06\xf7\x06\0\x8c\x07\x01\x1a\xdf\x01\x20Describes\x20the\x20relationsh\ ip\x20between\x20generated\x20code\x20and\x20its\x20original\x20source\n\ \x20file.\x20A\x20GeneratedCodeInfo\x20message\x20is\x20associated\x20wi\ th\x20only\x20one\x20generated\n\x20source\x20file,\x20but\x20may\x20con\ tain\x20references\x20to\x20different\x20source\x20.proto\x20files.\n\n\ - \x0b\n\x03\x04\x13\x01\x12\x04\x8e\x06\x08\x19\nx\n\x04\x04\x13\x02\0\ - \x12\x04\x91\x06\x02%\x1aj\x20An\x20Annotation\x20connects\x20some\x20sp\ + \x0b\n\x03\x04\x14\x01\x12\x04\xf7\x06\x08\x19\nx\n\x04\x04\x14\x02\0\ + \x12\x04\xfa\x06\x02%\x1aj\x20An\x20Annotation\x20connects\x20some\x20sp\ an\x20of\x20text\x20in\x20generated\x20code\x20to\x20an\x20element\n\x20\ - of\x20its\x20generating\x20.proto\x20file.\n\n\r\n\x05\x04\x13\x02\0\x04\ - \x12\x04\x91\x06\x02\n\n\r\n\x05\x04\x13\x02\0\x06\x12\x04\x91\x06\x0b\ - \x15\n\r\n\x05\x04\x13\x02\0\x01\x12\x04\x91\x06\x16\x20\n\r\n\x05\x04\ - \x13\x02\0\x03\x12\x04\x91\x06#$\n\x0e\n\x04\x04\x13\x03\0\x12\x06\x92\ - \x06\x02\xa2\x06\x03\n\r\n\x05\x04\x13\x03\0\x01\x12\x04\x92\x06\n\x14\n\ - \x8f\x01\n\x06\x04\x13\x03\0\x02\0\x12\x04\x95\x06\x04*\x1a\x7f\x20Ident\ + of\x20its\x20generating\x20.proto\x20file.\n\n\r\n\x05\x04\x14\x02\0\x04\ + \x12\x04\xfa\x06\x02\n\n\r\n\x05\x04\x14\x02\0\x06\x12\x04\xfa\x06\x0b\ + \x15\n\r\n\x05\x04\x14\x02\0\x01\x12\x04\xfa\x06\x16\x20\n\r\n\x05\x04\ + \x14\x02\0\x03\x12\x04\xfa\x06#$\n\x0e\n\x04\x04\x14\x03\0\x12\x06\xfb\ + \x06\x02\x8b\x07\x03\n\r\n\x05\x04\x14\x03\0\x01\x12\x04\xfb\x06\n\x14\n\ + \x8f\x01\n\x06\x04\x14\x03\0\x02\0\x12\x04\xfe\x06\x04,\x1a\x7f\x20Ident\ ifies\x20the\x20element\x20in\x20the\x20original\x20source\x20.proto\x20\ file.\x20This\x20field\n\x20is\x20formatted\x20the\x20same\x20as\x20Sour\ - ceCodeInfo.Location.path.\n\n\x0f\n\x07\x04\x13\x03\0\x02\0\x04\x12\x04\ - \x95\x06\x04\x0c\n\x0f\n\x07\x04\x13\x03\0\x02\0\x05\x12\x04\x95\x06\r\ - \x12\n\x0f\n\x07\x04\x13\x03\0\x02\0\x01\x12\x04\x95\x06\x13\x17\n\x0f\n\ - \x07\x04\x13\x03\0\x02\0\x03\x12\x04\x95\x06\x1a\x1b\n\x0f\n\x07\x04\x13\ - \x03\0\x02\0\x08\x12\x04\x95\x06\x1c)\n\x10\n\x08\x04\x13\x03\0\x02\0\ - \x08\x02\x12\x04\x95\x06\x1d(\nO\n\x06\x04\x13\x03\0\x02\x01\x12\x04\x98\ - \x06\x04$\x1a?\x20Identifies\x20the\x20filesystem\x20path\x20to\x20the\ - \x20original\x20source\x20.proto.\n\n\x0f\n\x07\x04\x13\x03\0\x02\x01\ - \x04\x12\x04\x98\x06\x04\x0c\n\x0f\n\x07\x04\x13\x03\0\x02\x01\x05\x12\ - \x04\x98\x06\r\x13\n\x0f\n\x07\x04\x13\x03\0\x02\x01\x01\x12\x04\x98\x06\ - \x14\x1f\n\x0f\n\x07\x04\x13\x03\0\x02\x01\x03\x12\x04\x98\x06\"#\nw\n\ - \x06\x04\x13\x03\0\x02\x02\x12\x04\x9c\x06\x04\x1d\x1ag\x20Identifies\ + ceCodeInfo.Location.path.\n\n\x0f\n\x07\x04\x14\x03\0\x02\0\x04\x12\x04\ + \xfe\x06\x04\x0c\n\x0f\n\x07\x04\x14\x03\0\x02\0\x05\x12\x04\xfe\x06\r\ + \x12\n\x0f\n\x07\x04\x14\x03\0\x02\0\x01\x12\x04\xfe\x06\x13\x17\n\x0f\n\ + \x07\x04\x14\x03\0\x02\0\x03\x12\x04\xfe\x06\x1a\x1b\n\x0f\n\x07\x04\x14\ + \x03\0\x02\0\x08\x12\x04\xfe\x06\x1c+\n\x10\n\x08\x04\x14\x03\0\x02\0\ + \x08\x02\x12\x04\xfe\x06\x1d*\nO\n\x06\x04\x14\x03\0\x02\x01\x12\x04\x81\ + \x07\x04$\x1a?\x20Identifies\x20the\x20filesystem\x20path\x20to\x20the\ + \x20original\x20source\x20.proto.\n\n\x0f\n\x07\x04\x14\x03\0\x02\x01\ + \x04\x12\x04\x81\x07\x04\x0c\n\x0f\n\x07\x04\x14\x03\0\x02\x01\x05\x12\ + \x04\x81\x07\r\x13\n\x0f\n\x07\x04\x14\x03\0\x02\x01\x01\x12\x04\x81\x07\ + \x14\x1f\n\x0f\n\x07\x04\x14\x03\0\x02\x01\x03\x12\x04\x81\x07\"#\nw\n\ + \x06\x04\x14\x03\0\x02\x02\x12\x04\x85\x07\x04\x1d\x1ag\x20Identifies\ \x20the\x20starting\x20offset\x20in\x20bytes\x20in\x20the\x20generated\ \x20code\n\x20that\x20relates\x20to\x20the\x20identified\x20object.\n\n\ - \x0f\n\x07\x04\x13\x03\0\x02\x02\x04\x12\x04\x9c\x06\x04\x0c\n\x0f\n\x07\ - \x04\x13\x03\0\x02\x02\x05\x12\x04\x9c\x06\r\x12\n\x0f\n\x07\x04\x13\x03\ - \0\x02\x02\x01\x12\x04\x9c\x06\x13\x18\n\x0f\n\x07\x04\x13\x03\0\x02\x02\ - \x03\x12\x04\x9c\x06\x1b\x1c\n\xdb\x01\n\x06\x04\x13\x03\0\x02\x03\x12\ - \x04\xa1\x06\x04\x1b\x1a\xca\x01\x20Identifies\x20the\x20ending\x20offse\ + \x0f\n\x07\x04\x14\x03\0\x02\x02\x04\x12\x04\x85\x07\x04\x0c\n\x0f\n\x07\ + \x04\x14\x03\0\x02\x02\x05\x12\x04\x85\x07\r\x12\n\x0f\n\x07\x04\x14\x03\ + \0\x02\x02\x01\x12\x04\x85\x07\x13\x18\n\x0f\n\x07\x04\x14\x03\0\x02\x02\ + \x03\x12\x04\x85\x07\x1b\x1c\n\xdb\x01\n\x06\x04\x14\x03\0\x02\x03\x12\ + \x04\x8a\x07\x04\x1b\x1a\xca\x01\x20Identifies\x20the\x20ending\x20offse\ t\x20in\x20bytes\x20in\x20the\x20generated\x20code\x20that\n\x20relates\ \x20to\x20the\x20identified\x20offset.\x20The\x20end\x20offset\x20should\ \x20be\x20one\x20past\n\x20the\x20last\x20relevant\x20byte\x20(so\x20the\ \x20length\x20of\x20the\x20text\x20=\x20end\x20-\x20begin).\n\n\x0f\n\ - \x07\x04\x13\x03\0\x02\x03\x04\x12\x04\xa1\x06\x04\x0c\n\x0f\n\x07\x04\ - \x13\x03\0\x02\x03\x05\x12\x04\xa1\x06\r\x12\n\x0f\n\x07\x04\x13\x03\0\ - \x02\x03\x01\x12\x04\xa1\x06\x13\x16\n\x0f\n\x07\x04\x13\x03\0\x02\x03\ - \x03\x12\x04\xa1\x06\x19\x1a\ + \x07\x04\x14\x03\0\x02\x03\x04\x12\x04\x8a\x07\x04\x0c\n\x0f\n\x07\x04\ + \x14\x03\0\x02\x03\x05\x12\x04\x8a\x07\r\x12\n\x0f\n\x07\x04\x14\x03\0\ + \x02\x03\x01\x12\x04\x8a\x07\x13\x16\n\x0f\n\x07\x04\x14\x03\0\x02\x03\ + \x03\x12\x04\x8a\x07\x19\x1a\ "; static file_descriptor_proto_lazy: crate::rt::LazyV2<crate::descriptor::FileDescriptorProto> = crate::rt::LazyV2::INIT; diff --git a/src/plugin.rs b/src/plugin.rs index 904b0f1..007378f 100644 --- a/src/plugin.rs +++ b/src/plugin.rs @@ -1,4 +1,4 @@ -// This file is generated by rust-protobuf 2.19.0-pre. Do not edit +// This file is generated by rust-protobuf 2.22.0-pre. Do not edit // @generated // https://github.com/rust-lang/rust-clippy/issues/702 @@ -20,12 +20,302 @@ //! Generated file from `google/protobuf/compiler/plugin.proto` #[derive(PartialEq,Clone,Default)] -#[cfg_attr(feature = "with-serde", derive(Serialize, Deserialize))] +#[cfg_attr(feature = "with-serde", derive(::serde::Serialize, ::serde::Deserialize))] +pub struct Version { + // message fields + major: ::std::option::Option<i32>, + minor: ::std::option::Option<i32>, + patch: ::std::option::Option<i32>, + suffix: crate::SingularField<::std::string::String>, + // special fields + #[cfg_attr(feature = "with-serde", serde(skip))] + pub unknown_fields: crate::UnknownFields, + #[cfg_attr(feature = "with-serde", serde(skip))] + pub cached_size: crate::CachedSize, +} + +impl<'a> ::std::default::Default for &'a Version { + fn default() -> &'a Version { + <Version as crate::Message>::default_instance() + } +} + +impl Version { + pub fn new() -> Version { + ::std::default::Default::default() + } + + // optional int32 major = 1; + + + pub fn get_major(&self) -> i32 { + self.major.unwrap_or(0) + } + pub fn clear_major(&mut self) { + self.major = ::std::option::Option::None; + } + + pub fn has_major(&self) -> bool { + self.major.is_some() + } + + // Param is passed by value, moved + pub fn set_major(&mut self, v: i32) { + self.major = ::std::option::Option::Some(v); + } + + // optional int32 minor = 2; + + + pub fn get_minor(&self) -> i32 { + self.minor.unwrap_or(0) + } + pub fn clear_minor(&mut self) { + self.minor = ::std::option::Option::None; + } + + pub fn has_minor(&self) -> bool { + self.minor.is_some() + } + + // Param is passed by value, moved + pub fn set_minor(&mut self, v: i32) { + self.minor = ::std::option::Option::Some(v); + } + + // optional int32 patch = 3; + + + pub fn get_patch(&self) -> i32 { + self.patch.unwrap_or(0) + } + pub fn clear_patch(&mut self) { + self.patch = ::std::option::Option::None; + } + + pub fn has_patch(&self) -> bool { + self.patch.is_some() + } + + // Param is passed by value, moved + pub fn set_patch(&mut self, v: i32) { + self.patch = ::std::option::Option::Some(v); + } + + // optional string suffix = 4; + + + pub fn get_suffix(&self) -> &str { + match self.suffix.as_ref() { + Some(v) => &v, + None => "", + } + } + pub fn clear_suffix(&mut self) { + self.suffix.clear(); + } + + pub fn has_suffix(&self) -> bool { + self.suffix.is_some() + } + + // Param is passed by value, moved + pub fn set_suffix(&mut self, v: ::std::string::String) { + self.suffix = crate::SingularField::some(v); + } + + // Mutable pointer to the field. + // If field is not initialized, it is initialized with default value first. + pub fn mut_suffix(&mut self) -> &mut ::std::string::String { + if self.suffix.is_none() { + self.suffix.set_default(); + } + self.suffix.as_mut().unwrap() + } + + // Take field + pub fn take_suffix(&mut self) -> ::std::string::String { + self.suffix.take().unwrap_or_else(|| ::std::string::String::new()) + } +} + +impl crate::Message for Version { + fn is_initialized(&self) -> bool { + true + } + + fn merge_from(&mut self, is: &mut crate::CodedInputStream<'_>) -> crate::ProtobufResult<()> { + while !is.eof()? { + let (field_number, wire_type) = is.read_tag_unpack()?; + match field_number { + 1 => { + if wire_type != crate::wire_format::WireTypeVarint { + return ::std::result::Result::Err(crate::rt::unexpected_wire_type(wire_type)); + } + let tmp = is.read_int32()?; + self.major = ::std::option::Option::Some(tmp); + }, + 2 => { + if wire_type != crate::wire_format::WireTypeVarint { + return ::std::result::Result::Err(crate::rt::unexpected_wire_type(wire_type)); + } + let tmp = is.read_int32()?; + self.minor = ::std::option::Option::Some(tmp); + }, + 3 => { + if wire_type != crate::wire_format::WireTypeVarint { + return ::std::result::Result::Err(crate::rt::unexpected_wire_type(wire_type)); + } + let tmp = is.read_int32()?; + self.patch = ::std::option::Option::Some(tmp); + }, + 4 => { + crate::rt::read_singular_string_into(wire_type, is, &mut self.suffix)?; + }, + _ => { + crate::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?; + }, + }; + } + ::std::result::Result::Ok(()) + } + + // Compute sizes of nested messages + #[allow(unused_variables)] + fn compute_size(&self) -> u32 { + let mut my_size = 0; + if let Some(v) = self.major { + my_size += crate::rt::value_size(1, v, crate::wire_format::WireTypeVarint); + } + if let Some(v) = self.minor { + my_size += crate::rt::value_size(2, v, crate::wire_format::WireTypeVarint); + } + if let Some(v) = self.patch { + my_size += crate::rt::value_size(3, v, crate::wire_format::WireTypeVarint); + } + if let Some(ref v) = self.suffix.as_ref() { + my_size += crate::rt::string_size(4, &v); + } + my_size += crate::rt::unknown_fields_size(self.get_unknown_fields()); + self.cached_size.set(my_size); + my_size + } + + fn write_to_with_cached_sizes(&self, os: &mut crate::CodedOutputStream<'_>) -> crate::ProtobufResult<()> { + if let Some(v) = self.major { + os.write_int32(1, v)?; + } + if let Some(v) = self.minor { + os.write_int32(2, v)?; + } + if let Some(v) = self.patch { + os.write_int32(3, v)?; + } + if let Some(ref v) = self.suffix.as_ref() { + os.write_string(4, &v)?; + } + os.write_unknown_fields(self.get_unknown_fields())?; + ::std::result::Result::Ok(()) + } + + fn get_cached_size(&self) -> u32 { + self.cached_size.get() + } + + fn get_unknown_fields(&self) -> &crate::UnknownFields { + &self.unknown_fields + } + + fn mut_unknown_fields(&mut self) -> &mut crate::UnknownFields { + &mut self.unknown_fields + } + + fn as_any(&self) -> &dyn (::std::any::Any) { + self as &dyn (::std::any::Any) + } + fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) { + self as &mut dyn (::std::any::Any) + } + fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> { + self + } + + fn descriptor(&self) -> &'static crate::reflect::MessageDescriptor { + Self::descriptor_static() + } + + fn new() -> Version { + Version::new() + } + + fn descriptor_static() -> &'static crate::reflect::MessageDescriptor { + static descriptor: crate::rt::LazyV2<crate::reflect::MessageDescriptor> = crate::rt::LazyV2::INIT; + descriptor.get(|| { + let mut fields = ::std::vec::Vec::new(); + fields.push(crate::reflect::accessor::make_option_accessor::<_, crate::types::ProtobufTypeInt32>( + "major", + |m: &Version| { &m.major }, + |m: &mut Version| { &mut m.major }, + )); + fields.push(crate::reflect::accessor::make_option_accessor::<_, crate::types::ProtobufTypeInt32>( + "minor", + |m: &Version| { &m.minor }, + |m: &mut Version| { &mut m.minor }, + )); + fields.push(crate::reflect::accessor::make_option_accessor::<_, crate::types::ProtobufTypeInt32>( + "patch", + |m: &Version| { &m.patch }, + |m: &mut Version| { &mut m.patch }, + )); + fields.push(crate::reflect::accessor::make_singular_field_accessor::<_, crate::types::ProtobufTypeString>( + "suffix", + |m: &Version| { &m.suffix }, + |m: &mut Version| { &mut m.suffix }, + )); + crate::reflect::MessageDescriptor::new_pb_name::<Version>( + "Version", + fields, + file_descriptor_proto() + ) + }) + } + + fn default_instance() -> &'static Version { + static instance: crate::rt::LazyV2<Version> = crate::rt::LazyV2::INIT; + instance.get(Version::new) + } +} + +impl crate::Clear for Version { + fn clear(&mut self) { + self.major = ::std::option::Option::None; + self.minor = ::std::option::Option::None; + self.patch = ::std::option::Option::None; + self.suffix.clear(); + self.unknown_fields.clear(); + } +} + +impl ::std::fmt::Debug for Version { + fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result { + crate::text_format::fmt(self, f) + } +} + +impl crate::reflect::ProtobufValue for Version { + fn as_ref(&self) -> crate::reflect::ReflectValueRef { + crate::reflect::ReflectValueRef::Message(self) + } +} + +#[derive(PartialEq,Clone,Default)] +#[cfg_attr(feature = "with-serde", derive(::serde::Serialize, ::serde::Deserialize))] pub struct CodeGeneratorRequest { // message fields pub file_to_generate: crate::RepeatedField<::std::string::String>, parameter: crate::SingularField<::std::string::String>, pub proto_file: crate::RepeatedField<crate::descriptor::FileDescriptorProto>, + pub compiler_version: crate::SingularPtrField<Version>, // special fields #[cfg_attr(feature = "with-serde", serde(skip))] pub unknown_fields: crate::UnknownFields, @@ -129,6 +419,39 @@ impl CodeGeneratorRequest { pub fn take_proto_file(&mut self) -> crate::RepeatedField<crate::descriptor::FileDescriptorProto> { ::std::mem::replace(&mut self.proto_file, crate::RepeatedField::new()) } + + // optional .google.protobuf.compiler.Version compiler_version = 3; + + + pub fn get_compiler_version(&self) -> &Version { + self.compiler_version.as_ref().unwrap_or_else(|| <Version as crate::Message>::default_instance()) + } + pub fn clear_compiler_version(&mut self) { + self.compiler_version.clear(); + } + + pub fn has_compiler_version(&self) -> bool { + self.compiler_version.is_some() + } + + // Param is passed by value, moved + pub fn set_compiler_version(&mut self, v: Version) { + self.compiler_version = crate::SingularPtrField::some(v); + } + + // Mutable pointer to the field. + // If field is not initialized, it is initialized with default value first. + pub fn mut_compiler_version(&mut self) -> &mut Version { + if self.compiler_version.is_none() { + self.compiler_version.set_default(); + } + self.compiler_version.as_mut().unwrap() + } + + // Take field + pub fn take_compiler_version(&mut self) -> Version { + self.compiler_version.take().unwrap_or_else(|| Version::new()) + } } impl crate::Message for CodeGeneratorRequest { @@ -138,6 +461,11 @@ impl crate::Message for CodeGeneratorRequest { return false; } }; + for v in &self.compiler_version { + if !v.is_initialized() { + return false; + } + }; true } @@ -154,6 +482,9 @@ impl crate::Message for CodeGeneratorRequest { 15 => { crate::rt::read_repeated_message_into(wire_type, is, &mut self.proto_file)?; }, + 3 => { + crate::rt::read_singular_message_into(wire_type, is, &mut self.compiler_version)?; + }, _ => { crate::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?; }, @@ -176,6 +507,10 @@ impl crate::Message for CodeGeneratorRequest { let len = value.compute_size(); my_size += 1 + crate::rt::compute_raw_varint32_size(len) + len; }; + if let Some(ref v) = self.compiler_version.as_ref() { + let len = v.compute_size(); + my_size += 1 + crate::rt::compute_raw_varint32_size(len) + len; + } my_size += crate::rt::unknown_fields_size(self.get_unknown_fields()); self.cached_size.set(my_size); my_size @@ -193,6 +528,11 @@ impl crate::Message for CodeGeneratorRequest { os.write_raw_varint32(v.get_cached_size())?; v.write_to_with_cached_sizes(os)?; }; + if let Some(ref v) = self.compiler_version.as_ref() { + os.write_tag(3, crate::wire_format::WireTypeLengthDelimited)?; + os.write_raw_varint32(v.get_cached_size())?; + v.write_to_with_cached_sizes(os)?; + } os.write_unknown_fields(self.get_unknown_fields())?; ::std::result::Result::Ok(()) } @@ -246,6 +586,11 @@ impl crate::Message for CodeGeneratorRequest { |m: &CodeGeneratorRequest| { &m.proto_file }, |m: &mut CodeGeneratorRequest| { &mut m.proto_file }, )); + fields.push(crate::reflect::accessor::make_singular_ptr_field_accessor::<_, crate::types::ProtobufTypeMessage<Version>>( + "compiler_version", + |m: &CodeGeneratorRequest| { &m.compiler_version }, + |m: &mut CodeGeneratorRequest| { &mut m.compiler_version }, + )); crate::reflect::MessageDescriptor::new_pb_name::<CodeGeneratorRequest>( "CodeGeneratorRequest", fields, @@ -265,6 +610,7 @@ impl crate::Clear for CodeGeneratorRequest { self.file_to_generate.clear(); self.parameter.clear(); self.proto_file.clear(); + self.compiler_version.clear(); self.unknown_fields.clear(); } } @@ -282,10 +628,11 @@ impl crate::reflect::ProtobufValue for CodeGeneratorRequest { } #[derive(PartialEq,Clone,Default)] -#[cfg_attr(feature = "with-serde", derive(Serialize, Deserialize))] +#[cfg_attr(feature = "with-serde", derive(::serde::Serialize, ::serde::Deserialize))] pub struct CodeGeneratorResponse { // message fields error: crate::SingularField<::std::string::String>, + supported_features: ::std::option::Option<u64>, pub file: crate::RepeatedField<CodeGeneratorResponse_File>, // special fields #[cfg_attr(feature = "with-serde", serde(skip))] @@ -341,6 +688,25 @@ impl CodeGeneratorResponse { self.error.take().unwrap_or_else(|| ::std::string::String::new()) } + // optional uint64 supported_features = 2; + + + pub fn get_supported_features(&self) -> u64 { + self.supported_features.unwrap_or(0) + } + pub fn clear_supported_features(&mut self) { + self.supported_features = ::std::option::Option::None; + } + + pub fn has_supported_features(&self) -> bool { + self.supported_features.is_some() + } + + // Param is passed by value, moved + pub fn set_supported_features(&mut self, v: u64) { + self.supported_features = ::std::option::Option::Some(v); + } + // repeated .google.protobuf.compiler.CodeGeneratorResponse.File file = 15; @@ -384,6 +750,13 @@ impl crate::Message for CodeGeneratorResponse { 1 => { crate::rt::read_singular_string_into(wire_type, is, &mut self.error)?; }, + 2 => { + if wire_type != crate::wire_format::WireTypeVarint { + return ::std::result::Result::Err(crate::rt::unexpected_wire_type(wire_type)); + } + let tmp = is.read_uint64()?; + self.supported_features = ::std::option::Option::Some(tmp); + }, 15 => { crate::rt::read_repeated_message_into(wire_type, is, &mut self.file)?; }, @@ -402,6 +775,9 @@ impl crate::Message for CodeGeneratorResponse { if let Some(ref v) = self.error.as_ref() { my_size += crate::rt::string_size(1, &v); } + if let Some(v) = self.supported_features { + my_size += crate::rt::value_size(2, v, crate::wire_format::WireTypeVarint); + } for value in &self.file { let len = value.compute_size(); my_size += 1 + crate::rt::compute_raw_varint32_size(len) + len; @@ -415,6 +791,9 @@ impl crate::Message for CodeGeneratorResponse { if let Some(ref v) = self.error.as_ref() { os.write_string(1, &v)?; } + if let Some(v) = self.supported_features { + os.write_uint64(2, v)?; + } for v in &self.file { os.write_tag(15, crate::wire_format::WireTypeLengthDelimited)?; os.write_raw_varint32(v.get_cached_size())?; @@ -463,6 +842,11 @@ impl crate::Message for CodeGeneratorResponse { |m: &CodeGeneratorResponse| { &m.error }, |m: &mut CodeGeneratorResponse| { &mut m.error }, )); + fields.push(crate::reflect::accessor::make_option_accessor::<_, crate::types::ProtobufTypeUint64>( + "supported_features", + |m: &CodeGeneratorResponse| { &m.supported_features }, + |m: &mut CodeGeneratorResponse| { &mut m.supported_features }, + )); fields.push(crate::reflect::accessor::make_repeated_field_accessor::<_, crate::types::ProtobufTypeMessage<CodeGeneratorResponse_File>>( "file", |m: &CodeGeneratorResponse| { &m.file }, @@ -485,6 +869,7 @@ impl crate::Message for CodeGeneratorResponse { impl crate::Clear for CodeGeneratorResponse { fn clear(&mut self) { self.error.clear(); + self.supported_features = ::std::option::Option::None; self.file.clear(); self.unknown_fields.clear(); } @@ -503,12 +888,13 @@ impl crate::reflect::ProtobufValue for CodeGeneratorResponse { } #[derive(PartialEq,Clone,Default)] -#[cfg_attr(feature = "with-serde", derive(Serialize, Deserialize))] +#[cfg_attr(feature = "with-serde", derive(::serde::Serialize, ::serde::Deserialize))] pub struct CodeGeneratorResponse_File { // message fields name: crate::SingularField<::std::string::String>, insertion_point: crate::SingularField<::std::string::String>, content: crate::SingularField<::std::string::String>, + pub generated_code_info: crate::SingularPtrField<crate::descriptor::GeneratedCodeInfo>, // special fields #[cfg_attr(feature = "with-serde", serde(skip))] pub unknown_fields: crate::UnknownFields, @@ -634,10 +1020,48 @@ impl CodeGeneratorResponse_File { pub fn take_content(&mut self) -> ::std::string::String { self.content.take().unwrap_or_else(|| ::std::string::String::new()) } + + // optional .google.protobuf.GeneratedCodeInfo generated_code_info = 16; + + + pub fn get_generated_code_info(&self) -> &crate::descriptor::GeneratedCodeInfo { + self.generated_code_info.as_ref().unwrap_or_else(|| <crate::descriptor::GeneratedCodeInfo as crate::Message>::default_instance()) + } + pub fn clear_generated_code_info(&mut self) { + self.generated_code_info.clear(); + } + + pub fn has_generated_code_info(&self) -> bool { + self.generated_code_info.is_some() + } + + // Param is passed by value, moved + pub fn set_generated_code_info(&mut self, v: crate::descriptor::GeneratedCodeInfo) { + self.generated_code_info = crate::SingularPtrField::some(v); + } + + // Mutable pointer to the field. + // If field is not initialized, it is initialized with default value first. + pub fn mut_generated_code_info(&mut self) -> &mut crate::descriptor::GeneratedCodeInfo { + if self.generated_code_info.is_none() { + self.generated_code_info.set_default(); + } + self.generated_code_info.as_mut().unwrap() + } + + // Take field + pub fn take_generated_code_info(&mut self) -> crate::descriptor::GeneratedCodeInfo { + self.generated_code_info.take().unwrap_or_else(|| crate::descriptor::GeneratedCodeInfo::new()) + } } impl crate::Message for CodeGeneratorResponse_File { fn is_initialized(&self) -> bool { + for v in &self.generated_code_info { + if !v.is_initialized() { + return false; + } + }; true } @@ -654,6 +1078,9 @@ impl crate::Message for CodeGeneratorResponse_File { 15 => { crate::rt::read_singular_string_into(wire_type, is, &mut self.content)?; }, + 16 => { + crate::rt::read_singular_message_into(wire_type, is, &mut self.generated_code_info)?; + }, _ => { crate::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?; }, @@ -675,6 +1102,10 @@ impl crate::Message for CodeGeneratorResponse_File { if let Some(ref v) = self.content.as_ref() { my_size += crate::rt::string_size(15, &v); } + if let Some(ref v) = self.generated_code_info.as_ref() { + let len = v.compute_size(); + my_size += 2 + crate::rt::compute_raw_varint32_size(len) + len; + } my_size += crate::rt::unknown_fields_size(self.get_unknown_fields()); self.cached_size.set(my_size); my_size @@ -690,6 +1121,11 @@ impl crate::Message for CodeGeneratorResponse_File { if let Some(ref v) = self.content.as_ref() { os.write_string(15, &v)?; } + if let Some(ref v) = self.generated_code_info.as_ref() { + os.write_tag(16, crate::wire_format::WireTypeLengthDelimited)?; + os.write_raw_varint32(v.get_cached_size())?; + v.write_to_with_cached_sizes(os)?; + } os.write_unknown_fields(self.get_unknown_fields())?; ::std::result::Result::Ok(()) } @@ -743,6 +1179,11 @@ impl crate::Message for CodeGeneratorResponse_File { |m: &CodeGeneratorResponse_File| { &m.content }, |m: &mut CodeGeneratorResponse_File| { &mut m.content }, )); + fields.push(crate::reflect::accessor::make_singular_ptr_field_accessor::<_, crate::types::ProtobufTypeMessage<crate::descriptor::GeneratedCodeInfo>>( + "generated_code_info", + |m: &CodeGeneratorResponse_File| { &m.generated_code_info }, + |m: &mut CodeGeneratorResponse_File| { &mut m.generated_code_info }, + )); crate::reflect::MessageDescriptor::new_pb_name::<CodeGeneratorResponse_File>( "CodeGeneratorResponse.File", fields, @@ -762,6 +1203,7 @@ impl crate::Clear for CodeGeneratorResponse_File { self.name.clear(); self.insertion_point.clear(); self.content.clear(); + self.generated_code_info.clear(); self.unknown_fields.clear(); } } @@ -778,194 +1220,299 @@ impl crate::reflect::ProtobufValue for CodeGeneratorResponse_File { } } +#[derive(Clone,PartialEq,Eq,Debug,Hash)] +#[cfg_attr(feature = "with-serde", derive(::serde::Serialize, ::serde::Deserialize))] +pub enum CodeGeneratorResponse_Feature { + FEATURE_NONE = 0, + FEATURE_PROTO3_OPTIONAL = 1, +} + +impl crate::ProtobufEnum for CodeGeneratorResponse_Feature { + fn value(&self) -> i32 { + *self as i32 + } + + fn from_i32(value: i32) -> ::std::option::Option<CodeGeneratorResponse_Feature> { + match value { + 0 => ::std::option::Option::Some(CodeGeneratorResponse_Feature::FEATURE_NONE), + 1 => ::std::option::Option::Some(CodeGeneratorResponse_Feature::FEATURE_PROTO3_OPTIONAL), + _ => ::std::option::Option::None + } + } + + fn values() -> &'static [Self] { + static values: &'static [CodeGeneratorResponse_Feature] = &[ + CodeGeneratorResponse_Feature::FEATURE_NONE, + CodeGeneratorResponse_Feature::FEATURE_PROTO3_OPTIONAL, + ]; + values + } + + fn enum_descriptor_static() -> &'static crate::reflect::EnumDescriptor { + static descriptor: crate::rt::LazyV2<crate::reflect::EnumDescriptor> = crate::rt::LazyV2::INIT; + descriptor.get(|| { + crate::reflect::EnumDescriptor::new_pb_name::<CodeGeneratorResponse_Feature>("CodeGeneratorResponse.Feature", file_descriptor_proto()) + }) + } +} + +impl ::std::marker::Copy for CodeGeneratorResponse_Feature { +} + +impl ::std::default::Default for CodeGeneratorResponse_Feature { + fn default() -> Self { + CodeGeneratorResponse_Feature::FEATURE_NONE + } +} + +impl crate::reflect::ProtobufValue for CodeGeneratorResponse_Feature { + fn as_ref(&self) -> crate::reflect::ReflectValueRef { + crate::reflect::ReflectValueRef::Enum(crate::ProtobufEnum::descriptor(self)) + } +} + static file_descriptor_proto_data: &'static [u8] = b"\ \n%google/protobuf/compiler/plugin.proto\x12\x18google.protobuf.compiler\ - \x1a\x20google/protobuf/descriptor.proto\"\xa3\x01\n\x14CodeGeneratorReq\ - uest\x12(\n\x10file_to_generate\x18\x01\x20\x03(\tR\x0efileToGenerate\ + \x1a\x20google/protobuf/descriptor.proto\"c\n\x07Version\x12\x14\n\x05ma\ + jor\x18\x01\x20\x01(\x05R\x05major\x12\x14\n\x05minor\x18\x02\x20\x01(\ + \x05R\x05minor\x12\x14\n\x05patch\x18\x03\x20\x01(\x05R\x05patch\x12\x16\ + \n\x06suffix\x18\x04\x20\x01(\tR\x06suffix\"\xf1\x01\n\x14CodeGeneratorR\ + equest\x12(\n\x10file_to_generate\x18\x01\x20\x03(\tR\x0efileToGenerate\ \x12\x1c\n\tparameter\x18\x02\x20\x01(\tR\tparameter\x12C\n\nproto_file\ \x18\x0f\x20\x03(\x0b2$.google.protobuf.FileDescriptorProtoR\tprotoFile\ - \"\xd6\x01\n\x15CodeGeneratorResponse\x12\x14\n\x05error\x18\x01\x20\x01\ - (\tR\x05error\x12H\n\x04file\x18\x0f\x20\x03(\x0b24.google.protobuf.comp\ - iler.CodeGeneratorResponse.FileR\x04file\x1a]\n\x04File\x12\x12\n\x04nam\ - e\x18\x01\x20\x01(\tR\x04name\x12'\n\x0finsertion_point\x18\x02\x20\x01(\ - \tR\x0einsertionPoint\x12\x18\n\x07content\x18\x0f\x20\x01(\tR\x07conten\ - tB7\n\x1ccom.google.protobuf.compilerB\x0cPluginProtosZ\tplugin_goJ\xd29\ - \n\x07\x12\x05.\0\x95\x01\x01\n\xca\x11\n\x01\x0c\x12\x03.\0\x122\xc1\ - \x0c\x20Protocol\x20Buffers\x20-\x20Google's\x20data\x20interchange\x20f\ - ormat\n\x20Copyright\x202008\x20Google\x20Inc.\x20\x20All\x20rights\x20r\ - eserved.\n\x20https://developers.google.com/protocol-buffers/\n\n\x20Red\ - istribution\x20and\x20use\x20in\x20source\x20and\x20binary\x20forms,\x20\ - with\x20or\x20without\n\x20modification,\x20are\x20permitted\x20provided\ - \x20that\x20the\x20following\x20conditions\x20are\n\x20met:\n\n\x20\x20\ - \x20\x20\x20*\x20Redistributions\x20of\x20source\x20code\x20must\x20reta\ - in\x20the\x20above\x20copyright\n\x20notice,\x20this\x20list\x20of\x20co\ - nditions\x20and\x20the\x20following\x20disclaimer.\n\x20\x20\x20\x20\x20\ - *\x20Redistributions\x20in\x20binary\x20form\x20must\x20reproduce\x20the\ - \x20above\n\x20copyright\x20notice,\x20this\x20list\x20of\x20conditions\ - \x20and\x20the\x20following\x20disclaimer\n\x20in\x20the\x20documentatio\ - n\x20and/or\x20other\x20materials\x20provided\x20with\x20the\n\x20distri\ - bution.\n\x20\x20\x20\x20\x20*\x20Neither\x20the\x20name\x20of\x20Google\ - \x20Inc.\x20nor\x20the\x20names\x20of\x20its\n\x20contributors\x20may\ - \x20be\x20used\x20to\x20endorse\x20or\x20promote\x20products\x20derived\ - \x20from\n\x20this\x20software\x20without\x20specific\x20prior\x20writte\ - n\x20permission.\n\n\x20THIS\x20SOFTWARE\x20IS\x20PROVIDED\x20BY\x20THE\ - \x20COPYRIGHT\x20HOLDERS\x20AND\x20CONTRIBUTORS\n\x20\"AS\x20IS\"\x20AND\ - \x20ANY\x20EXPRESS\x20OR\x20IMPLIED\x20WARRANTIES,\x20INCLUDING,\x20BUT\ - \x20NOT\n\x20LIMITED\x20TO,\x20THE\x20IMPLIED\x20WARRANTIES\x20OF\x20MER\ - CHANTABILITY\x20AND\x20FITNESS\x20FOR\n\x20A\x20PARTICULAR\x20PURPOSE\ - \x20ARE\x20DISCLAIMED.\x20IN\x20NO\x20EVENT\x20SHALL\x20THE\x20COPYRIGHT\ - \n\x20OWNER\x20OR\x20CONTRIBUTORS\x20BE\x20LIABLE\x20FOR\x20ANY\x20DIREC\ - T,\x20INDIRECT,\x20INCIDENTAL,\n\x20SPECIAL,\x20EXEMPLARY,\x20OR\x20CONS\ - EQUENTIAL\x20DAMAGES\x20(INCLUDING,\x20BUT\x20NOT\n\x20LIMITED\x20TO,\ - \x20PROCUREMENT\x20OF\x20SUBSTITUTE\x20GOODS\x20OR\x20SERVICES;\x20LOSS\ - \x20OF\x20USE,\n\x20DATA,\x20OR\x20PROFITS;\x20OR\x20BUSINESS\x20INTERRU\ - PTION)\x20HOWEVER\x20CAUSED\x20AND\x20ON\x20ANY\n\x20THEORY\x20OF\x20LIA\ - BILITY,\x20WHETHER\x20IN\x20CONTRACT,\x20STRICT\x20LIABILITY,\x20OR\x20T\ - ORT\n\x20(INCLUDING\x20NEGLIGENCE\x20OR\x20OTHERWISE)\x20ARISING\x20IN\ - \x20ANY\x20WAY\x20OUT\x20OF\x20THE\x20USE\n\x20OF\x20THIS\x20SOFTWARE,\ - \x20EVEN\x20IF\x20ADVISED\x20OF\x20THE\x20POSSIBILITY\x20OF\x20SUCH\x20D\ - AMAGE.\n2\xfb\x04\x20Author:\x20kenton@google.com\x20(Kenton\x20Varda)\n\ - \n\x20WARNING:\x20\x20The\x20plugin\x20interface\x20is\x20currently\x20E\ - XPERIMENTAL\x20and\x20is\x20subject\x20to\n\x20\x20\x20change.\n\n\x20pr\ - otoc\x20(aka\x20the\x20Protocol\x20Compiler)\x20can\x20be\x20extended\ - \x20via\x20plugins.\x20\x20A\x20plugin\x20is\n\x20just\x20a\x20program\ - \x20that\x20reads\x20a\x20CodeGeneratorRequest\x20from\x20stdin\x20and\ - \x20writes\x20a\n\x20CodeGeneratorResponse\x20to\x20stdout.\n\n\x20Plugi\ - ns\x20written\x20using\x20C++\x20can\x20use\x20google/protobuf/compiler/\ - plugin.h\x20instead\n\x20of\x20dealing\x20with\x20the\x20raw\x20protocol\ - \x20defined\x20here.\n\n\x20A\x20plugin\x20executable\x20needs\x20only\ - \x20to\x20be\x20placed\x20somewhere\x20in\x20the\x20path.\x20\x20The\n\ - \x20plugin\x20should\x20be\x20named\x20\"protoc-gen-$NAME\",\x20and\x20w\ - ill\x20then\x20be\x20used\x20when\x20the\n\x20flag\x20\"--${NAME}_out\"\ - \x20is\x20passed\x20to\x20protoc.\n\n\x08\n\x01\x02\x12\x03/\0!\n\x08\n\ - \x01\x08\x12\x030\05\n\t\n\x02\x08\x01\x12\x030\05\n\x08\n\x01\x08\x12\ - \x031\0-\n\t\n\x02\x08\x08\x12\x031\0-\n\x08\n\x01\x08\x12\x033\0\x20\n\ - \t\n\x02\x08\x0b\x12\x033\0\x20\n\t\n\x02\x03\0\x12\x035\0*\nO\n\x02\x04\ - \0\x12\x048\0M\x01\x1aC\x20An\x20encoded\x20CodeGeneratorRequest\x20is\ - \x20written\x20to\x20the\x20plugin's\x20stdin.\n\n\n\n\x03\x04\0\x01\x12\ - \x038\x08\x1c\n\xd1\x01\n\x04\x04\0\x02\0\x12\x03<\x02'\x1a\xc3\x01\x20T\ - he\x20.proto\x20files\x20that\x20were\x20explicitly\x20listed\x20on\x20t\ - he\x20command-line.\x20\x20The\n\x20code\x20generator\x20should\x20gener\ - ate\x20code\x20only\x20for\x20these\x20files.\x20\x20Each\x20file's\n\ - \x20descriptor\x20will\x20be\x20included\x20in\x20proto_file,\x20below.\ - \n\n\x0c\n\x05\x04\0\x02\0\x04\x12\x03<\x02\n\n\x0c\n\x05\x04\0\x02\0\ - \x05\x12\x03<\x0b\x11\n\x0c\n\x05\x04\0\x02\0\x01\x12\x03<\x12\"\n\x0c\n\ - \x05\x04\0\x02\0\x03\x12\x03<%&\nB\n\x04\x04\0\x02\x01\x12\x03?\x02\x20\ - \x1a5\x20The\x20generator\x20parameter\x20passed\x20on\x20the\x20command\ - -line.\n\n\x0c\n\x05\x04\0\x02\x01\x04\x12\x03?\x02\n\n\x0c\n\x05\x04\0\ - \x02\x01\x05\x12\x03?\x0b\x11\n\x0c\n\x05\x04\0\x02\x01\x01\x12\x03?\x12\ - \x1b\n\x0c\n\x05\x04\0\x02\x01\x03\x12\x03?\x1e\x1f\n\xa9\x05\n\x04\x04\ - \0\x02\x02\x12\x03L\x02/\x1a\x9b\x05\x20FileDescriptorProtos\x20for\x20a\ - ll\x20files\x20in\x20files_to_generate\x20and\x20everything\n\x20they\ - \x20import.\x20\x20The\x20files\x20will\x20appear\x20in\x20topological\ - \x20order,\x20so\x20each\x20file\n\x20appears\x20before\x20any\x20file\ - \x20that\x20imports\x20it.\n\n\x20protoc\x20guarantees\x20that\x20all\ - \x20proto_files\x20will\x20be\x20written\x20after\n\x20the\x20fields\x20\ - above,\x20even\x20though\x20this\x20is\x20not\x20technically\x20guarante\ - ed\x20by\x20the\n\x20protobuf\x20wire\x20format.\x20\x20This\x20theoreti\ - cally\x20could\x20allow\x20a\x20plugin\x20to\x20stream\n\x20in\x20the\ - \x20FileDescriptorProtos\x20and\x20handle\x20them\x20one\x20by\x20one\ - \x20rather\x20than\x20read\n\x20the\x20entire\x20set\x20into\x20memory\ - \x20at\x20once.\x20\x20However,\x20as\x20of\x20this\x20writing,\x20this\ - \n\x20is\x20not\x20similarly\x20optimized\x20on\x20protoc's\x20end\x20--\ - \x20it\x20will\x20store\x20all\x20fields\x20in\n\x20memory\x20at\x20once\ - \x20before\x20sending\x20them\x20to\x20the\x20plugin.\n\n\x0c\n\x05\x04\ - \0\x02\x02\x04\x12\x03L\x02\n\n\x0c\n\x05\x04\0\x02\x02\x06\x12\x03L\x0b\ - \x1e\n\x0c\n\x05\x04\0\x02\x02\x01\x12\x03L\x1f)\n\x0c\n\x05\x04\0\x02\ - \x02\x03\x12\x03L,.\nL\n\x02\x04\x01\x12\x05P\0\x95\x01\x01\x1a?\x20The\ - \x20plugin\x20writes\x20an\x20encoded\x20CodeGeneratorResponse\x20to\x20\ - stdout.\n\n\n\n\x03\x04\x01\x01\x12\x03P\x08\x1d\n\xed\x03\n\x04\x04\x01\ - \x02\0\x12\x03Y\x02\x1c\x1a\xdf\x03\x20Error\x20message.\x20\x20If\x20no\ - n-empty,\x20code\x20generation\x20failed.\x20\x20The\x20plugin\x20proces\ - s\n\x20should\x20exit\x20with\x20status\x20code\x20zero\x20even\x20if\ - \x20it\x20reports\x20an\x20error\x20in\x20this\x20way.\n\n\x20This\x20sh\ - ould\x20be\x20used\x20to\x20indicate\x20errors\x20in\x20.proto\x20files\ - \x20which\x20prevent\x20the\n\x20code\x20generator\x20from\x20generating\ - \x20correct\x20code.\x20\x20Errors\x20which\x20indicate\x20a\n\x20proble\ - m\x20in\x20protoc\x20itself\x20--\x20such\x20as\x20the\x20input\x20CodeG\ - eneratorRequest\x20being\n\x20unparseable\x20--\x20should\x20be\x20repor\ - ted\x20by\x20writing\x20a\x20message\x20to\x20stderr\x20and\n\x20exiting\ - \x20with\x20a\x20non-zero\x20status\x20code.\n\n\x0c\n\x05\x04\x01\x02\0\ - \x04\x12\x03Y\x02\n\n\x0c\n\x05\x04\x01\x02\0\x05\x12\x03Y\x0b\x11\n\x0c\ - \n\x05\x04\x01\x02\0\x01\x12\x03Y\x12\x17\n\x0c\n\x05\x04\x01\x02\0\x03\ - \x12\x03Y\x1a\x1b\n4\n\x04\x04\x01\x03\0\x12\x05\\\x02\x93\x01\x03\x1a%\ - \x20Represents\x20a\x20single\x20generated\x20file.\n\n\x0c\n\x05\x04\ - \x01\x03\0\x01\x12\x03\\\n\x0e\n\xad\x05\n\x06\x04\x01\x03\0\x02\0\x12\ - \x03h\x04\x1d\x1a\x9d\x05\x20The\x20file\x20name,\x20relative\x20to\x20t\ - he\x20output\x20directory.\x20\x20The\x20name\x20must\x20not\n\x20contai\ - n\x20\".\"\x20or\x20\"..\"\x20components\x20and\x20must\x20be\x20relativ\ - e,\x20not\x20be\x20absolute\x20(so,\n\x20the\x20file\x20cannot\x20lie\ - \x20outside\x20the\x20output\x20directory).\x20\x20\"/\"\x20must\x20be\ - \x20used\x20as\n\x20the\x20path\x20separator,\x20not\x20\"\\\".\n\n\x20I\ - f\x20the\x20name\x20is\x20omitted,\x20the\x20content\x20will\x20be\x20ap\ - pended\x20to\x20the\x20previous\n\x20file.\x20\x20This\x20allows\x20the\ - \x20generator\x20to\x20break\x20large\x20files\x20into\x20small\x20chunk\ - s,\n\x20and\x20allows\x20the\x20generated\x20text\x20to\x20be\x20streame\ - d\x20back\x20to\x20protoc\x20so\x20that\x20large\n\x20files\x20need\x20n\ - ot\x20reside\x20completely\x20in\x20memory\x20at\x20one\x20time.\x20\x20\ - Note\x20that\x20as\x20of\n\x20this\x20writing\x20protoc\x20does\x20not\ - \x20optimize\x20for\x20this\x20--\x20it\x20will\x20read\x20the\x20entire\ - \n\x20CodeGeneratorResponse\x20before\x20writing\x20files\x20to\x20disk.\ - \n\n\x0e\n\x07\x04\x01\x03\0\x02\0\x04\x12\x03h\x04\x0c\n\x0e\n\x07\x04\ - \x01\x03\0\x02\0\x05\x12\x03h\r\x13\n\x0e\n\x07\x04\x01\x03\0\x02\0\x01\ - \x12\x03h\x14\x18\n\x0e\n\x07\x04\x01\x03\0\x02\0\x03\x12\x03h\x1b\x1c\n\ - \xae\x10\n\x06\x04\x01\x03\0\x02\x01\x12\x04\x8f\x01\x04(\x1a\x9d\x10\ - \x20If\x20non-empty,\x20indicates\x20that\x20the\x20named\x20file\x20sho\ - uld\x20already\x20exist,\x20and\x20the\n\x20content\x20here\x20is\x20to\ - \x20be\x20inserted\x20into\x20that\x20file\x20at\x20a\x20defined\x20inse\ - rtion\n\x20point.\x20\x20This\x20feature\x20allows\x20a\x20code\x20gener\ - ator\x20to\x20extend\x20the\x20output\n\x20produced\x20by\x20another\x20\ - code\x20generator.\x20\x20The\x20original\x20generator\x20may\x20provide\ - \n\x20insertion\x20points\x20by\x20placing\x20special\x20annotations\x20\ - in\x20the\x20file\x20that\x20look\n\x20like:\n\x20\x20\x20@@protoc_inser\ - tion_point(NAME)\n\x20The\x20annotation\x20can\x20have\x20arbitrary\x20t\ - ext\x20before\x20and\x20after\x20it\x20on\x20the\x20line,\n\x20which\x20\ - allows\x20it\x20to\x20be\x20placed\x20in\x20a\x20comment.\x20\x20NAME\ - \x20should\x20be\x20replaced\x20with\n\x20an\x20identifier\x20naming\x20\ - the\x20point\x20--\x20this\x20is\x20what\x20other\x20generators\x20will\ - \x20use\n\x20as\x20the\x20insertion_point.\x20\x20Code\x20inserted\x20at\ - \x20this\x20point\x20will\x20be\x20placed\n\x20immediately\x20above\x20t\ - he\x20line\x20containing\x20the\x20insertion\x20point\x20(thus\x20multip\ - le\n\x20insertions\x20to\x20the\x20same\x20point\x20will\x20come\x20out\ - \x20in\x20the\x20order\x20they\x20were\x20added).\n\x20The\x20double-@\ - \x20is\x20intended\x20to\x20make\x20it\x20unlikely\x20that\x20the\x20gen\ - erated\x20code\n\x20could\x20contain\x20things\x20that\x20look\x20like\ - \x20insertion\x20points\x20by\x20accident.\n\n\x20For\x20example,\x20the\ - \x20C++\x20code\x20generator\x20places\x20the\x20following\x20line\x20in\ - \x20the\n\x20.pb.h\x20files\x20that\x20it\x20generates:\n\x20\x20\x20//\ - \x20@@protoc_insertion_point(namespace_scope)\n\x20This\x20line\x20appea\ - rs\x20within\x20the\x20scope\x20of\x20the\x20file's\x20package\x20namesp\ - ace,\x20but\n\x20outside\x20of\x20any\x20particular\x20class.\x20\x20Ano\ - ther\x20plugin\x20can\x20then\x20specify\x20the\n\x20insertion_point\x20\ - \"namespace_scope\"\x20to\x20generate\x20additional\x20classes\x20or\n\ - \x20other\x20declarations\x20that\x20should\x20be\x20placed\x20in\x20thi\ - s\x20scope.\n\n\x20Note\x20that\x20if\x20the\x20line\x20containing\x20th\ - e\x20insertion\x20point\x20begins\x20with\n\x20whitespace,\x20the\x20sam\ - e\x20whitespace\x20will\x20be\x20added\x20to\x20every\x20line\x20of\x20t\ - he\n\x20inserted\x20text.\x20\x20This\x20is\x20useful\x20for\x20language\ - s\x20like\x20Python,\x20where\n\x20indentation\x20matters.\x20\x20In\x20\ - these\x20languages,\x20the\x20insertion\x20point\x20comment\n\x20should\ - \x20be\x20indented\x20the\x20same\x20amount\x20as\x20any\x20inserted\x20\ - code\x20will\x20need\x20to\x20be\n\x20in\x20order\x20to\x20work\x20corre\ - ctly\x20in\x20that\x20context.\n\n\x20The\x20code\x20generator\x20that\ - \x20generates\x20the\x20initial\x20file\x20and\x20the\x20one\x20which\n\ - \x20inserts\x20into\x20it\x20must\x20both\x20run\x20as\x20part\x20of\x20\ - a\x20single\x20invocation\x20of\x20protoc.\n\x20Code\x20generators\x20ar\ - e\x20executed\x20in\x20the\x20order\x20in\x20which\x20they\x20appear\x20\ - on\x20the\n\x20command\x20line.\n\n\x20If\x20|insertion_point|\x20is\x20\ - present,\x20|name|\x20must\x20also\x20be\x20present.\n\n\x0f\n\x07\x04\ - \x01\x03\0\x02\x01\x04\x12\x04\x8f\x01\x04\x0c\n\x0f\n\x07\x04\x01\x03\0\ - \x02\x01\x05\x12\x04\x8f\x01\r\x13\n\x0f\n\x07\x04\x01\x03\0\x02\x01\x01\ - \x12\x04\x8f\x01\x14#\n\x0f\n\x07\x04\x01\x03\0\x02\x01\x03\x12\x04\x8f\ - \x01&'\n$\n\x06\x04\x01\x03\0\x02\x02\x12\x04\x92\x01\x04!\x1a\x14\x20Th\ - e\x20file\x20contents.\n\n\x0f\n\x07\x04\x01\x03\0\x02\x02\x04\x12\x04\ - \x92\x01\x04\x0c\n\x0f\n\x07\x04\x01\x03\0\x02\x02\x05\x12\x04\x92\x01\r\ - \x13\n\x0f\n\x07\x04\x01\x03\0\x02\x02\x01\x12\x04\x92\x01\x14\x1b\n\x0f\ - \n\x07\x04\x01\x03\0\x02\x02\x03\x12\x04\x92\x01\x1e\x20\n\x0c\n\x04\x04\ - \x01\x02\x01\x12\x04\x94\x01\x02\x1a\n\r\n\x05\x04\x01\x02\x01\x04\x12\ - \x04\x94\x01\x02\n\n\r\n\x05\x04\x01\x02\x01\x06\x12\x04\x94\x01\x0b\x0f\ - \n\r\n\x05\x04\x01\x02\x01\x01\x12\x04\x94\x01\x10\x14\n\r\n\x05\x04\x01\ - \x02\x01\x03\x12\x04\x94\x01\x17\x19\ + \x12L\n\x10compiler_version\x18\x03\x20\x01(\x0b2!.google.protobuf.compi\ + ler.VersionR\x0fcompilerVersion\"\x94\x03\n\x15CodeGeneratorResponse\x12\ + \x14\n\x05error\x18\x01\x20\x01(\tR\x05error\x12-\n\x12supported_feature\ + s\x18\x02\x20\x01(\x04R\x11supportedFeatures\x12H\n\x04file\x18\x0f\x20\ + \x03(\x0b24.google.protobuf.compiler.CodeGeneratorResponse.FileR\x04file\ + \x1a\xb1\x01\n\x04File\x12\x12\n\x04name\x18\x01\x20\x01(\tR\x04name\x12\ + '\n\x0finsertion_point\x18\x02\x20\x01(\tR\x0einsertionPoint\x12\x18\n\ + \x07content\x18\x0f\x20\x01(\tR\x07content\x12R\n\x13generated_code_info\ + \x18\x10\x20\x01(\x0b2\".google.protobuf.GeneratedCodeInfoR\x11generated\ + CodeInfo\"8\n\x07Feature\x12\x10\n\x0cFEATURE_NONE\x10\0\x12\x1b\n\x17FE\ + ATURE_PROTO3_OPTIONAL\x10\x01BW\n\x1ccom.google.protobuf.compilerB\x0cPl\ + uginProtosZ)google.golang.org/protobuf/types/pluginpbJ\xf9C\n\x07\x12\ + \x05.\0\xb6\x01\x01\n\xca\x11\n\x01\x0c\x12\x03.\0\x122\xc1\x0c\x20Proto\ + col\x20Buffers\x20-\x20Google's\x20data\x20interchange\x20format\n\x20Co\ + pyright\x202008\x20Google\x20Inc.\x20\x20All\x20rights\x20reserved.\n\ + \x20https://developers.google.com/protocol-buffers/\n\n\x20Redistributio\ + n\x20and\x20use\x20in\x20source\x20and\x20binary\x20forms,\x20with\x20or\ + \x20without\n\x20modification,\x20are\x20permitted\x20provided\x20that\ + \x20the\x20following\x20conditions\x20are\n\x20met:\n\n\x20\x20\x20\x20\ + \x20*\x20Redistributions\x20of\x20source\x20code\x20must\x20retain\x20th\ + e\x20above\x20copyright\n\x20notice,\x20this\x20list\x20of\x20conditions\ + \x20and\x20the\x20following\x20disclaimer.\n\x20\x20\x20\x20\x20*\x20Red\ + istributions\x20in\x20binary\x20form\x20must\x20reproduce\x20the\x20abov\ + e\n\x20copyright\x20notice,\x20this\x20list\x20of\x20conditions\x20and\ + \x20the\x20following\x20disclaimer\n\x20in\x20the\x20documentation\x20an\ + d/or\x20other\x20materials\x20provided\x20with\x20the\n\x20distribution.\ + \n\x20\x20\x20\x20\x20*\x20Neither\x20the\x20name\x20of\x20Google\x20Inc\ + .\x20nor\x20the\x20names\x20of\x20its\n\x20contributors\x20may\x20be\x20\ + used\x20to\x20endorse\x20or\x20promote\x20products\x20derived\x20from\n\ + \x20this\x20software\x20without\x20specific\x20prior\x20written\x20permi\ + ssion.\n\n\x20THIS\x20SOFTWARE\x20IS\x20PROVIDED\x20BY\x20THE\x20COPYRIG\ + HT\x20HOLDERS\x20AND\x20CONTRIBUTORS\n\x20\"AS\x20IS\"\x20AND\x20ANY\x20\ + EXPRESS\x20OR\x20IMPLIED\x20WARRANTIES,\x20INCLUDING,\x20BUT\x20NOT\n\ + \x20LIMITED\x20TO,\x20THE\x20IMPLIED\x20WARRANTIES\x20OF\x20MERCHANTABIL\ + ITY\x20AND\x20FITNESS\x20FOR\n\x20A\x20PARTICULAR\x20PURPOSE\x20ARE\x20D\ + ISCLAIMED.\x20IN\x20NO\x20EVENT\x20SHALL\x20THE\x20COPYRIGHT\n\x20OWNER\ + \x20OR\x20CONTRIBUTORS\x20BE\x20LIABLE\x20FOR\x20ANY\x20DIRECT,\x20INDIR\ + ECT,\x20INCIDENTAL,\n\x20SPECIAL,\x20EXEMPLARY,\x20OR\x20CONSEQUENTIAL\ + \x20DAMAGES\x20(INCLUDING,\x20BUT\x20NOT\n\x20LIMITED\x20TO,\x20PROCUREM\ + ENT\x20OF\x20SUBSTITUTE\x20GOODS\x20OR\x20SERVICES;\x20LOSS\x20OF\x20USE\ + ,\n\x20DATA,\x20OR\x20PROFITS;\x20OR\x20BUSINESS\x20INTERRUPTION)\x20HOW\ + EVER\x20CAUSED\x20AND\x20ON\x20ANY\n\x20THEORY\x20OF\x20LIABILITY,\x20WH\ + ETHER\x20IN\x20CONTRACT,\x20STRICT\x20LIABILITY,\x20OR\x20TORT\n\x20(INC\ + LUDING\x20NEGLIGENCE\x20OR\x20OTHERWISE)\x20ARISING\x20IN\x20ANY\x20WAY\ + \x20OUT\x20OF\x20THE\x20USE\n\x20OF\x20THIS\x20SOFTWARE,\x20EVEN\x20IF\ + \x20ADVISED\x20OF\x20THE\x20POSSIBILITY\x20OF\x20SUCH\x20DAMAGE.\n2\xfb\ + \x04\x20Author:\x20kenton@google.com\x20(Kenton\x20Varda)\n\n\x20WARNING\ + :\x20\x20The\x20plugin\x20interface\x20is\x20currently\x20EXPERIMENTAL\ + \x20and\x20is\x20subject\x20to\n\x20\x20\x20change.\n\n\x20protoc\x20(ak\ + a\x20the\x20Protocol\x20Compiler)\x20can\x20be\x20extended\x20via\x20plu\ + gins.\x20\x20A\x20plugin\x20is\n\x20just\x20a\x20program\x20that\x20read\ + s\x20a\x20CodeGeneratorRequest\x20from\x20stdin\x20and\x20writes\x20a\n\ + \x20CodeGeneratorResponse\x20to\x20stdout.\n\n\x20Plugins\x20written\x20\ + using\x20C++\x20can\x20use\x20google/protobuf/compiler/plugin.h\x20inste\ + ad\n\x20of\x20dealing\x20with\x20the\x20raw\x20protocol\x20defined\x20he\ + re.\n\n\x20A\x20plugin\x20executable\x20needs\x20only\x20to\x20be\x20pla\ + ced\x20somewhere\x20in\x20the\x20path.\x20\x20The\n\x20plugin\x20should\ + \x20be\x20named\x20\"protoc-gen-$NAME\",\x20and\x20will\x20then\x20be\ + \x20used\x20when\x20the\n\x20flag\x20\"--${NAME}_out\"\x20is\x20passed\ + \x20to\x20protoc.\n\n\x08\n\x01\x02\x12\x030\0!\n\x08\n\x01\x08\x12\x031\ + \05\n\t\n\x02\x08\x01\x12\x031\05\n\x08\n\x01\x08\x12\x032\0-\n\t\n\x02\ + \x08\x08\x12\x032\0-\n\x08\n\x01\x08\x12\x034\0@\n\t\n\x02\x08\x0b\x12\ + \x034\0@\n\t\n\x02\x03\0\x12\x036\0*\n6\n\x02\x04\0\x12\x049\0@\x01\x1a*\ + \x20The\x20version\x20number\x20of\x20protocol\x20compiler.\n\n\n\n\x03\ + \x04\0\x01\x12\x039\x08\x0f\n\x0b\n\x04\x04\0\x02\0\x12\x03:\x02\x1b\n\ + \x0c\n\x05\x04\0\x02\0\x04\x12\x03:\x02\n\n\x0c\n\x05\x04\0\x02\0\x05\ + \x12\x03:\x0b\x10\n\x0c\n\x05\x04\0\x02\0\x01\x12\x03:\x11\x16\n\x0c\n\ + \x05\x04\0\x02\0\x03\x12\x03:\x19\x1a\n\x0b\n\x04\x04\0\x02\x01\x12\x03;\ + \x02\x1b\n\x0c\n\x05\x04\0\x02\x01\x04\x12\x03;\x02\n\n\x0c\n\x05\x04\0\ + \x02\x01\x05\x12\x03;\x0b\x10\n\x0c\n\x05\x04\0\x02\x01\x01\x12\x03;\x11\ + \x16\n\x0c\n\x05\x04\0\x02\x01\x03\x12\x03;\x19\x1a\n\x0b\n\x04\x04\0\ + \x02\x02\x12\x03<\x02\x1b\n\x0c\n\x05\x04\0\x02\x02\x04\x12\x03<\x02\n\n\ + \x0c\n\x05\x04\0\x02\x02\x05\x12\x03<\x0b\x10\n\x0c\n\x05\x04\0\x02\x02\ + \x01\x12\x03<\x11\x16\n\x0c\n\x05\x04\0\x02\x02\x03\x12\x03<\x19\x1a\n\ + \x80\x01\n\x04\x04\0\x02\x03\x12\x03?\x02\x1d\x1as\x20A\x20suffix\x20for\ + \x20alpha,\x20beta\x20or\x20rc\x20release,\x20e.g.,\x20\"alpha-1\",\x20\ + \"rc2\".\x20It\x20should\n\x20be\x20empty\x20for\x20mainline\x20stable\ + \x20releases.\n\n\x0c\n\x05\x04\0\x02\x03\x04\x12\x03?\x02\n\n\x0c\n\x05\ + \x04\0\x02\x03\x05\x12\x03?\x0b\x11\n\x0c\n\x05\x04\0\x02\x03\x01\x12\ + \x03?\x12\x18\n\x0c\n\x05\x04\0\x02\x03\x03\x12\x03?\x1b\x1c\nO\n\x02\ + \x04\x01\x12\x04C\0_\x01\x1aC\x20An\x20encoded\x20CodeGeneratorRequest\ + \x20is\x20written\x20to\x20the\x20plugin's\x20stdin.\n\n\n\n\x03\x04\x01\ + \x01\x12\x03C\x08\x1c\n\xd1\x01\n\x04\x04\x01\x02\0\x12\x03G\x02'\x1a\ + \xc3\x01\x20The\x20.proto\x20files\x20that\x20were\x20explicitly\x20list\ + ed\x20on\x20the\x20command-line.\x20\x20The\n\x20code\x20generator\x20sh\ + ould\x20generate\x20code\x20only\x20for\x20these\x20files.\x20\x20Each\ + \x20file's\n\x20descriptor\x20will\x20be\x20included\x20in\x20proto_file\ + ,\x20below.\n\n\x0c\n\x05\x04\x01\x02\0\x04\x12\x03G\x02\n\n\x0c\n\x05\ + \x04\x01\x02\0\x05\x12\x03G\x0b\x11\n\x0c\n\x05\x04\x01\x02\0\x01\x12\ + \x03G\x12\"\n\x0c\n\x05\x04\x01\x02\0\x03\x12\x03G%&\nB\n\x04\x04\x01\ + \x02\x01\x12\x03J\x02\x20\x1a5\x20The\x20generator\x20parameter\x20passe\ + d\x20on\x20the\x20command-line.\n\n\x0c\n\x05\x04\x01\x02\x01\x04\x12\ + \x03J\x02\n\n\x0c\n\x05\x04\x01\x02\x01\x05\x12\x03J\x0b\x11\n\x0c\n\x05\ + \x04\x01\x02\x01\x01\x12\x03J\x12\x1b\n\x0c\n\x05\x04\x01\x02\x01\x03\ + \x12\x03J\x1e\x1f\n\x87\x06\n\x04\x04\x01\x02\x02\x12\x03Z\x02/\x1a\xf9\ + \x05\x20FileDescriptorProtos\x20for\x20all\x20files\x20in\x20files_to_ge\ + nerate\x20and\x20everything\n\x20they\x20import.\x20\x20The\x20files\x20\ + will\x20appear\x20in\x20topological\x20order,\x20so\x20each\x20file\n\ + \x20appears\x20before\x20any\x20file\x20that\x20imports\x20it.\n\n\x20pr\ + otoc\x20guarantees\x20that\x20all\x20proto_files\x20will\x20be\x20writte\ + n\x20after\n\x20the\x20fields\x20above,\x20even\x20though\x20this\x20is\ + \x20not\x20technically\x20guaranteed\x20by\x20the\n\x20protobuf\x20wire\ + \x20format.\x20\x20This\x20theoretically\x20could\x20allow\x20a\x20plugi\ + n\x20to\x20stream\n\x20in\x20the\x20FileDescriptorProtos\x20and\x20handl\ + e\x20them\x20one\x20by\x20one\x20rather\x20than\x20read\n\x20the\x20enti\ + re\x20set\x20into\x20memory\x20at\x20once.\x20\x20However,\x20as\x20of\ + \x20this\x20writing,\x20this\n\x20is\x20not\x20similarly\x20optimized\ + \x20on\x20protoc's\x20end\x20--\x20it\x20will\x20store\x20all\x20fields\ + \x20in\n\x20memory\x20at\x20once\x20before\x20sending\x20them\x20to\x20t\ + he\x20plugin.\n\n\x20Type\x20names\x20of\x20fields\x20and\x20extensions\ + \x20in\x20the\x20FileDescriptorProto\x20are\x20always\n\x20fully\x20qual\ + ified.\n\n\x0c\n\x05\x04\x01\x02\x02\x04\x12\x03Z\x02\n\n\x0c\n\x05\x04\ + \x01\x02\x02\x06\x12\x03Z\x0b\x1e\n\x0c\n\x05\x04\x01\x02\x02\x01\x12\ + \x03Z\x1f)\n\x0c\n\x05\x04\x01\x02\x02\x03\x12\x03Z,.\n7\n\x04\x04\x01\ + \x02\x03\x12\x03]\x02(\x1a*\x20The\x20version\x20number\x20of\x20protoco\ + l\x20compiler.\n\n\x0c\n\x05\x04\x01\x02\x03\x04\x12\x03]\x02\n\n\x0c\n\ + \x05\x04\x01\x02\x03\x06\x12\x03]\x0b\x12\n\x0c\n\x05\x04\x01\x02\x03\ + \x01\x12\x03]\x13#\n\x0c\n\x05\x04\x01\x02\x03\x03\x12\x03]&'\nL\n\x02\ + \x04\x02\x12\x05b\0\xb6\x01\x01\x1a?\x20The\x20plugin\x20writes\x20an\ + \x20encoded\x20CodeGeneratorResponse\x20to\x20stdout.\n\n\n\n\x03\x04\ + \x02\x01\x12\x03b\x08\x1d\n\xed\x03\n\x04\x04\x02\x02\0\x12\x03k\x02\x1c\ + \x1a\xdf\x03\x20Error\x20message.\x20\x20If\x20non-empty,\x20code\x20gen\ + eration\x20failed.\x20\x20The\x20plugin\x20process\n\x20should\x20exit\ + \x20with\x20status\x20code\x20zero\x20even\x20if\x20it\x20reports\x20an\ + \x20error\x20in\x20this\x20way.\n\n\x20This\x20should\x20be\x20used\x20t\ + o\x20indicate\x20errors\x20in\x20.proto\x20files\x20which\x20prevent\x20\ + the\n\x20code\x20generator\x20from\x20generating\x20correct\x20code.\x20\ + \x20Errors\x20which\x20indicate\x20a\n\x20problem\x20in\x20protoc\x20its\ + elf\x20--\x20such\x20as\x20the\x20input\x20CodeGeneratorRequest\x20being\ + \n\x20unparseable\x20--\x20should\x20be\x20reported\x20by\x20writing\x20\ + a\x20message\x20to\x20stderr\x20and\n\x20exiting\x20with\x20a\x20non-zer\ + o\x20status\x20code.\n\n\x0c\n\x05\x04\x02\x02\0\x04\x12\x03k\x02\n\n\ + \x0c\n\x05\x04\x02\x02\0\x05\x12\x03k\x0b\x11\n\x0c\n\x05\x04\x02\x02\0\ + \x01\x12\x03k\x12\x17\n\x0c\n\x05\x04\x02\x02\0\x03\x12\x03k\x1a\x1b\n\ + \x89\x01\n\x04\x04\x02\x02\x01\x12\x03o\x02)\x1a|\x20A\x20bitmask\x20of\ + \x20supported\x20features\x20that\x20the\x20code\x20generator\x20support\ + s.\n\x20This\x20is\x20a\x20bitwise\x20\"or\"\x20of\x20values\x20from\x20\ + the\x20Feature\x20enum.\n\n\x0c\n\x05\x04\x02\x02\x01\x04\x12\x03o\x02\n\ + \n\x0c\n\x05\x04\x02\x02\x01\x05\x12\x03o\x0b\x11\n\x0c\n\x05\x04\x02\ + \x02\x01\x01\x12\x03o\x12$\n\x0c\n\x05\x04\x02\x02\x01\x03\x12\x03o'(\n+\ + \n\x04\x04\x02\x04\0\x12\x04r\x02u\x03\x1a\x1d\x20Sync\x20with\x20code_g\ + enerator.h.\n\n\x0c\n\x05\x04\x02\x04\0\x01\x12\x03r\x07\x0e\n\r\n\x06\ + \x04\x02\x04\0\x02\0\x12\x03s\x04\x15\n\x0e\n\x07\x04\x02\x04\0\x02\0\ + \x01\x12\x03s\x04\x10\n\x0e\n\x07\x04\x02\x04\0\x02\0\x02\x12\x03s\x13\ + \x14\n\r\n\x06\x04\x02\x04\0\x02\x01\x12\x03t\x04\x20\n\x0e\n\x07\x04\ + \x02\x04\0\x02\x01\x01\x12\x03t\x04\x1b\n\x0e\n\x07\x04\x02\x04\0\x02\ + \x01\x02\x12\x03t\x1e\x1f\n4\n\x04\x04\x02\x03\0\x12\x05x\x02\xb4\x01\ + \x03\x1a%\x20Represents\x20a\x20single\x20generated\x20file.\n\n\x0c\n\ + \x05\x04\x02\x03\0\x01\x12\x03x\n\x0e\n\xae\x05\n\x06\x04\x02\x03\0\x02\ + \0\x12\x04\x84\x01\x04\x1d\x1a\x9d\x05\x20The\x20file\x20name,\x20relati\ + ve\x20to\x20the\x20output\x20directory.\x20\x20The\x20name\x20must\x20no\ + t\n\x20contain\x20\".\"\x20or\x20\"..\"\x20components\x20and\x20must\x20\ + be\x20relative,\x20not\x20be\x20absolute\x20(so,\n\x20the\x20file\x20can\ + not\x20lie\x20outside\x20the\x20output\x20directory).\x20\x20\"/\"\x20mu\ + st\x20be\x20used\x20as\n\x20the\x20path\x20separator,\x20not\x20\"\\\".\ + \n\n\x20If\x20the\x20name\x20is\x20omitted,\x20the\x20content\x20will\ + \x20be\x20appended\x20to\x20the\x20previous\n\x20file.\x20\x20This\x20al\ + lows\x20the\x20generator\x20to\x20break\x20large\x20files\x20into\x20sma\ + ll\x20chunks,\n\x20and\x20allows\x20the\x20generated\x20text\x20to\x20be\ + \x20streamed\x20back\x20to\x20protoc\x20so\x20that\x20large\n\x20files\ + \x20need\x20not\x20reside\x20completely\x20in\x20memory\x20at\x20one\x20\ + time.\x20\x20Note\x20that\x20as\x20of\n\x20this\x20writing\x20protoc\x20\ + does\x20not\x20optimize\x20for\x20this\x20--\x20it\x20will\x20read\x20th\ + e\x20entire\n\x20CodeGeneratorResponse\x20before\x20writing\x20files\x20\ + to\x20disk.\n\n\x0f\n\x07\x04\x02\x03\0\x02\0\x04\x12\x04\x84\x01\x04\ + \x0c\n\x0f\n\x07\x04\x02\x03\0\x02\0\x05\x12\x04\x84\x01\r\x13\n\x0f\n\ + \x07\x04\x02\x03\0\x02\0\x01\x12\x04\x84\x01\x14\x18\n\x0f\n\x07\x04\x02\ + \x03\0\x02\0\x03\x12\x04\x84\x01\x1b\x1c\n\xae\x10\n\x06\x04\x02\x03\0\ + \x02\x01\x12\x04\xab\x01\x04(\x1a\x9d\x10\x20If\x20non-empty,\x20indicat\ + es\x20that\x20the\x20named\x20file\x20should\x20already\x20exist,\x20and\ + \x20the\n\x20content\x20here\x20is\x20to\x20be\x20inserted\x20into\x20th\ + at\x20file\x20at\x20a\x20defined\x20insertion\n\x20point.\x20\x20This\ + \x20feature\x20allows\x20a\x20code\x20generator\x20to\x20extend\x20the\ + \x20output\n\x20produced\x20by\x20another\x20code\x20generator.\x20\x20T\ + he\x20original\x20generator\x20may\x20provide\n\x20insertion\x20points\ + \x20by\x20placing\x20special\x20annotations\x20in\x20the\x20file\x20that\ + \x20look\n\x20like:\n\x20\x20\x20@@protoc_insertion_point(NAME)\n\x20The\ + \x20annotation\x20can\x20have\x20arbitrary\x20text\x20before\x20and\x20a\ + fter\x20it\x20on\x20the\x20line,\n\x20which\x20allows\x20it\x20to\x20be\ + \x20placed\x20in\x20a\x20comment.\x20\x20NAME\x20should\x20be\x20replace\ + d\x20with\n\x20an\x20identifier\x20naming\x20the\x20point\x20--\x20this\ + \x20is\x20what\x20other\x20generators\x20will\x20use\n\x20as\x20the\x20i\ + nsertion_point.\x20\x20Code\x20inserted\x20at\x20this\x20point\x20will\ + \x20be\x20placed\n\x20immediately\x20above\x20the\x20line\x20containing\ + \x20the\x20insertion\x20point\x20(thus\x20multiple\n\x20insertions\x20to\ + \x20the\x20same\x20point\x20will\x20come\x20out\x20in\x20the\x20order\ + \x20they\x20were\x20added).\n\x20The\x20double-@\x20is\x20intended\x20to\ + \x20make\x20it\x20unlikely\x20that\x20the\x20generated\x20code\n\x20coul\ + d\x20contain\x20things\x20that\x20look\x20like\x20insertion\x20points\ + \x20by\x20accident.\n\n\x20For\x20example,\x20the\x20C++\x20code\x20gene\ + rator\x20places\x20the\x20following\x20line\x20in\x20the\n\x20.pb.h\x20f\ + iles\x20that\x20it\x20generates:\n\x20\x20\x20//\x20@@protoc_insertion_p\ + oint(namespace_scope)\n\x20This\x20line\x20appears\x20within\x20the\x20s\ + cope\x20of\x20the\x20file's\x20package\x20namespace,\x20but\n\x20outside\ + \x20of\x20any\x20particular\x20class.\x20\x20Another\x20plugin\x20can\ + \x20then\x20specify\x20the\n\x20insertion_point\x20\"namespace_scope\"\ + \x20to\x20generate\x20additional\x20classes\x20or\n\x20other\x20declarat\ + ions\x20that\x20should\x20be\x20placed\x20in\x20this\x20scope.\n\n\x20No\ + te\x20that\x20if\x20the\x20line\x20containing\x20the\x20insertion\x20poi\ + nt\x20begins\x20with\n\x20whitespace,\x20the\x20same\x20whitespace\x20wi\ + ll\x20be\x20added\x20to\x20every\x20line\x20of\x20the\n\x20inserted\x20t\ + ext.\x20\x20This\x20is\x20useful\x20for\x20languages\x20like\x20Python,\ + \x20where\n\x20indentation\x20matters.\x20\x20In\x20these\x20languages,\ + \x20the\x20insertion\x20point\x20comment\n\x20should\x20be\x20indented\ + \x20the\x20same\x20amount\x20as\x20any\x20inserted\x20code\x20will\x20ne\ + ed\x20to\x20be\n\x20in\x20order\x20to\x20work\x20correctly\x20in\x20that\ + \x20context.\n\n\x20The\x20code\x20generator\x20that\x20generates\x20the\ + \x20initial\x20file\x20and\x20the\x20one\x20which\n\x20inserts\x20into\ + \x20it\x20must\x20both\x20run\x20as\x20part\x20of\x20a\x20single\x20invo\ + cation\x20of\x20protoc.\n\x20Code\x20generators\x20are\x20executed\x20in\ + \x20the\x20order\x20in\x20which\x20they\x20appear\x20on\x20the\n\x20comm\ + and\x20line.\n\n\x20If\x20|insertion_point|\x20is\x20present,\x20|name|\ + \x20must\x20also\x20be\x20present.\n\n\x0f\n\x07\x04\x02\x03\0\x02\x01\ + \x04\x12\x04\xab\x01\x04\x0c\n\x0f\n\x07\x04\x02\x03\0\x02\x01\x05\x12\ + \x04\xab\x01\r\x13\n\x0f\n\x07\x04\x02\x03\0\x02\x01\x01\x12\x04\xab\x01\ + \x14#\n\x0f\n\x07\x04\x02\x03\0\x02\x01\x03\x12\x04\xab\x01&'\n$\n\x06\ + \x04\x02\x03\0\x02\x02\x12\x04\xae\x01\x04!\x1a\x14\x20The\x20file\x20co\ + ntents.\n\n\x0f\n\x07\x04\x02\x03\0\x02\x02\x04\x12\x04\xae\x01\x04\x0c\ + \n\x0f\n\x07\x04\x02\x03\0\x02\x02\x05\x12\x04\xae\x01\r\x13\n\x0f\n\x07\ + \x04\x02\x03\0\x02\x02\x01\x12\x04\xae\x01\x14\x1b\n\x0f\n\x07\x04\x02\ + \x03\0\x02\x02\x03\x12\x04\xae\x01\x1e\x20\n\xe1\x01\n\x06\x04\x02\x03\0\ + \x02\x03\x12\x04\xb3\x01\x048\x1a\xd0\x01\x20Information\x20describing\ + \x20the\x20file\x20content\x20being\x20inserted.\x20If\x20an\x20insertio\ + n\n\x20point\x20is\x20used,\x20this\x20information\x20will\x20be\x20appr\ + opriately\x20offset\x20and\x20inserted\n\x20into\x20the\x20code\x20gener\ + ation\x20metadata\x20for\x20the\x20generated\x20files.\n\n\x0f\n\x07\x04\ + \x02\x03\0\x02\x03\x04\x12\x04\xb3\x01\x04\x0c\n\x0f\n\x07\x04\x02\x03\0\ + \x02\x03\x06\x12\x04\xb3\x01\r\x1e\n\x0f\n\x07\x04\x02\x03\0\x02\x03\x01\ + \x12\x04\xb3\x01\x1f2\n\x0f\n\x07\x04\x02\x03\0\x02\x03\x03\x12\x04\xb3\ + \x0157\n\x0c\n\x04\x04\x02\x02\x02\x12\x04\xb5\x01\x02\x1a\n\r\n\x05\x04\ + \x02\x02\x02\x04\x12\x04\xb5\x01\x02\n\n\r\n\x05\x04\x02\x02\x02\x06\x12\ + \x04\xb5\x01\x0b\x0f\n\r\n\x05\x04\x02\x02\x02\x01\x12\x04\xb5\x01\x10\ + \x14\n\r\n\x05\x04\x02\x02\x02\x03\x12\x04\xb5\x01\x17\x19\ "; static file_descriptor_proto_lazy: crate::rt::LazyV2<crate::descriptor::FileDescriptorProto> = crate::rt::LazyV2::INIT; diff --git a/src/reflect/message.rs b/src/reflect/message.rs index 4730306..53ea2ce 100644 --- a/src/reflect/message.rs +++ b/src/reflect/message.rs @@ -1,4 +1,5 @@ -use crate::descriptor::{DescriptorProto, FileDescriptorProto}; +use crate::descriptor::DescriptorProto; +use crate::descriptor::FileDescriptorProto; use crate::descriptorx::find_message_by_rust_name; use crate::reflect::acc::FieldAccessor; use crate::reflect::find_message_or_enum::find_message_or_enum; diff --git a/src/rustproto.rs b/src/rustproto.rs index cf78d20..d4284e7 100644 --- a/src/rustproto.rs +++ b/src/rustproto.rs @@ -1,4 +1,4 @@ -// This file is generated by rust-protobuf 2.19.0-pre. Do not edit +// This file is generated by rust-protobuf 2.22.0-pre. Do not edit // @generated // https://github.com/rust-lang/rust-clippy/issues/702 diff --git a/src/stream.rs b/src/stream.rs index dc45953..5ec7df2 100644 --- a/src/stream.rs +++ b/src/stream.rs @@ -3,8 +3,9 @@ //! `CodedInputStream` and `CodedOutputStream` implementations use std::io; +use std::io::BufRead; +use std::io::Read; use std::io::Write; -use std::io::{BufRead, Read}; use std::mem; use std::slice; diff --git a/src/well_known_types/any.rs b/src/well_known_types/any.rs index 58c62a3..397f9db 100644 --- a/src/well_known_types/any.rs +++ b/src/well_known_types/any.rs @@ -1,4 +1,4 @@ -// This file is generated by rust-protobuf 2.19.0-pre. Do not edit +// This file is generated by rust-protobuf 2.22.0-pre. Do not edit // @generated // https://github.com/rust-lang/rust-clippy/issues/702 @@ -20,7 +20,7 @@ //! Generated file from `google/protobuf/any.proto` #[derive(PartialEq,Clone,Default)] -#[cfg_attr(feature = "with-serde", derive(Serialize, Deserialize))] +#[cfg_attr(feature = "with-serde", derive(::serde::Serialize, ::serde::Deserialize))] pub struct Any { // message fields pub type_url: ::std::string::String, @@ -226,69 +226,77 @@ impl crate::reflect::ProtobufValue for Any { static file_descriptor_proto_data: &'static [u8] = b"\ \n\x19google/protobuf/any.proto\x12\x0fgoogle.protobuf\"6\n\x03Any\x12\ \x19\n\x08type_url\x18\x01\x20\x01(\tR\x07typeUrl\x12\x14\n\x05value\x18\ - \x02\x20\x01(\x0cR\x05valueBo\n\x13com.google.protobufB\x08AnyProtoP\x01\ - Z%github.com/golang/protobuf/ptypes/any\xa2\x02\x03GPB\xaa\x02\x1eGoogle\ - .Protobuf.WellKnownTypesJ\x8a&\n\x07\x12\x05\x1e\0\x8a\x01\x01\n\xcc\x0c\ - \n\x01\x0c\x12\x03\x1e\0\x122\xc1\x0c\x20Protocol\x20Buffers\x20-\x20Goo\ - gle's\x20data\x20interchange\x20format\n\x20Copyright\x202008\x20Google\ - \x20Inc.\x20\x20All\x20rights\x20reserved.\n\x20https://developers.googl\ - e.com/protocol-buffers/\n\n\x20Redistribution\x20and\x20use\x20in\x20sou\ - rce\x20and\x20binary\x20forms,\x20with\x20or\x20without\n\x20modificatio\ - n,\x20are\x20permitted\x20provided\x20that\x20the\x20following\x20condit\ - ions\x20are\n\x20met:\n\n\x20\x20\x20\x20\x20*\x20Redistributions\x20of\ - \x20source\x20code\x20must\x20retain\x20the\x20above\x20copyright\n\x20n\ - otice,\x20this\x20list\x20of\x20conditions\x20and\x20the\x20following\ - \x20disclaimer.\n\x20\x20\x20\x20\x20*\x20Redistributions\x20in\x20binar\ - y\x20form\x20must\x20reproduce\x20the\x20above\n\x20copyright\x20notice,\ - \x20this\x20list\x20of\x20conditions\x20and\x20the\x20following\x20discl\ - aimer\n\x20in\x20the\x20documentation\x20and/or\x20other\x20materials\ - \x20provided\x20with\x20the\n\x20distribution.\n\x20\x20\x20\x20\x20*\ - \x20Neither\x20the\x20name\x20of\x20Google\x20Inc.\x20nor\x20the\x20name\ - s\x20of\x20its\n\x20contributors\x20may\x20be\x20used\x20to\x20endorse\ - \x20or\x20promote\x20products\x20derived\x20from\n\x20this\x20software\ - \x20without\x20specific\x20prior\x20written\x20permission.\n\n\x20THIS\ - \x20SOFTWARE\x20IS\x20PROVIDED\x20BY\x20THE\x20COPYRIGHT\x20HOLDERS\x20A\ - ND\x20CONTRIBUTORS\n\x20\"AS\x20IS\"\x20AND\x20ANY\x20EXPRESS\x20OR\x20I\ - MPLIED\x20WARRANTIES,\x20INCLUDING,\x20BUT\x20NOT\n\x20LIMITED\x20TO,\ - \x20THE\x20IMPLIED\x20WARRANTIES\x20OF\x20MERCHANTABILITY\x20AND\x20FITN\ - ESS\x20FOR\n\x20A\x20PARTICULAR\x20PURPOSE\x20ARE\x20DISCLAIMED.\x20IN\ - \x20NO\x20EVENT\x20SHALL\x20THE\x20COPYRIGHT\n\x20OWNER\x20OR\x20CONTRIB\ - UTORS\x20BE\x20LIABLE\x20FOR\x20ANY\x20DIRECT,\x20INDIRECT,\x20INCIDENTA\ - L,\n\x20SPECIAL,\x20EXEMPLARY,\x20OR\x20CONSEQUENTIAL\x20DAMAGES\x20(INC\ - LUDING,\x20BUT\x20NOT\n\x20LIMITED\x20TO,\x20PROCUREMENT\x20OF\x20SUBSTI\ - TUTE\x20GOODS\x20OR\x20SERVICES;\x20LOSS\x20OF\x20USE,\n\x20DATA,\x20OR\ - \x20PROFITS;\x20OR\x20BUSINESS\x20INTERRUPTION)\x20HOWEVER\x20CAUSED\x20\ - AND\x20ON\x20ANY\n\x20THEORY\x20OF\x20LIABILITY,\x20WHETHER\x20IN\x20CON\ - TRACT,\x20STRICT\x20LIABILITY,\x20OR\x20TORT\n\x20(INCLUDING\x20NEGLIGEN\ - CE\x20OR\x20OTHERWISE)\x20ARISING\x20IN\x20ANY\x20WAY\x20OUT\x20OF\x20TH\ - E\x20USE\n\x20OF\x20THIS\x20SOFTWARE,\x20EVEN\x20IF\x20ADVISED\x20OF\x20\ - THE\x20POSSIBILITY\x20OF\x20SUCH\x20DAMAGE.\n\n\x08\n\x01\x02\x12\x03\ - \x20\0\x18\n\x08\n\x01\x08\x12\x03\"\0;\n\t\n\x02\x08%\x12\x03\"\0;\n\ - \x08\n\x01\x08\x12\x03#\0<\n\t\n\x02\x08\x0b\x12\x03#\0<\n\x08\n\x01\x08\ - \x12\x03$\0,\n\t\n\x02\x08\x01\x12\x03$\0,\n\x08\n\x01\x08\x12\x03%\0)\n\ - \t\n\x02\x08\x08\x12\x03%\0)\n\x08\n\x01\x08\x12\x03&\0\"\n\t\n\x02\x08\ - \n\x12\x03&\0\"\n\x08\n\x01\x08\x12\x03'\0!\n\t\n\x02\x08$\x12\x03'\0!\n\ - \x81\x0f\n\x02\x04\0\x12\x05o\0\x8a\x01\x01\x1a\xf3\x0e\x20`Any`\x20cont\ - ains\x20an\x20arbitrary\x20serialized\x20protocol\x20buffer\x20message\ - \x20along\x20with\x20a\n\x20URL\x20that\x20describes\x20the\x20type\x20o\ - f\x20the\x20serialized\x20message.\n\n\x20Protobuf\x20library\x20provide\ - s\x20support\x20to\x20pack/unpack\x20Any\x20values\x20in\x20the\x20form\ - \n\x20of\x20utility\x20functions\x20or\x20additional\x20generated\x20met\ - hods\x20of\x20the\x20Any\x20type.\n\n\x20Example\x201:\x20Pack\x20and\ - \x20unpack\x20a\x20message\x20in\x20C++.\n\n\x20\x20\x20\x20\x20Foo\x20f\ - oo\x20=\x20...;\n\x20\x20\x20\x20\x20Any\x20any;\n\x20\x20\x20\x20\x20an\ - y.PackFrom(foo);\n\x20\x20\x20\x20\x20...\n\x20\x20\x20\x20\x20if\x20(an\ - y.UnpackTo(&foo))\x20{\n\x20\x20\x20\x20\x20\x20\x20...\n\x20\x20\x20\ - \x20\x20}\n\n\x20Example\x202:\x20Pack\x20and\x20unpack\x20a\x20message\ - \x20in\x20Java.\n\n\x20\x20\x20\x20\x20Foo\x20foo\x20=\x20...;\n\x20\x20\ - \x20\x20\x20Any\x20any\x20=\x20Any.pack(foo);\n\x20\x20\x20\x20\x20...\n\ - \x20\x20\x20\x20\x20if\x20(any.is(Foo.class))\x20{\n\x20\x20\x20\x20\x20\ - \x20\x20foo\x20=\x20any.unpack(Foo.class);\n\x20\x20\x20\x20\x20}\n\n\ - \x20\x20Example\x203:\x20Pack\x20and\x20unpack\x20a\x20message\x20in\x20\ - Python.\n\n\x20\x20\x20\x20\x20foo\x20=\x20Foo(...)\n\x20\x20\x20\x20\ - \x20any\x20=\x20Any()\n\x20\x20\x20\x20\x20any.Pack(foo)\n\x20\x20\x20\ - \x20\x20...\n\x20\x20\x20\x20\x20if\x20any.Is(Foo.DESCRIPTOR):\n\x20\x20\ - \x20\x20\x20\x20\x20any.Unpack(foo)\n\x20\x20\x20\x20\x20\x20\x20...\n\n\ + \x02\x20\x01(\x0cR\x05valueBv\n\x13com.google.protobufB\x08AnyProtoP\x01\ + Z,google.golang.org/protobuf/types/known/anypb\xa2\x02\x03GPB\xaa\x02\ + \x1eGoogle.Protobuf.WellKnownTypesJ\xf9*\n\x07\x12\x05\x1e\0\x9d\x01\x01\ + \n\xcc\x0c\n\x01\x0c\x12\x03\x1e\0\x122\xc1\x0c\x20Protocol\x20Buffers\ + \x20-\x20Google's\x20data\x20interchange\x20format\n\x20Copyright\x20200\ + 8\x20Google\x20Inc.\x20\x20All\x20rights\x20reserved.\n\x20https://devel\ + opers.google.com/protocol-buffers/\n\n\x20Redistribution\x20and\x20use\ + \x20in\x20source\x20and\x20binary\x20forms,\x20with\x20or\x20without\n\ + \x20modification,\x20are\x20permitted\x20provided\x20that\x20the\x20foll\ + owing\x20conditions\x20are\n\x20met:\n\n\x20\x20\x20\x20\x20*\x20Redistr\ + ibutions\x20of\x20source\x20code\x20must\x20retain\x20the\x20above\x20co\ + pyright\n\x20notice,\x20this\x20list\x20of\x20conditions\x20and\x20the\ + \x20following\x20disclaimer.\n\x20\x20\x20\x20\x20*\x20Redistributions\ + \x20in\x20binary\x20form\x20must\x20reproduce\x20the\x20above\n\x20copyr\ + ight\x20notice,\x20this\x20list\x20of\x20conditions\x20and\x20the\x20fol\ + lowing\x20disclaimer\n\x20in\x20the\x20documentation\x20and/or\x20other\ + \x20materials\x20provided\x20with\x20the\n\x20distribution.\n\x20\x20\ + \x20\x20\x20*\x20Neither\x20the\x20name\x20of\x20Google\x20Inc.\x20nor\ + \x20the\x20names\x20of\x20its\n\x20contributors\x20may\x20be\x20used\x20\ + to\x20endorse\x20or\x20promote\x20products\x20derived\x20from\n\x20this\ + \x20software\x20without\x20specific\x20prior\x20written\x20permission.\n\ + \n\x20THIS\x20SOFTWARE\x20IS\x20PROVIDED\x20BY\x20THE\x20COPYRIGHT\x20HO\ + LDERS\x20AND\x20CONTRIBUTORS\n\x20\"AS\x20IS\"\x20AND\x20ANY\x20EXPRESS\ + \x20OR\x20IMPLIED\x20WARRANTIES,\x20INCLUDING,\x20BUT\x20NOT\n\x20LIMITE\ + D\x20TO,\x20THE\x20IMPLIED\x20WARRANTIES\x20OF\x20MERCHANTABILITY\x20AND\ + \x20FITNESS\x20FOR\n\x20A\x20PARTICULAR\x20PURPOSE\x20ARE\x20DISCLAIMED.\ + \x20IN\x20NO\x20EVENT\x20SHALL\x20THE\x20COPYRIGHT\n\x20OWNER\x20OR\x20C\ + ONTRIBUTORS\x20BE\x20LIABLE\x20FOR\x20ANY\x20DIRECT,\x20INDIRECT,\x20INC\ + IDENTAL,\n\x20SPECIAL,\x20EXEMPLARY,\x20OR\x20CONSEQUENTIAL\x20DAMAGES\ + \x20(INCLUDING,\x20BUT\x20NOT\n\x20LIMITED\x20TO,\x20PROCUREMENT\x20OF\ + \x20SUBSTITUTE\x20GOODS\x20OR\x20SERVICES;\x20LOSS\x20OF\x20USE,\n\x20DA\ + TA,\x20OR\x20PROFITS;\x20OR\x20BUSINESS\x20INTERRUPTION)\x20HOWEVER\x20C\ + AUSED\x20AND\x20ON\x20ANY\n\x20THEORY\x20OF\x20LIABILITY,\x20WHETHER\x20\ + IN\x20CONTRACT,\x20STRICT\x20LIABILITY,\x20OR\x20TORT\n\x20(INCLUDING\ + \x20NEGLIGENCE\x20OR\x20OTHERWISE)\x20ARISING\x20IN\x20ANY\x20WAY\x20OUT\ + \x20OF\x20THE\x20USE\n\x20OF\x20THIS\x20SOFTWARE,\x20EVEN\x20IF\x20ADVIS\ + ED\x20OF\x20THE\x20POSSIBILITY\x20OF\x20SUCH\x20DAMAGE.\n\n\x08\n\x01\ + \x02\x12\x03\x20\0\x18\n\x08\n\x01\x08\x12\x03\"\0;\n\t\n\x02\x08%\x12\ + \x03\"\0;\n\x08\n\x01\x08\x12\x03#\0C\n\t\n\x02\x08\x0b\x12\x03#\0C\n\ + \x08\n\x01\x08\x12\x03$\0,\n\t\n\x02\x08\x01\x12\x03$\0,\n\x08\n\x01\x08\ + \x12\x03%\0)\n\t\n\x02\x08\x08\x12\x03%\0)\n\x08\n\x01\x08\x12\x03&\0\"\ + \n\t\n\x02\x08\n\x12\x03&\0\"\n\x08\n\x01\x08\x12\x03'\0!\n\t\n\x02\x08$\ + \x12\x03'\0!\n\xfd\x10\n\x02\x04\0\x12\x05|\0\x9d\x01\x01\x1a\xef\x10\ + \x20`Any`\x20contains\x20an\x20arbitrary\x20serialized\x20protocol\x20bu\ + ffer\x20message\x20along\x20with\x20a\n\x20URL\x20that\x20describes\x20t\ + he\x20type\x20of\x20the\x20serialized\x20message.\n\n\x20Protobuf\x20lib\ + rary\x20provides\x20support\x20to\x20pack/unpack\x20Any\x20values\x20in\ + \x20the\x20form\n\x20of\x20utility\x20functions\x20or\x20additional\x20g\ + enerated\x20methods\x20of\x20the\x20Any\x20type.\n\n\x20Example\x201:\ + \x20Pack\x20and\x20unpack\x20a\x20message\x20in\x20C++.\n\n\x20\x20\x20\ + \x20\x20Foo\x20foo\x20=\x20...;\n\x20\x20\x20\x20\x20Any\x20any;\n\x20\ + \x20\x20\x20\x20any.PackFrom(foo);\n\x20\x20\x20\x20\x20...\n\x20\x20\ + \x20\x20\x20if\x20(any.UnpackTo(&foo))\x20{\n\x20\x20\x20\x20\x20\x20\ + \x20...\n\x20\x20\x20\x20\x20}\n\n\x20Example\x202:\x20Pack\x20and\x20un\ + pack\x20a\x20message\x20in\x20Java.\n\n\x20\x20\x20\x20\x20Foo\x20foo\ + \x20=\x20...;\n\x20\x20\x20\x20\x20Any\x20any\x20=\x20Any.pack(foo);\n\ + \x20\x20\x20\x20\x20...\n\x20\x20\x20\x20\x20if\x20(any.is(Foo.class))\ + \x20{\n\x20\x20\x20\x20\x20\x20\x20foo\x20=\x20any.unpack(Foo.class);\n\ + \x20\x20\x20\x20\x20}\n\n\x20\x20Example\x203:\x20Pack\x20and\x20unpack\ + \x20a\x20message\x20in\x20Python.\n\n\x20\x20\x20\x20\x20foo\x20=\x20Foo\ + (...)\n\x20\x20\x20\x20\x20any\x20=\x20Any()\n\x20\x20\x20\x20\x20any.Pa\ + ck(foo)\n\x20\x20\x20\x20\x20...\n\x20\x20\x20\x20\x20if\x20any.Is(Foo.D\ + ESCRIPTOR):\n\x20\x20\x20\x20\x20\x20\x20any.Unpack(foo)\n\x20\x20\x20\ + \x20\x20\x20\x20...\n\n\x20\x20Example\x204:\x20Pack\x20and\x20unpack\ + \x20a\x20message\x20in\x20Go\n\n\x20\x20\x20\x20\x20\x20foo\x20:=\x20&pb\ + .Foo{...}\n\x20\x20\x20\x20\x20\x20any,\x20err\x20:=\x20anypb.New(foo)\n\ + \x20\x20\x20\x20\x20\x20if\x20err\x20!=\x20nil\x20{\n\x20\x20\x20\x20\ + \x20\x20\x20\x20...\n\x20\x20\x20\x20\x20\x20}\n\x20\x20\x20\x20\x20\x20\ + ...\n\x20\x20\x20\x20\x20\x20foo\x20:=\x20&pb.Foo{}\n\x20\x20\x20\x20\ + \x20\x20if\x20err\x20:=\x20any.UnmarshalTo(foo);\x20err\x20!=\x20nil\x20\ + {\n\x20\x20\x20\x20\x20\x20\x20\x20...\n\x20\x20\x20\x20\x20\x20}\n\n\ \x20The\x20pack\x20methods\x20provided\x20by\x20protobuf\x20library\x20w\ ill\x20by\x20default\x20use\n\x20'type.googleapis.com/full.type.name'\ \x20as\x20the\x20type\x20URL\x20and\x20the\x20unpack\n\x20methods\x20onl\ @@ -314,36 +322,43 @@ static file_descriptor_proto_data: &'static [u8] = b"\ ion][]):\n\n\x20\x20\x20\x20\x20{\n\x20\x20\x20\x20\x20\x20\x20\"@type\"\ :\x20\"type.googleapis.com/google.protobuf.Duration\",\n\x20\x20\x20\x20\ \x20\x20\x20\"value\":\x20\"1.212s\"\n\x20\x20\x20\x20\x20}\n\n\n\n\n\ - \x03\x04\0\x01\x12\x03o\x08\x0b\n\xe4\x07\n\x04\x04\0\x02\0\x12\x04\x86\ - \x01\x02\x16\x1a\xd5\x07\x20A\x20URL/resource\x20name\x20whose\x20conten\ - t\x20describes\x20the\x20type\x20of\x20the\n\x20serialized\x20protocol\ - \x20buffer\x20message.\n\n\x20For\x20URLs\x20which\x20use\x20the\x20sche\ - me\x20`http`,\x20`https`,\x20or\x20no\x20scheme,\x20the\n\x20following\ - \x20restrictions\x20and\x20interpretations\x20apply:\n\n\x20*\x20If\x20n\ - o\x20scheme\x20is\x20provided,\x20`https`\x20is\x20assumed.\n\x20*\x20Th\ - e\x20last\x20segment\x20of\x20the\x20URL's\x20path\x20must\x20represent\ - \x20the\x20fully\n\x20\x20\x20qualified\x20name\x20of\x20the\x20type\x20\ - (as\x20in\x20`path/google.protobuf.Duration`).\n\x20\x20\x20The\x20name\ - \x20should\x20be\x20in\x20a\x20canonical\x20form\x20(e.g.,\x20leading\ - \x20\".\"\x20is\n\x20\x20\x20not\x20accepted).\n\x20*\x20An\x20HTTP\x20G\ - ET\x20on\x20the\x20URL\x20must\x20yield\x20a\x20[google.protobuf.Type][]\ - \n\x20\x20\x20value\x20in\x20binary\x20format,\x20or\x20produce\x20an\ - \x20error.\n\x20*\x20Applications\x20are\x20allowed\x20to\x20cache\x20lo\ - okup\x20results\x20based\x20on\x20the\n\x20\x20\x20URL,\x20or\x20have\ - \x20them\x20precompiled\x20into\x20a\x20binary\x20to\x20avoid\x20any\n\ - \x20\x20\x20lookup.\x20Therefore,\x20binary\x20compatibility\x20needs\ - \x20to\x20be\x20preserved\n\x20\x20\x20on\x20changes\x20to\x20types.\x20\ - (Use\x20versioned\x20type\x20names\x20to\x20manage\n\x20\x20\x20breaking\ - \x20changes.)\n\n\x20Schemes\x20other\x20than\x20`http`,\x20`https`\x20(\ - or\x20the\x20empty\x20scheme)\x20might\x20be\n\x20used\x20with\x20implem\ - entation\x20specific\x20semantics.\n\n\n\r\n\x05\x04\0\x02\0\x05\x12\x04\ - \x86\x01\x02\x08\n\r\n\x05\x04\0\x02\0\x01\x12\x04\x86\x01\t\x11\n\r\n\ - \x05\x04\0\x02\0\x03\x12\x04\x86\x01\x14\x15\nW\n\x04\x04\0\x02\x01\x12\ - \x04\x89\x01\x02\x12\x1aI\x20Must\x20be\x20a\x20valid\x20serialized\x20p\ - rotocol\x20buffer\x20of\x20the\x20above\x20specified\x20type.\n\n\r\n\ - \x05\x04\0\x02\x01\x05\x12\x04\x89\x01\x02\x07\n\r\n\x05\x04\0\x02\x01\ - \x01\x12\x04\x89\x01\x08\r\n\r\n\x05\x04\0\x02\x01\x03\x12\x04\x89\x01\ - \x10\x11b\x06proto3\ + \x03\x04\0\x01\x12\x03|\x08\x0b\n\xd7\n\n\x04\x04\0\x02\0\x12\x04\x99\ + \x01\x02\x16\x1a\xc8\n\x20A\x20URL/resource\x20name\x20that\x20uniquely\ + \x20identifies\x20the\x20type\x20of\x20the\x20serialized\n\x20protocol\ + \x20buffer\x20message.\x20This\x20string\x20must\x20contain\x20at\x20lea\ + st\n\x20one\x20\"/\"\x20character.\x20The\x20last\x20segment\x20of\x20th\ + e\x20URL's\x20path\x20must\x20represent\n\x20the\x20fully\x20qualified\ + \x20name\x20of\x20the\x20type\x20(as\x20in\n\x20`path/google.protobuf.Du\ + ration`).\x20The\x20name\x20should\x20be\x20in\x20a\x20canonical\x20form\ + \n\x20(e.g.,\x20leading\x20\".\"\x20is\x20not\x20accepted).\n\n\x20In\ + \x20practice,\x20teams\x20usually\x20precompile\x20into\x20the\x20binary\ + \x20all\x20types\x20that\x20they\n\x20expect\x20it\x20to\x20use\x20in\ + \x20the\x20context\x20of\x20Any.\x20However,\x20for\x20URLs\x20which\x20\ + use\x20the\n\x20scheme\x20`http`,\x20`https`,\x20or\x20no\x20scheme,\x20\ + one\x20can\x20optionally\x20set\x20up\x20a\x20type\n\x20server\x20that\ + \x20maps\x20type\x20URLs\x20to\x20message\x20definitions\x20as\x20follow\ + s:\n\n\x20*\x20If\x20no\x20scheme\x20is\x20provided,\x20`https`\x20is\ + \x20assumed.\n\x20*\x20An\x20HTTP\x20GET\x20on\x20the\x20URL\x20must\x20\ + yield\x20a\x20[google.protobuf.Type][]\n\x20\x20\x20value\x20in\x20binar\ + y\x20format,\x20or\x20produce\x20an\x20error.\n\x20*\x20Applications\x20\ + are\x20allowed\x20to\x20cache\x20lookup\x20results\x20based\x20on\x20the\ + \n\x20\x20\x20URL,\x20or\x20have\x20them\x20precompiled\x20into\x20a\x20\ + binary\x20to\x20avoid\x20any\n\x20\x20\x20lookup.\x20Therefore,\x20binar\ + y\x20compatibility\x20needs\x20to\x20be\x20preserved\n\x20\x20\x20on\x20\ + changes\x20to\x20types.\x20(Use\x20versioned\x20type\x20names\x20to\x20m\ + anage\n\x20\x20\x20breaking\x20changes.)\n\n\x20Note:\x20this\x20functio\ + nality\x20is\x20not\x20currently\x20available\x20in\x20the\x20official\n\ + \x20protobuf\x20release,\x20and\x20it\x20is\x20not\x20used\x20for\x20typ\ + e\x20URLs\x20beginning\x20with\n\x20type.googleapis.com.\n\n\x20Schemes\ + \x20other\x20than\x20`http`,\x20`https`\x20(or\x20the\x20empty\x20scheme\ + )\x20might\x20be\n\x20used\x20with\x20implementation\x20specific\x20sema\ + ntics.\n\n\n\r\n\x05\x04\0\x02\0\x05\x12\x04\x99\x01\x02\x08\n\r\n\x05\ + \x04\0\x02\0\x01\x12\x04\x99\x01\t\x11\n\r\n\x05\x04\0\x02\0\x03\x12\x04\ + \x99\x01\x14\x15\nW\n\x04\x04\0\x02\x01\x12\x04\x9c\x01\x02\x12\x1aI\x20\ + Must\x20be\x20a\x20valid\x20serialized\x20protocol\x20buffer\x20of\x20th\ + e\x20above\x20specified\x20type.\n\n\r\n\x05\x04\0\x02\x01\x05\x12\x04\ + \x9c\x01\x02\x07\n\r\n\x05\x04\0\x02\x01\x01\x12\x04\x9c\x01\x08\r\n\r\n\ + \x05\x04\0\x02\x01\x03\x12\x04\x9c\x01\x10\x11b\x06proto3\ "; static file_descriptor_proto_lazy: crate::rt::LazyV2<crate::descriptor::FileDescriptorProto> = crate::rt::LazyV2::INIT; diff --git a/src/well_known_types/api.rs b/src/well_known_types/api.rs index 3bdd79b..cb71f3b 100644 --- a/src/well_known_types/api.rs +++ b/src/well_known_types/api.rs @@ -1,4 +1,4 @@ -// This file is generated by rust-protobuf 2.19.0-pre. Do not edit +// This file is generated by rust-protobuf 2.22.0-pre. Do not edit // @generated // https://github.com/rust-lang/rust-clippy/issues/702 @@ -20,7 +20,7 @@ //! Generated file from `google/protobuf/api.proto` #[derive(PartialEq,Clone,Default)] -#[cfg_attr(feature = "with-serde", derive(Serialize, Deserialize))] +#[cfg_attr(feature = "with-serde", derive(::serde::Serialize, ::serde::Deserialize))] pub struct Api { // message fields pub name: ::std::string::String, @@ -459,7 +459,7 @@ impl crate::reflect::ProtobufValue for Api { } #[derive(PartialEq,Clone,Default)] -#[cfg_attr(feature = "with-serde", derive(Serialize, Deserialize))] +#[cfg_attr(feature = "with-serde", derive(::serde::Serialize, ::serde::Deserialize))] pub struct Method { // message fields pub name: ::std::string::String, @@ -855,7 +855,7 @@ impl crate::reflect::ProtobufValue for Method { } #[derive(PartialEq,Clone,Default)] -#[cfg_attr(feature = "with-serde", derive(Serialize, Deserialize))] +#[cfg_attr(feature = "with-serde", derive(::serde::Serialize, ::serde::Deserialize))] pub struct Mixin { // message fields pub name: ::std::string::String, @@ -1076,194 +1076,207 @@ static file_descriptor_proto_data: &'static [u8] = b"\ \n\x07options\x18\x06\x20\x03(\x0b2\x17.google.protobuf.OptionR\x07optio\ ns\x12/\n\x06syntax\x18\x07\x20\x01(\x0e2\x17.google.protobuf.SyntaxR\ \x06syntax\"/\n\x05Mixin\x12\x12\n\x04name\x18\x01\x20\x01(\tR\x04name\ - \x12\x12\n\x04root\x18\x02\x20\x01(\tR\x04rootBH\n\x13com.google.protobu\ - fB\x08ApiProtoP\x01\xa2\x02\x03GPB\xaa\x02\x1eGoogle.Protobuf.WellKnownT\ - ypesJ\xa97\n\x07\x12\x05\x1e\0\xc8\x01\x01\n\xcc\x0c\n\x01\x0c\x12\x03\ - \x1e\0\x122\xc1\x0c\x20Protocol\x20Buffers\x20-\x20Google's\x20data\x20i\ - nterchange\x20format\n\x20Copyright\x202008\x20Google\x20Inc.\x20\x20All\ - \x20rights\x20reserved.\n\x20https://developers.google.com/protocol-buff\ - ers/\n\n\x20Redistribution\x20and\x20use\x20in\x20source\x20and\x20binar\ - y\x20forms,\x20with\x20or\x20without\n\x20modification,\x20are\x20permit\ - ted\x20provided\x20that\x20the\x20following\x20conditions\x20are\n\x20me\ - t:\n\n\x20\x20\x20\x20\x20*\x20Redistributions\x20of\x20source\x20code\ - \x20must\x20retain\x20the\x20above\x20copyright\n\x20notice,\x20this\x20\ - list\x20of\x20conditions\x20and\x20the\x20following\x20disclaimer.\n\x20\ - \x20\x20\x20\x20*\x20Redistributions\x20in\x20binary\x20form\x20must\x20\ - reproduce\x20the\x20above\n\x20copyright\x20notice,\x20this\x20list\x20o\ - f\x20conditions\x20and\x20the\x20following\x20disclaimer\n\x20in\x20the\ - \x20documentation\x20and/or\x20other\x20materials\x20provided\x20with\ - \x20the\n\x20distribution.\n\x20\x20\x20\x20\x20*\x20Neither\x20the\x20n\ - ame\x20of\x20Google\x20Inc.\x20nor\x20the\x20names\x20of\x20its\n\x20con\ - tributors\x20may\x20be\x20used\x20to\x20endorse\x20or\x20promote\x20prod\ - ucts\x20derived\x20from\n\x20this\x20software\x20without\x20specific\x20\ - prior\x20written\x20permission.\n\n\x20THIS\x20SOFTWARE\x20IS\x20PROVIDE\ - D\x20BY\x20THE\x20COPYRIGHT\x20HOLDERS\x20AND\x20CONTRIBUTORS\n\x20\"AS\ - \x20IS\"\x20AND\x20ANY\x20EXPRESS\x20OR\x20IMPLIED\x20WARRANTIES,\x20INC\ - LUDING,\x20BUT\x20NOT\n\x20LIMITED\x20TO,\x20THE\x20IMPLIED\x20WARRANTIE\ - S\x20OF\x20MERCHANTABILITY\x20AND\x20FITNESS\x20FOR\n\x20A\x20PARTICULAR\ - \x20PURPOSE\x20ARE\x20DISCLAIMED.\x20IN\x20NO\x20EVENT\x20SHALL\x20THE\ - \x20COPYRIGHT\n\x20OWNER\x20OR\x20CONTRIBUTORS\x20BE\x20LIABLE\x20FOR\ - \x20ANY\x20DIRECT,\x20INDIRECT,\x20INCIDENTAL,\n\x20SPECIAL,\x20EXEMPLAR\ - Y,\x20OR\x20CONSEQUENTIAL\x20DAMAGES\x20(INCLUDING,\x20BUT\x20NOT\n\x20L\ - IMITED\x20TO,\x20PROCUREMENT\x20OF\x20SUBSTITUTE\x20GOODS\x20OR\x20SERVI\ - CES;\x20LOSS\x20OF\x20USE,\n\x20DATA,\x20OR\x20PROFITS;\x20OR\x20BUSINES\ - S\x20INTERRUPTION)\x20HOWEVER\x20CAUSED\x20AND\x20ON\x20ANY\n\x20THEORY\ - \x20OF\x20LIABILITY,\x20WHETHER\x20IN\x20CONTRACT,\x20STRICT\x20LIABILIT\ - Y,\x20OR\x20TORT\n\x20(INCLUDING\x20NEGLIGENCE\x20OR\x20OTHERWISE)\x20AR\ - ISING\x20IN\x20ANY\x20WAY\x20OUT\x20OF\x20THE\x20USE\n\x20OF\x20THIS\x20\ - SOFTWARE,\x20EVEN\x20IF\x20ADVISED\x20OF\x20THE\x20POSSIBILITY\x20OF\x20\ - SUCH\x20DAMAGE.\n\n\x08\n\x01\x02\x12\x03\x20\0\x18\n\t\n\x02\x03\0\x12\ - \x03\"\0.\n\t\n\x02\x03\x01\x12\x03#\0$\n\x08\n\x01\x08\x12\x03%\0;\n\t\ - \n\x02\x08%\x12\x03%\0;\n\x08\n\x01\x08\x12\x03&\0,\n\t\n\x02\x08\x01\ - \x12\x03&\0,\n\x08\n\x01\x08\x12\x03'\0)\n\t\n\x02\x08\x08\x12\x03'\0)\n\ - \x08\n\x01\x08\x12\x03(\0\"\n\t\n\x02\x08\n\x12\x03(\0\"\n\x08\n\x01\x08\ - \x12\x03)\0!\n\t\n\x02\x08$\x12\x03)\0!\nM\n\x02\x04\0\x12\x04,\0Y\x01\ - \x1aA\x20Api\x20is\x20a\x20light-weight\x20descriptor\x20for\x20a\x20pro\ - tocol\x20buffer\x20service.\n\n\n\n\x03\x04\0\x01\x12\x03,\x08\x0b\no\n\ - \x04\x04\0\x02\0\x12\x030\x02\x12\x1ab\x20The\x20fully\x20qualified\x20n\ - ame\x20of\x20this\x20api,\x20including\x20package\x20name\n\x20followed\ - \x20by\x20the\x20api's\x20simple\x20name.\n\n\x0c\n\x05\x04\0\x02\0\x05\ - \x12\x030\x02\x08\n\x0c\n\x05\x04\0\x02\0\x01\x12\x030\t\r\n\x0c\n\x05\ - \x04\0\x02\0\x03\x12\x030\x10\x11\n=\n\x04\x04\0\x02\x01\x12\x033\x02\ - \x1e\x1a0\x20The\x20methods\x20of\x20this\x20api,\x20in\x20unspecified\ - \x20order.\n\n\x0c\n\x05\x04\0\x02\x01\x04\x12\x033\x02\n\n\x0c\n\x05\ - \x04\0\x02\x01\x06\x12\x033\x0b\x11\n\x0c\n\x05\x04\0\x02\x01\x01\x12\ - \x033\x12\x19\n\x0c\n\x05\x04\0\x02\x01\x03\x12\x033\x1c\x1d\n0\n\x04\ - \x04\0\x02\x02\x12\x036\x02\x1e\x1a#\x20Any\x20metadata\x20attached\x20t\ - o\x20the\x20API.\n\n\x0c\n\x05\x04\0\x02\x02\x04\x12\x036\x02\n\n\x0c\n\ - \x05\x04\0\x02\x02\x06\x12\x036\x0b\x11\n\x0c\n\x05\x04\0\x02\x02\x01\ - \x12\x036\x12\x19\n\x0c\n\x05\x04\0\x02\x02\x03\x12\x036\x1c\x1d\n\xf2\ - \x07\n\x04\x04\0\x02\x03\x12\x03N\x02\x15\x1a\xe4\x07\x20A\x20version\ - \x20string\x20for\x20this\x20api.\x20If\x20specified,\x20must\x20have\ - \x20the\x20form\n\x20`major-version.minor-version`,\x20as\x20in\x20`1.10\ - `.\x20If\x20the\x20minor\x20version\n\x20is\x20omitted,\x20it\x20default\ - s\x20to\x20zero.\x20If\x20the\x20entire\x20version\x20field\x20is\n\x20e\ - mpty,\x20the\x20major\x20version\x20is\x20derived\x20from\x20the\x20pack\ - age\x20name,\x20as\n\x20outlined\x20below.\x20If\x20the\x20field\x20is\ - \x20not\x20empty,\x20the\x20version\x20in\x20the\n\x20package\x20name\ - \x20will\x20be\x20verified\x20to\x20be\x20consistent\x20with\x20what\x20\ - is\n\x20provided\x20here.\n\n\x20The\x20versioning\x20schema\x20uses\x20\ - [semantic\n\x20versioning](http://semver.org)\x20where\x20the\x20major\ - \x20version\x20number\n\x20indicates\x20a\x20breaking\x20change\x20and\ - \x20the\x20minor\x20version\x20an\x20additive,\n\x20non-breaking\x20chan\ - ge.\x20Both\x20version\x20numbers\x20are\x20signals\x20to\x20users\n\x20\ - what\x20to\x20expect\x20from\x20different\x20versions,\x20and\x20should\ - \x20be\x20carefully\n\x20chosen\x20based\x20on\x20the\x20product\x20plan\ - .\n\n\x20The\x20major\x20version\x20is\x20also\x20reflected\x20in\x20the\ - \x20package\x20name\x20of\x20the\n\x20API,\x20which\x20must\x20end\x20in\ - \x20`v<major-version>`,\x20as\x20in\n\x20`google.feature.v1`.\x20For\x20\ - major\x20versions\x200\x20and\x201,\x20the\x20suffix\x20can\n\x20be\x20o\ - mitted.\x20Zero\x20major\x20versions\x20must\x20only\x20be\x20used\x20fo\ - r\n\x20experimental,\x20none-GA\x20apis.\n\n\n\n\x0c\n\x05\x04\0\x02\x03\ - \x05\x12\x03N\x02\x08\n\x0c\n\x05\x04\0\x02\x03\x01\x12\x03N\t\x10\n\x0c\ - \n\x05\x04\0\x02\x03\x03\x12\x03N\x13\x14\n[\n\x04\x04\0\x02\x04\x12\x03\ - R\x02#\x1aN\x20Source\x20context\x20for\x20the\x20protocol\x20buffer\x20\ - service\x20represented\x20by\x20this\n\x20message.\n\n\x0c\n\x05\x04\0\ - \x02\x04\x06\x12\x03R\x02\x0f\n\x0c\n\x05\x04\0\x02\x04\x01\x12\x03R\x10\ - \x1e\n\x0c\n\x05\x04\0\x02\x04\x03\x12\x03R!\"\n,\n\x04\x04\0\x02\x05\ - \x12\x03U\x02\x1c\x1a\x1f\x20Included\x20APIs.\x20See\x20[Mixin][].\n\n\ - \x0c\n\x05\x04\0\x02\x05\x04\x12\x03U\x02\n\n\x0c\n\x05\x04\0\x02\x05\ - \x06\x12\x03U\x0b\x10\n\x0c\n\x05\x04\0\x02\x05\x01\x12\x03U\x11\x17\n\ - \x0c\n\x05\x04\0\x02\x05\x03\x12\x03U\x1a\x1b\n0\n\x04\x04\0\x02\x06\x12\ - \x03X\x02\x14\x1a#\x20The\x20source\x20syntax\x20of\x20the\x20service.\n\ - \n\x0c\n\x05\x04\0\x02\x06\x06\x12\x03X\x02\x08\n\x0c\n\x05\x04\0\x02\ - \x06\x01\x12\x03X\t\x0f\n\x0c\n\x05\x04\0\x02\x06\x03\x12\x03X\x12\x13\n\ - 3\n\x02\x04\x01\x12\x04\\\0r\x01\x1a'\x20Method\x20represents\x20a\x20me\ - thod\x20of\x20an\x20api.\n\n\n\n\x03\x04\x01\x01\x12\x03\\\x08\x0e\n.\n\ - \x04\x04\x01\x02\0\x12\x03_\x02\x12\x1a!\x20The\x20simple\x20name\x20of\ - \x20this\x20method.\n\n\x0c\n\x05\x04\x01\x02\0\x05\x12\x03_\x02\x08\n\ - \x0c\n\x05\x04\x01\x02\0\x01\x12\x03_\t\r\n\x0c\n\x05\x04\x01\x02\0\x03\ - \x12\x03_\x10\x11\n/\n\x04\x04\x01\x02\x01\x12\x03b\x02\x1e\x1a\"\x20A\ - \x20URL\x20of\x20the\x20input\x20message\x20type.\n\n\x0c\n\x05\x04\x01\ - \x02\x01\x05\x12\x03b\x02\x08\n\x0c\n\x05\x04\x01\x02\x01\x01\x12\x03b\t\ - \x19\n\x0c\n\x05\x04\x01\x02\x01\x03\x12\x03b\x1c\x1d\n0\n\x04\x04\x01\ - \x02\x02\x12\x03e\x02\x1d\x1a#\x20If\x20true,\x20the\x20request\x20is\ - \x20streamed.\n\n\x0c\n\x05\x04\x01\x02\x02\x05\x12\x03e\x02\x06\n\x0c\n\ - \x05\x04\x01\x02\x02\x01\x12\x03e\x07\x18\n\x0c\n\x05\x04\x01\x02\x02\ - \x03\x12\x03e\x1b\x1c\n2\n\x04\x04\x01\x02\x03\x12\x03h\x02\x1f\x1a%\x20\ - The\x20URL\x20of\x20the\x20output\x20message\x20type.\n\n\x0c\n\x05\x04\ - \x01\x02\x03\x05\x12\x03h\x02\x08\n\x0c\n\x05\x04\x01\x02\x03\x01\x12\ - \x03h\t\x1a\n\x0c\n\x05\x04\x01\x02\x03\x03\x12\x03h\x1d\x1e\n1\n\x04\ - \x04\x01\x02\x04\x12\x03k\x02\x1e\x1a$\x20If\x20true,\x20the\x20response\ - \x20is\x20streamed.\n\n\x0c\n\x05\x04\x01\x02\x04\x05\x12\x03k\x02\x06\n\ - \x0c\n\x05\x04\x01\x02\x04\x01\x12\x03k\x07\x19\n\x0c\n\x05\x04\x01\x02\ - \x04\x03\x12\x03k\x1c\x1d\n3\n\x04\x04\x01\x02\x05\x12\x03n\x02\x1e\x1a&\ - \x20Any\x20metadata\x20attached\x20to\x20the\x20method.\n\n\x0c\n\x05\ - \x04\x01\x02\x05\x04\x12\x03n\x02\n\n\x0c\n\x05\x04\x01\x02\x05\x06\x12\ - \x03n\x0b\x11\n\x0c\n\x05\x04\x01\x02\x05\x01\x12\x03n\x12\x19\n\x0c\n\ - \x05\x04\x01\x02\x05\x03\x12\x03n\x1c\x1d\n0\n\x04\x04\x01\x02\x06\x12\ - \x03q\x02\x14\x1a#\x20The\x20source\x20syntax\x20of\x20this\x20method.\n\ - \n\x0c\n\x05\x04\x01\x02\x06\x06\x12\x03q\x02\x08\n\x0c\n\x05\x04\x01\ - \x02\x06\x01\x12\x03q\t\x0f\n\x0c\n\x05\x04\x01\x02\x06\x03\x12\x03q\x12\ - \x13\n\xa4\x13\n\x02\x04\x02\x12\x06\xc1\x01\0\xc8\x01\x01\x1a\x95\x13\ - \x20Declares\x20an\x20API\x20to\x20be\x20included\x20in\x20this\x20API.\ - \x20The\x20including\x20API\x20must\n\x20redeclare\x20all\x20the\x20meth\ - ods\x20from\x20the\x20included\x20API,\x20but\x20documentation\n\x20and\ - \x20options\x20are\x20inherited\x20as\x20follows:\n\n\x20-\x20If\x20afte\ - r\x20comment\x20and\x20whitespace\x20stripping,\x20the\x20documentation\ - \n\x20\x20\x20string\x20of\x20the\x20redeclared\x20method\x20is\x20empty\ - ,\x20it\x20will\x20be\x20inherited\n\x20\x20\x20from\x20the\x20original\ - \x20method.\n\n\x20-\x20Each\x20annotation\x20belonging\x20to\x20the\x20\ - service\x20config\x20(http,\n\x20\x20\x20visibility)\x20which\x20is\x20n\ - ot\x20set\x20in\x20the\x20redeclared\x20method\x20will\x20be\n\x20\x20\ - \x20inherited.\n\n\x20-\x20If\x20an\x20http\x20annotation\x20is\x20inher\ - ited,\x20the\x20path\x20pattern\x20will\x20be\n\x20\x20\x20modified\x20a\ - s\x20follows.\x20Any\x20version\x20prefix\x20will\x20be\x20replaced\x20b\ - y\x20the\n\x20\x20\x20version\x20of\x20the\x20including\x20API\x20plus\ - \x20the\x20[root][]\x20path\x20if\x20specified.\n\n\x20Example\x20of\x20\ - a\x20simple\x20mixin:\n\n\x20\x20\x20\x20\x20package\x20google.acl.v1;\n\ - \x20\x20\x20\x20\x20service\x20AccessControl\x20{\n\x20\x20\x20\x20\x20\ + \x12\x12\n\x04root\x18\x02\x20\x01(\tR\x04rootBv\n\x13com.google.protobu\ + fB\x08ApiProtoP\x01Z,google.golang.org/protobuf/types/known/apipb\xa2\ + \x02\x03GPB\xaa\x02\x1eGoogle.Protobuf.WellKnownTypesJ\x81<\n\x07\x12\ + \x05\x1e\0\xcf\x01\x01\n\xcc\x0c\n\x01\x0c\x12\x03\x1e\0\x122\xc1\x0c\ + \x20Protocol\x20Buffers\x20-\x20Google's\x20data\x20interchange\x20forma\ + t\n\x20Copyright\x202008\x20Google\x20Inc.\x20\x20All\x20rights\x20reser\ + ved.\n\x20https://developers.google.com/protocol-buffers/\n\n\x20Redistr\ + ibution\x20and\x20use\x20in\x20source\x20and\x20binary\x20forms,\x20with\ + \x20or\x20without\n\x20modification,\x20are\x20permitted\x20provided\x20\ + that\x20the\x20following\x20conditions\x20are\n\x20met:\n\n\x20\x20\x20\ + \x20\x20*\x20Redistributions\x20of\x20source\x20code\x20must\x20retain\ + \x20the\x20above\x20copyright\n\x20notice,\x20this\x20list\x20of\x20cond\ + itions\x20and\x20the\x20following\x20disclaimer.\n\x20\x20\x20\x20\x20*\ + \x20Redistributions\x20in\x20binary\x20form\x20must\x20reproduce\x20the\ + \x20above\n\x20copyright\x20notice,\x20this\x20list\x20of\x20conditions\ + \x20and\x20the\x20following\x20disclaimer\n\x20in\x20the\x20documentatio\ + n\x20and/or\x20other\x20materials\x20provided\x20with\x20the\n\x20distri\ + bution.\n\x20\x20\x20\x20\x20*\x20Neither\x20the\x20name\x20of\x20Google\ + \x20Inc.\x20nor\x20the\x20names\x20of\x20its\n\x20contributors\x20may\ + \x20be\x20used\x20to\x20endorse\x20or\x20promote\x20products\x20derived\ + \x20from\n\x20this\x20software\x20without\x20specific\x20prior\x20writte\ + n\x20permission.\n\n\x20THIS\x20SOFTWARE\x20IS\x20PROVIDED\x20BY\x20THE\ + \x20COPYRIGHT\x20HOLDERS\x20AND\x20CONTRIBUTORS\n\x20\"AS\x20IS\"\x20AND\ + \x20ANY\x20EXPRESS\x20OR\x20IMPLIED\x20WARRANTIES,\x20INCLUDING,\x20BUT\ + \x20NOT\n\x20LIMITED\x20TO,\x20THE\x20IMPLIED\x20WARRANTIES\x20OF\x20MER\ + CHANTABILITY\x20AND\x20FITNESS\x20FOR\n\x20A\x20PARTICULAR\x20PURPOSE\ + \x20ARE\x20DISCLAIMED.\x20IN\x20NO\x20EVENT\x20SHALL\x20THE\x20COPYRIGHT\ + \n\x20OWNER\x20OR\x20CONTRIBUTORS\x20BE\x20LIABLE\x20FOR\x20ANY\x20DIREC\ + T,\x20INDIRECT,\x20INCIDENTAL,\n\x20SPECIAL,\x20EXEMPLARY,\x20OR\x20CONS\ + EQUENTIAL\x20DAMAGES\x20(INCLUDING,\x20BUT\x20NOT\n\x20LIMITED\x20TO,\ + \x20PROCUREMENT\x20OF\x20SUBSTITUTE\x20GOODS\x20OR\x20SERVICES;\x20LOSS\ + \x20OF\x20USE,\n\x20DATA,\x20OR\x20PROFITS;\x20OR\x20BUSINESS\x20INTERRU\ + PTION)\x20HOWEVER\x20CAUSED\x20AND\x20ON\x20ANY\n\x20THEORY\x20OF\x20LIA\ + BILITY,\x20WHETHER\x20IN\x20CONTRACT,\x20STRICT\x20LIABILITY,\x20OR\x20T\ + ORT\n\x20(INCLUDING\x20NEGLIGENCE\x20OR\x20OTHERWISE)\x20ARISING\x20IN\ + \x20ANY\x20WAY\x20OUT\x20OF\x20THE\x20USE\n\x20OF\x20THIS\x20SOFTWARE,\ + \x20EVEN\x20IF\x20ADVISED\x20OF\x20THE\x20POSSIBILITY\x20OF\x20SUCH\x20D\ + AMAGE.\n\n\x08\n\x01\x02\x12\x03\x20\0\x18\n\t\n\x02\x03\0\x12\x03\"\0.\ + \n\t\n\x02\x03\x01\x12\x03#\0$\n\x08\n\x01\x08\x12\x03%\0;\n\t\n\x02\x08\ + %\x12\x03%\0;\n\x08\n\x01\x08\x12\x03&\0,\n\t\n\x02\x08\x01\x12\x03&\0,\ + \n\x08\n\x01\x08\x12\x03'\0)\n\t\n\x02\x08\x08\x12\x03'\0)\n\x08\n\x01\ + \x08\x12\x03(\0\"\n\t\n\x02\x08\n\x12\x03(\0\"\n\x08\n\x01\x08\x12\x03)\ + \0!\n\t\n\x02\x08$\x12\x03)\0!\n\x08\n\x01\x08\x12\x03*\0C\n\t\n\x02\x08\ + \x0b\x12\x03*\0C\n\xab\x04\n\x02\x04\0\x12\x045\0`\x01\x1a\x9e\x04\x20Ap\ + i\x20is\x20a\x20light-weight\x20descriptor\x20for\x20an\x20API\x20Interf\ + ace.\n\n\x20Interfaces\x20are\x20also\x20described\x20as\x20\"protocol\ + \x20buffer\x20services\"\x20in\x20some\x20contexts,\n\x20such\x20as\x20b\ + y\x20the\x20\"service\"\x20keyword\x20in\x20a\x20.proto\x20file,\x20but\ + \x20they\x20are\x20different\n\x20from\x20API\x20Services,\x20which\x20r\ + epresent\x20a\x20concrete\x20implementation\x20of\x20an\x20interface\n\ + \x20as\x20opposed\x20to\x20simply\x20a\x20description\x20of\x20methods\ + \x20and\x20bindings.\x20They\x20are\x20also\n\x20sometimes\x20simply\x20\ + referred\x20to\x20as\x20\"APIs\"\x20in\x20other\x20contexts,\x20such\x20\ + as\x20the\x20name\x20of\n\x20this\x20message\x20itself.\x20See\x20https:\ + //cloud.google.com/apis/design/glossary\x20for\n\x20detailed\x20terminol\ + ogy.\n\n\n\n\x03\x04\0\x01\x12\x035\x08\x0b\n{\n\x04\x04\0\x02\0\x12\x03\ + 8\x02\x12\x1an\x20The\x20fully\x20qualified\x20name\x20of\x20this\x20int\ + erface,\x20including\x20package\x20name\n\x20followed\x20by\x20the\x20in\ + terface's\x20simple\x20name.\n\n\x0c\n\x05\x04\0\x02\0\x05\x12\x038\x02\ + \x08\n\x0c\n\x05\x04\0\x02\0\x01\x12\x038\t\r\n\x0c\n\x05\x04\0\x02\0\ + \x03\x12\x038\x10\x11\nC\n\x04\x04\0\x02\x01\x12\x03;\x02\x1e\x1a6\x20Th\ + e\x20methods\x20of\x20this\x20interface,\x20in\x20unspecified\x20order.\ + \n\n\x0c\n\x05\x04\0\x02\x01\x04\x12\x03;\x02\n\n\x0c\n\x05\x04\0\x02\ + \x01\x06\x12\x03;\x0b\x11\n\x0c\n\x05\x04\0\x02\x01\x01\x12\x03;\x12\x19\ + \n\x0c\n\x05\x04\0\x02\x01\x03\x12\x03;\x1c\x1d\n6\n\x04\x04\0\x02\x02\ + \x12\x03>\x02\x1e\x1a)\x20Any\x20metadata\x20attached\x20to\x20the\x20in\ + terface.\n\n\x0c\n\x05\x04\0\x02\x02\x04\x12\x03>\x02\n\n\x0c\n\x05\x04\ + \0\x02\x02\x06\x12\x03>\x0b\x11\n\x0c\n\x05\x04\0\x02\x02\x01\x12\x03>\ + \x12\x19\n\x0c\n\x05\x04\0\x02\x02\x03\x12\x03>\x1c\x1d\n\x82\x08\n\x04\ + \x04\0\x02\x03\x12\x03U\x02\x15\x1a\xf4\x07\x20A\x20version\x20string\ + \x20for\x20this\x20interface.\x20If\x20specified,\x20must\x20have\x20the\ + \x20form\n\x20`major-version.minor-version`,\x20as\x20in\x20`1.10`.\x20I\ + f\x20the\x20minor\x20version\x20is\n\x20omitted,\x20it\x20defaults\x20to\ + \x20zero.\x20If\x20the\x20entire\x20version\x20field\x20is\x20empty,\x20\ + the\n\x20major\x20version\x20is\x20derived\x20from\x20the\x20package\x20\ + name,\x20as\x20outlined\x20below.\x20If\x20the\n\x20field\x20is\x20not\ + \x20empty,\x20the\x20version\x20in\x20the\x20package\x20name\x20will\x20\ + be\x20verified\x20to\x20be\n\x20consistent\x20with\x20what\x20is\x20prov\ + ided\x20here.\n\n\x20The\x20versioning\x20schema\x20uses\x20[semantic\n\ + \x20versioning](http://semver.org)\x20where\x20the\x20major\x20version\ + \x20number\n\x20indicates\x20a\x20breaking\x20change\x20and\x20the\x20mi\ + nor\x20version\x20an\x20additive,\n\x20non-breaking\x20change.\x20Both\ + \x20version\x20numbers\x20are\x20signals\x20to\x20users\n\x20what\x20to\ + \x20expect\x20from\x20different\x20versions,\x20and\x20should\x20be\x20c\ + arefully\n\x20chosen\x20based\x20on\x20the\x20product\x20plan.\n\n\x20Th\ + e\x20major\x20version\x20is\x20also\x20reflected\x20in\x20the\x20package\ + \x20name\x20of\x20the\n\x20interface,\x20which\x20must\x20end\x20in\x20`\ + v<major-version>`,\x20as\x20in\n\x20`google.feature.v1`.\x20For\x20major\ + \x20versions\x200\x20and\x201,\x20the\x20suffix\x20can\n\x20be\x20omitte\ + d.\x20Zero\x20major\x20versions\x20must\x20only\x20be\x20used\x20for\n\ + \x20experimental,\x20non-GA\x20interfaces.\n\n\n\n\x0c\n\x05\x04\0\x02\ + \x03\x05\x12\x03U\x02\x08\n\x0c\n\x05\x04\0\x02\x03\x01\x12\x03U\t\x10\n\ + \x0c\n\x05\x04\0\x02\x03\x03\x12\x03U\x13\x14\n[\n\x04\x04\0\x02\x04\x12\ + \x03Y\x02#\x1aN\x20Source\x20context\x20for\x20the\x20protocol\x20buffer\ + \x20service\x20represented\x20by\x20this\n\x20message.\n\n\x0c\n\x05\x04\ + \0\x02\x04\x06\x12\x03Y\x02\x0f\n\x0c\n\x05\x04\0\x02\x04\x01\x12\x03Y\ + \x10\x1e\n\x0c\n\x05\x04\0\x02\x04\x03\x12\x03Y!\"\n2\n\x04\x04\0\x02\ + \x05\x12\x03\\\x02\x1c\x1a%\x20Included\x20interfaces.\x20See\x20[Mixin]\ + [].\n\n\x0c\n\x05\x04\0\x02\x05\x04\x12\x03\\\x02\n\n\x0c\n\x05\x04\0\ + \x02\x05\x06\x12\x03\\\x0b\x10\n\x0c\n\x05\x04\0\x02\x05\x01\x12\x03\\\ + \x11\x17\n\x0c\n\x05\x04\0\x02\x05\x03\x12\x03\\\x1a\x1b\n0\n\x04\x04\0\ + \x02\x06\x12\x03_\x02\x14\x1a#\x20The\x20source\x20syntax\x20of\x20the\ + \x20service.\n\n\x0c\n\x05\x04\0\x02\x06\x06\x12\x03_\x02\x08\n\x0c\n\ + \x05\x04\0\x02\x06\x01\x12\x03_\t\x0f\n\x0c\n\x05\x04\0\x02\x06\x03\x12\ + \x03_\x12\x13\n=\n\x02\x04\x01\x12\x04c\0x\x01\x1a1\x20Method\x20represe\ + nts\x20a\x20method\x20of\x20an\x20API\x20interface.\n\n\n\n\x03\x04\x01\ + \x01\x12\x03c\x08\x0e\n.\n\x04\x04\x01\x02\0\x12\x03e\x02\x12\x1a!\x20Th\ + e\x20simple\x20name\x20of\x20this\x20method.\n\n\x0c\n\x05\x04\x01\x02\0\ + \x05\x12\x03e\x02\x08\n\x0c\n\x05\x04\x01\x02\0\x01\x12\x03e\t\r\n\x0c\n\ + \x05\x04\x01\x02\0\x03\x12\x03e\x10\x11\n/\n\x04\x04\x01\x02\x01\x12\x03\ + h\x02\x1e\x1a\"\x20A\x20URL\x20of\x20the\x20input\x20message\x20type.\n\ + \n\x0c\n\x05\x04\x01\x02\x01\x05\x12\x03h\x02\x08\n\x0c\n\x05\x04\x01\ + \x02\x01\x01\x12\x03h\t\x19\n\x0c\n\x05\x04\x01\x02\x01\x03\x12\x03h\x1c\ + \x1d\n0\n\x04\x04\x01\x02\x02\x12\x03k\x02\x1d\x1a#\x20If\x20true,\x20th\ + e\x20request\x20is\x20streamed.\n\n\x0c\n\x05\x04\x01\x02\x02\x05\x12\ + \x03k\x02\x06\n\x0c\n\x05\x04\x01\x02\x02\x01\x12\x03k\x07\x18\n\x0c\n\ + \x05\x04\x01\x02\x02\x03\x12\x03k\x1b\x1c\n2\n\x04\x04\x01\x02\x03\x12\ + \x03n\x02\x1f\x1a%\x20The\x20URL\x20of\x20the\x20output\x20message\x20ty\ + pe.\n\n\x0c\n\x05\x04\x01\x02\x03\x05\x12\x03n\x02\x08\n\x0c\n\x05\x04\ + \x01\x02\x03\x01\x12\x03n\t\x1a\n\x0c\n\x05\x04\x01\x02\x03\x03\x12\x03n\ + \x1d\x1e\n1\n\x04\x04\x01\x02\x04\x12\x03q\x02\x1e\x1a$\x20If\x20true,\ + \x20the\x20response\x20is\x20streamed.\n\n\x0c\n\x05\x04\x01\x02\x04\x05\ + \x12\x03q\x02\x06\n\x0c\n\x05\x04\x01\x02\x04\x01\x12\x03q\x07\x19\n\x0c\ + \n\x05\x04\x01\x02\x04\x03\x12\x03q\x1c\x1d\n3\n\x04\x04\x01\x02\x05\x12\ + \x03t\x02\x1e\x1a&\x20Any\x20metadata\x20attached\x20to\x20the\x20method\ + .\n\n\x0c\n\x05\x04\x01\x02\x05\x04\x12\x03t\x02\n\n\x0c\n\x05\x04\x01\ + \x02\x05\x06\x12\x03t\x0b\x11\n\x0c\n\x05\x04\x01\x02\x05\x01\x12\x03t\ + \x12\x19\n\x0c\n\x05\x04\x01\x02\x05\x03\x12\x03t\x1c\x1d\n0\n\x04\x04\ + \x01\x02\x06\x12\x03w\x02\x14\x1a#\x20The\x20source\x20syntax\x20of\x20t\ + his\x20method.\n\n\x0c\n\x05\x04\x01\x02\x06\x06\x12\x03w\x02\x08\n\x0c\ + \n\x05\x04\x01\x02\x06\x01\x12\x03w\t\x0f\n\x0c\n\x05\x04\x01\x02\x06\ + \x03\x12\x03w\x12\x13\n\xca\x13\n\x02\x04\x02\x12\x06\xc8\x01\0\xcf\x01\ + \x01\x1a\xbb\x13\x20Declares\x20an\x20API\x20Interface\x20to\x20be\x20in\ + cluded\x20in\x20this\x20interface.\x20The\x20including\n\x20interface\ + \x20must\x20redeclare\x20all\x20the\x20methods\x20from\x20the\x20include\ + d\x20interface,\x20but\n\x20documentation\x20and\x20options\x20are\x20in\ + herited\x20as\x20follows:\n\n\x20-\x20If\x20after\x20comment\x20and\x20w\ + hitespace\x20stripping,\x20the\x20documentation\n\x20\x20\x20string\x20o\ + f\x20the\x20redeclared\x20method\x20is\x20empty,\x20it\x20will\x20be\x20\ + inherited\n\x20\x20\x20from\x20the\x20original\x20method.\n\n\x20-\x20Ea\ + ch\x20annotation\x20belonging\x20to\x20the\x20service\x20config\x20(http\ + ,\n\x20\x20\x20visibility)\x20which\x20is\x20not\x20set\x20in\x20the\x20\ + redeclared\x20method\x20will\x20be\n\x20\x20\x20inherited.\n\n\x20-\x20I\ + f\x20an\x20http\x20annotation\x20is\x20inherited,\x20the\x20path\x20patt\ + ern\x20will\x20be\n\x20\x20\x20modified\x20as\x20follows.\x20Any\x20vers\ + ion\x20prefix\x20will\x20be\x20replaced\x20by\x20the\n\x20\x20\x20versio\ + n\x20of\x20the\x20including\x20interface\x20plus\x20the\x20[root][]\x20p\ + ath\x20if\n\x20\x20\x20specified.\n\n\x20Example\x20of\x20a\x20simple\ + \x20mixin:\n\n\x20\x20\x20\x20\x20package\x20google.acl.v1;\n\x20\x20\ + \x20\x20\x20service\x20AccessControl\x20{\n\x20\x20\x20\x20\x20\x20\x20/\ + /\x20Get\x20the\x20underlying\x20ACL\x20object.\n\x20\x20\x20\x20\x20\ + \x20\x20rpc\x20GetAcl(GetAclRequest)\x20returns\x20(Acl)\x20{\n\x20\x20\ + \x20\x20\x20\x20\x20\x20\x20option\x20(google.api.http).get\x20=\x20\"/v\ + 1/{resource=**}:getAcl\";\n\x20\x20\x20\x20\x20\x20\x20}\n\x20\x20\x20\ + \x20\x20}\n\n\x20\x20\x20\x20\x20package\x20google.storage.v2;\n\x20\x20\ + \x20\x20\x20service\x20Storage\x20{\n\x20\x20\x20\x20\x20\x20\x20rpc\x20\ + GetAcl(GetAclRequest)\x20returns\x20(Acl);\n\n\x20\x20\x20\x20\x20\x20\ + \x20//\x20Get\x20a\x20data\x20record.\n\x20\x20\x20\x20\x20\x20\x20rpc\ + \x20GetData(GetDataRequest)\x20returns\x20(Data)\x20{\n\x20\x20\x20\x20\ + \x20\x20\x20\x20\x20option\x20(google.api.http).get\x20=\x20\"/v2/{resou\ + rce=**}\";\n\x20\x20\x20\x20\x20\x20\x20}\n\x20\x20\x20\x20\x20}\n\n\x20\ + Example\x20of\x20a\x20mixin\x20configuration:\n\n\x20\x20\x20\x20\x20api\ + s:\n\x20\x20\x20\x20\x20-\x20name:\x20google.storage.v2.Storage\n\x20\ + \x20\x20\x20\x20\x20\x20mixins:\n\x20\x20\x20\x20\x20\x20\x20-\x20name:\ + \x20google.acl.v1.AccessControl\n\n\x20The\x20mixin\x20construct\x20impl\ + ies\x20that\x20all\x20methods\x20in\x20`AccessControl`\x20are\n\x20also\ + \x20declared\x20with\x20same\x20name\x20and\x20request/response\x20types\ + \x20in\n\x20`Storage`.\x20A\x20documentation\x20generator\x20or\x20annot\ + ation\x20processor\x20will\n\x20see\x20the\x20effective\x20`Storage.GetA\ + cl`\x20method\x20after\x20inheriting\n\x20documentation\x20and\x20annota\ + tions\x20as\x20follows:\n\n\x20\x20\x20\x20\x20service\x20Storage\x20{\n\ + \x20\x20\x20\x20\x20\x20\x20//\x20Get\x20the\x20underlying\x20ACL\x20obj\ + ect.\n\x20\x20\x20\x20\x20\x20\x20rpc\x20GetAcl(GetAclRequest)\x20return\ + s\x20(Acl)\x20{\n\x20\x20\x20\x20\x20\x20\x20\x20\x20option\x20(google.a\ + pi.http).get\x20=\x20\"/v2/{resource=**}:getAcl\";\n\x20\x20\x20\x20\x20\ + \x20\x20}\n\x20\x20\x20\x20\x20\x20\x20...\n\x20\x20\x20\x20\x20}\n\n\ + \x20Note\x20how\x20the\x20version\x20in\x20the\x20path\x20pattern\x20cha\ + nged\x20from\x20`v1`\x20to\x20`v2`.\n\n\x20If\x20the\x20`root`\x20field\ + \x20in\x20the\x20mixin\x20is\x20specified,\x20it\x20should\x20be\x20a\n\ + \x20relative\x20path\x20under\x20which\x20inherited\x20HTTP\x20paths\x20\ + are\x20placed.\x20Example:\n\n\x20\x20\x20\x20\x20apis:\n\x20\x20\x20\ + \x20\x20-\x20name:\x20google.storage.v2.Storage\n\x20\x20\x20\x20\x20\ + \x20\x20mixins:\n\x20\x20\x20\x20\x20\x20\x20-\x20name:\x20google.acl.v1\ + .AccessControl\n\x20\x20\x20\x20\x20\x20\x20\x20\x20root:\x20acls\n\n\ + \x20This\x20implies\x20the\x20following\x20inherited\x20HTTP\x20annotati\ + on:\n\n\x20\x20\x20\x20\x20service\x20Storage\x20{\n\x20\x20\x20\x20\x20\ \x20\x20//\x20Get\x20the\x20underlying\x20ACL\x20object.\n\x20\x20\x20\ \x20\x20\x20\x20rpc\x20GetAcl(GetAclRequest)\x20returns\x20(Acl)\x20{\n\ \x20\x20\x20\x20\x20\x20\x20\x20\x20option\x20(google.api.http).get\x20=\ - \x20\"/v1/{resource=**}:getAcl\";\n\x20\x20\x20\x20\x20\x20\x20}\n\x20\ - \x20\x20\x20\x20}\n\n\x20\x20\x20\x20\x20package\x20google.storage.v2;\n\ - \x20\x20\x20\x20\x20service\x20Storage\x20{\n\x20\x20\x20\x20\x20\x20\ - \x20rpc\x20GetAcl(GetAclRequest)\x20returns\x20(Acl);\n\n\x20\x20\x20\ - \x20\x20\x20\x20//\x20Get\x20a\x20data\x20record.\n\x20\x20\x20\x20\x20\ - \x20\x20rpc\x20GetData(GetDataRequest)\x20returns\x20(Data)\x20{\n\x20\ - \x20\x20\x20\x20\x20\x20\x20\x20option\x20(google.api.http).get\x20=\x20\ - \"/v2/{resource=**}\";\n\x20\x20\x20\x20\x20\x20\x20}\n\x20\x20\x20\x20\ - \x20}\n\n\x20Example\x20of\x20a\x20mixin\x20configuration:\n\n\x20\x20\ - \x20\x20\x20apis:\n\x20\x20\x20\x20\x20-\x20name:\x20google.storage.v2.S\ - torage\n\x20\x20\x20\x20\x20\x20\x20mixins:\n\x20\x20\x20\x20\x20\x20\ - \x20-\x20name:\x20google.acl.v1.AccessControl\n\n\x20The\x20mixin\x20con\ - struct\x20implies\x20that\x20all\x20methods\x20in\x20`AccessControl`\x20\ - are\n\x20also\x20declared\x20with\x20same\x20name\x20and\x20request/resp\ - onse\x20types\x20in\n\x20`Storage`.\x20A\x20documentation\x20generator\ - \x20or\x20annotation\x20processor\x20will\n\x20see\x20the\x20effective\ - \x20`Storage.GetAcl`\x20method\x20after\x20inherting\n\x20documentation\ - \x20and\x20annotations\x20as\x20follows:\n\n\x20\x20\x20\x20\x20service\ - \x20Storage\x20{\n\x20\x20\x20\x20\x20\x20\x20//\x20Get\x20the\x20underl\ - ying\x20ACL\x20object.\n\x20\x20\x20\x20\x20\x20\x20rpc\x20GetAcl(GetAcl\ - Request)\x20returns\x20(Acl)\x20{\n\x20\x20\x20\x20\x20\x20\x20\x20\x20o\ - ption\x20(google.api.http).get\x20=\x20\"/v2/{resource=**}:getAcl\";\n\ - \x20\x20\x20\x20\x20\x20\x20}\n\x20\x20\x20\x20\x20\x20\x20...\n\x20\x20\ - \x20\x20\x20}\n\n\x20Note\x20how\x20the\x20version\x20in\x20the\x20path\ - \x20pattern\x20changed\x20from\x20`v1`\x20to\x20`v2`.\n\n\x20If\x20the\ - \x20`root`\x20field\x20in\x20the\x20mixin\x20is\x20specified,\x20it\x20s\ - hould\x20be\x20a\n\x20relative\x20path\x20under\x20which\x20inherited\ - \x20HTTP\x20paths\x20are\x20placed.\x20Example:\n\n\x20\x20\x20\x20\x20a\ - pis:\n\x20\x20\x20\x20\x20-\x20name:\x20google.storage.v2.Storage\n\x20\ - \x20\x20\x20\x20\x20\x20mixins:\n\x20\x20\x20\x20\x20\x20\x20-\x20name:\ - \x20google.acl.v1.AccessControl\n\x20\x20\x20\x20\x20\x20\x20\x20\x20roo\ - t:\x20acls\n\n\x20This\x20implies\x20the\x20following\x20inherited\x20HT\ - TP\x20annotation:\n\n\x20\x20\x20\x20\x20service\x20Storage\x20{\n\x20\ - \x20\x20\x20\x20\x20\x20//\x20Get\x20the\x20underlying\x20ACL\x20object.\ - \n\x20\x20\x20\x20\x20\x20\x20rpc\x20GetAcl(GetAclRequest)\x20returns\ - \x20(Acl)\x20{\n\x20\x20\x20\x20\x20\x20\x20\x20\x20option\x20(google.ap\ - i.http).get\x20=\x20\"/v2/acls/{resource=**}:getAcl\";\n\x20\x20\x20\x20\ - \x20\x20\x20}\n\x20\x20\x20\x20\x20\x20\x20...\n\x20\x20\x20\x20\x20}\n\ - \n\x0b\n\x03\x04\x02\x01\x12\x04\xc1\x01\x08\r\nF\n\x04\x04\x02\x02\0\ - \x12\x04\xc3\x01\x02\x12\x1a8\x20The\x20fully\x20qualified\x20name\x20of\ - \x20the\x20API\x20which\x20is\x20included.\n\n\r\n\x05\x04\x02\x02\0\x05\ - \x12\x04\xc3\x01\x02\x08\n\r\n\x05\x04\x02\x02\0\x01\x12\x04\xc3\x01\t\r\ - \n\r\n\x05\x04\x02\x02\0\x03\x12\x04\xc3\x01\x10\x11\n[\n\x04\x04\x02\ - \x02\x01\x12\x04\xc7\x01\x02\x12\x1aM\x20If\x20non-empty\x20specifies\ - \x20a\x20path\x20under\x20which\x20inherited\x20HTTP\x20paths\n\x20are\ - \x20rooted.\n\n\r\n\x05\x04\x02\x02\x01\x05\x12\x04\xc7\x01\x02\x08\n\r\ - \n\x05\x04\x02\x02\x01\x01\x12\x04\xc7\x01\t\r\n\r\n\x05\x04\x02\x02\x01\ - \x03\x12\x04\xc7\x01\x10\x11b\x06proto3\ + \x20\"/v2/acls/{resource=**}:getAcl\";\n\x20\x20\x20\x20\x20\x20\x20}\n\ + \x20\x20\x20\x20\x20\x20\x20...\n\x20\x20\x20\x20\x20}\n\n\x0b\n\x03\x04\ + \x02\x01\x12\x04\xc8\x01\x08\r\nL\n\x04\x04\x02\x02\0\x12\x04\xca\x01\ + \x02\x12\x1a>\x20The\x20fully\x20qualified\x20name\x20of\x20the\x20inter\ + face\x20which\x20is\x20included.\n\n\r\n\x05\x04\x02\x02\0\x05\x12\x04\ + \xca\x01\x02\x08\n\r\n\x05\x04\x02\x02\0\x01\x12\x04\xca\x01\t\r\n\r\n\ + \x05\x04\x02\x02\0\x03\x12\x04\xca\x01\x10\x11\n[\n\x04\x04\x02\x02\x01\ + \x12\x04\xce\x01\x02\x12\x1aM\x20If\x20non-empty\x20specifies\x20a\x20pa\ + th\x20under\x20which\x20inherited\x20HTTP\x20paths\n\x20are\x20rooted.\n\ + \n\r\n\x05\x04\x02\x02\x01\x05\x12\x04\xce\x01\x02\x08\n\r\n\x05\x04\x02\ + \x02\x01\x01\x12\x04\xce\x01\t\r\n\r\n\x05\x04\x02\x02\x01\x03\x12\x04\ + \xce\x01\x10\x11b\x06proto3\ "; static file_descriptor_proto_lazy: crate::rt::LazyV2<crate::descriptor::FileDescriptorProto> = crate::rt::LazyV2::INIT; diff --git a/src/well_known_types/duration.rs b/src/well_known_types/duration.rs index 4c126db..d810b14 100644 --- a/src/well_known_types/duration.rs +++ b/src/well_known_types/duration.rs @@ -1,4 +1,4 @@ -// This file is generated by rust-protobuf 2.19.0-pre. Do not edit +// This file is generated by rust-protobuf 2.22.0-pre. Do not edit // @generated // https://github.com/rust-lang/rust-clippy/issues/702 @@ -20,7 +20,7 @@ //! Generated file from `google/protobuf/duration.proto` #[derive(PartialEq,Clone,Default)] -#[cfg_attr(feature = "with-serde", derive(Serialize, Deserialize))] +#[cfg_attr(feature = "with-serde", derive(::serde::Serialize, ::serde::Deserialize))] pub struct Duration { // message fields pub seconds: i64, @@ -212,102 +212,117 @@ impl crate::reflect::ProtobufValue for Duration { static file_descriptor_proto_data: &'static [u8] = b"\ \n\x1egoogle/protobuf/duration.proto\x12\x0fgoogle.protobuf\":\n\x08Dura\ tion\x12\x18\n\x07seconds\x18\x01\x20\x01(\x03R\x07seconds\x12\x14\n\x05\ - nanos\x18\x02\x20\x01(\x05R\x05nanosB|\n\x13com.google.protobufB\rDurati\ - onProtoP\x01Z*github.com/golang/protobuf/ptypes/duration\xf8\x01\x01\xa2\ - \x02\x03GPB\xaa\x02\x1eGoogle.Protobuf.WellKnownTypesJ\xe1\x1e\n\x06\x12\ - \x04\x1e\0g\x01\n\xcc\x0c\n\x01\x0c\x12\x03\x1e\0\x122\xc1\x0c\x20Protoc\ - ol\x20Buffers\x20-\x20Google's\x20data\x20interchange\x20format\n\x20Cop\ - yright\x202008\x20Google\x20Inc.\x20\x20All\x20rights\x20reserved.\n\x20\ - https://developers.google.com/protocol-buffers/\n\n\x20Redistribution\ - \x20and\x20use\x20in\x20source\x20and\x20binary\x20forms,\x20with\x20or\ - \x20without\n\x20modification,\x20are\x20permitted\x20provided\x20that\ - \x20the\x20following\x20conditions\x20are\n\x20met:\n\n\x20\x20\x20\x20\ - \x20*\x20Redistributions\x20of\x20source\x20code\x20must\x20retain\x20th\ - e\x20above\x20copyright\n\x20notice,\x20this\x20list\x20of\x20conditions\ - \x20and\x20the\x20following\x20disclaimer.\n\x20\x20\x20\x20\x20*\x20Red\ - istributions\x20in\x20binary\x20form\x20must\x20reproduce\x20the\x20abov\ - e\n\x20copyright\x20notice,\x20this\x20list\x20of\x20conditions\x20and\ - \x20the\x20following\x20disclaimer\n\x20in\x20the\x20documentation\x20an\ - d/or\x20other\x20materials\x20provided\x20with\x20the\n\x20distribution.\ - \n\x20\x20\x20\x20\x20*\x20Neither\x20the\x20name\x20of\x20Google\x20Inc\ - .\x20nor\x20the\x20names\x20of\x20its\n\x20contributors\x20may\x20be\x20\ - used\x20to\x20endorse\x20or\x20promote\x20products\x20derived\x20from\n\ - \x20this\x20software\x20without\x20specific\x20prior\x20written\x20permi\ - ssion.\n\n\x20THIS\x20SOFTWARE\x20IS\x20PROVIDED\x20BY\x20THE\x20COPYRIG\ - HT\x20HOLDERS\x20AND\x20CONTRIBUTORS\n\x20\"AS\x20IS\"\x20AND\x20ANY\x20\ - EXPRESS\x20OR\x20IMPLIED\x20WARRANTIES,\x20INCLUDING,\x20BUT\x20NOT\n\ - \x20LIMITED\x20TO,\x20THE\x20IMPLIED\x20WARRANTIES\x20OF\x20MERCHANTABIL\ - ITY\x20AND\x20FITNESS\x20FOR\n\x20A\x20PARTICULAR\x20PURPOSE\x20ARE\x20D\ - ISCLAIMED.\x20IN\x20NO\x20EVENT\x20SHALL\x20THE\x20COPYRIGHT\n\x20OWNER\ - \x20OR\x20CONTRIBUTORS\x20BE\x20LIABLE\x20FOR\x20ANY\x20DIRECT,\x20INDIR\ - ECT,\x20INCIDENTAL,\n\x20SPECIAL,\x20EXEMPLARY,\x20OR\x20CONSEQUENTIAL\ - \x20DAMAGES\x20(INCLUDING,\x20BUT\x20NOT\n\x20LIMITED\x20TO,\x20PROCUREM\ - ENT\x20OF\x20SUBSTITUTE\x20GOODS\x20OR\x20SERVICES;\x20LOSS\x20OF\x20USE\ - ,\n\x20DATA,\x20OR\x20PROFITS;\x20OR\x20BUSINESS\x20INTERRUPTION)\x20HOW\ - EVER\x20CAUSED\x20AND\x20ON\x20ANY\n\x20THEORY\x20OF\x20LIABILITY,\x20WH\ - ETHER\x20IN\x20CONTRACT,\x20STRICT\x20LIABILITY,\x20OR\x20TORT\n\x20(INC\ - LUDING\x20NEGLIGENCE\x20OR\x20OTHERWISE)\x20ARISING\x20IN\x20ANY\x20WAY\ - \x20OUT\x20OF\x20THE\x20USE\n\x20OF\x20THIS\x20SOFTWARE,\x20EVEN\x20IF\ - \x20ADVISED\x20OF\x20THE\x20POSSIBILITY\x20OF\x20SUCH\x20DAMAGE.\n\n\x08\ - \n\x01\x02\x12\x03\x20\0\x18\n\x08\n\x01\x08\x12\x03\"\0;\n\t\n\x02\x08%\ - \x12\x03\"\0;\n\x08\n\x01\x08\x12\x03#\0\x1f\n\t\n\x02\x08\x1f\x12\x03#\ - \0\x1f\n\x08\n\x01\x08\x12\x03$\0A\n\t\n\x02\x08\x0b\x12\x03$\0A\n\x08\n\ - \x01\x08\x12\x03%\0,\n\t\n\x02\x08\x01\x12\x03%\0,\n\x08\n\x01\x08\x12\ - \x03&\0.\n\t\n\x02\x08\x08\x12\x03&\0.\n\x08\n\x01\x08\x12\x03'\0\"\n\t\ - \n\x02\x08\n\x12\x03'\0\"\n\x08\n\x01\x08\x12\x03(\0!\n\t\n\x02\x08$\x12\ - \x03(\0!\n\x92\x0c\n\x02\x04\0\x12\x04Z\0g\x01\x1a\x85\x0c\x20A\x20Durat\ - ion\x20represents\x20a\x20signed,\x20fixed-length\x20span\x20of\x20time\ - \x20represented\n\x20as\x20a\x20count\x20of\x20seconds\x20and\x20fractio\ - ns\x20of\x20seconds\x20at\x20nanosecond\n\x20resolution.\x20It\x20is\x20\ - independent\x20of\x20any\x20calendar\x20and\x20concepts\x20like\x20\"day\ - \"\n\x20or\x20\"month\".\x20It\x20is\x20related\x20to\x20Timestamp\x20in\ - \x20that\x20the\x20difference\x20between\n\x20two\x20Timestamp\x20values\ - \x20is\x20a\x20Duration\x20and\x20it\x20can\x20be\x20added\x20or\x20subt\ - racted\n\x20from\x20a\x20Timestamp.\x20Range\x20is\x20approximately\x20+\ - -10,000\x20years.\n\n\x20Example\x201:\x20Compute\x20Duration\x20from\ - \x20two\x20Timestamps\x20in\x20pseudo\x20code.\n\n\x20\x20\x20\x20\x20Ti\ - mestamp\x20start\x20=\x20...;\n\x20\x20\x20\x20\x20Timestamp\x20end\x20=\ - \x20...;\n\x20\x20\x20\x20\x20Duration\x20duration\x20=\x20...;\n\n\x20\ - \x20\x20\x20\x20duration.seconds\x20=\x20end.seconds\x20-\x20start.secon\ - ds;\n\x20\x20\x20\x20\x20duration.nanos\x20=\x20end.nanos\x20-\x20start.\ - nanos;\n\n\x20\x20\x20\x20\x20if\x20(duration.seconds\x20<\x200\x20&&\ - \x20duration.nanos\x20>\x200)\x20{\n\x20\x20\x20\x20\x20\x20\x20duration\ - .seconds\x20+=\x201;\n\x20\x20\x20\x20\x20\x20\x20duration.nanos\x20-=\ - \x201000000000;\n\x20\x20\x20\x20\x20}\x20else\x20if\x20(durations.secon\ - ds\x20>\x200\x20&&\x20duration.nanos\x20<\x200)\x20{\n\x20\x20\x20\x20\ - \x20\x20\x20duration.seconds\x20-=\x201;\n\x20\x20\x20\x20\x20\x20\x20du\ - ration.nanos\x20+=\x201000000000;\n\x20\x20\x20\x20\x20}\n\n\x20Example\ - \x202:\x20Compute\x20Timestamp\x20from\x20Timestamp\x20+\x20Duration\x20\ - in\x20pseudo\x20code.\n\n\x20\x20\x20\x20\x20Timestamp\x20start\x20=\x20\ - ...;\n\x20\x20\x20\x20\x20Duration\x20duration\x20=\x20...;\n\x20\x20\ - \x20\x20\x20Timestamp\x20end\x20=\x20...;\n\n\x20\x20\x20\x20\x20end.sec\ - onds\x20=\x20start.seconds\x20+\x20duration.seconds;\n\x20\x20\x20\x20\ - \x20end.nanos\x20=\x20start.nanos\x20+\x20duration.nanos;\n\n\x20\x20\ - \x20\x20\x20if\x20(end.nanos\x20<\x200)\x20{\n\x20\x20\x20\x20\x20\x20\ - \x20end.seconds\x20-=\x201;\n\x20\x20\x20\x20\x20\x20\x20end.nanos\x20+=\ - \x201000000000;\n\x20\x20\x20\x20\x20}\x20else\x20if\x20(end.nanos\x20>=\ - \x201000000000)\x20{\n\x20\x20\x20\x20\x20\x20\x20end.seconds\x20+=\x201\ - ;\n\x20\x20\x20\x20\x20\x20\x20end.nanos\x20-=\x201000000000;\n\x20\x20\ - \x20\x20\x20}\n\n\x20Example\x203:\x20Compute\x20Duration\x20from\x20dat\ - etime.timedelta\x20in\x20Python.\n\n\x20\x20\x20\x20\x20td\x20=\x20datet\ - ime.timedelta(days=3,\x20minutes=10)\n\x20\x20\x20\x20\x20duration\x20=\ - \x20Duration()\n\x20\x20\x20\x20\x20duration.FromTimedelta(td)\n\n\n\n\n\ - \n\x03\x04\0\x01\x12\x03Z\x08\x10\np\n\x04\x04\0\x02\0\x12\x03^\x02\x14\ - \x1ac\x20Signed\x20seconds\x20of\x20the\x20span\x20of\x20time.\x20Must\ - \x20be\x20from\x20-315,576,000,000\n\x20to\x20+315,576,000,000\x20inclus\ - ive.\n\n\x0c\n\x05\x04\0\x02\0\x05\x12\x03^\x02\x07\n\x0c\n\x05\x04\0\ - \x02\0\x01\x12\x03^\x08\x0f\n\x0c\n\x05\x04\0\x02\0\x03\x12\x03^\x12\x13\ - \n\x83\x03\n\x04\x04\0\x02\x01\x12\x03f\x02\x12\x1a\xf5\x02\x20Signed\ - \x20fractions\x20of\x20a\x20second\x20at\x20nanosecond\x20resolution\x20\ - of\x20the\x20span\n\x20of\x20time.\x20Durations\x20less\x20than\x20one\ - \x20second\x20are\x20represented\x20with\x20a\x200\n\x20`seconds`\x20fie\ - ld\x20and\x20a\x20positive\x20or\x20negative\x20`nanos`\x20field.\x20For\ - \x20durations\n\x20of\x20one\x20second\x20or\x20more,\x20a\x20non-zero\ - \x20value\x20for\x20the\x20`nanos`\x20field\x20must\x20be\n\x20of\x20the\ - \x20same\x20sign\x20as\x20the\x20`seconds`\x20field.\x20Must\x20be\x20fr\ - om\x20-999,999,999\n\x20to\x20+999,999,999\x20inclusive.\n\n\x0c\n\x05\ - \x04\0\x02\x01\x05\x12\x03f\x02\x07\n\x0c\n\x05\x04\0\x02\x01\x01\x12\ - \x03f\x08\r\n\x0c\n\x05\x04\0\x02\x01\x03\x12\x03f\x10\x11b\x06proto3\ + nanos\x18\x02\x20\x01(\x05R\x05nanosB\x83\x01\n\x13com.google.protobufB\ + \rDurationProtoP\x01Z1google.golang.org/protobuf/types/known/durationpb\ + \xf8\x01\x01\xa2\x02\x03GPB\xaa\x02\x1eGoogle.Protobuf.WellKnownTypesJ\ + \xda#\n\x06\x12\x04\x1e\0s\x01\n\xcc\x0c\n\x01\x0c\x12\x03\x1e\0\x122\ + \xc1\x0c\x20Protocol\x20Buffers\x20-\x20Google's\x20data\x20interchange\ + \x20format\n\x20Copyright\x202008\x20Google\x20Inc.\x20\x20All\x20rights\ + \x20reserved.\n\x20https://developers.google.com/protocol-buffers/\n\n\ + \x20Redistribution\x20and\x20use\x20in\x20source\x20and\x20binary\x20for\ + ms,\x20with\x20or\x20without\n\x20modification,\x20are\x20permitted\x20p\ + rovided\x20that\x20the\x20following\x20conditions\x20are\n\x20met:\n\n\ + \x20\x20\x20\x20\x20*\x20Redistributions\x20of\x20source\x20code\x20must\ + \x20retain\x20the\x20above\x20copyright\n\x20notice,\x20this\x20list\x20\ + of\x20conditions\x20and\x20the\x20following\x20disclaimer.\n\x20\x20\x20\ + \x20\x20*\x20Redistributions\x20in\x20binary\x20form\x20must\x20reproduc\ + e\x20the\x20above\n\x20copyright\x20notice,\x20this\x20list\x20of\x20con\ + ditions\x20and\x20the\x20following\x20disclaimer\n\x20in\x20the\x20docum\ + entation\x20and/or\x20other\x20materials\x20provided\x20with\x20the\n\ + \x20distribution.\n\x20\x20\x20\x20\x20*\x20Neither\x20the\x20name\x20of\ + \x20Google\x20Inc.\x20nor\x20the\x20names\x20of\x20its\n\x20contributors\ + \x20may\x20be\x20used\x20to\x20endorse\x20or\x20promote\x20products\x20d\ + erived\x20from\n\x20this\x20software\x20without\x20specific\x20prior\x20\ + written\x20permission.\n\n\x20THIS\x20SOFTWARE\x20IS\x20PROVIDED\x20BY\ + \x20THE\x20COPYRIGHT\x20HOLDERS\x20AND\x20CONTRIBUTORS\n\x20\"AS\x20IS\"\ + \x20AND\x20ANY\x20EXPRESS\x20OR\x20IMPLIED\x20WARRANTIES,\x20INCLUDING,\ + \x20BUT\x20NOT\n\x20LIMITED\x20TO,\x20THE\x20IMPLIED\x20WARRANTIES\x20OF\ + \x20MERCHANTABILITY\x20AND\x20FITNESS\x20FOR\n\x20A\x20PARTICULAR\x20PUR\ + POSE\x20ARE\x20DISCLAIMED.\x20IN\x20NO\x20EVENT\x20SHALL\x20THE\x20COPYR\ + IGHT\n\x20OWNER\x20OR\x20CONTRIBUTORS\x20BE\x20LIABLE\x20FOR\x20ANY\x20D\ + IRECT,\x20INDIRECT,\x20INCIDENTAL,\n\x20SPECIAL,\x20EXEMPLARY,\x20OR\x20\ + CONSEQUENTIAL\x20DAMAGES\x20(INCLUDING,\x20BUT\x20NOT\n\x20LIMITED\x20TO\ + ,\x20PROCUREMENT\x20OF\x20SUBSTITUTE\x20GOODS\x20OR\x20SERVICES;\x20LOSS\ + \x20OF\x20USE,\n\x20DATA,\x20OR\x20PROFITS;\x20OR\x20BUSINESS\x20INTERRU\ + PTION)\x20HOWEVER\x20CAUSED\x20AND\x20ON\x20ANY\n\x20THEORY\x20OF\x20LIA\ + BILITY,\x20WHETHER\x20IN\x20CONTRACT,\x20STRICT\x20LIABILITY,\x20OR\x20T\ + ORT\n\x20(INCLUDING\x20NEGLIGENCE\x20OR\x20OTHERWISE)\x20ARISING\x20IN\ + \x20ANY\x20WAY\x20OUT\x20OF\x20THE\x20USE\n\x20OF\x20THIS\x20SOFTWARE,\ + \x20EVEN\x20IF\x20ADVISED\x20OF\x20THE\x20POSSIBILITY\x20OF\x20SUCH\x20D\ + AMAGE.\n\n\x08\n\x01\x02\x12\x03\x20\0\x18\n\x08\n\x01\x08\x12\x03\"\0;\ + \n\t\n\x02\x08%\x12\x03\"\0;\n\x08\n\x01\x08\x12\x03#\0\x1f\n\t\n\x02\ + \x08\x1f\x12\x03#\0\x1f\n\x08\n\x01\x08\x12\x03$\0H\n\t\n\x02\x08\x0b\ + \x12\x03$\0H\n\x08\n\x01\x08\x12\x03%\0,\n\t\n\x02\x08\x01\x12\x03%\0,\n\ + \x08\n\x01\x08\x12\x03&\0.\n\t\n\x02\x08\x08\x12\x03&\0.\n\x08\n\x01\x08\ + \x12\x03'\0\"\n\t\n\x02\x08\n\x12\x03'\0\"\n\x08\n\x01\x08\x12\x03(\0!\n\ + \t\n\x02\x08$\x12\x03(\0!\n\x9e\x10\n\x02\x04\0\x12\x04f\0s\x01\x1a\x91\ + \x10\x20A\x20Duration\x20represents\x20a\x20signed,\x20fixed-length\x20s\ + pan\x20of\x20time\x20represented\n\x20as\x20a\x20count\x20of\x20seconds\ + \x20and\x20fractions\x20of\x20seconds\x20at\x20nanosecond\n\x20resolutio\ + n.\x20It\x20is\x20independent\x20of\x20any\x20calendar\x20and\x20concept\ + s\x20like\x20\"day\"\n\x20or\x20\"month\".\x20It\x20is\x20related\x20to\ + \x20Timestamp\x20in\x20that\x20the\x20difference\x20between\n\x20two\x20\ + Timestamp\x20values\x20is\x20a\x20Duration\x20and\x20it\x20can\x20be\x20\ + added\x20or\x20subtracted\n\x20from\x20a\x20Timestamp.\x20Range\x20is\ + \x20approximately\x20+-10,000\x20years.\n\n\x20#\x20Examples\n\n\x20Exam\ + ple\x201:\x20Compute\x20Duration\x20from\x20two\x20Timestamps\x20in\x20p\ + seudo\x20code.\n\n\x20\x20\x20\x20\x20Timestamp\x20start\x20=\x20...;\n\ + \x20\x20\x20\x20\x20Timestamp\x20end\x20=\x20...;\n\x20\x20\x20\x20\x20D\ + uration\x20duration\x20=\x20...;\n\n\x20\x20\x20\x20\x20duration.seconds\ + \x20=\x20end.seconds\x20-\x20start.seconds;\n\x20\x20\x20\x20\x20duratio\ + n.nanos\x20=\x20end.nanos\x20-\x20start.nanos;\n\n\x20\x20\x20\x20\x20if\ + \x20(duration.seconds\x20<\x200\x20&&\x20duration.nanos\x20>\x200)\x20{\ + \n\x20\x20\x20\x20\x20\x20\x20duration.seconds\x20+=\x201;\n\x20\x20\x20\ + \x20\x20\x20\x20duration.nanos\x20-=\x201000000000;\n\x20\x20\x20\x20\ + \x20}\x20else\x20if\x20(duration.seconds\x20>\x200\x20&&\x20duration.nan\ + os\x20<\x200)\x20{\n\x20\x20\x20\x20\x20\x20\x20duration.seconds\x20-=\ + \x201;\n\x20\x20\x20\x20\x20\x20\x20duration.nanos\x20+=\x201000000000;\ + \n\x20\x20\x20\x20\x20}\n\n\x20Example\x202:\x20Compute\x20Timestamp\x20\ + from\x20Timestamp\x20+\x20Duration\x20in\x20pseudo\x20code.\n\n\x20\x20\ + \x20\x20\x20Timestamp\x20start\x20=\x20...;\n\x20\x20\x20\x20\x20Duratio\ + n\x20duration\x20=\x20...;\n\x20\x20\x20\x20\x20Timestamp\x20end\x20=\ + \x20...;\n\n\x20\x20\x20\x20\x20end.seconds\x20=\x20start.seconds\x20+\ + \x20duration.seconds;\n\x20\x20\x20\x20\x20end.nanos\x20=\x20start.nanos\ + \x20+\x20duration.nanos;\n\n\x20\x20\x20\x20\x20if\x20(end.nanos\x20<\ + \x200)\x20{\n\x20\x20\x20\x20\x20\x20\x20end.seconds\x20-=\x201;\n\x20\ + \x20\x20\x20\x20\x20\x20end.nanos\x20+=\x201000000000;\n\x20\x20\x20\x20\ + \x20}\x20else\x20if\x20(end.nanos\x20>=\x201000000000)\x20{\n\x20\x20\ + \x20\x20\x20\x20\x20end.seconds\x20+=\x201;\n\x20\x20\x20\x20\x20\x20\ + \x20end.nanos\x20-=\x201000000000;\n\x20\x20\x20\x20\x20}\n\n\x20Example\ + \x203:\x20Compute\x20Duration\x20from\x20datetime.timedelta\x20in\x20Pyt\ + hon.\n\n\x20\x20\x20\x20\x20td\x20=\x20datetime.timedelta(days=3,\x20min\ + utes=10)\n\x20\x20\x20\x20\x20duration\x20=\x20Duration()\n\x20\x20\x20\ + \x20\x20duration.FromTimedelta(td)\n\n\x20#\x20JSON\x20Mapping\n\n\x20In\ + \x20JSON\x20format,\x20the\x20Duration\x20type\x20is\x20encoded\x20as\ + \x20a\x20string\x20rather\x20than\x20an\n\x20object,\x20where\x20the\x20\ + string\x20ends\x20in\x20the\x20suffix\x20\"s\"\x20(indicating\x20seconds\ + )\x20and\n\x20is\x20preceded\x20by\x20the\x20number\x20of\x20seconds,\ + \x20with\x20nanoseconds\x20expressed\x20as\n\x20fractional\x20seconds.\ + \x20For\x20example,\x203\x20seconds\x20with\x200\x20nanoseconds\x20shoul\ + d\x20be\n\x20encoded\x20in\x20JSON\x20format\x20as\x20\"3s\",\x20while\ + \x203\x20seconds\x20and\x201\x20nanosecond\x20should\n\x20be\x20expresse\ + d\x20in\x20JSON\x20format\x20as\x20\"3.000000001s\",\x20and\x203\x20seco\ + nds\x20and\x201\n\x20microsecond\x20should\x20be\x20expressed\x20in\x20J\ + SON\x20format\x20as\x20\"3.000001s\".\n\n\n\n\n\n\x03\x04\0\x01\x12\x03f\ + \x08\x10\n\xdc\x01\n\x04\x04\0\x02\0\x12\x03j\x02\x14\x1a\xce\x01\x20Sig\ + ned\x20seconds\x20of\x20the\x20span\x20of\x20time.\x20Must\x20be\x20from\ + \x20-315,576,000,000\n\x20to\x20+315,576,000,000\x20inclusive.\x20Note:\ + \x20these\x20bounds\x20are\x20computed\x20from:\n\x2060\x20sec/min\x20*\ + \x2060\x20min/hr\x20*\x2024\x20hr/day\x20*\x20365.25\x20days/year\x20*\ + \x2010000\x20years\n\n\x0c\n\x05\x04\0\x02\0\x05\x12\x03j\x02\x07\n\x0c\ + \n\x05\x04\0\x02\0\x01\x12\x03j\x08\x0f\n\x0c\n\x05\x04\0\x02\0\x03\x12\ + \x03j\x12\x13\n\x83\x03\n\x04\x04\0\x02\x01\x12\x03r\x02\x12\x1a\xf5\x02\ + \x20Signed\x20fractions\x20of\x20a\x20second\x20at\x20nanosecond\x20reso\ + lution\x20of\x20the\x20span\n\x20of\x20time.\x20Durations\x20less\x20tha\ + n\x20one\x20second\x20are\x20represented\x20with\x20a\x200\n\x20`seconds\ + `\x20field\x20and\x20a\x20positive\x20or\x20negative\x20`nanos`\x20field\ + .\x20For\x20durations\n\x20of\x20one\x20second\x20or\x20more,\x20a\x20no\ + n-zero\x20value\x20for\x20the\x20`nanos`\x20field\x20must\x20be\n\x20of\ + \x20the\x20same\x20sign\x20as\x20the\x20`seconds`\x20field.\x20Must\x20b\ + e\x20from\x20-999,999,999\n\x20to\x20+999,999,999\x20inclusive.\n\n\x0c\ + \n\x05\x04\0\x02\x01\x05\x12\x03r\x02\x07\n\x0c\n\x05\x04\0\x02\x01\x01\ + \x12\x03r\x08\r\n\x0c\n\x05\x04\0\x02\x01\x03\x12\x03r\x10\x11b\x06proto\ + 3\ "; static file_descriptor_proto_lazy: crate::rt::LazyV2<crate::descriptor::FileDescriptorProto> = crate::rt::LazyV2::INIT; diff --git a/src/well_known_types/empty.rs b/src/well_known_types/empty.rs index a62ac28..2464f43 100644 --- a/src/well_known_types/empty.rs +++ b/src/well_known_types/empty.rs @@ -1,4 +1,4 @@ -// This file is generated by rust-protobuf 2.19.0-pre. Do not edit +// This file is generated by rust-protobuf 2.22.0-pre. Do not edit // @generated // https://github.com/rust-lang/rust-clippy/issues/702 @@ -20,7 +20,7 @@ //! Generated file from `google/protobuf/empty.proto` #[derive(PartialEq,Clone,Default)] -#[cfg_attr(feature = "with-serde", derive(Serialize, Deserialize))] +#[cfg_attr(feature = "with-serde", derive(::serde::Serialize, ::serde::Deserialize))] pub struct Empty { // special fields #[cfg_attr(feature = "with-serde", serde(skip))] @@ -140,48 +140,48 @@ impl crate::reflect::ProtobufValue for Empty { static file_descriptor_proto_data: &'static [u8] = b"\ \n\x1bgoogle/protobuf/empty.proto\x12\x0fgoogle.protobuf\"\x07\n\x05Empt\ - yBv\n\x13com.google.protobufB\nEmptyProtoP\x01Z'github.com/golang/protob\ - uf/ptypes/empty\xf8\x01\x01\xa2\x02\x03GPB\xaa\x02\x1eGoogle.Protobuf.We\ - llKnownTypesJ\xfe\x10\n\x06\x12\x04\x1e\03\x10\n\xcc\x0c\n\x01\x0c\x12\ - \x03\x1e\0\x122\xc1\x0c\x20Protocol\x20Buffers\x20-\x20Google's\x20data\ - \x20interchange\x20format\n\x20Copyright\x202008\x20Google\x20Inc.\x20\ - \x20All\x20rights\x20reserved.\n\x20https://developers.google.com/protoc\ - ol-buffers/\n\n\x20Redistribution\x20and\x20use\x20in\x20source\x20and\ - \x20binary\x20forms,\x20with\x20or\x20without\n\x20modification,\x20are\ - \x20permitted\x20provided\x20that\x20the\x20following\x20conditions\x20a\ - re\n\x20met:\n\n\x20\x20\x20\x20\x20*\x20Redistributions\x20of\x20source\ - \x20code\x20must\x20retain\x20the\x20above\x20copyright\n\x20notice,\x20\ - this\x20list\x20of\x20conditions\x20and\x20the\x20following\x20disclaime\ - r.\n\x20\x20\x20\x20\x20*\x20Redistributions\x20in\x20binary\x20form\x20\ - must\x20reproduce\x20the\x20above\n\x20copyright\x20notice,\x20this\x20l\ - ist\x20of\x20conditions\x20and\x20the\x20following\x20disclaimer\n\x20in\ - \x20the\x20documentation\x20and/or\x20other\x20materials\x20provided\x20\ - with\x20the\n\x20distribution.\n\x20\x20\x20\x20\x20*\x20Neither\x20the\ - \x20name\x20of\x20Google\x20Inc.\x20nor\x20the\x20names\x20of\x20its\n\ - \x20contributors\x20may\x20be\x20used\x20to\x20endorse\x20or\x20promote\ - \x20products\x20derived\x20from\n\x20this\x20software\x20without\x20spec\ - ific\x20prior\x20written\x20permission.\n\n\x20THIS\x20SOFTWARE\x20IS\ - \x20PROVIDED\x20BY\x20THE\x20COPYRIGHT\x20HOLDERS\x20AND\x20CONTRIBUTORS\ - \n\x20\"AS\x20IS\"\x20AND\x20ANY\x20EXPRESS\x20OR\x20IMPLIED\x20WARRANTI\ - ES,\x20INCLUDING,\x20BUT\x20NOT\n\x20LIMITED\x20TO,\x20THE\x20IMPLIED\ - \x20WARRANTIES\x20OF\x20MERCHANTABILITY\x20AND\x20FITNESS\x20FOR\n\x20A\ - \x20PARTICULAR\x20PURPOSE\x20ARE\x20DISCLAIMED.\x20IN\x20NO\x20EVENT\x20\ - SHALL\x20THE\x20COPYRIGHT\n\x20OWNER\x20OR\x20CONTRIBUTORS\x20BE\x20LIAB\ - LE\x20FOR\x20ANY\x20DIRECT,\x20INDIRECT,\x20INCIDENTAL,\n\x20SPECIAL,\ - \x20EXEMPLARY,\x20OR\x20CONSEQUENTIAL\x20DAMAGES\x20(INCLUDING,\x20BUT\ - \x20NOT\n\x20LIMITED\x20TO,\x20PROCUREMENT\x20OF\x20SUBSTITUTE\x20GOODS\ - \x20OR\x20SERVICES;\x20LOSS\x20OF\x20USE,\n\x20DATA,\x20OR\x20PROFITS;\ - \x20OR\x20BUSINESS\x20INTERRUPTION)\x20HOWEVER\x20CAUSED\x20AND\x20ON\ - \x20ANY\n\x20THEORY\x20OF\x20LIABILITY,\x20WHETHER\x20IN\x20CONTRACT,\ - \x20STRICT\x20LIABILITY,\x20OR\x20TORT\n\x20(INCLUDING\x20NEGLIGENCE\x20\ - OR\x20OTHERWISE)\x20ARISING\x20IN\x20ANY\x20WAY\x20OUT\x20OF\x20THE\x20U\ - SE\n\x20OF\x20THIS\x20SOFTWARE,\x20EVEN\x20IF\x20ADVISED\x20OF\x20THE\ - \x20POSSIBILITY\x20OF\x20SUCH\x20DAMAGE.\n\n\x08\n\x01\x02\x12\x03\x20\0\ - \x18\n\x08\n\x01\x08\x12\x03\"\0;\n\t\n\x02\x08%\x12\x03\"\0;\n\x08\n\ - \x01\x08\x12\x03#\0>\n\t\n\x02\x08\x0b\x12\x03#\0>\n\x08\n\x01\x08\x12\ - \x03$\0,\n\t\n\x02\x08\x01\x12\x03$\0,\n\x08\n\x01\x08\x12\x03%\0+\n\t\n\ - \x02\x08\x08\x12\x03%\0+\n\x08\n\x01\x08\x12\x03&\0\"\n\t\n\x02\x08\n\ - \x12\x03&\0\"\n\x08\n\x01\x08\x12\x03'\0!\n\t\n\x02\x08$\x12\x03'\0!\n\ + yB}\n\x13com.google.protobufB\nEmptyProtoP\x01Z.google.golang.org/protob\ + uf/types/known/emptypb\xf8\x01\x01\xa2\x02\x03GPB\xaa\x02\x1eGoogle.Prot\ + obuf.WellKnownTypesJ\xfe\x10\n\x06\x12\x04\x1e\03\x10\n\xcc\x0c\n\x01\ + \x0c\x12\x03\x1e\0\x122\xc1\x0c\x20Protocol\x20Buffers\x20-\x20Google's\ + \x20data\x20interchange\x20format\n\x20Copyright\x202008\x20Google\x20In\ + c.\x20\x20All\x20rights\x20reserved.\n\x20https://developers.google.com/\ + protocol-buffers/\n\n\x20Redistribution\x20and\x20use\x20in\x20source\ + \x20and\x20binary\x20forms,\x20with\x20or\x20without\n\x20modification,\ + \x20are\x20permitted\x20provided\x20that\x20the\x20following\x20conditio\ + ns\x20are\n\x20met:\n\n\x20\x20\x20\x20\x20*\x20Redistributions\x20of\ + \x20source\x20code\x20must\x20retain\x20the\x20above\x20copyright\n\x20n\ + otice,\x20this\x20list\x20of\x20conditions\x20and\x20the\x20following\ + \x20disclaimer.\n\x20\x20\x20\x20\x20*\x20Redistributions\x20in\x20binar\ + y\x20form\x20must\x20reproduce\x20the\x20above\n\x20copyright\x20notice,\ + \x20this\x20list\x20of\x20conditions\x20and\x20the\x20following\x20discl\ + aimer\n\x20in\x20the\x20documentation\x20and/or\x20other\x20materials\ + \x20provided\x20with\x20the\n\x20distribution.\n\x20\x20\x20\x20\x20*\ + \x20Neither\x20the\x20name\x20of\x20Google\x20Inc.\x20nor\x20the\x20name\ + s\x20of\x20its\n\x20contributors\x20may\x20be\x20used\x20to\x20endorse\ + \x20or\x20promote\x20products\x20derived\x20from\n\x20this\x20software\ + \x20without\x20specific\x20prior\x20written\x20permission.\n\n\x20THIS\ + \x20SOFTWARE\x20IS\x20PROVIDED\x20BY\x20THE\x20COPYRIGHT\x20HOLDERS\x20A\ + ND\x20CONTRIBUTORS\n\x20\"AS\x20IS\"\x20AND\x20ANY\x20EXPRESS\x20OR\x20I\ + MPLIED\x20WARRANTIES,\x20INCLUDING,\x20BUT\x20NOT\n\x20LIMITED\x20TO,\ + \x20THE\x20IMPLIED\x20WARRANTIES\x20OF\x20MERCHANTABILITY\x20AND\x20FITN\ + ESS\x20FOR\n\x20A\x20PARTICULAR\x20PURPOSE\x20ARE\x20DISCLAIMED.\x20IN\ + \x20NO\x20EVENT\x20SHALL\x20THE\x20COPYRIGHT\n\x20OWNER\x20OR\x20CONTRIB\ + UTORS\x20BE\x20LIABLE\x20FOR\x20ANY\x20DIRECT,\x20INDIRECT,\x20INCIDENTA\ + L,\n\x20SPECIAL,\x20EXEMPLARY,\x20OR\x20CONSEQUENTIAL\x20DAMAGES\x20(INC\ + LUDING,\x20BUT\x20NOT\n\x20LIMITED\x20TO,\x20PROCUREMENT\x20OF\x20SUBSTI\ + TUTE\x20GOODS\x20OR\x20SERVICES;\x20LOSS\x20OF\x20USE,\n\x20DATA,\x20OR\ + \x20PROFITS;\x20OR\x20BUSINESS\x20INTERRUPTION)\x20HOWEVER\x20CAUSED\x20\ + AND\x20ON\x20ANY\n\x20THEORY\x20OF\x20LIABILITY,\x20WHETHER\x20IN\x20CON\ + TRACT,\x20STRICT\x20LIABILITY,\x20OR\x20TORT\n\x20(INCLUDING\x20NEGLIGEN\ + CE\x20OR\x20OTHERWISE)\x20ARISING\x20IN\x20ANY\x20WAY\x20OUT\x20OF\x20TH\ + E\x20USE\n\x20OF\x20THIS\x20SOFTWARE,\x20EVEN\x20IF\x20ADVISED\x20OF\x20\ + THE\x20POSSIBILITY\x20OF\x20SUCH\x20DAMAGE.\n\n\x08\n\x01\x02\x12\x03\ + \x20\0\x18\n\x08\n\x01\x08\x12\x03\"\0;\n\t\n\x02\x08%\x12\x03\"\0;\n\ + \x08\n\x01\x08\x12\x03#\0E\n\t\n\x02\x08\x0b\x12\x03#\0E\n\x08\n\x01\x08\ + \x12\x03$\0,\n\t\n\x02\x08\x01\x12\x03$\0,\n\x08\n\x01\x08\x12\x03%\0+\n\ + \t\n\x02\x08\x08\x12\x03%\0+\n\x08\n\x01\x08\x12\x03&\0\"\n\t\n\x02\x08\ + \n\x12\x03&\0\"\n\x08\n\x01\x08\x12\x03'\0!\n\t\n\x02\x08$\x12\x03'\0!\n\ \x08\n\x01\x08\x12\x03(\0\x1f\n\t\n\x02\x08\x1f\x12\x03(\0\x1f\n\xfb\x02\ \n\x02\x04\0\x12\x033\0\x10\x1a\xef\x02\x20A\x20generic\x20empty\x20mess\ age\x20that\x20you\x20can\x20re-use\x20to\x20avoid\x20defining\x20duplic\ diff --git a/src/well_known_types/field_mask.rs b/src/well_known_types/field_mask.rs index c9db6c0..dc0ed10 100644 --- a/src/well_known_types/field_mask.rs +++ b/src/well_known_types/field_mask.rs @@ -1,4 +1,4 @@ -// This file is generated by rust-protobuf 2.19.0-pre. Do not edit +// This file is generated by rust-protobuf 2.22.0-pre. Do not edit // @generated // https://github.com/rust-lang/rust-clippy/issues/702 @@ -20,7 +20,7 @@ //! Generated file from `google/protobuf/field_mask.proto` #[derive(PartialEq,Clone,Default)] -#[cfg_attr(feature = "with-serde", derive(Serialize, Deserialize))] +#[cfg_attr(feature = "with-serde", derive(::serde::Serialize, ::serde::Deserialize))] pub struct FieldMask { // message fields pub paths: crate::RepeatedField<::std::string::String>, @@ -182,9 +182,10 @@ impl crate::reflect::ProtobufValue for FieldMask { static file_descriptor_proto_data: &'static [u8] = b"\ \n\x20google/protobuf/field_mask.proto\x12\x0fgoogle.protobuf\"!\n\tFiel\ - dMask\x12\x14\n\x05paths\x18\x01\x20\x03(\tR\x05pathsBN\n\x13com.google.\ - protobufB\x0eFieldMaskProtoP\x01\xa2\x02\x03GPB\xaa\x02\x1eGoogle.Protob\ - uf.WellKnownTypesJ\x929\n\x07\x12\x05\x1e\0\xf4\x01\x01\n\xcc\x0c\n\x01\ + dMask\x12\x14\n\x05paths\x18\x01\x20\x03(\tR\x05pathsB\x85\x01\n\x13com.\ + google.protobufB\x0eFieldMaskProtoP\x01Z2google.golang.org/protobuf/type\ + s/known/fieldmaskpb\xf8\x01\x01\xa2\x02\x03GPB\xaa\x02\x1eGoogle.Protobu\ + f.WellKnownTypesJ\xa1;\n\x07\x12\x05\x1e\0\xf4\x01\x01\n\xcc\x0c\n\x01\ \x0c\x12\x03\x1e\0\x122\xc1\x0c\x20Protocol\x20Buffers\x20-\x20Google's\ \x20data\x20interchange\x20format\n\x20Copyright\x202008\x20Google\x20In\ c.\x20\x20All\x20rights\x20reserved.\n\x20https://developers.google.com/\ @@ -223,124 +224,124 @@ static file_descriptor_proto_data: &'static [u8] = b"\ \x08\n\x01\x08\x12\x03#\0,\n\t\n\x02\x08\x01\x12\x03#\0,\n\x08\n\x01\x08\ \x12\x03$\0/\n\t\n\x02\x08\x08\x12\x03$\0/\n\x08\n\x01\x08\x12\x03%\0\"\ \n\t\n\x02\x08\n\x12\x03%\0\"\n\x08\n\x01\x08\x12\x03&\0!\n\t\n\x02\x08$\ - \x12\x03&\0!\n\xcd*\n\x02\x04\0\x12\x06\xf1\x01\0\xf4\x01\x01\x1a\xbe*\ - \x20`FieldMask`\x20represents\x20a\x20set\x20of\x20symbolic\x20field\x20\ - paths,\x20for\x20example:\n\n\x20\x20\x20\x20\x20paths:\x20\"f.a\"\n\x20\ - \x20\x20\x20\x20paths:\x20\"f.b.d\"\n\n\x20Here\x20`f`\x20represents\x20\ - a\x20field\x20in\x20some\x20root\x20message,\x20`a`\x20and\x20`b`\n\x20f\ - ields\x20in\x20the\x20message\x20found\x20in\x20`f`,\x20and\x20`d`\x20a\ - \x20field\x20found\x20in\x20the\n\x20message\x20in\x20`f.b`.\n\n\x20Fiel\ - d\x20masks\x20are\x20used\x20to\x20specify\x20a\x20subset\x20of\x20field\ - s\x20that\x20should\x20be\n\x20returned\x20by\x20a\x20get\x20operation\ - \x20or\x20modified\x20by\x20an\x20update\x20operation.\n\x20Field\x20mas\ - ks\x20also\x20have\x20a\x20custom\x20JSON\x20encoding\x20(see\x20below).\ - \n\n\x20#\x20Field\x20Masks\x20in\x20Projections\n\n\x20When\x20used\x20\ - in\x20the\x20context\x20of\x20a\x20projection,\x20a\x20response\x20messa\ - ge\x20or\n\x20sub-message\x20is\x20filtered\x20by\x20the\x20API\x20to\ - \x20only\x20contain\x20those\x20fields\x20as\n\x20specified\x20in\x20the\ - \x20mask.\x20For\x20example,\x20if\x20the\x20mask\x20in\x20the\x20previo\ - us\n\x20example\x20is\x20applied\x20to\x20a\x20response\x20message\x20as\ - \x20follows:\n\n\x20\x20\x20\x20\x20f\x20{\n\x20\x20\x20\x20\x20\x20\x20\ - a\x20:\x2022\n\x20\x20\x20\x20\x20\x20\x20b\x20{\n\x20\x20\x20\x20\x20\ - \x20\x20\x20\x20d\x20:\x201\n\x20\x20\x20\x20\x20\x20\x20\x20\x20x\x20:\ - \x202\n\x20\x20\x20\x20\x20\x20\x20}\n\x20\x20\x20\x20\x20\x20\x20y\x20:\ - \x2013\n\x20\x20\x20\x20\x20}\n\x20\x20\x20\x20\x20z:\x208\n\n\x20The\ - \x20result\x20will\x20not\x20contain\x20specific\x20values\x20for\x20fie\ - lds\x20x,y\x20and\x20z\n\x20(their\x20value\x20will\x20be\x20set\x20to\ - \x20the\x20default,\x20and\x20omitted\x20in\x20proto\x20text\n\x20output\ - ):\n\n\n\x20\x20\x20\x20\x20f\x20{\n\x20\x20\x20\x20\x20\x20\x20a\x20:\ - \x2022\n\x20\x20\x20\x20\x20\x20\x20b\x20{\n\x20\x20\x20\x20\x20\x20\x20\ - \x20\x20d\x20:\x201\n\x20\x20\x20\x20\x20\x20\x20}\n\x20\x20\x20\x20\x20\ - }\n\n\x20A\x20repeated\x20field\x20is\x20not\x20allowed\x20except\x20at\ - \x20the\x20last\x20position\x20of\x20a\n\x20paths\x20string.\n\n\x20If\ - \x20a\x20FieldMask\x20object\x20is\x20not\x20present\x20in\x20a\x20get\ - \x20operation,\x20the\n\x20operation\x20applies\x20to\x20all\x20fields\ - \x20(as\x20if\x20a\x20FieldMask\x20of\x20all\x20fields\n\x20had\x20been\ - \x20specified).\n\n\x20Note\x20that\x20a\x20field\x20mask\x20does\x20not\ - \x20necessarily\x20apply\x20to\x20the\n\x20top-level\x20response\x20mess\ - age.\x20In\x20case\x20of\x20a\x20REST\x20get\x20operation,\x20the\n\x20f\ - ield\x20mask\x20applies\x20directly\x20to\x20the\x20response,\x20but\x20\ - in\x20case\x20of\x20a\x20REST\n\x20list\x20operation,\x20the\x20mask\x20\ - instead\x20applies\x20to\x20each\x20individual\x20message\n\x20in\x20the\ - \x20returned\x20resource\x20list.\x20In\x20case\x20of\x20a\x20REST\x20cu\ - stom\x20method,\n\x20other\x20definitions\x20may\x20be\x20used.\x20Where\ - \x20the\x20mask\x20applies\x20will\x20be\n\x20clearly\x20documented\x20t\ - ogether\x20with\x20its\x20declaration\x20in\x20the\x20API.\x20\x20In\n\ - \x20any\x20case,\x20the\x20effect\x20on\x20the\x20returned\x20resource/r\ - esources\x20is\x20required\n\x20behavior\x20for\x20APIs.\n\n\x20#\x20Fie\ - ld\x20Masks\x20in\x20Update\x20Operations\n\n\x20A\x20field\x20mask\x20i\ - n\x20update\x20operations\x20specifies\x20which\x20fields\x20of\x20the\n\ - \x20targeted\x20resource\x20are\x20going\x20to\x20be\x20updated.\x20The\ - \x20API\x20is\x20required\n\x20to\x20only\x20change\x20the\x20values\x20\ - of\x20the\x20fields\x20as\x20specified\x20in\x20the\x20mask\n\x20and\x20\ - leave\x20the\x20others\x20untouched.\x20If\x20a\x20resource\x20is\x20pas\ - sed\x20in\x20to\n\x20describe\x20the\x20updated\x20values,\x20the\x20API\ - \x20ignores\x20the\x20values\x20of\x20all\n\x20fields\x20not\x20covered\ - \x20by\x20the\x20mask.\n\n\x20If\x20a\x20repeated\x20field\x20is\x20spec\ - ified\x20for\x20an\x20update\x20operation,\x20the\x20existing\n\x20repea\ - ted\x20values\x20in\x20the\x20target\x20resource\x20will\x20be\x20overwr\ - itten\x20by\x20the\x20new\x20values.\n\x20Note\x20that\x20a\x20repeated\ - \x20field\x20is\x20only\x20allowed\x20in\x20the\x20last\x20position\x20o\ - f\x20a\x20`paths`\n\x20string.\n\n\x20If\x20a\x20sub-message\x20is\x20sp\ - ecified\x20in\x20the\x20last\x20position\x20of\x20the\x20field\x20mask\ - \x20for\x20an\n\x20update\x20operation,\x20then\x20the\x20existing\x20su\ - b-message\x20in\x20the\x20target\x20resource\x20is\n\x20overwritten.\x20\ - Given\x20the\x20target\x20message:\n\n\x20\x20\x20\x20\x20f\x20{\n\x20\ + \x12\x03&\0!\n\x08\n\x01\x08\x12\x03'\0I\n\t\n\x02\x08\x0b\x12\x03'\0I\n\ + \x08\n\x01\x08\x12\x03(\0\x1f\n\t\n\x02\x08\x1f\x12\x03(\0\x1f\n\xb2,\n\ + \x02\x04\0\x12\x06\xf1\x01\0\xf4\x01\x01\x1a\xa3,\x20`FieldMask`\x20repr\ + esents\x20a\x20set\x20of\x20symbolic\x20field\x20paths,\x20for\x20exampl\ + e:\n\n\x20\x20\x20\x20\x20paths:\x20\"f.a\"\n\x20\x20\x20\x20\x20paths:\ + \x20\"f.b.d\"\n\n\x20Here\x20`f`\x20represents\x20a\x20field\x20in\x20so\ + me\x20root\x20message,\x20`a`\x20and\x20`b`\n\x20fields\x20in\x20the\x20\ + message\x20found\x20in\x20`f`,\x20and\x20`d`\x20a\x20field\x20found\x20i\ + n\x20the\n\x20message\x20in\x20`f.b`.\n\n\x20Field\x20masks\x20are\x20us\ + ed\x20to\x20specify\x20a\x20subset\x20of\x20fields\x20that\x20should\x20\ + be\n\x20returned\x20by\x20a\x20get\x20operation\x20or\x20modified\x20by\ + \x20an\x20update\x20operation.\n\x20Field\x20masks\x20also\x20have\x20a\ + \x20custom\x20JSON\x20encoding\x20(see\x20below).\n\n\x20#\x20Field\x20M\ + asks\x20in\x20Projections\n\n\x20When\x20used\x20in\x20the\x20context\ + \x20of\x20a\x20projection,\x20a\x20response\x20message\x20or\n\x20sub-me\ + ssage\x20is\x20filtered\x20by\x20the\x20API\x20to\x20only\x20contain\x20\ + those\x20fields\x20as\n\x20specified\x20in\x20the\x20mask.\x20For\x20exa\ + mple,\x20if\x20the\x20mask\x20in\x20the\x20previous\n\x20example\x20is\ + \x20applied\x20to\x20a\x20response\x20message\x20as\x20follows:\n\n\x20\ + \x20\x20\x20\x20f\x20{\n\x20\x20\x20\x20\x20\x20\x20a\x20:\x2022\n\x20\ \x20\x20\x20\x20\x20\x20b\x20{\n\x20\x20\x20\x20\x20\x20\x20\x20\x20d\ \x20:\x201\n\x20\x20\x20\x20\x20\x20\x20\x20\x20x\x20:\x202\n\x20\x20\ - \x20\x20\x20\x20\x20}\n\x20\x20\x20\x20\x20\x20\x20c\x20:\x201\n\x20\x20\ - \x20\x20\x20}\n\n\x20And\x20an\x20update\x20message:\n\n\x20\x20\x20\x20\ + \x20\x20\x20\x20\x20}\n\x20\x20\x20\x20\x20\x20\x20y\x20:\x2013\n\x20\ + \x20\x20\x20\x20}\n\x20\x20\x20\x20\x20z:\x208\n\n\x20The\x20result\x20w\ + ill\x20not\x20contain\x20specific\x20values\x20for\x20fields\x20x,y\x20a\ + nd\x20z\n\x20(their\x20value\x20will\x20be\x20set\x20to\x20the\x20defaul\ + t,\x20and\x20omitted\x20in\x20proto\x20text\n\x20output):\n\n\n\x20\x20\ + \x20\x20\x20f\x20{\n\x20\x20\x20\x20\x20\x20\x20a\x20:\x2022\n\x20\x20\ + \x20\x20\x20\x20\x20b\x20{\n\x20\x20\x20\x20\x20\x20\x20\x20\x20d\x20:\ + \x201\n\x20\x20\x20\x20\x20\x20\x20}\n\x20\x20\x20\x20\x20}\n\n\x20A\x20\ + repeated\x20field\x20is\x20not\x20allowed\x20except\x20at\x20the\x20last\ + \x20position\x20of\x20a\n\x20paths\x20string.\n\n\x20If\x20a\x20FieldMas\ + k\x20object\x20is\x20not\x20present\x20in\x20a\x20get\x20operation,\x20t\ + he\n\x20operation\x20applies\x20to\x20all\x20fields\x20(as\x20if\x20a\ + \x20FieldMask\x20of\x20all\x20fields\n\x20had\x20been\x20specified).\n\n\ + \x20Note\x20that\x20a\x20field\x20mask\x20does\x20not\x20necessarily\x20\ + apply\x20to\x20the\n\x20top-level\x20response\x20message.\x20In\x20case\ + \x20of\x20a\x20REST\x20get\x20operation,\x20the\n\x20field\x20mask\x20ap\ + plies\x20directly\x20to\x20the\x20response,\x20but\x20in\x20case\x20of\ + \x20a\x20REST\n\x20list\x20operation,\x20the\x20mask\x20instead\x20appli\ + es\x20to\x20each\x20individual\x20message\n\x20in\x20the\x20returned\x20\ + resource\x20list.\x20In\x20case\x20of\x20a\x20REST\x20custom\x20method,\ + \n\x20other\x20definitions\x20may\x20be\x20used.\x20Where\x20the\x20mask\ + \x20applies\x20will\x20be\n\x20clearly\x20documented\x20together\x20with\ + \x20its\x20declaration\x20in\x20the\x20API.\x20\x20In\n\x20any\x20case,\ + \x20the\x20effect\x20on\x20the\x20returned\x20resource/resources\x20is\ + \x20required\n\x20behavior\x20for\x20APIs.\n\n\x20#\x20Field\x20Masks\ + \x20in\x20Update\x20Operations\n\n\x20A\x20field\x20mask\x20in\x20update\ + \x20operations\x20specifies\x20which\x20fields\x20of\x20the\n\x20targete\ + d\x20resource\x20are\x20going\x20to\x20be\x20updated.\x20The\x20API\x20i\ + s\x20required\n\x20to\x20only\x20change\x20the\x20values\x20of\x20the\ + \x20fields\x20as\x20specified\x20in\x20the\x20mask\n\x20and\x20leave\x20\ + the\x20others\x20untouched.\x20If\x20a\x20resource\x20is\x20passed\x20in\ + \x20to\n\x20describe\x20the\x20updated\x20values,\x20the\x20API\x20ignor\ + es\x20the\x20values\x20of\x20all\n\x20fields\x20not\x20covered\x20by\x20\ + the\x20mask.\n\n\x20If\x20a\x20repeated\x20field\x20is\x20specified\x20f\ + or\x20an\x20update\x20operation,\x20new\x20values\x20will\n\x20be\x20app\ + ended\x20to\x20the\x20existing\x20repeated\x20field\x20in\x20the\x20targ\ + et\x20resource.\x20Note\x20that\n\x20a\x20repeated\x20field\x20is\x20onl\ + y\x20allowed\x20in\x20the\x20last\x20position\x20of\x20a\x20`paths`\x20s\ + tring.\n\n\x20If\x20a\x20sub-message\x20is\x20specified\x20in\x20the\x20\ + last\x20position\x20of\x20the\x20field\x20mask\x20for\x20an\n\x20update\ + \x20operation,\x20then\x20new\x20value\x20will\x20be\x20merged\x20into\ + \x20the\x20existing\x20sub-message\n\x20in\x20the\x20target\x20resource.\ + \n\n\x20For\x20example,\x20given\x20the\x20target\x20message:\n\n\x20\ + \x20\x20\x20\x20f\x20{\n\x20\x20\x20\x20\x20\x20\x20b\x20{\n\x20\x20\x20\ + \x20\x20\x20\x20\x20\x20d:\x201\n\x20\x20\x20\x20\x20\x20\x20\x20\x20x:\ + \x202\n\x20\x20\x20\x20\x20\x20\x20}\n\x20\x20\x20\x20\x20\x20\x20c:\x20\ + [1]\n\x20\x20\x20\x20\x20}\n\n\x20And\x20an\x20update\x20message:\n\n\ + \x20\x20\x20\x20\x20f\x20{\n\x20\x20\x20\x20\x20\x20\x20b\x20{\n\x20\x20\ + \x20\x20\x20\x20\x20\x20\x20d:\x2010\n\x20\x20\x20\x20\x20\x20\x20}\n\ + \x20\x20\x20\x20\x20\x20\x20c:\x20[2]\n\x20\x20\x20\x20\x20}\n\n\x20then\ + \x20if\x20the\x20field\x20mask\x20is:\n\n\x20\x20paths:\x20[\"f.b\",\x20\ + \"f.c\"]\n\n\x20then\x20the\x20result\x20will\x20be:\n\n\x20\x20\x20\x20\ \x20f\x20{\n\x20\x20\x20\x20\x20\x20\x20b\x20{\n\x20\x20\x20\x20\x20\x20\ - \x20\x20\x20d\x20:\x2010\n\x20\x20\x20\x20\x20\x20\x20}\n\x20\x20\x20\ - \x20\x20}\n\n\x20then\x20if\x20the\x20field\x20mask\x20is:\n\n\x20\x20pa\ - ths:\x20\"f.b\"\n\n\x20then\x20the\x20result\x20will\x20be:\n\n\x20\x20\ - \x20\x20\x20f\x20{\n\x20\x20\x20\x20\x20\x20\x20b\x20{\n\x20\x20\x20\x20\ - \x20\x20\x20\x20\x20d\x20:\x2010\n\x20\x20\x20\x20\x20\x20\x20}\n\x20\ - \x20\x20\x20\x20\x20\x20c\x20:\x201\n\x20\x20\x20\x20\x20}\n\n\x20Howeve\ - r,\x20if\x20the\x20update\x20mask\x20was:\n\n\x20\x20paths:\x20\"f.b.d\"\ - \n\n\x20then\x20the\x20result\x20would\x20be:\n\n\x20\x20\x20\x20\x20f\ - \x20{\n\x20\x20\x20\x20\x20\x20\x20b\x20{\n\x20\x20\x20\x20\x20\x20\x20\ - \x20\x20d\x20:\x2010\n\x20\x20\x20\x20\x20\x20\x20\x20\x20x\x20:\x202\n\ - \x20\x20\x20\x20\x20\x20\x20}\n\x20\x20\x20\x20\x20\x20\x20c\x20:\x201\n\ - \x20\x20\x20\x20\x20}\n\n\x20In\x20order\x20to\x20reset\x20a\x20field's\ - \x20value\x20to\x20the\x20default,\x20the\x20field\x20must\n\x20be\x20in\ - \x20the\x20mask\x20and\x20set\x20to\x20the\x20default\x20value\x20in\x20\ - the\x20provided\x20resource.\n\x20Hence,\x20in\x20order\x20to\x20reset\ - \x20all\x20fields\x20of\x20a\x20resource,\x20provide\x20a\x20default\n\ - \x20instance\x20of\x20the\x20resource\x20and\x20set\x20all\x20fields\x20\ - in\x20the\x20mask,\x20or\x20do\n\x20not\x20provide\x20a\x20mask\x20as\ - \x20described\x20below.\n\n\x20If\x20a\x20field\x20mask\x20is\x20not\x20\ - present\x20on\x20update,\x20the\x20operation\x20applies\x20to\n\x20all\ - \x20fields\x20(as\x20if\x20a\x20field\x20mask\x20of\x20all\x20fields\x20\ - has\x20been\x20specified).\n\x20Note\x20that\x20in\x20the\x20presence\ - \x20of\x20schema\x20evolution,\x20this\x20may\x20mean\x20that\n\x20field\ - s\x20the\x20client\x20does\x20not\x20know\x20and\x20has\x20therefore\x20\ - not\x20filled\x20into\n\x20the\x20request\x20will\x20be\x20reset\x20to\ - \x20their\x20default.\x20If\x20this\x20is\x20unwanted\n\x20behavior,\x20\ - a\x20specific\x20service\x20may\x20require\x20a\x20client\x20to\x20alway\ - s\x20specify\n\x20a\x20field\x20mask,\x20producing\x20an\x20error\x20if\ - \x20not.\n\n\x20As\x20with\x20get\x20operations,\x20the\x20location\x20o\ - f\x20the\x20resource\x20which\n\x20describes\x20the\x20updated\x20values\ - \x20in\x20the\x20request\x20message\x20depends\x20on\x20the\n\x20operati\ - on\x20kind.\x20In\x20any\x20case,\x20the\x20effect\x20of\x20the\x20field\ - \x20mask\x20is\n\x20required\x20to\x20be\x20honored\x20by\x20the\x20API.\ - \n\n\x20##\x20Considerations\x20for\x20HTTP\x20REST\n\n\x20The\x20HTTP\ - \x20kind\x20of\x20an\x20update\x20operation\x20which\x20uses\x20a\x20fie\ - ld\x20mask\x20must\n\x20be\x20set\x20to\x20PATCH\x20instead\x20of\x20PUT\ - \x20in\x20order\x20to\x20satisfy\x20HTTP\x20semantics\n\x20(PUT\x20must\ - \x20only\x20be\x20used\x20for\x20full\x20updates).\n\n\x20#\x20JSON\x20E\ - ncoding\x20of\x20Field\x20Masks\n\n\x20In\x20JSON,\x20a\x20field\x20mask\ - \x20is\x20encoded\x20as\x20a\x20single\x20string\x20where\x20paths\x20ar\ - e\n\x20separated\x20by\x20a\x20comma.\x20Fields\x20name\x20in\x20each\ - \x20path\x20are\x20converted\n\x20to/from\x20lower-camel\x20naming\x20co\ - nventions.\n\n\x20As\x20an\x20example,\x20consider\x20the\x20following\ - \x20message\x20declarations:\n\n\x20\x20\x20\x20\x20message\x20Profile\ - \x20{\n\x20\x20\x20\x20\x20\x20\x20User\x20user\x20=\x201;\n\x20\x20\x20\ - \x20\x20\x20\x20Photo\x20photo\x20=\x202;\n\x20\x20\x20\x20\x20}\n\x20\ - \x20\x20\x20\x20message\x20User\x20{\n\x20\x20\x20\x20\x20\x20\x20string\ - \x20display_name\x20=\x201;\n\x20\x20\x20\x20\x20\x20\x20string\x20addre\ - ss\x20=\x202;\n\x20\x20\x20\x20\x20}\n\n\x20In\x20proto\x20a\x20field\ - \x20mask\x20for\x20`Profile`\x20may\x20look\x20as\x20such:\n\n\x20\x20\ + \x20\x20\x20d:\x2010\n\x20\x20\x20\x20\x20\x20\x20\x20\x20x:\x202\n\x20\ + \x20\x20\x20\x20\x20\x20}\n\x20\x20\x20\x20\x20\x20\x20c:\x20[1,\x202]\n\ + \x20\x20\x20\x20\x20}\n\n\x20An\x20implementation\x20may\x20provide\x20o\ + ptions\x20to\x20override\x20this\x20default\x20behavior\x20for\n\x20repe\ + ated\x20and\x20message\x20fields.\n\n\x20In\x20order\x20to\x20reset\x20a\ + \x20field's\x20value\x20to\x20the\x20default,\x20the\x20field\x20must\n\ + \x20be\x20in\x20the\x20mask\x20and\x20set\x20to\x20the\x20default\x20val\ + ue\x20in\x20the\x20provided\x20resource.\n\x20Hence,\x20in\x20order\x20t\ + o\x20reset\x20all\x20fields\x20of\x20a\x20resource,\x20provide\x20a\x20d\ + efault\n\x20instance\x20of\x20the\x20resource\x20and\x20set\x20all\x20fi\ + elds\x20in\x20the\x20mask,\x20or\x20do\n\x20not\x20provide\x20a\x20mask\ + \x20as\x20described\x20below.\n\n\x20If\x20a\x20field\x20mask\x20is\x20n\ + ot\x20present\x20on\x20update,\x20the\x20operation\x20applies\x20to\n\ + \x20all\x20fields\x20(as\x20if\x20a\x20field\x20mask\x20of\x20all\x20fie\ + lds\x20has\x20been\x20specified).\n\x20Note\x20that\x20in\x20the\x20pres\ + ence\x20of\x20schema\x20evolution,\x20this\x20may\x20mean\x20that\n\x20f\ + ields\x20the\x20client\x20does\x20not\x20know\x20and\x20has\x20therefore\ + \x20not\x20filled\x20into\n\x20the\x20request\x20will\x20be\x20reset\x20\ + to\x20their\x20default.\x20If\x20this\x20is\x20unwanted\n\x20behavior,\ + \x20a\x20specific\x20service\x20may\x20require\x20a\x20client\x20to\x20a\ + lways\x20specify\n\x20a\x20field\x20mask,\x20producing\x20an\x20error\ + \x20if\x20not.\n\n\x20As\x20with\x20get\x20operations,\x20the\x20locatio\ + n\x20of\x20the\x20resource\x20which\n\x20describes\x20the\x20updated\x20\ + values\x20in\x20the\x20request\x20message\x20depends\x20on\x20the\n\x20o\ + peration\x20kind.\x20In\x20any\x20case,\x20the\x20effect\x20of\x20the\ + \x20field\x20mask\x20is\n\x20required\x20to\x20be\x20honored\x20by\x20th\ + e\x20API.\n\n\x20##\x20Considerations\x20for\x20HTTP\x20REST\n\n\x20The\ + \x20HTTP\x20kind\x20of\x20an\x20update\x20operation\x20which\x20uses\x20\ + a\x20field\x20mask\x20must\n\x20be\x20set\x20to\x20PATCH\x20instead\x20o\ + f\x20PUT\x20in\x20order\x20to\x20satisfy\x20HTTP\x20semantics\n\x20(PUT\ + \x20must\x20only\x20be\x20used\x20for\x20full\x20updates).\n\n\x20#\x20J\ + SON\x20Encoding\x20of\x20Field\x20Masks\n\n\x20In\x20JSON,\x20a\x20field\ + \x20mask\x20is\x20encoded\x20as\x20a\x20single\x20string\x20where\x20pat\ + hs\x20are\n\x20separated\x20by\x20a\x20comma.\x20Fields\x20name\x20in\ + \x20each\x20path\x20are\x20converted\n\x20to/from\x20lower-camel\x20nami\ + ng\x20conventions.\n\n\x20As\x20an\x20example,\x20consider\x20the\x20fol\ + lowing\x20message\x20declarations:\n\n\x20\x20\x20\x20\x20message\x20Pro\ + file\x20{\n\x20\x20\x20\x20\x20\x20\x20User\x20user\x20=\x201;\n\x20\x20\ + \x20\x20\x20\x20\x20Photo\x20photo\x20=\x202;\n\x20\x20\x20\x20\x20}\n\ + \x20\x20\x20\x20\x20message\x20User\x20{\n\x20\x20\x20\x20\x20\x20\x20st\ + ring\x20display_name\x20=\x201;\n\x20\x20\x20\x20\x20\x20\x20string\x20a\ + ddress\x20=\x202;\n\x20\x20\x20\x20\x20}\n\n\x20In\x20proto\x20a\x20fiel\ + d\x20mask\x20for\x20`Profile`\x20may\x20look\x20as\x20such:\n\n\x20\x20\ \x20\x20\x20mask\x20{\n\x20\x20\x20\x20\x20\x20\x20paths:\x20\"user.disp\ lay_name\"\n\x20\x20\x20\x20\x20\x20\x20paths:\x20\"photo\"\n\x20\x20\ \x20\x20\x20}\n\n\x20In\x20JSON,\x20the\x20same\x20mask\x20is\x20represe\ @@ -358,12 +359,17 @@ static file_descriptor_proto_data: &'static [u8] = b"\ \x20\x20\x20\x20\x20mask\x20{\n\x20\x20\x20\x20\x20\x20\x20paths:\x20\"s\ ub_message\"\n\x20\x20\x20\x20\x20}\n\n\x20Note\x20that\x20oneof\x20type\ \x20names\x20(\"test_oneof\"\x20in\x20this\x20case)\x20cannot\x20be\x20u\ - sed\x20in\n\x20paths.\n\n\x0b\n\x03\x04\0\x01\x12\x04\xf1\x01\x08\x11\n,\ - \n\x04\x04\0\x02\0\x12\x04\xf3\x01\x02\x1c\x1a\x1e\x20The\x20set\x20of\ - \x20field\x20mask\x20paths.\n\n\r\n\x05\x04\0\x02\0\x04\x12\x04\xf3\x01\ - \x02\n\n\r\n\x05\x04\0\x02\0\x05\x12\x04\xf3\x01\x0b\x11\n\r\n\x05\x04\0\ - \x02\0\x01\x12\x04\xf3\x01\x12\x17\n\r\n\x05\x04\0\x02\0\x03\x12\x04\xf3\ - \x01\x1a\x1bb\x06proto3\ + sed\x20in\n\x20paths.\n\n\x20##\x20Field\x20Mask\x20Verification\n\n\x20\ + The\x20implementation\x20of\x20any\x20API\x20method\x20which\x20has\x20a\ + \x20FieldMask\x20type\x20field\x20in\x20the\n\x20request\x20should\x20ve\ + rify\x20the\x20included\x20field\x20paths,\x20and\x20return\x20an\n\x20`\ + INVALID_ARGUMENT`\x20error\x20if\x20any\x20path\x20is\x20unmappable.\n\n\ + \x0b\n\x03\x04\0\x01\x12\x04\xf1\x01\x08\x11\n,\n\x04\x04\0\x02\0\x12\ + \x04\xf3\x01\x02\x1c\x1a\x1e\x20The\x20set\x20of\x20field\x20mask\x20pat\ + hs.\n\n\r\n\x05\x04\0\x02\0\x04\x12\x04\xf3\x01\x02\n\n\r\n\x05\x04\0\ + \x02\0\x05\x12\x04\xf3\x01\x0b\x11\n\r\n\x05\x04\0\x02\0\x01\x12\x04\xf3\ + \x01\x12\x17\n\r\n\x05\x04\0\x02\0\x03\x12\x04\xf3\x01\x1a\x1bb\x06proto\ + 3\ "; static file_descriptor_proto_lazy: crate::rt::LazyV2<crate::descriptor::FileDescriptorProto> = crate::rt::LazyV2::INIT; diff --git a/src/well_known_types/source_context.rs b/src/well_known_types/source_context.rs index f22391d..2086b35 100644 --- a/src/well_known_types/source_context.rs +++ b/src/well_known_types/source_context.rs @@ -1,4 +1,4 @@ -// This file is generated by rust-protobuf 2.19.0-pre. Do not edit +// This file is generated by rust-protobuf 2.22.0-pre. Do not edit // @generated // https://github.com/rust-lang/rust-clippy/issues/702 @@ -20,7 +20,7 @@ //! Generated file from `google/protobuf/source_context.proto` #[derive(PartialEq,Clone,Default)] -#[cfg_attr(feature = "with-serde", derive(Serialize, Deserialize))] +#[cfg_attr(feature = "with-serde", derive(::serde::Serialize, ::serde::Deserialize))] pub struct SourceContext { // message fields pub file_name: ::std::string::String, @@ -183,57 +183,59 @@ impl crate::reflect::ProtobufValue for SourceContext { static file_descriptor_proto_data: &'static [u8] = b"\ \n$google/protobuf/source_context.proto\x12\x0fgoogle.protobuf\",\n\rSou\ - rceContext\x12\x1b\n\tfile_name\x18\x01\x20\x01(\tR\x08fileNameBR\n\x13c\ - om.google.protobufB\x12SourceContextProtoP\x01\xa2\x02\x03GPB\xaa\x02\ - \x1eGoogle.Protobuf.WellKnownTypesJ\xac\x10\n\x06\x12\x04\x1e\0.\x01\n\ - \xcc\x0c\n\x01\x0c\x12\x03\x1e\0\x122\xc1\x0c\x20Protocol\x20Buffers\x20\ - -\x20Google's\x20data\x20interchange\x20format\n\x20Copyright\x202008\ - \x20Google\x20Inc.\x20\x20All\x20rights\x20reserved.\n\x20https://develo\ - pers.google.com/protocol-buffers/\n\n\x20Redistribution\x20and\x20use\ - \x20in\x20source\x20and\x20binary\x20forms,\x20with\x20or\x20without\n\ - \x20modification,\x20are\x20permitted\x20provided\x20that\x20the\x20foll\ - owing\x20conditions\x20are\n\x20met:\n\n\x20\x20\x20\x20\x20*\x20Redistr\ - ibutions\x20of\x20source\x20code\x20must\x20retain\x20the\x20above\x20co\ - pyright\n\x20notice,\x20this\x20list\x20of\x20conditions\x20and\x20the\ - \x20following\x20disclaimer.\n\x20\x20\x20\x20\x20*\x20Redistributions\ - \x20in\x20binary\x20form\x20must\x20reproduce\x20the\x20above\n\x20copyr\ - ight\x20notice,\x20this\x20list\x20of\x20conditions\x20and\x20the\x20fol\ - lowing\x20disclaimer\n\x20in\x20the\x20documentation\x20and/or\x20other\ - \x20materials\x20provided\x20with\x20the\n\x20distribution.\n\x20\x20\ - \x20\x20\x20*\x20Neither\x20the\x20name\x20of\x20Google\x20Inc.\x20nor\ - \x20the\x20names\x20of\x20its\n\x20contributors\x20may\x20be\x20used\x20\ - to\x20endorse\x20or\x20promote\x20products\x20derived\x20from\n\x20this\ - \x20software\x20without\x20specific\x20prior\x20written\x20permission.\n\ - \n\x20THIS\x20SOFTWARE\x20IS\x20PROVIDED\x20BY\x20THE\x20COPYRIGHT\x20HO\ - LDERS\x20AND\x20CONTRIBUTORS\n\x20\"AS\x20IS\"\x20AND\x20ANY\x20EXPRESS\ - \x20OR\x20IMPLIED\x20WARRANTIES,\x20INCLUDING,\x20BUT\x20NOT\n\x20LIMITE\ - D\x20TO,\x20THE\x20IMPLIED\x20WARRANTIES\x20OF\x20MERCHANTABILITY\x20AND\ - \x20FITNESS\x20FOR\n\x20A\x20PARTICULAR\x20PURPOSE\x20ARE\x20DISCLAIMED.\ - \x20IN\x20NO\x20EVENT\x20SHALL\x20THE\x20COPYRIGHT\n\x20OWNER\x20OR\x20C\ - ONTRIBUTORS\x20BE\x20LIABLE\x20FOR\x20ANY\x20DIRECT,\x20INDIRECT,\x20INC\ - IDENTAL,\n\x20SPECIAL,\x20EXEMPLARY,\x20OR\x20CONSEQUENTIAL\x20DAMAGES\ - \x20(INCLUDING,\x20BUT\x20NOT\n\x20LIMITED\x20TO,\x20PROCUREMENT\x20OF\ - \x20SUBSTITUTE\x20GOODS\x20OR\x20SERVICES;\x20LOSS\x20OF\x20USE,\n\x20DA\ - TA,\x20OR\x20PROFITS;\x20OR\x20BUSINESS\x20INTERRUPTION)\x20HOWEVER\x20C\ - AUSED\x20AND\x20ON\x20ANY\n\x20THEORY\x20OF\x20LIABILITY,\x20WHETHER\x20\ - IN\x20CONTRACT,\x20STRICT\x20LIABILITY,\x20OR\x20TORT\n\x20(INCLUDING\ - \x20NEGLIGENCE\x20OR\x20OTHERWISE)\x20ARISING\x20IN\x20ANY\x20WAY\x20OUT\ - \x20OF\x20THE\x20USE\n\x20OF\x20THIS\x20SOFTWARE,\x20EVEN\x20IF\x20ADVIS\ - ED\x20OF\x20THE\x20POSSIBILITY\x20OF\x20SUCH\x20DAMAGE.\n\n\x08\n\x01\ - \x02\x12\x03\x20\0\x18\n\x08\n\x01\x08\x12\x03\"\0;\n\t\n\x02\x08%\x12\ - \x03\"\0;\n\x08\n\x01\x08\x12\x03#\0,\n\t\n\x02\x08\x01\x12\x03#\0,\n\ - \x08\n\x01\x08\x12\x03$\03\n\t\n\x02\x08\x08\x12\x03$\03\n\x08\n\x01\x08\ - \x12\x03%\0\"\n\t\n\x02\x08\n\x12\x03%\0\"\n\x08\n\x01\x08\x12\x03&\0!\n\ - \t\n\x02\x08$\x12\x03&\0!\n\x83\x01\n\x02\x04\0\x12\x04*\0.\x01\x1aw\x20\ - `SourceContext`\x20represents\x20information\x20about\x20the\x20source\ - \x20of\x20a\n\x20protobuf\x20element,\x20like\x20the\x20file\x20in\x20wh\ - ich\x20it\x20is\x20defined.\n\n\n\n\x03\x04\0\x01\x12\x03*\x08\x15\n\xa3\ - \x01\n\x04\x04\0\x02\0\x12\x03-\x02\x17\x1a\x95\x01\x20The\x20path-quali\ - fied\x20name\x20of\x20the\x20.proto\x20file\x20that\x20contained\x20the\ - \x20associated\n\x20protobuf\x20element.\x20\x20For\x20example:\x20`\"go\ - ogle/protobuf/source_context.proto\"`.\n\n\x0c\n\x05\x04\0\x02\0\x05\x12\ - \x03-\x02\x08\n\x0c\n\x05\x04\0\x02\0\x01\x12\x03-\t\x12\n\x0c\n\x05\x04\ - \0\x02\0\x03\x12\x03-\x15\x16b\x06proto3\ + rceContext\x12\x1b\n\tfile_name\x18\x01\x20\x01(\tR\x08fileNameB\x8a\x01\ + \n\x13com.google.protobufB\x12SourceContextProtoP\x01Z6google.golang.org\ + /protobuf/types/known/sourcecontextpb\xa2\x02\x03GPB\xaa\x02\x1eGoogle.P\ + rotobuf.WellKnownTypesJ\xc1\x10\n\x06\x12\x04\x1e\0/\x01\n\xcc\x0c\n\x01\ + \x0c\x12\x03\x1e\0\x122\xc1\x0c\x20Protocol\x20Buffers\x20-\x20Google's\ + \x20data\x20interchange\x20format\n\x20Copyright\x202008\x20Google\x20In\ + c.\x20\x20All\x20rights\x20reserved.\n\x20https://developers.google.com/\ + protocol-buffers/\n\n\x20Redistribution\x20and\x20use\x20in\x20source\ + \x20and\x20binary\x20forms,\x20with\x20or\x20without\n\x20modification,\ + \x20are\x20permitted\x20provided\x20that\x20the\x20following\x20conditio\ + ns\x20are\n\x20met:\n\n\x20\x20\x20\x20\x20*\x20Redistributions\x20of\ + \x20source\x20code\x20must\x20retain\x20the\x20above\x20copyright\n\x20n\ + otice,\x20this\x20list\x20of\x20conditions\x20and\x20the\x20following\ + \x20disclaimer.\n\x20\x20\x20\x20\x20*\x20Redistributions\x20in\x20binar\ + y\x20form\x20must\x20reproduce\x20the\x20above\n\x20copyright\x20notice,\ + \x20this\x20list\x20of\x20conditions\x20and\x20the\x20following\x20discl\ + aimer\n\x20in\x20the\x20documentation\x20and/or\x20other\x20materials\ + \x20provided\x20with\x20the\n\x20distribution.\n\x20\x20\x20\x20\x20*\ + \x20Neither\x20the\x20name\x20of\x20Google\x20Inc.\x20nor\x20the\x20name\ + s\x20of\x20its\n\x20contributors\x20may\x20be\x20used\x20to\x20endorse\ + \x20or\x20promote\x20products\x20derived\x20from\n\x20this\x20software\ + \x20without\x20specific\x20prior\x20written\x20permission.\n\n\x20THIS\ + \x20SOFTWARE\x20IS\x20PROVIDED\x20BY\x20THE\x20COPYRIGHT\x20HOLDERS\x20A\ + ND\x20CONTRIBUTORS\n\x20\"AS\x20IS\"\x20AND\x20ANY\x20EXPRESS\x20OR\x20I\ + MPLIED\x20WARRANTIES,\x20INCLUDING,\x20BUT\x20NOT\n\x20LIMITED\x20TO,\ + \x20THE\x20IMPLIED\x20WARRANTIES\x20OF\x20MERCHANTABILITY\x20AND\x20FITN\ + ESS\x20FOR\n\x20A\x20PARTICULAR\x20PURPOSE\x20ARE\x20DISCLAIMED.\x20IN\ + \x20NO\x20EVENT\x20SHALL\x20THE\x20COPYRIGHT\n\x20OWNER\x20OR\x20CONTRIB\ + UTORS\x20BE\x20LIABLE\x20FOR\x20ANY\x20DIRECT,\x20INDIRECT,\x20INCIDENTA\ + L,\n\x20SPECIAL,\x20EXEMPLARY,\x20OR\x20CONSEQUENTIAL\x20DAMAGES\x20(INC\ + LUDING,\x20BUT\x20NOT\n\x20LIMITED\x20TO,\x20PROCUREMENT\x20OF\x20SUBSTI\ + TUTE\x20GOODS\x20OR\x20SERVICES;\x20LOSS\x20OF\x20USE,\n\x20DATA,\x20OR\ + \x20PROFITS;\x20OR\x20BUSINESS\x20INTERRUPTION)\x20HOWEVER\x20CAUSED\x20\ + AND\x20ON\x20ANY\n\x20THEORY\x20OF\x20LIABILITY,\x20WHETHER\x20IN\x20CON\ + TRACT,\x20STRICT\x20LIABILITY,\x20OR\x20TORT\n\x20(INCLUDING\x20NEGLIGEN\ + CE\x20OR\x20OTHERWISE)\x20ARISING\x20IN\x20ANY\x20WAY\x20OUT\x20OF\x20TH\ + E\x20USE\n\x20OF\x20THIS\x20SOFTWARE,\x20EVEN\x20IF\x20ADVISED\x20OF\x20\ + THE\x20POSSIBILITY\x20OF\x20SUCH\x20DAMAGE.\n\n\x08\n\x01\x02\x12\x03\ + \x20\0\x18\n\x08\n\x01\x08\x12\x03\"\0;\n\t\n\x02\x08%\x12\x03\"\0;\n\ + \x08\n\x01\x08\x12\x03#\0,\n\t\n\x02\x08\x01\x12\x03#\0,\n\x08\n\x01\x08\ + \x12\x03$\03\n\t\n\x02\x08\x08\x12\x03$\03\n\x08\n\x01\x08\x12\x03%\0\"\ + \n\t\n\x02\x08\n\x12\x03%\0\"\n\x08\n\x01\x08\x12\x03&\0!\n\t\n\x02\x08$\ + \x12\x03&\0!\n\x08\n\x01\x08\x12\x03'\0M\n\t\n\x02\x08\x0b\x12\x03'\0M\n\ + \x83\x01\n\x02\x04\0\x12\x04+\0/\x01\x1aw\x20`SourceContext`\x20represen\ + ts\x20information\x20about\x20the\x20source\x20of\x20a\n\x20protobuf\x20\ + element,\x20like\x20the\x20file\x20in\x20which\x20it\x20is\x20defined.\n\ + \n\n\n\x03\x04\0\x01\x12\x03+\x08\x15\n\xa3\x01\n\x04\x04\0\x02\0\x12\ + \x03.\x02\x17\x1a\x95\x01\x20The\x20path-qualified\x20name\x20of\x20the\ + \x20.proto\x20file\x20that\x20contained\x20the\x20associated\n\x20protob\ + uf\x20element.\x20\x20For\x20example:\x20`\"google/protobuf/source_conte\ + xt.proto\"`.\n\n\x0c\n\x05\x04\0\x02\0\x05\x12\x03.\x02\x08\n\x0c\n\x05\ + \x04\0\x02\0\x01\x12\x03.\t\x12\n\x0c\n\x05\x04\0\x02\0\x03\x12\x03.\x15\ + \x16b\x06proto3\ "; static file_descriptor_proto_lazy: crate::rt::LazyV2<crate::descriptor::FileDescriptorProto> = crate::rt::LazyV2::INIT; diff --git a/src/well_known_types/struct_pb.rs b/src/well_known_types/struct_pb.rs index 70db8f3..613fef3 100644 --- a/src/well_known_types/struct_pb.rs +++ b/src/well_known_types/struct_pb.rs @@ -1,4 +1,4 @@ -// This file is generated by rust-protobuf 2.19.0-pre. Do not edit +// This file is generated by rust-protobuf 2.22.0-pre. Do not edit // @generated // https://github.com/rust-lang/rust-clippy/issues/702 @@ -20,7 +20,7 @@ //! Generated file from `google/protobuf/struct.proto` #[derive(PartialEq,Clone,Default)] -#[cfg_attr(feature = "with-serde", derive(Serialize, Deserialize))] +#[cfg_attr(feature = "with-serde", derive(::serde::Serialize, ::serde::Deserialize))] pub struct Struct { // message fields pub fields: ::std::collections::HashMap<::std::string::String, Value>, @@ -177,7 +177,7 @@ impl crate::reflect::ProtobufValue for Struct { } #[derive(PartialEq,Clone,Default)] -#[cfg_attr(feature = "with-serde", derive(Serialize, Deserialize))] +#[cfg_attr(feature = "with-serde", derive(::serde::Serialize, ::serde::Deserialize))] pub struct Value { // message oneof groups pub kind: ::std::option::Option<Value_oneof_kind>, @@ -195,7 +195,7 @@ impl<'a> ::std::default::Default for &'a Value { } #[derive(Clone,PartialEq,Debug)] -#[cfg_attr(feature = "with-serde", derive(Serialize, Deserialize))] +#[cfg_attr(feature = "with-serde", derive(::serde::Serialize, ::serde::Deserialize))] pub enum Value_oneof_kind { null_value(NullValue), number_value(f64), @@ -663,7 +663,7 @@ impl crate::reflect::ProtobufValue for Value { } #[derive(PartialEq,Clone,Default)] -#[cfg_attr(feature = "with-serde", derive(Serialize, Deserialize))] +#[cfg_attr(feature = "with-serde", derive(::serde::Serialize, ::serde::Deserialize))] pub struct ListValue { // message fields pub values: crate::RepeatedField<Value>, @@ -832,7 +832,7 @@ impl crate::reflect::ProtobufValue for ListValue { } #[derive(Clone,PartialEq,Eq,Debug,Hash)] -#[cfg_attr(feature = "with-serde", derive(Serialize, Deserialize))] +#[cfg_attr(feature = "with-serde", derive(::serde::Serialize, ::serde::Deserialize))] pub enum NullValue { NULL_VALUE = 0, } @@ -893,13 +893,13 @@ static file_descriptor_proto_data: &'static [u8] = b"\ lue\x18\x06\x20\x01(\x0b2\x1a.google.protobuf.ListValueH\0R\tlistValueB\ \x06\n\x04kind\";\n\tListValue\x12.\n\x06values\x18\x01\x20\x03(\x0b2\ \x16.google.protobuf.ValueR\x06values*\x1b\n\tNullValue\x12\x0e\n\nNULL_\ - VALUE\x10\0B\x81\x01\n\x13com.google.protobufB\x0bStructProtoP\x01Z1gith\ - ub.com/golang/protobuf/ptypes/struct;structpb\xf8\x01\x01\xa2\x02\x03GPB\ - \xaa\x02\x1eGoogle.Protobuf.WellKnownTypesJ\x99\x1d\n\x06\x12\x04\x1e\0_\ - \x01\n\xcc\x0c\n\x01\x0c\x12\x03\x1e\0\x122\xc1\x0c\x20Protocol\x20Buffe\ - rs\x20-\x20Google's\x20data\x20interchange\x20format\n\x20Copyright\x202\ - 008\x20Google\x20Inc.\x20\x20All\x20rights\x20reserved.\n\x20https://dev\ - elopers.google.com/protocol-buffers/\n\n\x20Redistribution\x20and\x20use\ + VALUE\x10\0B\x7f\n\x13com.google.protobufB\x0bStructProtoP\x01Z/google.g\ + olang.org/protobuf/types/known/structpb\xf8\x01\x01\xa2\x02\x03GPB\xaa\ + \x02\x1eGoogle.Protobuf.WellKnownTypesJ\x99\x1d\n\x06\x12\x04\x1e\0^\x01\ + \n\xcc\x0c\n\x01\x0c\x12\x03\x1e\0\x122\xc1\x0c\x20Protocol\x20Buffers\ + \x20-\x20Google's\x20data\x20interchange\x20format\n\x20Copyright\x20200\ + 8\x20Google\x20Inc.\x20\x20All\x20rights\x20reserved.\n\x20https://devel\ + opers.google.com/protocol-buffers/\n\n\x20Redistribution\x20and\x20use\ \x20in\x20source\x20and\x20binary\x20forms,\x20with\x20or\x20without\n\ \x20modification,\x20are\x20permitted\x20provided\x20that\x20the\x20foll\ owing\x20conditions\x20are\n\x20met:\n\n\x20\x20\x20\x20\x20*\x20Redistr\ @@ -932,11 +932,11 @@ static file_descriptor_proto_data: &'static [u8] = b"\ ED\x20OF\x20THE\x20POSSIBILITY\x20OF\x20SUCH\x20DAMAGE.\n\n\x08\n\x01\ \x02\x12\x03\x20\0\x18\n\x08\n\x01\x08\x12\x03\"\0;\n\t\n\x02\x08%\x12\ \x03\"\0;\n\x08\n\x01\x08\x12\x03#\0\x1f\n\t\n\x02\x08\x1f\x12\x03#\0\ - \x1f\n\x08\n\x01\x08\x12\x03$\0H\n\t\n\x02\x08\x0b\x12\x03$\0H\n\x08\n\ + \x1f\n\x08\n\x01\x08\x12\x03$\0F\n\t\n\x02\x08\x0b\x12\x03$\0F\n\x08\n\ \x01\x08\x12\x03%\0,\n\t\n\x02\x08\x01\x12\x03%\0,\n\x08\n\x01\x08\x12\ \x03&\0,\n\t\n\x02\x08\x08\x12\x03&\0,\n\x08\n\x01\x08\x12\x03'\0\"\n\t\ \n\x02\x08\n\x12\x03'\0\"\n\x08\n\x01\x08\x12\x03(\0!\n\t\n\x02\x08$\x12\ - \x03(\0!\n\xb3\x03\n\x02\x04\0\x12\x043\06\x01\x1a\xa6\x03\x20`Struct`\ + \x03(\0!\n\xb3\x03\n\x02\x04\0\x12\x042\05\x01\x1a\xa6\x03\x20`Struct`\ \x20represents\x20a\x20structured\x20data\x20value,\x20consisting\x20of\ \x20fields\n\x20which\x20map\x20to\x20dynamically\x20typed\x20values.\ \x20In\x20some\x20languages,\x20`Struct`\n\x20might\x20be\x20supported\ @@ -945,11 +945,11 @@ static file_descriptor_proto_data: &'static [u8] = b"\ \x20as\x20an\n\x20object.\x20The\x20details\x20of\x20that\x20representat\ ion\x20are\x20described\x20together\n\x20with\x20the\x20proto\x20support\ \x20for\x20the\x20language.\n\n\x20The\x20JSON\x20representation\x20for\ - \x20`Struct`\x20is\x20JSON\x20object.\n\n\n\n\x03\x04\0\x01\x12\x033\x08\ - \x0e\n9\n\x04\x04\0\x02\0\x12\x035\x02\x20\x1a,\x20Unordered\x20map\x20o\ + \x20`Struct`\x20is\x20JSON\x20object.\n\n\n\n\x03\x04\0\x01\x12\x032\x08\ + \x0e\n9\n\x04\x04\0\x02\0\x12\x034\x02\x20\x1a,\x20Unordered\x20map\x20o\ f\x20dynamically\x20typed\x20values.\n\n\x0c\n\x05\x04\0\x02\0\x06\x12\ - \x035\x02\x14\n\x0c\n\x05\x04\0\x02\0\x01\x12\x035\x15\x1b\n\x0c\n\x05\ - \x04\0\x02\0\x03\x12\x035\x1e\x1f\n\xc3\x02\n\x02\x04\x01\x12\x04>\0N\ + \x034\x02\x14\n\x0c\n\x05\x04\0\x02\0\x01\x12\x034\x15\x1b\n\x0c\n\x05\ + \x04\0\x02\0\x03\x12\x034\x1e\x1f\n\xc3\x02\n\x02\x04\x01\x12\x04=\0M\ \x01\x1a\xb6\x02\x20`Value`\x20represents\x20a\x20dynamically\x20typed\ \x20value\x20which\x20can\x20be\x20either\n\x20null,\x20a\x20number,\x20\ a\x20string,\x20a\x20boolean,\x20a\x20recursive\x20struct\x20value,\x20o\ @@ -957,43 +957,43 @@ static file_descriptor_proto_data: &'static [u8] = b"\ \x20expected\x20to\x20set\x20one\x20of\x20that\n\x20variants,\x20absence\ \x20of\x20any\x20variant\x20indicates\x20an\x20error.\n\n\x20The\x20JSON\ \x20representation\x20for\x20`Value`\x20is\x20JSON\x20value.\n\n\n\n\x03\ - \x04\x01\x01\x12\x03>\x08\r\n\"\n\x04\x04\x01\x08\0\x12\x04@\x02M\x03\ + \x04\x01\x01\x12\x03=\x08\r\n\"\n\x04\x04\x01\x08\0\x12\x04?\x02L\x03\ \x1a\x14\x20The\x20kind\x20of\x20value.\n\n\x0c\n\x05\x04\x01\x08\0\x01\ - \x12\x03@\x08\x0c\n'\n\x04\x04\x01\x02\0\x12\x03B\x04\x1d\x1a\x1a\x20Rep\ - resents\x20a\x20null\x20value.\n\n\x0c\n\x05\x04\x01\x02\0\x06\x12\x03B\ - \x04\r\n\x0c\n\x05\x04\x01\x02\0\x01\x12\x03B\x0e\x18\n\x0c\n\x05\x04\ - \x01\x02\0\x03\x12\x03B\x1b\x1c\n)\n\x04\x04\x01\x02\x01\x12\x03D\x04\ + \x12\x03?\x08\x0c\n'\n\x04\x04\x01\x02\0\x12\x03A\x04\x1d\x1a\x1a\x20Rep\ + resents\x20a\x20null\x20value.\n\n\x0c\n\x05\x04\x01\x02\0\x06\x12\x03A\ + \x04\r\n\x0c\n\x05\x04\x01\x02\0\x01\x12\x03A\x0e\x18\n\x0c\n\x05\x04\ + \x01\x02\0\x03\x12\x03A\x1b\x1c\n)\n\x04\x04\x01\x02\x01\x12\x03C\x04\ \x1c\x1a\x1c\x20Represents\x20a\x20double\x20value.\n\n\x0c\n\x05\x04\ - \x01\x02\x01\x05\x12\x03D\x04\n\n\x0c\n\x05\x04\x01\x02\x01\x01\x12\x03D\ - \x0b\x17\n\x0c\n\x05\x04\x01\x02\x01\x03\x12\x03D\x1a\x1b\n)\n\x04\x04\ - \x01\x02\x02\x12\x03F\x04\x1c\x1a\x1c\x20Represents\x20a\x20string\x20va\ - lue.\n\n\x0c\n\x05\x04\x01\x02\x02\x05\x12\x03F\x04\n\n\x0c\n\x05\x04\ - \x01\x02\x02\x01\x12\x03F\x0b\x17\n\x0c\n\x05\x04\x01\x02\x02\x03\x12\ - \x03F\x1a\x1b\n*\n\x04\x04\x01\x02\x03\x12\x03H\x04\x18\x1a\x1d\x20Repre\ + \x01\x02\x01\x05\x12\x03C\x04\n\n\x0c\n\x05\x04\x01\x02\x01\x01\x12\x03C\ + \x0b\x17\n\x0c\n\x05\x04\x01\x02\x01\x03\x12\x03C\x1a\x1b\n)\n\x04\x04\ + \x01\x02\x02\x12\x03E\x04\x1c\x1a\x1c\x20Represents\x20a\x20string\x20va\ + lue.\n\n\x0c\n\x05\x04\x01\x02\x02\x05\x12\x03E\x04\n\n\x0c\n\x05\x04\ + \x01\x02\x02\x01\x12\x03E\x0b\x17\n\x0c\n\x05\x04\x01\x02\x02\x03\x12\ + \x03E\x1a\x1b\n*\n\x04\x04\x01\x02\x03\x12\x03G\x04\x18\x1a\x1d\x20Repre\ sents\x20a\x20boolean\x20value.\n\n\x0c\n\x05\x04\x01\x02\x03\x05\x12\ - \x03H\x04\x08\n\x0c\n\x05\x04\x01\x02\x03\x01\x12\x03H\t\x13\n\x0c\n\x05\ - \x04\x01\x02\x03\x03\x12\x03H\x16\x17\n-\n\x04\x04\x01\x02\x04\x12\x03J\ + \x03G\x04\x08\n\x0c\n\x05\x04\x01\x02\x03\x01\x12\x03G\t\x13\n\x0c\n\x05\ + \x04\x01\x02\x03\x03\x12\x03G\x16\x17\n-\n\x04\x04\x01\x02\x04\x12\x03I\ \x04\x1c\x1a\x20\x20Represents\x20a\x20structured\x20value.\n\n\x0c\n\ - \x05\x04\x01\x02\x04\x06\x12\x03J\x04\n\n\x0c\n\x05\x04\x01\x02\x04\x01\ - \x12\x03J\x0b\x17\n\x0c\n\x05\x04\x01\x02\x04\x03\x12\x03J\x1a\x1b\n-\n\ - \x04\x04\x01\x02\x05\x12\x03L\x04\x1d\x1a\x20\x20Represents\x20a\x20repe\ - ated\x20`Value`.\n\n\x0c\n\x05\x04\x01\x02\x05\x06\x12\x03L\x04\r\n\x0c\ - \n\x05\x04\x01\x02\x05\x01\x12\x03L\x0e\x18\n\x0c\n\x05\x04\x01\x02\x05\ - \x03\x12\x03L\x1b\x1c\n\xa9\x01\n\x02\x05\0\x12\x04T\0W\x01\x1a\x9c\x01\ + \x05\x04\x01\x02\x04\x06\x12\x03I\x04\n\n\x0c\n\x05\x04\x01\x02\x04\x01\ + \x12\x03I\x0b\x17\n\x0c\n\x05\x04\x01\x02\x04\x03\x12\x03I\x1a\x1b\n-\n\ + \x04\x04\x01\x02\x05\x12\x03K\x04\x1d\x1a\x20\x20Represents\x20a\x20repe\ + ated\x20`Value`.\n\n\x0c\n\x05\x04\x01\x02\x05\x06\x12\x03K\x04\r\n\x0c\ + \n\x05\x04\x01\x02\x05\x01\x12\x03K\x0e\x18\n\x0c\n\x05\x04\x01\x02\x05\ + \x03\x12\x03K\x1b\x1c\n\xa9\x01\n\x02\x05\0\x12\x04S\0V\x01\x1a\x9c\x01\ \x20`NullValue`\x20is\x20a\x20singleton\x20enumeration\x20to\x20represen\ t\x20the\x20null\x20value\x20for\x20the\n\x20`Value`\x20type\x20union.\n\ \n\x20\x20The\x20JSON\x20representation\x20for\x20`NullValue`\x20is\x20J\ - SON\x20`null`.\n\n\n\n\x03\x05\0\x01\x12\x03T\x05\x0e\n\x1a\n\x04\x05\0\ - \x02\0\x12\x03V\x02\x11\x1a\r\x20Null\x20value.\n\n\x0c\n\x05\x05\0\x02\ - \0\x01\x12\x03V\x02\x0c\n\x0c\n\x05\x05\0\x02\0\x02\x12\x03V\x0f\x10\n\ - \x82\x01\n\x02\x04\x02\x12\x04\\\0_\x01\x1av\x20`ListValue`\x20is\x20a\ + SON\x20`null`.\n\n\n\n\x03\x05\0\x01\x12\x03S\x05\x0e\n\x1a\n\x04\x05\0\ + \x02\0\x12\x03U\x02\x11\x1a\r\x20Null\x20value.\n\n\x0c\n\x05\x05\0\x02\ + \0\x01\x12\x03U\x02\x0c\n\x0c\n\x05\x05\0\x02\0\x02\x12\x03U\x0f\x10\n\ + \x82\x01\n\x02\x04\x02\x12\x04[\0^\x01\x1av\x20`ListValue`\x20is\x20a\ \x20wrapper\x20around\x20a\x20repeated\x20field\x20of\x20values.\n\n\x20\ The\x20JSON\x20representation\x20for\x20`ListValue`\x20is\x20JSON\x20arr\ - ay.\n\n\n\n\x03\x04\x02\x01\x12\x03\\\x08\x11\n:\n\x04\x04\x02\x02\0\x12\ - \x03^\x02\x1c\x1a-\x20Repeated\x20field\x20of\x20dynamically\x20typed\ - \x20values.\n\n\x0c\n\x05\x04\x02\x02\0\x04\x12\x03^\x02\n\n\x0c\n\x05\ - \x04\x02\x02\0\x06\x12\x03^\x0b\x10\n\x0c\n\x05\x04\x02\x02\0\x01\x12\ - \x03^\x11\x17\n\x0c\n\x05\x04\x02\x02\0\x03\x12\x03^\x1a\x1bb\x06proto3\ + ay.\n\n\n\n\x03\x04\x02\x01\x12\x03[\x08\x11\n:\n\x04\x04\x02\x02\0\x12\ + \x03]\x02\x1c\x1a-\x20Repeated\x20field\x20of\x20dynamically\x20typed\ + \x20values.\n\n\x0c\n\x05\x04\x02\x02\0\x04\x12\x03]\x02\n\n\x0c\n\x05\ + \x04\x02\x02\0\x06\x12\x03]\x0b\x10\n\x0c\n\x05\x04\x02\x02\0\x01\x12\ + \x03]\x11\x17\n\x0c\n\x05\x04\x02\x02\0\x03\x12\x03]\x1a\x1bb\x06proto3\ "; static file_descriptor_proto_lazy: crate::rt::LazyV2<crate::descriptor::FileDescriptorProto> = crate::rt::LazyV2::INIT; diff --git a/src/well_known_types/timestamp.rs b/src/well_known_types/timestamp.rs index 9c72377..0d48c7e 100644 --- a/src/well_known_types/timestamp.rs +++ b/src/well_known_types/timestamp.rs @@ -1,4 +1,4 @@ -// This file is generated by rust-protobuf 2.19.0-pre. Do not edit +// This file is generated by rust-protobuf 2.22.0-pre. Do not edit // @generated // https://github.com/rust-lang/rust-clippy/issues/702 @@ -20,7 +20,7 @@ //! Generated file from `google/protobuf/timestamp.proto` #[derive(PartialEq,Clone,Default)] -#[cfg_attr(feature = "with-serde", derive(Serialize, Deserialize))] +#[cfg_attr(feature = "with-serde", derive(::serde::Serialize, ::serde::Deserialize))] pub struct Timestamp { // message fields pub seconds: i64, @@ -212,105 +212,142 @@ impl crate::reflect::ProtobufValue for Timestamp { static file_descriptor_proto_data: &'static [u8] = b"\ \n\x1fgoogle/protobuf/timestamp.proto\x12\x0fgoogle.protobuf\";\n\tTimes\ tamp\x12\x18\n\x07seconds\x18\x01\x20\x01(\x03R\x07seconds\x12\x14\n\x05\ - nanos\x18\x02\x20\x01(\x05R\x05nanosB~\n\x13com.google.protobufB\x0eTime\ - stampProtoP\x01Z+github.com/golang/protobuf/ptypes/timestamp\xf8\x01\x01\ - \xa2\x02\x03GPB\xaa\x02\x1eGoogle.Protobuf.WellKnownTypesJ\x95!\n\x06\ - \x12\x04\x1e\0k\x01\n\xcc\x0c\n\x01\x0c\x12\x03\x1e\0\x122\xc1\x0c\x20Pr\ - otocol\x20Buffers\x20-\x20Google's\x20data\x20interchange\x20format\n\ - \x20Copyright\x202008\x20Google\x20Inc.\x20\x20All\x20rights\x20reserved\ - .\n\x20https://developers.google.com/protocol-buffers/\n\n\x20Redistribu\ - tion\x20and\x20use\x20in\x20source\x20and\x20binary\x20forms,\x20with\ - \x20or\x20without\n\x20modification,\x20are\x20permitted\x20provided\x20\ - that\x20the\x20following\x20conditions\x20are\n\x20met:\n\n\x20\x20\x20\ - \x20\x20*\x20Redistributions\x20of\x20source\x20code\x20must\x20retain\ - \x20the\x20above\x20copyright\n\x20notice,\x20this\x20list\x20of\x20cond\ - itions\x20and\x20the\x20following\x20disclaimer.\n\x20\x20\x20\x20\x20*\ - \x20Redistributions\x20in\x20binary\x20form\x20must\x20reproduce\x20the\ - \x20above\n\x20copyright\x20notice,\x20this\x20list\x20of\x20conditions\ - \x20and\x20the\x20following\x20disclaimer\n\x20in\x20the\x20documentatio\ - n\x20and/or\x20other\x20materials\x20provided\x20with\x20the\n\x20distri\ - bution.\n\x20\x20\x20\x20\x20*\x20Neither\x20the\x20name\x20of\x20Google\ - \x20Inc.\x20nor\x20the\x20names\x20of\x20its\n\x20contributors\x20may\ - \x20be\x20used\x20to\x20endorse\x20or\x20promote\x20products\x20derived\ - \x20from\n\x20this\x20software\x20without\x20specific\x20prior\x20writte\ - n\x20permission.\n\n\x20THIS\x20SOFTWARE\x20IS\x20PROVIDED\x20BY\x20THE\ - \x20COPYRIGHT\x20HOLDERS\x20AND\x20CONTRIBUTORS\n\x20\"AS\x20IS\"\x20AND\ - \x20ANY\x20EXPRESS\x20OR\x20IMPLIED\x20WARRANTIES,\x20INCLUDING,\x20BUT\ - \x20NOT\n\x20LIMITED\x20TO,\x20THE\x20IMPLIED\x20WARRANTIES\x20OF\x20MER\ - CHANTABILITY\x20AND\x20FITNESS\x20FOR\n\x20A\x20PARTICULAR\x20PURPOSE\ - \x20ARE\x20DISCLAIMED.\x20IN\x20NO\x20EVENT\x20SHALL\x20THE\x20COPYRIGHT\ - \n\x20OWNER\x20OR\x20CONTRIBUTORS\x20BE\x20LIABLE\x20FOR\x20ANY\x20DIREC\ - T,\x20INDIRECT,\x20INCIDENTAL,\n\x20SPECIAL,\x20EXEMPLARY,\x20OR\x20CONS\ - EQUENTIAL\x20DAMAGES\x20(INCLUDING,\x20BUT\x20NOT\n\x20LIMITED\x20TO,\ - \x20PROCUREMENT\x20OF\x20SUBSTITUTE\x20GOODS\x20OR\x20SERVICES;\x20LOSS\ - \x20OF\x20USE,\n\x20DATA,\x20OR\x20PROFITS;\x20OR\x20BUSINESS\x20INTERRU\ - PTION)\x20HOWEVER\x20CAUSED\x20AND\x20ON\x20ANY\n\x20THEORY\x20OF\x20LIA\ - BILITY,\x20WHETHER\x20IN\x20CONTRACT,\x20STRICT\x20LIABILITY,\x20OR\x20T\ - ORT\n\x20(INCLUDING\x20NEGLIGENCE\x20OR\x20OTHERWISE)\x20ARISING\x20IN\ - \x20ANY\x20WAY\x20OUT\x20OF\x20THE\x20USE\n\x20OF\x20THIS\x20SOFTWARE,\ - \x20EVEN\x20IF\x20ADVISED\x20OF\x20THE\x20POSSIBILITY\x20OF\x20SUCH\x20D\ - AMAGE.\n\n\x08\n\x01\x02\x12\x03\x20\0\x18\n\x08\n\x01\x08\x12\x03\"\0;\ - \n\t\n\x02\x08%\x12\x03\"\0;\n\x08\n\x01\x08\x12\x03#\0\x1f\n\t\n\x02\ - \x08\x1f\x12\x03#\0\x1f\n\x08\n\x01\x08\x12\x03$\0B\n\t\n\x02\x08\x0b\ - \x12\x03$\0B\n\x08\n\x01\x08\x12\x03%\0,\n\t\n\x02\x08\x01\x12\x03%\0,\n\ - \x08\n\x01\x08\x12\x03&\0/\n\t\n\x02\x08\x08\x12\x03&\0/\n\x08\n\x01\x08\ - \x12\x03'\0\"\n\t\n\x02\x08\n\x12\x03'\0\"\n\x08\n\x01\x08\x12\x03(\0!\n\ - \t\n\x02\x08$\x12\x03(\0!\n\xb8\x0f\n\x02\x04\0\x12\x04_\0k\x01\x1a\xab\ - \x0f\x20A\x20Timestamp\x20represents\x20a\x20point\x20in\x20time\x20inde\ - pendent\x20of\x20any\x20time\x20zone\n\x20or\x20calendar,\x20represented\ - \x20as\x20seconds\x20and\x20fractions\x20of\x20seconds\x20at\n\x20nanose\ - cond\x20resolution\x20in\x20UTC\x20Epoch\x20time.\x20It\x20is\x20encoded\ - \x20using\x20the\n\x20Proleptic\x20Gregorian\x20Calendar\x20which\x20ext\ - ends\x20the\x20Gregorian\x20calendar\n\x20backwards\x20to\x20year\x20one\ - .\x20It\x20is\x20encoded\x20assuming\x20all\x20minutes\x20are\x2060\n\ - \x20seconds\x20long,\x20i.e.\x20leap\x20seconds\x20are\x20\"smeared\"\ - \x20so\x20that\x20no\x20leap\x20second\n\x20table\x20is\x20needed\x20for\ - \x20interpretation.\x20Range\x20is\x20from\n\x200001-01-01T00:00:00Z\x20\ - to\x209999-12-31T23:59:59.999999999Z.\n\x20By\x20restricting\x20to\x20th\ - at\x20range,\x20we\x20ensure\x20that\x20we\x20can\x20convert\x20to\n\x20\ - and\x20from\x20\x20RFC\x203339\x20date\x20strings.\n\x20See\x20[https://\ - www.ietf.org/rfc/rfc3339.txt](https://www.ietf.org/rfc/rfc3339.txt).\n\n\ - \x20Example\x201:\x20Compute\x20Timestamp\x20from\x20POSIX\x20`time()`.\ - \n\n\x20\x20\x20\x20\x20Timestamp\x20timestamp;\n\x20\x20\x20\x20\x20tim\ - estamp.set_seconds(time(NULL));\n\x20\x20\x20\x20\x20timestamp.set_nanos\ - (0);\n\n\x20Example\x202:\x20Compute\x20Timestamp\x20from\x20POSIX\x20`g\ - ettimeofday()`.\n\n\x20\x20\x20\x20\x20struct\x20timeval\x20tv;\n\x20\ - \x20\x20\x20\x20gettimeofday(&tv,\x20NULL);\n\n\x20\x20\x20\x20\x20Times\ - tamp\x20timestamp;\n\x20\x20\x20\x20\x20timestamp.set_seconds(tv.tv_sec)\ - ;\n\x20\x20\x20\x20\x20timestamp.set_nanos(tv.tv_usec\x20*\x201000);\n\n\ - \x20Example\x203:\x20Compute\x20Timestamp\x20from\x20Win32\x20`GetSystem\ - TimeAsFileTime()`.\n\n\x20\x20\x20\x20\x20FILETIME\x20ft;\n\x20\x20\x20\ - \x20\x20GetSystemTimeAsFileTime(&ft);\n\x20\x20\x20\x20\x20UINT64\x20tic\ - ks\x20=\x20(((UINT64)ft.dwHighDateTime)\x20<<\x2032)\x20|\x20ft.dwLowDat\ - eTime;\n\n\x20\x20\x20\x20\x20//\x20A\x20Windows\x20tick\x20is\x20100\ - \x20nanoseconds.\x20Windows\x20epoch\x201601-01-01T00:00:00Z\n\x20\x20\ - \x20\x20\x20//\x20is\x2011644473600\x20seconds\x20before\x20Unix\x20epoc\ - h\x201970-01-01T00:00:00Z.\n\x20\x20\x20\x20\x20Timestamp\x20timestamp;\ - \n\x20\x20\x20\x20\x20timestamp.set_seconds((INT64)\x20((ticks\x20/\x201\ - 0000000)\x20-\x2011644473600LL));\n\x20\x20\x20\x20\x20timestamp.set_nan\ - os((INT32)\x20((ticks\x20%\x2010000000)\x20*\x20100));\n\n\x20Example\ - \x204:\x20Compute\x20Timestamp\x20from\x20Java\x20`System.currentTimeMil\ - lis()`.\n\n\x20\x20\x20\x20\x20long\x20millis\x20=\x20System.currentTime\ - Millis();\n\n\x20\x20\x20\x20\x20Timestamp\x20timestamp\x20=\x20Timestam\ - p.newBuilder().setSeconds(millis\x20/\x201000)\n\x20\x20\x20\x20\x20\x20\ - \x20\x20\x20.setNanos((int)\x20((millis\x20%\x201000)\x20*\x201000000)).\ - build();\n\n\n\x20Example\x205:\x20Compute\x20Timestamp\x20from\x20curre\ - nt\x20time\x20in\x20Python.\n\n\x20\x20\x20\x20\x20timestamp\x20=\x20Tim\ - estamp()\n\x20\x20\x20\x20\x20timestamp.GetCurrentTime()\n\n\n\n\n\n\x03\ - \x04\0\x01\x12\x03_\x08\x11\n\x9c\x01\n\x04\x04\0\x02\0\x12\x03d\x02\x14\ + nanos\x18\x02\x20\x01(\x05R\x05nanosB\x85\x01\n\x13com.google.protobufB\ + \x0eTimestampProtoP\x01Z2google.golang.org/protobuf/types/known/timestam\ + ppb\xf8\x01\x01\xa2\x02\x03GPB\xaa\x02\x1eGoogle.Protobuf.WellKnownTypes\ + J\xc5/\n\x07\x12\x05\x1e\0\x92\x01\x01\n\xcc\x0c\n\x01\x0c\x12\x03\x1e\0\ + \x122\xc1\x0c\x20Protocol\x20Buffers\x20-\x20Google's\x20data\x20interch\ + ange\x20format\n\x20Copyright\x202008\x20Google\x20Inc.\x20\x20All\x20ri\ + ghts\x20reserved.\n\x20https://developers.google.com/protocol-buffers/\n\ + \n\x20Redistribution\x20and\x20use\x20in\x20source\x20and\x20binary\x20f\ + orms,\x20with\x20or\x20without\n\x20modification,\x20are\x20permitted\ + \x20provided\x20that\x20the\x20following\x20conditions\x20are\n\x20met:\ + \n\n\x20\x20\x20\x20\x20*\x20Redistributions\x20of\x20source\x20code\x20\ + must\x20retain\x20the\x20above\x20copyright\n\x20notice,\x20this\x20list\ + \x20of\x20conditions\x20and\x20the\x20following\x20disclaimer.\n\x20\x20\ + \x20\x20\x20*\x20Redistributions\x20in\x20binary\x20form\x20must\x20repr\ + oduce\x20the\x20above\n\x20copyright\x20notice,\x20this\x20list\x20of\ + \x20conditions\x20and\x20the\x20following\x20disclaimer\n\x20in\x20the\ + \x20documentation\x20and/or\x20other\x20materials\x20provided\x20with\ + \x20the\n\x20distribution.\n\x20\x20\x20\x20\x20*\x20Neither\x20the\x20n\ + ame\x20of\x20Google\x20Inc.\x20nor\x20the\x20names\x20of\x20its\n\x20con\ + tributors\x20may\x20be\x20used\x20to\x20endorse\x20or\x20promote\x20prod\ + ucts\x20derived\x20from\n\x20this\x20software\x20without\x20specific\x20\ + prior\x20written\x20permission.\n\n\x20THIS\x20SOFTWARE\x20IS\x20PROVIDE\ + D\x20BY\x20THE\x20COPYRIGHT\x20HOLDERS\x20AND\x20CONTRIBUTORS\n\x20\"AS\ + \x20IS\"\x20AND\x20ANY\x20EXPRESS\x20OR\x20IMPLIED\x20WARRANTIES,\x20INC\ + LUDING,\x20BUT\x20NOT\n\x20LIMITED\x20TO,\x20THE\x20IMPLIED\x20WARRANTIE\ + S\x20OF\x20MERCHANTABILITY\x20AND\x20FITNESS\x20FOR\n\x20A\x20PARTICULAR\ + \x20PURPOSE\x20ARE\x20DISCLAIMED.\x20IN\x20NO\x20EVENT\x20SHALL\x20THE\ + \x20COPYRIGHT\n\x20OWNER\x20OR\x20CONTRIBUTORS\x20BE\x20LIABLE\x20FOR\ + \x20ANY\x20DIRECT,\x20INDIRECT,\x20INCIDENTAL,\n\x20SPECIAL,\x20EXEMPLAR\ + Y,\x20OR\x20CONSEQUENTIAL\x20DAMAGES\x20(INCLUDING,\x20BUT\x20NOT\n\x20L\ + IMITED\x20TO,\x20PROCUREMENT\x20OF\x20SUBSTITUTE\x20GOODS\x20OR\x20SERVI\ + CES;\x20LOSS\x20OF\x20USE,\n\x20DATA,\x20OR\x20PROFITS;\x20OR\x20BUSINES\ + S\x20INTERRUPTION)\x20HOWEVER\x20CAUSED\x20AND\x20ON\x20ANY\n\x20THEORY\ + \x20OF\x20LIABILITY,\x20WHETHER\x20IN\x20CONTRACT,\x20STRICT\x20LIABILIT\ + Y,\x20OR\x20TORT\n\x20(INCLUDING\x20NEGLIGENCE\x20OR\x20OTHERWISE)\x20AR\ + ISING\x20IN\x20ANY\x20WAY\x20OUT\x20OF\x20THE\x20USE\n\x20OF\x20THIS\x20\ + SOFTWARE,\x20EVEN\x20IF\x20ADVISED\x20OF\x20THE\x20POSSIBILITY\x20OF\x20\ + SUCH\x20DAMAGE.\n\n\x08\n\x01\x02\x12\x03\x20\0\x18\n\x08\n\x01\x08\x12\ + \x03\"\0;\n\t\n\x02\x08%\x12\x03\"\0;\n\x08\n\x01\x08\x12\x03#\0\x1f\n\t\ + \n\x02\x08\x1f\x12\x03#\0\x1f\n\x08\n\x01\x08\x12\x03$\0I\n\t\n\x02\x08\ + \x0b\x12\x03$\0I\n\x08\n\x01\x08\x12\x03%\0,\n\t\n\x02\x08\x01\x12\x03%\ + \0,\n\x08\n\x01\x08\x12\x03&\0/\n\t\n\x02\x08\x08\x12\x03&\0/\n\x08\n\ + \x01\x08\x12\x03'\0\"\n\t\n\x02\x08\n\x12\x03'\0\"\n\x08\n\x01\x08\x12\ + \x03(\0!\n\t\n\x02\x08$\x12\x03(\0!\n\xde\x1d\n\x02\x04\0\x12\x06\x87\ + \x01\0\x92\x01\x01\x1a\xcf\x1d\x20A\x20Timestamp\x20represents\x20a\x20p\ + oint\x20in\x20time\x20independent\x20of\x20any\x20time\x20zone\x20or\x20\ + local\n\x20calendar,\x20encoded\x20as\x20a\x20count\x20of\x20seconds\x20\ + and\x20fractions\x20of\x20seconds\x20at\n\x20nanosecond\x20resolution.\ + \x20The\x20count\x20is\x20relative\x20to\x20an\x20epoch\x20at\x20UTC\x20\ + midnight\x20on\n\x20January\x201,\x201970,\x20in\x20the\x20proleptic\x20\ + Gregorian\x20calendar\x20which\x20extends\x20the\n\x20Gregorian\x20calen\ + dar\x20backwards\x20to\x20year\x20one.\n\n\x20All\x20minutes\x20are\x206\ + 0\x20seconds\x20long.\x20Leap\x20seconds\x20are\x20\"smeared\"\x20so\x20\ + that\x20no\x20leap\n\x20second\x20table\x20is\x20needed\x20for\x20interp\ + retation,\x20using\x20a\x20[24-hour\x20linear\n\x20smear](https://develo\ + pers.google.com/time/smear).\n\n\x20The\x20range\x20is\x20from\x200001-0\ + 1-01T00:00:00Z\x20to\x209999-12-31T23:59:59.999999999Z.\x20By\n\x20restr\ + icting\x20to\x20that\x20range,\x20we\x20ensure\x20that\x20we\x20can\x20c\ + onvert\x20to\x20and\x20from\x20[RFC\n\x203339](https://www.ietf.org/rfc/\ + rfc3339.txt)\x20date\x20strings.\n\n\x20#\x20Examples\n\n\x20Example\x20\ + 1:\x20Compute\x20Timestamp\x20from\x20POSIX\x20`time()`.\n\n\x20\x20\x20\ + \x20\x20Timestamp\x20timestamp;\n\x20\x20\x20\x20\x20timestamp.set_secon\ + ds(time(NULL));\n\x20\x20\x20\x20\x20timestamp.set_nanos(0);\n\n\x20Exam\ + ple\x202:\x20Compute\x20Timestamp\x20from\x20POSIX\x20`gettimeofday()`.\ + \n\n\x20\x20\x20\x20\x20struct\x20timeval\x20tv;\n\x20\x20\x20\x20\x20ge\ + ttimeofday(&tv,\x20NULL);\n\n\x20\x20\x20\x20\x20Timestamp\x20timestamp;\ + \n\x20\x20\x20\x20\x20timestamp.set_seconds(tv.tv_sec);\n\x20\x20\x20\ + \x20\x20timestamp.set_nanos(tv.tv_usec\x20*\x201000);\n\n\x20Example\x20\ + 3:\x20Compute\x20Timestamp\x20from\x20Win32\x20`GetSystemTimeAsFileTime(\ + )`.\n\n\x20\x20\x20\x20\x20FILETIME\x20ft;\n\x20\x20\x20\x20\x20GetSyste\ + mTimeAsFileTime(&ft);\n\x20\x20\x20\x20\x20UINT64\x20ticks\x20=\x20(((UI\ + NT64)ft.dwHighDateTime)\x20<<\x2032)\x20|\x20ft.dwLowDateTime;\n\n\x20\ + \x20\x20\x20\x20//\x20A\x20Windows\x20tick\x20is\x20100\x20nanoseconds.\ + \x20Windows\x20epoch\x201601-01-01T00:00:00Z\n\x20\x20\x20\x20\x20//\x20\ + is\x2011644473600\x20seconds\x20before\x20Unix\x20epoch\x201970-01-01T00\ + :00:00Z.\n\x20\x20\x20\x20\x20Timestamp\x20timestamp;\n\x20\x20\x20\x20\ + \x20timestamp.set_seconds((INT64)\x20((ticks\x20/\x2010000000)\x20-\x201\ + 1644473600LL));\n\x20\x20\x20\x20\x20timestamp.set_nanos((INT32)\x20((ti\ + cks\x20%\x2010000000)\x20*\x20100));\n\n\x20Example\x204:\x20Compute\x20\ + Timestamp\x20from\x20Java\x20`System.currentTimeMillis()`.\n\n\x20\x20\ + \x20\x20\x20long\x20millis\x20=\x20System.currentTimeMillis();\n\n\x20\ + \x20\x20\x20\x20Timestamp\x20timestamp\x20=\x20Timestamp.newBuilder().se\ + tSeconds(millis\x20/\x201000)\n\x20\x20\x20\x20\x20\x20\x20\x20\x20.setN\ + anos((int)\x20((millis\x20%\x201000)\x20*\x201000000)).build();\n\n\n\ + \x20Example\x205:\x20Compute\x20Timestamp\x20from\x20Java\x20`Instant.no\ + w()`.\n\n\x20\x20\x20\x20\x20Instant\x20now\x20=\x20Instant.now();\n\n\ + \x20\x20\x20\x20\x20Timestamp\x20timestamp\x20=\n\x20\x20\x20\x20\x20\ + \x20\x20\x20\x20Timestamp.newBuilder().setSeconds(now.getEpochSecond())\ + \n\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20.setNanos(now.getN\ + ano()).build();\n\n\n\x20Example\x206:\x20Compute\x20Timestamp\x20from\ + \x20current\x20time\x20in\x20Python.\n\n\x20\x20\x20\x20\x20timestamp\ + \x20=\x20Timestamp()\n\x20\x20\x20\x20\x20timestamp.GetCurrentTime()\n\n\ + \x20#\x20JSON\x20Mapping\n\n\x20In\x20JSON\x20format,\x20the\x20Timestam\ + p\x20type\x20is\x20encoded\x20as\x20a\x20string\x20in\x20the\n\x20[RFC\ + \x203339](https://www.ietf.org/rfc/rfc3339.txt)\x20format.\x20That\x20is\ + ,\x20the\n\x20format\x20is\x20\"{year}-{month}-{day}T{hour}:{min}:{sec}[\ + .{frac_sec}]Z\"\n\x20where\x20{year}\x20is\x20always\x20expressed\x20usi\ + ng\x20four\x20digits\x20while\x20{month},\x20{day},\n\x20{hour},\x20{min\ + },\x20and\x20{sec}\x20are\x20zero-padded\x20to\x20two\x20digits\x20each.\ + \x20The\x20fractional\n\x20seconds,\x20which\x20can\x20go\x20up\x20to\ + \x209\x20digits\x20(i.e.\x20up\x20to\x201\x20nanosecond\x20resolution),\ + \n\x20are\x20optional.\x20The\x20\"Z\"\x20suffix\x20indicates\x20the\x20\ + timezone\x20(\"UTC\");\x20the\x20timezone\n\x20is\x20required.\x20A\x20p\ + roto3\x20JSON\x20serializer\x20should\x20always\x20use\x20UTC\x20(as\x20\ + indicated\x20by\n\x20\"Z\")\x20when\x20printing\x20the\x20Timestamp\x20t\ + ype\x20and\x20a\x20proto3\x20JSON\x20parser\x20should\x20be\n\x20able\ + \x20to\x20accept\x20both\x20UTC\x20and\x20other\x20timezones\x20(as\x20i\ + ndicated\x20by\x20an\x20offset).\n\n\x20For\x20example,\x20\"2017-01-15T\ + 01:30:15.01Z\"\x20encodes\x2015.01\x20seconds\x20past\n\x2001:30\x20UTC\ + \x20on\x20January\x2015,\x202017.\n\n\x20In\x20JavaScript,\x20one\x20can\ + \x20convert\x20a\x20Date\x20object\x20to\x20this\x20format\x20using\x20t\ + he\n\x20standard\n\x20[toISOString()](https://developer.mozilla.org/en-U\ + S/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString)\n\x20me\ + thod.\x20In\x20Python,\x20a\x20standard\x20`datetime.datetime`\x20object\ + \x20can\x20be\x20converted\n\x20to\x20this\x20format\x20using\n\x20[`str\ + ftime`](https://docs.python.org/2/library/time.html#time.strftime)\x20wi\ + th\n\x20the\x20time\x20format\x20spec\x20'%Y-%m-%dT%H:%M:%S.%fZ'.\x20Lik\ + ewise,\x20in\x20Java,\x20one\x20can\x20use\n\x20the\x20Joda\x20Time's\ + \x20[`ISODateTimeFormat.dateTime()`](\n\x20http://www.joda.org/joda-time\ + /apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime%2D%2D\n\ + \x20)\x20to\x20obtain\x20a\x20formatter\x20capable\x20of\x20generating\ + \x20timestamps\x20in\x20this\x20format.\n\n\n\n\x0b\n\x03\x04\0\x01\x12\ + \x04\x87\x01\x08\x11\n\x9d\x01\n\x04\x04\0\x02\0\x12\x04\x8b\x01\x02\x14\ \x1a\x8e\x01\x20Represents\x20seconds\x20of\x20UTC\x20time\x20since\x20U\ nix\x20epoch\n\x201970-01-01T00:00:00Z.\x20Must\x20be\x20from\x200001-01\ - -01T00:00:00Z\x20to\n\x209999-12-31T23:59:59Z\x20inclusive.\n\n\x0c\n\ - \x05\x04\0\x02\0\x05\x12\x03d\x02\x07\n\x0c\n\x05\x04\0\x02\0\x01\x12\ - \x03d\x08\x0f\n\x0c\n\x05\x04\0\x02\0\x03\x12\x03d\x12\x13\n\xe4\x01\n\ - \x04\x04\0\x02\x01\x12\x03j\x02\x12\x1a\xd6\x01\x20Non-negative\x20fract\ - ions\x20of\x20a\x20second\x20at\x20nanosecond\x20resolution.\x20Negative\ - \n\x20second\x20values\x20with\x20fractions\x20must\x20still\x20have\x20\ - non-negative\x20nanos\x20values\n\x20that\x20count\x20forward\x20in\x20t\ - ime.\x20Must\x20be\x20from\x200\x20to\x20999,999,999\n\x20inclusive.\n\n\ - \x0c\n\x05\x04\0\x02\x01\x05\x12\x03j\x02\x07\n\x0c\n\x05\x04\0\x02\x01\ - \x01\x12\x03j\x08\r\n\x0c\n\x05\x04\0\x02\x01\x03\x12\x03j\x10\x11b\x06p\ - roto3\ + -01T00:00:00Z\x20to\n\x209999-12-31T23:59:59Z\x20inclusive.\n\n\r\n\x05\ + \x04\0\x02\0\x05\x12\x04\x8b\x01\x02\x07\n\r\n\x05\x04\0\x02\0\x01\x12\ + \x04\x8b\x01\x08\x0f\n\r\n\x05\x04\0\x02\0\x03\x12\x04\x8b\x01\x12\x13\n\ + \xe5\x01\n\x04\x04\0\x02\x01\x12\x04\x91\x01\x02\x12\x1a\xd6\x01\x20Non-\ + negative\x20fractions\x20of\x20a\x20second\x20at\x20nanosecond\x20resolu\ + tion.\x20Negative\n\x20second\x20values\x20with\x20fractions\x20must\x20\ + still\x20have\x20non-negative\x20nanos\x20values\n\x20that\x20count\x20f\ + orward\x20in\x20time.\x20Must\x20be\x20from\x200\x20to\x20999,999,999\n\ + \x20inclusive.\n\n\r\n\x05\x04\0\x02\x01\x05\x12\x04\x91\x01\x02\x07\n\r\ + \n\x05\x04\0\x02\x01\x01\x12\x04\x91\x01\x08\r\n\r\n\x05\x04\0\x02\x01\ + \x03\x12\x04\x91\x01\x10\x11b\x06proto3\ "; static file_descriptor_proto_lazy: crate::rt::LazyV2<crate::descriptor::FileDescriptorProto> = crate::rt::LazyV2::INIT; diff --git a/src/well_known_types/type_pb.rs b/src/well_known_types/type_pb.rs index 556457e..88744ae 100644 --- a/src/well_known_types/type_pb.rs +++ b/src/well_known_types/type_pb.rs @@ -1,4 +1,4 @@ -// This file is generated by rust-protobuf 2.19.0-pre. Do not edit +// This file is generated by rust-protobuf 2.22.0-pre. Do not edit // @generated // https://github.com/rust-lang/rust-clippy/issues/702 @@ -20,7 +20,7 @@ //! Generated file from `google/protobuf/type.proto` #[derive(PartialEq,Clone,Default)] -#[cfg_attr(feature = "with-serde", derive(Serialize, Deserialize))] +#[cfg_attr(feature = "with-serde", derive(::serde::Serialize, ::serde::Deserialize))] pub struct Type { // message fields pub name: ::std::string::String, @@ -409,7 +409,7 @@ impl crate::reflect::ProtobufValue for Type { } #[derive(PartialEq,Clone,Default)] -#[cfg_attr(feature = "with-serde", derive(Serialize, Deserialize))] +#[cfg_attr(feature = "with-serde", derive(::serde::Serialize, ::serde::Deserialize))] pub struct Field { // message fields pub kind: Field_Kind, @@ -913,7 +913,7 @@ impl crate::reflect::ProtobufValue for Field { } #[derive(Clone,PartialEq,Eq,Debug,Hash)] -#[cfg_attr(feature = "with-serde", derive(Serialize, Deserialize))] +#[cfg_attr(feature = "with-serde", derive(::serde::Serialize, ::serde::Deserialize))] pub enum Field_Kind { TYPE_UNKNOWN = 0, TYPE_DOUBLE = 1, @@ -1015,7 +1015,7 @@ impl crate::reflect::ProtobufValue for Field_Kind { } #[derive(Clone,PartialEq,Eq,Debug,Hash)] -#[cfg_attr(feature = "with-serde", derive(Serialize, Deserialize))] +#[cfg_attr(feature = "with-serde", derive(::serde::Serialize, ::serde::Deserialize))] pub enum Field_Cardinality { CARDINALITY_UNKNOWN = 0, CARDINALITY_OPTIONAL = 1, @@ -1072,7 +1072,7 @@ impl crate::reflect::ProtobufValue for Field_Cardinality { } #[derive(PartialEq,Clone,Default)] -#[cfg_attr(feature = "with-serde", derive(Serialize, Deserialize))] +#[cfg_attr(feature = "with-serde", derive(::serde::Serialize, ::serde::Deserialize))] pub struct Enum { // message fields pub name: ::std::string::String, @@ -1420,7 +1420,7 @@ impl crate::reflect::ProtobufValue for Enum { } #[derive(PartialEq,Clone,Default)] -#[cfg_attr(feature = "with-serde", derive(Serialize, Deserialize))] +#[cfg_attr(feature = "with-serde", derive(::serde::Serialize, ::serde::Deserialize))] pub struct EnumValue { // message fields pub name: ::std::string::String, @@ -1666,7 +1666,7 @@ impl crate::reflect::ProtobufValue for EnumValue { } #[derive(PartialEq,Clone,Default)] -#[cfg_attr(feature = "with-serde", derive(Serialize, Deserialize))] +#[cfg_attr(feature = "with-serde", derive(::serde::Serialize, ::serde::Deserialize))] pub struct Option { // message fields pub name: ::std::string::String, @@ -1885,7 +1885,7 @@ impl crate::reflect::ProtobufValue for Option { } #[derive(Clone,PartialEq,Eq,Debug,Hash)] -#[cfg_attr(feature = "with-serde", derive(Serialize, Deserialize))] +#[cfg_attr(feature = "with-serde", derive(::serde::Serialize, ::serde::Deserialize))] pub enum Syntax { SYNTAX_PROTO2 = 0, SYNTAX_PROTO3 = 1, @@ -1975,239 +1975,249 @@ static file_descriptor_proto_data: &'static [u8] = b"\ \x03(\x0b2\x17.google.protobuf.OptionR\x07options\"H\n\x06Option\x12\x12\ \n\x04name\x18\x01\x20\x01(\tR\x04name\x12*\n\x05value\x18\x02\x20\x01(\ \x0b2\x14.google.protobuf.AnyR\x05value*.\n\x06Syntax\x12\x11\n\rSYNTAX_\ - PROTO2\x10\0\x12\x11\n\rSYNTAX_PROTO3\x10\x01BL\n\x13com.google.protobuf\ - B\tTypeProtoP\x01\xf8\x01\x01\xa2\x02\x03GPB\xaa\x02\x1eGoogle.Protobuf.\ - WellKnownTypesJ\x9a5\n\x07\x12\x05\x1e\0\xb3\x01\x01\n\xcc\x0c\n\x01\x0c\ - \x12\x03\x1e\0\x122\xc1\x0c\x20Protocol\x20Buffers\x20-\x20Google's\x20d\ - ata\x20interchange\x20format\n\x20Copyright\x202008\x20Google\x20Inc.\ - \x20\x20All\x20rights\x20reserved.\n\x20https://developers.google.com/pr\ - otocol-buffers/\n\n\x20Redistribution\x20and\x20use\x20in\x20source\x20a\ - nd\x20binary\x20forms,\x20with\x20or\x20without\n\x20modification,\x20ar\ - e\x20permitted\x20provided\x20that\x20the\x20following\x20conditions\x20\ - are\n\x20met:\n\n\x20\x20\x20\x20\x20*\x20Redistributions\x20of\x20sourc\ - e\x20code\x20must\x20retain\x20the\x20above\x20copyright\n\x20notice,\ - \x20this\x20list\x20of\x20conditions\x20and\x20the\x20following\x20discl\ - aimer.\n\x20\x20\x20\x20\x20*\x20Redistributions\x20in\x20binary\x20form\ - \x20must\x20reproduce\x20the\x20above\n\x20copyright\x20notice,\x20this\ - \x20list\x20of\x20conditions\x20and\x20the\x20following\x20disclaimer\n\ - \x20in\x20the\x20documentation\x20and/or\x20other\x20materials\x20provid\ - ed\x20with\x20the\n\x20distribution.\n\x20\x20\x20\x20\x20*\x20Neither\ - \x20the\x20name\x20of\x20Google\x20Inc.\x20nor\x20the\x20names\x20of\x20\ - its\n\x20contributors\x20may\x20be\x20used\x20to\x20endorse\x20or\x20pro\ - mote\x20products\x20derived\x20from\n\x20this\x20software\x20without\x20\ - specific\x20prior\x20written\x20permission.\n\n\x20THIS\x20SOFTWARE\x20I\ - S\x20PROVIDED\x20BY\x20THE\x20COPYRIGHT\x20HOLDERS\x20AND\x20CONTRIBUTOR\ - S\n\x20\"AS\x20IS\"\x20AND\x20ANY\x20EXPRESS\x20OR\x20IMPLIED\x20WARRANT\ - IES,\x20INCLUDING,\x20BUT\x20NOT\n\x20LIMITED\x20TO,\x20THE\x20IMPLIED\ - \x20WARRANTIES\x20OF\x20MERCHANTABILITY\x20AND\x20FITNESS\x20FOR\n\x20A\ - \x20PARTICULAR\x20PURPOSE\x20ARE\x20DISCLAIMED.\x20IN\x20NO\x20EVENT\x20\ - SHALL\x20THE\x20COPYRIGHT\n\x20OWNER\x20OR\x20CONTRIBUTORS\x20BE\x20LIAB\ - LE\x20FOR\x20ANY\x20DIRECT,\x20INDIRECT,\x20INCIDENTAL,\n\x20SPECIAL,\ - \x20EXEMPLARY,\x20OR\x20CONSEQUENTIAL\x20DAMAGES\x20(INCLUDING,\x20BUT\ - \x20NOT\n\x20LIMITED\x20TO,\x20PROCUREMENT\x20OF\x20SUBSTITUTE\x20GOODS\ - \x20OR\x20SERVICES;\x20LOSS\x20OF\x20USE,\n\x20DATA,\x20OR\x20PROFITS;\ - \x20OR\x20BUSINESS\x20INTERRUPTION)\x20HOWEVER\x20CAUSED\x20AND\x20ON\ - \x20ANY\n\x20THEORY\x20OF\x20LIABILITY,\x20WHETHER\x20IN\x20CONTRACT,\ - \x20STRICT\x20LIABILITY,\x20OR\x20TORT\n\x20(INCLUDING\x20NEGLIGENCE\x20\ - OR\x20OTHERWISE)\x20ARISING\x20IN\x20ANY\x20WAY\x20OUT\x20OF\x20THE\x20U\ - SE\n\x20OF\x20THIS\x20SOFTWARE,\x20EVEN\x20IF\x20ADVISED\x20OF\x20THE\ - \x20POSSIBILITY\x20OF\x20SUCH\x20DAMAGE.\n\n\x08\n\x01\x02\x12\x03\x20\0\ - \x18\n\t\n\x02\x03\0\x12\x03\"\0#\n\t\n\x02\x03\x01\x12\x03#\0.\n\x08\n\ - \x01\x08\x12\x03%\0;\n\t\n\x02\x08%\x12\x03%\0;\n\x08\n\x01\x08\x12\x03&\ - \0\x1f\n\t\n\x02\x08\x1f\x12\x03&\0\x1f\n\x08\n\x01\x08\x12\x03'\0,\n\t\ - \n\x02\x08\x01\x12\x03'\0,\n\x08\n\x01\x08\x12\x03(\0*\n\t\n\x02\x08\x08\ - \x12\x03(\0*\n\x08\n\x01\x08\x12\x03)\0\"\n\t\n\x02\x08\n\x12\x03)\0\"\n\ - \x08\n\x01\x08\x12\x03*\0!\n\t\n\x02\x08$\x12\x03*\0!\n-\n\x02\x04\0\x12\ - \x04-\0:\x01\x1a!\x20A\x20protocol\x20buffer\x20message\x20type.\n\n\n\n\ - \x03\x04\0\x01\x12\x03-\x08\x0c\n0\n\x04\x04\0\x02\0\x12\x03/\x02\x12\ - \x1a#\x20The\x20fully\x20qualified\x20message\x20name.\n\n\x0c\n\x05\x04\ - \0\x02\0\x05\x12\x03/\x02\x08\n\x0c\n\x05\x04\0\x02\0\x01\x12\x03/\t\r\n\ - \x0c\n\x05\x04\0\x02\0\x03\x12\x03/\x10\x11\n\"\n\x04\x04\0\x02\x01\x12\ - \x031\x02\x1c\x1a\x15\x20The\x20list\x20of\x20fields.\n\n\x0c\n\x05\x04\ - \0\x02\x01\x04\x12\x031\x02\n\n\x0c\n\x05\x04\0\x02\x01\x06\x12\x031\x0b\ - \x10\n\x0c\n\x05\x04\0\x02\x01\x01\x12\x031\x11\x17\n\x0c\n\x05\x04\0\ - \x02\x01\x03\x12\x031\x1a\x1b\nO\n\x04\x04\0\x02\x02\x12\x033\x02\x1d\ - \x1aB\x20The\x20list\x20of\x20types\x20appearing\x20in\x20`oneof`\x20def\ - initions\x20in\x20this\x20type.\n\n\x0c\n\x05\x04\0\x02\x02\x04\x12\x033\ - \x02\n\n\x0c\n\x05\x04\0\x02\x02\x05\x12\x033\x0b\x11\n\x0c\n\x05\x04\0\ - \x02\x02\x01\x12\x033\x12\x18\n\x0c\n\x05\x04\0\x02\x02\x03\x12\x033\x1b\ - \x1c\n+\n\x04\x04\0\x02\x03\x12\x035\x02\x1e\x1a\x1e\x20The\x20protocol\ - \x20buffer\x20options.\n\n\x0c\n\x05\x04\0\x02\x03\x04\x12\x035\x02\n\n\ - \x0c\n\x05\x04\0\x02\x03\x06\x12\x035\x0b\x11\n\x0c\n\x05\x04\0\x02\x03\ - \x01\x12\x035\x12\x19\n\x0c\n\x05\x04\0\x02\x03\x03\x12\x035\x1c\x1d\n\"\ - \n\x04\x04\0\x02\x04\x12\x037\x02#\x1a\x15\x20The\x20source\x20context.\ - \n\n\x0c\n\x05\x04\0\x02\x04\x06\x12\x037\x02\x0f\n\x0c\n\x05\x04\0\x02\ - \x04\x01\x12\x037\x10\x1e\n\x0c\n\x05\x04\0\x02\x04\x03\x12\x037!\"\n!\n\ - \x04\x04\0\x02\x05\x12\x039\x02\x14\x1a\x14\x20The\x20source\x20syntax.\ - \n\n\x0c\n\x05\x04\0\x02\x05\x06\x12\x039\x02\x08\n\x0c\n\x05\x04\0\x02\ - \x05\x01\x12\x039\t\x0f\n\x0c\n\x05\x04\0\x02\x05\x03\x12\x039\x12\x13\n\ - 0\n\x02\x04\x01\x12\x05=\0\x8a\x01\x01\x1a#\x20A\x20single\x20field\x20o\ - f\x20a\x20message\x20type.\n\n\n\n\x03\x04\x01\x01\x12\x03=\x08\r\n\"\n\ - \x04\x04\x01\x04\0\x12\x04?\x02f\x03\x1a\x14\x20Basic\x20field\x20types.\ - \n\n\x0c\n\x05\x04\x01\x04\0\x01\x12\x03?\x07\x0b\n$\n\x06\x04\x01\x04\0\ - \x02\0\x12\x03A\x04\x1c\x1a\x15\x20Field\x20type\x20unknown.\n\n\x0e\n\ - \x07\x04\x01\x04\0\x02\0\x01\x12\x03A\x04\x10\n\x0e\n\x07\x04\x01\x04\0\ - \x02\0\x02\x12\x03A\x1a\x1b\n#\n\x06\x04\x01\x04\0\x02\x01\x12\x03C\x04\ - \x1c\x1a\x14\x20Field\x20type\x20double.\n\n\x0e\n\x07\x04\x01\x04\0\x02\ - \x01\x01\x12\x03C\x04\x0f\n\x0e\n\x07\x04\x01\x04\0\x02\x01\x02\x12\x03C\ - \x1a\x1b\n\"\n\x06\x04\x01\x04\0\x02\x02\x12\x03E\x04\x1c\x1a\x13\x20Fie\ - ld\x20type\x20float.\n\n\x0e\n\x07\x04\x01\x04\0\x02\x02\x01\x12\x03E\ - \x04\x0e\n\x0e\n\x07\x04\x01\x04\0\x02\x02\x02\x12\x03E\x1a\x1b\n\"\n\ - \x06\x04\x01\x04\0\x02\x03\x12\x03G\x04\x1c\x1a\x13\x20Field\x20type\x20\ - int64.\n\n\x0e\n\x07\x04\x01\x04\0\x02\x03\x01\x12\x03G\x04\x0e\n\x0e\n\ - \x07\x04\x01\x04\0\x02\x03\x02\x12\x03G\x1a\x1b\n#\n\x06\x04\x01\x04\0\ - \x02\x04\x12\x03I\x04\x1c\x1a\x14\x20Field\x20type\x20uint64.\n\n\x0e\n\ - \x07\x04\x01\x04\0\x02\x04\x01\x12\x03I\x04\x0f\n\x0e\n\x07\x04\x01\x04\ - \0\x02\x04\x02\x12\x03I\x1a\x1b\n\"\n\x06\x04\x01\x04\0\x02\x05\x12\x03K\ - \x04\x1c\x1a\x13\x20Field\x20type\x20int32.\n\n\x0e\n\x07\x04\x01\x04\0\ - \x02\x05\x01\x12\x03K\x04\x0e\n\x0e\n\x07\x04\x01\x04\0\x02\x05\x02\x12\ - \x03K\x1a\x1b\n$\n\x06\x04\x01\x04\0\x02\x06\x12\x03M\x04\x1c\x1a\x15\ - \x20Field\x20type\x20fixed64.\n\n\x0e\n\x07\x04\x01\x04\0\x02\x06\x01\ - \x12\x03M\x04\x10\n\x0e\n\x07\x04\x01\x04\0\x02\x06\x02\x12\x03M\x1a\x1b\ - \n$\n\x06\x04\x01\x04\0\x02\x07\x12\x03O\x04\x1c\x1a\x15\x20Field\x20typ\ - e\x20fixed32.\n\n\x0e\n\x07\x04\x01\x04\0\x02\x07\x01\x12\x03O\x04\x10\n\ - \x0e\n\x07\x04\x01\x04\0\x02\x07\x02\x12\x03O\x1a\x1b\n!\n\x06\x04\x01\ - \x04\0\x02\x08\x12\x03Q\x04\x1c\x1a\x12\x20Field\x20type\x20bool.\n\n\ - \x0e\n\x07\x04\x01\x04\0\x02\x08\x01\x12\x03Q\x04\r\n\x0e\n\x07\x04\x01\ - \x04\0\x02\x08\x02\x12\x03Q\x1a\x1b\n#\n\x06\x04\x01\x04\0\x02\t\x12\x03\ - S\x04\x1c\x1a\x14\x20Field\x20type\x20string.\n\n\x0e\n\x07\x04\x01\x04\ - \0\x02\t\x01\x12\x03S\x04\x0f\n\x0e\n\x07\x04\x01\x04\0\x02\t\x02\x12\ - \x03S\x1a\x1b\nF\n\x06\x04\x01\x04\0\x02\n\x12\x03U\x04\x1d\x1a7\x20Fiel\ - d\x20type\x20group.\x20Proto2\x20syntax\x20only,\x20and\x20deprecated.\n\ - \n\x0e\n\x07\x04\x01\x04\0\x02\n\x01\x12\x03U\x04\x0e\n\x0e\n\x07\x04\ - \x01\x04\0\x02\n\x02\x12\x03U\x1a\x1c\n$\n\x06\x04\x01\x04\0\x02\x0b\x12\ - \x03W\x04\x1d\x1a\x15\x20Field\x20type\x20message.\n\n\x0e\n\x07\x04\x01\ - \x04\0\x02\x0b\x01\x12\x03W\x04\x10\n\x0e\n\x07\x04\x01\x04\0\x02\x0b\ - \x02\x12\x03W\x1a\x1c\n\"\n\x06\x04\x01\x04\0\x02\x0c\x12\x03Y\x04\x1d\ - \x1a\x13\x20Field\x20type\x20bytes.\n\n\x0e\n\x07\x04\x01\x04\0\x02\x0c\ - \x01\x12\x03Y\x04\x0e\n\x0e\n\x07\x04\x01\x04\0\x02\x0c\x02\x12\x03Y\x1a\ - \x1c\n#\n\x06\x04\x01\x04\0\x02\r\x12\x03[\x04\x1d\x1a\x14\x20Field\x20t\ - ype\x20uint32.\n\n\x0e\n\x07\x04\x01\x04\0\x02\r\x01\x12\x03[\x04\x0f\n\ - \x0e\n\x07\x04\x01\x04\0\x02\r\x02\x12\x03[\x1a\x1c\n!\n\x06\x04\x01\x04\ - \0\x02\x0e\x12\x03]\x04\x1d\x1a\x12\x20Field\x20type\x20enum.\n\n\x0e\n\ - \x07\x04\x01\x04\0\x02\x0e\x01\x12\x03]\x04\r\n\x0e\n\x07\x04\x01\x04\0\ - \x02\x0e\x02\x12\x03]\x1a\x1c\n%\n\x06\x04\x01\x04\0\x02\x0f\x12\x03_\ - \x04\x1d\x1a\x16\x20Field\x20type\x20sfixed32.\n\n\x0e\n\x07\x04\x01\x04\ - \0\x02\x0f\x01\x12\x03_\x04\x11\n\x0e\n\x07\x04\x01\x04\0\x02\x0f\x02\ - \x12\x03_\x1a\x1c\n%\n\x06\x04\x01\x04\0\x02\x10\x12\x03a\x04\x1d\x1a\ - \x16\x20Field\x20type\x20sfixed64.\n\n\x0e\n\x07\x04\x01\x04\0\x02\x10\ - \x01\x12\x03a\x04\x11\n\x0e\n\x07\x04\x01\x04\0\x02\x10\x02\x12\x03a\x1a\ - \x1c\n#\n\x06\x04\x01\x04\0\x02\x11\x12\x03c\x04\x1d\x1a\x14\x20Field\ - \x20type\x20sint32.\n\n\x0e\n\x07\x04\x01\x04\0\x02\x11\x01\x12\x03c\x04\ - \x0f\n\x0e\n\x07\x04\x01\x04\0\x02\x11\x02\x12\x03c\x1a\x1c\n#\n\x06\x04\ - \x01\x04\0\x02\x12\x12\x03e\x04\x1d\x1a\x14\x20Field\x20type\x20sint64.\ - \n\n\x0e\n\x07\x04\x01\x04\0\x02\x12\x01\x12\x03e\x04\x0f\n\x0e\n\x07\ - \x04\x01\x04\0\x02\x12\x02\x12\x03e\x1a\x1c\nC\n\x04\x04\x01\x04\x01\x12\ - \x04i\x02r\x03\x1a5\x20Whether\x20a\x20field\x20is\x20optional,\x20requi\ - red,\x20or\x20repeated.\n\n\x0c\n\x05\x04\x01\x04\x01\x01\x12\x03i\x07\ - \x12\n5\n\x06\x04\x01\x04\x01\x02\0\x12\x03k\x04\x1c\x1a&\x20For\x20fiel\ - ds\x20with\x20unknown\x20cardinality.\n\n\x0e\n\x07\x04\x01\x04\x01\x02\ - \0\x01\x12\x03k\x04\x17\n\x0e\n\x07\x04\x01\x04\x01\x02\0\x02\x12\x03k\ - \x1a\x1b\n%\n\x06\x04\x01\x04\x01\x02\x01\x12\x03m\x04\x1d\x1a\x16\x20Fo\ - r\x20optional\x20fields.\n\n\x0e\n\x07\x04\x01\x04\x01\x02\x01\x01\x12\ - \x03m\x04\x18\n\x0e\n\x07\x04\x01\x04\x01\x02\x01\x02\x12\x03m\x1b\x1c\n\ - 9\n\x06\x04\x01\x04\x01\x02\x02\x12\x03o\x04\x1d\x1a*\x20For\x20required\ - \x20fields.\x20Proto2\x20syntax\x20only.\n\n\x0e\n\x07\x04\x01\x04\x01\ - \x02\x02\x01\x12\x03o\x04\x18\n\x0e\n\x07\x04\x01\x04\x01\x02\x02\x02\ - \x12\x03o\x1b\x1c\n%\n\x06\x04\x01\x04\x01\x02\x03\x12\x03q\x04\x1d\x1a\ - \x16\x20For\x20repeated\x20fields.\n\n\x0e\n\x07\x04\x01\x04\x01\x02\x03\ - \x01\x12\x03q\x04\x18\n\x0e\n\x07\x04\x01\x04\x01\x02\x03\x02\x12\x03q\ - \x1b\x1c\n\x1e\n\x04\x04\x01\x02\0\x12\x03u\x02\x10\x1a\x11\x20The\x20fi\ - eld\x20type.\n\n\x0c\n\x05\x04\x01\x02\0\x06\x12\x03u\x02\x06\n\x0c\n\ - \x05\x04\x01\x02\0\x01\x12\x03u\x07\x0b\n\x0c\n\x05\x04\x01\x02\0\x03\ - \x12\x03u\x0e\x0f\n%\n\x04\x04\x01\x02\x01\x12\x03w\x02\x1e\x1a\x18\x20T\ - he\x20field\x20cardinality.\n\n\x0c\n\x05\x04\x01\x02\x01\x06\x12\x03w\ - \x02\r\n\x0c\n\x05\x04\x01\x02\x01\x01\x12\x03w\x0e\x19\n\x0c\n\x05\x04\ - \x01\x02\x01\x03\x12\x03w\x1c\x1d\n\x20\n\x04\x04\x01\x02\x02\x12\x03y\ - \x02\x13\x1a\x13\x20The\x20field\x20number.\n\n\x0c\n\x05\x04\x01\x02\ - \x02\x05\x12\x03y\x02\x07\n\x0c\n\x05\x04\x01\x02\x02\x01\x12\x03y\x08\ - \x0e\n\x0c\n\x05\x04\x01\x02\x02\x03\x12\x03y\x11\x12\n\x1e\n\x04\x04\ - \x01\x02\x03\x12\x03{\x02\x12\x1a\x11\x20The\x20field\x20name.\n\n\x0c\n\ - \x05\x04\x01\x02\x03\x05\x12\x03{\x02\x08\n\x0c\n\x05\x04\x01\x02\x03\ - \x01\x12\x03{\t\r\n\x0c\n\x05\x04\x01\x02\x03\x03\x12\x03{\x10\x11\n\x96\ - \x01\n\x04\x04\x01\x02\x04\x12\x03~\x02\x16\x1a\x88\x01\x20The\x20field\ - \x20type\x20URL,\x20without\x20the\x20scheme,\x20for\x20message\x20or\ - \x20enumeration\n\x20types.\x20Example:\x20`\"type.googleapis.com/google\ - .protobuf.Timestamp\"`.\n\n\x0c\n\x05\x04\x01\x02\x04\x05\x12\x03~\x02\ - \x08\n\x0c\n\x05\x04\x01\x02\x04\x01\x12\x03~\t\x11\n\x0c\n\x05\x04\x01\ - \x02\x04\x03\x12\x03~\x14\x15\n\xa5\x01\n\x04\x04\x01\x02\x05\x12\x04\ - \x81\x01\x02\x18\x1a\x96\x01\x20The\x20index\x20of\x20the\x20field\x20ty\ - pe\x20in\x20`Type.oneofs`,\x20for\x20message\x20or\x20enumeration\n\x20t\ - ypes.\x20The\x20first\x20type\x20has\x20index\x201;\x20zero\x20means\x20\ - the\x20type\x20is\x20not\x20in\x20the\x20list.\n\n\r\n\x05\x04\x01\x02\ - \x05\x05\x12\x04\x81\x01\x02\x07\n\r\n\x05\x04\x01\x02\x05\x01\x12\x04\ - \x81\x01\x08\x13\n\r\n\x05\x04\x01\x02\x05\x03\x12\x04\x81\x01\x16\x17\n\ - F\n\x04\x04\x01\x02\x06\x12\x04\x83\x01\x02\x12\x1a8\x20Whether\x20to\ - \x20use\x20alternative\x20packed\x20wire\x20representation.\n\n\r\n\x05\ - \x04\x01\x02\x06\x05\x12\x04\x83\x01\x02\x06\n\r\n\x05\x04\x01\x02\x06\ - \x01\x12\x04\x83\x01\x07\r\n\r\n\x05\x04\x01\x02\x06\x03\x12\x04\x83\x01\ - \x10\x11\n,\n\x04\x04\x01\x02\x07\x12\x04\x85\x01\x02\x1e\x1a\x1e\x20The\ - \x20protocol\x20buffer\x20options.\n\n\r\n\x05\x04\x01\x02\x07\x04\x12\ - \x04\x85\x01\x02\n\n\r\n\x05\x04\x01\x02\x07\x06\x12\x04\x85\x01\x0b\x11\ - \n\r\n\x05\x04\x01\x02\x07\x01\x12\x04\x85\x01\x12\x19\n\r\n\x05\x04\x01\ - \x02\x07\x03\x12\x04\x85\x01\x1c\x1d\n$\n\x04\x04\x01\x02\x08\x12\x04\ - \x87\x01\x02\x18\x1a\x16\x20The\x20field\x20JSON\x20name.\n\n\r\n\x05\ - \x04\x01\x02\x08\x05\x12\x04\x87\x01\x02\x08\n\r\n\x05\x04\x01\x02\x08\ - \x01\x12\x04\x87\x01\t\x12\n\r\n\x05\x04\x01\x02\x08\x03\x12\x04\x87\x01\ - \x15\x17\nX\n\x04\x04\x01\x02\t\x12\x04\x89\x01\x02\x1c\x1aJ\x20The\x20s\ - tring\x20value\x20of\x20the\x20default\x20value\x20of\x20this\x20field.\ - \x20Proto2\x20syntax\x20only.\n\n\r\n\x05\x04\x01\x02\t\x05\x12\x04\x89\ - \x01\x02\x08\n\r\n\x05\x04\x01\x02\t\x01\x12\x04\x89\x01\t\x16\n\r\n\x05\ - \x04\x01\x02\t\x03\x12\x04\x89\x01\x19\x1b\n%\n\x02\x04\x02\x12\x06\x8d\ - \x01\0\x98\x01\x01\x1a\x17\x20Enum\x20type\x20definition.\n\n\x0b\n\x03\ - \x04\x02\x01\x12\x04\x8d\x01\x08\x0c\n\x1f\n\x04\x04\x02\x02\0\x12\x04\ - \x8f\x01\x02\x12\x1a\x11\x20Enum\x20type\x20name.\n\n\r\n\x05\x04\x02\ - \x02\0\x05\x12\x04\x8f\x01\x02\x08\n\r\n\x05\x04\x02\x02\0\x01\x12\x04\ - \x8f\x01\t\r\n\r\n\x05\x04\x02\x02\0\x03\x12\x04\x8f\x01\x10\x11\n'\n\ - \x04\x04\x02\x02\x01\x12\x04\x91\x01\x02#\x1a\x19\x20Enum\x20value\x20de\ - finitions.\n\n\r\n\x05\x04\x02\x02\x01\x04\x12\x04\x91\x01\x02\n\n\r\n\ - \x05\x04\x02\x02\x01\x06\x12\x04\x91\x01\x0b\x14\n\r\n\x05\x04\x02\x02\ - \x01\x01\x12\x04\x91\x01\x15\x1e\n\r\n\x05\x04\x02\x02\x01\x03\x12\x04\ - \x91\x01!\"\n(\n\x04\x04\x02\x02\x02\x12\x04\x93\x01\x02\x1e\x1a\x1a\x20\ - Protocol\x20buffer\x20options.\n\n\r\n\x05\x04\x02\x02\x02\x04\x12\x04\ - \x93\x01\x02\n\n\r\n\x05\x04\x02\x02\x02\x06\x12\x04\x93\x01\x0b\x11\n\r\ - \n\x05\x04\x02\x02\x02\x01\x12\x04\x93\x01\x12\x19\n\r\n\x05\x04\x02\x02\ - \x02\x03\x12\x04\x93\x01\x1c\x1d\n#\n\x04\x04\x02\x02\x03\x12\x04\x95\ - \x01\x02#\x1a\x15\x20The\x20source\x20context.\n\n\r\n\x05\x04\x02\x02\ - \x03\x06\x12\x04\x95\x01\x02\x0f\n\r\n\x05\x04\x02\x02\x03\x01\x12\x04\ - \x95\x01\x10\x1e\n\r\n\x05\x04\x02\x02\x03\x03\x12\x04\x95\x01!\"\n\"\n\ - \x04\x04\x02\x02\x04\x12\x04\x97\x01\x02\x14\x1a\x14\x20The\x20source\ - \x20syntax.\n\n\r\n\x05\x04\x02\x02\x04\x06\x12\x04\x97\x01\x02\x08\n\r\ - \n\x05\x04\x02\x02\x04\x01\x12\x04\x97\x01\t\x0f\n\r\n\x05\x04\x02\x02\ - \x04\x03\x12\x04\x97\x01\x12\x13\n&\n\x02\x04\x03\x12\x06\x9b\x01\0\xa2\ - \x01\x01\x1a\x18\x20Enum\x20value\x20definition.\n\n\x0b\n\x03\x04\x03\ - \x01\x12\x04\x9b\x01\x08\x11\n\x20\n\x04\x04\x03\x02\0\x12\x04\x9d\x01\ - \x02\x12\x1a\x12\x20Enum\x20value\x20name.\n\n\r\n\x05\x04\x03\x02\0\x05\ - \x12\x04\x9d\x01\x02\x08\n\r\n\x05\x04\x03\x02\0\x01\x12\x04\x9d\x01\t\r\ - \n\r\n\x05\x04\x03\x02\0\x03\x12\x04\x9d\x01\x10\x11\n\"\n\x04\x04\x03\ - \x02\x01\x12\x04\x9f\x01\x02\x13\x1a\x14\x20Enum\x20value\x20number.\n\n\ - \r\n\x05\x04\x03\x02\x01\x05\x12\x04\x9f\x01\x02\x07\n\r\n\x05\x04\x03\ - \x02\x01\x01\x12\x04\x9f\x01\x08\x0e\n\r\n\x05\x04\x03\x02\x01\x03\x12\ - \x04\x9f\x01\x11\x12\n(\n\x04\x04\x03\x02\x02\x12\x04\xa1\x01\x02\x1e\ - \x1a\x1a\x20Protocol\x20buffer\x20options.\n\n\r\n\x05\x04\x03\x02\x02\ - \x04\x12\x04\xa1\x01\x02\n\n\r\n\x05\x04\x03\x02\x02\x06\x12\x04\xa1\x01\ - \x0b\x11\n\r\n\x05\x04\x03\x02\x02\x01\x12\x04\xa1\x01\x12\x19\n\r\n\x05\ - \x04\x03\x02\x02\x03\x12\x04\xa1\x01\x1c\x1d\ng\n\x02\x04\x04\x12\x06\ - \xa6\x01\0\xab\x01\x01\x1aY\x20A\x20protocol\x20buffer\x20option,\x20whi\ - ch\x20can\x20be\x20attached\x20to\x20a\x20message,\x20field,\n\x20enumer\ - ation,\x20etc.\n\n\x0b\n\x03\x04\x04\x01\x12\x04\xa6\x01\x08\x0e\nA\n\ - \x04\x04\x04\x02\0\x12\x04\xa8\x01\x02\x12\x1a3\x20The\x20option's\x20na\ - me.\x20For\x20example,\x20`\"java_package\"`.\n\n\r\n\x05\x04\x04\x02\0\ - \x05\x12\x04\xa8\x01\x02\x08\n\r\n\x05\x04\x04\x02\0\x01\x12\x04\xa8\x01\ - \t\r\n\r\n\x05\x04\x04\x02\0\x03\x12\x04\xa8\x01\x10\x11\nI\n\x04\x04\ - \x04\x02\x01\x12\x04\xaa\x01\x02\x10\x1a;\x20The\x20option's\x20value.\ - \x20For\x20example,\x20`\"com.google.protobuf\"`.\n\n\r\n\x05\x04\x04\ - \x02\x01\x06\x12\x04\xaa\x01\x02\x05\n\r\n\x05\x04\x04\x02\x01\x01\x12\ - \x04\xaa\x01\x06\x0b\n\r\n\x05\x04\x04\x02\x01\x03\x12\x04\xaa\x01\x0e\ - \x0f\nI\n\x02\x05\0\x12\x06\xae\x01\0\xb3\x01\x01\x1a;\x20The\x20syntax\ - \x20in\x20which\x20a\x20protocol\x20buffer\x20element\x20is\x20defined.\ - \n\n\x0b\n\x03\x05\0\x01\x12\x04\xae\x01\x05\x0b\n\x20\n\x04\x05\0\x02\0\ - \x12\x04\xb0\x01\x02\x14\x1a\x12\x20Syntax\x20`proto2`.\n\n\r\n\x05\x05\ - \0\x02\0\x01\x12\x04\xb0\x01\x02\x0f\n\r\n\x05\x05\0\x02\0\x02\x12\x04\ - \xb0\x01\x12\x13\n\x20\n\x04\x05\0\x02\x01\x12\x04\xb2\x01\x02\x14\x1a\ - \x12\x20Syntax\x20`proto3`.\n\n\r\n\x05\x05\0\x02\x01\x01\x12\x04\xb2\ - \x01\x02\x0f\n\r\n\x05\x05\0\x02\x01\x02\x12\x04\xb2\x01\x12\x13b\x06pro\ - to3\ + PROTO2\x10\0\x12\x11\n\rSYNTAX_PROTO3\x10\x01B{\n\x13com.google.protobuf\ + B\tTypeProtoP\x01Z-google.golang.org/protobuf/types/known/typepb\xf8\x01\ + \x01\xa2\x02\x03GPB\xaa\x02\x1eGoogle.Protobuf.WellKnownTypesJ\xc38\n\ + \x07\x12\x05\x1e\0\xba\x01\x01\n\xcc\x0c\n\x01\x0c\x12\x03\x1e\0\x122\ + \xc1\x0c\x20Protocol\x20Buffers\x20-\x20Google's\x20data\x20interchange\ + \x20format\n\x20Copyright\x202008\x20Google\x20Inc.\x20\x20All\x20rights\ + \x20reserved.\n\x20https://developers.google.com/protocol-buffers/\n\n\ + \x20Redistribution\x20and\x20use\x20in\x20source\x20and\x20binary\x20for\ + ms,\x20with\x20or\x20without\n\x20modification,\x20are\x20permitted\x20p\ + rovided\x20that\x20the\x20following\x20conditions\x20are\n\x20met:\n\n\ + \x20\x20\x20\x20\x20*\x20Redistributions\x20of\x20source\x20code\x20must\ + \x20retain\x20the\x20above\x20copyright\n\x20notice,\x20this\x20list\x20\ + of\x20conditions\x20and\x20the\x20following\x20disclaimer.\n\x20\x20\x20\ + \x20\x20*\x20Redistributions\x20in\x20binary\x20form\x20must\x20reproduc\ + e\x20the\x20above\n\x20copyright\x20notice,\x20this\x20list\x20of\x20con\ + ditions\x20and\x20the\x20following\x20disclaimer\n\x20in\x20the\x20docum\ + entation\x20and/or\x20other\x20materials\x20provided\x20with\x20the\n\ + \x20distribution.\n\x20\x20\x20\x20\x20*\x20Neither\x20the\x20name\x20of\ + \x20Google\x20Inc.\x20nor\x20the\x20names\x20of\x20its\n\x20contributors\ + \x20may\x20be\x20used\x20to\x20endorse\x20or\x20promote\x20products\x20d\ + erived\x20from\n\x20this\x20software\x20without\x20specific\x20prior\x20\ + written\x20permission.\n\n\x20THIS\x20SOFTWARE\x20IS\x20PROVIDED\x20BY\ + \x20THE\x20COPYRIGHT\x20HOLDERS\x20AND\x20CONTRIBUTORS\n\x20\"AS\x20IS\"\ + \x20AND\x20ANY\x20EXPRESS\x20OR\x20IMPLIED\x20WARRANTIES,\x20INCLUDING,\ + \x20BUT\x20NOT\n\x20LIMITED\x20TO,\x20THE\x20IMPLIED\x20WARRANTIES\x20OF\ + \x20MERCHANTABILITY\x20AND\x20FITNESS\x20FOR\n\x20A\x20PARTICULAR\x20PUR\ + POSE\x20ARE\x20DISCLAIMED.\x20IN\x20NO\x20EVENT\x20SHALL\x20THE\x20COPYR\ + IGHT\n\x20OWNER\x20OR\x20CONTRIBUTORS\x20BE\x20LIABLE\x20FOR\x20ANY\x20D\ + IRECT,\x20INDIRECT,\x20INCIDENTAL,\n\x20SPECIAL,\x20EXEMPLARY,\x20OR\x20\ + CONSEQUENTIAL\x20DAMAGES\x20(INCLUDING,\x20BUT\x20NOT\n\x20LIMITED\x20TO\ + ,\x20PROCUREMENT\x20OF\x20SUBSTITUTE\x20GOODS\x20OR\x20SERVICES;\x20LOSS\ + \x20OF\x20USE,\n\x20DATA,\x20OR\x20PROFITS;\x20OR\x20BUSINESS\x20INTERRU\ + PTION)\x20HOWEVER\x20CAUSED\x20AND\x20ON\x20ANY\n\x20THEORY\x20OF\x20LIA\ + BILITY,\x20WHETHER\x20IN\x20CONTRACT,\x20STRICT\x20LIABILITY,\x20OR\x20T\ + ORT\n\x20(INCLUDING\x20NEGLIGENCE\x20OR\x20OTHERWISE)\x20ARISING\x20IN\ + \x20ANY\x20WAY\x20OUT\x20OF\x20THE\x20USE\n\x20OF\x20THIS\x20SOFTWARE,\ + \x20EVEN\x20IF\x20ADVISED\x20OF\x20THE\x20POSSIBILITY\x20OF\x20SUCH\x20D\ + AMAGE.\n\n\x08\n\x01\x02\x12\x03\x20\0\x18\n\t\n\x02\x03\0\x12\x03\"\0#\ + \n\t\n\x02\x03\x01\x12\x03#\0.\n\x08\n\x01\x08\x12\x03%\0;\n\t\n\x02\x08\ + %\x12\x03%\0;\n\x08\n\x01\x08\x12\x03&\0\x1f\n\t\n\x02\x08\x1f\x12\x03&\ + \0\x1f\n\x08\n\x01\x08\x12\x03'\0,\n\t\n\x02\x08\x01\x12\x03'\0,\n\x08\n\ + \x01\x08\x12\x03(\0*\n\t\n\x02\x08\x08\x12\x03(\0*\n\x08\n\x01\x08\x12\ + \x03)\0\"\n\t\n\x02\x08\n\x12\x03)\0\"\n\x08\n\x01\x08\x12\x03*\0!\n\t\n\ + \x02\x08$\x12\x03*\0!\n\x08\n\x01\x08\x12\x03+\0D\n\t\n\x02\x08\x0b\x12\ + \x03+\0D\n-\n\x02\x04\0\x12\x04.\0;\x01\x1a!\x20A\x20protocol\x20buffer\ + \x20message\x20type.\n\n\n\n\x03\x04\0\x01\x12\x03.\x08\x0c\n0\n\x04\x04\ + \0\x02\0\x12\x030\x02\x12\x1a#\x20The\x20fully\x20qualified\x20message\ + \x20name.\n\n\x0c\n\x05\x04\0\x02\0\x05\x12\x030\x02\x08\n\x0c\n\x05\x04\ + \0\x02\0\x01\x12\x030\t\r\n\x0c\n\x05\x04\0\x02\0\x03\x12\x030\x10\x11\n\ + \"\n\x04\x04\0\x02\x01\x12\x032\x02\x1c\x1a\x15\x20The\x20list\x20of\x20\ + fields.\n\n\x0c\n\x05\x04\0\x02\x01\x04\x12\x032\x02\n\n\x0c\n\x05\x04\0\ + \x02\x01\x06\x12\x032\x0b\x10\n\x0c\n\x05\x04\0\x02\x01\x01\x12\x032\x11\ + \x17\n\x0c\n\x05\x04\0\x02\x01\x03\x12\x032\x1a\x1b\nO\n\x04\x04\0\x02\ + \x02\x12\x034\x02\x1d\x1aB\x20The\x20list\x20of\x20types\x20appearing\ + \x20in\x20`oneof`\x20definitions\x20in\x20this\x20type.\n\n\x0c\n\x05\ + \x04\0\x02\x02\x04\x12\x034\x02\n\n\x0c\n\x05\x04\0\x02\x02\x05\x12\x034\ + \x0b\x11\n\x0c\n\x05\x04\0\x02\x02\x01\x12\x034\x12\x18\n\x0c\n\x05\x04\ + \0\x02\x02\x03\x12\x034\x1b\x1c\n+\n\x04\x04\0\x02\x03\x12\x036\x02\x1e\ + \x1a\x1e\x20The\x20protocol\x20buffer\x20options.\n\n\x0c\n\x05\x04\0\ + \x02\x03\x04\x12\x036\x02\n\n\x0c\n\x05\x04\0\x02\x03\x06\x12\x036\x0b\ + \x11\n\x0c\n\x05\x04\0\x02\x03\x01\x12\x036\x12\x19\n\x0c\n\x05\x04\0\ + \x02\x03\x03\x12\x036\x1c\x1d\n\"\n\x04\x04\0\x02\x04\x12\x038\x02#\x1a\ + \x15\x20The\x20source\x20context.\n\n\x0c\n\x05\x04\0\x02\x04\x06\x12\ + \x038\x02\x0f\n\x0c\n\x05\x04\0\x02\x04\x01\x12\x038\x10\x1e\n\x0c\n\x05\ + \x04\0\x02\x04\x03\x12\x038!\"\n!\n\x04\x04\0\x02\x05\x12\x03:\x02\x14\ + \x1a\x14\x20The\x20source\x20syntax.\n\n\x0c\n\x05\x04\0\x02\x05\x06\x12\ + \x03:\x02\x08\n\x0c\n\x05\x04\0\x02\x05\x01\x12\x03:\t\x0f\n\x0c\n\x05\ + \x04\0\x02\x05\x03\x12\x03:\x12\x13\n0\n\x02\x04\x01\x12\x05>\0\x8b\x01\ + \x01\x1a#\x20A\x20single\x20field\x20of\x20a\x20message\x20type.\n\n\n\n\ + \x03\x04\x01\x01\x12\x03>\x08\r\n\"\n\x04\x04\x01\x04\0\x12\x04@\x02g\ + \x03\x1a\x14\x20Basic\x20field\x20types.\n\n\x0c\n\x05\x04\x01\x04\0\x01\ + \x12\x03@\x07\x0b\n$\n\x06\x04\x01\x04\0\x02\0\x12\x03B\x04\x15\x1a\x15\ + \x20Field\x20type\x20unknown.\n\n\x0e\n\x07\x04\x01\x04\0\x02\0\x01\x12\ + \x03B\x04\x10\n\x0e\n\x07\x04\x01\x04\0\x02\0\x02\x12\x03B\x13\x14\n#\n\ + \x06\x04\x01\x04\0\x02\x01\x12\x03D\x04\x14\x1a\x14\x20Field\x20type\x20\ + double.\n\n\x0e\n\x07\x04\x01\x04\0\x02\x01\x01\x12\x03D\x04\x0f\n\x0e\n\ + \x07\x04\x01\x04\0\x02\x01\x02\x12\x03D\x12\x13\n\"\n\x06\x04\x01\x04\0\ + \x02\x02\x12\x03F\x04\x13\x1a\x13\x20Field\x20type\x20float.\n\n\x0e\n\ + \x07\x04\x01\x04\0\x02\x02\x01\x12\x03F\x04\x0e\n\x0e\n\x07\x04\x01\x04\ + \0\x02\x02\x02\x12\x03F\x11\x12\n\"\n\x06\x04\x01\x04\0\x02\x03\x12\x03H\ + \x04\x13\x1a\x13\x20Field\x20type\x20int64.\n\n\x0e\n\x07\x04\x01\x04\0\ + \x02\x03\x01\x12\x03H\x04\x0e\n\x0e\n\x07\x04\x01\x04\0\x02\x03\x02\x12\ + \x03H\x11\x12\n#\n\x06\x04\x01\x04\0\x02\x04\x12\x03J\x04\x14\x1a\x14\ + \x20Field\x20type\x20uint64.\n\n\x0e\n\x07\x04\x01\x04\0\x02\x04\x01\x12\ + \x03J\x04\x0f\n\x0e\n\x07\x04\x01\x04\0\x02\x04\x02\x12\x03J\x12\x13\n\"\ + \n\x06\x04\x01\x04\0\x02\x05\x12\x03L\x04\x13\x1a\x13\x20Field\x20type\ + \x20int32.\n\n\x0e\n\x07\x04\x01\x04\0\x02\x05\x01\x12\x03L\x04\x0e\n\ + \x0e\n\x07\x04\x01\x04\0\x02\x05\x02\x12\x03L\x11\x12\n$\n\x06\x04\x01\ + \x04\0\x02\x06\x12\x03N\x04\x15\x1a\x15\x20Field\x20type\x20fixed64.\n\n\ + \x0e\n\x07\x04\x01\x04\0\x02\x06\x01\x12\x03N\x04\x10\n\x0e\n\x07\x04\ + \x01\x04\0\x02\x06\x02\x12\x03N\x13\x14\n$\n\x06\x04\x01\x04\0\x02\x07\ + \x12\x03P\x04\x15\x1a\x15\x20Field\x20type\x20fixed32.\n\n\x0e\n\x07\x04\ + \x01\x04\0\x02\x07\x01\x12\x03P\x04\x10\n\x0e\n\x07\x04\x01\x04\0\x02\ + \x07\x02\x12\x03P\x13\x14\n!\n\x06\x04\x01\x04\0\x02\x08\x12\x03R\x04\ + \x12\x1a\x12\x20Field\x20type\x20bool.\n\n\x0e\n\x07\x04\x01\x04\0\x02\ + \x08\x01\x12\x03R\x04\r\n\x0e\n\x07\x04\x01\x04\0\x02\x08\x02\x12\x03R\ + \x10\x11\n#\n\x06\x04\x01\x04\0\x02\t\x12\x03T\x04\x14\x1a\x14\x20Field\ + \x20type\x20string.\n\n\x0e\n\x07\x04\x01\x04\0\x02\t\x01\x12\x03T\x04\ + \x0f\n\x0e\n\x07\x04\x01\x04\0\x02\t\x02\x12\x03T\x12\x13\nF\n\x06\x04\ + \x01\x04\0\x02\n\x12\x03V\x04\x14\x1a7\x20Field\x20type\x20group.\x20Pro\ + to2\x20syntax\x20only,\x20and\x20deprecated.\n\n\x0e\n\x07\x04\x01\x04\0\ + \x02\n\x01\x12\x03V\x04\x0e\n\x0e\n\x07\x04\x01\x04\0\x02\n\x02\x12\x03V\ + \x11\x13\n$\n\x06\x04\x01\x04\0\x02\x0b\x12\x03X\x04\x16\x1a\x15\x20Fiel\ + d\x20type\x20message.\n\n\x0e\n\x07\x04\x01\x04\0\x02\x0b\x01\x12\x03X\ + \x04\x10\n\x0e\n\x07\x04\x01\x04\0\x02\x0b\x02\x12\x03X\x13\x15\n\"\n\ + \x06\x04\x01\x04\0\x02\x0c\x12\x03Z\x04\x14\x1a\x13\x20Field\x20type\x20\ + bytes.\n\n\x0e\n\x07\x04\x01\x04\0\x02\x0c\x01\x12\x03Z\x04\x0e\n\x0e\n\ + \x07\x04\x01\x04\0\x02\x0c\x02\x12\x03Z\x11\x13\n#\n\x06\x04\x01\x04\0\ + \x02\r\x12\x03\\\x04\x15\x1a\x14\x20Field\x20type\x20uint32.\n\n\x0e\n\ + \x07\x04\x01\x04\0\x02\r\x01\x12\x03\\\x04\x0f\n\x0e\n\x07\x04\x01\x04\0\ + \x02\r\x02\x12\x03\\\x12\x14\n!\n\x06\x04\x01\x04\0\x02\x0e\x12\x03^\x04\ + \x13\x1a\x12\x20Field\x20type\x20enum.\n\n\x0e\n\x07\x04\x01\x04\0\x02\ + \x0e\x01\x12\x03^\x04\r\n\x0e\n\x07\x04\x01\x04\0\x02\x0e\x02\x12\x03^\ + \x10\x12\n%\n\x06\x04\x01\x04\0\x02\x0f\x12\x03`\x04\x17\x1a\x16\x20Fiel\ + d\x20type\x20sfixed32.\n\n\x0e\n\x07\x04\x01\x04\0\x02\x0f\x01\x12\x03`\ + \x04\x11\n\x0e\n\x07\x04\x01\x04\0\x02\x0f\x02\x12\x03`\x14\x16\n%\n\x06\ + \x04\x01\x04\0\x02\x10\x12\x03b\x04\x17\x1a\x16\x20Field\x20type\x20sfix\ + ed64.\n\n\x0e\n\x07\x04\x01\x04\0\x02\x10\x01\x12\x03b\x04\x11\n\x0e\n\ + \x07\x04\x01\x04\0\x02\x10\x02\x12\x03b\x14\x16\n#\n\x06\x04\x01\x04\0\ + \x02\x11\x12\x03d\x04\x15\x1a\x14\x20Field\x20type\x20sint32.\n\n\x0e\n\ + \x07\x04\x01\x04\0\x02\x11\x01\x12\x03d\x04\x0f\n\x0e\n\x07\x04\x01\x04\ + \0\x02\x11\x02\x12\x03d\x12\x14\n#\n\x06\x04\x01\x04\0\x02\x12\x12\x03f\ + \x04\x15\x1a\x14\x20Field\x20type\x20sint64.\n\n\x0e\n\x07\x04\x01\x04\0\ + \x02\x12\x01\x12\x03f\x04\x0f\n\x0e\n\x07\x04\x01\x04\0\x02\x12\x02\x12\ + \x03f\x12\x14\nC\n\x04\x04\x01\x04\x01\x12\x04j\x02s\x03\x1a5\x20Whether\ + \x20a\x20field\x20is\x20optional,\x20required,\x20or\x20repeated.\n\n\ + \x0c\n\x05\x04\x01\x04\x01\x01\x12\x03j\x07\x12\n5\n\x06\x04\x01\x04\x01\ + \x02\0\x12\x03l\x04\x1c\x1a&\x20For\x20fields\x20with\x20unknown\x20card\ + inality.\n\n\x0e\n\x07\x04\x01\x04\x01\x02\0\x01\x12\x03l\x04\x17\n\x0e\ + \n\x07\x04\x01\x04\x01\x02\0\x02\x12\x03l\x1a\x1b\n%\n\x06\x04\x01\x04\ + \x01\x02\x01\x12\x03n\x04\x1d\x1a\x16\x20For\x20optional\x20fields.\n\n\ + \x0e\n\x07\x04\x01\x04\x01\x02\x01\x01\x12\x03n\x04\x18\n\x0e\n\x07\x04\ + \x01\x04\x01\x02\x01\x02\x12\x03n\x1b\x1c\n9\n\x06\x04\x01\x04\x01\x02\ + \x02\x12\x03p\x04\x1d\x1a*\x20For\x20required\x20fields.\x20Proto2\x20sy\ + ntax\x20only.\n\n\x0e\n\x07\x04\x01\x04\x01\x02\x02\x01\x12\x03p\x04\x18\ + \n\x0e\n\x07\x04\x01\x04\x01\x02\x02\x02\x12\x03p\x1b\x1c\n%\n\x06\x04\ + \x01\x04\x01\x02\x03\x12\x03r\x04\x1d\x1a\x16\x20For\x20repeated\x20fiel\ + ds.\n\n\x0e\n\x07\x04\x01\x04\x01\x02\x03\x01\x12\x03r\x04\x18\n\x0e\n\ + \x07\x04\x01\x04\x01\x02\x03\x02\x12\x03r\x1b\x1c\n\x1e\n\x04\x04\x01\ + \x02\0\x12\x03v\x02\x10\x1a\x11\x20The\x20field\x20type.\n\n\x0c\n\x05\ + \x04\x01\x02\0\x06\x12\x03v\x02\x06\n\x0c\n\x05\x04\x01\x02\0\x01\x12\ + \x03v\x07\x0b\n\x0c\n\x05\x04\x01\x02\0\x03\x12\x03v\x0e\x0f\n%\n\x04\ + \x04\x01\x02\x01\x12\x03x\x02\x1e\x1a\x18\x20The\x20field\x20cardinality\ + .\n\n\x0c\n\x05\x04\x01\x02\x01\x06\x12\x03x\x02\r\n\x0c\n\x05\x04\x01\ + \x02\x01\x01\x12\x03x\x0e\x19\n\x0c\n\x05\x04\x01\x02\x01\x03\x12\x03x\ + \x1c\x1d\n\x20\n\x04\x04\x01\x02\x02\x12\x03z\x02\x13\x1a\x13\x20The\x20\ + field\x20number.\n\n\x0c\n\x05\x04\x01\x02\x02\x05\x12\x03z\x02\x07\n\ + \x0c\n\x05\x04\x01\x02\x02\x01\x12\x03z\x08\x0e\n\x0c\n\x05\x04\x01\x02\ + \x02\x03\x12\x03z\x11\x12\n\x1e\n\x04\x04\x01\x02\x03\x12\x03|\x02\x12\ + \x1a\x11\x20The\x20field\x20name.\n\n\x0c\n\x05\x04\x01\x02\x03\x05\x12\ + \x03|\x02\x08\n\x0c\n\x05\x04\x01\x02\x03\x01\x12\x03|\t\r\n\x0c\n\x05\ + \x04\x01\x02\x03\x03\x12\x03|\x10\x11\n\x96\x01\n\x04\x04\x01\x02\x04\ + \x12\x03\x7f\x02\x16\x1a\x88\x01\x20The\x20field\x20type\x20URL,\x20with\ + out\x20the\x20scheme,\x20for\x20message\x20or\x20enumeration\n\x20types.\ + \x20Example:\x20`\"type.googleapis.com/google.protobuf.Timestamp\"`.\n\n\ + \x0c\n\x05\x04\x01\x02\x04\x05\x12\x03\x7f\x02\x08\n\x0c\n\x05\x04\x01\ + \x02\x04\x01\x12\x03\x7f\t\x11\n\x0c\n\x05\x04\x01\x02\x04\x03\x12\x03\ + \x7f\x14\x15\n\xa5\x01\n\x04\x04\x01\x02\x05\x12\x04\x82\x01\x02\x18\x1a\ + \x96\x01\x20The\x20index\x20of\x20the\x20field\x20type\x20in\x20`Type.on\ + eofs`,\x20for\x20message\x20or\x20enumeration\n\x20types.\x20The\x20firs\ + t\x20type\x20has\x20index\x201;\x20zero\x20means\x20the\x20type\x20is\ + \x20not\x20in\x20the\x20list.\n\n\r\n\x05\x04\x01\x02\x05\x05\x12\x04\ + \x82\x01\x02\x07\n\r\n\x05\x04\x01\x02\x05\x01\x12\x04\x82\x01\x08\x13\n\ + \r\n\x05\x04\x01\x02\x05\x03\x12\x04\x82\x01\x16\x17\nF\n\x04\x04\x01\ + \x02\x06\x12\x04\x84\x01\x02\x12\x1a8\x20Whether\x20to\x20use\x20alterna\ + tive\x20packed\x20wire\x20representation.\n\n\r\n\x05\x04\x01\x02\x06\ + \x05\x12\x04\x84\x01\x02\x06\n\r\n\x05\x04\x01\x02\x06\x01\x12\x04\x84\ + \x01\x07\r\n\r\n\x05\x04\x01\x02\x06\x03\x12\x04\x84\x01\x10\x11\n,\n\ + \x04\x04\x01\x02\x07\x12\x04\x86\x01\x02\x1e\x1a\x1e\x20The\x20protocol\ + \x20buffer\x20options.\n\n\r\n\x05\x04\x01\x02\x07\x04\x12\x04\x86\x01\ + \x02\n\n\r\n\x05\x04\x01\x02\x07\x06\x12\x04\x86\x01\x0b\x11\n\r\n\x05\ + \x04\x01\x02\x07\x01\x12\x04\x86\x01\x12\x19\n\r\n\x05\x04\x01\x02\x07\ + \x03\x12\x04\x86\x01\x1c\x1d\n$\n\x04\x04\x01\x02\x08\x12\x04\x88\x01\ + \x02\x18\x1a\x16\x20The\x20field\x20JSON\x20name.\n\n\r\n\x05\x04\x01\ + \x02\x08\x05\x12\x04\x88\x01\x02\x08\n\r\n\x05\x04\x01\x02\x08\x01\x12\ + \x04\x88\x01\t\x12\n\r\n\x05\x04\x01\x02\x08\x03\x12\x04\x88\x01\x15\x17\ + \nX\n\x04\x04\x01\x02\t\x12\x04\x8a\x01\x02\x1c\x1aJ\x20The\x20string\ + \x20value\x20of\x20the\x20default\x20value\x20of\x20this\x20field.\x20Pr\ + oto2\x20syntax\x20only.\n\n\r\n\x05\x04\x01\x02\t\x05\x12\x04\x8a\x01\ + \x02\x08\n\r\n\x05\x04\x01\x02\t\x01\x12\x04\x8a\x01\t\x16\n\r\n\x05\x04\ + \x01\x02\t\x03\x12\x04\x8a\x01\x19\x1b\n%\n\x02\x04\x02\x12\x06\x8e\x01\ + \0\x99\x01\x01\x1a\x17\x20Enum\x20type\x20definition.\n\n\x0b\n\x03\x04\ + \x02\x01\x12\x04\x8e\x01\x08\x0c\n\x1f\n\x04\x04\x02\x02\0\x12\x04\x90\ + \x01\x02\x12\x1a\x11\x20Enum\x20type\x20name.\n\n\r\n\x05\x04\x02\x02\0\ + \x05\x12\x04\x90\x01\x02\x08\n\r\n\x05\x04\x02\x02\0\x01\x12\x04\x90\x01\ + \t\r\n\r\n\x05\x04\x02\x02\0\x03\x12\x04\x90\x01\x10\x11\n'\n\x04\x04\ + \x02\x02\x01\x12\x04\x92\x01\x02#\x1a\x19\x20Enum\x20value\x20definition\ + s.\n\n\r\n\x05\x04\x02\x02\x01\x04\x12\x04\x92\x01\x02\n\n\r\n\x05\x04\ + \x02\x02\x01\x06\x12\x04\x92\x01\x0b\x14\n\r\n\x05\x04\x02\x02\x01\x01\ + \x12\x04\x92\x01\x15\x1e\n\r\n\x05\x04\x02\x02\x01\x03\x12\x04\x92\x01!\ + \"\n(\n\x04\x04\x02\x02\x02\x12\x04\x94\x01\x02\x1e\x1a\x1a\x20Protocol\ + \x20buffer\x20options.\n\n\r\n\x05\x04\x02\x02\x02\x04\x12\x04\x94\x01\ + \x02\n\n\r\n\x05\x04\x02\x02\x02\x06\x12\x04\x94\x01\x0b\x11\n\r\n\x05\ + \x04\x02\x02\x02\x01\x12\x04\x94\x01\x12\x19\n\r\n\x05\x04\x02\x02\x02\ + \x03\x12\x04\x94\x01\x1c\x1d\n#\n\x04\x04\x02\x02\x03\x12\x04\x96\x01\ + \x02#\x1a\x15\x20The\x20source\x20context.\n\n\r\n\x05\x04\x02\x02\x03\ + \x06\x12\x04\x96\x01\x02\x0f\n\r\n\x05\x04\x02\x02\x03\x01\x12\x04\x96\ + \x01\x10\x1e\n\r\n\x05\x04\x02\x02\x03\x03\x12\x04\x96\x01!\"\n\"\n\x04\ + \x04\x02\x02\x04\x12\x04\x98\x01\x02\x14\x1a\x14\x20The\x20source\x20syn\ + tax.\n\n\r\n\x05\x04\x02\x02\x04\x06\x12\x04\x98\x01\x02\x08\n\r\n\x05\ + \x04\x02\x02\x04\x01\x12\x04\x98\x01\t\x0f\n\r\n\x05\x04\x02\x02\x04\x03\ + \x12\x04\x98\x01\x12\x13\n&\n\x02\x04\x03\x12\x06\x9c\x01\0\xa3\x01\x01\ + \x1a\x18\x20Enum\x20value\x20definition.\n\n\x0b\n\x03\x04\x03\x01\x12\ + \x04\x9c\x01\x08\x11\n\x20\n\x04\x04\x03\x02\0\x12\x04\x9e\x01\x02\x12\ + \x1a\x12\x20Enum\x20value\x20name.\n\n\r\n\x05\x04\x03\x02\0\x05\x12\x04\ + \x9e\x01\x02\x08\n\r\n\x05\x04\x03\x02\0\x01\x12\x04\x9e\x01\t\r\n\r\n\ + \x05\x04\x03\x02\0\x03\x12\x04\x9e\x01\x10\x11\n\"\n\x04\x04\x03\x02\x01\ + \x12\x04\xa0\x01\x02\x13\x1a\x14\x20Enum\x20value\x20number.\n\n\r\n\x05\ + \x04\x03\x02\x01\x05\x12\x04\xa0\x01\x02\x07\n\r\n\x05\x04\x03\x02\x01\ + \x01\x12\x04\xa0\x01\x08\x0e\n\r\n\x05\x04\x03\x02\x01\x03\x12\x04\xa0\ + \x01\x11\x12\n(\n\x04\x04\x03\x02\x02\x12\x04\xa2\x01\x02\x1e\x1a\x1a\ + \x20Protocol\x20buffer\x20options.\n\n\r\n\x05\x04\x03\x02\x02\x04\x12\ + \x04\xa2\x01\x02\n\n\r\n\x05\x04\x03\x02\x02\x06\x12\x04\xa2\x01\x0b\x11\ + \n\r\n\x05\x04\x03\x02\x02\x01\x12\x04\xa2\x01\x12\x19\n\r\n\x05\x04\x03\ + \x02\x02\x03\x12\x04\xa2\x01\x1c\x1d\ng\n\x02\x04\x04\x12\x06\xa7\x01\0\ + \xb2\x01\x01\x1aY\x20A\x20protocol\x20buffer\x20option,\x20which\x20can\ + \x20be\x20attached\x20to\x20a\x20message,\x20field,\n\x20enumeration,\ + \x20etc.\n\n\x0b\n\x03\x04\x04\x01\x12\x04\xa7\x01\x08\x0e\n\xfc\x01\n\ + \x04\x04\x04\x02\0\x12\x04\xac\x01\x02\x12\x1a\xed\x01\x20The\x20option'\ + s\x20name.\x20For\x20protobuf\x20built-in\x20options\x20(options\x20defi\ + ned\x20in\n\x20descriptor.proto),\x20this\x20is\x20the\x20short\x20name.\ + \x20For\x20example,\x20`\"map_entry\"`.\n\x20For\x20custom\x20options,\ + \x20it\x20should\x20be\x20the\x20fully-qualified\x20name.\x20For\x20exam\ + ple,\n\x20`\"google.api.http\"`.\n\n\r\n\x05\x04\x04\x02\0\x05\x12\x04\ + \xac\x01\x02\x08\n\r\n\x05\x04\x04\x02\0\x01\x12\x04\xac\x01\t\r\n\r\n\ + \x05\x04\x04\x02\0\x03\x12\x04\xac\x01\x10\x11\n\xa0\x02\n\x04\x04\x04\ + \x02\x01\x12\x04\xb1\x01\x02\x10\x1a\x91\x02\x20The\x20option's\x20value\ + \x20packed\x20in\x20an\x20Any\x20message.\x20If\x20the\x20value\x20is\ + \x20a\x20primitive,\n\x20the\x20corresponding\x20wrapper\x20type\x20defi\ + ned\x20in\x20google/protobuf/wrappers.proto\n\x20should\x20be\x20used.\ + \x20If\x20the\x20value\x20is\x20an\x20enum,\x20it\x20should\x20be\x20sto\ + red\x20as\x20an\x20int32\n\x20value\x20using\x20the\x20google.protobuf.I\ + nt32Value\x20type.\n\n\r\n\x05\x04\x04\x02\x01\x06\x12\x04\xb1\x01\x02\ + \x05\n\r\n\x05\x04\x04\x02\x01\x01\x12\x04\xb1\x01\x06\x0b\n\r\n\x05\x04\ + \x04\x02\x01\x03\x12\x04\xb1\x01\x0e\x0f\nI\n\x02\x05\0\x12\x06\xb5\x01\ + \0\xba\x01\x01\x1a;\x20The\x20syntax\x20in\x20which\x20a\x20protocol\x20\ + buffer\x20element\x20is\x20defined.\n\n\x0b\n\x03\x05\0\x01\x12\x04\xb5\ + \x01\x05\x0b\n\x20\n\x04\x05\0\x02\0\x12\x04\xb7\x01\x02\x14\x1a\x12\x20\ + Syntax\x20`proto2`.\n\n\r\n\x05\x05\0\x02\0\x01\x12\x04\xb7\x01\x02\x0f\ + \n\r\n\x05\x05\0\x02\0\x02\x12\x04\xb7\x01\x12\x13\n\x20\n\x04\x05\0\x02\ + \x01\x12\x04\xb9\x01\x02\x14\x1a\x12\x20Syntax\x20`proto3`.\n\n\r\n\x05\ + \x05\0\x02\x01\x01\x12\x04\xb9\x01\x02\x0f\n\r\n\x05\x05\0\x02\x01\x02\ + \x12\x04\xb9\x01\x12\x13b\x06proto3\ "; static file_descriptor_proto_lazy: crate::rt::LazyV2<crate::descriptor::FileDescriptorProto> = crate::rt::LazyV2::INIT; diff --git a/src/well_known_types/wrappers.rs b/src/well_known_types/wrappers.rs index 65e77de..76392a2 100644 --- a/src/well_known_types/wrappers.rs +++ b/src/well_known_types/wrappers.rs @@ -1,4 +1,4 @@ -// This file is generated by rust-protobuf 2.19.0-pre. Do not edit +// This file is generated by rust-protobuf 2.22.0-pre. Do not edit // @generated // https://github.com/rust-lang/rust-clippy/issues/702 @@ -20,7 +20,7 @@ //! Generated file from `google/protobuf/wrappers.proto` #[derive(PartialEq,Clone,Default)] -#[cfg_attr(feature = "with-serde", derive(Serialize, Deserialize))] +#[cfg_attr(feature = "with-serde", derive(::serde::Serialize, ::serde::Deserialize))] pub struct DoubleValue { // message fields pub value: f64, @@ -175,7 +175,7 @@ impl crate::reflect::ProtobufValue for DoubleValue { } #[derive(PartialEq,Clone,Default)] -#[cfg_attr(feature = "with-serde", derive(Serialize, Deserialize))] +#[cfg_attr(feature = "with-serde", derive(::serde::Serialize, ::serde::Deserialize))] pub struct FloatValue { // message fields pub value: f32, @@ -330,7 +330,7 @@ impl crate::reflect::ProtobufValue for FloatValue { } #[derive(PartialEq,Clone,Default)] -#[cfg_attr(feature = "with-serde", derive(Serialize, Deserialize))] +#[cfg_attr(feature = "with-serde", derive(::serde::Serialize, ::serde::Deserialize))] pub struct Int64Value { // message fields pub value: i64, @@ -485,7 +485,7 @@ impl crate::reflect::ProtobufValue for Int64Value { } #[derive(PartialEq,Clone,Default)] -#[cfg_attr(feature = "with-serde", derive(Serialize, Deserialize))] +#[cfg_attr(feature = "with-serde", derive(::serde::Serialize, ::serde::Deserialize))] pub struct UInt64Value { // message fields pub value: u64, @@ -640,7 +640,7 @@ impl crate::reflect::ProtobufValue for UInt64Value { } #[derive(PartialEq,Clone,Default)] -#[cfg_attr(feature = "with-serde", derive(Serialize, Deserialize))] +#[cfg_attr(feature = "with-serde", derive(::serde::Serialize, ::serde::Deserialize))] pub struct Int32Value { // message fields pub value: i32, @@ -795,7 +795,7 @@ impl crate::reflect::ProtobufValue for Int32Value { } #[derive(PartialEq,Clone,Default)] -#[cfg_attr(feature = "with-serde", derive(Serialize, Deserialize))] +#[cfg_attr(feature = "with-serde", derive(::serde::Serialize, ::serde::Deserialize))] pub struct UInt32Value { // message fields pub value: u32, @@ -950,7 +950,7 @@ impl crate::reflect::ProtobufValue for UInt32Value { } #[derive(PartialEq,Clone,Default)] -#[cfg_attr(feature = "with-serde", derive(Serialize, Deserialize))] +#[cfg_attr(feature = "with-serde", derive(::serde::Serialize, ::serde::Deserialize))] pub struct BoolValue { // message fields pub value: bool, @@ -1105,7 +1105,7 @@ impl crate::reflect::ProtobufValue for BoolValue { } #[derive(PartialEq,Clone,Default)] -#[cfg_attr(feature = "with-serde", derive(Serialize, Deserialize))] +#[cfg_attr(feature = "with-serde", derive(::serde::Serialize, ::serde::Deserialize))] pub struct StringValue { // message fields pub value: ::std::string::String, @@ -1267,7 +1267,7 @@ impl crate::reflect::ProtobufValue for StringValue { } #[derive(PartialEq,Clone,Default)] -#[cfg_attr(feature = "with-serde", derive(Serialize, Deserialize))] +#[cfg_attr(feature = "with-serde", derive(::serde::Serialize, ::serde::Deserialize))] pub struct BytesValue { // message fields pub value: ::std::vec::Vec<u8>, @@ -1438,108 +1438,114 @@ static file_descriptor_proto_data: &'static [u8] = b"\ \x14\n\x05value\x18\x01\x20\x01(\rR\x05value\"!\n\tBoolValue\x12\x14\n\ \x05value\x18\x01\x20\x01(\x08R\x05value\"#\n\x0bStringValue\x12\x14\n\ \x05value\x18\x01\x20\x01(\tR\x05value\"\"\n\nBytesValue\x12\x14\n\x05va\ - lue\x18\x01\x20\x01(\x0cR\x05valueB|\n\x13com.google.protobufB\rWrappers\ - ProtoP\x01Z*github.com/golang/protobuf/ptypes/wrappers\xf8\x01\x01\xa2\ - \x02\x03GPB\xaa\x02\x1eGoogle.Protobuf.WellKnownTypesJ\xae\x1d\n\x06\x12\ - \x04#\0u\x01\n\xc3\x0e\n\x01\x0c\x12\x03#\0\x122\xc1\x0c\x20Protocol\x20\ - Buffers\x20-\x20Google's\x20data\x20interchange\x20format\n\x20Copyright\ - \x202008\x20Google\x20Inc.\x20\x20All\x20rights\x20reserved.\n\x20https:\ - //developers.google.com/protocol-buffers/\n\n\x20Redistribution\x20and\ - \x20use\x20in\x20source\x20and\x20binary\x20forms,\x20with\x20or\x20with\ - out\n\x20modification,\x20are\x20permitted\x20provided\x20that\x20the\ - \x20following\x20conditions\x20are\n\x20met:\n\n\x20\x20\x20\x20\x20*\ - \x20Redistributions\x20of\x20source\x20code\x20must\x20retain\x20the\x20\ - above\x20copyright\n\x20notice,\x20this\x20list\x20of\x20conditions\x20a\ - nd\x20the\x20following\x20disclaimer.\n\x20\x20\x20\x20\x20*\x20Redistri\ - butions\x20in\x20binary\x20form\x20must\x20reproduce\x20the\x20above\n\ - \x20copyright\x20notice,\x20this\x20list\x20of\x20conditions\x20and\x20t\ - he\x20following\x20disclaimer\n\x20in\x20the\x20documentation\x20and/or\ - \x20other\x20materials\x20provided\x20with\x20the\n\x20distribution.\n\ - \x20\x20\x20\x20\x20*\x20Neither\x20the\x20name\x20of\x20Google\x20Inc.\ - \x20nor\x20the\x20names\x20of\x20its\n\x20contributors\x20may\x20be\x20u\ - sed\x20to\x20endorse\x20or\x20promote\x20products\x20derived\x20from\n\ - \x20this\x20software\x20without\x20specific\x20prior\x20written\x20permi\ - ssion.\n\n\x20THIS\x20SOFTWARE\x20IS\x20PROVIDED\x20BY\x20THE\x20COPYRIG\ - HT\x20HOLDERS\x20AND\x20CONTRIBUTORS\n\x20\"AS\x20IS\"\x20AND\x20ANY\x20\ - EXPRESS\x20OR\x20IMPLIED\x20WARRANTIES,\x20INCLUDING,\x20BUT\x20NOT\n\ - \x20LIMITED\x20TO,\x20THE\x20IMPLIED\x20WARRANTIES\x20OF\x20MERCHANTABIL\ - ITY\x20AND\x20FITNESS\x20FOR\n\x20A\x20PARTICULAR\x20PURPOSE\x20ARE\x20D\ - ISCLAIMED.\x20IN\x20NO\x20EVENT\x20SHALL\x20THE\x20COPYRIGHT\n\x20OWNER\ - \x20OR\x20CONTRIBUTORS\x20BE\x20LIABLE\x20FOR\x20ANY\x20DIRECT,\x20INDIR\ - ECT,\x20INCIDENTAL,\n\x20SPECIAL,\x20EXEMPLARY,\x20OR\x20CONSEQUENTIAL\ - \x20DAMAGES\x20(INCLUDING,\x20BUT\x20NOT\n\x20LIMITED\x20TO,\x20PROCUREM\ - ENT\x20OF\x20SUBSTITUTE\x20GOODS\x20OR\x20SERVICES;\x20LOSS\x20OF\x20USE\ - ,\n\x20DATA,\x20OR\x20PROFITS;\x20OR\x20BUSINESS\x20INTERRUPTION)\x20HOW\ - EVER\x20CAUSED\x20AND\x20ON\x20ANY\n\x20THEORY\x20OF\x20LIABILITY,\x20WH\ - ETHER\x20IN\x20CONTRACT,\x20STRICT\x20LIABILITY,\x20OR\x20TORT\n\x20(INC\ - LUDING\x20NEGLIGENCE\x20OR\x20OTHERWISE)\x20ARISING\x20IN\x20ANY\x20WAY\ - \x20OUT\x20OF\x20THE\x20USE\n\x20OF\x20THIS\x20SOFTWARE,\x20EVEN\x20IF\ - \x20ADVISED\x20OF\x20THE\x20POSSIBILITY\x20OF\x20SUCH\x20DAMAGE.\n2\xf4\ - \x01\x20Wrappers\x20for\x20primitive\x20(non-message)\x20types.\x20These\ - \x20types\x20are\x20useful\n\x20for\x20embedding\x20primitives\x20in\x20\ - the\x20`google.protobuf.Any`\x20type\x20and\x20for\x20places\n\x20where\ - \x20we\x20need\x20to\x20distinguish\x20between\x20the\x20absence\x20of\ - \x20a\x20primitive\n\x20typed\x20field\x20and\x20its\x20default\x20value\ - .\n\n\x08\n\x01\x02\x12\x03%\0\x18\n\x08\n\x01\x08\x12\x03'\0;\n\t\n\x02\ - \x08%\x12\x03'\0;\n\x08\n\x01\x08\x12\x03(\0\x1f\n\t\n\x02\x08\x1f\x12\ - \x03(\0\x1f\n\x08\n\x01\x08\x12\x03)\0A\n\t\n\x02\x08\x0b\x12\x03)\0A\n\ - \x08\n\x01\x08\x12\x03*\0,\n\t\n\x02\x08\x01\x12\x03*\0,\n\x08\n\x01\x08\ - \x12\x03+\0.\n\t\n\x02\x08\x08\x12\x03+\0.\n\x08\n\x01\x08\x12\x03,\0\"\ - \n\t\n\x02\x08\n\x12\x03,\0\"\n\x08\n\x01\x08\x12\x03-\0!\n\t\n\x02\x08$\ - \x12\x03-\0!\ng\n\x02\x04\0\x12\x042\05\x01\x1a[\x20Wrapper\x20message\ - \x20for\x20`double`.\n\n\x20The\x20JSON\x20representation\x20for\x20`Dou\ - bleValue`\x20is\x20JSON\x20number.\n\n\n\n\x03\x04\0\x01\x12\x032\x08\ - \x13\n\x20\n\x04\x04\0\x02\0\x12\x034\x02\x13\x1a\x13\x20The\x20double\ - \x20value.\n\n\x0c\n\x05\x04\0\x02\0\x05\x12\x034\x02\x08\n\x0c\n\x05\ - \x04\0\x02\0\x01\x12\x034\t\x0e\n\x0c\n\x05\x04\0\x02\0\x03\x12\x034\x11\ - \x12\ne\n\x02\x04\x01\x12\x04:\0=\x01\x1aY\x20Wrapper\x20message\x20for\ + lue\x18\x01\x20\x01(\x0cR\x05valueB\x83\x01\n\x13com.google.protobufB\rW\ + rappersProtoP\x01Z1google.golang.org/protobuf/types/known/wrapperspb\xf8\ + \x01\x01\xa2\x02\x03GPB\xaa\x02\x1eGoogle.Protobuf.WellKnownTypesJ\xc6\ + \x1f\n\x06\x12\x04(\0z\x01\n\xdb\x10\n\x01\x0c\x12\x03(\0\x122\xc1\x0c\ + \x20Protocol\x20Buffers\x20-\x20Google's\x20data\x20interchange\x20forma\ + t\n\x20Copyright\x202008\x20Google\x20Inc.\x20\x20All\x20rights\x20reser\ + ved.\n\x20https://developers.google.com/protocol-buffers/\n\n\x20Redistr\ + ibution\x20and\x20use\x20in\x20source\x20and\x20binary\x20forms,\x20with\ + \x20or\x20without\n\x20modification,\x20are\x20permitted\x20provided\x20\ + that\x20the\x20following\x20conditions\x20are\n\x20met:\n\n\x20\x20\x20\ + \x20\x20*\x20Redistributions\x20of\x20source\x20code\x20must\x20retain\ + \x20the\x20above\x20copyright\n\x20notice,\x20this\x20list\x20of\x20cond\ + itions\x20and\x20the\x20following\x20disclaimer.\n\x20\x20\x20\x20\x20*\ + \x20Redistributions\x20in\x20binary\x20form\x20must\x20reproduce\x20the\ + \x20above\n\x20copyright\x20notice,\x20this\x20list\x20of\x20conditions\ + \x20and\x20the\x20following\x20disclaimer\n\x20in\x20the\x20documentatio\ + n\x20and/or\x20other\x20materials\x20provided\x20with\x20the\n\x20distri\ + bution.\n\x20\x20\x20\x20\x20*\x20Neither\x20the\x20name\x20of\x20Google\ + \x20Inc.\x20nor\x20the\x20names\x20of\x20its\n\x20contributors\x20may\ + \x20be\x20used\x20to\x20endorse\x20or\x20promote\x20products\x20derived\ + \x20from\n\x20this\x20software\x20without\x20specific\x20prior\x20writte\ + n\x20permission.\n\n\x20THIS\x20SOFTWARE\x20IS\x20PROVIDED\x20BY\x20THE\ + \x20COPYRIGHT\x20HOLDERS\x20AND\x20CONTRIBUTORS\n\x20\"AS\x20IS\"\x20AND\ + \x20ANY\x20EXPRESS\x20OR\x20IMPLIED\x20WARRANTIES,\x20INCLUDING,\x20BUT\ + \x20NOT\n\x20LIMITED\x20TO,\x20THE\x20IMPLIED\x20WARRANTIES\x20OF\x20MER\ + CHANTABILITY\x20AND\x20FITNESS\x20FOR\n\x20A\x20PARTICULAR\x20PURPOSE\ + \x20ARE\x20DISCLAIMED.\x20IN\x20NO\x20EVENT\x20SHALL\x20THE\x20COPYRIGHT\ + \n\x20OWNER\x20OR\x20CONTRIBUTORS\x20BE\x20LIABLE\x20FOR\x20ANY\x20DIREC\ + T,\x20INDIRECT,\x20INCIDENTAL,\n\x20SPECIAL,\x20EXEMPLARY,\x20OR\x20CONS\ + EQUENTIAL\x20DAMAGES\x20(INCLUDING,\x20BUT\x20NOT\n\x20LIMITED\x20TO,\ + \x20PROCUREMENT\x20OF\x20SUBSTITUTE\x20GOODS\x20OR\x20SERVICES;\x20LOSS\ + \x20OF\x20USE,\n\x20DATA,\x20OR\x20PROFITS;\x20OR\x20BUSINESS\x20INTERRU\ + PTION)\x20HOWEVER\x20CAUSED\x20AND\x20ON\x20ANY\n\x20THEORY\x20OF\x20LIA\ + BILITY,\x20WHETHER\x20IN\x20CONTRACT,\x20STRICT\x20LIABILITY,\x20OR\x20T\ + ORT\n\x20(INCLUDING\x20NEGLIGENCE\x20OR\x20OTHERWISE)\x20ARISING\x20IN\ + \x20ANY\x20WAY\x20OUT\x20OF\x20THE\x20USE\n\x20OF\x20THIS\x20SOFTWARE,\ + \x20EVEN\x20IF\x20ADVISED\x20OF\x20THE\x20POSSIBILITY\x20OF\x20SUCH\x20D\ + AMAGE.\n2\x8c\x04\x20Wrappers\x20for\x20primitive\x20(non-message)\x20ty\ + pes.\x20These\x20types\x20are\x20useful\n\x20for\x20embedding\x20primiti\ + ves\x20in\x20the\x20`google.protobuf.Any`\x20type\x20and\x20for\x20place\ + s\n\x20where\x20we\x20need\x20to\x20distinguish\x20between\x20the\x20abs\ + ence\x20of\x20a\x20primitive\n\x20typed\x20field\x20and\x20its\x20defaul\ + t\x20value.\n\n\x20These\x20wrappers\x20have\x20no\x20meaningful\x20use\ + \x20within\x20repeated\x20fields\x20as\x20they\x20lack\n\x20the\x20abili\ + ty\x20to\x20detect\x20presence\x20on\x20individual\x20elements.\n\x20The\ + se\x20wrappers\x20have\x20no\x20meaningful\x20use\x20within\x20a\x20map\ + \x20or\x20a\x20oneof\x20since\n\x20individual\x20entries\x20of\x20a\x20m\ + ap\x20or\x20fields\x20of\x20a\x20oneof\x20can\x20already\x20detect\x20pr\ + esence.\n\n\x08\n\x01\x02\x12\x03*\0\x18\n\x08\n\x01\x08\x12\x03,\0;\n\t\ + \n\x02\x08%\x12\x03,\0;\n\x08\n\x01\x08\x12\x03-\0\x1f\n\t\n\x02\x08\x1f\ + \x12\x03-\0\x1f\n\x08\n\x01\x08\x12\x03.\0H\n\t\n\x02\x08\x0b\x12\x03.\0\ + H\n\x08\n\x01\x08\x12\x03/\0,\n\t\n\x02\x08\x01\x12\x03/\0,\n\x08\n\x01\ + \x08\x12\x030\0.\n\t\n\x02\x08\x08\x12\x030\0.\n\x08\n\x01\x08\x12\x031\ + \0\"\n\t\n\x02\x08\n\x12\x031\0\"\n\x08\n\x01\x08\x12\x032\0!\n\t\n\x02\ + \x08$\x12\x032\0!\ng\n\x02\x04\0\x12\x047\0:\x01\x1a[\x20Wrapper\x20mess\ + age\x20for\x20`double`.\n\n\x20The\x20JSON\x20representation\x20for\x20`\ + DoubleValue`\x20is\x20JSON\x20number.\n\n\n\n\x03\x04\0\x01\x12\x037\x08\ + \x13\n\x20\n\x04\x04\0\x02\0\x12\x039\x02\x13\x1a\x13\x20The\x20double\ + \x20value.\n\n\x0c\n\x05\x04\0\x02\0\x05\x12\x039\x02\x08\n\x0c\n\x05\ + \x04\0\x02\0\x01\x12\x039\t\x0e\n\x0c\n\x05\x04\0\x02\0\x03\x12\x039\x11\ + \x12\ne\n\x02\x04\x01\x12\x04?\0B\x01\x1aY\x20Wrapper\x20message\x20for\ \x20`float`.\n\n\x20The\x20JSON\x20representation\x20for\x20`FloatValue`\ - \x20is\x20JSON\x20number.\n\n\n\n\x03\x04\x01\x01\x12\x03:\x08\x12\n\x1f\ - \n\x04\x04\x01\x02\0\x12\x03<\x02\x12\x1a\x12\x20The\x20float\x20value.\ - \n\n\x0c\n\x05\x04\x01\x02\0\x05\x12\x03<\x02\x07\n\x0c\n\x05\x04\x01\ - \x02\0\x01\x12\x03<\x08\r\n\x0c\n\x05\x04\x01\x02\0\x03\x12\x03<\x10\x11\ - \ne\n\x02\x04\x02\x12\x04B\0E\x01\x1aY\x20Wrapper\x20message\x20for\x20`\ + \x20is\x20JSON\x20number.\n\n\n\n\x03\x04\x01\x01\x12\x03?\x08\x12\n\x1f\ + \n\x04\x04\x01\x02\0\x12\x03A\x02\x12\x1a\x12\x20The\x20float\x20value.\ + \n\n\x0c\n\x05\x04\x01\x02\0\x05\x12\x03A\x02\x07\n\x0c\n\x05\x04\x01\ + \x02\0\x01\x12\x03A\x08\r\n\x0c\n\x05\x04\x01\x02\0\x03\x12\x03A\x10\x11\ + \ne\n\x02\x04\x02\x12\x04G\0J\x01\x1aY\x20Wrapper\x20message\x20for\x20`\ int64`.\n\n\x20The\x20JSON\x20representation\x20for\x20`Int64Value`\x20i\ - s\x20JSON\x20string.\n\n\n\n\x03\x04\x02\x01\x12\x03B\x08\x12\n\x1f\n\ - \x04\x04\x02\x02\0\x12\x03D\x02\x12\x1a\x12\x20The\x20int64\x20value.\n\ - \n\x0c\n\x05\x04\x02\x02\0\x05\x12\x03D\x02\x07\n\x0c\n\x05\x04\x02\x02\ - \0\x01\x12\x03D\x08\r\n\x0c\n\x05\x04\x02\x02\0\x03\x12\x03D\x10\x11\ng\ - \n\x02\x04\x03\x12\x04J\0M\x01\x1a[\x20Wrapper\x20message\x20for\x20`uin\ + s\x20JSON\x20string.\n\n\n\n\x03\x04\x02\x01\x12\x03G\x08\x12\n\x1f\n\ + \x04\x04\x02\x02\0\x12\x03I\x02\x12\x1a\x12\x20The\x20int64\x20value.\n\ + \n\x0c\n\x05\x04\x02\x02\0\x05\x12\x03I\x02\x07\n\x0c\n\x05\x04\x02\x02\ + \0\x01\x12\x03I\x08\r\n\x0c\n\x05\x04\x02\x02\0\x03\x12\x03I\x10\x11\ng\ + \n\x02\x04\x03\x12\x04O\0R\x01\x1a[\x20Wrapper\x20message\x20for\x20`uin\ t64`.\n\n\x20The\x20JSON\x20representation\x20for\x20`UInt64Value`\x20is\ - \x20JSON\x20string.\n\n\n\n\x03\x04\x03\x01\x12\x03J\x08\x13\n\x20\n\x04\ - \x04\x03\x02\0\x12\x03L\x02\x13\x1a\x13\x20The\x20uint64\x20value.\n\n\ - \x0c\n\x05\x04\x03\x02\0\x05\x12\x03L\x02\x08\n\x0c\n\x05\x04\x03\x02\0\ - \x01\x12\x03L\t\x0e\n\x0c\n\x05\x04\x03\x02\0\x03\x12\x03L\x11\x12\ne\n\ - \x02\x04\x04\x12\x04R\0U\x01\x1aY\x20Wrapper\x20message\x20for\x20`int32\ + \x20JSON\x20string.\n\n\n\n\x03\x04\x03\x01\x12\x03O\x08\x13\n\x20\n\x04\ + \x04\x03\x02\0\x12\x03Q\x02\x13\x1a\x13\x20The\x20uint64\x20value.\n\n\ + \x0c\n\x05\x04\x03\x02\0\x05\x12\x03Q\x02\x08\n\x0c\n\x05\x04\x03\x02\0\ + \x01\x12\x03Q\t\x0e\n\x0c\n\x05\x04\x03\x02\0\x03\x12\x03Q\x11\x12\ne\n\ + \x02\x04\x04\x12\x04W\0Z\x01\x1aY\x20Wrapper\x20message\x20for\x20`int32\ `.\n\n\x20The\x20JSON\x20representation\x20for\x20`Int32Value`\x20is\x20\ - JSON\x20number.\n\n\n\n\x03\x04\x04\x01\x12\x03R\x08\x12\n\x1f\n\x04\x04\ - \x04\x02\0\x12\x03T\x02\x12\x1a\x12\x20The\x20int32\x20value.\n\n\x0c\n\ - \x05\x04\x04\x02\0\x05\x12\x03T\x02\x07\n\x0c\n\x05\x04\x04\x02\0\x01\ - \x12\x03T\x08\r\n\x0c\n\x05\x04\x04\x02\0\x03\x12\x03T\x10\x11\ng\n\x02\ - \x04\x05\x12\x04Z\0]\x01\x1a[\x20Wrapper\x20message\x20for\x20`uint32`.\ + JSON\x20number.\n\n\n\n\x03\x04\x04\x01\x12\x03W\x08\x12\n\x1f\n\x04\x04\ + \x04\x02\0\x12\x03Y\x02\x12\x1a\x12\x20The\x20int32\x20value.\n\n\x0c\n\ + \x05\x04\x04\x02\0\x05\x12\x03Y\x02\x07\n\x0c\n\x05\x04\x04\x02\0\x01\ + \x12\x03Y\x08\r\n\x0c\n\x05\x04\x04\x02\0\x03\x12\x03Y\x10\x11\ng\n\x02\ + \x04\x05\x12\x04_\0b\x01\x1a[\x20Wrapper\x20message\x20for\x20`uint32`.\ \n\n\x20The\x20JSON\x20representation\x20for\x20`UInt32Value`\x20is\x20J\ - SON\x20number.\n\n\n\n\x03\x04\x05\x01\x12\x03Z\x08\x13\n\x20\n\x04\x04\ - \x05\x02\0\x12\x03\\\x02\x13\x1a\x13\x20The\x20uint32\x20value.\n\n\x0c\ - \n\x05\x04\x05\x02\0\x05\x12\x03\\\x02\x08\n\x0c\n\x05\x04\x05\x02\0\x01\ - \x12\x03\\\t\x0e\n\x0c\n\x05\x04\x05\x02\0\x03\x12\x03\\\x11\x12\no\n\ - \x02\x04\x06\x12\x04b\0e\x01\x1ac\x20Wrapper\x20message\x20for\x20`bool`\ - .\n\n\x20The\x20JSON\x20representation\x20for\x20`BoolValue`\x20is\x20JS\ - ON\x20`true`\x20and\x20`false`.\n\n\n\n\x03\x04\x06\x01\x12\x03b\x08\x11\ - \n\x1e\n\x04\x04\x06\x02\0\x12\x03d\x02\x11\x1a\x11\x20The\x20bool\x20va\ - lue.\n\n\x0c\n\x05\x04\x06\x02\0\x05\x12\x03d\x02\x06\n\x0c\n\x05\x04\ - \x06\x02\0\x01\x12\x03d\x07\x0c\n\x0c\n\x05\x04\x06\x02\0\x03\x12\x03d\ - \x0f\x10\ng\n\x02\x04\x07\x12\x04j\0m\x01\x1a[\x20Wrapper\x20message\x20\ - for\x20`string`.\n\n\x20The\x20JSON\x20representation\x20for\x20`StringV\ - alue`\x20is\x20JSON\x20string.\n\n\n\n\x03\x04\x07\x01\x12\x03j\x08\x13\ - \n\x20\n\x04\x04\x07\x02\0\x12\x03l\x02\x13\x1a\x13\x20The\x20string\x20\ - value.\n\n\x0c\n\x05\x04\x07\x02\0\x05\x12\x03l\x02\x08\n\x0c\n\x05\x04\ - \x07\x02\0\x01\x12\x03l\t\x0e\n\x0c\n\x05\x04\x07\x02\0\x03\x12\x03l\x11\ - \x12\ne\n\x02\x04\x08\x12\x04r\0u\x01\x1aY\x20Wrapper\x20message\x20for\ + SON\x20number.\n\n\n\n\x03\x04\x05\x01\x12\x03_\x08\x13\n\x20\n\x04\x04\ + \x05\x02\0\x12\x03a\x02\x13\x1a\x13\x20The\x20uint32\x20value.\n\n\x0c\n\ + \x05\x04\x05\x02\0\x05\x12\x03a\x02\x08\n\x0c\n\x05\x04\x05\x02\0\x01\ + \x12\x03a\t\x0e\n\x0c\n\x05\x04\x05\x02\0\x03\x12\x03a\x11\x12\no\n\x02\ + \x04\x06\x12\x04g\0j\x01\x1ac\x20Wrapper\x20message\x20for\x20`bool`.\n\ + \n\x20The\x20JSON\x20representation\x20for\x20`BoolValue`\x20is\x20JSON\ + \x20`true`\x20and\x20`false`.\n\n\n\n\x03\x04\x06\x01\x12\x03g\x08\x11\n\ + \x1e\n\x04\x04\x06\x02\0\x12\x03i\x02\x11\x1a\x11\x20The\x20bool\x20valu\ + e.\n\n\x0c\n\x05\x04\x06\x02\0\x05\x12\x03i\x02\x06\n\x0c\n\x05\x04\x06\ + \x02\0\x01\x12\x03i\x07\x0c\n\x0c\n\x05\x04\x06\x02\0\x03\x12\x03i\x0f\ + \x10\ng\n\x02\x04\x07\x12\x04o\0r\x01\x1a[\x20Wrapper\x20message\x20for\ + \x20`string`.\n\n\x20The\x20JSON\x20representation\x20for\x20`StringValu\ + e`\x20is\x20JSON\x20string.\n\n\n\n\x03\x04\x07\x01\x12\x03o\x08\x13\n\ + \x20\n\x04\x04\x07\x02\0\x12\x03q\x02\x13\x1a\x13\x20The\x20string\x20va\ + lue.\n\n\x0c\n\x05\x04\x07\x02\0\x05\x12\x03q\x02\x08\n\x0c\n\x05\x04\ + \x07\x02\0\x01\x12\x03q\t\x0e\n\x0c\n\x05\x04\x07\x02\0\x03\x12\x03q\x11\ + \x12\ne\n\x02\x04\x08\x12\x04w\0z\x01\x1aY\x20Wrapper\x20message\x20for\ \x20`bytes`.\n\n\x20The\x20JSON\x20representation\x20for\x20`BytesValue`\ - \x20is\x20JSON\x20string.\n\n\n\n\x03\x04\x08\x01\x12\x03r\x08\x12\n\x1f\ - \n\x04\x04\x08\x02\0\x12\x03t\x02\x12\x1a\x12\x20The\x20bytes\x20value.\ - \n\n\x0c\n\x05\x04\x08\x02\0\x05\x12\x03t\x02\x07\n\x0c\n\x05\x04\x08\ - \x02\0\x01\x12\x03t\x08\r\n\x0c\n\x05\x04\x08\x02\0\x03\x12\x03t\x10\x11\ + \x20is\x20JSON\x20string.\n\n\n\n\x03\x04\x08\x01\x12\x03w\x08\x12\n\x1f\ + \n\x04\x04\x08\x02\0\x12\x03y\x02\x12\x1a\x12\x20The\x20bytes\x20value.\ + \n\n\x0c\n\x05\x04\x08\x02\0\x05\x12\x03y\x02\x07\n\x0c\n\x05\x04\x08\ + \x02\0\x01\x12\x03y\x08\r\n\x0c\n\x05\x04\x08\x02\0\x03\x12\x03y\x10\x11\ b\x06proto3\ "; |