aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.cargo_vcs_info.json2
-rw-r--r--Android.bp2
-rw-r--r--Cargo.toml3
-rw-r--r--Cargo.toml.orig4
-rw-r--r--METADATA8
-rw-r--r--build.rs6
-rw-r--r--out/version.rs6
-rwxr-xr-xregenerate.sh5
-rw-r--r--src/descriptor.rs3421
-rw-r--r--src/plugin.rs923
-rw-r--r--src/reflect/message.rs3
-rw-r--r--src/rustproto.rs2
-rw-r--r--src/stream.rs3
-rw-r--r--src/well_known_types/any.rs205
-rw-r--r--src/well_known_types/api.rs391
-rw-r--r--src/well_known_types/duration.rs211
-rw-r--r--src/well_known_types/empty.rs88
-rw-r--r--src/well_known_types/field_mask.rs258
-rw-r--r--src/well_known_types/source_context.rs108
-rw-r--r--src/well_known_types/struct_pb.rs94
-rw-r--r--src/well_known_types/timestamp.rs235
-rw-r--r--src/well_known_types/type_pb.rs494
-rw-r--r--src/well_known_types/wrappers.rs218
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"
}
}
diff --git a/Android.bp b/Android.bp
index 9b12815..4aaf259 100644
--- a/Android.bp
+++ b/Android.bp
@@ -45,4 +45,4 @@ rust_library {
}
// dependent_library ["feature_list"]
-// bytes-1.0.0 "default,std"
+// bytes-1.0.1 "default,std"
diff --git a/Cargo.toml b/Cargo.toml
index de24a5d..1af904e 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -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]
diff --git a/METADATA b/METADATA
index 59982b1..62f030f 100644
--- a/METADATA
+++ b/METADATA
@@ -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
}
}
diff --git a/build.rs b/build.rs
index b0b1010..653ba35 100644
--- a/build.rs
+++ b/build.rs
@@ -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\
";