aboutsummaryrefslogtreecommitdiff
path: root/src/well_known_types
diff options
context:
space:
mode:
authorChih-Hung Hsieh <chh@google.com>2020-06-10 20:13:05 -0700
committerChih-Hung Hsieh <chh@google.com>2020-06-10 20:13:05 -0700
commitcfc3a2393e88971337346fd696518e9ea60aa2b8 (patch)
tree27da848698dcf5cab8eabb82e02b880eb1e100c4 /src/well_known_types
parente97eb59d5ef6d56df05edde7356c6310d9a2cbe3 (diff)
downloadprotobuf-cfc3a2393e88971337346fd696518e9ea60aa2b8.tar.gz
Import protobuf-2.14.0
* Add OWNERS and Android.bp * add generated version.rs into out Bug: 143953733 Test: make Change-Id: Ib53a973b74679c4dd78e2de2fa54141e55048c17
Diffstat (limited to 'src/well_known_types')
-rw-r--r--src/well_known_types/any.rs368
-rw-r--r--src/well_known_types/api.rs1296
-rw-r--r--src/well_known_types/duration.rs332
-rw-r--r--src/well_known_types/empty.rs217
-rw-r--r--src/well_known_types/field_mask.rs388
-rw-r--r--src/well_known_types/mod.rs26
-rw-r--r--src/well_known_types/source_context.rs258
-rw-r--r--src/well_known_types/struct_pb.rs1028
-rw-r--r--src/well_known_types/timestamp.rs335
-rw-r--r--src/well_known_types/type_pb.rs2254
-rw-r--r--src/well_known_types/wrappers.rs1597
11 files changed, 8099 insertions, 0 deletions
diff --git a/src/well_known_types/any.rs b/src/well_known_types/any.rs
new file mode 100644
index 0000000..25166a0
--- /dev/null
+++ b/src/well_known_types/any.rs
@@ -0,0 +1,368 @@
+// This file is generated by rust-protobuf 2.14.0-pre. Do not edit
+// @generated
+
+// https://github.com/rust-lang/rust-clippy/issues/702
+#![allow(unknown_lints)]
+#![allow(clippy::all)]
+
+#![cfg_attr(rustfmt, rustfmt_skip)]
+
+#![allow(box_pointers)]
+#![allow(dead_code)]
+#![allow(missing_docs)]
+#![allow(non_camel_case_types)]
+#![allow(non_snake_case)]
+#![allow(non_upper_case_globals)]
+#![allow(trivial_casts)]
+#![allow(unsafe_code)]
+#![allow(unused_imports)]
+#![allow(unused_results)]
+//! Generated file from `google/protobuf/any.proto`
+
+use protobuf::Message as Message_imported_for_functions;
+use protobuf::ProtobufEnum as ProtobufEnum_imported_for_functions;
+
+#[derive(PartialEq,Clone,Default)]
+#[cfg_attr(feature = "with-serde", derive(Serialize, Deserialize))]
+pub struct Any {
+ // message fields
+ pub type_url: ::std::string::String,
+ pub value: ::std::vec::Vec<u8>,
+ // special fields
+ #[cfg_attr(feature = "with-serde", serde(skip))]
+ pub unknown_fields: ::protobuf::UnknownFields,
+ #[cfg_attr(feature = "with-serde", serde(skip))]
+ pub cached_size: ::protobuf::CachedSize,
+}
+
+impl<'a> ::std::default::Default for &'a Any {
+ fn default() -> &'a Any {
+ <Any as ::protobuf::Message>::default_instance()
+ }
+}
+
+impl Any {
+ pub fn new() -> Any {
+ ::std::default::Default::default()
+ }
+
+ // string type_url = 1;
+
+
+ pub fn get_type_url(&self) -> &str {
+ &self.type_url
+ }
+ pub fn clear_type_url(&mut self) {
+ self.type_url.clear();
+ }
+
+ // Param is passed by value, moved
+ pub fn set_type_url(&mut self, v: ::std::string::String) {
+ self.type_url = v;
+ }
+
+ // Mutable pointer to the field.
+ // If field is not initialized, it is initialized with default value first.
+ pub fn mut_type_url(&mut self) -> &mut ::std::string::String {
+ &mut self.type_url
+ }
+
+ // Take field
+ pub fn take_type_url(&mut self) -> ::std::string::String {
+ ::std::mem::replace(&mut self.type_url, ::std::string::String::new())
+ }
+
+ // bytes value = 2;
+
+
+ pub fn get_value(&self) -> &[u8] {
+ &self.value
+ }
+ pub fn clear_value(&mut self) {
+ self.value.clear();
+ }
+
+ // Param is passed by value, moved
+ pub fn set_value(&mut self, v: ::std::vec::Vec<u8>) {
+ self.value = v;
+ }
+
+ // Mutable pointer to the field.
+ // If field is not initialized, it is initialized with default value first.
+ pub fn mut_value(&mut self) -> &mut ::std::vec::Vec<u8> {
+ &mut self.value
+ }
+
+ // Take field
+ pub fn take_value(&mut self) -> ::std::vec::Vec<u8> {
+ ::std::mem::replace(&mut self.value, ::std::vec::Vec::new())
+ }
+}
+
+impl ::protobuf::Message for Any {
+ fn is_initialized(&self) -> bool {
+ true
+ }
+
+ fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
+ while !is.eof()? {
+ let (field_number, wire_type) = is.read_tag_unpack()?;
+ match field_number {
+ 1 => {
+ ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.type_url)?;
+ },
+ 2 => {
+ ::protobuf::rt::read_singular_proto3_bytes_into(wire_type, is, &mut self.value)?;
+ },
+ _ => {
+ ::protobuf::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 !self.type_url.is_empty() {
+ my_size += ::protobuf::rt::string_size(1, &self.type_url);
+ }
+ if !self.value.is_empty() {
+ my_size += ::protobuf::rt::bytes_size(2, &self.value);
+ }
+ my_size += ::protobuf::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 ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
+ if !self.type_url.is_empty() {
+ os.write_string(1, &self.type_url)?;
+ }
+ if !self.value.is_empty() {
+ os.write_bytes(2, &self.value)?;
+ }
+ 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) -> &::protobuf::UnknownFields {
+ &self.unknown_fields
+ }
+
+ fn mut_unknown_fields(&mut self) -> &mut ::protobuf::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: Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
+ self
+ }
+
+ fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
+ Self::descriptor_static()
+ }
+
+ fn new() -> Any {
+ Any::new()
+ }
+
+ fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
+ static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy::INIT;
+ unsafe {
+ descriptor.get(|| {
+ let mut fields = ::std::vec::Vec::new();
+ fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
+ "type_url",
+ |m: &Any| { &m.type_url },
+ |m: &mut Any| { &mut m.type_url },
+ ));
+ fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeBytes>(
+ "value",
+ |m: &Any| { &m.value },
+ |m: &mut Any| { &mut m.value },
+ ));
+ ::protobuf::reflect::MessageDescriptor::new_pb_name::<Any>(
+ "Any",
+ fields,
+ file_descriptor_proto()
+ )
+ })
+ }
+ }
+
+ fn default_instance() -> &'static Any {
+ static mut instance: ::protobuf::lazy::Lazy<Any> = ::protobuf::lazy::Lazy::INIT;
+ unsafe {
+ instance.get(Any::new)
+ }
+ }
+}
+
+impl ::protobuf::Clear for Any {
+ fn clear(&mut self) {
+ self.type_url.clear();
+ self.value.clear();
+ self.unknown_fields.clear();
+ }
+}
+
+impl ::std::fmt::Debug for Any {
+ fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
+ ::protobuf::text_format::fmt(self, f)
+ }
+}
+
+impl ::protobuf::reflect::ProtobufValue for Any {
+ fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
+ ::protobuf::reflect::ReflectValueRef::Message(self)
+ }
+}
+
+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\
+ \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\
+ y\x20use\x20the\x20fully\x20qualified\x20type\x20name\x20after\x20the\
+ \x20last\x20'/'\n\x20in\x20the\x20type\x20URL,\x20for\x20example\x20\"fo\
+ o.bar.com/x/y.z\"\x20will\x20yield\x20type\n\x20name\x20\"y.z\".\n\n\n\
+ \x20JSON\n\x20====\n\x20The\x20JSON\x20representation\x20of\x20an\x20`An\
+ y`\x20value\x20uses\x20the\x20regular\n\x20representation\x20of\x20the\
+ \x20deserialized,\x20embedded\x20message,\x20with\x20an\n\x20additional\
+ \x20field\x20`@type`\x20which\x20contains\x20the\x20type\x20URL.\x20Exam\
+ ple:\n\n\x20\x20\x20\x20\x20package\x20google.profile;\n\x20\x20\x20\x20\
+ \x20message\x20Person\x20{\n\x20\x20\x20\x20\x20\x20\x20string\x20first_\
+ name\x20=\x201;\n\x20\x20\x20\x20\x20\x20\x20string\x20last_name\x20=\
+ \x202;\n\x20\x20\x20\x20\x20}\n\n\x20\x20\x20\x20\x20{\n\x20\x20\x20\x20\
+ \x20\x20\x20\"@type\":\x20\"type.googleapis.com/google.profile.Person\",\
+ \n\x20\x20\x20\x20\x20\x20\x20\"firstName\":\x20<string>,\n\x20\x20\x20\
+ \x20\x20\x20\x20\"lastName\":\x20<string>\n\x20\x20\x20\x20\x20}\n\n\x20\
+ If\x20the\x20embedded\x20message\x20type\x20is\x20well-known\x20and\x20h\
+ as\x20a\x20custom\x20JSON\n\x20representation,\x20that\x20representation\
+ \x20will\x20be\x20embedded\x20adding\x20a\x20field\n\x20`value`\x20which\
+ \x20holds\x20the\x20custom\x20JSON\x20in\x20addition\x20to\x20the\x20`@t\
+ ype`\n\x20field.\x20Example\x20(for\x20message\x20[google.protobuf.Durat\
+ 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\
+";
+
+static mut file_descriptor_proto_lazy: ::protobuf::lazy::Lazy<::protobuf::descriptor::FileDescriptorProto> = ::protobuf::lazy::Lazy::INIT;
+
+fn parse_descriptor_proto() -> ::protobuf::descriptor::FileDescriptorProto {
+ ::protobuf::parse_from_bytes(file_descriptor_proto_data).unwrap()
+}
+
+pub fn file_descriptor_proto() -> &'static ::protobuf::descriptor::FileDescriptorProto {
+ unsafe {
+ file_descriptor_proto_lazy.get(|| {
+ parse_descriptor_proto()
+ })
+ }
+}
diff --git a/src/well_known_types/api.rs b/src/well_known_types/api.rs
new file mode 100644
index 0000000..c4848f2
--- /dev/null
+++ b/src/well_known_types/api.rs
@@ -0,0 +1,1296 @@
+// This file is generated by rust-protobuf 2.14.0-pre. Do not edit
+// @generated
+
+// https://github.com/rust-lang/rust-clippy/issues/702
+#![allow(unknown_lints)]
+#![allow(clippy::all)]
+
+#![cfg_attr(rustfmt, rustfmt_skip)]
+
+#![allow(box_pointers)]
+#![allow(dead_code)]
+#![allow(missing_docs)]
+#![allow(non_camel_case_types)]
+#![allow(non_snake_case)]
+#![allow(non_upper_case_globals)]
+#![allow(trivial_casts)]
+#![allow(unsafe_code)]
+#![allow(unused_imports)]
+#![allow(unused_results)]
+//! Generated file from `google/protobuf/api.proto`
+
+use protobuf::Message as Message_imported_for_functions;
+use protobuf::ProtobufEnum as ProtobufEnum_imported_for_functions;
+
+#[derive(PartialEq,Clone,Default)]
+#[cfg_attr(feature = "with-serde", derive(Serialize, Deserialize))]
+pub struct Api {
+ // message fields
+ pub name: ::std::string::String,
+ pub methods: ::protobuf::RepeatedField<Method>,
+ pub options: ::protobuf::RepeatedField<::protobuf::well_known_types::Option>,
+ pub version: ::std::string::String,
+ pub source_context: ::protobuf::SingularPtrField<::protobuf::well_known_types::SourceContext>,
+ pub mixins: ::protobuf::RepeatedField<Mixin>,
+ pub syntax: ::protobuf::well_known_types::Syntax,
+ // special fields
+ #[cfg_attr(feature = "with-serde", serde(skip))]
+ pub unknown_fields: ::protobuf::UnknownFields,
+ #[cfg_attr(feature = "with-serde", serde(skip))]
+ pub cached_size: ::protobuf::CachedSize,
+}
+
+impl<'a> ::std::default::Default for &'a Api {
+ fn default() -> &'a Api {
+ <Api as ::protobuf::Message>::default_instance()
+ }
+}
+
+impl Api {
+ pub fn new() -> Api {
+ ::std::default::Default::default()
+ }
+
+ // string name = 1;
+
+
+ pub fn get_name(&self) -> &str {
+ &self.name
+ }
+ pub fn clear_name(&mut self) {
+ self.name.clear();
+ }
+
+ // Param is passed by value, moved
+ pub fn set_name(&mut self, v: ::std::string::String) {
+ self.name = v;
+ }
+
+ // Mutable pointer to the field.
+ // If field is not initialized, it is initialized with default value first.
+ pub fn mut_name(&mut self) -> &mut ::std::string::String {
+ &mut self.name
+ }
+
+ // Take field
+ pub fn take_name(&mut self) -> ::std::string::String {
+ ::std::mem::replace(&mut self.name, ::std::string::String::new())
+ }
+
+ // repeated .google.protobuf.Method methods = 2;
+
+
+ pub fn get_methods(&self) -> &[Method] {
+ &self.methods
+ }
+ pub fn clear_methods(&mut self) {
+ self.methods.clear();
+ }
+
+ // Param is passed by value, moved
+ pub fn set_methods(&mut self, v: ::protobuf::RepeatedField<Method>) {
+ self.methods = v;
+ }
+
+ // Mutable pointer to the field.
+ pub fn mut_methods(&mut self) -> &mut ::protobuf::RepeatedField<Method> {
+ &mut self.methods
+ }
+
+ // Take field
+ pub fn take_methods(&mut self) -> ::protobuf::RepeatedField<Method> {
+ ::std::mem::replace(&mut self.methods, ::protobuf::RepeatedField::new())
+ }
+
+ // repeated .google.protobuf.Option options = 3;
+
+
+ pub fn get_options(&self) -> &[::protobuf::well_known_types::Option] {
+ &self.options
+ }
+ pub fn clear_options(&mut self) {
+ self.options.clear();
+ }
+
+ // Param is passed by value, moved
+ pub fn set_options(&mut self, v: ::protobuf::RepeatedField<::protobuf::well_known_types::Option>) {
+ self.options = v;
+ }
+
+ // Mutable pointer to the field.
+ pub fn mut_options(&mut self) -> &mut ::protobuf::RepeatedField<::protobuf::well_known_types::Option> {
+ &mut self.options
+ }
+
+ // Take field
+ pub fn take_options(&mut self) -> ::protobuf::RepeatedField<::protobuf::well_known_types::Option> {
+ ::std::mem::replace(&mut self.options, ::protobuf::RepeatedField::new())
+ }
+
+ // string version = 4;
+
+
+ pub fn get_version(&self) -> &str {
+ &self.version
+ }
+ pub fn clear_version(&mut self) {
+ self.version.clear();
+ }
+
+ // Param is passed by value, moved
+ pub fn set_version(&mut self, v: ::std::string::String) {
+ self.version = v;
+ }
+
+ // Mutable pointer to the field.
+ // If field is not initialized, it is initialized with default value first.
+ pub fn mut_version(&mut self) -> &mut ::std::string::String {
+ &mut self.version
+ }
+
+ // Take field
+ pub fn take_version(&mut self) -> ::std::string::String {
+ ::std::mem::replace(&mut self.version, ::std::string::String::new())
+ }
+
+ // .google.protobuf.SourceContext source_context = 5;
+
+
+ pub fn get_source_context(&self) -> &::protobuf::well_known_types::SourceContext {
+ self.source_context.as_ref().unwrap_or_else(|| ::protobuf::well_known_types::SourceContext::default_instance())
+ }
+ pub fn clear_source_context(&mut self) {
+ self.source_context.clear();
+ }
+
+ pub fn has_source_context(&self) -> bool {
+ self.source_context.is_some()
+ }
+
+ // Param is passed by value, moved
+ pub fn set_source_context(&mut self, v: ::protobuf::well_known_types::SourceContext) {
+ self.source_context = ::protobuf::SingularPtrField::some(v);
+ }
+
+ // Mutable pointer to the field.
+ // If field is not initialized, it is initialized with default value first.
+ pub fn mut_source_context(&mut self) -> &mut ::protobuf::well_known_types::SourceContext {
+ if self.source_context.is_none() {
+ self.source_context.set_default();
+ }
+ self.source_context.as_mut().unwrap()
+ }
+
+ // Take field
+ pub fn take_source_context(&mut self) -> ::protobuf::well_known_types::SourceContext {
+ self.source_context.take().unwrap_or_else(|| ::protobuf::well_known_types::SourceContext::new())
+ }
+
+ // repeated .google.protobuf.Mixin mixins = 6;
+
+
+ pub fn get_mixins(&self) -> &[Mixin] {
+ &self.mixins
+ }
+ pub fn clear_mixins(&mut self) {
+ self.mixins.clear();
+ }
+
+ // Param is passed by value, moved
+ pub fn set_mixins(&mut self, v: ::protobuf::RepeatedField<Mixin>) {
+ self.mixins = v;
+ }
+
+ // Mutable pointer to the field.
+ pub fn mut_mixins(&mut self) -> &mut ::protobuf::RepeatedField<Mixin> {
+ &mut self.mixins
+ }
+
+ // Take field
+ pub fn take_mixins(&mut self) -> ::protobuf::RepeatedField<Mixin> {
+ ::std::mem::replace(&mut self.mixins, ::protobuf::RepeatedField::new())
+ }
+
+ // .google.protobuf.Syntax syntax = 7;
+
+
+ pub fn get_syntax(&self) -> ::protobuf::well_known_types::Syntax {
+ self.syntax
+ }
+ pub fn clear_syntax(&mut self) {
+ self.syntax = ::protobuf::well_known_types::Syntax::SYNTAX_PROTO2;
+ }
+
+ // Param is passed by value, moved
+ pub fn set_syntax(&mut self, v: ::protobuf::well_known_types::Syntax) {
+ self.syntax = v;
+ }
+}
+
+impl ::protobuf::Message for Api {
+ fn is_initialized(&self) -> bool {
+ for v in &self.methods {
+ if !v.is_initialized() {
+ return false;
+ }
+ };
+ for v in &self.options {
+ if !v.is_initialized() {
+ return false;
+ }
+ };
+ for v in &self.source_context {
+ if !v.is_initialized() {
+ return false;
+ }
+ };
+ for v in &self.mixins {
+ if !v.is_initialized() {
+ return false;
+ }
+ };
+ true
+ }
+
+ fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
+ while !is.eof()? {
+ let (field_number, wire_type) = is.read_tag_unpack()?;
+ match field_number {
+ 1 => {
+ ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.name)?;
+ },
+ 2 => {
+ ::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.methods)?;
+ },
+ 3 => {
+ ::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.options)?;
+ },
+ 4 => {
+ ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.version)?;
+ },
+ 5 => {
+ ::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.source_context)?;
+ },
+ 6 => {
+ ::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.mixins)?;
+ },
+ 7 => {
+ ::protobuf::rt::read_proto3_enum_with_unknown_fields_into(wire_type, is, &mut self.syntax, 7, &mut self.unknown_fields)?
+ },
+ _ => {
+ ::protobuf::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 !self.name.is_empty() {
+ my_size += ::protobuf::rt::string_size(1, &self.name);
+ }
+ for value in &self.methods {
+ let len = value.compute_size();
+ my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
+ };
+ for value in &self.options {
+ let len = value.compute_size();
+ my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
+ };
+ if !self.version.is_empty() {
+ my_size += ::protobuf::rt::string_size(4, &self.version);
+ }
+ if let Some(ref v) = self.source_context.as_ref() {
+ let len = v.compute_size();
+ my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
+ }
+ for value in &self.mixins {
+ let len = value.compute_size();
+ my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
+ };
+ if self.syntax != ::protobuf::well_known_types::Syntax::SYNTAX_PROTO2 {
+ my_size += ::protobuf::rt::enum_size(7, self.syntax);
+ }
+ my_size += ::protobuf::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 ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
+ if !self.name.is_empty() {
+ os.write_string(1, &self.name)?;
+ }
+ for v in &self.methods {
+ os.write_tag(2, ::protobuf::wire_format::WireTypeLengthDelimited)?;
+ os.write_raw_varint32(v.get_cached_size())?;
+ v.write_to_with_cached_sizes(os)?;
+ };
+ for v in &self.options {
+ os.write_tag(3, ::protobuf::wire_format::WireTypeLengthDelimited)?;
+ os.write_raw_varint32(v.get_cached_size())?;
+ v.write_to_with_cached_sizes(os)?;
+ };
+ if !self.version.is_empty() {
+ os.write_string(4, &self.version)?;
+ }
+ if let Some(ref v) = self.source_context.as_ref() {
+ os.write_tag(5, ::protobuf::wire_format::WireTypeLengthDelimited)?;
+ os.write_raw_varint32(v.get_cached_size())?;
+ v.write_to_with_cached_sizes(os)?;
+ }
+ for v in &self.mixins {
+ os.write_tag(6, ::protobuf::wire_format::WireTypeLengthDelimited)?;
+ os.write_raw_varint32(v.get_cached_size())?;
+ v.write_to_with_cached_sizes(os)?;
+ };
+ if self.syntax != ::protobuf::well_known_types::Syntax::SYNTAX_PROTO2 {
+ os.write_enum(7, self.syntax.value())?;
+ }
+ 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) -> &::protobuf::UnknownFields {
+ &self.unknown_fields
+ }
+
+ fn mut_unknown_fields(&mut self) -> &mut ::protobuf::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: Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
+ self
+ }
+
+ fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
+ Self::descriptor_static()
+ }
+
+ fn new() -> Api {
+ Api::new()
+ }
+
+ fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
+ static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy::INIT;
+ unsafe {
+ descriptor.get(|| {
+ let mut fields = ::std::vec::Vec::new();
+ fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
+ "name",
+ |m: &Api| { &m.name },
+ |m: &mut Api| { &mut m.name },
+ ));
+ fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<Method>>(
+ "methods",
+ |m: &Api| { &m.methods },
+ |m: &mut Api| { &mut m.methods },
+ ));
+ fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<::protobuf::well_known_types::Option>>(
+ "options",
+ |m: &Api| { &m.options },
+ |m: &mut Api| { &mut m.options },
+ ));
+ fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
+ "version",
+ |m: &Api| { &m.version },
+ |m: &mut Api| { &mut m.version },
+ ));
+ fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<::protobuf::well_known_types::SourceContext>>(
+ "source_context",
+ |m: &Api| { &m.source_context },
+ |m: &mut Api| { &mut m.source_context },
+ ));
+ fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<Mixin>>(
+ "mixins",
+ |m: &Api| { &m.mixins },
+ |m: &mut Api| { &mut m.mixins },
+ ));
+ fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeEnum<::protobuf::well_known_types::Syntax>>(
+ "syntax",
+ |m: &Api| { &m.syntax },
+ |m: &mut Api| { &mut m.syntax },
+ ));
+ ::protobuf::reflect::MessageDescriptor::new_pb_name::<Api>(
+ "Api",
+ fields,
+ file_descriptor_proto()
+ )
+ })
+ }
+ }
+
+ fn default_instance() -> &'static Api {
+ static mut instance: ::protobuf::lazy::Lazy<Api> = ::protobuf::lazy::Lazy::INIT;
+ unsafe {
+ instance.get(Api::new)
+ }
+ }
+}
+
+impl ::protobuf::Clear for Api {
+ fn clear(&mut self) {
+ self.name.clear();
+ self.methods.clear();
+ self.options.clear();
+ self.version.clear();
+ self.source_context.clear();
+ self.mixins.clear();
+ self.syntax = ::protobuf::well_known_types::Syntax::SYNTAX_PROTO2;
+ self.unknown_fields.clear();
+ }
+}
+
+impl ::std::fmt::Debug for Api {
+ fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
+ ::protobuf::text_format::fmt(self, f)
+ }
+}
+
+impl ::protobuf::reflect::ProtobufValue for Api {
+ fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
+ ::protobuf::reflect::ReflectValueRef::Message(self)
+ }
+}
+
+#[derive(PartialEq,Clone,Default)]
+#[cfg_attr(feature = "with-serde", derive(Serialize, Deserialize))]
+pub struct Method {
+ // message fields
+ pub name: ::std::string::String,
+ pub request_type_url: ::std::string::String,
+ pub request_streaming: bool,
+ pub response_type_url: ::std::string::String,
+ pub response_streaming: bool,
+ pub options: ::protobuf::RepeatedField<::protobuf::well_known_types::Option>,
+ pub syntax: ::protobuf::well_known_types::Syntax,
+ // special fields
+ #[cfg_attr(feature = "with-serde", serde(skip))]
+ pub unknown_fields: ::protobuf::UnknownFields,
+ #[cfg_attr(feature = "with-serde", serde(skip))]
+ pub cached_size: ::protobuf::CachedSize,
+}
+
+impl<'a> ::std::default::Default for &'a Method {
+ fn default() -> &'a Method {
+ <Method as ::protobuf::Message>::default_instance()
+ }
+}
+
+impl Method {
+ pub fn new() -> Method {
+ ::std::default::Default::default()
+ }
+
+ // string name = 1;
+
+
+ pub fn get_name(&self) -> &str {
+ &self.name
+ }
+ pub fn clear_name(&mut self) {
+ self.name.clear();
+ }
+
+ // Param is passed by value, moved
+ pub fn set_name(&mut self, v: ::std::string::String) {
+ self.name = v;
+ }
+
+ // Mutable pointer to the field.
+ // If field is not initialized, it is initialized with default value first.
+ pub fn mut_name(&mut self) -> &mut ::std::string::String {
+ &mut self.name
+ }
+
+ // Take field
+ pub fn take_name(&mut self) -> ::std::string::String {
+ ::std::mem::replace(&mut self.name, ::std::string::String::new())
+ }
+
+ // string request_type_url = 2;
+
+
+ pub fn get_request_type_url(&self) -> &str {
+ &self.request_type_url
+ }
+ pub fn clear_request_type_url(&mut self) {
+ self.request_type_url.clear();
+ }
+
+ // Param is passed by value, moved
+ pub fn set_request_type_url(&mut self, v: ::std::string::String) {
+ self.request_type_url = v;
+ }
+
+ // Mutable pointer to the field.
+ // If field is not initialized, it is initialized with default value first.
+ pub fn mut_request_type_url(&mut self) -> &mut ::std::string::String {
+ &mut self.request_type_url
+ }
+
+ // Take field
+ pub fn take_request_type_url(&mut self) -> ::std::string::String {
+ ::std::mem::replace(&mut self.request_type_url, ::std::string::String::new())
+ }
+
+ // bool request_streaming = 3;
+
+
+ pub fn get_request_streaming(&self) -> bool {
+ self.request_streaming
+ }
+ pub fn clear_request_streaming(&mut self) {
+ self.request_streaming = false;
+ }
+
+ // Param is passed by value, moved
+ pub fn set_request_streaming(&mut self, v: bool) {
+ self.request_streaming = v;
+ }
+
+ // string response_type_url = 4;
+
+
+ pub fn get_response_type_url(&self) -> &str {
+ &self.response_type_url
+ }
+ pub fn clear_response_type_url(&mut self) {
+ self.response_type_url.clear();
+ }
+
+ // Param is passed by value, moved
+ pub fn set_response_type_url(&mut self, v: ::std::string::String) {
+ self.response_type_url = v;
+ }
+
+ // Mutable pointer to the field.
+ // If field is not initialized, it is initialized with default value first.
+ pub fn mut_response_type_url(&mut self) -> &mut ::std::string::String {
+ &mut self.response_type_url
+ }
+
+ // Take field
+ pub fn take_response_type_url(&mut self) -> ::std::string::String {
+ ::std::mem::replace(&mut self.response_type_url, ::std::string::String::new())
+ }
+
+ // bool response_streaming = 5;
+
+
+ pub fn get_response_streaming(&self) -> bool {
+ self.response_streaming
+ }
+ pub fn clear_response_streaming(&mut self) {
+ self.response_streaming = false;
+ }
+
+ // Param is passed by value, moved
+ pub fn set_response_streaming(&mut self, v: bool) {
+ self.response_streaming = v;
+ }
+
+ // repeated .google.protobuf.Option options = 6;
+
+
+ pub fn get_options(&self) -> &[::protobuf::well_known_types::Option] {
+ &self.options
+ }
+ pub fn clear_options(&mut self) {
+ self.options.clear();
+ }
+
+ // Param is passed by value, moved
+ pub fn set_options(&mut self, v: ::protobuf::RepeatedField<::protobuf::well_known_types::Option>) {
+ self.options = v;
+ }
+
+ // Mutable pointer to the field.
+ pub fn mut_options(&mut self) -> &mut ::protobuf::RepeatedField<::protobuf::well_known_types::Option> {
+ &mut self.options
+ }
+
+ // Take field
+ pub fn take_options(&mut self) -> ::protobuf::RepeatedField<::protobuf::well_known_types::Option> {
+ ::std::mem::replace(&mut self.options, ::protobuf::RepeatedField::new())
+ }
+
+ // .google.protobuf.Syntax syntax = 7;
+
+
+ pub fn get_syntax(&self) -> ::protobuf::well_known_types::Syntax {
+ self.syntax
+ }
+ pub fn clear_syntax(&mut self) {
+ self.syntax = ::protobuf::well_known_types::Syntax::SYNTAX_PROTO2;
+ }
+
+ // Param is passed by value, moved
+ pub fn set_syntax(&mut self, v: ::protobuf::well_known_types::Syntax) {
+ self.syntax = v;
+ }
+}
+
+impl ::protobuf::Message for Method {
+ fn is_initialized(&self) -> bool {
+ for v in &self.options {
+ if !v.is_initialized() {
+ return false;
+ }
+ };
+ true
+ }
+
+ fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
+ while !is.eof()? {
+ let (field_number, wire_type) = is.read_tag_unpack()?;
+ match field_number {
+ 1 => {
+ ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.name)?;
+ },
+ 2 => {
+ ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.request_type_url)?;
+ },
+ 3 => {
+ if wire_type != ::protobuf::wire_format::WireTypeVarint {
+ return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
+ }
+ let tmp = is.read_bool()?;
+ self.request_streaming = tmp;
+ },
+ 4 => {
+ ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.response_type_url)?;
+ },
+ 5 => {
+ if wire_type != ::protobuf::wire_format::WireTypeVarint {
+ return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
+ }
+ let tmp = is.read_bool()?;
+ self.response_streaming = tmp;
+ },
+ 6 => {
+ ::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.options)?;
+ },
+ 7 => {
+ ::protobuf::rt::read_proto3_enum_with_unknown_fields_into(wire_type, is, &mut self.syntax, 7, &mut self.unknown_fields)?
+ },
+ _ => {
+ ::protobuf::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 !self.name.is_empty() {
+ my_size += ::protobuf::rt::string_size(1, &self.name);
+ }
+ if !self.request_type_url.is_empty() {
+ my_size += ::protobuf::rt::string_size(2, &self.request_type_url);
+ }
+ if self.request_streaming != false {
+ my_size += 2;
+ }
+ if !self.response_type_url.is_empty() {
+ my_size += ::protobuf::rt::string_size(4, &self.response_type_url);
+ }
+ if self.response_streaming != false {
+ my_size += 2;
+ }
+ for value in &self.options {
+ let len = value.compute_size();
+ my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
+ };
+ if self.syntax != ::protobuf::well_known_types::Syntax::SYNTAX_PROTO2 {
+ my_size += ::protobuf::rt::enum_size(7, self.syntax);
+ }
+ my_size += ::protobuf::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 ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
+ if !self.name.is_empty() {
+ os.write_string(1, &self.name)?;
+ }
+ if !self.request_type_url.is_empty() {
+ os.write_string(2, &self.request_type_url)?;
+ }
+ if self.request_streaming != false {
+ os.write_bool(3, self.request_streaming)?;
+ }
+ if !self.response_type_url.is_empty() {
+ os.write_string(4, &self.response_type_url)?;
+ }
+ if self.response_streaming != false {
+ os.write_bool(5, self.response_streaming)?;
+ }
+ for v in &self.options {
+ os.write_tag(6, ::protobuf::wire_format::WireTypeLengthDelimited)?;
+ os.write_raw_varint32(v.get_cached_size())?;
+ v.write_to_with_cached_sizes(os)?;
+ };
+ if self.syntax != ::protobuf::well_known_types::Syntax::SYNTAX_PROTO2 {
+ os.write_enum(7, self.syntax.value())?;
+ }
+ 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) -> &::protobuf::UnknownFields {
+ &self.unknown_fields
+ }
+
+ fn mut_unknown_fields(&mut self) -> &mut ::protobuf::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: Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
+ self
+ }
+
+ fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
+ Self::descriptor_static()
+ }
+
+ fn new() -> Method {
+ Method::new()
+ }
+
+ fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
+ static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy::INIT;
+ unsafe {
+ descriptor.get(|| {
+ let mut fields = ::std::vec::Vec::new();
+ fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
+ "name",
+ |m: &Method| { &m.name },
+ |m: &mut Method| { &mut m.name },
+ ));
+ fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
+ "request_type_url",
+ |m: &Method| { &m.request_type_url },
+ |m: &mut Method| { &mut m.request_type_url },
+ ));
+ fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeBool>(
+ "request_streaming",
+ |m: &Method| { &m.request_streaming },
+ |m: &mut Method| { &mut m.request_streaming },
+ ));
+ fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
+ "response_type_url",
+ |m: &Method| { &m.response_type_url },
+ |m: &mut Method| { &mut m.response_type_url },
+ ));
+ fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeBool>(
+ "response_streaming",
+ |m: &Method| { &m.response_streaming },
+ |m: &mut Method| { &mut m.response_streaming },
+ ));
+ fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<::protobuf::well_known_types::Option>>(
+ "options",
+ |m: &Method| { &m.options },
+ |m: &mut Method| { &mut m.options },
+ ));
+ fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeEnum<::protobuf::well_known_types::Syntax>>(
+ "syntax",
+ |m: &Method| { &m.syntax },
+ |m: &mut Method| { &mut m.syntax },
+ ));
+ ::protobuf::reflect::MessageDescriptor::new_pb_name::<Method>(
+ "Method",
+ fields,
+ file_descriptor_proto()
+ )
+ })
+ }
+ }
+
+ fn default_instance() -> &'static Method {
+ static mut instance: ::protobuf::lazy::Lazy<Method> = ::protobuf::lazy::Lazy::INIT;
+ unsafe {
+ instance.get(Method::new)
+ }
+ }
+}
+
+impl ::protobuf::Clear for Method {
+ fn clear(&mut self) {
+ self.name.clear();
+ self.request_type_url.clear();
+ self.request_streaming = false;
+ self.response_type_url.clear();
+ self.response_streaming = false;
+ self.options.clear();
+ self.syntax = ::protobuf::well_known_types::Syntax::SYNTAX_PROTO2;
+ self.unknown_fields.clear();
+ }
+}
+
+impl ::std::fmt::Debug for Method {
+ fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
+ ::protobuf::text_format::fmt(self, f)
+ }
+}
+
+impl ::protobuf::reflect::ProtobufValue for Method {
+ fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
+ ::protobuf::reflect::ReflectValueRef::Message(self)
+ }
+}
+
+#[derive(PartialEq,Clone,Default)]
+#[cfg_attr(feature = "with-serde", derive(Serialize, Deserialize))]
+pub struct Mixin {
+ // message fields
+ pub name: ::std::string::String,
+ pub root: ::std::string::String,
+ // special fields
+ #[cfg_attr(feature = "with-serde", serde(skip))]
+ pub unknown_fields: ::protobuf::UnknownFields,
+ #[cfg_attr(feature = "with-serde", serde(skip))]
+ pub cached_size: ::protobuf::CachedSize,
+}
+
+impl<'a> ::std::default::Default for &'a Mixin {
+ fn default() -> &'a Mixin {
+ <Mixin as ::protobuf::Message>::default_instance()
+ }
+}
+
+impl Mixin {
+ pub fn new() -> Mixin {
+ ::std::default::Default::default()
+ }
+
+ // string name = 1;
+
+
+ pub fn get_name(&self) -> &str {
+ &self.name
+ }
+ pub fn clear_name(&mut self) {
+ self.name.clear();
+ }
+
+ // Param is passed by value, moved
+ pub fn set_name(&mut self, v: ::std::string::String) {
+ self.name = v;
+ }
+
+ // Mutable pointer to the field.
+ // If field is not initialized, it is initialized with default value first.
+ pub fn mut_name(&mut self) -> &mut ::std::string::String {
+ &mut self.name
+ }
+
+ // Take field
+ pub fn take_name(&mut self) -> ::std::string::String {
+ ::std::mem::replace(&mut self.name, ::std::string::String::new())
+ }
+
+ // string root = 2;
+
+
+ pub fn get_root(&self) -> &str {
+ &self.root
+ }
+ pub fn clear_root(&mut self) {
+ self.root.clear();
+ }
+
+ // Param is passed by value, moved
+ pub fn set_root(&mut self, v: ::std::string::String) {
+ self.root = v;
+ }
+
+ // Mutable pointer to the field.
+ // If field is not initialized, it is initialized with default value first.
+ pub fn mut_root(&mut self) -> &mut ::std::string::String {
+ &mut self.root
+ }
+
+ // Take field
+ pub fn take_root(&mut self) -> ::std::string::String {
+ ::std::mem::replace(&mut self.root, ::std::string::String::new())
+ }
+}
+
+impl ::protobuf::Message for Mixin {
+ fn is_initialized(&self) -> bool {
+ true
+ }
+
+ fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
+ while !is.eof()? {
+ let (field_number, wire_type) = is.read_tag_unpack()?;
+ match field_number {
+ 1 => {
+ ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.name)?;
+ },
+ 2 => {
+ ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.root)?;
+ },
+ _ => {
+ ::protobuf::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 !self.name.is_empty() {
+ my_size += ::protobuf::rt::string_size(1, &self.name);
+ }
+ if !self.root.is_empty() {
+ my_size += ::protobuf::rt::string_size(2, &self.root);
+ }
+ my_size += ::protobuf::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 ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
+ if !self.name.is_empty() {
+ os.write_string(1, &self.name)?;
+ }
+ if !self.root.is_empty() {
+ os.write_string(2, &self.root)?;
+ }
+ 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) -> &::protobuf::UnknownFields {
+ &self.unknown_fields
+ }
+
+ fn mut_unknown_fields(&mut self) -> &mut ::protobuf::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: Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
+ self
+ }
+
+ fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
+ Self::descriptor_static()
+ }
+
+ fn new() -> Mixin {
+ Mixin::new()
+ }
+
+ fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
+ static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy::INIT;
+ unsafe {
+ descriptor.get(|| {
+ let mut fields = ::std::vec::Vec::new();
+ fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
+ "name",
+ |m: &Mixin| { &m.name },
+ |m: &mut Mixin| { &mut m.name },
+ ));
+ fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
+ "root",
+ |m: &Mixin| { &m.root },
+ |m: &mut Mixin| { &mut m.root },
+ ));
+ ::protobuf::reflect::MessageDescriptor::new_pb_name::<Mixin>(
+ "Mixin",
+ fields,
+ file_descriptor_proto()
+ )
+ })
+ }
+ }
+
+ fn default_instance() -> &'static Mixin {
+ static mut instance: ::protobuf::lazy::Lazy<Mixin> = ::protobuf::lazy::Lazy::INIT;
+ unsafe {
+ instance.get(Mixin::new)
+ }
+ }
+}
+
+impl ::protobuf::Clear for Mixin {
+ fn clear(&mut self) {
+ self.name.clear();
+ self.root.clear();
+ self.unknown_fields.clear();
+ }
+}
+
+impl ::std::fmt::Debug for Mixin {
+ fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
+ ::protobuf::text_format::fmt(self, f)
+ }
+}
+
+impl ::protobuf::reflect::ProtobufValue for Mixin {
+ fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
+ ::protobuf::reflect::ReflectValueRef::Message(self)
+ }
+}
+
+static file_descriptor_proto_data: &'static [u8] = b"\
+ \n\x19google/protobuf/api.proto\x12\x0fgoogle.protobuf\x1a$google/protob\
+ uf/source_context.proto\x1a\x1agoogle/protobuf/type.proto\"\xc1\x02\n\
+ \x03Api\x12\x12\n\x04name\x18\x01\x20\x01(\tR\x04name\x121\n\x07methods\
+ \x18\x02\x20\x03(\x0b2\x17.google.protobuf.MethodR\x07methods\x121\n\x07\
+ options\x18\x03\x20\x03(\x0b2\x17.google.protobuf.OptionR\x07options\x12\
+ \x18\n\x07version\x18\x04\x20\x01(\tR\x07version\x12E\n\x0esource_contex\
+ t\x18\x05\x20\x01(\x0b2\x1e.google.protobuf.SourceContextR\rsourceContex\
+ t\x12.\n\x06mixins\x18\x06\x20\x03(\x0b2\x16.google.protobuf.MixinR\x06m\
+ ixins\x12/\n\x06syntax\x18\x07\x20\x01(\x0e2\x17.google.protobuf.SyntaxR\
+ \x06syntax\"\xb2\x02\n\x06Method\x12\x12\n\x04name\x18\x01\x20\x01(\tR\
+ \x04name\x12(\n\x10request_type_url\x18\x02\x20\x01(\tR\x0erequestTypeUr\
+ l\x12+\n\x11request_streaming\x18\x03\x20\x01(\x08R\x10requestStreaming\
+ \x12*\n\x11response_type_url\x18\x04\x20\x01(\tR\x0fresponseTypeUrl\x12-\
+ \n\x12response_streaming\x18\x05\x20\x01(\x08R\x11responseStreaming\x121\
+ \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\
+ \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\
+";
+
+static mut file_descriptor_proto_lazy: ::protobuf::lazy::Lazy<::protobuf::descriptor::FileDescriptorProto> = ::protobuf::lazy::Lazy::INIT;
+
+fn parse_descriptor_proto() -> ::protobuf::descriptor::FileDescriptorProto {
+ ::protobuf::parse_from_bytes(file_descriptor_proto_data).unwrap()
+}
+
+pub fn file_descriptor_proto() -> &'static ::protobuf::descriptor::FileDescriptorProto {
+ unsafe {
+ file_descriptor_proto_lazy.get(|| {
+ parse_descriptor_proto()
+ })
+ }
+}
diff --git a/src/well_known_types/duration.rs b/src/well_known_types/duration.rs
new file mode 100644
index 0000000..303173d
--- /dev/null
+++ b/src/well_known_types/duration.rs
@@ -0,0 +1,332 @@
+// This file is generated by rust-protobuf 2.14.0-pre. Do not edit
+// @generated
+
+// https://github.com/rust-lang/rust-clippy/issues/702
+#![allow(unknown_lints)]
+#![allow(clippy::all)]
+
+#![cfg_attr(rustfmt, rustfmt_skip)]
+
+#![allow(box_pointers)]
+#![allow(dead_code)]
+#![allow(missing_docs)]
+#![allow(non_camel_case_types)]
+#![allow(non_snake_case)]
+#![allow(non_upper_case_globals)]
+#![allow(trivial_casts)]
+#![allow(unsafe_code)]
+#![allow(unused_imports)]
+#![allow(unused_results)]
+//! Generated file from `google/protobuf/duration.proto`
+
+use protobuf::Message as Message_imported_for_functions;
+use protobuf::ProtobufEnum as ProtobufEnum_imported_for_functions;
+
+#[derive(PartialEq,Clone,Default)]
+#[cfg_attr(feature = "with-serde", derive(Serialize, Deserialize))]
+pub struct Duration {
+ // message fields
+ pub seconds: i64,
+ pub nanos: i32,
+ // special fields
+ #[cfg_attr(feature = "with-serde", serde(skip))]
+ pub unknown_fields: ::protobuf::UnknownFields,
+ #[cfg_attr(feature = "with-serde", serde(skip))]
+ pub cached_size: ::protobuf::CachedSize,
+}
+
+impl<'a> ::std::default::Default for &'a Duration {
+ fn default() -> &'a Duration {
+ <Duration as ::protobuf::Message>::default_instance()
+ }
+}
+
+impl Duration {
+ pub fn new() -> Duration {
+ ::std::default::Default::default()
+ }
+
+ // int64 seconds = 1;
+
+
+ pub fn get_seconds(&self) -> i64 {
+ self.seconds
+ }
+ pub fn clear_seconds(&mut self) {
+ self.seconds = 0;
+ }
+
+ // Param is passed by value, moved
+ pub fn set_seconds(&mut self, v: i64) {
+ self.seconds = v;
+ }
+
+ // int32 nanos = 2;
+
+
+ pub fn get_nanos(&self) -> i32 {
+ self.nanos
+ }
+ pub fn clear_nanos(&mut self) {
+ self.nanos = 0;
+ }
+
+ // Param is passed by value, moved
+ pub fn set_nanos(&mut self, v: i32) {
+ self.nanos = v;
+ }
+}
+
+impl ::protobuf::Message for Duration {
+ fn is_initialized(&self) -> bool {
+ true
+ }
+
+ fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
+ while !is.eof()? {
+ let (field_number, wire_type) = is.read_tag_unpack()?;
+ match field_number {
+ 1 => {
+ if wire_type != ::protobuf::wire_format::WireTypeVarint {
+ return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
+ }
+ let tmp = is.read_int64()?;
+ self.seconds = tmp;
+ },
+ 2 => {
+ if wire_type != ::protobuf::wire_format::WireTypeVarint {
+ return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
+ }
+ let tmp = is.read_int32()?;
+ self.nanos = tmp;
+ },
+ _ => {
+ ::protobuf::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 self.seconds != 0 {
+ my_size += ::protobuf::rt::value_size(1, self.seconds, ::protobuf::wire_format::WireTypeVarint);
+ }
+ if self.nanos != 0 {
+ my_size += ::protobuf::rt::value_size(2, self.nanos, ::protobuf::wire_format::WireTypeVarint);
+ }
+ my_size += ::protobuf::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 ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
+ if self.seconds != 0 {
+ os.write_int64(1, self.seconds)?;
+ }
+ if self.nanos != 0 {
+ os.write_int32(2, self.nanos)?;
+ }
+ 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) -> &::protobuf::UnknownFields {
+ &self.unknown_fields
+ }
+
+ fn mut_unknown_fields(&mut self) -> &mut ::protobuf::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: Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
+ self
+ }
+
+ fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
+ Self::descriptor_static()
+ }
+
+ fn new() -> Duration {
+ Duration::new()
+ }
+
+ fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
+ static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy::INIT;
+ unsafe {
+ descriptor.get(|| {
+ let mut fields = ::std::vec::Vec::new();
+ fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeInt64>(
+ "seconds",
+ |m: &Duration| { &m.seconds },
+ |m: &mut Duration| { &mut m.seconds },
+ ));
+ fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeInt32>(
+ "nanos",
+ |m: &Duration| { &m.nanos },
+ |m: &mut Duration| { &mut m.nanos },
+ ));
+ ::protobuf::reflect::MessageDescriptor::new_pb_name::<Duration>(
+ "Duration",
+ fields,
+ file_descriptor_proto()
+ )
+ })
+ }
+ }
+
+ fn default_instance() -> &'static Duration {
+ static mut instance: ::protobuf::lazy::Lazy<Duration> = ::protobuf::lazy::Lazy::INIT;
+ unsafe {
+ instance.get(Duration::new)
+ }
+ }
+}
+
+impl ::protobuf::Clear for Duration {
+ fn clear(&mut self) {
+ self.seconds = 0;
+ self.nanos = 0;
+ self.unknown_fields.clear();
+ }
+}
+
+impl ::std::fmt::Debug for Duration {
+ fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
+ ::protobuf::text_format::fmt(self, f)
+ }
+}
+
+impl ::protobuf::reflect::ProtobufValue for Duration {
+ fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
+ ::protobuf::reflect::ReflectValueRef::Message(self)
+ }
+}
+
+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\
+";
+
+static mut file_descriptor_proto_lazy: ::protobuf::lazy::Lazy<::protobuf::descriptor::FileDescriptorProto> = ::protobuf::lazy::Lazy::INIT;
+
+fn parse_descriptor_proto() -> ::protobuf::descriptor::FileDescriptorProto {
+ ::protobuf::parse_from_bytes(file_descriptor_proto_data).unwrap()
+}
+
+pub fn file_descriptor_proto() -> &'static ::protobuf::descriptor::FileDescriptorProto {
+ unsafe {
+ file_descriptor_proto_lazy.get(|| {
+ parse_descriptor_proto()
+ })
+ }
+}
diff --git a/src/well_known_types/empty.rs b/src/well_known_types/empty.rs
new file mode 100644
index 0000000..df64a48
--- /dev/null
+++ b/src/well_known_types/empty.rs
@@ -0,0 +1,217 @@
+// This file is generated by rust-protobuf 2.14.0-pre. Do not edit
+// @generated
+
+// https://github.com/rust-lang/rust-clippy/issues/702
+#![allow(unknown_lints)]
+#![allow(clippy::all)]
+
+#![cfg_attr(rustfmt, rustfmt_skip)]
+
+#![allow(box_pointers)]
+#![allow(dead_code)]
+#![allow(missing_docs)]
+#![allow(non_camel_case_types)]
+#![allow(non_snake_case)]
+#![allow(non_upper_case_globals)]
+#![allow(trivial_casts)]
+#![allow(unsafe_code)]
+#![allow(unused_imports)]
+#![allow(unused_results)]
+//! Generated file from `google/protobuf/empty.proto`
+
+use protobuf::Message as Message_imported_for_functions;
+use protobuf::ProtobufEnum as ProtobufEnum_imported_for_functions;
+
+#[derive(PartialEq,Clone,Default)]
+#[cfg_attr(feature = "with-serde", derive(Serialize, Deserialize))]
+pub struct Empty {
+ // special fields
+ #[cfg_attr(feature = "with-serde", serde(skip))]
+ pub unknown_fields: ::protobuf::UnknownFields,
+ #[cfg_attr(feature = "with-serde", serde(skip))]
+ pub cached_size: ::protobuf::CachedSize,
+}
+
+impl<'a> ::std::default::Default for &'a Empty {
+ fn default() -> &'a Empty {
+ <Empty as ::protobuf::Message>::default_instance()
+ }
+}
+
+impl Empty {
+ pub fn new() -> Empty {
+ ::std::default::Default::default()
+ }
+}
+
+impl ::protobuf::Message for Empty {
+ fn is_initialized(&self) -> bool {
+ true
+ }
+
+ fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
+ while !is.eof()? {
+ let (field_number, wire_type) = is.read_tag_unpack()?;
+ match field_number {
+ _ => {
+ ::protobuf::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;
+ my_size += ::protobuf::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 ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
+ 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) -> &::protobuf::UnknownFields {
+ &self.unknown_fields
+ }
+
+ fn mut_unknown_fields(&mut self) -> &mut ::protobuf::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: Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
+ self
+ }
+
+ fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
+ Self::descriptor_static()
+ }
+
+ fn new() -> Empty {
+ Empty::new()
+ }
+
+ fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
+ static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy::INIT;
+ unsafe {
+ descriptor.get(|| {
+ let fields = ::std::vec::Vec::new();
+ ::protobuf::reflect::MessageDescriptor::new_pb_name::<Empty>(
+ "Empty",
+ fields,
+ file_descriptor_proto()
+ )
+ })
+ }
+ }
+
+ fn default_instance() -> &'static Empty {
+ static mut instance: ::protobuf::lazy::Lazy<Empty> = ::protobuf::lazy::Lazy::INIT;
+ unsafe {
+ instance.get(Empty::new)
+ }
+ }
+}
+
+impl ::protobuf::Clear for Empty {
+ fn clear(&mut self) {
+ self.unknown_fields.clear();
+ }
+}
+
+impl ::std::fmt::Debug for Empty {
+ fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
+ ::protobuf::text_format::fmt(self, f)
+ }
+}
+
+impl ::protobuf::reflect::ProtobufValue for Empty {
+ fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
+ ::protobuf::reflect::ReflectValueRef::Message(self)
+ }
+}
+
+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\
+ \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\
+ ated\n\x20empty\x20messages\x20in\x20your\x20APIs.\x20A\x20typical\x20ex\
+ ample\x20is\x20to\x20use\x20it\x20as\x20the\x20request\n\x20or\x20the\
+ \x20response\x20type\x20of\x20an\x20API\x20method.\x20For\x20instance:\n\
+ \n\x20\x20\x20\x20\x20service\x20Foo\x20{\n\x20\x20\x20\x20\x20\x20\x20r\
+ pc\x20Bar(google.protobuf.Empty)\x20returns\x20(google.protobuf.Empty);\
+ \n\x20\x20\x20\x20\x20}\n\n\x20The\x20JSON\x20representation\x20for\x20`\
+ Empty`\x20is\x20empty\x20JSON\x20object\x20`{}`.\n\n\n\n\x03\x04\0\x01\
+ \x12\x033\x08\rb\x06proto3\
+";
+
+static mut file_descriptor_proto_lazy: ::protobuf::lazy::Lazy<::protobuf::descriptor::FileDescriptorProto> = ::protobuf::lazy::Lazy::INIT;
+
+fn parse_descriptor_proto() -> ::protobuf::descriptor::FileDescriptorProto {
+ ::protobuf::parse_from_bytes(file_descriptor_proto_data).unwrap()
+}
+
+pub fn file_descriptor_proto() -> &'static ::protobuf::descriptor::FileDescriptorProto {
+ unsafe {
+ file_descriptor_proto_lazy.get(|| {
+ parse_descriptor_proto()
+ })
+ }
+}
diff --git a/src/well_known_types/field_mask.rs b/src/well_known_types/field_mask.rs
new file mode 100644
index 0000000..421d15c
--- /dev/null
+++ b/src/well_known_types/field_mask.rs
@@ -0,0 +1,388 @@
+// This file is generated by rust-protobuf 2.14.0-pre. Do not edit
+// @generated
+
+// https://github.com/rust-lang/rust-clippy/issues/702
+#![allow(unknown_lints)]
+#![allow(clippy::all)]
+
+#![cfg_attr(rustfmt, rustfmt_skip)]
+
+#![allow(box_pointers)]
+#![allow(dead_code)]
+#![allow(missing_docs)]
+#![allow(non_camel_case_types)]
+#![allow(non_snake_case)]
+#![allow(non_upper_case_globals)]
+#![allow(trivial_casts)]
+#![allow(unsafe_code)]
+#![allow(unused_imports)]
+#![allow(unused_results)]
+//! Generated file from `google/protobuf/field_mask.proto`
+
+use protobuf::Message as Message_imported_for_functions;
+use protobuf::ProtobufEnum as ProtobufEnum_imported_for_functions;
+
+#[derive(PartialEq,Clone,Default)]
+#[cfg_attr(feature = "with-serde", derive(Serialize, Deserialize))]
+pub struct FieldMask {
+ // message fields
+ pub paths: ::protobuf::RepeatedField<::std::string::String>,
+ // special fields
+ #[cfg_attr(feature = "with-serde", serde(skip))]
+ pub unknown_fields: ::protobuf::UnknownFields,
+ #[cfg_attr(feature = "with-serde", serde(skip))]
+ pub cached_size: ::protobuf::CachedSize,
+}
+
+impl<'a> ::std::default::Default for &'a FieldMask {
+ fn default() -> &'a FieldMask {
+ <FieldMask as ::protobuf::Message>::default_instance()
+ }
+}
+
+impl FieldMask {
+ pub fn new() -> FieldMask {
+ ::std::default::Default::default()
+ }
+
+ // repeated string paths = 1;
+
+
+ pub fn get_paths(&self) -> &[::std::string::String] {
+ &self.paths
+ }
+ pub fn clear_paths(&mut self) {
+ self.paths.clear();
+ }
+
+ // Param is passed by value, moved
+ pub fn set_paths(&mut self, v: ::protobuf::RepeatedField<::std::string::String>) {
+ self.paths = v;
+ }
+
+ // Mutable pointer to the field.
+ pub fn mut_paths(&mut self) -> &mut ::protobuf::RepeatedField<::std::string::String> {
+ &mut self.paths
+ }
+
+ // Take field
+ pub fn take_paths(&mut self) -> ::protobuf::RepeatedField<::std::string::String> {
+ ::std::mem::replace(&mut self.paths, ::protobuf::RepeatedField::new())
+ }
+}
+
+impl ::protobuf::Message for FieldMask {
+ fn is_initialized(&self) -> bool {
+ true
+ }
+
+ fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
+ while !is.eof()? {
+ let (field_number, wire_type) = is.read_tag_unpack()?;
+ match field_number {
+ 1 => {
+ ::protobuf::rt::read_repeated_string_into(wire_type, is, &mut self.paths)?;
+ },
+ _ => {
+ ::protobuf::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.paths {
+ my_size += ::protobuf::rt::string_size(1, &value);
+ };
+ my_size += ::protobuf::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 ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
+ for v in &self.paths {
+ os.write_string(1, &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) -> &::protobuf::UnknownFields {
+ &self.unknown_fields
+ }
+
+ fn mut_unknown_fields(&mut self) -> &mut ::protobuf::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: Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
+ self
+ }
+
+ fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
+ Self::descriptor_static()
+ }
+
+ fn new() -> FieldMask {
+ FieldMask::new()
+ }
+
+ fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
+ static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy::INIT;
+ unsafe {
+ descriptor.get(|| {
+ let mut fields = ::std::vec::Vec::new();
+ fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
+ "paths",
+ |m: &FieldMask| { &m.paths },
+ |m: &mut FieldMask| { &mut m.paths },
+ ));
+ ::protobuf::reflect::MessageDescriptor::new_pb_name::<FieldMask>(
+ "FieldMask",
+ fields,
+ file_descriptor_proto()
+ )
+ })
+ }
+ }
+
+ fn default_instance() -> &'static FieldMask {
+ static mut instance: ::protobuf::lazy::Lazy<FieldMask> = ::protobuf::lazy::Lazy::INIT;
+ unsafe {
+ instance.get(FieldMask::new)
+ }
+ }
+}
+
+impl ::protobuf::Clear for FieldMask {
+ fn clear(&mut self) {
+ self.paths.clear();
+ self.unknown_fields.clear();
+ }
+}
+
+impl ::std::fmt::Debug for FieldMask {
+ fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
+ ::protobuf::text_format::fmt(self, f)
+ }
+}
+
+impl ::protobuf::reflect::ProtobufValue for FieldMask {
+ fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
+ ::protobuf::reflect::ReflectValueRef::Message(self)
+ }
+}
+
+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\
+ \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$\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\
+ \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\
+ \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\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\
+ nted\x20as\x20below:\n\n\x20\x20\x20\x20\x20{\n\x20\x20\x20\x20\x20\x20\
+ \x20mask:\x20\"user.displayName,photo\"\n\x20\x20\x20\x20\x20}\n\n\x20#\
+ \x20Field\x20Masks\x20and\x20Oneof\x20Fields\n\n\x20Field\x20masks\x20tr\
+ eat\x20fields\x20in\x20oneofs\x20just\x20as\x20regular\x20fields.\x20Con\
+ sider\x20the\n\x20following\x20message:\n\n\x20\x20\x20\x20\x20message\
+ \x20SampleMessage\x20{\n\x20\x20\x20\x20\x20\x20\x20oneof\x20test_oneof\
+ \x20{\n\x20\x20\x20\x20\x20\x20\x20\x20\x20string\x20name\x20=\x204;\n\
+ \x20\x20\x20\x20\x20\x20\x20\x20\x20SubMessage\x20sub_message\x20=\x209;\
+ \n\x20\x20\x20\x20\x20\x20\x20}\n\x20\x20\x20\x20\x20}\n\n\x20The\x20fie\
+ ld\x20mask\x20can\x20be:\n\n\x20\x20\x20\x20\x20mask\x20{\n\x20\x20\x20\
+ \x20\x20\x20\x20paths:\x20\"name\"\n\x20\x20\x20\x20\x20}\n\n\x20Or:\n\n\
+ \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\
+";
+
+static mut file_descriptor_proto_lazy: ::protobuf::lazy::Lazy<::protobuf::descriptor::FileDescriptorProto> = ::protobuf::lazy::Lazy::INIT;
+
+fn parse_descriptor_proto() -> ::protobuf::descriptor::FileDescriptorProto {
+ ::protobuf::parse_from_bytes(file_descriptor_proto_data).unwrap()
+}
+
+pub fn file_descriptor_proto() -> &'static ::protobuf::descriptor::FileDescriptorProto {
+ unsafe {
+ file_descriptor_proto_lazy.get(|| {
+ parse_descriptor_proto()
+ })
+ }
+}
diff --git a/src/well_known_types/mod.rs b/src/well_known_types/mod.rs
new file mode 100644
index 0000000..9ecf8fb
--- /dev/null
+++ b/src/well_known_types/mod.rs
@@ -0,0 +1,26 @@
+// This file is generated. Do not edit
+//! Generated code for "well known types"
+//!
+//! [This document](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf) describes these types.
+
+mod any;
+mod api;
+mod duration;
+mod empty;
+mod field_mask;
+mod source_context;
+mod struct_pb;
+mod timestamp;
+mod type_pb;
+mod wrappers;
+
+pub use self::any::*;
+pub use self::api::*;
+pub use self::duration::*;
+pub use self::empty::*;
+pub use self::field_mask::*;
+pub use self::source_context::*;
+pub use self::struct_pb::*;
+pub use self::timestamp::*;
+pub use self::type_pb::*;
+pub use self::wrappers::*;
diff --git a/src/well_known_types/source_context.rs b/src/well_known_types/source_context.rs
new file mode 100644
index 0000000..c9a9e26
--- /dev/null
+++ b/src/well_known_types/source_context.rs
@@ -0,0 +1,258 @@
+// This file is generated by rust-protobuf 2.14.0-pre. Do not edit
+// @generated
+
+// https://github.com/rust-lang/rust-clippy/issues/702
+#![allow(unknown_lints)]
+#![allow(clippy::all)]
+
+#![cfg_attr(rustfmt, rustfmt_skip)]
+
+#![allow(box_pointers)]
+#![allow(dead_code)]
+#![allow(missing_docs)]
+#![allow(non_camel_case_types)]
+#![allow(non_snake_case)]
+#![allow(non_upper_case_globals)]
+#![allow(trivial_casts)]
+#![allow(unsafe_code)]
+#![allow(unused_imports)]
+#![allow(unused_results)]
+//! Generated file from `google/protobuf/source_context.proto`
+
+use protobuf::Message as Message_imported_for_functions;
+use protobuf::ProtobufEnum as ProtobufEnum_imported_for_functions;
+
+#[derive(PartialEq,Clone,Default)]
+#[cfg_attr(feature = "with-serde", derive(Serialize, Deserialize))]
+pub struct SourceContext {
+ // message fields
+ pub file_name: ::std::string::String,
+ // special fields
+ #[cfg_attr(feature = "with-serde", serde(skip))]
+ pub unknown_fields: ::protobuf::UnknownFields,
+ #[cfg_attr(feature = "with-serde", serde(skip))]
+ pub cached_size: ::protobuf::CachedSize,
+}
+
+impl<'a> ::std::default::Default for &'a SourceContext {
+ fn default() -> &'a SourceContext {
+ <SourceContext as ::protobuf::Message>::default_instance()
+ }
+}
+
+impl SourceContext {
+ pub fn new() -> SourceContext {
+ ::std::default::Default::default()
+ }
+
+ // string file_name = 1;
+
+
+ pub fn get_file_name(&self) -> &str {
+ &self.file_name
+ }
+ pub fn clear_file_name(&mut self) {
+ self.file_name.clear();
+ }
+
+ // Param is passed by value, moved
+ pub fn set_file_name(&mut self, v: ::std::string::String) {
+ self.file_name = v;
+ }
+
+ // Mutable pointer to the field.
+ // If field is not initialized, it is initialized with default value first.
+ pub fn mut_file_name(&mut self) -> &mut ::std::string::String {
+ &mut self.file_name
+ }
+
+ // Take field
+ pub fn take_file_name(&mut self) -> ::std::string::String {
+ ::std::mem::replace(&mut self.file_name, ::std::string::String::new())
+ }
+}
+
+impl ::protobuf::Message for SourceContext {
+ fn is_initialized(&self) -> bool {
+ true
+ }
+
+ fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
+ while !is.eof()? {
+ let (field_number, wire_type) = is.read_tag_unpack()?;
+ match field_number {
+ 1 => {
+ ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.file_name)?;
+ },
+ _ => {
+ ::protobuf::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 !self.file_name.is_empty() {
+ my_size += ::protobuf::rt::string_size(1, &self.file_name);
+ }
+ my_size += ::protobuf::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 ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
+ if !self.file_name.is_empty() {
+ os.write_string(1, &self.file_name)?;
+ }
+ 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) -> &::protobuf::UnknownFields {
+ &self.unknown_fields
+ }
+
+ fn mut_unknown_fields(&mut self) -> &mut ::protobuf::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: Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
+ self
+ }
+
+ fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
+ Self::descriptor_static()
+ }
+
+ fn new() -> SourceContext {
+ SourceContext::new()
+ }
+
+ fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
+ static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy::INIT;
+ unsafe {
+ descriptor.get(|| {
+ let mut fields = ::std::vec::Vec::new();
+ fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
+ "file_name",
+ |m: &SourceContext| { &m.file_name },
+ |m: &mut SourceContext| { &mut m.file_name },
+ ));
+ ::protobuf::reflect::MessageDescriptor::new_pb_name::<SourceContext>(
+ "SourceContext",
+ fields,
+ file_descriptor_proto()
+ )
+ })
+ }
+ }
+
+ fn default_instance() -> &'static SourceContext {
+ static mut instance: ::protobuf::lazy::Lazy<SourceContext> = ::protobuf::lazy::Lazy::INIT;
+ unsafe {
+ instance.get(SourceContext::new)
+ }
+ }
+}
+
+impl ::protobuf::Clear for SourceContext {
+ fn clear(&mut self) {
+ self.file_name.clear();
+ self.unknown_fields.clear();
+ }
+}
+
+impl ::std::fmt::Debug for SourceContext {
+ fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
+ ::protobuf::text_format::fmt(self, f)
+ }
+}
+
+impl ::protobuf::reflect::ProtobufValue for SourceContext {
+ fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
+ ::protobuf::reflect::ReflectValueRef::Message(self)
+ }
+}
+
+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\
+";
+
+static mut file_descriptor_proto_lazy: ::protobuf::lazy::Lazy<::protobuf::descriptor::FileDescriptorProto> = ::protobuf::lazy::Lazy::INIT;
+
+fn parse_descriptor_proto() -> ::protobuf::descriptor::FileDescriptorProto {
+ ::protobuf::parse_from_bytes(file_descriptor_proto_data).unwrap()
+}
+
+pub fn file_descriptor_proto() -> &'static ::protobuf::descriptor::FileDescriptorProto {
+ unsafe {
+ file_descriptor_proto_lazy.get(|| {
+ parse_descriptor_proto()
+ })
+ }
+}
diff --git a/src/well_known_types/struct_pb.rs b/src/well_known_types/struct_pb.rs
new file mode 100644
index 0000000..f644b20
--- /dev/null
+++ b/src/well_known_types/struct_pb.rs
@@ -0,0 +1,1028 @@
+// This file is generated by rust-protobuf 2.14.0-pre. Do not edit
+// @generated
+
+// https://github.com/rust-lang/rust-clippy/issues/702
+#![allow(unknown_lints)]
+#![allow(clippy::all)]
+
+#![cfg_attr(rustfmt, rustfmt_skip)]
+
+#![allow(box_pointers)]
+#![allow(dead_code)]
+#![allow(missing_docs)]
+#![allow(non_camel_case_types)]
+#![allow(non_snake_case)]
+#![allow(non_upper_case_globals)]
+#![allow(trivial_casts)]
+#![allow(unsafe_code)]
+#![allow(unused_imports)]
+#![allow(unused_results)]
+//! Generated file from `google/protobuf/struct.proto`
+
+use protobuf::Message as Message_imported_for_functions;
+use protobuf::ProtobufEnum as ProtobufEnum_imported_for_functions;
+
+#[derive(PartialEq,Clone,Default)]
+#[cfg_attr(feature = "with-serde", derive(Serialize, Deserialize))]
+pub struct Struct {
+ // message fields
+ pub fields: ::std::collections::HashMap<::std::string::String, Value>,
+ // special fields
+ #[cfg_attr(feature = "with-serde", serde(skip))]
+ pub unknown_fields: ::protobuf::UnknownFields,
+ #[cfg_attr(feature = "with-serde", serde(skip))]
+ pub cached_size: ::protobuf::CachedSize,
+}
+
+impl<'a> ::std::default::Default for &'a Struct {
+ fn default() -> &'a Struct {
+ <Struct as ::protobuf::Message>::default_instance()
+ }
+}
+
+impl Struct {
+ pub fn new() -> Struct {
+ ::std::default::Default::default()
+ }
+
+ // repeated .google.protobuf.Struct.FieldsEntry fields = 1;
+
+
+ pub fn get_fields(&self) -> &::std::collections::HashMap<::std::string::String, Value> {
+ &self.fields
+ }
+ pub fn clear_fields(&mut self) {
+ self.fields.clear();
+ }
+
+ // Param is passed by value, moved
+ pub fn set_fields(&mut self, v: ::std::collections::HashMap<::std::string::String, Value>) {
+ self.fields = v;
+ }
+
+ // Mutable pointer to the field.
+ pub fn mut_fields(&mut self) -> &mut ::std::collections::HashMap<::std::string::String, Value> {
+ &mut self.fields
+ }
+
+ // Take field
+ pub fn take_fields(&mut self) -> ::std::collections::HashMap<::std::string::String, Value> {
+ ::std::mem::replace(&mut self.fields, ::std::collections::HashMap::new())
+ }
+}
+
+impl ::protobuf::Message for Struct {
+ fn is_initialized(&self) -> bool {
+ true
+ }
+
+ fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
+ while !is.eof()? {
+ let (field_number, wire_type) = is.read_tag_unpack()?;
+ match field_number {
+ 1 => {
+ ::protobuf::rt::read_map_into::<::protobuf::types::ProtobufTypeString, ::protobuf::types::ProtobufTypeMessage<Value>>(wire_type, is, &mut self.fields)?;
+ },
+ _ => {
+ ::protobuf::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;
+ my_size += ::protobuf::rt::compute_map_size::<::protobuf::types::ProtobufTypeString, ::protobuf::types::ProtobufTypeMessage<Value>>(1, &self.fields);
+ my_size += ::protobuf::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 ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
+ ::protobuf::rt::write_map_with_cached_sizes::<::protobuf::types::ProtobufTypeString, ::protobuf::types::ProtobufTypeMessage<Value>>(1, &self.fields, 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) -> &::protobuf::UnknownFields {
+ &self.unknown_fields
+ }
+
+ fn mut_unknown_fields(&mut self) -> &mut ::protobuf::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: Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
+ self
+ }
+
+ fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
+ Self::descriptor_static()
+ }
+
+ fn new() -> Struct {
+ Struct::new()
+ }
+
+ fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
+ static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy::INIT;
+ unsafe {
+ descriptor.get(|| {
+ let mut fields = ::std::vec::Vec::new();
+ fields.push(::protobuf::reflect::accessor::make_map_accessor::<_, ::protobuf::types::ProtobufTypeString, ::protobuf::types::ProtobufTypeMessage<Value>>(
+ "fields",
+ |m: &Struct| { &m.fields },
+ |m: &mut Struct| { &mut m.fields },
+ ));
+ ::protobuf::reflect::MessageDescriptor::new_pb_name::<Struct>(
+ "Struct",
+ fields,
+ file_descriptor_proto()
+ )
+ })
+ }
+ }
+
+ fn default_instance() -> &'static Struct {
+ static mut instance: ::protobuf::lazy::Lazy<Struct> = ::protobuf::lazy::Lazy::INIT;
+ unsafe {
+ instance.get(Struct::new)
+ }
+ }
+}
+
+impl ::protobuf::Clear for Struct {
+ fn clear(&mut self) {
+ self.fields.clear();
+ self.unknown_fields.clear();
+ }
+}
+
+impl ::std::fmt::Debug for Struct {
+ fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
+ ::protobuf::text_format::fmt(self, f)
+ }
+}
+
+impl ::protobuf::reflect::ProtobufValue for Struct {
+ fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
+ ::protobuf::reflect::ReflectValueRef::Message(self)
+ }
+}
+
+#[derive(PartialEq,Clone,Default)]
+#[cfg_attr(feature = "with-serde", derive(Serialize, Deserialize))]
+pub struct Value {
+ // message oneof groups
+ pub kind: ::std::option::Option<Value_oneof_kind>,
+ // special fields
+ #[cfg_attr(feature = "with-serde", serde(skip))]
+ pub unknown_fields: ::protobuf::UnknownFields,
+ #[cfg_attr(feature = "with-serde", serde(skip))]
+ pub cached_size: ::protobuf::CachedSize,
+}
+
+impl<'a> ::std::default::Default for &'a Value {
+ fn default() -> &'a Value {
+ <Value as ::protobuf::Message>::default_instance()
+ }
+}
+
+#[derive(Clone,PartialEq,Debug)]
+#[cfg_attr(feature = "with-serde", derive(Serialize, Deserialize))]
+pub enum Value_oneof_kind {
+ null_value(NullValue),
+ number_value(f64),
+ string_value(::std::string::String),
+ bool_value(bool),
+ struct_value(Struct),
+ list_value(ListValue),
+}
+
+impl Value {
+ pub fn new() -> Value {
+ ::std::default::Default::default()
+ }
+
+ // .google.protobuf.NullValue null_value = 1;
+
+
+ pub fn get_null_value(&self) -> NullValue {
+ match self.kind {
+ ::std::option::Option::Some(Value_oneof_kind::null_value(v)) => v,
+ _ => NullValue::NULL_VALUE,
+ }
+ }
+ pub fn clear_null_value(&mut self) {
+ self.kind = ::std::option::Option::None;
+ }
+
+ pub fn has_null_value(&self) -> bool {
+ match self.kind {
+ ::std::option::Option::Some(Value_oneof_kind::null_value(..)) => true,
+ _ => false,
+ }
+ }
+
+ // Param is passed by value, moved
+ pub fn set_null_value(&mut self, v: NullValue) {
+ self.kind = ::std::option::Option::Some(Value_oneof_kind::null_value(v))
+ }
+
+ // double number_value = 2;
+
+
+ pub fn get_number_value(&self) -> f64 {
+ match self.kind {
+ ::std::option::Option::Some(Value_oneof_kind::number_value(v)) => v,
+ _ => 0.,
+ }
+ }
+ pub fn clear_number_value(&mut self) {
+ self.kind = ::std::option::Option::None;
+ }
+
+ pub fn has_number_value(&self) -> bool {
+ match self.kind {
+ ::std::option::Option::Some(Value_oneof_kind::number_value(..)) => true,
+ _ => false,
+ }
+ }
+
+ // Param is passed by value, moved
+ pub fn set_number_value(&mut self, v: f64) {
+ self.kind = ::std::option::Option::Some(Value_oneof_kind::number_value(v))
+ }
+
+ // string string_value = 3;
+
+
+ pub fn get_string_value(&self) -> &str {
+ match self.kind {
+ ::std::option::Option::Some(Value_oneof_kind::string_value(ref v)) => v,
+ _ => "",
+ }
+ }
+ pub fn clear_string_value(&mut self) {
+ self.kind = ::std::option::Option::None;
+ }
+
+ pub fn has_string_value(&self) -> bool {
+ match self.kind {
+ ::std::option::Option::Some(Value_oneof_kind::string_value(..)) => true,
+ _ => false,
+ }
+ }
+
+ // Param is passed by value, moved
+ pub fn set_string_value(&mut self, v: ::std::string::String) {
+ self.kind = ::std::option::Option::Some(Value_oneof_kind::string_value(v))
+ }
+
+ // Mutable pointer to the field.
+ pub fn mut_string_value(&mut self) -> &mut ::std::string::String {
+ if let ::std::option::Option::Some(Value_oneof_kind::string_value(_)) = self.kind {
+ } else {
+ self.kind = ::std::option::Option::Some(Value_oneof_kind::string_value(::std::string::String::new()));
+ }
+ match self.kind {
+ ::std::option::Option::Some(Value_oneof_kind::string_value(ref mut v)) => v,
+ _ => panic!(),
+ }
+ }
+
+ // Take field
+ pub fn take_string_value(&mut self) -> ::std::string::String {
+ if self.has_string_value() {
+ match self.kind.take() {
+ ::std::option::Option::Some(Value_oneof_kind::string_value(v)) => v,
+ _ => panic!(),
+ }
+ } else {
+ ::std::string::String::new()
+ }
+ }
+
+ // bool bool_value = 4;
+
+
+ pub fn get_bool_value(&self) -> bool {
+ match self.kind {
+ ::std::option::Option::Some(Value_oneof_kind::bool_value(v)) => v,
+ _ => false,
+ }
+ }
+ pub fn clear_bool_value(&mut self) {
+ self.kind = ::std::option::Option::None;
+ }
+
+ pub fn has_bool_value(&self) -> bool {
+ match self.kind {
+ ::std::option::Option::Some(Value_oneof_kind::bool_value(..)) => true,
+ _ => false,
+ }
+ }
+
+ // Param is passed by value, moved
+ pub fn set_bool_value(&mut self, v: bool) {
+ self.kind = ::std::option::Option::Some(Value_oneof_kind::bool_value(v))
+ }
+
+ // .google.protobuf.Struct struct_value = 5;
+
+
+ pub fn get_struct_value(&self) -> &Struct {
+ match self.kind {
+ ::std::option::Option::Some(Value_oneof_kind::struct_value(ref v)) => v,
+ _ => Struct::default_instance(),
+ }
+ }
+ pub fn clear_struct_value(&mut self) {
+ self.kind = ::std::option::Option::None;
+ }
+
+ pub fn has_struct_value(&self) -> bool {
+ match self.kind {
+ ::std::option::Option::Some(Value_oneof_kind::struct_value(..)) => true,
+ _ => false,
+ }
+ }
+
+ // Param is passed by value, moved
+ pub fn set_struct_value(&mut self, v: Struct) {
+ self.kind = ::std::option::Option::Some(Value_oneof_kind::struct_value(v))
+ }
+
+ // Mutable pointer to the field.
+ pub fn mut_struct_value(&mut self) -> &mut Struct {
+ if let ::std::option::Option::Some(Value_oneof_kind::struct_value(_)) = self.kind {
+ } else {
+ self.kind = ::std::option::Option::Some(Value_oneof_kind::struct_value(Struct::new()));
+ }
+ match self.kind {
+ ::std::option::Option::Some(Value_oneof_kind::struct_value(ref mut v)) => v,
+ _ => panic!(),
+ }
+ }
+
+ // Take field
+ pub fn take_struct_value(&mut self) -> Struct {
+ if self.has_struct_value() {
+ match self.kind.take() {
+ ::std::option::Option::Some(Value_oneof_kind::struct_value(v)) => v,
+ _ => panic!(),
+ }
+ } else {
+ Struct::new()
+ }
+ }
+
+ // .google.protobuf.ListValue list_value = 6;
+
+
+ pub fn get_list_value(&self) -> &ListValue {
+ match self.kind {
+ ::std::option::Option::Some(Value_oneof_kind::list_value(ref v)) => v,
+ _ => ListValue::default_instance(),
+ }
+ }
+ pub fn clear_list_value(&mut self) {
+ self.kind = ::std::option::Option::None;
+ }
+
+ pub fn has_list_value(&self) -> bool {
+ match self.kind {
+ ::std::option::Option::Some(Value_oneof_kind::list_value(..)) => true,
+ _ => false,
+ }
+ }
+
+ // Param is passed by value, moved
+ pub fn set_list_value(&mut self, v: ListValue) {
+ self.kind = ::std::option::Option::Some(Value_oneof_kind::list_value(v))
+ }
+
+ // Mutable pointer to the field.
+ pub fn mut_list_value(&mut self) -> &mut ListValue {
+ if let ::std::option::Option::Some(Value_oneof_kind::list_value(_)) = self.kind {
+ } else {
+ self.kind = ::std::option::Option::Some(Value_oneof_kind::list_value(ListValue::new()));
+ }
+ match self.kind {
+ ::std::option::Option::Some(Value_oneof_kind::list_value(ref mut v)) => v,
+ _ => panic!(),
+ }
+ }
+
+ // Take field
+ pub fn take_list_value(&mut self) -> ListValue {
+ if self.has_list_value() {
+ match self.kind.take() {
+ ::std::option::Option::Some(Value_oneof_kind::list_value(v)) => v,
+ _ => panic!(),
+ }
+ } else {
+ ListValue::new()
+ }
+ }
+}
+
+impl ::protobuf::Message for Value {
+ fn is_initialized(&self) -> bool {
+ if let Some(Value_oneof_kind::struct_value(ref v)) = self.kind {
+ if !v.is_initialized() {
+ return false;
+ }
+ }
+ if let Some(Value_oneof_kind::list_value(ref v)) = self.kind {
+ if !v.is_initialized() {
+ return false;
+ }
+ }
+ true
+ }
+
+ fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
+ while !is.eof()? {
+ let (field_number, wire_type) = is.read_tag_unpack()?;
+ match field_number {
+ 1 => {
+ if wire_type != ::protobuf::wire_format::WireTypeVarint {
+ return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
+ }
+ self.kind = ::std::option::Option::Some(Value_oneof_kind::null_value(is.read_enum()?));
+ },
+ 2 => {
+ if wire_type != ::protobuf::wire_format::WireTypeFixed64 {
+ return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
+ }
+ self.kind = ::std::option::Option::Some(Value_oneof_kind::number_value(is.read_double()?));
+ },
+ 3 => {
+ if wire_type != ::protobuf::wire_format::WireTypeLengthDelimited {
+ return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
+ }
+ self.kind = ::std::option::Option::Some(Value_oneof_kind::string_value(is.read_string()?));
+ },
+ 4 => {
+ if wire_type != ::protobuf::wire_format::WireTypeVarint {
+ return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
+ }
+ self.kind = ::std::option::Option::Some(Value_oneof_kind::bool_value(is.read_bool()?));
+ },
+ 5 => {
+ if wire_type != ::protobuf::wire_format::WireTypeLengthDelimited {
+ return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
+ }
+ self.kind = ::std::option::Option::Some(Value_oneof_kind::struct_value(is.read_message()?));
+ },
+ 6 => {
+ if wire_type != ::protobuf::wire_format::WireTypeLengthDelimited {
+ return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
+ }
+ self.kind = ::std::option::Option::Some(Value_oneof_kind::list_value(is.read_message()?));
+ },
+ _ => {
+ ::protobuf::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 ::std::option::Option::Some(ref v) = self.kind {
+ match v {
+ &Value_oneof_kind::null_value(v) => {
+ my_size += ::protobuf::rt::enum_size(1, v);
+ },
+ &Value_oneof_kind::number_value(v) => {
+ my_size += 9;
+ },
+ &Value_oneof_kind::string_value(ref v) => {
+ my_size += ::protobuf::rt::string_size(3, &v);
+ },
+ &Value_oneof_kind::bool_value(v) => {
+ my_size += 2;
+ },
+ &Value_oneof_kind::struct_value(ref v) => {
+ let len = v.compute_size();
+ my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
+ },
+ &Value_oneof_kind::list_value(ref v) => {
+ let len = v.compute_size();
+ my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
+ },
+ };
+ }
+ my_size += ::protobuf::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 ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
+ if let ::std::option::Option::Some(ref v) = self.kind {
+ match v {
+ &Value_oneof_kind::null_value(v) => {
+ os.write_enum(1, v.value())?;
+ },
+ &Value_oneof_kind::number_value(v) => {
+ os.write_double(2, v)?;
+ },
+ &Value_oneof_kind::string_value(ref v) => {
+ os.write_string(3, v)?;
+ },
+ &Value_oneof_kind::bool_value(v) => {
+ os.write_bool(4, v)?;
+ },
+ &Value_oneof_kind::struct_value(ref v) => {
+ os.write_tag(5, ::protobuf::wire_format::WireTypeLengthDelimited)?;
+ os.write_raw_varint32(v.get_cached_size())?;
+ v.write_to_with_cached_sizes(os)?;
+ },
+ &Value_oneof_kind::list_value(ref v) => {
+ os.write_tag(6, ::protobuf::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) -> &::protobuf::UnknownFields {
+ &self.unknown_fields
+ }
+
+ fn mut_unknown_fields(&mut self) -> &mut ::protobuf::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: Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
+ self
+ }
+
+ fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
+ Self::descriptor_static()
+ }
+
+ fn new() -> Value {
+ Value::new()
+ }
+
+ fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
+ static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy::INIT;
+ unsafe {
+ descriptor.get(|| {
+ let mut fields = ::std::vec::Vec::new();
+ fields.push(::protobuf::reflect::accessor::make_singular_enum_accessor::<_, NullValue>(
+ "null_value",
+ Value::has_null_value,
+ Value::get_null_value,
+ ));
+ fields.push(::protobuf::reflect::accessor::make_singular_f64_accessor::<_>(
+ "number_value",
+ Value::has_number_value,
+ Value::get_number_value,
+ ));
+ fields.push(::protobuf::reflect::accessor::make_singular_string_accessor::<_>(
+ "string_value",
+ Value::has_string_value,
+ Value::get_string_value,
+ ));
+ fields.push(::protobuf::reflect::accessor::make_singular_bool_accessor::<_>(
+ "bool_value",
+ Value::has_bool_value,
+ Value::get_bool_value,
+ ));
+ fields.push(::protobuf::reflect::accessor::make_singular_message_accessor::<_, Struct>(
+ "struct_value",
+ Value::has_struct_value,
+ Value::get_struct_value,
+ ));
+ fields.push(::protobuf::reflect::accessor::make_singular_message_accessor::<_, ListValue>(
+ "list_value",
+ Value::has_list_value,
+ Value::get_list_value,
+ ));
+ ::protobuf::reflect::MessageDescriptor::new_pb_name::<Value>(
+ "Value",
+ fields,
+ file_descriptor_proto()
+ )
+ })
+ }
+ }
+
+ fn default_instance() -> &'static Value {
+ static mut instance: ::protobuf::lazy::Lazy<Value> = ::protobuf::lazy::Lazy::INIT;
+ unsafe {
+ instance.get(Value::new)
+ }
+ }
+}
+
+impl ::protobuf::Clear for Value {
+ fn clear(&mut self) {
+ self.kind = ::std::option::Option::None;
+ self.kind = ::std::option::Option::None;
+ self.kind = ::std::option::Option::None;
+ self.kind = ::std::option::Option::None;
+ self.kind = ::std::option::Option::None;
+ self.kind = ::std::option::Option::None;
+ self.unknown_fields.clear();
+ }
+}
+
+impl ::std::fmt::Debug for Value {
+ fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
+ ::protobuf::text_format::fmt(self, f)
+ }
+}
+
+impl ::protobuf::reflect::ProtobufValue for Value {
+ fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
+ ::protobuf::reflect::ReflectValueRef::Message(self)
+ }
+}
+
+#[derive(PartialEq,Clone,Default)]
+#[cfg_attr(feature = "with-serde", derive(Serialize, Deserialize))]
+pub struct ListValue {
+ // message fields
+ pub values: ::protobuf::RepeatedField<Value>,
+ // special fields
+ #[cfg_attr(feature = "with-serde", serde(skip))]
+ pub unknown_fields: ::protobuf::UnknownFields,
+ #[cfg_attr(feature = "with-serde", serde(skip))]
+ pub cached_size: ::protobuf::CachedSize,
+}
+
+impl<'a> ::std::default::Default for &'a ListValue {
+ fn default() -> &'a ListValue {
+ <ListValue as ::protobuf::Message>::default_instance()
+ }
+}
+
+impl ListValue {
+ pub fn new() -> ListValue {
+ ::std::default::Default::default()
+ }
+
+ // repeated .google.protobuf.Value values = 1;
+
+
+ pub fn get_values(&self) -> &[Value] {
+ &self.values
+ }
+ pub fn clear_values(&mut self) {
+ self.values.clear();
+ }
+
+ // Param is passed by value, moved
+ pub fn set_values(&mut self, v: ::protobuf::RepeatedField<Value>) {
+ self.values = v;
+ }
+
+ // Mutable pointer to the field.
+ pub fn mut_values(&mut self) -> &mut ::protobuf::RepeatedField<Value> {
+ &mut self.values
+ }
+
+ // Take field
+ pub fn take_values(&mut self) -> ::protobuf::RepeatedField<Value> {
+ ::std::mem::replace(&mut self.values, ::protobuf::RepeatedField::new())
+ }
+}
+
+impl ::protobuf::Message for ListValue {
+ fn is_initialized(&self) -> bool {
+ for v in &self.values {
+ if !v.is_initialized() {
+ return false;
+ }
+ };
+ true
+ }
+
+ fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
+ while !is.eof()? {
+ let (field_number, wire_type) = is.read_tag_unpack()?;
+ match field_number {
+ 1 => {
+ ::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.values)?;
+ },
+ _ => {
+ ::protobuf::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.values {
+ let len = value.compute_size();
+ my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
+ };
+ my_size += ::protobuf::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 ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
+ for v in &self.values {
+ os.write_tag(1, ::protobuf::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) -> &::protobuf::UnknownFields {
+ &self.unknown_fields
+ }
+
+ fn mut_unknown_fields(&mut self) -> &mut ::protobuf::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: Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
+ self
+ }
+
+ fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
+ Self::descriptor_static()
+ }
+
+ fn new() -> ListValue {
+ ListValue::new()
+ }
+
+ fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
+ static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy::INIT;
+ unsafe {
+ descriptor.get(|| {
+ let mut fields = ::std::vec::Vec::new();
+ fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<Value>>(
+ "values",
+ |m: &ListValue| { &m.values },
+ |m: &mut ListValue| { &mut m.values },
+ ));
+ ::protobuf::reflect::MessageDescriptor::new_pb_name::<ListValue>(
+ "ListValue",
+ fields,
+ file_descriptor_proto()
+ )
+ })
+ }
+ }
+
+ fn default_instance() -> &'static ListValue {
+ static mut instance: ::protobuf::lazy::Lazy<ListValue> = ::protobuf::lazy::Lazy::INIT;
+ unsafe {
+ instance.get(ListValue::new)
+ }
+ }
+}
+
+impl ::protobuf::Clear for ListValue {
+ fn clear(&mut self) {
+ self.values.clear();
+ self.unknown_fields.clear();
+ }
+}
+
+impl ::std::fmt::Debug for ListValue {
+ fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
+ ::protobuf::text_format::fmt(self, f)
+ }
+}
+
+impl ::protobuf::reflect::ProtobufValue for ListValue {
+ fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
+ ::protobuf::reflect::ReflectValueRef::Message(self)
+ }
+}
+
+#[derive(Clone,PartialEq,Eq,Debug,Hash)]
+#[cfg_attr(feature = "with-serde", derive(Serialize, Deserialize))]
+pub enum NullValue {
+ NULL_VALUE = 0,
+}
+
+impl ::protobuf::ProtobufEnum for NullValue {
+ fn value(&self) -> i32 {
+ *self as i32
+ }
+
+ fn from_i32(value: i32) -> ::std::option::Option<NullValue> {
+ match value {
+ 0 => ::std::option::Option::Some(NullValue::NULL_VALUE),
+ _ => ::std::option::Option::None
+ }
+ }
+
+ fn values() -> &'static [Self] {
+ static values: &'static [NullValue] = &[
+ NullValue::NULL_VALUE,
+ ];
+ values
+ }
+
+ fn enum_descriptor_static() -> &'static ::protobuf::reflect::EnumDescriptor {
+ static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::EnumDescriptor> = ::protobuf::lazy::Lazy::INIT;
+ unsafe {
+ descriptor.get(|| {
+ ::protobuf::reflect::EnumDescriptor::new_pb_name::<NullValue>("NullValue", file_descriptor_proto())
+ })
+ }
+ }
+}
+
+impl ::std::marker::Copy for NullValue {
+}
+
+impl ::std::default::Default for NullValue {
+ fn default() -> Self {
+ NullValue::NULL_VALUE
+ }
+}
+
+impl ::protobuf::reflect::ProtobufValue for NullValue {
+ fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
+ ::protobuf::reflect::ReflectValueRef::Enum(self.descriptor())
+ }
+}
+
+static file_descriptor_proto_data: &'static [u8] = b"\
+ \n\x1cgoogle/protobuf/struct.proto\x12\x0fgoogle.protobuf\"\x98\x01\n\
+ \x06Struct\x12;\n\x06fields\x18\x01\x20\x03(\x0b2#.google.protobuf.Struc\
+ t.FieldsEntryR\x06fields\x1aQ\n\x0bFieldsEntry\x12\x10\n\x03key\x18\x01\
+ \x20\x01(\tR\x03key\x12,\n\x05value\x18\x02\x20\x01(\x0b2\x16.google.pro\
+ tobuf.ValueR\x05value:\x028\x01\"\xb2\x02\n\x05Value\x12;\n\nnull_value\
+ \x18\x01\x20\x01(\x0e2\x1a.google.protobuf.NullValueH\0R\tnullValue\x12#\
+ \n\x0cnumber_value\x18\x02\x20\x01(\x01H\0R\x0bnumberValue\x12#\n\x0cstr\
+ ing_value\x18\x03\x20\x01(\tH\0R\x0bstringValue\x12\x1f\n\nbool_value\
+ \x18\x04\x20\x01(\x08H\0R\tboolValue\x12<\n\x0cstruct_value\x18\x05\x20\
+ \x01(\x0b2\x17.google.protobuf.StructH\0R\x0bstructValue\x12;\n\nlist_va\
+ 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\
+ \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\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\xb3\x03\n\x02\x04\0\x12\x043\06\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\
+ \x20by\x20a\x20native\x20representation.\x20For\x20example,\x20in\n\x20s\
+ cripting\x20languages\x20like\x20JS\x20a\x20struct\x20is\x20represented\
+ \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\
+ 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\
+ \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\
+ r\x20a\n\x20list\x20of\x20values.\x20A\x20producer\x20of\x20value\x20is\
+ \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\
+ \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\
+ \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\
+ 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\
+ \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\
+ \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\
+ \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\
+";
+
+static mut file_descriptor_proto_lazy: ::protobuf::lazy::Lazy<::protobuf::descriptor::FileDescriptorProto> = ::protobuf::lazy::Lazy::INIT;
+
+fn parse_descriptor_proto() -> ::protobuf::descriptor::FileDescriptorProto {
+ ::protobuf::parse_from_bytes(file_descriptor_proto_data).unwrap()
+}
+
+pub fn file_descriptor_proto() -> &'static ::protobuf::descriptor::FileDescriptorProto {
+ unsafe {
+ file_descriptor_proto_lazy.get(|| {
+ parse_descriptor_proto()
+ })
+ }
+}
diff --git a/src/well_known_types/timestamp.rs b/src/well_known_types/timestamp.rs
new file mode 100644
index 0000000..2fed143
--- /dev/null
+++ b/src/well_known_types/timestamp.rs
@@ -0,0 +1,335 @@
+// This file is generated by rust-protobuf 2.14.0-pre. Do not edit
+// @generated
+
+// https://github.com/rust-lang/rust-clippy/issues/702
+#![allow(unknown_lints)]
+#![allow(clippy::all)]
+
+#![cfg_attr(rustfmt, rustfmt_skip)]
+
+#![allow(box_pointers)]
+#![allow(dead_code)]
+#![allow(missing_docs)]
+#![allow(non_camel_case_types)]
+#![allow(non_snake_case)]
+#![allow(non_upper_case_globals)]
+#![allow(trivial_casts)]
+#![allow(unsafe_code)]
+#![allow(unused_imports)]
+#![allow(unused_results)]
+//! Generated file from `google/protobuf/timestamp.proto`
+
+use protobuf::Message as Message_imported_for_functions;
+use protobuf::ProtobufEnum as ProtobufEnum_imported_for_functions;
+
+#[derive(PartialEq,Clone,Default)]
+#[cfg_attr(feature = "with-serde", derive(Serialize, Deserialize))]
+pub struct Timestamp {
+ // message fields
+ pub seconds: i64,
+ pub nanos: i32,
+ // special fields
+ #[cfg_attr(feature = "with-serde", serde(skip))]
+ pub unknown_fields: ::protobuf::UnknownFields,
+ #[cfg_attr(feature = "with-serde", serde(skip))]
+ pub cached_size: ::protobuf::CachedSize,
+}
+
+impl<'a> ::std::default::Default for &'a Timestamp {
+ fn default() -> &'a Timestamp {
+ <Timestamp as ::protobuf::Message>::default_instance()
+ }
+}
+
+impl Timestamp {
+ pub fn new() -> Timestamp {
+ ::std::default::Default::default()
+ }
+
+ // int64 seconds = 1;
+
+
+ pub fn get_seconds(&self) -> i64 {
+ self.seconds
+ }
+ pub fn clear_seconds(&mut self) {
+ self.seconds = 0;
+ }
+
+ // Param is passed by value, moved
+ pub fn set_seconds(&mut self, v: i64) {
+ self.seconds = v;
+ }
+
+ // int32 nanos = 2;
+
+
+ pub fn get_nanos(&self) -> i32 {
+ self.nanos
+ }
+ pub fn clear_nanos(&mut self) {
+ self.nanos = 0;
+ }
+
+ // Param is passed by value, moved
+ pub fn set_nanos(&mut self, v: i32) {
+ self.nanos = v;
+ }
+}
+
+impl ::protobuf::Message for Timestamp {
+ fn is_initialized(&self) -> bool {
+ true
+ }
+
+ fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
+ while !is.eof()? {
+ let (field_number, wire_type) = is.read_tag_unpack()?;
+ match field_number {
+ 1 => {
+ if wire_type != ::protobuf::wire_format::WireTypeVarint {
+ return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
+ }
+ let tmp = is.read_int64()?;
+ self.seconds = tmp;
+ },
+ 2 => {
+ if wire_type != ::protobuf::wire_format::WireTypeVarint {
+ return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
+ }
+ let tmp = is.read_int32()?;
+ self.nanos = tmp;
+ },
+ _ => {
+ ::protobuf::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 self.seconds != 0 {
+ my_size += ::protobuf::rt::value_size(1, self.seconds, ::protobuf::wire_format::WireTypeVarint);
+ }
+ if self.nanos != 0 {
+ my_size += ::protobuf::rt::value_size(2, self.nanos, ::protobuf::wire_format::WireTypeVarint);
+ }
+ my_size += ::protobuf::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 ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
+ if self.seconds != 0 {
+ os.write_int64(1, self.seconds)?;
+ }
+ if self.nanos != 0 {
+ os.write_int32(2, self.nanos)?;
+ }
+ 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) -> &::protobuf::UnknownFields {
+ &self.unknown_fields
+ }
+
+ fn mut_unknown_fields(&mut self) -> &mut ::protobuf::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: Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
+ self
+ }
+
+ fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
+ Self::descriptor_static()
+ }
+
+ fn new() -> Timestamp {
+ Timestamp::new()
+ }
+
+ fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
+ static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy::INIT;
+ unsafe {
+ descriptor.get(|| {
+ let mut fields = ::std::vec::Vec::new();
+ fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeInt64>(
+ "seconds",
+ |m: &Timestamp| { &m.seconds },
+ |m: &mut Timestamp| { &mut m.seconds },
+ ));
+ fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeInt32>(
+ "nanos",
+ |m: &Timestamp| { &m.nanos },
+ |m: &mut Timestamp| { &mut m.nanos },
+ ));
+ ::protobuf::reflect::MessageDescriptor::new_pb_name::<Timestamp>(
+ "Timestamp",
+ fields,
+ file_descriptor_proto()
+ )
+ })
+ }
+ }
+
+ fn default_instance() -> &'static Timestamp {
+ static mut instance: ::protobuf::lazy::Lazy<Timestamp> = ::protobuf::lazy::Lazy::INIT;
+ unsafe {
+ instance.get(Timestamp::new)
+ }
+ }
+}
+
+impl ::protobuf::Clear for Timestamp {
+ fn clear(&mut self) {
+ self.seconds = 0;
+ self.nanos = 0;
+ self.unknown_fields.clear();
+ }
+}
+
+impl ::std::fmt::Debug for Timestamp {
+ fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
+ ::protobuf::text_format::fmt(self, f)
+ }
+}
+
+impl ::protobuf::reflect::ProtobufValue for Timestamp {
+ fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
+ ::protobuf::reflect::ReflectValueRef::Message(self)
+ }
+}
+
+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\
+ \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\
+";
+
+static mut file_descriptor_proto_lazy: ::protobuf::lazy::Lazy<::protobuf::descriptor::FileDescriptorProto> = ::protobuf::lazy::Lazy::INIT;
+
+fn parse_descriptor_proto() -> ::protobuf::descriptor::FileDescriptorProto {
+ ::protobuf::parse_from_bytes(file_descriptor_proto_data).unwrap()
+}
+
+pub fn file_descriptor_proto() -> &'static ::protobuf::descriptor::FileDescriptorProto {
+ unsafe {
+ file_descriptor_proto_lazy.get(|| {
+ parse_descriptor_proto()
+ })
+ }
+}
diff --git a/src/well_known_types/type_pb.rs b/src/well_known_types/type_pb.rs
new file mode 100644
index 0000000..23df582
--- /dev/null
+++ b/src/well_known_types/type_pb.rs
@@ -0,0 +1,2254 @@
+// This file is generated by rust-protobuf 2.14.0-pre. Do not edit
+// @generated
+
+// https://github.com/rust-lang/rust-clippy/issues/702
+#![allow(unknown_lints)]
+#![allow(clippy::all)]
+
+#![cfg_attr(rustfmt, rustfmt_skip)]
+
+#![allow(box_pointers)]
+#![allow(dead_code)]
+#![allow(missing_docs)]
+#![allow(non_camel_case_types)]
+#![allow(non_snake_case)]
+#![allow(non_upper_case_globals)]
+#![allow(trivial_casts)]
+#![allow(unsafe_code)]
+#![allow(unused_imports)]
+#![allow(unused_results)]
+//! Generated file from `google/protobuf/type.proto`
+
+use protobuf::Message as Message_imported_for_functions;
+use protobuf::ProtobufEnum as ProtobufEnum_imported_for_functions;
+
+#[derive(PartialEq,Clone,Default)]
+#[cfg_attr(feature = "with-serde", derive(Serialize, Deserialize))]
+pub struct Type {
+ // message fields
+ pub name: ::std::string::String,
+ pub fields: ::protobuf::RepeatedField<Field>,
+ pub oneofs: ::protobuf::RepeatedField<::std::string::String>,
+ pub options: ::protobuf::RepeatedField<Option>,
+ pub source_context: ::protobuf::SingularPtrField<::protobuf::well_known_types::SourceContext>,
+ pub syntax: Syntax,
+ // special fields
+ #[cfg_attr(feature = "with-serde", serde(skip))]
+ pub unknown_fields: ::protobuf::UnknownFields,
+ #[cfg_attr(feature = "with-serde", serde(skip))]
+ pub cached_size: ::protobuf::CachedSize,
+}
+
+impl<'a> ::std::default::Default for &'a Type {
+ fn default() -> &'a Type {
+ <Type as ::protobuf::Message>::default_instance()
+ }
+}
+
+impl Type {
+ pub fn new() -> Type {
+ ::std::default::Default::default()
+ }
+
+ // string name = 1;
+
+
+ pub fn get_name(&self) -> &str {
+ &self.name
+ }
+ pub fn clear_name(&mut self) {
+ self.name.clear();
+ }
+
+ // Param is passed by value, moved
+ pub fn set_name(&mut self, v: ::std::string::String) {
+ self.name = v;
+ }
+
+ // Mutable pointer to the field.
+ // If field is not initialized, it is initialized with default value first.
+ pub fn mut_name(&mut self) -> &mut ::std::string::String {
+ &mut self.name
+ }
+
+ // Take field
+ pub fn take_name(&mut self) -> ::std::string::String {
+ ::std::mem::replace(&mut self.name, ::std::string::String::new())
+ }
+
+ // repeated .google.protobuf.Field fields = 2;
+
+
+ pub fn get_fields(&self) -> &[Field] {
+ &self.fields
+ }
+ pub fn clear_fields(&mut self) {
+ self.fields.clear();
+ }
+
+ // Param is passed by value, moved
+ pub fn set_fields(&mut self, v: ::protobuf::RepeatedField<Field>) {
+ self.fields = v;
+ }
+
+ // Mutable pointer to the field.
+ pub fn mut_fields(&mut self) -> &mut ::protobuf::RepeatedField<Field> {
+ &mut self.fields
+ }
+
+ // Take field
+ pub fn take_fields(&mut self) -> ::protobuf::RepeatedField<Field> {
+ ::std::mem::replace(&mut self.fields, ::protobuf::RepeatedField::new())
+ }
+
+ // repeated string oneofs = 3;
+
+
+ pub fn get_oneofs(&self) -> &[::std::string::String] {
+ &self.oneofs
+ }
+ pub fn clear_oneofs(&mut self) {
+ self.oneofs.clear();
+ }
+
+ // Param is passed by value, moved
+ pub fn set_oneofs(&mut self, v: ::protobuf::RepeatedField<::std::string::String>) {
+ self.oneofs = v;
+ }
+
+ // Mutable pointer to the field.
+ pub fn mut_oneofs(&mut self) -> &mut ::protobuf::RepeatedField<::std::string::String> {
+ &mut self.oneofs
+ }
+
+ // Take field
+ pub fn take_oneofs(&mut self) -> ::protobuf::RepeatedField<::std::string::String> {
+ ::std::mem::replace(&mut self.oneofs, ::protobuf::RepeatedField::new())
+ }
+
+ // repeated .google.protobuf.Option options = 4;
+
+
+ pub fn get_options(&self) -> &[Option] {
+ &self.options
+ }
+ pub fn clear_options(&mut self) {
+ self.options.clear();
+ }
+
+ // Param is passed by value, moved
+ pub fn set_options(&mut self, v: ::protobuf::RepeatedField<Option>) {
+ self.options = v;
+ }
+
+ // Mutable pointer to the field.
+ pub fn mut_options(&mut self) -> &mut ::protobuf::RepeatedField<Option> {
+ &mut self.options
+ }
+
+ // Take field
+ pub fn take_options(&mut self) -> ::protobuf::RepeatedField<Option> {
+ ::std::mem::replace(&mut self.options, ::protobuf::RepeatedField::new())
+ }
+
+ // .google.protobuf.SourceContext source_context = 5;
+
+
+ pub fn get_source_context(&self) -> &::protobuf::well_known_types::SourceContext {
+ self.source_context.as_ref().unwrap_or_else(|| ::protobuf::well_known_types::SourceContext::default_instance())
+ }
+ pub fn clear_source_context(&mut self) {
+ self.source_context.clear();
+ }
+
+ pub fn has_source_context(&self) -> bool {
+ self.source_context.is_some()
+ }
+
+ // Param is passed by value, moved
+ pub fn set_source_context(&mut self, v: ::protobuf::well_known_types::SourceContext) {
+ self.source_context = ::protobuf::SingularPtrField::some(v);
+ }
+
+ // Mutable pointer to the field.
+ // If field is not initialized, it is initialized with default value first.
+ pub fn mut_source_context(&mut self) -> &mut ::protobuf::well_known_types::SourceContext {
+ if self.source_context.is_none() {
+ self.source_context.set_default();
+ }
+ self.source_context.as_mut().unwrap()
+ }
+
+ // Take field
+ pub fn take_source_context(&mut self) -> ::protobuf::well_known_types::SourceContext {
+ self.source_context.take().unwrap_or_else(|| ::protobuf::well_known_types::SourceContext::new())
+ }
+
+ // .google.protobuf.Syntax syntax = 6;
+
+
+ pub fn get_syntax(&self) -> Syntax {
+ self.syntax
+ }
+ pub fn clear_syntax(&mut self) {
+ self.syntax = Syntax::SYNTAX_PROTO2;
+ }
+
+ // Param is passed by value, moved
+ pub fn set_syntax(&mut self, v: Syntax) {
+ self.syntax = v;
+ }
+}
+
+impl ::protobuf::Message for Type {
+ fn is_initialized(&self) -> bool {
+ for v in &self.fields {
+ if !v.is_initialized() {
+ return false;
+ }
+ };
+ for v in &self.options {
+ if !v.is_initialized() {
+ return false;
+ }
+ };
+ for v in &self.source_context {
+ if !v.is_initialized() {
+ return false;
+ }
+ };
+ true
+ }
+
+ fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
+ while !is.eof()? {
+ let (field_number, wire_type) = is.read_tag_unpack()?;
+ match field_number {
+ 1 => {
+ ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.name)?;
+ },
+ 2 => {
+ ::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.fields)?;
+ },
+ 3 => {
+ ::protobuf::rt::read_repeated_string_into(wire_type, is, &mut self.oneofs)?;
+ },
+ 4 => {
+ ::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.options)?;
+ },
+ 5 => {
+ ::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.source_context)?;
+ },
+ 6 => {
+ ::protobuf::rt::read_proto3_enum_with_unknown_fields_into(wire_type, is, &mut self.syntax, 6, &mut self.unknown_fields)?
+ },
+ _ => {
+ ::protobuf::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 !self.name.is_empty() {
+ my_size += ::protobuf::rt::string_size(1, &self.name);
+ }
+ for value in &self.fields {
+ let len = value.compute_size();
+ my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
+ };
+ for value in &self.oneofs {
+ my_size += ::protobuf::rt::string_size(3, &value);
+ };
+ for value in &self.options {
+ let len = value.compute_size();
+ my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
+ };
+ if let Some(ref v) = self.source_context.as_ref() {
+ let len = v.compute_size();
+ my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
+ }
+ if self.syntax != Syntax::SYNTAX_PROTO2 {
+ my_size += ::protobuf::rt::enum_size(6, self.syntax);
+ }
+ my_size += ::protobuf::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 ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
+ if !self.name.is_empty() {
+ os.write_string(1, &self.name)?;
+ }
+ for v in &self.fields {
+ os.write_tag(2, ::protobuf::wire_format::WireTypeLengthDelimited)?;
+ os.write_raw_varint32(v.get_cached_size())?;
+ v.write_to_with_cached_sizes(os)?;
+ };
+ for v in &self.oneofs {
+ os.write_string(3, &v)?;
+ };
+ for v in &self.options {
+ os.write_tag(4, ::protobuf::wire_format::WireTypeLengthDelimited)?;
+ os.write_raw_varint32(v.get_cached_size())?;
+ v.write_to_with_cached_sizes(os)?;
+ };
+ if let Some(ref v) = self.source_context.as_ref() {
+ os.write_tag(5, ::protobuf::wire_format::WireTypeLengthDelimited)?;
+ os.write_raw_varint32(v.get_cached_size())?;
+ v.write_to_with_cached_sizes(os)?;
+ }
+ if self.syntax != Syntax::SYNTAX_PROTO2 {
+ os.write_enum(6, self.syntax.value())?;
+ }
+ 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) -> &::protobuf::UnknownFields {
+ &self.unknown_fields
+ }
+
+ fn mut_unknown_fields(&mut self) -> &mut ::protobuf::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: Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
+ self
+ }
+
+ fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
+ Self::descriptor_static()
+ }
+
+ fn new() -> Type {
+ Type::new()
+ }
+
+ fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
+ static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy::INIT;
+ unsafe {
+ descriptor.get(|| {
+ let mut fields = ::std::vec::Vec::new();
+ fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
+ "name",
+ |m: &Type| { &m.name },
+ |m: &mut Type| { &mut m.name },
+ ));
+ fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<Field>>(
+ "fields",
+ |m: &Type| { &m.fields },
+ |m: &mut Type| { &mut m.fields },
+ ));
+ fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
+ "oneofs",
+ |m: &Type| { &m.oneofs },
+ |m: &mut Type| { &mut m.oneofs },
+ ));
+ fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<Option>>(
+ "options",
+ |m: &Type| { &m.options },
+ |m: &mut Type| { &mut m.options },
+ ));
+ fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<::protobuf::well_known_types::SourceContext>>(
+ "source_context",
+ |m: &Type| { &m.source_context },
+ |m: &mut Type| { &mut m.source_context },
+ ));
+ fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeEnum<Syntax>>(
+ "syntax",
+ |m: &Type| { &m.syntax },
+ |m: &mut Type| { &mut m.syntax },
+ ));
+ ::protobuf::reflect::MessageDescriptor::new_pb_name::<Type>(
+ "Type",
+ fields,
+ file_descriptor_proto()
+ )
+ })
+ }
+ }
+
+ fn default_instance() -> &'static Type {
+ static mut instance: ::protobuf::lazy::Lazy<Type> = ::protobuf::lazy::Lazy::INIT;
+ unsafe {
+ instance.get(Type::new)
+ }
+ }
+}
+
+impl ::protobuf::Clear for Type {
+ fn clear(&mut self) {
+ self.name.clear();
+ self.fields.clear();
+ self.oneofs.clear();
+ self.options.clear();
+ self.source_context.clear();
+ self.syntax = Syntax::SYNTAX_PROTO2;
+ self.unknown_fields.clear();
+ }
+}
+
+impl ::std::fmt::Debug for Type {
+ fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
+ ::protobuf::text_format::fmt(self, f)
+ }
+}
+
+impl ::protobuf::reflect::ProtobufValue for Type {
+ fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
+ ::protobuf::reflect::ReflectValueRef::Message(self)
+ }
+}
+
+#[derive(PartialEq,Clone,Default)]
+#[cfg_attr(feature = "with-serde", derive(Serialize, Deserialize))]
+pub struct Field {
+ // message fields
+ pub kind: Field_Kind,
+ pub cardinality: Field_Cardinality,
+ pub number: i32,
+ pub name: ::std::string::String,
+ pub type_url: ::std::string::String,
+ pub oneof_index: i32,
+ pub packed: bool,
+ pub options: ::protobuf::RepeatedField<Option>,
+ pub json_name: ::std::string::String,
+ pub default_value: ::std::string::String,
+ // special fields
+ #[cfg_attr(feature = "with-serde", serde(skip))]
+ pub unknown_fields: ::protobuf::UnknownFields,
+ #[cfg_attr(feature = "with-serde", serde(skip))]
+ pub cached_size: ::protobuf::CachedSize,
+}
+
+impl<'a> ::std::default::Default for &'a Field {
+ fn default() -> &'a Field {
+ <Field as ::protobuf::Message>::default_instance()
+ }
+}
+
+impl Field {
+ pub fn new() -> Field {
+ ::std::default::Default::default()
+ }
+
+ // .google.protobuf.Field.Kind kind = 1;
+
+
+ pub fn get_kind(&self) -> Field_Kind {
+ self.kind
+ }
+ pub fn clear_kind(&mut self) {
+ self.kind = Field_Kind::TYPE_UNKNOWN;
+ }
+
+ // Param is passed by value, moved
+ pub fn set_kind(&mut self, v: Field_Kind) {
+ self.kind = v;
+ }
+
+ // .google.protobuf.Field.Cardinality cardinality = 2;
+
+
+ pub fn get_cardinality(&self) -> Field_Cardinality {
+ self.cardinality
+ }
+ pub fn clear_cardinality(&mut self) {
+ self.cardinality = Field_Cardinality::CARDINALITY_UNKNOWN;
+ }
+
+ // Param is passed by value, moved
+ pub fn set_cardinality(&mut self, v: Field_Cardinality) {
+ self.cardinality = v;
+ }
+
+ // int32 number = 3;
+
+
+ pub fn get_number(&self) -> i32 {
+ self.number
+ }
+ pub fn clear_number(&mut self) {
+ self.number = 0;
+ }
+
+ // Param is passed by value, moved
+ pub fn set_number(&mut self, v: i32) {
+ self.number = v;
+ }
+
+ // string name = 4;
+
+
+ pub fn get_name(&self) -> &str {
+ &self.name
+ }
+ pub fn clear_name(&mut self) {
+ self.name.clear();
+ }
+
+ // Param is passed by value, moved
+ pub fn set_name(&mut self, v: ::std::string::String) {
+ self.name = v;
+ }
+
+ // Mutable pointer to the field.
+ // If field is not initialized, it is initialized with default value first.
+ pub fn mut_name(&mut self) -> &mut ::std::string::String {
+ &mut self.name
+ }
+
+ // Take field
+ pub fn take_name(&mut self) -> ::std::string::String {
+ ::std::mem::replace(&mut self.name, ::std::string::String::new())
+ }
+
+ // string type_url = 6;
+
+
+ pub fn get_type_url(&self) -> &str {
+ &self.type_url
+ }
+ pub fn clear_type_url(&mut self) {
+ self.type_url.clear();
+ }
+
+ // Param is passed by value, moved
+ pub fn set_type_url(&mut self, v: ::std::string::String) {
+ self.type_url = v;
+ }
+
+ // Mutable pointer to the field.
+ // If field is not initialized, it is initialized with default value first.
+ pub fn mut_type_url(&mut self) -> &mut ::std::string::String {
+ &mut self.type_url
+ }
+
+ // Take field
+ pub fn take_type_url(&mut self) -> ::std::string::String {
+ ::std::mem::replace(&mut self.type_url, ::std::string::String::new())
+ }
+
+ // int32 oneof_index = 7;
+
+
+ pub fn get_oneof_index(&self) -> i32 {
+ self.oneof_index
+ }
+ pub fn clear_oneof_index(&mut self) {
+ self.oneof_index = 0;
+ }
+
+ // Param is passed by value, moved
+ pub fn set_oneof_index(&mut self, v: i32) {
+ self.oneof_index = v;
+ }
+
+ // bool packed = 8;
+
+
+ pub fn get_packed(&self) -> bool {
+ self.packed
+ }
+ pub fn clear_packed(&mut self) {
+ self.packed = false;
+ }
+
+ // Param is passed by value, moved
+ pub fn set_packed(&mut self, v: bool) {
+ self.packed = v;
+ }
+
+ // repeated .google.protobuf.Option options = 9;
+
+
+ pub fn get_options(&self) -> &[Option] {
+ &self.options
+ }
+ pub fn clear_options(&mut self) {
+ self.options.clear();
+ }
+
+ // Param is passed by value, moved
+ pub fn set_options(&mut self, v: ::protobuf::RepeatedField<Option>) {
+ self.options = v;
+ }
+
+ // Mutable pointer to the field.
+ pub fn mut_options(&mut self) -> &mut ::protobuf::RepeatedField<Option> {
+ &mut self.options
+ }
+
+ // Take field
+ pub fn take_options(&mut self) -> ::protobuf::RepeatedField<Option> {
+ ::std::mem::replace(&mut self.options, ::protobuf::RepeatedField::new())
+ }
+
+ // string json_name = 10;
+
+
+ pub fn get_json_name(&self) -> &str {
+ &self.json_name
+ }
+ pub fn clear_json_name(&mut self) {
+ self.json_name.clear();
+ }
+
+ // Param is passed by value, moved
+ pub fn set_json_name(&mut self, v: ::std::string::String) {
+ self.json_name = v;
+ }
+
+ // Mutable pointer to the field.
+ // If field is not initialized, it is initialized with default value first.
+ pub fn mut_json_name(&mut self) -> &mut ::std::string::String {
+ &mut self.json_name
+ }
+
+ // Take field
+ pub fn take_json_name(&mut self) -> ::std::string::String {
+ ::std::mem::replace(&mut self.json_name, ::std::string::String::new())
+ }
+
+ // string default_value = 11;
+
+
+ pub fn get_default_value(&self) -> &str {
+ &self.default_value
+ }
+ pub fn clear_default_value(&mut self) {
+ self.default_value.clear();
+ }
+
+ // Param is passed by value, moved
+ pub fn set_default_value(&mut self, v: ::std::string::String) {
+ self.default_value = v;
+ }
+
+ // Mutable pointer to the field.
+ // If field is not initialized, it is initialized with default value first.
+ pub fn mut_default_value(&mut self) -> &mut ::std::string::String {
+ &mut self.default_value
+ }
+
+ // Take field
+ pub fn take_default_value(&mut self) -> ::std::string::String {
+ ::std::mem::replace(&mut self.default_value, ::std::string::String::new())
+ }
+}
+
+impl ::protobuf::Message for Field {
+ fn is_initialized(&self) -> bool {
+ for v in &self.options {
+ if !v.is_initialized() {
+ return false;
+ }
+ };
+ true
+ }
+
+ fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
+ while !is.eof()? {
+ let (field_number, wire_type) = is.read_tag_unpack()?;
+ match field_number {
+ 1 => {
+ ::protobuf::rt::read_proto3_enum_with_unknown_fields_into(wire_type, is, &mut self.kind, 1, &mut self.unknown_fields)?
+ },
+ 2 => {
+ ::protobuf::rt::read_proto3_enum_with_unknown_fields_into(wire_type, is, &mut self.cardinality, 2, &mut self.unknown_fields)?
+ },
+ 3 => {
+ if wire_type != ::protobuf::wire_format::WireTypeVarint {
+ return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
+ }
+ let tmp = is.read_int32()?;
+ self.number = tmp;
+ },
+ 4 => {
+ ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.name)?;
+ },
+ 6 => {
+ ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.type_url)?;
+ },
+ 7 => {
+ if wire_type != ::protobuf::wire_format::WireTypeVarint {
+ return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
+ }
+ let tmp = is.read_int32()?;
+ self.oneof_index = tmp;
+ },
+ 8 => {
+ if wire_type != ::protobuf::wire_format::WireTypeVarint {
+ return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
+ }
+ let tmp = is.read_bool()?;
+ self.packed = tmp;
+ },
+ 9 => {
+ ::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.options)?;
+ },
+ 10 => {
+ ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.json_name)?;
+ },
+ 11 => {
+ ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.default_value)?;
+ },
+ _ => {
+ ::protobuf::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 self.kind != Field_Kind::TYPE_UNKNOWN {
+ my_size += ::protobuf::rt::enum_size(1, self.kind);
+ }
+ if self.cardinality != Field_Cardinality::CARDINALITY_UNKNOWN {
+ my_size += ::protobuf::rt::enum_size(2, self.cardinality);
+ }
+ if self.number != 0 {
+ my_size += ::protobuf::rt::value_size(3, self.number, ::protobuf::wire_format::WireTypeVarint);
+ }
+ if !self.name.is_empty() {
+ my_size += ::protobuf::rt::string_size(4, &self.name);
+ }
+ if !self.type_url.is_empty() {
+ my_size += ::protobuf::rt::string_size(6, &self.type_url);
+ }
+ if self.oneof_index != 0 {
+ my_size += ::protobuf::rt::value_size(7, self.oneof_index, ::protobuf::wire_format::WireTypeVarint);
+ }
+ if self.packed != false {
+ my_size += 2;
+ }
+ for value in &self.options {
+ let len = value.compute_size();
+ my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
+ };
+ if !self.json_name.is_empty() {
+ my_size += ::protobuf::rt::string_size(10, &self.json_name);
+ }
+ if !self.default_value.is_empty() {
+ my_size += ::protobuf::rt::string_size(11, &self.default_value);
+ }
+ my_size += ::protobuf::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 ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
+ if self.kind != Field_Kind::TYPE_UNKNOWN {
+ os.write_enum(1, self.kind.value())?;
+ }
+ if self.cardinality != Field_Cardinality::CARDINALITY_UNKNOWN {
+ os.write_enum(2, self.cardinality.value())?;
+ }
+ if self.number != 0 {
+ os.write_int32(3, self.number)?;
+ }
+ if !self.name.is_empty() {
+ os.write_string(4, &self.name)?;
+ }
+ if !self.type_url.is_empty() {
+ os.write_string(6, &self.type_url)?;
+ }
+ if self.oneof_index != 0 {
+ os.write_int32(7, self.oneof_index)?;
+ }
+ if self.packed != false {
+ os.write_bool(8, self.packed)?;
+ }
+ for v in &self.options {
+ os.write_tag(9, ::protobuf::wire_format::WireTypeLengthDelimited)?;
+ os.write_raw_varint32(v.get_cached_size())?;
+ v.write_to_with_cached_sizes(os)?;
+ };
+ if !self.json_name.is_empty() {
+ os.write_string(10, &self.json_name)?;
+ }
+ if !self.default_value.is_empty() {
+ os.write_string(11, &self.default_value)?;
+ }
+ 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) -> &::protobuf::UnknownFields {
+ &self.unknown_fields
+ }
+
+ fn mut_unknown_fields(&mut self) -> &mut ::protobuf::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: Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
+ self
+ }
+
+ fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
+ Self::descriptor_static()
+ }
+
+ fn new() -> Field {
+ Field::new()
+ }
+
+ fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
+ static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy::INIT;
+ unsafe {
+ descriptor.get(|| {
+ let mut fields = ::std::vec::Vec::new();
+ fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeEnum<Field_Kind>>(
+ "kind",
+ |m: &Field| { &m.kind },
+ |m: &mut Field| { &mut m.kind },
+ ));
+ fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeEnum<Field_Cardinality>>(
+ "cardinality",
+ |m: &Field| { &m.cardinality },
+ |m: &mut Field| { &mut m.cardinality },
+ ));
+ fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeInt32>(
+ "number",
+ |m: &Field| { &m.number },
+ |m: &mut Field| { &mut m.number },
+ ));
+ fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
+ "name",
+ |m: &Field| { &m.name },
+ |m: &mut Field| { &mut m.name },
+ ));
+ fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
+ "type_url",
+ |m: &Field| { &m.type_url },
+ |m: &mut Field| { &mut m.type_url },
+ ));
+ fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeInt32>(
+ "oneof_index",
+ |m: &Field| { &m.oneof_index },
+ |m: &mut Field| { &mut m.oneof_index },
+ ));
+ fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeBool>(
+ "packed",
+ |m: &Field| { &m.packed },
+ |m: &mut Field| { &mut m.packed },
+ ));
+ fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<Option>>(
+ "options",
+ |m: &Field| { &m.options },
+ |m: &mut Field| { &mut m.options },
+ ));
+ fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
+ "json_name",
+ |m: &Field| { &m.json_name },
+ |m: &mut Field| { &mut m.json_name },
+ ));
+ fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
+ "default_value",
+ |m: &Field| { &m.default_value },
+ |m: &mut Field| { &mut m.default_value },
+ ));
+ ::protobuf::reflect::MessageDescriptor::new_pb_name::<Field>(
+ "Field",
+ fields,
+ file_descriptor_proto()
+ )
+ })
+ }
+ }
+
+ fn default_instance() -> &'static Field {
+ static mut instance: ::protobuf::lazy::Lazy<Field> = ::protobuf::lazy::Lazy::INIT;
+ unsafe {
+ instance.get(Field::new)
+ }
+ }
+}
+
+impl ::protobuf::Clear for Field {
+ fn clear(&mut self) {
+ self.kind = Field_Kind::TYPE_UNKNOWN;
+ self.cardinality = Field_Cardinality::CARDINALITY_UNKNOWN;
+ self.number = 0;
+ self.name.clear();
+ self.type_url.clear();
+ self.oneof_index = 0;
+ self.packed = false;
+ self.options.clear();
+ self.json_name.clear();
+ self.default_value.clear();
+ self.unknown_fields.clear();
+ }
+}
+
+impl ::std::fmt::Debug for Field {
+ fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
+ ::protobuf::text_format::fmt(self, f)
+ }
+}
+
+impl ::protobuf::reflect::ProtobufValue for Field {
+ fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
+ ::protobuf::reflect::ReflectValueRef::Message(self)
+ }
+}
+
+#[derive(Clone,PartialEq,Eq,Debug,Hash)]
+#[cfg_attr(feature = "with-serde", derive(Serialize, Deserialize))]
+pub enum Field_Kind {
+ TYPE_UNKNOWN = 0,
+ TYPE_DOUBLE = 1,
+ TYPE_FLOAT = 2,
+ TYPE_INT64 = 3,
+ TYPE_UINT64 = 4,
+ TYPE_INT32 = 5,
+ TYPE_FIXED64 = 6,
+ TYPE_FIXED32 = 7,
+ TYPE_BOOL = 8,
+ TYPE_STRING = 9,
+ TYPE_GROUP = 10,
+ TYPE_MESSAGE = 11,
+ TYPE_BYTES = 12,
+ TYPE_UINT32 = 13,
+ TYPE_ENUM = 14,
+ TYPE_SFIXED32 = 15,
+ TYPE_SFIXED64 = 16,
+ TYPE_SINT32 = 17,
+ TYPE_SINT64 = 18,
+}
+
+impl ::protobuf::ProtobufEnum for Field_Kind {
+ fn value(&self) -> i32 {
+ *self as i32
+ }
+
+ fn from_i32(value: i32) -> ::std::option::Option<Field_Kind> {
+ match value {
+ 0 => ::std::option::Option::Some(Field_Kind::TYPE_UNKNOWN),
+ 1 => ::std::option::Option::Some(Field_Kind::TYPE_DOUBLE),
+ 2 => ::std::option::Option::Some(Field_Kind::TYPE_FLOAT),
+ 3 => ::std::option::Option::Some(Field_Kind::TYPE_INT64),
+ 4 => ::std::option::Option::Some(Field_Kind::TYPE_UINT64),
+ 5 => ::std::option::Option::Some(Field_Kind::TYPE_INT32),
+ 6 => ::std::option::Option::Some(Field_Kind::TYPE_FIXED64),
+ 7 => ::std::option::Option::Some(Field_Kind::TYPE_FIXED32),
+ 8 => ::std::option::Option::Some(Field_Kind::TYPE_BOOL),
+ 9 => ::std::option::Option::Some(Field_Kind::TYPE_STRING),
+ 10 => ::std::option::Option::Some(Field_Kind::TYPE_GROUP),
+ 11 => ::std::option::Option::Some(Field_Kind::TYPE_MESSAGE),
+ 12 => ::std::option::Option::Some(Field_Kind::TYPE_BYTES),
+ 13 => ::std::option::Option::Some(Field_Kind::TYPE_UINT32),
+ 14 => ::std::option::Option::Some(Field_Kind::TYPE_ENUM),
+ 15 => ::std::option::Option::Some(Field_Kind::TYPE_SFIXED32),
+ 16 => ::std::option::Option::Some(Field_Kind::TYPE_SFIXED64),
+ 17 => ::std::option::Option::Some(Field_Kind::TYPE_SINT32),
+ 18 => ::std::option::Option::Some(Field_Kind::TYPE_SINT64),
+ _ => ::std::option::Option::None
+ }
+ }
+
+ fn values() -> &'static [Self] {
+ static values: &'static [Field_Kind] = &[
+ Field_Kind::TYPE_UNKNOWN,
+ Field_Kind::TYPE_DOUBLE,
+ Field_Kind::TYPE_FLOAT,
+ Field_Kind::TYPE_INT64,
+ Field_Kind::TYPE_UINT64,
+ Field_Kind::TYPE_INT32,
+ Field_Kind::TYPE_FIXED64,
+ Field_Kind::TYPE_FIXED32,
+ Field_Kind::TYPE_BOOL,
+ Field_Kind::TYPE_STRING,
+ Field_Kind::TYPE_GROUP,
+ Field_Kind::TYPE_MESSAGE,
+ Field_Kind::TYPE_BYTES,
+ Field_Kind::TYPE_UINT32,
+ Field_Kind::TYPE_ENUM,
+ Field_Kind::TYPE_SFIXED32,
+ Field_Kind::TYPE_SFIXED64,
+ Field_Kind::TYPE_SINT32,
+ Field_Kind::TYPE_SINT64,
+ ];
+ values
+ }
+
+ fn enum_descriptor_static() -> &'static ::protobuf::reflect::EnumDescriptor {
+ static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::EnumDescriptor> = ::protobuf::lazy::Lazy::INIT;
+ unsafe {
+ descriptor.get(|| {
+ ::protobuf::reflect::EnumDescriptor::new_pb_name::<Field_Kind>("Field.Kind", file_descriptor_proto())
+ })
+ }
+ }
+}
+
+impl ::std::marker::Copy for Field_Kind {
+}
+
+impl ::std::default::Default for Field_Kind {
+ fn default() -> Self {
+ Field_Kind::TYPE_UNKNOWN
+ }
+}
+
+impl ::protobuf::reflect::ProtobufValue for Field_Kind {
+ fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
+ ::protobuf::reflect::ReflectValueRef::Enum(self.descriptor())
+ }
+}
+
+#[derive(Clone,PartialEq,Eq,Debug,Hash)]
+#[cfg_attr(feature = "with-serde", derive(Serialize, Deserialize))]
+pub enum Field_Cardinality {
+ CARDINALITY_UNKNOWN = 0,
+ CARDINALITY_OPTIONAL = 1,
+ CARDINALITY_REQUIRED = 2,
+ CARDINALITY_REPEATED = 3,
+}
+
+impl ::protobuf::ProtobufEnum for Field_Cardinality {
+ fn value(&self) -> i32 {
+ *self as i32
+ }
+
+ fn from_i32(value: i32) -> ::std::option::Option<Field_Cardinality> {
+ match value {
+ 0 => ::std::option::Option::Some(Field_Cardinality::CARDINALITY_UNKNOWN),
+ 1 => ::std::option::Option::Some(Field_Cardinality::CARDINALITY_OPTIONAL),
+ 2 => ::std::option::Option::Some(Field_Cardinality::CARDINALITY_REQUIRED),
+ 3 => ::std::option::Option::Some(Field_Cardinality::CARDINALITY_REPEATED),
+ _ => ::std::option::Option::None
+ }
+ }
+
+ fn values() -> &'static [Self] {
+ static values: &'static [Field_Cardinality] = &[
+ Field_Cardinality::CARDINALITY_UNKNOWN,
+ Field_Cardinality::CARDINALITY_OPTIONAL,
+ Field_Cardinality::CARDINALITY_REQUIRED,
+ Field_Cardinality::CARDINALITY_REPEATED,
+ ];
+ values
+ }
+
+ fn enum_descriptor_static() -> &'static ::protobuf::reflect::EnumDescriptor {
+ static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::EnumDescriptor> = ::protobuf::lazy::Lazy::INIT;
+ unsafe {
+ descriptor.get(|| {
+ ::protobuf::reflect::EnumDescriptor::new_pb_name::<Field_Cardinality>("Field.Cardinality", file_descriptor_proto())
+ })
+ }
+ }
+}
+
+impl ::std::marker::Copy for Field_Cardinality {
+}
+
+impl ::std::default::Default for Field_Cardinality {
+ fn default() -> Self {
+ Field_Cardinality::CARDINALITY_UNKNOWN
+ }
+}
+
+impl ::protobuf::reflect::ProtobufValue for Field_Cardinality {
+ fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
+ ::protobuf::reflect::ReflectValueRef::Enum(self.descriptor())
+ }
+}
+
+#[derive(PartialEq,Clone,Default)]
+#[cfg_attr(feature = "with-serde", derive(Serialize, Deserialize))]
+pub struct Enum {
+ // message fields
+ pub name: ::std::string::String,
+ pub enumvalue: ::protobuf::RepeatedField<EnumValue>,
+ pub options: ::protobuf::RepeatedField<Option>,
+ pub source_context: ::protobuf::SingularPtrField<::protobuf::well_known_types::SourceContext>,
+ pub syntax: Syntax,
+ // special fields
+ #[cfg_attr(feature = "with-serde", serde(skip))]
+ pub unknown_fields: ::protobuf::UnknownFields,
+ #[cfg_attr(feature = "with-serde", serde(skip))]
+ pub cached_size: ::protobuf::CachedSize,
+}
+
+impl<'a> ::std::default::Default for &'a Enum {
+ fn default() -> &'a Enum {
+ <Enum as ::protobuf::Message>::default_instance()
+ }
+}
+
+impl Enum {
+ pub fn new() -> Enum {
+ ::std::default::Default::default()
+ }
+
+ // string name = 1;
+
+
+ pub fn get_name(&self) -> &str {
+ &self.name
+ }
+ pub fn clear_name(&mut self) {
+ self.name.clear();
+ }
+
+ // Param is passed by value, moved
+ pub fn set_name(&mut self, v: ::std::string::String) {
+ self.name = v;
+ }
+
+ // Mutable pointer to the field.
+ // If field is not initialized, it is initialized with default value first.
+ pub fn mut_name(&mut self) -> &mut ::std::string::String {
+ &mut self.name
+ }
+
+ // Take field
+ pub fn take_name(&mut self) -> ::std::string::String {
+ ::std::mem::replace(&mut self.name, ::std::string::String::new())
+ }
+
+ // repeated .google.protobuf.EnumValue enumvalue = 2;
+
+
+ pub fn get_enumvalue(&self) -> &[EnumValue] {
+ &self.enumvalue
+ }
+ pub fn clear_enumvalue(&mut self) {
+ self.enumvalue.clear();
+ }
+
+ // Param is passed by value, moved
+ pub fn set_enumvalue(&mut self, v: ::protobuf::RepeatedField<EnumValue>) {
+ self.enumvalue = v;
+ }
+
+ // Mutable pointer to the field.
+ pub fn mut_enumvalue(&mut self) -> &mut ::protobuf::RepeatedField<EnumValue> {
+ &mut self.enumvalue
+ }
+
+ // Take field
+ pub fn take_enumvalue(&mut self) -> ::protobuf::RepeatedField<EnumValue> {
+ ::std::mem::replace(&mut self.enumvalue, ::protobuf::RepeatedField::new())
+ }
+
+ // repeated .google.protobuf.Option options = 3;
+
+
+ pub fn get_options(&self) -> &[Option] {
+ &self.options
+ }
+ pub fn clear_options(&mut self) {
+ self.options.clear();
+ }
+
+ // Param is passed by value, moved
+ pub fn set_options(&mut self, v: ::protobuf::RepeatedField<Option>) {
+ self.options = v;
+ }
+
+ // Mutable pointer to the field.
+ pub fn mut_options(&mut self) -> &mut ::protobuf::RepeatedField<Option> {
+ &mut self.options
+ }
+
+ // Take field
+ pub fn take_options(&mut self) -> ::protobuf::RepeatedField<Option> {
+ ::std::mem::replace(&mut self.options, ::protobuf::RepeatedField::new())
+ }
+
+ // .google.protobuf.SourceContext source_context = 4;
+
+
+ pub fn get_source_context(&self) -> &::protobuf::well_known_types::SourceContext {
+ self.source_context.as_ref().unwrap_or_else(|| ::protobuf::well_known_types::SourceContext::default_instance())
+ }
+ pub fn clear_source_context(&mut self) {
+ self.source_context.clear();
+ }
+
+ pub fn has_source_context(&self) -> bool {
+ self.source_context.is_some()
+ }
+
+ // Param is passed by value, moved
+ pub fn set_source_context(&mut self, v: ::protobuf::well_known_types::SourceContext) {
+ self.source_context = ::protobuf::SingularPtrField::some(v);
+ }
+
+ // Mutable pointer to the field.
+ // If field is not initialized, it is initialized with default value first.
+ pub fn mut_source_context(&mut self) -> &mut ::protobuf::well_known_types::SourceContext {
+ if self.source_context.is_none() {
+ self.source_context.set_default();
+ }
+ self.source_context.as_mut().unwrap()
+ }
+
+ // Take field
+ pub fn take_source_context(&mut self) -> ::protobuf::well_known_types::SourceContext {
+ self.source_context.take().unwrap_or_else(|| ::protobuf::well_known_types::SourceContext::new())
+ }
+
+ // .google.protobuf.Syntax syntax = 5;
+
+
+ pub fn get_syntax(&self) -> Syntax {
+ self.syntax
+ }
+ pub fn clear_syntax(&mut self) {
+ self.syntax = Syntax::SYNTAX_PROTO2;
+ }
+
+ // Param is passed by value, moved
+ pub fn set_syntax(&mut self, v: Syntax) {
+ self.syntax = v;
+ }
+}
+
+impl ::protobuf::Message for Enum {
+ fn is_initialized(&self) -> bool {
+ for v in &self.enumvalue {
+ if !v.is_initialized() {
+ return false;
+ }
+ };
+ for v in &self.options {
+ if !v.is_initialized() {
+ return false;
+ }
+ };
+ for v in &self.source_context {
+ if !v.is_initialized() {
+ return false;
+ }
+ };
+ true
+ }
+
+ fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
+ while !is.eof()? {
+ let (field_number, wire_type) = is.read_tag_unpack()?;
+ match field_number {
+ 1 => {
+ ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.name)?;
+ },
+ 2 => {
+ ::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.enumvalue)?;
+ },
+ 3 => {
+ ::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.options)?;
+ },
+ 4 => {
+ ::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.source_context)?;
+ },
+ 5 => {
+ ::protobuf::rt::read_proto3_enum_with_unknown_fields_into(wire_type, is, &mut self.syntax, 5, &mut self.unknown_fields)?
+ },
+ _ => {
+ ::protobuf::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 !self.name.is_empty() {
+ my_size += ::protobuf::rt::string_size(1, &self.name);
+ }
+ for value in &self.enumvalue {
+ let len = value.compute_size();
+ my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
+ };
+ for value in &self.options {
+ let len = value.compute_size();
+ my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
+ };
+ if let Some(ref v) = self.source_context.as_ref() {
+ let len = v.compute_size();
+ my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
+ }
+ if self.syntax != Syntax::SYNTAX_PROTO2 {
+ my_size += ::protobuf::rt::enum_size(5, self.syntax);
+ }
+ my_size += ::protobuf::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 ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
+ if !self.name.is_empty() {
+ os.write_string(1, &self.name)?;
+ }
+ for v in &self.enumvalue {
+ os.write_tag(2, ::protobuf::wire_format::WireTypeLengthDelimited)?;
+ os.write_raw_varint32(v.get_cached_size())?;
+ v.write_to_with_cached_sizes(os)?;
+ };
+ for v in &self.options {
+ os.write_tag(3, ::protobuf::wire_format::WireTypeLengthDelimited)?;
+ os.write_raw_varint32(v.get_cached_size())?;
+ v.write_to_with_cached_sizes(os)?;
+ };
+ if let Some(ref v) = self.source_context.as_ref() {
+ os.write_tag(4, ::protobuf::wire_format::WireTypeLengthDelimited)?;
+ os.write_raw_varint32(v.get_cached_size())?;
+ v.write_to_with_cached_sizes(os)?;
+ }
+ if self.syntax != Syntax::SYNTAX_PROTO2 {
+ os.write_enum(5, self.syntax.value())?;
+ }
+ 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) -> &::protobuf::UnknownFields {
+ &self.unknown_fields
+ }
+
+ fn mut_unknown_fields(&mut self) -> &mut ::protobuf::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: Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
+ self
+ }
+
+ fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
+ Self::descriptor_static()
+ }
+
+ fn new() -> Enum {
+ Enum::new()
+ }
+
+ fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
+ static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy::INIT;
+ unsafe {
+ descriptor.get(|| {
+ let mut fields = ::std::vec::Vec::new();
+ fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
+ "name",
+ |m: &Enum| { &m.name },
+ |m: &mut Enum| { &mut m.name },
+ ));
+ fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<EnumValue>>(
+ "enumvalue",
+ |m: &Enum| { &m.enumvalue },
+ |m: &mut Enum| { &mut m.enumvalue },
+ ));
+ fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<Option>>(
+ "options",
+ |m: &Enum| { &m.options },
+ |m: &mut Enum| { &mut m.options },
+ ));
+ fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<::protobuf::well_known_types::SourceContext>>(
+ "source_context",
+ |m: &Enum| { &m.source_context },
+ |m: &mut Enum| { &mut m.source_context },
+ ));
+ fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeEnum<Syntax>>(
+ "syntax",
+ |m: &Enum| { &m.syntax },
+ |m: &mut Enum| { &mut m.syntax },
+ ));
+ ::protobuf::reflect::MessageDescriptor::new_pb_name::<Enum>(
+ "Enum",
+ fields,
+ file_descriptor_proto()
+ )
+ })
+ }
+ }
+
+ fn default_instance() -> &'static Enum {
+ static mut instance: ::protobuf::lazy::Lazy<Enum> = ::protobuf::lazy::Lazy::INIT;
+ unsafe {
+ instance.get(Enum::new)
+ }
+ }
+}
+
+impl ::protobuf::Clear for Enum {
+ fn clear(&mut self) {
+ self.name.clear();
+ self.enumvalue.clear();
+ self.options.clear();
+ self.source_context.clear();
+ self.syntax = Syntax::SYNTAX_PROTO2;
+ self.unknown_fields.clear();
+ }
+}
+
+impl ::std::fmt::Debug for Enum {
+ fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
+ ::protobuf::text_format::fmt(self, f)
+ }
+}
+
+impl ::protobuf::reflect::ProtobufValue for Enum {
+ fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
+ ::protobuf::reflect::ReflectValueRef::Message(self)
+ }
+}
+
+#[derive(PartialEq,Clone,Default)]
+#[cfg_attr(feature = "with-serde", derive(Serialize, Deserialize))]
+pub struct EnumValue {
+ // message fields
+ pub name: ::std::string::String,
+ pub number: i32,
+ pub options: ::protobuf::RepeatedField<Option>,
+ // special fields
+ #[cfg_attr(feature = "with-serde", serde(skip))]
+ pub unknown_fields: ::protobuf::UnknownFields,
+ #[cfg_attr(feature = "with-serde", serde(skip))]
+ pub cached_size: ::protobuf::CachedSize,
+}
+
+impl<'a> ::std::default::Default for &'a EnumValue {
+ fn default() -> &'a EnumValue {
+ <EnumValue as ::protobuf::Message>::default_instance()
+ }
+}
+
+impl EnumValue {
+ pub fn new() -> EnumValue {
+ ::std::default::Default::default()
+ }
+
+ // string name = 1;
+
+
+ pub fn get_name(&self) -> &str {
+ &self.name
+ }
+ pub fn clear_name(&mut self) {
+ self.name.clear();
+ }
+
+ // Param is passed by value, moved
+ pub fn set_name(&mut self, v: ::std::string::String) {
+ self.name = v;
+ }
+
+ // Mutable pointer to the field.
+ // If field is not initialized, it is initialized with default value first.
+ pub fn mut_name(&mut self) -> &mut ::std::string::String {
+ &mut self.name
+ }
+
+ // Take field
+ pub fn take_name(&mut self) -> ::std::string::String {
+ ::std::mem::replace(&mut self.name, ::std::string::String::new())
+ }
+
+ // int32 number = 2;
+
+
+ pub fn get_number(&self) -> i32 {
+ self.number
+ }
+ pub fn clear_number(&mut self) {
+ self.number = 0;
+ }
+
+ // Param is passed by value, moved
+ pub fn set_number(&mut self, v: i32) {
+ self.number = v;
+ }
+
+ // repeated .google.protobuf.Option options = 3;
+
+
+ pub fn get_options(&self) -> &[Option] {
+ &self.options
+ }
+ pub fn clear_options(&mut self) {
+ self.options.clear();
+ }
+
+ // Param is passed by value, moved
+ pub fn set_options(&mut self, v: ::protobuf::RepeatedField<Option>) {
+ self.options = v;
+ }
+
+ // Mutable pointer to the field.
+ pub fn mut_options(&mut self) -> &mut ::protobuf::RepeatedField<Option> {
+ &mut self.options
+ }
+
+ // Take field
+ pub fn take_options(&mut self) -> ::protobuf::RepeatedField<Option> {
+ ::std::mem::replace(&mut self.options, ::protobuf::RepeatedField::new())
+ }
+}
+
+impl ::protobuf::Message for EnumValue {
+ fn is_initialized(&self) -> bool {
+ for v in &self.options {
+ if !v.is_initialized() {
+ return false;
+ }
+ };
+ true
+ }
+
+ fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
+ while !is.eof()? {
+ let (field_number, wire_type) = is.read_tag_unpack()?;
+ match field_number {
+ 1 => {
+ ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.name)?;
+ },
+ 2 => {
+ if wire_type != ::protobuf::wire_format::WireTypeVarint {
+ return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
+ }
+ let tmp = is.read_int32()?;
+ self.number = tmp;
+ },
+ 3 => {
+ ::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.options)?;
+ },
+ _ => {
+ ::protobuf::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 !self.name.is_empty() {
+ my_size += ::protobuf::rt::string_size(1, &self.name);
+ }
+ if self.number != 0 {
+ my_size += ::protobuf::rt::value_size(2, self.number, ::protobuf::wire_format::WireTypeVarint);
+ }
+ for value in &self.options {
+ let len = value.compute_size();
+ my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
+ };
+ my_size += ::protobuf::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 ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
+ if !self.name.is_empty() {
+ os.write_string(1, &self.name)?;
+ }
+ if self.number != 0 {
+ os.write_int32(2, self.number)?;
+ }
+ for v in &self.options {
+ os.write_tag(3, ::protobuf::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) -> &::protobuf::UnknownFields {
+ &self.unknown_fields
+ }
+
+ fn mut_unknown_fields(&mut self) -> &mut ::protobuf::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: Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
+ self
+ }
+
+ fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
+ Self::descriptor_static()
+ }
+
+ fn new() -> EnumValue {
+ EnumValue::new()
+ }
+
+ fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
+ static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy::INIT;
+ unsafe {
+ descriptor.get(|| {
+ let mut fields = ::std::vec::Vec::new();
+ fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
+ "name",
+ |m: &EnumValue| { &m.name },
+ |m: &mut EnumValue| { &mut m.name },
+ ));
+ fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeInt32>(
+ "number",
+ |m: &EnumValue| { &m.number },
+ |m: &mut EnumValue| { &mut m.number },
+ ));
+ fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<Option>>(
+ "options",
+ |m: &EnumValue| { &m.options },
+ |m: &mut EnumValue| { &mut m.options },
+ ));
+ ::protobuf::reflect::MessageDescriptor::new_pb_name::<EnumValue>(
+ "EnumValue",
+ fields,
+ file_descriptor_proto()
+ )
+ })
+ }
+ }
+
+ fn default_instance() -> &'static EnumValue {
+ static mut instance: ::protobuf::lazy::Lazy<EnumValue> = ::protobuf::lazy::Lazy::INIT;
+ unsafe {
+ instance.get(EnumValue::new)
+ }
+ }
+}
+
+impl ::protobuf::Clear for EnumValue {
+ fn clear(&mut self) {
+ self.name.clear();
+ self.number = 0;
+ self.options.clear();
+ self.unknown_fields.clear();
+ }
+}
+
+impl ::std::fmt::Debug for EnumValue {
+ fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
+ ::protobuf::text_format::fmt(self, f)
+ }
+}
+
+impl ::protobuf::reflect::ProtobufValue for EnumValue {
+ fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
+ ::protobuf::reflect::ReflectValueRef::Message(self)
+ }
+}
+
+#[derive(PartialEq,Clone,Default)]
+#[cfg_attr(feature = "with-serde", derive(Serialize, Deserialize))]
+pub struct Option {
+ // message fields
+ pub name: ::std::string::String,
+ pub value: ::protobuf::SingularPtrField<::protobuf::well_known_types::Any>,
+ // special fields
+ #[cfg_attr(feature = "with-serde", serde(skip))]
+ pub unknown_fields: ::protobuf::UnknownFields,
+ #[cfg_attr(feature = "with-serde", serde(skip))]
+ pub cached_size: ::protobuf::CachedSize,
+}
+
+impl<'a> ::std::default::Default for &'a Option {
+ fn default() -> &'a Option {
+ <Option as ::protobuf::Message>::default_instance()
+ }
+}
+
+impl Option {
+ pub fn new() -> Option {
+ ::std::default::Default::default()
+ }
+
+ // string name = 1;
+
+
+ pub fn get_name(&self) -> &str {
+ &self.name
+ }
+ pub fn clear_name(&mut self) {
+ self.name.clear();
+ }
+
+ // Param is passed by value, moved
+ pub fn set_name(&mut self, v: ::std::string::String) {
+ self.name = v;
+ }
+
+ // Mutable pointer to the field.
+ // If field is not initialized, it is initialized with default value first.
+ pub fn mut_name(&mut self) -> &mut ::std::string::String {
+ &mut self.name
+ }
+
+ // Take field
+ pub fn take_name(&mut self) -> ::std::string::String {
+ ::std::mem::replace(&mut self.name, ::std::string::String::new())
+ }
+
+ // .google.protobuf.Any value = 2;
+
+
+ pub fn get_value(&self) -> &::protobuf::well_known_types::Any {
+ self.value.as_ref().unwrap_or_else(|| ::protobuf::well_known_types::Any::default_instance())
+ }
+ pub fn clear_value(&mut self) {
+ self.value.clear();
+ }
+
+ pub fn has_value(&self) -> bool {
+ self.value.is_some()
+ }
+
+ // Param is passed by value, moved
+ pub fn set_value(&mut self, v: ::protobuf::well_known_types::Any) {
+ self.value = ::protobuf::SingularPtrField::some(v);
+ }
+
+ // Mutable pointer to the field.
+ // If field is not initialized, it is initialized with default value first.
+ pub fn mut_value(&mut self) -> &mut ::protobuf::well_known_types::Any {
+ if self.value.is_none() {
+ self.value.set_default();
+ }
+ self.value.as_mut().unwrap()
+ }
+
+ // Take field
+ pub fn take_value(&mut self) -> ::protobuf::well_known_types::Any {
+ self.value.take().unwrap_or_else(|| ::protobuf::well_known_types::Any::new())
+ }
+}
+
+impl ::protobuf::Message for Option {
+ fn is_initialized(&self) -> bool {
+ for v in &self.value {
+ if !v.is_initialized() {
+ return false;
+ }
+ };
+ true
+ }
+
+ fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
+ while !is.eof()? {
+ let (field_number, wire_type) = is.read_tag_unpack()?;
+ match field_number {
+ 1 => {
+ ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.name)?;
+ },
+ 2 => {
+ ::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.value)?;
+ },
+ _ => {
+ ::protobuf::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 !self.name.is_empty() {
+ my_size += ::protobuf::rt::string_size(1, &self.name);
+ }
+ if let Some(ref v) = self.value.as_ref() {
+ let len = v.compute_size();
+ my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
+ }
+ my_size += ::protobuf::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 ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
+ if !self.name.is_empty() {
+ os.write_string(1, &self.name)?;
+ }
+ if let Some(ref v) = self.value.as_ref() {
+ os.write_tag(2, ::protobuf::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) -> &::protobuf::UnknownFields {
+ &self.unknown_fields
+ }
+
+ fn mut_unknown_fields(&mut self) -> &mut ::protobuf::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: Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
+ self
+ }
+
+ fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
+ Self::descriptor_static()
+ }
+
+ fn new() -> Option {
+ Option::new()
+ }
+
+ fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
+ static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy::INIT;
+ unsafe {
+ descriptor.get(|| {
+ let mut fields = ::std::vec::Vec::new();
+ fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
+ "name",
+ |m: &Option| { &m.name },
+ |m: &mut Option| { &mut m.name },
+ ));
+ fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<::protobuf::well_known_types::Any>>(
+ "value",
+ |m: &Option| { &m.value },
+ |m: &mut Option| { &mut m.value },
+ ));
+ ::protobuf::reflect::MessageDescriptor::new_pb_name::<Option>(
+ "Option",
+ fields,
+ file_descriptor_proto()
+ )
+ })
+ }
+ }
+
+ fn default_instance() -> &'static Option {
+ static mut instance: ::protobuf::lazy::Lazy<Option> = ::protobuf::lazy::Lazy::INIT;
+ unsafe {
+ instance.get(Option::new)
+ }
+ }
+}
+
+impl ::protobuf::Clear for Option {
+ fn clear(&mut self) {
+ self.name.clear();
+ self.value.clear();
+ self.unknown_fields.clear();
+ }
+}
+
+impl ::std::fmt::Debug for Option {
+ fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
+ ::protobuf::text_format::fmt(self, f)
+ }
+}
+
+impl ::protobuf::reflect::ProtobufValue for Option {
+ fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
+ ::protobuf::reflect::ReflectValueRef::Message(self)
+ }
+}
+
+#[derive(Clone,PartialEq,Eq,Debug,Hash)]
+#[cfg_attr(feature = "with-serde", derive(Serialize, Deserialize))]
+pub enum Syntax {
+ SYNTAX_PROTO2 = 0,
+ SYNTAX_PROTO3 = 1,
+}
+
+impl ::protobuf::ProtobufEnum for Syntax {
+ fn value(&self) -> i32 {
+ *self as i32
+ }
+
+ fn from_i32(value: i32) -> ::std::option::Option<Syntax> {
+ match value {
+ 0 => ::std::option::Option::Some(Syntax::SYNTAX_PROTO2),
+ 1 => ::std::option::Option::Some(Syntax::SYNTAX_PROTO3),
+ _ => ::std::option::Option::None
+ }
+ }
+
+ fn values() -> &'static [Self] {
+ static values: &'static [Syntax] = &[
+ Syntax::SYNTAX_PROTO2,
+ Syntax::SYNTAX_PROTO3,
+ ];
+ values
+ }
+
+ fn enum_descriptor_static() -> &'static ::protobuf::reflect::EnumDescriptor {
+ static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::EnumDescriptor> = ::protobuf::lazy::Lazy::INIT;
+ unsafe {
+ descriptor.get(|| {
+ ::protobuf::reflect::EnumDescriptor::new_pb_name::<Syntax>("Syntax", file_descriptor_proto())
+ })
+ }
+ }
+}
+
+impl ::std::marker::Copy for Syntax {
+}
+
+impl ::std::default::Default for Syntax {
+ fn default() -> Self {
+ Syntax::SYNTAX_PROTO2
+ }
+}
+
+impl ::protobuf::reflect::ProtobufValue for Syntax {
+ fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
+ ::protobuf::reflect::ReflectValueRef::Enum(self.descriptor())
+ }
+}
+
+static file_descriptor_proto_data: &'static [u8] = b"\
+ \n\x1agoogle/protobuf/type.proto\x12\x0fgoogle.protobuf\x1a\x19google/pr\
+ otobuf/any.proto\x1a$google/protobuf/source_context.proto\"\x8d\x02\n\
+ \x04Type\x12\x12\n\x04name\x18\x01\x20\x01(\tR\x04name\x12.\n\x06fields\
+ \x18\x02\x20\x03(\x0b2\x16.google.protobuf.FieldR\x06fields\x12\x16\n\
+ \x06oneofs\x18\x03\x20\x03(\tR\x06oneofs\x121\n\x07options\x18\x04\x20\
+ \x03(\x0b2\x17.google.protobuf.OptionR\x07options\x12E\n\x0esource_conte\
+ xt\x18\x05\x20\x01(\x0b2\x1e.google.protobuf.SourceContextR\rsourceConte\
+ xt\x12/\n\x06syntax\x18\x06\x20\x01(\x0e2\x17.google.protobuf.SyntaxR\
+ \x06syntax\"\xb4\x06\n\x05Field\x12/\n\x04kind\x18\x01\x20\x01(\x0e2\x1b\
+ .google.protobuf.Field.KindR\x04kind\x12D\n\x0bcardinality\x18\x02\x20\
+ \x01(\x0e2\".google.protobuf.Field.CardinalityR\x0bcardinality\x12\x16\n\
+ \x06number\x18\x03\x20\x01(\x05R\x06number\x12\x12\n\x04name\x18\x04\x20\
+ \x01(\tR\x04name\x12\x19\n\x08type_url\x18\x06\x20\x01(\tR\x07typeUrl\
+ \x12\x1f\n\x0boneof_index\x18\x07\x20\x01(\x05R\noneofIndex\x12\x16\n\
+ \x06packed\x18\x08\x20\x01(\x08R\x06packed\x121\n\x07options\x18\t\x20\
+ \x03(\x0b2\x17.google.protobuf.OptionR\x07options\x12\x1b\n\tjson_name\
+ \x18\n\x20\x01(\tR\x08jsonName\x12#\n\rdefault_value\x18\x0b\x20\x01(\tR\
+ \x0cdefaultValue\"\xc8\x02\n\x04Kind\x12\x10\n\x0cTYPE_UNKNOWN\x10\0\x12\
+ \x0f\n\x0bTYPE_DOUBLE\x10\x01\x12\x0e\n\nTYPE_FLOAT\x10\x02\x12\x0e\n\nT\
+ YPE_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_BYT\
+ ES\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\"t\n\x0bCardina\
+ lity\x12\x17\n\x13CARDINALITY_UNKNOWN\x10\0\x12\x18\n\x14CARDINALITY_OPT\
+ IONAL\x10\x01\x12\x18\n\x14CARDINALITY_REQUIRED\x10\x02\x12\x18\n\x14CAR\
+ DINALITY_REPEATED\x10\x03\"\xff\x01\n\x04Enum\x12\x12\n\x04name\x18\x01\
+ \x20\x01(\tR\x04name\x128\n\tenumvalue\x18\x02\x20\x03(\x0b2\x1a.google.\
+ protobuf.EnumValueR\tenumvalue\x121\n\x07options\x18\x03\x20\x03(\x0b2\
+ \x17.google.protobuf.OptionR\x07options\x12E\n\x0esource_context\x18\x04\
+ \x20\x01(\x0b2\x1e.google.protobuf.SourceContextR\rsourceContext\x12/\n\
+ \x06syntax\x18\x05\x20\x01(\x0e2\x17.google.protobuf.SyntaxR\x06syntax\"\
+ j\n\tEnumValue\x12\x12\n\x04name\x18\x01\x20\x01(\tR\x04name\x12\x16\n\
+ \x06number\x18\x02\x20\x01(\x05R\x06number\x121\n\x07options\x18\x03\x20\
+ \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\
+";
+
+static mut file_descriptor_proto_lazy: ::protobuf::lazy::Lazy<::protobuf::descriptor::FileDescriptorProto> = ::protobuf::lazy::Lazy::INIT;
+
+fn parse_descriptor_proto() -> ::protobuf::descriptor::FileDescriptorProto {
+ ::protobuf::parse_from_bytes(file_descriptor_proto_data).unwrap()
+}
+
+pub fn file_descriptor_proto() -> &'static ::protobuf::descriptor::FileDescriptorProto {
+ unsafe {
+ file_descriptor_proto_lazy.get(|| {
+ parse_descriptor_proto()
+ })
+ }
+}
diff --git a/src/well_known_types/wrappers.rs b/src/well_known_types/wrappers.rs
new file mode 100644
index 0000000..35015fd
--- /dev/null
+++ b/src/well_known_types/wrappers.rs
@@ -0,0 +1,1597 @@
+// This file is generated by rust-protobuf 2.14.0-pre. Do not edit
+// @generated
+
+// https://github.com/rust-lang/rust-clippy/issues/702
+#![allow(unknown_lints)]
+#![allow(clippy::all)]
+
+#![cfg_attr(rustfmt, rustfmt_skip)]
+
+#![allow(box_pointers)]
+#![allow(dead_code)]
+#![allow(missing_docs)]
+#![allow(non_camel_case_types)]
+#![allow(non_snake_case)]
+#![allow(non_upper_case_globals)]
+#![allow(trivial_casts)]
+#![allow(unsafe_code)]
+#![allow(unused_imports)]
+#![allow(unused_results)]
+//! Generated file from `google/protobuf/wrappers.proto`
+
+use protobuf::Message as Message_imported_for_functions;
+use protobuf::ProtobufEnum as ProtobufEnum_imported_for_functions;
+
+#[derive(PartialEq,Clone,Default)]
+#[cfg_attr(feature = "with-serde", derive(Serialize, Deserialize))]
+pub struct DoubleValue {
+ // message fields
+ pub value: f64,
+ // special fields
+ #[cfg_attr(feature = "with-serde", serde(skip))]
+ pub unknown_fields: ::protobuf::UnknownFields,
+ #[cfg_attr(feature = "with-serde", serde(skip))]
+ pub cached_size: ::protobuf::CachedSize,
+}
+
+impl<'a> ::std::default::Default for &'a DoubleValue {
+ fn default() -> &'a DoubleValue {
+ <DoubleValue as ::protobuf::Message>::default_instance()
+ }
+}
+
+impl DoubleValue {
+ pub fn new() -> DoubleValue {
+ ::std::default::Default::default()
+ }
+
+ // double value = 1;
+
+
+ pub fn get_value(&self) -> f64 {
+ self.value
+ }
+ pub fn clear_value(&mut self) {
+ self.value = 0.;
+ }
+
+ // Param is passed by value, moved
+ pub fn set_value(&mut self, v: f64) {
+ self.value = v;
+ }
+}
+
+impl ::protobuf::Message for DoubleValue {
+ fn is_initialized(&self) -> bool {
+ true
+ }
+
+ fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
+ while !is.eof()? {
+ let (field_number, wire_type) = is.read_tag_unpack()?;
+ match field_number {
+ 1 => {
+ if wire_type != ::protobuf::wire_format::WireTypeFixed64 {
+ return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
+ }
+ let tmp = is.read_double()?;
+ self.value = tmp;
+ },
+ _ => {
+ ::protobuf::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 self.value != 0. {
+ my_size += 9;
+ }
+ my_size += ::protobuf::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 ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
+ if self.value != 0. {
+ os.write_double(1, self.value)?;
+ }
+ 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) -> &::protobuf::UnknownFields {
+ &self.unknown_fields
+ }
+
+ fn mut_unknown_fields(&mut self) -> &mut ::protobuf::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: Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
+ self
+ }
+
+ fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
+ Self::descriptor_static()
+ }
+
+ fn new() -> DoubleValue {
+ DoubleValue::new()
+ }
+
+ fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
+ static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy::INIT;
+ unsafe {
+ descriptor.get(|| {
+ let mut fields = ::std::vec::Vec::new();
+ fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeDouble>(
+ "value",
+ |m: &DoubleValue| { &m.value },
+ |m: &mut DoubleValue| { &mut m.value },
+ ));
+ ::protobuf::reflect::MessageDescriptor::new_pb_name::<DoubleValue>(
+ "DoubleValue",
+ fields,
+ file_descriptor_proto()
+ )
+ })
+ }
+ }
+
+ fn default_instance() -> &'static DoubleValue {
+ static mut instance: ::protobuf::lazy::Lazy<DoubleValue> = ::protobuf::lazy::Lazy::INIT;
+ unsafe {
+ instance.get(DoubleValue::new)
+ }
+ }
+}
+
+impl ::protobuf::Clear for DoubleValue {
+ fn clear(&mut self) {
+ self.value = 0.;
+ self.unknown_fields.clear();
+ }
+}
+
+impl ::std::fmt::Debug for DoubleValue {
+ fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
+ ::protobuf::text_format::fmt(self, f)
+ }
+}
+
+impl ::protobuf::reflect::ProtobufValue for DoubleValue {
+ fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
+ ::protobuf::reflect::ReflectValueRef::Message(self)
+ }
+}
+
+#[derive(PartialEq,Clone,Default)]
+#[cfg_attr(feature = "with-serde", derive(Serialize, Deserialize))]
+pub struct FloatValue {
+ // message fields
+ pub value: f32,
+ // special fields
+ #[cfg_attr(feature = "with-serde", serde(skip))]
+ pub unknown_fields: ::protobuf::UnknownFields,
+ #[cfg_attr(feature = "with-serde", serde(skip))]
+ pub cached_size: ::protobuf::CachedSize,
+}
+
+impl<'a> ::std::default::Default for &'a FloatValue {
+ fn default() -> &'a FloatValue {
+ <FloatValue as ::protobuf::Message>::default_instance()
+ }
+}
+
+impl FloatValue {
+ pub fn new() -> FloatValue {
+ ::std::default::Default::default()
+ }
+
+ // float value = 1;
+
+
+ pub fn get_value(&self) -> f32 {
+ self.value
+ }
+ pub fn clear_value(&mut self) {
+ self.value = 0.;
+ }
+
+ // Param is passed by value, moved
+ pub fn set_value(&mut self, v: f32) {
+ self.value = v;
+ }
+}
+
+impl ::protobuf::Message for FloatValue {
+ fn is_initialized(&self) -> bool {
+ true
+ }
+
+ fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
+ while !is.eof()? {
+ let (field_number, wire_type) = is.read_tag_unpack()?;
+ match field_number {
+ 1 => {
+ if wire_type != ::protobuf::wire_format::WireTypeFixed32 {
+ return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
+ }
+ let tmp = is.read_float()?;
+ self.value = tmp;
+ },
+ _ => {
+ ::protobuf::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 self.value != 0. {
+ my_size += 5;
+ }
+ my_size += ::protobuf::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 ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
+ if self.value != 0. {
+ os.write_float(1, self.value)?;
+ }
+ 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) -> &::protobuf::UnknownFields {
+ &self.unknown_fields
+ }
+
+ fn mut_unknown_fields(&mut self) -> &mut ::protobuf::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: Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
+ self
+ }
+
+ fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
+ Self::descriptor_static()
+ }
+
+ fn new() -> FloatValue {
+ FloatValue::new()
+ }
+
+ fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
+ static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy::INIT;
+ unsafe {
+ descriptor.get(|| {
+ let mut fields = ::std::vec::Vec::new();
+ fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeFloat>(
+ "value",
+ |m: &FloatValue| { &m.value },
+ |m: &mut FloatValue| { &mut m.value },
+ ));
+ ::protobuf::reflect::MessageDescriptor::new_pb_name::<FloatValue>(
+ "FloatValue",
+ fields,
+ file_descriptor_proto()
+ )
+ })
+ }
+ }
+
+ fn default_instance() -> &'static FloatValue {
+ static mut instance: ::protobuf::lazy::Lazy<FloatValue> = ::protobuf::lazy::Lazy::INIT;
+ unsafe {
+ instance.get(FloatValue::new)
+ }
+ }
+}
+
+impl ::protobuf::Clear for FloatValue {
+ fn clear(&mut self) {
+ self.value = 0.;
+ self.unknown_fields.clear();
+ }
+}
+
+impl ::std::fmt::Debug for FloatValue {
+ fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
+ ::protobuf::text_format::fmt(self, f)
+ }
+}
+
+impl ::protobuf::reflect::ProtobufValue for FloatValue {
+ fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
+ ::protobuf::reflect::ReflectValueRef::Message(self)
+ }
+}
+
+#[derive(PartialEq,Clone,Default)]
+#[cfg_attr(feature = "with-serde", derive(Serialize, Deserialize))]
+pub struct Int64Value {
+ // message fields
+ pub value: i64,
+ // special fields
+ #[cfg_attr(feature = "with-serde", serde(skip))]
+ pub unknown_fields: ::protobuf::UnknownFields,
+ #[cfg_attr(feature = "with-serde", serde(skip))]
+ pub cached_size: ::protobuf::CachedSize,
+}
+
+impl<'a> ::std::default::Default for &'a Int64Value {
+ fn default() -> &'a Int64Value {
+ <Int64Value as ::protobuf::Message>::default_instance()
+ }
+}
+
+impl Int64Value {
+ pub fn new() -> Int64Value {
+ ::std::default::Default::default()
+ }
+
+ // int64 value = 1;
+
+
+ pub fn get_value(&self) -> i64 {
+ self.value
+ }
+ pub fn clear_value(&mut self) {
+ self.value = 0;
+ }
+
+ // Param is passed by value, moved
+ pub fn set_value(&mut self, v: i64) {
+ self.value = v;
+ }
+}
+
+impl ::protobuf::Message for Int64Value {
+ fn is_initialized(&self) -> bool {
+ true
+ }
+
+ fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
+ while !is.eof()? {
+ let (field_number, wire_type) = is.read_tag_unpack()?;
+ match field_number {
+ 1 => {
+ if wire_type != ::protobuf::wire_format::WireTypeVarint {
+ return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
+ }
+ let tmp = is.read_int64()?;
+ self.value = tmp;
+ },
+ _ => {
+ ::protobuf::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 self.value != 0 {
+ my_size += ::protobuf::rt::value_size(1, self.value, ::protobuf::wire_format::WireTypeVarint);
+ }
+ my_size += ::protobuf::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 ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
+ if self.value != 0 {
+ os.write_int64(1, self.value)?;
+ }
+ 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) -> &::protobuf::UnknownFields {
+ &self.unknown_fields
+ }
+
+ fn mut_unknown_fields(&mut self) -> &mut ::protobuf::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: Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
+ self
+ }
+
+ fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
+ Self::descriptor_static()
+ }
+
+ fn new() -> Int64Value {
+ Int64Value::new()
+ }
+
+ fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
+ static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy::INIT;
+ unsafe {
+ descriptor.get(|| {
+ let mut fields = ::std::vec::Vec::new();
+ fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeInt64>(
+ "value",
+ |m: &Int64Value| { &m.value },
+ |m: &mut Int64Value| { &mut m.value },
+ ));
+ ::protobuf::reflect::MessageDescriptor::new_pb_name::<Int64Value>(
+ "Int64Value",
+ fields,
+ file_descriptor_proto()
+ )
+ })
+ }
+ }
+
+ fn default_instance() -> &'static Int64Value {
+ static mut instance: ::protobuf::lazy::Lazy<Int64Value> = ::protobuf::lazy::Lazy::INIT;
+ unsafe {
+ instance.get(Int64Value::new)
+ }
+ }
+}
+
+impl ::protobuf::Clear for Int64Value {
+ fn clear(&mut self) {
+ self.value = 0;
+ self.unknown_fields.clear();
+ }
+}
+
+impl ::std::fmt::Debug for Int64Value {
+ fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
+ ::protobuf::text_format::fmt(self, f)
+ }
+}
+
+impl ::protobuf::reflect::ProtobufValue for Int64Value {
+ fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
+ ::protobuf::reflect::ReflectValueRef::Message(self)
+ }
+}
+
+#[derive(PartialEq,Clone,Default)]
+#[cfg_attr(feature = "with-serde", derive(Serialize, Deserialize))]
+pub struct UInt64Value {
+ // message fields
+ pub value: u64,
+ // special fields
+ #[cfg_attr(feature = "with-serde", serde(skip))]
+ pub unknown_fields: ::protobuf::UnknownFields,
+ #[cfg_attr(feature = "with-serde", serde(skip))]
+ pub cached_size: ::protobuf::CachedSize,
+}
+
+impl<'a> ::std::default::Default for &'a UInt64Value {
+ fn default() -> &'a UInt64Value {
+ <UInt64Value as ::protobuf::Message>::default_instance()
+ }
+}
+
+impl UInt64Value {
+ pub fn new() -> UInt64Value {
+ ::std::default::Default::default()
+ }
+
+ // uint64 value = 1;
+
+
+ pub fn get_value(&self) -> u64 {
+ self.value
+ }
+ pub fn clear_value(&mut self) {
+ self.value = 0;
+ }
+
+ // Param is passed by value, moved
+ pub fn set_value(&mut self, v: u64) {
+ self.value = v;
+ }
+}
+
+impl ::protobuf::Message for UInt64Value {
+ fn is_initialized(&self) -> bool {
+ true
+ }
+
+ fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
+ while !is.eof()? {
+ let (field_number, wire_type) = is.read_tag_unpack()?;
+ match field_number {
+ 1 => {
+ if wire_type != ::protobuf::wire_format::WireTypeVarint {
+ return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
+ }
+ let tmp = is.read_uint64()?;
+ self.value = tmp;
+ },
+ _ => {
+ ::protobuf::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 self.value != 0 {
+ my_size += ::protobuf::rt::value_size(1, self.value, ::protobuf::wire_format::WireTypeVarint);
+ }
+ my_size += ::protobuf::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 ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
+ if self.value != 0 {
+ os.write_uint64(1, self.value)?;
+ }
+ 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) -> &::protobuf::UnknownFields {
+ &self.unknown_fields
+ }
+
+ fn mut_unknown_fields(&mut self) -> &mut ::protobuf::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: Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
+ self
+ }
+
+ fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
+ Self::descriptor_static()
+ }
+
+ fn new() -> UInt64Value {
+ UInt64Value::new()
+ }
+
+ fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
+ static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy::INIT;
+ unsafe {
+ descriptor.get(|| {
+ let mut fields = ::std::vec::Vec::new();
+ fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeUint64>(
+ "value",
+ |m: &UInt64Value| { &m.value },
+ |m: &mut UInt64Value| { &mut m.value },
+ ));
+ ::protobuf::reflect::MessageDescriptor::new_pb_name::<UInt64Value>(
+ "UInt64Value",
+ fields,
+ file_descriptor_proto()
+ )
+ })
+ }
+ }
+
+ fn default_instance() -> &'static UInt64Value {
+ static mut instance: ::protobuf::lazy::Lazy<UInt64Value> = ::protobuf::lazy::Lazy::INIT;
+ unsafe {
+ instance.get(UInt64Value::new)
+ }
+ }
+}
+
+impl ::protobuf::Clear for UInt64Value {
+ fn clear(&mut self) {
+ self.value = 0;
+ self.unknown_fields.clear();
+ }
+}
+
+impl ::std::fmt::Debug for UInt64Value {
+ fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
+ ::protobuf::text_format::fmt(self, f)
+ }
+}
+
+impl ::protobuf::reflect::ProtobufValue for UInt64Value {
+ fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
+ ::protobuf::reflect::ReflectValueRef::Message(self)
+ }
+}
+
+#[derive(PartialEq,Clone,Default)]
+#[cfg_attr(feature = "with-serde", derive(Serialize, Deserialize))]
+pub struct Int32Value {
+ // message fields
+ pub value: i32,
+ // special fields
+ #[cfg_attr(feature = "with-serde", serde(skip))]
+ pub unknown_fields: ::protobuf::UnknownFields,
+ #[cfg_attr(feature = "with-serde", serde(skip))]
+ pub cached_size: ::protobuf::CachedSize,
+}
+
+impl<'a> ::std::default::Default for &'a Int32Value {
+ fn default() -> &'a Int32Value {
+ <Int32Value as ::protobuf::Message>::default_instance()
+ }
+}
+
+impl Int32Value {
+ pub fn new() -> Int32Value {
+ ::std::default::Default::default()
+ }
+
+ // int32 value = 1;
+
+
+ pub fn get_value(&self) -> i32 {
+ self.value
+ }
+ pub fn clear_value(&mut self) {
+ self.value = 0;
+ }
+
+ // Param is passed by value, moved
+ pub fn set_value(&mut self, v: i32) {
+ self.value = v;
+ }
+}
+
+impl ::protobuf::Message for Int32Value {
+ fn is_initialized(&self) -> bool {
+ true
+ }
+
+ fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
+ while !is.eof()? {
+ let (field_number, wire_type) = is.read_tag_unpack()?;
+ match field_number {
+ 1 => {
+ if wire_type != ::protobuf::wire_format::WireTypeVarint {
+ return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
+ }
+ let tmp = is.read_int32()?;
+ self.value = tmp;
+ },
+ _ => {
+ ::protobuf::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 self.value != 0 {
+ my_size += ::protobuf::rt::value_size(1, self.value, ::protobuf::wire_format::WireTypeVarint);
+ }
+ my_size += ::protobuf::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 ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
+ if self.value != 0 {
+ os.write_int32(1, self.value)?;
+ }
+ 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) -> &::protobuf::UnknownFields {
+ &self.unknown_fields
+ }
+
+ fn mut_unknown_fields(&mut self) -> &mut ::protobuf::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: Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
+ self
+ }
+
+ fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
+ Self::descriptor_static()
+ }
+
+ fn new() -> Int32Value {
+ Int32Value::new()
+ }
+
+ fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
+ static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy::INIT;
+ unsafe {
+ descriptor.get(|| {
+ let mut fields = ::std::vec::Vec::new();
+ fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeInt32>(
+ "value",
+ |m: &Int32Value| { &m.value },
+ |m: &mut Int32Value| { &mut m.value },
+ ));
+ ::protobuf::reflect::MessageDescriptor::new_pb_name::<Int32Value>(
+ "Int32Value",
+ fields,
+ file_descriptor_proto()
+ )
+ })
+ }
+ }
+
+ fn default_instance() -> &'static Int32Value {
+ static mut instance: ::protobuf::lazy::Lazy<Int32Value> = ::protobuf::lazy::Lazy::INIT;
+ unsafe {
+ instance.get(Int32Value::new)
+ }
+ }
+}
+
+impl ::protobuf::Clear for Int32Value {
+ fn clear(&mut self) {
+ self.value = 0;
+ self.unknown_fields.clear();
+ }
+}
+
+impl ::std::fmt::Debug for Int32Value {
+ fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
+ ::protobuf::text_format::fmt(self, f)
+ }
+}
+
+impl ::protobuf::reflect::ProtobufValue for Int32Value {
+ fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
+ ::protobuf::reflect::ReflectValueRef::Message(self)
+ }
+}
+
+#[derive(PartialEq,Clone,Default)]
+#[cfg_attr(feature = "with-serde", derive(Serialize, Deserialize))]
+pub struct UInt32Value {
+ // message fields
+ pub value: u32,
+ // special fields
+ #[cfg_attr(feature = "with-serde", serde(skip))]
+ pub unknown_fields: ::protobuf::UnknownFields,
+ #[cfg_attr(feature = "with-serde", serde(skip))]
+ pub cached_size: ::protobuf::CachedSize,
+}
+
+impl<'a> ::std::default::Default for &'a UInt32Value {
+ fn default() -> &'a UInt32Value {
+ <UInt32Value as ::protobuf::Message>::default_instance()
+ }
+}
+
+impl UInt32Value {
+ pub fn new() -> UInt32Value {
+ ::std::default::Default::default()
+ }
+
+ // uint32 value = 1;
+
+
+ pub fn get_value(&self) -> u32 {
+ self.value
+ }
+ pub fn clear_value(&mut self) {
+ self.value = 0;
+ }
+
+ // Param is passed by value, moved
+ pub fn set_value(&mut self, v: u32) {
+ self.value = v;
+ }
+}
+
+impl ::protobuf::Message for UInt32Value {
+ fn is_initialized(&self) -> bool {
+ true
+ }
+
+ fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
+ while !is.eof()? {
+ let (field_number, wire_type) = is.read_tag_unpack()?;
+ match field_number {
+ 1 => {
+ if wire_type != ::protobuf::wire_format::WireTypeVarint {
+ return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
+ }
+ let tmp = is.read_uint32()?;
+ self.value = tmp;
+ },
+ _ => {
+ ::protobuf::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 self.value != 0 {
+ my_size += ::protobuf::rt::value_size(1, self.value, ::protobuf::wire_format::WireTypeVarint);
+ }
+ my_size += ::protobuf::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 ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
+ if self.value != 0 {
+ os.write_uint32(1, self.value)?;
+ }
+ 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) -> &::protobuf::UnknownFields {
+ &self.unknown_fields
+ }
+
+ fn mut_unknown_fields(&mut self) -> &mut ::protobuf::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: Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
+ self
+ }
+
+ fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
+ Self::descriptor_static()
+ }
+
+ fn new() -> UInt32Value {
+ UInt32Value::new()
+ }
+
+ fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
+ static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy::INIT;
+ unsafe {
+ descriptor.get(|| {
+ let mut fields = ::std::vec::Vec::new();
+ fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeUint32>(
+ "value",
+ |m: &UInt32Value| { &m.value },
+ |m: &mut UInt32Value| { &mut m.value },
+ ));
+ ::protobuf::reflect::MessageDescriptor::new_pb_name::<UInt32Value>(
+ "UInt32Value",
+ fields,
+ file_descriptor_proto()
+ )
+ })
+ }
+ }
+
+ fn default_instance() -> &'static UInt32Value {
+ static mut instance: ::protobuf::lazy::Lazy<UInt32Value> = ::protobuf::lazy::Lazy::INIT;
+ unsafe {
+ instance.get(UInt32Value::new)
+ }
+ }
+}
+
+impl ::protobuf::Clear for UInt32Value {
+ fn clear(&mut self) {
+ self.value = 0;
+ self.unknown_fields.clear();
+ }
+}
+
+impl ::std::fmt::Debug for UInt32Value {
+ fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
+ ::protobuf::text_format::fmt(self, f)
+ }
+}
+
+impl ::protobuf::reflect::ProtobufValue for UInt32Value {
+ fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
+ ::protobuf::reflect::ReflectValueRef::Message(self)
+ }
+}
+
+#[derive(PartialEq,Clone,Default)]
+#[cfg_attr(feature = "with-serde", derive(Serialize, Deserialize))]
+pub struct BoolValue {
+ // message fields
+ pub value: bool,
+ // special fields
+ #[cfg_attr(feature = "with-serde", serde(skip))]
+ pub unknown_fields: ::protobuf::UnknownFields,
+ #[cfg_attr(feature = "with-serde", serde(skip))]
+ pub cached_size: ::protobuf::CachedSize,
+}
+
+impl<'a> ::std::default::Default for &'a BoolValue {
+ fn default() -> &'a BoolValue {
+ <BoolValue as ::protobuf::Message>::default_instance()
+ }
+}
+
+impl BoolValue {
+ pub fn new() -> BoolValue {
+ ::std::default::Default::default()
+ }
+
+ // bool value = 1;
+
+
+ pub fn get_value(&self) -> bool {
+ self.value
+ }
+ pub fn clear_value(&mut self) {
+ self.value = false;
+ }
+
+ // Param is passed by value, moved
+ pub fn set_value(&mut self, v: bool) {
+ self.value = v;
+ }
+}
+
+impl ::protobuf::Message for BoolValue {
+ fn is_initialized(&self) -> bool {
+ true
+ }
+
+ fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
+ while !is.eof()? {
+ let (field_number, wire_type) = is.read_tag_unpack()?;
+ match field_number {
+ 1 => {
+ if wire_type != ::protobuf::wire_format::WireTypeVarint {
+ return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
+ }
+ let tmp = is.read_bool()?;
+ self.value = tmp;
+ },
+ _ => {
+ ::protobuf::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 self.value != false {
+ my_size += 2;
+ }
+ my_size += ::protobuf::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 ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
+ if self.value != false {
+ os.write_bool(1, self.value)?;
+ }
+ 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) -> &::protobuf::UnknownFields {
+ &self.unknown_fields
+ }
+
+ fn mut_unknown_fields(&mut self) -> &mut ::protobuf::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: Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
+ self
+ }
+
+ fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
+ Self::descriptor_static()
+ }
+
+ fn new() -> BoolValue {
+ BoolValue::new()
+ }
+
+ fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
+ static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy::INIT;
+ unsafe {
+ descriptor.get(|| {
+ let mut fields = ::std::vec::Vec::new();
+ fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeBool>(
+ "value",
+ |m: &BoolValue| { &m.value },
+ |m: &mut BoolValue| { &mut m.value },
+ ));
+ ::protobuf::reflect::MessageDescriptor::new_pb_name::<BoolValue>(
+ "BoolValue",
+ fields,
+ file_descriptor_proto()
+ )
+ })
+ }
+ }
+
+ fn default_instance() -> &'static BoolValue {
+ static mut instance: ::protobuf::lazy::Lazy<BoolValue> = ::protobuf::lazy::Lazy::INIT;
+ unsafe {
+ instance.get(BoolValue::new)
+ }
+ }
+}
+
+impl ::protobuf::Clear for BoolValue {
+ fn clear(&mut self) {
+ self.value = false;
+ self.unknown_fields.clear();
+ }
+}
+
+impl ::std::fmt::Debug for BoolValue {
+ fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
+ ::protobuf::text_format::fmt(self, f)
+ }
+}
+
+impl ::protobuf::reflect::ProtobufValue for BoolValue {
+ fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
+ ::protobuf::reflect::ReflectValueRef::Message(self)
+ }
+}
+
+#[derive(PartialEq,Clone,Default)]
+#[cfg_attr(feature = "with-serde", derive(Serialize, Deserialize))]
+pub struct StringValue {
+ // message fields
+ pub value: ::std::string::String,
+ // special fields
+ #[cfg_attr(feature = "with-serde", serde(skip))]
+ pub unknown_fields: ::protobuf::UnknownFields,
+ #[cfg_attr(feature = "with-serde", serde(skip))]
+ pub cached_size: ::protobuf::CachedSize,
+}
+
+impl<'a> ::std::default::Default for &'a StringValue {
+ fn default() -> &'a StringValue {
+ <StringValue as ::protobuf::Message>::default_instance()
+ }
+}
+
+impl StringValue {
+ pub fn new() -> StringValue {
+ ::std::default::Default::default()
+ }
+
+ // string value = 1;
+
+
+ pub fn get_value(&self) -> &str {
+ &self.value
+ }
+ pub fn clear_value(&mut self) {
+ self.value.clear();
+ }
+
+ // Param is passed by value, moved
+ pub fn set_value(&mut self, v: ::std::string::String) {
+ self.value = v;
+ }
+
+ // Mutable pointer to the field.
+ // If field is not initialized, it is initialized with default value first.
+ pub fn mut_value(&mut self) -> &mut ::std::string::String {
+ &mut self.value
+ }
+
+ // Take field
+ pub fn take_value(&mut self) -> ::std::string::String {
+ ::std::mem::replace(&mut self.value, ::std::string::String::new())
+ }
+}
+
+impl ::protobuf::Message for StringValue {
+ fn is_initialized(&self) -> bool {
+ true
+ }
+
+ fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
+ while !is.eof()? {
+ let (field_number, wire_type) = is.read_tag_unpack()?;
+ match field_number {
+ 1 => {
+ ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.value)?;
+ },
+ _ => {
+ ::protobuf::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 !self.value.is_empty() {
+ my_size += ::protobuf::rt::string_size(1, &self.value);
+ }
+ my_size += ::protobuf::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 ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
+ if !self.value.is_empty() {
+ os.write_string(1, &self.value)?;
+ }
+ 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) -> &::protobuf::UnknownFields {
+ &self.unknown_fields
+ }
+
+ fn mut_unknown_fields(&mut self) -> &mut ::protobuf::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: Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
+ self
+ }
+
+ fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
+ Self::descriptor_static()
+ }
+
+ fn new() -> StringValue {
+ StringValue::new()
+ }
+
+ fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
+ static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy::INIT;
+ unsafe {
+ descriptor.get(|| {
+ let mut fields = ::std::vec::Vec::new();
+ fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
+ "value",
+ |m: &StringValue| { &m.value },
+ |m: &mut StringValue| { &mut m.value },
+ ));
+ ::protobuf::reflect::MessageDescriptor::new_pb_name::<StringValue>(
+ "StringValue",
+ fields,
+ file_descriptor_proto()
+ )
+ })
+ }
+ }
+
+ fn default_instance() -> &'static StringValue {
+ static mut instance: ::protobuf::lazy::Lazy<StringValue> = ::protobuf::lazy::Lazy::INIT;
+ unsafe {
+ instance.get(StringValue::new)
+ }
+ }
+}
+
+impl ::protobuf::Clear for StringValue {
+ fn clear(&mut self) {
+ self.value.clear();
+ self.unknown_fields.clear();
+ }
+}
+
+impl ::std::fmt::Debug for StringValue {
+ fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
+ ::protobuf::text_format::fmt(self, f)
+ }
+}
+
+impl ::protobuf::reflect::ProtobufValue for StringValue {
+ fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
+ ::protobuf::reflect::ReflectValueRef::Message(self)
+ }
+}
+
+#[derive(PartialEq,Clone,Default)]
+#[cfg_attr(feature = "with-serde", derive(Serialize, Deserialize))]
+pub struct BytesValue {
+ // message fields
+ pub value: ::std::vec::Vec<u8>,
+ // special fields
+ #[cfg_attr(feature = "with-serde", serde(skip))]
+ pub unknown_fields: ::protobuf::UnknownFields,
+ #[cfg_attr(feature = "with-serde", serde(skip))]
+ pub cached_size: ::protobuf::CachedSize,
+}
+
+impl<'a> ::std::default::Default for &'a BytesValue {
+ fn default() -> &'a BytesValue {
+ <BytesValue as ::protobuf::Message>::default_instance()
+ }
+}
+
+impl BytesValue {
+ pub fn new() -> BytesValue {
+ ::std::default::Default::default()
+ }
+
+ // bytes value = 1;
+
+
+ pub fn get_value(&self) -> &[u8] {
+ &self.value
+ }
+ pub fn clear_value(&mut self) {
+ self.value.clear();
+ }
+
+ // Param is passed by value, moved
+ pub fn set_value(&mut self, v: ::std::vec::Vec<u8>) {
+ self.value = v;
+ }
+
+ // Mutable pointer to the field.
+ // If field is not initialized, it is initialized with default value first.
+ pub fn mut_value(&mut self) -> &mut ::std::vec::Vec<u8> {
+ &mut self.value
+ }
+
+ // Take field
+ pub fn take_value(&mut self) -> ::std::vec::Vec<u8> {
+ ::std::mem::replace(&mut self.value, ::std::vec::Vec::new())
+ }
+}
+
+impl ::protobuf::Message for BytesValue {
+ fn is_initialized(&self) -> bool {
+ true
+ }
+
+ fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
+ while !is.eof()? {
+ let (field_number, wire_type) = is.read_tag_unpack()?;
+ match field_number {
+ 1 => {
+ ::protobuf::rt::read_singular_proto3_bytes_into(wire_type, is, &mut self.value)?;
+ },
+ _ => {
+ ::protobuf::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 !self.value.is_empty() {
+ my_size += ::protobuf::rt::bytes_size(1, &self.value);
+ }
+ my_size += ::protobuf::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 ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
+ if !self.value.is_empty() {
+ os.write_bytes(1, &self.value)?;
+ }
+ 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) -> &::protobuf::UnknownFields {
+ &self.unknown_fields
+ }
+
+ fn mut_unknown_fields(&mut self) -> &mut ::protobuf::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: Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
+ self
+ }
+
+ fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
+ Self::descriptor_static()
+ }
+
+ fn new() -> BytesValue {
+ BytesValue::new()
+ }
+
+ fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
+ static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy::INIT;
+ unsafe {
+ descriptor.get(|| {
+ let mut fields = ::std::vec::Vec::new();
+ fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeBytes>(
+ "value",
+ |m: &BytesValue| { &m.value },
+ |m: &mut BytesValue| { &mut m.value },
+ ));
+ ::protobuf::reflect::MessageDescriptor::new_pb_name::<BytesValue>(
+ "BytesValue",
+ fields,
+ file_descriptor_proto()
+ )
+ })
+ }
+ }
+
+ fn default_instance() -> &'static BytesValue {
+ static mut instance: ::protobuf::lazy::Lazy<BytesValue> = ::protobuf::lazy::Lazy::INIT;
+ unsafe {
+ instance.get(BytesValue::new)
+ }
+ }
+}
+
+impl ::protobuf::Clear for BytesValue {
+ fn clear(&mut self) {
+ self.value.clear();
+ self.unknown_fields.clear();
+ }
+}
+
+impl ::std::fmt::Debug for BytesValue {
+ fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
+ ::protobuf::text_format::fmt(self, f)
+ }
+}
+
+impl ::protobuf::reflect::ProtobufValue for BytesValue {
+ fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
+ ::protobuf::reflect::ReflectValueRef::Message(self)
+ }
+}
+
+static file_descriptor_proto_data: &'static [u8] = b"\
+ \n\x1egoogle/protobuf/wrappers.proto\x12\x0fgoogle.protobuf\"#\n\x0bDoub\
+ leValue\x12\x14\n\x05value\x18\x01\x20\x01(\x01R\x05value\"\"\n\nFloatVa\
+ lue\x12\x14\n\x05value\x18\x01\x20\x01(\x02R\x05value\"\"\n\nInt64Value\
+ \x12\x14\n\x05value\x18\x01\x20\x01(\x03R\x05value\"#\n\x0bUInt64Value\
+ \x12\x14\n\x05value\x18\x01\x20\x01(\x04R\x05value\"\"\n\nInt32Value\x12\
+ \x14\n\x05value\x18\x01\x20\x01(\x05R\x05value\"#\n\x0bUInt32Value\x12\
+ \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\
+ \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`\
+ 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\
+ 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\
+ `.\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`.\
+ \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\
+ \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\
+ b\x06proto3\
+";
+
+static mut file_descriptor_proto_lazy: ::protobuf::lazy::Lazy<::protobuf::descriptor::FileDescriptorProto> = ::protobuf::lazy::Lazy::INIT;
+
+fn parse_descriptor_proto() -> ::protobuf::descriptor::FileDescriptorProto {
+ ::protobuf::parse_from_bytes(file_descriptor_proto_data).unwrap()
+}
+
+pub fn file_descriptor_proto() -> &'static ::protobuf::descriptor::FileDescriptorProto {
+ unsafe {
+ file_descriptor_proto_lazy.get(|| {
+ parse_descriptor_proto()
+ })
+ }
+}