anychain_tron/protocol/
Tron.rs

1// This file is generated by rust-protobuf 3.3.0. Do not edit
2// .proto file is parsed by protoc --rust-out=...
3// @generated
4
5// https://github.com/rust-lang/rust-clippy/issues/702
6#![allow(unknown_lints)]
7#![allow(clippy::all)]
8
9#![allow(unused_attributes)]
10#![cfg_attr(rustfmt, rustfmt::skip)]
11
12#![allow(dead_code)]
13#![allow(missing_docs)]
14#![allow(non_camel_case_types)]
15#![allow(non_snake_case)]
16#![allow(non_upper_case_globals)]
17#![allow(trivial_casts)]
18#![allow(unused_results)]
19#![allow(unused_mut)]
20
21//! Generated file from `core/Tron.proto`
22
23/// Generated files are compatible only with the same version
24/// of protobuf runtime.
25const _PROTOBUF_VERSION_CHECK: () = ::protobuf::VERSION_3_4_0;
26
27///  AccountId, (name, address) use name, (null, address) use address, (name, null) use name,
28// @@protoc_insertion_point(message:protocol.AccountId)
29#[derive(PartialEq,Clone,Default,Debug)]
30pub struct AccountId {
31    // message fields
32    // @@protoc_insertion_point(field:protocol.AccountId.name)
33    pub name: ::std::vec::Vec<u8>,
34    // @@protoc_insertion_point(field:protocol.AccountId.address)
35    pub address: ::std::vec::Vec<u8>,
36    // special fields
37    // @@protoc_insertion_point(special_field:protocol.AccountId.special_fields)
38    pub special_fields: ::protobuf::SpecialFields,
39}
40
41impl<'a> ::std::default::Default for &'a AccountId {
42    fn default() -> &'a AccountId {
43        <AccountId as ::protobuf::Message>::default_instance()
44    }
45}
46
47impl AccountId {
48    pub fn new() -> AccountId {
49        ::std::default::Default::default()
50    }
51
52    fn generated_message_descriptor_data() -> ::protobuf::reflect::GeneratedMessageDescriptorData {
53        let mut fields = ::std::vec::Vec::with_capacity(2);
54        let mut oneofs = ::std::vec::Vec::with_capacity(0);
55        fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
56            "name",
57            |m: &AccountId| { &m.name },
58            |m: &mut AccountId| { &mut m.name },
59        ));
60        fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
61            "address",
62            |m: &AccountId| { &m.address },
63            |m: &mut AccountId| { &mut m.address },
64        ));
65        ::protobuf::reflect::GeneratedMessageDescriptorData::new_2::<AccountId>(
66            "AccountId",
67            fields,
68            oneofs,
69        )
70    }
71}
72
73impl ::protobuf::Message for AccountId {
74    const NAME: &'static str = "AccountId";
75
76    fn is_initialized(&self) -> bool {
77        true
78    }
79
80    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::Result<()> {
81        while let Some(tag) = is.read_raw_tag_or_eof()? {
82            match tag {
83                10 => {
84                    self.name = is.read_bytes()?;
85                },
86                18 => {
87                    self.address = is.read_bytes()?;
88                },
89                tag => {
90                    ::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?;
91                },
92            };
93        }
94        ::std::result::Result::Ok(())
95    }
96
97    // Compute sizes of nested messages
98    #[allow(unused_variables)]
99    fn compute_size(&self) -> u64 {
100        let mut my_size = 0;
101        if !self.name.is_empty() {
102            my_size += ::protobuf::rt::bytes_size(1, &self.name);
103        }
104        if !self.address.is_empty() {
105            my_size += ::protobuf::rt::bytes_size(2, &self.address);
106        }
107        my_size += ::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields());
108        self.special_fields.cached_size().set(my_size as u32);
109        my_size
110    }
111
112    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::Result<()> {
113        if !self.name.is_empty() {
114            os.write_bytes(1, &self.name)?;
115        }
116        if !self.address.is_empty() {
117            os.write_bytes(2, &self.address)?;
118        }
119        os.write_unknown_fields(self.special_fields.unknown_fields())?;
120        ::std::result::Result::Ok(())
121    }
122
123    fn special_fields(&self) -> &::protobuf::SpecialFields {
124        &self.special_fields
125    }
126
127    fn mut_special_fields(&mut self) -> &mut ::protobuf::SpecialFields {
128        &mut self.special_fields
129    }
130
131    fn new() -> AccountId {
132        AccountId::new()
133    }
134
135    fn clear(&mut self) {
136        self.name.clear();
137        self.address.clear();
138        self.special_fields.clear();
139    }
140
141    fn default_instance() -> &'static AccountId {
142        static instance: AccountId = AccountId {
143            name: ::std::vec::Vec::new(),
144            address: ::std::vec::Vec::new(),
145            special_fields: ::protobuf::SpecialFields::new(),
146        };
147        &instance
148    }
149}
150
151impl ::protobuf::MessageFull for AccountId {
152    fn descriptor() -> ::protobuf::reflect::MessageDescriptor {
153        static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::Lazy::new();
154        descriptor.get(|| file_descriptor().message_by_package_relative_name("AccountId").unwrap()).clone()
155    }
156}
157
158impl ::std::fmt::Display for AccountId {
159    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
160        ::protobuf::text_format::fmt(self, f)
161    }
162}
163
164impl ::protobuf::reflect::ProtobufValue for AccountId {
165    type RuntimeType = ::protobuf::reflect::rt::RuntimeTypeMessage<Self>;
166}
167
168///  vote message
169// @@protoc_insertion_point(message:protocol.Vote)
170#[derive(PartialEq,Clone,Default,Debug)]
171pub struct Vote {
172    // message fields
173    ///  the super rep address
174    // @@protoc_insertion_point(field:protocol.Vote.vote_address)
175    pub vote_address: ::std::vec::Vec<u8>,
176    ///  the vote num to this super rep.
177    // @@protoc_insertion_point(field:protocol.Vote.vote_count)
178    pub vote_count: i64,
179    // special fields
180    // @@protoc_insertion_point(special_field:protocol.Vote.special_fields)
181    pub special_fields: ::protobuf::SpecialFields,
182}
183
184impl<'a> ::std::default::Default for &'a Vote {
185    fn default() -> &'a Vote {
186        <Vote as ::protobuf::Message>::default_instance()
187    }
188}
189
190impl Vote {
191    pub fn new() -> Vote {
192        ::std::default::Default::default()
193    }
194
195    fn generated_message_descriptor_data() -> ::protobuf::reflect::GeneratedMessageDescriptorData {
196        let mut fields = ::std::vec::Vec::with_capacity(2);
197        let mut oneofs = ::std::vec::Vec::with_capacity(0);
198        fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
199            "vote_address",
200            |m: &Vote| { &m.vote_address },
201            |m: &mut Vote| { &mut m.vote_address },
202        ));
203        fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
204            "vote_count",
205            |m: &Vote| { &m.vote_count },
206            |m: &mut Vote| { &mut m.vote_count },
207        ));
208        ::protobuf::reflect::GeneratedMessageDescriptorData::new_2::<Vote>(
209            "Vote",
210            fields,
211            oneofs,
212        )
213    }
214}
215
216impl ::protobuf::Message for Vote {
217    const NAME: &'static str = "Vote";
218
219    fn is_initialized(&self) -> bool {
220        true
221    }
222
223    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::Result<()> {
224        while let Some(tag) = is.read_raw_tag_or_eof()? {
225            match tag {
226                10 => {
227                    self.vote_address = is.read_bytes()?;
228                },
229                16 => {
230                    self.vote_count = is.read_int64()?;
231                },
232                tag => {
233                    ::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?;
234                },
235            };
236        }
237        ::std::result::Result::Ok(())
238    }
239
240    // Compute sizes of nested messages
241    #[allow(unused_variables)]
242    fn compute_size(&self) -> u64 {
243        let mut my_size = 0;
244        if !self.vote_address.is_empty() {
245            my_size += ::protobuf::rt::bytes_size(1, &self.vote_address);
246        }
247        if self.vote_count != 0 {
248            my_size += ::protobuf::rt::int64_size(2, self.vote_count);
249        }
250        my_size += ::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields());
251        self.special_fields.cached_size().set(my_size as u32);
252        my_size
253    }
254
255    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::Result<()> {
256        if !self.vote_address.is_empty() {
257            os.write_bytes(1, &self.vote_address)?;
258        }
259        if self.vote_count != 0 {
260            os.write_int64(2, self.vote_count)?;
261        }
262        os.write_unknown_fields(self.special_fields.unknown_fields())?;
263        ::std::result::Result::Ok(())
264    }
265
266    fn special_fields(&self) -> &::protobuf::SpecialFields {
267        &self.special_fields
268    }
269
270    fn mut_special_fields(&mut self) -> &mut ::protobuf::SpecialFields {
271        &mut self.special_fields
272    }
273
274    fn new() -> Vote {
275        Vote::new()
276    }
277
278    fn clear(&mut self) {
279        self.vote_address.clear();
280        self.vote_count = 0;
281        self.special_fields.clear();
282    }
283
284    fn default_instance() -> &'static Vote {
285        static instance: Vote = Vote {
286            vote_address: ::std::vec::Vec::new(),
287            vote_count: 0,
288            special_fields: ::protobuf::SpecialFields::new(),
289        };
290        &instance
291    }
292}
293
294impl ::protobuf::MessageFull for Vote {
295    fn descriptor() -> ::protobuf::reflect::MessageDescriptor {
296        static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::Lazy::new();
297        descriptor.get(|| file_descriptor().message_by_package_relative_name("Vote").unwrap()).clone()
298    }
299}
300
301impl ::std::fmt::Display for Vote {
302    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
303        ::protobuf::text_format::fmt(self, f)
304    }
305}
306
307impl ::protobuf::reflect::ProtobufValue for Vote {
308    type RuntimeType = ::protobuf::reflect::rt::RuntimeTypeMessage<Self>;
309}
310
311///  Proposal
312// @@protoc_insertion_point(message:protocol.Proposal)
313#[derive(PartialEq,Clone,Default,Debug)]
314pub struct Proposal {
315    // message fields
316    // @@protoc_insertion_point(field:protocol.Proposal.proposal_id)
317    pub proposal_id: i64,
318    // @@protoc_insertion_point(field:protocol.Proposal.proposer_address)
319    pub proposer_address: ::std::vec::Vec<u8>,
320    // @@protoc_insertion_point(field:protocol.Proposal.parameters)
321    pub parameters: ::std::collections::HashMap<i64, i64>,
322    // @@protoc_insertion_point(field:protocol.Proposal.expiration_time)
323    pub expiration_time: i64,
324    // @@protoc_insertion_point(field:protocol.Proposal.create_time)
325    pub create_time: i64,
326    // @@protoc_insertion_point(field:protocol.Proposal.approvals)
327    pub approvals: ::std::vec::Vec<::std::vec::Vec<u8>>,
328    // @@protoc_insertion_point(field:protocol.Proposal.state)
329    pub state: ::protobuf::EnumOrUnknown<proposal::State>,
330    // special fields
331    // @@protoc_insertion_point(special_field:protocol.Proposal.special_fields)
332    pub special_fields: ::protobuf::SpecialFields,
333}
334
335impl<'a> ::std::default::Default for &'a Proposal {
336    fn default() -> &'a Proposal {
337        <Proposal as ::protobuf::Message>::default_instance()
338    }
339}
340
341impl Proposal {
342    pub fn new() -> Proposal {
343        ::std::default::Default::default()
344    }
345
346    fn generated_message_descriptor_data() -> ::protobuf::reflect::GeneratedMessageDescriptorData {
347        let mut fields = ::std::vec::Vec::with_capacity(7);
348        let mut oneofs = ::std::vec::Vec::with_capacity(0);
349        fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
350            "proposal_id",
351            |m: &Proposal| { &m.proposal_id },
352            |m: &mut Proposal| { &mut m.proposal_id },
353        ));
354        fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
355            "proposer_address",
356            |m: &Proposal| { &m.proposer_address },
357            |m: &mut Proposal| { &mut m.proposer_address },
358        ));
359        fields.push(::protobuf::reflect::rt::v2::make_map_simpler_accessor::<_, _, _>(
360            "parameters",
361            |m: &Proposal| { &m.parameters },
362            |m: &mut Proposal| { &mut m.parameters },
363        ));
364        fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
365            "expiration_time",
366            |m: &Proposal| { &m.expiration_time },
367            |m: &mut Proposal| { &mut m.expiration_time },
368        ));
369        fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
370            "create_time",
371            |m: &Proposal| { &m.create_time },
372            |m: &mut Proposal| { &mut m.create_time },
373        ));
374        fields.push(::protobuf::reflect::rt::v2::make_vec_simpler_accessor::<_, _>(
375            "approvals",
376            |m: &Proposal| { &m.approvals },
377            |m: &mut Proposal| { &mut m.approvals },
378        ));
379        fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
380            "state",
381            |m: &Proposal| { &m.state },
382            |m: &mut Proposal| { &mut m.state },
383        ));
384        ::protobuf::reflect::GeneratedMessageDescriptorData::new_2::<Proposal>(
385            "Proposal",
386            fields,
387            oneofs,
388        )
389    }
390}
391
392impl ::protobuf::Message for Proposal {
393    const NAME: &'static str = "Proposal";
394
395    fn is_initialized(&self) -> bool {
396        true
397    }
398
399    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::Result<()> {
400        while let Some(tag) = is.read_raw_tag_or_eof()? {
401            match tag {
402                8 => {
403                    self.proposal_id = is.read_int64()?;
404                },
405                18 => {
406                    self.proposer_address = is.read_bytes()?;
407                },
408                26 => {
409                    let len = is.read_raw_varint32()?;
410                    let old_limit = is.push_limit(len as u64)?;
411                    let mut key = ::std::default::Default::default();
412                    let mut value = ::std::default::Default::default();
413                    while let Some(tag) = is.read_raw_tag_or_eof()? {
414                        match tag {
415                            8 => key = is.read_int64()?,
416                            16 => value = is.read_int64()?,
417                            _ => ::protobuf::rt::skip_field_for_tag(tag, is)?,
418                        };
419                    }
420                    is.pop_limit(old_limit);
421                    self.parameters.insert(key, value);
422                },
423                32 => {
424                    self.expiration_time = is.read_int64()?;
425                },
426                40 => {
427                    self.create_time = is.read_int64()?;
428                },
429                50 => {
430                    self.approvals.push(is.read_bytes()?);
431                },
432                56 => {
433                    self.state = is.read_enum_or_unknown()?;
434                },
435                tag => {
436                    ::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?;
437                },
438            };
439        }
440        ::std::result::Result::Ok(())
441    }
442
443    // Compute sizes of nested messages
444    #[allow(unused_variables)]
445    fn compute_size(&self) -> u64 {
446        let mut my_size = 0;
447        if self.proposal_id != 0 {
448            my_size += ::protobuf::rt::int64_size(1, self.proposal_id);
449        }
450        if !self.proposer_address.is_empty() {
451            my_size += ::protobuf::rt::bytes_size(2, &self.proposer_address);
452        }
453        for (k, v) in &self.parameters {
454            let mut entry_size = 0;
455            entry_size += ::protobuf::rt::int64_size(1, *k);
456            entry_size += ::protobuf::rt::int64_size(2, *v);
457            my_size += 1 + ::protobuf::rt::compute_raw_varint64_size(entry_size) + entry_size
458        };
459        if self.expiration_time != 0 {
460            my_size += ::protobuf::rt::int64_size(4, self.expiration_time);
461        }
462        if self.create_time != 0 {
463            my_size += ::protobuf::rt::int64_size(5, self.create_time);
464        }
465        for value in &self.approvals {
466            my_size += ::protobuf::rt::bytes_size(6, &value);
467        };
468        if self.state != ::protobuf::EnumOrUnknown::new(proposal::State::PENDING) {
469            my_size += ::protobuf::rt::int32_size(7, self.state.value());
470        }
471        my_size += ::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields());
472        self.special_fields.cached_size().set(my_size as u32);
473        my_size
474    }
475
476    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::Result<()> {
477        if self.proposal_id != 0 {
478            os.write_int64(1, self.proposal_id)?;
479        }
480        if !self.proposer_address.is_empty() {
481            os.write_bytes(2, &self.proposer_address)?;
482        }
483        for (k, v) in &self.parameters {
484            let mut entry_size = 0;
485            entry_size += ::protobuf::rt::int64_size(1, *k);
486            entry_size += ::protobuf::rt::int64_size(2, *v);
487            os.write_raw_varint32(26)?; // Tag.
488            os.write_raw_varint32(entry_size as u32)?;
489            os.write_int64(1, *k)?;
490            os.write_int64(2, *v)?;
491        };
492        if self.expiration_time != 0 {
493            os.write_int64(4, self.expiration_time)?;
494        }
495        if self.create_time != 0 {
496            os.write_int64(5, self.create_time)?;
497        }
498        for v in &self.approvals {
499            os.write_bytes(6, &v)?;
500        };
501        if self.state != ::protobuf::EnumOrUnknown::new(proposal::State::PENDING) {
502            os.write_enum(7, ::protobuf::EnumOrUnknown::value(&self.state))?;
503        }
504        os.write_unknown_fields(self.special_fields.unknown_fields())?;
505        ::std::result::Result::Ok(())
506    }
507
508    fn special_fields(&self) -> &::protobuf::SpecialFields {
509        &self.special_fields
510    }
511
512    fn mut_special_fields(&mut self) -> &mut ::protobuf::SpecialFields {
513        &mut self.special_fields
514    }
515
516    fn new() -> Proposal {
517        Proposal::new()
518    }
519
520    fn clear(&mut self) {
521        self.proposal_id = 0;
522        self.proposer_address.clear();
523        self.parameters.clear();
524        self.expiration_time = 0;
525        self.create_time = 0;
526        self.approvals.clear();
527        self.state = ::protobuf::EnumOrUnknown::new(proposal::State::PENDING);
528        self.special_fields.clear();
529    }
530
531    fn default_instance() -> &'static Proposal {
532        static instance: ::protobuf::rt::Lazy<Proposal> = ::protobuf::rt::Lazy::new();
533        instance.get(Proposal::new)
534    }
535}
536
537impl ::protobuf::MessageFull for Proposal {
538    fn descriptor() -> ::protobuf::reflect::MessageDescriptor {
539        static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::Lazy::new();
540        descriptor.get(|| file_descriptor().message_by_package_relative_name("Proposal").unwrap()).clone()
541    }
542}
543
544impl ::std::fmt::Display for Proposal {
545    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
546        ::protobuf::text_format::fmt(self, f)
547    }
548}
549
550impl ::protobuf::reflect::ProtobufValue for Proposal {
551    type RuntimeType = ::protobuf::reflect::rt::RuntimeTypeMessage<Self>;
552}
553
554/// Nested message and enums of message `Proposal`
555pub mod proposal {
556    #[derive(Clone,Copy,PartialEq,Eq,Debug,Hash)]
557    // @@protoc_insertion_point(enum:protocol.Proposal.State)
558    pub enum State {
559        // @@protoc_insertion_point(enum_value:protocol.Proposal.State.PENDING)
560        PENDING = 0,
561        // @@protoc_insertion_point(enum_value:protocol.Proposal.State.DISAPPROVED)
562        DISAPPROVED = 1,
563        // @@protoc_insertion_point(enum_value:protocol.Proposal.State.APPROVED)
564        APPROVED = 2,
565        // @@protoc_insertion_point(enum_value:protocol.Proposal.State.CANCELED)
566        CANCELED = 3,
567    }
568
569    impl ::protobuf::Enum for State {
570        const NAME: &'static str = "State";
571
572        fn value(&self) -> i32 {
573            *self as i32
574        }
575
576        fn from_i32(value: i32) -> ::std::option::Option<State> {
577            match value {
578                0 => ::std::option::Option::Some(State::PENDING),
579                1 => ::std::option::Option::Some(State::DISAPPROVED),
580                2 => ::std::option::Option::Some(State::APPROVED),
581                3 => ::std::option::Option::Some(State::CANCELED),
582                _ => ::std::option::Option::None
583            }
584        }
585
586        fn from_str(str: &str) -> ::std::option::Option<State> {
587            match str {
588                "PENDING" => ::std::option::Option::Some(State::PENDING),
589                "DISAPPROVED" => ::std::option::Option::Some(State::DISAPPROVED),
590                "APPROVED" => ::std::option::Option::Some(State::APPROVED),
591                "CANCELED" => ::std::option::Option::Some(State::CANCELED),
592                _ => ::std::option::Option::None
593            }
594        }
595
596        const VALUES: &'static [State] = &[
597            State::PENDING,
598            State::DISAPPROVED,
599            State::APPROVED,
600            State::CANCELED,
601        ];
602    }
603
604    impl ::protobuf::EnumFull for State {
605        fn enum_descriptor() -> ::protobuf::reflect::EnumDescriptor {
606            static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::EnumDescriptor> = ::protobuf::rt::Lazy::new();
607            descriptor.get(|| super::file_descriptor().enum_by_package_relative_name("Proposal.State").unwrap()).clone()
608        }
609
610        fn descriptor(&self) -> ::protobuf::reflect::EnumValueDescriptor {
611            let index = *self as usize;
612            Self::enum_descriptor().value_by_index(index)
613        }
614    }
615
616    impl ::std::default::Default for State {
617        fn default() -> Self {
618            State::PENDING
619        }
620    }
621
622    impl State {
623        pub(in super) fn generated_enum_descriptor_data() -> ::protobuf::reflect::GeneratedEnumDescriptorData {
624            ::protobuf::reflect::GeneratedEnumDescriptorData::new::<State>("Proposal.State")
625        }
626    }
627}
628
629///  Exchange
630// @@protoc_insertion_point(message:protocol.Exchange)
631#[derive(PartialEq,Clone,Default,Debug)]
632pub struct Exchange {
633    // message fields
634    // @@protoc_insertion_point(field:protocol.Exchange.exchange_id)
635    pub exchange_id: i64,
636    // @@protoc_insertion_point(field:protocol.Exchange.creator_address)
637    pub creator_address: ::std::vec::Vec<u8>,
638    // @@protoc_insertion_point(field:protocol.Exchange.create_time)
639    pub create_time: i64,
640    // @@protoc_insertion_point(field:protocol.Exchange.first_token_id)
641    pub first_token_id: ::std::vec::Vec<u8>,
642    // @@protoc_insertion_point(field:protocol.Exchange.first_token_balance)
643    pub first_token_balance: i64,
644    // @@protoc_insertion_point(field:protocol.Exchange.second_token_id)
645    pub second_token_id: ::std::vec::Vec<u8>,
646    // @@protoc_insertion_point(field:protocol.Exchange.second_token_balance)
647    pub second_token_balance: i64,
648    // special fields
649    // @@protoc_insertion_point(special_field:protocol.Exchange.special_fields)
650    pub special_fields: ::protobuf::SpecialFields,
651}
652
653impl<'a> ::std::default::Default for &'a Exchange {
654    fn default() -> &'a Exchange {
655        <Exchange as ::protobuf::Message>::default_instance()
656    }
657}
658
659impl Exchange {
660    pub fn new() -> Exchange {
661        ::std::default::Default::default()
662    }
663
664    fn generated_message_descriptor_data() -> ::protobuf::reflect::GeneratedMessageDescriptorData {
665        let mut fields = ::std::vec::Vec::with_capacity(7);
666        let mut oneofs = ::std::vec::Vec::with_capacity(0);
667        fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
668            "exchange_id",
669            |m: &Exchange| { &m.exchange_id },
670            |m: &mut Exchange| { &mut m.exchange_id },
671        ));
672        fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
673            "creator_address",
674            |m: &Exchange| { &m.creator_address },
675            |m: &mut Exchange| { &mut m.creator_address },
676        ));
677        fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
678            "create_time",
679            |m: &Exchange| { &m.create_time },
680            |m: &mut Exchange| { &mut m.create_time },
681        ));
682        fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
683            "first_token_id",
684            |m: &Exchange| { &m.first_token_id },
685            |m: &mut Exchange| { &mut m.first_token_id },
686        ));
687        fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
688            "first_token_balance",
689            |m: &Exchange| { &m.first_token_balance },
690            |m: &mut Exchange| { &mut m.first_token_balance },
691        ));
692        fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
693            "second_token_id",
694            |m: &Exchange| { &m.second_token_id },
695            |m: &mut Exchange| { &mut m.second_token_id },
696        ));
697        fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
698            "second_token_balance",
699            |m: &Exchange| { &m.second_token_balance },
700            |m: &mut Exchange| { &mut m.second_token_balance },
701        ));
702        ::protobuf::reflect::GeneratedMessageDescriptorData::new_2::<Exchange>(
703            "Exchange",
704            fields,
705            oneofs,
706        )
707    }
708}
709
710impl ::protobuf::Message for Exchange {
711    const NAME: &'static str = "Exchange";
712
713    fn is_initialized(&self) -> bool {
714        true
715    }
716
717    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::Result<()> {
718        while let Some(tag) = is.read_raw_tag_or_eof()? {
719            match tag {
720                8 => {
721                    self.exchange_id = is.read_int64()?;
722                },
723                18 => {
724                    self.creator_address = is.read_bytes()?;
725                },
726                24 => {
727                    self.create_time = is.read_int64()?;
728                },
729                50 => {
730                    self.first_token_id = is.read_bytes()?;
731                },
732                56 => {
733                    self.first_token_balance = is.read_int64()?;
734                },
735                66 => {
736                    self.second_token_id = is.read_bytes()?;
737                },
738                72 => {
739                    self.second_token_balance = is.read_int64()?;
740                },
741                tag => {
742                    ::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?;
743                },
744            };
745        }
746        ::std::result::Result::Ok(())
747    }
748
749    // Compute sizes of nested messages
750    #[allow(unused_variables)]
751    fn compute_size(&self) -> u64 {
752        let mut my_size = 0;
753        if self.exchange_id != 0 {
754            my_size += ::protobuf::rt::int64_size(1, self.exchange_id);
755        }
756        if !self.creator_address.is_empty() {
757            my_size += ::protobuf::rt::bytes_size(2, &self.creator_address);
758        }
759        if self.create_time != 0 {
760            my_size += ::protobuf::rt::int64_size(3, self.create_time);
761        }
762        if !self.first_token_id.is_empty() {
763            my_size += ::protobuf::rt::bytes_size(6, &self.first_token_id);
764        }
765        if self.first_token_balance != 0 {
766            my_size += ::protobuf::rt::int64_size(7, self.first_token_balance);
767        }
768        if !self.second_token_id.is_empty() {
769            my_size += ::protobuf::rt::bytes_size(8, &self.second_token_id);
770        }
771        if self.second_token_balance != 0 {
772            my_size += ::protobuf::rt::int64_size(9, self.second_token_balance);
773        }
774        my_size += ::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields());
775        self.special_fields.cached_size().set(my_size as u32);
776        my_size
777    }
778
779    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::Result<()> {
780        if self.exchange_id != 0 {
781            os.write_int64(1, self.exchange_id)?;
782        }
783        if !self.creator_address.is_empty() {
784            os.write_bytes(2, &self.creator_address)?;
785        }
786        if self.create_time != 0 {
787            os.write_int64(3, self.create_time)?;
788        }
789        if !self.first_token_id.is_empty() {
790            os.write_bytes(6, &self.first_token_id)?;
791        }
792        if self.first_token_balance != 0 {
793            os.write_int64(7, self.first_token_balance)?;
794        }
795        if !self.second_token_id.is_empty() {
796            os.write_bytes(8, &self.second_token_id)?;
797        }
798        if self.second_token_balance != 0 {
799            os.write_int64(9, self.second_token_balance)?;
800        }
801        os.write_unknown_fields(self.special_fields.unknown_fields())?;
802        ::std::result::Result::Ok(())
803    }
804
805    fn special_fields(&self) -> &::protobuf::SpecialFields {
806        &self.special_fields
807    }
808
809    fn mut_special_fields(&mut self) -> &mut ::protobuf::SpecialFields {
810        &mut self.special_fields
811    }
812
813    fn new() -> Exchange {
814        Exchange::new()
815    }
816
817    fn clear(&mut self) {
818        self.exchange_id = 0;
819        self.creator_address.clear();
820        self.create_time = 0;
821        self.first_token_id.clear();
822        self.first_token_balance = 0;
823        self.second_token_id.clear();
824        self.second_token_balance = 0;
825        self.special_fields.clear();
826    }
827
828    fn default_instance() -> &'static Exchange {
829        static instance: Exchange = Exchange {
830            exchange_id: 0,
831            creator_address: ::std::vec::Vec::new(),
832            create_time: 0,
833            first_token_id: ::std::vec::Vec::new(),
834            first_token_balance: 0,
835            second_token_id: ::std::vec::Vec::new(),
836            second_token_balance: 0,
837            special_fields: ::protobuf::SpecialFields::new(),
838        };
839        &instance
840    }
841}
842
843impl ::protobuf::MessageFull for Exchange {
844    fn descriptor() -> ::protobuf::reflect::MessageDescriptor {
845        static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::Lazy::new();
846        descriptor.get(|| file_descriptor().message_by_package_relative_name("Exchange").unwrap()).clone()
847    }
848}
849
850impl ::std::fmt::Display for Exchange {
851    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
852        ::protobuf::text_format::fmt(self, f)
853    }
854}
855
856impl ::protobuf::reflect::ProtobufValue for Exchange {
857    type RuntimeType = ::protobuf::reflect::rt::RuntimeTypeMessage<Self>;
858}
859
860///  market
861// @@protoc_insertion_point(message:protocol.MarketOrder)
862#[derive(PartialEq,Clone,Default,Debug)]
863pub struct MarketOrder {
864    // message fields
865    // @@protoc_insertion_point(field:protocol.MarketOrder.order_id)
866    pub order_id: ::std::vec::Vec<u8>,
867    // @@protoc_insertion_point(field:protocol.MarketOrder.owner_address)
868    pub owner_address: ::std::vec::Vec<u8>,
869    // @@protoc_insertion_point(field:protocol.MarketOrder.create_time)
870    pub create_time: i64,
871    // @@protoc_insertion_point(field:protocol.MarketOrder.sell_token_id)
872    pub sell_token_id: ::std::vec::Vec<u8>,
873    // @@protoc_insertion_point(field:protocol.MarketOrder.sell_token_quantity)
874    pub sell_token_quantity: i64,
875    // @@protoc_insertion_point(field:protocol.MarketOrder.buy_token_id)
876    pub buy_token_id: ::std::vec::Vec<u8>,
877    // @@protoc_insertion_point(field:protocol.MarketOrder.buy_token_quantity)
878    pub buy_token_quantity: i64,
879    // @@protoc_insertion_point(field:protocol.MarketOrder.sell_token_quantity_remain)
880    pub sell_token_quantity_remain: i64,
881    ///  When state != ACTIVE and sell_token_quantity_return !=0,
882    /// it means that some sell tokens are returned to the account due to insufficient remaining amount
883    // @@protoc_insertion_point(field:protocol.MarketOrder.sell_token_quantity_return)
884    pub sell_token_quantity_return: i64,
885    // @@protoc_insertion_point(field:protocol.MarketOrder.state)
886    pub state: ::protobuf::EnumOrUnknown<market_order::State>,
887    // @@protoc_insertion_point(field:protocol.MarketOrder.prev)
888    pub prev: ::std::vec::Vec<u8>,
889    // @@protoc_insertion_point(field:protocol.MarketOrder.next)
890    pub next: ::std::vec::Vec<u8>,
891    // special fields
892    // @@protoc_insertion_point(special_field:protocol.MarketOrder.special_fields)
893    pub special_fields: ::protobuf::SpecialFields,
894}
895
896impl<'a> ::std::default::Default for &'a MarketOrder {
897    fn default() -> &'a MarketOrder {
898        <MarketOrder as ::protobuf::Message>::default_instance()
899    }
900}
901
902impl MarketOrder {
903    pub fn new() -> MarketOrder {
904        ::std::default::Default::default()
905    }
906
907    fn generated_message_descriptor_data() -> ::protobuf::reflect::GeneratedMessageDescriptorData {
908        let mut fields = ::std::vec::Vec::with_capacity(12);
909        let mut oneofs = ::std::vec::Vec::with_capacity(0);
910        fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
911            "order_id",
912            |m: &MarketOrder| { &m.order_id },
913            |m: &mut MarketOrder| { &mut m.order_id },
914        ));
915        fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
916            "owner_address",
917            |m: &MarketOrder| { &m.owner_address },
918            |m: &mut MarketOrder| { &mut m.owner_address },
919        ));
920        fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
921            "create_time",
922            |m: &MarketOrder| { &m.create_time },
923            |m: &mut MarketOrder| { &mut m.create_time },
924        ));
925        fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
926            "sell_token_id",
927            |m: &MarketOrder| { &m.sell_token_id },
928            |m: &mut MarketOrder| { &mut m.sell_token_id },
929        ));
930        fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
931            "sell_token_quantity",
932            |m: &MarketOrder| { &m.sell_token_quantity },
933            |m: &mut MarketOrder| { &mut m.sell_token_quantity },
934        ));
935        fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
936            "buy_token_id",
937            |m: &MarketOrder| { &m.buy_token_id },
938            |m: &mut MarketOrder| { &mut m.buy_token_id },
939        ));
940        fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
941            "buy_token_quantity",
942            |m: &MarketOrder| { &m.buy_token_quantity },
943            |m: &mut MarketOrder| { &mut m.buy_token_quantity },
944        ));
945        fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
946            "sell_token_quantity_remain",
947            |m: &MarketOrder| { &m.sell_token_quantity_remain },
948            |m: &mut MarketOrder| { &mut m.sell_token_quantity_remain },
949        ));
950        fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
951            "sell_token_quantity_return",
952            |m: &MarketOrder| { &m.sell_token_quantity_return },
953            |m: &mut MarketOrder| { &mut m.sell_token_quantity_return },
954        ));
955        fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
956            "state",
957            |m: &MarketOrder| { &m.state },
958            |m: &mut MarketOrder| { &mut m.state },
959        ));
960        fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
961            "prev",
962            |m: &MarketOrder| { &m.prev },
963            |m: &mut MarketOrder| { &mut m.prev },
964        ));
965        fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
966            "next",
967            |m: &MarketOrder| { &m.next },
968            |m: &mut MarketOrder| { &mut m.next },
969        ));
970        ::protobuf::reflect::GeneratedMessageDescriptorData::new_2::<MarketOrder>(
971            "MarketOrder",
972            fields,
973            oneofs,
974        )
975    }
976}
977
978impl ::protobuf::Message for MarketOrder {
979    const NAME: &'static str = "MarketOrder";
980
981    fn is_initialized(&self) -> bool {
982        true
983    }
984
985    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::Result<()> {
986        while let Some(tag) = is.read_raw_tag_or_eof()? {
987            match tag {
988                10 => {
989                    self.order_id = is.read_bytes()?;
990                },
991                18 => {
992                    self.owner_address = is.read_bytes()?;
993                },
994                24 => {
995                    self.create_time = is.read_int64()?;
996                },
997                34 => {
998                    self.sell_token_id = is.read_bytes()?;
999                },
1000                40 => {
1001                    self.sell_token_quantity = is.read_int64()?;
1002                },
1003                50 => {
1004                    self.buy_token_id = is.read_bytes()?;
1005                },
1006                56 => {
1007                    self.buy_token_quantity = is.read_int64()?;
1008                },
1009                72 => {
1010                    self.sell_token_quantity_remain = is.read_int64()?;
1011                },
1012                80 => {
1013                    self.sell_token_quantity_return = is.read_int64()?;
1014                },
1015                88 => {
1016                    self.state = is.read_enum_or_unknown()?;
1017                },
1018                98 => {
1019                    self.prev = is.read_bytes()?;
1020                },
1021                106 => {
1022                    self.next = is.read_bytes()?;
1023                },
1024                tag => {
1025                    ::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?;
1026                },
1027            };
1028        }
1029        ::std::result::Result::Ok(())
1030    }
1031
1032    // Compute sizes of nested messages
1033    #[allow(unused_variables)]
1034    fn compute_size(&self) -> u64 {
1035        let mut my_size = 0;
1036        if !self.order_id.is_empty() {
1037            my_size += ::protobuf::rt::bytes_size(1, &self.order_id);
1038        }
1039        if !self.owner_address.is_empty() {
1040            my_size += ::protobuf::rt::bytes_size(2, &self.owner_address);
1041        }
1042        if self.create_time != 0 {
1043            my_size += ::protobuf::rt::int64_size(3, self.create_time);
1044        }
1045        if !self.sell_token_id.is_empty() {
1046            my_size += ::protobuf::rt::bytes_size(4, &self.sell_token_id);
1047        }
1048        if self.sell_token_quantity != 0 {
1049            my_size += ::protobuf::rt::int64_size(5, self.sell_token_quantity);
1050        }
1051        if !self.buy_token_id.is_empty() {
1052            my_size += ::protobuf::rt::bytes_size(6, &self.buy_token_id);
1053        }
1054        if self.buy_token_quantity != 0 {
1055            my_size += ::protobuf::rt::int64_size(7, self.buy_token_quantity);
1056        }
1057        if self.sell_token_quantity_remain != 0 {
1058            my_size += ::protobuf::rt::int64_size(9, self.sell_token_quantity_remain);
1059        }
1060        if self.sell_token_quantity_return != 0 {
1061            my_size += ::protobuf::rt::int64_size(10, self.sell_token_quantity_return);
1062        }
1063        if self.state != ::protobuf::EnumOrUnknown::new(market_order::State::ACTIVE) {
1064            my_size += ::protobuf::rt::int32_size(11, self.state.value());
1065        }
1066        if !self.prev.is_empty() {
1067            my_size += ::protobuf::rt::bytes_size(12, &self.prev);
1068        }
1069        if !self.next.is_empty() {
1070            my_size += ::protobuf::rt::bytes_size(13, &self.next);
1071        }
1072        my_size += ::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields());
1073        self.special_fields.cached_size().set(my_size as u32);
1074        my_size
1075    }
1076
1077    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::Result<()> {
1078        if !self.order_id.is_empty() {
1079            os.write_bytes(1, &self.order_id)?;
1080        }
1081        if !self.owner_address.is_empty() {
1082            os.write_bytes(2, &self.owner_address)?;
1083        }
1084        if self.create_time != 0 {
1085            os.write_int64(3, self.create_time)?;
1086        }
1087        if !self.sell_token_id.is_empty() {
1088            os.write_bytes(4, &self.sell_token_id)?;
1089        }
1090        if self.sell_token_quantity != 0 {
1091            os.write_int64(5, self.sell_token_quantity)?;
1092        }
1093        if !self.buy_token_id.is_empty() {
1094            os.write_bytes(6, &self.buy_token_id)?;
1095        }
1096        if self.buy_token_quantity != 0 {
1097            os.write_int64(7, self.buy_token_quantity)?;
1098        }
1099        if self.sell_token_quantity_remain != 0 {
1100            os.write_int64(9, self.sell_token_quantity_remain)?;
1101        }
1102        if self.sell_token_quantity_return != 0 {
1103            os.write_int64(10, self.sell_token_quantity_return)?;
1104        }
1105        if self.state != ::protobuf::EnumOrUnknown::new(market_order::State::ACTIVE) {
1106            os.write_enum(11, ::protobuf::EnumOrUnknown::value(&self.state))?;
1107        }
1108        if !self.prev.is_empty() {
1109            os.write_bytes(12, &self.prev)?;
1110        }
1111        if !self.next.is_empty() {
1112            os.write_bytes(13, &self.next)?;
1113        }
1114        os.write_unknown_fields(self.special_fields.unknown_fields())?;
1115        ::std::result::Result::Ok(())
1116    }
1117
1118    fn special_fields(&self) -> &::protobuf::SpecialFields {
1119        &self.special_fields
1120    }
1121
1122    fn mut_special_fields(&mut self) -> &mut ::protobuf::SpecialFields {
1123        &mut self.special_fields
1124    }
1125
1126    fn new() -> MarketOrder {
1127        MarketOrder::new()
1128    }
1129
1130    fn clear(&mut self) {
1131        self.order_id.clear();
1132        self.owner_address.clear();
1133        self.create_time = 0;
1134        self.sell_token_id.clear();
1135        self.sell_token_quantity = 0;
1136        self.buy_token_id.clear();
1137        self.buy_token_quantity = 0;
1138        self.sell_token_quantity_remain = 0;
1139        self.sell_token_quantity_return = 0;
1140        self.state = ::protobuf::EnumOrUnknown::new(market_order::State::ACTIVE);
1141        self.prev.clear();
1142        self.next.clear();
1143        self.special_fields.clear();
1144    }
1145
1146    fn default_instance() -> &'static MarketOrder {
1147        static instance: MarketOrder = MarketOrder {
1148            order_id: ::std::vec::Vec::new(),
1149            owner_address: ::std::vec::Vec::new(),
1150            create_time: 0,
1151            sell_token_id: ::std::vec::Vec::new(),
1152            sell_token_quantity: 0,
1153            buy_token_id: ::std::vec::Vec::new(),
1154            buy_token_quantity: 0,
1155            sell_token_quantity_remain: 0,
1156            sell_token_quantity_return: 0,
1157            state: ::protobuf::EnumOrUnknown::from_i32(0),
1158            prev: ::std::vec::Vec::new(),
1159            next: ::std::vec::Vec::new(),
1160            special_fields: ::protobuf::SpecialFields::new(),
1161        };
1162        &instance
1163    }
1164}
1165
1166impl ::protobuf::MessageFull for MarketOrder {
1167    fn descriptor() -> ::protobuf::reflect::MessageDescriptor {
1168        static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::Lazy::new();
1169        descriptor.get(|| file_descriptor().message_by_package_relative_name("MarketOrder").unwrap()).clone()
1170    }
1171}
1172
1173impl ::std::fmt::Display for MarketOrder {
1174    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
1175        ::protobuf::text_format::fmt(self, f)
1176    }
1177}
1178
1179impl ::protobuf::reflect::ProtobufValue for MarketOrder {
1180    type RuntimeType = ::protobuf::reflect::rt::RuntimeTypeMessage<Self>;
1181}
1182
1183/// Nested message and enums of message `MarketOrder`
1184pub mod market_order {
1185    #[derive(Clone,Copy,PartialEq,Eq,Debug,Hash)]
1186    // @@protoc_insertion_point(enum:protocol.MarketOrder.State)
1187    pub enum State {
1188        // @@protoc_insertion_point(enum_value:protocol.MarketOrder.State.ACTIVE)
1189        ACTIVE = 0,
1190        // @@protoc_insertion_point(enum_value:protocol.MarketOrder.State.INACTIVE)
1191        INACTIVE = 1,
1192        // @@protoc_insertion_point(enum_value:protocol.MarketOrder.State.CANCELED)
1193        CANCELED = 2,
1194    }
1195
1196    impl ::protobuf::Enum for State {
1197        const NAME: &'static str = "State";
1198
1199        fn value(&self) -> i32 {
1200            *self as i32
1201        }
1202
1203        fn from_i32(value: i32) -> ::std::option::Option<State> {
1204            match value {
1205                0 => ::std::option::Option::Some(State::ACTIVE),
1206                1 => ::std::option::Option::Some(State::INACTIVE),
1207                2 => ::std::option::Option::Some(State::CANCELED),
1208                _ => ::std::option::Option::None
1209            }
1210        }
1211
1212        fn from_str(str: &str) -> ::std::option::Option<State> {
1213            match str {
1214                "ACTIVE" => ::std::option::Option::Some(State::ACTIVE),
1215                "INACTIVE" => ::std::option::Option::Some(State::INACTIVE),
1216                "CANCELED" => ::std::option::Option::Some(State::CANCELED),
1217                _ => ::std::option::Option::None
1218            }
1219        }
1220
1221        const VALUES: &'static [State] = &[
1222            State::ACTIVE,
1223            State::INACTIVE,
1224            State::CANCELED,
1225        ];
1226    }
1227
1228    impl ::protobuf::EnumFull for State {
1229        fn enum_descriptor() -> ::protobuf::reflect::EnumDescriptor {
1230            static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::EnumDescriptor> = ::protobuf::rt::Lazy::new();
1231            descriptor.get(|| super::file_descriptor().enum_by_package_relative_name("MarketOrder.State").unwrap()).clone()
1232        }
1233
1234        fn descriptor(&self) -> ::protobuf::reflect::EnumValueDescriptor {
1235            let index = *self as usize;
1236            Self::enum_descriptor().value_by_index(index)
1237        }
1238    }
1239
1240    impl ::std::default::Default for State {
1241        fn default() -> Self {
1242            State::ACTIVE
1243        }
1244    }
1245
1246    impl State {
1247        pub(in super) fn generated_enum_descriptor_data() -> ::protobuf::reflect::GeneratedEnumDescriptorData {
1248            ::protobuf::reflect::GeneratedEnumDescriptorData::new::<State>("MarketOrder.State")
1249        }
1250    }
1251}
1252
1253// @@protoc_insertion_point(message:protocol.MarketOrderList)
1254#[derive(PartialEq,Clone,Default,Debug)]
1255pub struct MarketOrderList {
1256    // message fields
1257    // @@protoc_insertion_point(field:protocol.MarketOrderList.orders)
1258    pub orders: ::std::vec::Vec<MarketOrder>,
1259    // special fields
1260    // @@protoc_insertion_point(special_field:protocol.MarketOrderList.special_fields)
1261    pub special_fields: ::protobuf::SpecialFields,
1262}
1263
1264impl<'a> ::std::default::Default for &'a MarketOrderList {
1265    fn default() -> &'a MarketOrderList {
1266        <MarketOrderList as ::protobuf::Message>::default_instance()
1267    }
1268}
1269
1270impl MarketOrderList {
1271    pub fn new() -> MarketOrderList {
1272        ::std::default::Default::default()
1273    }
1274
1275    fn generated_message_descriptor_data() -> ::protobuf::reflect::GeneratedMessageDescriptorData {
1276        let mut fields = ::std::vec::Vec::with_capacity(1);
1277        let mut oneofs = ::std::vec::Vec::with_capacity(0);
1278        fields.push(::protobuf::reflect::rt::v2::make_vec_simpler_accessor::<_, _>(
1279            "orders",
1280            |m: &MarketOrderList| { &m.orders },
1281            |m: &mut MarketOrderList| { &mut m.orders },
1282        ));
1283        ::protobuf::reflect::GeneratedMessageDescriptorData::new_2::<MarketOrderList>(
1284            "MarketOrderList",
1285            fields,
1286            oneofs,
1287        )
1288    }
1289}
1290
1291impl ::protobuf::Message for MarketOrderList {
1292    const NAME: &'static str = "MarketOrderList";
1293
1294    fn is_initialized(&self) -> bool {
1295        true
1296    }
1297
1298    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::Result<()> {
1299        while let Some(tag) = is.read_raw_tag_or_eof()? {
1300            match tag {
1301                10 => {
1302                    self.orders.push(is.read_message()?);
1303                },
1304                tag => {
1305                    ::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?;
1306                },
1307            };
1308        }
1309        ::std::result::Result::Ok(())
1310    }
1311
1312    // Compute sizes of nested messages
1313    #[allow(unused_variables)]
1314    fn compute_size(&self) -> u64 {
1315        let mut my_size = 0;
1316        for value in &self.orders {
1317            let len = value.compute_size();
1318            my_size += 1 + ::protobuf::rt::compute_raw_varint64_size(len) + len;
1319        };
1320        my_size += ::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields());
1321        self.special_fields.cached_size().set(my_size as u32);
1322        my_size
1323    }
1324
1325    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::Result<()> {
1326        for v in &self.orders {
1327            ::protobuf::rt::write_message_field_with_cached_size(1, v, os)?;
1328        };
1329        os.write_unknown_fields(self.special_fields.unknown_fields())?;
1330        ::std::result::Result::Ok(())
1331    }
1332
1333    fn special_fields(&self) -> &::protobuf::SpecialFields {
1334        &self.special_fields
1335    }
1336
1337    fn mut_special_fields(&mut self) -> &mut ::protobuf::SpecialFields {
1338        &mut self.special_fields
1339    }
1340
1341    fn new() -> MarketOrderList {
1342        MarketOrderList::new()
1343    }
1344
1345    fn clear(&mut self) {
1346        self.orders.clear();
1347        self.special_fields.clear();
1348    }
1349
1350    fn default_instance() -> &'static MarketOrderList {
1351        static instance: MarketOrderList = MarketOrderList {
1352            orders: ::std::vec::Vec::new(),
1353            special_fields: ::protobuf::SpecialFields::new(),
1354        };
1355        &instance
1356    }
1357}
1358
1359impl ::protobuf::MessageFull for MarketOrderList {
1360    fn descriptor() -> ::protobuf::reflect::MessageDescriptor {
1361        static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::Lazy::new();
1362        descriptor.get(|| file_descriptor().message_by_package_relative_name("MarketOrderList").unwrap()).clone()
1363    }
1364}
1365
1366impl ::std::fmt::Display for MarketOrderList {
1367    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
1368        ::protobuf::text_format::fmt(self, f)
1369    }
1370}
1371
1372impl ::protobuf::reflect::ProtobufValue for MarketOrderList {
1373    type RuntimeType = ::protobuf::reflect::rt::RuntimeTypeMessage<Self>;
1374}
1375
1376// @@protoc_insertion_point(message:protocol.MarketOrderPairList)
1377#[derive(PartialEq,Clone,Default,Debug)]
1378pub struct MarketOrderPairList {
1379    // message fields
1380    // @@protoc_insertion_point(field:protocol.MarketOrderPairList.orderPair)
1381    pub orderPair: ::std::vec::Vec<MarketOrderPair>,
1382    // special fields
1383    // @@protoc_insertion_point(special_field:protocol.MarketOrderPairList.special_fields)
1384    pub special_fields: ::protobuf::SpecialFields,
1385}
1386
1387impl<'a> ::std::default::Default for &'a MarketOrderPairList {
1388    fn default() -> &'a MarketOrderPairList {
1389        <MarketOrderPairList as ::protobuf::Message>::default_instance()
1390    }
1391}
1392
1393impl MarketOrderPairList {
1394    pub fn new() -> MarketOrderPairList {
1395        ::std::default::Default::default()
1396    }
1397
1398    fn generated_message_descriptor_data() -> ::protobuf::reflect::GeneratedMessageDescriptorData {
1399        let mut fields = ::std::vec::Vec::with_capacity(1);
1400        let mut oneofs = ::std::vec::Vec::with_capacity(0);
1401        fields.push(::protobuf::reflect::rt::v2::make_vec_simpler_accessor::<_, _>(
1402            "orderPair",
1403            |m: &MarketOrderPairList| { &m.orderPair },
1404            |m: &mut MarketOrderPairList| { &mut m.orderPair },
1405        ));
1406        ::protobuf::reflect::GeneratedMessageDescriptorData::new_2::<MarketOrderPairList>(
1407            "MarketOrderPairList",
1408            fields,
1409            oneofs,
1410        )
1411    }
1412}
1413
1414impl ::protobuf::Message for MarketOrderPairList {
1415    const NAME: &'static str = "MarketOrderPairList";
1416
1417    fn is_initialized(&self) -> bool {
1418        true
1419    }
1420
1421    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::Result<()> {
1422        while let Some(tag) = is.read_raw_tag_or_eof()? {
1423            match tag {
1424                10 => {
1425                    self.orderPair.push(is.read_message()?);
1426                },
1427                tag => {
1428                    ::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?;
1429                },
1430            };
1431        }
1432        ::std::result::Result::Ok(())
1433    }
1434
1435    // Compute sizes of nested messages
1436    #[allow(unused_variables)]
1437    fn compute_size(&self) -> u64 {
1438        let mut my_size = 0;
1439        for value in &self.orderPair {
1440            let len = value.compute_size();
1441            my_size += 1 + ::protobuf::rt::compute_raw_varint64_size(len) + len;
1442        };
1443        my_size += ::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields());
1444        self.special_fields.cached_size().set(my_size as u32);
1445        my_size
1446    }
1447
1448    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::Result<()> {
1449        for v in &self.orderPair {
1450            ::protobuf::rt::write_message_field_with_cached_size(1, v, os)?;
1451        };
1452        os.write_unknown_fields(self.special_fields.unknown_fields())?;
1453        ::std::result::Result::Ok(())
1454    }
1455
1456    fn special_fields(&self) -> &::protobuf::SpecialFields {
1457        &self.special_fields
1458    }
1459
1460    fn mut_special_fields(&mut self) -> &mut ::protobuf::SpecialFields {
1461        &mut self.special_fields
1462    }
1463
1464    fn new() -> MarketOrderPairList {
1465        MarketOrderPairList::new()
1466    }
1467
1468    fn clear(&mut self) {
1469        self.orderPair.clear();
1470        self.special_fields.clear();
1471    }
1472
1473    fn default_instance() -> &'static MarketOrderPairList {
1474        static instance: MarketOrderPairList = MarketOrderPairList {
1475            orderPair: ::std::vec::Vec::new(),
1476            special_fields: ::protobuf::SpecialFields::new(),
1477        };
1478        &instance
1479    }
1480}
1481
1482impl ::protobuf::MessageFull for MarketOrderPairList {
1483    fn descriptor() -> ::protobuf::reflect::MessageDescriptor {
1484        static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::Lazy::new();
1485        descriptor.get(|| file_descriptor().message_by_package_relative_name("MarketOrderPairList").unwrap()).clone()
1486    }
1487}
1488
1489impl ::std::fmt::Display for MarketOrderPairList {
1490    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
1491        ::protobuf::text_format::fmt(self, f)
1492    }
1493}
1494
1495impl ::protobuf::reflect::ProtobufValue for MarketOrderPairList {
1496    type RuntimeType = ::protobuf::reflect::rt::RuntimeTypeMessage<Self>;
1497}
1498
1499// @@protoc_insertion_point(message:protocol.MarketOrderPair)
1500#[derive(PartialEq,Clone,Default,Debug)]
1501pub struct MarketOrderPair {
1502    // message fields
1503    // @@protoc_insertion_point(field:protocol.MarketOrderPair.sell_token_id)
1504    pub sell_token_id: ::std::vec::Vec<u8>,
1505    // @@protoc_insertion_point(field:protocol.MarketOrderPair.buy_token_id)
1506    pub buy_token_id: ::std::vec::Vec<u8>,
1507    // special fields
1508    // @@protoc_insertion_point(special_field:protocol.MarketOrderPair.special_fields)
1509    pub special_fields: ::protobuf::SpecialFields,
1510}
1511
1512impl<'a> ::std::default::Default for &'a MarketOrderPair {
1513    fn default() -> &'a MarketOrderPair {
1514        <MarketOrderPair as ::protobuf::Message>::default_instance()
1515    }
1516}
1517
1518impl MarketOrderPair {
1519    pub fn new() -> MarketOrderPair {
1520        ::std::default::Default::default()
1521    }
1522
1523    fn generated_message_descriptor_data() -> ::protobuf::reflect::GeneratedMessageDescriptorData {
1524        let mut fields = ::std::vec::Vec::with_capacity(2);
1525        let mut oneofs = ::std::vec::Vec::with_capacity(0);
1526        fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
1527            "sell_token_id",
1528            |m: &MarketOrderPair| { &m.sell_token_id },
1529            |m: &mut MarketOrderPair| { &mut m.sell_token_id },
1530        ));
1531        fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
1532            "buy_token_id",
1533            |m: &MarketOrderPair| { &m.buy_token_id },
1534            |m: &mut MarketOrderPair| { &mut m.buy_token_id },
1535        ));
1536        ::protobuf::reflect::GeneratedMessageDescriptorData::new_2::<MarketOrderPair>(
1537            "MarketOrderPair",
1538            fields,
1539            oneofs,
1540        )
1541    }
1542}
1543
1544impl ::protobuf::Message for MarketOrderPair {
1545    const NAME: &'static str = "MarketOrderPair";
1546
1547    fn is_initialized(&self) -> bool {
1548        true
1549    }
1550
1551    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::Result<()> {
1552        while let Some(tag) = is.read_raw_tag_or_eof()? {
1553            match tag {
1554                10 => {
1555                    self.sell_token_id = is.read_bytes()?;
1556                },
1557                18 => {
1558                    self.buy_token_id = is.read_bytes()?;
1559                },
1560                tag => {
1561                    ::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?;
1562                },
1563            };
1564        }
1565        ::std::result::Result::Ok(())
1566    }
1567
1568    // Compute sizes of nested messages
1569    #[allow(unused_variables)]
1570    fn compute_size(&self) -> u64 {
1571        let mut my_size = 0;
1572        if !self.sell_token_id.is_empty() {
1573            my_size += ::protobuf::rt::bytes_size(1, &self.sell_token_id);
1574        }
1575        if !self.buy_token_id.is_empty() {
1576            my_size += ::protobuf::rt::bytes_size(2, &self.buy_token_id);
1577        }
1578        my_size += ::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields());
1579        self.special_fields.cached_size().set(my_size as u32);
1580        my_size
1581    }
1582
1583    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::Result<()> {
1584        if !self.sell_token_id.is_empty() {
1585            os.write_bytes(1, &self.sell_token_id)?;
1586        }
1587        if !self.buy_token_id.is_empty() {
1588            os.write_bytes(2, &self.buy_token_id)?;
1589        }
1590        os.write_unknown_fields(self.special_fields.unknown_fields())?;
1591        ::std::result::Result::Ok(())
1592    }
1593
1594    fn special_fields(&self) -> &::protobuf::SpecialFields {
1595        &self.special_fields
1596    }
1597
1598    fn mut_special_fields(&mut self) -> &mut ::protobuf::SpecialFields {
1599        &mut self.special_fields
1600    }
1601
1602    fn new() -> MarketOrderPair {
1603        MarketOrderPair::new()
1604    }
1605
1606    fn clear(&mut self) {
1607        self.sell_token_id.clear();
1608        self.buy_token_id.clear();
1609        self.special_fields.clear();
1610    }
1611
1612    fn default_instance() -> &'static MarketOrderPair {
1613        static instance: MarketOrderPair = MarketOrderPair {
1614            sell_token_id: ::std::vec::Vec::new(),
1615            buy_token_id: ::std::vec::Vec::new(),
1616            special_fields: ::protobuf::SpecialFields::new(),
1617        };
1618        &instance
1619    }
1620}
1621
1622impl ::protobuf::MessageFull for MarketOrderPair {
1623    fn descriptor() -> ::protobuf::reflect::MessageDescriptor {
1624        static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::Lazy::new();
1625        descriptor.get(|| file_descriptor().message_by_package_relative_name("MarketOrderPair").unwrap()).clone()
1626    }
1627}
1628
1629impl ::std::fmt::Display for MarketOrderPair {
1630    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
1631        ::protobuf::text_format::fmt(self, f)
1632    }
1633}
1634
1635impl ::protobuf::reflect::ProtobufValue for MarketOrderPair {
1636    type RuntimeType = ::protobuf::reflect::rt::RuntimeTypeMessage<Self>;
1637}
1638
1639// @@protoc_insertion_point(message:protocol.MarketAccountOrder)
1640#[derive(PartialEq,Clone,Default,Debug)]
1641pub struct MarketAccountOrder {
1642    // message fields
1643    // @@protoc_insertion_point(field:protocol.MarketAccountOrder.owner_address)
1644    pub owner_address: ::std::vec::Vec<u8>,
1645    // @@protoc_insertion_point(field:protocol.MarketAccountOrder.orders)
1646    pub orders: ::std::vec::Vec<::std::vec::Vec<u8>>,
1647    // @@protoc_insertion_point(field:protocol.MarketAccountOrder.count)
1648    pub count: i64,
1649    // @@protoc_insertion_point(field:protocol.MarketAccountOrder.total_count)
1650    pub total_count: i64,
1651    // special fields
1652    // @@protoc_insertion_point(special_field:protocol.MarketAccountOrder.special_fields)
1653    pub special_fields: ::protobuf::SpecialFields,
1654}
1655
1656impl<'a> ::std::default::Default for &'a MarketAccountOrder {
1657    fn default() -> &'a MarketAccountOrder {
1658        <MarketAccountOrder as ::protobuf::Message>::default_instance()
1659    }
1660}
1661
1662impl MarketAccountOrder {
1663    pub fn new() -> MarketAccountOrder {
1664        ::std::default::Default::default()
1665    }
1666
1667    fn generated_message_descriptor_data() -> ::protobuf::reflect::GeneratedMessageDescriptorData {
1668        let mut fields = ::std::vec::Vec::with_capacity(4);
1669        let mut oneofs = ::std::vec::Vec::with_capacity(0);
1670        fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
1671            "owner_address",
1672            |m: &MarketAccountOrder| { &m.owner_address },
1673            |m: &mut MarketAccountOrder| { &mut m.owner_address },
1674        ));
1675        fields.push(::protobuf::reflect::rt::v2::make_vec_simpler_accessor::<_, _>(
1676            "orders",
1677            |m: &MarketAccountOrder| { &m.orders },
1678            |m: &mut MarketAccountOrder| { &mut m.orders },
1679        ));
1680        fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
1681            "count",
1682            |m: &MarketAccountOrder| { &m.count },
1683            |m: &mut MarketAccountOrder| { &mut m.count },
1684        ));
1685        fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
1686            "total_count",
1687            |m: &MarketAccountOrder| { &m.total_count },
1688            |m: &mut MarketAccountOrder| { &mut m.total_count },
1689        ));
1690        ::protobuf::reflect::GeneratedMessageDescriptorData::new_2::<MarketAccountOrder>(
1691            "MarketAccountOrder",
1692            fields,
1693            oneofs,
1694        )
1695    }
1696}
1697
1698impl ::protobuf::Message for MarketAccountOrder {
1699    const NAME: &'static str = "MarketAccountOrder";
1700
1701    fn is_initialized(&self) -> bool {
1702        true
1703    }
1704
1705    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::Result<()> {
1706        while let Some(tag) = is.read_raw_tag_or_eof()? {
1707            match tag {
1708                10 => {
1709                    self.owner_address = is.read_bytes()?;
1710                },
1711                18 => {
1712                    self.orders.push(is.read_bytes()?);
1713                },
1714                24 => {
1715                    self.count = is.read_int64()?;
1716                },
1717                32 => {
1718                    self.total_count = is.read_int64()?;
1719                },
1720                tag => {
1721                    ::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?;
1722                },
1723            };
1724        }
1725        ::std::result::Result::Ok(())
1726    }
1727
1728    // Compute sizes of nested messages
1729    #[allow(unused_variables)]
1730    fn compute_size(&self) -> u64 {
1731        let mut my_size = 0;
1732        if !self.owner_address.is_empty() {
1733            my_size += ::protobuf::rt::bytes_size(1, &self.owner_address);
1734        }
1735        for value in &self.orders {
1736            my_size += ::protobuf::rt::bytes_size(2, &value);
1737        };
1738        if self.count != 0 {
1739            my_size += ::protobuf::rt::int64_size(3, self.count);
1740        }
1741        if self.total_count != 0 {
1742            my_size += ::protobuf::rt::int64_size(4, self.total_count);
1743        }
1744        my_size += ::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields());
1745        self.special_fields.cached_size().set(my_size as u32);
1746        my_size
1747    }
1748
1749    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::Result<()> {
1750        if !self.owner_address.is_empty() {
1751            os.write_bytes(1, &self.owner_address)?;
1752        }
1753        for v in &self.orders {
1754            os.write_bytes(2, &v)?;
1755        };
1756        if self.count != 0 {
1757            os.write_int64(3, self.count)?;
1758        }
1759        if self.total_count != 0 {
1760            os.write_int64(4, self.total_count)?;
1761        }
1762        os.write_unknown_fields(self.special_fields.unknown_fields())?;
1763        ::std::result::Result::Ok(())
1764    }
1765
1766    fn special_fields(&self) -> &::protobuf::SpecialFields {
1767        &self.special_fields
1768    }
1769
1770    fn mut_special_fields(&mut self) -> &mut ::protobuf::SpecialFields {
1771        &mut self.special_fields
1772    }
1773
1774    fn new() -> MarketAccountOrder {
1775        MarketAccountOrder::new()
1776    }
1777
1778    fn clear(&mut self) {
1779        self.owner_address.clear();
1780        self.orders.clear();
1781        self.count = 0;
1782        self.total_count = 0;
1783        self.special_fields.clear();
1784    }
1785
1786    fn default_instance() -> &'static MarketAccountOrder {
1787        static instance: MarketAccountOrder = MarketAccountOrder {
1788            owner_address: ::std::vec::Vec::new(),
1789            orders: ::std::vec::Vec::new(),
1790            count: 0,
1791            total_count: 0,
1792            special_fields: ::protobuf::SpecialFields::new(),
1793        };
1794        &instance
1795    }
1796}
1797
1798impl ::protobuf::MessageFull for MarketAccountOrder {
1799    fn descriptor() -> ::protobuf::reflect::MessageDescriptor {
1800        static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::Lazy::new();
1801        descriptor.get(|| file_descriptor().message_by_package_relative_name("MarketAccountOrder").unwrap()).clone()
1802    }
1803}
1804
1805impl ::std::fmt::Display for MarketAccountOrder {
1806    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
1807        ::protobuf::text_format::fmt(self, f)
1808    }
1809}
1810
1811impl ::protobuf::reflect::ProtobufValue for MarketAccountOrder {
1812    type RuntimeType = ::protobuf::reflect::rt::RuntimeTypeMessage<Self>;
1813}
1814
1815// @@protoc_insertion_point(message:protocol.MarketPrice)
1816#[derive(PartialEq,Clone,Default,Debug)]
1817pub struct MarketPrice {
1818    // message fields
1819    // @@protoc_insertion_point(field:protocol.MarketPrice.sell_token_quantity)
1820    pub sell_token_quantity: i64,
1821    // @@protoc_insertion_point(field:protocol.MarketPrice.buy_token_quantity)
1822    pub buy_token_quantity: i64,
1823    // special fields
1824    // @@protoc_insertion_point(special_field:protocol.MarketPrice.special_fields)
1825    pub special_fields: ::protobuf::SpecialFields,
1826}
1827
1828impl<'a> ::std::default::Default for &'a MarketPrice {
1829    fn default() -> &'a MarketPrice {
1830        <MarketPrice as ::protobuf::Message>::default_instance()
1831    }
1832}
1833
1834impl MarketPrice {
1835    pub fn new() -> MarketPrice {
1836        ::std::default::Default::default()
1837    }
1838
1839    fn generated_message_descriptor_data() -> ::protobuf::reflect::GeneratedMessageDescriptorData {
1840        let mut fields = ::std::vec::Vec::with_capacity(2);
1841        let mut oneofs = ::std::vec::Vec::with_capacity(0);
1842        fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
1843            "sell_token_quantity",
1844            |m: &MarketPrice| { &m.sell_token_quantity },
1845            |m: &mut MarketPrice| { &mut m.sell_token_quantity },
1846        ));
1847        fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
1848            "buy_token_quantity",
1849            |m: &MarketPrice| { &m.buy_token_quantity },
1850            |m: &mut MarketPrice| { &mut m.buy_token_quantity },
1851        ));
1852        ::protobuf::reflect::GeneratedMessageDescriptorData::new_2::<MarketPrice>(
1853            "MarketPrice",
1854            fields,
1855            oneofs,
1856        )
1857    }
1858}
1859
1860impl ::protobuf::Message for MarketPrice {
1861    const NAME: &'static str = "MarketPrice";
1862
1863    fn is_initialized(&self) -> bool {
1864        true
1865    }
1866
1867    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::Result<()> {
1868        while let Some(tag) = is.read_raw_tag_or_eof()? {
1869            match tag {
1870                8 => {
1871                    self.sell_token_quantity = is.read_int64()?;
1872                },
1873                16 => {
1874                    self.buy_token_quantity = is.read_int64()?;
1875                },
1876                tag => {
1877                    ::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?;
1878                },
1879            };
1880        }
1881        ::std::result::Result::Ok(())
1882    }
1883
1884    // Compute sizes of nested messages
1885    #[allow(unused_variables)]
1886    fn compute_size(&self) -> u64 {
1887        let mut my_size = 0;
1888        if self.sell_token_quantity != 0 {
1889            my_size += ::protobuf::rt::int64_size(1, self.sell_token_quantity);
1890        }
1891        if self.buy_token_quantity != 0 {
1892            my_size += ::protobuf::rt::int64_size(2, self.buy_token_quantity);
1893        }
1894        my_size += ::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields());
1895        self.special_fields.cached_size().set(my_size as u32);
1896        my_size
1897    }
1898
1899    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::Result<()> {
1900        if self.sell_token_quantity != 0 {
1901            os.write_int64(1, self.sell_token_quantity)?;
1902        }
1903        if self.buy_token_quantity != 0 {
1904            os.write_int64(2, self.buy_token_quantity)?;
1905        }
1906        os.write_unknown_fields(self.special_fields.unknown_fields())?;
1907        ::std::result::Result::Ok(())
1908    }
1909
1910    fn special_fields(&self) -> &::protobuf::SpecialFields {
1911        &self.special_fields
1912    }
1913
1914    fn mut_special_fields(&mut self) -> &mut ::protobuf::SpecialFields {
1915        &mut self.special_fields
1916    }
1917
1918    fn new() -> MarketPrice {
1919        MarketPrice::new()
1920    }
1921
1922    fn clear(&mut self) {
1923        self.sell_token_quantity = 0;
1924        self.buy_token_quantity = 0;
1925        self.special_fields.clear();
1926    }
1927
1928    fn default_instance() -> &'static MarketPrice {
1929        static instance: MarketPrice = MarketPrice {
1930            sell_token_quantity: 0,
1931            buy_token_quantity: 0,
1932            special_fields: ::protobuf::SpecialFields::new(),
1933        };
1934        &instance
1935    }
1936}
1937
1938impl ::protobuf::MessageFull for MarketPrice {
1939    fn descriptor() -> ::protobuf::reflect::MessageDescriptor {
1940        static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::Lazy::new();
1941        descriptor.get(|| file_descriptor().message_by_package_relative_name("MarketPrice").unwrap()).clone()
1942    }
1943}
1944
1945impl ::std::fmt::Display for MarketPrice {
1946    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
1947        ::protobuf::text_format::fmt(self, f)
1948    }
1949}
1950
1951impl ::protobuf::reflect::ProtobufValue for MarketPrice {
1952    type RuntimeType = ::protobuf::reflect::rt::RuntimeTypeMessage<Self>;
1953}
1954
1955// @@protoc_insertion_point(message:protocol.MarketPriceList)
1956#[derive(PartialEq,Clone,Default,Debug)]
1957pub struct MarketPriceList {
1958    // message fields
1959    // @@protoc_insertion_point(field:protocol.MarketPriceList.sell_token_id)
1960    pub sell_token_id: ::std::vec::Vec<u8>,
1961    // @@protoc_insertion_point(field:protocol.MarketPriceList.buy_token_id)
1962    pub buy_token_id: ::std::vec::Vec<u8>,
1963    // @@protoc_insertion_point(field:protocol.MarketPriceList.prices)
1964    pub prices: ::std::vec::Vec<MarketPrice>,
1965    // special fields
1966    // @@protoc_insertion_point(special_field:protocol.MarketPriceList.special_fields)
1967    pub special_fields: ::protobuf::SpecialFields,
1968}
1969
1970impl<'a> ::std::default::Default for &'a MarketPriceList {
1971    fn default() -> &'a MarketPriceList {
1972        <MarketPriceList as ::protobuf::Message>::default_instance()
1973    }
1974}
1975
1976impl MarketPriceList {
1977    pub fn new() -> MarketPriceList {
1978        ::std::default::Default::default()
1979    }
1980
1981    fn generated_message_descriptor_data() -> ::protobuf::reflect::GeneratedMessageDescriptorData {
1982        let mut fields = ::std::vec::Vec::with_capacity(3);
1983        let mut oneofs = ::std::vec::Vec::with_capacity(0);
1984        fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
1985            "sell_token_id",
1986            |m: &MarketPriceList| { &m.sell_token_id },
1987            |m: &mut MarketPriceList| { &mut m.sell_token_id },
1988        ));
1989        fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
1990            "buy_token_id",
1991            |m: &MarketPriceList| { &m.buy_token_id },
1992            |m: &mut MarketPriceList| { &mut m.buy_token_id },
1993        ));
1994        fields.push(::protobuf::reflect::rt::v2::make_vec_simpler_accessor::<_, _>(
1995            "prices",
1996            |m: &MarketPriceList| { &m.prices },
1997            |m: &mut MarketPriceList| { &mut m.prices },
1998        ));
1999        ::protobuf::reflect::GeneratedMessageDescriptorData::new_2::<MarketPriceList>(
2000            "MarketPriceList",
2001            fields,
2002            oneofs,
2003        )
2004    }
2005}
2006
2007impl ::protobuf::Message for MarketPriceList {
2008    const NAME: &'static str = "MarketPriceList";
2009
2010    fn is_initialized(&self) -> bool {
2011        true
2012    }
2013
2014    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::Result<()> {
2015        while let Some(tag) = is.read_raw_tag_or_eof()? {
2016            match tag {
2017                10 => {
2018                    self.sell_token_id = is.read_bytes()?;
2019                },
2020                18 => {
2021                    self.buy_token_id = is.read_bytes()?;
2022                },
2023                26 => {
2024                    self.prices.push(is.read_message()?);
2025                },
2026                tag => {
2027                    ::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?;
2028                },
2029            };
2030        }
2031        ::std::result::Result::Ok(())
2032    }
2033
2034    // Compute sizes of nested messages
2035    #[allow(unused_variables)]
2036    fn compute_size(&self) -> u64 {
2037        let mut my_size = 0;
2038        if !self.sell_token_id.is_empty() {
2039            my_size += ::protobuf::rt::bytes_size(1, &self.sell_token_id);
2040        }
2041        if !self.buy_token_id.is_empty() {
2042            my_size += ::protobuf::rt::bytes_size(2, &self.buy_token_id);
2043        }
2044        for value in &self.prices {
2045            let len = value.compute_size();
2046            my_size += 1 + ::protobuf::rt::compute_raw_varint64_size(len) + len;
2047        };
2048        my_size += ::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields());
2049        self.special_fields.cached_size().set(my_size as u32);
2050        my_size
2051    }
2052
2053    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::Result<()> {
2054        if !self.sell_token_id.is_empty() {
2055            os.write_bytes(1, &self.sell_token_id)?;
2056        }
2057        if !self.buy_token_id.is_empty() {
2058            os.write_bytes(2, &self.buy_token_id)?;
2059        }
2060        for v in &self.prices {
2061            ::protobuf::rt::write_message_field_with_cached_size(3, v, os)?;
2062        };
2063        os.write_unknown_fields(self.special_fields.unknown_fields())?;
2064        ::std::result::Result::Ok(())
2065    }
2066
2067    fn special_fields(&self) -> &::protobuf::SpecialFields {
2068        &self.special_fields
2069    }
2070
2071    fn mut_special_fields(&mut self) -> &mut ::protobuf::SpecialFields {
2072        &mut self.special_fields
2073    }
2074
2075    fn new() -> MarketPriceList {
2076        MarketPriceList::new()
2077    }
2078
2079    fn clear(&mut self) {
2080        self.sell_token_id.clear();
2081        self.buy_token_id.clear();
2082        self.prices.clear();
2083        self.special_fields.clear();
2084    }
2085
2086    fn default_instance() -> &'static MarketPriceList {
2087        static instance: MarketPriceList = MarketPriceList {
2088            sell_token_id: ::std::vec::Vec::new(),
2089            buy_token_id: ::std::vec::Vec::new(),
2090            prices: ::std::vec::Vec::new(),
2091            special_fields: ::protobuf::SpecialFields::new(),
2092        };
2093        &instance
2094    }
2095}
2096
2097impl ::protobuf::MessageFull for MarketPriceList {
2098    fn descriptor() -> ::protobuf::reflect::MessageDescriptor {
2099        static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::Lazy::new();
2100        descriptor.get(|| file_descriptor().message_by_package_relative_name("MarketPriceList").unwrap()).clone()
2101    }
2102}
2103
2104impl ::std::fmt::Display for MarketPriceList {
2105    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
2106        ::protobuf::text_format::fmt(self, f)
2107    }
2108}
2109
2110impl ::protobuf::reflect::ProtobufValue for MarketPriceList {
2111    type RuntimeType = ::protobuf::reflect::rt::RuntimeTypeMessage<Self>;
2112}
2113
2114// @@protoc_insertion_point(message:protocol.MarketOrderIdList)
2115#[derive(PartialEq,Clone,Default,Debug)]
2116pub struct MarketOrderIdList {
2117    // message fields
2118    // @@protoc_insertion_point(field:protocol.MarketOrderIdList.head)
2119    pub head: ::std::vec::Vec<u8>,
2120    // @@protoc_insertion_point(field:protocol.MarketOrderIdList.tail)
2121    pub tail: ::std::vec::Vec<u8>,
2122    // special fields
2123    // @@protoc_insertion_point(special_field:protocol.MarketOrderIdList.special_fields)
2124    pub special_fields: ::protobuf::SpecialFields,
2125}
2126
2127impl<'a> ::std::default::Default for &'a MarketOrderIdList {
2128    fn default() -> &'a MarketOrderIdList {
2129        <MarketOrderIdList as ::protobuf::Message>::default_instance()
2130    }
2131}
2132
2133impl MarketOrderIdList {
2134    pub fn new() -> MarketOrderIdList {
2135        ::std::default::Default::default()
2136    }
2137
2138    fn generated_message_descriptor_data() -> ::protobuf::reflect::GeneratedMessageDescriptorData {
2139        let mut fields = ::std::vec::Vec::with_capacity(2);
2140        let mut oneofs = ::std::vec::Vec::with_capacity(0);
2141        fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
2142            "head",
2143            |m: &MarketOrderIdList| { &m.head },
2144            |m: &mut MarketOrderIdList| { &mut m.head },
2145        ));
2146        fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
2147            "tail",
2148            |m: &MarketOrderIdList| { &m.tail },
2149            |m: &mut MarketOrderIdList| { &mut m.tail },
2150        ));
2151        ::protobuf::reflect::GeneratedMessageDescriptorData::new_2::<MarketOrderIdList>(
2152            "MarketOrderIdList",
2153            fields,
2154            oneofs,
2155        )
2156    }
2157}
2158
2159impl ::protobuf::Message for MarketOrderIdList {
2160    const NAME: &'static str = "MarketOrderIdList";
2161
2162    fn is_initialized(&self) -> bool {
2163        true
2164    }
2165
2166    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::Result<()> {
2167        while let Some(tag) = is.read_raw_tag_or_eof()? {
2168            match tag {
2169                10 => {
2170                    self.head = is.read_bytes()?;
2171                },
2172                18 => {
2173                    self.tail = is.read_bytes()?;
2174                },
2175                tag => {
2176                    ::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?;
2177                },
2178            };
2179        }
2180        ::std::result::Result::Ok(())
2181    }
2182
2183    // Compute sizes of nested messages
2184    #[allow(unused_variables)]
2185    fn compute_size(&self) -> u64 {
2186        let mut my_size = 0;
2187        if !self.head.is_empty() {
2188            my_size += ::protobuf::rt::bytes_size(1, &self.head);
2189        }
2190        if !self.tail.is_empty() {
2191            my_size += ::protobuf::rt::bytes_size(2, &self.tail);
2192        }
2193        my_size += ::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields());
2194        self.special_fields.cached_size().set(my_size as u32);
2195        my_size
2196    }
2197
2198    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::Result<()> {
2199        if !self.head.is_empty() {
2200            os.write_bytes(1, &self.head)?;
2201        }
2202        if !self.tail.is_empty() {
2203            os.write_bytes(2, &self.tail)?;
2204        }
2205        os.write_unknown_fields(self.special_fields.unknown_fields())?;
2206        ::std::result::Result::Ok(())
2207    }
2208
2209    fn special_fields(&self) -> &::protobuf::SpecialFields {
2210        &self.special_fields
2211    }
2212
2213    fn mut_special_fields(&mut self) -> &mut ::protobuf::SpecialFields {
2214        &mut self.special_fields
2215    }
2216
2217    fn new() -> MarketOrderIdList {
2218        MarketOrderIdList::new()
2219    }
2220
2221    fn clear(&mut self) {
2222        self.head.clear();
2223        self.tail.clear();
2224        self.special_fields.clear();
2225    }
2226
2227    fn default_instance() -> &'static MarketOrderIdList {
2228        static instance: MarketOrderIdList = MarketOrderIdList {
2229            head: ::std::vec::Vec::new(),
2230            tail: ::std::vec::Vec::new(),
2231            special_fields: ::protobuf::SpecialFields::new(),
2232        };
2233        &instance
2234    }
2235}
2236
2237impl ::protobuf::MessageFull for MarketOrderIdList {
2238    fn descriptor() -> ::protobuf::reflect::MessageDescriptor {
2239        static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::Lazy::new();
2240        descriptor.get(|| file_descriptor().message_by_package_relative_name("MarketOrderIdList").unwrap()).clone()
2241    }
2242}
2243
2244impl ::std::fmt::Display for MarketOrderIdList {
2245    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
2246        ::protobuf::text_format::fmt(self, f)
2247    }
2248}
2249
2250impl ::protobuf::reflect::ProtobufValue for MarketOrderIdList {
2251    type RuntimeType = ::protobuf::reflect::rt::RuntimeTypeMessage<Self>;
2252}
2253
2254// @@protoc_insertion_point(message:protocol.ChainParameters)
2255#[derive(PartialEq,Clone,Default,Debug)]
2256pub struct ChainParameters {
2257    // message fields
2258    // @@protoc_insertion_point(field:protocol.ChainParameters.chainParameter)
2259    pub chainParameter: ::std::vec::Vec<chain_parameters::ChainParameter>,
2260    // special fields
2261    // @@protoc_insertion_point(special_field:protocol.ChainParameters.special_fields)
2262    pub special_fields: ::protobuf::SpecialFields,
2263}
2264
2265impl<'a> ::std::default::Default for &'a ChainParameters {
2266    fn default() -> &'a ChainParameters {
2267        <ChainParameters as ::protobuf::Message>::default_instance()
2268    }
2269}
2270
2271impl ChainParameters {
2272    pub fn new() -> ChainParameters {
2273        ::std::default::Default::default()
2274    }
2275
2276    fn generated_message_descriptor_data() -> ::protobuf::reflect::GeneratedMessageDescriptorData {
2277        let mut fields = ::std::vec::Vec::with_capacity(1);
2278        let mut oneofs = ::std::vec::Vec::with_capacity(0);
2279        fields.push(::protobuf::reflect::rt::v2::make_vec_simpler_accessor::<_, _>(
2280            "chainParameter",
2281            |m: &ChainParameters| { &m.chainParameter },
2282            |m: &mut ChainParameters| { &mut m.chainParameter },
2283        ));
2284        ::protobuf::reflect::GeneratedMessageDescriptorData::new_2::<ChainParameters>(
2285            "ChainParameters",
2286            fields,
2287            oneofs,
2288        )
2289    }
2290}
2291
2292impl ::protobuf::Message for ChainParameters {
2293    const NAME: &'static str = "ChainParameters";
2294
2295    fn is_initialized(&self) -> bool {
2296        true
2297    }
2298
2299    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::Result<()> {
2300        while let Some(tag) = is.read_raw_tag_or_eof()? {
2301            match tag {
2302                10 => {
2303                    self.chainParameter.push(is.read_message()?);
2304                },
2305                tag => {
2306                    ::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?;
2307                },
2308            };
2309        }
2310        ::std::result::Result::Ok(())
2311    }
2312
2313    // Compute sizes of nested messages
2314    #[allow(unused_variables)]
2315    fn compute_size(&self) -> u64 {
2316        let mut my_size = 0;
2317        for value in &self.chainParameter {
2318            let len = value.compute_size();
2319            my_size += 1 + ::protobuf::rt::compute_raw_varint64_size(len) + len;
2320        };
2321        my_size += ::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields());
2322        self.special_fields.cached_size().set(my_size as u32);
2323        my_size
2324    }
2325
2326    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::Result<()> {
2327        for v in &self.chainParameter {
2328            ::protobuf::rt::write_message_field_with_cached_size(1, v, os)?;
2329        };
2330        os.write_unknown_fields(self.special_fields.unknown_fields())?;
2331        ::std::result::Result::Ok(())
2332    }
2333
2334    fn special_fields(&self) -> &::protobuf::SpecialFields {
2335        &self.special_fields
2336    }
2337
2338    fn mut_special_fields(&mut self) -> &mut ::protobuf::SpecialFields {
2339        &mut self.special_fields
2340    }
2341
2342    fn new() -> ChainParameters {
2343        ChainParameters::new()
2344    }
2345
2346    fn clear(&mut self) {
2347        self.chainParameter.clear();
2348        self.special_fields.clear();
2349    }
2350
2351    fn default_instance() -> &'static ChainParameters {
2352        static instance: ChainParameters = ChainParameters {
2353            chainParameter: ::std::vec::Vec::new(),
2354            special_fields: ::protobuf::SpecialFields::new(),
2355        };
2356        &instance
2357    }
2358}
2359
2360impl ::protobuf::MessageFull for ChainParameters {
2361    fn descriptor() -> ::protobuf::reflect::MessageDescriptor {
2362        static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::Lazy::new();
2363        descriptor.get(|| file_descriptor().message_by_package_relative_name("ChainParameters").unwrap()).clone()
2364    }
2365}
2366
2367impl ::std::fmt::Display for ChainParameters {
2368    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
2369        ::protobuf::text_format::fmt(self, f)
2370    }
2371}
2372
2373impl ::protobuf::reflect::ProtobufValue for ChainParameters {
2374    type RuntimeType = ::protobuf::reflect::rt::RuntimeTypeMessage<Self>;
2375}
2376
2377/// Nested message and enums of message `ChainParameters`
2378pub mod chain_parameters {
2379    // @@protoc_insertion_point(message:protocol.ChainParameters.ChainParameter)
2380    #[derive(PartialEq,Clone,Default,Debug)]
2381    pub struct ChainParameter {
2382        // message fields
2383        // @@protoc_insertion_point(field:protocol.ChainParameters.ChainParameter.key)
2384        pub key: ::std::string::String,
2385        // @@protoc_insertion_point(field:protocol.ChainParameters.ChainParameter.value)
2386        pub value: i64,
2387        // special fields
2388        // @@protoc_insertion_point(special_field:protocol.ChainParameters.ChainParameter.special_fields)
2389        pub special_fields: ::protobuf::SpecialFields,
2390    }
2391
2392    impl<'a> ::std::default::Default for &'a ChainParameter {
2393        fn default() -> &'a ChainParameter {
2394            <ChainParameter as ::protobuf::Message>::default_instance()
2395        }
2396    }
2397
2398    impl ChainParameter {
2399        pub fn new() -> ChainParameter {
2400            ::std::default::Default::default()
2401        }
2402
2403        pub(in super) fn generated_message_descriptor_data() -> ::protobuf::reflect::GeneratedMessageDescriptorData {
2404            let mut fields = ::std::vec::Vec::with_capacity(2);
2405            let mut oneofs = ::std::vec::Vec::with_capacity(0);
2406            fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
2407                "key",
2408                |m: &ChainParameter| { &m.key },
2409                |m: &mut ChainParameter| { &mut m.key },
2410            ));
2411            fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
2412                "value",
2413                |m: &ChainParameter| { &m.value },
2414                |m: &mut ChainParameter| { &mut m.value },
2415            ));
2416            ::protobuf::reflect::GeneratedMessageDescriptorData::new_2::<ChainParameter>(
2417                "ChainParameters.ChainParameter",
2418                fields,
2419                oneofs,
2420            )
2421        }
2422    }
2423
2424    impl ::protobuf::Message for ChainParameter {
2425        const NAME: &'static str = "ChainParameter";
2426
2427        fn is_initialized(&self) -> bool {
2428            true
2429        }
2430
2431        fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::Result<()> {
2432            while let Some(tag) = is.read_raw_tag_or_eof()? {
2433                match tag {
2434                    10 => {
2435                        self.key = is.read_string()?;
2436                    },
2437                    16 => {
2438                        self.value = is.read_int64()?;
2439                    },
2440                    tag => {
2441                        ::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?;
2442                    },
2443                };
2444            }
2445            ::std::result::Result::Ok(())
2446        }
2447
2448        // Compute sizes of nested messages
2449        #[allow(unused_variables)]
2450        fn compute_size(&self) -> u64 {
2451            let mut my_size = 0;
2452            if !self.key.is_empty() {
2453                my_size += ::protobuf::rt::string_size(1, &self.key);
2454            }
2455            if self.value != 0 {
2456                my_size += ::protobuf::rt::int64_size(2, self.value);
2457            }
2458            my_size += ::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields());
2459            self.special_fields.cached_size().set(my_size as u32);
2460            my_size
2461        }
2462
2463        fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::Result<()> {
2464            if !self.key.is_empty() {
2465                os.write_string(1, &self.key)?;
2466            }
2467            if self.value != 0 {
2468                os.write_int64(2, self.value)?;
2469            }
2470            os.write_unknown_fields(self.special_fields.unknown_fields())?;
2471            ::std::result::Result::Ok(())
2472        }
2473
2474        fn special_fields(&self) -> &::protobuf::SpecialFields {
2475            &self.special_fields
2476        }
2477
2478        fn mut_special_fields(&mut self) -> &mut ::protobuf::SpecialFields {
2479            &mut self.special_fields
2480        }
2481
2482        fn new() -> ChainParameter {
2483            ChainParameter::new()
2484        }
2485
2486        fn clear(&mut self) {
2487            self.key.clear();
2488            self.value = 0;
2489            self.special_fields.clear();
2490        }
2491
2492        fn default_instance() -> &'static ChainParameter {
2493            static instance: ChainParameter = ChainParameter {
2494                key: ::std::string::String::new(),
2495                value: 0,
2496                special_fields: ::protobuf::SpecialFields::new(),
2497            };
2498            &instance
2499        }
2500    }
2501
2502    impl ::protobuf::MessageFull for ChainParameter {
2503        fn descriptor() -> ::protobuf::reflect::MessageDescriptor {
2504            static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::Lazy::new();
2505            descriptor.get(|| super::file_descriptor().message_by_package_relative_name("ChainParameters.ChainParameter").unwrap()).clone()
2506        }
2507    }
2508
2509    impl ::std::fmt::Display for ChainParameter {
2510        fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
2511            ::protobuf::text_format::fmt(self, f)
2512        }
2513    }
2514
2515    impl ::protobuf::reflect::ProtobufValue for ChainParameter {
2516        type RuntimeType = ::protobuf::reflect::rt::RuntimeTypeMessage<Self>;
2517    }
2518}
2519
2520///  Account 
2521// @@protoc_insertion_point(message:protocol.Account)
2522#[derive(PartialEq,Clone,Default,Debug)]
2523pub struct Account {
2524    // message fields
2525    ///  account nick name
2526    // @@protoc_insertion_point(field:protocol.Account.account_name)
2527    pub account_name: ::std::vec::Vec<u8>,
2528    // @@protoc_insertion_point(field:protocol.Account.type)
2529    pub type_: ::protobuf::EnumOrUnknown<AccountType>,
2530    ///  the create address
2531    // @@protoc_insertion_point(field:protocol.Account.address)
2532    pub address: ::std::vec::Vec<u8>,
2533    ///  the trx balance
2534    // @@protoc_insertion_point(field:protocol.Account.balance)
2535    pub balance: i64,
2536    ///  the votes
2537    // @@protoc_insertion_point(field:protocol.Account.votes)
2538    pub votes: ::std::vec::Vec<Vote>,
2539    ///  the other asset owned by this account
2540    // @@protoc_insertion_point(field:protocol.Account.asset)
2541    pub asset: ::std::collections::HashMap<::std::string::String, i64>,
2542    ///  the other asset owned by this account,key is assetId
2543    // @@protoc_insertion_point(field:protocol.Account.assetV2)
2544    pub assetV2: ::std::collections::HashMap<::std::string::String, i64>,
2545    ///  the frozen balance for bandwidth
2546    // @@protoc_insertion_point(field:protocol.Account.frozen)
2547    pub frozen: ::std::vec::Vec<account::Frozen>,
2548    ///  bandwidth, get from frozen
2549    // @@protoc_insertion_point(field:protocol.Account.net_usage)
2550    pub net_usage: i64,
2551    /// Frozen balance provided by other accounts to this account
2552    // @@protoc_insertion_point(field:protocol.Account.acquired_delegated_frozen_balance_for_bandwidth)
2553    pub acquired_delegated_frozen_balance_for_bandwidth: i64,
2554    /// Freeze and provide balances to other accounts
2555    // @@protoc_insertion_point(field:protocol.Account.delegated_frozen_balance_for_bandwidth)
2556    pub delegated_frozen_balance_for_bandwidth: i64,
2557    // @@protoc_insertion_point(field:protocol.Account.old_tron_power)
2558    pub old_tron_power: i64,
2559    // @@protoc_insertion_point(field:protocol.Account.tron_power)
2560    pub tron_power: ::protobuf::MessageField<account::Frozen>,
2561    // @@protoc_insertion_point(field:protocol.Account.asset_optimized)
2562    pub asset_optimized: bool,
2563    ///  this account create time
2564    // @@protoc_insertion_point(field:protocol.Account.create_time)
2565    pub create_time: i64,
2566    ///  this last operation time, including transfer, voting and so on. //FIXME fix grammar
2567    // @@protoc_insertion_point(field:protocol.Account.latest_opration_time)
2568    pub latest_opration_time: i64,
2569    ///  witness block producing allowance
2570    // @@protoc_insertion_point(field:protocol.Account.allowance)
2571    pub allowance: i64,
2572    ///  last withdraw time
2573    // @@protoc_insertion_point(field:protocol.Account.latest_withdraw_time)
2574    pub latest_withdraw_time: i64,
2575    ///  not used so far
2576    // @@protoc_insertion_point(field:protocol.Account.code)
2577    pub code: ::std::vec::Vec<u8>,
2578    // @@protoc_insertion_point(field:protocol.Account.is_witness)
2579    pub is_witness: bool,
2580    // @@protoc_insertion_point(field:protocol.Account.is_committee)
2581    pub is_committee: bool,
2582    ///  frozen asset(for asset issuer)
2583    // @@protoc_insertion_point(field:protocol.Account.frozen_supply)
2584    pub frozen_supply: ::std::vec::Vec<account::Frozen>,
2585    ///  asset_issued_name
2586    // @@protoc_insertion_point(field:protocol.Account.asset_issued_name)
2587    pub asset_issued_name: ::std::vec::Vec<u8>,
2588    // @@protoc_insertion_point(field:protocol.Account.asset_issued_ID)
2589    pub asset_issued_ID: ::std::vec::Vec<u8>,
2590    // @@protoc_insertion_point(field:protocol.Account.latest_asset_operation_time)
2591    pub latest_asset_operation_time: ::std::collections::HashMap<::std::string::String, i64>,
2592    // @@protoc_insertion_point(field:protocol.Account.latest_asset_operation_timeV2)
2593    pub latest_asset_operation_timeV2: ::std::collections::HashMap<::std::string::String, i64>,
2594    // @@protoc_insertion_point(field:protocol.Account.free_net_usage)
2595    pub free_net_usage: i64,
2596    // @@protoc_insertion_point(field:protocol.Account.free_asset_net_usage)
2597    pub free_asset_net_usage: ::std::collections::HashMap<::std::string::String, i64>,
2598    // @@protoc_insertion_point(field:protocol.Account.free_asset_net_usageV2)
2599    pub free_asset_net_usageV2: ::std::collections::HashMap<::std::string::String, i64>,
2600    // @@protoc_insertion_point(field:protocol.Account.latest_consume_time)
2601    pub latest_consume_time: i64,
2602    // @@protoc_insertion_point(field:protocol.Account.latest_consume_free_time)
2603    pub latest_consume_free_time: i64,
2604    ///  the identity of this account, case insensitive
2605    // @@protoc_insertion_point(field:protocol.Account.account_id)
2606    pub account_id: ::std::vec::Vec<u8>,
2607    // @@protoc_insertion_point(field:protocol.Account.net_window_size)
2608    pub net_window_size: i64,
2609    // @@protoc_insertion_point(field:protocol.Account.net_window_optimized)
2610    pub net_window_optimized: bool,
2611    // @@protoc_insertion_point(field:protocol.Account.account_resource)
2612    pub account_resource: ::protobuf::MessageField<account::AccountResource>,
2613    // @@protoc_insertion_point(field:protocol.Account.codeHash)
2614    pub codeHash: ::std::vec::Vec<u8>,
2615    // @@protoc_insertion_point(field:protocol.Account.owner_permission)
2616    pub owner_permission: ::protobuf::MessageField<Permission>,
2617    // @@protoc_insertion_point(field:protocol.Account.witness_permission)
2618    pub witness_permission: ::protobuf::MessageField<Permission>,
2619    // @@protoc_insertion_point(field:protocol.Account.active_permission)
2620    pub active_permission: ::std::vec::Vec<Permission>,
2621    // @@protoc_insertion_point(field:protocol.Account.frozenV2)
2622    pub frozenV2: ::std::vec::Vec<account::FreezeV2>,
2623    // @@protoc_insertion_point(field:protocol.Account.unfrozenV2)
2624    pub unfrozenV2: ::std::vec::Vec<account::UnFreezeV2>,
2625    // @@protoc_insertion_point(field:protocol.Account.delegated_frozenV2_balance_for_bandwidth)
2626    pub delegated_frozenV2_balance_for_bandwidth: i64,
2627    // @@protoc_insertion_point(field:protocol.Account.acquired_delegated_frozenV2_balance_for_bandwidth)
2628    pub acquired_delegated_frozenV2_balance_for_bandwidth: i64,
2629    // special fields
2630    // @@protoc_insertion_point(special_field:protocol.Account.special_fields)
2631    pub special_fields: ::protobuf::SpecialFields,
2632}
2633
2634impl<'a> ::std::default::Default for &'a Account {
2635    fn default() -> &'a Account {
2636        <Account as ::protobuf::Message>::default_instance()
2637    }
2638}
2639
2640impl Account {
2641    pub fn new() -> Account {
2642        ::std::default::Default::default()
2643    }
2644
2645    fn generated_message_descriptor_data() -> ::protobuf::reflect::GeneratedMessageDescriptorData {
2646        let mut fields = ::std::vec::Vec::with_capacity(43);
2647        let mut oneofs = ::std::vec::Vec::with_capacity(0);
2648        fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
2649            "account_name",
2650            |m: &Account| { &m.account_name },
2651            |m: &mut Account| { &mut m.account_name },
2652        ));
2653        fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
2654            "type",
2655            |m: &Account| { &m.type_ },
2656            |m: &mut Account| { &mut m.type_ },
2657        ));
2658        fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
2659            "address",
2660            |m: &Account| { &m.address },
2661            |m: &mut Account| { &mut m.address },
2662        ));
2663        fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
2664            "balance",
2665            |m: &Account| { &m.balance },
2666            |m: &mut Account| { &mut m.balance },
2667        ));
2668        fields.push(::protobuf::reflect::rt::v2::make_vec_simpler_accessor::<_, _>(
2669            "votes",
2670            |m: &Account| { &m.votes },
2671            |m: &mut Account| { &mut m.votes },
2672        ));
2673        fields.push(::protobuf::reflect::rt::v2::make_map_simpler_accessor::<_, _, _>(
2674            "asset",
2675            |m: &Account| { &m.asset },
2676            |m: &mut Account| { &mut m.asset },
2677        ));
2678        fields.push(::protobuf::reflect::rt::v2::make_map_simpler_accessor::<_, _, _>(
2679            "assetV2",
2680            |m: &Account| { &m.assetV2 },
2681            |m: &mut Account| { &mut m.assetV2 },
2682        ));
2683        fields.push(::protobuf::reflect::rt::v2::make_vec_simpler_accessor::<_, _>(
2684            "frozen",
2685            |m: &Account| { &m.frozen },
2686            |m: &mut Account| { &mut m.frozen },
2687        ));
2688        fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
2689            "net_usage",
2690            |m: &Account| { &m.net_usage },
2691            |m: &mut Account| { &mut m.net_usage },
2692        ));
2693        fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
2694            "acquired_delegated_frozen_balance_for_bandwidth",
2695            |m: &Account| { &m.acquired_delegated_frozen_balance_for_bandwidth },
2696            |m: &mut Account| { &mut m.acquired_delegated_frozen_balance_for_bandwidth },
2697        ));
2698        fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
2699            "delegated_frozen_balance_for_bandwidth",
2700            |m: &Account| { &m.delegated_frozen_balance_for_bandwidth },
2701            |m: &mut Account| { &mut m.delegated_frozen_balance_for_bandwidth },
2702        ));
2703        fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
2704            "old_tron_power",
2705            |m: &Account| { &m.old_tron_power },
2706            |m: &mut Account| { &mut m.old_tron_power },
2707        ));
2708        fields.push(::protobuf::reflect::rt::v2::make_message_field_accessor::<_, account::Frozen>(
2709            "tron_power",
2710            |m: &Account| { &m.tron_power },
2711            |m: &mut Account| { &mut m.tron_power },
2712        ));
2713        fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
2714            "asset_optimized",
2715            |m: &Account| { &m.asset_optimized },
2716            |m: &mut Account| { &mut m.asset_optimized },
2717        ));
2718        fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
2719            "create_time",
2720            |m: &Account| { &m.create_time },
2721            |m: &mut Account| { &mut m.create_time },
2722        ));
2723        fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
2724            "latest_opration_time",
2725            |m: &Account| { &m.latest_opration_time },
2726            |m: &mut Account| { &mut m.latest_opration_time },
2727        ));
2728        fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
2729            "allowance",
2730            |m: &Account| { &m.allowance },
2731            |m: &mut Account| { &mut m.allowance },
2732        ));
2733        fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
2734            "latest_withdraw_time",
2735            |m: &Account| { &m.latest_withdraw_time },
2736            |m: &mut Account| { &mut m.latest_withdraw_time },
2737        ));
2738        fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
2739            "code",
2740            |m: &Account| { &m.code },
2741            |m: &mut Account| { &mut m.code },
2742        ));
2743        fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
2744            "is_witness",
2745            |m: &Account| { &m.is_witness },
2746            |m: &mut Account| { &mut m.is_witness },
2747        ));
2748        fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
2749            "is_committee",
2750            |m: &Account| { &m.is_committee },
2751            |m: &mut Account| { &mut m.is_committee },
2752        ));
2753        fields.push(::protobuf::reflect::rt::v2::make_vec_simpler_accessor::<_, _>(
2754            "frozen_supply",
2755            |m: &Account| { &m.frozen_supply },
2756            |m: &mut Account| { &mut m.frozen_supply },
2757        ));
2758        fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
2759            "asset_issued_name",
2760            |m: &Account| { &m.asset_issued_name },
2761            |m: &mut Account| { &mut m.asset_issued_name },
2762        ));
2763        fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
2764            "asset_issued_ID",
2765            |m: &Account| { &m.asset_issued_ID },
2766            |m: &mut Account| { &mut m.asset_issued_ID },
2767        ));
2768        fields.push(::protobuf::reflect::rt::v2::make_map_simpler_accessor::<_, _, _>(
2769            "latest_asset_operation_time",
2770            |m: &Account| { &m.latest_asset_operation_time },
2771            |m: &mut Account| { &mut m.latest_asset_operation_time },
2772        ));
2773        fields.push(::protobuf::reflect::rt::v2::make_map_simpler_accessor::<_, _, _>(
2774            "latest_asset_operation_timeV2",
2775            |m: &Account| { &m.latest_asset_operation_timeV2 },
2776            |m: &mut Account| { &mut m.latest_asset_operation_timeV2 },
2777        ));
2778        fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
2779            "free_net_usage",
2780            |m: &Account| { &m.free_net_usage },
2781            |m: &mut Account| { &mut m.free_net_usage },
2782        ));
2783        fields.push(::protobuf::reflect::rt::v2::make_map_simpler_accessor::<_, _, _>(
2784            "free_asset_net_usage",
2785            |m: &Account| { &m.free_asset_net_usage },
2786            |m: &mut Account| { &mut m.free_asset_net_usage },
2787        ));
2788        fields.push(::protobuf::reflect::rt::v2::make_map_simpler_accessor::<_, _, _>(
2789            "free_asset_net_usageV2",
2790            |m: &Account| { &m.free_asset_net_usageV2 },
2791            |m: &mut Account| { &mut m.free_asset_net_usageV2 },
2792        ));
2793        fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
2794            "latest_consume_time",
2795            |m: &Account| { &m.latest_consume_time },
2796            |m: &mut Account| { &mut m.latest_consume_time },
2797        ));
2798        fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
2799            "latest_consume_free_time",
2800            |m: &Account| { &m.latest_consume_free_time },
2801            |m: &mut Account| { &mut m.latest_consume_free_time },
2802        ));
2803        fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
2804            "account_id",
2805            |m: &Account| { &m.account_id },
2806            |m: &mut Account| { &mut m.account_id },
2807        ));
2808        fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
2809            "net_window_size",
2810            |m: &Account| { &m.net_window_size },
2811            |m: &mut Account| { &mut m.net_window_size },
2812        ));
2813        fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
2814            "net_window_optimized",
2815            |m: &Account| { &m.net_window_optimized },
2816            |m: &mut Account| { &mut m.net_window_optimized },
2817        ));
2818        fields.push(::protobuf::reflect::rt::v2::make_message_field_accessor::<_, account::AccountResource>(
2819            "account_resource",
2820            |m: &Account| { &m.account_resource },
2821            |m: &mut Account| { &mut m.account_resource },
2822        ));
2823        fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
2824            "codeHash",
2825            |m: &Account| { &m.codeHash },
2826            |m: &mut Account| { &mut m.codeHash },
2827        ));
2828        fields.push(::protobuf::reflect::rt::v2::make_message_field_accessor::<_, Permission>(
2829            "owner_permission",
2830            |m: &Account| { &m.owner_permission },
2831            |m: &mut Account| { &mut m.owner_permission },
2832        ));
2833        fields.push(::protobuf::reflect::rt::v2::make_message_field_accessor::<_, Permission>(
2834            "witness_permission",
2835            |m: &Account| { &m.witness_permission },
2836            |m: &mut Account| { &mut m.witness_permission },
2837        ));
2838        fields.push(::protobuf::reflect::rt::v2::make_vec_simpler_accessor::<_, _>(
2839            "active_permission",
2840            |m: &Account| { &m.active_permission },
2841            |m: &mut Account| { &mut m.active_permission },
2842        ));
2843        fields.push(::protobuf::reflect::rt::v2::make_vec_simpler_accessor::<_, _>(
2844            "frozenV2",
2845            |m: &Account| { &m.frozenV2 },
2846            |m: &mut Account| { &mut m.frozenV2 },
2847        ));
2848        fields.push(::protobuf::reflect::rt::v2::make_vec_simpler_accessor::<_, _>(
2849            "unfrozenV2",
2850            |m: &Account| { &m.unfrozenV2 },
2851            |m: &mut Account| { &mut m.unfrozenV2 },
2852        ));
2853        fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
2854            "delegated_frozenV2_balance_for_bandwidth",
2855            |m: &Account| { &m.delegated_frozenV2_balance_for_bandwidth },
2856            |m: &mut Account| { &mut m.delegated_frozenV2_balance_for_bandwidth },
2857        ));
2858        fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
2859            "acquired_delegated_frozenV2_balance_for_bandwidth",
2860            |m: &Account| { &m.acquired_delegated_frozenV2_balance_for_bandwidth },
2861            |m: &mut Account| { &mut m.acquired_delegated_frozenV2_balance_for_bandwidth },
2862        ));
2863        ::protobuf::reflect::GeneratedMessageDescriptorData::new_2::<Account>(
2864            "Account",
2865            fields,
2866            oneofs,
2867        )
2868    }
2869}
2870
2871impl ::protobuf::Message for Account {
2872    const NAME: &'static str = "Account";
2873
2874    fn is_initialized(&self) -> bool {
2875        true
2876    }
2877
2878    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::Result<()> {
2879        while let Some(tag) = is.read_raw_tag_or_eof()? {
2880            match tag {
2881                10 => {
2882                    self.account_name = is.read_bytes()?;
2883                },
2884                16 => {
2885                    self.type_ = is.read_enum_or_unknown()?;
2886                },
2887                26 => {
2888                    self.address = is.read_bytes()?;
2889                },
2890                32 => {
2891                    self.balance = is.read_int64()?;
2892                },
2893                42 => {
2894                    self.votes.push(is.read_message()?);
2895                },
2896                50 => {
2897                    let len = is.read_raw_varint32()?;
2898                    let old_limit = is.push_limit(len as u64)?;
2899                    let mut key = ::std::default::Default::default();
2900                    let mut value = ::std::default::Default::default();
2901                    while let Some(tag) = is.read_raw_tag_or_eof()? {
2902                        match tag {
2903                            10 => key = is.read_string()?,
2904                            16 => value = is.read_int64()?,
2905                            _ => ::protobuf::rt::skip_field_for_tag(tag, is)?,
2906                        };
2907                    }
2908                    is.pop_limit(old_limit);
2909                    self.asset.insert(key, value);
2910                },
2911                450 => {
2912                    let len = is.read_raw_varint32()?;
2913                    let old_limit = is.push_limit(len as u64)?;
2914                    let mut key = ::std::default::Default::default();
2915                    let mut value = ::std::default::Default::default();
2916                    while let Some(tag) = is.read_raw_tag_or_eof()? {
2917                        match tag {
2918                            10 => key = is.read_string()?,
2919                            16 => value = is.read_int64()?,
2920                            _ => ::protobuf::rt::skip_field_for_tag(tag, is)?,
2921                        };
2922                    }
2923                    is.pop_limit(old_limit);
2924                    self.assetV2.insert(key, value);
2925                },
2926                58 => {
2927                    self.frozen.push(is.read_message()?);
2928                },
2929                64 => {
2930                    self.net_usage = is.read_int64()?;
2931                },
2932                328 => {
2933                    self.acquired_delegated_frozen_balance_for_bandwidth = is.read_int64()?;
2934                },
2935                336 => {
2936                    self.delegated_frozen_balance_for_bandwidth = is.read_int64()?;
2937                },
2938                368 => {
2939                    self.old_tron_power = is.read_int64()?;
2940                },
2941                378 => {
2942                    ::protobuf::rt::read_singular_message_into_field(is, &mut self.tron_power)?;
2943                },
2944                480 => {
2945                    self.asset_optimized = is.read_bool()?;
2946                },
2947                72 => {
2948                    self.create_time = is.read_int64()?;
2949                },
2950                80 => {
2951                    self.latest_opration_time = is.read_int64()?;
2952                },
2953                88 => {
2954                    self.allowance = is.read_int64()?;
2955                },
2956                96 => {
2957                    self.latest_withdraw_time = is.read_int64()?;
2958                },
2959                106 => {
2960                    self.code = is.read_bytes()?;
2961                },
2962                112 => {
2963                    self.is_witness = is.read_bool()?;
2964                },
2965                120 => {
2966                    self.is_committee = is.read_bool()?;
2967                },
2968                130 => {
2969                    self.frozen_supply.push(is.read_message()?);
2970                },
2971                138 => {
2972                    self.asset_issued_name = is.read_bytes()?;
2973                },
2974                458 => {
2975                    self.asset_issued_ID = is.read_bytes()?;
2976                },
2977                146 => {
2978                    let len = is.read_raw_varint32()?;
2979                    let old_limit = is.push_limit(len as u64)?;
2980                    let mut key = ::std::default::Default::default();
2981                    let mut value = ::std::default::Default::default();
2982                    while let Some(tag) = is.read_raw_tag_or_eof()? {
2983                        match tag {
2984                            10 => key = is.read_string()?,
2985                            16 => value = is.read_int64()?,
2986                            _ => ::protobuf::rt::skip_field_for_tag(tag, is)?,
2987                        };
2988                    }
2989                    is.pop_limit(old_limit);
2990                    self.latest_asset_operation_time.insert(key, value);
2991                },
2992                466 => {
2993                    let len = is.read_raw_varint32()?;
2994                    let old_limit = is.push_limit(len as u64)?;
2995                    let mut key = ::std::default::Default::default();
2996                    let mut value = ::std::default::Default::default();
2997                    while let Some(tag) = is.read_raw_tag_or_eof()? {
2998                        match tag {
2999                            10 => key = is.read_string()?,
3000                            16 => value = is.read_int64()?,
3001                            _ => ::protobuf::rt::skip_field_for_tag(tag, is)?,
3002                        };
3003                    }
3004                    is.pop_limit(old_limit);
3005                    self.latest_asset_operation_timeV2.insert(key, value);
3006                },
3007                152 => {
3008                    self.free_net_usage = is.read_int64()?;
3009                },
3010                162 => {
3011                    let len = is.read_raw_varint32()?;
3012                    let old_limit = is.push_limit(len as u64)?;
3013                    let mut key = ::std::default::Default::default();
3014                    let mut value = ::std::default::Default::default();
3015                    while let Some(tag) = is.read_raw_tag_or_eof()? {
3016                        match tag {
3017                            10 => key = is.read_string()?,
3018                            16 => value = is.read_int64()?,
3019                            _ => ::protobuf::rt::skip_field_for_tag(tag, is)?,
3020                        };
3021                    }
3022                    is.pop_limit(old_limit);
3023                    self.free_asset_net_usage.insert(key, value);
3024                },
3025                474 => {
3026                    let len = is.read_raw_varint32()?;
3027                    let old_limit = is.push_limit(len as u64)?;
3028                    let mut key = ::std::default::Default::default();
3029                    let mut value = ::std::default::Default::default();
3030                    while let Some(tag) = is.read_raw_tag_or_eof()? {
3031                        match tag {
3032                            10 => key = is.read_string()?,
3033                            16 => value = is.read_int64()?,
3034                            _ => ::protobuf::rt::skip_field_for_tag(tag, is)?,
3035                        };
3036                    }
3037                    is.pop_limit(old_limit);
3038                    self.free_asset_net_usageV2.insert(key, value);
3039                },
3040                168 => {
3041                    self.latest_consume_time = is.read_int64()?;
3042                },
3043                176 => {
3044                    self.latest_consume_free_time = is.read_int64()?;
3045                },
3046                186 => {
3047                    self.account_id = is.read_bytes()?;
3048                },
3049                192 => {
3050                    self.net_window_size = is.read_int64()?;
3051                },
3052                200 => {
3053                    self.net_window_optimized = is.read_bool()?;
3054                },
3055                210 => {
3056                    ::protobuf::rt::read_singular_message_into_field(is, &mut self.account_resource)?;
3057                },
3058                242 => {
3059                    self.codeHash = is.read_bytes()?;
3060                },
3061                250 => {
3062                    ::protobuf::rt::read_singular_message_into_field(is, &mut self.owner_permission)?;
3063                },
3064                258 => {
3065                    ::protobuf::rt::read_singular_message_into_field(is, &mut self.witness_permission)?;
3066                },
3067                266 => {
3068                    self.active_permission.push(is.read_message()?);
3069                },
3070                274 => {
3071                    self.frozenV2.push(is.read_message()?);
3072                },
3073                282 => {
3074                    self.unfrozenV2.push(is.read_message()?);
3075                },
3076                288 => {
3077                    self.delegated_frozenV2_balance_for_bandwidth = is.read_int64()?;
3078                },
3079                296 => {
3080                    self.acquired_delegated_frozenV2_balance_for_bandwidth = is.read_int64()?;
3081                },
3082                tag => {
3083                    ::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?;
3084                },
3085            };
3086        }
3087        ::std::result::Result::Ok(())
3088    }
3089
3090    // Compute sizes of nested messages
3091    #[allow(unused_variables)]
3092    fn compute_size(&self) -> u64 {
3093        let mut my_size = 0;
3094        if !self.account_name.is_empty() {
3095            my_size += ::protobuf::rt::bytes_size(1, &self.account_name);
3096        }
3097        if self.type_ != ::protobuf::EnumOrUnknown::new(AccountType::Normal) {
3098            my_size += ::protobuf::rt::int32_size(2, self.type_.value());
3099        }
3100        if !self.address.is_empty() {
3101            my_size += ::protobuf::rt::bytes_size(3, &self.address);
3102        }
3103        if self.balance != 0 {
3104            my_size += ::protobuf::rt::int64_size(4, self.balance);
3105        }
3106        for value in &self.votes {
3107            let len = value.compute_size();
3108            my_size += 1 + ::protobuf::rt::compute_raw_varint64_size(len) + len;
3109        };
3110        for (k, v) in &self.asset {
3111            let mut entry_size = 0;
3112            entry_size += ::protobuf::rt::string_size(1, &k);
3113            entry_size += ::protobuf::rt::int64_size(2, *v);
3114            my_size += 1 + ::protobuf::rt::compute_raw_varint64_size(entry_size) + entry_size
3115        };
3116        for (k, v) in &self.assetV2 {
3117            let mut entry_size = 0;
3118            entry_size += ::protobuf::rt::string_size(1, &k);
3119            entry_size += ::protobuf::rt::int64_size(2, *v);
3120            my_size += 2 + ::protobuf::rt::compute_raw_varint64_size(entry_size) + entry_size
3121        };
3122        for value in &self.frozen {
3123            let len = value.compute_size();
3124            my_size += 1 + ::protobuf::rt::compute_raw_varint64_size(len) + len;
3125        };
3126        if self.net_usage != 0 {
3127            my_size += ::protobuf::rt::int64_size(8, self.net_usage);
3128        }
3129        if self.acquired_delegated_frozen_balance_for_bandwidth != 0 {
3130            my_size += ::protobuf::rt::int64_size(41, self.acquired_delegated_frozen_balance_for_bandwidth);
3131        }
3132        if self.delegated_frozen_balance_for_bandwidth != 0 {
3133            my_size += ::protobuf::rt::int64_size(42, self.delegated_frozen_balance_for_bandwidth);
3134        }
3135        if self.old_tron_power != 0 {
3136            my_size += ::protobuf::rt::int64_size(46, self.old_tron_power);
3137        }
3138        if let Some(v) = self.tron_power.as_ref() {
3139            let len = v.compute_size();
3140            my_size += 2 + ::protobuf::rt::compute_raw_varint64_size(len) + len;
3141        }
3142        if self.asset_optimized != false {
3143            my_size += 2 + 1;
3144        }
3145        if self.create_time != 0 {
3146            my_size += ::protobuf::rt::int64_size(9, self.create_time);
3147        }
3148        if self.latest_opration_time != 0 {
3149            my_size += ::protobuf::rt::int64_size(10, self.latest_opration_time);
3150        }
3151        if self.allowance != 0 {
3152            my_size += ::protobuf::rt::int64_size(11, self.allowance);
3153        }
3154        if self.latest_withdraw_time != 0 {
3155            my_size += ::protobuf::rt::int64_size(12, self.latest_withdraw_time);
3156        }
3157        if !self.code.is_empty() {
3158            my_size += ::protobuf::rt::bytes_size(13, &self.code);
3159        }
3160        if self.is_witness != false {
3161            my_size += 1 + 1;
3162        }
3163        if self.is_committee != false {
3164            my_size += 1 + 1;
3165        }
3166        for value in &self.frozen_supply {
3167            let len = value.compute_size();
3168            my_size += 2 + ::protobuf::rt::compute_raw_varint64_size(len) + len;
3169        };
3170        if !self.asset_issued_name.is_empty() {
3171            my_size += ::protobuf::rt::bytes_size(17, &self.asset_issued_name);
3172        }
3173        if !self.asset_issued_ID.is_empty() {
3174            my_size += ::protobuf::rt::bytes_size(57, &self.asset_issued_ID);
3175        }
3176        for (k, v) in &self.latest_asset_operation_time {
3177            let mut entry_size = 0;
3178            entry_size += ::protobuf::rt::string_size(1, &k);
3179            entry_size += ::protobuf::rt::int64_size(2, *v);
3180            my_size += 2 + ::protobuf::rt::compute_raw_varint64_size(entry_size) + entry_size
3181        };
3182        for (k, v) in &self.latest_asset_operation_timeV2 {
3183            let mut entry_size = 0;
3184            entry_size += ::protobuf::rt::string_size(1, &k);
3185            entry_size += ::protobuf::rt::int64_size(2, *v);
3186            my_size += 2 + ::protobuf::rt::compute_raw_varint64_size(entry_size) + entry_size
3187        };
3188        if self.free_net_usage != 0 {
3189            my_size += ::protobuf::rt::int64_size(19, self.free_net_usage);
3190        }
3191        for (k, v) in &self.free_asset_net_usage {
3192            let mut entry_size = 0;
3193            entry_size += ::protobuf::rt::string_size(1, &k);
3194            entry_size += ::protobuf::rt::int64_size(2, *v);
3195            my_size += 2 + ::protobuf::rt::compute_raw_varint64_size(entry_size) + entry_size
3196        };
3197        for (k, v) in &self.free_asset_net_usageV2 {
3198            let mut entry_size = 0;
3199            entry_size += ::protobuf::rt::string_size(1, &k);
3200            entry_size += ::protobuf::rt::int64_size(2, *v);
3201            my_size += 2 + ::protobuf::rt::compute_raw_varint64_size(entry_size) + entry_size
3202        };
3203        if self.latest_consume_time != 0 {
3204            my_size += ::protobuf::rt::int64_size(21, self.latest_consume_time);
3205        }
3206        if self.latest_consume_free_time != 0 {
3207            my_size += ::protobuf::rt::int64_size(22, self.latest_consume_free_time);
3208        }
3209        if !self.account_id.is_empty() {
3210            my_size += ::protobuf::rt::bytes_size(23, &self.account_id);
3211        }
3212        if self.net_window_size != 0 {
3213            my_size += ::protobuf::rt::int64_size(24, self.net_window_size);
3214        }
3215        if self.net_window_optimized != false {
3216            my_size += 2 + 1;
3217        }
3218        if let Some(v) = self.account_resource.as_ref() {
3219            let len = v.compute_size();
3220            my_size += 2 + ::protobuf::rt::compute_raw_varint64_size(len) + len;
3221        }
3222        if !self.codeHash.is_empty() {
3223            my_size += ::protobuf::rt::bytes_size(30, &self.codeHash);
3224        }
3225        if let Some(v) = self.owner_permission.as_ref() {
3226            let len = v.compute_size();
3227            my_size += 2 + ::protobuf::rt::compute_raw_varint64_size(len) + len;
3228        }
3229        if let Some(v) = self.witness_permission.as_ref() {
3230            let len = v.compute_size();
3231            my_size += 2 + ::protobuf::rt::compute_raw_varint64_size(len) + len;
3232        }
3233        for value in &self.active_permission {
3234            let len = value.compute_size();
3235            my_size += 2 + ::protobuf::rt::compute_raw_varint64_size(len) + len;
3236        };
3237        for value in &self.frozenV2 {
3238            let len = value.compute_size();
3239            my_size += 2 + ::protobuf::rt::compute_raw_varint64_size(len) + len;
3240        };
3241        for value in &self.unfrozenV2 {
3242            let len = value.compute_size();
3243            my_size += 2 + ::protobuf::rt::compute_raw_varint64_size(len) + len;
3244        };
3245        if self.delegated_frozenV2_balance_for_bandwidth != 0 {
3246            my_size += ::protobuf::rt::int64_size(36, self.delegated_frozenV2_balance_for_bandwidth);
3247        }
3248        if self.acquired_delegated_frozenV2_balance_for_bandwidth != 0 {
3249            my_size += ::protobuf::rt::int64_size(37, self.acquired_delegated_frozenV2_balance_for_bandwidth);
3250        }
3251        my_size += ::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields());
3252        self.special_fields.cached_size().set(my_size as u32);
3253        my_size
3254    }
3255
3256    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::Result<()> {
3257        if !self.account_name.is_empty() {
3258            os.write_bytes(1, &self.account_name)?;
3259        }
3260        if self.type_ != ::protobuf::EnumOrUnknown::new(AccountType::Normal) {
3261            os.write_enum(2, ::protobuf::EnumOrUnknown::value(&self.type_))?;
3262        }
3263        if !self.address.is_empty() {
3264            os.write_bytes(3, &self.address)?;
3265        }
3266        if self.balance != 0 {
3267            os.write_int64(4, self.balance)?;
3268        }
3269        for v in &self.votes {
3270            ::protobuf::rt::write_message_field_with_cached_size(5, v, os)?;
3271        };
3272        for (k, v) in &self.asset {
3273            let mut entry_size = 0;
3274            entry_size += ::protobuf::rt::string_size(1, &k);
3275            entry_size += ::protobuf::rt::int64_size(2, *v);
3276            os.write_raw_varint32(50)?; // Tag.
3277            os.write_raw_varint32(entry_size as u32)?;
3278            os.write_string(1, &k)?;
3279            os.write_int64(2, *v)?;
3280        };
3281        for (k, v) in &self.assetV2 {
3282            let mut entry_size = 0;
3283            entry_size += ::protobuf::rt::string_size(1, &k);
3284            entry_size += ::protobuf::rt::int64_size(2, *v);
3285            os.write_raw_varint32(450)?; // Tag.
3286            os.write_raw_varint32(entry_size as u32)?;
3287            os.write_string(1, &k)?;
3288            os.write_int64(2, *v)?;
3289        };
3290        for v in &self.frozen {
3291            ::protobuf::rt::write_message_field_with_cached_size(7, v, os)?;
3292        };
3293        if self.net_usage != 0 {
3294            os.write_int64(8, self.net_usage)?;
3295        }
3296        if self.acquired_delegated_frozen_balance_for_bandwidth != 0 {
3297            os.write_int64(41, self.acquired_delegated_frozen_balance_for_bandwidth)?;
3298        }
3299        if self.delegated_frozen_balance_for_bandwidth != 0 {
3300            os.write_int64(42, self.delegated_frozen_balance_for_bandwidth)?;
3301        }
3302        if self.old_tron_power != 0 {
3303            os.write_int64(46, self.old_tron_power)?;
3304        }
3305        if let Some(v) = self.tron_power.as_ref() {
3306            ::protobuf::rt::write_message_field_with_cached_size(47, v, os)?;
3307        }
3308        if self.asset_optimized != false {
3309            os.write_bool(60, self.asset_optimized)?;
3310        }
3311        if self.create_time != 0 {
3312            os.write_int64(9, self.create_time)?;
3313        }
3314        if self.latest_opration_time != 0 {
3315            os.write_int64(10, self.latest_opration_time)?;
3316        }
3317        if self.allowance != 0 {
3318            os.write_int64(11, self.allowance)?;
3319        }
3320        if self.latest_withdraw_time != 0 {
3321            os.write_int64(12, self.latest_withdraw_time)?;
3322        }
3323        if !self.code.is_empty() {
3324            os.write_bytes(13, &self.code)?;
3325        }
3326        if self.is_witness != false {
3327            os.write_bool(14, self.is_witness)?;
3328        }
3329        if self.is_committee != false {
3330            os.write_bool(15, self.is_committee)?;
3331        }
3332        for v in &self.frozen_supply {
3333            ::protobuf::rt::write_message_field_with_cached_size(16, v, os)?;
3334        };
3335        if !self.asset_issued_name.is_empty() {
3336            os.write_bytes(17, &self.asset_issued_name)?;
3337        }
3338        if !self.asset_issued_ID.is_empty() {
3339            os.write_bytes(57, &self.asset_issued_ID)?;
3340        }
3341        for (k, v) in &self.latest_asset_operation_time {
3342            let mut entry_size = 0;
3343            entry_size += ::protobuf::rt::string_size(1, &k);
3344            entry_size += ::protobuf::rt::int64_size(2, *v);
3345            os.write_raw_varint32(146)?; // Tag.
3346            os.write_raw_varint32(entry_size as u32)?;
3347            os.write_string(1, &k)?;
3348            os.write_int64(2, *v)?;
3349        };
3350        for (k, v) in &self.latest_asset_operation_timeV2 {
3351            let mut entry_size = 0;
3352            entry_size += ::protobuf::rt::string_size(1, &k);
3353            entry_size += ::protobuf::rt::int64_size(2, *v);
3354            os.write_raw_varint32(466)?; // Tag.
3355            os.write_raw_varint32(entry_size as u32)?;
3356            os.write_string(1, &k)?;
3357            os.write_int64(2, *v)?;
3358        };
3359        if self.free_net_usage != 0 {
3360            os.write_int64(19, self.free_net_usage)?;
3361        }
3362        for (k, v) in &self.free_asset_net_usage {
3363            let mut entry_size = 0;
3364            entry_size += ::protobuf::rt::string_size(1, &k);
3365            entry_size += ::protobuf::rt::int64_size(2, *v);
3366            os.write_raw_varint32(162)?; // Tag.
3367            os.write_raw_varint32(entry_size as u32)?;
3368            os.write_string(1, &k)?;
3369            os.write_int64(2, *v)?;
3370        };
3371        for (k, v) in &self.free_asset_net_usageV2 {
3372            let mut entry_size = 0;
3373            entry_size += ::protobuf::rt::string_size(1, &k);
3374            entry_size += ::protobuf::rt::int64_size(2, *v);
3375            os.write_raw_varint32(474)?; // Tag.
3376            os.write_raw_varint32(entry_size as u32)?;
3377            os.write_string(1, &k)?;
3378            os.write_int64(2, *v)?;
3379        };
3380        if self.latest_consume_time != 0 {
3381            os.write_int64(21, self.latest_consume_time)?;
3382        }
3383        if self.latest_consume_free_time != 0 {
3384            os.write_int64(22, self.latest_consume_free_time)?;
3385        }
3386        if !self.account_id.is_empty() {
3387            os.write_bytes(23, &self.account_id)?;
3388        }
3389        if self.net_window_size != 0 {
3390            os.write_int64(24, self.net_window_size)?;
3391        }
3392        if self.net_window_optimized != false {
3393            os.write_bool(25, self.net_window_optimized)?;
3394        }
3395        if let Some(v) = self.account_resource.as_ref() {
3396            ::protobuf::rt::write_message_field_with_cached_size(26, v, os)?;
3397        }
3398        if !self.codeHash.is_empty() {
3399            os.write_bytes(30, &self.codeHash)?;
3400        }
3401        if let Some(v) = self.owner_permission.as_ref() {
3402            ::protobuf::rt::write_message_field_with_cached_size(31, v, os)?;
3403        }
3404        if let Some(v) = self.witness_permission.as_ref() {
3405            ::protobuf::rt::write_message_field_with_cached_size(32, v, os)?;
3406        }
3407        for v in &self.active_permission {
3408            ::protobuf::rt::write_message_field_with_cached_size(33, v, os)?;
3409        };
3410        for v in &self.frozenV2 {
3411            ::protobuf::rt::write_message_field_with_cached_size(34, v, os)?;
3412        };
3413        for v in &self.unfrozenV2 {
3414            ::protobuf::rt::write_message_field_with_cached_size(35, v, os)?;
3415        };
3416        if self.delegated_frozenV2_balance_for_bandwidth != 0 {
3417            os.write_int64(36, self.delegated_frozenV2_balance_for_bandwidth)?;
3418        }
3419        if self.acquired_delegated_frozenV2_balance_for_bandwidth != 0 {
3420            os.write_int64(37, self.acquired_delegated_frozenV2_balance_for_bandwidth)?;
3421        }
3422        os.write_unknown_fields(self.special_fields.unknown_fields())?;
3423        ::std::result::Result::Ok(())
3424    }
3425
3426    fn special_fields(&self) -> &::protobuf::SpecialFields {
3427        &self.special_fields
3428    }
3429
3430    fn mut_special_fields(&mut self) -> &mut ::protobuf::SpecialFields {
3431        &mut self.special_fields
3432    }
3433
3434    fn new() -> Account {
3435        Account::new()
3436    }
3437
3438    fn clear(&mut self) {
3439        self.account_name.clear();
3440        self.type_ = ::protobuf::EnumOrUnknown::new(AccountType::Normal);
3441        self.address.clear();
3442        self.balance = 0;
3443        self.votes.clear();
3444        self.asset.clear();
3445        self.assetV2.clear();
3446        self.frozen.clear();
3447        self.net_usage = 0;
3448        self.acquired_delegated_frozen_balance_for_bandwidth = 0;
3449        self.delegated_frozen_balance_for_bandwidth = 0;
3450        self.old_tron_power = 0;
3451        self.tron_power.clear();
3452        self.asset_optimized = false;
3453        self.create_time = 0;
3454        self.latest_opration_time = 0;
3455        self.allowance = 0;
3456        self.latest_withdraw_time = 0;
3457        self.code.clear();
3458        self.is_witness = false;
3459        self.is_committee = false;
3460        self.frozen_supply.clear();
3461        self.asset_issued_name.clear();
3462        self.asset_issued_ID.clear();
3463        self.latest_asset_operation_time.clear();
3464        self.latest_asset_operation_timeV2.clear();
3465        self.free_net_usage = 0;
3466        self.free_asset_net_usage.clear();
3467        self.free_asset_net_usageV2.clear();
3468        self.latest_consume_time = 0;
3469        self.latest_consume_free_time = 0;
3470        self.account_id.clear();
3471        self.net_window_size = 0;
3472        self.net_window_optimized = false;
3473        self.account_resource.clear();
3474        self.codeHash.clear();
3475        self.owner_permission.clear();
3476        self.witness_permission.clear();
3477        self.active_permission.clear();
3478        self.frozenV2.clear();
3479        self.unfrozenV2.clear();
3480        self.delegated_frozenV2_balance_for_bandwidth = 0;
3481        self.acquired_delegated_frozenV2_balance_for_bandwidth = 0;
3482        self.special_fields.clear();
3483    }
3484
3485    fn default_instance() -> &'static Account {
3486        static instance: ::protobuf::rt::Lazy<Account> = ::protobuf::rt::Lazy::new();
3487        instance.get(Account::new)
3488    }
3489}
3490
3491impl ::protobuf::MessageFull for Account {
3492    fn descriptor() -> ::protobuf::reflect::MessageDescriptor {
3493        static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::Lazy::new();
3494        descriptor.get(|| file_descriptor().message_by_package_relative_name("Account").unwrap()).clone()
3495    }
3496}
3497
3498impl ::std::fmt::Display for Account {
3499    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
3500        ::protobuf::text_format::fmt(self, f)
3501    }
3502}
3503
3504impl ::protobuf::reflect::ProtobufValue for Account {
3505    type RuntimeType = ::protobuf::reflect::rt::RuntimeTypeMessage<Self>;
3506}
3507
3508/// Nested message and enums of message `Account`
3509pub mod account {
3510    ///  frozen balance 
3511    // @@protoc_insertion_point(message:protocol.Account.Frozen)
3512    #[derive(PartialEq,Clone,Default,Debug)]
3513    pub struct Frozen {
3514        // message fields
3515        // @@protoc_insertion_point(field:protocol.Account.Frozen.frozen_balance)
3516        pub frozen_balance: i64,
3517        // @@protoc_insertion_point(field:protocol.Account.Frozen.expire_time)
3518        pub expire_time: i64,
3519        // special fields
3520        // @@protoc_insertion_point(special_field:protocol.Account.Frozen.special_fields)
3521        pub special_fields: ::protobuf::SpecialFields,
3522    }
3523
3524    impl<'a> ::std::default::Default for &'a Frozen {
3525        fn default() -> &'a Frozen {
3526            <Frozen as ::protobuf::Message>::default_instance()
3527        }
3528    }
3529
3530    impl Frozen {
3531        pub fn new() -> Frozen {
3532            ::std::default::Default::default()
3533        }
3534
3535        pub(in super) fn generated_message_descriptor_data() -> ::protobuf::reflect::GeneratedMessageDescriptorData {
3536            let mut fields = ::std::vec::Vec::with_capacity(2);
3537            let mut oneofs = ::std::vec::Vec::with_capacity(0);
3538            fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
3539                "frozen_balance",
3540                |m: &Frozen| { &m.frozen_balance },
3541                |m: &mut Frozen| { &mut m.frozen_balance },
3542            ));
3543            fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
3544                "expire_time",
3545                |m: &Frozen| { &m.expire_time },
3546                |m: &mut Frozen| { &mut m.expire_time },
3547            ));
3548            ::protobuf::reflect::GeneratedMessageDescriptorData::new_2::<Frozen>(
3549                "Account.Frozen",
3550                fields,
3551                oneofs,
3552            )
3553        }
3554    }
3555
3556    impl ::protobuf::Message for Frozen {
3557        const NAME: &'static str = "Frozen";
3558
3559        fn is_initialized(&self) -> bool {
3560            true
3561        }
3562
3563        fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::Result<()> {
3564            while let Some(tag) = is.read_raw_tag_or_eof()? {
3565                match tag {
3566                    8 => {
3567                        self.frozen_balance = is.read_int64()?;
3568                    },
3569                    16 => {
3570                        self.expire_time = is.read_int64()?;
3571                    },
3572                    tag => {
3573                        ::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?;
3574                    },
3575                };
3576            }
3577            ::std::result::Result::Ok(())
3578        }
3579
3580        // Compute sizes of nested messages
3581        #[allow(unused_variables)]
3582        fn compute_size(&self) -> u64 {
3583            let mut my_size = 0;
3584            if self.frozen_balance != 0 {
3585                my_size += ::protobuf::rt::int64_size(1, self.frozen_balance);
3586            }
3587            if self.expire_time != 0 {
3588                my_size += ::protobuf::rt::int64_size(2, self.expire_time);
3589            }
3590            my_size += ::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields());
3591            self.special_fields.cached_size().set(my_size as u32);
3592            my_size
3593        }
3594
3595        fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::Result<()> {
3596            if self.frozen_balance != 0 {
3597                os.write_int64(1, self.frozen_balance)?;
3598            }
3599            if self.expire_time != 0 {
3600                os.write_int64(2, self.expire_time)?;
3601            }
3602            os.write_unknown_fields(self.special_fields.unknown_fields())?;
3603            ::std::result::Result::Ok(())
3604        }
3605
3606        fn special_fields(&self) -> &::protobuf::SpecialFields {
3607            &self.special_fields
3608        }
3609
3610        fn mut_special_fields(&mut self) -> &mut ::protobuf::SpecialFields {
3611            &mut self.special_fields
3612        }
3613
3614        fn new() -> Frozen {
3615            Frozen::new()
3616        }
3617
3618        fn clear(&mut self) {
3619            self.frozen_balance = 0;
3620            self.expire_time = 0;
3621            self.special_fields.clear();
3622        }
3623
3624        fn default_instance() -> &'static Frozen {
3625            static instance: Frozen = Frozen {
3626                frozen_balance: 0,
3627                expire_time: 0,
3628                special_fields: ::protobuf::SpecialFields::new(),
3629            };
3630            &instance
3631        }
3632    }
3633
3634    impl ::protobuf::MessageFull for Frozen {
3635        fn descriptor() -> ::protobuf::reflect::MessageDescriptor {
3636            static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::Lazy::new();
3637            descriptor.get(|| super::file_descriptor().message_by_package_relative_name("Account.Frozen").unwrap()).clone()
3638        }
3639    }
3640
3641    impl ::std::fmt::Display for Frozen {
3642        fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
3643            ::protobuf::text_format::fmt(self, f)
3644        }
3645    }
3646
3647    impl ::protobuf::reflect::ProtobufValue for Frozen {
3648        type RuntimeType = ::protobuf::reflect::rt::RuntimeTypeMessage<Self>;
3649    }
3650
3651    // @@protoc_insertion_point(message:protocol.Account.AccountResource)
3652    #[derive(PartialEq,Clone,Default,Debug)]
3653    pub struct AccountResource {
3654        // message fields
3655        // @@protoc_insertion_point(field:protocol.Account.AccountResource.energy_usage)
3656        pub energy_usage: i64,
3657        // @@protoc_insertion_point(field:protocol.Account.AccountResource.frozen_balance_for_energy)
3658        pub frozen_balance_for_energy: ::protobuf::MessageField<Frozen>,
3659        // @@protoc_insertion_point(field:protocol.Account.AccountResource.latest_consume_time_for_energy)
3660        pub latest_consume_time_for_energy: i64,
3661        // @@protoc_insertion_point(field:protocol.Account.AccountResource.acquired_delegated_frozen_balance_for_energy)
3662        pub acquired_delegated_frozen_balance_for_energy: i64,
3663        // @@protoc_insertion_point(field:protocol.Account.AccountResource.delegated_frozen_balance_for_energy)
3664        pub delegated_frozen_balance_for_energy: i64,
3665        // @@protoc_insertion_point(field:protocol.Account.AccountResource.storage_limit)
3666        pub storage_limit: i64,
3667        // @@protoc_insertion_point(field:protocol.Account.AccountResource.storage_usage)
3668        pub storage_usage: i64,
3669        // @@protoc_insertion_point(field:protocol.Account.AccountResource.latest_exchange_storage_time)
3670        pub latest_exchange_storage_time: i64,
3671        // @@protoc_insertion_point(field:protocol.Account.AccountResource.energy_window_size)
3672        pub energy_window_size: i64,
3673        // @@protoc_insertion_point(field:protocol.Account.AccountResource.delegated_frozenV2_balance_for_energy)
3674        pub delegated_frozenV2_balance_for_energy: i64,
3675        // @@protoc_insertion_point(field:protocol.Account.AccountResource.acquired_delegated_frozenV2_balance_for_energy)
3676        pub acquired_delegated_frozenV2_balance_for_energy: i64,
3677        // @@protoc_insertion_point(field:protocol.Account.AccountResource.energy_window_optimized)
3678        pub energy_window_optimized: bool,
3679        // special fields
3680        // @@protoc_insertion_point(special_field:protocol.Account.AccountResource.special_fields)
3681        pub special_fields: ::protobuf::SpecialFields,
3682    }
3683
3684    impl<'a> ::std::default::Default for &'a AccountResource {
3685        fn default() -> &'a AccountResource {
3686            <AccountResource as ::protobuf::Message>::default_instance()
3687        }
3688    }
3689
3690    impl AccountResource {
3691        pub fn new() -> AccountResource {
3692            ::std::default::Default::default()
3693        }
3694
3695        pub(in super) fn generated_message_descriptor_data() -> ::protobuf::reflect::GeneratedMessageDescriptorData {
3696            let mut fields = ::std::vec::Vec::with_capacity(12);
3697            let mut oneofs = ::std::vec::Vec::with_capacity(0);
3698            fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
3699                "energy_usage",
3700                |m: &AccountResource| { &m.energy_usage },
3701                |m: &mut AccountResource| { &mut m.energy_usage },
3702            ));
3703            fields.push(::protobuf::reflect::rt::v2::make_message_field_accessor::<_, Frozen>(
3704                "frozen_balance_for_energy",
3705                |m: &AccountResource| { &m.frozen_balance_for_energy },
3706                |m: &mut AccountResource| { &mut m.frozen_balance_for_energy },
3707            ));
3708            fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
3709                "latest_consume_time_for_energy",
3710                |m: &AccountResource| { &m.latest_consume_time_for_energy },
3711                |m: &mut AccountResource| { &mut m.latest_consume_time_for_energy },
3712            ));
3713            fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
3714                "acquired_delegated_frozen_balance_for_energy",
3715                |m: &AccountResource| { &m.acquired_delegated_frozen_balance_for_energy },
3716                |m: &mut AccountResource| { &mut m.acquired_delegated_frozen_balance_for_energy },
3717            ));
3718            fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
3719                "delegated_frozen_balance_for_energy",
3720                |m: &AccountResource| { &m.delegated_frozen_balance_for_energy },
3721                |m: &mut AccountResource| { &mut m.delegated_frozen_balance_for_energy },
3722            ));
3723            fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
3724                "storage_limit",
3725                |m: &AccountResource| { &m.storage_limit },
3726                |m: &mut AccountResource| { &mut m.storage_limit },
3727            ));
3728            fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
3729                "storage_usage",
3730                |m: &AccountResource| { &m.storage_usage },
3731                |m: &mut AccountResource| { &mut m.storage_usage },
3732            ));
3733            fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
3734                "latest_exchange_storage_time",
3735                |m: &AccountResource| { &m.latest_exchange_storage_time },
3736                |m: &mut AccountResource| { &mut m.latest_exchange_storage_time },
3737            ));
3738            fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
3739                "energy_window_size",
3740                |m: &AccountResource| { &m.energy_window_size },
3741                |m: &mut AccountResource| { &mut m.energy_window_size },
3742            ));
3743            fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
3744                "delegated_frozenV2_balance_for_energy",
3745                |m: &AccountResource| { &m.delegated_frozenV2_balance_for_energy },
3746                |m: &mut AccountResource| { &mut m.delegated_frozenV2_balance_for_energy },
3747            ));
3748            fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
3749                "acquired_delegated_frozenV2_balance_for_energy",
3750                |m: &AccountResource| { &m.acquired_delegated_frozenV2_balance_for_energy },
3751                |m: &mut AccountResource| { &mut m.acquired_delegated_frozenV2_balance_for_energy },
3752            ));
3753            fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
3754                "energy_window_optimized",
3755                |m: &AccountResource| { &m.energy_window_optimized },
3756                |m: &mut AccountResource| { &mut m.energy_window_optimized },
3757            ));
3758            ::protobuf::reflect::GeneratedMessageDescriptorData::new_2::<AccountResource>(
3759                "Account.AccountResource",
3760                fields,
3761                oneofs,
3762            )
3763        }
3764    }
3765
3766    impl ::protobuf::Message for AccountResource {
3767        const NAME: &'static str = "AccountResource";
3768
3769        fn is_initialized(&self) -> bool {
3770            true
3771        }
3772
3773        fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::Result<()> {
3774            while let Some(tag) = is.read_raw_tag_or_eof()? {
3775                match tag {
3776                    8 => {
3777                        self.energy_usage = is.read_int64()?;
3778                    },
3779                    18 => {
3780                        ::protobuf::rt::read_singular_message_into_field(is, &mut self.frozen_balance_for_energy)?;
3781                    },
3782                    24 => {
3783                        self.latest_consume_time_for_energy = is.read_int64()?;
3784                    },
3785                    32 => {
3786                        self.acquired_delegated_frozen_balance_for_energy = is.read_int64()?;
3787                    },
3788                    40 => {
3789                        self.delegated_frozen_balance_for_energy = is.read_int64()?;
3790                    },
3791                    48 => {
3792                        self.storage_limit = is.read_int64()?;
3793                    },
3794                    56 => {
3795                        self.storage_usage = is.read_int64()?;
3796                    },
3797                    64 => {
3798                        self.latest_exchange_storage_time = is.read_int64()?;
3799                    },
3800                    72 => {
3801                        self.energy_window_size = is.read_int64()?;
3802                    },
3803                    80 => {
3804                        self.delegated_frozenV2_balance_for_energy = is.read_int64()?;
3805                    },
3806                    88 => {
3807                        self.acquired_delegated_frozenV2_balance_for_energy = is.read_int64()?;
3808                    },
3809                    96 => {
3810                        self.energy_window_optimized = is.read_bool()?;
3811                    },
3812                    tag => {
3813                        ::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?;
3814                    },
3815                };
3816            }
3817            ::std::result::Result::Ok(())
3818        }
3819
3820        // Compute sizes of nested messages
3821        #[allow(unused_variables)]
3822        fn compute_size(&self) -> u64 {
3823            let mut my_size = 0;
3824            if self.energy_usage != 0 {
3825                my_size += ::protobuf::rt::int64_size(1, self.energy_usage);
3826            }
3827            if let Some(v) = self.frozen_balance_for_energy.as_ref() {
3828                let len = v.compute_size();
3829                my_size += 1 + ::protobuf::rt::compute_raw_varint64_size(len) + len;
3830            }
3831            if self.latest_consume_time_for_energy != 0 {
3832                my_size += ::protobuf::rt::int64_size(3, self.latest_consume_time_for_energy);
3833            }
3834            if self.acquired_delegated_frozen_balance_for_energy != 0 {
3835                my_size += ::protobuf::rt::int64_size(4, self.acquired_delegated_frozen_balance_for_energy);
3836            }
3837            if self.delegated_frozen_balance_for_energy != 0 {
3838                my_size += ::protobuf::rt::int64_size(5, self.delegated_frozen_balance_for_energy);
3839            }
3840            if self.storage_limit != 0 {
3841                my_size += ::protobuf::rt::int64_size(6, self.storage_limit);
3842            }
3843            if self.storage_usage != 0 {
3844                my_size += ::protobuf::rt::int64_size(7, self.storage_usage);
3845            }
3846            if self.latest_exchange_storage_time != 0 {
3847                my_size += ::protobuf::rt::int64_size(8, self.latest_exchange_storage_time);
3848            }
3849            if self.energy_window_size != 0 {
3850                my_size += ::protobuf::rt::int64_size(9, self.energy_window_size);
3851            }
3852            if self.delegated_frozenV2_balance_for_energy != 0 {
3853                my_size += ::protobuf::rt::int64_size(10, self.delegated_frozenV2_balance_for_energy);
3854            }
3855            if self.acquired_delegated_frozenV2_balance_for_energy != 0 {
3856                my_size += ::protobuf::rt::int64_size(11, self.acquired_delegated_frozenV2_balance_for_energy);
3857            }
3858            if self.energy_window_optimized != false {
3859                my_size += 1 + 1;
3860            }
3861            my_size += ::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields());
3862            self.special_fields.cached_size().set(my_size as u32);
3863            my_size
3864        }
3865
3866        fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::Result<()> {
3867            if self.energy_usage != 0 {
3868                os.write_int64(1, self.energy_usage)?;
3869            }
3870            if let Some(v) = self.frozen_balance_for_energy.as_ref() {
3871                ::protobuf::rt::write_message_field_with_cached_size(2, v, os)?;
3872            }
3873            if self.latest_consume_time_for_energy != 0 {
3874                os.write_int64(3, self.latest_consume_time_for_energy)?;
3875            }
3876            if self.acquired_delegated_frozen_balance_for_energy != 0 {
3877                os.write_int64(4, self.acquired_delegated_frozen_balance_for_energy)?;
3878            }
3879            if self.delegated_frozen_balance_for_energy != 0 {
3880                os.write_int64(5, self.delegated_frozen_balance_for_energy)?;
3881            }
3882            if self.storage_limit != 0 {
3883                os.write_int64(6, self.storage_limit)?;
3884            }
3885            if self.storage_usage != 0 {
3886                os.write_int64(7, self.storage_usage)?;
3887            }
3888            if self.latest_exchange_storage_time != 0 {
3889                os.write_int64(8, self.latest_exchange_storage_time)?;
3890            }
3891            if self.energy_window_size != 0 {
3892                os.write_int64(9, self.energy_window_size)?;
3893            }
3894            if self.delegated_frozenV2_balance_for_energy != 0 {
3895                os.write_int64(10, self.delegated_frozenV2_balance_for_energy)?;
3896            }
3897            if self.acquired_delegated_frozenV2_balance_for_energy != 0 {
3898                os.write_int64(11, self.acquired_delegated_frozenV2_balance_for_energy)?;
3899            }
3900            if self.energy_window_optimized != false {
3901                os.write_bool(12, self.energy_window_optimized)?;
3902            }
3903            os.write_unknown_fields(self.special_fields.unknown_fields())?;
3904            ::std::result::Result::Ok(())
3905        }
3906
3907        fn special_fields(&self) -> &::protobuf::SpecialFields {
3908            &self.special_fields
3909        }
3910
3911        fn mut_special_fields(&mut self) -> &mut ::protobuf::SpecialFields {
3912            &mut self.special_fields
3913        }
3914
3915        fn new() -> AccountResource {
3916            AccountResource::new()
3917        }
3918
3919        fn clear(&mut self) {
3920            self.energy_usage = 0;
3921            self.frozen_balance_for_energy.clear();
3922            self.latest_consume_time_for_energy = 0;
3923            self.acquired_delegated_frozen_balance_for_energy = 0;
3924            self.delegated_frozen_balance_for_energy = 0;
3925            self.storage_limit = 0;
3926            self.storage_usage = 0;
3927            self.latest_exchange_storage_time = 0;
3928            self.energy_window_size = 0;
3929            self.delegated_frozenV2_balance_for_energy = 0;
3930            self.acquired_delegated_frozenV2_balance_for_energy = 0;
3931            self.energy_window_optimized = false;
3932            self.special_fields.clear();
3933        }
3934
3935        fn default_instance() -> &'static AccountResource {
3936            static instance: AccountResource = AccountResource {
3937                energy_usage: 0,
3938                frozen_balance_for_energy: ::protobuf::MessageField::none(),
3939                latest_consume_time_for_energy: 0,
3940                acquired_delegated_frozen_balance_for_energy: 0,
3941                delegated_frozen_balance_for_energy: 0,
3942                storage_limit: 0,
3943                storage_usage: 0,
3944                latest_exchange_storage_time: 0,
3945                energy_window_size: 0,
3946                delegated_frozenV2_balance_for_energy: 0,
3947                acquired_delegated_frozenV2_balance_for_energy: 0,
3948                energy_window_optimized: false,
3949                special_fields: ::protobuf::SpecialFields::new(),
3950            };
3951            &instance
3952        }
3953    }
3954
3955    impl ::protobuf::MessageFull for AccountResource {
3956        fn descriptor() -> ::protobuf::reflect::MessageDescriptor {
3957            static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::Lazy::new();
3958            descriptor.get(|| super::file_descriptor().message_by_package_relative_name("Account.AccountResource").unwrap()).clone()
3959        }
3960    }
3961
3962    impl ::std::fmt::Display for AccountResource {
3963        fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
3964            ::protobuf::text_format::fmt(self, f)
3965        }
3966    }
3967
3968    impl ::protobuf::reflect::ProtobufValue for AccountResource {
3969        type RuntimeType = ::protobuf::reflect::rt::RuntimeTypeMessage<Self>;
3970    }
3971
3972    // @@protoc_insertion_point(message:protocol.Account.FreezeV2)
3973    #[derive(PartialEq,Clone,Default,Debug)]
3974    pub struct FreezeV2 {
3975        // message fields
3976        // @@protoc_insertion_point(field:protocol.Account.FreezeV2.type)
3977        pub type_: ::protobuf::EnumOrUnknown<super::super::common::ResourceCode>,
3978        // @@protoc_insertion_point(field:protocol.Account.FreezeV2.amount)
3979        pub amount: i64,
3980        // special fields
3981        // @@protoc_insertion_point(special_field:protocol.Account.FreezeV2.special_fields)
3982        pub special_fields: ::protobuf::SpecialFields,
3983    }
3984
3985    impl<'a> ::std::default::Default for &'a FreezeV2 {
3986        fn default() -> &'a FreezeV2 {
3987            <FreezeV2 as ::protobuf::Message>::default_instance()
3988        }
3989    }
3990
3991    impl FreezeV2 {
3992        pub fn new() -> FreezeV2 {
3993            ::std::default::Default::default()
3994        }
3995
3996        pub(in super) fn generated_message_descriptor_data() -> ::protobuf::reflect::GeneratedMessageDescriptorData {
3997            let mut fields = ::std::vec::Vec::with_capacity(2);
3998            let mut oneofs = ::std::vec::Vec::with_capacity(0);
3999            fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
4000                "type",
4001                |m: &FreezeV2| { &m.type_ },
4002                |m: &mut FreezeV2| { &mut m.type_ },
4003            ));
4004            fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
4005                "amount",
4006                |m: &FreezeV2| { &m.amount },
4007                |m: &mut FreezeV2| { &mut m.amount },
4008            ));
4009            ::protobuf::reflect::GeneratedMessageDescriptorData::new_2::<FreezeV2>(
4010                "Account.FreezeV2",
4011                fields,
4012                oneofs,
4013            )
4014        }
4015    }
4016
4017    impl ::protobuf::Message for FreezeV2 {
4018        const NAME: &'static str = "FreezeV2";
4019
4020        fn is_initialized(&self) -> bool {
4021            true
4022        }
4023
4024        fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::Result<()> {
4025            while let Some(tag) = is.read_raw_tag_or_eof()? {
4026                match tag {
4027                    8 => {
4028                        self.type_ = is.read_enum_or_unknown()?;
4029                    },
4030                    16 => {
4031                        self.amount = is.read_int64()?;
4032                    },
4033                    tag => {
4034                        ::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?;
4035                    },
4036                };
4037            }
4038            ::std::result::Result::Ok(())
4039        }
4040
4041        // Compute sizes of nested messages
4042        #[allow(unused_variables)]
4043        fn compute_size(&self) -> u64 {
4044            let mut my_size = 0;
4045            if self.type_ != ::protobuf::EnumOrUnknown::new(super::super::common::ResourceCode::BANDWIDTH) {
4046                my_size += ::protobuf::rt::int32_size(1, self.type_.value());
4047            }
4048            if self.amount != 0 {
4049                my_size += ::protobuf::rt::int64_size(2, self.amount);
4050            }
4051            my_size += ::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields());
4052            self.special_fields.cached_size().set(my_size as u32);
4053            my_size
4054        }
4055
4056        fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::Result<()> {
4057            if self.type_ != ::protobuf::EnumOrUnknown::new(super::super::common::ResourceCode::BANDWIDTH) {
4058                os.write_enum(1, ::protobuf::EnumOrUnknown::value(&self.type_))?;
4059            }
4060            if self.amount != 0 {
4061                os.write_int64(2, self.amount)?;
4062            }
4063            os.write_unknown_fields(self.special_fields.unknown_fields())?;
4064            ::std::result::Result::Ok(())
4065        }
4066
4067        fn special_fields(&self) -> &::protobuf::SpecialFields {
4068            &self.special_fields
4069        }
4070
4071        fn mut_special_fields(&mut self) -> &mut ::protobuf::SpecialFields {
4072            &mut self.special_fields
4073        }
4074
4075        fn new() -> FreezeV2 {
4076            FreezeV2::new()
4077        }
4078
4079        fn clear(&mut self) {
4080            self.type_ = ::protobuf::EnumOrUnknown::new(super::super::common::ResourceCode::BANDWIDTH);
4081            self.amount = 0;
4082            self.special_fields.clear();
4083        }
4084
4085        fn default_instance() -> &'static FreezeV2 {
4086            static instance: FreezeV2 = FreezeV2 {
4087                type_: ::protobuf::EnumOrUnknown::from_i32(0),
4088                amount: 0,
4089                special_fields: ::protobuf::SpecialFields::new(),
4090            };
4091            &instance
4092        }
4093    }
4094
4095    impl ::protobuf::MessageFull for FreezeV2 {
4096        fn descriptor() -> ::protobuf::reflect::MessageDescriptor {
4097            static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::Lazy::new();
4098            descriptor.get(|| super::file_descriptor().message_by_package_relative_name("Account.FreezeV2").unwrap()).clone()
4099        }
4100    }
4101
4102    impl ::std::fmt::Display for FreezeV2 {
4103        fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
4104            ::protobuf::text_format::fmt(self, f)
4105        }
4106    }
4107
4108    impl ::protobuf::reflect::ProtobufValue for FreezeV2 {
4109        type RuntimeType = ::protobuf::reflect::rt::RuntimeTypeMessage<Self>;
4110    }
4111
4112    // @@protoc_insertion_point(message:protocol.Account.UnFreezeV2)
4113    #[derive(PartialEq,Clone,Default,Debug)]
4114    pub struct UnFreezeV2 {
4115        // message fields
4116        // @@protoc_insertion_point(field:protocol.Account.UnFreezeV2.type)
4117        pub type_: ::protobuf::EnumOrUnknown<super::super::common::ResourceCode>,
4118        // @@protoc_insertion_point(field:protocol.Account.UnFreezeV2.unfreeze_amount)
4119        pub unfreeze_amount: i64,
4120        // @@protoc_insertion_point(field:protocol.Account.UnFreezeV2.unfreeze_expire_time)
4121        pub unfreeze_expire_time: i64,
4122        // special fields
4123        // @@protoc_insertion_point(special_field:protocol.Account.UnFreezeV2.special_fields)
4124        pub special_fields: ::protobuf::SpecialFields,
4125    }
4126
4127    impl<'a> ::std::default::Default for &'a UnFreezeV2 {
4128        fn default() -> &'a UnFreezeV2 {
4129            <UnFreezeV2 as ::protobuf::Message>::default_instance()
4130        }
4131    }
4132
4133    impl UnFreezeV2 {
4134        pub fn new() -> UnFreezeV2 {
4135            ::std::default::Default::default()
4136        }
4137
4138        pub(in super) fn generated_message_descriptor_data() -> ::protobuf::reflect::GeneratedMessageDescriptorData {
4139            let mut fields = ::std::vec::Vec::with_capacity(3);
4140            let mut oneofs = ::std::vec::Vec::with_capacity(0);
4141            fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
4142                "type",
4143                |m: &UnFreezeV2| { &m.type_ },
4144                |m: &mut UnFreezeV2| { &mut m.type_ },
4145            ));
4146            fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
4147                "unfreeze_amount",
4148                |m: &UnFreezeV2| { &m.unfreeze_amount },
4149                |m: &mut UnFreezeV2| { &mut m.unfreeze_amount },
4150            ));
4151            fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
4152                "unfreeze_expire_time",
4153                |m: &UnFreezeV2| { &m.unfreeze_expire_time },
4154                |m: &mut UnFreezeV2| { &mut m.unfreeze_expire_time },
4155            ));
4156            ::protobuf::reflect::GeneratedMessageDescriptorData::new_2::<UnFreezeV2>(
4157                "Account.UnFreezeV2",
4158                fields,
4159                oneofs,
4160            )
4161        }
4162    }
4163
4164    impl ::protobuf::Message for UnFreezeV2 {
4165        const NAME: &'static str = "UnFreezeV2";
4166
4167        fn is_initialized(&self) -> bool {
4168            true
4169        }
4170
4171        fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::Result<()> {
4172            while let Some(tag) = is.read_raw_tag_or_eof()? {
4173                match tag {
4174                    8 => {
4175                        self.type_ = is.read_enum_or_unknown()?;
4176                    },
4177                    24 => {
4178                        self.unfreeze_amount = is.read_int64()?;
4179                    },
4180                    32 => {
4181                        self.unfreeze_expire_time = is.read_int64()?;
4182                    },
4183                    tag => {
4184                        ::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?;
4185                    },
4186                };
4187            }
4188            ::std::result::Result::Ok(())
4189        }
4190
4191        // Compute sizes of nested messages
4192        #[allow(unused_variables)]
4193        fn compute_size(&self) -> u64 {
4194            let mut my_size = 0;
4195            if self.type_ != ::protobuf::EnumOrUnknown::new(super::super::common::ResourceCode::BANDWIDTH) {
4196                my_size += ::protobuf::rt::int32_size(1, self.type_.value());
4197            }
4198            if self.unfreeze_amount != 0 {
4199                my_size += ::protobuf::rt::int64_size(3, self.unfreeze_amount);
4200            }
4201            if self.unfreeze_expire_time != 0 {
4202                my_size += ::protobuf::rt::int64_size(4, self.unfreeze_expire_time);
4203            }
4204            my_size += ::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields());
4205            self.special_fields.cached_size().set(my_size as u32);
4206            my_size
4207        }
4208
4209        fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::Result<()> {
4210            if self.type_ != ::protobuf::EnumOrUnknown::new(super::super::common::ResourceCode::BANDWIDTH) {
4211                os.write_enum(1, ::protobuf::EnumOrUnknown::value(&self.type_))?;
4212            }
4213            if self.unfreeze_amount != 0 {
4214                os.write_int64(3, self.unfreeze_amount)?;
4215            }
4216            if self.unfreeze_expire_time != 0 {
4217                os.write_int64(4, self.unfreeze_expire_time)?;
4218            }
4219            os.write_unknown_fields(self.special_fields.unknown_fields())?;
4220            ::std::result::Result::Ok(())
4221        }
4222
4223        fn special_fields(&self) -> &::protobuf::SpecialFields {
4224            &self.special_fields
4225        }
4226
4227        fn mut_special_fields(&mut self) -> &mut ::protobuf::SpecialFields {
4228            &mut self.special_fields
4229        }
4230
4231        fn new() -> UnFreezeV2 {
4232            UnFreezeV2::new()
4233        }
4234
4235        fn clear(&mut self) {
4236            self.type_ = ::protobuf::EnumOrUnknown::new(super::super::common::ResourceCode::BANDWIDTH);
4237            self.unfreeze_amount = 0;
4238            self.unfreeze_expire_time = 0;
4239            self.special_fields.clear();
4240        }
4241
4242        fn default_instance() -> &'static UnFreezeV2 {
4243            static instance: UnFreezeV2 = UnFreezeV2 {
4244                type_: ::protobuf::EnumOrUnknown::from_i32(0),
4245                unfreeze_amount: 0,
4246                unfreeze_expire_time: 0,
4247                special_fields: ::protobuf::SpecialFields::new(),
4248            };
4249            &instance
4250        }
4251    }
4252
4253    impl ::protobuf::MessageFull for UnFreezeV2 {
4254        fn descriptor() -> ::protobuf::reflect::MessageDescriptor {
4255            static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::Lazy::new();
4256            descriptor.get(|| super::file_descriptor().message_by_package_relative_name("Account.UnFreezeV2").unwrap()).clone()
4257        }
4258    }
4259
4260    impl ::std::fmt::Display for UnFreezeV2 {
4261        fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
4262            ::protobuf::text_format::fmt(self, f)
4263        }
4264    }
4265
4266    impl ::protobuf::reflect::ProtobufValue for UnFreezeV2 {
4267        type RuntimeType = ::protobuf::reflect::rt::RuntimeTypeMessage<Self>;
4268    }
4269}
4270
4271// @@protoc_insertion_point(message:protocol.Key)
4272#[derive(PartialEq,Clone,Default,Debug)]
4273pub struct Key {
4274    // message fields
4275    // @@protoc_insertion_point(field:protocol.Key.address)
4276    pub address: ::std::vec::Vec<u8>,
4277    // @@protoc_insertion_point(field:protocol.Key.weight)
4278    pub weight: i64,
4279    // special fields
4280    // @@protoc_insertion_point(special_field:protocol.Key.special_fields)
4281    pub special_fields: ::protobuf::SpecialFields,
4282}
4283
4284impl<'a> ::std::default::Default for &'a Key {
4285    fn default() -> &'a Key {
4286        <Key as ::protobuf::Message>::default_instance()
4287    }
4288}
4289
4290impl Key {
4291    pub fn new() -> Key {
4292        ::std::default::Default::default()
4293    }
4294
4295    fn generated_message_descriptor_data() -> ::protobuf::reflect::GeneratedMessageDescriptorData {
4296        let mut fields = ::std::vec::Vec::with_capacity(2);
4297        let mut oneofs = ::std::vec::Vec::with_capacity(0);
4298        fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
4299            "address",
4300            |m: &Key| { &m.address },
4301            |m: &mut Key| { &mut m.address },
4302        ));
4303        fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
4304            "weight",
4305            |m: &Key| { &m.weight },
4306            |m: &mut Key| { &mut m.weight },
4307        ));
4308        ::protobuf::reflect::GeneratedMessageDescriptorData::new_2::<Key>(
4309            "Key",
4310            fields,
4311            oneofs,
4312        )
4313    }
4314}
4315
4316impl ::protobuf::Message for Key {
4317    const NAME: &'static str = "Key";
4318
4319    fn is_initialized(&self) -> bool {
4320        true
4321    }
4322
4323    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::Result<()> {
4324        while let Some(tag) = is.read_raw_tag_or_eof()? {
4325            match tag {
4326                10 => {
4327                    self.address = is.read_bytes()?;
4328                },
4329                16 => {
4330                    self.weight = is.read_int64()?;
4331                },
4332                tag => {
4333                    ::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?;
4334                },
4335            };
4336        }
4337        ::std::result::Result::Ok(())
4338    }
4339
4340    // Compute sizes of nested messages
4341    #[allow(unused_variables)]
4342    fn compute_size(&self) -> u64 {
4343        let mut my_size = 0;
4344        if !self.address.is_empty() {
4345            my_size += ::protobuf::rt::bytes_size(1, &self.address);
4346        }
4347        if self.weight != 0 {
4348            my_size += ::protobuf::rt::int64_size(2, self.weight);
4349        }
4350        my_size += ::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields());
4351        self.special_fields.cached_size().set(my_size as u32);
4352        my_size
4353    }
4354
4355    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::Result<()> {
4356        if !self.address.is_empty() {
4357            os.write_bytes(1, &self.address)?;
4358        }
4359        if self.weight != 0 {
4360            os.write_int64(2, self.weight)?;
4361        }
4362        os.write_unknown_fields(self.special_fields.unknown_fields())?;
4363        ::std::result::Result::Ok(())
4364    }
4365
4366    fn special_fields(&self) -> &::protobuf::SpecialFields {
4367        &self.special_fields
4368    }
4369
4370    fn mut_special_fields(&mut self) -> &mut ::protobuf::SpecialFields {
4371        &mut self.special_fields
4372    }
4373
4374    fn new() -> Key {
4375        Key::new()
4376    }
4377
4378    fn clear(&mut self) {
4379        self.address.clear();
4380        self.weight = 0;
4381        self.special_fields.clear();
4382    }
4383
4384    fn default_instance() -> &'static Key {
4385        static instance: Key = Key {
4386            address: ::std::vec::Vec::new(),
4387            weight: 0,
4388            special_fields: ::protobuf::SpecialFields::new(),
4389        };
4390        &instance
4391    }
4392}
4393
4394impl ::protobuf::MessageFull for Key {
4395    fn descriptor() -> ::protobuf::reflect::MessageDescriptor {
4396        static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::Lazy::new();
4397        descriptor.get(|| file_descriptor().message_by_package_relative_name("Key").unwrap()).clone()
4398    }
4399}
4400
4401impl ::std::fmt::Display for Key {
4402    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
4403        ::protobuf::text_format::fmt(self, f)
4404    }
4405}
4406
4407impl ::protobuf::reflect::ProtobufValue for Key {
4408    type RuntimeType = ::protobuf::reflect::rt::RuntimeTypeMessage<Self>;
4409}
4410
4411// @@protoc_insertion_point(message:protocol.DelegatedResource)
4412#[derive(PartialEq,Clone,Default,Debug)]
4413pub struct DelegatedResource {
4414    // message fields
4415    // @@protoc_insertion_point(field:protocol.DelegatedResource.from)
4416    pub from: ::std::vec::Vec<u8>,
4417    // @@protoc_insertion_point(field:protocol.DelegatedResource.to)
4418    pub to: ::std::vec::Vec<u8>,
4419    // @@protoc_insertion_point(field:protocol.DelegatedResource.frozen_balance_for_bandwidth)
4420    pub frozen_balance_for_bandwidth: i64,
4421    // @@protoc_insertion_point(field:protocol.DelegatedResource.frozen_balance_for_energy)
4422    pub frozen_balance_for_energy: i64,
4423    // @@protoc_insertion_point(field:protocol.DelegatedResource.expire_time_for_bandwidth)
4424    pub expire_time_for_bandwidth: i64,
4425    // @@protoc_insertion_point(field:protocol.DelegatedResource.expire_time_for_energy)
4426    pub expire_time_for_energy: i64,
4427    // special fields
4428    // @@protoc_insertion_point(special_field:protocol.DelegatedResource.special_fields)
4429    pub special_fields: ::protobuf::SpecialFields,
4430}
4431
4432impl<'a> ::std::default::Default for &'a DelegatedResource {
4433    fn default() -> &'a DelegatedResource {
4434        <DelegatedResource as ::protobuf::Message>::default_instance()
4435    }
4436}
4437
4438impl DelegatedResource {
4439    pub fn new() -> DelegatedResource {
4440        ::std::default::Default::default()
4441    }
4442
4443    fn generated_message_descriptor_data() -> ::protobuf::reflect::GeneratedMessageDescriptorData {
4444        let mut fields = ::std::vec::Vec::with_capacity(6);
4445        let mut oneofs = ::std::vec::Vec::with_capacity(0);
4446        fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
4447            "from",
4448            |m: &DelegatedResource| { &m.from },
4449            |m: &mut DelegatedResource| { &mut m.from },
4450        ));
4451        fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
4452            "to",
4453            |m: &DelegatedResource| { &m.to },
4454            |m: &mut DelegatedResource| { &mut m.to },
4455        ));
4456        fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
4457            "frozen_balance_for_bandwidth",
4458            |m: &DelegatedResource| { &m.frozen_balance_for_bandwidth },
4459            |m: &mut DelegatedResource| { &mut m.frozen_balance_for_bandwidth },
4460        ));
4461        fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
4462            "frozen_balance_for_energy",
4463            |m: &DelegatedResource| { &m.frozen_balance_for_energy },
4464            |m: &mut DelegatedResource| { &mut m.frozen_balance_for_energy },
4465        ));
4466        fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
4467            "expire_time_for_bandwidth",
4468            |m: &DelegatedResource| { &m.expire_time_for_bandwidth },
4469            |m: &mut DelegatedResource| { &mut m.expire_time_for_bandwidth },
4470        ));
4471        fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
4472            "expire_time_for_energy",
4473            |m: &DelegatedResource| { &m.expire_time_for_energy },
4474            |m: &mut DelegatedResource| { &mut m.expire_time_for_energy },
4475        ));
4476        ::protobuf::reflect::GeneratedMessageDescriptorData::new_2::<DelegatedResource>(
4477            "DelegatedResource",
4478            fields,
4479            oneofs,
4480        )
4481    }
4482}
4483
4484impl ::protobuf::Message for DelegatedResource {
4485    const NAME: &'static str = "DelegatedResource";
4486
4487    fn is_initialized(&self) -> bool {
4488        true
4489    }
4490
4491    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::Result<()> {
4492        while let Some(tag) = is.read_raw_tag_or_eof()? {
4493            match tag {
4494                10 => {
4495                    self.from = is.read_bytes()?;
4496                },
4497                18 => {
4498                    self.to = is.read_bytes()?;
4499                },
4500                24 => {
4501                    self.frozen_balance_for_bandwidth = is.read_int64()?;
4502                },
4503                32 => {
4504                    self.frozen_balance_for_energy = is.read_int64()?;
4505                },
4506                40 => {
4507                    self.expire_time_for_bandwidth = is.read_int64()?;
4508                },
4509                48 => {
4510                    self.expire_time_for_energy = is.read_int64()?;
4511                },
4512                tag => {
4513                    ::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?;
4514                },
4515            };
4516        }
4517        ::std::result::Result::Ok(())
4518    }
4519
4520    // Compute sizes of nested messages
4521    #[allow(unused_variables)]
4522    fn compute_size(&self) -> u64 {
4523        let mut my_size = 0;
4524        if !self.from.is_empty() {
4525            my_size += ::protobuf::rt::bytes_size(1, &self.from);
4526        }
4527        if !self.to.is_empty() {
4528            my_size += ::protobuf::rt::bytes_size(2, &self.to);
4529        }
4530        if self.frozen_balance_for_bandwidth != 0 {
4531            my_size += ::protobuf::rt::int64_size(3, self.frozen_balance_for_bandwidth);
4532        }
4533        if self.frozen_balance_for_energy != 0 {
4534            my_size += ::protobuf::rt::int64_size(4, self.frozen_balance_for_energy);
4535        }
4536        if self.expire_time_for_bandwidth != 0 {
4537            my_size += ::protobuf::rt::int64_size(5, self.expire_time_for_bandwidth);
4538        }
4539        if self.expire_time_for_energy != 0 {
4540            my_size += ::protobuf::rt::int64_size(6, self.expire_time_for_energy);
4541        }
4542        my_size += ::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields());
4543        self.special_fields.cached_size().set(my_size as u32);
4544        my_size
4545    }
4546
4547    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::Result<()> {
4548        if !self.from.is_empty() {
4549            os.write_bytes(1, &self.from)?;
4550        }
4551        if !self.to.is_empty() {
4552            os.write_bytes(2, &self.to)?;
4553        }
4554        if self.frozen_balance_for_bandwidth != 0 {
4555            os.write_int64(3, self.frozen_balance_for_bandwidth)?;
4556        }
4557        if self.frozen_balance_for_energy != 0 {
4558            os.write_int64(4, self.frozen_balance_for_energy)?;
4559        }
4560        if self.expire_time_for_bandwidth != 0 {
4561            os.write_int64(5, self.expire_time_for_bandwidth)?;
4562        }
4563        if self.expire_time_for_energy != 0 {
4564            os.write_int64(6, self.expire_time_for_energy)?;
4565        }
4566        os.write_unknown_fields(self.special_fields.unknown_fields())?;
4567        ::std::result::Result::Ok(())
4568    }
4569
4570    fn special_fields(&self) -> &::protobuf::SpecialFields {
4571        &self.special_fields
4572    }
4573
4574    fn mut_special_fields(&mut self) -> &mut ::protobuf::SpecialFields {
4575        &mut self.special_fields
4576    }
4577
4578    fn new() -> DelegatedResource {
4579        DelegatedResource::new()
4580    }
4581
4582    fn clear(&mut self) {
4583        self.from.clear();
4584        self.to.clear();
4585        self.frozen_balance_for_bandwidth = 0;
4586        self.frozen_balance_for_energy = 0;
4587        self.expire_time_for_bandwidth = 0;
4588        self.expire_time_for_energy = 0;
4589        self.special_fields.clear();
4590    }
4591
4592    fn default_instance() -> &'static DelegatedResource {
4593        static instance: DelegatedResource = DelegatedResource {
4594            from: ::std::vec::Vec::new(),
4595            to: ::std::vec::Vec::new(),
4596            frozen_balance_for_bandwidth: 0,
4597            frozen_balance_for_energy: 0,
4598            expire_time_for_bandwidth: 0,
4599            expire_time_for_energy: 0,
4600            special_fields: ::protobuf::SpecialFields::new(),
4601        };
4602        &instance
4603    }
4604}
4605
4606impl ::protobuf::MessageFull for DelegatedResource {
4607    fn descriptor() -> ::protobuf::reflect::MessageDescriptor {
4608        static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::Lazy::new();
4609        descriptor.get(|| file_descriptor().message_by_package_relative_name("DelegatedResource").unwrap()).clone()
4610    }
4611}
4612
4613impl ::std::fmt::Display for DelegatedResource {
4614    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
4615        ::protobuf::text_format::fmt(self, f)
4616    }
4617}
4618
4619impl ::protobuf::reflect::ProtobufValue for DelegatedResource {
4620    type RuntimeType = ::protobuf::reflect::rt::RuntimeTypeMessage<Self>;
4621}
4622
4623// @@protoc_insertion_point(message:protocol.authority)
4624#[derive(PartialEq,Clone,Default,Debug)]
4625pub struct Authority {
4626    // message fields
4627    // @@protoc_insertion_point(field:protocol.authority.account)
4628    pub account: ::protobuf::MessageField<AccountId>,
4629    // @@protoc_insertion_point(field:protocol.authority.permission_name)
4630    pub permission_name: ::std::vec::Vec<u8>,
4631    // special fields
4632    // @@protoc_insertion_point(special_field:protocol.authority.special_fields)
4633    pub special_fields: ::protobuf::SpecialFields,
4634}
4635
4636impl<'a> ::std::default::Default for &'a Authority {
4637    fn default() -> &'a Authority {
4638        <Authority as ::protobuf::Message>::default_instance()
4639    }
4640}
4641
4642impl Authority {
4643    pub fn new() -> Authority {
4644        ::std::default::Default::default()
4645    }
4646
4647    fn generated_message_descriptor_data() -> ::protobuf::reflect::GeneratedMessageDescriptorData {
4648        let mut fields = ::std::vec::Vec::with_capacity(2);
4649        let mut oneofs = ::std::vec::Vec::with_capacity(0);
4650        fields.push(::protobuf::reflect::rt::v2::make_message_field_accessor::<_, AccountId>(
4651            "account",
4652            |m: &Authority| { &m.account },
4653            |m: &mut Authority| { &mut m.account },
4654        ));
4655        fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
4656            "permission_name",
4657            |m: &Authority| { &m.permission_name },
4658            |m: &mut Authority| { &mut m.permission_name },
4659        ));
4660        ::protobuf::reflect::GeneratedMessageDescriptorData::new_2::<Authority>(
4661            "authority",
4662            fields,
4663            oneofs,
4664        )
4665    }
4666}
4667
4668impl ::protobuf::Message for Authority {
4669    const NAME: &'static str = "authority";
4670
4671    fn is_initialized(&self) -> bool {
4672        true
4673    }
4674
4675    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::Result<()> {
4676        while let Some(tag) = is.read_raw_tag_or_eof()? {
4677            match tag {
4678                10 => {
4679                    ::protobuf::rt::read_singular_message_into_field(is, &mut self.account)?;
4680                },
4681                18 => {
4682                    self.permission_name = is.read_bytes()?;
4683                },
4684                tag => {
4685                    ::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?;
4686                },
4687            };
4688        }
4689        ::std::result::Result::Ok(())
4690    }
4691
4692    // Compute sizes of nested messages
4693    #[allow(unused_variables)]
4694    fn compute_size(&self) -> u64 {
4695        let mut my_size = 0;
4696        if let Some(v) = self.account.as_ref() {
4697            let len = v.compute_size();
4698            my_size += 1 + ::protobuf::rt::compute_raw_varint64_size(len) + len;
4699        }
4700        if !self.permission_name.is_empty() {
4701            my_size += ::protobuf::rt::bytes_size(2, &self.permission_name);
4702        }
4703        my_size += ::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields());
4704        self.special_fields.cached_size().set(my_size as u32);
4705        my_size
4706    }
4707
4708    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::Result<()> {
4709        if let Some(v) = self.account.as_ref() {
4710            ::protobuf::rt::write_message_field_with_cached_size(1, v, os)?;
4711        }
4712        if !self.permission_name.is_empty() {
4713            os.write_bytes(2, &self.permission_name)?;
4714        }
4715        os.write_unknown_fields(self.special_fields.unknown_fields())?;
4716        ::std::result::Result::Ok(())
4717    }
4718
4719    fn special_fields(&self) -> &::protobuf::SpecialFields {
4720        &self.special_fields
4721    }
4722
4723    fn mut_special_fields(&mut self) -> &mut ::protobuf::SpecialFields {
4724        &mut self.special_fields
4725    }
4726
4727    fn new() -> Authority {
4728        Authority::new()
4729    }
4730
4731    fn clear(&mut self) {
4732        self.account.clear();
4733        self.permission_name.clear();
4734        self.special_fields.clear();
4735    }
4736
4737    fn default_instance() -> &'static Authority {
4738        static instance: Authority = Authority {
4739            account: ::protobuf::MessageField::none(),
4740            permission_name: ::std::vec::Vec::new(),
4741            special_fields: ::protobuf::SpecialFields::new(),
4742        };
4743        &instance
4744    }
4745}
4746
4747impl ::protobuf::MessageFull for Authority {
4748    fn descriptor() -> ::protobuf::reflect::MessageDescriptor {
4749        static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::Lazy::new();
4750        descriptor.get(|| file_descriptor().message_by_package_relative_name("authority").unwrap()).clone()
4751    }
4752}
4753
4754impl ::std::fmt::Display for Authority {
4755    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
4756        ::protobuf::text_format::fmt(self, f)
4757    }
4758}
4759
4760impl ::protobuf::reflect::ProtobufValue for Authority {
4761    type RuntimeType = ::protobuf::reflect::rt::RuntimeTypeMessage<Self>;
4762}
4763
4764// @@protoc_insertion_point(message:protocol.Permission)
4765#[derive(PartialEq,Clone,Default,Debug)]
4766pub struct Permission {
4767    // message fields
4768    // @@protoc_insertion_point(field:protocol.Permission.type)
4769    pub type_: ::protobuf::EnumOrUnknown<permission::PermissionType>,
4770    // @@protoc_insertion_point(field:protocol.Permission.id)
4771    pub id: i32,
4772    // @@protoc_insertion_point(field:protocol.Permission.permission_name)
4773    pub permission_name: ::std::string::String,
4774    // @@protoc_insertion_point(field:protocol.Permission.threshold)
4775    pub threshold: i64,
4776    // @@protoc_insertion_point(field:protocol.Permission.parent_id)
4777    pub parent_id: i32,
4778    // @@protoc_insertion_point(field:protocol.Permission.operations)
4779    pub operations: ::std::vec::Vec<u8>,
4780    // @@protoc_insertion_point(field:protocol.Permission.keys)
4781    pub keys: ::std::vec::Vec<Key>,
4782    // special fields
4783    // @@protoc_insertion_point(special_field:protocol.Permission.special_fields)
4784    pub special_fields: ::protobuf::SpecialFields,
4785}
4786
4787impl<'a> ::std::default::Default for &'a Permission {
4788    fn default() -> &'a Permission {
4789        <Permission as ::protobuf::Message>::default_instance()
4790    }
4791}
4792
4793impl Permission {
4794    pub fn new() -> Permission {
4795        ::std::default::Default::default()
4796    }
4797
4798    fn generated_message_descriptor_data() -> ::protobuf::reflect::GeneratedMessageDescriptorData {
4799        let mut fields = ::std::vec::Vec::with_capacity(7);
4800        let mut oneofs = ::std::vec::Vec::with_capacity(0);
4801        fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
4802            "type",
4803            |m: &Permission| { &m.type_ },
4804            |m: &mut Permission| { &mut m.type_ },
4805        ));
4806        fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
4807            "id",
4808            |m: &Permission| { &m.id },
4809            |m: &mut Permission| { &mut m.id },
4810        ));
4811        fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
4812            "permission_name",
4813            |m: &Permission| { &m.permission_name },
4814            |m: &mut Permission| { &mut m.permission_name },
4815        ));
4816        fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
4817            "threshold",
4818            |m: &Permission| { &m.threshold },
4819            |m: &mut Permission| { &mut m.threshold },
4820        ));
4821        fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
4822            "parent_id",
4823            |m: &Permission| { &m.parent_id },
4824            |m: &mut Permission| { &mut m.parent_id },
4825        ));
4826        fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
4827            "operations",
4828            |m: &Permission| { &m.operations },
4829            |m: &mut Permission| { &mut m.operations },
4830        ));
4831        fields.push(::protobuf::reflect::rt::v2::make_vec_simpler_accessor::<_, _>(
4832            "keys",
4833            |m: &Permission| { &m.keys },
4834            |m: &mut Permission| { &mut m.keys },
4835        ));
4836        ::protobuf::reflect::GeneratedMessageDescriptorData::new_2::<Permission>(
4837            "Permission",
4838            fields,
4839            oneofs,
4840        )
4841    }
4842}
4843
4844impl ::protobuf::Message for Permission {
4845    const NAME: &'static str = "Permission";
4846
4847    fn is_initialized(&self) -> bool {
4848        true
4849    }
4850
4851    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::Result<()> {
4852        while let Some(tag) = is.read_raw_tag_or_eof()? {
4853            match tag {
4854                8 => {
4855                    self.type_ = is.read_enum_or_unknown()?;
4856                },
4857                16 => {
4858                    self.id = is.read_int32()?;
4859                },
4860                26 => {
4861                    self.permission_name = is.read_string()?;
4862                },
4863                32 => {
4864                    self.threshold = is.read_int64()?;
4865                },
4866                40 => {
4867                    self.parent_id = is.read_int32()?;
4868                },
4869                50 => {
4870                    self.operations = is.read_bytes()?;
4871                },
4872                58 => {
4873                    self.keys.push(is.read_message()?);
4874                },
4875                tag => {
4876                    ::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?;
4877                },
4878            };
4879        }
4880        ::std::result::Result::Ok(())
4881    }
4882
4883    // Compute sizes of nested messages
4884    #[allow(unused_variables)]
4885    fn compute_size(&self) -> u64 {
4886        let mut my_size = 0;
4887        if self.type_ != ::protobuf::EnumOrUnknown::new(permission::PermissionType::Owner) {
4888            my_size += ::protobuf::rt::int32_size(1, self.type_.value());
4889        }
4890        if self.id != 0 {
4891            my_size += ::protobuf::rt::int32_size(2, self.id);
4892        }
4893        if !self.permission_name.is_empty() {
4894            my_size += ::protobuf::rt::string_size(3, &self.permission_name);
4895        }
4896        if self.threshold != 0 {
4897            my_size += ::protobuf::rt::int64_size(4, self.threshold);
4898        }
4899        if self.parent_id != 0 {
4900            my_size += ::protobuf::rt::int32_size(5, self.parent_id);
4901        }
4902        if !self.operations.is_empty() {
4903            my_size += ::protobuf::rt::bytes_size(6, &self.operations);
4904        }
4905        for value in &self.keys {
4906            let len = value.compute_size();
4907            my_size += 1 + ::protobuf::rt::compute_raw_varint64_size(len) + len;
4908        };
4909        my_size += ::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields());
4910        self.special_fields.cached_size().set(my_size as u32);
4911        my_size
4912    }
4913
4914    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::Result<()> {
4915        if self.type_ != ::protobuf::EnumOrUnknown::new(permission::PermissionType::Owner) {
4916            os.write_enum(1, ::protobuf::EnumOrUnknown::value(&self.type_))?;
4917        }
4918        if self.id != 0 {
4919            os.write_int32(2, self.id)?;
4920        }
4921        if !self.permission_name.is_empty() {
4922            os.write_string(3, &self.permission_name)?;
4923        }
4924        if self.threshold != 0 {
4925            os.write_int64(4, self.threshold)?;
4926        }
4927        if self.parent_id != 0 {
4928            os.write_int32(5, self.parent_id)?;
4929        }
4930        if !self.operations.is_empty() {
4931            os.write_bytes(6, &self.operations)?;
4932        }
4933        for v in &self.keys {
4934            ::protobuf::rt::write_message_field_with_cached_size(7, v, os)?;
4935        };
4936        os.write_unknown_fields(self.special_fields.unknown_fields())?;
4937        ::std::result::Result::Ok(())
4938    }
4939
4940    fn special_fields(&self) -> &::protobuf::SpecialFields {
4941        &self.special_fields
4942    }
4943
4944    fn mut_special_fields(&mut self) -> &mut ::protobuf::SpecialFields {
4945        &mut self.special_fields
4946    }
4947
4948    fn new() -> Permission {
4949        Permission::new()
4950    }
4951
4952    fn clear(&mut self) {
4953        self.type_ = ::protobuf::EnumOrUnknown::new(permission::PermissionType::Owner);
4954        self.id = 0;
4955        self.permission_name.clear();
4956        self.threshold = 0;
4957        self.parent_id = 0;
4958        self.operations.clear();
4959        self.keys.clear();
4960        self.special_fields.clear();
4961    }
4962
4963    fn default_instance() -> &'static Permission {
4964        static instance: Permission = Permission {
4965            type_: ::protobuf::EnumOrUnknown::from_i32(0),
4966            id: 0,
4967            permission_name: ::std::string::String::new(),
4968            threshold: 0,
4969            parent_id: 0,
4970            operations: ::std::vec::Vec::new(),
4971            keys: ::std::vec::Vec::new(),
4972            special_fields: ::protobuf::SpecialFields::new(),
4973        };
4974        &instance
4975    }
4976}
4977
4978impl ::protobuf::MessageFull for Permission {
4979    fn descriptor() -> ::protobuf::reflect::MessageDescriptor {
4980        static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::Lazy::new();
4981        descriptor.get(|| file_descriptor().message_by_package_relative_name("Permission").unwrap()).clone()
4982    }
4983}
4984
4985impl ::std::fmt::Display for Permission {
4986    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
4987        ::protobuf::text_format::fmt(self, f)
4988    }
4989}
4990
4991impl ::protobuf::reflect::ProtobufValue for Permission {
4992    type RuntimeType = ::protobuf::reflect::rt::RuntimeTypeMessage<Self>;
4993}
4994
4995/// Nested message and enums of message `Permission`
4996pub mod permission {
4997    #[derive(Clone,Copy,PartialEq,Eq,Debug,Hash)]
4998    // @@protoc_insertion_point(enum:protocol.Permission.PermissionType)
4999    pub enum PermissionType {
5000        // @@protoc_insertion_point(enum_value:protocol.Permission.PermissionType.Owner)
5001        Owner = 0,
5002        // @@protoc_insertion_point(enum_value:protocol.Permission.PermissionType.Witness)
5003        Witness = 1,
5004        // @@protoc_insertion_point(enum_value:protocol.Permission.PermissionType.Active)
5005        Active = 2,
5006    }
5007
5008    impl ::protobuf::Enum for PermissionType {
5009        const NAME: &'static str = "PermissionType";
5010
5011        fn value(&self) -> i32 {
5012            *self as i32
5013        }
5014
5015        fn from_i32(value: i32) -> ::std::option::Option<PermissionType> {
5016            match value {
5017                0 => ::std::option::Option::Some(PermissionType::Owner),
5018                1 => ::std::option::Option::Some(PermissionType::Witness),
5019                2 => ::std::option::Option::Some(PermissionType::Active),
5020                _ => ::std::option::Option::None
5021            }
5022        }
5023
5024        fn from_str(str: &str) -> ::std::option::Option<PermissionType> {
5025            match str {
5026                "Owner" => ::std::option::Option::Some(PermissionType::Owner),
5027                "Witness" => ::std::option::Option::Some(PermissionType::Witness),
5028                "Active" => ::std::option::Option::Some(PermissionType::Active),
5029                _ => ::std::option::Option::None
5030            }
5031        }
5032
5033        const VALUES: &'static [PermissionType] = &[
5034            PermissionType::Owner,
5035            PermissionType::Witness,
5036            PermissionType::Active,
5037        ];
5038    }
5039
5040    impl ::protobuf::EnumFull for PermissionType {
5041        fn enum_descriptor() -> ::protobuf::reflect::EnumDescriptor {
5042            static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::EnumDescriptor> = ::protobuf::rt::Lazy::new();
5043            descriptor.get(|| super::file_descriptor().enum_by_package_relative_name("Permission.PermissionType").unwrap()).clone()
5044        }
5045
5046        fn descriptor(&self) -> ::protobuf::reflect::EnumValueDescriptor {
5047            let index = *self as usize;
5048            Self::enum_descriptor().value_by_index(index)
5049        }
5050    }
5051
5052    impl ::std::default::Default for PermissionType {
5053        fn default() -> Self {
5054            PermissionType::Owner
5055        }
5056    }
5057
5058    impl PermissionType {
5059        pub(in super) fn generated_enum_descriptor_data() -> ::protobuf::reflect::GeneratedEnumDescriptorData {
5060            ::protobuf::reflect::GeneratedEnumDescriptorData::new::<PermissionType>("Permission.PermissionType")
5061        }
5062    }
5063}
5064
5065///  Witness
5066// @@protoc_insertion_point(message:protocol.Witness)
5067#[derive(PartialEq,Clone,Default,Debug)]
5068pub struct Witness {
5069    // message fields
5070    // @@protoc_insertion_point(field:protocol.Witness.address)
5071    pub address: ::std::vec::Vec<u8>,
5072    // @@protoc_insertion_point(field:protocol.Witness.voteCount)
5073    pub voteCount: i64,
5074    // @@protoc_insertion_point(field:protocol.Witness.pubKey)
5075    pub pubKey: ::std::vec::Vec<u8>,
5076    // @@protoc_insertion_point(field:protocol.Witness.url)
5077    pub url: ::std::string::String,
5078    // @@protoc_insertion_point(field:protocol.Witness.totalProduced)
5079    pub totalProduced: i64,
5080    // @@protoc_insertion_point(field:protocol.Witness.totalMissed)
5081    pub totalMissed: i64,
5082    // @@protoc_insertion_point(field:protocol.Witness.latestBlockNum)
5083    pub latestBlockNum: i64,
5084    // @@protoc_insertion_point(field:protocol.Witness.latestSlotNum)
5085    pub latestSlotNum: i64,
5086    // @@protoc_insertion_point(field:protocol.Witness.isJobs)
5087    pub isJobs: bool,
5088    // special fields
5089    // @@protoc_insertion_point(special_field:protocol.Witness.special_fields)
5090    pub special_fields: ::protobuf::SpecialFields,
5091}
5092
5093impl<'a> ::std::default::Default for &'a Witness {
5094    fn default() -> &'a Witness {
5095        <Witness as ::protobuf::Message>::default_instance()
5096    }
5097}
5098
5099impl Witness {
5100    pub fn new() -> Witness {
5101        ::std::default::Default::default()
5102    }
5103
5104    fn generated_message_descriptor_data() -> ::protobuf::reflect::GeneratedMessageDescriptorData {
5105        let mut fields = ::std::vec::Vec::with_capacity(9);
5106        let mut oneofs = ::std::vec::Vec::with_capacity(0);
5107        fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
5108            "address",
5109            |m: &Witness| { &m.address },
5110            |m: &mut Witness| { &mut m.address },
5111        ));
5112        fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
5113            "voteCount",
5114            |m: &Witness| { &m.voteCount },
5115            |m: &mut Witness| { &mut m.voteCount },
5116        ));
5117        fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
5118            "pubKey",
5119            |m: &Witness| { &m.pubKey },
5120            |m: &mut Witness| { &mut m.pubKey },
5121        ));
5122        fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
5123            "url",
5124            |m: &Witness| { &m.url },
5125            |m: &mut Witness| { &mut m.url },
5126        ));
5127        fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
5128            "totalProduced",
5129            |m: &Witness| { &m.totalProduced },
5130            |m: &mut Witness| { &mut m.totalProduced },
5131        ));
5132        fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
5133            "totalMissed",
5134            |m: &Witness| { &m.totalMissed },
5135            |m: &mut Witness| { &mut m.totalMissed },
5136        ));
5137        fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
5138            "latestBlockNum",
5139            |m: &Witness| { &m.latestBlockNum },
5140            |m: &mut Witness| { &mut m.latestBlockNum },
5141        ));
5142        fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
5143            "latestSlotNum",
5144            |m: &Witness| { &m.latestSlotNum },
5145            |m: &mut Witness| { &mut m.latestSlotNum },
5146        ));
5147        fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
5148            "isJobs",
5149            |m: &Witness| { &m.isJobs },
5150            |m: &mut Witness| { &mut m.isJobs },
5151        ));
5152        ::protobuf::reflect::GeneratedMessageDescriptorData::new_2::<Witness>(
5153            "Witness",
5154            fields,
5155            oneofs,
5156        )
5157    }
5158}
5159
5160impl ::protobuf::Message for Witness {
5161    const NAME: &'static str = "Witness";
5162
5163    fn is_initialized(&self) -> bool {
5164        true
5165    }
5166
5167    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::Result<()> {
5168        while let Some(tag) = is.read_raw_tag_or_eof()? {
5169            match tag {
5170                10 => {
5171                    self.address = is.read_bytes()?;
5172                },
5173                16 => {
5174                    self.voteCount = is.read_int64()?;
5175                },
5176                26 => {
5177                    self.pubKey = is.read_bytes()?;
5178                },
5179                34 => {
5180                    self.url = is.read_string()?;
5181                },
5182                40 => {
5183                    self.totalProduced = is.read_int64()?;
5184                },
5185                48 => {
5186                    self.totalMissed = is.read_int64()?;
5187                },
5188                56 => {
5189                    self.latestBlockNum = is.read_int64()?;
5190                },
5191                64 => {
5192                    self.latestSlotNum = is.read_int64()?;
5193                },
5194                72 => {
5195                    self.isJobs = is.read_bool()?;
5196                },
5197                tag => {
5198                    ::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?;
5199                },
5200            };
5201        }
5202        ::std::result::Result::Ok(())
5203    }
5204
5205    // Compute sizes of nested messages
5206    #[allow(unused_variables)]
5207    fn compute_size(&self) -> u64 {
5208        let mut my_size = 0;
5209        if !self.address.is_empty() {
5210            my_size += ::protobuf::rt::bytes_size(1, &self.address);
5211        }
5212        if self.voteCount != 0 {
5213            my_size += ::protobuf::rt::int64_size(2, self.voteCount);
5214        }
5215        if !self.pubKey.is_empty() {
5216            my_size += ::protobuf::rt::bytes_size(3, &self.pubKey);
5217        }
5218        if !self.url.is_empty() {
5219            my_size += ::protobuf::rt::string_size(4, &self.url);
5220        }
5221        if self.totalProduced != 0 {
5222            my_size += ::protobuf::rt::int64_size(5, self.totalProduced);
5223        }
5224        if self.totalMissed != 0 {
5225            my_size += ::protobuf::rt::int64_size(6, self.totalMissed);
5226        }
5227        if self.latestBlockNum != 0 {
5228            my_size += ::protobuf::rt::int64_size(7, self.latestBlockNum);
5229        }
5230        if self.latestSlotNum != 0 {
5231            my_size += ::protobuf::rt::int64_size(8, self.latestSlotNum);
5232        }
5233        if self.isJobs != false {
5234            my_size += 1 + 1;
5235        }
5236        my_size += ::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields());
5237        self.special_fields.cached_size().set(my_size as u32);
5238        my_size
5239    }
5240
5241    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::Result<()> {
5242        if !self.address.is_empty() {
5243            os.write_bytes(1, &self.address)?;
5244        }
5245        if self.voteCount != 0 {
5246            os.write_int64(2, self.voteCount)?;
5247        }
5248        if !self.pubKey.is_empty() {
5249            os.write_bytes(3, &self.pubKey)?;
5250        }
5251        if !self.url.is_empty() {
5252            os.write_string(4, &self.url)?;
5253        }
5254        if self.totalProduced != 0 {
5255            os.write_int64(5, self.totalProduced)?;
5256        }
5257        if self.totalMissed != 0 {
5258            os.write_int64(6, self.totalMissed)?;
5259        }
5260        if self.latestBlockNum != 0 {
5261            os.write_int64(7, self.latestBlockNum)?;
5262        }
5263        if self.latestSlotNum != 0 {
5264            os.write_int64(8, self.latestSlotNum)?;
5265        }
5266        if self.isJobs != false {
5267            os.write_bool(9, self.isJobs)?;
5268        }
5269        os.write_unknown_fields(self.special_fields.unknown_fields())?;
5270        ::std::result::Result::Ok(())
5271    }
5272
5273    fn special_fields(&self) -> &::protobuf::SpecialFields {
5274        &self.special_fields
5275    }
5276
5277    fn mut_special_fields(&mut self) -> &mut ::protobuf::SpecialFields {
5278        &mut self.special_fields
5279    }
5280
5281    fn new() -> Witness {
5282        Witness::new()
5283    }
5284
5285    fn clear(&mut self) {
5286        self.address.clear();
5287        self.voteCount = 0;
5288        self.pubKey.clear();
5289        self.url.clear();
5290        self.totalProduced = 0;
5291        self.totalMissed = 0;
5292        self.latestBlockNum = 0;
5293        self.latestSlotNum = 0;
5294        self.isJobs = false;
5295        self.special_fields.clear();
5296    }
5297
5298    fn default_instance() -> &'static Witness {
5299        static instance: Witness = Witness {
5300            address: ::std::vec::Vec::new(),
5301            voteCount: 0,
5302            pubKey: ::std::vec::Vec::new(),
5303            url: ::std::string::String::new(),
5304            totalProduced: 0,
5305            totalMissed: 0,
5306            latestBlockNum: 0,
5307            latestSlotNum: 0,
5308            isJobs: false,
5309            special_fields: ::protobuf::SpecialFields::new(),
5310        };
5311        &instance
5312    }
5313}
5314
5315impl ::protobuf::MessageFull for Witness {
5316    fn descriptor() -> ::protobuf::reflect::MessageDescriptor {
5317        static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::Lazy::new();
5318        descriptor.get(|| file_descriptor().message_by_package_relative_name("Witness").unwrap()).clone()
5319    }
5320}
5321
5322impl ::std::fmt::Display for Witness {
5323    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
5324        ::protobuf::text_format::fmt(self, f)
5325    }
5326}
5327
5328impl ::protobuf::reflect::ProtobufValue for Witness {
5329    type RuntimeType = ::protobuf::reflect::rt::RuntimeTypeMessage<Self>;
5330}
5331
5332///  Vote Change
5333// @@protoc_insertion_point(message:protocol.Votes)
5334#[derive(PartialEq,Clone,Default,Debug)]
5335pub struct Votes {
5336    // message fields
5337    // @@protoc_insertion_point(field:protocol.Votes.address)
5338    pub address: ::std::vec::Vec<u8>,
5339    // @@protoc_insertion_point(field:protocol.Votes.old_votes)
5340    pub old_votes: ::std::vec::Vec<Vote>,
5341    // @@protoc_insertion_point(field:protocol.Votes.new_votes)
5342    pub new_votes: ::std::vec::Vec<Vote>,
5343    // special fields
5344    // @@protoc_insertion_point(special_field:protocol.Votes.special_fields)
5345    pub special_fields: ::protobuf::SpecialFields,
5346}
5347
5348impl<'a> ::std::default::Default for &'a Votes {
5349    fn default() -> &'a Votes {
5350        <Votes as ::protobuf::Message>::default_instance()
5351    }
5352}
5353
5354impl Votes {
5355    pub fn new() -> Votes {
5356        ::std::default::Default::default()
5357    }
5358
5359    fn generated_message_descriptor_data() -> ::protobuf::reflect::GeneratedMessageDescriptorData {
5360        let mut fields = ::std::vec::Vec::with_capacity(3);
5361        let mut oneofs = ::std::vec::Vec::with_capacity(0);
5362        fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
5363            "address",
5364            |m: &Votes| { &m.address },
5365            |m: &mut Votes| { &mut m.address },
5366        ));
5367        fields.push(::protobuf::reflect::rt::v2::make_vec_simpler_accessor::<_, _>(
5368            "old_votes",
5369            |m: &Votes| { &m.old_votes },
5370            |m: &mut Votes| { &mut m.old_votes },
5371        ));
5372        fields.push(::protobuf::reflect::rt::v2::make_vec_simpler_accessor::<_, _>(
5373            "new_votes",
5374            |m: &Votes| { &m.new_votes },
5375            |m: &mut Votes| { &mut m.new_votes },
5376        ));
5377        ::protobuf::reflect::GeneratedMessageDescriptorData::new_2::<Votes>(
5378            "Votes",
5379            fields,
5380            oneofs,
5381        )
5382    }
5383}
5384
5385impl ::protobuf::Message for Votes {
5386    const NAME: &'static str = "Votes";
5387
5388    fn is_initialized(&self) -> bool {
5389        true
5390    }
5391
5392    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::Result<()> {
5393        while let Some(tag) = is.read_raw_tag_or_eof()? {
5394            match tag {
5395                10 => {
5396                    self.address = is.read_bytes()?;
5397                },
5398                18 => {
5399                    self.old_votes.push(is.read_message()?);
5400                },
5401                26 => {
5402                    self.new_votes.push(is.read_message()?);
5403                },
5404                tag => {
5405                    ::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?;
5406                },
5407            };
5408        }
5409        ::std::result::Result::Ok(())
5410    }
5411
5412    // Compute sizes of nested messages
5413    #[allow(unused_variables)]
5414    fn compute_size(&self) -> u64 {
5415        let mut my_size = 0;
5416        if !self.address.is_empty() {
5417            my_size += ::protobuf::rt::bytes_size(1, &self.address);
5418        }
5419        for value in &self.old_votes {
5420            let len = value.compute_size();
5421            my_size += 1 + ::protobuf::rt::compute_raw_varint64_size(len) + len;
5422        };
5423        for value in &self.new_votes {
5424            let len = value.compute_size();
5425            my_size += 1 + ::protobuf::rt::compute_raw_varint64_size(len) + len;
5426        };
5427        my_size += ::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields());
5428        self.special_fields.cached_size().set(my_size as u32);
5429        my_size
5430    }
5431
5432    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::Result<()> {
5433        if !self.address.is_empty() {
5434            os.write_bytes(1, &self.address)?;
5435        }
5436        for v in &self.old_votes {
5437            ::protobuf::rt::write_message_field_with_cached_size(2, v, os)?;
5438        };
5439        for v in &self.new_votes {
5440            ::protobuf::rt::write_message_field_with_cached_size(3, v, os)?;
5441        };
5442        os.write_unknown_fields(self.special_fields.unknown_fields())?;
5443        ::std::result::Result::Ok(())
5444    }
5445
5446    fn special_fields(&self) -> &::protobuf::SpecialFields {
5447        &self.special_fields
5448    }
5449
5450    fn mut_special_fields(&mut self) -> &mut ::protobuf::SpecialFields {
5451        &mut self.special_fields
5452    }
5453
5454    fn new() -> Votes {
5455        Votes::new()
5456    }
5457
5458    fn clear(&mut self) {
5459        self.address.clear();
5460        self.old_votes.clear();
5461        self.new_votes.clear();
5462        self.special_fields.clear();
5463    }
5464
5465    fn default_instance() -> &'static Votes {
5466        static instance: Votes = Votes {
5467            address: ::std::vec::Vec::new(),
5468            old_votes: ::std::vec::Vec::new(),
5469            new_votes: ::std::vec::Vec::new(),
5470            special_fields: ::protobuf::SpecialFields::new(),
5471        };
5472        &instance
5473    }
5474}
5475
5476impl ::protobuf::MessageFull for Votes {
5477    fn descriptor() -> ::protobuf::reflect::MessageDescriptor {
5478        static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::Lazy::new();
5479        descriptor.get(|| file_descriptor().message_by_package_relative_name("Votes").unwrap()).clone()
5480    }
5481}
5482
5483impl ::std::fmt::Display for Votes {
5484    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
5485        ::protobuf::text_format::fmt(self, f)
5486    }
5487}
5488
5489impl ::protobuf::reflect::ProtobufValue for Votes {
5490    type RuntimeType = ::protobuf::reflect::rt::RuntimeTypeMessage<Self>;
5491}
5492
5493// @@protoc_insertion_point(message:protocol.TXOutput)
5494#[derive(PartialEq,Clone,Default,Debug)]
5495pub struct TXOutput {
5496    // message fields
5497    // @@protoc_insertion_point(field:protocol.TXOutput.value)
5498    pub value: i64,
5499    // @@protoc_insertion_point(field:protocol.TXOutput.pubKeyHash)
5500    pub pubKeyHash: ::std::vec::Vec<u8>,
5501    // special fields
5502    // @@protoc_insertion_point(special_field:protocol.TXOutput.special_fields)
5503    pub special_fields: ::protobuf::SpecialFields,
5504}
5505
5506impl<'a> ::std::default::Default for &'a TXOutput {
5507    fn default() -> &'a TXOutput {
5508        <TXOutput as ::protobuf::Message>::default_instance()
5509    }
5510}
5511
5512impl TXOutput {
5513    pub fn new() -> TXOutput {
5514        ::std::default::Default::default()
5515    }
5516
5517    fn generated_message_descriptor_data() -> ::protobuf::reflect::GeneratedMessageDescriptorData {
5518        let mut fields = ::std::vec::Vec::with_capacity(2);
5519        let mut oneofs = ::std::vec::Vec::with_capacity(0);
5520        fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
5521            "value",
5522            |m: &TXOutput| { &m.value },
5523            |m: &mut TXOutput| { &mut m.value },
5524        ));
5525        fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
5526            "pubKeyHash",
5527            |m: &TXOutput| { &m.pubKeyHash },
5528            |m: &mut TXOutput| { &mut m.pubKeyHash },
5529        ));
5530        ::protobuf::reflect::GeneratedMessageDescriptorData::new_2::<TXOutput>(
5531            "TXOutput",
5532            fields,
5533            oneofs,
5534        )
5535    }
5536}
5537
5538impl ::protobuf::Message for TXOutput {
5539    const NAME: &'static str = "TXOutput";
5540
5541    fn is_initialized(&self) -> bool {
5542        true
5543    }
5544
5545    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::Result<()> {
5546        while let Some(tag) = is.read_raw_tag_or_eof()? {
5547            match tag {
5548                8 => {
5549                    self.value = is.read_int64()?;
5550                },
5551                18 => {
5552                    self.pubKeyHash = is.read_bytes()?;
5553                },
5554                tag => {
5555                    ::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?;
5556                },
5557            };
5558        }
5559        ::std::result::Result::Ok(())
5560    }
5561
5562    // Compute sizes of nested messages
5563    #[allow(unused_variables)]
5564    fn compute_size(&self) -> u64 {
5565        let mut my_size = 0;
5566        if self.value != 0 {
5567            my_size += ::protobuf::rt::int64_size(1, self.value);
5568        }
5569        if !self.pubKeyHash.is_empty() {
5570            my_size += ::protobuf::rt::bytes_size(2, &self.pubKeyHash);
5571        }
5572        my_size += ::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields());
5573        self.special_fields.cached_size().set(my_size as u32);
5574        my_size
5575    }
5576
5577    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::Result<()> {
5578        if self.value != 0 {
5579            os.write_int64(1, self.value)?;
5580        }
5581        if !self.pubKeyHash.is_empty() {
5582            os.write_bytes(2, &self.pubKeyHash)?;
5583        }
5584        os.write_unknown_fields(self.special_fields.unknown_fields())?;
5585        ::std::result::Result::Ok(())
5586    }
5587
5588    fn special_fields(&self) -> &::protobuf::SpecialFields {
5589        &self.special_fields
5590    }
5591
5592    fn mut_special_fields(&mut self) -> &mut ::protobuf::SpecialFields {
5593        &mut self.special_fields
5594    }
5595
5596    fn new() -> TXOutput {
5597        TXOutput::new()
5598    }
5599
5600    fn clear(&mut self) {
5601        self.value = 0;
5602        self.pubKeyHash.clear();
5603        self.special_fields.clear();
5604    }
5605
5606    fn default_instance() -> &'static TXOutput {
5607        static instance: TXOutput = TXOutput {
5608            value: 0,
5609            pubKeyHash: ::std::vec::Vec::new(),
5610            special_fields: ::protobuf::SpecialFields::new(),
5611        };
5612        &instance
5613    }
5614}
5615
5616impl ::protobuf::MessageFull for TXOutput {
5617    fn descriptor() -> ::protobuf::reflect::MessageDescriptor {
5618        static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::Lazy::new();
5619        descriptor.get(|| file_descriptor().message_by_package_relative_name("TXOutput").unwrap()).clone()
5620    }
5621}
5622
5623impl ::std::fmt::Display for TXOutput {
5624    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
5625        ::protobuf::text_format::fmt(self, f)
5626    }
5627}
5628
5629impl ::protobuf::reflect::ProtobufValue for TXOutput {
5630    type RuntimeType = ::protobuf::reflect::rt::RuntimeTypeMessage<Self>;
5631}
5632
5633// @@protoc_insertion_point(message:protocol.TXInput)
5634#[derive(PartialEq,Clone,Default,Debug)]
5635pub struct TXInput {
5636    // message fields
5637    // @@protoc_insertion_point(field:protocol.TXInput.raw_data)
5638    pub raw_data: ::protobuf::MessageField<txinput::Raw>,
5639    // @@protoc_insertion_point(field:protocol.TXInput.signature)
5640    pub signature: ::std::vec::Vec<u8>,
5641    // special fields
5642    // @@protoc_insertion_point(special_field:protocol.TXInput.special_fields)
5643    pub special_fields: ::protobuf::SpecialFields,
5644}
5645
5646impl<'a> ::std::default::Default for &'a TXInput {
5647    fn default() -> &'a TXInput {
5648        <TXInput as ::protobuf::Message>::default_instance()
5649    }
5650}
5651
5652impl TXInput {
5653    pub fn new() -> TXInput {
5654        ::std::default::Default::default()
5655    }
5656
5657    fn generated_message_descriptor_data() -> ::protobuf::reflect::GeneratedMessageDescriptorData {
5658        let mut fields = ::std::vec::Vec::with_capacity(2);
5659        let mut oneofs = ::std::vec::Vec::with_capacity(0);
5660        fields.push(::protobuf::reflect::rt::v2::make_message_field_accessor::<_, txinput::Raw>(
5661            "raw_data",
5662            |m: &TXInput| { &m.raw_data },
5663            |m: &mut TXInput| { &mut m.raw_data },
5664        ));
5665        fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
5666            "signature",
5667            |m: &TXInput| { &m.signature },
5668            |m: &mut TXInput| { &mut m.signature },
5669        ));
5670        ::protobuf::reflect::GeneratedMessageDescriptorData::new_2::<TXInput>(
5671            "TXInput",
5672            fields,
5673            oneofs,
5674        )
5675    }
5676}
5677
5678impl ::protobuf::Message for TXInput {
5679    const NAME: &'static str = "TXInput";
5680
5681    fn is_initialized(&self) -> bool {
5682        true
5683    }
5684
5685    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::Result<()> {
5686        while let Some(tag) = is.read_raw_tag_or_eof()? {
5687            match tag {
5688                10 => {
5689                    ::protobuf::rt::read_singular_message_into_field(is, &mut self.raw_data)?;
5690                },
5691                34 => {
5692                    self.signature = is.read_bytes()?;
5693                },
5694                tag => {
5695                    ::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?;
5696                },
5697            };
5698        }
5699        ::std::result::Result::Ok(())
5700    }
5701
5702    // Compute sizes of nested messages
5703    #[allow(unused_variables)]
5704    fn compute_size(&self) -> u64 {
5705        let mut my_size = 0;
5706        if let Some(v) = self.raw_data.as_ref() {
5707            let len = v.compute_size();
5708            my_size += 1 + ::protobuf::rt::compute_raw_varint64_size(len) + len;
5709        }
5710        if !self.signature.is_empty() {
5711            my_size += ::protobuf::rt::bytes_size(4, &self.signature);
5712        }
5713        my_size += ::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields());
5714        self.special_fields.cached_size().set(my_size as u32);
5715        my_size
5716    }
5717
5718    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::Result<()> {
5719        if let Some(v) = self.raw_data.as_ref() {
5720            ::protobuf::rt::write_message_field_with_cached_size(1, v, os)?;
5721        }
5722        if !self.signature.is_empty() {
5723            os.write_bytes(4, &self.signature)?;
5724        }
5725        os.write_unknown_fields(self.special_fields.unknown_fields())?;
5726        ::std::result::Result::Ok(())
5727    }
5728
5729    fn special_fields(&self) -> &::protobuf::SpecialFields {
5730        &self.special_fields
5731    }
5732
5733    fn mut_special_fields(&mut self) -> &mut ::protobuf::SpecialFields {
5734        &mut self.special_fields
5735    }
5736
5737    fn new() -> TXInput {
5738        TXInput::new()
5739    }
5740
5741    fn clear(&mut self) {
5742        self.raw_data.clear();
5743        self.signature.clear();
5744        self.special_fields.clear();
5745    }
5746
5747    fn default_instance() -> &'static TXInput {
5748        static instance: TXInput = TXInput {
5749            raw_data: ::protobuf::MessageField::none(),
5750            signature: ::std::vec::Vec::new(),
5751            special_fields: ::protobuf::SpecialFields::new(),
5752        };
5753        &instance
5754    }
5755}
5756
5757impl ::protobuf::MessageFull for TXInput {
5758    fn descriptor() -> ::protobuf::reflect::MessageDescriptor {
5759        static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::Lazy::new();
5760        descriptor.get(|| file_descriptor().message_by_package_relative_name("TXInput").unwrap()).clone()
5761    }
5762}
5763
5764impl ::std::fmt::Display for TXInput {
5765    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
5766        ::protobuf::text_format::fmt(self, f)
5767    }
5768}
5769
5770impl ::protobuf::reflect::ProtobufValue for TXInput {
5771    type RuntimeType = ::protobuf::reflect::rt::RuntimeTypeMessage<Self>;
5772}
5773
5774/// Nested message and enums of message `TXInput`
5775pub mod txinput {
5776    // @@protoc_insertion_point(message:protocol.TXInput.raw)
5777    #[derive(PartialEq,Clone,Default,Debug)]
5778    pub struct Raw {
5779        // message fields
5780        // @@protoc_insertion_point(field:protocol.TXInput.raw.txID)
5781        pub txID: ::std::vec::Vec<u8>,
5782        // @@protoc_insertion_point(field:protocol.TXInput.raw.vout)
5783        pub vout: i64,
5784        // @@protoc_insertion_point(field:protocol.TXInput.raw.pubKey)
5785        pub pubKey: ::std::vec::Vec<u8>,
5786        // special fields
5787        // @@protoc_insertion_point(special_field:protocol.TXInput.raw.special_fields)
5788        pub special_fields: ::protobuf::SpecialFields,
5789    }
5790
5791    impl<'a> ::std::default::Default for &'a Raw {
5792        fn default() -> &'a Raw {
5793            <Raw as ::protobuf::Message>::default_instance()
5794        }
5795    }
5796
5797    impl Raw {
5798        pub fn new() -> Raw {
5799            ::std::default::Default::default()
5800        }
5801
5802        pub(in super) fn generated_message_descriptor_data() -> ::protobuf::reflect::GeneratedMessageDescriptorData {
5803            let mut fields = ::std::vec::Vec::with_capacity(3);
5804            let mut oneofs = ::std::vec::Vec::with_capacity(0);
5805            fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
5806                "txID",
5807                |m: &Raw| { &m.txID },
5808                |m: &mut Raw| { &mut m.txID },
5809            ));
5810            fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
5811                "vout",
5812                |m: &Raw| { &m.vout },
5813                |m: &mut Raw| { &mut m.vout },
5814            ));
5815            fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
5816                "pubKey",
5817                |m: &Raw| { &m.pubKey },
5818                |m: &mut Raw| { &mut m.pubKey },
5819            ));
5820            ::protobuf::reflect::GeneratedMessageDescriptorData::new_2::<Raw>(
5821                "TXInput.raw",
5822                fields,
5823                oneofs,
5824            )
5825        }
5826    }
5827
5828    impl ::protobuf::Message for Raw {
5829        const NAME: &'static str = "raw";
5830
5831        fn is_initialized(&self) -> bool {
5832            true
5833        }
5834
5835        fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::Result<()> {
5836            while let Some(tag) = is.read_raw_tag_or_eof()? {
5837                match tag {
5838                    10 => {
5839                        self.txID = is.read_bytes()?;
5840                    },
5841                    16 => {
5842                        self.vout = is.read_int64()?;
5843                    },
5844                    26 => {
5845                        self.pubKey = is.read_bytes()?;
5846                    },
5847                    tag => {
5848                        ::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?;
5849                    },
5850                };
5851            }
5852            ::std::result::Result::Ok(())
5853        }
5854
5855        // Compute sizes of nested messages
5856        #[allow(unused_variables)]
5857        fn compute_size(&self) -> u64 {
5858            let mut my_size = 0;
5859            if !self.txID.is_empty() {
5860                my_size += ::protobuf::rt::bytes_size(1, &self.txID);
5861            }
5862            if self.vout != 0 {
5863                my_size += ::protobuf::rt::int64_size(2, self.vout);
5864            }
5865            if !self.pubKey.is_empty() {
5866                my_size += ::protobuf::rt::bytes_size(3, &self.pubKey);
5867            }
5868            my_size += ::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields());
5869            self.special_fields.cached_size().set(my_size as u32);
5870            my_size
5871        }
5872
5873        fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::Result<()> {
5874            if !self.txID.is_empty() {
5875                os.write_bytes(1, &self.txID)?;
5876            }
5877            if self.vout != 0 {
5878                os.write_int64(2, self.vout)?;
5879            }
5880            if !self.pubKey.is_empty() {
5881                os.write_bytes(3, &self.pubKey)?;
5882            }
5883            os.write_unknown_fields(self.special_fields.unknown_fields())?;
5884            ::std::result::Result::Ok(())
5885        }
5886
5887        fn special_fields(&self) -> &::protobuf::SpecialFields {
5888            &self.special_fields
5889        }
5890
5891        fn mut_special_fields(&mut self) -> &mut ::protobuf::SpecialFields {
5892            &mut self.special_fields
5893        }
5894
5895        fn new() -> Raw {
5896            Raw::new()
5897        }
5898
5899        fn clear(&mut self) {
5900            self.txID.clear();
5901            self.vout = 0;
5902            self.pubKey.clear();
5903            self.special_fields.clear();
5904        }
5905
5906        fn default_instance() -> &'static Raw {
5907            static instance: Raw = Raw {
5908                txID: ::std::vec::Vec::new(),
5909                vout: 0,
5910                pubKey: ::std::vec::Vec::new(),
5911                special_fields: ::protobuf::SpecialFields::new(),
5912            };
5913            &instance
5914        }
5915    }
5916
5917    impl ::protobuf::MessageFull for Raw {
5918        fn descriptor() -> ::protobuf::reflect::MessageDescriptor {
5919            static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::Lazy::new();
5920            descriptor.get(|| super::file_descriptor().message_by_package_relative_name("TXInput.raw").unwrap()).clone()
5921        }
5922    }
5923
5924    impl ::std::fmt::Display for Raw {
5925        fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
5926            ::protobuf::text_format::fmt(self, f)
5927        }
5928    }
5929
5930    impl ::protobuf::reflect::ProtobufValue for Raw {
5931        type RuntimeType = ::protobuf::reflect::rt::RuntimeTypeMessage<Self>;
5932    }
5933}
5934
5935// @@protoc_insertion_point(message:protocol.TXOutputs)
5936#[derive(PartialEq,Clone,Default,Debug)]
5937pub struct TXOutputs {
5938    // message fields
5939    // @@protoc_insertion_point(field:protocol.TXOutputs.outputs)
5940    pub outputs: ::std::vec::Vec<TXOutput>,
5941    // special fields
5942    // @@protoc_insertion_point(special_field:protocol.TXOutputs.special_fields)
5943    pub special_fields: ::protobuf::SpecialFields,
5944}
5945
5946impl<'a> ::std::default::Default for &'a TXOutputs {
5947    fn default() -> &'a TXOutputs {
5948        <TXOutputs as ::protobuf::Message>::default_instance()
5949    }
5950}
5951
5952impl TXOutputs {
5953    pub fn new() -> TXOutputs {
5954        ::std::default::Default::default()
5955    }
5956
5957    fn generated_message_descriptor_data() -> ::protobuf::reflect::GeneratedMessageDescriptorData {
5958        let mut fields = ::std::vec::Vec::with_capacity(1);
5959        let mut oneofs = ::std::vec::Vec::with_capacity(0);
5960        fields.push(::protobuf::reflect::rt::v2::make_vec_simpler_accessor::<_, _>(
5961            "outputs",
5962            |m: &TXOutputs| { &m.outputs },
5963            |m: &mut TXOutputs| { &mut m.outputs },
5964        ));
5965        ::protobuf::reflect::GeneratedMessageDescriptorData::new_2::<TXOutputs>(
5966            "TXOutputs",
5967            fields,
5968            oneofs,
5969        )
5970    }
5971}
5972
5973impl ::protobuf::Message for TXOutputs {
5974    const NAME: &'static str = "TXOutputs";
5975
5976    fn is_initialized(&self) -> bool {
5977        true
5978    }
5979
5980    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::Result<()> {
5981        while let Some(tag) = is.read_raw_tag_or_eof()? {
5982            match tag {
5983                10 => {
5984                    self.outputs.push(is.read_message()?);
5985                },
5986                tag => {
5987                    ::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?;
5988                },
5989            };
5990        }
5991        ::std::result::Result::Ok(())
5992    }
5993
5994    // Compute sizes of nested messages
5995    #[allow(unused_variables)]
5996    fn compute_size(&self) -> u64 {
5997        let mut my_size = 0;
5998        for value in &self.outputs {
5999            let len = value.compute_size();
6000            my_size += 1 + ::protobuf::rt::compute_raw_varint64_size(len) + len;
6001        };
6002        my_size += ::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields());
6003        self.special_fields.cached_size().set(my_size as u32);
6004        my_size
6005    }
6006
6007    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::Result<()> {
6008        for v in &self.outputs {
6009            ::protobuf::rt::write_message_field_with_cached_size(1, v, os)?;
6010        };
6011        os.write_unknown_fields(self.special_fields.unknown_fields())?;
6012        ::std::result::Result::Ok(())
6013    }
6014
6015    fn special_fields(&self) -> &::protobuf::SpecialFields {
6016        &self.special_fields
6017    }
6018
6019    fn mut_special_fields(&mut self) -> &mut ::protobuf::SpecialFields {
6020        &mut self.special_fields
6021    }
6022
6023    fn new() -> TXOutputs {
6024        TXOutputs::new()
6025    }
6026
6027    fn clear(&mut self) {
6028        self.outputs.clear();
6029        self.special_fields.clear();
6030    }
6031
6032    fn default_instance() -> &'static TXOutputs {
6033        static instance: TXOutputs = TXOutputs {
6034            outputs: ::std::vec::Vec::new(),
6035            special_fields: ::protobuf::SpecialFields::new(),
6036        };
6037        &instance
6038    }
6039}
6040
6041impl ::protobuf::MessageFull for TXOutputs {
6042    fn descriptor() -> ::protobuf::reflect::MessageDescriptor {
6043        static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::Lazy::new();
6044        descriptor.get(|| file_descriptor().message_by_package_relative_name("TXOutputs").unwrap()).clone()
6045    }
6046}
6047
6048impl ::std::fmt::Display for TXOutputs {
6049    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
6050        ::protobuf::text_format::fmt(self, f)
6051    }
6052}
6053
6054impl ::protobuf::reflect::ProtobufValue for TXOutputs {
6055    type RuntimeType = ::protobuf::reflect::rt::RuntimeTypeMessage<Self>;
6056}
6057
6058// @@protoc_insertion_point(message:protocol.ResourceReceipt)
6059#[derive(PartialEq,Clone,Default,Debug)]
6060pub struct ResourceReceipt {
6061    // message fields
6062    // @@protoc_insertion_point(field:protocol.ResourceReceipt.energy_usage)
6063    pub energy_usage: i64,
6064    // @@protoc_insertion_point(field:protocol.ResourceReceipt.energy_fee)
6065    pub energy_fee: i64,
6066    // @@protoc_insertion_point(field:protocol.ResourceReceipt.origin_energy_usage)
6067    pub origin_energy_usage: i64,
6068    // @@protoc_insertion_point(field:protocol.ResourceReceipt.energy_usage_total)
6069    pub energy_usage_total: i64,
6070    // @@protoc_insertion_point(field:protocol.ResourceReceipt.net_usage)
6071    pub net_usage: i64,
6072    // @@protoc_insertion_point(field:protocol.ResourceReceipt.net_fee)
6073    pub net_fee: i64,
6074    // @@protoc_insertion_point(field:protocol.ResourceReceipt.result)
6075    pub result: ::protobuf::EnumOrUnknown<transaction::result::ContractResult>,
6076    // @@protoc_insertion_point(field:protocol.ResourceReceipt.energy_penalty_total)
6077    pub energy_penalty_total: i64,
6078    // special fields
6079    // @@protoc_insertion_point(special_field:protocol.ResourceReceipt.special_fields)
6080    pub special_fields: ::protobuf::SpecialFields,
6081}
6082
6083impl<'a> ::std::default::Default for &'a ResourceReceipt {
6084    fn default() -> &'a ResourceReceipt {
6085        <ResourceReceipt as ::protobuf::Message>::default_instance()
6086    }
6087}
6088
6089impl ResourceReceipt {
6090    pub fn new() -> ResourceReceipt {
6091        ::std::default::Default::default()
6092    }
6093
6094    fn generated_message_descriptor_data() -> ::protobuf::reflect::GeneratedMessageDescriptorData {
6095        let mut fields = ::std::vec::Vec::with_capacity(8);
6096        let mut oneofs = ::std::vec::Vec::with_capacity(0);
6097        fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
6098            "energy_usage",
6099            |m: &ResourceReceipt| { &m.energy_usage },
6100            |m: &mut ResourceReceipt| { &mut m.energy_usage },
6101        ));
6102        fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
6103            "energy_fee",
6104            |m: &ResourceReceipt| { &m.energy_fee },
6105            |m: &mut ResourceReceipt| { &mut m.energy_fee },
6106        ));
6107        fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
6108            "origin_energy_usage",
6109            |m: &ResourceReceipt| { &m.origin_energy_usage },
6110            |m: &mut ResourceReceipt| { &mut m.origin_energy_usage },
6111        ));
6112        fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
6113            "energy_usage_total",
6114            |m: &ResourceReceipt| { &m.energy_usage_total },
6115            |m: &mut ResourceReceipt| { &mut m.energy_usage_total },
6116        ));
6117        fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
6118            "net_usage",
6119            |m: &ResourceReceipt| { &m.net_usage },
6120            |m: &mut ResourceReceipt| { &mut m.net_usage },
6121        ));
6122        fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
6123            "net_fee",
6124            |m: &ResourceReceipt| { &m.net_fee },
6125            |m: &mut ResourceReceipt| { &mut m.net_fee },
6126        ));
6127        fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
6128            "result",
6129            |m: &ResourceReceipt| { &m.result },
6130            |m: &mut ResourceReceipt| { &mut m.result },
6131        ));
6132        fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
6133            "energy_penalty_total",
6134            |m: &ResourceReceipt| { &m.energy_penalty_total },
6135            |m: &mut ResourceReceipt| { &mut m.energy_penalty_total },
6136        ));
6137        ::protobuf::reflect::GeneratedMessageDescriptorData::new_2::<ResourceReceipt>(
6138            "ResourceReceipt",
6139            fields,
6140            oneofs,
6141        )
6142    }
6143}
6144
6145impl ::protobuf::Message for ResourceReceipt {
6146    const NAME: &'static str = "ResourceReceipt";
6147
6148    fn is_initialized(&self) -> bool {
6149        true
6150    }
6151
6152    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::Result<()> {
6153        while let Some(tag) = is.read_raw_tag_or_eof()? {
6154            match tag {
6155                8 => {
6156                    self.energy_usage = is.read_int64()?;
6157                },
6158                16 => {
6159                    self.energy_fee = is.read_int64()?;
6160                },
6161                24 => {
6162                    self.origin_energy_usage = is.read_int64()?;
6163                },
6164                32 => {
6165                    self.energy_usage_total = is.read_int64()?;
6166                },
6167                40 => {
6168                    self.net_usage = is.read_int64()?;
6169                },
6170                48 => {
6171                    self.net_fee = is.read_int64()?;
6172                },
6173                56 => {
6174                    self.result = is.read_enum_or_unknown()?;
6175                },
6176                64 => {
6177                    self.energy_penalty_total = is.read_int64()?;
6178                },
6179                tag => {
6180                    ::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?;
6181                },
6182            };
6183        }
6184        ::std::result::Result::Ok(())
6185    }
6186
6187    // Compute sizes of nested messages
6188    #[allow(unused_variables)]
6189    fn compute_size(&self) -> u64 {
6190        let mut my_size = 0;
6191        if self.energy_usage != 0 {
6192            my_size += ::protobuf::rt::int64_size(1, self.energy_usage);
6193        }
6194        if self.energy_fee != 0 {
6195            my_size += ::protobuf::rt::int64_size(2, self.energy_fee);
6196        }
6197        if self.origin_energy_usage != 0 {
6198            my_size += ::protobuf::rt::int64_size(3, self.origin_energy_usage);
6199        }
6200        if self.energy_usage_total != 0 {
6201            my_size += ::protobuf::rt::int64_size(4, self.energy_usage_total);
6202        }
6203        if self.net_usage != 0 {
6204            my_size += ::protobuf::rt::int64_size(5, self.net_usage);
6205        }
6206        if self.net_fee != 0 {
6207            my_size += ::protobuf::rt::int64_size(6, self.net_fee);
6208        }
6209        if self.result != ::protobuf::EnumOrUnknown::new(transaction::result::ContractResult::DEFAULT) {
6210            my_size += ::protobuf::rt::int32_size(7, self.result.value());
6211        }
6212        if self.energy_penalty_total != 0 {
6213            my_size += ::protobuf::rt::int64_size(8, self.energy_penalty_total);
6214        }
6215        my_size += ::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields());
6216        self.special_fields.cached_size().set(my_size as u32);
6217        my_size
6218    }
6219
6220    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::Result<()> {
6221        if self.energy_usage != 0 {
6222            os.write_int64(1, self.energy_usage)?;
6223        }
6224        if self.energy_fee != 0 {
6225            os.write_int64(2, self.energy_fee)?;
6226        }
6227        if self.origin_energy_usage != 0 {
6228            os.write_int64(3, self.origin_energy_usage)?;
6229        }
6230        if self.energy_usage_total != 0 {
6231            os.write_int64(4, self.energy_usage_total)?;
6232        }
6233        if self.net_usage != 0 {
6234            os.write_int64(5, self.net_usage)?;
6235        }
6236        if self.net_fee != 0 {
6237            os.write_int64(6, self.net_fee)?;
6238        }
6239        if self.result != ::protobuf::EnumOrUnknown::new(transaction::result::ContractResult::DEFAULT) {
6240            os.write_enum(7, ::protobuf::EnumOrUnknown::value(&self.result))?;
6241        }
6242        if self.energy_penalty_total != 0 {
6243            os.write_int64(8, self.energy_penalty_total)?;
6244        }
6245        os.write_unknown_fields(self.special_fields.unknown_fields())?;
6246        ::std::result::Result::Ok(())
6247    }
6248
6249    fn special_fields(&self) -> &::protobuf::SpecialFields {
6250        &self.special_fields
6251    }
6252
6253    fn mut_special_fields(&mut self) -> &mut ::protobuf::SpecialFields {
6254        &mut self.special_fields
6255    }
6256
6257    fn new() -> ResourceReceipt {
6258        ResourceReceipt::new()
6259    }
6260
6261    fn clear(&mut self) {
6262        self.energy_usage = 0;
6263        self.energy_fee = 0;
6264        self.origin_energy_usage = 0;
6265        self.energy_usage_total = 0;
6266        self.net_usage = 0;
6267        self.net_fee = 0;
6268        self.result = ::protobuf::EnumOrUnknown::new(transaction::result::ContractResult::DEFAULT);
6269        self.energy_penalty_total = 0;
6270        self.special_fields.clear();
6271    }
6272
6273    fn default_instance() -> &'static ResourceReceipt {
6274        static instance: ResourceReceipt = ResourceReceipt {
6275            energy_usage: 0,
6276            energy_fee: 0,
6277            origin_energy_usage: 0,
6278            energy_usage_total: 0,
6279            net_usage: 0,
6280            net_fee: 0,
6281            result: ::protobuf::EnumOrUnknown::from_i32(0),
6282            energy_penalty_total: 0,
6283            special_fields: ::protobuf::SpecialFields::new(),
6284        };
6285        &instance
6286    }
6287}
6288
6289impl ::protobuf::MessageFull for ResourceReceipt {
6290    fn descriptor() -> ::protobuf::reflect::MessageDescriptor {
6291        static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::Lazy::new();
6292        descriptor.get(|| file_descriptor().message_by_package_relative_name("ResourceReceipt").unwrap()).clone()
6293    }
6294}
6295
6296impl ::std::fmt::Display for ResourceReceipt {
6297    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
6298        ::protobuf::text_format::fmt(self, f)
6299    }
6300}
6301
6302impl ::protobuf::reflect::ProtobufValue for ResourceReceipt {
6303    type RuntimeType = ::protobuf::reflect::rt::RuntimeTypeMessage<Self>;
6304}
6305
6306// @@protoc_insertion_point(message:protocol.MarketOrderDetail)
6307#[derive(PartialEq,Clone,Default,Debug)]
6308pub struct MarketOrderDetail {
6309    // message fields
6310    // @@protoc_insertion_point(field:protocol.MarketOrderDetail.makerOrderId)
6311    pub makerOrderId: ::std::vec::Vec<u8>,
6312    // @@protoc_insertion_point(field:protocol.MarketOrderDetail.takerOrderId)
6313    pub takerOrderId: ::std::vec::Vec<u8>,
6314    // @@protoc_insertion_point(field:protocol.MarketOrderDetail.fillSellQuantity)
6315    pub fillSellQuantity: i64,
6316    // @@protoc_insertion_point(field:protocol.MarketOrderDetail.fillBuyQuantity)
6317    pub fillBuyQuantity: i64,
6318    // special fields
6319    // @@protoc_insertion_point(special_field:protocol.MarketOrderDetail.special_fields)
6320    pub special_fields: ::protobuf::SpecialFields,
6321}
6322
6323impl<'a> ::std::default::Default for &'a MarketOrderDetail {
6324    fn default() -> &'a MarketOrderDetail {
6325        <MarketOrderDetail as ::protobuf::Message>::default_instance()
6326    }
6327}
6328
6329impl MarketOrderDetail {
6330    pub fn new() -> MarketOrderDetail {
6331        ::std::default::Default::default()
6332    }
6333
6334    fn generated_message_descriptor_data() -> ::protobuf::reflect::GeneratedMessageDescriptorData {
6335        let mut fields = ::std::vec::Vec::with_capacity(4);
6336        let mut oneofs = ::std::vec::Vec::with_capacity(0);
6337        fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
6338            "makerOrderId",
6339            |m: &MarketOrderDetail| { &m.makerOrderId },
6340            |m: &mut MarketOrderDetail| { &mut m.makerOrderId },
6341        ));
6342        fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
6343            "takerOrderId",
6344            |m: &MarketOrderDetail| { &m.takerOrderId },
6345            |m: &mut MarketOrderDetail| { &mut m.takerOrderId },
6346        ));
6347        fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
6348            "fillSellQuantity",
6349            |m: &MarketOrderDetail| { &m.fillSellQuantity },
6350            |m: &mut MarketOrderDetail| { &mut m.fillSellQuantity },
6351        ));
6352        fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
6353            "fillBuyQuantity",
6354            |m: &MarketOrderDetail| { &m.fillBuyQuantity },
6355            |m: &mut MarketOrderDetail| { &mut m.fillBuyQuantity },
6356        ));
6357        ::protobuf::reflect::GeneratedMessageDescriptorData::new_2::<MarketOrderDetail>(
6358            "MarketOrderDetail",
6359            fields,
6360            oneofs,
6361        )
6362    }
6363}
6364
6365impl ::protobuf::Message for MarketOrderDetail {
6366    const NAME: &'static str = "MarketOrderDetail";
6367
6368    fn is_initialized(&self) -> bool {
6369        true
6370    }
6371
6372    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::Result<()> {
6373        while let Some(tag) = is.read_raw_tag_or_eof()? {
6374            match tag {
6375                10 => {
6376                    self.makerOrderId = is.read_bytes()?;
6377                },
6378                18 => {
6379                    self.takerOrderId = is.read_bytes()?;
6380                },
6381                24 => {
6382                    self.fillSellQuantity = is.read_int64()?;
6383                },
6384                32 => {
6385                    self.fillBuyQuantity = is.read_int64()?;
6386                },
6387                tag => {
6388                    ::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?;
6389                },
6390            };
6391        }
6392        ::std::result::Result::Ok(())
6393    }
6394
6395    // Compute sizes of nested messages
6396    #[allow(unused_variables)]
6397    fn compute_size(&self) -> u64 {
6398        let mut my_size = 0;
6399        if !self.makerOrderId.is_empty() {
6400            my_size += ::protobuf::rt::bytes_size(1, &self.makerOrderId);
6401        }
6402        if !self.takerOrderId.is_empty() {
6403            my_size += ::protobuf::rt::bytes_size(2, &self.takerOrderId);
6404        }
6405        if self.fillSellQuantity != 0 {
6406            my_size += ::protobuf::rt::int64_size(3, self.fillSellQuantity);
6407        }
6408        if self.fillBuyQuantity != 0 {
6409            my_size += ::protobuf::rt::int64_size(4, self.fillBuyQuantity);
6410        }
6411        my_size += ::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields());
6412        self.special_fields.cached_size().set(my_size as u32);
6413        my_size
6414    }
6415
6416    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::Result<()> {
6417        if !self.makerOrderId.is_empty() {
6418            os.write_bytes(1, &self.makerOrderId)?;
6419        }
6420        if !self.takerOrderId.is_empty() {
6421            os.write_bytes(2, &self.takerOrderId)?;
6422        }
6423        if self.fillSellQuantity != 0 {
6424            os.write_int64(3, self.fillSellQuantity)?;
6425        }
6426        if self.fillBuyQuantity != 0 {
6427            os.write_int64(4, self.fillBuyQuantity)?;
6428        }
6429        os.write_unknown_fields(self.special_fields.unknown_fields())?;
6430        ::std::result::Result::Ok(())
6431    }
6432
6433    fn special_fields(&self) -> &::protobuf::SpecialFields {
6434        &self.special_fields
6435    }
6436
6437    fn mut_special_fields(&mut self) -> &mut ::protobuf::SpecialFields {
6438        &mut self.special_fields
6439    }
6440
6441    fn new() -> MarketOrderDetail {
6442        MarketOrderDetail::new()
6443    }
6444
6445    fn clear(&mut self) {
6446        self.makerOrderId.clear();
6447        self.takerOrderId.clear();
6448        self.fillSellQuantity = 0;
6449        self.fillBuyQuantity = 0;
6450        self.special_fields.clear();
6451    }
6452
6453    fn default_instance() -> &'static MarketOrderDetail {
6454        static instance: MarketOrderDetail = MarketOrderDetail {
6455            makerOrderId: ::std::vec::Vec::new(),
6456            takerOrderId: ::std::vec::Vec::new(),
6457            fillSellQuantity: 0,
6458            fillBuyQuantity: 0,
6459            special_fields: ::protobuf::SpecialFields::new(),
6460        };
6461        &instance
6462    }
6463}
6464
6465impl ::protobuf::MessageFull for MarketOrderDetail {
6466    fn descriptor() -> ::protobuf::reflect::MessageDescriptor {
6467        static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::Lazy::new();
6468        descriptor.get(|| file_descriptor().message_by_package_relative_name("MarketOrderDetail").unwrap()).clone()
6469    }
6470}
6471
6472impl ::std::fmt::Display for MarketOrderDetail {
6473    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
6474        ::protobuf::text_format::fmt(self, f)
6475    }
6476}
6477
6478impl ::protobuf::reflect::ProtobufValue for MarketOrderDetail {
6479    type RuntimeType = ::protobuf::reflect::rt::RuntimeTypeMessage<Self>;
6480}
6481
6482// @@protoc_insertion_point(message:protocol.Transaction)
6483#[derive(PartialEq,Clone,Default,Debug)]
6484pub struct Transaction {
6485    // message fields
6486    // @@protoc_insertion_point(field:protocol.Transaction.raw_data)
6487    pub raw_data: ::protobuf::MessageField<transaction::Raw>,
6488    ///  only support size = 1,  repeated list here for muti-sig extension
6489    // @@protoc_insertion_point(field:protocol.Transaction.signature)
6490    pub signature: ::std::vec::Vec<::std::vec::Vec<u8>>,
6491    // @@protoc_insertion_point(field:protocol.Transaction.ret)
6492    pub ret: ::std::vec::Vec<transaction::Result>,
6493    // special fields
6494    // @@protoc_insertion_point(special_field:protocol.Transaction.special_fields)
6495    pub special_fields: ::protobuf::SpecialFields,
6496}
6497
6498impl<'a> ::std::default::Default for &'a Transaction {
6499    fn default() -> &'a Transaction {
6500        <Transaction as ::protobuf::Message>::default_instance()
6501    }
6502}
6503
6504impl Transaction {
6505    pub fn new() -> Transaction {
6506        ::std::default::Default::default()
6507    }
6508
6509    fn generated_message_descriptor_data() -> ::protobuf::reflect::GeneratedMessageDescriptorData {
6510        let mut fields = ::std::vec::Vec::with_capacity(3);
6511        let mut oneofs = ::std::vec::Vec::with_capacity(0);
6512        fields.push(::protobuf::reflect::rt::v2::make_message_field_accessor::<_, transaction::Raw>(
6513            "raw_data",
6514            |m: &Transaction| { &m.raw_data },
6515            |m: &mut Transaction| { &mut m.raw_data },
6516        ));
6517        fields.push(::protobuf::reflect::rt::v2::make_vec_simpler_accessor::<_, _>(
6518            "signature",
6519            |m: &Transaction| { &m.signature },
6520            |m: &mut Transaction| { &mut m.signature },
6521        ));
6522        fields.push(::protobuf::reflect::rt::v2::make_vec_simpler_accessor::<_, _>(
6523            "ret",
6524            |m: &Transaction| { &m.ret },
6525            |m: &mut Transaction| { &mut m.ret },
6526        ));
6527        ::protobuf::reflect::GeneratedMessageDescriptorData::new_2::<Transaction>(
6528            "Transaction",
6529            fields,
6530            oneofs,
6531        )
6532    }
6533}
6534
6535impl ::protobuf::Message for Transaction {
6536    const NAME: &'static str = "Transaction";
6537
6538    fn is_initialized(&self) -> bool {
6539        true
6540    }
6541
6542    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::Result<()> {
6543        while let Some(tag) = is.read_raw_tag_or_eof()? {
6544            match tag {
6545                10 => {
6546                    ::protobuf::rt::read_singular_message_into_field(is, &mut self.raw_data)?;
6547                },
6548                18 => {
6549                    self.signature.push(is.read_bytes()?);
6550                },
6551                42 => {
6552                    self.ret.push(is.read_message()?);
6553                },
6554                tag => {
6555                    ::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?;
6556                },
6557            };
6558        }
6559        ::std::result::Result::Ok(())
6560    }
6561
6562    // Compute sizes of nested messages
6563    #[allow(unused_variables)]
6564    fn compute_size(&self) -> u64 {
6565        let mut my_size = 0;
6566        if let Some(v) = self.raw_data.as_ref() {
6567            let len = v.compute_size();
6568            my_size += 1 + ::protobuf::rt::compute_raw_varint64_size(len) + len;
6569        }
6570        for value in &self.signature {
6571            my_size += ::protobuf::rt::bytes_size(2, &value);
6572        };
6573        for value in &self.ret {
6574            let len = value.compute_size();
6575            my_size += 1 + ::protobuf::rt::compute_raw_varint64_size(len) + len;
6576        };
6577        my_size += ::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields());
6578        self.special_fields.cached_size().set(my_size as u32);
6579        my_size
6580    }
6581
6582    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::Result<()> {
6583        if let Some(v) = self.raw_data.as_ref() {
6584            ::protobuf::rt::write_message_field_with_cached_size(1, v, os)?;
6585        }
6586        for v in &self.signature {
6587            os.write_bytes(2, &v)?;
6588        };
6589        for v in &self.ret {
6590            ::protobuf::rt::write_message_field_with_cached_size(5, v, os)?;
6591        };
6592        os.write_unknown_fields(self.special_fields.unknown_fields())?;
6593        ::std::result::Result::Ok(())
6594    }
6595
6596    fn special_fields(&self) -> &::protobuf::SpecialFields {
6597        &self.special_fields
6598    }
6599
6600    fn mut_special_fields(&mut self) -> &mut ::protobuf::SpecialFields {
6601        &mut self.special_fields
6602    }
6603
6604    fn new() -> Transaction {
6605        Transaction::new()
6606    }
6607
6608    fn clear(&mut self) {
6609        self.raw_data.clear();
6610        self.signature.clear();
6611        self.ret.clear();
6612        self.special_fields.clear();
6613    }
6614
6615    fn default_instance() -> &'static Transaction {
6616        static instance: Transaction = Transaction {
6617            raw_data: ::protobuf::MessageField::none(),
6618            signature: ::std::vec::Vec::new(),
6619            ret: ::std::vec::Vec::new(),
6620            special_fields: ::protobuf::SpecialFields::new(),
6621        };
6622        &instance
6623    }
6624}
6625
6626impl ::protobuf::MessageFull for Transaction {
6627    fn descriptor() -> ::protobuf::reflect::MessageDescriptor {
6628        static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::Lazy::new();
6629        descriptor.get(|| file_descriptor().message_by_package_relative_name("Transaction").unwrap()).clone()
6630    }
6631}
6632
6633impl ::std::fmt::Display for Transaction {
6634    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
6635        ::protobuf::text_format::fmt(self, f)
6636    }
6637}
6638
6639impl ::protobuf::reflect::ProtobufValue for Transaction {
6640    type RuntimeType = ::protobuf::reflect::rt::RuntimeTypeMessage<Self>;
6641}
6642
6643/// Nested message and enums of message `Transaction`
6644pub mod transaction {
6645    // @@protoc_insertion_point(message:protocol.Transaction.Contract)
6646    #[derive(PartialEq,Clone,Default,Debug)]
6647    pub struct Contract {
6648        // message fields
6649        // @@protoc_insertion_point(field:protocol.Transaction.Contract.type)
6650        pub type_: ::protobuf::EnumOrUnknown<contract::ContractType>,
6651        // @@protoc_insertion_point(field:protocol.Transaction.Contract.parameter)
6652        pub parameter: ::protobuf::MessageField<::protobuf::well_known_types::any::Any>,
6653        // @@protoc_insertion_point(field:protocol.Transaction.Contract.provider)
6654        pub provider: ::std::vec::Vec<u8>,
6655        // @@protoc_insertion_point(field:protocol.Transaction.Contract.ContractName)
6656        pub ContractName: ::std::vec::Vec<u8>,
6657        // @@protoc_insertion_point(field:protocol.Transaction.Contract.Permission_id)
6658        pub Permission_id: i32,
6659        // special fields
6660        // @@protoc_insertion_point(special_field:protocol.Transaction.Contract.special_fields)
6661        pub special_fields: ::protobuf::SpecialFields,
6662    }
6663
6664    impl<'a> ::std::default::Default for &'a Contract {
6665        fn default() -> &'a Contract {
6666            <Contract as ::protobuf::Message>::default_instance()
6667        }
6668    }
6669
6670    impl Contract {
6671        pub fn new() -> Contract {
6672            ::std::default::Default::default()
6673        }
6674
6675        pub(in super) fn generated_message_descriptor_data() -> ::protobuf::reflect::GeneratedMessageDescriptorData {
6676            let mut fields = ::std::vec::Vec::with_capacity(5);
6677            let mut oneofs = ::std::vec::Vec::with_capacity(0);
6678            fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
6679                "type",
6680                |m: &Contract| { &m.type_ },
6681                |m: &mut Contract| { &mut m.type_ },
6682            ));
6683            fields.push(::protobuf::reflect::rt::v2::make_message_field_accessor::<_, ::protobuf::well_known_types::any::Any>(
6684                "parameter",
6685                |m: &Contract| { &m.parameter },
6686                |m: &mut Contract| { &mut m.parameter },
6687            ));
6688            fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
6689                "provider",
6690                |m: &Contract| { &m.provider },
6691                |m: &mut Contract| { &mut m.provider },
6692            ));
6693            fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
6694                "ContractName",
6695                |m: &Contract| { &m.ContractName },
6696                |m: &mut Contract| { &mut m.ContractName },
6697            ));
6698            fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
6699                "Permission_id",
6700                |m: &Contract| { &m.Permission_id },
6701                |m: &mut Contract| { &mut m.Permission_id },
6702            ));
6703            ::protobuf::reflect::GeneratedMessageDescriptorData::new_2::<Contract>(
6704                "Transaction.Contract",
6705                fields,
6706                oneofs,
6707            )
6708        }
6709    }
6710
6711    impl ::protobuf::Message for Contract {
6712        const NAME: &'static str = "Contract";
6713
6714        fn is_initialized(&self) -> bool {
6715            true
6716        }
6717
6718        fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::Result<()> {
6719            while let Some(tag) = is.read_raw_tag_or_eof()? {
6720                match tag {
6721                    8 => {
6722                        self.type_ = is.read_enum_or_unknown()?;
6723                    },
6724                    18 => {
6725                        ::protobuf::rt::read_singular_message_into_field(is, &mut self.parameter)?;
6726                    },
6727                    26 => {
6728                        self.provider = is.read_bytes()?;
6729                    },
6730                    34 => {
6731                        self.ContractName = is.read_bytes()?;
6732                    },
6733                    40 => {
6734                        self.Permission_id = is.read_int32()?;
6735                    },
6736                    tag => {
6737                        ::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?;
6738                    },
6739                };
6740            }
6741            ::std::result::Result::Ok(())
6742        }
6743
6744        // Compute sizes of nested messages
6745        #[allow(unused_variables)]
6746        fn compute_size(&self) -> u64 {
6747            let mut my_size = 0;
6748            if self.type_ != ::protobuf::EnumOrUnknown::new(contract::ContractType::AccountCreateContract) {
6749                my_size += ::protobuf::rt::int32_size(1, self.type_.value());
6750            }
6751            if let Some(v) = self.parameter.as_ref() {
6752                let len = v.compute_size();
6753                my_size += 1 + ::protobuf::rt::compute_raw_varint64_size(len) + len;
6754            }
6755            if !self.provider.is_empty() {
6756                my_size += ::protobuf::rt::bytes_size(3, &self.provider);
6757            }
6758            if !self.ContractName.is_empty() {
6759                my_size += ::protobuf::rt::bytes_size(4, &self.ContractName);
6760            }
6761            if self.Permission_id != 0 {
6762                my_size += ::protobuf::rt::int32_size(5, self.Permission_id);
6763            }
6764            my_size += ::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields());
6765            self.special_fields.cached_size().set(my_size as u32);
6766            my_size
6767        }
6768
6769        fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::Result<()> {
6770            if self.type_ != ::protobuf::EnumOrUnknown::new(contract::ContractType::AccountCreateContract) {
6771                os.write_enum(1, ::protobuf::EnumOrUnknown::value(&self.type_))?;
6772            }
6773            if let Some(v) = self.parameter.as_ref() {
6774                ::protobuf::rt::write_message_field_with_cached_size(2, v, os)?;
6775            }
6776            if !self.provider.is_empty() {
6777                os.write_bytes(3, &self.provider)?;
6778            }
6779            if !self.ContractName.is_empty() {
6780                os.write_bytes(4, &self.ContractName)?;
6781            }
6782            if self.Permission_id != 0 {
6783                os.write_int32(5, self.Permission_id)?;
6784            }
6785            os.write_unknown_fields(self.special_fields.unknown_fields())?;
6786            ::std::result::Result::Ok(())
6787        }
6788
6789        fn special_fields(&self) -> &::protobuf::SpecialFields {
6790            &self.special_fields
6791        }
6792
6793        fn mut_special_fields(&mut self) -> &mut ::protobuf::SpecialFields {
6794            &mut self.special_fields
6795        }
6796
6797        fn new() -> Contract {
6798            Contract::new()
6799        }
6800
6801        fn clear(&mut self) {
6802            self.type_ = ::protobuf::EnumOrUnknown::new(contract::ContractType::AccountCreateContract);
6803            self.parameter.clear();
6804            self.provider.clear();
6805            self.ContractName.clear();
6806            self.Permission_id = 0;
6807            self.special_fields.clear();
6808        }
6809
6810        fn default_instance() -> &'static Contract {
6811            static instance: Contract = Contract {
6812                type_: ::protobuf::EnumOrUnknown::from_i32(0),
6813                parameter: ::protobuf::MessageField::none(),
6814                provider: ::std::vec::Vec::new(),
6815                ContractName: ::std::vec::Vec::new(),
6816                Permission_id: 0,
6817                special_fields: ::protobuf::SpecialFields::new(),
6818            };
6819            &instance
6820        }
6821    }
6822
6823    impl ::protobuf::MessageFull for Contract {
6824        fn descriptor() -> ::protobuf::reflect::MessageDescriptor {
6825            static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::Lazy::new();
6826            descriptor.get(|| super::file_descriptor().message_by_package_relative_name("Transaction.Contract").unwrap()).clone()
6827        }
6828    }
6829
6830    impl ::std::fmt::Display for Contract {
6831        fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
6832            ::protobuf::text_format::fmt(self, f)
6833        }
6834    }
6835
6836    impl ::protobuf::reflect::ProtobufValue for Contract {
6837        type RuntimeType = ::protobuf::reflect::rt::RuntimeTypeMessage<Self>;
6838    }
6839
6840    /// Nested message and enums of message `Contract`
6841    pub mod contract {
6842        #[derive(Clone,Copy,PartialEq,Eq,Debug,Hash)]
6843        // @@protoc_insertion_point(enum:protocol.Transaction.Contract.ContractType)
6844        pub enum ContractType {
6845            // @@protoc_insertion_point(enum_value:protocol.Transaction.Contract.ContractType.AccountCreateContract)
6846            AccountCreateContract = 0,
6847            // @@protoc_insertion_point(enum_value:protocol.Transaction.Contract.ContractType.TransferContract)
6848            TransferContract = 1,
6849            // @@protoc_insertion_point(enum_value:protocol.Transaction.Contract.ContractType.TransferAssetContract)
6850            TransferAssetContract = 2,
6851            // @@protoc_insertion_point(enum_value:protocol.Transaction.Contract.ContractType.VoteAssetContract)
6852            VoteAssetContract = 3,
6853            // @@protoc_insertion_point(enum_value:protocol.Transaction.Contract.ContractType.VoteWitnessContract)
6854            VoteWitnessContract = 4,
6855            // @@protoc_insertion_point(enum_value:protocol.Transaction.Contract.ContractType.WitnessCreateContract)
6856            WitnessCreateContract = 5,
6857            // @@protoc_insertion_point(enum_value:protocol.Transaction.Contract.ContractType.AssetIssueContract)
6858            AssetIssueContract = 6,
6859            // @@protoc_insertion_point(enum_value:protocol.Transaction.Contract.ContractType.WitnessUpdateContract)
6860            WitnessUpdateContract = 8,
6861            // @@protoc_insertion_point(enum_value:protocol.Transaction.Contract.ContractType.ParticipateAssetIssueContract)
6862            ParticipateAssetIssueContract = 9,
6863            // @@protoc_insertion_point(enum_value:protocol.Transaction.Contract.ContractType.AccountUpdateContract)
6864            AccountUpdateContract = 10,
6865            // @@protoc_insertion_point(enum_value:protocol.Transaction.Contract.ContractType.FreezeBalanceContract)
6866            FreezeBalanceContract = 11,
6867            // @@protoc_insertion_point(enum_value:protocol.Transaction.Contract.ContractType.UnfreezeBalanceContract)
6868            UnfreezeBalanceContract = 12,
6869            // @@protoc_insertion_point(enum_value:protocol.Transaction.Contract.ContractType.WithdrawBalanceContract)
6870            WithdrawBalanceContract = 13,
6871            // @@protoc_insertion_point(enum_value:protocol.Transaction.Contract.ContractType.UnfreezeAssetContract)
6872            UnfreezeAssetContract = 14,
6873            // @@protoc_insertion_point(enum_value:protocol.Transaction.Contract.ContractType.UpdateAssetContract)
6874            UpdateAssetContract = 15,
6875            // @@protoc_insertion_point(enum_value:protocol.Transaction.Contract.ContractType.ProposalCreateContract)
6876            ProposalCreateContract = 16,
6877            // @@protoc_insertion_point(enum_value:protocol.Transaction.Contract.ContractType.ProposalApproveContract)
6878            ProposalApproveContract = 17,
6879            // @@protoc_insertion_point(enum_value:protocol.Transaction.Contract.ContractType.ProposalDeleteContract)
6880            ProposalDeleteContract = 18,
6881            // @@protoc_insertion_point(enum_value:protocol.Transaction.Contract.ContractType.SetAccountIdContract)
6882            SetAccountIdContract = 19,
6883            // @@protoc_insertion_point(enum_value:protocol.Transaction.Contract.ContractType.CustomContract)
6884            CustomContract = 20,
6885            // @@protoc_insertion_point(enum_value:protocol.Transaction.Contract.ContractType.CreateSmartContract)
6886            CreateSmartContract = 30,
6887            // @@protoc_insertion_point(enum_value:protocol.Transaction.Contract.ContractType.TriggerSmartContract)
6888            TriggerSmartContract = 31,
6889            // @@protoc_insertion_point(enum_value:protocol.Transaction.Contract.ContractType.GetContract)
6890            GetContract = 32,
6891            // @@protoc_insertion_point(enum_value:protocol.Transaction.Contract.ContractType.UpdateSettingContract)
6892            UpdateSettingContract = 33,
6893            // @@protoc_insertion_point(enum_value:protocol.Transaction.Contract.ContractType.ExchangeCreateContract)
6894            ExchangeCreateContract = 41,
6895            // @@protoc_insertion_point(enum_value:protocol.Transaction.Contract.ContractType.ExchangeInjectContract)
6896            ExchangeInjectContract = 42,
6897            // @@protoc_insertion_point(enum_value:protocol.Transaction.Contract.ContractType.ExchangeWithdrawContract)
6898            ExchangeWithdrawContract = 43,
6899            // @@protoc_insertion_point(enum_value:protocol.Transaction.Contract.ContractType.ExchangeTransactionContract)
6900            ExchangeTransactionContract = 44,
6901            // @@protoc_insertion_point(enum_value:protocol.Transaction.Contract.ContractType.UpdateEnergyLimitContract)
6902            UpdateEnergyLimitContract = 45,
6903            // @@protoc_insertion_point(enum_value:protocol.Transaction.Contract.ContractType.AccountPermissionUpdateContract)
6904            AccountPermissionUpdateContract = 46,
6905            // @@protoc_insertion_point(enum_value:protocol.Transaction.Contract.ContractType.ClearABIContract)
6906            ClearABIContract = 48,
6907            // @@protoc_insertion_point(enum_value:protocol.Transaction.Contract.ContractType.UpdateBrokerageContract)
6908            UpdateBrokerageContract = 49,
6909            // @@protoc_insertion_point(enum_value:protocol.Transaction.Contract.ContractType.ShieldedTransferContract)
6910            ShieldedTransferContract = 51,
6911            // @@protoc_insertion_point(enum_value:protocol.Transaction.Contract.ContractType.MarketSellAssetContract)
6912            MarketSellAssetContract = 52,
6913            // @@protoc_insertion_point(enum_value:protocol.Transaction.Contract.ContractType.MarketCancelOrderContract)
6914            MarketCancelOrderContract = 53,
6915            // @@protoc_insertion_point(enum_value:protocol.Transaction.Contract.ContractType.FreezeBalanceV2Contract)
6916            FreezeBalanceV2Contract = 54,
6917            // @@protoc_insertion_point(enum_value:protocol.Transaction.Contract.ContractType.UnfreezeBalanceV2Contract)
6918            UnfreezeBalanceV2Contract = 55,
6919            // @@protoc_insertion_point(enum_value:protocol.Transaction.Contract.ContractType.WithdrawExpireUnfreezeContract)
6920            WithdrawExpireUnfreezeContract = 56,
6921            // @@protoc_insertion_point(enum_value:protocol.Transaction.Contract.ContractType.DelegateResourceContract)
6922            DelegateResourceContract = 57,
6923            // @@protoc_insertion_point(enum_value:protocol.Transaction.Contract.ContractType.UnDelegateResourceContract)
6924            UnDelegateResourceContract = 58,
6925            // @@protoc_insertion_point(enum_value:protocol.Transaction.Contract.ContractType.CancelAllUnfreezeV2Contract)
6926            CancelAllUnfreezeV2Contract = 59,
6927        }
6928
6929        impl ::protobuf::Enum for ContractType {
6930            const NAME: &'static str = "ContractType";
6931
6932            fn value(&self) -> i32 {
6933                *self as i32
6934            }
6935
6936            fn from_i32(value: i32) -> ::std::option::Option<ContractType> {
6937                match value {
6938                    0 => ::std::option::Option::Some(ContractType::AccountCreateContract),
6939                    1 => ::std::option::Option::Some(ContractType::TransferContract),
6940                    2 => ::std::option::Option::Some(ContractType::TransferAssetContract),
6941                    3 => ::std::option::Option::Some(ContractType::VoteAssetContract),
6942                    4 => ::std::option::Option::Some(ContractType::VoteWitnessContract),
6943                    5 => ::std::option::Option::Some(ContractType::WitnessCreateContract),
6944                    6 => ::std::option::Option::Some(ContractType::AssetIssueContract),
6945                    8 => ::std::option::Option::Some(ContractType::WitnessUpdateContract),
6946                    9 => ::std::option::Option::Some(ContractType::ParticipateAssetIssueContract),
6947                    10 => ::std::option::Option::Some(ContractType::AccountUpdateContract),
6948                    11 => ::std::option::Option::Some(ContractType::FreezeBalanceContract),
6949                    12 => ::std::option::Option::Some(ContractType::UnfreezeBalanceContract),
6950                    13 => ::std::option::Option::Some(ContractType::WithdrawBalanceContract),
6951                    14 => ::std::option::Option::Some(ContractType::UnfreezeAssetContract),
6952                    15 => ::std::option::Option::Some(ContractType::UpdateAssetContract),
6953                    16 => ::std::option::Option::Some(ContractType::ProposalCreateContract),
6954                    17 => ::std::option::Option::Some(ContractType::ProposalApproveContract),
6955                    18 => ::std::option::Option::Some(ContractType::ProposalDeleteContract),
6956                    19 => ::std::option::Option::Some(ContractType::SetAccountIdContract),
6957                    20 => ::std::option::Option::Some(ContractType::CustomContract),
6958                    30 => ::std::option::Option::Some(ContractType::CreateSmartContract),
6959                    31 => ::std::option::Option::Some(ContractType::TriggerSmartContract),
6960                    32 => ::std::option::Option::Some(ContractType::GetContract),
6961                    33 => ::std::option::Option::Some(ContractType::UpdateSettingContract),
6962                    41 => ::std::option::Option::Some(ContractType::ExchangeCreateContract),
6963                    42 => ::std::option::Option::Some(ContractType::ExchangeInjectContract),
6964                    43 => ::std::option::Option::Some(ContractType::ExchangeWithdrawContract),
6965                    44 => ::std::option::Option::Some(ContractType::ExchangeTransactionContract),
6966                    45 => ::std::option::Option::Some(ContractType::UpdateEnergyLimitContract),
6967                    46 => ::std::option::Option::Some(ContractType::AccountPermissionUpdateContract),
6968                    48 => ::std::option::Option::Some(ContractType::ClearABIContract),
6969                    49 => ::std::option::Option::Some(ContractType::UpdateBrokerageContract),
6970                    51 => ::std::option::Option::Some(ContractType::ShieldedTransferContract),
6971                    52 => ::std::option::Option::Some(ContractType::MarketSellAssetContract),
6972                    53 => ::std::option::Option::Some(ContractType::MarketCancelOrderContract),
6973                    54 => ::std::option::Option::Some(ContractType::FreezeBalanceV2Contract),
6974                    55 => ::std::option::Option::Some(ContractType::UnfreezeBalanceV2Contract),
6975                    56 => ::std::option::Option::Some(ContractType::WithdrawExpireUnfreezeContract),
6976                    57 => ::std::option::Option::Some(ContractType::DelegateResourceContract),
6977                    58 => ::std::option::Option::Some(ContractType::UnDelegateResourceContract),
6978                    59 => ::std::option::Option::Some(ContractType::CancelAllUnfreezeV2Contract),
6979                    _ => ::std::option::Option::None
6980                }
6981            }
6982
6983            fn from_str(str: &str) -> ::std::option::Option<ContractType> {
6984                match str {
6985                    "AccountCreateContract" => ::std::option::Option::Some(ContractType::AccountCreateContract),
6986                    "TransferContract" => ::std::option::Option::Some(ContractType::TransferContract),
6987                    "TransferAssetContract" => ::std::option::Option::Some(ContractType::TransferAssetContract),
6988                    "VoteAssetContract" => ::std::option::Option::Some(ContractType::VoteAssetContract),
6989                    "VoteWitnessContract" => ::std::option::Option::Some(ContractType::VoteWitnessContract),
6990                    "WitnessCreateContract" => ::std::option::Option::Some(ContractType::WitnessCreateContract),
6991                    "AssetIssueContract" => ::std::option::Option::Some(ContractType::AssetIssueContract),
6992                    "WitnessUpdateContract" => ::std::option::Option::Some(ContractType::WitnessUpdateContract),
6993                    "ParticipateAssetIssueContract" => ::std::option::Option::Some(ContractType::ParticipateAssetIssueContract),
6994                    "AccountUpdateContract" => ::std::option::Option::Some(ContractType::AccountUpdateContract),
6995                    "FreezeBalanceContract" => ::std::option::Option::Some(ContractType::FreezeBalanceContract),
6996                    "UnfreezeBalanceContract" => ::std::option::Option::Some(ContractType::UnfreezeBalanceContract),
6997                    "WithdrawBalanceContract" => ::std::option::Option::Some(ContractType::WithdrawBalanceContract),
6998                    "UnfreezeAssetContract" => ::std::option::Option::Some(ContractType::UnfreezeAssetContract),
6999                    "UpdateAssetContract" => ::std::option::Option::Some(ContractType::UpdateAssetContract),
7000                    "ProposalCreateContract" => ::std::option::Option::Some(ContractType::ProposalCreateContract),
7001                    "ProposalApproveContract" => ::std::option::Option::Some(ContractType::ProposalApproveContract),
7002                    "ProposalDeleteContract" => ::std::option::Option::Some(ContractType::ProposalDeleteContract),
7003                    "SetAccountIdContract" => ::std::option::Option::Some(ContractType::SetAccountIdContract),
7004                    "CustomContract" => ::std::option::Option::Some(ContractType::CustomContract),
7005                    "CreateSmartContract" => ::std::option::Option::Some(ContractType::CreateSmartContract),
7006                    "TriggerSmartContract" => ::std::option::Option::Some(ContractType::TriggerSmartContract),
7007                    "GetContract" => ::std::option::Option::Some(ContractType::GetContract),
7008                    "UpdateSettingContract" => ::std::option::Option::Some(ContractType::UpdateSettingContract),
7009                    "ExchangeCreateContract" => ::std::option::Option::Some(ContractType::ExchangeCreateContract),
7010                    "ExchangeInjectContract" => ::std::option::Option::Some(ContractType::ExchangeInjectContract),
7011                    "ExchangeWithdrawContract" => ::std::option::Option::Some(ContractType::ExchangeWithdrawContract),
7012                    "ExchangeTransactionContract" => ::std::option::Option::Some(ContractType::ExchangeTransactionContract),
7013                    "UpdateEnergyLimitContract" => ::std::option::Option::Some(ContractType::UpdateEnergyLimitContract),
7014                    "AccountPermissionUpdateContract" => ::std::option::Option::Some(ContractType::AccountPermissionUpdateContract),
7015                    "ClearABIContract" => ::std::option::Option::Some(ContractType::ClearABIContract),
7016                    "UpdateBrokerageContract" => ::std::option::Option::Some(ContractType::UpdateBrokerageContract),
7017                    "ShieldedTransferContract" => ::std::option::Option::Some(ContractType::ShieldedTransferContract),
7018                    "MarketSellAssetContract" => ::std::option::Option::Some(ContractType::MarketSellAssetContract),
7019                    "MarketCancelOrderContract" => ::std::option::Option::Some(ContractType::MarketCancelOrderContract),
7020                    "FreezeBalanceV2Contract" => ::std::option::Option::Some(ContractType::FreezeBalanceV2Contract),
7021                    "UnfreezeBalanceV2Contract" => ::std::option::Option::Some(ContractType::UnfreezeBalanceV2Contract),
7022                    "WithdrawExpireUnfreezeContract" => ::std::option::Option::Some(ContractType::WithdrawExpireUnfreezeContract),
7023                    "DelegateResourceContract" => ::std::option::Option::Some(ContractType::DelegateResourceContract),
7024                    "UnDelegateResourceContract" => ::std::option::Option::Some(ContractType::UnDelegateResourceContract),
7025                    "CancelAllUnfreezeV2Contract" => ::std::option::Option::Some(ContractType::CancelAllUnfreezeV2Contract),
7026                    _ => ::std::option::Option::None
7027                }
7028            }
7029
7030            const VALUES: &'static [ContractType] = &[
7031                ContractType::AccountCreateContract,
7032                ContractType::TransferContract,
7033                ContractType::TransferAssetContract,
7034                ContractType::VoteAssetContract,
7035                ContractType::VoteWitnessContract,
7036                ContractType::WitnessCreateContract,
7037                ContractType::AssetIssueContract,
7038                ContractType::WitnessUpdateContract,
7039                ContractType::ParticipateAssetIssueContract,
7040                ContractType::AccountUpdateContract,
7041                ContractType::FreezeBalanceContract,
7042                ContractType::UnfreezeBalanceContract,
7043                ContractType::WithdrawBalanceContract,
7044                ContractType::UnfreezeAssetContract,
7045                ContractType::UpdateAssetContract,
7046                ContractType::ProposalCreateContract,
7047                ContractType::ProposalApproveContract,
7048                ContractType::ProposalDeleteContract,
7049                ContractType::SetAccountIdContract,
7050                ContractType::CustomContract,
7051                ContractType::CreateSmartContract,
7052                ContractType::TriggerSmartContract,
7053                ContractType::GetContract,
7054                ContractType::UpdateSettingContract,
7055                ContractType::ExchangeCreateContract,
7056                ContractType::ExchangeInjectContract,
7057                ContractType::ExchangeWithdrawContract,
7058                ContractType::ExchangeTransactionContract,
7059                ContractType::UpdateEnergyLimitContract,
7060                ContractType::AccountPermissionUpdateContract,
7061                ContractType::ClearABIContract,
7062                ContractType::UpdateBrokerageContract,
7063                ContractType::ShieldedTransferContract,
7064                ContractType::MarketSellAssetContract,
7065                ContractType::MarketCancelOrderContract,
7066                ContractType::FreezeBalanceV2Contract,
7067                ContractType::UnfreezeBalanceV2Contract,
7068                ContractType::WithdrawExpireUnfreezeContract,
7069                ContractType::DelegateResourceContract,
7070                ContractType::UnDelegateResourceContract,
7071                ContractType::CancelAllUnfreezeV2Contract,
7072            ];
7073        }
7074
7075        impl ::protobuf::EnumFull for ContractType {
7076            fn enum_descriptor() -> ::protobuf::reflect::EnumDescriptor {
7077                static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::EnumDescriptor> = ::protobuf::rt::Lazy::new();
7078                descriptor.get(|| super::super::file_descriptor().enum_by_package_relative_name("Transaction.Contract.ContractType").unwrap()).clone()
7079            }
7080
7081            fn descriptor(&self) -> ::protobuf::reflect::EnumValueDescriptor {
7082                let index = match self {
7083                    ContractType::AccountCreateContract => 0,
7084                    ContractType::TransferContract => 1,
7085                    ContractType::TransferAssetContract => 2,
7086                    ContractType::VoteAssetContract => 3,
7087                    ContractType::VoteWitnessContract => 4,
7088                    ContractType::WitnessCreateContract => 5,
7089                    ContractType::AssetIssueContract => 6,
7090                    ContractType::WitnessUpdateContract => 7,
7091                    ContractType::ParticipateAssetIssueContract => 8,
7092                    ContractType::AccountUpdateContract => 9,
7093                    ContractType::FreezeBalanceContract => 10,
7094                    ContractType::UnfreezeBalanceContract => 11,
7095                    ContractType::WithdrawBalanceContract => 12,
7096                    ContractType::UnfreezeAssetContract => 13,
7097                    ContractType::UpdateAssetContract => 14,
7098                    ContractType::ProposalCreateContract => 15,
7099                    ContractType::ProposalApproveContract => 16,
7100                    ContractType::ProposalDeleteContract => 17,
7101                    ContractType::SetAccountIdContract => 18,
7102                    ContractType::CustomContract => 19,
7103                    ContractType::CreateSmartContract => 20,
7104                    ContractType::TriggerSmartContract => 21,
7105                    ContractType::GetContract => 22,
7106                    ContractType::UpdateSettingContract => 23,
7107                    ContractType::ExchangeCreateContract => 24,
7108                    ContractType::ExchangeInjectContract => 25,
7109                    ContractType::ExchangeWithdrawContract => 26,
7110                    ContractType::ExchangeTransactionContract => 27,
7111                    ContractType::UpdateEnergyLimitContract => 28,
7112                    ContractType::AccountPermissionUpdateContract => 29,
7113                    ContractType::ClearABIContract => 30,
7114                    ContractType::UpdateBrokerageContract => 31,
7115                    ContractType::ShieldedTransferContract => 32,
7116                    ContractType::MarketSellAssetContract => 33,
7117                    ContractType::MarketCancelOrderContract => 34,
7118                    ContractType::FreezeBalanceV2Contract => 35,
7119                    ContractType::UnfreezeBalanceV2Contract => 36,
7120                    ContractType::WithdrawExpireUnfreezeContract => 37,
7121                    ContractType::DelegateResourceContract => 38,
7122                    ContractType::UnDelegateResourceContract => 39,
7123                    ContractType::CancelAllUnfreezeV2Contract => 40,
7124                };
7125                Self::enum_descriptor().value_by_index(index)
7126            }
7127        }
7128
7129        impl ::std::default::Default for ContractType {
7130            fn default() -> Self {
7131                ContractType::AccountCreateContract
7132            }
7133        }
7134
7135        impl ContractType {
7136            pub(in super::super) fn generated_enum_descriptor_data() -> ::protobuf::reflect::GeneratedEnumDescriptorData {
7137                ::protobuf::reflect::GeneratedEnumDescriptorData::new::<ContractType>("Transaction.Contract.ContractType")
7138            }
7139        }
7140    }
7141
7142    // @@protoc_insertion_point(message:protocol.Transaction.Result)
7143    #[derive(PartialEq,Clone,Default,Debug)]
7144    pub struct Result {
7145        // message fields
7146        // @@protoc_insertion_point(field:protocol.Transaction.Result.fee)
7147        pub fee: i64,
7148        // @@protoc_insertion_point(field:protocol.Transaction.Result.ret)
7149        pub ret: ::protobuf::EnumOrUnknown<result::Code>,
7150        // @@protoc_insertion_point(field:protocol.Transaction.Result.contractRet)
7151        pub contractRet: ::protobuf::EnumOrUnknown<result::ContractResult>,
7152        // @@protoc_insertion_point(field:protocol.Transaction.Result.assetIssueID)
7153        pub assetIssueID: ::std::string::String,
7154        // @@protoc_insertion_point(field:protocol.Transaction.Result.withdraw_amount)
7155        pub withdraw_amount: i64,
7156        // @@protoc_insertion_point(field:protocol.Transaction.Result.unfreeze_amount)
7157        pub unfreeze_amount: i64,
7158        // @@protoc_insertion_point(field:protocol.Transaction.Result.exchange_received_amount)
7159        pub exchange_received_amount: i64,
7160        // @@protoc_insertion_point(field:protocol.Transaction.Result.exchange_inject_another_amount)
7161        pub exchange_inject_another_amount: i64,
7162        // @@protoc_insertion_point(field:protocol.Transaction.Result.exchange_withdraw_another_amount)
7163        pub exchange_withdraw_another_amount: i64,
7164        // @@protoc_insertion_point(field:protocol.Transaction.Result.exchange_id)
7165        pub exchange_id: i64,
7166        // @@protoc_insertion_point(field:protocol.Transaction.Result.shielded_transaction_fee)
7167        pub shielded_transaction_fee: i64,
7168        // @@protoc_insertion_point(field:protocol.Transaction.Result.orderId)
7169        pub orderId: ::std::vec::Vec<u8>,
7170        // @@protoc_insertion_point(field:protocol.Transaction.Result.orderDetails)
7171        pub orderDetails: ::std::vec::Vec<super::MarketOrderDetail>,
7172        // @@protoc_insertion_point(field:protocol.Transaction.Result.withdraw_expire_amount)
7173        pub withdraw_expire_amount: i64,
7174        // @@protoc_insertion_point(field:protocol.Transaction.Result.cancel_unfreezeV2_amount)
7175        pub cancel_unfreezeV2_amount: ::std::collections::HashMap<::std::string::String, i64>,
7176        // special fields
7177        // @@protoc_insertion_point(special_field:protocol.Transaction.Result.special_fields)
7178        pub special_fields: ::protobuf::SpecialFields,
7179    }
7180
7181    impl<'a> ::std::default::Default for &'a Result {
7182        fn default() -> &'a Result {
7183            <Result as ::protobuf::Message>::default_instance()
7184        }
7185    }
7186
7187    impl Result {
7188        pub fn new() -> Result {
7189            ::std::default::Default::default()
7190        }
7191
7192        pub(in super) fn generated_message_descriptor_data() -> ::protobuf::reflect::GeneratedMessageDescriptorData {
7193            let mut fields = ::std::vec::Vec::with_capacity(15);
7194            let mut oneofs = ::std::vec::Vec::with_capacity(0);
7195            fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
7196                "fee",
7197                |m: &Result| { &m.fee },
7198                |m: &mut Result| { &mut m.fee },
7199            ));
7200            fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
7201                "ret",
7202                |m: &Result| { &m.ret },
7203                |m: &mut Result| { &mut m.ret },
7204            ));
7205            fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
7206                "contractRet",
7207                |m: &Result| { &m.contractRet },
7208                |m: &mut Result| { &mut m.contractRet },
7209            ));
7210            fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
7211                "assetIssueID",
7212                |m: &Result| { &m.assetIssueID },
7213                |m: &mut Result| { &mut m.assetIssueID },
7214            ));
7215            fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
7216                "withdraw_amount",
7217                |m: &Result| { &m.withdraw_amount },
7218                |m: &mut Result| { &mut m.withdraw_amount },
7219            ));
7220            fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
7221                "unfreeze_amount",
7222                |m: &Result| { &m.unfreeze_amount },
7223                |m: &mut Result| { &mut m.unfreeze_amount },
7224            ));
7225            fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
7226                "exchange_received_amount",
7227                |m: &Result| { &m.exchange_received_amount },
7228                |m: &mut Result| { &mut m.exchange_received_amount },
7229            ));
7230            fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
7231                "exchange_inject_another_amount",
7232                |m: &Result| { &m.exchange_inject_another_amount },
7233                |m: &mut Result| { &mut m.exchange_inject_another_amount },
7234            ));
7235            fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
7236                "exchange_withdraw_another_amount",
7237                |m: &Result| { &m.exchange_withdraw_another_amount },
7238                |m: &mut Result| { &mut m.exchange_withdraw_another_amount },
7239            ));
7240            fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
7241                "exchange_id",
7242                |m: &Result| { &m.exchange_id },
7243                |m: &mut Result| { &mut m.exchange_id },
7244            ));
7245            fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
7246                "shielded_transaction_fee",
7247                |m: &Result| { &m.shielded_transaction_fee },
7248                |m: &mut Result| { &mut m.shielded_transaction_fee },
7249            ));
7250            fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
7251                "orderId",
7252                |m: &Result| { &m.orderId },
7253                |m: &mut Result| { &mut m.orderId },
7254            ));
7255            fields.push(::protobuf::reflect::rt::v2::make_vec_simpler_accessor::<_, _>(
7256                "orderDetails",
7257                |m: &Result| { &m.orderDetails },
7258                |m: &mut Result| { &mut m.orderDetails },
7259            ));
7260            fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
7261                "withdraw_expire_amount",
7262                |m: &Result| { &m.withdraw_expire_amount },
7263                |m: &mut Result| { &mut m.withdraw_expire_amount },
7264            ));
7265            fields.push(::protobuf::reflect::rt::v2::make_map_simpler_accessor::<_, _, _>(
7266                "cancel_unfreezeV2_amount",
7267                |m: &Result| { &m.cancel_unfreezeV2_amount },
7268                |m: &mut Result| { &mut m.cancel_unfreezeV2_amount },
7269            ));
7270            ::protobuf::reflect::GeneratedMessageDescriptorData::new_2::<Result>(
7271                "Transaction.Result",
7272                fields,
7273                oneofs,
7274            )
7275        }
7276    }
7277
7278    impl ::protobuf::Message for Result {
7279        const NAME: &'static str = "Result";
7280
7281        fn is_initialized(&self) -> bool {
7282            true
7283        }
7284
7285        fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::Result<()> {
7286            while let Some(tag) = is.read_raw_tag_or_eof()? {
7287                match tag {
7288                    8 => {
7289                        self.fee = is.read_int64()?;
7290                    },
7291                    16 => {
7292                        self.ret = is.read_enum_or_unknown()?;
7293                    },
7294                    24 => {
7295                        self.contractRet = is.read_enum_or_unknown()?;
7296                    },
7297                    114 => {
7298                        self.assetIssueID = is.read_string()?;
7299                    },
7300                    120 => {
7301                        self.withdraw_amount = is.read_int64()?;
7302                    },
7303                    128 => {
7304                        self.unfreeze_amount = is.read_int64()?;
7305                    },
7306                    144 => {
7307                        self.exchange_received_amount = is.read_int64()?;
7308                    },
7309                    152 => {
7310                        self.exchange_inject_another_amount = is.read_int64()?;
7311                    },
7312                    160 => {
7313                        self.exchange_withdraw_another_amount = is.read_int64()?;
7314                    },
7315                    168 => {
7316                        self.exchange_id = is.read_int64()?;
7317                    },
7318                    176 => {
7319                        self.shielded_transaction_fee = is.read_int64()?;
7320                    },
7321                    202 => {
7322                        self.orderId = is.read_bytes()?;
7323                    },
7324                    210 => {
7325                        self.orderDetails.push(is.read_message()?);
7326                    },
7327                    216 => {
7328                        self.withdraw_expire_amount = is.read_int64()?;
7329                    },
7330                    226 => {
7331                        let len = is.read_raw_varint32()?;
7332                        let old_limit = is.push_limit(len as u64)?;
7333                        let mut key = ::std::default::Default::default();
7334                        let mut value = ::std::default::Default::default();
7335                        while let Some(tag) = is.read_raw_tag_or_eof()? {
7336                            match tag {
7337                                10 => key = is.read_string()?,
7338                                16 => value = is.read_int64()?,
7339                                _ => ::protobuf::rt::skip_field_for_tag(tag, is)?,
7340                            };
7341                        }
7342                        is.pop_limit(old_limit);
7343                        self.cancel_unfreezeV2_amount.insert(key, value);
7344                    },
7345                    tag => {
7346                        ::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?;
7347                    },
7348                };
7349            }
7350            ::std::result::Result::Ok(())
7351        }
7352
7353        // Compute sizes of nested messages
7354        #[allow(unused_variables)]
7355        fn compute_size(&self) -> u64 {
7356            let mut my_size = 0;
7357            if self.fee != 0 {
7358                my_size += ::protobuf::rt::int64_size(1, self.fee);
7359            }
7360            if self.ret != ::protobuf::EnumOrUnknown::new(result::Code::SUCESS) {
7361                my_size += ::protobuf::rt::int32_size(2, self.ret.value());
7362            }
7363            if self.contractRet != ::protobuf::EnumOrUnknown::new(result::ContractResult::DEFAULT) {
7364                my_size += ::protobuf::rt::int32_size(3, self.contractRet.value());
7365            }
7366            if !self.assetIssueID.is_empty() {
7367                my_size += ::protobuf::rt::string_size(14, &self.assetIssueID);
7368            }
7369            if self.withdraw_amount != 0 {
7370                my_size += ::protobuf::rt::int64_size(15, self.withdraw_amount);
7371            }
7372            if self.unfreeze_amount != 0 {
7373                my_size += ::protobuf::rt::int64_size(16, self.unfreeze_amount);
7374            }
7375            if self.exchange_received_amount != 0 {
7376                my_size += ::protobuf::rt::int64_size(18, self.exchange_received_amount);
7377            }
7378            if self.exchange_inject_another_amount != 0 {
7379                my_size += ::protobuf::rt::int64_size(19, self.exchange_inject_another_amount);
7380            }
7381            if self.exchange_withdraw_another_amount != 0 {
7382                my_size += ::protobuf::rt::int64_size(20, self.exchange_withdraw_another_amount);
7383            }
7384            if self.exchange_id != 0 {
7385                my_size += ::protobuf::rt::int64_size(21, self.exchange_id);
7386            }
7387            if self.shielded_transaction_fee != 0 {
7388                my_size += ::protobuf::rt::int64_size(22, self.shielded_transaction_fee);
7389            }
7390            if !self.orderId.is_empty() {
7391                my_size += ::protobuf::rt::bytes_size(25, &self.orderId);
7392            }
7393            for value in &self.orderDetails {
7394                let len = value.compute_size();
7395                my_size += 2 + ::protobuf::rt::compute_raw_varint64_size(len) + len;
7396            };
7397            if self.withdraw_expire_amount != 0 {
7398                my_size += ::protobuf::rt::int64_size(27, self.withdraw_expire_amount);
7399            }
7400            for (k, v) in &self.cancel_unfreezeV2_amount {
7401                let mut entry_size = 0;
7402                entry_size += ::protobuf::rt::string_size(1, &k);
7403                entry_size += ::protobuf::rt::int64_size(2, *v);
7404                my_size += 2 + ::protobuf::rt::compute_raw_varint64_size(entry_size) + entry_size
7405            };
7406            my_size += ::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields());
7407            self.special_fields.cached_size().set(my_size as u32);
7408            my_size
7409        }
7410
7411        fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::Result<()> {
7412            if self.fee != 0 {
7413                os.write_int64(1, self.fee)?;
7414            }
7415            if self.ret != ::protobuf::EnumOrUnknown::new(result::Code::SUCESS) {
7416                os.write_enum(2, ::protobuf::EnumOrUnknown::value(&self.ret))?;
7417            }
7418            if self.contractRet != ::protobuf::EnumOrUnknown::new(result::ContractResult::DEFAULT) {
7419                os.write_enum(3, ::protobuf::EnumOrUnknown::value(&self.contractRet))?;
7420            }
7421            if !self.assetIssueID.is_empty() {
7422                os.write_string(14, &self.assetIssueID)?;
7423            }
7424            if self.withdraw_amount != 0 {
7425                os.write_int64(15, self.withdraw_amount)?;
7426            }
7427            if self.unfreeze_amount != 0 {
7428                os.write_int64(16, self.unfreeze_amount)?;
7429            }
7430            if self.exchange_received_amount != 0 {
7431                os.write_int64(18, self.exchange_received_amount)?;
7432            }
7433            if self.exchange_inject_another_amount != 0 {
7434                os.write_int64(19, self.exchange_inject_another_amount)?;
7435            }
7436            if self.exchange_withdraw_another_amount != 0 {
7437                os.write_int64(20, self.exchange_withdraw_another_amount)?;
7438            }
7439            if self.exchange_id != 0 {
7440                os.write_int64(21, self.exchange_id)?;
7441            }
7442            if self.shielded_transaction_fee != 0 {
7443                os.write_int64(22, self.shielded_transaction_fee)?;
7444            }
7445            if !self.orderId.is_empty() {
7446                os.write_bytes(25, &self.orderId)?;
7447            }
7448            for v in &self.orderDetails {
7449                ::protobuf::rt::write_message_field_with_cached_size(26, v, os)?;
7450            };
7451            if self.withdraw_expire_amount != 0 {
7452                os.write_int64(27, self.withdraw_expire_amount)?;
7453            }
7454            for (k, v) in &self.cancel_unfreezeV2_amount {
7455                let mut entry_size = 0;
7456                entry_size += ::protobuf::rt::string_size(1, &k);
7457                entry_size += ::protobuf::rt::int64_size(2, *v);
7458                os.write_raw_varint32(226)?; // Tag.
7459                os.write_raw_varint32(entry_size as u32)?;
7460                os.write_string(1, &k)?;
7461                os.write_int64(2, *v)?;
7462            };
7463            os.write_unknown_fields(self.special_fields.unknown_fields())?;
7464            ::std::result::Result::Ok(())
7465        }
7466
7467        fn special_fields(&self) -> &::protobuf::SpecialFields {
7468            &self.special_fields
7469        }
7470
7471        fn mut_special_fields(&mut self) -> &mut ::protobuf::SpecialFields {
7472            &mut self.special_fields
7473        }
7474
7475        fn new() -> Result {
7476            Result::new()
7477        }
7478
7479        fn clear(&mut self) {
7480            self.fee = 0;
7481            self.ret = ::protobuf::EnumOrUnknown::new(result::Code::SUCESS);
7482            self.contractRet = ::protobuf::EnumOrUnknown::new(result::ContractResult::DEFAULT);
7483            self.assetIssueID.clear();
7484            self.withdraw_amount = 0;
7485            self.unfreeze_amount = 0;
7486            self.exchange_received_amount = 0;
7487            self.exchange_inject_another_amount = 0;
7488            self.exchange_withdraw_another_amount = 0;
7489            self.exchange_id = 0;
7490            self.shielded_transaction_fee = 0;
7491            self.orderId.clear();
7492            self.orderDetails.clear();
7493            self.withdraw_expire_amount = 0;
7494            self.cancel_unfreezeV2_amount.clear();
7495            self.special_fields.clear();
7496        }
7497
7498        fn default_instance() -> &'static Result {
7499            static instance: ::protobuf::rt::Lazy<Result> = ::protobuf::rt::Lazy::new();
7500            instance.get(Result::new)
7501        }
7502    }
7503
7504    impl ::protobuf::MessageFull for Result {
7505        fn descriptor() -> ::protobuf::reflect::MessageDescriptor {
7506            static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::Lazy::new();
7507            descriptor.get(|| super::file_descriptor().message_by_package_relative_name("Transaction.Result").unwrap()).clone()
7508        }
7509    }
7510
7511    impl ::std::fmt::Display for Result {
7512        fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
7513            ::protobuf::text_format::fmt(self, f)
7514        }
7515    }
7516
7517    impl ::protobuf::reflect::ProtobufValue for Result {
7518        type RuntimeType = ::protobuf::reflect::rt::RuntimeTypeMessage<Self>;
7519    }
7520
7521    /// Nested message and enums of message `Result`
7522    pub mod result {
7523        #[derive(Clone,Copy,PartialEq,Eq,Debug,Hash)]
7524        // @@protoc_insertion_point(enum:protocol.Transaction.Result.code)
7525        pub enum Code {
7526            // @@protoc_insertion_point(enum_value:protocol.Transaction.Result.code.SUCESS)
7527            SUCESS = 0,
7528            // @@protoc_insertion_point(enum_value:protocol.Transaction.Result.code.FAILED)
7529            FAILED = 1,
7530        }
7531
7532        impl ::protobuf::Enum for Code {
7533            const NAME: &'static str = "code";
7534
7535            fn value(&self) -> i32 {
7536                *self as i32
7537            }
7538
7539            fn from_i32(value: i32) -> ::std::option::Option<Code> {
7540                match value {
7541                    0 => ::std::option::Option::Some(Code::SUCESS),
7542                    1 => ::std::option::Option::Some(Code::FAILED),
7543                    _ => ::std::option::Option::None
7544                }
7545            }
7546
7547            fn from_str(str: &str) -> ::std::option::Option<Code> {
7548                match str {
7549                    "SUCESS" => ::std::option::Option::Some(Code::SUCESS),
7550                    "FAILED" => ::std::option::Option::Some(Code::FAILED),
7551                    _ => ::std::option::Option::None
7552                }
7553            }
7554
7555            const VALUES: &'static [Code] = &[
7556                Code::SUCESS,
7557                Code::FAILED,
7558            ];
7559        }
7560
7561        impl ::protobuf::EnumFull for Code {
7562            fn enum_descriptor() -> ::protobuf::reflect::EnumDescriptor {
7563                static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::EnumDescriptor> = ::protobuf::rt::Lazy::new();
7564                descriptor.get(|| super::super::file_descriptor().enum_by_package_relative_name("Transaction.Result.code").unwrap()).clone()
7565            }
7566
7567            fn descriptor(&self) -> ::protobuf::reflect::EnumValueDescriptor {
7568                let index = *self as usize;
7569                Self::enum_descriptor().value_by_index(index)
7570            }
7571        }
7572
7573        impl ::std::default::Default for Code {
7574            fn default() -> Self {
7575                Code::SUCESS
7576            }
7577        }
7578
7579        impl Code {
7580            pub(in super::super) fn generated_enum_descriptor_data() -> ::protobuf::reflect::GeneratedEnumDescriptorData {
7581                ::protobuf::reflect::GeneratedEnumDescriptorData::new::<Code>("Transaction.Result.code")
7582            }
7583        }
7584
7585        #[derive(Clone,Copy,PartialEq,Eq,Debug,Hash)]
7586        // @@protoc_insertion_point(enum:protocol.Transaction.Result.contractResult)
7587        pub enum ContractResult {
7588            // @@protoc_insertion_point(enum_value:protocol.Transaction.Result.contractResult.DEFAULT)
7589            DEFAULT = 0,
7590            // @@protoc_insertion_point(enum_value:protocol.Transaction.Result.contractResult.SUCCESS)
7591            SUCCESS = 1,
7592            // @@protoc_insertion_point(enum_value:protocol.Transaction.Result.contractResult.REVERT)
7593            REVERT = 2,
7594            // @@protoc_insertion_point(enum_value:protocol.Transaction.Result.contractResult.BAD_JUMP_DESTINATION)
7595            BAD_JUMP_DESTINATION = 3,
7596            // @@protoc_insertion_point(enum_value:protocol.Transaction.Result.contractResult.OUT_OF_MEMORY)
7597            OUT_OF_MEMORY = 4,
7598            // @@protoc_insertion_point(enum_value:protocol.Transaction.Result.contractResult.PRECOMPILED_CONTRACT)
7599            PRECOMPILED_CONTRACT = 5,
7600            // @@protoc_insertion_point(enum_value:protocol.Transaction.Result.contractResult.STACK_TOO_SMALL)
7601            STACK_TOO_SMALL = 6,
7602            // @@protoc_insertion_point(enum_value:protocol.Transaction.Result.contractResult.STACK_TOO_LARGE)
7603            STACK_TOO_LARGE = 7,
7604            // @@protoc_insertion_point(enum_value:protocol.Transaction.Result.contractResult.ILLEGAL_OPERATION)
7605            ILLEGAL_OPERATION = 8,
7606            // @@protoc_insertion_point(enum_value:protocol.Transaction.Result.contractResult.STACK_OVERFLOW)
7607            STACK_OVERFLOW = 9,
7608            // @@protoc_insertion_point(enum_value:protocol.Transaction.Result.contractResult.OUT_OF_ENERGY)
7609            OUT_OF_ENERGY = 10,
7610            // @@protoc_insertion_point(enum_value:protocol.Transaction.Result.contractResult.OUT_OF_TIME)
7611            OUT_OF_TIME = 11,
7612            // @@protoc_insertion_point(enum_value:protocol.Transaction.Result.contractResult.JVM_STACK_OVER_FLOW)
7613            JVM_STACK_OVER_FLOW = 12,
7614            // @@protoc_insertion_point(enum_value:protocol.Transaction.Result.contractResult.UNKNOWN)
7615            UNKNOWN = 13,
7616            // @@protoc_insertion_point(enum_value:protocol.Transaction.Result.contractResult.TRANSFER_FAILED)
7617            TRANSFER_FAILED = 14,
7618            // @@protoc_insertion_point(enum_value:protocol.Transaction.Result.contractResult.INVALID_CODE)
7619            INVALID_CODE = 15,
7620        }
7621
7622        impl ::protobuf::Enum for ContractResult {
7623            const NAME: &'static str = "contractResult";
7624
7625            fn value(&self) -> i32 {
7626                *self as i32
7627            }
7628
7629            fn from_i32(value: i32) -> ::std::option::Option<ContractResult> {
7630                match value {
7631                    0 => ::std::option::Option::Some(ContractResult::DEFAULT),
7632                    1 => ::std::option::Option::Some(ContractResult::SUCCESS),
7633                    2 => ::std::option::Option::Some(ContractResult::REVERT),
7634                    3 => ::std::option::Option::Some(ContractResult::BAD_JUMP_DESTINATION),
7635                    4 => ::std::option::Option::Some(ContractResult::OUT_OF_MEMORY),
7636                    5 => ::std::option::Option::Some(ContractResult::PRECOMPILED_CONTRACT),
7637                    6 => ::std::option::Option::Some(ContractResult::STACK_TOO_SMALL),
7638                    7 => ::std::option::Option::Some(ContractResult::STACK_TOO_LARGE),
7639                    8 => ::std::option::Option::Some(ContractResult::ILLEGAL_OPERATION),
7640                    9 => ::std::option::Option::Some(ContractResult::STACK_OVERFLOW),
7641                    10 => ::std::option::Option::Some(ContractResult::OUT_OF_ENERGY),
7642                    11 => ::std::option::Option::Some(ContractResult::OUT_OF_TIME),
7643                    12 => ::std::option::Option::Some(ContractResult::JVM_STACK_OVER_FLOW),
7644                    13 => ::std::option::Option::Some(ContractResult::UNKNOWN),
7645                    14 => ::std::option::Option::Some(ContractResult::TRANSFER_FAILED),
7646                    15 => ::std::option::Option::Some(ContractResult::INVALID_CODE),
7647                    _ => ::std::option::Option::None
7648                }
7649            }
7650
7651            fn from_str(str: &str) -> ::std::option::Option<ContractResult> {
7652                match str {
7653                    "DEFAULT" => ::std::option::Option::Some(ContractResult::DEFAULT),
7654                    "SUCCESS" => ::std::option::Option::Some(ContractResult::SUCCESS),
7655                    "REVERT" => ::std::option::Option::Some(ContractResult::REVERT),
7656                    "BAD_JUMP_DESTINATION" => ::std::option::Option::Some(ContractResult::BAD_JUMP_DESTINATION),
7657                    "OUT_OF_MEMORY" => ::std::option::Option::Some(ContractResult::OUT_OF_MEMORY),
7658                    "PRECOMPILED_CONTRACT" => ::std::option::Option::Some(ContractResult::PRECOMPILED_CONTRACT),
7659                    "STACK_TOO_SMALL" => ::std::option::Option::Some(ContractResult::STACK_TOO_SMALL),
7660                    "STACK_TOO_LARGE" => ::std::option::Option::Some(ContractResult::STACK_TOO_LARGE),
7661                    "ILLEGAL_OPERATION" => ::std::option::Option::Some(ContractResult::ILLEGAL_OPERATION),
7662                    "STACK_OVERFLOW" => ::std::option::Option::Some(ContractResult::STACK_OVERFLOW),
7663                    "OUT_OF_ENERGY" => ::std::option::Option::Some(ContractResult::OUT_OF_ENERGY),
7664                    "OUT_OF_TIME" => ::std::option::Option::Some(ContractResult::OUT_OF_TIME),
7665                    "JVM_STACK_OVER_FLOW" => ::std::option::Option::Some(ContractResult::JVM_STACK_OVER_FLOW),
7666                    "UNKNOWN" => ::std::option::Option::Some(ContractResult::UNKNOWN),
7667                    "TRANSFER_FAILED" => ::std::option::Option::Some(ContractResult::TRANSFER_FAILED),
7668                    "INVALID_CODE" => ::std::option::Option::Some(ContractResult::INVALID_CODE),
7669                    _ => ::std::option::Option::None
7670                }
7671            }
7672
7673            const VALUES: &'static [ContractResult] = &[
7674                ContractResult::DEFAULT,
7675                ContractResult::SUCCESS,
7676                ContractResult::REVERT,
7677                ContractResult::BAD_JUMP_DESTINATION,
7678                ContractResult::OUT_OF_MEMORY,
7679                ContractResult::PRECOMPILED_CONTRACT,
7680                ContractResult::STACK_TOO_SMALL,
7681                ContractResult::STACK_TOO_LARGE,
7682                ContractResult::ILLEGAL_OPERATION,
7683                ContractResult::STACK_OVERFLOW,
7684                ContractResult::OUT_OF_ENERGY,
7685                ContractResult::OUT_OF_TIME,
7686                ContractResult::JVM_STACK_OVER_FLOW,
7687                ContractResult::UNKNOWN,
7688                ContractResult::TRANSFER_FAILED,
7689                ContractResult::INVALID_CODE,
7690            ];
7691        }
7692
7693        impl ::protobuf::EnumFull for ContractResult {
7694            fn enum_descriptor() -> ::protobuf::reflect::EnumDescriptor {
7695                static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::EnumDescriptor> = ::protobuf::rt::Lazy::new();
7696                descriptor.get(|| super::super::file_descriptor().enum_by_package_relative_name("Transaction.Result.contractResult").unwrap()).clone()
7697            }
7698
7699            fn descriptor(&self) -> ::protobuf::reflect::EnumValueDescriptor {
7700                let index = *self as usize;
7701                Self::enum_descriptor().value_by_index(index)
7702            }
7703        }
7704
7705        impl ::std::default::Default for ContractResult {
7706            fn default() -> Self {
7707                ContractResult::DEFAULT
7708            }
7709        }
7710
7711        impl ContractResult {
7712            pub(in super::super) fn generated_enum_descriptor_data() -> ::protobuf::reflect::GeneratedEnumDescriptorData {
7713                ::protobuf::reflect::GeneratedEnumDescriptorData::new::<ContractResult>("Transaction.Result.contractResult")
7714            }
7715        }
7716    }
7717
7718    // @@protoc_insertion_point(message:protocol.Transaction.raw)
7719    #[derive(PartialEq,Clone,Default,Debug)]
7720    pub struct Raw {
7721        // message fields
7722        // @@protoc_insertion_point(field:protocol.Transaction.raw.ref_block_bytes)
7723        pub ref_block_bytes: ::std::vec::Vec<u8>,
7724        // @@protoc_insertion_point(field:protocol.Transaction.raw.ref_block_num)
7725        pub ref_block_num: i64,
7726        // @@protoc_insertion_point(field:protocol.Transaction.raw.ref_block_hash)
7727        pub ref_block_hash: ::std::vec::Vec<u8>,
7728        // @@protoc_insertion_point(field:protocol.Transaction.raw.expiration)
7729        pub expiration: i64,
7730        // @@protoc_insertion_point(field:protocol.Transaction.raw.auths)
7731        pub auths: ::std::vec::Vec<super::Authority>,
7732        ///  data not used
7733        // @@protoc_insertion_point(field:protocol.Transaction.raw.data)
7734        pub data: ::std::vec::Vec<u8>,
7735        /// only support size = 1,  repeated list here for extension
7736        // @@protoc_insertion_point(field:protocol.Transaction.raw.contract)
7737        pub contract: ::std::vec::Vec<Contract>,
7738        ///  scripts not used
7739        // @@protoc_insertion_point(field:protocol.Transaction.raw.scripts)
7740        pub scripts: ::std::vec::Vec<u8>,
7741        // @@protoc_insertion_point(field:protocol.Transaction.raw.timestamp)
7742        pub timestamp: i64,
7743        // @@protoc_insertion_point(field:protocol.Transaction.raw.fee_limit)
7744        pub fee_limit: i64,
7745        // special fields
7746        // @@protoc_insertion_point(special_field:protocol.Transaction.raw.special_fields)
7747        pub special_fields: ::protobuf::SpecialFields,
7748    }
7749
7750    impl<'a> ::std::default::Default for &'a Raw {
7751        fn default() -> &'a Raw {
7752            <Raw as ::protobuf::Message>::default_instance()
7753        }
7754    }
7755
7756    impl Raw {
7757        pub fn new() -> Raw {
7758            ::std::default::Default::default()
7759        }
7760
7761        pub(in super) fn generated_message_descriptor_data() -> ::protobuf::reflect::GeneratedMessageDescriptorData {
7762            let mut fields = ::std::vec::Vec::with_capacity(10);
7763            let mut oneofs = ::std::vec::Vec::with_capacity(0);
7764            fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
7765                "ref_block_bytes",
7766                |m: &Raw| { &m.ref_block_bytes },
7767                |m: &mut Raw| { &mut m.ref_block_bytes },
7768            ));
7769            fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
7770                "ref_block_num",
7771                |m: &Raw| { &m.ref_block_num },
7772                |m: &mut Raw| { &mut m.ref_block_num },
7773            ));
7774            fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
7775                "ref_block_hash",
7776                |m: &Raw| { &m.ref_block_hash },
7777                |m: &mut Raw| { &mut m.ref_block_hash },
7778            ));
7779            fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
7780                "expiration",
7781                |m: &Raw| { &m.expiration },
7782                |m: &mut Raw| { &mut m.expiration },
7783            ));
7784            fields.push(::protobuf::reflect::rt::v2::make_vec_simpler_accessor::<_, _>(
7785                "auths",
7786                |m: &Raw| { &m.auths },
7787                |m: &mut Raw| { &mut m.auths },
7788            ));
7789            fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
7790                "data",
7791                |m: &Raw| { &m.data },
7792                |m: &mut Raw| { &mut m.data },
7793            ));
7794            fields.push(::protobuf::reflect::rt::v2::make_vec_simpler_accessor::<_, _>(
7795                "contract",
7796                |m: &Raw| { &m.contract },
7797                |m: &mut Raw| { &mut m.contract },
7798            ));
7799            fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
7800                "scripts",
7801                |m: &Raw| { &m.scripts },
7802                |m: &mut Raw| { &mut m.scripts },
7803            ));
7804            fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
7805                "timestamp",
7806                |m: &Raw| { &m.timestamp },
7807                |m: &mut Raw| { &mut m.timestamp },
7808            ));
7809            fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
7810                "fee_limit",
7811                |m: &Raw| { &m.fee_limit },
7812                |m: &mut Raw| { &mut m.fee_limit },
7813            ));
7814            ::protobuf::reflect::GeneratedMessageDescriptorData::new_2::<Raw>(
7815                "Transaction.raw",
7816                fields,
7817                oneofs,
7818            )
7819        }
7820    }
7821
7822    impl ::protobuf::Message for Raw {
7823        const NAME: &'static str = "raw";
7824
7825        fn is_initialized(&self) -> bool {
7826            true
7827        }
7828
7829        fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::Result<()> {
7830            while let Some(tag) = is.read_raw_tag_or_eof()? {
7831                match tag {
7832                    10 => {
7833                        self.ref_block_bytes = is.read_bytes()?;
7834                    },
7835                    24 => {
7836                        self.ref_block_num = is.read_int64()?;
7837                    },
7838                    34 => {
7839                        self.ref_block_hash = is.read_bytes()?;
7840                    },
7841                    64 => {
7842                        self.expiration = is.read_int64()?;
7843                    },
7844                    74 => {
7845                        self.auths.push(is.read_message()?);
7846                    },
7847                    82 => {
7848                        self.data = is.read_bytes()?;
7849                    },
7850                    90 => {
7851                        self.contract.push(is.read_message()?);
7852                    },
7853                    98 => {
7854                        self.scripts = is.read_bytes()?;
7855                    },
7856                    112 => {
7857                        self.timestamp = is.read_int64()?;
7858                    },
7859                    144 => {
7860                        self.fee_limit = is.read_int64()?;
7861                    },
7862                    tag => {
7863                        ::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?;
7864                    },
7865                };
7866            }
7867            ::std::result::Result::Ok(())
7868        }
7869
7870        // Compute sizes of nested messages
7871        #[allow(unused_variables)]
7872        fn compute_size(&self) -> u64 {
7873            let mut my_size = 0;
7874            if !self.ref_block_bytes.is_empty() {
7875                my_size += ::protobuf::rt::bytes_size(1, &self.ref_block_bytes);
7876            }
7877            if self.ref_block_num != 0 {
7878                my_size += ::protobuf::rt::int64_size(3, self.ref_block_num);
7879            }
7880            if !self.ref_block_hash.is_empty() {
7881                my_size += ::protobuf::rt::bytes_size(4, &self.ref_block_hash);
7882            }
7883            if self.expiration != 0 {
7884                my_size += ::protobuf::rt::int64_size(8, self.expiration);
7885            }
7886            for value in &self.auths {
7887                let len = value.compute_size();
7888                my_size += 1 + ::protobuf::rt::compute_raw_varint64_size(len) + len;
7889            };
7890            if !self.data.is_empty() {
7891                my_size += ::protobuf::rt::bytes_size(10, &self.data);
7892            }
7893            for value in &self.contract {
7894                let len = value.compute_size();
7895                my_size += 1 + ::protobuf::rt::compute_raw_varint64_size(len) + len;
7896            };
7897            if !self.scripts.is_empty() {
7898                my_size += ::protobuf::rt::bytes_size(12, &self.scripts);
7899            }
7900            if self.timestamp != 0 {
7901                my_size += ::protobuf::rt::int64_size(14, self.timestamp);
7902            }
7903            if self.fee_limit != 0 {
7904                my_size += ::protobuf::rt::int64_size(18, self.fee_limit);
7905            }
7906            my_size += ::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields());
7907            self.special_fields.cached_size().set(my_size as u32);
7908            my_size
7909        }
7910
7911        fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::Result<()> {
7912            if !self.ref_block_bytes.is_empty() {
7913                os.write_bytes(1, &self.ref_block_bytes)?;
7914            }
7915            if self.ref_block_num != 0 {
7916                os.write_int64(3, self.ref_block_num)?;
7917            }
7918            if !self.ref_block_hash.is_empty() {
7919                os.write_bytes(4, &self.ref_block_hash)?;
7920            }
7921            if self.expiration != 0 {
7922                os.write_int64(8, self.expiration)?;
7923            }
7924            for v in &self.auths {
7925                ::protobuf::rt::write_message_field_with_cached_size(9, v, os)?;
7926            };
7927            if !self.data.is_empty() {
7928                os.write_bytes(10, &self.data)?;
7929            }
7930            for v in &self.contract {
7931                ::protobuf::rt::write_message_field_with_cached_size(11, v, os)?;
7932            };
7933            if !self.scripts.is_empty() {
7934                os.write_bytes(12, &self.scripts)?;
7935            }
7936            if self.timestamp != 0 {
7937                os.write_int64(14, self.timestamp)?;
7938            }
7939            if self.fee_limit != 0 {
7940                os.write_int64(18, self.fee_limit)?;
7941            }
7942            os.write_unknown_fields(self.special_fields.unknown_fields())?;
7943            ::std::result::Result::Ok(())
7944        }
7945
7946        fn special_fields(&self) -> &::protobuf::SpecialFields {
7947            &self.special_fields
7948        }
7949
7950        fn mut_special_fields(&mut self) -> &mut ::protobuf::SpecialFields {
7951            &mut self.special_fields
7952        }
7953
7954        fn new() -> Raw {
7955            Raw::new()
7956        }
7957
7958        fn clear(&mut self) {
7959            self.ref_block_bytes.clear();
7960            self.ref_block_num = 0;
7961            self.ref_block_hash.clear();
7962            self.expiration = 0;
7963            self.auths.clear();
7964            self.data.clear();
7965            self.contract.clear();
7966            self.scripts.clear();
7967            self.timestamp = 0;
7968            self.fee_limit = 0;
7969            self.special_fields.clear();
7970        }
7971
7972        fn default_instance() -> &'static Raw {
7973            static instance: Raw = Raw {
7974                ref_block_bytes: ::std::vec::Vec::new(),
7975                ref_block_num: 0,
7976                ref_block_hash: ::std::vec::Vec::new(),
7977                expiration: 0,
7978                auths: ::std::vec::Vec::new(),
7979                data: ::std::vec::Vec::new(),
7980                contract: ::std::vec::Vec::new(),
7981                scripts: ::std::vec::Vec::new(),
7982                timestamp: 0,
7983                fee_limit: 0,
7984                special_fields: ::protobuf::SpecialFields::new(),
7985            };
7986            &instance
7987        }
7988    }
7989
7990    impl ::protobuf::MessageFull for Raw {
7991        fn descriptor() -> ::protobuf::reflect::MessageDescriptor {
7992            static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::Lazy::new();
7993            descriptor.get(|| super::file_descriptor().message_by_package_relative_name("Transaction.raw").unwrap()).clone()
7994        }
7995    }
7996
7997    impl ::std::fmt::Display for Raw {
7998        fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
7999            ::protobuf::text_format::fmt(self, f)
8000        }
8001    }
8002
8003    impl ::protobuf::reflect::ProtobufValue for Raw {
8004        type RuntimeType = ::protobuf::reflect::rt::RuntimeTypeMessage<Self>;
8005    }
8006}
8007
8008// @@protoc_insertion_point(message:protocol.TransactionInfo)
8009#[derive(PartialEq,Clone,Default,Debug)]
8010pub struct TransactionInfo {
8011    // message fields
8012    // @@protoc_insertion_point(field:protocol.TransactionInfo.id)
8013    pub id: ::std::vec::Vec<u8>,
8014    // @@protoc_insertion_point(field:protocol.TransactionInfo.fee)
8015    pub fee: i64,
8016    // @@protoc_insertion_point(field:protocol.TransactionInfo.blockNumber)
8017    pub blockNumber: i64,
8018    // @@protoc_insertion_point(field:protocol.TransactionInfo.blockTimeStamp)
8019    pub blockTimeStamp: i64,
8020    // @@protoc_insertion_point(field:protocol.TransactionInfo.contractResult)
8021    pub contractResult: ::std::vec::Vec<::std::vec::Vec<u8>>,
8022    // @@protoc_insertion_point(field:protocol.TransactionInfo.contract_address)
8023    pub contract_address: ::std::vec::Vec<u8>,
8024    // @@protoc_insertion_point(field:protocol.TransactionInfo.receipt)
8025    pub receipt: ::protobuf::MessageField<ResourceReceipt>,
8026    // @@protoc_insertion_point(field:protocol.TransactionInfo.log)
8027    pub log: ::std::vec::Vec<transaction_info::Log>,
8028    // @@protoc_insertion_point(field:protocol.TransactionInfo.result)
8029    pub result: ::protobuf::EnumOrUnknown<transaction_info::Code>,
8030    // @@protoc_insertion_point(field:protocol.TransactionInfo.resMessage)
8031    pub resMessage: ::std::vec::Vec<u8>,
8032    // @@protoc_insertion_point(field:protocol.TransactionInfo.assetIssueID)
8033    pub assetIssueID: ::std::string::String,
8034    // @@protoc_insertion_point(field:protocol.TransactionInfo.withdraw_amount)
8035    pub withdraw_amount: i64,
8036    // @@protoc_insertion_point(field:protocol.TransactionInfo.unfreeze_amount)
8037    pub unfreeze_amount: i64,
8038    // @@protoc_insertion_point(field:protocol.TransactionInfo.internal_transactions)
8039    pub internal_transactions: ::std::vec::Vec<InternalTransaction>,
8040    // @@protoc_insertion_point(field:protocol.TransactionInfo.exchange_received_amount)
8041    pub exchange_received_amount: i64,
8042    // @@protoc_insertion_point(field:protocol.TransactionInfo.exchange_inject_another_amount)
8043    pub exchange_inject_another_amount: i64,
8044    // @@protoc_insertion_point(field:protocol.TransactionInfo.exchange_withdraw_another_amount)
8045    pub exchange_withdraw_another_amount: i64,
8046    // @@protoc_insertion_point(field:protocol.TransactionInfo.exchange_id)
8047    pub exchange_id: i64,
8048    // @@protoc_insertion_point(field:protocol.TransactionInfo.shielded_transaction_fee)
8049    pub shielded_transaction_fee: i64,
8050    // @@protoc_insertion_point(field:protocol.TransactionInfo.orderId)
8051    pub orderId: ::std::vec::Vec<u8>,
8052    // @@protoc_insertion_point(field:protocol.TransactionInfo.orderDetails)
8053    pub orderDetails: ::std::vec::Vec<MarketOrderDetail>,
8054    // @@protoc_insertion_point(field:protocol.TransactionInfo.packingFee)
8055    pub packingFee: i64,
8056    // @@protoc_insertion_point(field:protocol.TransactionInfo.withdraw_expire_amount)
8057    pub withdraw_expire_amount: i64,
8058    // @@protoc_insertion_point(field:protocol.TransactionInfo.cancel_unfreezeV2_amount)
8059    pub cancel_unfreezeV2_amount: ::std::collections::HashMap<::std::string::String, i64>,
8060    // special fields
8061    // @@protoc_insertion_point(special_field:protocol.TransactionInfo.special_fields)
8062    pub special_fields: ::protobuf::SpecialFields,
8063}
8064
8065impl<'a> ::std::default::Default for &'a TransactionInfo {
8066    fn default() -> &'a TransactionInfo {
8067        <TransactionInfo as ::protobuf::Message>::default_instance()
8068    }
8069}
8070
8071impl TransactionInfo {
8072    pub fn new() -> TransactionInfo {
8073        ::std::default::Default::default()
8074    }
8075
8076    fn generated_message_descriptor_data() -> ::protobuf::reflect::GeneratedMessageDescriptorData {
8077        let mut fields = ::std::vec::Vec::with_capacity(24);
8078        let mut oneofs = ::std::vec::Vec::with_capacity(0);
8079        fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
8080            "id",
8081            |m: &TransactionInfo| { &m.id },
8082            |m: &mut TransactionInfo| { &mut m.id },
8083        ));
8084        fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
8085            "fee",
8086            |m: &TransactionInfo| { &m.fee },
8087            |m: &mut TransactionInfo| { &mut m.fee },
8088        ));
8089        fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
8090            "blockNumber",
8091            |m: &TransactionInfo| { &m.blockNumber },
8092            |m: &mut TransactionInfo| { &mut m.blockNumber },
8093        ));
8094        fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
8095            "blockTimeStamp",
8096            |m: &TransactionInfo| { &m.blockTimeStamp },
8097            |m: &mut TransactionInfo| { &mut m.blockTimeStamp },
8098        ));
8099        fields.push(::protobuf::reflect::rt::v2::make_vec_simpler_accessor::<_, _>(
8100            "contractResult",
8101            |m: &TransactionInfo| { &m.contractResult },
8102            |m: &mut TransactionInfo| { &mut m.contractResult },
8103        ));
8104        fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
8105            "contract_address",
8106            |m: &TransactionInfo| { &m.contract_address },
8107            |m: &mut TransactionInfo| { &mut m.contract_address },
8108        ));
8109        fields.push(::protobuf::reflect::rt::v2::make_message_field_accessor::<_, ResourceReceipt>(
8110            "receipt",
8111            |m: &TransactionInfo| { &m.receipt },
8112            |m: &mut TransactionInfo| { &mut m.receipt },
8113        ));
8114        fields.push(::protobuf::reflect::rt::v2::make_vec_simpler_accessor::<_, _>(
8115            "log",
8116            |m: &TransactionInfo| { &m.log },
8117            |m: &mut TransactionInfo| { &mut m.log },
8118        ));
8119        fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
8120            "result",
8121            |m: &TransactionInfo| { &m.result },
8122            |m: &mut TransactionInfo| { &mut m.result },
8123        ));
8124        fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
8125            "resMessage",
8126            |m: &TransactionInfo| { &m.resMessage },
8127            |m: &mut TransactionInfo| { &mut m.resMessage },
8128        ));
8129        fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
8130            "assetIssueID",
8131            |m: &TransactionInfo| { &m.assetIssueID },
8132            |m: &mut TransactionInfo| { &mut m.assetIssueID },
8133        ));
8134        fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
8135            "withdraw_amount",
8136            |m: &TransactionInfo| { &m.withdraw_amount },
8137            |m: &mut TransactionInfo| { &mut m.withdraw_amount },
8138        ));
8139        fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
8140            "unfreeze_amount",
8141            |m: &TransactionInfo| { &m.unfreeze_amount },
8142            |m: &mut TransactionInfo| { &mut m.unfreeze_amount },
8143        ));
8144        fields.push(::protobuf::reflect::rt::v2::make_vec_simpler_accessor::<_, _>(
8145            "internal_transactions",
8146            |m: &TransactionInfo| { &m.internal_transactions },
8147            |m: &mut TransactionInfo| { &mut m.internal_transactions },
8148        ));
8149        fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
8150            "exchange_received_amount",
8151            |m: &TransactionInfo| { &m.exchange_received_amount },
8152            |m: &mut TransactionInfo| { &mut m.exchange_received_amount },
8153        ));
8154        fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
8155            "exchange_inject_another_amount",
8156            |m: &TransactionInfo| { &m.exchange_inject_another_amount },
8157            |m: &mut TransactionInfo| { &mut m.exchange_inject_another_amount },
8158        ));
8159        fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
8160            "exchange_withdraw_another_amount",
8161            |m: &TransactionInfo| { &m.exchange_withdraw_another_amount },
8162            |m: &mut TransactionInfo| { &mut m.exchange_withdraw_another_amount },
8163        ));
8164        fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
8165            "exchange_id",
8166            |m: &TransactionInfo| { &m.exchange_id },
8167            |m: &mut TransactionInfo| { &mut m.exchange_id },
8168        ));
8169        fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
8170            "shielded_transaction_fee",
8171            |m: &TransactionInfo| { &m.shielded_transaction_fee },
8172            |m: &mut TransactionInfo| { &mut m.shielded_transaction_fee },
8173        ));
8174        fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
8175            "orderId",
8176            |m: &TransactionInfo| { &m.orderId },
8177            |m: &mut TransactionInfo| { &mut m.orderId },
8178        ));
8179        fields.push(::protobuf::reflect::rt::v2::make_vec_simpler_accessor::<_, _>(
8180            "orderDetails",
8181            |m: &TransactionInfo| { &m.orderDetails },
8182            |m: &mut TransactionInfo| { &mut m.orderDetails },
8183        ));
8184        fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
8185            "packingFee",
8186            |m: &TransactionInfo| { &m.packingFee },
8187            |m: &mut TransactionInfo| { &mut m.packingFee },
8188        ));
8189        fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
8190            "withdraw_expire_amount",
8191            |m: &TransactionInfo| { &m.withdraw_expire_amount },
8192            |m: &mut TransactionInfo| { &mut m.withdraw_expire_amount },
8193        ));
8194        fields.push(::protobuf::reflect::rt::v2::make_map_simpler_accessor::<_, _, _>(
8195            "cancel_unfreezeV2_amount",
8196            |m: &TransactionInfo| { &m.cancel_unfreezeV2_amount },
8197            |m: &mut TransactionInfo| { &mut m.cancel_unfreezeV2_amount },
8198        ));
8199        ::protobuf::reflect::GeneratedMessageDescriptorData::new_2::<TransactionInfo>(
8200            "TransactionInfo",
8201            fields,
8202            oneofs,
8203        )
8204    }
8205}
8206
8207impl ::protobuf::Message for TransactionInfo {
8208    const NAME: &'static str = "TransactionInfo";
8209
8210    fn is_initialized(&self) -> bool {
8211        true
8212    }
8213
8214    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::Result<()> {
8215        while let Some(tag) = is.read_raw_tag_or_eof()? {
8216            match tag {
8217                10 => {
8218                    self.id = is.read_bytes()?;
8219                },
8220                16 => {
8221                    self.fee = is.read_int64()?;
8222                },
8223                24 => {
8224                    self.blockNumber = is.read_int64()?;
8225                },
8226                32 => {
8227                    self.blockTimeStamp = is.read_int64()?;
8228                },
8229                42 => {
8230                    self.contractResult.push(is.read_bytes()?);
8231                },
8232                50 => {
8233                    self.contract_address = is.read_bytes()?;
8234                },
8235                58 => {
8236                    ::protobuf::rt::read_singular_message_into_field(is, &mut self.receipt)?;
8237                },
8238                66 => {
8239                    self.log.push(is.read_message()?);
8240                },
8241                72 => {
8242                    self.result = is.read_enum_or_unknown()?;
8243                },
8244                82 => {
8245                    self.resMessage = is.read_bytes()?;
8246                },
8247                114 => {
8248                    self.assetIssueID = is.read_string()?;
8249                },
8250                120 => {
8251                    self.withdraw_amount = is.read_int64()?;
8252                },
8253                128 => {
8254                    self.unfreeze_amount = is.read_int64()?;
8255                },
8256                138 => {
8257                    self.internal_transactions.push(is.read_message()?);
8258                },
8259                144 => {
8260                    self.exchange_received_amount = is.read_int64()?;
8261                },
8262                152 => {
8263                    self.exchange_inject_another_amount = is.read_int64()?;
8264                },
8265                160 => {
8266                    self.exchange_withdraw_another_amount = is.read_int64()?;
8267                },
8268                168 => {
8269                    self.exchange_id = is.read_int64()?;
8270                },
8271                176 => {
8272                    self.shielded_transaction_fee = is.read_int64()?;
8273                },
8274                202 => {
8275                    self.orderId = is.read_bytes()?;
8276                },
8277                210 => {
8278                    self.orderDetails.push(is.read_message()?);
8279                },
8280                216 => {
8281                    self.packingFee = is.read_int64()?;
8282                },
8283                224 => {
8284                    self.withdraw_expire_amount = is.read_int64()?;
8285                },
8286                234 => {
8287                    let len = is.read_raw_varint32()?;
8288                    let old_limit = is.push_limit(len as u64)?;
8289                    let mut key = ::std::default::Default::default();
8290                    let mut value = ::std::default::Default::default();
8291                    while let Some(tag) = is.read_raw_tag_or_eof()? {
8292                        match tag {
8293                            10 => key = is.read_string()?,
8294                            16 => value = is.read_int64()?,
8295                            _ => ::protobuf::rt::skip_field_for_tag(tag, is)?,
8296                        };
8297                    }
8298                    is.pop_limit(old_limit);
8299                    self.cancel_unfreezeV2_amount.insert(key, value);
8300                },
8301                tag => {
8302                    ::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?;
8303                },
8304            };
8305        }
8306        ::std::result::Result::Ok(())
8307    }
8308
8309    // Compute sizes of nested messages
8310    #[allow(unused_variables)]
8311    fn compute_size(&self) -> u64 {
8312        let mut my_size = 0;
8313        if !self.id.is_empty() {
8314            my_size += ::protobuf::rt::bytes_size(1, &self.id);
8315        }
8316        if self.fee != 0 {
8317            my_size += ::protobuf::rt::int64_size(2, self.fee);
8318        }
8319        if self.blockNumber != 0 {
8320            my_size += ::protobuf::rt::int64_size(3, self.blockNumber);
8321        }
8322        if self.blockTimeStamp != 0 {
8323            my_size += ::protobuf::rt::int64_size(4, self.blockTimeStamp);
8324        }
8325        for value in &self.contractResult {
8326            my_size += ::protobuf::rt::bytes_size(5, &value);
8327        };
8328        if !self.contract_address.is_empty() {
8329            my_size += ::protobuf::rt::bytes_size(6, &self.contract_address);
8330        }
8331        if let Some(v) = self.receipt.as_ref() {
8332            let len = v.compute_size();
8333            my_size += 1 + ::protobuf::rt::compute_raw_varint64_size(len) + len;
8334        }
8335        for value in &self.log {
8336            let len = value.compute_size();
8337            my_size += 1 + ::protobuf::rt::compute_raw_varint64_size(len) + len;
8338        };
8339        if self.result != ::protobuf::EnumOrUnknown::new(transaction_info::Code::SUCESS) {
8340            my_size += ::protobuf::rt::int32_size(9, self.result.value());
8341        }
8342        if !self.resMessage.is_empty() {
8343            my_size += ::protobuf::rt::bytes_size(10, &self.resMessage);
8344        }
8345        if !self.assetIssueID.is_empty() {
8346            my_size += ::protobuf::rt::string_size(14, &self.assetIssueID);
8347        }
8348        if self.withdraw_amount != 0 {
8349            my_size += ::protobuf::rt::int64_size(15, self.withdraw_amount);
8350        }
8351        if self.unfreeze_amount != 0 {
8352            my_size += ::protobuf::rt::int64_size(16, self.unfreeze_amount);
8353        }
8354        for value in &self.internal_transactions {
8355            let len = value.compute_size();
8356            my_size += 2 + ::protobuf::rt::compute_raw_varint64_size(len) + len;
8357        };
8358        if self.exchange_received_amount != 0 {
8359            my_size += ::protobuf::rt::int64_size(18, self.exchange_received_amount);
8360        }
8361        if self.exchange_inject_another_amount != 0 {
8362            my_size += ::protobuf::rt::int64_size(19, self.exchange_inject_another_amount);
8363        }
8364        if self.exchange_withdraw_another_amount != 0 {
8365            my_size += ::protobuf::rt::int64_size(20, self.exchange_withdraw_another_amount);
8366        }
8367        if self.exchange_id != 0 {
8368            my_size += ::protobuf::rt::int64_size(21, self.exchange_id);
8369        }
8370        if self.shielded_transaction_fee != 0 {
8371            my_size += ::protobuf::rt::int64_size(22, self.shielded_transaction_fee);
8372        }
8373        if !self.orderId.is_empty() {
8374            my_size += ::protobuf::rt::bytes_size(25, &self.orderId);
8375        }
8376        for value in &self.orderDetails {
8377            let len = value.compute_size();
8378            my_size += 2 + ::protobuf::rt::compute_raw_varint64_size(len) + len;
8379        };
8380        if self.packingFee != 0 {
8381            my_size += ::protobuf::rt::int64_size(27, self.packingFee);
8382        }
8383        if self.withdraw_expire_amount != 0 {
8384            my_size += ::protobuf::rt::int64_size(28, self.withdraw_expire_amount);
8385        }
8386        for (k, v) in &self.cancel_unfreezeV2_amount {
8387            let mut entry_size = 0;
8388            entry_size += ::protobuf::rt::string_size(1, &k);
8389            entry_size += ::protobuf::rt::int64_size(2, *v);
8390            my_size += 2 + ::protobuf::rt::compute_raw_varint64_size(entry_size) + entry_size
8391        };
8392        my_size += ::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields());
8393        self.special_fields.cached_size().set(my_size as u32);
8394        my_size
8395    }
8396
8397    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::Result<()> {
8398        if !self.id.is_empty() {
8399            os.write_bytes(1, &self.id)?;
8400        }
8401        if self.fee != 0 {
8402            os.write_int64(2, self.fee)?;
8403        }
8404        if self.blockNumber != 0 {
8405            os.write_int64(3, self.blockNumber)?;
8406        }
8407        if self.blockTimeStamp != 0 {
8408            os.write_int64(4, self.blockTimeStamp)?;
8409        }
8410        for v in &self.contractResult {
8411            os.write_bytes(5, &v)?;
8412        };
8413        if !self.contract_address.is_empty() {
8414            os.write_bytes(6, &self.contract_address)?;
8415        }
8416        if let Some(v) = self.receipt.as_ref() {
8417            ::protobuf::rt::write_message_field_with_cached_size(7, v, os)?;
8418        }
8419        for v in &self.log {
8420            ::protobuf::rt::write_message_field_with_cached_size(8, v, os)?;
8421        };
8422        if self.result != ::protobuf::EnumOrUnknown::new(transaction_info::Code::SUCESS) {
8423            os.write_enum(9, ::protobuf::EnumOrUnknown::value(&self.result))?;
8424        }
8425        if !self.resMessage.is_empty() {
8426            os.write_bytes(10, &self.resMessage)?;
8427        }
8428        if !self.assetIssueID.is_empty() {
8429            os.write_string(14, &self.assetIssueID)?;
8430        }
8431        if self.withdraw_amount != 0 {
8432            os.write_int64(15, self.withdraw_amount)?;
8433        }
8434        if self.unfreeze_amount != 0 {
8435            os.write_int64(16, self.unfreeze_amount)?;
8436        }
8437        for v in &self.internal_transactions {
8438            ::protobuf::rt::write_message_field_with_cached_size(17, v, os)?;
8439        };
8440        if self.exchange_received_amount != 0 {
8441            os.write_int64(18, self.exchange_received_amount)?;
8442        }
8443        if self.exchange_inject_another_amount != 0 {
8444            os.write_int64(19, self.exchange_inject_another_amount)?;
8445        }
8446        if self.exchange_withdraw_another_amount != 0 {
8447            os.write_int64(20, self.exchange_withdraw_another_amount)?;
8448        }
8449        if self.exchange_id != 0 {
8450            os.write_int64(21, self.exchange_id)?;
8451        }
8452        if self.shielded_transaction_fee != 0 {
8453            os.write_int64(22, self.shielded_transaction_fee)?;
8454        }
8455        if !self.orderId.is_empty() {
8456            os.write_bytes(25, &self.orderId)?;
8457        }
8458        for v in &self.orderDetails {
8459            ::protobuf::rt::write_message_field_with_cached_size(26, v, os)?;
8460        };
8461        if self.packingFee != 0 {
8462            os.write_int64(27, self.packingFee)?;
8463        }
8464        if self.withdraw_expire_amount != 0 {
8465            os.write_int64(28, self.withdraw_expire_amount)?;
8466        }
8467        for (k, v) in &self.cancel_unfreezeV2_amount {
8468            let mut entry_size = 0;
8469            entry_size += ::protobuf::rt::string_size(1, &k);
8470            entry_size += ::protobuf::rt::int64_size(2, *v);
8471            os.write_raw_varint32(234)?; // Tag.
8472            os.write_raw_varint32(entry_size as u32)?;
8473            os.write_string(1, &k)?;
8474            os.write_int64(2, *v)?;
8475        };
8476        os.write_unknown_fields(self.special_fields.unknown_fields())?;
8477        ::std::result::Result::Ok(())
8478    }
8479
8480    fn special_fields(&self) -> &::protobuf::SpecialFields {
8481        &self.special_fields
8482    }
8483
8484    fn mut_special_fields(&mut self) -> &mut ::protobuf::SpecialFields {
8485        &mut self.special_fields
8486    }
8487
8488    fn new() -> TransactionInfo {
8489        TransactionInfo::new()
8490    }
8491
8492    fn clear(&mut self) {
8493        self.id.clear();
8494        self.fee = 0;
8495        self.blockNumber = 0;
8496        self.blockTimeStamp = 0;
8497        self.contractResult.clear();
8498        self.contract_address.clear();
8499        self.receipt.clear();
8500        self.log.clear();
8501        self.result = ::protobuf::EnumOrUnknown::new(transaction_info::Code::SUCESS);
8502        self.resMessage.clear();
8503        self.assetIssueID.clear();
8504        self.withdraw_amount = 0;
8505        self.unfreeze_amount = 0;
8506        self.internal_transactions.clear();
8507        self.exchange_received_amount = 0;
8508        self.exchange_inject_another_amount = 0;
8509        self.exchange_withdraw_another_amount = 0;
8510        self.exchange_id = 0;
8511        self.shielded_transaction_fee = 0;
8512        self.orderId.clear();
8513        self.orderDetails.clear();
8514        self.packingFee = 0;
8515        self.withdraw_expire_amount = 0;
8516        self.cancel_unfreezeV2_amount.clear();
8517        self.special_fields.clear();
8518    }
8519
8520    fn default_instance() -> &'static TransactionInfo {
8521        static instance: ::protobuf::rt::Lazy<TransactionInfo> = ::protobuf::rt::Lazy::new();
8522        instance.get(TransactionInfo::new)
8523    }
8524}
8525
8526impl ::protobuf::MessageFull for TransactionInfo {
8527    fn descriptor() -> ::protobuf::reflect::MessageDescriptor {
8528        static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::Lazy::new();
8529        descriptor.get(|| file_descriptor().message_by_package_relative_name("TransactionInfo").unwrap()).clone()
8530    }
8531}
8532
8533impl ::std::fmt::Display for TransactionInfo {
8534    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
8535        ::protobuf::text_format::fmt(self, f)
8536    }
8537}
8538
8539impl ::protobuf::reflect::ProtobufValue for TransactionInfo {
8540    type RuntimeType = ::protobuf::reflect::rt::RuntimeTypeMessage<Self>;
8541}
8542
8543/// Nested message and enums of message `TransactionInfo`
8544pub mod transaction_info {
8545    // @@protoc_insertion_point(message:protocol.TransactionInfo.Log)
8546    #[derive(PartialEq,Clone,Default,Debug)]
8547    pub struct Log {
8548        // message fields
8549        // @@protoc_insertion_point(field:protocol.TransactionInfo.Log.address)
8550        pub address: ::std::vec::Vec<u8>,
8551        // @@protoc_insertion_point(field:protocol.TransactionInfo.Log.topics)
8552        pub topics: ::std::vec::Vec<::std::vec::Vec<u8>>,
8553        // @@protoc_insertion_point(field:protocol.TransactionInfo.Log.data)
8554        pub data: ::std::vec::Vec<u8>,
8555        // special fields
8556        // @@protoc_insertion_point(special_field:protocol.TransactionInfo.Log.special_fields)
8557        pub special_fields: ::protobuf::SpecialFields,
8558    }
8559
8560    impl<'a> ::std::default::Default for &'a Log {
8561        fn default() -> &'a Log {
8562            <Log as ::protobuf::Message>::default_instance()
8563        }
8564    }
8565
8566    impl Log {
8567        pub fn new() -> Log {
8568            ::std::default::Default::default()
8569        }
8570
8571        pub(in super) fn generated_message_descriptor_data() -> ::protobuf::reflect::GeneratedMessageDescriptorData {
8572            let mut fields = ::std::vec::Vec::with_capacity(3);
8573            let mut oneofs = ::std::vec::Vec::with_capacity(0);
8574            fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
8575                "address",
8576                |m: &Log| { &m.address },
8577                |m: &mut Log| { &mut m.address },
8578            ));
8579            fields.push(::protobuf::reflect::rt::v2::make_vec_simpler_accessor::<_, _>(
8580                "topics",
8581                |m: &Log| { &m.topics },
8582                |m: &mut Log| { &mut m.topics },
8583            ));
8584            fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
8585                "data",
8586                |m: &Log| { &m.data },
8587                |m: &mut Log| { &mut m.data },
8588            ));
8589            ::protobuf::reflect::GeneratedMessageDescriptorData::new_2::<Log>(
8590                "TransactionInfo.Log",
8591                fields,
8592                oneofs,
8593            )
8594        }
8595    }
8596
8597    impl ::protobuf::Message for Log {
8598        const NAME: &'static str = "Log";
8599
8600        fn is_initialized(&self) -> bool {
8601            true
8602        }
8603
8604        fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::Result<()> {
8605            while let Some(tag) = is.read_raw_tag_or_eof()? {
8606                match tag {
8607                    10 => {
8608                        self.address = is.read_bytes()?;
8609                    },
8610                    18 => {
8611                        self.topics.push(is.read_bytes()?);
8612                    },
8613                    26 => {
8614                        self.data = is.read_bytes()?;
8615                    },
8616                    tag => {
8617                        ::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?;
8618                    },
8619                };
8620            }
8621            ::std::result::Result::Ok(())
8622        }
8623
8624        // Compute sizes of nested messages
8625        #[allow(unused_variables)]
8626        fn compute_size(&self) -> u64 {
8627            let mut my_size = 0;
8628            if !self.address.is_empty() {
8629                my_size += ::protobuf::rt::bytes_size(1, &self.address);
8630            }
8631            for value in &self.topics {
8632                my_size += ::protobuf::rt::bytes_size(2, &value);
8633            };
8634            if !self.data.is_empty() {
8635                my_size += ::protobuf::rt::bytes_size(3, &self.data);
8636            }
8637            my_size += ::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields());
8638            self.special_fields.cached_size().set(my_size as u32);
8639            my_size
8640        }
8641
8642        fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::Result<()> {
8643            if !self.address.is_empty() {
8644                os.write_bytes(1, &self.address)?;
8645            }
8646            for v in &self.topics {
8647                os.write_bytes(2, &v)?;
8648            };
8649            if !self.data.is_empty() {
8650                os.write_bytes(3, &self.data)?;
8651            }
8652            os.write_unknown_fields(self.special_fields.unknown_fields())?;
8653            ::std::result::Result::Ok(())
8654        }
8655
8656        fn special_fields(&self) -> &::protobuf::SpecialFields {
8657            &self.special_fields
8658        }
8659
8660        fn mut_special_fields(&mut self) -> &mut ::protobuf::SpecialFields {
8661            &mut self.special_fields
8662        }
8663
8664        fn new() -> Log {
8665            Log::new()
8666        }
8667
8668        fn clear(&mut self) {
8669            self.address.clear();
8670            self.topics.clear();
8671            self.data.clear();
8672            self.special_fields.clear();
8673        }
8674
8675        fn default_instance() -> &'static Log {
8676            static instance: Log = Log {
8677                address: ::std::vec::Vec::new(),
8678                topics: ::std::vec::Vec::new(),
8679                data: ::std::vec::Vec::new(),
8680                special_fields: ::protobuf::SpecialFields::new(),
8681            };
8682            &instance
8683        }
8684    }
8685
8686    impl ::protobuf::MessageFull for Log {
8687        fn descriptor() -> ::protobuf::reflect::MessageDescriptor {
8688            static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::Lazy::new();
8689            descriptor.get(|| super::file_descriptor().message_by_package_relative_name("TransactionInfo.Log").unwrap()).clone()
8690        }
8691    }
8692
8693    impl ::std::fmt::Display for Log {
8694        fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
8695            ::protobuf::text_format::fmt(self, f)
8696        }
8697    }
8698
8699    impl ::protobuf::reflect::ProtobufValue for Log {
8700        type RuntimeType = ::protobuf::reflect::rt::RuntimeTypeMessage<Self>;
8701    }
8702
8703    #[derive(Clone,Copy,PartialEq,Eq,Debug,Hash)]
8704    // @@protoc_insertion_point(enum:protocol.TransactionInfo.code)
8705    pub enum Code {
8706        // @@protoc_insertion_point(enum_value:protocol.TransactionInfo.code.SUCESS)
8707        SUCESS = 0,
8708        // @@protoc_insertion_point(enum_value:protocol.TransactionInfo.code.FAILED)
8709        FAILED = 1,
8710    }
8711
8712    impl ::protobuf::Enum for Code {
8713        const NAME: &'static str = "code";
8714
8715        fn value(&self) -> i32 {
8716            *self as i32
8717        }
8718
8719        fn from_i32(value: i32) -> ::std::option::Option<Code> {
8720            match value {
8721                0 => ::std::option::Option::Some(Code::SUCESS),
8722                1 => ::std::option::Option::Some(Code::FAILED),
8723                _ => ::std::option::Option::None
8724            }
8725        }
8726
8727        fn from_str(str: &str) -> ::std::option::Option<Code> {
8728            match str {
8729                "SUCESS" => ::std::option::Option::Some(Code::SUCESS),
8730                "FAILED" => ::std::option::Option::Some(Code::FAILED),
8731                _ => ::std::option::Option::None
8732            }
8733        }
8734
8735        const VALUES: &'static [Code] = &[
8736            Code::SUCESS,
8737            Code::FAILED,
8738        ];
8739    }
8740
8741    impl ::protobuf::EnumFull for Code {
8742        fn enum_descriptor() -> ::protobuf::reflect::EnumDescriptor {
8743            static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::EnumDescriptor> = ::protobuf::rt::Lazy::new();
8744            descriptor.get(|| super::file_descriptor().enum_by_package_relative_name("TransactionInfo.code").unwrap()).clone()
8745        }
8746
8747        fn descriptor(&self) -> ::protobuf::reflect::EnumValueDescriptor {
8748            let index = *self as usize;
8749            Self::enum_descriptor().value_by_index(index)
8750        }
8751    }
8752
8753    impl ::std::default::Default for Code {
8754        fn default() -> Self {
8755            Code::SUCESS
8756        }
8757    }
8758
8759    impl Code {
8760        pub(in super) fn generated_enum_descriptor_data() -> ::protobuf::reflect::GeneratedEnumDescriptorData {
8761            ::protobuf::reflect::GeneratedEnumDescriptorData::new::<Code>("TransactionInfo.code")
8762        }
8763    }
8764}
8765
8766// @@protoc_insertion_point(message:protocol.TransactionRet)
8767#[derive(PartialEq,Clone,Default,Debug)]
8768pub struct TransactionRet {
8769    // message fields
8770    // @@protoc_insertion_point(field:protocol.TransactionRet.blockNumber)
8771    pub blockNumber: i64,
8772    // @@protoc_insertion_point(field:protocol.TransactionRet.blockTimeStamp)
8773    pub blockTimeStamp: i64,
8774    // @@protoc_insertion_point(field:protocol.TransactionRet.transactioninfo)
8775    pub transactioninfo: ::std::vec::Vec<TransactionInfo>,
8776    // special fields
8777    // @@protoc_insertion_point(special_field:protocol.TransactionRet.special_fields)
8778    pub special_fields: ::protobuf::SpecialFields,
8779}
8780
8781impl<'a> ::std::default::Default for &'a TransactionRet {
8782    fn default() -> &'a TransactionRet {
8783        <TransactionRet as ::protobuf::Message>::default_instance()
8784    }
8785}
8786
8787impl TransactionRet {
8788    pub fn new() -> TransactionRet {
8789        ::std::default::Default::default()
8790    }
8791
8792    fn generated_message_descriptor_data() -> ::protobuf::reflect::GeneratedMessageDescriptorData {
8793        let mut fields = ::std::vec::Vec::with_capacity(3);
8794        let mut oneofs = ::std::vec::Vec::with_capacity(0);
8795        fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
8796            "blockNumber",
8797            |m: &TransactionRet| { &m.blockNumber },
8798            |m: &mut TransactionRet| { &mut m.blockNumber },
8799        ));
8800        fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
8801            "blockTimeStamp",
8802            |m: &TransactionRet| { &m.blockTimeStamp },
8803            |m: &mut TransactionRet| { &mut m.blockTimeStamp },
8804        ));
8805        fields.push(::protobuf::reflect::rt::v2::make_vec_simpler_accessor::<_, _>(
8806            "transactioninfo",
8807            |m: &TransactionRet| { &m.transactioninfo },
8808            |m: &mut TransactionRet| { &mut m.transactioninfo },
8809        ));
8810        ::protobuf::reflect::GeneratedMessageDescriptorData::new_2::<TransactionRet>(
8811            "TransactionRet",
8812            fields,
8813            oneofs,
8814        )
8815    }
8816}
8817
8818impl ::protobuf::Message for TransactionRet {
8819    const NAME: &'static str = "TransactionRet";
8820
8821    fn is_initialized(&self) -> bool {
8822        true
8823    }
8824
8825    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::Result<()> {
8826        while let Some(tag) = is.read_raw_tag_or_eof()? {
8827            match tag {
8828                8 => {
8829                    self.blockNumber = is.read_int64()?;
8830                },
8831                16 => {
8832                    self.blockTimeStamp = is.read_int64()?;
8833                },
8834                26 => {
8835                    self.transactioninfo.push(is.read_message()?);
8836                },
8837                tag => {
8838                    ::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?;
8839                },
8840            };
8841        }
8842        ::std::result::Result::Ok(())
8843    }
8844
8845    // Compute sizes of nested messages
8846    #[allow(unused_variables)]
8847    fn compute_size(&self) -> u64 {
8848        let mut my_size = 0;
8849        if self.blockNumber != 0 {
8850            my_size += ::protobuf::rt::int64_size(1, self.blockNumber);
8851        }
8852        if self.blockTimeStamp != 0 {
8853            my_size += ::protobuf::rt::int64_size(2, self.blockTimeStamp);
8854        }
8855        for value in &self.transactioninfo {
8856            let len = value.compute_size();
8857            my_size += 1 + ::protobuf::rt::compute_raw_varint64_size(len) + len;
8858        };
8859        my_size += ::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields());
8860        self.special_fields.cached_size().set(my_size as u32);
8861        my_size
8862    }
8863
8864    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::Result<()> {
8865        if self.blockNumber != 0 {
8866            os.write_int64(1, self.blockNumber)?;
8867        }
8868        if self.blockTimeStamp != 0 {
8869            os.write_int64(2, self.blockTimeStamp)?;
8870        }
8871        for v in &self.transactioninfo {
8872            ::protobuf::rt::write_message_field_with_cached_size(3, v, os)?;
8873        };
8874        os.write_unknown_fields(self.special_fields.unknown_fields())?;
8875        ::std::result::Result::Ok(())
8876    }
8877
8878    fn special_fields(&self) -> &::protobuf::SpecialFields {
8879        &self.special_fields
8880    }
8881
8882    fn mut_special_fields(&mut self) -> &mut ::protobuf::SpecialFields {
8883        &mut self.special_fields
8884    }
8885
8886    fn new() -> TransactionRet {
8887        TransactionRet::new()
8888    }
8889
8890    fn clear(&mut self) {
8891        self.blockNumber = 0;
8892        self.blockTimeStamp = 0;
8893        self.transactioninfo.clear();
8894        self.special_fields.clear();
8895    }
8896
8897    fn default_instance() -> &'static TransactionRet {
8898        static instance: TransactionRet = TransactionRet {
8899            blockNumber: 0,
8900            blockTimeStamp: 0,
8901            transactioninfo: ::std::vec::Vec::new(),
8902            special_fields: ::protobuf::SpecialFields::new(),
8903        };
8904        &instance
8905    }
8906}
8907
8908impl ::protobuf::MessageFull for TransactionRet {
8909    fn descriptor() -> ::protobuf::reflect::MessageDescriptor {
8910        static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::Lazy::new();
8911        descriptor.get(|| file_descriptor().message_by_package_relative_name("TransactionRet").unwrap()).clone()
8912    }
8913}
8914
8915impl ::std::fmt::Display for TransactionRet {
8916    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
8917        ::protobuf::text_format::fmt(self, f)
8918    }
8919}
8920
8921impl ::protobuf::reflect::ProtobufValue for TransactionRet {
8922    type RuntimeType = ::protobuf::reflect::rt::RuntimeTypeMessage<Self>;
8923}
8924
8925// @@protoc_insertion_point(message:protocol.Transactions)
8926#[derive(PartialEq,Clone,Default,Debug)]
8927pub struct Transactions {
8928    // message fields
8929    // @@protoc_insertion_point(field:protocol.Transactions.transactions)
8930    pub transactions: ::std::vec::Vec<Transaction>,
8931    // special fields
8932    // @@protoc_insertion_point(special_field:protocol.Transactions.special_fields)
8933    pub special_fields: ::protobuf::SpecialFields,
8934}
8935
8936impl<'a> ::std::default::Default for &'a Transactions {
8937    fn default() -> &'a Transactions {
8938        <Transactions as ::protobuf::Message>::default_instance()
8939    }
8940}
8941
8942impl Transactions {
8943    pub fn new() -> Transactions {
8944        ::std::default::Default::default()
8945    }
8946
8947    fn generated_message_descriptor_data() -> ::protobuf::reflect::GeneratedMessageDescriptorData {
8948        let mut fields = ::std::vec::Vec::with_capacity(1);
8949        let mut oneofs = ::std::vec::Vec::with_capacity(0);
8950        fields.push(::protobuf::reflect::rt::v2::make_vec_simpler_accessor::<_, _>(
8951            "transactions",
8952            |m: &Transactions| { &m.transactions },
8953            |m: &mut Transactions| { &mut m.transactions },
8954        ));
8955        ::protobuf::reflect::GeneratedMessageDescriptorData::new_2::<Transactions>(
8956            "Transactions",
8957            fields,
8958            oneofs,
8959        )
8960    }
8961}
8962
8963impl ::protobuf::Message for Transactions {
8964    const NAME: &'static str = "Transactions";
8965
8966    fn is_initialized(&self) -> bool {
8967        true
8968    }
8969
8970    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::Result<()> {
8971        while let Some(tag) = is.read_raw_tag_or_eof()? {
8972            match tag {
8973                10 => {
8974                    self.transactions.push(is.read_message()?);
8975                },
8976                tag => {
8977                    ::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?;
8978                },
8979            };
8980        }
8981        ::std::result::Result::Ok(())
8982    }
8983
8984    // Compute sizes of nested messages
8985    #[allow(unused_variables)]
8986    fn compute_size(&self) -> u64 {
8987        let mut my_size = 0;
8988        for value in &self.transactions {
8989            let len = value.compute_size();
8990            my_size += 1 + ::protobuf::rt::compute_raw_varint64_size(len) + len;
8991        };
8992        my_size += ::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields());
8993        self.special_fields.cached_size().set(my_size as u32);
8994        my_size
8995    }
8996
8997    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::Result<()> {
8998        for v in &self.transactions {
8999            ::protobuf::rt::write_message_field_with_cached_size(1, v, os)?;
9000        };
9001        os.write_unknown_fields(self.special_fields.unknown_fields())?;
9002        ::std::result::Result::Ok(())
9003    }
9004
9005    fn special_fields(&self) -> &::protobuf::SpecialFields {
9006        &self.special_fields
9007    }
9008
9009    fn mut_special_fields(&mut self) -> &mut ::protobuf::SpecialFields {
9010        &mut self.special_fields
9011    }
9012
9013    fn new() -> Transactions {
9014        Transactions::new()
9015    }
9016
9017    fn clear(&mut self) {
9018        self.transactions.clear();
9019        self.special_fields.clear();
9020    }
9021
9022    fn default_instance() -> &'static Transactions {
9023        static instance: Transactions = Transactions {
9024            transactions: ::std::vec::Vec::new(),
9025            special_fields: ::protobuf::SpecialFields::new(),
9026        };
9027        &instance
9028    }
9029}
9030
9031impl ::protobuf::MessageFull for Transactions {
9032    fn descriptor() -> ::protobuf::reflect::MessageDescriptor {
9033        static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::Lazy::new();
9034        descriptor.get(|| file_descriptor().message_by_package_relative_name("Transactions").unwrap()).clone()
9035    }
9036}
9037
9038impl ::std::fmt::Display for Transactions {
9039    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
9040        ::protobuf::text_format::fmt(self, f)
9041    }
9042}
9043
9044impl ::protobuf::reflect::ProtobufValue for Transactions {
9045    type RuntimeType = ::protobuf::reflect::rt::RuntimeTypeMessage<Self>;
9046}
9047
9048// @@protoc_insertion_point(message:protocol.BlockHeader)
9049#[derive(PartialEq,Clone,Default,Debug)]
9050pub struct BlockHeader {
9051    // message fields
9052    // @@protoc_insertion_point(field:protocol.BlockHeader.raw_data)
9053    pub raw_data: ::protobuf::MessageField<block_header::Raw>,
9054    // @@protoc_insertion_point(field:protocol.BlockHeader.witness_signature)
9055    pub witness_signature: ::std::vec::Vec<u8>,
9056    // special fields
9057    // @@protoc_insertion_point(special_field:protocol.BlockHeader.special_fields)
9058    pub special_fields: ::protobuf::SpecialFields,
9059}
9060
9061impl<'a> ::std::default::Default for &'a BlockHeader {
9062    fn default() -> &'a BlockHeader {
9063        <BlockHeader as ::protobuf::Message>::default_instance()
9064    }
9065}
9066
9067impl BlockHeader {
9068    pub fn new() -> BlockHeader {
9069        ::std::default::Default::default()
9070    }
9071
9072    fn generated_message_descriptor_data() -> ::protobuf::reflect::GeneratedMessageDescriptorData {
9073        let mut fields = ::std::vec::Vec::with_capacity(2);
9074        let mut oneofs = ::std::vec::Vec::with_capacity(0);
9075        fields.push(::protobuf::reflect::rt::v2::make_message_field_accessor::<_, block_header::Raw>(
9076            "raw_data",
9077            |m: &BlockHeader| { &m.raw_data },
9078            |m: &mut BlockHeader| { &mut m.raw_data },
9079        ));
9080        fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
9081            "witness_signature",
9082            |m: &BlockHeader| { &m.witness_signature },
9083            |m: &mut BlockHeader| { &mut m.witness_signature },
9084        ));
9085        ::protobuf::reflect::GeneratedMessageDescriptorData::new_2::<BlockHeader>(
9086            "BlockHeader",
9087            fields,
9088            oneofs,
9089        )
9090    }
9091}
9092
9093impl ::protobuf::Message for BlockHeader {
9094    const NAME: &'static str = "BlockHeader";
9095
9096    fn is_initialized(&self) -> bool {
9097        true
9098    }
9099
9100    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::Result<()> {
9101        while let Some(tag) = is.read_raw_tag_or_eof()? {
9102            match tag {
9103                10 => {
9104                    ::protobuf::rt::read_singular_message_into_field(is, &mut self.raw_data)?;
9105                },
9106                18 => {
9107                    self.witness_signature = is.read_bytes()?;
9108                },
9109                tag => {
9110                    ::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?;
9111                },
9112            };
9113        }
9114        ::std::result::Result::Ok(())
9115    }
9116
9117    // Compute sizes of nested messages
9118    #[allow(unused_variables)]
9119    fn compute_size(&self) -> u64 {
9120        let mut my_size = 0;
9121        if let Some(v) = self.raw_data.as_ref() {
9122            let len = v.compute_size();
9123            my_size += 1 + ::protobuf::rt::compute_raw_varint64_size(len) + len;
9124        }
9125        if !self.witness_signature.is_empty() {
9126            my_size += ::protobuf::rt::bytes_size(2, &self.witness_signature);
9127        }
9128        my_size += ::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields());
9129        self.special_fields.cached_size().set(my_size as u32);
9130        my_size
9131    }
9132
9133    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::Result<()> {
9134        if let Some(v) = self.raw_data.as_ref() {
9135            ::protobuf::rt::write_message_field_with_cached_size(1, v, os)?;
9136        }
9137        if !self.witness_signature.is_empty() {
9138            os.write_bytes(2, &self.witness_signature)?;
9139        }
9140        os.write_unknown_fields(self.special_fields.unknown_fields())?;
9141        ::std::result::Result::Ok(())
9142    }
9143
9144    fn special_fields(&self) -> &::protobuf::SpecialFields {
9145        &self.special_fields
9146    }
9147
9148    fn mut_special_fields(&mut self) -> &mut ::protobuf::SpecialFields {
9149        &mut self.special_fields
9150    }
9151
9152    fn new() -> BlockHeader {
9153        BlockHeader::new()
9154    }
9155
9156    fn clear(&mut self) {
9157        self.raw_data.clear();
9158        self.witness_signature.clear();
9159        self.special_fields.clear();
9160    }
9161
9162    fn default_instance() -> &'static BlockHeader {
9163        static instance: BlockHeader = BlockHeader {
9164            raw_data: ::protobuf::MessageField::none(),
9165            witness_signature: ::std::vec::Vec::new(),
9166            special_fields: ::protobuf::SpecialFields::new(),
9167        };
9168        &instance
9169    }
9170}
9171
9172impl ::protobuf::MessageFull for BlockHeader {
9173    fn descriptor() -> ::protobuf::reflect::MessageDescriptor {
9174        static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::Lazy::new();
9175        descriptor.get(|| file_descriptor().message_by_package_relative_name("BlockHeader").unwrap()).clone()
9176    }
9177}
9178
9179impl ::std::fmt::Display for BlockHeader {
9180    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
9181        ::protobuf::text_format::fmt(self, f)
9182    }
9183}
9184
9185impl ::protobuf::reflect::ProtobufValue for BlockHeader {
9186    type RuntimeType = ::protobuf::reflect::rt::RuntimeTypeMessage<Self>;
9187}
9188
9189/// Nested message and enums of message `BlockHeader`
9190pub mod block_header {
9191    // @@protoc_insertion_point(message:protocol.BlockHeader.raw)
9192    #[derive(PartialEq,Clone,Default,Debug)]
9193    pub struct Raw {
9194        // message fields
9195        // @@protoc_insertion_point(field:protocol.BlockHeader.raw.timestamp)
9196        pub timestamp: i64,
9197        // @@protoc_insertion_point(field:protocol.BlockHeader.raw.txTrieRoot)
9198        pub txTrieRoot: ::std::vec::Vec<u8>,
9199        // @@protoc_insertion_point(field:protocol.BlockHeader.raw.parentHash)
9200        pub parentHash: ::std::vec::Vec<u8>,
9201        /// bytes nonce = 5;
9202        /// bytes difficulty = 6;
9203        // @@protoc_insertion_point(field:protocol.BlockHeader.raw.number)
9204        pub number: i64,
9205        // @@protoc_insertion_point(field:protocol.BlockHeader.raw.witness_id)
9206        pub witness_id: i64,
9207        // @@protoc_insertion_point(field:protocol.BlockHeader.raw.witness_address)
9208        pub witness_address: ::std::vec::Vec<u8>,
9209        // @@protoc_insertion_point(field:protocol.BlockHeader.raw.version)
9210        pub version: i32,
9211        // @@protoc_insertion_point(field:protocol.BlockHeader.raw.accountStateRoot)
9212        pub accountStateRoot: ::std::vec::Vec<u8>,
9213        // special fields
9214        // @@protoc_insertion_point(special_field:protocol.BlockHeader.raw.special_fields)
9215        pub special_fields: ::protobuf::SpecialFields,
9216    }
9217
9218    impl<'a> ::std::default::Default for &'a Raw {
9219        fn default() -> &'a Raw {
9220            <Raw as ::protobuf::Message>::default_instance()
9221        }
9222    }
9223
9224    impl Raw {
9225        pub fn new() -> Raw {
9226            ::std::default::Default::default()
9227        }
9228
9229        pub(in super) fn generated_message_descriptor_data() -> ::protobuf::reflect::GeneratedMessageDescriptorData {
9230            let mut fields = ::std::vec::Vec::with_capacity(8);
9231            let mut oneofs = ::std::vec::Vec::with_capacity(0);
9232            fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
9233                "timestamp",
9234                |m: &Raw| { &m.timestamp },
9235                |m: &mut Raw| { &mut m.timestamp },
9236            ));
9237            fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
9238                "txTrieRoot",
9239                |m: &Raw| { &m.txTrieRoot },
9240                |m: &mut Raw| { &mut m.txTrieRoot },
9241            ));
9242            fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
9243                "parentHash",
9244                |m: &Raw| { &m.parentHash },
9245                |m: &mut Raw| { &mut m.parentHash },
9246            ));
9247            fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
9248                "number",
9249                |m: &Raw| { &m.number },
9250                |m: &mut Raw| { &mut m.number },
9251            ));
9252            fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
9253                "witness_id",
9254                |m: &Raw| { &m.witness_id },
9255                |m: &mut Raw| { &mut m.witness_id },
9256            ));
9257            fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
9258                "witness_address",
9259                |m: &Raw| { &m.witness_address },
9260                |m: &mut Raw| { &mut m.witness_address },
9261            ));
9262            fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
9263                "version",
9264                |m: &Raw| { &m.version },
9265                |m: &mut Raw| { &mut m.version },
9266            ));
9267            fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
9268                "accountStateRoot",
9269                |m: &Raw| { &m.accountStateRoot },
9270                |m: &mut Raw| { &mut m.accountStateRoot },
9271            ));
9272            ::protobuf::reflect::GeneratedMessageDescriptorData::new_2::<Raw>(
9273                "BlockHeader.raw",
9274                fields,
9275                oneofs,
9276            )
9277        }
9278    }
9279
9280    impl ::protobuf::Message for Raw {
9281        const NAME: &'static str = "raw";
9282
9283        fn is_initialized(&self) -> bool {
9284            true
9285        }
9286
9287        fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::Result<()> {
9288            while let Some(tag) = is.read_raw_tag_or_eof()? {
9289                match tag {
9290                    8 => {
9291                        self.timestamp = is.read_int64()?;
9292                    },
9293                    18 => {
9294                        self.txTrieRoot = is.read_bytes()?;
9295                    },
9296                    26 => {
9297                        self.parentHash = is.read_bytes()?;
9298                    },
9299                    56 => {
9300                        self.number = is.read_int64()?;
9301                    },
9302                    64 => {
9303                        self.witness_id = is.read_int64()?;
9304                    },
9305                    74 => {
9306                        self.witness_address = is.read_bytes()?;
9307                    },
9308                    80 => {
9309                        self.version = is.read_int32()?;
9310                    },
9311                    90 => {
9312                        self.accountStateRoot = is.read_bytes()?;
9313                    },
9314                    tag => {
9315                        ::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?;
9316                    },
9317                };
9318            }
9319            ::std::result::Result::Ok(())
9320        }
9321
9322        // Compute sizes of nested messages
9323        #[allow(unused_variables)]
9324        fn compute_size(&self) -> u64 {
9325            let mut my_size = 0;
9326            if self.timestamp != 0 {
9327                my_size += ::protobuf::rt::int64_size(1, self.timestamp);
9328            }
9329            if !self.txTrieRoot.is_empty() {
9330                my_size += ::protobuf::rt::bytes_size(2, &self.txTrieRoot);
9331            }
9332            if !self.parentHash.is_empty() {
9333                my_size += ::protobuf::rt::bytes_size(3, &self.parentHash);
9334            }
9335            if self.number != 0 {
9336                my_size += ::protobuf::rt::int64_size(7, self.number);
9337            }
9338            if self.witness_id != 0 {
9339                my_size += ::protobuf::rt::int64_size(8, self.witness_id);
9340            }
9341            if !self.witness_address.is_empty() {
9342                my_size += ::protobuf::rt::bytes_size(9, &self.witness_address);
9343            }
9344            if self.version != 0 {
9345                my_size += ::protobuf::rt::int32_size(10, self.version);
9346            }
9347            if !self.accountStateRoot.is_empty() {
9348                my_size += ::protobuf::rt::bytes_size(11, &self.accountStateRoot);
9349            }
9350            my_size += ::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields());
9351            self.special_fields.cached_size().set(my_size as u32);
9352            my_size
9353        }
9354
9355        fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::Result<()> {
9356            if self.timestamp != 0 {
9357                os.write_int64(1, self.timestamp)?;
9358            }
9359            if !self.txTrieRoot.is_empty() {
9360                os.write_bytes(2, &self.txTrieRoot)?;
9361            }
9362            if !self.parentHash.is_empty() {
9363                os.write_bytes(3, &self.parentHash)?;
9364            }
9365            if self.number != 0 {
9366                os.write_int64(7, self.number)?;
9367            }
9368            if self.witness_id != 0 {
9369                os.write_int64(8, self.witness_id)?;
9370            }
9371            if !self.witness_address.is_empty() {
9372                os.write_bytes(9, &self.witness_address)?;
9373            }
9374            if self.version != 0 {
9375                os.write_int32(10, self.version)?;
9376            }
9377            if !self.accountStateRoot.is_empty() {
9378                os.write_bytes(11, &self.accountStateRoot)?;
9379            }
9380            os.write_unknown_fields(self.special_fields.unknown_fields())?;
9381            ::std::result::Result::Ok(())
9382        }
9383
9384        fn special_fields(&self) -> &::protobuf::SpecialFields {
9385            &self.special_fields
9386        }
9387
9388        fn mut_special_fields(&mut self) -> &mut ::protobuf::SpecialFields {
9389            &mut self.special_fields
9390        }
9391
9392        fn new() -> Raw {
9393            Raw::new()
9394        }
9395
9396        fn clear(&mut self) {
9397            self.timestamp = 0;
9398            self.txTrieRoot.clear();
9399            self.parentHash.clear();
9400            self.number = 0;
9401            self.witness_id = 0;
9402            self.witness_address.clear();
9403            self.version = 0;
9404            self.accountStateRoot.clear();
9405            self.special_fields.clear();
9406        }
9407
9408        fn default_instance() -> &'static Raw {
9409            static instance: Raw = Raw {
9410                timestamp: 0,
9411                txTrieRoot: ::std::vec::Vec::new(),
9412                parentHash: ::std::vec::Vec::new(),
9413                number: 0,
9414                witness_id: 0,
9415                witness_address: ::std::vec::Vec::new(),
9416                version: 0,
9417                accountStateRoot: ::std::vec::Vec::new(),
9418                special_fields: ::protobuf::SpecialFields::new(),
9419            };
9420            &instance
9421        }
9422    }
9423
9424    impl ::protobuf::MessageFull for Raw {
9425        fn descriptor() -> ::protobuf::reflect::MessageDescriptor {
9426            static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::Lazy::new();
9427            descriptor.get(|| super::file_descriptor().message_by_package_relative_name("BlockHeader.raw").unwrap()).clone()
9428        }
9429    }
9430
9431    impl ::std::fmt::Display for Raw {
9432        fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
9433            ::protobuf::text_format::fmt(self, f)
9434        }
9435    }
9436
9437    impl ::protobuf::reflect::ProtobufValue for Raw {
9438        type RuntimeType = ::protobuf::reflect::rt::RuntimeTypeMessage<Self>;
9439    }
9440}
9441
9442///  block
9443// @@protoc_insertion_point(message:protocol.Block)
9444#[derive(PartialEq,Clone,Default,Debug)]
9445pub struct Block {
9446    // message fields
9447    // @@protoc_insertion_point(field:protocol.Block.transactions)
9448    pub transactions: ::std::vec::Vec<Transaction>,
9449    // @@protoc_insertion_point(field:protocol.Block.block_header)
9450    pub block_header: ::protobuf::MessageField<BlockHeader>,
9451    // special fields
9452    // @@protoc_insertion_point(special_field:protocol.Block.special_fields)
9453    pub special_fields: ::protobuf::SpecialFields,
9454}
9455
9456impl<'a> ::std::default::Default for &'a Block {
9457    fn default() -> &'a Block {
9458        <Block as ::protobuf::Message>::default_instance()
9459    }
9460}
9461
9462impl Block {
9463    pub fn new() -> Block {
9464        ::std::default::Default::default()
9465    }
9466
9467    fn generated_message_descriptor_data() -> ::protobuf::reflect::GeneratedMessageDescriptorData {
9468        let mut fields = ::std::vec::Vec::with_capacity(2);
9469        let mut oneofs = ::std::vec::Vec::with_capacity(0);
9470        fields.push(::protobuf::reflect::rt::v2::make_vec_simpler_accessor::<_, _>(
9471            "transactions",
9472            |m: &Block| { &m.transactions },
9473            |m: &mut Block| { &mut m.transactions },
9474        ));
9475        fields.push(::protobuf::reflect::rt::v2::make_message_field_accessor::<_, BlockHeader>(
9476            "block_header",
9477            |m: &Block| { &m.block_header },
9478            |m: &mut Block| { &mut m.block_header },
9479        ));
9480        ::protobuf::reflect::GeneratedMessageDescriptorData::new_2::<Block>(
9481            "Block",
9482            fields,
9483            oneofs,
9484        )
9485    }
9486}
9487
9488impl ::protobuf::Message for Block {
9489    const NAME: &'static str = "Block";
9490
9491    fn is_initialized(&self) -> bool {
9492        true
9493    }
9494
9495    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::Result<()> {
9496        while let Some(tag) = is.read_raw_tag_or_eof()? {
9497            match tag {
9498                10 => {
9499                    self.transactions.push(is.read_message()?);
9500                },
9501                18 => {
9502                    ::protobuf::rt::read_singular_message_into_field(is, &mut self.block_header)?;
9503                },
9504                tag => {
9505                    ::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?;
9506                },
9507            };
9508        }
9509        ::std::result::Result::Ok(())
9510    }
9511
9512    // Compute sizes of nested messages
9513    #[allow(unused_variables)]
9514    fn compute_size(&self) -> u64 {
9515        let mut my_size = 0;
9516        for value in &self.transactions {
9517            let len = value.compute_size();
9518            my_size += 1 + ::protobuf::rt::compute_raw_varint64_size(len) + len;
9519        };
9520        if let Some(v) = self.block_header.as_ref() {
9521            let len = v.compute_size();
9522            my_size += 1 + ::protobuf::rt::compute_raw_varint64_size(len) + len;
9523        }
9524        my_size += ::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields());
9525        self.special_fields.cached_size().set(my_size as u32);
9526        my_size
9527    }
9528
9529    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::Result<()> {
9530        for v in &self.transactions {
9531            ::protobuf::rt::write_message_field_with_cached_size(1, v, os)?;
9532        };
9533        if let Some(v) = self.block_header.as_ref() {
9534            ::protobuf::rt::write_message_field_with_cached_size(2, v, os)?;
9535        }
9536        os.write_unknown_fields(self.special_fields.unknown_fields())?;
9537        ::std::result::Result::Ok(())
9538    }
9539
9540    fn special_fields(&self) -> &::protobuf::SpecialFields {
9541        &self.special_fields
9542    }
9543
9544    fn mut_special_fields(&mut self) -> &mut ::protobuf::SpecialFields {
9545        &mut self.special_fields
9546    }
9547
9548    fn new() -> Block {
9549        Block::new()
9550    }
9551
9552    fn clear(&mut self) {
9553        self.transactions.clear();
9554        self.block_header.clear();
9555        self.special_fields.clear();
9556    }
9557
9558    fn default_instance() -> &'static Block {
9559        static instance: Block = Block {
9560            transactions: ::std::vec::Vec::new(),
9561            block_header: ::protobuf::MessageField::none(),
9562            special_fields: ::protobuf::SpecialFields::new(),
9563        };
9564        &instance
9565    }
9566}
9567
9568impl ::protobuf::MessageFull for Block {
9569    fn descriptor() -> ::protobuf::reflect::MessageDescriptor {
9570        static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::Lazy::new();
9571        descriptor.get(|| file_descriptor().message_by_package_relative_name("Block").unwrap()).clone()
9572    }
9573}
9574
9575impl ::std::fmt::Display for Block {
9576    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
9577        ::protobuf::text_format::fmt(self, f)
9578    }
9579}
9580
9581impl ::protobuf::reflect::ProtobufValue for Block {
9582    type RuntimeType = ::protobuf::reflect::rt::RuntimeTypeMessage<Self>;
9583}
9584
9585// @@protoc_insertion_point(message:protocol.ChainInventory)
9586#[derive(PartialEq,Clone,Default,Debug)]
9587pub struct ChainInventory {
9588    // message fields
9589    // @@protoc_insertion_point(field:protocol.ChainInventory.ids)
9590    pub ids: ::std::vec::Vec<chain_inventory::BlockId>,
9591    // @@protoc_insertion_point(field:protocol.ChainInventory.remain_num)
9592    pub remain_num: i64,
9593    // special fields
9594    // @@protoc_insertion_point(special_field:protocol.ChainInventory.special_fields)
9595    pub special_fields: ::protobuf::SpecialFields,
9596}
9597
9598impl<'a> ::std::default::Default for &'a ChainInventory {
9599    fn default() -> &'a ChainInventory {
9600        <ChainInventory as ::protobuf::Message>::default_instance()
9601    }
9602}
9603
9604impl ChainInventory {
9605    pub fn new() -> ChainInventory {
9606        ::std::default::Default::default()
9607    }
9608
9609    fn generated_message_descriptor_data() -> ::protobuf::reflect::GeneratedMessageDescriptorData {
9610        let mut fields = ::std::vec::Vec::with_capacity(2);
9611        let mut oneofs = ::std::vec::Vec::with_capacity(0);
9612        fields.push(::protobuf::reflect::rt::v2::make_vec_simpler_accessor::<_, _>(
9613            "ids",
9614            |m: &ChainInventory| { &m.ids },
9615            |m: &mut ChainInventory| { &mut m.ids },
9616        ));
9617        fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
9618            "remain_num",
9619            |m: &ChainInventory| { &m.remain_num },
9620            |m: &mut ChainInventory| { &mut m.remain_num },
9621        ));
9622        ::protobuf::reflect::GeneratedMessageDescriptorData::new_2::<ChainInventory>(
9623            "ChainInventory",
9624            fields,
9625            oneofs,
9626        )
9627    }
9628}
9629
9630impl ::protobuf::Message for ChainInventory {
9631    const NAME: &'static str = "ChainInventory";
9632
9633    fn is_initialized(&self) -> bool {
9634        true
9635    }
9636
9637    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::Result<()> {
9638        while let Some(tag) = is.read_raw_tag_or_eof()? {
9639            match tag {
9640                10 => {
9641                    self.ids.push(is.read_message()?);
9642                },
9643                16 => {
9644                    self.remain_num = is.read_int64()?;
9645                },
9646                tag => {
9647                    ::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?;
9648                },
9649            };
9650        }
9651        ::std::result::Result::Ok(())
9652    }
9653
9654    // Compute sizes of nested messages
9655    #[allow(unused_variables)]
9656    fn compute_size(&self) -> u64 {
9657        let mut my_size = 0;
9658        for value in &self.ids {
9659            let len = value.compute_size();
9660            my_size += 1 + ::protobuf::rt::compute_raw_varint64_size(len) + len;
9661        };
9662        if self.remain_num != 0 {
9663            my_size += ::protobuf::rt::int64_size(2, self.remain_num);
9664        }
9665        my_size += ::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields());
9666        self.special_fields.cached_size().set(my_size as u32);
9667        my_size
9668    }
9669
9670    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::Result<()> {
9671        for v in &self.ids {
9672            ::protobuf::rt::write_message_field_with_cached_size(1, v, os)?;
9673        };
9674        if self.remain_num != 0 {
9675            os.write_int64(2, self.remain_num)?;
9676        }
9677        os.write_unknown_fields(self.special_fields.unknown_fields())?;
9678        ::std::result::Result::Ok(())
9679    }
9680
9681    fn special_fields(&self) -> &::protobuf::SpecialFields {
9682        &self.special_fields
9683    }
9684
9685    fn mut_special_fields(&mut self) -> &mut ::protobuf::SpecialFields {
9686        &mut self.special_fields
9687    }
9688
9689    fn new() -> ChainInventory {
9690        ChainInventory::new()
9691    }
9692
9693    fn clear(&mut self) {
9694        self.ids.clear();
9695        self.remain_num = 0;
9696        self.special_fields.clear();
9697    }
9698
9699    fn default_instance() -> &'static ChainInventory {
9700        static instance: ChainInventory = ChainInventory {
9701            ids: ::std::vec::Vec::new(),
9702            remain_num: 0,
9703            special_fields: ::protobuf::SpecialFields::new(),
9704        };
9705        &instance
9706    }
9707}
9708
9709impl ::protobuf::MessageFull for ChainInventory {
9710    fn descriptor() -> ::protobuf::reflect::MessageDescriptor {
9711        static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::Lazy::new();
9712        descriptor.get(|| file_descriptor().message_by_package_relative_name("ChainInventory").unwrap()).clone()
9713    }
9714}
9715
9716impl ::std::fmt::Display for ChainInventory {
9717    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
9718        ::protobuf::text_format::fmt(self, f)
9719    }
9720}
9721
9722impl ::protobuf::reflect::ProtobufValue for ChainInventory {
9723    type RuntimeType = ::protobuf::reflect::rt::RuntimeTypeMessage<Self>;
9724}
9725
9726/// Nested message and enums of message `ChainInventory`
9727pub mod chain_inventory {
9728    // @@protoc_insertion_point(message:protocol.ChainInventory.BlockId)
9729    #[derive(PartialEq,Clone,Default,Debug)]
9730    pub struct BlockId {
9731        // message fields
9732        // @@protoc_insertion_point(field:protocol.ChainInventory.BlockId.hash)
9733        pub hash: ::std::vec::Vec<u8>,
9734        // @@protoc_insertion_point(field:protocol.ChainInventory.BlockId.number)
9735        pub number: i64,
9736        // special fields
9737        // @@protoc_insertion_point(special_field:protocol.ChainInventory.BlockId.special_fields)
9738        pub special_fields: ::protobuf::SpecialFields,
9739    }
9740
9741    impl<'a> ::std::default::Default for &'a BlockId {
9742        fn default() -> &'a BlockId {
9743            <BlockId as ::protobuf::Message>::default_instance()
9744        }
9745    }
9746
9747    impl BlockId {
9748        pub fn new() -> BlockId {
9749            ::std::default::Default::default()
9750        }
9751
9752        pub(in super) fn generated_message_descriptor_data() -> ::protobuf::reflect::GeneratedMessageDescriptorData {
9753            let mut fields = ::std::vec::Vec::with_capacity(2);
9754            let mut oneofs = ::std::vec::Vec::with_capacity(0);
9755            fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
9756                "hash",
9757                |m: &BlockId| { &m.hash },
9758                |m: &mut BlockId| { &mut m.hash },
9759            ));
9760            fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
9761                "number",
9762                |m: &BlockId| { &m.number },
9763                |m: &mut BlockId| { &mut m.number },
9764            ));
9765            ::protobuf::reflect::GeneratedMessageDescriptorData::new_2::<BlockId>(
9766                "ChainInventory.BlockId",
9767                fields,
9768                oneofs,
9769            )
9770        }
9771    }
9772
9773    impl ::protobuf::Message for BlockId {
9774        const NAME: &'static str = "BlockId";
9775
9776        fn is_initialized(&self) -> bool {
9777            true
9778        }
9779
9780        fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::Result<()> {
9781            while let Some(tag) = is.read_raw_tag_or_eof()? {
9782                match tag {
9783                    10 => {
9784                        self.hash = is.read_bytes()?;
9785                    },
9786                    16 => {
9787                        self.number = is.read_int64()?;
9788                    },
9789                    tag => {
9790                        ::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?;
9791                    },
9792                };
9793            }
9794            ::std::result::Result::Ok(())
9795        }
9796
9797        // Compute sizes of nested messages
9798        #[allow(unused_variables)]
9799        fn compute_size(&self) -> u64 {
9800            let mut my_size = 0;
9801            if !self.hash.is_empty() {
9802                my_size += ::protobuf::rt::bytes_size(1, &self.hash);
9803            }
9804            if self.number != 0 {
9805                my_size += ::protobuf::rt::int64_size(2, self.number);
9806            }
9807            my_size += ::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields());
9808            self.special_fields.cached_size().set(my_size as u32);
9809            my_size
9810        }
9811
9812        fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::Result<()> {
9813            if !self.hash.is_empty() {
9814                os.write_bytes(1, &self.hash)?;
9815            }
9816            if self.number != 0 {
9817                os.write_int64(2, self.number)?;
9818            }
9819            os.write_unknown_fields(self.special_fields.unknown_fields())?;
9820            ::std::result::Result::Ok(())
9821        }
9822
9823        fn special_fields(&self) -> &::protobuf::SpecialFields {
9824            &self.special_fields
9825        }
9826
9827        fn mut_special_fields(&mut self) -> &mut ::protobuf::SpecialFields {
9828            &mut self.special_fields
9829        }
9830
9831        fn new() -> BlockId {
9832            BlockId::new()
9833        }
9834
9835        fn clear(&mut self) {
9836            self.hash.clear();
9837            self.number = 0;
9838            self.special_fields.clear();
9839        }
9840
9841        fn default_instance() -> &'static BlockId {
9842            static instance: BlockId = BlockId {
9843                hash: ::std::vec::Vec::new(),
9844                number: 0,
9845                special_fields: ::protobuf::SpecialFields::new(),
9846            };
9847            &instance
9848        }
9849    }
9850
9851    impl ::protobuf::MessageFull for BlockId {
9852        fn descriptor() -> ::protobuf::reflect::MessageDescriptor {
9853            static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::Lazy::new();
9854            descriptor.get(|| super::file_descriptor().message_by_package_relative_name("ChainInventory.BlockId").unwrap()).clone()
9855        }
9856    }
9857
9858    impl ::std::fmt::Display for BlockId {
9859        fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
9860            ::protobuf::text_format::fmt(self, f)
9861        }
9862    }
9863
9864    impl ::protobuf::reflect::ProtobufValue for BlockId {
9865        type RuntimeType = ::protobuf::reflect::rt::RuntimeTypeMessage<Self>;
9866    }
9867}
9868
9869///  Inventory
9870// @@protoc_insertion_point(message:protocol.BlockInventory)
9871#[derive(PartialEq,Clone,Default,Debug)]
9872pub struct BlockInventory {
9873    // message fields
9874    // @@protoc_insertion_point(field:protocol.BlockInventory.ids)
9875    pub ids: ::std::vec::Vec<block_inventory::BlockId>,
9876    // @@protoc_insertion_point(field:protocol.BlockInventory.type)
9877    pub type_: ::protobuf::EnumOrUnknown<block_inventory::Type>,
9878    // special fields
9879    // @@protoc_insertion_point(special_field:protocol.BlockInventory.special_fields)
9880    pub special_fields: ::protobuf::SpecialFields,
9881}
9882
9883impl<'a> ::std::default::Default for &'a BlockInventory {
9884    fn default() -> &'a BlockInventory {
9885        <BlockInventory as ::protobuf::Message>::default_instance()
9886    }
9887}
9888
9889impl BlockInventory {
9890    pub fn new() -> BlockInventory {
9891        ::std::default::Default::default()
9892    }
9893
9894    fn generated_message_descriptor_data() -> ::protobuf::reflect::GeneratedMessageDescriptorData {
9895        let mut fields = ::std::vec::Vec::with_capacity(2);
9896        let mut oneofs = ::std::vec::Vec::with_capacity(0);
9897        fields.push(::protobuf::reflect::rt::v2::make_vec_simpler_accessor::<_, _>(
9898            "ids",
9899            |m: &BlockInventory| { &m.ids },
9900            |m: &mut BlockInventory| { &mut m.ids },
9901        ));
9902        fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
9903            "type",
9904            |m: &BlockInventory| { &m.type_ },
9905            |m: &mut BlockInventory| { &mut m.type_ },
9906        ));
9907        ::protobuf::reflect::GeneratedMessageDescriptorData::new_2::<BlockInventory>(
9908            "BlockInventory",
9909            fields,
9910            oneofs,
9911        )
9912    }
9913}
9914
9915impl ::protobuf::Message for BlockInventory {
9916    const NAME: &'static str = "BlockInventory";
9917
9918    fn is_initialized(&self) -> bool {
9919        true
9920    }
9921
9922    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::Result<()> {
9923        while let Some(tag) = is.read_raw_tag_or_eof()? {
9924            match tag {
9925                10 => {
9926                    self.ids.push(is.read_message()?);
9927                },
9928                16 => {
9929                    self.type_ = is.read_enum_or_unknown()?;
9930                },
9931                tag => {
9932                    ::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?;
9933                },
9934            };
9935        }
9936        ::std::result::Result::Ok(())
9937    }
9938
9939    // Compute sizes of nested messages
9940    #[allow(unused_variables)]
9941    fn compute_size(&self) -> u64 {
9942        let mut my_size = 0;
9943        for value in &self.ids {
9944            let len = value.compute_size();
9945            my_size += 1 + ::protobuf::rt::compute_raw_varint64_size(len) + len;
9946        };
9947        if self.type_ != ::protobuf::EnumOrUnknown::new(block_inventory::Type::SYNC) {
9948            my_size += ::protobuf::rt::int32_size(2, self.type_.value());
9949        }
9950        my_size += ::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields());
9951        self.special_fields.cached_size().set(my_size as u32);
9952        my_size
9953    }
9954
9955    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::Result<()> {
9956        for v in &self.ids {
9957            ::protobuf::rt::write_message_field_with_cached_size(1, v, os)?;
9958        };
9959        if self.type_ != ::protobuf::EnumOrUnknown::new(block_inventory::Type::SYNC) {
9960            os.write_enum(2, ::protobuf::EnumOrUnknown::value(&self.type_))?;
9961        }
9962        os.write_unknown_fields(self.special_fields.unknown_fields())?;
9963        ::std::result::Result::Ok(())
9964    }
9965
9966    fn special_fields(&self) -> &::protobuf::SpecialFields {
9967        &self.special_fields
9968    }
9969
9970    fn mut_special_fields(&mut self) -> &mut ::protobuf::SpecialFields {
9971        &mut self.special_fields
9972    }
9973
9974    fn new() -> BlockInventory {
9975        BlockInventory::new()
9976    }
9977
9978    fn clear(&mut self) {
9979        self.ids.clear();
9980        self.type_ = ::protobuf::EnumOrUnknown::new(block_inventory::Type::SYNC);
9981        self.special_fields.clear();
9982    }
9983
9984    fn default_instance() -> &'static BlockInventory {
9985        static instance: BlockInventory = BlockInventory {
9986            ids: ::std::vec::Vec::new(),
9987            type_: ::protobuf::EnumOrUnknown::from_i32(0),
9988            special_fields: ::protobuf::SpecialFields::new(),
9989        };
9990        &instance
9991    }
9992}
9993
9994impl ::protobuf::MessageFull for BlockInventory {
9995    fn descriptor() -> ::protobuf::reflect::MessageDescriptor {
9996        static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::Lazy::new();
9997        descriptor.get(|| file_descriptor().message_by_package_relative_name("BlockInventory").unwrap()).clone()
9998    }
9999}
10000
10001impl ::std::fmt::Display for BlockInventory {
10002    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
10003        ::protobuf::text_format::fmt(self, f)
10004    }
10005}
10006
10007impl ::protobuf::reflect::ProtobufValue for BlockInventory {
10008    type RuntimeType = ::protobuf::reflect::rt::RuntimeTypeMessage<Self>;
10009}
10010
10011/// Nested message and enums of message `BlockInventory`
10012pub mod block_inventory {
10013    // @@protoc_insertion_point(message:protocol.BlockInventory.BlockId)
10014    #[derive(PartialEq,Clone,Default,Debug)]
10015    pub struct BlockId {
10016        // message fields
10017        // @@protoc_insertion_point(field:protocol.BlockInventory.BlockId.hash)
10018        pub hash: ::std::vec::Vec<u8>,
10019        // @@protoc_insertion_point(field:protocol.BlockInventory.BlockId.number)
10020        pub number: i64,
10021        // special fields
10022        // @@protoc_insertion_point(special_field:protocol.BlockInventory.BlockId.special_fields)
10023        pub special_fields: ::protobuf::SpecialFields,
10024    }
10025
10026    impl<'a> ::std::default::Default for &'a BlockId {
10027        fn default() -> &'a BlockId {
10028            <BlockId as ::protobuf::Message>::default_instance()
10029        }
10030    }
10031
10032    impl BlockId {
10033        pub fn new() -> BlockId {
10034            ::std::default::Default::default()
10035        }
10036
10037        pub(in super) fn generated_message_descriptor_data() -> ::protobuf::reflect::GeneratedMessageDescriptorData {
10038            let mut fields = ::std::vec::Vec::with_capacity(2);
10039            let mut oneofs = ::std::vec::Vec::with_capacity(0);
10040            fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
10041                "hash",
10042                |m: &BlockId| { &m.hash },
10043                |m: &mut BlockId| { &mut m.hash },
10044            ));
10045            fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
10046                "number",
10047                |m: &BlockId| { &m.number },
10048                |m: &mut BlockId| { &mut m.number },
10049            ));
10050            ::protobuf::reflect::GeneratedMessageDescriptorData::new_2::<BlockId>(
10051                "BlockInventory.BlockId",
10052                fields,
10053                oneofs,
10054            )
10055        }
10056    }
10057
10058    impl ::protobuf::Message for BlockId {
10059        const NAME: &'static str = "BlockId";
10060
10061        fn is_initialized(&self) -> bool {
10062            true
10063        }
10064
10065        fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::Result<()> {
10066            while let Some(tag) = is.read_raw_tag_or_eof()? {
10067                match tag {
10068                    10 => {
10069                        self.hash = is.read_bytes()?;
10070                    },
10071                    16 => {
10072                        self.number = is.read_int64()?;
10073                    },
10074                    tag => {
10075                        ::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?;
10076                    },
10077                };
10078            }
10079            ::std::result::Result::Ok(())
10080        }
10081
10082        // Compute sizes of nested messages
10083        #[allow(unused_variables)]
10084        fn compute_size(&self) -> u64 {
10085            let mut my_size = 0;
10086            if !self.hash.is_empty() {
10087                my_size += ::protobuf::rt::bytes_size(1, &self.hash);
10088            }
10089            if self.number != 0 {
10090                my_size += ::protobuf::rt::int64_size(2, self.number);
10091            }
10092            my_size += ::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields());
10093            self.special_fields.cached_size().set(my_size as u32);
10094            my_size
10095        }
10096
10097        fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::Result<()> {
10098            if !self.hash.is_empty() {
10099                os.write_bytes(1, &self.hash)?;
10100            }
10101            if self.number != 0 {
10102                os.write_int64(2, self.number)?;
10103            }
10104            os.write_unknown_fields(self.special_fields.unknown_fields())?;
10105            ::std::result::Result::Ok(())
10106        }
10107
10108        fn special_fields(&self) -> &::protobuf::SpecialFields {
10109            &self.special_fields
10110        }
10111
10112        fn mut_special_fields(&mut self) -> &mut ::protobuf::SpecialFields {
10113            &mut self.special_fields
10114        }
10115
10116        fn new() -> BlockId {
10117            BlockId::new()
10118        }
10119
10120        fn clear(&mut self) {
10121            self.hash.clear();
10122            self.number = 0;
10123            self.special_fields.clear();
10124        }
10125
10126        fn default_instance() -> &'static BlockId {
10127            static instance: BlockId = BlockId {
10128                hash: ::std::vec::Vec::new(),
10129                number: 0,
10130                special_fields: ::protobuf::SpecialFields::new(),
10131            };
10132            &instance
10133        }
10134    }
10135
10136    impl ::protobuf::MessageFull for BlockId {
10137        fn descriptor() -> ::protobuf::reflect::MessageDescriptor {
10138            static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::Lazy::new();
10139            descriptor.get(|| super::file_descriptor().message_by_package_relative_name("BlockInventory.BlockId").unwrap()).clone()
10140        }
10141    }
10142
10143    impl ::std::fmt::Display for BlockId {
10144        fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
10145            ::protobuf::text_format::fmt(self, f)
10146        }
10147    }
10148
10149    impl ::protobuf::reflect::ProtobufValue for BlockId {
10150        type RuntimeType = ::protobuf::reflect::rt::RuntimeTypeMessage<Self>;
10151    }
10152
10153    #[derive(Clone,Copy,PartialEq,Eq,Debug,Hash)]
10154    // @@protoc_insertion_point(enum:protocol.BlockInventory.Type)
10155    pub enum Type {
10156        // @@protoc_insertion_point(enum_value:protocol.BlockInventory.Type.SYNC)
10157        SYNC = 0,
10158        // @@protoc_insertion_point(enum_value:protocol.BlockInventory.Type.ADVTISE)
10159        ADVTISE = 1,
10160        // @@protoc_insertion_point(enum_value:protocol.BlockInventory.Type.FETCH)
10161        FETCH = 2,
10162    }
10163
10164    impl ::protobuf::Enum for Type {
10165        const NAME: &'static str = "Type";
10166
10167        fn value(&self) -> i32 {
10168            *self as i32
10169        }
10170
10171        fn from_i32(value: i32) -> ::std::option::Option<Type> {
10172            match value {
10173                0 => ::std::option::Option::Some(Type::SYNC),
10174                1 => ::std::option::Option::Some(Type::ADVTISE),
10175                2 => ::std::option::Option::Some(Type::FETCH),
10176                _ => ::std::option::Option::None
10177            }
10178        }
10179
10180        fn from_str(str: &str) -> ::std::option::Option<Type> {
10181            match str {
10182                "SYNC" => ::std::option::Option::Some(Type::SYNC),
10183                "ADVTISE" => ::std::option::Option::Some(Type::ADVTISE),
10184                "FETCH" => ::std::option::Option::Some(Type::FETCH),
10185                _ => ::std::option::Option::None
10186            }
10187        }
10188
10189        const VALUES: &'static [Type] = &[
10190            Type::SYNC,
10191            Type::ADVTISE,
10192            Type::FETCH,
10193        ];
10194    }
10195
10196    impl ::protobuf::EnumFull for Type {
10197        fn enum_descriptor() -> ::protobuf::reflect::EnumDescriptor {
10198            static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::EnumDescriptor> = ::protobuf::rt::Lazy::new();
10199            descriptor.get(|| super::file_descriptor().enum_by_package_relative_name("BlockInventory.Type").unwrap()).clone()
10200        }
10201
10202        fn descriptor(&self) -> ::protobuf::reflect::EnumValueDescriptor {
10203            let index = *self as usize;
10204            Self::enum_descriptor().value_by_index(index)
10205        }
10206    }
10207
10208    impl ::std::default::Default for Type {
10209        fn default() -> Self {
10210            Type::SYNC
10211        }
10212    }
10213
10214    impl Type {
10215        pub(in super) fn generated_enum_descriptor_data() -> ::protobuf::reflect::GeneratedEnumDescriptorData {
10216            ::protobuf::reflect::GeneratedEnumDescriptorData::new::<Type>("BlockInventory.Type")
10217        }
10218    }
10219}
10220
10221// @@protoc_insertion_point(message:protocol.Inventory)
10222#[derive(PartialEq,Clone,Default,Debug)]
10223pub struct Inventory {
10224    // message fields
10225    // @@protoc_insertion_point(field:protocol.Inventory.type)
10226    pub type_: ::protobuf::EnumOrUnknown<inventory::InventoryType>,
10227    // @@protoc_insertion_point(field:protocol.Inventory.ids)
10228    pub ids: ::std::vec::Vec<::std::vec::Vec<u8>>,
10229    // special fields
10230    // @@protoc_insertion_point(special_field:protocol.Inventory.special_fields)
10231    pub special_fields: ::protobuf::SpecialFields,
10232}
10233
10234impl<'a> ::std::default::Default for &'a Inventory {
10235    fn default() -> &'a Inventory {
10236        <Inventory as ::protobuf::Message>::default_instance()
10237    }
10238}
10239
10240impl Inventory {
10241    pub fn new() -> Inventory {
10242        ::std::default::Default::default()
10243    }
10244
10245    fn generated_message_descriptor_data() -> ::protobuf::reflect::GeneratedMessageDescriptorData {
10246        let mut fields = ::std::vec::Vec::with_capacity(2);
10247        let mut oneofs = ::std::vec::Vec::with_capacity(0);
10248        fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
10249            "type",
10250            |m: &Inventory| { &m.type_ },
10251            |m: &mut Inventory| { &mut m.type_ },
10252        ));
10253        fields.push(::protobuf::reflect::rt::v2::make_vec_simpler_accessor::<_, _>(
10254            "ids",
10255            |m: &Inventory| { &m.ids },
10256            |m: &mut Inventory| { &mut m.ids },
10257        ));
10258        ::protobuf::reflect::GeneratedMessageDescriptorData::new_2::<Inventory>(
10259            "Inventory",
10260            fields,
10261            oneofs,
10262        )
10263    }
10264}
10265
10266impl ::protobuf::Message for Inventory {
10267    const NAME: &'static str = "Inventory";
10268
10269    fn is_initialized(&self) -> bool {
10270        true
10271    }
10272
10273    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::Result<()> {
10274        while let Some(tag) = is.read_raw_tag_or_eof()? {
10275            match tag {
10276                8 => {
10277                    self.type_ = is.read_enum_or_unknown()?;
10278                },
10279                18 => {
10280                    self.ids.push(is.read_bytes()?);
10281                },
10282                tag => {
10283                    ::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?;
10284                },
10285            };
10286        }
10287        ::std::result::Result::Ok(())
10288    }
10289
10290    // Compute sizes of nested messages
10291    #[allow(unused_variables)]
10292    fn compute_size(&self) -> u64 {
10293        let mut my_size = 0;
10294        if self.type_ != ::protobuf::EnumOrUnknown::new(inventory::InventoryType::TRX) {
10295            my_size += ::protobuf::rt::int32_size(1, self.type_.value());
10296        }
10297        for value in &self.ids {
10298            my_size += ::protobuf::rt::bytes_size(2, &value);
10299        };
10300        my_size += ::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields());
10301        self.special_fields.cached_size().set(my_size as u32);
10302        my_size
10303    }
10304
10305    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::Result<()> {
10306        if self.type_ != ::protobuf::EnumOrUnknown::new(inventory::InventoryType::TRX) {
10307            os.write_enum(1, ::protobuf::EnumOrUnknown::value(&self.type_))?;
10308        }
10309        for v in &self.ids {
10310            os.write_bytes(2, &v)?;
10311        };
10312        os.write_unknown_fields(self.special_fields.unknown_fields())?;
10313        ::std::result::Result::Ok(())
10314    }
10315
10316    fn special_fields(&self) -> &::protobuf::SpecialFields {
10317        &self.special_fields
10318    }
10319
10320    fn mut_special_fields(&mut self) -> &mut ::protobuf::SpecialFields {
10321        &mut self.special_fields
10322    }
10323
10324    fn new() -> Inventory {
10325        Inventory::new()
10326    }
10327
10328    fn clear(&mut self) {
10329        self.type_ = ::protobuf::EnumOrUnknown::new(inventory::InventoryType::TRX);
10330        self.ids.clear();
10331        self.special_fields.clear();
10332    }
10333
10334    fn default_instance() -> &'static Inventory {
10335        static instance: Inventory = Inventory {
10336            type_: ::protobuf::EnumOrUnknown::from_i32(0),
10337            ids: ::std::vec::Vec::new(),
10338            special_fields: ::protobuf::SpecialFields::new(),
10339        };
10340        &instance
10341    }
10342}
10343
10344impl ::protobuf::MessageFull for Inventory {
10345    fn descriptor() -> ::protobuf::reflect::MessageDescriptor {
10346        static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::Lazy::new();
10347        descriptor.get(|| file_descriptor().message_by_package_relative_name("Inventory").unwrap()).clone()
10348    }
10349}
10350
10351impl ::std::fmt::Display for Inventory {
10352    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
10353        ::protobuf::text_format::fmt(self, f)
10354    }
10355}
10356
10357impl ::protobuf::reflect::ProtobufValue for Inventory {
10358    type RuntimeType = ::protobuf::reflect::rt::RuntimeTypeMessage<Self>;
10359}
10360
10361/// Nested message and enums of message `Inventory`
10362pub mod inventory {
10363    #[derive(Clone,Copy,PartialEq,Eq,Debug,Hash)]
10364    // @@protoc_insertion_point(enum:protocol.Inventory.InventoryType)
10365    pub enum InventoryType {
10366        // @@protoc_insertion_point(enum_value:protocol.Inventory.InventoryType.TRX)
10367        TRX = 0,
10368        // @@protoc_insertion_point(enum_value:protocol.Inventory.InventoryType.BLOCK)
10369        BLOCK = 1,
10370    }
10371
10372    impl ::protobuf::Enum for InventoryType {
10373        const NAME: &'static str = "InventoryType";
10374
10375        fn value(&self) -> i32 {
10376            *self as i32
10377        }
10378
10379        fn from_i32(value: i32) -> ::std::option::Option<InventoryType> {
10380            match value {
10381                0 => ::std::option::Option::Some(InventoryType::TRX),
10382                1 => ::std::option::Option::Some(InventoryType::BLOCK),
10383                _ => ::std::option::Option::None
10384            }
10385        }
10386
10387        fn from_str(str: &str) -> ::std::option::Option<InventoryType> {
10388            match str {
10389                "TRX" => ::std::option::Option::Some(InventoryType::TRX),
10390                "BLOCK" => ::std::option::Option::Some(InventoryType::BLOCK),
10391                _ => ::std::option::Option::None
10392            }
10393        }
10394
10395        const VALUES: &'static [InventoryType] = &[
10396            InventoryType::TRX,
10397            InventoryType::BLOCK,
10398        ];
10399    }
10400
10401    impl ::protobuf::EnumFull for InventoryType {
10402        fn enum_descriptor() -> ::protobuf::reflect::EnumDescriptor {
10403            static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::EnumDescriptor> = ::protobuf::rt::Lazy::new();
10404            descriptor.get(|| super::file_descriptor().enum_by_package_relative_name("Inventory.InventoryType").unwrap()).clone()
10405        }
10406
10407        fn descriptor(&self) -> ::protobuf::reflect::EnumValueDescriptor {
10408            let index = *self as usize;
10409            Self::enum_descriptor().value_by_index(index)
10410        }
10411    }
10412
10413    impl ::std::default::Default for InventoryType {
10414        fn default() -> Self {
10415            InventoryType::TRX
10416        }
10417    }
10418
10419    impl InventoryType {
10420        pub(in super) fn generated_enum_descriptor_data() -> ::protobuf::reflect::GeneratedEnumDescriptorData {
10421            ::protobuf::reflect::GeneratedEnumDescriptorData::new::<InventoryType>("Inventory.InventoryType")
10422        }
10423    }
10424}
10425
10426// @@protoc_insertion_point(message:protocol.Items)
10427#[derive(PartialEq,Clone,Default,Debug)]
10428pub struct Items {
10429    // message fields
10430    // @@protoc_insertion_point(field:protocol.Items.type)
10431    pub type_: ::protobuf::EnumOrUnknown<items::ItemType>,
10432    // @@protoc_insertion_point(field:protocol.Items.blocks)
10433    pub blocks: ::std::vec::Vec<Block>,
10434    // @@protoc_insertion_point(field:protocol.Items.block_headers)
10435    pub block_headers: ::std::vec::Vec<BlockHeader>,
10436    // @@protoc_insertion_point(field:protocol.Items.transactions)
10437    pub transactions: ::std::vec::Vec<Transaction>,
10438    // special fields
10439    // @@protoc_insertion_point(special_field:protocol.Items.special_fields)
10440    pub special_fields: ::protobuf::SpecialFields,
10441}
10442
10443impl<'a> ::std::default::Default for &'a Items {
10444    fn default() -> &'a Items {
10445        <Items as ::protobuf::Message>::default_instance()
10446    }
10447}
10448
10449impl Items {
10450    pub fn new() -> Items {
10451        ::std::default::Default::default()
10452    }
10453
10454    fn generated_message_descriptor_data() -> ::protobuf::reflect::GeneratedMessageDescriptorData {
10455        let mut fields = ::std::vec::Vec::with_capacity(4);
10456        let mut oneofs = ::std::vec::Vec::with_capacity(0);
10457        fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
10458            "type",
10459            |m: &Items| { &m.type_ },
10460            |m: &mut Items| { &mut m.type_ },
10461        ));
10462        fields.push(::protobuf::reflect::rt::v2::make_vec_simpler_accessor::<_, _>(
10463            "blocks",
10464            |m: &Items| { &m.blocks },
10465            |m: &mut Items| { &mut m.blocks },
10466        ));
10467        fields.push(::protobuf::reflect::rt::v2::make_vec_simpler_accessor::<_, _>(
10468            "block_headers",
10469            |m: &Items| { &m.block_headers },
10470            |m: &mut Items| { &mut m.block_headers },
10471        ));
10472        fields.push(::protobuf::reflect::rt::v2::make_vec_simpler_accessor::<_, _>(
10473            "transactions",
10474            |m: &Items| { &m.transactions },
10475            |m: &mut Items| { &mut m.transactions },
10476        ));
10477        ::protobuf::reflect::GeneratedMessageDescriptorData::new_2::<Items>(
10478            "Items",
10479            fields,
10480            oneofs,
10481        )
10482    }
10483}
10484
10485impl ::protobuf::Message for Items {
10486    const NAME: &'static str = "Items";
10487
10488    fn is_initialized(&self) -> bool {
10489        true
10490    }
10491
10492    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::Result<()> {
10493        while let Some(tag) = is.read_raw_tag_or_eof()? {
10494            match tag {
10495                8 => {
10496                    self.type_ = is.read_enum_or_unknown()?;
10497                },
10498                18 => {
10499                    self.blocks.push(is.read_message()?);
10500                },
10501                26 => {
10502                    self.block_headers.push(is.read_message()?);
10503                },
10504                34 => {
10505                    self.transactions.push(is.read_message()?);
10506                },
10507                tag => {
10508                    ::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?;
10509                },
10510            };
10511        }
10512        ::std::result::Result::Ok(())
10513    }
10514
10515    // Compute sizes of nested messages
10516    #[allow(unused_variables)]
10517    fn compute_size(&self) -> u64 {
10518        let mut my_size = 0;
10519        if self.type_ != ::protobuf::EnumOrUnknown::new(items::ItemType::ERR) {
10520            my_size += ::protobuf::rt::int32_size(1, self.type_.value());
10521        }
10522        for value in &self.blocks {
10523            let len = value.compute_size();
10524            my_size += 1 + ::protobuf::rt::compute_raw_varint64_size(len) + len;
10525        };
10526        for value in &self.block_headers {
10527            let len = value.compute_size();
10528            my_size += 1 + ::protobuf::rt::compute_raw_varint64_size(len) + len;
10529        };
10530        for value in &self.transactions {
10531            let len = value.compute_size();
10532            my_size += 1 + ::protobuf::rt::compute_raw_varint64_size(len) + len;
10533        };
10534        my_size += ::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields());
10535        self.special_fields.cached_size().set(my_size as u32);
10536        my_size
10537    }
10538
10539    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::Result<()> {
10540        if self.type_ != ::protobuf::EnumOrUnknown::new(items::ItemType::ERR) {
10541            os.write_enum(1, ::protobuf::EnumOrUnknown::value(&self.type_))?;
10542        }
10543        for v in &self.blocks {
10544            ::protobuf::rt::write_message_field_with_cached_size(2, v, os)?;
10545        };
10546        for v in &self.block_headers {
10547            ::protobuf::rt::write_message_field_with_cached_size(3, v, os)?;
10548        };
10549        for v in &self.transactions {
10550            ::protobuf::rt::write_message_field_with_cached_size(4, v, os)?;
10551        };
10552        os.write_unknown_fields(self.special_fields.unknown_fields())?;
10553        ::std::result::Result::Ok(())
10554    }
10555
10556    fn special_fields(&self) -> &::protobuf::SpecialFields {
10557        &self.special_fields
10558    }
10559
10560    fn mut_special_fields(&mut self) -> &mut ::protobuf::SpecialFields {
10561        &mut self.special_fields
10562    }
10563
10564    fn new() -> Items {
10565        Items::new()
10566    }
10567
10568    fn clear(&mut self) {
10569        self.type_ = ::protobuf::EnumOrUnknown::new(items::ItemType::ERR);
10570        self.blocks.clear();
10571        self.block_headers.clear();
10572        self.transactions.clear();
10573        self.special_fields.clear();
10574    }
10575
10576    fn default_instance() -> &'static Items {
10577        static instance: Items = Items {
10578            type_: ::protobuf::EnumOrUnknown::from_i32(0),
10579            blocks: ::std::vec::Vec::new(),
10580            block_headers: ::std::vec::Vec::new(),
10581            transactions: ::std::vec::Vec::new(),
10582            special_fields: ::protobuf::SpecialFields::new(),
10583        };
10584        &instance
10585    }
10586}
10587
10588impl ::protobuf::MessageFull for Items {
10589    fn descriptor() -> ::protobuf::reflect::MessageDescriptor {
10590        static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::Lazy::new();
10591        descriptor.get(|| file_descriptor().message_by_package_relative_name("Items").unwrap()).clone()
10592    }
10593}
10594
10595impl ::std::fmt::Display for Items {
10596    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
10597        ::protobuf::text_format::fmt(self, f)
10598    }
10599}
10600
10601impl ::protobuf::reflect::ProtobufValue for Items {
10602    type RuntimeType = ::protobuf::reflect::rt::RuntimeTypeMessage<Self>;
10603}
10604
10605/// Nested message and enums of message `Items`
10606pub mod items {
10607    #[derive(Clone,Copy,PartialEq,Eq,Debug,Hash)]
10608    // @@protoc_insertion_point(enum:protocol.Items.ItemType)
10609    pub enum ItemType {
10610        // @@protoc_insertion_point(enum_value:protocol.Items.ItemType.ERR)
10611        ERR = 0,
10612        // @@protoc_insertion_point(enum_value:protocol.Items.ItemType.TRX)
10613        TRX = 1,
10614        // @@protoc_insertion_point(enum_value:protocol.Items.ItemType.BLOCK)
10615        BLOCK = 2,
10616        // @@protoc_insertion_point(enum_value:protocol.Items.ItemType.BLOCKHEADER)
10617        BLOCKHEADER = 3,
10618    }
10619
10620    impl ::protobuf::Enum for ItemType {
10621        const NAME: &'static str = "ItemType";
10622
10623        fn value(&self) -> i32 {
10624            *self as i32
10625        }
10626
10627        fn from_i32(value: i32) -> ::std::option::Option<ItemType> {
10628            match value {
10629                0 => ::std::option::Option::Some(ItemType::ERR),
10630                1 => ::std::option::Option::Some(ItemType::TRX),
10631                2 => ::std::option::Option::Some(ItemType::BLOCK),
10632                3 => ::std::option::Option::Some(ItemType::BLOCKHEADER),
10633                _ => ::std::option::Option::None
10634            }
10635        }
10636
10637        fn from_str(str: &str) -> ::std::option::Option<ItemType> {
10638            match str {
10639                "ERR" => ::std::option::Option::Some(ItemType::ERR),
10640                "TRX" => ::std::option::Option::Some(ItemType::TRX),
10641                "BLOCK" => ::std::option::Option::Some(ItemType::BLOCK),
10642                "BLOCKHEADER" => ::std::option::Option::Some(ItemType::BLOCKHEADER),
10643                _ => ::std::option::Option::None
10644            }
10645        }
10646
10647        const VALUES: &'static [ItemType] = &[
10648            ItemType::ERR,
10649            ItemType::TRX,
10650            ItemType::BLOCK,
10651            ItemType::BLOCKHEADER,
10652        ];
10653    }
10654
10655    impl ::protobuf::EnumFull for ItemType {
10656        fn enum_descriptor() -> ::protobuf::reflect::EnumDescriptor {
10657            static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::EnumDescriptor> = ::protobuf::rt::Lazy::new();
10658            descriptor.get(|| super::file_descriptor().enum_by_package_relative_name("Items.ItemType").unwrap()).clone()
10659        }
10660
10661        fn descriptor(&self) -> ::protobuf::reflect::EnumValueDescriptor {
10662            let index = *self as usize;
10663            Self::enum_descriptor().value_by_index(index)
10664        }
10665    }
10666
10667    impl ::std::default::Default for ItemType {
10668        fn default() -> Self {
10669            ItemType::ERR
10670        }
10671    }
10672
10673    impl ItemType {
10674        pub(in super) fn generated_enum_descriptor_data() -> ::protobuf::reflect::GeneratedEnumDescriptorData {
10675            ::protobuf::reflect::GeneratedEnumDescriptorData::new::<ItemType>("Items.ItemType")
10676        }
10677    }
10678}
10679
10680///  DynamicProperties
10681// @@protoc_insertion_point(message:protocol.DynamicProperties)
10682#[derive(PartialEq,Clone,Default,Debug)]
10683pub struct DynamicProperties {
10684    // message fields
10685    // @@protoc_insertion_point(field:protocol.DynamicProperties.last_solidity_block_num)
10686    pub last_solidity_block_num: i64,
10687    // special fields
10688    // @@protoc_insertion_point(special_field:protocol.DynamicProperties.special_fields)
10689    pub special_fields: ::protobuf::SpecialFields,
10690}
10691
10692impl<'a> ::std::default::Default for &'a DynamicProperties {
10693    fn default() -> &'a DynamicProperties {
10694        <DynamicProperties as ::protobuf::Message>::default_instance()
10695    }
10696}
10697
10698impl DynamicProperties {
10699    pub fn new() -> DynamicProperties {
10700        ::std::default::Default::default()
10701    }
10702
10703    fn generated_message_descriptor_data() -> ::protobuf::reflect::GeneratedMessageDescriptorData {
10704        let mut fields = ::std::vec::Vec::with_capacity(1);
10705        let mut oneofs = ::std::vec::Vec::with_capacity(0);
10706        fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
10707            "last_solidity_block_num",
10708            |m: &DynamicProperties| { &m.last_solidity_block_num },
10709            |m: &mut DynamicProperties| { &mut m.last_solidity_block_num },
10710        ));
10711        ::protobuf::reflect::GeneratedMessageDescriptorData::new_2::<DynamicProperties>(
10712            "DynamicProperties",
10713            fields,
10714            oneofs,
10715        )
10716    }
10717}
10718
10719impl ::protobuf::Message for DynamicProperties {
10720    const NAME: &'static str = "DynamicProperties";
10721
10722    fn is_initialized(&self) -> bool {
10723        true
10724    }
10725
10726    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::Result<()> {
10727        while let Some(tag) = is.read_raw_tag_or_eof()? {
10728            match tag {
10729                8 => {
10730                    self.last_solidity_block_num = is.read_int64()?;
10731                },
10732                tag => {
10733                    ::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?;
10734                },
10735            };
10736        }
10737        ::std::result::Result::Ok(())
10738    }
10739
10740    // Compute sizes of nested messages
10741    #[allow(unused_variables)]
10742    fn compute_size(&self) -> u64 {
10743        let mut my_size = 0;
10744        if self.last_solidity_block_num != 0 {
10745            my_size += ::protobuf::rt::int64_size(1, self.last_solidity_block_num);
10746        }
10747        my_size += ::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields());
10748        self.special_fields.cached_size().set(my_size as u32);
10749        my_size
10750    }
10751
10752    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::Result<()> {
10753        if self.last_solidity_block_num != 0 {
10754            os.write_int64(1, self.last_solidity_block_num)?;
10755        }
10756        os.write_unknown_fields(self.special_fields.unknown_fields())?;
10757        ::std::result::Result::Ok(())
10758    }
10759
10760    fn special_fields(&self) -> &::protobuf::SpecialFields {
10761        &self.special_fields
10762    }
10763
10764    fn mut_special_fields(&mut self) -> &mut ::protobuf::SpecialFields {
10765        &mut self.special_fields
10766    }
10767
10768    fn new() -> DynamicProperties {
10769        DynamicProperties::new()
10770    }
10771
10772    fn clear(&mut self) {
10773        self.last_solidity_block_num = 0;
10774        self.special_fields.clear();
10775    }
10776
10777    fn default_instance() -> &'static DynamicProperties {
10778        static instance: DynamicProperties = DynamicProperties {
10779            last_solidity_block_num: 0,
10780            special_fields: ::protobuf::SpecialFields::new(),
10781        };
10782        &instance
10783    }
10784}
10785
10786impl ::protobuf::MessageFull for DynamicProperties {
10787    fn descriptor() -> ::protobuf::reflect::MessageDescriptor {
10788        static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::Lazy::new();
10789        descriptor.get(|| file_descriptor().message_by_package_relative_name("DynamicProperties").unwrap()).clone()
10790    }
10791}
10792
10793impl ::std::fmt::Display for DynamicProperties {
10794    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
10795        ::protobuf::text_format::fmt(self, f)
10796    }
10797}
10798
10799impl ::protobuf::reflect::ProtobufValue for DynamicProperties {
10800    type RuntimeType = ::protobuf::reflect::rt::RuntimeTypeMessage<Self>;
10801}
10802
10803// @@protoc_insertion_point(message:protocol.DisconnectMessage)
10804#[derive(PartialEq,Clone,Default,Debug)]
10805pub struct DisconnectMessage {
10806    // message fields
10807    // @@protoc_insertion_point(field:protocol.DisconnectMessage.reason)
10808    pub reason: ::protobuf::EnumOrUnknown<ReasonCode>,
10809    // special fields
10810    // @@protoc_insertion_point(special_field:protocol.DisconnectMessage.special_fields)
10811    pub special_fields: ::protobuf::SpecialFields,
10812}
10813
10814impl<'a> ::std::default::Default for &'a DisconnectMessage {
10815    fn default() -> &'a DisconnectMessage {
10816        <DisconnectMessage as ::protobuf::Message>::default_instance()
10817    }
10818}
10819
10820impl DisconnectMessage {
10821    pub fn new() -> DisconnectMessage {
10822        ::std::default::Default::default()
10823    }
10824
10825    fn generated_message_descriptor_data() -> ::protobuf::reflect::GeneratedMessageDescriptorData {
10826        let mut fields = ::std::vec::Vec::with_capacity(1);
10827        let mut oneofs = ::std::vec::Vec::with_capacity(0);
10828        fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
10829            "reason",
10830            |m: &DisconnectMessage| { &m.reason },
10831            |m: &mut DisconnectMessage| { &mut m.reason },
10832        ));
10833        ::protobuf::reflect::GeneratedMessageDescriptorData::new_2::<DisconnectMessage>(
10834            "DisconnectMessage",
10835            fields,
10836            oneofs,
10837        )
10838    }
10839}
10840
10841impl ::protobuf::Message for DisconnectMessage {
10842    const NAME: &'static str = "DisconnectMessage";
10843
10844    fn is_initialized(&self) -> bool {
10845        true
10846    }
10847
10848    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::Result<()> {
10849        while let Some(tag) = is.read_raw_tag_or_eof()? {
10850            match tag {
10851                8 => {
10852                    self.reason = is.read_enum_or_unknown()?;
10853                },
10854                tag => {
10855                    ::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?;
10856                },
10857            };
10858        }
10859        ::std::result::Result::Ok(())
10860    }
10861
10862    // Compute sizes of nested messages
10863    #[allow(unused_variables)]
10864    fn compute_size(&self) -> u64 {
10865        let mut my_size = 0;
10866        if self.reason != ::protobuf::EnumOrUnknown::new(ReasonCode::REQUESTED) {
10867            my_size += ::protobuf::rt::int32_size(1, self.reason.value());
10868        }
10869        my_size += ::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields());
10870        self.special_fields.cached_size().set(my_size as u32);
10871        my_size
10872    }
10873
10874    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::Result<()> {
10875        if self.reason != ::protobuf::EnumOrUnknown::new(ReasonCode::REQUESTED) {
10876            os.write_enum(1, ::protobuf::EnumOrUnknown::value(&self.reason))?;
10877        }
10878        os.write_unknown_fields(self.special_fields.unknown_fields())?;
10879        ::std::result::Result::Ok(())
10880    }
10881
10882    fn special_fields(&self) -> &::protobuf::SpecialFields {
10883        &self.special_fields
10884    }
10885
10886    fn mut_special_fields(&mut self) -> &mut ::protobuf::SpecialFields {
10887        &mut self.special_fields
10888    }
10889
10890    fn new() -> DisconnectMessage {
10891        DisconnectMessage::new()
10892    }
10893
10894    fn clear(&mut self) {
10895        self.reason = ::protobuf::EnumOrUnknown::new(ReasonCode::REQUESTED);
10896        self.special_fields.clear();
10897    }
10898
10899    fn default_instance() -> &'static DisconnectMessage {
10900        static instance: DisconnectMessage = DisconnectMessage {
10901            reason: ::protobuf::EnumOrUnknown::from_i32(0),
10902            special_fields: ::protobuf::SpecialFields::new(),
10903        };
10904        &instance
10905    }
10906}
10907
10908impl ::protobuf::MessageFull for DisconnectMessage {
10909    fn descriptor() -> ::protobuf::reflect::MessageDescriptor {
10910        static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::Lazy::new();
10911        descriptor.get(|| file_descriptor().message_by_package_relative_name("DisconnectMessage").unwrap()).clone()
10912    }
10913}
10914
10915impl ::std::fmt::Display for DisconnectMessage {
10916    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
10917        ::protobuf::text_format::fmt(self, f)
10918    }
10919}
10920
10921impl ::protobuf::reflect::ProtobufValue for DisconnectMessage {
10922    type RuntimeType = ::protobuf::reflect::rt::RuntimeTypeMessage<Self>;
10923}
10924
10925// @@protoc_insertion_point(message:protocol.HelloMessage)
10926#[derive(PartialEq,Clone,Default,Debug)]
10927pub struct HelloMessage {
10928    // message fields
10929    // @@protoc_insertion_point(field:protocol.HelloMessage.from)
10930    pub from: ::protobuf::MessageField<super::Discover::Endpoint>,
10931    // @@protoc_insertion_point(field:protocol.HelloMessage.version)
10932    pub version: i32,
10933    // @@protoc_insertion_point(field:protocol.HelloMessage.timestamp)
10934    pub timestamp: i64,
10935    // @@protoc_insertion_point(field:protocol.HelloMessage.genesisBlockId)
10936    pub genesisBlockId: ::protobuf::MessageField<hello_message::BlockId>,
10937    // @@protoc_insertion_point(field:protocol.HelloMessage.solidBlockId)
10938    pub solidBlockId: ::protobuf::MessageField<hello_message::BlockId>,
10939    // @@protoc_insertion_point(field:protocol.HelloMessage.headBlockId)
10940    pub headBlockId: ::protobuf::MessageField<hello_message::BlockId>,
10941    // @@protoc_insertion_point(field:protocol.HelloMessage.address)
10942    pub address: ::std::vec::Vec<u8>,
10943    // @@protoc_insertion_point(field:protocol.HelloMessage.signature)
10944    pub signature: ::std::vec::Vec<u8>,
10945    // @@protoc_insertion_point(field:protocol.HelloMessage.nodeType)
10946    pub nodeType: i32,
10947    // @@protoc_insertion_point(field:protocol.HelloMessage.lowestBlockNum)
10948    pub lowestBlockNum: i64,
10949    // special fields
10950    // @@protoc_insertion_point(special_field:protocol.HelloMessage.special_fields)
10951    pub special_fields: ::protobuf::SpecialFields,
10952}
10953
10954impl<'a> ::std::default::Default for &'a HelloMessage {
10955    fn default() -> &'a HelloMessage {
10956        <HelloMessage as ::protobuf::Message>::default_instance()
10957    }
10958}
10959
10960impl HelloMessage {
10961    pub fn new() -> HelloMessage {
10962        ::std::default::Default::default()
10963    }
10964
10965    fn generated_message_descriptor_data() -> ::protobuf::reflect::GeneratedMessageDescriptorData {
10966        let mut fields = ::std::vec::Vec::with_capacity(10);
10967        let mut oneofs = ::std::vec::Vec::with_capacity(0);
10968        fields.push(::protobuf::reflect::rt::v2::make_message_field_accessor::<_, super::Discover::Endpoint>(
10969            "from",
10970            |m: &HelloMessage| { &m.from },
10971            |m: &mut HelloMessage| { &mut m.from },
10972        ));
10973        fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
10974            "version",
10975            |m: &HelloMessage| { &m.version },
10976            |m: &mut HelloMessage| { &mut m.version },
10977        ));
10978        fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
10979            "timestamp",
10980            |m: &HelloMessage| { &m.timestamp },
10981            |m: &mut HelloMessage| { &mut m.timestamp },
10982        ));
10983        fields.push(::protobuf::reflect::rt::v2::make_message_field_accessor::<_, hello_message::BlockId>(
10984            "genesisBlockId",
10985            |m: &HelloMessage| { &m.genesisBlockId },
10986            |m: &mut HelloMessage| { &mut m.genesisBlockId },
10987        ));
10988        fields.push(::protobuf::reflect::rt::v2::make_message_field_accessor::<_, hello_message::BlockId>(
10989            "solidBlockId",
10990            |m: &HelloMessage| { &m.solidBlockId },
10991            |m: &mut HelloMessage| { &mut m.solidBlockId },
10992        ));
10993        fields.push(::protobuf::reflect::rt::v2::make_message_field_accessor::<_, hello_message::BlockId>(
10994            "headBlockId",
10995            |m: &HelloMessage| { &m.headBlockId },
10996            |m: &mut HelloMessage| { &mut m.headBlockId },
10997        ));
10998        fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
10999            "address",
11000            |m: &HelloMessage| { &m.address },
11001            |m: &mut HelloMessage| { &mut m.address },
11002        ));
11003        fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
11004            "signature",
11005            |m: &HelloMessage| { &m.signature },
11006            |m: &mut HelloMessage| { &mut m.signature },
11007        ));
11008        fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
11009            "nodeType",
11010            |m: &HelloMessage| { &m.nodeType },
11011            |m: &mut HelloMessage| { &mut m.nodeType },
11012        ));
11013        fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
11014            "lowestBlockNum",
11015            |m: &HelloMessage| { &m.lowestBlockNum },
11016            |m: &mut HelloMessage| { &mut m.lowestBlockNum },
11017        ));
11018        ::protobuf::reflect::GeneratedMessageDescriptorData::new_2::<HelloMessage>(
11019            "HelloMessage",
11020            fields,
11021            oneofs,
11022        )
11023    }
11024}
11025
11026impl ::protobuf::Message for HelloMessage {
11027    const NAME: &'static str = "HelloMessage";
11028
11029    fn is_initialized(&self) -> bool {
11030        true
11031    }
11032
11033    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::Result<()> {
11034        while let Some(tag) = is.read_raw_tag_or_eof()? {
11035            match tag {
11036                10 => {
11037                    ::protobuf::rt::read_singular_message_into_field(is, &mut self.from)?;
11038                },
11039                16 => {
11040                    self.version = is.read_int32()?;
11041                },
11042                24 => {
11043                    self.timestamp = is.read_int64()?;
11044                },
11045                34 => {
11046                    ::protobuf::rt::read_singular_message_into_field(is, &mut self.genesisBlockId)?;
11047                },
11048                42 => {
11049                    ::protobuf::rt::read_singular_message_into_field(is, &mut self.solidBlockId)?;
11050                },
11051                50 => {
11052                    ::protobuf::rt::read_singular_message_into_field(is, &mut self.headBlockId)?;
11053                },
11054                58 => {
11055                    self.address = is.read_bytes()?;
11056                },
11057                66 => {
11058                    self.signature = is.read_bytes()?;
11059                },
11060                72 => {
11061                    self.nodeType = is.read_int32()?;
11062                },
11063                80 => {
11064                    self.lowestBlockNum = is.read_int64()?;
11065                },
11066                tag => {
11067                    ::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?;
11068                },
11069            };
11070        }
11071        ::std::result::Result::Ok(())
11072    }
11073
11074    // Compute sizes of nested messages
11075    #[allow(unused_variables)]
11076    fn compute_size(&self) -> u64 {
11077        let mut my_size = 0;
11078        if let Some(v) = self.from.as_ref() {
11079            let len = v.compute_size();
11080            my_size += 1 + ::protobuf::rt::compute_raw_varint64_size(len) + len;
11081        }
11082        if self.version != 0 {
11083            my_size += ::protobuf::rt::int32_size(2, self.version);
11084        }
11085        if self.timestamp != 0 {
11086            my_size += ::protobuf::rt::int64_size(3, self.timestamp);
11087        }
11088        if let Some(v) = self.genesisBlockId.as_ref() {
11089            let len = v.compute_size();
11090            my_size += 1 + ::protobuf::rt::compute_raw_varint64_size(len) + len;
11091        }
11092        if let Some(v) = self.solidBlockId.as_ref() {
11093            let len = v.compute_size();
11094            my_size += 1 + ::protobuf::rt::compute_raw_varint64_size(len) + len;
11095        }
11096        if let Some(v) = self.headBlockId.as_ref() {
11097            let len = v.compute_size();
11098            my_size += 1 + ::protobuf::rt::compute_raw_varint64_size(len) + len;
11099        }
11100        if !self.address.is_empty() {
11101            my_size += ::protobuf::rt::bytes_size(7, &self.address);
11102        }
11103        if !self.signature.is_empty() {
11104            my_size += ::protobuf::rt::bytes_size(8, &self.signature);
11105        }
11106        if self.nodeType != 0 {
11107            my_size += ::protobuf::rt::int32_size(9, self.nodeType);
11108        }
11109        if self.lowestBlockNum != 0 {
11110            my_size += ::protobuf::rt::int64_size(10, self.lowestBlockNum);
11111        }
11112        my_size += ::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields());
11113        self.special_fields.cached_size().set(my_size as u32);
11114        my_size
11115    }
11116
11117    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::Result<()> {
11118        if let Some(v) = self.from.as_ref() {
11119            ::protobuf::rt::write_message_field_with_cached_size(1, v, os)?;
11120        }
11121        if self.version != 0 {
11122            os.write_int32(2, self.version)?;
11123        }
11124        if self.timestamp != 0 {
11125            os.write_int64(3, self.timestamp)?;
11126        }
11127        if let Some(v) = self.genesisBlockId.as_ref() {
11128            ::protobuf::rt::write_message_field_with_cached_size(4, v, os)?;
11129        }
11130        if let Some(v) = self.solidBlockId.as_ref() {
11131            ::protobuf::rt::write_message_field_with_cached_size(5, v, os)?;
11132        }
11133        if let Some(v) = self.headBlockId.as_ref() {
11134            ::protobuf::rt::write_message_field_with_cached_size(6, v, os)?;
11135        }
11136        if !self.address.is_empty() {
11137            os.write_bytes(7, &self.address)?;
11138        }
11139        if !self.signature.is_empty() {
11140            os.write_bytes(8, &self.signature)?;
11141        }
11142        if self.nodeType != 0 {
11143            os.write_int32(9, self.nodeType)?;
11144        }
11145        if self.lowestBlockNum != 0 {
11146            os.write_int64(10, self.lowestBlockNum)?;
11147        }
11148        os.write_unknown_fields(self.special_fields.unknown_fields())?;
11149        ::std::result::Result::Ok(())
11150    }
11151
11152    fn special_fields(&self) -> &::protobuf::SpecialFields {
11153        &self.special_fields
11154    }
11155
11156    fn mut_special_fields(&mut self) -> &mut ::protobuf::SpecialFields {
11157        &mut self.special_fields
11158    }
11159
11160    fn new() -> HelloMessage {
11161        HelloMessage::new()
11162    }
11163
11164    fn clear(&mut self) {
11165        self.from.clear();
11166        self.version = 0;
11167        self.timestamp = 0;
11168        self.genesisBlockId.clear();
11169        self.solidBlockId.clear();
11170        self.headBlockId.clear();
11171        self.address.clear();
11172        self.signature.clear();
11173        self.nodeType = 0;
11174        self.lowestBlockNum = 0;
11175        self.special_fields.clear();
11176    }
11177
11178    fn default_instance() -> &'static HelloMessage {
11179        static instance: HelloMessage = HelloMessage {
11180            from: ::protobuf::MessageField::none(),
11181            version: 0,
11182            timestamp: 0,
11183            genesisBlockId: ::protobuf::MessageField::none(),
11184            solidBlockId: ::protobuf::MessageField::none(),
11185            headBlockId: ::protobuf::MessageField::none(),
11186            address: ::std::vec::Vec::new(),
11187            signature: ::std::vec::Vec::new(),
11188            nodeType: 0,
11189            lowestBlockNum: 0,
11190            special_fields: ::protobuf::SpecialFields::new(),
11191        };
11192        &instance
11193    }
11194}
11195
11196impl ::protobuf::MessageFull for HelloMessage {
11197    fn descriptor() -> ::protobuf::reflect::MessageDescriptor {
11198        static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::Lazy::new();
11199        descriptor.get(|| file_descriptor().message_by_package_relative_name("HelloMessage").unwrap()).clone()
11200    }
11201}
11202
11203impl ::std::fmt::Display for HelloMessage {
11204    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
11205        ::protobuf::text_format::fmt(self, f)
11206    }
11207}
11208
11209impl ::protobuf::reflect::ProtobufValue for HelloMessage {
11210    type RuntimeType = ::protobuf::reflect::rt::RuntimeTypeMessage<Self>;
11211}
11212
11213/// Nested message and enums of message `HelloMessage`
11214pub mod hello_message {
11215    // @@protoc_insertion_point(message:protocol.HelloMessage.BlockId)
11216    #[derive(PartialEq,Clone,Default,Debug)]
11217    pub struct BlockId {
11218        // message fields
11219        // @@protoc_insertion_point(field:protocol.HelloMessage.BlockId.hash)
11220        pub hash: ::std::vec::Vec<u8>,
11221        // @@protoc_insertion_point(field:protocol.HelloMessage.BlockId.number)
11222        pub number: i64,
11223        // special fields
11224        // @@protoc_insertion_point(special_field:protocol.HelloMessage.BlockId.special_fields)
11225        pub special_fields: ::protobuf::SpecialFields,
11226    }
11227
11228    impl<'a> ::std::default::Default for &'a BlockId {
11229        fn default() -> &'a BlockId {
11230            <BlockId as ::protobuf::Message>::default_instance()
11231        }
11232    }
11233
11234    impl BlockId {
11235        pub fn new() -> BlockId {
11236            ::std::default::Default::default()
11237        }
11238
11239        pub(in super) fn generated_message_descriptor_data() -> ::protobuf::reflect::GeneratedMessageDescriptorData {
11240            let mut fields = ::std::vec::Vec::with_capacity(2);
11241            let mut oneofs = ::std::vec::Vec::with_capacity(0);
11242            fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
11243                "hash",
11244                |m: &BlockId| { &m.hash },
11245                |m: &mut BlockId| { &mut m.hash },
11246            ));
11247            fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
11248                "number",
11249                |m: &BlockId| { &m.number },
11250                |m: &mut BlockId| { &mut m.number },
11251            ));
11252            ::protobuf::reflect::GeneratedMessageDescriptorData::new_2::<BlockId>(
11253                "HelloMessage.BlockId",
11254                fields,
11255                oneofs,
11256            )
11257        }
11258    }
11259
11260    impl ::protobuf::Message for BlockId {
11261        const NAME: &'static str = "BlockId";
11262
11263        fn is_initialized(&self) -> bool {
11264            true
11265        }
11266
11267        fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::Result<()> {
11268            while let Some(tag) = is.read_raw_tag_or_eof()? {
11269                match tag {
11270                    10 => {
11271                        self.hash = is.read_bytes()?;
11272                    },
11273                    16 => {
11274                        self.number = is.read_int64()?;
11275                    },
11276                    tag => {
11277                        ::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?;
11278                    },
11279                };
11280            }
11281            ::std::result::Result::Ok(())
11282        }
11283
11284        // Compute sizes of nested messages
11285        #[allow(unused_variables)]
11286        fn compute_size(&self) -> u64 {
11287            let mut my_size = 0;
11288            if !self.hash.is_empty() {
11289                my_size += ::protobuf::rt::bytes_size(1, &self.hash);
11290            }
11291            if self.number != 0 {
11292                my_size += ::protobuf::rt::int64_size(2, self.number);
11293            }
11294            my_size += ::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields());
11295            self.special_fields.cached_size().set(my_size as u32);
11296            my_size
11297        }
11298
11299        fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::Result<()> {
11300            if !self.hash.is_empty() {
11301                os.write_bytes(1, &self.hash)?;
11302            }
11303            if self.number != 0 {
11304                os.write_int64(2, self.number)?;
11305            }
11306            os.write_unknown_fields(self.special_fields.unknown_fields())?;
11307            ::std::result::Result::Ok(())
11308        }
11309
11310        fn special_fields(&self) -> &::protobuf::SpecialFields {
11311            &self.special_fields
11312        }
11313
11314        fn mut_special_fields(&mut self) -> &mut ::protobuf::SpecialFields {
11315            &mut self.special_fields
11316        }
11317
11318        fn new() -> BlockId {
11319            BlockId::new()
11320        }
11321
11322        fn clear(&mut self) {
11323            self.hash.clear();
11324            self.number = 0;
11325            self.special_fields.clear();
11326        }
11327
11328        fn default_instance() -> &'static BlockId {
11329            static instance: BlockId = BlockId {
11330                hash: ::std::vec::Vec::new(),
11331                number: 0,
11332                special_fields: ::protobuf::SpecialFields::new(),
11333            };
11334            &instance
11335        }
11336    }
11337
11338    impl ::protobuf::MessageFull for BlockId {
11339        fn descriptor() -> ::protobuf::reflect::MessageDescriptor {
11340            static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::Lazy::new();
11341            descriptor.get(|| super::file_descriptor().message_by_package_relative_name("HelloMessage.BlockId").unwrap()).clone()
11342        }
11343    }
11344
11345    impl ::std::fmt::Display for BlockId {
11346        fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
11347            ::protobuf::text_format::fmt(self, f)
11348        }
11349    }
11350
11351    impl ::protobuf::reflect::ProtobufValue for BlockId {
11352        type RuntimeType = ::protobuf::reflect::rt::RuntimeTypeMessage<Self>;
11353    }
11354}
11355
11356// @@protoc_insertion_point(message:protocol.InternalTransaction)
11357#[derive(PartialEq,Clone,Default,Debug)]
11358pub struct InternalTransaction {
11359    // message fields
11360    ///  internalTransaction identity, the root InternalTransaction hash
11361    ///  should equals to root transaction id.
11362    // @@protoc_insertion_point(field:protocol.InternalTransaction.hash)
11363    pub hash: ::std::vec::Vec<u8>,
11364    ///  the one send trx (TBD: or token) via function
11365    // @@protoc_insertion_point(field:protocol.InternalTransaction.caller_address)
11366    pub caller_address: ::std::vec::Vec<u8>,
11367    ///  the one recieve trx (TBD: or token) via function
11368    // @@protoc_insertion_point(field:protocol.InternalTransaction.transferTo_address)
11369    pub transferTo_address: ::std::vec::Vec<u8>,
11370    // @@protoc_insertion_point(field:protocol.InternalTransaction.callValueInfo)
11371    pub callValueInfo: ::std::vec::Vec<internal_transaction::CallValueInfo>,
11372    // @@protoc_insertion_point(field:protocol.InternalTransaction.note)
11373    pub note: ::std::vec::Vec<u8>,
11374    // @@protoc_insertion_point(field:protocol.InternalTransaction.rejected)
11375    pub rejected: bool,
11376    // @@protoc_insertion_point(field:protocol.InternalTransaction.extra)
11377    pub extra: ::std::string::String,
11378    // special fields
11379    // @@protoc_insertion_point(special_field:protocol.InternalTransaction.special_fields)
11380    pub special_fields: ::protobuf::SpecialFields,
11381}
11382
11383impl<'a> ::std::default::Default for &'a InternalTransaction {
11384    fn default() -> &'a InternalTransaction {
11385        <InternalTransaction as ::protobuf::Message>::default_instance()
11386    }
11387}
11388
11389impl InternalTransaction {
11390    pub fn new() -> InternalTransaction {
11391        ::std::default::Default::default()
11392    }
11393
11394    fn generated_message_descriptor_data() -> ::protobuf::reflect::GeneratedMessageDescriptorData {
11395        let mut fields = ::std::vec::Vec::with_capacity(7);
11396        let mut oneofs = ::std::vec::Vec::with_capacity(0);
11397        fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
11398            "hash",
11399            |m: &InternalTransaction| { &m.hash },
11400            |m: &mut InternalTransaction| { &mut m.hash },
11401        ));
11402        fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
11403            "caller_address",
11404            |m: &InternalTransaction| { &m.caller_address },
11405            |m: &mut InternalTransaction| { &mut m.caller_address },
11406        ));
11407        fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
11408            "transferTo_address",
11409            |m: &InternalTransaction| { &m.transferTo_address },
11410            |m: &mut InternalTransaction| { &mut m.transferTo_address },
11411        ));
11412        fields.push(::protobuf::reflect::rt::v2::make_vec_simpler_accessor::<_, _>(
11413            "callValueInfo",
11414            |m: &InternalTransaction| { &m.callValueInfo },
11415            |m: &mut InternalTransaction| { &mut m.callValueInfo },
11416        ));
11417        fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
11418            "note",
11419            |m: &InternalTransaction| { &m.note },
11420            |m: &mut InternalTransaction| { &mut m.note },
11421        ));
11422        fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
11423            "rejected",
11424            |m: &InternalTransaction| { &m.rejected },
11425            |m: &mut InternalTransaction| { &mut m.rejected },
11426        ));
11427        fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
11428            "extra",
11429            |m: &InternalTransaction| { &m.extra },
11430            |m: &mut InternalTransaction| { &mut m.extra },
11431        ));
11432        ::protobuf::reflect::GeneratedMessageDescriptorData::new_2::<InternalTransaction>(
11433            "InternalTransaction",
11434            fields,
11435            oneofs,
11436        )
11437    }
11438}
11439
11440impl ::protobuf::Message for InternalTransaction {
11441    const NAME: &'static str = "InternalTransaction";
11442
11443    fn is_initialized(&self) -> bool {
11444        true
11445    }
11446
11447    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::Result<()> {
11448        while let Some(tag) = is.read_raw_tag_or_eof()? {
11449            match tag {
11450                10 => {
11451                    self.hash = is.read_bytes()?;
11452                },
11453                18 => {
11454                    self.caller_address = is.read_bytes()?;
11455                },
11456                26 => {
11457                    self.transferTo_address = is.read_bytes()?;
11458                },
11459                34 => {
11460                    self.callValueInfo.push(is.read_message()?);
11461                },
11462                42 => {
11463                    self.note = is.read_bytes()?;
11464                },
11465                48 => {
11466                    self.rejected = is.read_bool()?;
11467                },
11468                58 => {
11469                    self.extra = is.read_string()?;
11470                },
11471                tag => {
11472                    ::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?;
11473                },
11474            };
11475        }
11476        ::std::result::Result::Ok(())
11477    }
11478
11479    // Compute sizes of nested messages
11480    #[allow(unused_variables)]
11481    fn compute_size(&self) -> u64 {
11482        let mut my_size = 0;
11483        if !self.hash.is_empty() {
11484            my_size += ::protobuf::rt::bytes_size(1, &self.hash);
11485        }
11486        if !self.caller_address.is_empty() {
11487            my_size += ::protobuf::rt::bytes_size(2, &self.caller_address);
11488        }
11489        if !self.transferTo_address.is_empty() {
11490            my_size += ::protobuf::rt::bytes_size(3, &self.transferTo_address);
11491        }
11492        for value in &self.callValueInfo {
11493            let len = value.compute_size();
11494            my_size += 1 + ::protobuf::rt::compute_raw_varint64_size(len) + len;
11495        };
11496        if !self.note.is_empty() {
11497            my_size += ::protobuf::rt::bytes_size(5, &self.note);
11498        }
11499        if self.rejected != false {
11500            my_size += 1 + 1;
11501        }
11502        if !self.extra.is_empty() {
11503            my_size += ::protobuf::rt::string_size(7, &self.extra);
11504        }
11505        my_size += ::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields());
11506        self.special_fields.cached_size().set(my_size as u32);
11507        my_size
11508    }
11509
11510    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::Result<()> {
11511        if !self.hash.is_empty() {
11512            os.write_bytes(1, &self.hash)?;
11513        }
11514        if !self.caller_address.is_empty() {
11515            os.write_bytes(2, &self.caller_address)?;
11516        }
11517        if !self.transferTo_address.is_empty() {
11518            os.write_bytes(3, &self.transferTo_address)?;
11519        }
11520        for v in &self.callValueInfo {
11521            ::protobuf::rt::write_message_field_with_cached_size(4, v, os)?;
11522        };
11523        if !self.note.is_empty() {
11524            os.write_bytes(5, &self.note)?;
11525        }
11526        if self.rejected != false {
11527            os.write_bool(6, self.rejected)?;
11528        }
11529        if !self.extra.is_empty() {
11530            os.write_string(7, &self.extra)?;
11531        }
11532        os.write_unknown_fields(self.special_fields.unknown_fields())?;
11533        ::std::result::Result::Ok(())
11534    }
11535
11536    fn special_fields(&self) -> &::protobuf::SpecialFields {
11537        &self.special_fields
11538    }
11539
11540    fn mut_special_fields(&mut self) -> &mut ::protobuf::SpecialFields {
11541        &mut self.special_fields
11542    }
11543
11544    fn new() -> InternalTransaction {
11545        InternalTransaction::new()
11546    }
11547
11548    fn clear(&mut self) {
11549        self.hash.clear();
11550        self.caller_address.clear();
11551        self.transferTo_address.clear();
11552        self.callValueInfo.clear();
11553        self.note.clear();
11554        self.rejected = false;
11555        self.extra.clear();
11556        self.special_fields.clear();
11557    }
11558
11559    fn default_instance() -> &'static InternalTransaction {
11560        static instance: InternalTransaction = InternalTransaction {
11561            hash: ::std::vec::Vec::new(),
11562            caller_address: ::std::vec::Vec::new(),
11563            transferTo_address: ::std::vec::Vec::new(),
11564            callValueInfo: ::std::vec::Vec::new(),
11565            note: ::std::vec::Vec::new(),
11566            rejected: false,
11567            extra: ::std::string::String::new(),
11568            special_fields: ::protobuf::SpecialFields::new(),
11569        };
11570        &instance
11571    }
11572}
11573
11574impl ::protobuf::MessageFull for InternalTransaction {
11575    fn descriptor() -> ::protobuf::reflect::MessageDescriptor {
11576        static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::Lazy::new();
11577        descriptor.get(|| file_descriptor().message_by_package_relative_name("InternalTransaction").unwrap()).clone()
11578    }
11579}
11580
11581impl ::std::fmt::Display for InternalTransaction {
11582    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
11583        ::protobuf::text_format::fmt(self, f)
11584    }
11585}
11586
11587impl ::protobuf::reflect::ProtobufValue for InternalTransaction {
11588    type RuntimeType = ::protobuf::reflect::rt::RuntimeTypeMessage<Self>;
11589}
11590
11591/// Nested message and enums of message `InternalTransaction`
11592pub mod internal_transaction {
11593    // @@protoc_insertion_point(message:protocol.InternalTransaction.CallValueInfo)
11594    #[derive(PartialEq,Clone,Default,Debug)]
11595    pub struct CallValueInfo {
11596        // message fields
11597        ///  trx (TBD: or token) value
11598        // @@protoc_insertion_point(field:protocol.InternalTransaction.CallValueInfo.callValue)
11599        pub callValue: i64,
11600        ///  TBD: tokenName, trx should be empty
11601        // @@protoc_insertion_point(field:protocol.InternalTransaction.CallValueInfo.tokenId)
11602        pub tokenId: ::std::string::String,
11603        // special fields
11604        // @@protoc_insertion_point(special_field:protocol.InternalTransaction.CallValueInfo.special_fields)
11605        pub special_fields: ::protobuf::SpecialFields,
11606    }
11607
11608    impl<'a> ::std::default::Default for &'a CallValueInfo {
11609        fn default() -> &'a CallValueInfo {
11610            <CallValueInfo as ::protobuf::Message>::default_instance()
11611        }
11612    }
11613
11614    impl CallValueInfo {
11615        pub fn new() -> CallValueInfo {
11616            ::std::default::Default::default()
11617        }
11618
11619        pub(in super) fn generated_message_descriptor_data() -> ::protobuf::reflect::GeneratedMessageDescriptorData {
11620            let mut fields = ::std::vec::Vec::with_capacity(2);
11621            let mut oneofs = ::std::vec::Vec::with_capacity(0);
11622            fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
11623                "callValue",
11624                |m: &CallValueInfo| { &m.callValue },
11625                |m: &mut CallValueInfo| { &mut m.callValue },
11626            ));
11627            fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
11628                "tokenId",
11629                |m: &CallValueInfo| { &m.tokenId },
11630                |m: &mut CallValueInfo| { &mut m.tokenId },
11631            ));
11632            ::protobuf::reflect::GeneratedMessageDescriptorData::new_2::<CallValueInfo>(
11633                "InternalTransaction.CallValueInfo",
11634                fields,
11635                oneofs,
11636            )
11637        }
11638    }
11639
11640    impl ::protobuf::Message for CallValueInfo {
11641        const NAME: &'static str = "CallValueInfo";
11642
11643        fn is_initialized(&self) -> bool {
11644            true
11645        }
11646
11647        fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::Result<()> {
11648            while let Some(tag) = is.read_raw_tag_or_eof()? {
11649                match tag {
11650                    8 => {
11651                        self.callValue = is.read_int64()?;
11652                    },
11653                    18 => {
11654                        self.tokenId = is.read_string()?;
11655                    },
11656                    tag => {
11657                        ::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?;
11658                    },
11659                };
11660            }
11661            ::std::result::Result::Ok(())
11662        }
11663
11664        // Compute sizes of nested messages
11665        #[allow(unused_variables)]
11666        fn compute_size(&self) -> u64 {
11667            let mut my_size = 0;
11668            if self.callValue != 0 {
11669                my_size += ::protobuf::rt::int64_size(1, self.callValue);
11670            }
11671            if !self.tokenId.is_empty() {
11672                my_size += ::protobuf::rt::string_size(2, &self.tokenId);
11673            }
11674            my_size += ::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields());
11675            self.special_fields.cached_size().set(my_size as u32);
11676            my_size
11677        }
11678
11679        fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::Result<()> {
11680            if self.callValue != 0 {
11681                os.write_int64(1, self.callValue)?;
11682            }
11683            if !self.tokenId.is_empty() {
11684                os.write_string(2, &self.tokenId)?;
11685            }
11686            os.write_unknown_fields(self.special_fields.unknown_fields())?;
11687            ::std::result::Result::Ok(())
11688        }
11689
11690        fn special_fields(&self) -> &::protobuf::SpecialFields {
11691            &self.special_fields
11692        }
11693
11694        fn mut_special_fields(&mut self) -> &mut ::protobuf::SpecialFields {
11695            &mut self.special_fields
11696        }
11697
11698        fn new() -> CallValueInfo {
11699            CallValueInfo::new()
11700        }
11701
11702        fn clear(&mut self) {
11703            self.callValue = 0;
11704            self.tokenId.clear();
11705            self.special_fields.clear();
11706        }
11707
11708        fn default_instance() -> &'static CallValueInfo {
11709            static instance: CallValueInfo = CallValueInfo {
11710                callValue: 0,
11711                tokenId: ::std::string::String::new(),
11712                special_fields: ::protobuf::SpecialFields::new(),
11713            };
11714            &instance
11715        }
11716    }
11717
11718    impl ::protobuf::MessageFull for CallValueInfo {
11719        fn descriptor() -> ::protobuf::reflect::MessageDescriptor {
11720            static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::Lazy::new();
11721            descriptor.get(|| super::file_descriptor().message_by_package_relative_name("InternalTransaction.CallValueInfo").unwrap()).clone()
11722        }
11723    }
11724
11725    impl ::std::fmt::Display for CallValueInfo {
11726        fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
11727            ::protobuf::text_format::fmt(self, f)
11728        }
11729    }
11730
11731    impl ::protobuf::reflect::ProtobufValue for CallValueInfo {
11732        type RuntimeType = ::protobuf::reflect::rt::RuntimeTypeMessage<Self>;
11733    }
11734}
11735
11736// @@protoc_insertion_point(message:protocol.DelegatedResourceAccountIndex)
11737#[derive(PartialEq,Clone,Default,Debug)]
11738pub struct DelegatedResourceAccountIndex {
11739    // message fields
11740    // @@protoc_insertion_point(field:protocol.DelegatedResourceAccountIndex.account)
11741    pub account: ::std::vec::Vec<u8>,
11742    // @@protoc_insertion_point(field:protocol.DelegatedResourceAccountIndex.fromAccounts)
11743    pub fromAccounts: ::std::vec::Vec<::std::vec::Vec<u8>>,
11744    // @@protoc_insertion_point(field:protocol.DelegatedResourceAccountIndex.toAccounts)
11745    pub toAccounts: ::std::vec::Vec<::std::vec::Vec<u8>>,
11746    // @@protoc_insertion_point(field:protocol.DelegatedResourceAccountIndex.timestamp)
11747    pub timestamp: i64,
11748    // special fields
11749    // @@protoc_insertion_point(special_field:protocol.DelegatedResourceAccountIndex.special_fields)
11750    pub special_fields: ::protobuf::SpecialFields,
11751}
11752
11753impl<'a> ::std::default::Default for &'a DelegatedResourceAccountIndex {
11754    fn default() -> &'a DelegatedResourceAccountIndex {
11755        <DelegatedResourceAccountIndex as ::protobuf::Message>::default_instance()
11756    }
11757}
11758
11759impl DelegatedResourceAccountIndex {
11760    pub fn new() -> DelegatedResourceAccountIndex {
11761        ::std::default::Default::default()
11762    }
11763
11764    fn generated_message_descriptor_data() -> ::protobuf::reflect::GeneratedMessageDescriptorData {
11765        let mut fields = ::std::vec::Vec::with_capacity(4);
11766        let mut oneofs = ::std::vec::Vec::with_capacity(0);
11767        fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
11768            "account",
11769            |m: &DelegatedResourceAccountIndex| { &m.account },
11770            |m: &mut DelegatedResourceAccountIndex| { &mut m.account },
11771        ));
11772        fields.push(::protobuf::reflect::rt::v2::make_vec_simpler_accessor::<_, _>(
11773            "fromAccounts",
11774            |m: &DelegatedResourceAccountIndex| { &m.fromAccounts },
11775            |m: &mut DelegatedResourceAccountIndex| { &mut m.fromAccounts },
11776        ));
11777        fields.push(::protobuf::reflect::rt::v2::make_vec_simpler_accessor::<_, _>(
11778            "toAccounts",
11779            |m: &DelegatedResourceAccountIndex| { &m.toAccounts },
11780            |m: &mut DelegatedResourceAccountIndex| { &mut m.toAccounts },
11781        ));
11782        fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
11783            "timestamp",
11784            |m: &DelegatedResourceAccountIndex| { &m.timestamp },
11785            |m: &mut DelegatedResourceAccountIndex| { &mut m.timestamp },
11786        ));
11787        ::protobuf::reflect::GeneratedMessageDescriptorData::new_2::<DelegatedResourceAccountIndex>(
11788            "DelegatedResourceAccountIndex",
11789            fields,
11790            oneofs,
11791        )
11792    }
11793}
11794
11795impl ::protobuf::Message for DelegatedResourceAccountIndex {
11796    const NAME: &'static str = "DelegatedResourceAccountIndex";
11797
11798    fn is_initialized(&self) -> bool {
11799        true
11800    }
11801
11802    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::Result<()> {
11803        while let Some(tag) = is.read_raw_tag_or_eof()? {
11804            match tag {
11805                10 => {
11806                    self.account = is.read_bytes()?;
11807                },
11808                18 => {
11809                    self.fromAccounts.push(is.read_bytes()?);
11810                },
11811                26 => {
11812                    self.toAccounts.push(is.read_bytes()?);
11813                },
11814                32 => {
11815                    self.timestamp = is.read_int64()?;
11816                },
11817                tag => {
11818                    ::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?;
11819                },
11820            };
11821        }
11822        ::std::result::Result::Ok(())
11823    }
11824
11825    // Compute sizes of nested messages
11826    #[allow(unused_variables)]
11827    fn compute_size(&self) -> u64 {
11828        let mut my_size = 0;
11829        if !self.account.is_empty() {
11830            my_size += ::protobuf::rt::bytes_size(1, &self.account);
11831        }
11832        for value in &self.fromAccounts {
11833            my_size += ::protobuf::rt::bytes_size(2, &value);
11834        };
11835        for value in &self.toAccounts {
11836            my_size += ::protobuf::rt::bytes_size(3, &value);
11837        };
11838        if self.timestamp != 0 {
11839            my_size += ::protobuf::rt::int64_size(4, self.timestamp);
11840        }
11841        my_size += ::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields());
11842        self.special_fields.cached_size().set(my_size as u32);
11843        my_size
11844    }
11845
11846    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::Result<()> {
11847        if !self.account.is_empty() {
11848            os.write_bytes(1, &self.account)?;
11849        }
11850        for v in &self.fromAccounts {
11851            os.write_bytes(2, &v)?;
11852        };
11853        for v in &self.toAccounts {
11854            os.write_bytes(3, &v)?;
11855        };
11856        if self.timestamp != 0 {
11857            os.write_int64(4, self.timestamp)?;
11858        }
11859        os.write_unknown_fields(self.special_fields.unknown_fields())?;
11860        ::std::result::Result::Ok(())
11861    }
11862
11863    fn special_fields(&self) -> &::protobuf::SpecialFields {
11864        &self.special_fields
11865    }
11866
11867    fn mut_special_fields(&mut self) -> &mut ::protobuf::SpecialFields {
11868        &mut self.special_fields
11869    }
11870
11871    fn new() -> DelegatedResourceAccountIndex {
11872        DelegatedResourceAccountIndex::new()
11873    }
11874
11875    fn clear(&mut self) {
11876        self.account.clear();
11877        self.fromAccounts.clear();
11878        self.toAccounts.clear();
11879        self.timestamp = 0;
11880        self.special_fields.clear();
11881    }
11882
11883    fn default_instance() -> &'static DelegatedResourceAccountIndex {
11884        static instance: DelegatedResourceAccountIndex = DelegatedResourceAccountIndex {
11885            account: ::std::vec::Vec::new(),
11886            fromAccounts: ::std::vec::Vec::new(),
11887            toAccounts: ::std::vec::Vec::new(),
11888            timestamp: 0,
11889            special_fields: ::protobuf::SpecialFields::new(),
11890        };
11891        &instance
11892    }
11893}
11894
11895impl ::protobuf::MessageFull for DelegatedResourceAccountIndex {
11896    fn descriptor() -> ::protobuf::reflect::MessageDescriptor {
11897        static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::Lazy::new();
11898        descriptor.get(|| file_descriptor().message_by_package_relative_name("DelegatedResourceAccountIndex").unwrap()).clone()
11899    }
11900}
11901
11902impl ::std::fmt::Display for DelegatedResourceAccountIndex {
11903    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
11904        ::protobuf::text_format::fmt(self, f)
11905    }
11906}
11907
11908impl ::protobuf::reflect::ProtobufValue for DelegatedResourceAccountIndex {
11909    type RuntimeType = ::protobuf::reflect::rt::RuntimeTypeMessage<Self>;
11910}
11911
11912// @@protoc_insertion_point(message:protocol.NodeInfo)
11913#[derive(PartialEq,Clone,Default,Debug)]
11914pub struct NodeInfo {
11915    // message fields
11916    // @@protoc_insertion_point(field:protocol.NodeInfo.beginSyncNum)
11917    pub beginSyncNum: i64,
11918    // @@protoc_insertion_point(field:protocol.NodeInfo.block)
11919    pub block: ::std::string::String,
11920    // @@protoc_insertion_point(field:protocol.NodeInfo.solidityBlock)
11921    pub solidityBlock: ::std::string::String,
11922    /// connect information
11923    // @@protoc_insertion_point(field:protocol.NodeInfo.currentConnectCount)
11924    pub currentConnectCount: i32,
11925    // @@protoc_insertion_point(field:protocol.NodeInfo.activeConnectCount)
11926    pub activeConnectCount: i32,
11927    // @@protoc_insertion_point(field:protocol.NodeInfo.passiveConnectCount)
11928    pub passiveConnectCount: i32,
11929    // @@protoc_insertion_point(field:protocol.NodeInfo.totalFlow)
11930    pub totalFlow: i64,
11931    // @@protoc_insertion_point(field:protocol.NodeInfo.peerInfoList)
11932    pub peerInfoList: ::std::vec::Vec<node_info::PeerInfo>,
11933    // @@protoc_insertion_point(field:protocol.NodeInfo.configNodeInfo)
11934    pub configNodeInfo: ::protobuf::MessageField<node_info::ConfigNodeInfo>,
11935    // @@protoc_insertion_point(field:protocol.NodeInfo.machineInfo)
11936    pub machineInfo: ::protobuf::MessageField<node_info::MachineInfo>,
11937    // @@protoc_insertion_point(field:protocol.NodeInfo.cheatWitnessInfoMap)
11938    pub cheatWitnessInfoMap: ::std::collections::HashMap<::std::string::String, ::std::string::String>,
11939    // special fields
11940    // @@protoc_insertion_point(special_field:protocol.NodeInfo.special_fields)
11941    pub special_fields: ::protobuf::SpecialFields,
11942}
11943
11944impl<'a> ::std::default::Default for &'a NodeInfo {
11945    fn default() -> &'a NodeInfo {
11946        <NodeInfo as ::protobuf::Message>::default_instance()
11947    }
11948}
11949
11950impl NodeInfo {
11951    pub fn new() -> NodeInfo {
11952        ::std::default::Default::default()
11953    }
11954
11955    fn generated_message_descriptor_data() -> ::protobuf::reflect::GeneratedMessageDescriptorData {
11956        let mut fields = ::std::vec::Vec::with_capacity(11);
11957        let mut oneofs = ::std::vec::Vec::with_capacity(0);
11958        fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
11959            "beginSyncNum",
11960            |m: &NodeInfo| { &m.beginSyncNum },
11961            |m: &mut NodeInfo| { &mut m.beginSyncNum },
11962        ));
11963        fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
11964            "block",
11965            |m: &NodeInfo| { &m.block },
11966            |m: &mut NodeInfo| { &mut m.block },
11967        ));
11968        fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
11969            "solidityBlock",
11970            |m: &NodeInfo| { &m.solidityBlock },
11971            |m: &mut NodeInfo| { &mut m.solidityBlock },
11972        ));
11973        fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
11974            "currentConnectCount",
11975            |m: &NodeInfo| { &m.currentConnectCount },
11976            |m: &mut NodeInfo| { &mut m.currentConnectCount },
11977        ));
11978        fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
11979            "activeConnectCount",
11980            |m: &NodeInfo| { &m.activeConnectCount },
11981            |m: &mut NodeInfo| { &mut m.activeConnectCount },
11982        ));
11983        fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
11984            "passiveConnectCount",
11985            |m: &NodeInfo| { &m.passiveConnectCount },
11986            |m: &mut NodeInfo| { &mut m.passiveConnectCount },
11987        ));
11988        fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
11989            "totalFlow",
11990            |m: &NodeInfo| { &m.totalFlow },
11991            |m: &mut NodeInfo| { &mut m.totalFlow },
11992        ));
11993        fields.push(::protobuf::reflect::rt::v2::make_vec_simpler_accessor::<_, _>(
11994            "peerInfoList",
11995            |m: &NodeInfo| { &m.peerInfoList },
11996            |m: &mut NodeInfo| { &mut m.peerInfoList },
11997        ));
11998        fields.push(::protobuf::reflect::rt::v2::make_message_field_accessor::<_, node_info::ConfigNodeInfo>(
11999            "configNodeInfo",
12000            |m: &NodeInfo| { &m.configNodeInfo },
12001            |m: &mut NodeInfo| { &mut m.configNodeInfo },
12002        ));
12003        fields.push(::protobuf::reflect::rt::v2::make_message_field_accessor::<_, node_info::MachineInfo>(
12004            "machineInfo",
12005            |m: &NodeInfo| { &m.machineInfo },
12006            |m: &mut NodeInfo| { &mut m.machineInfo },
12007        ));
12008        fields.push(::protobuf::reflect::rt::v2::make_map_simpler_accessor::<_, _, _>(
12009            "cheatWitnessInfoMap",
12010            |m: &NodeInfo| { &m.cheatWitnessInfoMap },
12011            |m: &mut NodeInfo| { &mut m.cheatWitnessInfoMap },
12012        ));
12013        ::protobuf::reflect::GeneratedMessageDescriptorData::new_2::<NodeInfo>(
12014            "NodeInfo",
12015            fields,
12016            oneofs,
12017        )
12018    }
12019}
12020
12021impl ::protobuf::Message for NodeInfo {
12022    const NAME: &'static str = "NodeInfo";
12023
12024    fn is_initialized(&self) -> bool {
12025        true
12026    }
12027
12028    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::Result<()> {
12029        while let Some(tag) = is.read_raw_tag_or_eof()? {
12030            match tag {
12031                8 => {
12032                    self.beginSyncNum = is.read_int64()?;
12033                },
12034                18 => {
12035                    self.block = is.read_string()?;
12036                },
12037                26 => {
12038                    self.solidityBlock = is.read_string()?;
12039                },
12040                32 => {
12041                    self.currentConnectCount = is.read_int32()?;
12042                },
12043                40 => {
12044                    self.activeConnectCount = is.read_int32()?;
12045                },
12046                48 => {
12047                    self.passiveConnectCount = is.read_int32()?;
12048                },
12049                56 => {
12050                    self.totalFlow = is.read_int64()?;
12051                },
12052                66 => {
12053                    self.peerInfoList.push(is.read_message()?);
12054                },
12055                74 => {
12056                    ::protobuf::rt::read_singular_message_into_field(is, &mut self.configNodeInfo)?;
12057                },
12058                82 => {
12059                    ::protobuf::rt::read_singular_message_into_field(is, &mut self.machineInfo)?;
12060                },
12061                90 => {
12062                    let len = is.read_raw_varint32()?;
12063                    let old_limit = is.push_limit(len as u64)?;
12064                    let mut key = ::std::default::Default::default();
12065                    let mut value = ::std::default::Default::default();
12066                    while let Some(tag) = is.read_raw_tag_or_eof()? {
12067                        match tag {
12068                            10 => key = is.read_string()?,
12069                            18 => value = is.read_string()?,
12070                            _ => ::protobuf::rt::skip_field_for_tag(tag, is)?,
12071                        };
12072                    }
12073                    is.pop_limit(old_limit);
12074                    self.cheatWitnessInfoMap.insert(key, value);
12075                },
12076                tag => {
12077                    ::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?;
12078                },
12079            };
12080        }
12081        ::std::result::Result::Ok(())
12082    }
12083
12084    // Compute sizes of nested messages
12085    #[allow(unused_variables)]
12086    fn compute_size(&self) -> u64 {
12087        let mut my_size = 0;
12088        if self.beginSyncNum != 0 {
12089            my_size += ::protobuf::rt::int64_size(1, self.beginSyncNum);
12090        }
12091        if !self.block.is_empty() {
12092            my_size += ::protobuf::rt::string_size(2, &self.block);
12093        }
12094        if !self.solidityBlock.is_empty() {
12095            my_size += ::protobuf::rt::string_size(3, &self.solidityBlock);
12096        }
12097        if self.currentConnectCount != 0 {
12098            my_size += ::protobuf::rt::int32_size(4, self.currentConnectCount);
12099        }
12100        if self.activeConnectCount != 0 {
12101            my_size += ::protobuf::rt::int32_size(5, self.activeConnectCount);
12102        }
12103        if self.passiveConnectCount != 0 {
12104            my_size += ::protobuf::rt::int32_size(6, self.passiveConnectCount);
12105        }
12106        if self.totalFlow != 0 {
12107            my_size += ::protobuf::rt::int64_size(7, self.totalFlow);
12108        }
12109        for value in &self.peerInfoList {
12110            let len = value.compute_size();
12111            my_size += 1 + ::protobuf::rt::compute_raw_varint64_size(len) + len;
12112        };
12113        if let Some(v) = self.configNodeInfo.as_ref() {
12114            let len = v.compute_size();
12115            my_size += 1 + ::protobuf::rt::compute_raw_varint64_size(len) + len;
12116        }
12117        if let Some(v) = self.machineInfo.as_ref() {
12118            let len = v.compute_size();
12119            my_size += 1 + ::protobuf::rt::compute_raw_varint64_size(len) + len;
12120        }
12121        for (k, v) in &self.cheatWitnessInfoMap {
12122            let mut entry_size = 0;
12123            entry_size += ::protobuf::rt::string_size(1, &k);
12124            entry_size += ::protobuf::rt::string_size(2, &v);
12125            my_size += 1 + ::protobuf::rt::compute_raw_varint64_size(entry_size) + entry_size
12126        };
12127        my_size += ::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields());
12128        self.special_fields.cached_size().set(my_size as u32);
12129        my_size
12130    }
12131
12132    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::Result<()> {
12133        if self.beginSyncNum != 0 {
12134            os.write_int64(1, self.beginSyncNum)?;
12135        }
12136        if !self.block.is_empty() {
12137            os.write_string(2, &self.block)?;
12138        }
12139        if !self.solidityBlock.is_empty() {
12140            os.write_string(3, &self.solidityBlock)?;
12141        }
12142        if self.currentConnectCount != 0 {
12143            os.write_int32(4, self.currentConnectCount)?;
12144        }
12145        if self.activeConnectCount != 0 {
12146            os.write_int32(5, self.activeConnectCount)?;
12147        }
12148        if self.passiveConnectCount != 0 {
12149            os.write_int32(6, self.passiveConnectCount)?;
12150        }
12151        if self.totalFlow != 0 {
12152            os.write_int64(7, self.totalFlow)?;
12153        }
12154        for v in &self.peerInfoList {
12155            ::protobuf::rt::write_message_field_with_cached_size(8, v, os)?;
12156        };
12157        if let Some(v) = self.configNodeInfo.as_ref() {
12158            ::protobuf::rt::write_message_field_with_cached_size(9, v, os)?;
12159        }
12160        if let Some(v) = self.machineInfo.as_ref() {
12161            ::protobuf::rt::write_message_field_with_cached_size(10, v, os)?;
12162        }
12163        for (k, v) in &self.cheatWitnessInfoMap {
12164            let mut entry_size = 0;
12165            entry_size += ::protobuf::rt::string_size(1, &k);
12166            entry_size += ::protobuf::rt::string_size(2, &v);
12167            os.write_raw_varint32(90)?; // Tag.
12168            os.write_raw_varint32(entry_size as u32)?;
12169            os.write_string(1, &k)?;
12170            os.write_string(2, &v)?;
12171        };
12172        os.write_unknown_fields(self.special_fields.unknown_fields())?;
12173        ::std::result::Result::Ok(())
12174    }
12175
12176    fn special_fields(&self) -> &::protobuf::SpecialFields {
12177        &self.special_fields
12178    }
12179
12180    fn mut_special_fields(&mut self) -> &mut ::protobuf::SpecialFields {
12181        &mut self.special_fields
12182    }
12183
12184    fn new() -> NodeInfo {
12185        NodeInfo::new()
12186    }
12187
12188    fn clear(&mut self) {
12189        self.beginSyncNum = 0;
12190        self.block.clear();
12191        self.solidityBlock.clear();
12192        self.currentConnectCount = 0;
12193        self.activeConnectCount = 0;
12194        self.passiveConnectCount = 0;
12195        self.totalFlow = 0;
12196        self.peerInfoList.clear();
12197        self.configNodeInfo.clear();
12198        self.machineInfo.clear();
12199        self.cheatWitnessInfoMap.clear();
12200        self.special_fields.clear();
12201    }
12202
12203    fn default_instance() -> &'static NodeInfo {
12204        static instance: ::protobuf::rt::Lazy<NodeInfo> = ::protobuf::rt::Lazy::new();
12205        instance.get(NodeInfo::new)
12206    }
12207}
12208
12209impl ::protobuf::MessageFull for NodeInfo {
12210    fn descriptor() -> ::protobuf::reflect::MessageDescriptor {
12211        static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::Lazy::new();
12212        descriptor.get(|| file_descriptor().message_by_package_relative_name("NodeInfo").unwrap()).clone()
12213    }
12214}
12215
12216impl ::std::fmt::Display for NodeInfo {
12217    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
12218        ::protobuf::text_format::fmt(self, f)
12219    }
12220}
12221
12222impl ::protobuf::reflect::ProtobufValue for NodeInfo {
12223    type RuntimeType = ::protobuf::reflect::rt::RuntimeTypeMessage<Self>;
12224}
12225
12226/// Nested message and enums of message `NodeInfo`
12227pub mod node_info {
12228    // @@protoc_insertion_point(message:protocol.NodeInfo.PeerInfo)
12229    #[derive(PartialEq,Clone,Default,Debug)]
12230    pub struct PeerInfo {
12231        // message fields
12232        // @@protoc_insertion_point(field:protocol.NodeInfo.PeerInfo.lastSyncBlock)
12233        pub lastSyncBlock: ::std::string::String,
12234        // @@protoc_insertion_point(field:protocol.NodeInfo.PeerInfo.remainNum)
12235        pub remainNum: i64,
12236        // @@protoc_insertion_point(field:protocol.NodeInfo.PeerInfo.lastBlockUpdateTime)
12237        pub lastBlockUpdateTime: i64,
12238        // @@protoc_insertion_point(field:protocol.NodeInfo.PeerInfo.syncFlag)
12239        pub syncFlag: bool,
12240        // @@protoc_insertion_point(field:protocol.NodeInfo.PeerInfo.headBlockTimeWeBothHave)
12241        pub headBlockTimeWeBothHave: i64,
12242        // @@protoc_insertion_point(field:protocol.NodeInfo.PeerInfo.needSyncFromPeer)
12243        pub needSyncFromPeer: bool,
12244        // @@protoc_insertion_point(field:protocol.NodeInfo.PeerInfo.needSyncFromUs)
12245        pub needSyncFromUs: bool,
12246        // @@protoc_insertion_point(field:protocol.NodeInfo.PeerInfo.host)
12247        pub host: ::std::string::String,
12248        // @@protoc_insertion_point(field:protocol.NodeInfo.PeerInfo.port)
12249        pub port: i32,
12250        // @@protoc_insertion_point(field:protocol.NodeInfo.PeerInfo.nodeId)
12251        pub nodeId: ::std::string::String,
12252        // @@protoc_insertion_point(field:protocol.NodeInfo.PeerInfo.connectTime)
12253        pub connectTime: i64,
12254        // @@protoc_insertion_point(field:protocol.NodeInfo.PeerInfo.avgLatency)
12255        pub avgLatency: f64,
12256        // @@protoc_insertion_point(field:protocol.NodeInfo.PeerInfo.syncToFetchSize)
12257        pub syncToFetchSize: i32,
12258        // @@protoc_insertion_point(field:protocol.NodeInfo.PeerInfo.syncToFetchSizePeekNum)
12259        pub syncToFetchSizePeekNum: i64,
12260        // @@protoc_insertion_point(field:protocol.NodeInfo.PeerInfo.syncBlockRequestedSize)
12261        pub syncBlockRequestedSize: i32,
12262        // @@protoc_insertion_point(field:protocol.NodeInfo.PeerInfo.unFetchSynNum)
12263        pub unFetchSynNum: i64,
12264        // @@protoc_insertion_point(field:protocol.NodeInfo.PeerInfo.blockInPorcSize)
12265        pub blockInPorcSize: i32,
12266        // @@protoc_insertion_point(field:protocol.NodeInfo.PeerInfo.headBlockWeBothHave)
12267        pub headBlockWeBothHave: ::std::string::String,
12268        // @@protoc_insertion_point(field:protocol.NodeInfo.PeerInfo.isActive)
12269        pub isActive: bool,
12270        // @@protoc_insertion_point(field:protocol.NodeInfo.PeerInfo.score)
12271        pub score: i32,
12272        // @@protoc_insertion_point(field:protocol.NodeInfo.PeerInfo.nodeCount)
12273        pub nodeCount: i32,
12274        // @@protoc_insertion_point(field:protocol.NodeInfo.PeerInfo.inFlow)
12275        pub inFlow: i64,
12276        // @@protoc_insertion_point(field:protocol.NodeInfo.PeerInfo.disconnectTimes)
12277        pub disconnectTimes: i32,
12278        // @@protoc_insertion_point(field:protocol.NodeInfo.PeerInfo.localDisconnectReason)
12279        pub localDisconnectReason: ::std::string::String,
12280        // @@protoc_insertion_point(field:protocol.NodeInfo.PeerInfo.remoteDisconnectReason)
12281        pub remoteDisconnectReason: ::std::string::String,
12282        // special fields
12283        // @@protoc_insertion_point(special_field:protocol.NodeInfo.PeerInfo.special_fields)
12284        pub special_fields: ::protobuf::SpecialFields,
12285    }
12286
12287    impl<'a> ::std::default::Default for &'a PeerInfo {
12288        fn default() -> &'a PeerInfo {
12289            <PeerInfo as ::protobuf::Message>::default_instance()
12290        }
12291    }
12292
12293    impl PeerInfo {
12294        pub fn new() -> PeerInfo {
12295            ::std::default::Default::default()
12296        }
12297
12298        pub(in super) fn generated_message_descriptor_data() -> ::protobuf::reflect::GeneratedMessageDescriptorData {
12299            let mut fields = ::std::vec::Vec::with_capacity(25);
12300            let mut oneofs = ::std::vec::Vec::with_capacity(0);
12301            fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
12302                "lastSyncBlock",
12303                |m: &PeerInfo| { &m.lastSyncBlock },
12304                |m: &mut PeerInfo| { &mut m.lastSyncBlock },
12305            ));
12306            fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
12307                "remainNum",
12308                |m: &PeerInfo| { &m.remainNum },
12309                |m: &mut PeerInfo| { &mut m.remainNum },
12310            ));
12311            fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
12312                "lastBlockUpdateTime",
12313                |m: &PeerInfo| { &m.lastBlockUpdateTime },
12314                |m: &mut PeerInfo| { &mut m.lastBlockUpdateTime },
12315            ));
12316            fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
12317                "syncFlag",
12318                |m: &PeerInfo| { &m.syncFlag },
12319                |m: &mut PeerInfo| { &mut m.syncFlag },
12320            ));
12321            fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
12322                "headBlockTimeWeBothHave",
12323                |m: &PeerInfo| { &m.headBlockTimeWeBothHave },
12324                |m: &mut PeerInfo| { &mut m.headBlockTimeWeBothHave },
12325            ));
12326            fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
12327                "needSyncFromPeer",
12328                |m: &PeerInfo| { &m.needSyncFromPeer },
12329                |m: &mut PeerInfo| { &mut m.needSyncFromPeer },
12330            ));
12331            fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
12332                "needSyncFromUs",
12333                |m: &PeerInfo| { &m.needSyncFromUs },
12334                |m: &mut PeerInfo| { &mut m.needSyncFromUs },
12335            ));
12336            fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
12337                "host",
12338                |m: &PeerInfo| { &m.host },
12339                |m: &mut PeerInfo| { &mut m.host },
12340            ));
12341            fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
12342                "port",
12343                |m: &PeerInfo| { &m.port },
12344                |m: &mut PeerInfo| { &mut m.port },
12345            ));
12346            fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
12347                "nodeId",
12348                |m: &PeerInfo| { &m.nodeId },
12349                |m: &mut PeerInfo| { &mut m.nodeId },
12350            ));
12351            fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
12352                "connectTime",
12353                |m: &PeerInfo| { &m.connectTime },
12354                |m: &mut PeerInfo| { &mut m.connectTime },
12355            ));
12356            fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
12357                "avgLatency",
12358                |m: &PeerInfo| { &m.avgLatency },
12359                |m: &mut PeerInfo| { &mut m.avgLatency },
12360            ));
12361            fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
12362                "syncToFetchSize",
12363                |m: &PeerInfo| { &m.syncToFetchSize },
12364                |m: &mut PeerInfo| { &mut m.syncToFetchSize },
12365            ));
12366            fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
12367                "syncToFetchSizePeekNum",
12368                |m: &PeerInfo| { &m.syncToFetchSizePeekNum },
12369                |m: &mut PeerInfo| { &mut m.syncToFetchSizePeekNum },
12370            ));
12371            fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
12372                "syncBlockRequestedSize",
12373                |m: &PeerInfo| { &m.syncBlockRequestedSize },
12374                |m: &mut PeerInfo| { &mut m.syncBlockRequestedSize },
12375            ));
12376            fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
12377                "unFetchSynNum",
12378                |m: &PeerInfo| { &m.unFetchSynNum },
12379                |m: &mut PeerInfo| { &mut m.unFetchSynNum },
12380            ));
12381            fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
12382                "blockInPorcSize",
12383                |m: &PeerInfo| { &m.blockInPorcSize },
12384                |m: &mut PeerInfo| { &mut m.blockInPorcSize },
12385            ));
12386            fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
12387                "headBlockWeBothHave",
12388                |m: &PeerInfo| { &m.headBlockWeBothHave },
12389                |m: &mut PeerInfo| { &mut m.headBlockWeBothHave },
12390            ));
12391            fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
12392                "isActive",
12393                |m: &PeerInfo| { &m.isActive },
12394                |m: &mut PeerInfo| { &mut m.isActive },
12395            ));
12396            fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
12397                "score",
12398                |m: &PeerInfo| { &m.score },
12399                |m: &mut PeerInfo| { &mut m.score },
12400            ));
12401            fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
12402                "nodeCount",
12403                |m: &PeerInfo| { &m.nodeCount },
12404                |m: &mut PeerInfo| { &mut m.nodeCount },
12405            ));
12406            fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
12407                "inFlow",
12408                |m: &PeerInfo| { &m.inFlow },
12409                |m: &mut PeerInfo| { &mut m.inFlow },
12410            ));
12411            fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
12412                "disconnectTimes",
12413                |m: &PeerInfo| { &m.disconnectTimes },
12414                |m: &mut PeerInfo| { &mut m.disconnectTimes },
12415            ));
12416            fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
12417                "localDisconnectReason",
12418                |m: &PeerInfo| { &m.localDisconnectReason },
12419                |m: &mut PeerInfo| { &mut m.localDisconnectReason },
12420            ));
12421            fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
12422                "remoteDisconnectReason",
12423                |m: &PeerInfo| { &m.remoteDisconnectReason },
12424                |m: &mut PeerInfo| { &mut m.remoteDisconnectReason },
12425            ));
12426            ::protobuf::reflect::GeneratedMessageDescriptorData::new_2::<PeerInfo>(
12427                "NodeInfo.PeerInfo",
12428                fields,
12429                oneofs,
12430            )
12431        }
12432    }
12433
12434    impl ::protobuf::Message for PeerInfo {
12435        const NAME: &'static str = "PeerInfo";
12436
12437        fn is_initialized(&self) -> bool {
12438            true
12439        }
12440
12441        fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::Result<()> {
12442            while let Some(tag) = is.read_raw_tag_or_eof()? {
12443                match tag {
12444                    10 => {
12445                        self.lastSyncBlock = is.read_string()?;
12446                    },
12447                    16 => {
12448                        self.remainNum = is.read_int64()?;
12449                    },
12450                    24 => {
12451                        self.lastBlockUpdateTime = is.read_int64()?;
12452                    },
12453                    32 => {
12454                        self.syncFlag = is.read_bool()?;
12455                    },
12456                    40 => {
12457                        self.headBlockTimeWeBothHave = is.read_int64()?;
12458                    },
12459                    48 => {
12460                        self.needSyncFromPeer = is.read_bool()?;
12461                    },
12462                    56 => {
12463                        self.needSyncFromUs = is.read_bool()?;
12464                    },
12465                    66 => {
12466                        self.host = is.read_string()?;
12467                    },
12468                    72 => {
12469                        self.port = is.read_int32()?;
12470                    },
12471                    82 => {
12472                        self.nodeId = is.read_string()?;
12473                    },
12474                    88 => {
12475                        self.connectTime = is.read_int64()?;
12476                    },
12477                    97 => {
12478                        self.avgLatency = is.read_double()?;
12479                    },
12480                    104 => {
12481                        self.syncToFetchSize = is.read_int32()?;
12482                    },
12483                    112 => {
12484                        self.syncToFetchSizePeekNum = is.read_int64()?;
12485                    },
12486                    120 => {
12487                        self.syncBlockRequestedSize = is.read_int32()?;
12488                    },
12489                    128 => {
12490                        self.unFetchSynNum = is.read_int64()?;
12491                    },
12492                    136 => {
12493                        self.blockInPorcSize = is.read_int32()?;
12494                    },
12495                    146 => {
12496                        self.headBlockWeBothHave = is.read_string()?;
12497                    },
12498                    152 => {
12499                        self.isActive = is.read_bool()?;
12500                    },
12501                    160 => {
12502                        self.score = is.read_int32()?;
12503                    },
12504                    168 => {
12505                        self.nodeCount = is.read_int32()?;
12506                    },
12507                    176 => {
12508                        self.inFlow = is.read_int64()?;
12509                    },
12510                    184 => {
12511                        self.disconnectTimes = is.read_int32()?;
12512                    },
12513                    194 => {
12514                        self.localDisconnectReason = is.read_string()?;
12515                    },
12516                    202 => {
12517                        self.remoteDisconnectReason = is.read_string()?;
12518                    },
12519                    tag => {
12520                        ::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?;
12521                    },
12522                };
12523            }
12524            ::std::result::Result::Ok(())
12525        }
12526
12527        // Compute sizes of nested messages
12528        #[allow(unused_variables)]
12529        fn compute_size(&self) -> u64 {
12530            let mut my_size = 0;
12531            if !self.lastSyncBlock.is_empty() {
12532                my_size += ::protobuf::rt::string_size(1, &self.lastSyncBlock);
12533            }
12534            if self.remainNum != 0 {
12535                my_size += ::protobuf::rt::int64_size(2, self.remainNum);
12536            }
12537            if self.lastBlockUpdateTime != 0 {
12538                my_size += ::protobuf::rt::int64_size(3, self.lastBlockUpdateTime);
12539            }
12540            if self.syncFlag != false {
12541                my_size += 1 + 1;
12542            }
12543            if self.headBlockTimeWeBothHave != 0 {
12544                my_size += ::protobuf::rt::int64_size(5, self.headBlockTimeWeBothHave);
12545            }
12546            if self.needSyncFromPeer != false {
12547                my_size += 1 + 1;
12548            }
12549            if self.needSyncFromUs != false {
12550                my_size += 1 + 1;
12551            }
12552            if !self.host.is_empty() {
12553                my_size += ::protobuf::rt::string_size(8, &self.host);
12554            }
12555            if self.port != 0 {
12556                my_size += ::protobuf::rt::int32_size(9, self.port);
12557            }
12558            if !self.nodeId.is_empty() {
12559                my_size += ::protobuf::rt::string_size(10, &self.nodeId);
12560            }
12561            if self.connectTime != 0 {
12562                my_size += ::protobuf::rt::int64_size(11, self.connectTime);
12563            }
12564            if self.avgLatency != 0. {
12565                my_size += 1 + 8;
12566            }
12567            if self.syncToFetchSize != 0 {
12568                my_size += ::protobuf::rt::int32_size(13, self.syncToFetchSize);
12569            }
12570            if self.syncToFetchSizePeekNum != 0 {
12571                my_size += ::protobuf::rt::int64_size(14, self.syncToFetchSizePeekNum);
12572            }
12573            if self.syncBlockRequestedSize != 0 {
12574                my_size += ::protobuf::rt::int32_size(15, self.syncBlockRequestedSize);
12575            }
12576            if self.unFetchSynNum != 0 {
12577                my_size += ::protobuf::rt::int64_size(16, self.unFetchSynNum);
12578            }
12579            if self.blockInPorcSize != 0 {
12580                my_size += ::protobuf::rt::int32_size(17, self.blockInPorcSize);
12581            }
12582            if !self.headBlockWeBothHave.is_empty() {
12583                my_size += ::protobuf::rt::string_size(18, &self.headBlockWeBothHave);
12584            }
12585            if self.isActive != false {
12586                my_size += 2 + 1;
12587            }
12588            if self.score != 0 {
12589                my_size += ::protobuf::rt::int32_size(20, self.score);
12590            }
12591            if self.nodeCount != 0 {
12592                my_size += ::protobuf::rt::int32_size(21, self.nodeCount);
12593            }
12594            if self.inFlow != 0 {
12595                my_size += ::protobuf::rt::int64_size(22, self.inFlow);
12596            }
12597            if self.disconnectTimes != 0 {
12598                my_size += ::protobuf::rt::int32_size(23, self.disconnectTimes);
12599            }
12600            if !self.localDisconnectReason.is_empty() {
12601                my_size += ::protobuf::rt::string_size(24, &self.localDisconnectReason);
12602            }
12603            if !self.remoteDisconnectReason.is_empty() {
12604                my_size += ::protobuf::rt::string_size(25, &self.remoteDisconnectReason);
12605            }
12606            my_size += ::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields());
12607            self.special_fields.cached_size().set(my_size as u32);
12608            my_size
12609        }
12610
12611        fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::Result<()> {
12612            if !self.lastSyncBlock.is_empty() {
12613                os.write_string(1, &self.lastSyncBlock)?;
12614            }
12615            if self.remainNum != 0 {
12616                os.write_int64(2, self.remainNum)?;
12617            }
12618            if self.lastBlockUpdateTime != 0 {
12619                os.write_int64(3, self.lastBlockUpdateTime)?;
12620            }
12621            if self.syncFlag != false {
12622                os.write_bool(4, self.syncFlag)?;
12623            }
12624            if self.headBlockTimeWeBothHave != 0 {
12625                os.write_int64(5, self.headBlockTimeWeBothHave)?;
12626            }
12627            if self.needSyncFromPeer != false {
12628                os.write_bool(6, self.needSyncFromPeer)?;
12629            }
12630            if self.needSyncFromUs != false {
12631                os.write_bool(7, self.needSyncFromUs)?;
12632            }
12633            if !self.host.is_empty() {
12634                os.write_string(8, &self.host)?;
12635            }
12636            if self.port != 0 {
12637                os.write_int32(9, self.port)?;
12638            }
12639            if !self.nodeId.is_empty() {
12640                os.write_string(10, &self.nodeId)?;
12641            }
12642            if self.connectTime != 0 {
12643                os.write_int64(11, self.connectTime)?;
12644            }
12645            if self.avgLatency != 0. {
12646                os.write_double(12, self.avgLatency)?;
12647            }
12648            if self.syncToFetchSize != 0 {
12649                os.write_int32(13, self.syncToFetchSize)?;
12650            }
12651            if self.syncToFetchSizePeekNum != 0 {
12652                os.write_int64(14, self.syncToFetchSizePeekNum)?;
12653            }
12654            if self.syncBlockRequestedSize != 0 {
12655                os.write_int32(15, self.syncBlockRequestedSize)?;
12656            }
12657            if self.unFetchSynNum != 0 {
12658                os.write_int64(16, self.unFetchSynNum)?;
12659            }
12660            if self.blockInPorcSize != 0 {
12661                os.write_int32(17, self.blockInPorcSize)?;
12662            }
12663            if !self.headBlockWeBothHave.is_empty() {
12664                os.write_string(18, &self.headBlockWeBothHave)?;
12665            }
12666            if self.isActive != false {
12667                os.write_bool(19, self.isActive)?;
12668            }
12669            if self.score != 0 {
12670                os.write_int32(20, self.score)?;
12671            }
12672            if self.nodeCount != 0 {
12673                os.write_int32(21, self.nodeCount)?;
12674            }
12675            if self.inFlow != 0 {
12676                os.write_int64(22, self.inFlow)?;
12677            }
12678            if self.disconnectTimes != 0 {
12679                os.write_int32(23, self.disconnectTimes)?;
12680            }
12681            if !self.localDisconnectReason.is_empty() {
12682                os.write_string(24, &self.localDisconnectReason)?;
12683            }
12684            if !self.remoteDisconnectReason.is_empty() {
12685                os.write_string(25, &self.remoteDisconnectReason)?;
12686            }
12687            os.write_unknown_fields(self.special_fields.unknown_fields())?;
12688            ::std::result::Result::Ok(())
12689        }
12690
12691        fn special_fields(&self) -> &::protobuf::SpecialFields {
12692            &self.special_fields
12693        }
12694
12695        fn mut_special_fields(&mut self) -> &mut ::protobuf::SpecialFields {
12696            &mut self.special_fields
12697        }
12698
12699        fn new() -> PeerInfo {
12700            PeerInfo::new()
12701        }
12702
12703        fn clear(&mut self) {
12704            self.lastSyncBlock.clear();
12705            self.remainNum = 0;
12706            self.lastBlockUpdateTime = 0;
12707            self.syncFlag = false;
12708            self.headBlockTimeWeBothHave = 0;
12709            self.needSyncFromPeer = false;
12710            self.needSyncFromUs = false;
12711            self.host.clear();
12712            self.port = 0;
12713            self.nodeId.clear();
12714            self.connectTime = 0;
12715            self.avgLatency = 0.;
12716            self.syncToFetchSize = 0;
12717            self.syncToFetchSizePeekNum = 0;
12718            self.syncBlockRequestedSize = 0;
12719            self.unFetchSynNum = 0;
12720            self.blockInPorcSize = 0;
12721            self.headBlockWeBothHave.clear();
12722            self.isActive = false;
12723            self.score = 0;
12724            self.nodeCount = 0;
12725            self.inFlow = 0;
12726            self.disconnectTimes = 0;
12727            self.localDisconnectReason.clear();
12728            self.remoteDisconnectReason.clear();
12729            self.special_fields.clear();
12730        }
12731
12732        fn default_instance() -> &'static PeerInfo {
12733            static instance: PeerInfo = PeerInfo {
12734                lastSyncBlock: ::std::string::String::new(),
12735                remainNum: 0,
12736                lastBlockUpdateTime: 0,
12737                syncFlag: false,
12738                headBlockTimeWeBothHave: 0,
12739                needSyncFromPeer: false,
12740                needSyncFromUs: false,
12741                host: ::std::string::String::new(),
12742                port: 0,
12743                nodeId: ::std::string::String::new(),
12744                connectTime: 0,
12745                avgLatency: 0.,
12746                syncToFetchSize: 0,
12747                syncToFetchSizePeekNum: 0,
12748                syncBlockRequestedSize: 0,
12749                unFetchSynNum: 0,
12750                blockInPorcSize: 0,
12751                headBlockWeBothHave: ::std::string::String::new(),
12752                isActive: false,
12753                score: 0,
12754                nodeCount: 0,
12755                inFlow: 0,
12756                disconnectTimes: 0,
12757                localDisconnectReason: ::std::string::String::new(),
12758                remoteDisconnectReason: ::std::string::String::new(),
12759                special_fields: ::protobuf::SpecialFields::new(),
12760            };
12761            &instance
12762        }
12763    }
12764
12765    impl ::protobuf::MessageFull for PeerInfo {
12766        fn descriptor() -> ::protobuf::reflect::MessageDescriptor {
12767            static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::Lazy::new();
12768            descriptor.get(|| super::file_descriptor().message_by_package_relative_name("NodeInfo.PeerInfo").unwrap()).clone()
12769        }
12770    }
12771
12772    impl ::std::fmt::Display for PeerInfo {
12773        fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
12774            ::protobuf::text_format::fmt(self, f)
12775        }
12776    }
12777
12778    impl ::protobuf::reflect::ProtobufValue for PeerInfo {
12779        type RuntimeType = ::protobuf::reflect::rt::RuntimeTypeMessage<Self>;
12780    }
12781
12782    // @@protoc_insertion_point(message:protocol.NodeInfo.ConfigNodeInfo)
12783    #[derive(PartialEq,Clone,Default,Debug)]
12784    pub struct ConfigNodeInfo {
12785        // message fields
12786        // @@protoc_insertion_point(field:protocol.NodeInfo.ConfigNodeInfo.codeVersion)
12787        pub codeVersion: ::std::string::String,
12788        // @@protoc_insertion_point(field:protocol.NodeInfo.ConfigNodeInfo.p2pVersion)
12789        pub p2pVersion: ::std::string::String,
12790        // @@protoc_insertion_point(field:protocol.NodeInfo.ConfigNodeInfo.listenPort)
12791        pub listenPort: i32,
12792        // @@protoc_insertion_point(field:protocol.NodeInfo.ConfigNodeInfo.discoverEnable)
12793        pub discoverEnable: bool,
12794        // @@protoc_insertion_point(field:protocol.NodeInfo.ConfigNodeInfo.activeNodeSize)
12795        pub activeNodeSize: i32,
12796        // @@protoc_insertion_point(field:protocol.NodeInfo.ConfigNodeInfo.passiveNodeSize)
12797        pub passiveNodeSize: i32,
12798        // @@protoc_insertion_point(field:protocol.NodeInfo.ConfigNodeInfo.sendNodeSize)
12799        pub sendNodeSize: i32,
12800        // @@protoc_insertion_point(field:protocol.NodeInfo.ConfigNodeInfo.maxConnectCount)
12801        pub maxConnectCount: i32,
12802        // @@protoc_insertion_point(field:protocol.NodeInfo.ConfigNodeInfo.sameIpMaxConnectCount)
12803        pub sameIpMaxConnectCount: i32,
12804        // @@protoc_insertion_point(field:protocol.NodeInfo.ConfigNodeInfo.backupListenPort)
12805        pub backupListenPort: i32,
12806        // @@protoc_insertion_point(field:protocol.NodeInfo.ConfigNodeInfo.backupMemberSize)
12807        pub backupMemberSize: i32,
12808        // @@protoc_insertion_point(field:protocol.NodeInfo.ConfigNodeInfo.backupPriority)
12809        pub backupPriority: i32,
12810        // @@protoc_insertion_point(field:protocol.NodeInfo.ConfigNodeInfo.dbVersion)
12811        pub dbVersion: i32,
12812        // @@protoc_insertion_point(field:protocol.NodeInfo.ConfigNodeInfo.minParticipationRate)
12813        pub minParticipationRate: i32,
12814        // @@protoc_insertion_point(field:protocol.NodeInfo.ConfigNodeInfo.supportConstant)
12815        pub supportConstant: bool,
12816        // @@protoc_insertion_point(field:protocol.NodeInfo.ConfigNodeInfo.minTimeRatio)
12817        pub minTimeRatio: f64,
12818        // @@protoc_insertion_point(field:protocol.NodeInfo.ConfigNodeInfo.maxTimeRatio)
12819        pub maxTimeRatio: f64,
12820        // @@protoc_insertion_point(field:protocol.NodeInfo.ConfigNodeInfo.allowCreationOfContracts)
12821        pub allowCreationOfContracts: i64,
12822        // @@protoc_insertion_point(field:protocol.NodeInfo.ConfigNodeInfo.allowAdaptiveEnergy)
12823        pub allowAdaptiveEnergy: i64,
12824        // special fields
12825        // @@protoc_insertion_point(special_field:protocol.NodeInfo.ConfigNodeInfo.special_fields)
12826        pub special_fields: ::protobuf::SpecialFields,
12827    }
12828
12829    impl<'a> ::std::default::Default for &'a ConfigNodeInfo {
12830        fn default() -> &'a ConfigNodeInfo {
12831            <ConfigNodeInfo as ::protobuf::Message>::default_instance()
12832        }
12833    }
12834
12835    impl ConfigNodeInfo {
12836        pub fn new() -> ConfigNodeInfo {
12837            ::std::default::Default::default()
12838        }
12839
12840        pub(in super) fn generated_message_descriptor_data() -> ::protobuf::reflect::GeneratedMessageDescriptorData {
12841            let mut fields = ::std::vec::Vec::with_capacity(19);
12842            let mut oneofs = ::std::vec::Vec::with_capacity(0);
12843            fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
12844                "codeVersion",
12845                |m: &ConfigNodeInfo| { &m.codeVersion },
12846                |m: &mut ConfigNodeInfo| { &mut m.codeVersion },
12847            ));
12848            fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
12849                "p2pVersion",
12850                |m: &ConfigNodeInfo| { &m.p2pVersion },
12851                |m: &mut ConfigNodeInfo| { &mut m.p2pVersion },
12852            ));
12853            fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
12854                "listenPort",
12855                |m: &ConfigNodeInfo| { &m.listenPort },
12856                |m: &mut ConfigNodeInfo| { &mut m.listenPort },
12857            ));
12858            fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
12859                "discoverEnable",
12860                |m: &ConfigNodeInfo| { &m.discoverEnable },
12861                |m: &mut ConfigNodeInfo| { &mut m.discoverEnable },
12862            ));
12863            fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
12864                "activeNodeSize",
12865                |m: &ConfigNodeInfo| { &m.activeNodeSize },
12866                |m: &mut ConfigNodeInfo| { &mut m.activeNodeSize },
12867            ));
12868            fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
12869                "passiveNodeSize",
12870                |m: &ConfigNodeInfo| { &m.passiveNodeSize },
12871                |m: &mut ConfigNodeInfo| { &mut m.passiveNodeSize },
12872            ));
12873            fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
12874                "sendNodeSize",
12875                |m: &ConfigNodeInfo| { &m.sendNodeSize },
12876                |m: &mut ConfigNodeInfo| { &mut m.sendNodeSize },
12877            ));
12878            fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
12879                "maxConnectCount",
12880                |m: &ConfigNodeInfo| { &m.maxConnectCount },
12881                |m: &mut ConfigNodeInfo| { &mut m.maxConnectCount },
12882            ));
12883            fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
12884                "sameIpMaxConnectCount",
12885                |m: &ConfigNodeInfo| { &m.sameIpMaxConnectCount },
12886                |m: &mut ConfigNodeInfo| { &mut m.sameIpMaxConnectCount },
12887            ));
12888            fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
12889                "backupListenPort",
12890                |m: &ConfigNodeInfo| { &m.backupListenPort },
12891                |m: &mut ConfigNodeInfo| { &mut m.backupListenPort },
12892            ));
12893            fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
12894                "backupMemberSize",
12895                |m: &ConfigNodeInfo| { &m.backupMemberSize },
12896                |m: &mut ConfigNodeInfo| { &mut m.backupMemberSize },
12897            ));
12898            fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
12899                "backupPriority",
12900                |m: &ConfigNodeInfo| { &m.backupPriority },
12901                |m: &mut ConfigNodeInfo| { &mut m.backupPriority },
12902            ));
12903            fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
12904                "dbVersion",
12905                |m: &ConfigNodeInfo| { &m.dbVersion },
12906                |m: &mut ConfigNodeInfo| { &mut m.dbVersion },
12907            ));
12908            fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
12909                "minParticipationRate",
12910                |m: &ConfigNodeInfo| { &m.minParticipationRate },
12911                |m: &mut ConfigNodeInfo| { &mut m.minParticipationRate },
12912            ));
12913            fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
12914                "supportConstant",
12915                |m: &ConfigNodeInfo| { &m.supportConstant },
12916                |m: &mut ConfigNodeInfo| { &mut m.supportConstant },
12917            ));
12918            fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
12919                "minTimeRatio",
12920                |m: &ConfigNodeInfo| { &m.minTimeRatio },
12921                |m: &mut ConfigNodeInfo| { &mut m.minTimeRatio },
12922            ));
12923            fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
12924                "maxTimeRatio",
12925                |m: &ConfigNodeInfo| { &m.maxTimeRatio },
12926                |m: &mut ConfigNodeInfo| { &mut m.maxTimeRatio },
12927            ));
12928            fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
12929                "allowCreationOfContracts",
12930                |m: &ConfigNodeInfo| { &m.allowCreationOfContracts },
12931                |m: &mut ConfigNodeInfo| { &mut m.allowCreationOfContracts },
12932            ));
12933            fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
12934                "allowAdaptiveEnergy",
12935                |m: &ConfigNodeInfo| { &m.allowAdaptiveEnergy },
12936                |m: &mut ConfigNodeInfo| { &mut m.allowAdaptiveEnergy },
12937            ));
12938            ::protobuf::reflect::GeneratedMessageDescriptorData::new_2::<ConfigNodeInfo>(
12939                "NodeInfo.ConfigNodeInfo",
12940                fields,
12941                oneofs,
12942            )
12943        }
12944    }
12945
12946    impl ::protobuf::Message for ConfigNodeInfo {
12947        const NAME: &'static str = "ConfigNodeInfo";
12948
12949        fn is_initialized(&self) -> bool {
12950            true
12951        }
12952
12953        fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::Result<()> {
12954            while let Some(tag) = is.read_raw_tag_or_eof()? {
12955                match tag {
12956                    10 => {
12957                        self.codeVersion = is.read_string()?;
12958                    },
12959                    18 => {
12960                        self.p2pVersion = is.read_string()?;
12961                    },
12962                    24 => {
12963                        self.listenPort = is.read_int32()?;
12964                    },
12965                    32 => {
12966                        self.discoverEnable = is.read_bool()?;
12967                    },
12968                    40 => {
12969                        self.activeNodeSize = is.read_int32()?;
12970                    },
12971                    48 => {
12972                        self.passiveNodeSize = is.read_int32()?;
12973                    },
12974                    56 => {
12975                        self.sendNodeSize = is.read_int32()?;
12976                    },
12977                    64 => {
12978                        self.maxConnectCount = is.read_int32()?;
12979                    },
12980                    72 => {
12981                        self.sameIpMaxConnectCount = is.read_int32()?;
12982                    },
12983                    80 => {
12984                        self.backupListenPort = is.read_int32()?;
12985                    },
12986                    88 => {
12987                        self.backupMemberSize = is.read_int32()?;
12988                    },
12989                    96 => {
12990                        self.backupPriority = is.read_int32()?;
12991                    },
12992                    104 => {
12993                        self.dbVersion = is.read_int32()?;
12994                    },
12995                    112 => {
12996                        self.minParticipationRate = is.read_int32()?;
12997                    },
12998                    120 => {
12999                        self.supportConstant = is.read_bool()?;
13000                    },
13001                    129 => {
13002                        self.minTimeRatio = is.read_double()?;
13003                    },
13004                    137 => {
13005                        self.maxTimeRatio = is.read_double()?;
13006                    },
13007                    144 => {
13008                        self.allowCreationOfContracts = is.read_int64()?;
13009                    },
13010                    152 => {
13011                        self.allowAdaptiveEnergy = is.read_int64()?;
13012                    },
13013                    tag => {
13014                        ::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?;
13015                    },
13016                };
13017            }
13018            ::std::result::Result::Ok(())
13019        }
13020
13021        // Compute sizes of nested messages
13022        #[allow(unused_variables)]
13023        fn compute_size(&self) -> u64 {
13024            let mut my_size = 0;
13025            if !self.codeVersion.is_empty() {
13026                my_size += ::protobuf::rt::string_size(1, &self.codeVersion);
13027            }
13028            if !self.p2pVersion.is_empty() {
13029                my_size += ::protobuf::rt::string_size(2, &self.p2pVersion);
13030            }
13031            if self.listenPort != 0 {
13032                my_size += ::protobuf::rt::int32_size(3, self.listenPort);
13033            }
13034            if self.discoverEnable != false {
13035                my_size += 1 + 1;
13036            }
13037            if self.activeNodeSize != 0 {
13038                my_size += ::protobuf::rt::int32_size(5, self.activeNodeSize);
13039            }
13040            if self.passiveNodeSize != 0 {
13041                my_size += ::protobuf::rt::int32_size(6, self.passiveNodeSize);
13042            }
13043            if self.sendNodeSize != 0 {
13044                my_size += ::protobuf::rt::int32_size(7, self.sendNodeSize);
13045            }
13046            if self.maxConnectCount != 0 {
13047                my_size += ::protobuf::rt::int32_size(8, self.maxConnectCount);
13048            }
13049            if self.sameIpMaxConnectCount != 0 {
13050                my_size += ::protobuf::rt::int32_size(9, self.sameIpMaxConnectCount);
13051            }
13052            if self.backupListenPort != 0 {
13053                my_size += ::protobuf::rt::int32_size(10, self.backupListenPort);
13054            }
13055            if self.backupMemberSize != 0 {
13056                my_size += ::protobuf::rt::int32_size(11, self.backupMemberSize);
13057            }
13058            if self.backupPriority != 0 {
13059                my_size += ::protobuf::rt::int32_size(12, self.backupPriority);
13060            }
13061            if self.dbVersion != 0 {
13062                my_size += ::protobuf::rt::int32_size(13, self.dbVersion);
13063            }
13064            if self.minParticipationRate != 0 {
13065                my_size += ::protobuf::rt::int32_size(14, self.minParticipationRate);
13066            }
13067            if self.supportConstant != false {
13068                my_size += 1 + 1;
13069            }
13070            if self.minTimeRatio != 0. {
13071                my_size += 2 + 8;
13072            }
13073            if self.maxTimeRatio != 0. {
13074                my_size += 2 + 8;
13075            }
13076            if self.allowCreationOfContracts != 0 {
13077                my_size += ::protobuf::rt::int64_size(18, self.allowCreationOfContracts);
13078            }
13079            if self.allowAdaptiveEnergy != 0 {
13080                my_size += ::protobuf::rt::int64_size(19, self.allowAdaptiveEnergy);
13081            }
13082            my_size += ::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields());
13083            self.special_fields.cached_size().set(my_size as u32);
13084            my_size
13085        }
13086
13087        fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::Result<()> {
13088            if !self.codeVersion.is_empty() {
13089                os.write_string(1, &self.codeVersion)?;
13090            }
13091            if !self.p2pVersion.is_empty() {
13092                os.write_string(2, &self.p2pVersion)?;
13093            }
13094            if self.listenPort != 0 {
13095                os.write_int32(3, self.listenPort)?;
13096            }
13097            if self.discoverEnable != false {
13098                os.write_bool(4, self.discoverEnable)?;
13099            }
13100            if self.activeNodeSize != 0 {
13101                os.write_int32(5, self.activeNodeSize)?;
13102            }
13103            if self.passiveNodeSize != 0 {
13104                os.write_int32(6, self.passiveNodeSize)?;
13105            }
13106            if self.sendNodeSize != 0 {
13107                os.write_int32(7, self.sendNodeSize)?;
13108            }
13109            if self.maxConnectCount != 0 {
13110                os.write_int32(8, self.maxConnectCount)?;
13111            }
13112            if self.sameIpMaxConnectCount != 0 {
13113                os.write_int32(9, self.sameIpMaxConnectCount)?;
13114            }
13115            if self.backupListenPort != 0 {
13116                os.write_int32(10, self.backupListenPort)?;
13117            }
13118            if self.backupMemberSize != 0 {
13119                os.write_int32(11, self.backupMemberSize)?;
13120            }
13121            if self.backupPriority != 0 {
13122                os.write_int32(12, self.backupPriority)?;
13123            }
13124            if self.dbVersion != 0 {
13125                os.write_int32(13, self.dbVersion)?;
13126            }
13127            if self.minParticipationRate != 0 {
13128                os.write_int32(14, self.minParticipationRate)?;
13129            }
13130            if self.supportConstant != false {
13131                os.write_bool(15, self.supportConstant)?;
13132            }
13133            if self.minTimeRatio != 0. {
13134                os.write_double(16, self.minTimeRatio)?;
13135            }
13136            if self.maxTimeRatio != 0. {
13137                os.write_double(17, self.maxTimeRatio)?;
13138            }
13139            if self.allowCreationOfContracts != 0 {
13140                os.write_int64(18, self.allowCreationOfContracts)?;
13141            }
13142            if self.allowAdaptiveEnergy != 0 {
13143                os.write_int64(19, self.allowAdaptiveEnergy)?;
13144            }
13145            os.write_unknown_fields(self.special_fields.unknown_fields())?;
13146            ::std::result::Result::Ok(())
13147        }
13148
13149        fn special_fields(&self) -> &::protobuf::SpecialFields {
13150            &self.special_fields
13151        }
13152
13153        fn mut_special_fields(&mut self) -> &mut ::protobuf::SpecialFields {
13154            &mut self.special_fields
13155        }
13156
13157        fn new() -> ConfigNodeInfo {
13158            ConfigNodeInfo::new()
13159        }
13160
13161        fn clear(&mut self) {
13162            self.codeVersion.clear();
13163            self.p2pVersion.clear();
13164            self.listenPort = 0;
13165            self.discoverEnable = false;
13166            self.activeNodeSize = 0;
13167            self.passiveNodeSize = 0;
13168            self.sendNodeSize = 0;
13169            self.maxConnectCount = 0;
13170            self.sameIpMaxConnectCount = 0;
13171            self.backupListenPort = 0;
13172            self.backupMemberSize = 0;
13173            self.backupPriority = 0;
13174            self.dbVersion = 0;
13175            self.minParticipationRate = 0;
13176            self.supportConstant = false;
13177            self.minTimeRatio = 0.;
13178            self.maxTimeRatio = 0.;
13179            self.allowCreationOfContracts = 0;
13180            self.allowAdaptiveEnergy = 0;
13181            self.special_fields.clear();
13182        }
13183
13184        fn default_instance() -> &'static ConfigNodeInfo {
13185            static instance: ConfigNodeInfo = ConfigNodeInfo {
13186                codeVersion: ::std::string::String::new(),
13187                p2pVersion: ::std::string::String::new(),
13188                listenPort: 0,
13189                discoverEnable: false,
13190                activeNodeSize: 0,
13191                passiveNodeSize: 0,
13192                sendNodeSize: 0,
13193                maxConnectCount: 0,
13194                sameIpMaxConnectCount: 0,
13195                backupListenPort: 0,
13196                backupMemberSize: 0,
13197                backupPriority: 0,
13198                dbVersion: 0,
13199                minParticipationRate: 0,
13200                supportConstant: false,
13201                minTimeRatio: 0.,
13202                maxTimeRatio: 0.,
13203                allowCreationOfContracts: 0,
13204                allowAdaptiveEnergy: 0,
13205                special_fields: ::protobuf::SpecialFields::new(),
13206            };
13207            &instance
13208        }
13209    }
13210
13211    impl ::protobuf::MessageFull for ConfigNodeInfo {
13212        fn descriptor() -> ::protobuf::reflect::MessageDescriptor {
13213            static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::Lazy::new();
13214            descriptor.get(|| super::file_descriptor().message_by_package_relative_name("NodeInfo.ConfigNodeInfo").unwrap()).clone()
13215        }
13216    }
13217
13218    impl ::std::fmt::Display for ConfigNodeInfo {
13219        fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
13220            ::protobuf::text_format::fmt(self, f)
13221        }
13222    }
13223
13224    impl ::protobuf::reflect::ProtobufValue for ConfigNodeInfo {
13225        type RuntimeType = ::protobuf::reflect::rt::RuntimeTypeMessage<Self>;
13226    }
13227
13228    // @@protoc_insertion_point(message:protocol.NodeInfo.MachineInfo)
13229    #[derive(PartialEq,Clone,Default,Debug)]
13230    pub struct MachineInfo {
13231        // message fields
13232        // @@protoc_insertion_point(field:protocol.NodeInfo.MachineInfo.threadCount)
13233        pub threadCount: i32,
13234        // @@protoc_insertion_point(field:protocol.NodeInfo.MachineInfo.deadLockThreadCount)
13235        pub deadLockThreadCount: i32,
13236        // @@protoc_insertion_point(field:protocol.NodeInfo.MachineInfo.cpuCount)
13237        pub cpuCount: i32,
13238        // @@protoc_insertion_point(field:protocol.NodeInfo.MachineInfo.totalMemory)
13239        pub totalMemory: i64,
13240        // @@protoc_insertion_point(field:protocol.NodeInfo.MachineInfo.freeMemory)
13241        pub freeMemory: i64,
13242        // @@protoc_insertion_point(field:protocol.NodeInfo.MachineInfo.cpuRate)
13243        pub cpuRate: f64,
13244        // @@protoc_insertion_point(field:protocol.NodeInfo.MachineInfo.javaVersion)
13245        pub javaVersion: ::std::string::String,
13246        // @@protoc_insertion_point(field:protocol.NodeInfo.MachineInfo.osName)
13247        pub osName: ::std::string::String,
13248        // @@protoc_insertion_point(field:protocol.NodeInfo.MachineInfo.jvmTotalMemory)
13249        pub jvmTotalMemory: i64,
13250        // @@protoc_insertion_point(field:protocol.NodeInfo.MachineInfo.jvmFreeMemory)
13251        pub jvmFreeMemory: i64,
13252        // @@protoc_insertion_point(field:protocol.NodeInfo.MachineInfo.processCpuRate)
13253        pub processCpuRate: f64,
13254        // @@protoc_insertion_point(field:protocol.NodeInfo.MachineInfo.memoryDescInfoList)
13255        pub memoryDescInfoList: ::std::vec::Vec<machine_info::MemoryDescInfo>,
13256        // @@protoc_insertion_point(field:protocol.NodeInfo.MachineInfo.deadLockThreadInfoList)
13257        pub deadLockThreadInfoList: ::std::vec::Vec<machine_info::DeadLockThreadInfo>,
13258        // special fields
13259        // @@protoc_insertion_point(special_field:protocol.NodeInfo.MachineInfo.special_fields)
13260        pub special_fields: ::protobuf::SpecialFields,
13261    }
13262
13263    impl<'a> ::std::default::Default for &'a MachineInfo {
13264        fn default() -> &'a MachineInfo {
13265            <MachineInfo as ::protobuf::Message>::default_instance()
13266        }
13267    }
13268
13269    impl MachineInfo {
13270        pub fn new() -> MachineInfo {
13271            ::std::default::Default::default()
13272        }
13273
13274        pub(in super) fn generated_message_descriptor_data() -> ::protobuf::reflect::GeneratedMessageDescriptorData {
13275            let mut fields = ::std::vec::Vec::with_capacity(13);
13276            let mut oneofs = ::std::vec::Vec::with_capacity(0);
13277            fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
13278                "threadCount",
13279                |m: &MachineInfo| { &m.threadCount },
13280                |m: &mut MachineInfo| { &mut m.threadCount },
13281            ));
13282            fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
13283                "deadLockThreadCount",
13284                |m: &MachineInfo| { &m.deadLockThreadCount },
13285                |m: &mut MachineInfo| { &mut m.deadLockThreadCount },
13286            ));
13287            fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
13288                "cpuCount",
13289                |m: &MachineInfo| { &m.cpuCount },
13290                |m: &mut MachineInfo| { &mut m.cpuCount },
13291            ));
13292            fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
13293                "totalMemory",
13294                |m: &MachineInfo| { &m.totalMemory },
13295                |m: &mut MachineInfo| { &mut m.totalMemory },
13296            ));
13297            fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
13298                "freeMemory",
13299                |m: &MachineInfo| { &m.freeMemory },
13300                |m: &mut MachineInfo| { &mut m.freeMemory },
13301            ));
13302            fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
13303                "cpuRate",
13304                |m: &MachineInfo| { &m.cpuRate },
13305                |m: &mut MachineInfo| { &mut m.cpuRate },
13306            ));
13307            fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
13308                "javaVersion",
13309                |m: &MachineInfo| { &m.javaVersion },
13310                |m: &mut MachineInfo| { &mut m.javaVersion },
13311            ));
13312            fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
13313                "osName",
13314                |m: &MachineInfo| { &m.osName },
13315                |m: &mut MachineInfo| { &mut m.osName },
13316            ));
13317            fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
13318                "jvmTotalMemory",
13319                |m: &MachineInfo| { &m.jvmTotalMemory },
13320                |m: &mut MachineInfo| { &mut m.jvmTotalMemory },
13321            ));
13322            fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
13323                "jvmFreeMemory",
13324                |m: &MachineInfo| { &m.jvmFreeMemory },
13325                |m: &mut MachineInfo| { &mut m.jvmFreeMemory },
13326            ));
13327            fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
13328                "processCpuRate",
13329                |m: &MachineInfo| { &m.processCpuRate },
13330                |m: &mut MachineInfo| { &mut m.processCpuRate },
13331            ));
13332            fields.push(::protobuf::reflect::rt::v2::make_vec_simpler_accessor::<_, _>(
13333                "memoryDescInfoList",
13334                |m: &MachineInfo| { &m.memoryDescInfoList },
13335                |m: &mut MachineInfo| { &mut m.memoryDescInfoList },
13336            ));
13337            fields.push(::protobuf::reflect::rt::v2::make_vec_simpler_accessor::<_, _>(
13338                "deadLockThreadInfoList",
13339                |m: &MachineInfo| { &m.deadLockThreadInfoList },
13340                |m: &mut MachineInfo| { &mut m.deadLockThreadInfoList },
13341            ));
13342            ::protobuf::reflect::GeneratedMessageDescriptorData::new_2::<MachineInfo>(
13343                "NodeInfo.MachineInfo",
13344                fields,
13345                oneofs,
13346            )
13347        }
13348    }
13349
13350    impl ::protobuf::Message for MachineInfo {
13351        const NAME: &'static str = "MachineInfo";
13352
13353        fn is_initialized(&self) -> bool {
13354            true
13355        }
13356
13357        fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::Result<()> {
13358            while let Some(tag) = is.read_raw_tag_or_eof()? {
13359                match tag {
13360                    8 => {
13361                        self.threadCount = is.read_int32()?;
13362                    },
13363                    16 => {
13364                        self.deadLockThreadCount = is.read_int32()?;
13365                    },
13366                    24 => {
13367                        self.cpuCount = is.read_int32()?;
13368                    },
13369                    32 => {
13370                        self.totalMemory = is.read_int64()?;
13371                    },
13372                    40 => {
13373                        self.freeMemory = is.read_int64()?;
13374                    },
13375                    49 => {
13376                        self.cpuRate = is.read_double()?;
13377                    },
13378                    58 => {
13379                        self.javaVersion = is.read_string()?;
13380                    },
13381                    66 => {
13382                        self.osName = is.read_string()?;
13383                    },
13384                    72 => {
13385                        self.jvmTotalMemory = is.read_int64()?;
13386                    },
13387                    80 => {
13388                        self.jvmFreeMemory = is.read_int64()?;
13389                    },
13390                    89 => {
13391                        self.processCpuRate = is.read_double()?;
13392                    },
13393                    98 => {
13394                        self.memoryDescInfoList.push(is.read_message()?);
13395                    },
13396                    106 => {
13397                        self.deadLockThreadInfoList.push(is.read_message()?);
13398                    },
13399                    tag => {
13400                        ::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?;
13401                    },
13402                };
13403            }
13404            ::std::result::Result::Ok(())
13405        }
13406
13407        // Compute sizes of nested messages
13408        #[allow(unused_variables)]
13409        fn compute_size(&self) -> u64 {
13410            let mut my_size = 0;
13411            if self.threadCount != 0 {
13412                my_size += ::protobuf::rt::int32_size(1, self.threadCount);
13413            }
13414            if self.deadLockThreadCount != 0 {
13415                my_size += ::protobuf::rt::int32_size(2, self.deadLockThreadCount);
13416            }
13417            if self.cpuCount != 0 {
13418                my_size += ::protobuf::rt::int32_size(3, self.cpuCount);
13419            }
13420            if self.totalMemory != 0 {
13421                my_size += ::protobuf::rt::int64_size(4, self.totalMemory);
13422            }
13423            if self.freeMemory != 0 {
13424                my_size += ::protobuf::rt::int64_size(5, self.freeMemory);
13425            }
13426            if self.cpuRate != 0. {
13427                my_size += 1 + 8;
13428            }
13429            if !self.javaVersion.is_empty() {
13430                my_size += ::protobuf::rt::string_size(7, &self.javaVersion);
13431            }
13432            if !self.osName.is_empty() {
13433                my_size += ::protobuf::rt::string_size(8, &self.osName);
13434            }
13435            if self.jvmTotalMemory != 0 {
13436                my_size += ::protobuf::rt::int64_size(9, self.jvmTotalMemory);
13437            }
13438            if self.jvmFreeMemory != 0 {
13439                my_size += ::protobuf::rt::int64_size(10, self.jvmFreeMemory);
13440            }
13441            if self.processCpuRate != 0. {
13442                my_size += 1 + 8;
13443            }
13444            for value in &self.memoryDescInfoList {
13445                let len = value.compute_size();
13446                my_size += 1 + ::protobuf::rt::compute_raw_varint64_size(len) + len;
13447            };
13448            for value in &self.deadLockThreadInfoList {
13449                let len = value.compute_size();
13450                my_size += 1 + ::protobuf::rt::compute_raw_varint64_size(len) + len;
13451            };
13452            my_size += ::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields());
13453            self.special_fields.cached_size().set(my_size as u32);
13454            my_size
13455        }
13456
13457        fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::Result<()> {
13458            if self.threadCount != 0 {
13459                os.write_int32(1, self.threadCount)?;
13460            }
13461            if self.deadLockThreadCount != 0 {
13462                os.write_int32(2, self.deadLockThreadCount)?;
13463            }
13464            if self.cpuCount != 0 {
13465                os.write_int32(3, self.cpuCount)?;
13466            }
13467            if self.totalMemory != 0 {
13468                os.write_int64(4, self.totalMemory)?;
13469            }
13470            if self.freeMemory != 0 {
13471                os.write_int64(5, self.freeMemory)?;
13472            }
13473            if self.cpuRate != 0. {
13474                os.write_double(6, self.cpuRate)?;
13475            }
13476            if !self.javaVersion.is_empty() {
13477                os.write_string(7, &self.javaVersion)?;
13478            }
13479            if !self.osName.is_empty() {
13480                os.write_string(8, &self.osName)?;
13481            }
13482            if self.jvmTotalMemory != 0 {
13483                os.write_int64(9, self.jvmTotalMemory)?;
13484            }
13485            if self.jvmFreeMemory != 0 {
13486                os.write_int64(10, self.jvmFreeMemory)?;
13487            }
13488            if self.processCpuRate != 0. {
13489                os.write_double(11, self.processCpuRate)?;
13490            }
13491            for v in &self.memoryDescInfoList {
13492                ::protobuf::rt::write_message_field_with_cached_size(12, v, os)?;
13493            };
13494            for v in &self.deadLockThreadInfoList {
13495                ::protobuf::rt::write_message_field_with_cached_size(13, v, os)?;
13496            };
13497            os.write_unknown_fields(self.special_fields.unknown_fields())?;
13498            ::std::result::Result::Ok(())
13499        }
13500
13501        fn special_fields(&self) -> &::protobuf::SpecialFields {
13502            &self.special_fields
13503        }
13504
13505        fn mut_special_fields(&mut self) -> &mut ::protobuf::SpecialFields {
13506            &mut self.special_fields
13507        }
13508
13509        fn new() -> MachineInfo {
13510            MachineInfo::new()
13511        }
13512
13513        fn clear(&mut self) {
13514            self.threadCount = 0;
13515            self.deadLockThreadCount = 0;
13516            self.cpuCount = 0;
13517            self.totalMemory = 0;
13518            self.freeMemory = 0;
13519            self.cpuRate = 0.;
13520            self.javaVersion.clear();
13521            self.osName.clear();
13522            self.jvmTotalMemory = 0;
13523            self.jvmFreeMemory = 0;
13524            self.processCpuRate = 0.;
13525            self.memoryDescInfoList.clear();
13526            self.deadLockThreadInfoList.clear();
13527            self.special_fields.clear();
13528        }
13529
13530        fn default_instance() -> &'static MachineInfo {
13531            static instance: MachineInfo = MachineInfo {
13532                threadCount: 0,
13533                deadLockThreadCount: 0,
13534                cpuCount: 0,
13535                totalMemory: 0,
13536                freeMemory: 0,
13537                cpuRate: 0.,
13538                javaVersion: ::std::string::String::new(),
13539                osName: ::std::string::String::new(),
13540                jvmTotalMemory: 0,
13541                jvmFreeMemory: 0,
13542                processCpuRate: 0.,
13543                memoryDescInfoList: ::std::vec::Vec::new(),
13544                deadLockThreadInfoList: ::std::vec::Vec::new(),
13545                special_fields: ::protobuf::SpecialFields::new(),
13546            };
13547            &instance
13548        }
13549    }
13550
13551    impl ::protobuf::MessageFull for MachineInfo {
13552        fn descriptor() -> ::protobuf::reflect::MessageDescriptor {
13553            static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::Lazy::new();
13554            descriptor.get(|| super::file_descriptor().message_by_package_relative_name("NodeInfo.MachineInfo").unwrap()).clone()
13555        }
13556    }
13557
13558    impl ::std::fmt::Display for MachineInfo {
13559        fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
13560            ::protobuf::text_format::fmt(self, f)
13561        }
13562    }
13563
13564    impl ::protobuf::reflect::ProtobufValue for MachineInfo {
13565        type RuntimeType = ::protobuf::reflect::rt::RuntimeTypeMessage<Self>;
13566    }
13567
13568    /// Nested message and enums of message `MachineInfo`
13569    pub mod machine_info {
13570        // @@protoc_insertion_point(message:protocol.NodeInfo.MachineInfo.MemoryDescInfo)
13571        #[derive(PartialEq,Clone,Default,Debug)]
13572        pub struct MemoryDescInfo {
13573            // message fields
13574            // @@protoc_insertion_point(field:protocol.NodeInfo.MachineInfo.MemoryDescInfo.name)
13575            pub name: ::std::string::String,
13576            // @@protoc_insertion_point(field:protocol.NodeInfo.MachineInfo.MemoryDescInfo.initSize)
13577            pub initSize: i64,
13578            // @@protoc_insertion_point(field:protocol.NodeInfo.MachineInfo.MemoryDescInfo.useSize)
13579            pub useSize: i64,
13580            // @@protoc_insertion_point(field:protocol.NodeInfo.MachineInfo.MemoryDescInfo.maxSize)
13581            pub maxSize: i64,
13582            // @@protoc_insertion_point(field:protocol.NodeInfo.MachineInfo.MemoryDescInfo.useRate)
13583            pub useRate: f64,
13584            // special fields
13585            // @@protoc_insertion_point(special_field:protocol.NodeInfo.MachineInfo.MemoryDescInfo.special_fields)
13586            pub special_fields: ::protobuf::SpecialFields,
13587        }
13588
13589        impl<'a> ::std::default::Default for &'a MemoryDescInfo {
13590            fn default() -> &'a MemoryDescInfo {
13591                <MemoryDescInfo as ::protobuf::Message>::default_instance()
13592            }
13593        }
13594
13595        impl MemoryDescInfo {
13596            pub fn new() -> MemoryDescInfo {
13597                ::std::default::Default::default()
13598            }
13599
13600            pub(in super::super) fn generated_message_descriptor_data() -> ::protobuf::reflect::GeneratedMessageDescriptorData {
13601                let mut fields = ::std::vec::Vec::with_capacity(5);
13602                let mut oneofs = ::std::vec::Vec::with_capacity(0);
13603                fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
13604                    "name",
13605                    |m: &MemoryDescInfo| { &m.name },
13606                    |m: &mut MemoryDescInfo| { &mut m.name },
13607                ));
13608                fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
13609                    "initSize",
13610                    |m: &MemoryDescInfo| { &m.initSize },
13611                    |m: &mut MemoryDescInfo| { &mut m.initSize },
13612                ));
13613                fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
13614                    "useSize",
13615                    |m: &MemoryDescInfo| { &m.useSize },
13616                    |m: &mut MemoryDescInfo| { &mut m.useSize },
13617                ));
13618                fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
13619                    "maxSize",
13620                    |m: &MemoryDescInfo| { &m.maxSize },
13621                    |m: &mut MemoryDescInfo| { &mut m.maxSize },
13622                ));
13623                fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
13624                    "useRate",
13625                    |m: &MemoryDescInfo| { &m.useRate },
13626                    |m: &mut MemoryDescInfo| { &mut m.useRate },
13627                ));
13628                ::protobuf::reflect::GeneratedMessageDescriptorData::new_2::<MemoryDescInfo>(
13629                    "NodeInfo.MachineInfo.MemoryDescInfo",
13630                    fields,
13631                    oneofs,
13632                )
13633            }
13634        }
13635
13636        impl ::protobuf::Message for MemoryDescInfo {
13637            const NAME: &'static str = "MemoryDescInfo";
13638
13639            fn is_initialized(&self) -> bool {
13640                true
13641            }
13642
13643            fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::Result<()> {
13644                while let Some(tag) = is.read_raw_tag_or_eof()? {
13645                    match tag {
13646                        10 => {
13647                            self.name = is.read_string()?;
13648                        },
13649                        16 => {
13650                            self.initSize = is.read_int64()?;
13651                        },
13652                        24 => {
13653                            self.useSize = is.read_int64()?;
13654                        },
13655                        32 => {
13656                            self.maxSize = is.read_int64()?;
13657                        },
13658                        41 => {
13659                            self.useRate = is.read_double()?;
13660                        },
13661                        tag => {
13662                            ::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?;
13663                        },
13664                    };
13665                }
13666                ::std::result::Result::Ok(())
13667            }
13668
13669            // Compute sizes of nested messages
13670            #[allow(unused_variables)]
13671            fn compute_size(&self) -> u64 {
13672                let mut my_size = 0;
13673                if !self.name.is_empty() {
13674                    my_size += ::protobuf::rt::string_size(1, &self.name);
13675                }
13676                if self.initSize != 0 {
13677                    my_size += ::protobuf::rt::int64_size(2, self.initSize);
13678                }
13679                if self.useSize != 0 {
13680                    my_size += ::protobuf::rt::int64_size(3, self.useSize);
13681                }
13682                if self.maxSize != 0 {
13683                    my_size += ::protobuf::rt::int64_size(4, self.maxSize);
13684                }
13685                if self.useRate != 0. {
13686                    my_size += 1 + 8;
13687                }
13688                my_size += ::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields());
13689                self.special_fields.cached_size().set(my_size as u32);
13690                my_size
13691            }
13692
13693            fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::Result<()> {
13694                if !self.name.is_empty() {
13695                    os.write_string(1, &self.name)?;
13696                }
13697                if self.initSize != 0 {
13698                    os.write_int64(2, self.initSize)?;
13699                }
13700                if self.useSize != 0 {
13701                    os.write_int64(3, self.useSize)?;
13702                }
13703                if self.maxSize != 0 {
13704                    os.write_int64(4, self.maxSize)?;
13705                }
13706                if self.useRate != 0. {
13707                    os.write_double(5, self.useRate)?;
13708                }
13709                os.write_unknown_fields(self.special_fields.unknown_fields())?;
13710                ::std::result::Result::Ok(())
13711            }
13712
13713            fn special_fields(&self) -> &::protobuf::SpecialFields {
13714                &self.special_fields
13715            }
13716
13717            fn mut_special_fields(&mut self) -> &mut ::protobuf::SpecialFields {
13718                &mut self.special_fields
13719            }
13720
13721            fn new() -> MemoryDescInfo {
13722                MemoryDescInfo::new()
13723            }
13724
13725            fn clear(&mut self) {
13726                self.name.clear();
13727                self.initSize = 0;
13728                self.useSize = 0;
13729                self.maxSize = 0;
13730                self.useRate = 0.;
13731                self.special_fields.clear();
13732            }
13733
13734            fn default_instance() -> &'static MemoryDescInfo {
13735                static instance: MemoryDescInfo = MemoryDescInfo {
13736                    name: ::std::string::String::new(),
13737                    initSize: 0,
13738                    useSize: 0,
13739                    maxSize: 0,
13740                    useRate: 0.,
13741                    special_fields: ::protobuf::SpecialFields::new(),
13742                };
13743                &instance
13744            }
13745        }
13746
13747        impl ::protobuf::MessageFull for MemoryDescInfo {
13748            fn descriptor() -> ::protobuf::reflect::MessageDescriptor {
13749                static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::Lazy::new();
13750                descriptor.get(|| super::super::file_descriptor().message_by_package_relative_name("NodeInfo.MachineInfo.MemoryDescInfo").unwrap()).clone()
13751            }
13752        }
13753
13754        impl ::std::fmt::Display for MemoryDescInfo {
13755            fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
13756                ::protobuf::text_format::fmt(self, f)
13757            }
13758        }
13759
13760        impl ::protobuf::reflect::ProtobufValue for MemoryDescInfo {
13761            type RuntimeType = ::protobuf::reflect::rt::RuntimeTypeMessage<Self>;
13762        }
13763
13764        // @@protoc_insertion_point(message:protocol.NodeInfo.MachineInfo.DeadLockThreadInfo)
13765        #[derive(PartialEq,Clone,Default,Debug)]
13766        pub struct DeadLockThreadInfo {
13767            // message fields
13768            // @@protoc_insertion_point(field:protocol.NodeInfo.MachineInfo.DeadLockThreadInfo.name)
13769            pub name: ::std::string::String,
13770            // @@protoc_insertion_point(field:protocol.NodeInfo.MachineInfo.DeadLockThreadInfo.lockName)
13771            pub lockName: ::std::string::String,
13772            // @@protoc_insertion_point(field:protocol.NodeInfo.MachineInfo.DeadLockThreadInfo.lockOwner)
13773            pub lockOwner: ::std::string::String,
13774            // @@protoc_insertion_point(field:protocol.NodeInfo.MachineInfo.DeadLockThreadInfo.state)
13775            pub state: ::std::string::String,
13776            // @@protoc_insertion_point(field:protocol.NodeInfo.MachineInfo.DeadLockThreadInfo.blockTime)
13777            pub blockTime: i64,
13778            // @@protoc_insertion_point(field:protocol.NodeInfo.MachineInfo.DeadLockThreadInfo.waitTime)
13779            pub waitTime: i64,
13780            // @@protoc_insertion_point(field:protocol.NodeInfo.MachineInfo.DeadLockThreadInfo.stackTrace)
13781            pub stackTrace: ::std::string::String,
13782            // special fields
13783            // @@protoc_insertion_point(special_field:protocol.NodeInfo.MachineInfo.DeadLockThreadInfo.special_fields)
13784            pub special_fields: ::protobuf::SpecialFields,
13785        }
13786
13787        impl<'a> ::std::default::Default for &'a DeadLockThreadInfo {
13788            fn default() -> &'a DeadLockThreadInfo {
13789                <DeadLockThreadInfo as ::protobuf::Message>::default_instance()
13790            }
13791        }
13792
13793        impl DeadLockThreadInfo {
13794            pub fn new() -> DeadLockThreadInfo {
13795                ::std::default::Default::default()
13796            }
13797
13798            pub(in super::super) fn generated_message_descriptor_data() -> ::protobuf::reflect::GeneratedMessageDescriptorData {
13799                let mut fields = ::std::vec::Vec::with_capacity(7);
13800                let mut oneofs = ::std::vec::Vec::with_capacity(0);
13801                fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
13802                    "name",
13803                    |m: &DeadLockThreadInfo| { &m.name },
13804                    |m: &mut DeadLockThreadInfo| { &mut m.name },
13805                ));
13806                fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
13807                    "lockName",
13808                    |m: &DeadLockThreadInfo| { &m.lockName },
13809                    |m: &mut DeadLockThreadInfo| { &mut m.lockName },
13810                ));
13811                fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
13812                    "lockOwner",
13813                    |m: &DeadLockThreadInfo| { &m.lockOwner },
13814                    |m: &mut DeadLockThreadInfo| { &mut m.lockOwner },
13815                ));
13816                fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
13817                    "state",
13818                    |m: &DeadLockThreadInfo| { &m.state },
13819                    |m: &mut DeadLockThreadInfo| { &mut m.state },
13820                ));
13821                fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
13822                    "blockTime",
13823                    |m: &DeadLockThreadInfo| { &m.blockTime },
13824                    |m: &mut DeadLockThreadInfo| { &mut m.blockTime },
13825                ));
13826                fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
13827                    "waitTime",
13828                    |m: &DeadLockThreadInfo| { &m.waitTime },
13829                    |m: &mut DeadLockThreadInfo| { &mut m.waitTime },
13830                ));
13831                fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
13832                    "stackTrace",
13833                    |m: &DeadLockThreadInfo| { &m.stackTrace },
13834                    |m: &mut DeadLockThreadInfo| { &mut m.stackTrace },
13835                ));
13836                ::protobuf::reflect::GeneratedMessageDescriptorData::new_2::<DeadLockThreadInfo>(
13837                    "NodeInfo.MachineInfo.DeadLockThreadInfo",
13838                    fields,
13839                    oneofs,
13840                )
13841            }
13842        }
13843
13844        impl ::protobuf::Message for DeadLockThreadInfo {
13845            const NAME: &'static str = "DeadLockThreadInfo";
13846
13847            fn is_initialized(&self) -> bool {
13848                true
13849            }
13850
13851            fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::Result<()> {
13852                while let Some(tag) = is.read_raw_tag_or_eof()? {
13853                    match tag {
13854                        10 => {
13855                            self.name = is.read_string()?;
13856                        },
13857                        18 => {
13858                            self.lockName = is.read_string()?;
13859                        },
13860                        26 => {
13861                            self.lockOwner = is.read_string()?;
13862                        },
13863                        34 => {
13864                            self.state = is.read_string()?;
13865                        },
13866                        40 => {
13867                            self.blockTime = is.read_int64()?;
13868                        },
13869                        48 => {
13870                            self.waitTime = is.read_int64()?;
13871                        },
13872                        58 => {
13873                            self.stackTrace = is.read_string()?;
13874                        },
13875                        tag => {
13876                            ::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?;
13877                        },
13878                    };
13879                }
13880                ::std::result::Result::Ok(())
13881            }
13882
13883            // Compute sizes of nested messages
13884            #[allow(unused_variables)]
13885            fn compute_size(&self) -> u64 {
13886                let mut my_size = 0;
13887                if !self.name.is_empty() {
13888                    my_size += ::protobuf::rt::string_size(1, &self.name);
13889                }
13890                if !self.lockName.is_empty() {
13891                    my_size += ::protobuf::rt::string_size(2, &self.lockName);
13892                }
13893                if !self.lockOwner.is_empty() {
13894                    my_size += ::protobuf::rt::string_size(3, &self.lockOwner);
13895                }
13896                if !self.state.is_empty() {
13897                    my_size += ::protobuf::rt::string_size(4, &self.state);
13898                }
13899                if self.blockTime != 0 {
13900                    my_size += ::protobuf::rt::int64_size(5, self.blockTime);
13901                }
13902                if self.waitTime != 0 {
13903                    my_size += ::protobuf::rt::int64_size(6, self.waitTime);
13904                }
13905                if !self.stackTrace.is_empty() {
13906                    my_size += ::protobuf::rt::string_size(7, &self.stackTrace);
13907                }
13908                my_size += ::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields());
13909                self.special_fields.cached_size().set(my_size as u32);
13910                my_size
13911            }
13912
13913            fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::Result<()> {
13914                if !self.name.is_empty() {
13915                    os.write_string(1, &self.name)?;
13916                }
13917                if !self.lockName.is_empty() {
13918                    os.write_string(2, &self.lockName)?;
13919                }
13920                if !self.lockOwner.is_empty() {
13921                    os.write_string(3, &self.lockOwner)?;
13922                }
13923                if !self.state.is_empty() {
13924                    os.write_string(4, &self.state)?;
13925                }
13926                if self.blockTime != 0 {
13927                    os.write_int64(5, self.blockTime)?;
13928                }
13929                if self.waitTime != 0 {
13930                    os.write_int64(6, self.waitTime)?;
13931                }
13932                if !self.stackTrace.is_empty() {
13933                    os.write_string(7, &self.stackTrace)?;
13934                }
13935                os.write_unknown_fields(self.special_fields.unknown_fields())?;
13936                ::std::result::Result::Ok(())
13937            }
13938
13939            fn special_fields(&self) -> &::protobuf::SpecialFields {
13940                &self.special_fields
13941            }
13942
13943            fn mut_special_fields(&mut self) -> &mut ::protobuf::SpecialFields {
13944                &mut self.special_fields
13945            }
13946
13947            fn new() -> DeadLockThreadInfo {
13948                DeadLockThreadInfo::new()
13949            }
13950
13951            fn clear(&mut self) {
13952                self.name.clear();
13953                self.lockName.clear();
13954                self.lockOwner.clear();
13955                self.state.clear();
13956                self.blockTime = 0;
13957                self.waitTime = 0;
13958                self.stackTrace.clear();
13959                self.special_fields.clear();
13960            }
13961
13962            fn default_instance() -> &'static DeadLockThreadInfo {
13963                static instance: DeadLockThreadInfo = DeadLockThreadInfo {
13964                    name: ::std::string::String::new(),
13965                    lockName: ::std::string::String::new(),
13966                    lockOwner: ::std::string::String::new(),
13967                    state: ::std::string::String::new(),
13968                    blockTime: 0,
13969                    waitTime: 0,
13970                    stackTrace: ::std::string::String::new(),
13971                    special_fields: ::protobuf::SpecialFields::new(),
13972                };
13973                &instance
13974            }
13975        }
13976
13977        impl ::protobuf::MessageFull for DeadLockThreadInfo {
13978            fn descriptor() -> ::protobuf::reflect::MessageDescriptor {
13979                static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::Lazy::new();
13980                descriptor.get(|| super::super::file_descriptor().message_by_package_relative_name("NodeInfo.MachineInfo.DeadLockThreadInfo").unwrap()).clone()
13981            }
13982        }
13983
13984        impl ::std::fmt::Display for DeadLockThreadInfo {
13985            fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
13986                ::protobuf::text_format::fmt(self, f)
13987            }
13988        }
13989
13990        impl ::protobuf::reflect::ProtobufValue for DeadLockThreadInfo {
13991            type RuntimeType = ::protobuf::reflect::rt::RuntimeTypeMessage<Self>;
13992        }
13993    }
13994}
13995
13996// @@protoc_insertion_point(message:protocol.MetricsInfo)
13997#[derive(PartialEq,Clone,Default,Debug)]
13998pub struct MetricsInfo {
13999    // message fields
14000    // @@protoc_insertion_point(field:protocol.MetricsInfo.interval)
14001    pub interval: i64,
14002    // @@protoc_insertion_point(field:protocol.MetricsInfo.node)
14003    pub node: ::protobuf::MessageField<metrics_info::NodeInfo>,
14004    // @@protoc_insertion_point(field:protocol.MetricsInfo.blockchain)
14005    pub blockchain: ::protobuf::MessageField<metrics_info::BlockChainInfo>,
14006    // @@protoc_insertion_point(field:protocol.MetricsInfo.net)
14007    pub net: ::protobuf::MessageField<metrics_info::NetInfo>,
14008    // special fields
14009    // @@protoc_insertion_point(special_field:protocol.MetricsInfo.special_fields)
14010    pub special_fields: ::protobuf::SpecialFields,
14011}
14012
14013impl<'a> ::std::default::Default for &'a MetricsInfo {
14014    fn default() -> &'a MetricsInfo {
14015        <MetricsInfo as ::protobuf::Message>::default_instance()
14016    }
14017}
14018
14019impl MetricsInfo {
14020    pub fn new() -> MetricsInfo {
14021        ::std::default::Default::default()
14022    }
14023
14024    fn generated_message_descriptor_data() -> ::protobuf::reflect::GeneratedMessageDescriptorData {
14025        let mut fields = ::std::vec::Vec::with_capacity(4);
14026        let mut oneofs = ::std::vec::Vec::with_capacity(0);
14027        fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
14028            "interval",
14029            |m: &MetricsInfo| { &m.interval },
14030            |m: &mut MetricsInfo| { &mut m.interval },
14031        ));
14032        fields.push(::protobuf::reflect::rt::v2::make_message_field_accessor::<_, metrics_info::NodeInfo>(
14033            "node",
14034            |m: &MetricsInfo| { &m.node },
14035            |m: &mut MetricsInfo| { &mut m.node },
14036        ));
14037        fields.push(::protobuf::reflect::rt::v2::make_message_field_accessor::<_, metrics_info::BlockChainInfo>(
14038            "blockchain",
14039            |m: &MetricsInfo| { &m.blockchain },
14040            |m: &mut MetricsInfo| { &mut m.blockchain },
14041        ));
14042        fields.push(::protobuf::reflect::rt::v2::make_message_field_accessor::<_, metrics_info::NetInfo>(
14043            "net",
14044            |m: &MetricsInfo| { &m.net },
14045            |m: &mut MetricsInfo| { &mut m.net },
14046        ));
14047        ::protobuf::reflect::GeneratedMessageDescriptorData::new_2::<MetricsInfo>(
14048            "MetricsInfo",
14049            fields,
14050            oneofs,
14051        )
14052    }
14053}
14054
14055impl ::protobuf::Message for MetricsInfo {
14056    const NAME: &'static str = "MetricsInfo";
14057
14058    fn is_initialized(&self) -> bool {
14059        true
14060    }
14061
14062    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::Result<()> {
14063        while let Some(tag) = is.read_raw_tag_or_eof()? {
14064            match tag {
14065                8 => {
14066                    self.interval = is.read_int64()?;
14067                },
14068                18 => {
14069                    ::protobuf::rt::read_singular_message_into_field(is, &mut self.node)?;
14070                },
14071                26 => {
14072                    ::protobuf::rt::read_singular_message_into_field(is, &mut self.blockchain)?;
14073                },
14074                34 => {
14075                    ::protobuf::rt::read_singular_message_into_field(is, &mut self.net)?;
14076                },
14077                tag => {
14078                    ::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?;
14079                },
14080            };
14081        }
14082        ::std::result::Result::Ok(())
14083    }
14084
14085    // Compute sizes of nested messages
14086    #[allow(unused_variables)]
14087    fn compute_size(&self) -> u64 {
14088        let mut my_size = 0;
14089        if self.interval != 0 {
14090            my_size += ::protobuf::rt::int64_size(1, self.interval);
14091        }
14092        if let Some(v) = self.node.as_ref() {
14093            let len = v.compute_size();
14094            my_size += 1 + ::protobuf::rt::compute_raw_varint64_size(len) + len;
14095        }
14096        if let Some(v) = self.blockchain.as_ref() {
14097            let len = v.compute_size();
14098            my_size += 1 + ::protobuf::rt::compute_raw_varint64_size(len) + len;
14099        }
14100        if let Some(v) = self.net.as_ref() {
14101            let len = v.compute_size();
14102            my_size += 1 + ::protobuf::rt::compute_raw_varint64_size(len) + len;
14103        }
14104        my_size += ::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields());
14105        self.special_fields.cached_size().set(my_size as u32);
14106        my_size
14107    }
14108
14109    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::Result<()> {
14110        if self.interval != 0 {
14111            os.write_int64(1, self.interval)?;
14112        }
14113        if let Some(v) = self.node.as_ref() {
14114            ::protobuf::rt::write_message_field_with_cached_size(2, v, os)?;
14115        }
14116        if let Some(v) = self.blockchain.as_ref() {
14117            ::protobuf::rt::write_message_field_with_cached_size(3, v, os)?;
14118        }
14119        if let Some(v) = self.net.as_ref() {
14120            ::protobuf::rt::write_message_field_with_cached_size(4, v, os)?;
14121        }
14122        os.write_unknown_fields(self.special_fields.unknown_fields())?;
14123        ::std::result::Result::Ok(())
14124    }
14125
14126    fn special_fields(&self) -> &::protobuf::SpecialFields {
14127        &self.special_fields
14128    }
14129
14130    fn mut_special_fields(&mut self) -> &mut ::protobuf::SpecialFields {
14131        &mut self.special_fields
14132    }
14133
14134    fn new() -> MetricsInfo {
14135        MetricsInfo::new()
14136    }
14137
14138    fn clear(&mut self) {
14139        self.interval = 0;
14140        self.node.clear();
14141        self.blockchain.clear();
14142        self.net.clear();
14143        self.special_fields.clear();
14144    }
14145
14146    fn default_instance() -> &'static MetricsInfo {
14147        static instance: MetricsInfo = MetricsInfo {
14148            interval: 0,
14149            node: ::protobuf::MessageField::none(),
14150            blockchain: ::protobuf::MessageField::none(),
14151            net: ::protobuf::MessageField::none(),
14152            special_fields: ::protobuf::SpecialFields::new(),
14153        };
14154        &instance
14155    }
14156}
14157
14158impl ::protobuf::MessageFull for MetricsInfo {
14159    fn descriptor() -> ::protobuf::reflect::MessageDescriptor {
14160        static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::Lazy::new();
14161        descriptor.get(|| file_descriptor().message_by_package_relative_name("MetricsInfo").unwrap()).clone()
14162    }
14163}
14164
14165impl ::std::fmt::Display for MetricsInfo {
14166    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
14167        ::protobuf::text_format::fmt(self, f)
14168    }
14169}
14170
14171impl ::protobuf::reflect::ProtobufValue for MetricsInfo {
14172    type RuntimeType = ::protobuf::reflect::rt::RuntimeTypeMessage<Self>;
14173}
14174
14175/// Nested message and enums of message `MetricsInfo`
14176pub mod metrics_info {
14177    // @@protoc_insertion_point(message:protocol.MetricsInfo.NodeInfo)
14178    #[derive(PartialEq,Clone,Default,Debug)]
14179    pub struct NodeInfo {
14180        // message fields
14181        // @@protoc_insertion_point(field:protocol.MetricsInfo.NodeInfo.ip)
14182        pub ip: ::std::string::String,
14183        // @@protoc_insertion_point(field:protocol.MetricsInfo.NodeInfo.nodeType)
14184        pub nodeType: i32,
14185        // @@protoc_insertion_point(field:protocol.MetricsInfo.NodeInfo.version)
14186        pub version: ::std::string::String,
14187        // @@protoc_insertion_point(field:protocol.MetricsInfo.NodeInfo.backupStatus)
14188        pub backupStatus: i32,
14189        // special fields
14190        // @@protoc_insertion_point(special_field:protocol.MetricsInfo.NodeInfo.special_fields)
14191        pub special_fields: ::protobuf::SpecialFields,
14192    }
14193
14194    impl<'a> ::std::default::Default for &'a NodeInfo {
14195        fn default() -> &'a NodeInfo {
14196            <NodeInfo as ::protobuf::Message>::default_instance()
14197        }
14198    }
14199
14200    impl NodeInfo {
14201        pub fn new() -> NodeInfo {
14202            ::std::default::Default::default()
14203        }
14204
14205        pub(in super) fn generated_message_descriptor_data() -> ::protobuf::reflect::GeneratedMessageDescriptorData {
14206            let mut fields = ::std::vec::Vec::with_capacity(4);
14207            let mut oneofs = ::std::vec::Vec::with_capacity(0);
14208            fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
14209                "ip",
14210                |m: &NodeInfo| { &m.ip },
14211                |m: &mut NodeInfo| { &mut m.ip },
14212            ));
14213            fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
14214                "nodeType",
14215                |m: &NodeInfo| { &m.nodeType },
14216                |m: &mut NodeInfo| { &mut m.nodeType },
14217            ));
14218            fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
14219                "version",
14220                |m: &NodeInfo| { &m.version },
14221                |m: &mut NodeInfo| { &mut m.version },
14222            ));
14223            fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
14224                "backupStatus",
14225                |m: &NodeInfo| { &m.backupStatus },
14226                |m: &mut NodeInfo| { &mut m.backupStatus },
14227            ));
14228            ::protobuf::reflect::GeneratedMessageDescriptorData::new_2::<NodeInfo>(
14229                "MetricsInfo.NodeInfo",
14230                fields,
14231                oneofs,
14232            )
14233        }
14234    }
14235
14236    impl ::protobuf::Message for NodeInfo {
14237        const NAME: &'static str = "NodeInfo";
14238
14239        fn is_initialized(&self) -> bool {
14240            true
14241        }
14242
14243        fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::Result<()> {
14244            while let Some(tag) = is.read_raw_tag_or_eof()? {
14245                match tag {
14246                    10 => {
14247                        self.ip = is.read_string()?;
14248                    },
14249                    16 => {
14250                        self.nodeType = is.read_int32()?;
14251                    },
14252                    26 => {
14253                        self.version = is.read_string()?;
14254                    },
14255                    32 => {
14256                        self.backupStatus = is.read_int32()?;
14257                    },
14258                    tag => {
14259                        ::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?;
14260                    },
14261                };
14262            }
14263            ::std::result::Result::Ok(())
14264        }
14265
14266        // Compute sizes of nested messages
14267        #[allow(unused_variables)]
14268        fn compute_size(&self) -> u64 {
14269            let mut my_size = 0;
14270            if !self.ip.is_empty() {
14271                my_size += ::protobuf::rt::string_size(1, &self.ip);
14272            }
14273            if self.nodeType != 0 {
14274                my_size += ::protobuf::rt::int32_size(2, self.nodeType);
14275            }
14276            if !self.version.is_empty() {
14277                my_size += ::protobuf::rt::string_size(3, &self.version);
14278            }
14279            if self.backupStatus != 0 {
14280                my_size += ::protobuf::rt::int32_size(4, self.backupStatus);
14281            }
14282            my_size += ::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields());
14283            self.special_fields.cached_size().set(my_size as u32);
14284            my_size
14285        }
14286
14287        fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::Result<()> {
14288            if !self.ip.is_empty() {
14289                os.write_string(1, &self.ip)?;
14290            }
14291            if self.nodeType != 0 {
14292                os.write_int32(2, self.nodeType)?;
14293            }
14294            if !self.version.is_empty() {
14295                os.write_string(3, &self.version)?;
14296            }
14297            if self.backupStatus != 0 {
14298                os.write_int32(4, self.backupStatus)?;
14299            }
14300            os.write_unknown_fields(self.special_fields.unknown_fields())?;
14301            ::std::result::Result::Ok(())
14302        }
14303
14304        fn special_fields(&self) -> &::protobuf::SpecialFields {
14305            &self.special_fields
14306        }
14307
14308        fn mut_special_fields(&mut self) -> &mut ::protobuf::SpecialFields {
14309            &mut self.special_fields
14310        }
14311
14312        fn new() -> NodeInfo {
14313            NodeInfo::new()
14314        }
14315
14316        fn clear(&mut self) {
14317            self.ip.clear();
14318            self.nodeType = 0;
14319            self.version.clear();
14320            self.backupStatus = 0;
14321            self.special_fields.clear();
14322        }
14323
14324        fn default_instance() -> &'static NodeInfo {
14325            static instance: NodeInfo = NodeInfo {
14326                ip: ::std::string::String::new(),
14327                nodeType: 0,
14328                version: ::std::string::String::new(),
14329                backupStatus: 0,
14330                special_fields: ::protobuf::SpecialFields::new(),
14331            };
14332            &instance
14333        }
14334    }
14335
14336    impl ::protobuf::MessageFull for NodeInfo {
14337        fn descriptor() -> ::protobuf::reflect::MessageDescriptor {
14338            static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::Lazy::new();
14339            descriptor.get(|| super::file_descriptor().message_by_package_relative_name("MetricsInfo.NodeInfo").unwrap()).clone()
14340        }
14341    }
14342
14343    impl ::std::fmt::Display for NodeInfo {
14344        fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
14345            ::protobuf::text_format::fmt(self, f)
14346        }
14347    }
14348
14349    impl ::protobuf::reflect::ProtobufValue for NodeInfo {
14350        type RuntimeType = ::protobuf::reflect::rt::RuntimeTypeMessage<Self>;
14351    }
14352
14353    // @@protoc_insertion_point(message:protocol.MetricsInfo.BlockChainInfo)
14354    #[derive(PartialEq,Clone,Default,Debug)]
14355    pub struct BlockChainInfo {
14356        // message fields
14357        // @@protoc_insertion_point(field:protocol.MetricsInfo.BlockChainInfo.headBlockNum)
14358        pub headBlockNum: i64,
14359        // @@protoc_insertion_point(field:protocol.MetricsInfo.BlockChainInfo.headBlockTimestamp)
14360        pub headBlockTimestamp: i64,
14361        // @@protoc_insertion_point(field:protocol.MetricsInfo.BlockChainInfo.headBlockHash)
14362        pub headBlockHash: ::std::string::String,
14363        // @@protoc_insertion_point(field:protocol.MetricsInfo.BlockChainInfo.forkCount)
14364        pub forkCount: i32,
14365        // @@protoc_insertion_point(field:protocol.MetricsInfo.BlockChainInfo.failForkCount)
14366        pub failForkCount: i32,
14367        // @@protoc_insertion_point(field:protocol.MetricsInfo.BlockChainInfo.blockProcessTime)
14368        pub blockProcessTime: ::protobuf::MessageField<RateInfo>,
14369        // @@protoc_insertion_point(field:protocol.MetricsInfo.BlockChainInfo.tps)
14370        pub tps: ::protobuf::MessageField<RateInfo>,
14371        // @@protoc_insertion_point(field:protocol.MetricsInfo.BlockChainInfo.transactionCacheSize)
14372        pub transactionCacheSize: i32,
14373        // @@protoc_insertion_point(field:protocol.MetricsInfo.BlockChainInfo.missedTransaction)
14374        pub missedTransaction: ::protobuf::MessageField<RateInfo>,
14375        // @@protoc_insertion_point(field:protocol.MetricsInfo.BlockChainInfo.witnesses)
14376        pub witnesses: ::std::vec::Vec<block_chain_info::Witness>,
14377        // @@protoc_insertion_point(field:protocol.MetricsInfo.BlockChainInfo.failProcessBlockNum)
14378        pub failProcessBlockNum: i64,
14379        // @@protoc_insertion_point(field:protocol.MetricsInfo.BlockChainInfo.failProcessBlockReason)
14380        pub failProcessBlockReason: ::std::string::String,
14381        // @@protoc_insertion_point(field:protocol.MetricsInfo.BlockChainInfo.dupWitness)
14382        pub dupWitness: ::std::vec::Vec<block_chain_info::DupWitness>,
14383        // special fields
14384        // @@protoc_insertion_point(special_field:protocol.MetricsInfo.BlockChainInfo.special_fields)
14385        pub special_fields: ::protobuf::SpecialFields,
14386    }
14387
14388    impl<'a> ::std::default::Default for &'a BlockChainInfo {
14389        fn default() -> &'a BlockChainInfo {
14390            <BlockChainInfo as ::protobuf::Message>::default_instance()
14391        }
14392    }
14393
14394    impl BlockChainInfo {
14395        pub fn new() -> BlockChainInfo {
14396            ::std::default::Default::default()
14397        }
14398
14399        pub(in super) fn generated_message_descriptor_data() -> ::protobuf::reflect::GeneratedMessageDescriptorData {
14400            let mut fields = ::std::vec::Vec::with_capacity(13);
14401            let mut oneofs = ::std::vec::Vec::with_capacity(0);
14402            fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
14403                "headBlockNum",
14404                |m: &BlockChainInfo| { &m.headBlockNum },
14405                |m: &mut BlockChainInfo| { &mut m.headBlockNum },
14406            ));
14407            fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
14408                "headBlockTimestamp",
14409                |m: &BlockChainInfo| { &m.headBlockTimestamp },
14410                |m: &mut BlockChainInfo| { &mut m.headBlockTimestamp },
14411            ));
14412            fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
14413                "headBlockHash",
14414                |m: &BlockChainInfo| { &m.headBlockHash },
14415                |m: &mut BlockChainInfo| { &mut m.headBlockHash },
14416            ));
14417            fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
14418                "forkCount",
14419                |m: &BlockChainInfo| { &m.forkCount },
14420                |m: &mut BlockChainInfo| { &mut m.forkCount },
14421            ));
14422            fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
14423                "failForkCount",
14424                |m: &BlockChainInfo| { &m.failForkCount },
14425                |m: &mut BlockChainInfo| { &mut m.failForkCount },
14426            ));
14427            fields.push(::protobuf::reflect::rt::v2::make_message_field_accessor::<_, RateInfo>(
14428                "blockProcessTime",
14429                |m: &BlockChainInfo| { &m.blockProcessTime },
14430                |m: &mut BlockChainInfo| { &mut m.blockProcessTime },
14431            ));
14432            fields.push(::protobuf::reflect::rt::v2::make_message_field_accessor::<_, RateInfo>(
14433                "tps",
14434                |m: &BlockChainInfo| { &m.tps },
14435                |m: &mut BlockChainInfo| { &mut m.tps },
14436            ));
14437            fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
14438                "transactionCacheSize",
14439                |m: &BlockChainInfo| { &m.transactionCacheSize },
14440                |m: &mut BlockChainInfo| { &mut m.transactionCacheSize },
14441            ));
14442            fields.push(::protobuf::reflect::rt::v2::make_message_field_accessor::<_, RateInfo>(
14443                "missedTransaction",
14444                |m: &BlockChainInfo| { &m.missedTransaction },
14445                |m: &mut BlockChainInfo| { &mut m.missedTransaction },
14446            ));
14447            fields.push(::protobuf::reflect::rt::v2::make_vec_simpler_accessor::<_, _>(
14448                "witnesses",
14449                |m: &BlockChainInfo| { &m.witnesses },
14450                |m: &mut BlockChainInfo| { &mut m.witnesses },
14451            ));
14452            fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
14453                "failProcessBlockNum",
14454                |m: &BlockChainInfo| { &m.failProcessBlockNum },
14455                |m: &mut BlockChainInfo| { &mut m.failProcessBlockNum },
14456            ));
14457            fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
14458                "failProcessBlockReason",
14459                |m: &BlockChainInfo| { &m.failProcessBlockReason },
14460                |m: &mut BlockChainInfo| { &mut m.failProcessBlockReason },
14461            ));
14462            fields.push(::protobuf::reflect::rt::v2::make_vec_simpler_accessor::<_, _>(
14463                "dupWitness",
14464                |m: &BlockChainInfo| { &m.dupWitness },
14465                |m: &mut BlockChainInfo| { &mut m.dupWitness },
14466            ));
14467            ::protobuf::reflect::GeneratedMessageDescriptorData::new_2::<BlockChainInfo>(
14468                "MetricsInfo.BlockChainInfo",
14469                fields,
14470                oneofs,
14471            )
14472        }
14473    }
14474
14475    impl ::protobuf::Message for BlockChainInfo {
14476        const NAME: &'static str = "BlockChainInfo";
14477
14478        fn is_initialized(&self) -> bool {
14479            true
14480        }
14481
14482        fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::Result<()> {
14483            while let Some(tag) = is.read_raw_tag_or_eof()? {
14484                match tag {
14485                    8 => {
14486                        self.headBlockNum = is.read_int64()?;
14487                    },
14488                    16 => {
14489                        self.headBlockTimestamp = is.read_int64()?;
14490                    },
14491                    26 => {
14492                        self.headBlockHash = is.read_string()?;
14493                    },
14494                    32 => {
14495                        self.forkCount = is.read_int32()?;
14496                    },
14497                    40 => {
14498                        self.failForkCount = is.read_int32()?;
14499                    },
14500                    50 => {
14501                        ::protobuf::rt::read_singular_message_into_field(is, &mut self.blockProcessTime)?;
14502                    },
14503                    58 => {
14504                        ::protobuf::rt::read_singular_message_into_field(is, &mut self.tps)?;
14505                    },
14506                    64 => {
14507                        self.transactionCacheSize = is.read_int32()?;
14508                    },
14509                    74 => {
14510                        ::protobuf::rt::read_singular_message_into_field(is, &mut self.missedTransaction)?;
14511                    },
14512                    82 => {
14513                        self.witnesses.push(is.read_message()?);
14514                    },
14515                    88 => {
14516                        self.failProcessBlockNum = is.read_int64()?;
14517                    },
14518                    98 => {
14519                        self.failProcessBlockReason = is.read_string()?;
14520                    },
14521                    106 => {
14522                        self.dupWitness.push(is.read_message()?);
14523                    },
14524                    tag => {
14525                        ::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?;
14526                    },
14527                };
14528            }
14529            ::std::result::Result::Ok(())
14530        }
14531
14532        // Compute sizes of nested messages
14533        #[allow(unused_variables)]
14534        fn compute_size(&self) -> u64 {
14535            let mut my_size = 0;
14536            if self.headBlockNum != 0 {
14537                my_size += ::protobuf::rt::int64_size(1, self.headBlockNum);
14538            }
14539            if self.headBlockTimestamp != 0 {
14540                my_size += ::protobuf::rt::int64_size(2, self.headBlockTimestamp);
14541            }
14542            if !self.headBlockHash.is_empty() {
14543                my_size += ::protobuf::rt::string_size(3, &self.headBlockHash);
14544            }
14545            if self.forkCount != 0 {
14546                my_size += ::protobuf::rt::int32_size(4, self.forkCount);
14547            }
14548            if self.failForkCount != 0 {
14549                my_size += ::protobuf::rt::int32_size(5, self.failForkCount);
14550            }
14551            if let Some(v) = self.blockProcessTime.as_ref() {
14552                let len = v.compute_size();
14553                my_size += 1 + ::protobuf::rt::compute_raw_varint64_size(len) + len;
14554            }
14555            if let Some(v) = self.tps.as_ref() {
14556                let len = v.compute_size();
14557                my_size += 1 + ::protobuf::rt::compute_raw_varint64_size(len) + len;
14558            }
14559            if self.transactionCacheSize != 0 {
14560                my_size += ::protobuf::rt::int32_size(8, self.transactionCacheSize);
14561            }
14562            if let Some(v) = self.missedTransaction.as_ref() {
14563                let len = v.compute_size();
14564                my_size += 1 + ::protobuf::rt::compute_raw_varint64_size(len) + len;
14565            }
14566            for value in &self.witnesses {
14567                let len = value.compute_size();
14568                my_size += 1 + ::protobuf::rt::compute_raw_varint64_size(len) + len;
14569            };
14570            if self.failProcessBlockNum != 0 {
14571                my_size += ::protobuf::rt::int64_size(11, self.failProcessBlockNum);
14572            }
14573            if !self.failProcessBlockReason.is_empty() {
14574                my_size += ::protobuf::rt::string_size(12, &self.failProcessBlockReason);
14575            }
14576            for value in &self.dupWitness {
14577                let len = value.compute_size();
14578                my_size += 1 + ::protobuf::rt::compute_raw_varint64_size(len) + len;
14579            };
14580            my_size += ::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields());
14581            self.special_fields.cached_size().set(my_size as u32);
14582            my_size
14583        }
14584
14585        fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::Result<()> {
14586            if self.headBlockNum != 0 {
14587                os.write_int64(1, self.headBlockNum)?;
14588            }
14589            if self.headBlockTimestamp != 0 {
14590                os.write_int64(2, self.headBlockTimestamp)?;
14591            }
14592            if !self.headBlockHash.is_empty() {
14593                os.write_string(3, &self.headBlockHash)?;
14594            }
14595            if self.forkCount != 0 {
14596                os.write_int32(4, self.forkCount)?;
14597            }
14598            if self.failForkCount != 0 {
14599                os.write_int32(5, self.failForkCount)?;
14600            }
14601            if let Some(v) = self.blockProcessTime.as_ref() {
14602                ::protobuf::rt::write_message_field_with_cached_size(6, v, os)?;
14603            }
14604            if let Some(v) = self.tps.as_ref() {
14605                ::protobuf::rt::write_message_field_with_cached_size(7, v, os)?;
14606            }
14607            if self.transactionCacheSize != 0 {
14608                os.write_int32(8, self.transactionCacheSize)?;
14609            }
14610            if let Some(v) = self.missedTransaction.as_ref() {
14611                ::protobuf::rt::write_message_field_with_cached_size(9, v, os)?;
14612            }
14613            for v in &self.witnesses {
14614                ::protobuf::rt::write_message_field_with_cached_size(10, v, os)?;
14615            };
14616            if self.failProcessBlockNum != 0 {
14617                os.write_int64(11, self.failProcessBlockNum)?;
14618            }
14619            if !self.failProcessBlockReason.is_empty() {
14620                os.write_string(12, &self.failProcessBlockReason)?;
14621            }
14622            for v in &self.dupWitness {
14623                ::protobuf::rt::write_message_field_with_cached_size(13, v, os)?;
14624            };
14625            os.write_unknown_fields(self.special_fields.unknown_fields())?;
14626            ::std::result::Result::Ok(())
14627        }
14628
14629        fn special_fields(&self) -> &::protobuf::SpecialFields {
14630            &self.special_fields
14631        }
14632
14633        fn mut_special_fields(&mut self) -> &mut ::protobuf::SpecialFields {
14634            &mut self.special_fields
14635        }
14636
14637        fn new() -> BlockChainInfo {
14638            BlockChainInfo::new()
14639        }
14640
14641        fn clear(&mut self) {
14642            self.headBlockNum = 0;
14643            self.headBlockTimestamp = 0;
14644            self.headBlockHash.clear();
14645            self.forkCount = 0;
14646            self.failForkCount = 0;
14647            self.blockProcessTime.clear();
14648            self.tps.clear();
14649            self.transactionCacheSize = 0;
14650            self.missedTransaction.clear();
14651            self.witnesses.clear();
14652            self.failProcessBlockNum = 0;
14653            self.failProcessBlockReason.clear();
14654            self.dupWitness.clear();
14655            self.special_fields.clear();
14656        }
14657
14658        fn default_instance() -> &'static BlockChainInfo {
14659            static instance: BlockChainInfo = BlockChainInfo {
14660                headBlockNum: 0,
14661                headBlockTimestamp: 0,
14662                headBlockHash: ::std::string::String::new(),
14663                forkCount: 0,
14664                failForkCount: 0,
14665                blockProcessTime: ::protobuf::MessageField::none(),
14666                tps: ::protobuf::MessageField::none(),
14667                transactionCacheSize: 0,
14668                missedTransaction: ::protobuf::MessageField::none(),
14669                witnesses: ::std::vec::Vec::new(),
14670                failProcessBlockNum: 0,
14671                failProcessBlockReason: ::std::string::String::new(),
14672                dupWitness: ::std::vec::Vec::new(),
14673                special_fields: ::protobuf::SpecialFields::new(),
14674            };
14675            &instance
14676        }
14677    }
14678
14679    impl ::protobuf::MessageFull for BlockChainInfo {
14680        fn descriptor() -> ::protobuf::reflect::MessageDescriptor {
14681            static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::Lazy::new();
14682            descriptor.get(|| super::file_descriptor().message_by_package_relative_name("MetricsInfo.BlockChainInfo").unwrap()).clone()
14683        }
14684    }
14685
14686    impl ::std::fmt::Display for BlockChainInfo {
14687        fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
14688            ::protobuf::text_format::fmt(self, f)
14689        }
14690    }
14691
14692    impl ::protobuf::reflect::ProtobufValue for BlockChainInfo {
14693        type RuntimeType = ::protobuf::reflect::rt::RuntimeTypeMessage<Self>;
14694    }
14695
14696    /// Nested message and enums of message `BlockChainInfo`
14697    pub mod block_chain_info {
14698        // @@protoc_insertion_point(message:protocol.MetricsInfo.BlockChainInfo.Witness)
14699        #[derive(PartialEq,Clone,Default,Debug)]
14700        pub struct Witness {
14701            // message fields
14702            // @@protoc_insertion_point(field:protocol.MetricsInfo.BlockChainInfo.Witness.address)
14703            pub address: ::std::string::String,
14704            // @@protoc_insertion_point(field:protocol.MetricsInfo.BlockChainInfo.Witness.version)
14705            pub version: i32,
14706            // special fields
14707            // @@protoc_insertion_point(special_field:protocol.MetricsInfo.BlockChainInfo.Witness.special_fields)
14708            pub special_fields: ::protobuf::SpecialFields,
14709        }
14710
14711        impl<'a> ::std::default::Default for &'a Witness {
14712            fn default() -> &'a Witness {
14713                <Witness as ::protobuf::Message>::default_instance()
14714            }
14715        }
14716
14717        impl Witness {
14718            pub fn new() -> Witness {
14719                ::std::default::Default::default()
14720            }
14721
14722            pub(in super::super) fn generated_message_descriptor_data() -> ::protobuf::reflect::GeneratedMessageDescriptorData {
14723                let mut fields = ::std::vec::Vec::with_capacity(2);
14724                let mut oneofs = ::std::vec::Vec::with_capacity(0);
14725                fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
14726                    "address",
14727                    |m: &Witness| { &m.address },
14728                    |m: &mut Witness| { &mut m.address },
14729                ));
14730                fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
14731                    "version",
14732                    |m: &Witness| { &m.version },
14733                    |m: &mut Witness| { &mut m.version },
14734                ));
14735                ::protobuf::reflect::GeneratedMessageDescriptorData::new_2::<Witness>(
14736                    "MetricsInfo.BlockChainInfo.Witness",
14737                    fields,
14738                    oneofs,
14739                )
14740            }
14741        }
14742
14743        impl ::protobuf::Message for Witness {
14744            const NAME: &'static str = "Witness";
14745
14746            fn is_initialized(&self) -> bool {
14747                true
14748            }
14749
14750            fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::Result<()> {
14751                while let Some(tag) = is.read_raw_tag_or_eof()? {
14752                    match tag {
14753                        10 => {
14754                            self.address = is.read_string()?;
14755                        },
14756                        16 => {
14757                            self.version = is.read_int32()?;
14758                        },
14759                        tag => {
14760                            ::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?;
14761                        },
14762                    };
14763                }
14764                ::std::result::Result::Ok(())
14765            }
14766
14767            // Compute sizes of nested messages
14768            #[allow(unused_variables)]
14769            fn compute_size(&self) -> u64 {
14770                let mut my_size = 0;
14771                if !self.address.is_empty() {
14772                    my_size += ::protobuf::rt::string_size(1, &self.address);
14773                }
14774                if self.version != 0 {
14775                    my_size += ::protobuf::rt::int32_size(2, self.version);
14776                }
14777                my_size += ::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields());
14778                self.special_fields.cached_size().set(my_size as u32);
14779                my_size
14780            }
14781
14782            fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::Result<()> {
14783                if !self.address.is_empty() {
14784                    os.write_string(1, &self.address)?;
14785                }
14786                if self.version != 0 {
14787                    os.write_int32(2, self.version)?;
14788                }
14789                os.write_unknown_fields(self.special_fields.unknown_fields())?;
14790                ::std::result::Result::Ok(())
14791            }
14792
14793            fn special_fields(&self) -> &::protobuf::SpecialFields {
14794                &self.special_fields
14795            }
14796
14797            fn mut_special_fields(&mut self) -> &mut ::protobuf::SpecialFields {
14798                &mut self.special_fields
14799            }
14800
14801            fn new() -> Witness {
14802                Witness::new()
14803            }
14804
14805            fn clear(&mut self) {
14806                self.address.clear();
14807                self.version = 0;
14808                self.special_fields.clear();
14809            }
14810
14811            fn default_instance() -> &'static Witness {
14812                static instance: Witness = Witness {
14813                    address: ::std::string::String::new(),
14814                    version: 0,
14815                    special_fields: ::protobuf::SpecialFields::new(),
14816                };
14817                &instance
14818            }
14819        }
14820
14821        impl ::protobuf::MessageFull for Witness {
14822            fn descriptor() -> ::protobuf::reflect::MessageDescriptor {
14823                static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::Lazy::new();
14824                descriptor.get(|| super::super::file_descriptor().message_by_package_relative_name("MetricsInfo.BlockChainInfo.Witness").unwrap()).clone()
14825            }
14826        }
14827
14828        impl ::std::fmt::Display for Witness {
14829            fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
14830                ::protobuf::text_format::fmt(self, f)
14831            }
14832        }
14833
14834        impl ::protobuf::reflect::ProtobufValue for Witness {
14835            type RuntimeType = ::protobuf::reflect::rt::RuntimeTypeMessage<Self>;
14836        }
14837
14838        // @@protoc_insertion_point(message:protocol.MetricsInfo.BlockChainInfo.DupWitness)
14839        #[derive(PartialEq,Clone,Default,Debug)]
14840        pub struct DupWitness {
14841            // message fields
14842            // @@protoc_insertion_point(field:protocol.MetricsInfo.BlockChainInfo.DupWitness.address)
14843            pub address: ::std::string::String,
14844            // @@protoc_insertion_point(field:protocol.MetricsInfo.BlockChainInfo.DupWitness.blockNum)
14845            pub blockNum: i64,
14846            // @@protoc_insertion_point(field:protocol.MetricsInfo.BlockChainInfo.DupWitness.count)
14847            pub count: i32,
14848            // special fields
14849            // @@protoc_insertion_point(special_field:protocol.MetricsInfo.BlockChainInfo.DupWitness.special_fields)
14850            pub special_fields: ::protobuf::SpecialFields,
14851        }
14852
14853        impl<'a> ::std::default::Default for &'a DupWitness {
14854            fn default() -> &'a DupWitness {
14855                <DupWitness as ::protobuf::Message>::default_instance()
14856            }
14857        }
14858
14859        impl DupWitness {
14860            pub fn new() -> DupWitness {
14861                ::std::default::Default::default()
14862            }
14863
14864            pub(in super::super) fn generated_message_descriptor_data() -> ::protobuf::reflect::GeneratedMessageDescriptorData {
14865                let mut fields = ::std::vec::Vec::with_capacity(3);
14866                let mut oneofs = ::std::vec::Vec::with_capacity(0);
14867                fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
14868                    "address",
14869                    |m: &DupWitness| { &m.address },
14870                    |m: &mut DupWitness| { &mut m.address },
14871                ));
14872                fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
14873                    "blockNum",
14874                    |m: &DupWitness| { &m.blockNum },
14875                    |m: &mut DupWitness| { &mut m.blockNum },
14876                ));
14877                fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
14878                    "count",
14879                    |m: &DupWitness| { &m.count },
14880                    |m: &mut DupWitness| { &mut m.count },
14881                ));
14882                ::protobuf::reflect::GeneratedMessageDescriptorData::new_2::<DupWitness>(
14883                    "MetricsInfo.BlockChainInfo.DupWitness",
14884                    fields,
14885                    oneofs,
14886                )
14887            }
14888        }
14889
14890        impl ::protobuf::Message for DupWitness {
14891            const NAME: &'static str = "DupWitness";
14892
14893            fn is_initialized(&self) -> bool {
14894                true
14895            }
14896
14897            fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::Result<()> {
14898                while let Some(tag) = is.read_raw_tag_or_eof()? {
14899                    match tag {
14900                        10 => {
14901                            self.address = is.read_string()?;
14902                        },
14903                        16 => {
14904                            self.blockNum = is.read_int64()?;
14905                        },
14906                        24 => {
14907                            self.count = is.read_int32()?;
14908                        },
14909                        tag => {
14910                            ::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?;
14911                        },
14912                    };
14913                }
14914                ::std::result::Result::Ok(())
14915            }
14916
14917            // Compute sizes of nested messages
14918            #[allow(unused_variables)]
14919            fn compute_size(&self) -> u64 {
14920                let mut my_size = 0;
14921                if !self.address.is_empty() {
14922                    my_size += ::protobuf::rt::string_size(1, &self.address);
14923                }
14924                if self.blockNum != 0 {
14925                    my_size += ::protobuf::rt::int64_size(2, self.blockNum);
14926                }
14927                if self.count != 0 {
14928                    my_size += ::protobuf::rt::int32_size(3, self.count);
14929                }
14930                my_size += ::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields());
14931                self.special_fields.cached_size().set(my_size as u32);
14932                my_size
14933            }
14934
14935            fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::Result<()> {
14936                if !self.address.is_empty() {
14937                    os.write_string(1, &self.address)?;
14938                }
14939                if self.blockNum != 0 {
14940                    os.write_int64(2, self.blockNum)?;
14941                }
14942                if self.count != 0 {
14943                    os.write_int32(3, self.count)?;
14944                }
14945                os.write_unknown_fields(self.special_fields.unknown_fields())?;
14946                ::std::result::Result::Ok(())
14947            }
14948
14949            fn special_fields(&self) -> &::protobuf::SpecialFields {
14950                &self.special_fields
14951            }
14952
14953            fn mut_special_fields(&mut self) -> &mut ::protobuf::SpecialFields {
14954                &mut self.special_fields
14955            }
14956
14957            fn new() -> DupWitness {
14958                DupWitness::new()
14959            }
14960
14961            fn clear(&mut self) {
14962                self.address.clear();
14963                self.blockNum = 0;
14964                self.count = 0;
14965                self.special_fields.clear();
14966            }
14967
14968            fn default_instance() -> &'static DupWitness {
14969                static instance: DupWitness = DupWitness {
14970                    address: ::std::string::String::new(),
14971                    blockNum: 0,
14972                    count: 0,
14973                    special_fields: ::protobuf::SpecialFields::new(),
14974                };
14975                &instance
14976            }
14977        }
14978
14979        impl ::protobuf::MessageFull for DupWitness {
14980            fn descriptor() -> ::protobuf::reflect::MessageDescriptor {
14981                static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::Lazy::new();
14982                descriptor.get(|| super::super::file_descriptor().message_by_package_relative_name("MetricsInfo.BlockChainInfo.DupWitness").unwrap()).clone()
14983            }
14984        }
14985
14986        impl ::std::fmt::Display for DupWitness {
14987            fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
14988                ::protobuf::text_format::fmt(self, f)
14989            }
14990        }
14991
14992        impl ::protobuf::reflect::ProtobufValue for DupWitness {
14993            type RuntimeType = ::protobuf::reflect::rt::RuntimeTypeMessage<Self>;
14994        }
14995    }
14996
14997    // @@protoc_insertion_point(message:protocol.MetricsInfo.RateInfo)
14998    #[derive(PartialEq,Clone,Default,Debug)]
14999    pub struct RateInfo {
15000        // message fields
15001        // @@protoc_insertion_point(field:protocol.MetricsInfo.RateInfo.count)
15002        pub count: i64,
15003        // @@protoc_insertion_point(field:protocol.MetricsInfo.RateInfo.meanRate)
15004        pub meanRate: f64,
15005        // @@protoc_insertion_point(field:protocol.MetricsInfo.RateInfo.oneMinuteRate)
15006        pub oneMinuteRate: f64,
15007        // @@protoc_insertion_point(field:protocol.MetricsInfo.RateInfo.fiveMinuteRate)
15008        pub fiveMinuteRate: f64,
15009        // @@protoc_insertion_point(field:protocol.MetricsInfo.RateInfo.fifteenMinuteRate)
15010        pub fifteenMinuteRate: f64,
15011        // special fields
15012        // @@protoc_insertion_point(special_field:protocol.MetricsInfo.RateInfo.special_fields)
15013        pub special_fields: ::protobuf::SpecialFields,
15014    }
15015
15016    impl<'a> ::std::default::Default for &'a RateInfo {
15017        fn default() -> &'a RateInfo {
15018            <RateInfo as ::protobuf::Message>::default_instance()
15019        }
15020    }
15021
15022    impl RateInfo {
15023        pub fn new() -> RateInfo {
15024            ::std::default::Default::default()
15025        }
15026
15027        pub(in super) fn generated_message_descriptor_data() -> ::protobuf::reflect::GeneratedMessageDescriptorData {
15028            let mut fields = ::std::vec::Vec::with_capacity(5);
15029            let mut oneofs = ::std::vec::Vec::with_capacity(0);
15030            fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
15031                "count",
15032                |m: &RateInfo| { &m.count },
15033                |m: &mut RateInfo| { &mut m.count },
15034            ));
15035            fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
15036                "meanRate",
15037                |m: &RateInfo| { &m.meanRate },
15038                |m: &mut RateInfo| { &mut m.meanRate },
15039            ));
15040            fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
15041                "oneMinuteRate",
15042                |m: &RateInfo| { &m.oneMinuteRate },
15043                |m: &mut RateInfo| { &mut m.oneMinuteRate },
15044            ));
15045            fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
15046                "fiveMinuteRate",
15047                |m: &RateInfo| { &m.fiveMinuteRate },
15048                |m: &mut RateInfo| { &mut m.fiveMinuteRate },
15049            ));
15050            fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
15051                "fifteenMinuteRate",
15052                |m: &RateInfo| { &m.fifteenMinuteRate },
15053                |m: &mut RateInfo| { &mut m.fifteenMinuteRate },
15054            ));
15055            ::protobuf::reflect::GeneratedMessageDescriptorData::new_2::<RateInfo>(
15056                "MetricsInfo.RateInfo",
15057                fields,
15058                oneofs,
15059            )
15060        }
15061    }
15062
15063    impl ::protobuf::Message for RateInfo {
15064        const NAME: &'static str = "RateInfo";
15065
15066        fn is_initialized(&self) -> bool {
15067            true
15068        }
15069
15070        fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::Result<()> {
15071            while let Some(tag) = is.read_raw_tag_or_eof()? {
15072                match tag {
15073                    8 => {
15074                        self.count = is.read_int64()?;
15075                    },
15076                    17 => {
15077                        self.meanRate = is.read_double()?;
15078                    },
15079                    25 => {
15080                        self.oneMinuteRate = is.read_double()?;
15081                    },
15082                    33 => {
15083                        self.fiveMinuteRate = is.read_double()?;
15084                    },
15085                    41 => {
15086                        self.fifteenMinuteRate = is.read_double()?;
15087                    },
15088                    tag => {
15089                        ::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?;
15090                    },
15091                };
15092            }
15093            ::std::result::Result::Ok(())
15094        }
15095
15096        // Compute sizes of nested messages
15097        #[allow(unused_variables)]
15098        fn compute_size(&self) -> u64 {
15099            let mut my_size = 0;
15100            if self.count != 0 {
15101                my_size += ::protobuf::rt::int64_size(1, self.count);
15102            }
15103            if self.meanRate != 0. {
15104                my_size += 1 + 8;
15105            }
15106            if self.oneMinuteRate != 0. {
15107                my_size += 1 + 8;
15108            }
15109            if self.fiveMinuteRate != 0. {
15110                my_size += 1 + 8;
15111            }
15112            if self.fifteenMinuteRate != 0. {
15113                my_size += 1 + 8;
15114            }
15115            my_size += ::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields());
15116            self.special_fields.cached_size().set(my_size as u32);
15117            my_size
15118        }
15119
15120        fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::Result<()> {
15121            if self.count != 0 {
15122                os.write_int64(1, self.count)?;
15123            }
15124            if self.meanRate != 0. {
15125                os.write_double(2, self.meanRate)?;
15126            }
15127            if self.oneMinuteRate != 0. {
15128                os.write_double(3, self.oneMinuteRate)?;
15129            }
15130            if self.fiveMinuteRate != 0. {
15131                os.write_double(4, self.fiveMinuteRate)?;
15132            }
15133            if self.fifteenMinuteRate != 0. {
15134                os.write_double(5, self.fifteenMinuteRate)?;
15135            }
15136            os.write_unknown_fields(self.special_fields.unknown_fields())?;
15137            ::std::result::Result::Ok(())
15138        }
15139
15140        fn special_fields(&self) -> &::protobuf::SpecialFields {
15141            &self.special_fields
15142        }
15143
15144        fn mut_special_fields(&mut self) -> &mut ::protobuf::SpecialFields {
15145            &mut self.special_fields
15146        }
15147
15148        fn new() -> RateInfo {
15149            RateInfo::new()
15150        }
15151
15152        fn clear(&mut self) {
15153            self.count = 0;
15154            self.meanRate = 0.;
15155            self.oneMinuteRate = 0.;
15156            self.fiveMinuteRate = 0.;
15157            self.fifteenMinuteRate = 0.;
15158            self.special_fields.clear();
15159        }
15160
15161        fn default_instance() -> &'static RateInfo {
15162            static instance: RateInfo = RateInfo {
15163                count: 0,
15164                meanRate: 0.,
15165                oneMinuteRate: 0.,
15166                fiveMinuteRate: 0.,
15167                fifteenMinuteRate: 0.,
15168                special_fields: ::protobuf::SpecialFields::new(),
15169            };
15170            &instance
15171        }
15172    }
15173
15174    impl ::protobuf::MessageFull for RateInfo {
15175        fn descriptor() -> ::protobuf::reflect::MessageDescriptor {
15176            static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::Lazy::new();
15177            descriptor.get(|| super::file_descriptor().message_by_package_relative_name("MetricsInfo.RateInfo").unwrap()).clone()
15178        }
15179    }
15180
15181    impl ::std::fmt::Display for RateInfo {
15182        fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
15183            ::protobuf::text_format::fmt(self, f)
15184        }
15185    }
15186
15187    impl ::protobuf::reflect::ProtobufValue for RateInfo {
15188        type RuntimeType = ::protobuf::reflect::rt::RuntimeTypeMessage<Self>;
15189    }
15190
15191    // @@protoc_insertion_point(message:protocol.MetricsInfo.NetInfo)
15192    #[derive(PartialEq,Clone,Default,Debug)]
15193    pub struct NetInfo {
15194        // message fields
15195        // @@protoc_insertion_point(field:protocol.MetricsInfo.NetInfo.errorProtoCount)
15196        pub errorProtoCount: i32,
15197        // @@protoc_insertion_point(field:protocol.MetricsInfo.NetInfo.api)
15198        pub api: ::protobuf::MessageField<net_info::ApiInfo>,
15199        // @@protoc_insertion_point(field:protocol.MetricsInfo.NetInfo.connectionCount)
15200        pub connectionCount: i32,
15201        // @@protoc_insertion_point(field:protocol.MetricsInfo.NetInfo.validConnectionCount)
15202        pub validConnectionCount: i32,
15203        // @@protoc_insertion_point(field:protocol.MetricsInfo.NetInfo.tcpInTraffic)
15204        pub tcpInTraffic: ::protobuf::MessageField<RateInfo>,
15205        // @@protoc_insertion_point(field:protocol.MetricsInfo.NetInfo.tcpOutTraffic)
15206        pub tcpOutTraffic: ::protobuf::MessageField<RateInfo>,
15207        // @@protoc_insertion_point(field:protocol.MetricsInfo.NetInfo.disconnectionCount)
15208        pub disconnectionCount: i32,
15209        // @@protoc_insertion_point(field:protocol.MetricsInfo.NetInfo.disconnectionDetail)
15210        pub disconnectionDetail: ::std::vec::Vec<net_info::DisconnectionDetailInfo>,
15211        // @@protoc_insertion_point(field:protocol.MetricsInfo.NetInfo.udpInTraffic)
15212        pub udpInTraffic: ::protobuf::MessageField<RateInfo>,
15213        // @@protoc_insertion_point(field:protocol.MetricsInfo.NetInfo.udpOutTraffic)
15214        pub udpOutTraffic: ::protobuf::MessageField<RateInfo>,
15215        // @@protoc_insertion_point(field:protocol.MetricsInfo.NetInfo.latency)
15216        pub latency: ::protobuf::MessageField<net_info::LatencyInfo>,
15217        // special fields
15218        // @@protoc_insertion_point(special_field:protocol.MetricsInfo.NetInfo.special_fields)
15219        pub special_fields: ::protobuf::SpecialFields,
15220    }
15221
15222    impl<'a> ::std::default::Default for &'a NetInfo {
15223        fn default() -> &'a NetInfo {
15224            <NetInfo as ::protobuf::Message>::default_instance()
15225        }
15226    }
15227
15228    impl NetInfo {
15229        pub fn new() -> NetInfo {
15230            ::std::default::Default::default()
15231        }
15232
15233        pub(in super) fn generated_message_descriptor_data() -> ::protobuf::reflect::GeneratedMessageDescriptorData {
15234            let mut fields = ::std::vec::Vec::with_capacity(11);
15235            let mut oneofs = ::std::vec::Vec::with_capacity(0);
15236            fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
15237                "errorProtoCount",
15238                |m: &NetInfo| { &m.errorProtoCount },
15239                |m: &mut NetInfo| { &mut m.errorProtoCount },
15240            ));
15241            fields.push(::protobuf::reflect::rt::v2::make_message_field_accessor::<_, net_info::ApiInfo>(
15242                "api",
15243                |m: &NetInfo| { &m.api },
15244                |m: &mut NetInfo| { &mut m.api },
15245            ));
15246            fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
15247                "connectionCount",
15248                |m: &NetInfo| { &m.connectionCount },
15249                |m: &mut NetInfo| { &mut m.connectionCount },
15250            ));
15251            fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
15252                "validConnectionCount",
15253                |m: &NetInfo| { &m.validConnectionCount },
15254                |m: &mut NetInfo| { &mut m.validConnectionCount },
15255            ));
15256            fields.push(::protobuf::reflect::rt::v2::make_message_field_accessor::<_, RateInfo>(
15257                "tcpInTraffic",
15258                |m: &NetInfo| { &m.tcpInTraffic },
15259                |m: &mut NetInfo| { &mut m.tcpInTraffic },
15260            ));
15261            fields.push(::protobuf::reflect::rt::v2::make_message_field_accessor::<_, RateInfo>(
15262                "tcpOutTraffic",
15263                |m: &NetInfo| { &m.tcpOutTraffic },
15264                |m: &mut NetInfo| { &mut m.tcpOutTraffic },
15265            ));
15266            fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
15267                "disconnectionCount",
15268                |m: &NetInfo| { &m.disconnectionCount },
15269                |m: &mut NetInfo| { &mut m.disconnectionCount },
15270            ));
15271            fields.push(::protobuf::reflect::rt::v2::make_vec_simpler_accessor::<_, _>(
15272                "disconnectionDetail",
15273                |m: &NetInfo| { &m.disconnectionDetail },
15274                |m: &mut NetInfo| { &mut m.disconnectionDetail },
15275            ));
15276            fields.push(::protobuf::reflect::rt::v2::make_message_field_accessor::<_, RateInfo>(
15277                "udpInTraffic",
15278                |m: &NetInfo| { &m.udpInTraffic },
15279                |m: &mut NetInfo| { &mut m.udpInTraffic },
15280            ));
15281            fields.push(::protobuf::reflect::rt::v2::make_message_field_accessor::<_, RateInfo>(
15282                "udpOutTraffic",
15283                |m: &NetInfo| { &m.udpOutTraffic },
15284                |m: &mut NetInfo| { &mut m.udpOutTraffic },
15285            ));
15286            fields.push(::protobuf::reflect::rt::v2::make_message_field_accessor::<_, net_info::LatencyInfo>(
15287                "latency",
15288                |m: &NetInfo| { &m.latency },
15289                |m: &mut NetInfo| { &mut m.latency },
15290            ));
15291            ::protobuf::reflect::GeneratedMessageDescriptorData::new_2::<NetInfo>(
15292                "MetricsInfo.NetInfo",
15293                fields,
15294                oneofs,
15295            )
15296        }
15297    }
15298
15299    impl ::protobuf::Message for NetInfo {
15300        const NAME: &'static str = "NetInfo";
15301
15302        fn is_initialized(&self) -> bool {
15303            true
15304        }
15305
15306        fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::Result<()> {
15307            while let Some(tag) = is.read_raw_tag_or_eof()? {
15308                match tag {
15309                    8 => {
15310                        self.errorProtoCount = is.read_int32()?;
15311                    },
15312                    18 => {
15313                        ::protobuf::rt::read_singular_message_into_field(is, &mut self.api)?;
15314                    },
15315                    24 => {
15316                        self.connectionCount = is.read_int32()?;
15317                    },
15318                    32 => {
15319                        self.validConnectionCount = is.read_int32()?;
15320                    },
15321                    42 => {
15322                        ::protobuf::rt::read_singular_message_into_field(is, &mut self.tcpInTraffic)?;
15323                    },
15324                    50 => {
15325                        ::protobuf::rt::read_singular_message_into_field(is, &mut self.tcpOutTraffic)?;
15326                    },
15327                    56 => {
15328                        self.disconnectionCount = is.read_int32()?;
15329                    },
15330                    66 => {
15331                        self.disconnectionDetail.push(is.read_message()?);
15332                    },
15333                    74 => {
15334                        ::protobuf::rt::read_singular_message_into_field(is, &mut self.udpInTraffic)?;
15335                    },
15336                    82 => {
15337                        ::protobuf::rt::read_singular_message_into_field(is, &mut self.udpOutTraffic)?;
15338                    },
15339                    90 => {
15340                        ::protobuf::rt::read_singular_message_into_field(is, &mut self.latency)?;
15341                    },
15342                    tag => {
15343                        ::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?;
15344                    },
15345                };
15346            }
15347            ::std::result::Result::Ok(())
15348        }
15349
15350        // Compute sizes of nested messages
15351        #[allow(unused_variables)]
15352        fn compute_size(&self) -> u64 {
15353            let mut my_size = 0;
15354            if self.errorProtoCount != 0 {
15355                my_size += ::protobuf::rt::int32_size(1, self.errorProtoCount);
15356            }
15357            if let Some(v) = self.api.as_ref() {
15358                let len = v.compute_size();
15359                my_size += 1 + ::protobuf::rt::compute_raw_varint64_size(len) + len;
15360            }
15361            if self.connectionCount != 0 {
15362                my_size += ::protobuf::rt::int32_size(3, self.connectionCount);
15363            }
15364            if self.validConnectionCount != 0 {
15365                my_size += ::protobuf::rt::int32_size(4, self.validConnectionCount);
15366            }
15367            if let Some(v) = self.tcpInTraffic.as_ref() {
15368                let len = v.compute_size();
15369                my_size += 1 + ::protobuf::rt::compute_raw_varint64_size(len) + len;
15370            }
15371            if let Some(v) = self.tcpOutTraffic.as_ref() {
15372                let len = v.compute_size();
15373                my_size += 1 + ::protobuf::rt::compute_raw_varint64_size(len) + len;
15374            }
15375            if self.disconnectionCount != 0 {
15376                my_size += ::protobuf::rt::int32_size(7, self.disconnectionCount);
15377            }
15378            for value in &self.disconnectionDetail {
15379                let len = value.compute_size();
15380                my_size += 1 + ::protobuf::rt::compute_raw_varint64_size(len) + len;
15381            };
15382            if let Some(v) = self.udpInTraffic.as_ref() {
15383                let len = v.compute_size();
15384                my_size += 1 + ::protobuf::rt::compute_raw_varint64_size(len) + len;
15385            }
15386            if let Some(v) = self.udpOutTraffic.as_ref() {
15387                let len = v.compute_size();
15388                my_size += 1 + ::protobuf::rt::compute_raw_varint64_size(len) + len;
15389            }
15390            if let Some(v) = self.latency.as_ref() {
15391                let len = v.compute_size();
15392                my_size += 1 + ::protobuf::rt::compute_raw_varint64_size(len) + len;
15393            }
15394            my_size += ::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields());
15395            self.special_fields.cached_size().set(my_size as u32);
15396            my_size
15397        }
15398
15399        fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::Result<()> {
15400            if self.errorProtoCount != 0 {
15401                os.write_int32(1, self.errorProtoCount)?;
15402            }
15403            if let Some(v) = self.api.as_ref() {
15404                ::protobuf::rt::write_message_field_with_cached_size(2, v, os)?;
15405            }
15406            if self.connectionCount != 0 {
15407                os.write_int32(3, self.connectionCount)?;
15408            }
15409            if self.validConnectionCount != 0 {
15410                os.write_int32(4, self.validConnectionCount)?;
15411            }
15412            if let Some(v) = self.tcpInTraffic.as_ref() {
15413                ::protobuf::rt::write_message_field_with_cached_size(5, v, os)?;
15414            }
15415            if let Some(v) = self.tcpOutTraffic.as_ref() {
15416                ::protobuf::rt::write_message_field_with_cached_size(6, v, os)?;
15417            }
15418            if self.disconnectionCount != 0 {
15419                os.write_int32(7, self.disconnectionCount)?;
15420            }
15421            for v in &self.disconnectionDetail {
15422                ::protobuf::rt::write_message_field_with_cached_size(8, v, os)?;
15423            };
15424            if let Some(v) = self.udpInTraffic.as_ref() {
15425                ::protobuf::rt::write_message_field_with_cached_size(9, v, os)?;
15426            }
15427            if let Some(v) = self.udpOutTraffic.as_ref() {
15428                ::protobuf::rt::write_message_field_with_cached_size(10, v, os)?;
15429            }
15430            if let Some(v) = self.latency.as_ref() {
15431                ::protobuf::rt::write_message_field_with_cached_size(11, v, os)?;
15432            }
15433            os.write_unknown_fields(self.special_fields.unknown_fields())?;
15434            ::std::result::Result::Ok(())
15435        }
15436
15437        fn special_fields(&self) -> &::protobuf::SpecialFields {
15438            &self.special_fields
15439        }
15440
15441        fn mut_special_fields(&mut self) -> &mut ::protobuf::SpecialFields {
15442            &mut self.special_fields
15443        }
15444
15445        fn new() -> NetInfo {
15446            NetInfo::new()
15447        }
15448
15449        fn clear(&mut self) {
15450            self.errorProtoCount = 0;
15451            self.api.clear();
15452            self.connectionCount = 0;
15453            self.validConnectionCount = 0;
15454            self.tcpInTraffic.clear();
15455            self.tcpOutTraffic.clear();
15456            self.disconnectionCount = 0;
15457            self.disconnectionDetail.clear();
15458            self.udpInTraffic.clear();
15459            self.udpOutTraffic.clear();
15460            self.latency.clear();
15461            self.special_fields.clear();
15462        }
15463
15464        fn default_instance() -> &'static NetInfo {
15465            static instance: NetInfo = NetInfo {
15466                errorProtoCount: 0,
15467                api: ::protobuf::MessageField::none(),
15468                connectionCount: 0,
15469                validConnectionCount: 0,
15470                tcpInTraffic: ::protobuf::MessageField::none(),
15471                tcpOutTraffic: ::protobuf::MessageField::none(),
15472                disconnectionCount: 0,
15473                disconnectionDetail: ::std::vec::Vec::new(),
15474                udpInTraffic: ::protobuf::MessageField::none(),
15475                udpOutTraffic: ::protobuf::MessageField::none(),
15476                latency: ::protobuf::MessageField::none(),
15477                special_fields: ::protobuf::SpecialFields::new(),
15478            };
15479            &instance
15480        }
15481    }
15482
15483    impl ::protobuf::MessageFull for NetInfo {
15484        fn descriptor() -> ::protobuf::reflect::MessageDescriptor {
15485            static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::Lazy::new();
15486            descriptor.get(|| super::file_descriptor().message_by_package_relative_name("MetricsInfo.NetInfo").unwrap()).clone()
15487        }
15488    }
15489
15490    impl ::std::fmt::Display for NetInfo {
15491        fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
15492            ::protobuf::text_format::fmt(self, f)
15493        }
15494    }
15495
15496    impl ::protobuf::reflect::ProtobufValue for NetInfo {
15497        type RuntimeType = ::protobuf::reflect::rt::RuntimeTypeMessage<Self>;
15498    }
15499
15500    /// Nested message and enums of message `NetInfo`
15501    pub mod net_info {
15502        // @@protoc_insertion_point(message:protocol.MetricsInfo.NetInfo.ApiInfo)
15503        #[derive(PartialEq,Clone,Default,Debug)]
15504        pub struct ApiInfo {
15505            // message fields
15506            // @@protoc_insertion_point(field:protocol.MetricsInfo.NetInfo.ApiInfo.qps)
15507            pub qps: ::protobuf::MessageField<super::RateInfo>,
15508            // @@protoc_insertion_point(field:protocol.MetricsInfo.NetInfo.ApiInfo.failQps)
15509            pub failQps: ::protobuf::MessageField<super::RateInfo>,
15510            // @@protoc_insertion_point(field:protocol.MetricsInfo.NetInfo.ApiInfo.outTraffic)
15511            pub outTraffic: ::protobuf::MessageField<super::RateInfo>,
15512            // @@protoc_insertion_point(field:protocol.MetricsInfo.NetInfo.ApiInfo.detail)
15513            pub detail: ::std::vec::Vec<api_info::ApiDetailInfo>,
15514            // special fields
15515            // @@protoc_insertion_point(special_field:protocol.MetricsInfo.NetInfo.ApiInfo.special_fields)
15516            pub special_fields: ::protobuf::SpecialFields,
15517        }
15518
15519        impl<'a> ::std::default::Default for &'a ApiInfo {
15520            fn default() -> &'a ApiInfo {
15521                <ApiInfo as ::protobuf::Message>::default_instance()
15522            }
15523        }
15524
15525        impl ApiInfo {
15526            pub fn new() -> ApiInfo {
15527                ::std::default::Default::default()
15528            }
15529
15530            pub(in super::super) fn generated_message_descriptor_data() -> ::protobuf::reflect::GeneratedMessageDescriptorData {
15531                let mut fields = ::std::vec::Vec::with_capacity(4);
15532                let mut oneofs = ::std::vec::Vec::with_capacity(0);
15533                fields.push(::protobuf::reflect::rt::v2::make_message_field_accessor::<_, super::RateInfo>(
15534                    "qps",
15535                    |m: &ApiInfo| { &m.qps },
15536                    |m: &mut ApiInfo| { &mut m.qps },
15537                ));
15538                fields.push(::protobuf::reflect::rt::v2::make_message_field_accessor::<_, super::RateInfo>(
15539                    "failQps",
15540                    |m: &ApiInfo| { &m.failQps },
15541                    |m: &mut ApiInfo| { &mut m.failQps },
15542                ));
15543                fields.push(::protobuf::reflect::rt::v2::make_message_field_accessor::<_, super::RateInfo>(
15544                    "outTraffic",
15545                    |m: &ApiInfo| { &m.outTraffic },
15546                    |m: &mut ApiInfo| { &mut m.outTraffic },
15547                ));
15548                fields.push(::protobuf::reflect::rt::v2::make_vec_simpler_accessor::<_, _>(
15549                    "detail",
15550                    |m: &ApiInfo| { &m.detail },
15551                    |m: &mut ApiInfo| { &mut m.detail },
15552                ));
15553                ::protobuf::reflect::GeneratedMessageDescriptorData::new_2::<ApiInfo>(
15554                    "MetricsInfo.NetInfo.ApiInfo",
15555                    fields,
15556                    oneofs,
15557                )
15558            }
15559        }
15560
15561        impl ::protobuf::Message for ApiInfo {
15562            const NAME: &'static str = "ApiInfo";
15563
15564            fn is_initialized(&self) -> bool {
15565                true
15566            }
15567
15568            fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::Result<()> {
15569                while let Some(tag) = is.read_raw_tag_or_eof()? {
15570                    match tag {
15571                        10 => {
15572                            ::protobuf::rt::read_singular_message_into_field(is, &mut self.qps)?;
15573                        },
15574                        18 => {
15575                            ::protobuf::rt::read_singular_message_into_field(is, &mut self.failQps)?;
15576                        },
15577                        26 => {
15578                            ::protobuf::rt::read_singular_message_into_field(is, &mut self.outTraffic)?;
15579                        },
15580                        34 => {
15581                            self.detail.push(is.read_message()?);
15582                        },
15583                        tag => {
15584                            ::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?;
15585                        },
15586                    };
15587                }
15588                ::std::result::Result::Ok(())
15589            }
15590
15591            // Compute sizes of nested messages
15592            #[allow(unused_variables)]
15593            fn compute_size(&self) -> u64 {
15594                let mut my_size = 0;
15595                if let Some(v) = self.qps.as_ref() {
15596                    let len = v.compute_size();
15597                    my_size += 1 + ::protobuf::rt::compute_raw_varint64_size(len) + len;
15598                }
15599                if let Some(v) = self.failQps.as_ref() {
15600                    let len = v.compute_size();
15601                    my_size += 1 + ::protobuf::rt::compute_raw_varint64_size(len) + len;
15602                }
15603                if let Some(v) = self.outTraffic.as_ref() {
15604                    let len = v.compute_size();
15605                    my_size += 1 + ::protobuf::rt::compute_raw_varint64_size(len) + len;
15606                }
15607                for value in &self.detail {
15608                    let len = value.compute_size();
15609                    my_size += 1 + ::protobuf::rt::compute_raw_varint64_size(len) + len;
15610                };
15611                my_size += ::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields());
15612                self.special_fields.cached_size().set(my_size as u32);
15613                my_size
15614            }
15615
15616            fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::Result<()> {
15617                if let Some(v) = self.qps.as_ref() {
15618                    ::protobuf::rt::write_message_field_with_cached_size(1, v, os)?;
15619                }
15620                if let Some(v) = self.failQps.as_ref() {
15621                    ::protobuf::rt::write_message_field_with_cached_size(2, v, os)?;
15622                }
15623                if let Some(v) = self.outTraffic.as_ref() {
15624                    ::protobuf::rt::write_message_field_with_cached_size(3, v, os)?;
15625                }
15626                for v in &self.detail {
15627                    ::protobuf::rt::write_message_field_with_cached_size(4, v, os)?;
15628                };
15629                os.write_unknown_fields(self.special_fields.unknown_fields())?;
15630                ::std::result::Result::Ok(())
15631            }
15632
15633            fn special_fields(&self) -> &::protobuf::SpecialFields {
15634                &self.special_fields
15635            }
15636
15637            fn mut_special_fields(&mut self) -> &mut ::protobuf::SpecialFields {
15638                &mut self.special_fields
15639            }
15640
15641            fn new() -> ApiInfo {
15642                ApiInfo::new()
15643            }
15644
15645            fn clear(&mut self) {
15646                self.qps.clear();
15647                self.failQps.clear();
15648                self.outTraffic.clear();
15649                self.detail.clear();
15650                self.special_fields.clear();
15651            }
15652
15653            fn default_instance() -> &'static ApiInfo {
15654                static instance: ApiInfo = ApiInfo {
15655                    qps: ::protobuf::MessageField::none(),
15656                    failQps: ::protobuf::MessageField::none(),
15657                    outTraffic: ::protobuf::MessageField::none(),
15658                    detail: ::std::vec::Vec::new(),
15659                    special_fields: ::protobuf::SpecialFields::new(),
15660                };
15661                &instance
15662            }
15663        }
15664
15665        impl ::protobuf::MessageFull for ApiInfo {
15666            fn descriptor() -> ::protobuf::reflect::MessageDescriptor {
15667                static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::Lazy::new();
15668                descriptor.get(|| super::super::file_descriptor().message_by_package_relative_name("MetricsInfo.NetInfo.ApiInfo").unwrap()).clone()
15669            }
15670        }
15671
15672        impl ::std::fmt::Display for ApiInfo {
15673            fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
15674                ::protobuf::text_format::fmt(self, f)
15675            }
15676        }
15677
15678        impl ::protobuf::reflect::ProtobufValue for ApiInfo {
15679            type RuntimeType = ::protobuf::reflect::rt::RuntimeTypeMessage<Self>;
15680        }
15681
15682        /// Nested message and enums of message `ApiInfo`
15683        pub mod api_info {
15684            // @@protoc_insertion_point(message:protocol.MetricsInfo.NetInfo.ApiInfo.ApiDetailInfo)
15685            #[derive(PartialEq,Clone,Default,Debug)]
15686            pub struct ApiDetailInfo {
15687                // message fields
15688                // @@protoc_insertion_point(field:protocol.MetricsInfo.NetInfo.ApiInfo.ApiDetailInfo.name)
15689                pub name: ::std::string::String,
15690                // @@protoc_insertion_point(field:protocol.MetricsInfo.NetInfo.ApiInfo.ApiDetailInfo.qps)
15691                pub qps: ::protobuf::MessageField<super::super::RateInfo>,
15692                // @@protoc_insertion_point(field:protocol.MetricsInfo.NetInfo.ApiInfo.ApiDetailInfo.failQps)
15693                pub failQps: ::protobuf::MessageField<super::super::RateInfo>,
15694                // @@protoc_insertion_point(field:protocol.MetricsInfo.NetInfo.ApiInfo.ApiDetailInfo.outTraffic)
15695                pub outTraffic: ::protobuf::MessageField<super::super::RateInfo>,
15696                // special fields
15697                // @@protoc_insertion_point(special_field:protocol.MetricsInfo.NetInfo.ApiInfo.ApiDetailInfo.special_fields)
15698                pub special_fields: ::protobuf::SpecialFields,
15699            }
15700
15701            impl<'a> ::std::default::Default for &'a ApiDetailInfo {
15702                fn default() -> &'a ApiDetailInfo {
15703                    <ApiDetailInfo as ::protobuf::Message>::default_instance()
15704                }
15705            }
15706
15707            impl ApiDetailInfo {
15708                pub fn new() -> ApiDetailInfo {
15709                    ::std::default::Default::default()
15710                }
15711
15712                pub(in super::super::super) fn generated_message_descriptor_data() -> ::protobuf::reflect::GeneratedMessageDescriptorData {
15713                    let mut fields = ::std::vec::Vec::with_capacity(4);
15714                    let mut oneofs = ::std::vec::Vec::with_capacity(0);
15715                    fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
15716                        "name",
15717                        |m: &ApiDetailInfo| { &m.name },
15718                        |m: &mut ApiDetailInfo| { &mut m.name },
15719                    ));
15720                    fields.push(::protobuf::reflect::rt::v2::make_message_field_accessor::<_, super::super::RateInfo>(
15721                        "qps",
15722                        |m: &ApiDetailInfo| { &m.qps },
15723                        |m: &mut ApiDetailInfo| { &mut m.qps },
15724                    ));
15725                    fields.push(::protobuf::reflect::rt::v2::make_message_field_accessor::<_, super::super::RateInfo>(
15726                        "failQps",
15727                        |m: &ApiDetailInfo| { &m.failQps },
15728                        |m: &mut ApiDetailInfo| { &mut m.failQps },
15729                    ));
15730                    fields.push(::protobuf::reflect::rt::v2::make_message_field_accessor::<_, super::super::RateInfo>(
15731                        "outTraffic",
15732                        |m: &ApiDetailInfo| { &m.outTraffic },
15733                        |m: &mut ApiDetailInfo| { &mut m.outTraffic },
15734                    ));
15735                    ::protobuf::reflect::GeneratedMessageDescriptorData::new_2::<ApiDetailInfo>(
15736                        "MetricsInfo.NetInfo.ApiInfo.ApiDetailInfo",
15737                        fields,
15738                        oneofs,
15739                    )
15740                }
15741            }
15742
15743            impl ::protobuf::Message for ApiDetailInfo {
15744                const NAME: &'static str = "ApiDetailInfo";
15745
15746                fn is_initialized(&self) -> bool {
15747                    true
15748                }
15749
15750                fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::Result<()> {
15751                    while let Some(tag) = is.read_raw_tag_or_eof()? {
15752                        match tag {
15753                            10 => {
15754                                self.name = is.read_string()?;
15755                            },
15756                            18 => {
15757                                ::protobuf::rt::read_singular_message_into_field(is, &mut self.qps)?;
15758                            },
15759                            26 => {
15760                                ::protobuf::rt::read_singular_message_into_field(is, &mut self.failQps)?;
15761                            },
15762                            34 => {
15763                                ::protobuf::rt::read_singular_message_into_field(is, &mut self.outTraffic)?;
15764                            },
15765                            tag => {
15766                                ::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?;
15767                            },
15768                        };
15769                    }
15770                    ::std::result::Result::Ok(())
15771                }
15772
15773                // Compute sizes of nested messages
15774                #[allow(unused_variables)]
15775                fn compute_size(&self) -> u64 {
15776                    let mut my_size = 0;
15777                    if !self.name.is_empty() {
15778                        my_size += ::protobuf::rt::string_size(1, &self.name);
15779                    }
15780                    if let Some(v) = self.qps.as_ref() {
15781                        let len = v.compute_size();
15782                        my_size += 1 + ::protobuf::rt::compute_raw_varint64_size(len) + len;
15783                    }
15784                    if let Some(v) = self.failQps.as_ref() {
15785                        let len = v.compute_size();
15786                        my_size += 1 + ::protobuf::rt::compute_raw_varint64_size(len) + len;
15787                    }
15788                    if let Some(v) = self.outTraffic.as_ref() {
15789                        let len = v.compute_size();
15790                        my_size += 1 + ::protobuf::rt::compute_raw_varint64_size(len) + len;
15791                    }
15792                    my_size += ::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields());
15793                    self.special_fields.cached_size().set(my_size as u32);
15794                    my_size
15795                }
15796
15797                fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::Result<()> {
15798                    if !self.name.is_empty() {
15799                        os.write_string(1, &self.name)?;
15800                    }
15801                    if let Some(v) = self.qps.as_ref() {
15802                        ::protobuf::rt::write_message_field_with_cached_size(2, v, os)?;
15803                    }
15804                    if let Some(v) = self.failQps.as_ref() {
15805                        ::protobuf::rt::write_message_field_with_cached_size(3, v, os)?;
15806                    }
15807                    if let Some(v) = self.outTraffic.as_ref() {
15808                        ::protobuf::rt::write_message_field_with_cached_size(4, v, os)?;
15809                    }
15810                    os.write_unknown_fields(self.special_fields.unknown_fields())?;
15811                    ::std::result::Result::Ok(())
15812                }
15813
15814                fn special_fields(&self) -> &::protobuf::SpecialFields {
15815                    &self.special_fields
15816                }
15817
15818                fn mut_special_fields(&mut self) -> &mut ::protobuf::SpecialFields {
15819                    &mut self.special_fields
15820                }
15821
15822                fn new() -> ApiDetailInfo {
15823                    ApiDetailInfo::new()
15824                }
15825
15826                fn clear(&mut self) {
15827                    self.name.clear();
15828                    self.qps.clear();
15829                    self.failQps.clear();
15830                    self.outTraffic.clear();
15831                    self.special_fields.clear();
15832                }
15833
15834                fn default_instance() -> &'static ApiDetailInfo {
15835                    static instance: ApiDetailInfo = ApiDetailInfo {
15836                        name: ::std::string::String::new(),
15837                        qps: ::protobuf::MessageField::none(),
15838                        failQps: ::protobuf::MessageField::none(),
15839                        outTraffic: ::protobuf::MessageField::none(),
15840                        special_fields: ::protobuf::SpecialFields::new(),
15841                    };
15842                    &instance
15843                }
15844            }
15845
15846            impl ::protobuf::MessageFull for ApiDetailInfo {
15847                fn descriptor() -> ::protobuf::reflect::MessageDescriptor {
15848                    static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::Lazy::new();
15849                    descriptor.get(|| super::super::super::file_descriptor().message_by_package_relative_name("MetricsInfo.NetInfo.ApiInfo.ApiDetailInfo").unwrap()).clone()
15850                }
15851            }
15852
15853            impl ::std::fmt::Display for ApiDetailInfo {
15854                fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
15855                    ::protobuf::text_format::fmt(self, f)
15856                }
15857            }
15858
15859            impl ::protobuf::reflect::ProtobufValue for ApiDetailInfo {
15860                type RuntimeType = ::protobuf::reflect::rt::RuntimeTypeMessage<Self>;
15861            }
15862        }
15863
15864        // @@protoc_insertion_point(message:protocol.MetricsInfo.NetInfo.DisconnectionDetailInfo)
15865        #[derive(PartialEq,Clone,Default,Debug)]
15866        pub struct DisconnectionDetailInfo {
15867            // message fields
15868            // @@protoc_insertion_point(field:protocol.MetricsInfo.NetInfo.DisconnectionDetailInfo.reason)
15869            pub reason: ::std::string::String,
15870            // @@protoc_insertion_point(field:protocol.MetricsInfo.NetInfo.DisconnectionDetailInfo.count)
15871            pub count: i32,
15872            // special fields
15873            // @@protoc_insertion_point(special_field:protocol.MetricsInfo.NetInfo.DisconnectionDetailInfo.special_fields)
15874            pub special_fields: ::protobuf::SpecialFields,
15875        }
15876
15877        impl<'a> ::std::default::Default for &'a DisconnectionDetailInfo {
15878            fn default() -> &'a DisconnectionDetailInfo {
15879                <DisconnectionDetailInfo as ::protobuf::Message>::default_instance()
15880            }
15881        }
15882
15883        impl DisconnectionDetailInfo {
15884            pub fn new() -> DisconnectionDetailInfo {
15885                ::std::default::Default::default()
15886            }
15887
15888            pub(in super::super) fn generated_message_descriptor_data() -> ::protobuf::reflect::GeneratedMessageDescriptorData {
15889                let mut fields = ::std::vec::Vec::with_capacity(2);
15890                let mut oneofs = ::std::vec::Vec::with_capacity(0);
15891                fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
15892                    "reason",
15893                    |m: &DisconnectionDetailInfo| { &m.reason },
15894                    |m: &mut DisconnectionDetailInfo| { &mut m.reason },
15895                ));
15896                fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
15897                    "count",
15898                    |m: &DisconnectionDetailInfo| { &m.count },
15899                    |m: &mut DisconnectionDetailInfo| { &mut m.count },
15900                ));
15901                ::protobuf::reflect::GeneratedMessageDescriptorData::new_2::<DisconnectionDetailInfo>(
15902                    "MetricsInfo.NetInfo.DisconnectionDetailInfo",
15903                    fields,
15904                    oneofs,
15905                )
15906            }
15907        }
15908
15909        impl ::protobuf::Message for DisconnectionDetailInfo {
15910            const NAME: &'static str = "DisconnectionDetailInfo";
15911
15912            fn is_initialized(&self) -> bool {
15913                true
15914            }
15915
15916            fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::Result<()> {
15917                while let Some(tag) = is.read_raw_tag_or_eof()? {
15918                    match tag {
15919                        10 => {
15920                            self.reason = is.read_string()?;
15921                        },
15922                        16 => {
15923                            self.count = is.read_int32()?;
15924                        },
15925                        tag => {
15926                            ::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?;
15927                        },
15928                    };
15929                }
15930                ::std::result::Result::Ok(())
15931            }
15932
15933            // Compute sizes of nested messages
15934            #[allow(unused_variables)]
15935            fn compute_size(&self) -> u64 {
15936                let mut my_size = 0;
15937                if !self.reason.is_empty() {
15938                    my_size += ::protobuf::rt::string_size(1, &self.reason);
15939                }
15940                if self.count != 0 {
15941                    my_size += ::protobuf::rt::int32_size(2, self.count);
15942                }
15943                my_size += ::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields());
15944                self.special_fields.cached_size().set(my_size as u32);
15945                my_size
15946            }
15947
15948            fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::Result<()> {
15949                if !self.reason.is_empty() {
15950                    os.write_string(1, &self.reason)?;
15951                }
15952                if self.count != 0 {
15953                    os.write_int32(2, self.count)?;
15954                }
15955                os.write_unknown_fields(self.special_fields.unknown_fields())?;
15956                ::std::result::Result::Ok(())
15957            }
15958
15959            fn special_fields(&self) -> &::protobuf::SpecialFields {
15960                &self.special_fields
15961            }
15962
15963            fn mut_special_fields(&mut self) -> &mut ::protobuf::SpecialFields {
15964                &mut self.special_fields
15965            }
15966
15967            fn new() -> DisconnectionDetailInfo {
15968                DisconnectionDetailInfo::new()
15969            }
15970
15971            fn clear(&mut self) {
15972                self.reason.clear();
15973                self.count = 0;
15974                self.special_fields.clear();
15975            }
15976
15977            fn default_instance() -> &'static DisconnectionDetailInfo {
15978                static instance: DisconnectionDetailInfo = DisconnectionDetailInfo {
15979                    reason: ::std::string::String::new(),
15980                    count: 0,
15981                    special_fields: ::protobuf::SpecialFields::new(),
15982                };
15983                &instance
15984            }
15985        }
15986
15987        impl ::protobuf::MessageFull for DisconnectionDetailInfo {
15988            fn descriptor() -> ::protobuf::reflect::MessageDescriptor {
15989                static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::Lazy::new();
15990                descriptor.get(|| super::super::file_descriptor().message_by_package_relative_name("MetricsInfo.NetInfo.DisconnectionDetailInfo").unwrap()).clone()
15991            }
15992        }
15993
15994        impl ::std::fmt::Display for DisconnectionDetailInfo {
15995            fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
15996                ::protobuf::text_format::fmt(self, f)
15997            }
15998        }
15999
16000        impl ::protobuf::reflect::ProtobufValue for DisconnectionDetailInfo {
16001            type RuntimeType = ::protobuf::reflect::rt::RuntimeTypeMessage<Self>;
16002        }
16003
16004        // @@protoc_insertion_point(message:protocol.MetricsInfo.NetInfo.LatencyInfo)
16005        #[derive(PartialEq,Clone,Default,Debug)]
16006        pub struct LatencyInfo {
16007            // message fields
16008            // @@protoc_insertion_point(field:protocol.MetricsInfo.NetInfo.LatencyInfo.top99)
16009            pub top99: i32,
16010            // @@protoc_insertion_point(field:protocol.MetricsInfo.NetInfo.LatencyInfo.top95)
16011            pub top95: i32,
16012            // @@protoc_insertion_point(field:protocol.MetricsInfo.NetInfo.LatencyInfo.top75)
16013            pub top75: i32,
16014            // @@protoc_insertion_point(field:protocol.MetricsInfo.NetInfo.LatencyInfo.totalCount)
16015            pub totalCount: i32,
16016            // @@protoc_insertion_point(field:protocol.MetricsInfo.NetInfo.LatencyInfo.delay1S)
16017            pub delay1S: i32,
16018            // @@protoc_insertion_point(field:protocol.MetricsInfo.NetInfo.LatencyInfo.delay2S)
16019            pub delay2S: i32,
16020            // @@protoc_insertion_point(field:protocol.MetricsInfo.NetInfo.LatencyInfo.delay3S)
16021            pub delay3S: i32,
16022            // @@protoc_insertion_point(field:protocol.MetricsInfo.NetInfo.LatencyInfo.detail)
16023            pub detail: ::std::vec::Vec<latency_info::LatencyDetailInfo>,
16024            // special fields
16025            // @@protoc_insertion_point(special_field:protocol.MetricsInfo.NetInfo.LatencyInfo.special_fields)
16026            pub special_fields: ::protobuf::SpecialFields,
16027        }
16028
16029        impl<'a> ::std::default::Default for &'a LatencyInfo {
16030            fn default() -> &'a LatencyInfo {
16031                <LatencyInfo as ::protobuf::Message>::default_instance()
16032            }
16033        }
16034
16035        impl LatencyInfo {
16036            pub fn new() -> LatencyInfo {
16037                ::std::default::Default::default()
16038            }
16039
16040            pub(in super::super) fn generated_message_descriptor_data() -> ::protobuf::reflect::GeneratedMessageDescriptorData {
16041                let mut fields = ::std::vec::Vec::with_capacity(8);
16042                let mut oneofs = ::std::vec::Vec::with_capacity(0);
16043                fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
16044                    "top99",
16045                    |m: &LatencyInfo| { &m.top99 },
16046                    |m: &mut LatencyInfo| { &mut m.top99 },
16047                ));
16048                fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
16049                    "top95",
16050                    |m: &LatencyInfo| { &m.top95 },
16051                    |m: &mut LatencyInfo| { &mut m.top95 },
16052                ));
16053                fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
16054                    "top75",
16055                    |m: &LatencyInfo| { &m.top75 },
16056                    |m: &mut LatencyInfo| { &mut m.top75 },
16057                ));
16058                fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
16059                    "totalCount",
16060                    |m: &LatencyInfo| { &m.totalCount },
16061                    |m: &mut LatencyInfo| { &mut m.totalCount },
16062                ));
16063                fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
16064                    "delay1S",
16065                    |m: &LatencyInfo| { &m.delay1S },
16066                    |m: &mut LatencyInfo| { &mut m.delay1S },
16067                ));
16068                fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
16069                    "delay2S",
16070                    |m: &LatencyInfo| { &m.delay2S },
16071                    |m: &mut LatencyInfo| { &mut m.delay2S },
16072                ));
16073                fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
16074                    "delay3S",
16075                    |m: &LatencyInfo| { &m.delay3S },
16076                    |m: &mut LatencyInfo| { &mut m.delay3S },
16077                ));
16078                fields.push(::protobuf::reflect::rt::v2::make_vec_simpler_accessor::<_, _>(
16079                    "detail",
16080                    |m: &LatencyInfo| { &m.detail },
16081                    |m: &mut LatencyInfo| { &mut m.detail },
16082                ));
16083                ::protobuf::reflect::GeneratedMessageDescriptorData::new_2::<LatencyInfo>(
16084                    "MetricsInfo.NetInfo.LatencyInfo",
16085                    fields,
16086                    oneofs,
16087                )
16088            }
16089        }
16090
16091        impl ::protobuf::Message for LatencyInfo {
16092            const NAME: &'static str = "LatencyInfo";
16093
16094            fn is_initialized(&self) -> bool {
16095                true
16096            }
16097
16098            fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::Result<()> {
16099                while let Some(tag) = is.read_raw_tag_or_eof()? {
16100                    match tag {
16101                        8 => {
16102                            self.top99 = is.read_int32()?;
16103                        },
16104                        16 => {
16105                            self.top95 = is.read_int32()?;
16106                        },
16107                        24 => {
16108                            self.top75 = is.read_int32()?;
16109                        },
16110                        32 => {
16111                            self.totalCount = is.read_int32()?;
16112                        },
16113                        40 => {
16114                            self.delay1S = is.read_int32()?;
16115                        },
16116                        48 => {
16117                            self.delay2S = is.read_int32()?;
16118                        },
16119                        56 => {
16120                            self.delay3S = is.read_int32()?;
16121                        },
16122                        66 => {
16123                            self.detail.push(is.read_message()?);
16124                        },
16125                        tag => {
16126                            ::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?;
16127                        },
16128                    };
16129                }
16130                ::std::result::Result::Ok(())
16131            }
16132
16133            // Compute sizes of nested messages
16134            #[allow(unused_variables)]
16135            fn compute_size(&self) -> u64 {
16136                let mut my_size = 0;
16137                if self.top99 != 0 {
16138                    my_size += ::protobuf::rt::int32_size(1, self.top99);
16139                }
16140                if self.top95 != 0 {
16141                    my_size += ::protobuf::rt::int32_size(2, self.top95);
16142                }
16143                if self.top75 != 0 {
16144                    my_size += ::protobuf::rt::int32_size(3, self.top75);
16145                }
16146                if self.totalCount != 0 {
16147                    my_size += ::protobuf::rt::int32_size(4, self.totalCount);
16148                }
16149                if self.delay1S != 0 {
16150                    my_size += ::protobuf::rt::int32_size(5, self.delay1S);
16151                }
16152                if self.delay2S != 0 {
16153                    my_size += ::protobuf::rt::int32_size(6, self.delay2S);
16154                }
16155                if self.delay3S != 0 {
16156                    my_size += ::protobuf::rt::int32_size(7, self.delay3S);
16157                }
16158                for value in &self.detail {
16159                    let len = value.compute_size();
16160                    my_size += 1 + ::protobuf::rt::compute_raw_varint64_size(len) + len;
16161                };
16162                my_size += ::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields());
16163                self.special_fields.cached_size().set(my_size as u32);
16164                my_size
16165            }
16166
16167            fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::Result<()> {
16168                if self.top99 != 0 {
16169                    os.write_int32(1, self.top99)?;
16170                }
16171                if self.top95 != 0 {
16172                    os.write_int32(2, self.top95)?;
16173                }
16174                if self.top75 != 0 {
16175                    os.write_int32(3, self.top75)?;
16176                }
16177                if self.totalCount != 0 {
16178                    os.write_int32(4, self.totalCount)?;
16179                }
16180                if self.delay1S != 0 {
16181                    os.write_int32(5, self.delay1S)?;
16182                }
16183                if self.delay2S != 0 {
16184                    os.write_int32(6, self.delay2S)?;
16185                }
16186                if self.delay3S != 0 {
16187                    os.write_int32(7, self.delay3S)?;
16188                }
16189                for v in &self.detail {
16190                    ::protobuf::rt::write_message_field_with_cached_size(8, v, os)?;
16191                };
16192                os.write_unknown_fields(self.special_fields.unknown_fields())?;
16193                ::std::result::Result::Ok(())
16194            }
16195
16196            fn special_fields(&self) -> &::protobuf::SpecialFields {
16197                &self.special_fields
16198            }
16199
16200            fn mut_special_fields(&mut self) -> &mut ::protobuf::SpecialFields {
16201                &mut self.special_fields
16202            }
16203
16204            fn new() -> LatencyInfo {
16205                LatencyInfo::new()
16206            }
16207
16208            fn clear(&mut self) {
16209                self.top99 = 0;
16210                self.top95 = 0;
16211                self.top75 = 0;
16212                self.totalCount = 0;
16213                self.delay1S = 0;
16214                self.delay2S = 0;
16215                self.delay3S = 0;
16216                self.detail.clear();
16217                self.special_fields.clear();
16218            }
16219
16220            fn default_instance() -> &'static LatencyInfo {
16221                static instance: LatencyInfo = LatencyInfo {
16222                    top99: 0,
16223                    top95: 0,
16224                    top75: 0,
16225                    totalCount: 0,
16226                    delay1S: 0,
16227                    delay2S: 0,
16228                    delay3S: 0,
16229                    detail: ::std::vec::Vec::new(),
16230                    special_fields: ::protobuf::SpecialFields::new(),
16231                };
16232                &instance
16233            }
16234        }
16235
16236        impl ::protobuf::MessageFull for LatencyInfo {
16237            fn descriptor() -> ::protobuf::reflect::MessageDescriptor {
16238                static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::Lazy::new();
16239                descriptor.get(|| super::super::file_descriptor().message_by_package_relative_name("MetricsInfo.NetInfo.LatencyInfo").unwrap()).clone()
16240            }
16241        }
16242
16243        impl ::std::fmt::Display for LatencyInfo {
16244            fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
16245                ::protobuf::text_format::fmt(self, f)
16246            }
16247        }
16248
16249        impl ::protobuf::reflect::ProtobufValue for LatencyInfo {
16250            type RuntimeType = ::protobuf::reflect::rt::RuntimeTypeMessage<Self>;
16251        }
16252
16253        /// Nested message and enums of message `LatencyInfo`
16254        pub mod latency_info {
16255            // @@protoc_insertion_point(message:protocol.MetricsInfo.NetInfo.LatencyInfo.LatencyDetailInfo)
16256            #[derive(PartialEq,Clone,Default,Debug)]
16257            pub struct LatencyDetailInfo {
16258                // message fields
16259                // @@protoc_insertion_point(field:protocol.MetricsInfo.NetInfo.LatencyInfo.LatencyDetailInfo.witness)
16260                pub witness: ::std::string::String,
16261                // @@protoc_insertion_point(field:protocol.MetricsInfo.NetInfo.LatencyInfo.LatencyDetailInfo.top99)
16262                pub top99: i32,
16263                // @@protoc_insertion_point(field:protocol.MetricsInfo.NetInfo.LatencyInfo.LatencyDetailInfo.top95)
16264                pub top95: i32,
16265                // @@protoc_insertion_point(field:protocol.MetricsInfo.NetInfo.LatencyInfo.LatencyDetailInfo.top75)
16266                pub top75: i32,
16267                // @@protoc_insertion_point(field:protocol.MetricsInfo.NetInfo.LatencyInfo.LatencyDetailInfo.count)
16268                pub count: i32,
16269                // @@protoc_insertion_point(field:protocol.MetricsInfo.NetInfo.LatencyInfo.LatencyDetailInfo.delay1S)
16270                pub delay1S: i32,
16271                // @@protoc_insertion_point(field:protocol.MetricsInfo.NetInfo.LatencyInfo.LatencyDetailInfo.delay2S)
16272                pub delay2S: i32,
16273                // @@protoc_insertion_point(field:protocol.MetricsInfo.NetInfo.LatencyInfo.LatencyDetailInfo.delay3S)
16274                pub delay3S: i32,
16275                // special fields
16276                // @@protoc_insertion_point(special_field:protocol.MetricsInfo.NetInfo.LatencyInfo.LatencyDetailInfo.special_fields)
16277                pub special_fields: ::protobuf::SpecialFields,
16278            }
16279
16280            impl<'a> ::std::default::Default for &'a LatencyDetailInfo {
16281                fn default() -> &'a LatencyDetailInfo {
16282                    <LatencyDetailInfo as ::protobuf::Message>::default_instance()
16283                }
16284            }
16285
16286            impl LatencyDetailInfo {
16287                pub fn new() -> LatencyDetailInfo {
16288                    ::std::default::Default::default()
16289                }
16290
16291                pub(in super::super::super) fn generated_message_descriptor_data() -> ::protobuf::reflect::GeneratedMessageDescriptorData {
16292                    let mut fields = ::std::vec::Vec::with_capacity(8);
16293                    let mut oneofs = ::std::vec::Vec::with_capacity(0);
16294                    fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
16295                        "witness",
16296                        |m: &LatencyDetailInfo| { &m.witness },
16297                        |m: &mut LatencyDetailInfo| { &mut m.witness },
16298                    ));
16299                    fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
16300                        "top99",
16301                        |m: &LatencyDetailInfo| { &m.top99 },
16302                        |m: &mut LatencyDetailInfo| { &mut m.top99 },
16303                    ));
16304                    fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
16305                        "top95",
16306                        |m: &LatencyDetailInfo| { &m.top95 },
16307                        |m: &mut LatencyDetailInfo| { &mut m.top95 },
16308                    ));
16309                    fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
16310                        "top75",
16311                        |m: &LatencyDetailInfo| { &m.top75 },
16312                        |m: &mut LatencyDetailInfo| { &mut m.top75 },
16313                    ));
16314                    fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
16315                        "count",
16316                        |m: &LatencyDetailInfo| { &m.count },
16317                        |m: &mut LatencyDetailInfo| { &mut m.count },
16318                    ));
16319                    fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
16320                        "delay1S",
16321                        |m: &LatencyDetailInfo| { &m.delay1S },
16322                        |m: &mut LatencyDetailInfo| { &mut m.delay1S },
16323                    ));
16324                    fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
16325                        "delay2S",
16326                        |m: &LatencyDetailInfo| { &m.delay2S },
16327                        |m: &mut LatencyDetailInfo| { &mut m.delay2S },
16328                    ));
16329                    fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
16330                        "delay3S",
16331                        |m: &LatencyDetailInfo| { &m.delay3S },
16332                        |m: &mut LatencyDetailInfo| { &mut m.delay3S },
16333                    ));
16334                    ::protobuf::reflect::GeneratedMessageDescriptorData::new_2::<LatencyDetailInfo>(
16335                        "MetricsInfo.NetInfo.LatencyInfo.LatencyDetailInfo",
16336                        fields,
16337                        oneofs,
16338                    )
16339                }
16340            }
16341
16342            impl ::protobuf::Message for LatencyDetailInfo {
16343                const NAME: &'static str = "LatencyDetailInfo";
16344
16345                fn is_initialized(&self) -> bool {
16346                    true
16347                }
16348
16349                fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::Result<()> {
16350                    while let Some(tag) = is.read_raw_tag_or_eof()? {
16351                        match tag {
16352                            10 => {
16353                                self.witness = is.read_string()?;
16354                            },
16355                            16 => {
16356                                self.top99 = is.read_int32()?;
16357                            },
16358                            24 => {
16359                                self.top95 = is.read_int32()?;
16360                            },
16361                            32 => {
16362                                self.top75 = is.read_int32()?;
16363                            },
16364                            40 => {
16365                                self.count = is.read_int32()?;
16366                            },
16367                            48 => {
16368                                self.delay1S = is.read_int32()?;
16369                            },
16370                            56 => {
16371                                self.delay2S = is.read_int32()?;
16372                            },
16373                            64 => {
16374                                self.delay3S = is.read_int32()?;
16375                            },
16376                            tag => {
16377                                ::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?;
16378                            },
16379                        };
16380                    }
16381                    ::std::result::Result::Ok(())
16382                }
16383
16384                // Compute sizes of nested messages
16385                #[allow(unused_variables)]
16386                fn compute_size(&self) -> u64 {
16387                    let mut my_size = 0;
16388                    if !self.witness.is_empty() {
16389                        my_size += ::protobuf::rt::string_size(1, &self.witness);
16390                    }
16391                    if self.top99 != 0 {
16392                        my_size += ::protobuf::rt::int32_size(2, self.top99);
16393                    }
16394                    if self.top95 != 0 {
16395                        my_size += ::protobuf::rt::int32_size(3, self.top95);
16396                    }
16397                    if self.top75 != 0 {
16398                        my_size += ::protobuf::rt::int32_size(4, self.top75);
16399                    }
16400                    if self.count != 0 {
16401                        my_size += ::protobuf::rt::int32_size(5, self.count);
16402                    }
16403                    if self.delay1S != 0 {
16404                        my_size += ::protobuf::rt::int32_size(6, self.delay1S);
16405                    }
16406                    if self.delay2S != 0 {
16407                        my_size += ::protobuf::rt::int32_size(7, self.delay2S);
16408                    }
16409                    if self.delay3S != 0 {
16410                        my_size += ::protobuf::rt::int32_size(8, self.delay3S);
16411                    }
16412                    my_size += ::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields());
16413                    self.special_fields.cached_size().set(my_size as u32);
16414                    my_size
16415                }
16416
16417                fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::Result<()> {
16418                    if !self.witness.is_empty() {
16419                        os.write_string(1, &self.witness)?;
16420                    }
16421                    if self.top99 != 0 {
16422                        os.write_int32(2, self.top99)?;
16423                    }
16424                    if self.top95 != 0 {
16425                        os.write_int32(3, self.top95)?;
16426                    }
16427                    if self.top75 != 0 {
16428                        os.write_int32(4, self.top75)?;
16429                    }
16430                    if self.count != 0 {
16431                        os.write_int32(5, self.count)?;
16432                    }
16433                    if self.delay1S != 0 {
16434                        os.write_int32(6, self.delay1S)?;
16435                    }
16436                    if self.delay2S != 0 {
16437                        os.write_int32(7, self.delay2S)?;
16438                    }
16439                    if self.delay3S != 0 {
16440                        os.write_int32(8, self.delay3S)?;
16441                    }
16442                    os.write_unknown_fields(self.special_fields.unknown_fields())?;
16443                    ::std::result::Result::Ok(())
16444                }
16445
16446                fn special_fields(&self) -> &::protobuf::SpecialFields {
16447                    &self.special_fields
16448                }
16449
16450                fn mut_special_fields(&mut self) -> &mut ::protobuf::SpecialFields {
16451                    &mut self.special_fields
16452                }
16453
16454                fn new() -> LatencyDetailInfo {
16455                    LatencyDetailInfo::new()
16456                }
16457
16458                fn clear(&mut self) {
16459                    self.witness.clear();
16460                    self.top99 = 0;
16461                    self.top95 = 0;
16462                    self.top75 = 0;
16463                    self.count = 0;
16464                    self.delay1S = 0;
16465                    self.delay2S = 0;
16466                    self.delay3S = 0;
16467                    self.special_fields.clear();
16468                }
16469
16470                fn default_instance() -> &'static LatencyDetailInfo {
16471                    static instance: LatencyDetailInfo = LatencyDetailInfo {
16472                        witness: ::std::string::String::new(),
16473                        top99: 0,
16474                        top95: 0,
16475                        top75: 0,
16476                        count: 0,
16477                        delay1S: 0,
16478                        delay2S: 0,
16479                        delay3S: 0,
16480                        special_fields: ::protobuf::SpecialFields::new(),
16481                    };
16482                    &instance
16483                }
16484            }
16485
16486            impl ::protobuf::MessageFull for LatencyDetailInfo {
16487                fn descriptor() -> ::protobuf::reflect::MessageDescriptor {
16488                    static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::Lazy::new();
16489                    descriptor.get(|| super::super::super::file_descriptor().message_by_package_relative_name("MetricsInfo.NetInfo.LatencyInfo.LatencyDetailInfo").unwrap()).clone()
16490                }
16491            }
16492
16493            impl ::std::fmt::Display for LatencyDetailInfo {
16494                fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
16495                    ::protobuf::text_format::fmt(self, f)
16496                }
16497            }
16498
16499            impl ::protobuf::reflect::ProtobufValue for LatencyDetailInfo {
16500                type RuntimeType = ::protobuf::reflect::rt::RuntimeTypeMessage<Self>;
16501            }
16502        }
16503    }
16504}
16505
16506// @@protoc_insertion_point(message:protocol.PBFTMessage)
16507#[derive(PartialEq,Clone,Default,Debug)]
16508pub struct PBFTMessage {
16509    // message fields
16510    // @@protoc_insertion_point(field:protocol.PBFTMessage.raw_data)
16511    pub raw_data: ::protobuf::MessageField<pbftmessage::Raw>,
16512    // @@protoc_insertion_point(field:protocol.PBFTMessage.signature)
16513    pub signature: ::std::vec::Vec<u8>,
16514    // special fields
16515    // @@protoc_insertion_point(special_field:protocol.PBFTMessage.special_fields)
16516    pub special_fields: ::protobuf::SpecialFields,
16517}
16518
16519impl<'a> ::std::default::Default for &'a PBFTMessage {
16520    fn default() -> &'a PBFTMessage {
16521        <PBFTMessage as ::protobuf::Message>::default_instance()
16522    }
16523}
16524
16525impl PBFTMessage {
16526    pub fn new() -> PBFTMessage {
16527        ::std::default::Default::default()
16528    }
16529
16530    fn generated_message_descriptor_data() -> ::protobuf::reflect::GeneratedMessageDescriptorData {
16531        let mut fields = ::std::vec::Vec::with_capacity(2);
16532        let mut oneofs = ::std::vec::Vec::with_capacity(0);
16533        fields.push(::protobuf::reflect::rt::v2::make_message_field_accessor::<_, pbftmessage::Raw>(
16534            "raw_data",
16535            |m: &PBFTMessage| { &m.raw_data },
16536            |m: &mut PBFTMessage| { &mut m.raw_data },
16537        ));
16538        fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
16539            "signature",
16540            |m: &PBFTMessage| { &m.signature },
16541            |m: &mut PBFTMessage| { &mut m.signature },
16542        ));
16543        ::protobuf::reflect::GeneratedMessageDescriptorData::new_2::<PBFTMessage>(
16544            "PBFTMessage",
16545            fields,
16546            oneofs,
16547        )
16548    }
16549}
16550
16551impl ::protobuf::Message for PBFTMessage {
16552    const NAME: &'static str = "PBFTMessage";
16553
16554    fn is_initialized(&self) -> bool {
16555        true
16556    }
16557
16558    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::Result<()> {
16559        while let Some(tag) = is.read_raw_tag_or_eof()? {
16560            match tag {
16561                10 => {
16562                    ::protobuf::rt::read_singular_message_into_field(is, &mut self.raw_data)?;
16563                },
16564                18 => {
16565                    self.signature = is.read_bytes()?;
16566                },
16567                tag => {
16568                    ::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?;
16569                },
16570            };
16571        }
16572        ::std::result::Result::Ok(())
16573    }
16574
16575    // Compute sizes of nested messages
16576    #[allow(unused_variables)]
16577    fn compute_size(&self) -> u64 {
16578        let mut my_size = 0;
16579        if let Some(v) = self.raw_data.as_ref() {
16580            let len = v.compute_size();
16581            my_size += 1 + ::protobuf::rt::compute_raw_varint64_size(len) + len;
16582        }
16583        if !self.signature.is_empty() {
16584            my_size += ::protobuf::rt::bytes_size(2, &self.signature);
16585        }
16586        my_size += ::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields());
16587        self.special_fields.cached_size().set(my_size as u32);
16588        my_size
16589    }
16590
16591    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::Result<()> {
16592        if let Some(v) = self.raw_data.as_ref() {
16593            ::protobuf::rt::write_message_field_with_cached_size(1, v, os)?;
16594        }
16595        if !self.signature.is_empty() {
16596            os.write_bytes(2, &self.signature)?;
16597        }
16598        os.write_unknown_fields(self.special_fields.unknown_fields())?;
16599        ::std::result::Result::Ok(())
16600    }
16601
16602    fn special_fields(&self) -> &::protobuf::SpecialFields {
16603        &self.special_fields
16604    }
16605
16606    fn mut_special_fields(&mut self) -> &mut ::protobuf::SpecialFields {
16607        &mut self.special_fields
16608    }
16609
16610    fn new() -> PBFTMessage {
16611        PBFTMessage::new()
16612    }
16613
16614    fn clear(&mut self) {
16615        self.raw_data.clear();
16616        self.signature.clear();
16617        self.special_fields.clear();
16618    }
16619
16620    fn default_instance() -> &'static PBFTMessage {
16621        static instance: PBFTMessage = PBFTMessage {
16622            raw_data: ::protobuf::MessageField::none(),
16623            signature: ::std::vec::Vec::new(),
16624            special_fields: ::protobuf::SpecialFields::new(),
16625        };
16626        &instance
16627    }
16628}
16629
16630impl ::protobuf::MessageFull for PBFTMessage {
16631    fn descriptor() -> ::protobuf::reflect::MessageDescriptor {
16632        static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::Lazy::new();
16633        descriptor.get(|| file_descriptor().message_by_package_relative_name("PBFTMessage").unwrap()).clone()
16634    }
16635}
16636
16637impl ::std::fmt::Display for PBFTMessage {
16638    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
16639        ::protobuf::text_format::fmt(self, f)
16640    }
16641}
16642
16643impl ::protobuf::reflect::ProtobufValue for PBFTMessage {
16644    type RuntimeType = ::protobuf::reflect::rt::RuntimeTypeMessage<Self>;
16645}
16646
16647/// Nested message and enums of message `PBFTMessage`
16648pub mod pbftmessage {
16649    // @@protoc_insertion_point(message:protocol.PBFTMessage.Raw)
16650    #[derive(PartialEq,Clone,Default,Debug)]
16651    pub struct Raw {
16652        // message fields
16653        // @@protoc_insertion_point(field:protocol.PBFTMessage.Raw.msg_type)
16654        pub msg_type: ::protobuf::EnumOrUnknown<MsgType>,
16655        // @@protoc_insertion_point(field:protocol.PBFTMessage.Raw.data_type)
16656        pub data_type: ::protobuf::EnumOrUnknown<DataType>,
16657        // @@protoc_insertion_point(field:protocol.PBFTMessage.Raw.view_n)
16658        pub view_n: i64,
16659        // @@protoc_insertion_point(field:protocol.PBFTMessage.Raw.epoch)
16660        pub epoch: i64,
16661        // @@protoc_insertion_point(field:protocol.PBFTMessage.Raw.data)
16662        pub data: ::std::vec::Vec<u8>,
16663        // special fields
16664        // @@protoc_insertion_point(special_field:protocol.PBFTMessage.Raw.special_fields)
16665        pub special_fields: ::protobuf::SpecialFields,
16666    }
16667
16668    impl<'a> ::std::default::Default for &'a Raw {
16669        fn default() -> &'a Raw {
16670            <Raw as ::protobuf::Message>::default_instance()
16671        }
16672    }
16673
16674    impl Raw {
16675        pub fn new() -> Raw {
16676            ::std::default::Default::default()
16677        }
16678
16679        pub(in super) fn generated_message_descriptor_data() -> ::protobuf::reflect::GeneratedMessageDescriptorData {
16680            let mut fields = ::std::vec::Vec::with_capacity(5);
16681            let mut oneofs = ::std::vec::Vec::with_capacity(0);
16682            fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
16683                "msg_type",
16684                |m: &Raw| { &m.msg_type },
16685                |m: &mut Raw| { &mut m.msg_type },
16686            ));
16687            fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
16688                "data_type",
16689                |m: &Raw| { &m.data_type },
16690                |m: &mut Raw| { &mut m.data_type },
16691            ));
16692            fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
16693                "view_n",
16694                |m: &Raw| { &m.view_n },
16695                |m: &mut Raw| { &mut m.view_n },
16696            ));
16697            fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
16698                "epoch",
16699                |m: &Raw| { &m.epoch },
16700                |m: &mut Raw| { &mut m.epoch },
16701            ));
16702            fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
16703                "data",
16704                |m: &Raw| { &m.data },
16705                |m: &mut Raw| { &mut m.data },
16706            ));
16707            ::protobuf::reflect::GeneratedMessageDescriptorData::new_2::<Raw>(
16708                "PBFTMessage.Raw",
16709                fields,
16710                oneofs,
16711            )
16712        }
16713    }
16714
16715    impl ::protobuf::Message for Raw {
16716        const NAME: &'static str = "Raw";
16717
16718        fn is_initialized(&self) -> bool {
16719            true
16720        }
16721
16722        fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::Result<()> {
16723            while let Some(tag) = is.read_raw_tag_or_eof()? {
16724                match tag {
16725                    8 => {
16726                        self.msg_type = is.read_enum_or_unknown()?;
16727                    },
16728                    16 => {
16729                        self.data_type = is.read_enum_or_unknown()?;
16730                    },
16731                    24 => {
16732                        self.view_n = is.read_int64()?;
16733                    },
16734                    32 => {
16735                        self.epoch = is.read_int64()?;
16736                    },
16737                    42 => {
16738                        self.data = is.read_bytes()?;
16739                    },
16740                    tag => {
16741                        ::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?;
16742                    },
16743                };
16744            }
16745            ::std::result::Result::Ok(())
16746        }
16747
16748        // Compute sizes of nested messages
16749        #[allow(unused_variables)]
16750        fn compute_size(&self) -> u64 {
16751            let mut my_size = 0;
16752            if self.msg_type != ::protobuf::EnumOrUnknown::new(MsgType::VIEW_CHANGE) {
16753                my_size += ::protobuf::rt::int32_size(1, self.msg_type.value());
16754            }
16755            if self.data_type != ::protobuf::EnumOrUnknown::new(DataType::BLOCK) {
16756                my_size += ::protobuf::rt::int32_size(2, self.data_type.value());
16757            }
16758            if self.view_n != 0 {
16759                my_size += ::protobuf::rt::int64_size(3, self.view_n);
16760            }
16761            if self.epoch != 0 {
16762                my_size += ::protobuf::rt::int64_size(4, self.epoch);
16763            }
16764            if !self.data.is_empty() {
16765                my_size += ::protobuf::rt::bytes_size(5, &self.data);
16766            }
16767            my_size += ::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields());
16768            self.special_fields.cached_size().set(my_size as u32);
16769            my_size
16770        }
16771
16772        fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::Result<()> {
16773            if self.msg_type != ::protobuf::EnumOrUnknown::new(MsgType::VIEW_CHANGE) {
16774                os.write_enum(1, ::protobuf::EnumOrUnknown::value(&self.msg_type))?;
16775            }
16776            if self.data_type != ::protobuf::EnumOrUnknown::new(DataType::BLOCK) {
16777                os.write_enum(2, ::protobuf::EnumOrUnknown::value(&self.data_type))?;
16778            }
16779            if self.view_n != 0 {
16780                os.write_int64(3, self.view_n)?;
16781            }
16782            if self.epoch != 0 {
16783                os.write_int64(4, self.epoch)?;
16784            }
16785            if !self.data.is_empty() {
16786                os.write_bytes(5, &self.data)?;
16787            }
16788            os.write_unknown_fields(self.special_fields.unknown_fields())?;
16789            ::std::result::Result::Ok(())
16790        }
16791
16792        fn special_fields(&self) -> &::protobuf::SpecialFields {
16793            &self.special_fields
16794        }
16795
16796        fn mut_special_fields(&mut self) -> &mut ::protobuf::SpecialFields {
16797            &mut self.special_fields
16798        }
16799
16800        fn new() -> Raw {
16801            Raw::new()
16802        }
16803
16804        fn clear(&mut self) {
16805            self.msg_type = ::protobuf::EnumOrUnknown::new(MsgType::VIEW_CHANGE);
16806            self.data_type = ::protobuf::EnumOrUnknown::new(DataType::BLOCK);
16807            self.view_n = 0;
16808            self.epoch = 0;
16809            self.data.clear();
16810            self.special_fields.clear();
16811        }
16812
16813        fn default_instance() -> &'static Raw {
16814            static instance: Raw = Raw {
16815                msg_type: ::protobuf::EnumOrUnknown::from_i32(0),
16816                data_type: ::protobuf::EnumOrUnknown::from_i32(0),
16817                view_n: 0,
16818                epoch: 0,
16819                data: ::std::vec::Vec::new(),
16820                special_fields: ::protobuf::SpecialFields::new(),
16821            };
16822            &instance
16823        }
16824    }
16825
16826    impl ::protobuf::MessageFull for Raw {
16827        fn descriptor() -> ::protobuf::reflect::MessageDescriptor {
16828            static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::Lazy::new();
16829            descriptor.get(|| super::file_descriptor().message_by_package_relative_name("PBFTMessage.Raw").unwrap()).clone()
16830        }
16831    }
16832
16833    impl ::std::fmt::Display for Raw {
16834        fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
16835            ::protobuf::text_format::fmt(self, f)
16836        }
16837    }
16838
16839    impl ::protobuf::reflect::ProtobufValue for Raw {
16840        type RuntimeType = ::protobuf::reflect::rt::RuntimeTypeMessage<Self>;
16841    }
16842
16843    #[derive(Clone,Copy,PartialEq,Eq,Debug,Hash)]
16844    // @@protoc_insertion_point(enum:protocol.PBFTMessage.MsgType)
16845    pub enum MsgType {
16846        // @@protoc_insertion_point(enum_value:protocol.PBFTMessage.MsgType.VIEW_CHANGE)
16847        VIEW_CHANGE = 0,
16848        // @@protoc_insertion_point(enum_value:protocol.PBFTMessage.MsgType.REQUEST)
16849        REQUEST = 1,
16850        // @@protoc_insertion_point(enum_value:protocol.PBFTMessage.MsgType.PREPREPARE)
16851        PREPREPARE = 2,
16852        // @@protoc_insertion_point(enum_value:protocol.PBFTMessage.MsgType.PREPARE)
16853        PREPARE = 3,
16854        // @@protoc_insertion_point(enum_value:protocol.PBFTMessage.MsgType.COMMIT)
16855        COMMIT = 4,
16856    }
16857
16858    impl ::protobuf::Enum for MsgType {
16859        const NAME: &'static str = "MsgType";
16860
16861        fn value(&self) -> i32 {
16862            *self as i32
16863        }
16864
16865        fn from_i32(value: i32) -> ::std::option::Option<MsgType> {
16866            match value {
16867                0 => ::std::option::Option::Some(MsgType::VIEW_CHANGE),
16868                1 => ::std::option::Option::Some(MsgType::REQUEST),
16869                2 => ::std::option::Option::Some(MsgType::PREPREPARE),
16870                3 => ::std::option::Option::Some(MsgType::PREPARE),
16871                4 => ::std::option::Option::Some(MsgType::COMMIT),
16872                _ => ::std::option::Option::None
16873            }
16874        }
16875
16876        fn from_str(str: &str) -> ::std::option::Option<MsgType> {
16877            match str {
16878                "VIEW_CHANGE" => ::std::option::Option::Some(MsgType::VIEW_CHANGE),
16879                "REQUEST" => ::std::option::Option::Some(MsgType::REQUEST),
16880                "PREPREPARE" => ::std::option::Option::Some(MsgType::PREPREPARE),
16881                "PREPARE" => ::std::option::Option::Some(MsgType::PREPARE),
16882                "COMMIT" => ::std::option::Option::Some(MsgType::COMMIT),
16883                _ => ::std::option::Option::None
16884            }
16885        }
16886
16887        const VALUES: &'static [MsgType] = &[
16888            MsgType::VIEW_CHANGE,
16889            MsgType::REQUEST,
16890            MsgType::PREPREPARE,
16891            MsgType::PREPARE,
16892            MsgType::COMMIT,
16893        ];
16894    }
16895
16896    impl ::protobuf::EnumFull for MsgType {
16897        fn enum_descriptor() -> ::protobuf::reflect::EnumDescriptor {
16898            static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::EnumDescriptor> = ::protobuf::rt::Lazy::new();
16899            descriptor.get(|| super::file_descriptor().enum_by_package_relative_name("PBFTMessage.MsgType").unwrap()).clone()
16900        }
16901
16902        fn descriptor(&self) -> ::protobuf::reflect::EnumValueDescriptor {
16903            let index = *self as usize;
16904            Self::enum_descriptor().value_by_index(index)
16905        }
16906    }
16907
16908    impl ::std::default::Default for MsgType {
16909        fn default() -> Self {
16910            MsgType::VIEW_CHANGE
16911        }
16912    }
16913
16914    impl MsgType {
16915        pub(in super) fn generated_enum_descriptor_data() -> ::protobuf::reflect::GeneratedEnumDescriptorData {
16916            ::protobuf::reflect::GeneratedEnumDescriptorData::new::<MsgType>("PBFTMessage.MsgType")
16917        }
16918    }
16919
16920    #[derive(Clone,Copy,PartialEq,Eq,Debug,Hash)]
16921    // @@protoc_insertion_point(enum:protocol.PBFTMessage.DataType)
16922    pub enum DataType {
16923        // @@protoc_insertion_point(enum_value:protocol.PBFTMessage.DataType.BLOCK)
16924        BLOCK = 0,
16925        // @@protoc_insertion_point(enum_value:protocol.PBFTMessage.DataType.SRL)
16926        SRL = 1,
16927    }
16928
16929    impl ::protobuf::Enum for DataType {
16930        const NAME: &'static str = "DataType";
16931
16932        fn value(&self) -> i32 {
16933            *self as i32
16934        }
16935
16936        fn from_i32(value: i32) -> ::std::option::Option<DataType> {
16937            match value {
16938                0 => ::std::option::Option::Some(DataType::BLOCK),
16939                1 => ::std::option::Option::Some(DataType::SRL),
16940                _ => ::std::option::Option::None
16941            }
16942        }
16943
16944        fn from_str(str: &str) -> ::std::option::Option<DataType> {
16945            match str {
16946                "BLOCK" => ::std::option::Option::Some(DataType::BLOCK),
16947                "SRL" => ::std::option::Option::Some(DataType::SRL),
16948                _ => ::std::option::Option::None
16949            }
16950        }
16951
16952        const VALUES: &'static [DataType] = &[
16953            DataType::BLOCK,
16954            DataType::SRL,
16955        ];
16956    }
16957
16958    impl ::protobuf::EnumFull for DataType {
16959        fn enum_descriptor() -> ::protobuf::reflect::EnumDescriptor {
16960            static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::EnumDescriptor> = ::protobuf::rt::Lazy::new();
16961            descriptor.get(|| super::file_descriptor().enum_by_package_relative_name("PBFTMessage.DataType").unwrap()).clone()
16962        }
16963
16964        fn descriptor(&self) -> ::protobuf::reflect::EnumValueDescriptor {
16965            let index = *self as usize;
16966            Self::enum_descriptor().value_by_index(index)
16967        }
16968    }
16969
16970    impl ::std::default::Default for DataType {
16971        fn default() -> Self {
16972            DataType::BLOCK
16973        }
16974    }
16975
16976    impl DataType {
16977        pub(in super) fn generated_enum_descriptor_data() -> ::protobuf::reflect::GeneratedEnumDescriptorData {
16978            ::protobuf::reflect::GeneratedEnumDescriptorData::new::<DataType>("PBFTMessage.DataType")
16979        }
16980    }
16981}
16982
16983// @@protoc_insertion_point(message:protocol.PBFTCommitResult)
16984#[derive(PartialEq,Clone,Default,Debug)]
16985pub struct PBFTCommitResult {
16986    // message fields
16987    // @@protoc_insertion_point(field:protocol.PBFTCommitResult.data)
16988    pub data: ::std::vec::Vec<u8>,
16989    // @@protoc_insertion_point(field:protocol.PBFTCommitResult.signature)
16990    pub signature: ::std::vec::Vec<::std::vec::Vec<u8>>,
16991    // special fields
16992    // @@protoc_insertion_point(special_field:protocol.PBFTCommitResult.special_fields)
16993    pub special_fields: ::protobuf::SpecialFields,
16994}
16995
16996impl<'a> ::std::default::Default for &'a PBFTCommitResult {
16997    fn default() -> &'a PBFTCommitResult {
16998        <PBFTCommitResult as ::protobuf::Message>::default_instance()
16999    }
17000}
17001
17002impl PBFTCommitResult {
17003    pub fn new() -> PBFTCommitResult {
17004        ::std::default::Default::default()
17005    }
17006
17007    fn generated_message_descriptor_data() -> ::protobuf::reflect::GeneratedMessageDescriptorData {
17008        let mut fields = ::std::vec::Vec::with_capacity(2);
17009        let mut oneofs = ::std::vec::Vec::with_capacity(0);
17010        fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
17011            "data",
17012            |m: &PBFTCommitResult| { &m.data },
17013            |m: &mut PBFTCommitResult| { &mut m.data },
17014        ));
17015        fields.push(::protobuf::reflect::rt::v2::make_vec_simpler_accessor::<_, _>(
17016            "signature",
17017            |m: &PBFTCommitResult| { &m.signature },
17018            |m: &mut PBFTCommitResult| { &mut m.signature },
17019        ));
17020        ::protobuf::reflect::GeneratedMessageDescriptorData::new_2::<PBFTCommitResult>(
17021            "PBFTCommitResult",
17022            fields,
17023            oneofs,
17024        )
17025    }
17026}
17027
17028impl ::protobuf::Message for PBFTCommitResult {
17029    const NAME: &'static str = "PBFTCommitResult";
17030
17031    fn is_initialized(&self) -> bool {
17032        true
17033    }
17034
17035    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::Result<()> {
17036        while let Some(tag) = is.read_raw_tag_or_eof()? {
17037            match tag {
17038                10 => {
17039                    self.data = is.read_bytes()?;
17040                },
17041                18 => {
17042                    self.signature.push(is.read_bytes()?);
17043                },
17044                tag => {
17045                    ::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?;
17046                },
17047            };
17048        }
17049        ::std::result::Result::Ok(())
17050    }
17051
17052    // Compute sizes of nested messages
17053    #[allow(unused_variables)]
17054    fn compute_size(&self) -> u64 {
17055        let mut my_size = 0;
17056        if !self.data.is_empty() {
17057            my_size += ::protobuf::rt::bytes_size(1, &self.data);
17058        }
17059        for value in &self.signature {
17060            my_size += ::protobuf::rt::bytes_size(2, &value);
17061        };
17062        my_size += ::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields());
17063        self.special_fields.cached_size().set(my_size as u32);
17064        my_size
17065    }
17066
17067    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::Result<()> {
17068        if !self.data.is_empty() {
17069            os.write_bytes(1, &self.data)?;
17070        }
17071        for v in &self.signature {
17072            os.write_bytes(2, &v)?;
17073        };
17074        os.write_unknown_fields(self.special_fields.unknown_fields())?;
17075        ::std::result::Result::Ok(())
17076    }
17077
17078    fn special_fields(&self) -> &::protobuf::SpecialFields {
17079        &self.special_fields
17080    }
17081
17082    fn mut_special_fields(&mut self) -> &mut ::protobuf::SpecialFields {
17083        &mut self.special_fields
17084    }
17085
17086    fn new() -> PBFTCommitResult {
17087        PBFTCommitResult::new()
17088    }
17089
17090    fn clear(&mut self) {
17091        self.data.clear();
17092        self.signature.clear();
17093        self.special_fields.clear();
17094    }
17095
17096    fn default_instance() -> &'static PBFTCommitResult {
17097        static instance: PBFTCommitResult = PBFTCommitResult {
17098            data: ::std::vec::Vec::new(),
17099            signature: ::std::vec::Vec::new(),
17100            special_fields: ::protobuf::SpecialFields::new(),
17101        };
17102        &instance
17103    }
17104}
17105
17106impl ::protobuf::MessageFull for PBFTCommitResult {
17107    fn descriptor() -> ::protobuf::reflect::MessageDescriptor {
17108        static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::Lazy::new();
17109        descriptor.get(|| file_descriptor().message_by_package_relative_name("PBFTCommitResult").unwrap()).clone()
17110    }
17111}
17112
17113impl ::std::fmt::Display for PBFTCommitResult {
17114    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
17115        ::protobuf::text_format::fmt(self, f)
17116    }
17117}
17118
17119impl ::protobuf::reflect::ProtobufValue for PBFTCommitResult {
17120    type RuntimeType = ::protobuf::reflect::rt::RuntimeTypeMessage<Self>;
17121}
17122
17123// @@protoc_insertion_point(message:protocol.SRL)
17124#[derive(PartialEq,Clone,Default,Debug)]
17125pub struct SRL {
17126    // message fields
17127    // @@protoc_insertion_point(field:protocol.SRL.srAddress)
17128    pub srAddress: ::std::vec::Vec<::std::vec::Vec<u8>>,
17129    // special fields
17130    // @@protoc_insertion_point(special_field:protocol.SRL.special_fields)
17131    pub special_fields: ::protobuf::SpecialFields,
17132}
17133
17134impl<'a> ::std::default::Default for &'a SRL {
17135    fn default() -> &'a SRL {
17136        <SRL as ::protobuf::Message>::default_instance()
17137    }
17138}
17139
17140impl SRL {
17141    pub fn new() -> SRL {
17142        ::std::default::Default::default()
17143    }
17144
17145    fn generated_message_descriptor_data() -> ::protobuf::reflect::GeneratedMessageDescriptorData {
17146        let mut fields = ::std::vec::Vec::with_capacity(1);
17147        let mut oneofs = ::std::vec::Vec::with_capacity(0);
17148        fields.push(::protobuf::reflect::rt::v2::make_vec_simpler_accessor::<_, _>(
17149            "srAddress",
17150            |m: &SRL| { &m.srAddress },
17151            |m: &mut SRL| { &mut m.srAddress },
17152        ));
17153        ::protobuf::reflect::GeneratedMessageDescriptorData::new_2::<SRL>(
17154            "SRL",
17155            fields,
17156            oneofs,
17157        )
17158    }
17159}
17160
17161impl ::protobuf::Message for SRL {
17162    const NAME: &'static str = "SRL";
17163
17164    fn is_initialized(&self) -> bool {
17165        true
17166    }
17167
17168    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::Result<()> {
17169        while let Some(tag) = is.read_raw_tag_or_eof()? {
17170            match tag {
17171                10 => {
17172                    self.srAddress.push(is.read_bytes()?);
17173                },
17174                tag => {
17175                    ::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?;
17176                },
17177            };
17178        }
17179        ::std::result::Result::Ok(())
17180    }
17181
17182    // Compute sizes of nested messages
17183    #[allow(unused_variables)]
17184    fn compute_size(&self) -> u64 {
17185        let mut my_size = 0;
17186        for value in &self.srAddress {
17187            my_size += ::protobuf::rt::bytes_size(1, &value);
17188        };
17189        my_size += ::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields());
17190        self.special_fields.cached_size().set(my_size as u32);
17191        my_size
17192    }
17193
17194    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::Result<()> {
17195        for v in &self.srAddress {
17196            os.write_bytes(1, &v)?;
17197        };
17198        os.write_unknown_fields(self.special_fields.unknown_fields())?;
17199        ::std::result::Result::Ok(())
17200    }
17201
17202    fn special_fields(&self) -> &::protobuf::SpecialFields {
17203        &self.special_fields
17204    }
17205
17206    fn mut_special_fields(&mut self) -> &mut ::protobuf::SpecialFields {
17207        &mut self.special_fields
17208    }
17209
17210    fn new() -> SRL {
17211        SRL::new()
17212    }
17213
17214    fn clear(&mut self) {
17215        self.srAddress.clear();
17216        self.special_fields.clear();
17217    }
17218
17219    fn default_instance() -> &'static SRL {
17220        static instance: SRL = SRL {
17221            srAddress: ::std::vec::Vec::new(),
17222            special_fields: ::protobuf::SpecialFields::new(),
17223        };
17224        &instance
17225    }
17226}
17227
17228impl ::protobuf::MessageFull for SRL {
17229    fn descriptor() -> ::protobuf::reflect::MessageDescriptor {
17230        static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::Lazy::new();
17231        descriptor.get(|| file_descriptor().message_by_package_relative_name("SRL").unwrap()).clone()
17232    }
17233}
17234
17235impl ::std::fmt::Display for SRL {
17236    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
17237        ::protobuf::text_format::fmt(self, f)
17238    }
17239}
17240
17241impl ::protobuf::reflect::ProtobufValue for SRL {
17242    type RuntimeType = ::protobuf::reflect::rt::RuntimeTypeMessage<Self>;
17243}
17244
17245#[derive(Clone,Copy,PartialEq,Eq,Debug,Hash)]
17246// @@protoc_insertion_point(enum:protocol.AccountType)
17247pub enum AccountType {
17248    // @@protoc_insertion_point(enum_value:protocol.AccountType.Normal)
17249    Normal = 0,
17250    // @@protoc_insertion_point(enum_value:protocol.AccountType.AssetIssue)
17251    AssetIssue = 1,
17252    // @@protoc_insertion_point(enum_value:protocol.AccountType.Contract)
17253    Contract = 2,
17254}
17255
17256impl ::protobuf::Enum for AccountType {
17257    const NAME: &'static str = "AccountType";
17258
17259    fn value(&self) -> i32 {
17260        *self as i32
17261    }
17262
17263    fn from_i32(value: i32) -> ::std::option::Option<AccountType> {
17264        match value {
17265            0 => ::std::option::Option::Some(AccountType::Normal),
17266            1 => ::std::option::Option::Some(AccountType::AssetIssue),
17267            2 => ::std::option::Option::Some(AccountType::Contract),
17268            _ => ::std::option::Option::None
17269        }
17270    }
17271
17272    fn from_str(str: &str) -> ::std::option::Option<AccountType> {
17273        match str {
17274            "Normal" => ::std::option::Option::Some(AccountType::Normal),
17275            "AssetIssue" => ::std::option::Option::Some(AccountType::AssetIssue),
17276            "Contract" => ::std::option::Option::Some(AccountType::Contract),
17277            _ => ::std::option::Option::None
17278        }
17279    }
17280
17281    const VALUES: &'static [AccountType] = &[
17282        AccountType::Normal,
17283        AccountType::AssetIssue,
17284        AccountType::Contract,
17285    ];
17286}
17287
17288impl ::protobuf::EnumFull for AccountType {
17289    fn enum_descriptor() -> ::protobuf::reflect::EnumDescriptor {
17290        static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::EnumDescriptor> = ::protobuf::rt::Lazy::new();
17291        descriptor.get(|| file_descriptor().enum_by_package_relative_name("AccountType").unwrap()).clone()
17292    }
17293
17294    fn descriptor(&self) -> ::protobuf::reflect::EnumValueDescriptor {
17295        let index = *self as usize;
17296        Self::enum_descriptor().value_by_index(index)
17297    }
17298}
17299
17300impl ::std::default::Default for AccountType {
17301    fn default() -> Self {
17302        AccountType::Normal
17303    }
17304}
17305
17306impl AccountType {
17307    fn generated_enum_descriptor_data() -> ::protobuf::reflect::GeneratedEnumDescriptorData {
17308        ::protobuf::reflect::GeneratedEnumDescriptorData::new::<AccountType>("AccountType")
17309    }
17310}
17311
17312#[derive(Clone,Copy,PartialEq,Eq,Debug,Hash)]
17313// @@protoc_insertion_point(enum:protocol.ReasonCode)
17314pub enum ReasonCode {
17315    // @@protoc_insertion_point(enum_value:protocol.ReasonCode.REQUESTED)
17316    REQUESTED = 0,
17317    // @@protoc_insertion_point(enum_value:protocol.ReasonCode.BAD_PROTOCOL)
17318    BAD_PROTOCOL = 2,
17319    // @@protoc_insertion_point(enum_value:protocol.ReasonCode.TOO_MANY_PEERS)
17320    TOO_MANY_PEERS = 4,
17321    // @@protoc_insertion_point(enum_value:protocol.ReasonCode.DUPLICATE_PEER)
17322    DUPLICATE_PEER = 5,
17323    // @@protoc_insertion_point(enum_value:protocol.ReasonCode.INCOMPATIBLE_PROTOCOL)
17324    INCOMPATIBLE_PROTOCOL = 6,
17325    // @@protoc_insertion_point(enum_value:protocol.ReasonCode.RANDOM_ELIMINATION)
17326    RANDOM_ELIMINATION = 7,
17327    // @@protoc_insertion_point(enum_value:protocol.ReasonCode.PEER_QUITING)
17328    PEER_QUITING = 8,
17329    // @@protoc_insertion_point(enum_value:protocol.ReasonCode.UNEXPECTED_IDENTITY)
17330    UNEXPECTED_IDENTITY = 9,
17331    // @@protoc_insertion_point(enum_value:protocol.ReasonCode.LOCAL_IDENTITY)
17332    LOCAL_IDENTITY = 10,
17333    // @@protoc_insertion_point(enum_value:protocol.ReasonCode.PING_TIMEOUT)
17334    PING_TIMEOUT = 11,
17335    // @@protoc_insertion_point(enum_value:protocol.ReasonCode.USER_REASON)
17336    USER_REASON = 16,
17337    // @@protoc_insertion_point(enum_value:protocol.ReasonCode.RESET)
17338    RESET = 17,
17339    // @@protoc_insertion_point(enum_value:protocol.ReasonCode.SYNC_FAIL)
17340    SYNC_FAIL = 18,
17341    // @@protoc_insertion_point(enum_value:protocol.ReasonCode.FETCH_FAIL)
17342    FETCH_FAIL = 19,
17343    // @@protoc_insertion_point(enum_value:protocol.ReasonCode.BAD_TX)
17344    BAD_TX = 20,
17345    // @@protoc_insertion_point(enum_value:protocol.ReasonCode.BAD_BLOCK)
17346    BAD_BLOCK = 21,
17347    // @@protoc_insertion_point(enum_value:protocol.ReasonCode.FORKED)
17348    FORKED = 22,
17349    // @@protoc_insertion_point(enum_value:protocol.ReasonCode.UNLINKABLE)
17350    UNLINKABLE = 23,
17351    // @@protoc_insertion_point(enum_value:protocol.ReasonCode.INCOMPATIBLE_VERSION)
17352    INCOMPATIBLE_VERSION = 24,
17353    // @@protoc_insertion_point(enum_value:protocol.ReasonCode.INCOMPATIBLE_CHAIN)
17354    INCOMPATIBLE_CHAIN = 25,
17355    // @@protoc_insertion_point(enum_value:protocol.ReasonCode.TIME_OUT)
17356    TIME_OUT = 32,
17357    // @@protoc_insertion_point(enum_value:protocol.ReasonCode.CONNECT_FAIL)
17358    CONNECT_FAIL = 33,
17359    // @@protoc_insertion_point(enum_value:protocol.ReasonCode.TOO_MANY_PEERS_WITH_SAME_IP)
17360    TOO_MANY_PEERS_WITH_SAME_IP = 34,
17361    // @@protoc_insertion_point(enum_value:protocol.ReasonCode.LIGHT_NODE_SYNC_FAIL)
17362    LIGHT_NODE_SYNC_FAIL = 35,
17363    // @@protoc_insertion_point(enum_value:protocol.ReasonCode.BELOW_THAN_ME)
17364    BELOW_THAN_ME = 36,
17365    // @@protoc_insertion_point(enum_value:protocol.ReasonCode.NOT_WITNESS)
17366    NOT_WITNESS = 37,
17367    // @@protoc_insertion_point(enum_value:protocol.ReasonCode.NO_SUCH_MESSAGE)
17368    NO_SUCH_MESSAGE = 38,
17369    // @@protoc_insertion_point(enum_value:protocol.ReasonCode.UNKNOWN)
17370    UNKNOWN = 255,
17371}
17372
17373impl ::protobuf::Enum for ReasonCode {
17374    const NAME: &'static str = "ReasonCode";
17375
17376    fn value(&self) -> i32 {
17377        *self as i32
17378    }
17379
17380    fn from_i32(value: i32) -> ::std::option::Option<ReasonCode> {
17381        match value {
17382            0 => ::std::option::Option::Some(ReasonCode::REQUESTED),
17383            2 => ::std::option::Option::Some(ReasonCode::BAD_PROTOCOL),
17384            4 => ::std::option::Option::Some(ReasonCode::TOO_MANY_PEERS),
17385            5 => ::std::option::Option::Some(ReasonCode::DUPLICATE_PEER),
17386            6 => ::std::option::Option::Some(ReasonCode::INCOMPATIBLE_PROTOCOL),
17387            7 => ::std::option::Option::Some(ReasonCode::RANDOM_ELIMINATION),
17388            8 => ::std::option::Option::Some(ReasonCode::PEER_QUITING),
17389            9 => ::std::option::Option::Some(ReasonCode::UNEXPECTED_IDENTITY),
17390            10 => ::std::option::Option::Some(ReasonCode::LOCAL_IDENTITY),
17391            11 => ::std::option::Option::Some(ReasonCode::PING_TIMEOUT),
17392            16 => ::std::option::Option::Some(ReasonCode::USER_REASON),
17393            17 => ::std::option::Option::Some(ReasonCode::RESET),
17394            18 => ::std::option::Option::Some(ReasonCode::SYNC_FAIL),
17395            19 => ::std::option::Option::Some(ReasonCode::FETCH_FAIL),
17396            20 => ::std::option::Option::Some(ReasonCode::BAD_TX),
17397            21 => ::std::option::Option::Some(ReasonCode::BAD_BLOCK),
17398            22 => ::std::option::Option::Some(ReasonCode::FORKED),
17399            23 => ::std::option::Option::Some(ReasonCode::UNLINKABLE),
17400            24 => ::std::option::Option::Some(ReasonCode::INCOMPATIBLE_VERSION),
17401            25 => ::std::option::Option::Some(ReasonCode::INCOMPATIBLE_CHAIN),
17402            32 => ::std::option::Option::Some(ReasonCode::TIME_OUT),
17403            33 => ::std::option::Option::Some(ReasonCode::CONNECT_FAIL),
17404            34 => ::std::option::Option::Some(ReasonCode::TOO_MANY_PEERS_WITH_SAME_IP),
17405            35 => ::std::option::Option::Some(ReasonCode::LIGHT_NODE_SYNC_FAIL),
17406            36 => ::std::option::Option::Some(ReasonCode::BELOW_THAN_ME),
17407            37 => ::std::option::Option::Some(ReasonCode::NOT_WITNESS),
17408            38 => ::std::option::Option::Some(ReasonCode::NO_SUCH_MESSAGE),
17409            255 => ::std::option::Option::Some(ReasonCode::UNKNOWN),
17410            _ => ::std::option::Option::None
17411        }
17412    }
17413
17414    fn from_str(str: &str) -> ::std::option::Option<ReasonCode> {
17415        match str {
17416            "REQUESTED" => ::std::option::Option::Some(ReasonCode::REQUESTED),
17417            "BAD_PROTOCOL" => ::std::option::Option::Some(ReasonCode::BAD_PROTOCOL),
17418            "TOO_MANY_PEERS" => ::std::option::Option::Some(ReasonCode::TOO_MANY_PEERS),
17419            "DUPLICATE_PEER" => ::std::option::Option::Some(ReasonCode::DUPLICATE_PEER),
17420            "INCOMPATIBLE_PROTOCOL" => ::std::option::Option::Some(ReasonCode::INCOMPATIBLE_PROTOCOL),
17421            "RANDOM_ELIMINATION" => ::std::option::Option::Some(ReasonCode::RANDOM_ELIMINATION),
17422            "PEER_QUITING" => ::std::option::Option::Some(ReasonCode::PEER_QUITING),
17423            "UNEXPECTED_IDENTITY" => ::std::option::Option::Some(ReasonCode::UNEXPECTED_IDENTITY),
17424            "LOCAL_IDENTITY" => ::std::option::Option::Some(ReasonCode::LOCAL_IDENTITY),
17425            "PING_TIMEOUT" => ::std::option::Option::Some(ReasonCode::PING_TIMEOUT),
17426            "USER_REASON" => ::std::option::Option::Some(ReasonCode::USER_REASON),
17427            "RESET" => ::std::option::Option::Some(ReasonCode::RESET),
17428            "SYNC_FAIL" => ::std::option::Option::Some(ReasonCode::SYNC_FAIL),
17429            "FETCH_FAIL" => ::std::option::Option::Some(ReasonCode::FETCH_FAIL),
17430            "BAD_TX" => ::std::option::Option::Some(ReasonCode::BAD_TX),
17431            "BAD_BLOCK" => ::std::option::Option::Some(ReasonCode::BAD_BLOCK),
17432            "FORKED" => ::std::option::Option::Some(ReasonCode::FORKED),
17433            "UNLINKABLE" => ::std::option::Option::Some(ReasonCode::UNLINKABLE),
17434            "INCOMPATIBLE_VERSION" => ::std::option::Option::Some(ReasonCode::INCOMPATIBLE_VERSION),
17435            "INCOMPATIBLE_CHAIN" => ::std::option::Option::Some(ReasonCode::INCOMPATIBLE_CHAIN),
17436            "TIME_OUT" => ::std::option::Option::Some(ReasonCode::TIME_OUT),
17437            "CONNECT_FAIL" => ::std::option::Option::Some(ReasonCode::CONNECT_FAIL),
17438            "TOO_MANY_PEERS_WITH_SAME_IP" => ::std::option::Option::Some(ReasonCode::TOO_MANY_PEERS_WITH_SAME_IP),
17439            "LIGHT_NODE_SYNC_FAIL" => ::std::option::Option::Some(ReasonCode::LIGHT_NODE_SYNC_FAIL),
17440            "BELOW_THAN_ME" => ::std::option::Option::Some(ReasonCode::BELOW_THAN_ME),
17441            "NOT_WITNESS" => ::std::option::Option::Some(ReasonCode::NOT_WITNESS),
17442            "NO_SUCH_MESSAGE" => ::std::option::Option::Some(ReasonCode::NO_SUCH_MESSAGE),
17443            "UNKNOWN" => ::std::option::Option::Some(ReasonCode::UNKNOWN),
17444            _ => ::std::option::Option::None
17445        }
17446    }
17447
17448    const VALUES: &'static [ReasonCode] = &[
17449        ReasonCode::REQUESTED,
17450        ReasonCode::BAD_PROTOCOL,
17451        ReasonCode::TOO_MANY_PEERS,
17452        ReasonCode::DUPLICATE_PEER,
17453        ReasonCode::INCOMPATIBLE_PROTOCOL,
17454        ReasonCode::RANDOM_ELIMINATION,
17455        ReasonCode::PEER_QUITING,
17456        ReasonCode::UNEXPECTED_IDENTITY,
17457        ReasonCode::LOCAL_IDENTITY,
17458        ReasonCode::PING_TIMEOUT,
17459        ReasonCode::USER_REASON,
17460        ReasonCode::RESET,
17461        ReasonCode::SYNC_FAIL,
17462        ReasonCode::FETCH_FAIL,
17463        ReasonCode::BAD_TX,
17464        ReasonCode::BAD_BLOCK,
17465        ReasonCode::FORKED,
17466        ReasonCode::UNLINKABLE,
17467        ReasonCode::INCOMPATIBLE_VERSION,
17468        ReasonCode::INCOMPATIBLE_CHAIN,
17469        ReasonCode::TIME_OUT,
17470        ReasonCode::CONNECT_FAIL,
17471        ReasonCode::TOO_MANY_PEERS_WITH_SAME_IP,
17472        ReasonCode::LIGHT_NODE_SYNC_FAIL,
17473        ReasonCode::BELOW_THAN_ME,
17474        ReasonCode::NOT_WITNESS,
17475        ReasonCode::NO_SUCH_MESSAGE,
17476        ReasonCode::UNKNOWN,
17477    ];
17478}
17479
17480impl ::protobuf::EnumFull for ReasonCode {
17481    fn enum_descriptor() -> ::protobuf::reflect::EnumDescriptor {
17482        static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::EnumDescriptor> = ::protobuf::rt::Lazy::new();
17483        descriptor.get(|| file_descriptor().enum_by_package_relative_name("ReasonCode").unwrap()).clone()
17484    }
17485
17486    fn descriptor(&self) -> ::protobuf::reflect::EnumValueDescriptor {
17487        let index = match self {
17488            ReasonCode::REQUESTED => 0,
17489            ReasonCode::BAD_PROTOCOL => 1,
17490            ReasonCode::TOO_MANY_PEERS => 2,
17491            ReasonCode::DUPLICATE_PEER => 3,
17492            ReasonCode::INCOMPATIBLE_PROTOCOL => 4,
17493            ReasonCode::RANDOM_ELIMINATION => 5,
17494            ReasonCode::PEER_QUITING => 6,
17495            ReasonCode::UNEXPECTED_IDENTITY => 7,
17496            ReasonCode::LOCAL_IDENTITY => 8,
17497            ReasonCode::PING_TIMEOUT => 9,
17498            ReasonCode::USER_REASON => 10,
17499            ReasonCode::RESET => 11,
17500            ReasonCode::SYNC_FAIL => 12,
17501            ReasonCode::FETCH_FAIL => 13,
17502            ReasonCode::BAD_TX => 14,
17503            ReasonCode::BAD_BLOCK => 15,
17504            ReasonCode::FORKED => 16,
17505            ReasonCode::UNLINKABLE => 17,
17506            ReasonCode::INCOMPATIBLE_VERSION => 18,
17507            ReasonCode::INCOMPATIBLE_CHAIN => 19,
17508            ReasonCode::TIME_OUT => 20,
17509            ReasonCode::CONNECT_FAIL => 21,
17510            ReasonCode::TOO_MANY_PEERS_WITH_SAME_IP => 22,
17511            ReasonCode::LIGHT_NODE_SYNC_FAIL => 23,
17512            ReasonCode::BELOW_THAN_ME => 24,
17513            ReasonCode::NOT_WITNESS => 25,
17514            ReasonCode::NO_SUCH_MESSAGE => 26,
17515            ReasonCode::UNKNOWN => 27,
17516        };
17517        Self::enum_descriptor().value_by_index(index)
17518    }
17519}
17520
17521impl ::std::default::Default for ReasonCode {
17522    fn default() -> Self {
17523        ReasonCode::REQUESTED
17524    }
17525}
17526
17527impl ReasonCode {
17528    fn generated_enum_descriptor_data() -> ::protobuf::reflect::GeneratedEnumDescriptorData {
17529        ::protobuf::reflect::GeneratedEnumDescriptorData::new::<ReasonCode>("ReasonCode")
17530    }
17531}
17532
17533static file_descriptor_proto_data: &'static [u8] = b"\
17534    \n\x0fcore/Tron.proto\x12\x08protocol\x1a\x19google/protobuf/any.proto\
17535    \x1a\x13core/Discover.proto\x1a\x1acore/contract/common.proto\"9\n\tAcco\
17536    untId\x12\x12\n\x04name\x18\x01\x20\x01(\x0cR\x04name\x12\x18\n\x07addre\
17537    ss\x18\x02\x20\x01(\x0cR\x07address\"H\n\x04Vote\x12!\n\x0cvote_address\
17538    \x18\x01\x20\x01(\x0cR\x0bvoteAddress\x12\x1d\n\nvote_count\x18\x02\x20\
17539    \x01(\x03R\tvoteCount\"\xb4\x03\n\x08Proposal\x12\x1f\n\x0bproposal_id\
17540    \x18\x01\x20\x01(\x03R\nproposalId\x12)\n\x10proposer_address\x18\x02\
17541    \x20\x01(\x0cR\x0fproposerAddress\x12B\n\nparameters\x18\x03\x20\x03(\
17542    \x0b2\".protocol.Proposal.ParametersEntryR\nparameters\x12'\n\x0fexpirat\
17543    ion_time\x18\x04\x20\x01(\x03R\x0eexpirationTime\x12\x1f\n\x0bcreate_tim\
17544    e\x18\x05\x20\x01(\x03R\ncreateTime\x12\x1c\n\tapprovals\x18\x06\x20\x03\
17545    (\x0cR\tapprovals\x12.\n\x05state\x18\x07\x20\x01(\x0e2\x18.protocol.Pro\
17546    posal.StateR\x05state\x1a=\n\x0fParametersEntry\x12\x10\n\x03key\x18\x01\
17547    \x20\x01(\x03R\x03key\x12\x14\n\x05value\x18\x02\x20\x01(\x03R\x05value:\
17548    \x028\x01\"A\n\x05State\x12\x0b\n\x07PENDING\x10\0\x12\x0f\n\x0bDISAPPRO\
17549    VED\x10\x01\x12\x0c\n\x08APPROVED\x10\x02\x12\x0c\n\x08CANCELED\x10\x03\
17550    \"\xa5\x02\n\x08Exchange\x12\x1f\n\x0bexchange_id\x18\x01\x20\x01(\x03R\
17551    \nexchangeId\x12'\n\x0fcreator_address\x18\x02\x20\x01(\x0cR\x0ecreatorA\
17552    ddress\x12\x1f\n\x0bcreate_time\x18\x03\x20\x01(\x03R\ncreateTime\x12$\n\
17553    \x0efirst_token_id\x18\x06\x20\x01(\x0cR\x0cfirstTokenId\x12.\n\x13first\
17554    _token_balance\x18\x07\x20\x01(\x03R\x11firstTokenBalance\x12&\n\x0fseco\
17555    nd_token_id\x18\x08\x20\x01(\x0cR\rsecondTokenId\x120\n\x14second_token_\
17556    balance\x18\t\x20\x01(\x03R\x12secondTokenBalance\"\x98\x04\n\x0bMarketO\
17557    rder\x12\x19\n\x08order_id\x18\x01\x20\x01(\x0cR\x07orderId\x12#\n\rowne\
17558    r_address\x18\x02\x20\x01(\x0cR\x0cownerAddress\x12\x1f\n\x0bcreate_time\
17559    \x18\x03\x20\x01(\x03R\ncreateTime\x12\"\n\rsell_token_id\x18\x04\x20\
17560    \x01(\x0cR\x0bsellTokenId\x12.\n\x13sell_token_quantity\x18\x05\x20\x01(\
17561    \x03R\x11sellTokenQuantity\x12\x20\n\x0cbuy_token_id\x18\x06\x20\x01(\
17562    \x0cR\nbuyTokenId\x12,\n\x12buy_token_quantity\x18\x07\x20\x01(\x03R\x10\
17563    buyTokenQuantity\x12;\n\x1asell_token_quantity_remain\x18\t\x20\x01(\x03\
17564    R\x17sellTokenQuantityRemain\x12;\n\x1asell_token_quantity_return\x18\n\
17565    \x20\x01(\x03R\x17sellTokenQuantityReturn\x121\n\x05state\x18\x0b\x20\
17566    \x01(\x0e2\x1b.protocol.MarketOrder.StateR\x05state\x12\x12\n\x04prev\
17567    \x18\x0c\x20\x01(\x0cR\x04prev\x12\x12\n\x04next\x18\r\x20\x01(\x0cR\x04\
17568    next\"/\n\x05State\x12\n\n\x06ACTIVE\x10\0\x12\x0c\n\x08INACTIVE\x10\x01\
17569    \x12\x0c\n\x08CANCELED\x10\x02\"@\n\x0fMarketOrderList\x12-\n\x06orders\
17570    \x18\x01\x20\x03(\x0b2\x15.protocol.MarketOrderR\x06orders\"N\n\x13Marke\
17571    tOrderPairList\x127\n\torderPair\x18\x01\x20\x03(\x0b2\x19.protocol.Mark\
17572    etOrderPairR\torderPair\"W\n\x0fMarketOrderPair\x12\"\n\rsell_token_id\
17573    \x18\x01\x20\x01(\x0cR\x0bsellTokenId\x12\x20\n\x0cbuy_token_id\x18\x02\
17574    \x20\x01(\x0cR\nbuyTokenId\"\x88\x01\n\x12MarketAccountOrder\x12#\n\rown\
17575    er_address\x18\x01\x20\x01(\x0cR\x0cownerAddress\x12\x16\n\x06orders\x18\
17576    \x02\x20\x03(\x0cR\x06orders\x12\x14\n\x05count\x18\x03\x20\x01(\x03R\
17577    \x05count\x12\x1f\n\x0btotal_count\x18\x04\x20\x01(\x03R\ntotalCount\"k\
17578    \n\x0bMarketPrice\x12.\n\x13sell_token_quantity\x18\x01\x20\x01(\x03R\
17579    \x11sellTokenQuantity\x12,\n\x12buy_token_quantity\x18\x02\x20\x01(\x03R\
17580    \x10buyTokenQuantity\"\x86\x01\n\x0fMarketPriceList\x12\"\n\rsell_token_\
17581    id\x18\x01\x20\x01(\x0cR\x0bsellTokenId\x12\x20\n\x0cbuy_token_id\x18\
17582    \x02\x20\x01(\x0cR\nbuyTokenId\x12-\n\x06prices\x18\x03\x20\x03(\x0b2\
17583    \x15.protocol.MarketPriceR\x06prices\";\n\x11MarketOrderIdList\x12\x12\n\
17584    \x04head\x18\x01\x20\x01(\x0cR\x04head\x12\x12\n\x04tail\x18\x02\x20\x01\
17585    (\x0cR\x04tail\"\x9d\x01\n\x0fChainParameters\x12P\n\x0echainParameter\
17586    \x18\x01\x20\x03(\x0b2(.protocol.ChainParameters.ChainParameterR\x0echai\
17587    nParameter\x1a8\n\x0eChainParameter\x12\x10\n\x03key\x18\x01\x20\x01(\tR\
17588    \x03key\x12\x14\n\x05value\x18\x02\x20\x01(\x03R\x05value\"\xca\x1e\n\
17589    \x07Account\x12!\n\x0caccount_name\x18\x01\x20\x01(\x0cR\x0baccountName\
17590    \x12)\n\x04type\x18\x02\x20\x01(\x0e2\x15.protocol.AccountTypeR\x04type\
17591    \x12\x18\n\x07address\x18\x03\x20\x01(\x0cR\x07address\x12\x18\n\x07bala\
17592    nce\x18\x04\x20\x01(\x03R\x07balance\x12$\n\x05votes\x18\x05\x20\x03(\
17593    \x0b2\x0e.protocol.VoteR\x05votes\x122\n\x05asset\x18\x06\x20\x03(\x0b2\
17594    \x1c.protocol.Account.AssetEntryR\x05asset\x128\n\x07assetV2\x188\x20\
17595    \x03(\x0b2\x1e.protocol.Account.AssetV2EntryR\x07assetV2\x120\n\x06froze\
17596    n\x18\x07\x20\x03(\x0b2\x18.protocol.Account.FrozenR\x06frozen\x12\x1b\n\
17597    \tnet_usage\x18\x08\x20\x01(\x03R\x08netUsage\x12c\n/acquired_delegated_\
17598    frozen_balance_for_bandwidth\x18)\x20\x01(\x03R*acquiredDelegatedFrozenB\
17599    alanceForBandwidth\x12R\n&delegated_frozen_balance_for_bandwidth\x18*\
17600    \x20\x01(\x03R\"delegatedFrozenBalanceForBandwidth\x12$\n\x0eold_tron_po\
17601    wer\x18.\x20\x01(\x03R\x0coldTronPower\x127\n\ntron_power\x18/\x20\x01(\
17602    \x0b2\x18.protocol.Account.FrozenR\ttronPower\x12'\n\x0fasset_optimized\
17603    \x18<\x20\x01(\x08R\x0eassetOptimized\x12\x1f\n\x0bcreate_time\x18\t\x20\
17604    \x01(\x03R\ncreateTime\x120\n\x14latest_opration_time\x18\n\x20\x01(\x03\
17605    R\x12latestOprationTime\x12\x1c\n\tallowance\x18\x0b\x20\x01(\x03R\tallo\
17606    wance\x120\n\x14latest_withdraw_time\x18\x0c\x20\x01(\x03R\x12latestWith\
17607    drawTime\x12\x12\n\x04code\x18\r\x20\x01(\x0cR\x04code\x12\x1d\n\nis_wit\
17608    ness\x18\x0e\x20\x01(\x08R\tisWitness\x12!\n\x0cis_committee\x18\x0f\x20\
17609    \x01(\x08R\x0bisCommittee\x12=\n\rfrozen_supply\x18\x10\x20\x03(\x0b2\
17610    \x18.protocol.Account.FrozenR\x0cfrozenSupply\x12*\n\x11asset_issued_nam\
17611    e\x18\x11\x20\x01(\x0cR\x0fassetIssuedName\x12&\n\x0fasset_issued_ID\x18\
17612    9\x20\x01(\x0cR\rassetIssuedID\x12n\n\x1blatest_asset_operation_time\x18\
17613    \x12\x20\x03(\x0b2/.protocol.Account.LatestAssetOperationTimeEntryR\x18l\
17614    atestAssetOperationTime\x12t\n\x1dlatest_asset_operation_timeV2\x18:\x20\
17615    \x03(\x0b21.protocol.Account.LatestAssetOperationTimeV2EntryR\x1alatestA\
17616    ssetOperationTimeV2\x12$\n\x0efree_net_usage\x18\x13\x20\x01(\x03R\x0cfr\
17617    eeNetUsage\x12Y\n\x14free_asset_net_usage\x18\x14\x20\x03(\x0b2(.protoco\
17618    l.Account.FreeAssetNetUsageEntryR\x11freeAssetNetUsage\x12_\n\x16free_as\
17619    set_net_usageV2\x18;\x20\x03(\x0b2*.protocol.Account.FreeAssetNetUsageV2\
17620    EntryR\x13freeAssetNetUsageV2\x12.\n\x13latest_consume_time\x18\x15\x20\
17621    \x01(\x03R\x11latestConsumeTime\x127\n\x18latest_consume_free_time\x18\
17622    \x16\x20\x01(\x03R\x15latestConsumeFreeTime\x12\x1d\n\naccount_id\x18\
17623    \x17\x20\x01(\x0cR\taccountId\x12&\n\x0fnet_window_size\x18\x18\x20\x01(\
17624    \x03R\rnetWindowSize\x120\n\x14net_window_optimized\x18\x19\x20\x01(\x08\
17625    R\x12netWindowOptimized\x12L\n\x10account_resource\x18\x1a\x20\x01(\x0b2\
17626    !.protocol.Account.AccountResourceR\x0faccountResource\x12\x1a\n\x08code\
17627    Hash\x18\x1e\x20\x01(\x0cR\x08codeHash\x12?\n\x10owner_permission\x18\
17628    \x1f\x20\x01(\x0b2\x14.protocol.PermissionR\x0fownerPermission\x12C\n\
17629    \x12witness_permission\x18\x20\x20\x01(\x0b2\x14.protocol.PermissionR\
17630    \x11witnessPermission\x12A\n\x11active_permission\x18!\x20\x03(\x0b2\x14\
17631    .protocol.PermissionR\x10activePermission\x126\n\x08frozenV2\x18\"\x20\
17632    \x03(\x0b2\x1a.protocol.Account.FreezeV2R\x08frozenV2\x12<\n\nunfrozenV2\
17633    \x18#\x20\x03(\x0b2\x1c.protocol.Account.UnFreezeV2R\nunfrozenV2\x12V\n(\
17634    delegated_frozenV2_balance_for_bandwidth\x18$\x20\x01(\x03R$delegatedFro\
17635    zenV2BalanceForBandwidth\x12g\n1acquired_delegated_frozenV2_balance_for_\
17636    bandwidth\x18%\x20\x01(\x03R,acquiredDelegatedFrozenV2BalanceForBandwidt\
17637    h\x1aP\n\x06Frozen\x12%\n\x0efrozen_balance\x18\x01\x20\x01(\x03R\rfroze\
17638    nBalance\x12\x1f\n\x0bexpire_time\x18\x02\x20\x01(\x03R\nexpireTime\x1a8\
17639    \n\nAssetEntry\x12\x10\n\x03key\x18\x01\x20\x01(\tR\x03key\x12\x14\n\x05\
17640    value\x18\x02\x20\x01(\x03R\x05value:\x028\x01\x1a:\n\x0cAssetV2Entry\
17641    \x12\x10\n\x03key\x18\x01\x20\x01(\tR\x03key\x12\x14\n\x05value\x18\x02\
17642    \x20\x01(\x03R\x05value:\x028\x01\x1aK\n\x1dLatestAssetOperationTimeEntr\
17643    y\x12\x10\n\x03key\x18\x01\x20\x01(\tR\x03key\x12\x14\n\x05value\x18\x02\
17644    \x20\x01(\x03R\x05value:\x028\x01\x1aM\n\x1fLatestAssetOperationTimeV2En\
17645    try\x12\x10\n\x03key\x18\x01\x20\x01(\tR\x03key\x12\x14\n\x05value\x18\
17646    \x02\x20\x01(\x03R\x05value:\x028\x01\x1aD\n\x16FreeAssetNetUsageEntry\
17647    \x12\x10\n\x03key\x18\x01\x20\x01(\tR\x03key\x12\x14\n\x05value\x18\x02\
17648    \x20\x01(\x03R\x05value:\x028\x01\x1aF\n\x18FreeAssetNetUsageV2Entry\x12\
17649    \x10\n\x03key\x18\x01\x20\x01(\tR\x03key\x12\x14\n\x05value\x18\x02\x20\
17650    \x01(\x03R\x05value:\x028\x01\x1a\xa0\x06\n\x0fAccountResource\x12!\n\
17651    \x0cenergy_usage\x18\x01\x20\x01(\x03R\x0benergyUsage\x12S\n\x19frozen_b\
17652    alance_for_energy\x18\x02\x20\x01(\x0b2\x18.protocol.Account.FrozenR\x16\
17653    frozenBalanceForEnergy\x12B\n\x1elatest_consume_time_for_energy\x18\x03\
17654    \x20\x01(\x03R\x1alatestConsumeTimeForEnergy\x12]\n,acquired_delegated_f\
17655    rozen_balance_for_energy\x18\x04\x20\x01(\x03R'acquiredDelegatedFrozenBa\
17656    lanceForEnergy\x12L\n#delegated_frozen_balance_for_energy\x18\x05\x20\
17657    \x01(\x03R\x1fdelegatedFrozenBalanceForEnergy\x12#\n\rstorage_limit\x18\
17658    \x06\x20\x01(\x03R\x0cstorageLimit\x12#\n\rstorage_usage\x18\x07\x20\x01\
17659    (\x03R\x0cstorageUsage\x12?\n\x1clatest_exchange_storage_time\x18\x08\
17660    \x20\x01(\x03R\x19latestExchangeStorageTime\x12,\n\x12energy_window_size\
17661    \x18\t\x20\x01(\x03R\x10energyWindowSize\x12P\n%delegated_frozenV2_balan\
17662    ce_for_energy\x18\n\x20\x01(\x03R!delegatedFrozenV2BalanceForEnergy\x12a\
17663    \n.acquired_delegated_frozenV2_balance_for_energy\x18\x0b\x20\x01(\x03R)\
17664    acquiredDelegatedFrozenV2BalanceForEnergy\x126\n\x17energy_window_optimi\
17665    zed\x18\x0c\x20\x01(\x08R\x15energyWindowOptimized\x1aN\n\x08FreezeV2\
17666    \x12*\n\x04type\x18\x01\x20\x01(\x0e2\x16.protocol.ResourceCodeR\x04type\
17667    \x12\x16\n\x06amount\x18\x02\x20\x01(\x03R\x06amount\x1a\x93\x01\n\nUnFr\
17668    eezeV2\x12*\n\x04type\x18\x01\x20\x01(\x0e2\x16.protocol.ResourceCodeR\
17669    \x04type\x12'\n\x0funfreeze_amount\x18\x03\x20\x01(\x03R\x0eunfreezeAmou\
17670    nt\x120\n\x14unfreeze_expire_time\x18\x04\x20\x01(\x03R\x12unfreezeExpir\
17671    eTime\"7\n\x03Key\x12\x18\n\x07address\x18\x01\x20\x01(\x0cR\x07address\
17672    \x12\x16\n\x06weight\x18\x02\x20\x01(\x03R\x06weight\"\xa3\x02\n\x11Dele\
17673    gatedResource\x12\x12\n\x04from\x18\x01\x20\x01(\x0cR\x04from\x12\x0e\n\
17674    \x02to\x18\x02\x20\x01(\x0cR\x02to\x12?\n\x1cfrozen_balance_for_bandwidt\
17675    h\x18\x03\x20\x01(\x03R\x19frozenBalanceForBandwidth\x129\n\x19frozen_ba\
17676    lance_for_energy\x18\x04\x20\x01(\x03R\x16frozenBalanceForEnergy\x129\n\
17677    \x19expire_time_for_bandwidth\x18\x05\x20\x01(\x03R\x16expireTimeForBand\
17678    width\x123\n\x16expire_time_for_energy\x18\x06\x20\x01(\x03R\x13expireTi\
17679    meForEnergy\"c\n\tauthority\x12-\n\x07account\x18\x01\x20\x01(\x0b2\x13.\
17680    protocol.AccountIdR\x07account\x12'\n\x0fpermission_name\x18\x02\x20\x01\
17681    (\x0cR\x0epermissionName\"\xb2\x02\n\nPermission\x127\n\x04type\x18\x01\
17682    \x20\x01(\x0e2#.protocol.Permission.PermissionTypeR\x04type\x12\x0e\n\
17683    \x02id\x18\x02\x20\x01(\x05R\x02id\x12'\n\x0fpermission_name\x18\x03\x20\
17684    \x01(\tR\x0epermissionName\x12\x1c\n\tthreshold\x18\x04\x20\x01(\x03R\tt\
17685    hreshold\x12\x1b\n\tparent_id\x18\x05\x20\x01(\x05R\x08parentId\x12\x1e\
17686    \n\noperations\x18\x06\x20\x01(\x0cR\noperations\x12!\n\x04keys\x18\x07\
17687    \x20\x03(\x0b2\r.protocol.KeyR\x04keys\"4\n\x0ePermissionType\x12\t\n\
17688    \x05Owner\x10\0\x12\x0b\n\x07Witness\x10\x01\x12\n\n\x06Active\x10\x02\"\
17689    \x99\x02\n\x07Witness\x12\x18\n\x07address\x18\x01\x20\x01(\x0cR\x07addr\
17690    ess\x12\x1c\n\tvoteCount\x18\x02\x20\x01(\x03R\tvoteCount\x12\x16\n\x06p\
17691    ubKey\x18\x03\x20\x01(\x0cR\x06pubKey\x12\x10\n\x03url\x18\x04\x20\x01(\
17692    \tR\x03url\x12$\n\rtotalProduced\x18\x05\x20\x01(\x03R\rtotalProduced\
17693    \x12\x20\n\x0btotalMissed\x18\x06\x20\x01(\x03R\x0btotalMissed\x12&\n\
17694    \x0elatestBlockNum\x18\x07\x20\x01(\x03R\x0elatestBlockNum\x12$\n\rlates\
17695    tSlotNum\x18\x08\x20\x01(\x03R\rlatestSlotNum\x12\x16\n\x06isJobs\x18\t\
17696    \x20\x01(\x08R\x06isJobs\"{\n\x05Votes\x12\x18\n\x07address\x18\x01\x20\
17697    \x01(\x0cR\x07address\x12+\n\told_votes\x18\x02\x20\x03(\x0b2\x0e.protoc\
17698    ol.VoteR\x08oldVotes\x12+\n\tnew_votes\x18\x03\x20\x03(\x0b2\x0e.protoco\
17699    l.VoteR\x08newVotes\"@\n\x08TXOutput\x12\x14\n\x05value\x18\x01\x20\x01(\
17700    \x03R\x05value\x12\x1e\n\npubKeyHash\x18\x02\x20\x01(\x0cR\npubKeyHash\"\
17701    \xa0\x01\n\x07TXInput\x120\n\x08raw_data\x18\x01\x20\x01(\x0b2\x15.proto\
17702    col.TXInput.rawR\x07rawData\x12\x1c\n\tsignature\x18\x04\x20\x01(\x0cR\t\
17703    signature\x1aE\n\x03raw\x12\x12\n\x04txID\x18\x01\x20\x01(\x0cR\x04txID\
17704    \x12\x12\n\x04vout\x18\x02\x20\x01(\x03R\x04vout\x12\x16\n\x06pubKey\x18\
17705    \x03\x20\x01(\x0cR\x06pubKey\"9\n\tTXOutputs\x12,\n\x07outputs\x18\x01\
17706    \x20\x03(\x0b2\x12.protocol.TXOutputR\x07outputs\"\xde\x02\n\x0fResource\
17707    Receipt\x12!\n\x0cenergy_usage\x18\x01\x20\x01(\x03R\x0benergyUsage\x12\
17708    \x1d\n\nenergy_fee\x18\x02\x20\x01(\x03R\tenergyFee\x12.\n\x13origin_ene\
17709    rgy_usage\x18\x03\x20\x01(\x03R\x11originEnergyUsage\x12,\n\x12energy_us\
17710    age_total\x18\x04\x20\x01(\x03R\x10energyUsageTotal\x12\x1b\n\tnet_usage\
17711    \x18\x05\x20\x01(\x03R\x08netUsage\x12\x17\n\x07net_fee\x18\x06\x20\x01(\
17712    \x03R\x06netFee\x12C\n\x06result\x18\x07\x20\x01(\x0e2+.protocol.Transac\
17713    tion.Result.contractResultR\x06result\x120\n\x14energy_penalty_total\x18\
17714    \x08\x20\x01(\x03R\x12energyPenaltyTotal\"\xb1\x01\n\x11MarketOrderDetai\
17715    l\x12\"\n\x0cmakerOrderId\x18\x01\x20\x01(\x0cR\x0cmakerOrderId\x12\"\n\
17716    \x0ctakerOrderId\x18\x02\x20\x01(\x0cR\x0ctakerOrderId\x12*\n\x10fillSel\
17717    lQuantity\x18\x03\x20\x01(\x03R\x10fillSellQuantity\x12(\n\x0ffillBuyQua\
17718    ntity\x18\x04\x20\x01(\x03R\x0ffillBuyQuantity\"\xdd\x18\n\x0bTransactio\
17719    n\x124\n\x08raw_data\x18\x01\x20\x01(\x0b2\x19.protocol.Transaction.rawR\
17720    \x07rawData\x12\x1c\n\tsignature\x18\x02\x20\x03(\x0cR\tsignature\x12.\n\
17721    \x03ret\x18\x05\x20\x03(\x0b2\x1c.protocol.Transaction.ResultR\x03ret\
17722    \x1a\xef\n\n\x08Contract\x12?\n\x04type\x18\x01\x20\x01(\x0e2+.protocol.\
17723    Transaction.Contract.ContractTypeR\x04type\x122\n\tparameter\x18\x02\x20\
17724    \x01(\x0b2\x14.google.protobuf.AnyR\tparameter\x12\x1a\n\x08provider\x18\
17725    \x03\x20\x01(\x0cR\x08provider\x12\"\n\x0cContractName\x18\x04\x20\x01(\
17726    \x0cR\x0cContractName\x12#\n\rPermission_id\x18\x05\x20\x01(\x05R\x0cPer\
17727    missionId\"\x88\t\n\x0cContractType\x12\x19\n\x15AccountCreateContract\
17728    \x10\0\x12\x14\n\x10TransferContract\x10\x01\x12\x19\n\x15TransferAssetC\
17729    ontract\x10\x02\x12\x15\n\x11VoteAssetContract\x10\x03\x12\x17\n\x13Vote\
17730    WitnessContract\x10\x04\x12\x19\n\x15WitnessCreateContract\x10\x05\x12\
17731    \x16\n\x12AssetIssueContract\x10\x06\x12\x19\n\x15WitnessUpdateContract\
17732    \x10\x08\x12!\n\x1dParticipateAssetIssueContract\x10\t\x12\x19\n\x15Acco\
17733    untUpdateContract\x10\n\x12\x19\n\x15FreezeBalanceContract\x10\x0b\x12\
17734    \x1b\n\x17UnfreezeBalanceContract\x10\x0c\x12\x1b\n\x17WithdrawBalanceCo\
17735    ntract\x10\r\x12\x19\n\x15UnfreezeAssetContract\x10\x0e\x12\x17\n\x13Upd\
17736    ateAssetContract\x10\x0f\x12\x1a\n\x16ProposalCreateContract\x10\x10\x12\
17737    \x1b\n\x17ProposalApproveContract\x10\x11\x12\x1a\n\x16ProposalDeleteCon\
17738    tract\x10\x12\x12\x18\n\x14SetAccountIdContract\x10\x13\x12\x12\n\x0eCus\
17739    tomContract\x10\x14\x12\x17\n\x13CreateSmartContract\x10\x1e\x12\x18\n\
17740    \x14TriggerSmartContract\x10\x1f\x12\x0f\n\x0bGetContract\x10\x20\x12\
17741    \x19\n\x15UpdateSettingContract\x10!\x12\x1a\n\x16ExchangeCreateContract\
17742    \x10)\x12\x1a\n\x16ExchangeInjectContract\x10*\x12\x1c\n\x18ExchangeWith\
17743    drawContract\x10+\x12\x1f\n\x1bExchangeTransactionContract\x10,\x12\x1d\
17744    \n\x19UpdateEnergyLimitContract\x10-\x12#\n\x1fAccountPermissionUpdateCo\
17745    ntract\x10.\x12\x14\n\x10ClearABIContract\x100\x12\x1b\n\x17UpdateBroker\
17746    ageContract\x101\x12\x1c\n\x18ShieldedTransferContract\x103\x12\x1b\n\
17747    \x17MarketSellAssetContract\x104\x12\x1d\n\x19MarketCancelOrderContract\
17748    \x105\x12\x1b\n\x17FreezeBalanceV2Contract\x106\x12\x1d\n\x19UnfreezeBal\
17749    anceV2Contract\x107\x12\"\n\x1eWithdrawExpireUnfreezeContract\x108\x12\
17750    \x1c\n\x18DelegateResourceContract\x109\x12\x1e\n\x1aUnDelegateResourceC\
17751    ontract\x10:\x12\x1f\n\x1bCancelAllUnfreezeV2Contract\x10;\x1a\xed\t\n\
17752    \x06Result\x12\x10\n\x03fee\x18\x01\x20\x01(\x03R\x03fee\x123\n\x03ret\
17753    \x18\x02\x20\x01(\x0e2!.protocol.Transaction.Result.codeR\x03ret\x12M\n\
17754    \x0bcontractRet\x18\x03\x20\x01(\x0e2+.protocol.Transaction.Result.contr\
17755    actResultR\x0bcontractRet\x12\"\n\x0cassetIssueID\x18\x0e\x20\x01(\tR\
17756    \x0cassetIssueID\x12'\n\x0fwithdraw_amount\x18\x0f\x20\x01(\x03R\x0ewith\
17757    drawAmount\x12'\n\x0funfreeze_amount\x18\x10\x20\x01(\x03R\x0eunfreezeAm\
17758    ount\x128\n\x18exchange_received_amount\x18\x12\x20\x01(\x03R\x16exchang\
17759    eReceivedAmount\x12C\n\x1eexchange_inject_another_amount\x18\x13\x20\x01\
17760    (\x03R\x1bexchangeInjectAnotherAmount\x12G\n\x20exchange_withdraw_anothe\
17761    r_amount\x18\x14\x20\x01(\x03R\x1dexchangeWithdrawAnotherAmount\x12\x1f\
17762    \n\x0bexchange_id\x18\x15\x20\x01(\x03R\nexchangeId\x128\n\x18shielded_t\
17763    ransaction_fee\x18\x16\x20\x01(\x03R\x16shieldedTransactionFee\x12\x18\n\
17764    \x07orderId\x18\x19\x20\x01(\x0cR\x07orderId\x12?\n\x0corderDetails\x18\
17765    \x1a\x20\x03(\x0b2\x1b.protocol.MarketOrderDetailR\x0corderDetails\x124\
17766    \n\x16withdraw_expire_amount\x18\x1b\x20\x01(\x03R\x14withdrawExpireAmou\
17767    nt\x12r\n\x18cancel_unfreezeV2_amount\x18\x1c\x20\x03(\x0b28.protocol.Tr\
17768    ansaction.Result.CancelUnfreezeV2AmountEntryR\x16cancelUnfreezeV2Amount\
17769    \x1aI\n\x1bCancelUnfreezeV2AmountEntry\x12\x10\n\x03key\x18\x01\x20\x01(\
17770    \tR\x03key\x12\x14\n\x05value\x18\x02\x20\x01(\x03R\x05value:\x028\x01\"\
17771    \x1e\n\x04code\x12\n\n\x06SUCESS\x10\0\x12\n\n\x06FAILED\x10\x01\"\xc3\
17772    \x02\n\x0econtractResult\x12\x0b\n\x07DEFAULT\x10\0\x12\x0b\n\x07SUCCESS\
17773    \x10\x01\x12\n\n\x06REVERT\x10\x02\x12\x18\n\x14BAD_JUMP_DESTINATION\x10\
17774    \x03\x12\x11\n\rOUT_OF_MEMORY\x10\x04\x12\x18\n\x14PRECOMPILED_CONTRACT\
17775    \x10\x05\x12\x13\n\x0fSTACK_TOO_SMALL\x10\x06\x12\x13\n\x0fSTACK_TOO_LAR\
17776    GE\x10\x07\x12\x15\n\x11ILLEGAL_OPERATION\x10\x08\x12\x12\n\x0eSTACK_OVE\
17777    RFLOW\x10\t\x12\x11\n\rOUT_OF_ENERGY\x10\n\x12\x0f\n\x0bOUT_OF_TIME\x10\
17778    \x0b\x12\x17\n\x13JVM_STACK_OVER_FLOW\x10\x0c\x12\x0b\n\x07UNKNOWN\x10\r\
17779    \x12\x13\n\x0fTRANSFER_FAILED\x10\x0e\x12\x10\n\x0cINVALID_CODE\x10\x0f\
17780    \x1a\xe7\x02\n\x03raw\x12&\n\x0fref_block_bytes\x18\x01\x20\x01(\x0cR\rr\
17781    efBlockBytes\x12\"\n\rref_block_num\x18\x03\x20\x01(\x03R\x0brefBlockNum\
17782    \x12$\n\x0eref_block_hash\x18\x04\x20\x01(\x0cR\x0crefBlockHash\x12\x1e\
17783    \n\nexpiration\x18\x08\x20\x01(\x03R\nexpiration\x12)\n\x05auths\x18\t\
17784    \x20\x03(\x0b2\x13.protocol.authorityR\x05auths\x12\x12\n\x04data\x18\n\
17785    \x20\x01(\x0cR\x04data\x12:\n\x08contract\x18\x0b\x20\x03(\x0b2\x1e.prot\
17786    ocol.Transaction.ContractR\x08contract\x12\x18\n\x07scripts\x18\x0c\x20\
17787    \x01(\x0cR\x07scripts\x12\x1c\n\ttimestamp\x18\x0e\x20\x01(\x03R\ttimest\
17788    amp\x12\x1b\n\tfee_limit\x18\x12\x20\x01(\x03R\x08feeLimit\"\xd5\n\n\x0f\
17789    TransactionInfo\x12\x0e\n\x02id\x18\x01\x20\x01(\x0cR\x02id\x12\x10\n\
17790    \x03fee\x18\x02\x20\x01(\x03R\x03fee\x12\x20\n\x0bblockNumber\x18\x03\
17791    \x20\x01(\x03R\x0bblockNumber\x12&\n\x0eblockTimeStamp\x18\x04\x20\x01(\
17792    \x03R\x0eblockTimeStamp\x12&\n\x0econtractResult\x18\x05\x20\x03(\x0cR\
17793    \x0econtractResult\x12)\n\x10contract_address\x18\x06\x20\x01(\x0cR\x0fc\
17794    ontractAddress\x123\n\x07receipt\x18\x07\x20\x01(\x0b2\x19.protocol.Reso\
17795    urceReceiptR\x07receipt\x12/\n\x03log\x18\x08\x20\x03(\x0b2\x1d.protocol\
17796    .TransactionInfo.LogR\x03log\x126\n\x06result\x18\t\x20\x01(\x0e2\x1e.pr\
17797    otocol.TransactionInfo.codeR\x06result\x12\x1e\n\nresMessage\x18\n\x20\
17798    \x01(\x0cR\nresMessage\x12\"\n\x0cassetIssueID\x18\x0e\x20\x01(\tR\x0cas\
17799    setIssueID\x12'\n\x0fwithdraw_amount\x18\x0f\x20\x01(\x03R\x0ewithdrawAm\
17800    ount\x12'\n\x0funfreeze_amount\x18\x10\x20\x01(\x03R\x0eunfreezeAmount\
17801    \x12R\n\x15internal_transactions\x18\x11\x20\x03(\x0b2\x1d.protocol.Inte\
17802    rnalTransactionR\x14internalTransactions\x128\n\x18exchange_received_amo\
17803    unt\x18\x12\x20\x01(\x03R\x16exchangeReceivedAmount\x12C\n\x1eexchange_i\
17804    nject_another_amount\x18\x13\x20\x01(\x03R\x1bexchangeInjectAnotherAmoun\
17805    t\x12G\n\x20exchange_withdraw_another_amount\x18\x14\x20\x01(\x03R\x1dex\
17806    changeWithdrawAnotherAmount\x12\x1f\n\x0bexchange_id\x18\x15\x20\x01(\
17807    \x03R\nexchangeId\x128\n\x18shielded_transaction_fee\x18\x16\x20\x01(\
17808    \x03R\x16shieldedTransactionFee\x12\x18\n\x07orderId\x18\x19\x20\x01(\
17809    \x0cR\x07orderId\x12?\n\x0corderDetails\x18\x1a\x20\x03(\x0b2\x1b.protoc\
17810    ol.MarketOrderDetailR\x0corderDetails\x12\x1e\n\npackingFee\x18\x1b\x20\
17811    \x01(\x03R\npackingFee\x124\n\x16withdraw_expire_amount\x18\x1c\x20\x01(\
17812    \x03R\x14withdrawExpireAmount\x12o\n\x18cancel_unfreezeV2_amount\x18\x1d\
17813    \x20\x03(\x0b25.protocol.TransactionInfo.CancelUnfreezeV2AmountEntryR\
17814    \x16cancelUnfreezeV2Amount\x1aK\n\x03Log\x12\x18\n\x07address\x18\x01\
17815    \x20\x01(\x0cR\x07address\x12\x16\n\x06topics\x18\x02\x20\x03(\x0cR\x06t\
17816    opics\x12\x12\n\x04data\x18\x03\x20\x01(\x0cR\x04data\x1aI\n\x1bCancelUn\
17817    freezeV2AmountEntry\x12\x10\n\x03key\x18\x01\x20\x01(\tR\x03key\x12\x14\
17818    \n\x05value\x18\x02\x20\x01(\x03R\x05value:\x028\x01\"\x1e\n\x04code\x12\
17819    \n\n\x06SUCESS\x10\0\x12\n\n\x06FAILED\x10\x01\"\x9f\x01\n\x0eTransactio\
17820    nRet\x12\x20\n\x0bblockNumber\x18\x01\x20\x01(\x03R\x0bblockNumber\x12&\
17821    \n\x0eblockTimeStamp\x18\x02\x20\x01(\x03R\x0eblockTimeStamp\x12C\n\x0ft\
17822    ransactioninfo\x18\x03\x20\x03(\x0b2\x19.protocol.TransactionInfoR\x0ftr\
17823    ansactioninfo\"I\n\x0cTransactions\x129\n\x0ctransactions\x18\x01\x20\
17824    \x03(\x0b2\x15.protocol.TransactionR\x0ctransactions\"\xfc\x02\n\x0bBloc\
17825    kHeader\x124\n\x08raw_data\x18\x01\x20\x01(\x0b2\x19.protocol.BlockHeade\
17826    r.rawR\x07rawData\x12+\n\x11witness_signature\x18\x02\x20\x01(\x0cR\x10w\
17827    itnessSignature\x1a\x89\x02\n\x03raw\x12\x1c\n\ttimestamp\x18\x01\x20\
17828    \x01(\x03R\ttimestamp\x12\x1e\n\ntxTrieRoot\x18\x02\x20\x01(\x0cR\ntxTri\
17829    eRoot\x12\x1e\n\nparentHash\x18\x03\x20\x01(\x0cR\nparentHash\x12\x16\n\
17830    \x06number\x18\x07\x20\x01(\x03R\x06number\x12\x1d\n\nwitness_id\x18\x08\
17831    \x20\x01(\x03R\twitnessId\x12'\n\x0fwitness_address\x18\t\x20\x01(\x0cR\
17832    \x0ewitnessAddress\x12\x18\n\x07version\x18\n\x20\x01(\x05R\x07version\
17833    \x12*\n\x10accountStateRoot\x18\x0b\x20\x01(\x0cR\x10accountStateRoot\"|\
17834    \n\x05Block\x129\n\x0ctransactions\x18\x01\x20\x03(\x0b2\x15.protocol.Tr\
17835    ansactionR\x0ctransactions\x128\n\x0cblock_header\x18\x02\x20\x01(\x0b2\
17836    \x15.protocol.BlockHeaderR\x0bblockHeader\"\x9a\x01\n\x0eChainInventory\
17837    \x122\n\x03ids\x18\x01\x20\x03(\x0b2\x20.protocol.ChainInventory.BlockId\
17838    R\x03ids\x12\x1d\n\nremain_num\x18\x02\x20\x01(\x03R\tremainNum\x1a5\n\
17839    \x07BlockId\x12\x12\n\x04hash\x18\x01\x20\x01(\x0cR\x04hash\x12\x16\n\
17840    \x06number\x18\x02\x20\x01(\x03R\x06number\"\xd8\x01\n\x0eBlockInventory\
17841    \x122\n\x03ids\x18\x01\x20\x03(\x0b2\x20.protocol.BlockInventory.BlockId\
17842    R\x03ids\x121\n\x04type\x18\x02\x20\x01(\x0e2\x1d.protocol.BlockInventor\
17843    y.TypeR\x04type\x1a5\n\x07BlockId\x12\x12\n\x04hash\x18\x01\x20\x01(\x0c\
17844    R\x04hash\x12\x16\n\x06number\x18\x02\x20\x01(\x03R\x06number\"(\n\x04Ty\
17845    pe\x12\x08\n\x04SYNC\x10\0\x12\x0b\n\x07ADVTISE\x10\x01\x12\t\n\x05FETCH\
17846    \x10\x02\"y\n\tInventory\x125\n\x04type\x18\x01\x20\x01(\x0e2!.protocol.\
17847    Inventory.InventoryTypeR\x04type\x12\x10\n\x03ids\x18\x02\x20\x03(\x0cR\
17848    \x03ids\"#\n\rInventoryType\x12\x07\n\x03TRX\x10\0\x12\t\n\x05BLOCK\x10\
17849    \x01\"\x8f\x02\n\x05Items\x12,\n\x04type\x18\x01\x20\x01(\x0e2\x18.proto\
17850    col.Items.ItemTypeR\x04type\x12'\n\x06blocks\x18\x02\x20\x03(\x0b2\x0f.p\
17851    rotocol.BlockR\x06blocks\x12:\n\rblock_headers\x18\x03\x20\x03(\x0b2\x15\
17852    .protocol.BlockHeaderR\x0cblockHeaders\x129\n\x0ctransactions\x18\x04\
17853    \x20\x03(\x0b2\x15.protocol.TransactionR\x0ctransactions\"8\n\x08ItemTyp\
17854    e\x12\x07\n\x03ERR\x10\0\x12\x07\n\x03TRX\x10\x01\x12\t\n\x05BLOCK\x10\
17855    \x02\x12\x0f\n\x0bBLOCKHEADER\x10\x03\"J\n\x11DynamicProperties\x125\n\
17856    \x17last_solidity_block_num\x18\x01\x20\x01(\x03R\x14lastSolidityBlockNu\
17857    m\"A\n\x11DisconnectMessage\x12,\n\x06reason\x18\x01\x20\x01(\x0e2\x14.p\
17858    rotocol.ReasonCodeR\x06reason\"\xef\x03\n\x0cHelloMessage\x12&\n\x04from\
17859    \x18\x01\x20\x01(\x0b2\x12.protocol.EndpointR\x04from\x12\x18\n\x07versi\
17860    on\x18\x02\x20\x01(\x05R\x07version\x12\x1c\n\ttimestamp\x18\x03\x20\x01\
17861    (\x03R\ttimestamp\x12F\n\x0egenesisBlockId\x18\x04\x20\x01(\x0b2\x1e.pro\
17862    tocol.HelloMessage.BlockIdR\x0egenesisBlockId\x12B\n\x0csolidBlockId\x18\
17863    \x05\x20\x01(\x0b2\x1e.protocol.HelloMessage.BlockIdR\x0csolidBlockId\
17864    \x12@\n\x0bheadBlockId\x18\x06\x20\x01(\x0b2\x1e.protocol.HelloMessage.B\
17865    lockIdR\x0bheadBlockId\x12\x18\n\x07address\x18\x07\x20\x01(\x0cR\x07add\
17866    ress\x12\x1c\n\tsignature\x18\x08\x20\x01(\x0cR\tsignature\x12\x1a\n\x08\
17867    nodeType\x18\t\x20\x01(\x05R\x08nodeType\x12&\n\x0elowestBlockNum\x18\n\
17868    \x20\x01(\x03R\x0elowestBlockNum\x1a5\n\x07BlockId\x12\x12\n\x04hash\x18\
17869    \x01\x20\x01(\x0cR\x04hash\x12\x16\n\x06number\x18\x02\x20\x01(\x03R\x06\
17870    number\"\xe1\x02\n\x13InternalTransaction\x12\x12\n\x04hash\x18\x01\x20\
17871    \x01(\x0cR\x04hash\x12%\n\x0ecaller_address\x18\x02\x20\x01(\x0cR\rcalle\
17872    rAddress\x12-\n\x12transferTo_address\x18\x03\x20\x01(\x0cR\x11transferT\
17873    oAddress\x12Q\n\rcallValueInfo\x18\x04\x20\x03(\x0b2+.protocol.InternalT\
17874    ransaction.CallValueInfoR\rcallValueInfo\x12\x12\n\x04note\x18\x05\x20\
17875    \x01(\x0cR\x04note\x12\x1a\n\x08rejected\x18\x06\x20\x01(\x08R\x08reject\
17876    ed\x12\x14\n\x05extra\x18\x07\x20\x01(\tR\x05extra\x1aG\n\rCallValueInfo\
17877    \x12\x1c\n\tcallValue\x18\x01\x20\x01(\x03R\tcallValue\x12\x18\n\x07toke\
17878    nId\x18\x02\x20\x01(\tR\x07tokenId\"\x9b\x01\n\x1dDelegatedResourceAccou\
17879    ntIndex\x12\x18\n\x07account\x18\x01\x20\x01(\x0cR\x07account\x12\"\n\
17880    \x0cfromAccounts\x18\x02\x20\x03(\x0cR\x0cfromAccounts\x12\x1e\n\ntoAcco\
17881    unts\x18\x03\x20\x03(\x0cR\ntoAccounts\x12\x1c\n\ttimestamp\x18\x04\x20\
17882    \x01(\x03R\ttimestamp\"\xbd\x1a\n\x08NodeInfo\x12\"\n\x0cbeginSyncNum\
17883    \x18\x01\x20\x01(\x03R\x0cbeginSyncNum\x12\x14\n\x05block\x18\x02\x20\
17884    \x01(\tR\x05block\x12$\n\rsolidityBlock\x18\x03\x20\x01(\tR\rsolidityBlo\
17885    ck\x120\n\x13currentConnectCount\x18\x04\x20\x01(\x05R\x13currentConnect\
17886    Count\x12.\n\x12activeConnectCount\x18\x05\x20\x01(\x05R\x12activeConnec\
17887    tCount\x120\n\x13passiveConnectCount\x18\x06\x20\x01(\x05R\x13passiveCon\
17888    nectCount\x12\x1c\n\ttotalFlow\x18\x07\x20\x01(\x03R\ttotalFlow\x12?\n\
17889    \x0cpeerInfoList\x18\x08\x20\x03(\x0b2\x1b.protocol.NodeInfo.PeerInfoR\
17890    \x0cpeerInfoList\x12I\n\x0econfigNodeInfo\x18\t\x20\x01(\x0b2!.protocol.\
17891    NodeInfo.ConfigNodeInfoR\x0econfigNodeInfo\x12@\n\x0bmachineInfo\x18\n\
17892    \x20\x01(\x0b2\x1e.protocol.NodeInfo.MachineInfoR\x0bmachineInfo\x12]\n\
17893    \x13cheatWitnessInfoMap\x18\x0b\x20\x03(\x0b2+.protocol.NodeInfo.CheatWi\
17894    tnessInfoMapEntryR\x13cheatWitnessInfoMap\x1aF\n\x18CheatWitnessInfoMapE\
17895    ntry\x12\x10\n\x03key\x18\x01\x20\x01(\tR\x03key\x12\x14\n\x05value\x18\
17896    \x02\x20\x01(\tR\x05value:\x028\x01\x1a\xc8\x07\n\x08PeerInfo\x12$\n\rla\
17897    stSyncBlock\x18\x01\x20\x01(\tR\rlastSyncBlock\x12\x1c\n\tremainNum\x18\
17898    \x02\x20\x01(\x03R\tremainNum\x120\n\x13lastBlockUpdateTime\x18\x03\x20\
17899    \x01(\x03R\x13lastBlockUpdateTime\x12\x1a\n\x08syncFlag\x18\x04\x20\x01(\
17900    \x08R\x08syncFlag\x128\n\x17headBlockTimeWeBothHave\x18\x05\x20\x01(\x03\
17901    R\x17headBlockTimeWeBothHave\x12*\n\x10needSyncFromPeer\x18\x06\x20\x01(\
17902    \x08R\x10needSyncFromPeer\x12&\n\x0eneedSyncFromUs\x18\x07\x20\x01(\x08R\
17903    \x0eneedSyncFromUs\x12\x12\n\x04host\x18\x08\x20\x01(\tR\x04host\x12\x12\
17904    \n\x04port\x18\t\x20\x01(\x05R\x04port\x12\x16\n\x06nodeId\x18\n\x20\x01\
17905    (\tR\x06nodeId\x12\x20\n\x0bconnectTime\x18\x0b\x20\x01(\x03R\x0bconnect\
17906    Time\x12\x1e\n\navgLatency\x18\x0c\x20\x01(\x01R\navgLatency\x12(\n\x0fs\
17907    yncToFetchSize\x18\r\x20\x01(\x05R\x0fsyncToFetchSize\x126\n\x16syncToFe\
17908    tchSizePeekNum\x18\x0e\x20\x01(\x03R\x16syncToFetchSizePeekNum\x126\n\
17909    \x16syncBlockRequestedSize\x18\x0f\x20\x01(\x05R\x16syncBlockRequestedSi\
17910    ze\x12$\n\runFetchSynNum\x18\x10\x20\x01(\x03R\runFetchSynNum\x12(\n\x0f\
17911    blockInPorcSize\x18\x11\x20\x01(\x05R\x0fblockInPorcSize\x120\n\x13headB\
17912    lockWeBothHave\x18\x12\x20\x01(\tR\x13headBlockWeBothHave\x12\x1a\n\x08i\
17913    sActive\x18\x13\x20\x01(\x08R\x08isActive\x12\x14\n\x05score\x18\x14\x20\
17914    \x01(\x05R\x05score\x12\x1c\n\tnodeCount\x18\x15\x20\x01(\x05R\tnodeCoun\
17915    t\x12\x16\n\x06inFlow\x18\x16\x20\x01(\x03R\x06inFlow\x12(\n\x0fdisconne\
17916    ctTimes\x18\x17\x20\x01(\x05R\x0fdisconnectTimes\x124\n\x15localDisconne\
17917    ctReason\x18\x18\x20\x01(\tR\x15localDisconnectReason\x126\n\x16remoteDi\
17918    sconnectReason\x18\x19\x20\x01(\tR\x16remoteDisconnectReason\x1a\xa2\x06\
17919    \n\x0eConfigNodeInfo\x12\x20\n\x0bcodeVersion\x18\x01\x20\x01(\tR\x0bcod\
17920    eVersion\x12\x1e\n\np2pVersion\x18\x02\x20\x01(\tR\np2pVersion\x12\x1e\n\
17921    \nlistenPort\x18\x03\x20\x01(\x05R\nlistenPort\x12&\n\x0ediscoverEnable\
17922    \x18\x04\x20\x01(\x08R\x0ediscoverEnable\x12&\n\x0eactiveNodeSize\x18\
17923    \x05\x20\x01(\x05R\x0eactiveNodeSize\x12(\n\x0fpassiveNodeSize\x18\x06\
17924    \x20\x01(\x05R\x0fpassiveNodeSize\x12\"\n\x0csendNodeSize\x18\x07\x20\
17925    \x01(\x05R\x0csendNodeSize\x12(\n\x0fmaxConnectCount\x18\x08\x20\x01(\
17926    \x05R\x0fmaxConnectCount\x124\n\x15sameIpMaxConnectCount\x18\t\x20\x01(\
17927    \x05R\x15sameIpMaxConnectCount\x12*\n\x10backupListenPort\x18\n\x20\x01(\
17928    \x05R\x10backupListenPort\x12*\n\x10backupMemberSize\x18\x0b\x20\x01(\
17929    \x05R\x10backupMemberSize\x12&\n\x0ebackupPriority\x18\x0c\x20\x01(\x05R\
17930    \x0ebackupPriority\x12\x1c\n\tdbVersion\x18\r\x20\x01(\x05R\tdbVersion\
17931    \x122\n\x14minParticipationRate\x18\x0e\x20\x01(\x05R\x14minParticipatio\
17932    nRate\x12(\n\x0fsupportConstant\x18\x0f\x20\x01(\x08R\x0fsupportConstant\
17933    \x12\"\n\x0cminTimeRatio\x18\x10\x20\x01(\x01R\x0cminTimeRatio\x12\"\n\
17934    \x0cmaxTimeRatio\x18\x11\x20\x01(\x01R\x0cmaxTimeRatio\x12:\n\x18allowCr\
17935    eationOfContracts\x18\x12\x20\x01(\x03R\x18allowCreationOfContracts\x120\
17936    \n\x13allowAdaptiveEnergy\x18\x13\x20\x01(\x03R\x13allowAdaptiveEnergy\
17937    \x1a\xb9\x07\n\x0bMachineInfo\x12\x20\n\x0bthreadCount\x18\x01\x20\x01(\
17938    \x05R\x0bthreadCount\x120\n\x13deadLockThreadCount\x18\x02\x20\x01(\x05R\
17939    \x13deadLockThreadCount\x12\x1a\n\x08cpuCount\x18\x03\x20\x01(\x05R\x08c\
17940    puCount\x12\x20\n\x0btotalMemory\x18\x04\x20\x01(\x03R\x0btotalMemory\
17941    \x12\x1e\n\nfreeMemory\x18\x05\x20\x01(\x03R\nfreeMemory\x12\x18\n\x07cp\
17942    uRate\x18\x06\x20\x01(\x01R\x07cpuRate\x12\x20\n\x0bjavaVersion\x18\x07\
17943    \x20\x01(\tR\x0bjavaVersion\x12\x16\n\x06osName\x18\x08\x20\x01(\tR\x06o\
17944    sName\x12&\n\x0ejvmTotalMemory\x18\t\x20\x01(\x03R\x0ejvmTotalMemory\x12\
17945    $\n\rjvmFreeMemory\x18\n\x20\x01(\x03R\rjvmFreeMemory\x12&\n\x0eprocessC\
17946    puRate\x18\x0b\x20\x01(\x01R\x0eprocessCpuRate\x12]\n\x12memoryDescInfoL\
17947    ist\x18\x0c\x20\x03(\x0b2-.protocol.NodeInfo.MachineInfo.MemoryDescInfoR\
17948    \x12memoryDescInfoList\x12i\n\x16deadLockThreadInfoList\x18\r\x20\x03(\
17949    \x0b21.protocol.NodeInfo.MachineInfo.DeadLockThreadInfoR\x16deadLockThre\
17950    adInfoList\x1a\x8e\x01\n\x0eMemoryDescInfo\x12\x12\n\x04name\x18\x01\x20\
17951    \x01(\tR\x04name\x12\x1a\n\x08initSize\x18\x02\x20\x01(\x03R\x08initSize\
17952    \x12\x18\n\x07useSize\x18\x03\x20\x01(\x03R\x07useSize\x12\x18\n\x07maxS\
17953    ize\x18\x04\x20\x01(\x03R\x07maxSize\x12\x18\n\x07useRate\x18\x05\x20\
17954    \x01(\x01R\x07useRate\x1a\xd2\x01\n\x12DeadLockThreadInfo\x12\x12\n\x04n\
17955    ame\x18\x01\x20\x01(\tR\x04name\x12\x1a\n\x08lockName\x18\x02\x20\x01(\t\
17956    R\x08lockName\x12\x1c\n\tlockOwner\x18\x03\x20\x01(\tR\tlockOwner\x12\
17957    \x14\n\x05state\x18\x04\x20\x01(\tR\x05state\x12\x1c\n\tblockTime\x18\
17958    \x05\x20\x01(\x03R\tblockTime\x12\x1a\n\x08waitTime\x18\x06\x20\x01(\x03\
17959    R\x08waitTime\x12\x1e\n\nstackTrace\x18\x07\x20\x01(\tR\nstackTrace\"\
17960    \xc0\x18\n\x0bMetricsInfo\x12\x1a\n\x08interval\x18\x01\x20\x01(\x03R\
17961    \x08interval\x122\n\x04node\x18\x02\x20\x01(\x0b2\x1e.protocol.MetricsIn\
17962    fo.NodeInfoR\x04node\x12D\n\nblockchain\x18\x03\x20\x01(\x0b2$.protocol.\
17963    MetricsInfo.BlockChainInfoR\nblockchain\x12/\n\x03net\x18\x04\x20\x01(\
17964    \x0b2\x1d.protocol.MetricsInfo.NetInfoR\x03net\x1at\n\x08NodeInfo\x12\
17965    \x0e\n\x02ip\x18\x01\x20\x01(\tR\x02ip\x12\x1a\n\x08nodeType\x18\x02\x20\
17966    \x01(\x05R\x08nodeType\x12\x18\n\x07version\x18\x03\x20\x01(\tR\x07versi\
17967    on\x12\"\n\x0cbackupStatus\x18\x04\x20\x01(\x05R\x0cbackupStatus\x1a\xee\
17968    \x06\n\x0eBlockChainInfo\x12\"\n\x0cheadBlockNum\x18\x01\x20\x01(\x03R\
17969    \x0cheadBlockNum\x12.\n\x12headBlockTimestamp\x18\x02\x20\x01(\x03R\x12h\
17970    eadBlockTimestamp\x12$\n\rheadBlockHash\x18\x03\x20\x01(\tR\rheadBlockHa\
17971    sh\x12\x1c\n\tforkCount\x18\x04\x20\x01(\x05R\tforkCount\x12$\n\rfailFor\
17972    kCount\x18\x05\x20\x01(\x05R\rfailForkCount\x12J\n\x10blockProcessTime\
17973    \x18\x06\x20\x01(\x0b2\x1e.protocol.MetricsInfo.RateInfoR\x10blockProces\
17974    sTime\x120\n\x03tps\x18\x07\x20\x01(\x0b2\x1e.protocol.MetricsInfo.RateI\
17975    nfoR\x03tps\x122\n\x14transactionCacheSize\x18\x08\x20\x01(\x05R\x14tran\
17976    sactionCacheSize\x12L\n\x11missedTransaction\x18\t\x20\x01(\x0b2\x1e.pro\
17977    tocol.MetricsInfo.RateInfoR\x11missedTransaction\x12J\n\twitnesses\x18\n\
17978    \x20\x03(\x0b2,.protocol.MetricsInfo.BlockChainInfo.WitnessR\twitnesses\
17979    \x120\n\x13failProcessBlockNum\x18\x0b\x20\x01(\x03R\x13failProcessBlock\
17980    Num\x126\n\x16failProcessBlockReason\x18\x0c\x20\x01(\tR\x16failProcessB\
17981    lockReason\x12O\n\ndupWitness\x18\r\x20\x03(\x0b2/.protocol.MetricsInfo.\
17982    BlockChainInfo.DupWitnessR\ndupWitness\x1a=\n\x07Witness\x12\x18\n\x07ad\
17983    dress\x18\x01\x20\x01(\tR\x07address\x12\x18\n\x07version\x18\x02\x20\
17984    \x01(\x05R\x07version\x1aX\n\nDupWitness\x12\x18\n\x07address\x18\x01\
17985    \x20\x01(\tR\x07address\x12\x1a\n\x08blockNum\x18\x02\x20\x01(\x03R\x08b\
17986    lockNum\x12\x14\n\x05count\x18\x03\x20\x01(\x05R\x05count\x1a\xb8\x01\n\
17987    \x08RateInfo\x12\x14\n\x05count\x18\x01\x20\x01(\x03R\x05count\x12\x1a\n\
17988    \x08meanRate\x18\x02\x20\x01(\x01R\x08meanRate\x12$\n\roneMinuteRate\x18\
17989    \x03\x20\x01(\x01R\roneMinuteRate\x12&\n\x0efiveMinuteRate\x18\x04\x20\
17990    \x01(\x01R\x0efiveMinuteRate\x12,\n\x11fifteenMinuteRate\x18\x05\x20\x01\
17991    (\x01R\x11fifteenMinuteRate\x1a\xc7\r\n\x07NetInfo\x12(\n\x0ferrorProtoC\
17992    ount\x18\x01\x20\x01(\x05R\x0ferrorProtoCount\x127\n\x03api\x18\x02\x20\
17993    \x01(\x0b2%.protocol.MetricsInfo.NetInfo.ApiInfoR\x03api\x12(\n\x0fconne\
17994    ctionCount\x18\x03\x20\x01(\x05R\x0fconnectionCount\x122\n\x14validConne\
17995    ctionCount\x18\x04\x20\x01(\x05R\x14validConnectionCount\x12B\n\x0ctcpIn\
17996    Traffic\x18\x05\x20\x01(\x0b2\x1e.protocol.MetricsInfo.RateInfoR\x0ctcpI\
17997    nTraffic\x12D\n\rtcpOutTraffic\x18\x06\x20\x01(\x0b2\x1e.protocol.Metric\
17998    sInfo.RateInfoR\rtcpOutTraffic\x12.\n\x12disconnectionCount\x18\x07\x20\
17999    \x01(\x05R\x12disconnectionCount\x12g\n\x13disconnectionDetail\x18\x08\
18000    \x20\x03(\x0b25.protocol.MetricsInfo.NetInfo.DisconnectionDetailInfoR\
18001    \x13disconnectionDetail\x12B\n\x0cudpInTraffic\x18\t\x20\x01(\x0b2\x1e.p\
18002    rotocol.MetricsInfo.RateInfoR\x0cudpInTraffic\x12D\n\rudpOutTraffic\x18\
18003    \n\x20\x01(\x0b2\x1e.protocol.MetricsInfo.RateInfoR\rudpOutTraffic\x12C\
18004    \n\x07latency\x18\x0b\x20\x01(\x0b2).protocol.MetricsInfo.NetInfo.Latenc\
18005    yInfoR\x07latency\x1a\xd4\x03\n\x07ApiInfo\x120\n\x03qps\x18\x01\x20\x01\
18006    (\x0b2\x1e.protocol.MetricsInfo.RateInfoR\x03qps\x128\n\x07failQps\x18\
18007    \x02\x20\x01(\x0b2\x1e.protocol.MetricsInfo.RateInfoR\x07failQps\x12>\n\
18008    \noutTraffic\x18\x03\x20\x01(\x0b2\x1e.protocol.MetricsInfo.RateInfoR\no\
18009    utTraffic\x12K\n\x06detail\x18\x04\x20\x03(\x0b23.protocol.MetricsInfo.N\
18010    etInfo.ApiInfo.ApiDetailInfoR\x06detail\x1a\xcf\x01\n\rApiDetailInfo\x12\
18011    \x12\n\x04name\x18\x01\x20\x01(\tR\x04name\x120\n\x03qps\x18\x02\x20\x01\
18012    (\x0b2\x1e.protocol.MetricsInfo.RateInfoR\x03qps\x128\n\x07failQps\x18\
18013    \x03\x20\x01(\x0b2\x1e.protocol.MetricsInfo.RateInfoR\x07failQps\x12>\n\
18014    \noutTraffic\x18\x04\x20\x01(\x0b2\x1e.protocol.MetricsInfo.RateInfoR\no\
18015    utTraffic\x1aG\n\x17DisconnectionDetailInfo\x12\x16\n\x06reason\x18\x01\
18016    \x20\x01(\tR\x06reason\x12\x14\n\x05count\x18\x02\x20\x01(\x05R\x05count\
18017    \x1a\xe8\x03\n\x0bLatencyInfo\x12\x14\n\x05top99\x18\x01\x20\x01(\x05R\
18018    \x05top99\x12\x14\n\x05top95\x18\x02\x20\x01(\x05R\x05top95\x12\x14\n\
18019    \x05top75\x18\x03\x20\x01(\x05R\x05top75\x12\x1e\n\ntotalCount\x18\x04\
18020    \x20\x01(\x05R\ntotalCount\x12\x18\n\x07delay1S\x18\x05\x20\x01(\x05R\
18021    \x07delay1S\x12\x18\n\x07delay2S\x18\x06\x20\x01(\x05R\x07delay2S\x12\
18022    \x18\n\x07delay3S\x18\x07\x20\x01(\x05R\x07delay3S\x12S\n\x06detail\x18\
18023    \x08\x20\x03(\x0b2;.protocol.MetricsInfo.NetInfo.LatencyInfo.LatencyDeta\
18024    ilInfoR\x06detail\x1a\xd3\x01\n\x11LatencyDetailInfo\x12\x18\n\x07witnes\
18025    s\x18\x01\x20\x01(\tR\x07witness\x12\x14\n\x05top99\x18\x02\x20\x01(\x05\
18026    R\x05top99\x12\x14\n\x05top95\x18\x03\x20\x01(\x05R\x05top95\x12\x14\n\
18027    \x05top75\x18\x04\x20\x01(\x05R\x05top75\x12\x14\n\x05count\x18\x05\x20\
18028    \x01(\x05R\x05count\x12\x18\n\x07delay1S\x18\x06\x20\x01(\x05R\x07delay1\
18029    S\x12\x18\n\x07delay2S\x18\x07\x20\x01(\x05R\x07delay2S\x12\x18\n\x07del\
18030    ay3S\x18\x08\x20\x01(\x05R\x07delay3S\"\x93\x03\n\x0bPBFTMessage\x124\n\
18031    \x08raw_data\x18\x01\x20\x01(\x0b2\x19.protocol.PBFTMessage.RawR\x07rawD\
18032    ata\x12\x1c\n\tsignature\x18\x02\x20\x01(\x0cR\tsignature\x1a\xbd\x01\n\
18033    \x03Raw\x128\n\x08msg_type\x18\x01\x20\x01(\x0e2\x1d.protocol.PBFTMessag\
18034    e.MsgTypeR\x07msgType\x12;\n\tdata_type\x18\x02\x20\x01(\x0e2\x1e.protoc\
18035    ol.PBFTMessage.DataTypeR\x08dataType\x12\x15\n\x06view_n\x18\x03\x20\x01\
18036    (\x03R\x05viewN\x12\x14\n\x05epoch\x18\x04\x20\x01(\x03R\x05epoch\x12\
18037    \x12\n\x04data\x18\x05\x20\x01(\x0cR\x04data\"P\n\x07MsgType\x12\x0f\n\
18038    \x0bVIEW_CHANGE\x10\0\x12\x0b\n\x07REQUEST\x10\x01\x12\x0e\n\nPREPREPARE\
18039    \x10\x02\x12\x0b\n\x07PREPARE\x10\x03\x12\n\n\x06COMMIT\x10\x04\"\x1e\n\
18040    \x08DataType\x12\t\n\x05BLOCK\x10\0\x12\x07\n\x03SRL\x10\x01\"D\n\x10PBF\
18041    TCommitResult\x12\x12\n\x04data\x18\x01\x20\x01(\x0cR\x04data\x12\x1c\n\
18042    \tsignature\x18\x02\x20\x03(\x0cR\tsignature\"#\n\x03SRL\x12\x1c\n\tsrAd\
18043    dress\x18\x01\x20\x03(\x0cR\tsrAddress*7\n\x0bAccountType\x12\n\n\x06Nor\
18044    mal\x10\0\x12\x0e\n\nAssetIssue\x10\x01\x12\x0c\n\x08Contract\x10\x02*\
18045    \x9f\x04\n\nReasonCode\x12\r\n\tREQUESTED\x10\0\x12\x10\n\x0cBAD_PROTOCO\
18046    L\x10\x02\x12\x12\n\x0eTOO_MANY_PEERS\x10\x04\x12\x12\n\x0eDUPLICATE_PEE\
18047    R\x10\x05\x12\x19\n\x15INCOMPATIBLE_PROTOCOL\x10\x06\x12\x16\n\x12RANDOM\
18048    _ELIMINATION\x10\x07\x12\x10\n\x0cPEER_QUITING\x10\x08\x12\x17\n\x13UNEX\
18049    PECTED_IDENTITY\x10\t\x12\x12\n\x0eLOCAL_IDENTITY\x10\n\x12\x10\n\x0cPIN\
18050    G_TIMEOUT\x10\x0b\x12\x0f\n\x0bUSER_REASON\x10\x10\x12\t\n\x05RESET\x10\
18051    \x11\x12\r\n\tSYNC_FAIL\x10\x12\x12\x0e\n\nFETCH_FAIL\x10\x13\x12\n\n\
18052    \x06BAD_TX\x10\x14\x12\r\n\tBAD_BLOCK\x10\x15\x12\n\n\x06FORKED\x10\x16\
18053    \x12\x0e\n\nUNLINKABLE\x10\x17\x12\x18\n\x14INCOMPATIBLE_VERSION\x10\x18\
18054    \x12\x16\n\x12INCOMPATIBLE_CHAIN\x10\x19\x12\x0c\n\x08TIME_OUT\x10\x20\
18055    \x12\x10\n\x0cCONNECT_FAIL\x10!\x12\x1f\n\x1bTOO_MANY_PEERS_WITH_SAME_IP\
18056    \x10\"\x12\x18\n\x14LIGHT_NODE_SYNC_FAIL\x10#\x12\x11\n\rBELOW_THAN_ME\
18057    \x10$\x12\x0f\n\x0bNOT_WITNESS\x10%\x12\x13\n\x0fNO_SUCH_MESSAGE\x10&\
18058    \x12\x0c\n\x07UNKNOWN\x10\xff\x01BF\n\x0forg.tron.protosB\x08ProtocolZ)g\
18059    ithub.com/tronprotocol/grpc-gateway/coreJ\x9c\xb2\x02\n\x07\x12\x05\0\0\
18060    \xfa\x06\x01\n\x08\n\x01\x0c\x12\x03\0\0\x12\n\t\n\x02\x03\0\x12\x03\x02\
18061    \0#\n\t\n\x02\x03\x01\x12\x03\x03\0\x1d\n\t\n\x02\x03\x02\x12\x03\x04\0$\
18062    \n\x08\n\x01\x02\x12\x03\x06\0\x11\n\x08\n\x01\x08\x12\x03\t\0(\nH\n\x02\
18063    \x08\x01\x12\x03\t\0(\"=Specify\x20the\x20name\x20of\x20the\x20package\
18064    \x20that\x20generated\x20the\x20Java\x20file\n\n\x08\n\x01\x08\x12\x03\n\
18065    \0)\n=\n\x02\x08\x08\x12\x03\n\0)\"2Specify\x20the\x20class\x20name\x20o\
18066    f\x20the\x20generated\x20Java\x20file\n\n\x08\n\x01\x08\x12\x03\x0b\0@\n\
18067    \t\n\x02\x08\x0b\x12\x03\x0b\0@\n\n\n\x02\x05\0\x12\x04\r\0\x11\x01\n\n\
18068    \n\x03\x05\0\x01\x12\x03\r\x05\x10\n\x0b\n\x04\x05\0\x02\0\x12\x03\x0e\
18069    \x02\r\n\x0c\n\x05\x05\0\x02\0\x01\x12\x03\x0e\x02\x08\n\x0c\n\x05\x05\0\
18070    \x02\0\x02\x12\x03\x0e\x0b\x0c\n\x0b\n\x04\x05\0\x02\x01\x12\x03\x0f\x02\
18071    \x11\n\x0c\n\x05\x05\0\x02\x01\x01\x12\x03\x0f\x02\x0c\n\x0c\n\x05\x05\0\
18072    \x02\x01\x02\x12\x03\x0f\x0f\x10\n\x0b\n\x04\x05\0\x02\x02\x12\x03\x10\
18073    \x02\x0f\n\x0c\n\x05\x05\0\x02\x02\x01\x12\x03\x10\x02\n\n\x0c\n\x05\x05\
18074    \0\x02\x02\x02\x12\x03\x10\r\x0e\nf\n\x02\x04\0\x12\x04\x14\0\x17\x01\
18075    \x1aZ\x20AccountId,\x20(name,\x20address)\x20use\x20name,\x20(null,\x20a\
18076    ddress)\x20use\x20address,\x20(name,\x20null)\x20use\x20name,\n\n\n\n\
18077    \x03\x04\0\x01\x12\x03\x14\x08\x11\n\x0b\n\x04\x04\0\x02\0\x12\x03\x15\
18078    \x02\x11\n\x0c\n\x05\x04\0\x02\0\x05\x12\x03\x15\x02\x07\n\x0c\n\x05\x04\
18079    \0\x02\0\x01\x12\x03\x15\x08\x0c\n\x0c\n\x05\x04\0\x02\0\x03\x12\x03\x15\
18080    \x0f\x10\n\x0b\n\x04\x04\0\x02\x01\x12\x03\x16\x02\x14\n\x0c\n\x05\x04\0\
18081    \x02\x01\x05\x12\x03\x16\x02\x07\n\x0c\n\x05\x04\0\x02\x01\x01\x12\x03\
18082    \x16\x08\x0f\n\x0c\n\x05\x04\0\x02\x01\x03\x12\x03\x16\x12\x13\n\x1a\n\
18083    \x02\x04\x01\x12\x04\x1a\0\x1f\x01\x1a\x0e\x20vote\x20message\n\n\n\n\
18084    \x03\x04\x01\x01\x12\x03\x1a\x08\x0c\n$\n\x04\x04\x01\x02\0\x12\x03\x1c\
18085    \x02\x19\x1a\x17\x20the\x20super\x20rep\x20address\n\n\x0c\n\x05\x04\x01\
18086    \x02\0\x05\x12\x03\x1c\x02\x07\n\x0c\n\x05\x04\x01\x02\0\x01\x12\x03\x1c\
18087    \x08\x14\n\x0c\n\x05\x04\x01\x02\0\x03\x12\x03\x1c\x17\x18\n.\n\x04\x04\
18088    \x01\x02\x01\x12\x03\x1e\x02\x17\x1a!\x20the\x20vote\x20num\x20to\x20thi\
18089    s\x20super\x20rep.\n\n\x0c\n\x05\x04\x01\x02\x01\x05\x12\x03\x1e\x02\x07\
18090    \n\x0c\n\x05\x04\x01\x02\x01\x01\x12\x03\x1e\x08\x12\n\x0c\n\x05\x04\x01\
18091    \x02\x01\x03\x12\x03\x1e\x15\x16\n\x16\n\x02\x04\x02\x12\x04\"\00\x01\
18092    \x1a\n\x20Proposal\n\n\n\n\x03\x04\x02\x01\x12\x03\"\x08\x10\n\x0b\n\x04\
18093    \x04\x02\x02\0\x12\x03#\x02\x18\n\x0c\n\x05\x04\x02\x02\0\x05\x12\x03#\
18094    \x02\x07\n\x0c\n\x05\x04\x02\x02\0\x01\x12\x03#\x08\x13\n\x0c\n\x05\x04\
18095    \x02\x02\0\x03\x12\x03#\x16\x17\n\x0b\n\x04\x04\x02\x02\x01\x12\x03$\x02\
18096    \x1d\n\x0c\n\x05\x04\x02\x02\x01\x05\x12\x03$\x02\x07\n\x0c\n\x05\x04\
18097    \x02\x02\x01\x01\x12\x03$\x08\x18\n\x0c\n\x05\x04\x02\x02\x01\x03\x12\
18098    \x03$\x1b\x1c\n\x0b\n\x04\x04\x02\x02\x02\x12\x03%\x02#\n\x0c\n\x05\x04\
18099    \x02\x02\x02\x06\x12\x03%\x02\x13\n\x0c\n\x05\x04\x02\x02\x02\x01\x12\
18100    \x03%\x14\x1e\n\x0c\n\x05\x04\x02\x02\x02\x03\x12\x03%!\"\n\x0b\n\x04\
18101    \x04\x02\x02\x03\x12\x03&\x02\x1c\n\x0c\n\x05\x04\x02\x02\x03\x05\x12\
18102    \x03&\x02\x07\n\x0c\n\x05\x04\x02\x02\x03\x01\x12\x03&\x08\x17\n\x0c\n\
18103    \x05\x04\x02\x02\x03\x03\x12\x03&\x1a\x1b\n\x0b\n\x04\x04\x02\x02\x04\
18104    \x12\x03'\x02\x18\n\x0c\n\x05\x04\x02\x02\x04\x05\x12\x03'\x02\x07\n\x0c\
18105    \n\x05\x04\x02\x02\x04\x01\x12\x03'\x08\x13\n\x0c\n\x05\x04\x02\x02\x04\
18106    \x03\x12\x03'\x16\x17\n\x0b\n\x04\x04\x02\x02\x05\x12\x03(\x02\x1f\n\x0c\
18107    \n\x05\x04\x02\x02\x05\x04\x12\x03(\x02\n\n\x0c\n\x05\x04\x02\x02\x05\
18108    \x05\x12\x03(\x0b\x10\n\x0c\n\x05\x04\x02\x02\x05\x01\x12\x03(\x11\x1a\n\
18109    \x0c\n\x05\x04\x02\x02\x05\x03\x12\x03(\x1d\x1e\n\x0c\n\x04\x04\x02\x04\
18110    \0\x12\x04)\x02.\x03\n\x0c\n\x05\x04\x02\x04\0\x01\x12\x03)\x07\x0c\n\r\
18111    \n\x06\x04\x02\x04\0\x02\0\x12\x03*\x04\x10\n\x0e\n\x07\x04\x02\x04\0\
18112    \x02\0\x01\x12\x03*\x04\x0b\n\x0e\n\x07\x04\x02\x04\0\x02\0\x02\x12\x03*\
18113    \x0e\x0f\n\r\n\x06\x04\x02\x04\0\x02\x01\x12\x03+\x04\x14\n\x0e\n\x07\
18114    \x04\x02\x04\0\x02\x01\x01\x12\x03+\x04\x0f\n\x0e\n\x07\x04\x02\x04\0\
18115    \x02\x01\x02\x12\x03+\x12\x13\n\r\n\x06\x04\x02\x04\0\x02\x02\x12\x03,\
18116    \x04\x11\n\x0e\n\x07\x04\x02\x04\0\x02\x02\x01\x12\x03,\x04\x0c\n\x0e\n\
18117    \x07\x04\x02\x04\0\x02\x02\x02\x12\x03,\x0f\x10\n\r\n\x06\x04\x02\x04\0\
18118    \x02\x03\x12\x03-\x04\x11\n\x0e\n\x07\x04\x02\x04\0\x02\x03\x01\x12\x03-\
18119    \x04\x0c\n\x0e\n\x07\x04\x02\x04\0\x02\x03\x02\x12\x03-\x0f\x10\n\x0b\n\
18120    \x04\x04\x02\x02\x06\x12\x03/\x02\x12\n\x0c\n\x05\x04\x02\x02\x06\x06\
18121    \x12\x03/\x02\x07\n\x0c\n\x05\x04\x02\x02\x06\x01\x12\x03/\x08\r\n\x0c\n\
18122    \x05\x04\x02\x02\x06\x03\x12\x03/\x10\x11\n\x16\n\x02\x04\x03\x12\x043\0\
18123    ;\x01\x1a\n\x20Exchange\n\n\n\n\x03\x04\x03\x01\x12\x033\x08\x10\n\x0b\n\
18124    \x04\x04\x03\x02\0\x12\x034\x02\x18\n\x0c\n\x05\x04\x03\x02\0\x05\x12\
18125    \x034\x02\x07\n\x0c\n\x05\x04\x03\x02\0\x01\x12\x034\x08\x13\n\x0c\n\x05\
18126    \x04\x03\x02\0\x03\x12\x034\x16\x17\n\x0b\n\x04\x04\x03\x02\x01\x12\x035\
18127    \x02\x1c\n\x0c\n\x05\x04\x03\x02\x01\x05\x12\x035\x02\x07\n\x0c\n\x05\
18128    \x04\x03\x02\x01\x01\x12\x035\x08\x17\n\x0c\n\x05\x04\x03\x02\x01\x03\
18129    \x12\x035\x1a\x1b\n\x0b\n\x04\x04\x03\x02\x02\x12\x036\x02\x18\n\x0c\n\
18130    \x05\x04\x03\x02\x02\x05\x12\x036\x02\x07\n\x0c\n\x05\x04\x03\x02\x02\
18131    \x01\x12\x036\x08\x13\n\x0c\n\x05\x04\x03\x02\x02\x03\x12\x036\x16\x17\n\
18132    \x0b\n\x04\x04\x03\x02\x03\x12\x037\x02\x1b\n\x0c\n\x05\x04\x03\x02\x03\
18133    \x05\x12\x037\x02\x07\n\x0c\n\x05\x04\x03\x02\x03\x01\x12\x037\x08\x16\n\
18134    \x0c\n\x05\x04\x03\x02\x03\x03\x12\x037\x19\x1a\n\x0b\n\x04\x04\x03\x02\
18135    \x04\x12\x038\x02\x20\n\x0c\n\x05\x04\x03\x02\x04\x05\x12\x038\x02\x07\n\
18136    \x0c\n\x05\x04\x03\x02\x04\x01\x12\x038\x08\x1b\n\x0c\n\x05\x04\x03\x02\
18137    \x04\x03\x12\x038\x1e\x1f\n\x0b\n\x04\x04\x03\x02\x05\x12\x039\x02\x1c\n\
18138    \x0c\n\x05\x04\x03\x02\x05\x05\x12\x039\x02\x07\n\x0c\n\x05\x04\x03\x02\
18139    \x05\x01\x12\x039\x08\x17\n\x0c\n\x05\x04\x03\x02\x05\x03\x12\x039\x1a\
18140    \x1b\n\x0b\n\x04\x04\x03\x02\x06\x12\x03:\x02!\n\x0c\n\x05\x04\x03\x02\
18141    \x06\x05\x12\x03:\x02\x07\n\x0c\n\x05\x04\x03\x02\x06\x01\x12\x03:\x08\
18142    \x1c\n\x0c\n\x05\x04\x03\x02\x06\x03\x12\x03:\x1f\x20\n\x14\n\x02\x04\
18143    \x04\x12\x04>\0T\x01\x1a\x08\x20market\n\n\n\n\x03\x04\x04\x01\x12\x03>\
18144    \x08\x13\n\x0b\n\x04\x04\x04\x02\0\x12\x03?\x04\x17\n\x0c\n\x05\x04\x04\
18145    \x02\0\x05\x12\x03?\x04\t\n\x0c\n\x05\x04\x04\x02\0\x01\x12\x03?\n\x12\n\
18146    \x0c\n\x05\x04\x04\x02\0\x03\x12\x03?\x15\x16\n\x0b\n\x04\x04\x04\x02\
18147    \x01\x12\x03@\x04\x1c\n\x0c\n\x05\x04\x04\x02\x01\x05\x12\x03@\x04\t\n\
18148    \x0c\n\x05\x04\x04\x02\x01\x01\x12\x03@\n\x17\n\x0c\n\x05\x04\x04\x02\
18149    \x01\x03\x12\x03@\x1a\x1b\n\x0b\n\x04\x04\x04\x02\x02\x12\x03A\x04\x1a\n\
18150    \x0c\n\x05\x04\x04\x02\x02\x05\x12\x03A\x04\t\n\x0c\n\x05\x04\x04\x02\
18151    \x02\x01\x12\x03A\n\x15\n\x0c\n\x05\x04\x04\x02\x02\x03\x12\x03A\x18\x19\
18152    \n\x0b\n\x04\x04\x04\x02\x03\x12\x03B\x04\x1c\n\x0c\n\x05\x04\x04\x02\
18153    \x03\x05\x12\x03B\x04\t\n\x0c\n\x05\x04\x04\x02\x03\x01\x12\x03B\n\x17\n\
18154    \x0c\n\x05\x04\x04\x02\x03\x03\x12\x03B\x1a\x1b\n\x0b\n\x04\x04\x04\x02\
18155    \x04\x12\x03C\x04\"\n\x0c\n\x05\x04\x04\x02\x04\x05\x12\x03C\x04\t\n\x0c\
18156    \n\x05\x04\x04\x02\x04\x01\x12\x03C\n\x1d\n\x0c\n\x05\x04\x04\x02\x04\
18157    \x03\x12\x03C\x20!\n\x0b\n\x04\x04\x04\x02\x05\x12\x03D\x04\x1b\n\x0c\n\
18158    \x05\x04\x04\x02\x05\x05\x12\x03D\x04\t\n\x0c\n\x05\x04\x04\x02\x05\x01\
18159    \x12\x03D\n\x16\n\x0c\n\x05\x04\x04\x02\x05\x03\x12\x03D\x19\x1a\n\x1d\n\
18160    \x04\x04\x04\x02\x06\x12\x03E\x04!\"\x10\x20min\x20to\x20receive\n\n\x0c\
18161    \n\x05\x04\x04\x02\x06\x05\x12\x03E\x04\t\n\x0c\n\x05\x04\x04\x02\x06\
18162    \x01\x12\x03E\n\x1c\n\x0c\n\x05\x04\x04\x02\x06\x03\x12\x03E\x1f\x20\n\
18163    \x0b\n\x04\x04\x04\x02\x07\x12\x03F\x04)\n\x0c\n\x05\x04\x04\x02\x07\x05\
18164    \x12\x03F\x04\t\n\x0c\n\x05\x04\x04\x02\x07\x01\x12\x03F\n$\n\x0c\n\x05\
18165    \x04\x04\x02\x07\x03\x12\x03F'(\n\xa8\x01\n\x04\x04\x04\x02\x08\x12\x03I\
18166    \x04*\x1a\x9a\x01\x20When\x20state\x20!=\x20ACTIVE\x20and\x20sell_token_\
18167    quantity_return\x20!=0,\nit\x20means\x20that\x20some\x20sell\x20tokens\
18168    \x20are\x20returned\x20to\x20the\x20account\x20due\x20to\x20insufficient\
18169    \x20remaining\x20amount\n\n\x0c\n\x05\x04\x04\x02\x08\x05\x12\x03I\x04\t\
18170    \n\x0c\n\x05\x04\x04\x02\x08\x01\x12\x03I\n$\n\x0c\n\x05\x04\x04\x02\x08\
18171    \x03\x12\x03I')\n\x0c\n\x04\x04\x04\x04\0\x12\x04K\x04O\x05\n\x0c\n\x05\
18172    \x04\x04\x04\0\x01\x12\x03K\t\x0e\n\r\n\x06\x04\x04\x04\0\x02\0\x12\x03L\
18173    \x06\x11\n\x0e\n\x07\x04\x04\x04\0\x02\0\x01\x12\x03L\x06\x0c\n\x0e\n\
18174    \x07\x04\x04\x04\0\x02\0\x02\x12\x03L\x0f\x10\n\r\n\x06\x04\x04\x04\0\
18175    \x02\x01\x12\x03M\x06\x13\n\x0e\n\x07\x04\x04\x04\0\x02\x01\x01\x12\x03M\
18176    \x06\x0e\n\x0e\n\x07\x04\x04\x04\0\x02\x01\x02\x12\x03M\x11\x12\n\r\n\
18177    \x06\x04\x04\x04\0\x02\x02\x12\x03N\x06\x13\n\x0e\n\x07\x04\x04\x04\0\
18178    \x02\x02\x01\x12\x03N\x06\x0e\n\x0e\n\x07\x04\x04\x04\0\x02\x02\x02\x12\
18179    \x03N\x11\x12\n\x0b\n\x04\x04\x04\x02\t\x12\x03P\x04\x15\n\x0c\n\x05\x04\
18180    \x04\x02\t\x06\x12\x03P\x04\t\n\x0c\n\x05\x04\x04\x02\t\x01\x12\x03P\n\
18181    \x0f\n\x0c\n\x05\x04\x04\x02\t\x03\x12\x03P\x12\x14\n\x0b\n\x04\x04\x04\
18182    \x02\n\x12\x03R\x04\x14\n\x0c\n\x05\x04\x04\x02\n\x05\x12\x03R\x04\t\n\
18183    \x0c\n\x05\x04\x04\x02\n\x01\x12\x03R\n\x0e\n\x0c\n\x05\x04\x04\x02\n\
18184    \x03\x12\x03R\x11\x13\n\x0b\n\x04\x04\x04\x02\x0b\x12\x03S\x04\x14\n\x0c\
18185    \n\x05\x04\x04\x02\x0b\x05\x12\x03S\x04\t\n\x0c\n\x05\x04\x04\x02\x0b\
18186    \x01\x12\x03S\n\x0e\n\x0c\n\x05\x04\x04\x02\x0b\x03\x12\x03S\x11\x13\n\n\
18187    \n\x02\x04\x05\x12\x04V\0X\x01\n\n\n\x03\x04\x05\x01\x12\x03V\x08\x17\n\
18188    \x0b\n\x04\x04\x05\x02\0\x12\x03W\x04$\n\x0c\n\x05\x04\x05\x02\0\x04\x12\
18189    \x03W\x04\x0c\n\x0c\n\x05\x04\x05\x02\0\x06\x12\x03W\r\x18\n\x0c\n\x05\
18190    \x04\x05\x02\0\x01\x12\x03W\x19\x1f\n\x0c\n\x05\x04\x05\x02\0\x03\x12\
18191    \x03W\"#\n\n\n\x02\x04\x06\x12\x04Z\0\\\x01\n\n\n\x03\x04\x06\x01\x12\
18192    \x03Z\x08\x1b\n\x0b\n\x04\x04\x06\x02\0\x12\x03[\x02)\n\x0c\n\x05\x04\
18193    \x06\x02\0\x04\x12\x03[\x02\n\n\x0c\n\x05\x04\x06\x02\0\x06\x12\x03[\x0b\
18194    \x1a\n\x0c\n\x05\x04\x06\x02\0\x01\x12\x03[\x1b$\n\x0c\n\x05\x04\x06\x02\
18195    \0\x03\x12\x03['(\n\n\n\x02\x04\x07\x12\x04^\0a\x01\n\n\n\x03\x04\x07\
18196    \x01\x12\x03^\x08\x17\n\x0b\n\x04\x04\x07\x02\0\x12\x03_\x04\x1c\n\x0c\n\
18197    \x05\x04\x07\x02\0\x05\x12\x03_\x04\t\n\x0c\n\x05\x04\x07\x02\0\x01\x12\
18198    \x03_\n\x17\n\x0c\n\x05\x04\x07\x02\0\x03\x12\x03_\x1a\x1b\n\x0b\n\x04\
18199    \x04\x07\x02\x01\x12\x03`\x04\x1b\n\x0c\n\x05\x04\x07\x02\x01\x05\x12\
18200    \x03`\x04\t\n\x0c\n\x05\x04\x07\x02\x01\x01\x12\x03`\n\x16\n\x0c\n\x05\
18201    \x04\x07\x02\x01\x03\x12\x03`\x19\x1a\n\n\n\x02\x04\x08\x12\x04c\0h\x01\
18202    \n\n\n\x03\x04\x08\x01\x12\x03c\x08\x1a\n\x0b\n\x04\x04\x08\x02\0\x12\
18203    \x03d\x02\x1a\n\x0c\n\x05\x04\x08\x02\0\x05\x12\x03d\x02\x07\n\x0c\n\x05\
18204    \x04\x08\x02\0\x01\x12\x03d\x08\x15\n\x0c\n\x05\x04\x08\x02\0\x03\x12\
18205    \x03d\x18\x19\n\x1c\n\x04\x04\x08\x02\x01\x12\x03e\x02\x1c\"\x0f\x20orde\
18206    r_id\x20list\n\n\x0c\n\x05\x04\x08\x02\x01\x04\x12\x03e\x02\n\n\x0c\n\
18207    \x05\x04\x08\x02\x01\x05\x12\x03e\x0b\x10\n\x0c\n\x05\x04\x08\x02\x01\
18208    \x01\x12\x03e\x11\x17\n\x0c\n\x05\x04\x08\x02\x01\x03\x12\x03e\x1a\x1b\n\
18209    \x1b\n\x04\x04\x08\x02\x02\x12\x03f\x02\x12\"\x0e\x20active\x20count\n\n\
18210    \x0c\n\x05\x04\x08\x02\x02\x05\x12\x03f\x02\x07\n\x0c\n\x05\x04\x08\x02\
18211    \x02\x01\x12\x03f\x08\r\n\x0c\n\x05\x04\x08\x02\x02\x03\x12\x03f\x10\x11\
18212    \n\x0b\n\x04\x04\x08\x02\x03\x12\x03g\x02\x18\n\x0c\n\x05\x04\x08\x02\
18213    \x03\x05\x12\x03g\x02\x07\n\x0c\n\x05\x04\x08\x02\x03\x01\x12\x03g\x08\
18214    \x13\n\x0c\n\x05\x04\x08\x02\x03\x03\x12\x03g\x16\x17\n\n\n\x02\x04\t\
18215    \x12\x04j\0m\x01\n\n\n\x03\x04\t\x01\x12\x03j\x08\x13\n\x0b\n\x04\x04\t\
18216    \x02\0\x12\x03k\x02\x20\n\x0c\n\x05\x04\t\x02\0\x05\x12\x03k\x02\x07\n\
18217    \x0c\n\x05\x04\t\x02\0\x01\x12\x03k\x08\x1b\n\x0c\n\x05\x04\t\x02\0\x03\
18218    \x12\x03k\x1e\x1f\n\x0b\n\x04\x04\t\x02\x01\x12\x03l\x02\x1f\n\x0c\n\x05\
18219    \x04\t\x02\x01\x05\x12\x03l\x02\x07\n\x0c\n\x05\x04\t\x02\x01\x01\x12\
18220    \x03l\x08\x1a\n\x0c\n\x05\x04\t\x02\x01\x03\x12\x03l\x1d\x1e\n\n\n\x02\
18221    \x04\n\x12\x04o\0s\x01\n\n\n\x03\x04\n\x01\x12\x03o\x08\x17\n\x0b\n\x04\
18222    \x04\n\x02\0\x12\x03p\x02\x1a\n\x0c\n\x05\x04\n\x02\0\x05\x12\x03p\x02\
18223    \x07\n\x0c\n\x05\x04\n\x02\0\x01\x12\x03p\x08\x15\n\x0c\n\x05\x04\n\x02\
18224    \0\x03\x12\x03p\x18\x19\n\x0b\n\x04\x04\n\x02\x01\x12\x03q\x02\x19\n\x0c\
18225    \n\x05\x04\n\x02\x01\x05\x12\x03q\x02\x07\n\x0c\n\x05\x04\n\x02\x01\x01\
18226    \x12\x03q\x08\x14\n\x0c\n\x05\x04\n\x02\x01\x03\x12\x03q\x17\x18\n\x0b\n\
18227    \x04\x04\n\x02\x02\x12\x03r\x02\"\n\x0c\n\x05\x04\n\x02\x02\x04\x12\x03r\
18228    \x02\n\n\x0c\n\x05\x04\n\x02\x02\x06\x12\x03r\x0b\x16\n\x0c\n\x05\x04\n\
18229    \x02\x02\x01\x12\x03r\x17\x1d\n\x0c\n\x05\x04\n\x02\x02\x03\x12\x03r\x20\
18230    !\n\n\n\x02\x04\x0b\x12\x04u\0x\x01\n\n\n\x03\x04\x0b\x01\x12\x03u\x08\
18231    \x19\n\x0b\n\x04\x04\x0b\x02\0\x12\x03v\x02\x11\n\x0c\n\x05\x04\x0b\x02\
18232    \0\x05\x12\x03v\x02\x07\n\x0c\n\x05\x04\x0b\x02\0\x01\x12\x03v\x08\x0c\n\
18233    \x0c\n\x05\x04\x0b\x02\0\x03\x12\x03v\x0f\x10\n\x0b\n\x04\x04\x0b\x02\
18234    \x01\x12\x03w\x02\x11\n\x0c\n\x05\x04\x0b\x02\x01\x05\x12\x03w\x02\x07\n\
18235    \x0c\n\x05\x04\x0b\x02\x01\x01\x12\x03w\x08\x0c\n\x0c\n\x05\x04\x0b\x02\
18236    \x01\x03\x12\x03w\x0f\x10\n\x0b\n\x02\x04\x0c\x12\x05z\0\x80\x01\x01\n\n\
18237    \n\x03\x04\x0c\x01\x12\x03z\x08\x17\n\x0b\n\x04\x04\x0c\x02\0\x12\x03{\
18238    \x02-\n\x0c\n\x05\x04\x0c\x02\0\x04\x12\x03{\x02\n\n\x0c\n\x05\x04\x0c\
18239    \x02\0\x06\x12\x03{\x0b\x19\n\x0c\n\x05\x04\x0c\x02\0\x01\x12\x03{\x1a(\
18240    \n\x0c\n\x05\x04\x0c\x02\0\x03\x12\x03{+,\n\x0c\n\x04\x04\x0c\x03\0\x12\
18241    \x04|\x02\x7f\x03\n\x0c\n\x05\x04\x0c\x03\0\x01\x12\x03|\n\x18\n\r\n\x06\
18242    \x04\x0c\x03\0\x02\0\x12\x03}\x04\x13\n\x0e\n\x07\x04\x0c\x03\0\x02\0\
18243    \x05\x12\x03}\x04\n\n\x0e\n\x07\x04\x0c\x03\0\x02\0\x01\x12\x03}\x0b\x0e\
18244    \n\x0e\n\x07\x04\x0c\x03\0\x02\0\x03\x12\x03}\x11\x12\n\r\n\x06\x04\x0c\
18245    \x03\0\x02\x01\x12\x03~\x04\x14\n\x0e\n\x07\x04\x0c\x03\0\x02\x01\x05\
18246    \x12\x03~\x04\t\n\x0e\n\x07\x04\x0c\x03\0\x02\x01\x01\x12\x03~\n\x0f\n\
18247    \x0e\n\x07\x04\x0c\x03\0\x02\x01\x03\x12\x03~\x12\x13\n\x17\n\x02\x04\r\
18248    \x12\x06\x83\x01\0\xf0\x01\x01\x1a\t\x20Account\x20\n\x0b\n\x03\x04\r\
18249    \x01\x12\x04\x83\x01\x08\x0f\n\x20\n\x04\x04\r\x03\0\x12\x06\x85\x01\x02\
18250    \x88\x01\x03\x1a\x10\x20frozen\x20balance\x20\n\r\n\x05\x04\r\x03\0\x01\
18251    \x12\x04\x85\x01\n\x10\n(\n\x06\x04\r\x03\0\x02\0\x12\x04\x86\x01\x04\
18252    \x1d\"\x18\x20the\x20frozen\x20trx\x20balance\n\n\x0f\n\x07\x04\r\x03\0\
18253    \x02\0\x05\x12\x04\x86\x01\x04\t\n\x0f\n\x07\x04\r\x03\0\x02\0\x01\x12\
18254    \x04\x86\x01\n\x18\n\x0f\n\x07\x04\r\x03\0\x02\0\x03\x12\x04\x86\x01\x1b\
18255    \x1c\n!\n\x06\x04\r\x03\0\x02\x01\x12\x04\x87\x01\x04\x1a\"\x11\x20the\
18256    \x20expire\x20time\n\n\x0f\n\x07\x04\r\x03\0\x02\x01\x05\x12\x04\x87\x01\
18257    \x04\t\n\x0f\n\x07\x04\r\x03\0\x02\x01\x01\x12\x04\x87\x01\n\x15\n\x0f\n\
18258    \x07\x04\r\x03\0\x02\x01\x03\x12\x04\x87\x01\x18\x19\n!\n\x04\x04\r\x02\
18259    \0\x12\x04\x8a\x01\x02\x19\x1a\x13\x20account\x20nick\x20name\n\n\r\n\
18260    \x05\x04\r\x02\0\x05\x12\x04\x8a\x01\x02\x07\n\r\n\x05\x04\r\x02\0\x01\
18261    \x12\x04\x8a\x01\x08\x14\n\r\n\x05\x04\r\x02\0\x03\x12\x04\x8a\x01\x17\
18262    \x18\n\x0c\n\x04\x04\r\x02\x01\x12\x04\x8b\x01\x02\x17\n\r\n\x05\x04\r\
18263    \x02\x01\x06\x12\x04\x8b\x01\x02\r\n\r\n\x05\x04\r\x02\x01\x01\x12\x04\
18264    \x8b\x01\x0e\x12\n\r\n\x05\x04\r\x02\x01\x03\x12\x04\x8b\x01\x15\x16\n\"\
18265    \n\x04\x04\r\x02\x02\x12\x04\x8d\x01\x02\x14\x1a\x14\x20the\x20create\
18266    \x20address\n\n\r\n\x05\x04\r\x02\x02\x05\x12\x04\x8d\x01\x02\x07\n\r\n\
18267    \x05\x04\r\x02\x02\x01\x12\x04\x8d\x01\x08\x0f\n\r\n\x05\x04\r\x02\x02\
18268    \x03\x12\x04\x8d\x01\x12\x13\n\x1f\n\x04\x04\r\x02\x03\x12\x04\x8f\x01\
18269    \x02\x14\x1a\x11\x20the\x20trx\x20balance\n\n\r\n\x05\x04\r\x02\x03\x05\
18270    \x12\x04\x8f\x01\x02\x07\n\r\n\x05\x04\r\x02\x03\x01\x12\x04\x8f\x01\x08\
18271    \x0f\n\r\n\x05\x04\r\x02\x03\x03\x12\x04\x8f\x01\x12\x13\n\x19\n\x04\x04\
18272    \r\x02\x04\x12\x04\x91\x01\x02\x1a\x1a\x0b\x20the\x20votes\n\n\r\n\x05\
18273    \x04\r\x02\x04\x04\x12\x04\x91\x01\x02\n\n\r\n\x05\x04\r\x02\x04\x06\x12\
18274    \x04\x91\x01\x0b\x0f\n\r\n\x05\x04\r\x02\x04\x01\x12\x04\x91\x01\x10\x15\
18275    \n\r\n\x05\x04\r\x02\x04\x03\x12\x04\x91\x01\x18\x19\n5\n\x04\x04\r\x02\
18276    \x05\x12\x04\x93\x01\x02\x1f\x1a'\x20the\x20other\x20asset\x20owned\x20b\
18277    y\x20this\x20account\n\n\r\n\x05\x04\r\x02\x05\x06\x12\x04\x93\x01\x02\
18278    \x14\n\r\n\x05\x04\r\x02\x05\x01\x12\x04\x93\x01\x15\x1a\n\r\n\x05\x04\r\
18279    \x02\x05\x03\x12\x04\x93\x01\x1d\x1e\nF\n\x04\x04\r\x02\x06\x12\x04\x96\
18280    \x01\x02\"\x1a8\x20the\x20other\x20asset\x20owned\x20by\x20this\x20accou\
18281    nt\xef\xbc\x8ckey\x20is\x20assetId\n\n\r\n\x05\x04\r\x02\x06\x06\x12\x04\
18282    \x96\x01\x02\x14\n\r\n\x05\x04\r\x02\x06\x01\x12\x04\x96\x01\x15\x1c\n\r\
18283    \n\x05\x04\r\x02\x06\x03\x12\x04\x96\x01\x1f!\n0\n\x04\x04\r\x02\x07\x12\
18284    \x04\x99\x01\x02\x1d\x1a\"\x20the\x20frozen\x20balance\x20for\x20bandwid\
18285    th\n\n\r\n\x05\x04\r\x02\x07\x04\x12\x04\x99\x01\x02\n\n\r\n\x05\x04\r\
18286    \x02\x07\x06\x12\x04\x99\x01\x0b\x11\n\r\n\x05\x04\r\x02\x07\x01\x12\x04\
18287    \x99\x01\x12\x18\n\r\n\x05\x04\r\x02\x07\x03\x12\x04\x99\x01\x1b\x1c\n*\
18288    \n\x04\x04\r\x02\x08\x12\x04\x9b\x01\x02\x16\x1a\x1c\x20bandwidth,\x20ge\
18289    t\x20from\x20frozen\n\n\r\n\x05\x04\r\x02\x08\x05\x12\x04\x9b\x01\x02\
18290    \x07\n\r\n\x05\x04\r\x02\x08\x01\x12\x04\x9b\x01\x08\x11\n\r\n\x05\x04\r\
18291    \x02\x08\x03\x12\x04\x9b\x01\x14\x15\nH\n\x04\x04\r\x02\t\x12\x04\x9d\
18292    \x01\x02=\x1a:Frozen\x20balance\x20provided\x20by\x20other\x20accounts\
18293    \x20to\x20this\x20account\n\n\r\n\x05\x04\r\x02\t\x05\x12\x04\x9d\x01\
18294    \x02\x07\n\r\n\x05\x04\r\x02\t\x01\x12\x04\x9d\x01\x087\n\r\n\x05\x04\r\
18295    \x02\t\x03\x12\x04\x9d\x01:<\n<\n\x04\x04\r\x02\n\x12\x04\x9f\x01\x024\
18296    \x1a.Freeze\x20and\x20provide\x20balances\x20to\x20other\x20accounts\n\n\
18297    \r\n\x05\x04\r\x02\n\x05\x12\x04\x9f\x01\x02\x07\n\r\n\x05\x04\r\x02\n\
18298    \x01\x12\x04\x9f\x01\x08.\n\r\n\x05\x04\r\x02\n\x03\x12\x04\x9f\x0113\n\
18299    \x0c\n\x04\x04\r\x02\x0b\x12\x04\xa1\x01\x02\x1c\n\r\n\x05\x04\r\x02\x0b\
18300    \x05\x12\x04\xa1\x01\x02\x07\n\r\n\x05\x04\r\x02\x0b\x01\x12\x04\xa1\x01\
18301    \x08\x16\n\r\n\x05\x04\r\x02\x0b\x03\x12\x04\xa1\x01\x19\x1b\n\x0c\n\x04\
18302    \x04\r\x02\x0c\x12\x04\xa2\x01\x02\x19\n\r\n\x05\x04\r\x02\x0c\x06\x12\
18303    \x04\xa2\x01\x02\x08\n\r\n\x05\x04\r\x02\x0c\x01\x12\x04\xa2\x01\t\x13\n\
18304    \r\n\x05\x04\r\x02\x0c\x03\x12\x04\xa2\x01\x16\x18\n\x0c\n\x04\x04\r\x02\
18305    \r\x12\x04\xa4\x01\x02\x1c\n\r\n\x05\x04\r\x02\r\x05\x12\x04\xa4\x01\x02\
18306    \x06\n\r\n\x05\x04\r\x02\r\x01\x12\x04\xa4\x01\x07\x16\n\r\n\x05\x04\r\
18307    \x02\r\x03\x12\x04\xa4\x01\x19\x1b\n(\n\x04\x04\r\x02\x0e\x12\x04\xa7\
18308    \x01\x02\x1b\x1a\x1a\x20this\x20account\x20create\x20time\n\n\r\n\x05\
18309    \x04\r\x02\x0e\x05\x12\x04\xa7\x01\x02\x07\n\r\n\x05\x04\r\x02\x0e\x01\
18310    \x12\x04\xa7\x01\x08\x13\n\r\n\x05\x04\r\x02\x0e\x03\x12\x04\xa7\x01\x16\
18311    \x1a\nc\n\x04\x04\r\x02\x0f\x12\x04\xa9\x01\x02\"\x1aU\x20this\x20last\
18312    \x20operation\x20time,\x20including\x20transfer,\x20voting\x20and\x20so\
18313    \x20on.\x20//FIXME\x20fix\x20grammar\n\n\r\n\x05\x04\r\x02\x0f\x05\x12\
18314    \x04\xa9\x01\x02\x07\n\r\n\x05\x04\r\x02\x0f\x01\x12\x04\xa9\x01\x08\x1c\
18315    \n\r\n\x05\x04\r\x02\x0f\x03\x12\x04\xa9\x01\x1f!\n1\n\x04\x04\r\x02\x10\
18316    \x12\x04\xab\x01\x02\x19\x1a#\x20witness\x20block\x20producing\x20allowa\
18317    nce\n\n\r\n\x05\x04\r\x02\x10\x05\x12\x04\xab\x01\x02\x07\n\r\n\x05\x04\
18318    \r\x02\x10\x01\x12\x04\xab\x01\x08\x11\n\r\n\x05\x04\r\x02\x10\x03\x12\
18319    \x04\xab\x01\x14\x18\n\"\n\x04\x04\r\x02\x11\x12\x04\xad\x01\x02$\x1a\
18320    \x14\x20last\x20withdraw\x20time\n\n\r\n\x05\x04\r\x02\x11\x05\x12\x04\
18321    \xad\x01\x02\x07\n\r\n\x05\x04\r\x02\x11\x01\x12\x04\xad\x01\x08\x1c\n\r\
18322    \n\x05\x04\r\x02\x11\x03\x12\x04\xad\x01\x1f#\n\x1f\n\x04\x04\r\x02\x12\
18323    \x12\x04\xaf\x01\x02\x12\x1a\x11\x20not\x20used\x20so\x20far\n\n\r\n\x05\
18324    \x04\r\x02\x12\x05\x12\x04\xaf\x01\x02\x07\n\r\n\x05\x04\r\x02\x12\x01\
18325    \x12\x04\xaf\x01\x08\x0c\n\r\n\x05\x04\r\x02\x12\x03\x12\x04\xaf\x01\x0f\
18326    \x11\n\x0c\n\x04\x04\r\x02\x13\x12\x04\xb0\x01\x02\x17\n\r\n\x05\x04\r\
18327    \x02\x13\x05\x12\x04\xb0\x01\x02\x06\n\r\n\x05\x04\r\x02\x13\x01\x12\x04\
18328    \xb0\x01\x07\x11\n\r\n\x05\x04\r\x02\x13\x03\x12\x04\xb0\x01\x14\x16\n\
18329    \x0c\n\x04\x04\r\x02\x14\x12\x04\xb1\x01\x02\x19\n\r\n\x05\x04\r\x02\x14\
18330    \x05\x12\x04\xb1\x01\x02\x06\n\r\n\x05\x04\r\x02\x14\x01\x12\x04\xb1\x01\
18331    \x07\x13\n\r\n\x05\x04\r\x02\x14\x03\x12\x04\xb1\x01\x16\x18\n.\n\x04\
18332    \x04\r\x02\x15\x12\x04\xb3\x01\x02%\x1a\x20\x20frozen\x20asset(for\x20as\
18333    set\x20issuer)\n\n\r\n\x05\x04\r\x02\x15\x04\x12\x04\xb3\x01\x02\n\n\r\n\
18334    \x05\x04\r\x02\x15\x06\x12\x04\xb3\x01\x0b\x11\n\r\n\x05\x04\r\x02\x15\
18335    \x01\x12\x04\xb3\x01\x12\x1f\n\r\n\x05\x04\r\x02\x15\x03\x12\x04\xb3\x01\
18336    \"$\n!\n\x04\x04\r\x02\x16\x12\x04\xb5\x01\x02\x1f\x1a\x13\x20asset_issu\
18337    ed_name\n\n\r\n\x05\x04\r\x02\x16\x05\x12\x04\xb5\x01\x02\x07\n\r\n\x05\
18338    \x04\r\x02\x16\x01\x12\x04\xb5\x01\x08\x19\n\r\n\x05\x04\r\x02\x16\x03\
18339    \x12\x04\xb5\x01\x1c\x1e\n\x0c\n\x04\x04\r\x02\x17\x12\x04\xb6\x01\x02\
18340    \x1d\n\r\n\x05\x04\r\x02\x17\x05\x12\x04\xb6\x01\x02\x07\n\r\n\x05\x04\r\
18341    \x02\x17\x01\x12\x04\xb6\x01\x08\x17\n\r\n\x05\x04\r\x02\x17\x03\x12\x04\
18342    \xb6\x01\x1a\x1c\n\x0c\n\x04\x04\r\x02\x18\x12\x04\xb7\x01\x026\n\r\n\
18343    \x05\x04\r\x02\x18\x06\x12\x04\xb7\x01\x02\x14\n\r\n\x05\x04\r\x02\x18\
18344    \x01\x12\x04\xb7\x01\x150\n\r\n\x05\x04\r\x02\x18\x03\x12\x04\xb7\x0135\
18345    \n\x0c\n\x04\x04\r\x02\x19\x12\x04\xb8\x01\x028\n\r\n\x05\x04\r\x02\x19\
18346    \x06\x12\x04\xb8\x01\x02\x14\n\r\n\x05\x04\r\x02\x19\x01\x12\x04\xb8\x01\
18347    \x152\n\r\n\x05\x04\r\x02\x19\x03\x12\x04\xb8\x0157\n\x0c\n\x04\x04\r\
18348    \x02\x1a\x12\x04\xb9\x01\x02\x1c\n\r\n\x05\x04\r\x02\x1a\x05\x12\x04\xb9\
18349    \x01\x02\x07\n\r\n\x05\x04\r\x02\x1a\x01\x12\x04\xb9\x01\x08\x16\n\r\n\
18350    \x05\x04\r\x02\x1a\x03\x12\x04\xb9\x01\x19\x1b\n\x0c\n\x04\x04\r\x02\x1b\
18351    \x12\x04\xba\x01\x02/\n\r\n\x05\x04\r\x02\x1b\x06\x12\x04\xba\x01\x02\
18352    \x14\n\r\n\x05\x04\r\x02\x1b\x01\x12\x04\xba\x01\x15)\n\r\n\x05\x04\r\
18353    \x02\x1b\x03\x12\x04\xba\x01,.\n\x0c\n\x04\x04\r\x02\x1c\x12\x04\xbb\x01\
18354    \x021\n\r\n\x05\x04\r\x02\x1c\x06\x12\x04\xbb\x01\x02\x14\n\r\n\x05\x04\
18355    \r\x02\x1c\x01\x12\x04\xbb\x01\x15+\n\r\n\x05\x04\r\x02\x1c\x03\x12\x04\
18356    \xbb\x01.0\n\x0c\n\x04\x04\r\x02\x1d\x12\x04\xbc\x01\x02!\n\r\n\x05\x04\
18357    \r\x02\x1d\x05\x12\x04\xbc\x01\x02\x07\n\r\n\x05\x04\r\x02\x1d\x01\x12\
18358    \x04\xbc\x01\x08\x1b\n\r\n\x05\x04\r\x02\x1d\x03\x12\x04\xbc\x01\x1e\x20\
18359    \n\x0c\n\x04\x04\r\x02\x1e\x12\x04\xbd\x01\x02&\n\r\n\x05\x04\r\x02\x1e\
18360    \x05\x12\x04\xbd\x01\x02\x07\n\r\n\x05\x04\r\x02\x1e\x01\x12\x04\xbd\x01\
18361    \x08\x20\n\r\n\x05\x04\r\x02\x1e\x03\x12\x04\xbd\x01#%\n>\n\x04\x04\r\
18362    \x02\x1f\x12\x04\xc0\x01\x02\x18\x1a0\x20the\x20identity\x20of\x20this\
18363    \x20account,\x20case\x20insensitive\n\n\r\n\x05\x04\r\x02\x1f\x05\x12\
18364    \x04\xc0\x01\x02\x07\n\r\n\x05\x04\r\x02\x1f\x01\x12\x04\xc0\x01\x08\x12\
18365    \n\r\n\x05\x04\r\x02\x1f\x03\x12\x04\xc0\x01\x15\x17\n\x0c\n\x04\x04\r\
18366    \x02\x20\x12\x04\xc2\x01\x02\x1d\n\r\n\x05\x04\r\x02\x20\x05\x12\x04\xc2\
18367    \x01\x02\x07\n\r\n\x05\x04\r\x02\x20\x01\x12\x04\xc2\x01\x08\x17\n\r\n\
18368    \x05\x04\r\x02\x20\x03\x12\x04\xc2\x01\x1a\x1c\n\x0c\n\x04\x04\r\x02!\
18369    \x12\x04\xc3\x01\x02!\n\r\n\x05\x04\r\x02!\x05\x12\x04\xc3\x01\x02\x06\n\
18370    \r\n\x05\x04\r\x02!\x01\x12\x04\xc3\x01\x07\x1b\n\r\n\x05\x04\r\x02!\x03\
18371    \x12\x04\xc3\x01\x1e\x20\n\x0e\n\x04\x04\r\x03\x07\x12\x06\xc5\x01\x02\
18372    \xdb\x01\x03\n\r\n\x05\x04\r\x03\x07\x01\x12\x04\xc5\x01\n\x19\n2\n\x06\
18373    \x04\r\x03\x07\x02\0\x12\x04\xc7\x01\x04\x1b\x1a\"\x20energy\x20resource\
18374    ,\x20get\x20from\x20frozen\n\n\x0f\n\x07\x04\r\x03\x07\x02\0\x05\x12\x04\
18375    \xc7\x01\x04\t\n\x0f\n\x07\x04\r\x03\x07\x02\0\x01\x12\x04\xc7\x01\n\x16\
18376    \n\x0f\n\x07\x04\r\x03\x07\x02\0\x03\x12\x04\xc7\x01\x19\x1a\n/\n\x06\
18377    \x04\r\x03\x07\x02\x01\x12\x04\xc9\x01\x04)\x1a\x1f\x20the\x20frozen\x20\
18378    balance\x20for\x20energy\n\n\x0f\n\x07\x04\r\x03\x07\x02\x01\x06\x12\x04\
18379    \xc9\x01\x04\n\n\x0f\n\x07\x04\r\x03\x07\x02\x01\x01\x12\x04\xc9\x01\x0b\
18380    $\n\x0f\n\x07\x04\r\x03\x07\x02\x01\x03\x12\x04\xc9\x01'(\n\x0e\n\x06\
18381    \x04\r\x03\x07\x02\x02\x12\x04\xca\x01\x04-\n\x0f\n\x07\x04\r\x03\x07\
18382    \x02\x02\x05\x12\x04\xca\x01\x04\t\n\x0f\n\x07\x04\r\x03\x07\x02\x02\x01\
18383    \x12\x04\xca\x01\n(\n\x0f\n\x07\x04\r\x03\x07\x02\x02\x03\x12\x04\xca\
18384    \x01+,\nJ\n\x06\x04\r\x03\x07\x02\x03\x12\x04\xcd\x01\x04;\x1a:Frozen\
18385    \x20balance\x20provided\x20by\x20other\x20accounts\x20to\x20this\x20acco\
18386    unt\n\n\x0f\n\x07\x04\r\x03\x07\x02\x03\x05\x12\x04\xcd\x01\x04\t\n\x0f\
18387    \n\x07\x04\r\x03\x07\x02\x03\x01\x12\x04\xcd\x01\n6\n\x0f\n\x07\x04\r\
18388    \x03\x07\x02\x03\x03\x12\x04\xcd\x019:\n;\n\x06\x04\r\x03\x07\x02\x04\
18389    \x12\x04\xcf\x01\x042\x1a+Frozen\x20balances\x20provided\x20to\x20other\
18390    \x20accounts\n\n\x0f\n\x07\x04\r\x03\x07\x02\x04\x05\x12\x04\xcf\x01\x04\
18391    \t\n\x0f\n\x07\x04\r\x03\x07\x02\x04\x01\x12\x04\xcf\x01\n-\n\x0f\n\x07\
18392    \x04\r\x03\x07\x02\x04\x03\x12\x04\xcf\x0101\n3\n\x06\x04\r\x03\x07\x02\
18393    \x05\x12\x04\xd2\x01\x04\x1c\x1a#\x20storage\x20resource,\x20get\x20from\
18394    \x20market\n\n\x0f\n\x07\x04\r\x03\x07\x02\x05\x05\x12\x04\xd2\x01\x04\t\
18395    \n\x0f\n\x07\x04\r\x03\x07\x02\x05\x01\x12\x04\xd2\x01\n\x17\n\x0f\n\x07\
18396    \x04\r\x03\x07\x02\x05\x03\x12\x04\xd2\x01\x1a\x1b\n\x0e\n\x06\x04\r\x03\
18397    \x07\x02\x06\x12\x04\xd3\x01\x04\x1c\n\x0f\n\x07\x04\r\x03\x07\x02\x06\
18398    \x05\x12\x04\xd3\x01\x04\t\n\x0f\n\x07\x04\r\x03\x07\x02\x06\x01\x12\x04\
18399    \xd3\x01\n\x17\n\x0f\n\x07\x04\r\x03\x07\x02\x06\x03\x12\x04\xd3\x01\x1a\
18400    \x1b\n\x0e\n\x06\x04\r\x03\x07\x02\x07\x12\x04\xd4\x01\x04+\n\x0f\n\x07\
18401    \x04\r\x03\x07\x02\x07\x05\x12\x04\xd4\x01\x04\t\n\x0f\n\x07\x04\r\x03\
18402    \x07\x02\x07\x01\x12\x04\xd4\x01\n&\n\x0f\n\x07\x04\r\x03\x07\x02\x07\
18403    \x03\x12\x04\xd4\x01)*\n\x0e\n\x06\x04\r\x03\x07\x02\x08\x12\x04\xd6\x01\
18404    \x04!\n\x0f\n\x07\x04\r\x03\x07\x02\x08\x05\x12\x04\xd6\x01\x04\t\n\x0f\
18405    \n\x07\x04\r\x03\x07\x02\x08\x01\x12\x04\xd6\x01\n\x1c\n\x0f\n\x07\x04\r\
18406    \x03\x07\x02\x08\x03\x12\x04\xd6\x01\x1f\x20\n\x0e\n\x06\x04\r\x03\x07\
18407    \x02\t\x12\x04\xd8\x01\x045\n\x0f\n\x07\x04\r\x03\x07\x02\t\x05\x12\x04\
18408    \xd8\x01\x04\t\n\x0f\n\x07\x04\r\x03\x07\x02\t\x01\x12\x04\xd8\x01\n/\n\
18409    \x0f\n\x07\x04\r\x03\x07\x02\t\x03\x12\x04\xd8\x0124\n\x0e\n\x06\x04\r\
18410    \x03\x07\x02\n\x12\x04\xd9\x01\x04>\n\x0f\n\x07\x04\r\x03\x07\x02\n\x05\
18411    \x12\x04\xd9\x01\x04\t\n\x0f\n\x07\x04\r\x03\x07\x02\n\x01\x12\x04\xd9\
18412    \x01\n8\n\x0f\n\x07\x04\r\x03\x07\x02\n\x03\x12\x04\xd9\x01;=\n\x0e\n\
18413    \x06\x04\r\x03\x07\x02\x0b\x12\x04\xda\x01\x04&\n\x0f\n\x07\x04\r\x03\
18414    \x07\x02\x0b\x05\x12\x04\xda\x01\x04\x08\n\x0f\n\x07\x04\r\x03\x07\x02\
18415    \x0b\x01\x12\x04\xda\x01\t\x20\n\x0f\n\x07\x04\r\x03\x07\x02\x0b\x03\x12\
18416    \x04\xda\x01#%\n\x0c\n\x04\x04\r\x02\"\x12\x04\xdc\x01\x02(\n\r\n\x05\
18417    \x04\r\x02\"\x06\x12\x04\xdc\x01\x02\x11\n\r\n\x05\x04\r\x02\"\x01\x12\
18418    \x04\xdc\x01\x12\"\n\r\n\x05\x04\r\x02\"\x03\x12\x04\xdc\x01%'\n\x0c\n\
18419    \x04\x04\r\x02#\x12\x04\xdd\x01\x02\x16\n\r\n\x05\x04\r\x02#\x05\x12\x04\
18420    \xdd\x01\x02\x07\n\r\n\x05\x04\r\x02#\x01\x12\x04\xdd\x01\x08\x10\n\r\n\
18421    \x05\x04\r\x02#\x03\x12\x04\xdd\x01\x13\x15\n\x0c\n\x04\x04\r\x02$\x12\
18422    \x04\xde\x01\x02#\n\r\n\x05\x04\r\x02$\x06\x12\x04\xde\x01\x02\x0c\n\r\n\
18423    \x05\x04\r\x02$\x01\x12\x04\xde\x01\r\x1d\n\r\n\x05\x04\r\x02$\x03\x12\
18424    \x04\xde\x01\x20\"\n\x0c\n\x04\x04\r\x02%\x12\x04\xdf\x01\x02%\n\r\n\x05\
18425    \x04\r\x02%\x06\x12\x04\xdf\x01\x02\x0c\n\r\n\x05\x04\r\x02%\x01\x12\x04\
18426    \xdf\x01\r\x1f\n\r\n\x05\x04\r\x02%\x03\x12\x04\xdf\x01\"$\n\x0c\n\x04\
18427    \x04\r\x02&\x12\x04\xe0\x01\x02-\n\r\n\x05\x04\r\x02&\x04\x12\x04\xe0\
18428    \x01\x02\n\n\r\n\x05\x04\r\x02&\x06\x12\x04\xe0\x01\x0b\x15\n\r\n\x05\
18429    \x04\r\x02&\x01\x12\x04\xe0\x01\x16'\n\r\n\x05\x04\r\x02&\x03\x12\x04\
18430    \xe0\x01*,\n\x0e\n\x04\x04\r\x03\x08\x12\x06\xe2\x01\x02\xe5\x01\x03\n\r\
18431    \n\x05\x04\r\x03\x08\x01\x12\x04\xe2\x01\n\x12\n\x0e\n\x06\x04\r\x03\x08\
18432    \x02\0\x12\x04\xe3\x01\x04\x1a\n\x0f\n\x07\x04\r\x03\x08\x02\0\x06\x12\
18433    \x04\xe3\x01\x04\x10\n\x0f\n\x07\x04\r\x03\x08\x02\0\x01\x12\x04\xe3\x01\
18434    \x11\x15\n\x0f\n\x07\x04\r\x03\x08\x02\0\x03\x12\x04\xe3\x01\x18\x19\n\
18435    \x0e\n\x06\x04\r\x03\x08\x02\x01\x12\x04\xe4\x01\x04\x15\n\x0f\n\x07\x04\
18436    \r\x03\x08\x02\x01\x05\x12\x04\xe4\x01\x04\t\n\x0f\n\x07\x04\r\x03\x08\
18437    \x02\x01\x01\x12\x04\xe4\x01\n\x10\n\x0f\n\x07\x04\r\x03\x08\x02\x01\x03\
18438    \x12\x04\xe4\x01\x13\x14\n\x0e\n\x04\x04\r\x03\t\x12\x06\xe6\x01\x02\xea\
18439    \x01\x03\n\r\n\x05\x04\r\x03\t\x01\x12\x04\xe6\x01\n\x14\n\x0e\n\x06\x04\
18440    \r\x03\t\x02\0\x12\x04\xe7\x01\x04\x1a\n\x0f\n\x07\x04\r\x03\t\x02\0\x06\
18441    \x12\x04\xe7\x01\x04\x10\n\x0f\n\x07\x04\r\x03\t\x02\0\x01\x12\x04\xe7\
18442    \x01\x11\x15\n\x0f\n\x07\x04\r\x03\t\x02\0\x03\x12\x04\xe7\x01\x18\x19\n\
18443    \x0e\n\x06\x04\r\x03\t\x02\x01\x12\x04\xe8\x01\x04\x1e\n\x0f\n\x07\x04\r\
18444    \x03\t\x02\x01\x05\x12\x04\xe8\x01\x04\t\n\x0f\n\x07\x04\r\x03\t\x02\x01\
18445    \x01\x12\x04\xe8\x01\n\x19\n\x0f\n\x07\x04\r\x03\t\x02\x01\x03\x12\x04\
18446    \xe8\x01\x1c\x1d\n\x0e\n\x06\x04\r\x03\t\x02\x02\x12\x04\xe9\x01\x04#\n\
18447    \x0f\n\x07\x04\r\x03\t\x02\x02\x05\x12\x04\xe9\x01\x04\t\n\x0f\n\x07\x04\
18448    \r\x03\t\x02\x02\x01\x12\x04\xe9\x01\n\x1e\n\x0f\n\x07\x04\r\x03\t\x02\
18449    \x02\x03\x12\x04\xe9\x01!\"\n\x0c\n\x04\x04\r\x02'\x12\x04\xeb\x01\x02\"\
18450    \n\r\n\x05\x04\r\x02'\x04\x12\x04\xeb\x01\x02\n\n\r\n\x05\x04\r\x02'\x06\
18451    \x12\x04\xeb\x01\x0b\x13\n\r\n\x05\x04\r\x02'\x01\x12\x04\xeb\x01\x14\
18452    \x1c\n\r\n\x05\x04\r\x02'\x03\x12\x04\xeb\x01\x1f!\n\x0c\n\x04\x04\r\x02\
18453    (\x12\x04\xec\x01\x02&\n\r\n\x05\x04\r\x02(\x04\x12\x04\xec\x01\x02\n\n\
18454    \r\n\x05\x04\r\x02(\x06\x12\x04\xec\x01\x0b\x15\n\r\n\x05\x04\r\x02(\x01\
18455    \x12\x04\xec\x01\x16\x20\n\r\n\x05\x04\r\x02(\x03\x12\x04\xec\x01#%\n\
18456    \x0c\n\x04\x04\r\x02)\x12\x04\xee\x01\x026\n\r\n\x05\x04\r\x02)\x05\x12\
18457    \x04\xee\x01\x02\x07\n\r\n\x05\x04\r\x02)\x01\x12\x04\xee\x01\x080\n\r\n\
18458    \x05\x04\r\x02)\x03\x12\x04\xee\x0135\n\x0c\n\x04\x04\r\x02*\x12\x04\xef\
18459    \x01\x02?\n\r\n\x05\x04\r\x02*\x05\x12\x04\xef\x01\x02\x07\n\r\n\x05\x04\
18460    \r\x02*\x01\x12\x04\xef\x01\x089\n\r\n\x05\x04\r\x02*\x03\x12\x04\xef\
18461    \x01<>\n\x0c\n\x02\x04\x0e\x12\x06\xf2\x01\0\xf5\x01\x01\n\x0b\n\x03\x04\
18462    \x0e\x01\x12\x04\xf2\x01\x08\x0b\n\x0c\n\x04\x04\x0e\x02\0\x12\x04\xf3\
18463    \x01\x02\x14\n\r\n\x05\x04\x0e\x02\0\x05\x12\x04\xf3\x01\x02\x07\n\r\n\
18464    \x05\x04\x0e\x02\0\x01\x12\x04\xf3\x01\x08\x0f\n\r\n\x05\x04\x0e\x02\0\
18465    \x03\x12\x04\xf3\x01\x12\x13\n\x0c\n\x04\x04\x0e\x02\x01\x12\x04\xf4\x01\
18466    \x02\x13\n\r\n\x05\x04\x0e\x02\x01\x05\x12\x04\xf4\x01\x02\x07\n\r\n\x05\
18467    \x04\x0e\x02\x01\x01\x12\x04\xf4\x01\x08\x0e\n\r\n\x05\x04\x0e\x02\x01\
18468    \x03\x12\x04\xf4\x01\x11\x12\n\x0c\n\x02\x04\x0f\x12\x06\xf7\x01\0\xfe\
18469    \x01\x01\n\x0b\n\x03\x04\x0f\x01\x12\x04\xf7\x01\x08\x19\n\x0c\n\x04\x04\
18470    \x0f\x02\0\x12\x04\xf8\x01\x02\x11\n\r\n\x05\x04\x0f\x02\0\x05\x12\x04\
18471    \xf8\x01\x02\x07\n\r\n\x05\x04\x0f\x02\0\x01\x12\x04\xf8\x01\x08\x0c\n\r\
18472    \n\x05\x04\x0f\x02\0\x03\x12\x04\xf8\x01\x0f\x10\n\x0c\n\x04\x04\x0f\x02\
18473    \x01\x12\x04\xf9\x01\x02\x0f\n\r\n\x05\x04\x0f\x02\x01\x05\x12\x04\xf9\
18474    \x01\x02\x07\n\r\n\x05\x04\x0f\x02\x01\x01\x12\x04\xf9\x01\x08\n\n\r\n\
18475    \x05\x04\x0f\x02\x01\x03\x12\x04\xf9\x01\r\x0e\n\x0c\n\x04\x04\x0f\x02\
18476    \x02\x12\x04\xfa\x01\x02)\n\r\n\x05\x04\x0f\x02\x02\x05\x12\x04\xfa\x01\
18477    \x02\x07\n\r\n\x05\x04\x0f\x02\x02\x01\x12\x04\xfa\x01\x08$\n\r\n\x05\
18478    \x04\x0f\x02\x02\x03\x12\x04\xfa\x01'(\n\x0c\n\x04\x04\x0f\x02\x03\x12\
18479    \x04\xfb\x01\x02&\n\r\n\x05\x04\x0f\x02\x03\x05\x12\x04\xfb\x01\x02\x07\
18480    \n\r\n\x05\x04\x0f\x02\x03\x01\x12\x04\xfb\x01\x08!\n\r\n\x05\x04\x0f\
18481    \x02\x03\x03\x12\x04\xfb\x01$%\n\x0c\n\x04\x04\x0f\x02\x04\x12\x04\xfc\
18482    \x01\x02&\n\r\n\x05\x04\x0f\x02\x04\x05\x12\x04\xfc\x01\x02\x07\n\r\n\
18483    \x05\x04\x0f\x02\x04\x01\x12\x04\xfc\x01\x08!\n\r\n\x05\x04\x0f\x02\x04\
18484    \x03\x12\x04\xfc\x01$%\n\x0c\n\x04\x04\x0f\x02\x05\x12\x04\xfd\x01\x02#\
18485    \n\r\n\x05\x04\x0f\x02\x05\x05\x12\x04\xfd\x01\x02\x07\n\r\n\x05\x04\x0f\
18486    \x02\x05\x01\x12\x04\xfd\x01\x08\x1e\n\r\n\x05\x04\x0f\x02\x05\x03\x12\
18487    \x04\xfd\x01!\"\n\x0c\n\x02\x04\x10\x12\x06\x80\x02\0\x83\x02\x01\n\x0b\
18488    \n\x03\x04\x10\x01\x12\x04\x80\x02\x08\x11\n\x0c\n\x04\x04\x10\x02\0\x12\
18489    \x04\x81\x02\x02\x18\n\r\n\x05\x04\x10\x02\0\x06\x12\x04\x81\x02\x02\x0b\
18490    \n\r\n\x05\x04\x10\x02\0\x01\x12\x04\x81\x02\x0c\x13\n\r\n\x05\x04\x10\
18491    \x02\0\x03\x12\x04\x81\x02\x16\x17\n\x0c\n\x04\x04\x10\x02\x01\x12\x04\
18492    \x82\x02\x02\x1c\n\r\n\x05\x04\x10\x02\x01\x05\x12\x04\x82\x02\x02\x07\n\
18493    \r\n\x05\x04\x10\x02\x01\x01\x12\x04\x82\x02\x08\x17\n\r\n\x05\x04\x10\
18494    \x02\x01\x03\x12\x04\x82\x02\x1a\x1b\n\x0c\n\x02\x04\x11\x12\x06\x85\x02\
18495    \0\x92\x02\x01\n\x0b\n\x03\x04\x11\x01\x12\x04\x85\x02\x08\x12\n\x0e\n\
18496    \x04\x04\x11\x04\0\x12\x06\x86\x02\x02\x8a\x02\x03\n\r\n\x05\x04\x11\x04\
18497    \0\x01\x12\x04\x86\x02\x07\x15\n\x0e\n\x06\x04\x11\x04\0\x02\0\x12\x04\
18498    \x87\x02\x04\x0e\n\x0f\n\x07\x04\x11\x04\0\x02\0\x01\x12\x04\x87\x02\x04\
18499    \t\n\x0f\n\x07\x04\x11\x04\0\x02\0\x02\x12\x04\x87\x02\x0c\r\n\x0e\n\x06\
18500    \x04\x11\x04\0\x02\x01\x12\x04\x88\x02\x04\x10\n\x0f\n\x07\x04\x11\x04\0\
18501    \x02\x01\x01\x12\x04\x88\x02\x04\x0b\n\x0f\n\x07\x04\x11\x04\0\x02\x01\
18502    \x02\x12\x04\x88\x02\x0e\x0f\n\x0e\n\x06\x04\x11\x04\0\x02\x02\x12\x04\
18503    \x89\x02\x04\x0f\n\x0f\n\x07\x04\x11\x04\0\x02\x02\x01\x12\x04\x89\x02\
18504    \x04\n\n\x0f\n\x07\x04\x11\x04\0\x02\x02\x02\x12\x04\x89\x02\r\x0e\n\x0c\
18505    \n\x04\x04\x11\x02\0\x12\x04\x8b\x02\x02\x1a\n\r\n\x05\x04\x11\x02\0\x06\
18506    \x12\x04\x8b\x02\x02\x10\n\r\n\x05\x04\x11\x02\0\x01\x12\x04\x8b\x02\x11\
18507    \x15\n\r\n\x05\x04\x11\x02\0\x03\x12\x04\x8b\x02\x18\x19\n=\n\x04\x04\
18508    \x11\x02\x01\x12\x04\x8c\x02\x02\x0f\"/Owner\x20id=0,\x20Witness\x20id=1\
18509    ,\x20Active\x20id\x20start\x20by\x202\n\n\r\n\x05\x04\x11\x02\x01\x05\
18510    \x12\x04\x8c\x02\x02\x07\n\r\n\x05\x04\x11\x02\x01\x01\x12\x04\x8c\x02\
18511    \x08\n\n\r\n\x05\x04\x11\x02\x01\x03\x12\x04\x8c\x02\r\x0e\n\x0c\n\x04\
18512    \x04\x11\x02\x02\x12\x04\x8d\x02\x02\x1d\n\r\n\x05\x04\x11\x02\x02\x05\
18513    \x12\x04\x8d\x02\x02\x08\n\r\n\x05\x04\x11\x02\x02\x01\x12\x04\x8d\x02\t\
18514    \x18\n\r\n\x05\x04\x11\x02\x02\x03\x12\x04\x8d\x02\x1b\x1c\n\x0c\n\x04\
18515    \x04\x11\x02\x03\x12\x04\x8e\x02\x02\x16\n\r\n\x05\x04\x11\x02\x03\x05\
18516    \x12\x04\x8e\x02\x02\x07\n\r\n\x05\x04\x11\x02\x03\x01\x12\x04\x8e\x02\
18517    \x08\x11\n\r\n\x05\x04\x11\x02\x03\x03\x12\x04\x8e\x02\x14\x15\n\x0c\n\
18518    \x04\x04\x11\x02\x04\x12\x04\x8f\x02\x02\x16\n\r\n\x05\x04\x11\x02\x04\
18519    \x05\x12\x04\x8f\x02\x02\x07\n\r\n\x05\x04\x11\x02\x04\x01\x12\x04\x8f\
18520    \x02\x08\x11\n\r\n\x05\x04\x11\x02\x04\x03\x12\x04\x8f\x02\x14\x15\n\x1f\
18521    \n\x04\x04\x11\x02\x05\x12\x04\x90\x02\x02\x17\"\x111\x20bit\x201\x20con\
18522    tract\n\n\r\n\x05\x04\x11\x02\x05\x05\x12\x04\x90\x02\x02\x07\n\r\n\x05\
18523    \x04\x11\x02\x05\x01\x12\x04\x90\x02\x08\x12\n\r\n\x05\x04\x11\x02\x05\
18524    \x03\x12\x04\x90\x02\x15\x16\n\x0c\n\x04\x04\x11\x02\x06\x12\x04\x91\x02\
18525    \x02\x18\n\r\n\x05\x04\x11\x02\x06\x04\x12\x04\x91\x02\x02\n\n\r\n\x05\
18526    \x04\x11\x02\x06\x06\x12\x04\x91\x02\x0b\x0e\n\r\n\x05\x04\x11\x02\x06\
18527    \x01\x12\x04\x91\x02\x0f\x13\n\r\n\x05\x04\x11\x02\x06\x03\x12\x04\x91\
18528    \x02\x16\x17\n\x17\n\x02\x04\x12\x12\x06\x95\x02\0\x9f\x02\x01\x1a\t\x20\
18529    Witness\n\n\x0b\n\x03\x04\x12\x01\x12\x04\x95\x02\x08\x0f\n\x0c\n\x04\
18530    \x04\x12\x02\0\x12\x04\x96\x02\x02\x14\n\r\n\x05\x04\x12\x02\0\x05\x12\
18531    \x04\x96\x02\x02\x07\n\r\n\x05\x04\x12\x02\0\x01\x12\x04\x96\x02\x08\x0f\
18532    \n\r\n\x05\x04\x12\x02\0\x03\x12\x04\x96\x02\x12\x13\n\x0c\n\x04\x04\x12\
18533    \x02\x01\x12\x04\x97\x02\x02\x16\n\r\n\x05\x04\x12\x02\x01\x05\x12\x04\
18534    \x97\x02\x02\x07\n\r\n\x05\x04\x12\x02\x01\x01\x12\x04\x97\x02\x08\x11\n\
18535    \r\n\x05\x04\x12\x02\x01\x03\x12\x04\x97\x02\x14\x15\n\x0c\n\x04\x04\x12\
18536    \x02\x02\x12\x04\x98\x02\x02\x13\n\r\n\x05\x04\x12\x02\x02\x05\x12\x04\
18537    \x98\x02\x02\x07\n\r\n\x05\x04\x12\x02\x02\x01\x12\x04\x98\x02\x08\x0e\n\
18538    \r\n\x05\x04\x12\x02\x02\x03\x12\x04\x98\x02\x11\x12\n\x0c\n\x04\x04\x12\
18539    \x02\x03\x12\x04\x99\x02\x02\x11\n\r\n\x05\x04\x12\x02\x03\x05\x12\x04\
18540    \x99\x02\x02\x08\n\r\n\x05\x04\x12\x02\x03\x01\x12\x04\x99\x02\t\x0c\n\r\
18541    \n\x05\x04\x12\x02\x03\x03\x12\x04\x99\x02\x0f\x10\n\x0c\n\x04\x04\x12\
18542    \x02\x04\x12\x04\x9a\x02\x02\x1a\n\r\n\x05\x04\x12\x02\x04\x05\x12\x04\
18543    \x9a\x02\x02\x07\n\r\n\x05\x04\x12\x02\x04\x01\x12\x04\x9a\x02\x08\x15\n\
18544    \r\n\x05\x04\x12\x02\x04\x03\x12\x04\x9a\x02\x18\x19\n\x0c\n\x04\x04\x12\
18545    \x02\x05\x12\x04\x9b\x02\x02\x18\n\r\n\x05\x04\x12\x02\x05\x05\x12\x04\
18546    \x9b\x02\x02\x07\n\r\n\x05\x04\x12\x02\x05\x01\x12\x04\x9b\x02\x08\x13\n\
18547    \r\n\x05\x04\x12\x02\x05\x03\x12\x04\x9b\x02\x16\x17\n\x0c\n\x04\x04\x12\
18548    \x02\x06\x12\x04\x9c\x02\x02\x1b\n\r\n\x05\x04\x12\x02\x06\x05\x12\x04\
18549    \x9c\x02\x02\x07\n\r\n\x05\x04\x12\x02\x06\x01\x12\x04\x9c\x02\x08\x16\n\
18550    \r\n\x05\x04\x12\x02\x06\x03\x12\x04\x9c\x02\x19\x1a\n\x0c\n\x04\x04\x12\
18551    \x02\x07\x12\x04\x9d\x02\x02\x1a\n\r\n\x05\x04\x12\x02\x07\x05\x12\x04\
18552    \x9d\x02\x02\x07\n\r\n\x05\x04\x12\x02\x07\x01\x12\x04\x9d\x02\x08\x15\n\
18553    \r\n\x05\x04\x12\x02\x07\x03\x12\x04\x9d\x02\x18\x19\n\x0c\n\x04\x04\x12\
18554    \x02\x08\x12\x04\x9e\x02\x02\x12\n\r\n\x05\x04\x12\x02\x08\x05\x12\x04\
18555    \x9e\x02\x02\x06\n\r\n\x05\x04\x12\x02\x08\x01\x12\x04\x9e\x02\x07\r\n\r\
18556    \n\x05\x04\x12\x02\x08\x03\x12\x04\x9e\x02\x10\x11\n\x1b\n\x02\x04\x13\
18557    \x12\x06\xa2\x02\0\xa6\x02\x01\x1a\r\x20Vote\x20Change\n\n\x0b\n\x03\x04\
18558    \x13\x01\x12\x04\xa2\x02\x08\r\n\x0c\n\x04\x04\x13\x02\0\x12\x04\xa3\x02\
18559    \x02\x14\n\r\n\x05\x04\x13\x02\0\x05\x12\x04\xa3\x02\x02\x07\n\r\n\x05\
18560    \x04\x13\x02\0\x01\x12\x04\xa3\x02\x08\x0f\n\r\n\x05\x04\x13\x02\0\x03\
18561    \x12\x04\xa3\x02\x12\x13\n\x0c\n\x04\x04\x13\x02\x01\x12\x04\xa4\x02\x02\
18562    \x1e\n\r\n\x05\x04\x13\x02\x01\x04\x12\x04\xa4\x02\x02\n\n\r\n\x05\x04\
18563    \x13\x02\x01\x06\x12\x04\xa4\x02\x0b\x0f\n\r\n\x05\x04\x13\x02\x01\x01\
18564    \x12\x04\xa4\x02\x10\x19\n\r\n\x05\x04\x13\x02\x01\x03\x12\x04\xa4\x02\
18565    \x1c\x1d\n\x0c\n\x04\x04\x13\x02\x02\x12\x04\xa5\x02\x02\x1e\n\r\n\x05\
18566    \x04\x13\x02\x02\x04\x12\x04\xa5\x02\x02\n\n\r\n\x05\x04\x13\x02\x02\x06\
18567    \x12\x04\xa5\x02\x0b\x0f\n\r\n\x05\x04\x13\x02\x02\x01\x12\x04\xa5\x02\
18568    \x10\x19\n\r\n\x05\x04\x13\x02\x02\x03\x12\x04\xa5\x02\x1c\x1d\n\x1b\n\
18569    \x02\x04\x14\x12\x06\xaa\x02\0\xad\x02\x012\r\x20Transcation\n\n\x0b\n\
18570    \x03\x04\x14\x01\x12\x04\xaa\x02\x08\x10\n\x0c\n\x04\x04\x14\x02\0\x12\
18571    \x04\xab\x02\x02\x12\n\r\n\x05\x04\x14\x02\0\x05\x12\x04\xab\x02\x02\x07\
18572    \n\r\n\x05\x04\x14\x02\0\x01\x12\x04\xab\x02\x08\r\n\r\n\x05\x04\x14\x02\
18573    \0\x03\x12\x04\xab\x02\x10\x11\n\x0c\n\x04\x04\x14\x02\x01\x12\x04\xac\
18574    \x02\x02\x17\n\r\n\x05\x04\x14\x02\x01\x05\x12\x04\xac\x02\x02\x07\n\r\n\
18575    \x05\x04\x14\x02\x01\x01\x12\x04\xac\x02\x08\x12\n\r\n\x05\x04\x14\x02\
18576    \x01\x03\x12\x04\xac\x02\x15\x16\n\x0c\n\x02\x04\x15\x12\x06\xaf\x02\0\
18577    \xb7\x02\x01\n\x0b\n\x03\x04\x15\x01\x12\x04\xaf\x02\x08\x0f\n\x0e\n\x04\
18578    \x04\x15\x03\0\x12\x06\xb0\x02\x02\xb4\x02\x03\n\r\n\x05\x04\x15\x03\0\
18579    \x01\x12\x04\xb0\x02\n\r\n\x0e\n\x06\x04\x15\x03\0\x02\0\x12\x04\xb1\x02\
18580    \x04\x13\n\x0f\n\x07\x04\x15\x03\0\x02\0\x05\x12\x04\xb1\x02\x04\t\n\x0f\
18581    \n\x07\x04\x15\x03\0\x02\0\x01\x12\x04\xb1\x02\n\x0e\n\x0f\n\x07\x04\x15\
18582    \x03\0\x02\0\x03\x12\x04\xb1\x02\x11\x12\n\x0e\n\x06\x04\x15\x03\0\x02\
18583    \x01\x12\x04\xb2\x02\x04\x13\n\x0f\n\x07\x04\x15\x03\0\x02\x01\x05\x12\
18584    \x04\xb2\x02\x04\t\n\x0f\n\x07\x04\x15\x03\0\x02\x01\x01\x12\x04\xb2\x02\
18585    \n\x0e\n\x0f\n\x07\x04\x15\x03\0\x02\x01\x03\x12\x04\xb2\x02\x11\x12\n\
18586    \x0e\n\x06\x04\x15\x03\0\x02\x02\x12\x04\xb3\x02\x04\x15\n\x0f\n\x07\x04\
18587    \x15\x03\0\x02\x02\x05\x12\x04\xb3\x02\x04\t\n\x0f\n\x07\x04\x15\x03\0\
18588    \x02\x02\x01\x12\x04\xb3\x02\n\x10\n\x0f\n\x07\x04\x15\x03\0\x02\x02\x03\
18589    \x12\x04\xb3\x02\x13\x14\n\x0c\n\x04\x04\x15\x02\0\x12\x04\xb5\x02\x02\
18590    \x13\n\r\n\x05\x04\x15\x02\0\x06\x12\x04\xb5\x02\x02\x05\n\r\n\x05\x04\
18591    \x15\x02\0\x01\x12\x04\xb5\x02\x06\x0e\n\r\n\x05\x04\x15\x02\0\x03\x12\
18592    \x04\xb5\x02\x11\x12\n\x0c\n\x04\x04\x15\x02\x01\x12\x04\xb6\x02\x02\x16\
18593    \n\r\n\x05\x04\x15\x02\x01\x05\x12\x04\xb6\x02\x02\x07\n\r\n\x05\x04\x15\
18594    \x02\x01\x01\x12\x04\xb6\x02\x08\x11\n\r\n\x05\x04\x15\x02\x01\x03\x12\
18595    \x04\xb6\x02\x14\x15\n\x0c\n\x02\x04\x16\x12\x06\xb9\x02\0\xbb\x02\x01\n\
18596    \x0b\n\x03\x04\x16\x01\x12\x04\xb9\x02\x08\x11\n\x0c\n\x04\x04\x16\x02\0\
18597    \x12\x04\xba\x02\x02\x20\n\r\n\x05\x04\x16\x02\0\x04\x12\x04\xba\x02\x02\
18598    \n\n\r\n\x05\x04\x16\x02\0\x06\x12\x04\xba\x02\x0b\x13\n\r\n\x05\x04\x16\
18599    \x02\0\x01\x12\x04\xba\x02\x14\x1b\n\r\n\x05\x04\x16\x02\0\x03\x12\x04\
18600    \xba\x02\x1e\x1f\n\x0c\n\x02\x04\x17\x12\x06\xbd\x02\0\xc6\x02\x01\n\x0b\
18601    \n\x03\x04\x17\x01\x12\x04\xbd\x02\x08\x17\n\x0c\n\x04\x04\x17\x02\0\x12\
18602    \x04\xbe\x02\x02\x19\n\r\n\x05\x04\x17\x02\0\x05\x12\x04\xbe\x02\x02\x07\
18603    \n\r\n\x05\x04\x17\x02\0\x01\x12\x04\xbe\x02\x08\x14\n\r\n\x05\x04\x17\
18604    \x02\0\x03\x12\x04\xbe\x02\x17\x18\n\x0c\n\x04\x04\x17\x02\x01\x12\x04\
18605    \xbf\x02\x02\x17\n\r\n\x05\x04\x17\x02\x01\x05\x12\x04\xbf\x02\x02\x07\n\
18606    \r\n\x05\x04\x17\x02\x01\x01\x12\x04\xbf\x02\x08\x12\n\r\n\x05\x04\x17\
18607    \x02\x01\x03\x12\x04\xbf\x02\x15\x16\n\x0c\n\x04\x04\x17\x02\x02\x12\x04\
18608    \xc0\x02\x02\x20\n\r\n\x05\x04\x17\x02\x02\x05\x12\x04\xc0\x02\x02\x07\n\
18609    \r\n\x05\x04\x17\x02\x02\x01\x12\x04\xc0\x02\x08\x1b\n\r\n\x05\x04\x17\
18610    \x02\x02\x03\x12\x04\xc0\x02\x1e\x1f\n\x0c\n\x04\x04\x17\x02\x03\x12\x04\
18611    \xc1\x02\x02\x1f\n\r\n\x05\x04\x17\x02\x03\x05\x12\x04\xc1\x02\x02\x07\n\
18612    \r\n\x05\x04\x17\x02\x03\x01\x12\x04\xc1\x02\x08\x1a\n\r\n\x05\x04\x17\
18613    \x02\x03\x03\x12\x04\xc1\x02\x1d\x1e\n\x0c\n\x04\x04\x17\x02\x04\x12\x04\
18614    \xc2\x02\x02\x16\n\r\n\x05\x04\x17\x02\x04\x05\x12\x04\xc2\x02\x02\x07\n\
18615    \r\n\x05\x04\x17\x02\x04\x01\x12\x04\xc2\x02\x08\x11\n\r\n\x05\x04\x17\
18616    \x02\x04\x03\x12\x04\xc2\x02\x14\x15\n\x0c\n\x04\x04\x17\x02\x05\x12\x04\
18617    \xc3\x02\x02\x14\n\r\n\x05\x04\x17\x02\x05\x05\x12\x04\xc3\x02\x02\x07\n\
18618    \r\n\x05\x04\x17\x02\x05\x01\x12\x04\xc3\x02\x08\x0f\n\r\n\x05\x04\x17\
18619    \x02\x05\x03\x12\x04\xc3\x02\x12\x13\n\x0c\n\x04\x04\x17\x02\x06\x12\x04\
18620    \xc4\x02\x02/\n\r\n\x05\x04\x17\x02\x06\x06\x12\x04\xc4\x02\x02#\n\r\n\
18621    \x05\x04\x17\x02\x06\x01\x12\x04\xc4\x02$*\n\r\n\x05\x04\x17\x02\x06\x03\
18622    \x12\x04\xc4\x02-.\n\x0c\n\x04\x04\x17\x02\x07\x12\x04\xc5\x02\x02!\n\r\
18623    \n\x05\x04\x17\x02\x07\x05\x12\x04\xc5\x02\x02\x07\n\r\n\x05\x04\x17\x02\
18624    \x07\x01\x12\x04\xc5\x02\x08\x1c\n\r\n\x05\x04\x17\x02\x07\x03\x12\x04\
18625    \xc5\x02\x1f\x20\n\x0c\n\x02\x04\x18\x12\x06\xc8\x02\0\xcd\x02\x01\n\x0b\
18626    \n\x03\x04\x18\x01\x12\x04\xc8\x02\x08\x19\n\x0c\n\x04\x04\x18\x02\0\x12\
18627    \x04\xc9\x02\x02\x19\n\r\n\x05\x04\x18\x02\0\x05\x12\x04\xc9\x02\x02\x07\
18628    \n\r\n\x05\x04\x18\x02\0\x01\x12\x04\xc9\x02\x08\x14\n\r\n\x05\x04\x18\
18629    \x02\0\x03\x12\x04\xc9\x02\x17\x18\n\x0c\n\x04\x04\x18\x02\x01\x12\x04\
18630    \xca\x02\x02\x19\n\r\n\x05\x04\x18\x02\x01\x05\x12\x04\xca\x02\x02\x07\n\
18631    \r\n\x05\x04\x18\x02\x01\x01\x12\x04\xca\x02\x08\x14\n\r\n\x05\x04\x18\
18632    \x02\x01\x03\x12\x04\xca\x02\x17\x18\n\x0c\n\x04\x04\x18\x02\x02\x12\x04\
18633    \xcb\x02\x02\x1d\n\r\n\x05\x04\x18\x02\x02\x05\x12\x04\xcb\x02\x02\x07\n\
18634    \r\n\x05\x04\x18\x02\x02\x01\x12\x04\xcb\x02\x08\x18\n\r\n\x05\x04\x18\
18635    \x02\x02\x03\x12\x04\xcb\x02\x1b\x1c\n\x0c\n\x04\x04\x18\x02\x03\x12\x04\
18636    \xcc\x02\x02\x1c\n\r\n\x05\x04\x18\x02\x03\x05\x12\x04\xcc\x02\x02\x07\n\
18637    \r\n\x05\x04\x18\x02\x03\x01\x12\x04\xcc\x02\x08\x17\n\r\n\x05\x04\x18\
18638    \x02\x03\x03\x12\x04\xcc\x02\x1a\x1b\n\x0c\n\x02\x04\x19\x12\x06\xcf\x02\
18639    \0\xc2\x03\x01\n\x0b\n\x03\x04\x19\x01\x12\x04\xcf\x02\x08\x13\n\x0e\n\
18640    \x04\x04\x19\x03\0\x12\x06\xd0\x02\x02\x81\x03\x03\n\r\n\x05\x04\x19\x03\
18641    \0\x01\x12\x04\xd0\x02\n\x12\n\x10\n\x06\x04\x19\x03\0\x04\0\x12\x06\xd1\
18642    \x02\x04\xfb\x02\x05\n\x0f\n\x07\x04\x19\x03\0\x04\0\x01\x12\x04\xd1\x02\
18643    \t\x15\n\x10\n\x08\x04\x19\x03\0\x04\0\x02\0\x12\x04\xd2\x02\x06\x20\n\
18644    \x11\n\t\x04\x19\x03\0\x04\0\x02\0\x01\x12\x04\xd2\x02\x06\x1b\n\x11\n\t\
18645    \x04\x19\x03\0\x04\0\x02\0\x02\x12\x04\xd2\x02\x1e\x1f\n\x10\n\x08\x04\
18646    \x19\x03\0\x04\0\x02\x01\x12\x04\xd3\x02\x06\x1b\n\x11\n\t\x04\x19\x03\0\
18647    \x04\0\x02\x01\x01\x12\x04\xd3\x02\x06\x16\n\x11\n\t\x04\x19\x03\0\x04\0\
18648    \x02\x01\x02\x12\x04\xd3\x02\x19\x1a\n\x10\n\x08\x04\x19\x03\0\x04\0\x02\
18649    \x02\x12\x04\xd4\x02\x06\x20\n\x11\n\t\x04\x19\x03\0\x04\0\x02\x02\x01\
18650    \x12\x04\xd4\x02\x06\x1b\n\x11\n\t\x04\x19\x03\0\x04\0\x02\x02\x02\x12\
18651    \x04\xd4\x02\x1e\x1f\n\x10\n\x08\x04\x19\x03\0\x04\0\x02\x03\x12\x04\xd5\
18652    \x02\x06\x1c\n\x11\n\t\x04\x19\x03\0\x04\0\x02\x03\x01\x12\x04\xd5\x02\
18653    \x06\x17\n\x11\n\t\x04\x19\x03\0\x04\0\x02\x03\x02\x12\x04\xd5\x02\x1a\
18654    \x1b\n\x10\n\x08\x04\x19\x03\0\x04\0\x02\x04\x12\x04\xd6\x02\x06\x1e\n\
18655    \x11\n\t\x04\x19\x03\0\x04\0\x02\x04\x01\x12\x04\xd6\x02\x06\x19\n\x11\n\
18656    \t\x04\x19\x03\0\x04\0\x02\x04\x02\x12\x04\xd6\x02\x1c\x1d\n\x10\n\x08\
18657    \x04\x19\x03\0\x04\0\x02\x05\x12\x04\xd7\x02\x06\x20\n\x11\n\t\x04\x19\
18658    \x03\0\x04\0\x02\x05\x01\x12\x04\xd7\x02\x06\x1b\n\x11\n\t\x04\x19\x03\0\
18659    \x04\0\x02\x05\x02\x12\x04\xd7\x02\x1e\x1f\n\x10\n\x08\x04\x19\x03\0\x04\
18660    \0\x02\x06\x12\x04\xd8\x02\x06\x1d\n\x11\n\t\x04\x19\x03\0\x04\0\x02\x06\
18661    \x01\x12\x04\xd8\x02\x06\x18\n\x11\n\t\x04\x19\x03\0\x04\0\x02\x06\x02\
18662    \x12\x04\xd8\x02\x1b\x1c\n\x10\n\x08\x04\x19\x03\0\x04\0\x02\x07\x12\x04\
18663    \xd9\x02\x06\x20\n\x11\n\t\x04\x19\x03\0\x04\0\x02\x07\x01\x12\x04\xd9\
18664    \x02\x06\x1b\n\x11\n\t\x04\x19\x03\0\x04\0\x02\x07\x02\x12\x04\xd9\x02\
18665    \x1e\x1f\n\x10\n\x08\x04\x19\x03\0\x04\0\x02\x08\x12\x04\xda\x02\x06(\n\
18666    \x11\n\t\x04\x19\x03\0\x04\0\x02\x08\x01\x12\x04\xda\x02\x06#\n\x11\n\t\
18667    \x04\x19\x03\0\x04\0\x02\x08\x02\x12\x04\xda\x02&'\n\x10\n\x08\x04\x19\
18668    \x03\0\x04\0\x02\t\x12\x04\xdb\x02\x06!\n\x11\n\t\x04\x19\x03\0\x04\0\
18669    \x02\t\x01\x12\x04\xdb\x02\x06\x1b\n\x11\n\t\x04\x19\x03\0\x04\0\x02\t\
18670    \x02\x12\x04\xdb\x02\x1e\x20\n\x10\n\x08\x04\x19\x03\0\x04\0\x02\n\x12\
18671    \x04\xdc\x02\x06!\n\x11\n\t\x04\x19\x03\0\x04\0\x02\n\x01\x12\x04\xdc\
18672    \x02\x06\x1b\n\x11\n\t\x04\x19\x03\0\x04\0\x02\n\x02\x12\x04\xdc\x02\x1e\
18673    \x20\n\x10\n\x08\x04\x19\x03\0\x04\0\x02\x0b\x12\x04\xdd\x02\x06#\n\x11\
18674    \n\t\x04\x19\x03\0\x04\0\x02\x0b\x01\x12\x04\xdd\x02\x06\x1d\n\x11\n\t\
18675    \x04\x19\x03\0\x04\0\x02\x0b\x02\x12\x04\xdd\x02\x20\"\n\x10\n\x08\x04\
18676    \x19\x03\0\x04\0\x02\x0c\x12\x04\xde\x02\x06#\n\x11\n\t\x04\x19\x03\0\
18677    \x04\0\x02\x0c\x01\x12\x04\xde\x02\x06\x1d\n\x11\n\t\x04\x19\x03\0\x04\0\
18678    \x02\x0c\x02\x12\x04\xde\x02\x20\"\n\x10\n\x08\x04\x19\x03\0\x04\0\x02\r\
18679    \x12\x04\xdf\x02\x06!\n\x11\n\t\x04\x19\x03\0\x04\0\x02\r\x01\x12\x04\
18680    \xdf\x02\x06\x1b\n\x11\n\t\x04\x19\x03\0\x04\0\x02\r\x02\x12\x04\xdf\x02\
18681    \x1e\x20\n\x10\n\x08\x04\x19\x03\0\x04\0\x02\x0e\x12\x04\xe0\x02\x06\x1f\
18682    \n\x11\n\t\x04\x19\x03\0\x04\0\x02\x0e\x01\x12\x04\xe0\x02\x06\x19\n\x11\
18683    \n\t\x04\x19\x03\0\x04\0\x02\x0e\x02\x12\x04\xe0\x02\x1c\x1e\n\x10\n\x08\
18684    \x04\x19\x03\0\x04\0\x02\x0f\x12\x04\xe1\x02\x06\"\n\x11\n\t\x04\x19\x03\
18685    \0\x04\0\x02\x0f\x01\x12\x04\xe1\x02\x06\x1c\n\x11\n\t\x04\x19\x03\0\x04\
18686    \0\x02\x0f\x02\x12\x04\xe1\x02\x1f!\n\x10\n\x08\x04\x19\x03\0\x04\0\x02\
18687    \x10\x12\x04\xe2\x02\x06#\n\x11\n\t\x04\x19\x03\0\x04\0\x02\x10\x01\x12\
18688    \x04\xe2\x02\x06\x1d\n\x11\n\t\x04\x19\x03\0\x04\0\x02\x10\x02\x12\x04\
18689    \xe2\x02\x20\"\n\x10\n\x08\x04\x19\x03\0\x04\0\x02\x11\x12\x04\xe3\x02\
18690    \x06\"\n\x11\n\t\x04\x19\x03\0\x04\0\x02\x11\x01\x12\x04\xe3\x02\x06\x1c\
18691    \n\x11\n\t\x04\x19\x03\0\x04\0\x02\x11\x02\x12\x04\xe3\x02\x1f!\n\x10\n\
18692    \x08\x04\x19\x03\0\x04\0\x02\x12\x12\x04\xe4\x02\x06\x20\n\x11\n\t\x04\
18693    \x19\x03\0\x04\0\x02\x12\x01\x12\x04\xe4\x02\x06\x1a\n\x11\n\t\x04\x19\
18694    \x03\0\x04\0\x02\x12\x02\x12\x04\xe4\x02\x1d\x1f\n\x10\n\x08\x04\x19\x03\
18695    \0\x04\0\x02\x13\x12\x04\xe5\x02\x06\x1a\n\x11\n\t\x04\x19\x03\0\x04\0\
18696    \x02\x13\x01\x12\x04\xe5\x02\x06\x14\n\x11\n\t\x04\x19\x03\0\x04\0\x02\
18697    \x13\x02\x12\x04\xe5\x02\x17\x19\n\x10\n\x08\x04\x19\x03\0\x04\0\x02\x14\
18698    \x12\x04\xe6\x02\x06\x1f\n\x11\n\t\x04\x19\x03\0\x04\0\x02\x14\x01\x12\
18699    \x04\xe6\x02\x06\x19\n\x11\n\t\x04\x19\x03\0\x04\0\x02\x14\x02\x12\x04\
18700    \xe6\x02\x1c\x1e\n\x10\n\x08\x04\x19\x03\0\x04\0\x02\x15\x12\x04\xe7\x02\
18701    \x06\x20\n\x11\n\t\x04\x19\x03\0\x04\0\x02\x15\x01\x12\x04\xe7\x02\x06\
18702    \x1a\n\x11\n\t\x04\x19\x03\0\x04\0\x02\x15\x02\x12\x04\xe7\x02\x1d\x1f\n\
18703    \x10\n\x08\x04\x19\x03\0\x04\0\x02\x16\x12\x04\xe8\x02\x06\x17\n\x11\n\t\
18704    \x04\x19\x03\0\x04\0\x02\x16\x01\x12\x04\xe8\x02\x06\x11\n\x11\n\t\x04\
18705    \x19\x03\0\x04\0\x02\x16\x02\x12\x04\xe8\x02\x14\x16\n\x10\n\x08\x04\x19\
18706    \x03\0\x04\0\x02\x17\x12\x04\xe9\x02\x06!\n\x11\n\t\x04\x19\x03\0\x04\0\
18707    \x02\x17\x01\x12\x04\xe9\x02\x06\x1b\n\x11\n\t\x04\x19\x03\0\x04\0\x02\
18708    \x17\x02\x12\x04\xe9\x02\x1e\x20\n\x10\n\x08\x04\x19\x03\0\x04\0\x02\x18\
18709    \x12\x04\xea\x02\x06\"\n\x11\n\t\x04\x19\x03\0\x04\0\x02\x18\x01\x12\x04\
18710    \xea\x02\x06\x1c\n\x11\n\t\x04\x19\x03\0\x04\0\x02\x18\x02\x12\x04\xea\
18711    \x02\x1f!\n\x10\n\x08\x04\x19\x03\0\x04\0\x02\x19\x12\x04\xeb\x02\x06\"\
18712    \n\x11\n\t\x04\x19\x03\0\x04\0\x02\x19\x01\x12\x04\xeb\x02\x06\x1c\n\x11\
18713    \n\t\x04\x19\x03\0\x04\0\x02\x19\x02\x12\x04\xeb\x02\x1f!\n\x10\n\x08\
18714    \x04\x19\x03\0\x04\0\x02\x1a\x12\x04\xec\x02\x06$\n\x11\n\t\x04\x19\x03\
18715    \0\x04\0\x02\x1a\x01\x12\x04\xec\x02\x06\x1e\n\x11\n\t\x04\x19\x03\0\x04\
18716    \0\x02\x1a\x02\x12\x04\xec\x02!#\n\x10\n\x08\x04\x19\x03\0\x04\0\x02\x1b\
18717    \x12\x04\xed\x02\x06'\n\x11\n\t\x04\x19\x03\0\x04\0\x02\x1b\x01\x12\x04\
18718    \xed\x02\x06!\n\x11\n\t\x04\x19\x03\0\x04\0\x02\x1b\x02\x12\x04\xed\x02$\
18719    &\n\x10\n\x08\x04\x19\x03\0\x04\0\x02\x1c\x12\x04\xee\x02\x06%\n\x11\n\t\
18720    \x04\x19\x03\0\x04\0\x02\x1c\x01\x12\x04\xee\x02\x06\x1f\n\x11\n\t\x04\
18721    \x19\x03\0\x04\0\x02\x1c\x02\x12\x04\xee\x02\"$\n\x10\n\x08\x04\x19\x03\
18722    \0\x04\0\x02\x1d\x12\x04\xef\x02\x06+\n\x11\n\t\x04\x19\x03\0\x04\0\x02\
18723    \x1d\x01\x12\x04\xef\x02\x06%\n\x11\n\t\x04\x19\x03\0\x04\0\x02\x1d\x02\
18724    \x12\x04\xef\x02(*\n\x10\n\x08\x04\x19\x03\0\x04\0\x02\x1e\x12\x04\xf0\
18725    \x02\x06\x1c\n\x11\n\t\x04\x19\x03\0\x04\0\x02\x1e\x01\x12\x04\xf0\x02\
18726    \x06\x16\n\x11\n\t\x04\x19\x03\0\x04\0\x02\x1e\x02\x12\x04\xf0\x02\x19\
18727    \x1b\n\x10\n\x08\x04\x19\x03\0\x04\0\x02\x1f\x12\x04\xf1\x02\x06#\n\x11\
18728    \n\t\x04\x19\x03\0\x04\0\x02\x1f\x01\x12\x04\xf1\x02\x06\x1d\n\x11\n\t\
18729    \x04\x19\x03\0\x04\0\x02\x1f\x02\x12\x04\xf1\x02\x20\"\n\x10\n\x08\x04\
18730    \x19\x03\0\x04\0\x02\x20\x12\x04\xf2\x02\x06$\n\x11\n\t\x04\x19\x03\0\
18731    \x04\0\x02\x20\x01\x12\x04\xf2\x02\x06\x1e\n\x11\n\t\x04\x19\x03\0\x04\0\
18732    \x02\x20\x02\x12\x04\xf2\x02!#\n\x10\n\x08\x04\x19\x03\0\x04\0\x02!\x12\
18733    \x04\xf3\x02\x06#\n\x11\n\t\x04\x19\x03\0\x04\0\x02!\x01\x12\x04\xf3\x02\
18734    \x06\x1d\n\x11\n\t\x04\x19\x03\0\x04\0\x02!\x02\x12\x04\xf3\x02\x20\"\n\
18735    \x10\n\x08\x04\x19\x03\0\x04\0\x02\"\x12\x04\xf4\x02\x06%\n\x11\n\t\x04\
18736    \x19\x03\0\x04\0\x02\"\x01\x12\x04\xf4\x02\x06\x1f\n\x11\n\t\x04\x19\x03\
18737    \0\x04\0\x02\"\x02\x12\x04\xf4\x02\"$\n\x10\n\x08\x04\x19\x03\0\x04\0\
18738    \x02#\x12\x04\xf5\x02\x06#\n\x11\n\t\x04\x19\x03\0\x04\0\x02#\x01\x12\
18739    \x04\xf5\x02\x06\x1d\n\x11\n\t\x04\x19\x03\0\x04\0\x02#\x02\x12\x04\xf5\
18740    \x02\x20\"\n\x10\n\x08\x04\x19\x03\0\x04\0\x02$\x12\x04\xf6\x02\x06%\n\
18741    \x11\n\t\x04\x19\x03\0\x04\0\x02$\x01\x12\x04\xf6\x02\x06\x1f\n\x11\n\t\
18742    \x04\x19\x03\0\x04\0\x02$\x02\x12\x04\xf6\x02\"$\n\x10\n\x08\x04\x19\x03\
18743    \0\x04\0\x02%\x12\x04\xf7\x02\x06*\n\x11\n\t\x04\x19\x03\0\x04\0\x02%\
18744    \x01\x12\x04\xf7\x02\x06$\n\x11\n\t\x04\x19\x03\0\x04\0\x02%\x02\x12\x04\
18745    \xf7\x02')\n\x10\n\x08\x04\x19\x03\0\x04\0\x02&\x12\x04\xf8\x02\x06$\n\
18746    \x11\n\t\x04\x19\x03\0\x04\0\x02&\x01\x12\x04\xf8\x02\x06\x1e\n\x11\n\t\
18747    \x04\x19\x03\0\x04\0\x02&\x02\x12\x04\xf8\x02!#\n\x10\n\x08\x04\x19\x03\
18748    \0\x04\0\x02'\x12\x04\xf9\x02\x06&\n\x11\n\t\x04\x19\x03\0\x04\0\x02'\
18749    \x01\x12\x04\xf9\x02\x06\x20\n\x11\n\t\x04\x19\x03\0\x04\0\x02'\x02\x12\
18750    \x04\xf9\x02#%\n\x10\n\x08\x04\x19\x03\0\x04\0\x02(\x12\x04\xfa\x02\x06'\
18751    \n\x11\n\t\x04\x19\x03\0\x04\0\x02(\x01\x12\x04\xfa\x02\x06!\n\x11\n\t\
18752    \x04\x19\x03\0\x04\0\x02(\x02\x12\x04\xfa\x02$&\n\x0e\n\x06\x04\x19\x03\
18753    \0\x02\0\x12\x04\xfc\x02\x04\x1a\n\x0f\n\x07\x04\x19\x03\0\x02\0\x06\x12\
18754    \x04\xfc\x02\x04\x10\n\x0f\n\x07\x04\x19\x03\0\x02\0\x01\x12\x04\xfc\x02\
18755    \x11\x15\n\x0f\n\x07\x04\x19\x03\0\x02\0\x03\x12\x04\xfc\x02\x18\x19\n\
18756    \x0e\n\x06\x04\x19\x03\0\x02\x01\x12\x04\xfd\x02\x04&\n\x0f\n\x07\x04\
18757    \x19\x03\0\x02\x01\x06\x12\x04\xfd\x02\x04\x17\n\x0f\n\x07\x04\x19\x03\0\
18758    \x02\x01\x01\x12\x04\xfd\x02\x18!\n\x0f\n\x07\x04\x19\x03\0\x02\x01\x03\
18759    \x12\x04\xfd\x02$%\n\x0e\n\x06\x04\x19\x03\0\x02\x02\x12\x04\xfe\x02\x04\
18760    \x17\n\x0f\n\x07\x04\x19\x03\0\x02\x02\x05\x12\x04\xfe\x02\x04\t\n\x0f\n\
18761    \x07\x04\x19\x03\0\x02\x02\x01\x12\x04\xfe\x02\n\x12\n\x0f\n\x07\x04\x19\
18762    \x03\0\x02\x02\x03\x12\x04\xfe\x02\x15\x16\n\x0e\n\x06\x04\x19\x03\0\x02\
18763    \x03\x12\x04\xff\x02\x04\x1b\n\x0f\n\x07\x04\x19\x03\0\x02\x03\x05\x12\
18764    \x04\xff\x02\x04\t\n\x0f\n\x07\x04\x19\x03\0\x02\x03\x01\x12\x04\xff\x02\
18765    \n\x16\n\x0f\n\x07\x04\x19\x03\0\x02\x03\x03\x12\x04\xff\x02\x19\x1a\n\
18766    \x0e\n\x06\x04\x19\x03\0\x02\x04\x12\x04\x80\x03\x04\x1c\n\x0f\n\x07\x04\
18767    \x19\x03\0\x02\x04\x05\x12\x04\x80\x03\x04\t\n\x0f\n\x07\x04\x19\x03\0\
18768    \x02\x04\x01\x12\x04\x80\x03\n\x17\n\x0f\n\x07\x04\x19\x03\0\x02\x04\x03\
18769    \x12\x04\x80\x03\x1a\x1b\n\x0e\n\x04\x04\x19\x03\x01\x12\x06\x83\x03\x02\
18770    \xac\x03\x03\n\r\n\x05\x04\x19\x03\x01\x01\x12\x04\x83\x03\n\x10\n\x10\n\
18771    \x06\x04\x19\x03\x01\x04\0\x12\x06\x84\x03\x04\x87\x03\x05\n\x0f\n\x07\
18772    \x04\x19\x03\x01\x04\0\x01\x12\x04\x84\x03\t\r\n\x10\n\x08\x04\x19\x03\
18773    \x01\x04\0\x02\0\x12\x04\x85\x03\x06\x11\n\x11\n\t\x04\x19\x03\x01\x04\0\
18774    \x02\0\x01\x12\x04\x85\x03\x06\x0c\n\x11\n\t\x04\x19\x03\x01\x04\0\x02\0\
18775    \x02\x12\x04\x85\x03\x0f\x10\n\x10\n\x08\x04\x19\x03\x01\x04\0\x02\x01\
18776    \x12\x04\x86\x03\x06\x11\n\x11\n\t\x04\x19\x03\x01\x04\0\x02\x01\x01\x12\
18777    \x04\x86\x03\x06\x0c\n\x11\n\t\x04\x19\x03\x01\x04\0\x02\x01\x02\x12\x04\
18778    \x86\x03\x0f\x10\n\x10\n\x06\x04\x19\x03\x01\x04\x01\x12\x06\x88\x03\x04\
18779    \x99\x03\x05\n\x0f\n\x07\x04\x19\x03\x01\x04\x01\x01\x12\x04\x88\x03\t\
18780    \x17\n\x10\n\x08\x04\x19\x03\x01\x04\x01\x02\0\x12\x04\x89\x03\x06\x12\n\
18781    \x11\n\t\x04\x19\x03\x01\x04\x01\x02\0\x01\x12\x04\x89\x03\x06\r\n\x11\n\
18782    \t\x04\x19\x03\x01\x04\x01\x02\0\x02\x12\x04\x89\x03\x10\x11\n\x10\n\x08\
18783    \x04\x19\x03\x01\x04\x01\x02\x01\x12\x04\x8a\x03\x06\x12\n\x11\n\t\x04\
18784    \x19\x03\x01\x04\x01\x02\x01\x01\x12\x04\x8a\x03\x06\r\n\x11\n\t\x04\x19\
18785    \x03\x01\x04\x01\x02\x01\x02\x12\x04\x8a\x03\x10\x11\n\x10\n\x08\x04\x19\
18786    \x03\x01\x04\x01\x02\x02\x12\x04\x8b\x03\x06\x11\n\x11\n\t\x04\x19\x03\
18787    \x01\x04\x01\x02\x02\x01\x12\x04\x8b\x03\x06\x0c\n\x11\n\t\x04\x19\x03\
18788    \x01\x04\x01\x02\x02\x02\x12\x04\x8b\x03\x0f\x10\n\x10\n\x08\x04\x19\x03\
18789    \x01\x04\x01\x02\x03\x12\x04\x8c\x03\x06\x1f\n\x11\n\t\x04\x19\x03\x01\
18790    \x04\x01\x02\x03\x01\x12\x04\x8c\x03\x06\x1a\n\x11\n\t\x04\x19\x03\x01\
18791    \x04\x01\x02\x03\x02\x12\x04\x8c\x03\x1d\x1e\n\x10\n\x08\x04\x19\x03\x01\
18792    \x04\x01\x02\x04\x12\x04\x8d\x03\x06\x18\n\x11\n\t\x04\x19\x03\x01\x04\
18793    \x01\x02\x04\x01\x12\x04\x8d\x03\x06\x13\n\x11\n\t\x04\x19\x03\x01\x04\
18794    \x01\x02\x04\x02\x12\x04\x8d\x03\x16\x17\n\x10\n\x08\x04\x19\x03\x01\x04\
18795    \x01\x02\x05\x12\x04\x8e\x03\x06\x1f\n\x11\n\t\x04\x19\x03\x01\x04\x01\
18796    \x02\x05\x01\x12\x04\x8e\x03\x06\x1a\n\x11\n\t\x04\x19\x03\x01\x04\x01\
18797    \x02\x05\x02\x12\x04\x8e\x03\x1d\x1e\n\x10\n\x08\x04\x19\x03\x01\x04\x01\
18798    \x02\x06\x12\x04\x8f\x03\x06\x1a\n\x11\n\t\x04\x19\x03\x01\x04\x01\x02\
18799    \x06\x01\x12\x04\x8f\x03\x06\x15\n\x11\n\t\x04\x19\x03\x01\x04\x01\x02\
18800    \x06\x02\x12\x04\x8f\x03\x18\x19\n\x10\n\x08\x04\x19\x03\x01\x04\x01\x02\
18801    \x07\x12\x04\x90\x03\x06\x1a\n\x11\n\t\x04\x19\x03\x01\x04\x01\x02\x07\
18802    \x01\x12\x04\x90\x03\x06\x15\n\x11\n\t\x04\x19\x03\x01\x04\x01\x02\x07\
18803    \x02\x12\x04\x90\x03\x18\x19\n\x10\n\x08\x04\x19\x03\x01\x04\x01\x02\x08\
18804    \x12\x04\x91\x03\x06\x1c\n\x11\n\t\x04\x19\x03\x01\x04\x01\x02\x08\x01\
18805    \x12\x04\x91\x03\x06\x17\n\x11\n\t\x04\x19\x03\x01\x04\x01\x02\x08\x02\
18806    \x12\x04\x91\x03\x1a\x1b\n\x10\n\x08\x04\x19\x03\x01\x04\x01\x02\t\x12\
18807    \x04\x92\x03\x06\x19\n\x11\n\t\x04\x19\x03\x01\x04\x01\x02\t\x01\x12\x04\
18808    \x92\x03\x06\x14\n\x11\n\t\x04\x19\x03\x01\x04\x01\x02\t\x02\x12\x04\x92\
18809    \x03\x17\x18\n\x10\n\x08\x04\x19\x03\x01\x04\x01\x02\n\x12\x04\x93\x03\
18810    \x06\x19\n\x11\n\t\x04\x19\x03\x01\x04\x01\x02\n\x01\x12\x04\x93\x03\x06\
18811    \x13\n\x11\n\t\x04\x19\x03\x01\x04\x01\x02\n\x02\x12\x04\x93\x03\x16\x18\
18812    \n\x10\n\x08\x04\x19\x03\x01\x04\x01\x02\x0b\x12\x04\x94\x03\x06\x17\n\
18813    \x11\n\t\x04\x19\x03\x01\x04\x01\x02\x0b\x01\x12\x04\x94\x03\x06\x11\n\
18814    \x11\n\t\x04\x19\x03\x01\x04\x01\x02\x0b\x02\x12\x04\x94\x03\x14\x16\n\
18815    \x10\n\x08\x04\x19\x03\x01\x04\x01\x02\x0c\x12\x04\x95\x03\x06\x1f\n\x11\
18816    \n\t\x04\x19\x03\x01\x04\x01\x02\x0c\x01\x12\x04\x95\x03\x06\x19\n\x11\n\
18817    \t\x04\x19\x03\x01\x04\x01\x02\x0c\x02\x12\x04\x95\x03\x1c\x1e\n\x10\n\
18818    \x08\x04\x19\x03\x01\x04\x01\x02\r\x12\x04\x96\x03\x06\x13\n\x11\n\t\x04\
18819    \x19\x03\x01\x04\x01\x02\r\x01\x12\x04\x96\x03\x06\r\n\x11\n\t\x04\x19\
18820    \x03\x01\x04\x01\x02\r\x02\x12\x04\x96\x03\x10\x12\n\x10\n\x08\x04\x19\
18821    \x03\x01\x04\x01\x02\x0e\x12\x04\x97\x03\x06\x1b\n\x11\n\t\x04\x19\x03\
18822    \x01\x04\x01\x02\x0e\x01\x12\x04\x97\x03\x06\x15\n\x11\n\t\x04\x19\x03\
18823    \x01\x04\x01\x02\x0e\x02\x12\x04\x97\x03\x18\x1a\n\x10\n\x08\x04\x19\x03\
18824    \x01\x04\x01\x02\x0f\x12\x04\x98\x03\x06\x18\n\x11\n\t\x04\x19\x03\x01\
18825    \x04\x01\x02\x0f\x01\x12\x04\x98\x03\x06\x12\n\x11\n\t\x04\x19\x03\x01\
18826    \x04\x01\x02\x0f\x02\x12\x04\x98\x03\x15\x17\n\x0e\n\x06\x04\x19\x03\x01\
18827    \x02\0\x12\x04\x9a\x03\x04\x12\n\x0f\n\x07\x04\x19\x03\x01\x02\0\x05\x12\
18828    \x04\x9a\x03\x04\t\n\x0f\n\x07\x04\x19\x03\x01\x02\0\x01\x12\x04\x9a\x03\
18829    \n\r\n\x0f\n\x07\x04\x19\x03\x01\x02\0\x03\x12\x04\x9a\x03\x10\x11\n\x0e\
18830    \n\x06\x04\x19\x03\x01\x02\x01\x12\x04\x9b\x03\x04\x11\n\x0f\n\x07\x04\
18831    \x19\x03\x01\x02\x01\x06\x12\x04\x9b\x03\x04\x08\n\x0f\n\x07\x04\x19\x03\
18832    \x01\x02\x01\x01\x12\x04\x9b\x03\t\x0c\n\x0f\n\x07\x04\x19\x03\x01\x02\
18833    \x01\x03\x12\x04\x9b\x03\x0f\x10\n\x0e\n\x06\x04\x19\x03\x01\x02\x02\x12\
18834    \x04\x9c\x03\x04#\n\x0f\n\x07\x04\x19\x03\x01\x02\x02\x06\x12\x04\x9c\
18835    \x03\x04\x12\n\x0f\n\x07\x04\x19\x03\x01\x02\x02\x01\x12\x04\x9c\x03\x13\
18836    \x1e\n\x0f\n\x07\x04\x19\x03\x01\x02\x02\x03\x12\x04\x9c\x03!\"\n\x0e\n\
18837    \x06\x04\x19\x03\x01\x02\x03\x12\x04\x9e\x03\x04\x1d\n\x0f\n\x07\x04\x19\
18838    \x03\x01\x02\x03\x05\x12\x04\x9e\x03\x04\n\n\x0f\n\x07\x04\x19\x03\x01\
18839    \x02\x03\x01\x12\x04\x9e\x03\x0b\x17\n\x0f\n\x07\x04\x19\x03\x01\x02\x03\
18840    \x03\x12\x04\x9e\x03\x1a\x1c\n\x0e\n\x06\x04\x19\x03\x01\x02\x04\x12\x04\
18841    \x9f\x03\x04\x1f\n\x0f\n\x07\x04\x19\x03\x01\x02\x04\x05\x12\x04\x9f\x03\
18842    \x04\t\n\x0f\n\x07\x04\x19\x03\x01\x02\x04\x01\x12\x04\x9f\x03\n\x19\n\
18843    \x0f\n\x07\x04\x19\x03\x01\x02\x04\x03\x12\x04\x9f\x03\x1c\x1e\n\x0e\n\
18844    \x06\x04\x19\x03\x01\x02\x05\x12\x04\xa0\x03\x04\x1f\n\x0f\n\x07\x04\x19\
18845    \x03\x01\x02\x05\x05\x12\x04\xa0\x03\x04\t\n\x0f\n\x07\x04\x19\x03\x01\
18846    \x02\x05\x01\x12\x04\xa0\x03\n\x19\n\x0f\n\x07\x04\x19\x03\x01\x02\x05\
18847    \x03\x12\x04\xa0\x03\x1c\x1e\n\x0e\n\x06\x04\x19\x03\x01\x02\x06\x12\x04\
18848    \xa1\x03\x04(\n\x0f\n\x07\x04\x19\x03\x01\x02\x06\x05\x12\x04\xa1\x03\
18849    \x04\t\n\x0f\n\x07\x04\x19\x03\x01\x02\x06\x01\x12\x04\xa1\x03\n\"\n\x0f\
18850    \n\x07\x04\x19\x03\x01\x02\x06\x03\x12\x04\xa1\x03%'\n\x0e\n\x06\x04\x19\
18851    \x03\x01\x02\x07\x12\x04\xa2\x03\x04.\n\x0f\n\x07\x04\x19\x03\x01\x02\
18852    \x07\x05\x12\x04\xa2\x03\x04\t\n\x0f\n\x07\x04\x19\x03\x01\x02\x07\x01\
18853    \x12\x04\xa2\x03\n(\n\x0f\n\x07\x04\x19\x03\x01\x02\x07\x03\x12\x04\xa2\
18854    \x03+-\n\x0e\n\x06\x04\x19\x03\x01\x02\x08\x12\x04\xa3\x03\x040\n\x0f\n\
18855    \x07\x04\x19\x03\x01\x02\x08\x05\x12\x04\xa3\x03\x04\t\n\x0f\n\x07\x04\
18856    \x19\x03\x01\x02\x08\x01\x12\x04\xa3\x03\n*\n\x0f\n\x07\x04\x19\x03\x01\
18857    \x02\x08\x03\x12\x04\xa3\x03-/\n\x0e\n\x06\x04\x19\x03\x01\x02\t\x12\x04\
18858    \xa4\x03\x04\x1b\n\x0f\n\x07\x04\x19\x03\x01\x02\t\x05\x12\x04\xa4\x03\
18859    \x04\t\n\x0f\n\x07\x04\x19\x03\x01\x02\t\x01\x12\x04\xa4\x03\n\x15\n\x0f\
18860    \n\x07\x04\x19\x03\x01\x02\t\x03\x12\x04\xa4\x03\x18\x1a\n\x0e\n\x06\x04\
18861    \x19\x03\x01\x02\n\x12\x04\xa5\x03\x04(\n\x0f\n\x07\x04\x19\x03\x01\x02\
18862    \n\x05\x12\x04\xa5\x03\x04\t\n\x0f\n\x07\x04\x19\x03\x01\x02\n\x01\x12\
18863    \x04\xa5\x03\n\"\n\x0f\n\x07\x04\x19\x03\x01\x02\n\x03\x12\x04\xa5\x03%'\
18864    \n\x0e\n\x06\x04\x19\x03\x01\x02\x0b\x12\x04\xa8\x03\x04\x17\n\x0f\n\x07\
18865    \x04\x19\x03\x01\x02\x0b\x05\x12\x04\xa8\x03\x04\t\n\x0f\n\x07\x04\x19\
18866    \x03\x01\x02\x0b\x01\x12\x04\xa8\x03\n\x11\n\x0f\n\x07\x04\x19\x03\x01\
18867    \x02\x0b\x03\x12\x04\xa8\x03\x14\x16\n\x0e\n\x06\x04\x19\x03\x01\x02\x0c\
18868    \x12\x04\xa9\x03\x041\n\x0f\n\x07\x04\x19\x03\x01\x02\x0c\x04\x12\x04\
18869    \xa9\x03\x04\x0c\n\x0f\n\x07\x04\x19\x03\x01\x02\x0c\x06\x12\x04\xa9\x03\
18870    \r\x1e\n\x0f\n\x07\x04\x19\x03\x01\x02\x0c\x01\x12\x04\xa9\x03\x1f+\n\
18871    \x0f\n\x07\x04\x19\x03\x01\x02\x0c\x03\x12\x04\xa9\x03.0\n\x0e\n\x06\x04\
18872    \x19\x03\x01\x02\r\x12\x04\xaa\x03\x04&\n\x0f\n\x07\x04\x19\x03\x01\x02\
18873    \r\x05\x12\x04\xaa\x03\x04\t\n\x0f\n\x07\x04\x19\x03\x01\x02\r\x01\x12\
18874    \x04\xaa\x03\n\x20\n\x0f\n\x07\x04\x19\x03\x01\x02\r\x03\x12\x04\xaa\x03\
18875    #%\n\x0e\n\x06\x04\x19\x03\x01\x02\x0e\x12\x04\xab\x03\x045\n\x0f\n\x07\
18876    \x04\x19\x03\x01\x02\x0e\x06\x12\x04\xab\x03\x04\x16\n\x0f\n\x07\x04\x19\
18877    \x03\x01\x02\x0e\x01\x12\x04\xab\x03\x17/\n\x0f\n\x07\x04\x19\x03\x01\
18878    \x02\x0e\x03\x12\x04\xab\x0324\n\x0e\n\x04\x04\x19\x03\x02\x12\x06\xae\
18879    \x03\x02\xbc\x03\x03\n\r\n\x05\x04\x19\x03\x02\x01\x12\x04\xae\x03\n\r\n\
18880    \x0e\n\x06\x04\x19\x03\x02\x02\0\x12\x04\xaf\x03\x04\x1e\n\x0f\n\x07\x04\
18881    \x19\x03\x02\x02\0\x05\x12\x04\xaf\x03\x04\t\n\x0f\n\x07\x04\x19\x03\x02\
18882    \x02\0\x01\x12\x04\xaf\x03\n\x19\n\x0f\n\x07\x04\x19\x03\x02\x02\0\x03\
18883    \x12\x04\xaf\x03\x1c\x1d\n\x0e\n\x06\x04\x19\x03\x02\x02\x01\x12\x04\xb0\
18884    \x03\x04\x1c\n\x0f\n\x07\x04\x19\x03\x02\x02\x01\x05\x12\x04\xb0\x03\x04\
18885    \t\n\x0f\n\x07\x04\x19\x03\x02\x02\x01\x01\x12\x04\xb0\x03\n\x17\n\x0f\n\
18886    \x07\x04\x19\x03\x02\x02\x01\x03\x12\x04\xb0\x03\x1a\x1b\n\x0e\n\x06\x04\
18887    \x19\x03\x02\x02\x02\x12\x04\xb1\x03\x04\x1d\n\x0f\n\x07\x04\x19\x03\x02\
18888    \x02\x02\x05\x12\x04\xb1\x03\x04\t\n\x0f\n\x07\x04\x19\x03\x02\x02\x02\
18889    \x01\x12\x04\xb1\x03\n\x18\n\x0f\n\x07\x04\x19\x03\x02\x02\x02\x03\x12\
18890    \x04\xb1\x03\x1b\x1c\n\x0e\n\x06\x04\x19\x03\x02\x02\x03\x12\x04\xb2\x03\
18891    \x04\x19\n\x0f\n\x07\x04\x19\x03\x02\x02\x03\x05\x12\x04\xb2\x03\x04\t\n\
18892    \x0f\n\x07\x04\x19\x03\x02\x02\x03\x01\x12\x04\xb2\x03\n\x14\n\x0f\n\x07\
18893    \x04\x19\x03\x02\x02\x03\x03\x12\x04\xb2\x03\x17\x18\n\x0e\n\x06\x04\x19\
18894    \x03\x02\x02\x04\x12\x04\xb3\x03\x04!\n\x0f\n\x07\x04\x19\x03\x02\x02\
18895    \x04\x04\x12\x04\xb3\x03\x04\x0c\n\x0f\n\x07\x04\x19\x03\x02\x02\x04\x06\
18896    \x12\x04\xb3\x03\r\x16\n\x0f\n\x07\x04\x19\x03\x02\x02\x04\x01\x12\x04\
18897    \xb3\x03\x17\x1c\n\x0f\n\x07\x04\x19\x03\x02\x02\x04\x03\x12\x04\xb3\x03\
18898    \x1f\x20\n\x1f\n\x06\x04\x19\x03\x02\x02\x05\x12\x04\xb5\x03\x04\x14\x1a\
18899    \x0f\x20data\x20not\x20used\n\n\x0f\n\x07\x04\x19\x03\x02\x02\x05\x05\
18900    \x12\x04\xb5\x03\x04\t\n\x0f\n\x07\x04\x19\x03\x02\x02\x05\x01\x12\x04\
18901    \xb5\x03\n\x0e\n\x0f\n\x07\x04\x19\x03\x02\x02\x05\x03\x12\x04\xb5\x03\
18902    \x11\x13\nI\n\x06\x04\x19\x03\x02\x02\x06\x12\x04\xb7\x03\x04$\x1a9only\
18903    \x20support\x20size\x20=\x201,\x20\x20repeated\x20list\x20here\x20for\
18904    \x20extension\n\n\x0f\n\x07\x04\x19\x03\x02\x02\x06\x04\x12\x04\xb7\x03\
18905    \x04\x0c\n\x0f\n\x07\x04\x19\x03\x02\x02\x06\x06\x12\x04\xb7\x03\r\x15\n\
18906    \x0f\n\x07\x04\x19\x03\x02\x02\x06\x01\x12\x04\xb7\x03\x16\x1e\n\x0f\n\
18907    \x07\x04\x19\x03\x02\x02\x06\x03\x12\x04\xb7\x03!#\n\"\n\x06\x04\x19\x03\
18908    \x02\x02\x07\x12\x04\xb9\x03\x04\x17\x1a\x12\x20scripts\x20not\x20used\n\
18909    \n\x0f\n\x07\x04\x19\x03\x02\x02\x07\x05\x12\x04\xb9\x03\x04\t\n\x0f\n\
18910    \x07\x04\x19\x03\x02\x02\x07\x01\x12\x04\xb9\x03\n\x11\n\x0f\n\x07\x04\
18911    \x19\x03\x02\x02\x07\x03\x12\x04\xb9\x03\x14\x16\n\x0e\n\x06\x04\x19\x03\
18912    \x02\x02\x08\x12\x04\xba\x03\x04\x19\n\x0f\n\x07\x04\x19\x03\x02\x02\x08\
18913    \x05\x12\x04\xba\x03\x04\t\n\x0f\n\x07\x04\x19\x03\x02\x02\x08\x01\x12\
18914    \x04\xba\x03\n\x13\n\x0f\n\x07\x04\x19\x03\x02\x02\x08\x03\x12\x04\xba\
18915    \x03\x16\x18\n\x0e\n\x06\x04\x19\x03\x02\x02\t\x12\x04\xbb\x03\x04\x19\n\
18916    \x0f\n\x07\x04\x19\x03\x02\x02\t\x05\x12\x04\xbb\x03\x04\t\n\x0f\n\x07\
18917    \x04\x19\x03\x02\x02\t\x01\x12\x04\xbb\x03\n\x13\n\x0f\n\x07\x04\x19\x03\
18918    \x02\x02\t\x03\x12\x04\xbb\x03\x16\x18\n\x0c\n\x04\x04\x19\x02\0\x12\x04\
18919    \xbe\x03\x02\x13\n\r\n\x05\x04\x19\x02\0\x06\x12\x04\xbe\x03\x02\x05\n\r\
18920    \n\x05\x04\x19\x02\0\x01\x12\x04\xbe\x03\x06\x0e\n\r\n\x05\x04\x19\x02\0\
18921    \x03\x12\x04\xbe\x03\x11\x12\nQ\n\x04\x04\x19\x02\x01\x12\x04\xc0\x03\
18922    \x02\x1f\x1aC\x20only\x20support\x20size\x20=\x201,\x20\x20repeated\x20l\
18923    ist\x20here\x20for\x20muti-sig\x20extension\n\n\r\n\x05\x04\x19\x02\x01\
18924    \x04\x12\x04\xc0\x03\x02\n\n\r\n\x05\x04\x19\x02\x01\x05\x12\x04\xc0\x03\
18925    \x0b\x10\n\r\n\x05\x04\x19\x02\x01\x01\x12\x04\xc0\x03\x11\x1a\n\r\n\x05\
18926    \x04\x19\x02\x01\x03\x12\x04\xc0\x03\x1d\x1e\n\x0c\n\x04\x04\x19\x02\x02\
18927    \x12\x04\xc1\x03\x02\x1a\n\r\n\x05\x04\x19\x02\x02\x04\x12\x04\xc1\x03\
18928    \x02\n\n\r\n\x05\x04\x19\x02\x02\x06\x12\x04\xc1\x03\x0b\x11\n\r\n\x05\
18929    \x04\x19\x02\x02\x01\x12\x04\xc1\x03\x12\x15\n\r\n\x05\x04\x19\x02\x02\
18930    \x03\x12\x04\xc1\x03\x18\x19\n\x0c\n\x02\x04\x1a\x12\x06\xc4\x03\0\xe9\
18931    \x03\x01\n\x0b\n\x03\x04\x1a\x01\x12\x04\xc4\x03\x08\x17\n\x0e\n\x04\x04\
18932    \x1a\x04\0\x12\x06\xc5\x03\x02\xc8\x03\x03\n\r\n\x05\x04\x1a\x04\0\x01\
18933    \x12\x04\xc5\x03\x07\x0b\n\x0e\n\x06\x04\x1a\x04\0\x02\0\x12\x04\xc6\x03\
18934    \x04\x0f\n\x0f\n\x07\x04\x1a\x04\0\x02\0\x01\x12\x04\xc6\x03\x04\n\n\x0f\
18935    \n\x07\x04\x1a\x04\0\x02\0\x02\x12\x04\xc6\x03\r\x0e\n\x0e\n\x06\x04\x1a\
18936    \x04\0\x02\x01\x12\x04\xc7\x03\x04\x0f\n\x0f\n\x07\x04\x1a\x04\0\x02\x01\
18937    \x01\x12\x04\xc7\x03\x04\n\n\x0f\n\x07\x04\x1a\x04\0\x02\x01\x02\x12\x04\
18938    \xc7\x03\r\x0e\n\x0e\n\x04\x04\x1a\x03\0\x12\x06\xc9\x03\x02\xcd\x03\x03\
18939    \n\r\n\x05\x04\x1a\x03\0\x01\x12\x04\xc9\x03\n\r\n\x0e\n\x06\x04\x1a\x03\
18940    \0\x02\0\x12\x04\xca\x03\x04\x16\n\x0f\n\x07\x04\x1a\x03\0\x02\0\x05\x12\
18941    \x04\xca\x03\x04\t\n\x0f\n\x07\x04\x1a\x03\0\x02\0\x01\x12\x04\xca\x03\n\
18942    \x11\n\x0f\n\x07\x04\x1a\x03\0\x02\0\x03\x12\x04\xca\x03\x14\x15\n\x0e\n\
18943    \x06\x04\x1a\x03\0\x02\x01\x12\x04\xcb\x03\x04\x1e\n\x0f\n\x07\x04\x1a\
18944    \x03\0\x02\x01\x04\x12\x04\xcb\x03\x04\x0c\n\x0f\n\x07\x04\x1a\x03\0\x02\
18945    \x01\x05\x12\x04\xcb\x03\r\x12\n\x0f\n\x07\x04\x1a\x03\0\x02\x01\x01\x12\
18946    \x04\xcb\x03\x13\x19\n\x0f\n\x07\x04\x1a\x03\0\x02\x01\x03\x12\x04\xcb\
18947    \x03\x1c\x1d\n\x0e\n\x06\x04\x1a\x03\0\x02\x02\x12\x04\xcc\x03\x04\x13\n\
18948    \x0f\n\x07\x04\x1a\x03\0\x02\x02\x05\x12\x04\xcc\x03\x04\t\n\x0f\n\x07\
18949    \x04\x1a\x03\0\x02\x02\x01\x12\x04\xcc\x03\n\x0e\n\x0f\n\x07\x04\x1a\x03\
18950    \0\x02\x02\x03\x12\x04\xcc\x03\x11\x12\n\x0c\n\x04\x04\x1a\x02\0\x12\x04\
18951    \xce\x03\x02\x0f\n\r\n\x05\x04\x1a\x02\0\x05\x12\x04\xce\x03\x02\x07\n\r\
18952    \n\x05\x04\x1a\x02\0\x01\x12\x04\xce\x03\x08\n\n\r\n\x05\x04\x1a\x02\0\
18953    \x03\x12\x04\xce\x03\r\x0e\n\x0c\n\x04\x04\x1a\x02\x01\x12\x04\xcf\x03\
18954    \x02\x10\n\r\n\x05\x04\x1a\x02\x01\x05\x12\x04\xcf\x03\x02\x07\n\r\n\x05\
18955    \x04\x1a\x02\x01\x01\x12\x04\xcf\x03\x08\x0b\n\r\n\x05\x04\x1a\x02\x01\
18956    \x03\x12\x04\xcf\x03\x0e\x0f\n\x0c\n\x04\x04\x1a\x02\x02\x12\x04\xd0\x03\
18957    \x02\x18\n\r\n\x05\x04\x1a\x02\x02\x05\x12\x04\xd0\x03\x02\x07\n\r\n\x05\
18958    \x04\x1a\x02\x02\x01\x12\x04\xd0\x03\x08\x13\n\r\n\x05\x04\x1a\x02\x02\
18959    \x03\x12\x04\xd0\x03\x16\x17\n\x0c\n\x04\x04\x1a\x02\x03\x12\x04\xd1\x03\
18960    \x02\x1b\n\r\n\x05\x04\x1a\x02\x03\x05\x12\x04\xd1\x03\x02\x07\n\r\n\x05\
18961    \x04\x1a\x02\x03\x01\x12\x04\xd1\x03\x08\x16\n\r\n\x05\x04\x1a\x02\x03\
18962    \x03\x12\x04\xd1\x03\x19\x1a\n\x0c\n\x04\x04\x1a\x02\x04\x12\x04\xd2\x03\
18963    \x02$\n\r\n\x05\x04\x1a\x02\x04\x04\x12\x04\xd2\x03\x02\n\n\r\n\x05\x04\
18964    \x1a\x02\x04\x05\x12\x04\xd2\x03\x0b\x10\n\r\n\x05\x04\x1a\x02\x04\x01\
18965    \x12\x04\xd2\x03\x11\x1f\n\r\n\x05\x04\x1a\x02\x04\x03\x12\x04\xd2\x03\"\
18966    #\n\x0c\n\x04\x04\x1a\x02\x05\x12\x04\xd3\x03\x02\x1d\n\r\n\x05\x04\x1a\
18967    \x02\x05\x05\x12\x04\xd3\x03\x02\x07\n\r\n\x05\x04\x1a\x02\x05\x01\x12\
18968    \x04\xd3\x03\x08\x18\n\r\n\x05\x04\x1a\x02\x05\x03\x12\x04\xd3\x03\x1b\
18969    \x1c\n\x0c\n\x04\x04\x1a\x02\x06\x12\x04\xd4\x03\x02\x1e\n\r\n\x05\x04\
18970    \x1a\x02\x06\x06\x12\x04\xd4\x03\x02\x11\n\r\n\x05\x04\x1a\x02\x06\x01\
18971    \x12\x04\xd4\x03\x12\x19\n\r\n\x05\x04\x1a\x02\x06\x03\x12\x04\xd4\x03\
18972    \x1c\x1d\n\x0c\n\x04\x04\x1a\x02\x07\x12\x04\xd5\x03\x02\x17\n\r\n\x05\
18973    \x04\x1a\x02\x07\x04\x12\x04\xd5\x03\x02\n\n\r\n\x05\x04\x1a\x02\x07\x06\
18974    \x12\x04\xd5\x03\x0b\x0e\n\r\n\x05\x04\x1a\x02\x07\x01\x12\x04\xd5\x03\
18975    \x0f\x12\n\r\n\x05\x04\x1a\x02\x07\x03\x12\x04\xd5\x03\x15\x16\n\x0c\n\
18976    \x04\x04\x1a\x02\x08\x12\x04\xd6\x03\x02\x12\n\r\n\x05\x04\x1a\x02\x08\
18977    \x06\x12\x04\xd6\x03\x02\x06\n\r\n\x05\x04\x1a\x02\x08\x01\x12\x04\xd6\
18978    \x03\x07\r\n\r\n\x05\x04\x1a\x02\x08\x03\x12\x04\xd6\x03\x10\x11\n\x0c\n\
18979    \x04\x04\x1a\x02\t\x12\x04\xd7\x03\x02\x18\n\r\n\x05\x04\x1a\x02\t\x05\
18980    \x12\x04\xd7\x03\x02\x07\n\r\n\x05\x04\x1a\x02\t\x01\x12\x04\xd7\x03\x08\
18981    \x12\n\r\n\x05\x04\x1a\x02\t\x03\x12\x04\xd7\x03\x15\x17\n\x0c\n\x04\x04\
18982    \x1a\x02\n\x12\x04\xd9\x03\x02\x1b\n\r\n\x05\x04\x1a\x02\n\x05\x12\x04\
18983    \xd9\x03\x02\x08\n\r\n\x05\x04\x1a\x02\n\x01\x12\x04\xd9\x03\t\x15\n\r\n\
18984    \x05\x04\x1a\x02\n\x03\x12\x04\xd9\x03\x18\x1a\n\x0c\n\x04\x04\x1a\x02\
18985    \x0b\x12\x04\xda\x03\x02\x1d\n\r\n\x05\x04\x1a\x02\x0b\x05\x12\x04\xda\
18986    \x03\x02\x07\n\r\n\x05\x04\x1a\x02\x0b\x01\x12\x04\xda\x03\x08\x17\n\r\n\
18987    \x05\x04\x1a\x02\x0b\x03\x12\x04\xda\x03\x1a\x1c\n\x0c\n\x04\x04\x1a\x02\
18988    \x0c\x12\x04\xdb\x03\x02\x1d\n\r\n\x05\x04\x1a\x02\x0c\x05\x12\x04\xdb\
18989    \x03\x02\x07\n\r\n\x05\x04\x1a\x02\x0c\x01\x12\x04\xdb\x03\x08\x17\n\r\n\
18990    \x05\x04\x1a\x02\x0c\x03\x12\x04\xdb\x03\x1a\x1c\n\x0c\n\x04\x04\x1a\x02\
18991    \r\x12\x04\xdc\x03\x02:\n\r\n\x05\x04\x1a\x02\r\x04\x12\x04\xdc\x03\x02\
18992    \n\n\r\n\x05\x04\x1a\x02\r\x06\x12\x04\xdc\x03\x0b\x1e\n\r\n\x05\x04\x1a\
18993    \x02\r\x01\x12\x04\xdc\x03\x1f4\n\r\n\x05\x04\x1a\x02\r\x03\x12\x04\xdc\
18994    \x0379\n\x0c\n\x04\x04\x1a\x02\x0e\x12\x04\xdd\x03\x02&\n\r\n\x05\x04\
18995    \x1a\x02\x0e\x05\x12\x04\xdd\x03\x02\x07\n\r\n\x05\x04\x1a\x02\x0e\x01\
18996    \x12\x04\xdd\x03\x08\x20\n\r\n\x05\x04\x1a\x02\x0e\x03\x12\x04\xdd\x03#%\
18997    \n\x0c\n\x04\x04\x1a\x02\x0f\x12\x04\xde\x03\x02,\n\r\n\x05\x04\x1a\x02\
18998    \x0f\x05\x12\x04\xde\x03\x02\x07\n\r\n\x05\x04\x1a\x02\x0f\x01\x12\x04\
18999    \xde\x03\x08&\n\r\n\x05\x04\x1a\x02\x0f\x03\x12\x04\xde\x03)+\n\x0c\n\
19000    \x04\x04\x1a\x02\x10\x12\x04\xdf\x03\x02.\n\r\n\x05\x04\x1a\x02\x10\x05\
19001    \x12\x04\xdf\x03\x02\x07\n\r\n\x05\x04\x1a\x02\x10\x01\x12\x04\xdf\x03\
19002    \x08(\n\r\n\x05\x04\x1a\x02\x10\x03\x12\x04\xdf\x03+-\n\x0c\n\x04\x04\
19003    \x1a\x02\x11\x12\x04\xe0\x03\x02\x19\n\r\n\x05\x04\x1a\x02\x11\x05\x12\
19004    \x04\xe0\x03\x02\x07\n\r\n\x05\x04\x1a\x02\x11\x01\x12\x04\xe0\x03\x08\
19005    \x13\n\r\n\x05\x04\x1a\x02\x11\x03\x12\x04\xe0\x03\x16\x18\n\x0c\n\x04\
19006    \x04\x1a\x02\x12\x12\x04\xe1\x03\x02&\n\r\n\x05\x04\x1a\x02\x12\x05\x12\
19007    \x04\xe1\x03\x02\x07\n\r\n\x05\x04\x1a\x02\x12\x01\x12\x04\xe1\x03\x08\
19008    \x20\n\r\n\x05\x04\x1a\x02\x12\x03\x12\x04\xe1\x03#%\n\x0c\n\x04\x04\x1a\
19009    \x02\x13\x12\x04\xe3\x03\x02\x15\n\r\n\x05\x04\x1a\x02\x13\x05\x12\x04\
19010    \xe3\x03\x02\x07\n\r\n\x05\x04\x1a\x02\x13\x01\x12\x04\xe3\x03\x08\x0f\n\
19011    \r\n\x05\x04\x1a\x02\x13\x03\x12\x04\xe3\x03\x12\x14\n\x0c\n\x04\x04\x1a\
19012    \x02\x14\x12\x04\xe4\x03\x02/\n\r\n\x05\x04\x1a\x02\x14\x04\x12\x04\xe4\
19013    \x03\x02\n\n\r\n\x05\x04\x1a\x02\x14\x06\x12\x04\xe4\x03\x0b\x1c\n\r\n\
19014    \x05\x04\x1a\x02\x14\x01\x12\x04\xe4\x03\x1d)\n\r\n\x05\x04\x1a\x02\x14\
19015    \x03\x12\x04\xe4\x03,.\n\x0c\n\x04\x04\x1a\x02\x15\x12\x04\xe5\x03\x02\
19016    \x18\n\r\n\x05\x04\x1a\x02\x15\x05\x12\x04\xe5\x03\x02\x07\n\r\n\x05\x04\
19017    \x1a\x02\x15\x01\x12\x04\xe5\x03\x08\x12\n\r\n\x05\x04\x1a\x02\x15\x03\
19018    \x12\x04\xe5\x03\x15\x17\n\x0c\n\x04\x04\x1a\x02\x16\x12\x04\xe7\x03\x02\
19019    $\n\r\n\x05\x04\x1a\x02\x16\x05\x12\x04\xe7\x03\x02\x07\n\r\n\x05\x04\
19020    \x1a\x02\x16\x01\x12\x04\xe7\x03\x08\x1e\n\r\n\x05\x04\x1a\x02\x16\x03\
19021    \x12\x04\xe7\x03!#\n\x0c\n\x04\x04\x1a\x02\x17\x12\x04\xe8\x03\x023\n\r\
19022    \n\x05\x04\x1a\x02\x17\x06\x12\x04\xe8\x03\x02\x14\n\r\n\x05\x04\x1a\x02\
19023    \x17\x01\x12\x04\xe8\x03\x15-\n\r\n\x05\x04\x1a\x02\x17\x03\x12\x04\xe8\
19024    \x0302\n\x0c\n\x02\x04\x1b\x12\x06\xeb\x03\0\xef\x03\x01\n\x0b\n\x03\x04\
19025    \x1b\x01\x12\x04\xeb\x03\x08\x16\n\x0c\n\x04\x04\x1b\x02\0\x12\x04\xec\
19026    \x03\x02\x18\n\r\n\x05\x04\x1b\x02\0\x05\x12\x04\xec\x03\x02\x07\n\r\n\
19027    \x05\x04\x1b\x02\0\x01\x12\x04\xec\x03\x08\x13\n\r\n\x05\x04\x1b\x02\0\
19028    \x03\x12\x04\xec\x03\x16\x17\n\x0c\n\x04\x04\x1b\x02\x01\x12\x04\xed\x03\
19029    \x02\x1b\n\r\n\x05\x04\x1b\x02\x01\x05\x12\x04\xed\x03\x02\x07\n\r\n\x05\
19030    \x04\x1b\x02\x01\x01\x12\x04\xed\x03\x08\x16\n\r\n\x05\x04\x1b\x02\x01\
19031    \x03\x12\x04\xed\x03\x19\x1a\n\x0c\n\x04\x04\x1b\x02\x02\x12\x04\xee\x03\
19032    \x02/\n\r\n\x05\x04\x1b\x02\x02\x04\x12\x04\xee\x03\x02\n\n\r\n\x05\x04\
19033    \x1b\x02\x02\x06\x12\x04\xee\x03\x0b\x1a\n\r\n\x05\x04\x1b\x02\x02\x01\
19034    \x12\x04\xee\x03\x1b*\n\r\n\x05\x04\x1b\x02\x02\x03\x12\x04\xee\x03-.\n\
19035    \x0c\n\x02\x04\x1c\x12\x06\xf1\x03\0\xf3\x03\x01\n\x0b\n\x03\x04\x1c\x01\
19036    \x12\x04\xf1\x03\x08\x14\n\x0c\n\x04\x04\x1c\x02\0\x12\x04\xf2\x03\x02(\
19037    \n\r\n\x05\x04\x1c\x02\0\x04\x12\x04\xf2\x03\x02\n\n\r\n\x05\x04\x1c\x02\
19038    \0\x06\x12\x04\xf2\x03\x0b\x16\n\r\n\x05\x04\x1c\x02\0\x01\x12\x04\xf2\
19039    \x03\x17#\n\r\n\x05\x04\x1c\x02\0\x03\x12\x04\xf2\x03&'\n\x0c\n\x02\x04\
19040    \x1d\x12\x06\xf5\x03\0\x84\x04\x01\n\x0b\n\x03\x04\x1d\x01\x12\x04\xf5\
19041    \x03\x08\x13\n\x0e\n\x04\x04\x1d\x03\0\x12\x06\xf6\x03\x02\x81\x04\x03\n\
19042    \r\n\x05\x04\x1d\x03\0\x01\x12\x04\xf6\x03\n\r\n\x0e\n\x06\x04\x1d\x03\0\
19043    \x02\0\x12\x04\xf7\x03\x04\x18\n\x0f\n\x07\x04\x1d\x03\0\x02\0\x05\x12\
19044    \x04\xf7\x03\x04\t\n\x0f\n\x07\x04\x1d\x03\0\x02\0\x01\x12\x04\xf7\x03\n\
19045    \x13\n\x0f\n\x07\x04\x1d\x03\0\x02\0\x03\x12\x04\xf7\x03\x16\x17\n\x0e\n\
19046    \x06\x04\x1d\x03\0\x02\x01\x12\x04\xf8\x03\x04\x19\n\x0f\n\x07\x04\x1d\
19047    \x03\0\x02\x01\x05\x12\x04\xf8\x03\x04\t\n\x0f\n\x07\x04\x1d\x03\0\x02\
19048    \x01\x01\x12\x04\xf8\x03\n\x14\n\x0f\n\x07\x04\x1d\x03\0\x02\x01\x03\x12\
19049    \x04\xf8\x03\x17\x18\n\x0e\n\x06\x04\x1d\x03\0\x02\x02\x12\x04\xf9\x03\
19050    \x04\x19\n\x0f\n\x07\x04\x1d\x03\0\x02\x02\x05\x12\x04\xf9\x03\x04\t\n\
19051    \x0f\n\x07\x04\x1d\x03\0\x02\x02\x01\x12\x04\xf9\x03\n\x14\n\x0f\n\x07\
19052    \x04\x1d\x03\0\x02\x02\x03\x12\x04\xf9\x03\x17\x18\n7\n\x06\x04\x1d\x03\
19053    \0\x02\x03\x12\x04\xfc\x03\x04\x15\x1a'bytes\x20nonce\x20=\x205;\nbytes\
19054    \x20difficulty\x20=\x206;\n\n\x0f\n\x07\x04\x1d\x03\0\x02\x03\x05\x12\
19055    \x04\xfc\x03\x04\t\n\x0f\n\x07\x04\x1d\x03\0\x02\x03\x01\x12\x04\xfc\x03\
19056    \n\x10\n\x0f\n\x07\x04\x1d\x03\0\x02\x03\x03\x12\x04\xfc\x03\x13\x14\n\
19057    \x0e\n\x06\x04\x1d\x03\0\x02\x04\x12\x04\xfd\x03\x04\x19\n\x0f\n\x07\x04\
19058    \x1d\x03\0\x02\x04\x05\x12\x04\xfd\x03\x04\t\n\x0f\n\x07\x04\x1d\x03\0\
19059    \x02\x04\x01\x12\x04\xfd\x03\n\x14\n\x0f\n\x07\x04\x1d\x03\0\x02\x04\x03\
19060    \x12\x04\xfd\x03\x17\x18\n\x0e\n\x06\x04\x1d\x03\0\x02\x05\x12\x04\xfe\
19061    \x03\x04\x1e\n\x0f\n\x07\x04\x1d\x03\0\x02\x05\x05\x12\x04\xfe\x03\x04\t\
19062    \n\x0f\n\x07\x04\x1d\x03\0\x02\x05\x01\x12\x04\xfe\x03\n\x19\n\x0f\n\x07\
19063    \x04\x1d\x03\0\x02\x05\x03\x12\x04\xfe\x03\x1c\x1d\n\x0e\n\x06\x04\x1d\
19064    \x03\0\x02\x06\x12\x04\xff\x03\x04\x17\n\x0f\n\x07\x04\x1d\x03\0\x02\x06\
19065    \x05\x12\x04\xff\x03\x04\t\n\x0f\n\x07\x04\x1d\x03\0\x02\x06\x01\x12\x04\
19066    \xff\x03\n\x11\n\x0f\n\x07\x04\x1d\x03\0\x02\x06\x03\x12\x04\xff\x03\x14\
19067    \x16\n\x0e\n\x06\x04\x1d\x03\0\x02\x07\x12\x04\x80\x04\x04\x20\n\x0f\n\
19068    \x07\x04\x1d\x03\0\x02\x07\x05\x12\x04\x80\x04\x04\t\n\x0f\n\x07\x04\x1d\
19069    \x03\0\x02\x07\x01\x12\x04\x80\x04\n\x1a\n\x0f\n\x07\x04\x1d\x03\0\x02\
19070    \x07\x03\x12\x04\x80\x04\x1d\x1f\n\x0c\n\x04\x04\x1d\x02\0\x12\x04\x82\
19071    \x04\x02\x13\n\r\n\x05\x04\x1d\x02\0\x06\x12\x04\x82\x04\x02\x05\n\r\n\
19072    \x05\x04\x1d\x02\0\x01\x12\x04\x82\x04\x06\x0e\n\r\n\x05\x04\x1d\x02\0\
19073    \x03\x12\x04\x82\x04\x11\x12\n\x0c\n\x04\x04\x1d\x02\x01\x12\x04\x83\x04\
19074    \x02\x1e\n\r\n\x05\x04\x1d\x02\x01\x05\x12\x04\x83\x04\x02\x07\n\r\n\x05\
19075    \x04\x1d\x02\x01\x01\x12\x04\x83\x04\x08\x19\n\r\n\x05\x04\x1d\x02\x01\
19076    \x03\x12\x04\x83\x04\x1c\x1d\n\x15\n\x02\x04\x1e\x12\x06\x87\x04\0\x8a\
19077    \x04\x01\x1a\x07\x20block\n\n\x0b\n\x03\x04\x1e\x01\x12\x04\x87\x04\x08\
19078    \r\n\x0c\n\x04\x04\x1e\x02\0\x12\x04\x88\x04\x02(\n\r\n\x05\x04\x1e\x02\
19079    \0\x04\x12\x04\x88\x04\x02\n\n\r\n\x05\x04\x1e\x02\0\x06\x12\x04\x88\x04\
19080    \x0b\x16\n\r\n\x05\x04\x1e\x02\0\x01\x12\x04\x88\x04\x17#\n\r\n\x05\x04\
19081    \x1e\x02\0\x03\x12\x04\x88\x04&'\n\x0c\n\x04\x04\x1e\x02\x01\x12\x04\x89\
19082    \x04\x02\x1f\n\r\n\x05\x04\x1e\x02\x01\x06\x12\x04\x89\x04\x02\r\n\r\n\
19083    \x05\x04\x1e\x02\x01\x01\x12\x04\x89\x04\x0e\x1a\n\r\n\x05\x04\x1e\x02\
19084    \x01\x03\x12\x04\x89\x04\x1d\x1e\n\x0c\n\x02\x04\x1f\x12\x06\x8c\x04\0\
19085    \x93\x04\x01\n\x0b\n\x03\x04\x1f\x01\x12\x04\x8c\x04\x08\x16\n\x0e\n\x04\
19086    \x04\x1f\x03\0\x12\x06\x8d\x04\x02\x90\x04\x03\n\r\n\x05\x04\x1f\x03\0\
19087    \x01\x12\x04\x8d\x04\n\x11\n\x0e\n\x06\x04\x1f\x03\0\x02\0\x12\x04\x8e\
19088    \x04\x04\x13\n\x0f\n\x07\x04\x1f\x03\0\x02\0\x05\x12\x04\x8e\x04\x04\t\n\
19089    \x0f\n\x07\x04\x1f\x03\0\x02\0\x01\x12\x04\x8e\x04\n\x0e\n\x0f\n\x07\x04\
19090    \x1f\x03\0\x02\0\x03\x12\x04\x8e\x04\x11\x12\n\x0e\n\x06\x04\x1f\x03\0\
19091    \x02\x01\x12\x04\x8f\x04\x04\x15\n\x0f\n\x07\x04\x1f\x03\0\x02\x01\x05\
19092    \x12\x04\x8f\x04\x04\t\n\x0f\n\x07\x04\x1f\x03\0\x02\x01\x01\x12\x04\x8f\
19093    \x04\n\x10\n\x0f\n\x07\x04\x1f\x03\0\x02\x01\x03\x12\x04\x8f\x04\x13\x14\
19094    \n\x0c\n\x04\x04\x1f\x02\0\x12\x04\x91\x04\x02\x1b\n\r\n\x05\x04\x1f\x02\
19095    \0\x04\x12\x04\x91\x04\x02\n\n\r\n\x05\x04\x1f\x02\0\x06\x12\x04\x91\x04\
19096    \x0b\x12\n\r\n\x05\x04\x1f\x02\0\x01\x12\x04\x91\x04\x13\x16\n\r\n\x05\
19097    \x04\x1f\x02\0\x03\x12\x04\x91\x04\x19\x1a\n\x0c\n\x04\x04\x1f\x02\x01\
19098    \x12\x04\x92\x04\x02\x17\n\r\n\x05\x04\x1f\x02\x01\x05\x12\x04\x92\x04\
19099    \x02\x07\n\r\n\x05\x04\x1f\x02\x01\x01\x12\x04\x92\x04\x08\x12\n\r\n\x05\
19100    \x04\x1f\x02\x01\x03\x12\x04\x92\x04\x15\x16\n\x19\n\x02\x04\x20\x12\x06\
19101    \x96\x04\0\xa3\x04\x01\x1a\x0b\x20Inventory\n\n\x0b\n\x03\x04\x20\x01\
19102    \x12\x04\x96\x04\x08\x16\n\x0e\n\x04\x04\x20\x04\0\x12\x06\x97\x04\x02\
19103    \x9b\x04\x03\n\r\n\x05\x04\x20\x04\0\x01\x12\x04\x97\x04\x07\x0b\n\x0e\n\
19104    \x06\x04\x20\x04\0\x02\0\x12\x04\x98\x04\x04\r\n\x0f\n\x07\x04\x20\x04\0\
19105    \x02\0\x01\x12\x04\x98\x04\x04\x08\n\x0f\n\x07\x04\x20\x04\0\x02\0\x02\
19106    \x12\x04\x98\x04\x0b\x0c\n\x0e\n\x06\x04\x20\x04\0\x02\x01\x12\x04\x99\
19107    \x04\x04\x10\n\x0f\n\x07\x04\x20\x04\0\x02\x01\x01\x12\x04\x99\x04\x04\
19108    \x0b\n\x0f\n\x07\x04\x20\x04\0\x02\x01\x02\x12\x04\x99\x04\x0e\x0f\n\x0e\
19109    \n\x06\x04\x20\x04\0\x02\x02\x12\x04\x9a\x04\x04\x0e\n\x0f\n\x07\x04\x20\
19110    \x04\0\x02\x02\x01\x12\x04\x9a\x04\x04\t\n\x0f\n\x07\x04\x20\x04\0\x02\
19111    \x02\x02\x12\x04\x9a\x04\x0c\r\n\x0e\n\x04\x04\x20\x03\0\x12\x06\x9d\x04\
19112    \x02\xa0\x04\x03\n\r\n\x05\x04\x20\x03\0\x01\x12\x04\x9d\x04\n\x11\n\x0e\
19113    \n\x06\x04\x20\x03\0\x02\0\x12\x04\x9e\x04\x04\x13\n\x0f\n\x07\x04\x20\
19114    \x03\0\x02\0\x05\x12\x04\x9e\x04\x04\t\n\x0f\n\x07\x04\x20\x03\0\x02\0\
19115    \x01\x12\x04\x9e\x04\n\x0e\n\x0f\n\x07\x04\x20\x03\0\x02\0\x03\x12\x04\
19116    \x9e\x04\x11\x12\n\x0e\n\x06\x04\x20\x03\0\x02\x01\x12\x04\x9f\x04\x04\
19117    \x15\n\x0f\n\x07\x04\x20\x03\0\x02\x01\x05\x12\x04\x9f\x04\x04\t\n\x0f\n\
19118    \x07\x04\x20\x03\0\x02\x01\x01\x12\x04\x9f\x04\n\x10\n\x0f\n\x07\x04\x20\
19119    \x03\0\x02\x01\x03\x12\x04\x9f\x04\x13\x14\n\x0c\n\x04\x04\x20\x02\0\x12\
19120    \x04\xa1\x04\x02\x1b\n\r\n\x05\x04\x20\x02\0\x04\x12\x04\xa1\x04\x02\n\n\
19121    \r\n\x05\x04\x20\x02\0\x06\x12\x04\xa1\x04\x0b\x12\n\r\n\x05\x04\x20\x02\
19122    \0\x01\x12\x04\xa1\x04\x13\x16\n\r\n\x05\x04\x20\x02\0\x03\x12\x04\xa1\
19123    \x04\x19\x1a\n\x0c\n\x04\x04\x20\x02\x01\x12\x04\xa2\x04\x02\x10\n\r\n\
19124    \x05\x04\x20\x02\x01\x06\x12\x04\xa2\x04\x02\x06\n\r\n\x05\x04\x20\x02\
19125    \x01\x01\x12\x04\xa2\x04\x07\x0b\n\r\n\x05\x04\x20\x02\x01\x03\x12\x04\
19126    \xa2\x04\x0e\x0f\n\x0c\n\x02\x04!\x12\x06\xa5\x04\0\xac\x04\x01\n\x0b\n\
19127    \x03\x04!\x01\x12\x04\xa5\x04\x08\x11\n\x0e\n\x04\x04!\x04\0\x12\x06\xa6\
19128    \x04\x02\xa9\x04\x03\n\r\n\x05\x04!\x04\0\x01\x12\x04\xa6\x04\x07\x14\n\
19129    \x0e\n\x06\x04!\x04\0\x02\0\x12\x04\xa7\x04\x04\x0c\n\x0f\n\x07\x04!\x04\
19130    \0\x02\0\x01\x12\x04\xa7\x04\x04\x07\n\x0f\n\x07\x04!\x04\0\x02\0\x02\
19131    \x12\x04\xa7\x04\n\x0b\n\x0e\n\x06\x04!\x04\0\x02\x01\x12\x04\xa8\x04\
19132    \x04\x0e\n\x0f\n\x07\x04!\x04\0\x02\x01\x01\x12\x04\xa8\x04\x04\t\n\x0f\
19133    \n\x07\x04!\x04\0\x02\x01\x02\x12\x04\xa8\x04\x0c\r\n\x0c\n\x04\x04!\x02\
19134    \0\x12\x04\xaa\x04\x02\x19\n\r\n\x05\x04!\x02\0\x06\x12\x04\xaa\x04\x02\
19135    \x0f\n\r\n\x05\x04!\x02\0\x01\x12\x04\xaa\x04\x10\x14\n\r\n\x05\x04!\x02\
19136    \0\x03\x12\x04\xaa\x04\x17\x18\n\x0c\n\x04\x04!\x02\x01\x12\x04\xab\x04\
19137    \x02\x19\n\r\n\x05\x04!\x02\x01\x04\x12\x04\xab\x04\x02\n\n\r\n\x05\x04!\
19138    \x02\x01\x05\x12\x04\xab\x04\x0b\x10\n\r\n\x05\x04!\x02\x01\x01\x12\x04\
19139    \xab\x04\x11\x14\n\r\n\x05\x04!\x02\x01\x03\x12\x04\xab\x04\x17\x18\n\
19140    \x0c\n\x02\x04\"\x12\x06\xae\x04\0\xba\x04\x01\n\x0b\n\x03\x04\"\x01\x12\
19141    \x04\xae\x04\x08\r\n\x0e\n\x04\x04\"\x04\0\x12\x06\xaf\x04\x02\xb4\x04\
19142    \x03\n\r\n\x05\x04\"\x04\0\x01\x12\x04\xaf\x04\x07\x0f\n\x0e\n\x06\x04\"\
19143    \x04\0\x02\0\x12\x04\xb0\x04\x04\x0c\n\x0f\n\x07\x04\"\x04\0\x02\0\x01\
19144    \x12\x04\xb0\x04\x04\x07\n\x0f\n\x07\x04\"\x04\0\x02\0\x02\x12\x04\xb0\
19145    \x04\n\x0b\n\x0e\n\x06\x04\"\x04\0\x02\x01\x12\x04\xb1\x04\x04\x0c\n\x0f\
19146    \n\x07\x04\"\x04\0\x02\x01\x01\x12\x04\xb1\x04\x04\x07\n\x0f\n\x07\x04\"\
19147    \x04\0\x02\x01\x02\x12\x04\xb1\x04\n\x0b\n\x0e\n\x06\x04\"\x04\0\x02\x02\
19148    \x12\x04\xb2\x04\x04\x0e\n\x0f\n\x07\x04\"\x04\0\x02\x02\x01\x12\x04\xb2\
19149    \x04\x04\t\n\x0f\n\x07\x04\"\x04\0\x02\x02\x02\x12\x04\xb2\x04\x0c\r\n\
19150    \x0e\n\x06\x04\"\x04\0\x02\x03\x12\x04\xb3\x04\x04\x14\n\x0f\n\x07\x04\"\
19151    \x04\0\x02\x03\x01\x12\x04\xb3\x04\x04\x0f\n\x0f\n\x07\x04\"\x04\0\x02\
19152    \x03\x02\x12\x04\xb3\x04\x12\x13\n\x0c\n\x04\x04\"\x02\0\x12\x04\xb6\x04\
19153    \x02\x14\n\r\n\x05\x04\"\x02\0\x06\x12\x04\xb6\x04\x02\n\n\r\n\x05\x04\"\
19154    \x02\0\x01\x12\x04\xb6\x04\x0b\x0f\n\r\n\x05\x04\"\x02\0\x03\x12\x04\xb6\
19155    \x04\x12\x13\n\x0c\n\x04\x04\"\x02\x01\x12\x04\xb7\x04\x02\x1c\n\r\n\x05\
19156    \x04\"\x02\x01\x04\x12\x04\xb7\x04\x02\n\n\r\n\x05\x04\"\x02\x01\x06\x12\
19157    \x04\xb7\x04\x0b\x10\n\r\n\x05\x04\"\x02\x01\x01\x12\x04\xb7\x04\x11\x17\
19158    \n\r\n\x05\x04\"\x02\x01\x03\x12\x04\xb7\x04\x1a\x1b\n\x0c\n\x04\x04\"\
19159    \x02\x02\x12\x04\xb8\x04\x02)\n\r\n\x05\x04\"\x02\x02\x04\x12\x04\xb8\
19160    \x04\x02\n\n\r\n\x05\x04\"\x02\x02\x06\x12\x04\xb8\x04\x0b\x16\n\r\n\x05\
19161    \x04\"\x02\x02\x01\x12\x04\xb8\x04\x17$\n\r\n\x05\x04\"\x02\x02\x03\x12\
19162    \x04\xb8\x04'(\n\x0c\n\x04\x04\"\x02\x03\x12\x04\xb9\x04\x02(\n\r\n\x05\
19163    \x04\"\x02\x03\x04\x12\x04\xb9\x04\x02\n\n\r\n\x05\x04\"\x02\x03\x06\x12\
19164    \x04\xb9\x04\x0b\x16\n\r\n\x05\x04\"\x02\x03\x01\x12\x04\xb9\x04\x17#\n\
19165    \r\n\x05\x04\"\x02\x03\x03\x12\x04\xb9\x04&'\n!\n\x02\x04#\x12\x06\xbd\
19166    \x04\0\xbf\x04\x01\x1a\x13\x20DynamicProperties\n\n\x0b\n\x03\x04#\x01\
19167    \x12\x04\xbd\x04\x08\x19\n\x0c\n\x04\x04#\x02\0\x12\x04\xbe\x04\x02$\n\r\
19168    \n\x05\x04#\x02\0\x05\x12\x04\xbe\x04\x02\x07\n\r\n\x05\x04#\x02\0\x01\
19169    \x12\x04\xbe\x04\x08\x1f\n\r\n\x05\x04#\x02\0\x03\x12\x04\xbe\x04\"#\n\
19170    \x0c\n\x02\x05\x01\x12\x06\xc1\x04\0\xde\x04\x01\n\x0b\n\x03\x05\x01\x01\
19171    \x12\x04\xc1\x04\x05\x0f\n\x0c\n\x04\x05\x01\x02\0\x12\x04\xc2\x04\x02\
19172    \x13\n\r\n\x05\x05\x01\x02\0\x01\x12\x04\xc2\x04\x02\x0b\n\r\n\x05\x05\
19173    \x01\x02\0\x02\x12\x04\xc2\x04\x0e\x12\n\x0c\n\x04\x05\x01\x02\x01\x12\
19174    \x04\xc3\x04\x02\x16\n\r\n\x05\x05\x01\x02\x01\x01\x12\x04\xc3\x04\x02\
19175    \x0e\n\r\n\x05\x05\x01\x02\x01\x02\x12\x04\xc3\x04\x11\x15\n\x0c\n\x04\
19176    \x05\x01\x02\x02\x12\x04\xc4\x04\x02\x18\n\r\n\x05\x05\x01\x02\x02\x01\
19177    \x12\x04\xc4\x04\x02\x10\n\r\n\x05\x05\x01\x02\x02\x02\x12\x04\xc4\x04\
19178    \x13\x17\n\x0c\n\x04\x05\x01\x02\x03\x12\x04\xc5\x04\x02\x18\n\r\n\x05\
19179    \x05\x01\x02\x03\x01\x12\x04\xc5\x04\x02\x10\n\r\n\x05\x05\x01\x02\x03\
19180    \x02\x12\x04\xc5\x04\x13\x17\n\x0c\n\x04\x05\x01\x02\x04\x12\x04\xc6\x04\
19181    \x02\x1f\n\r\n\x05\x05\x01\x02\x04\x01\x12\x04\xc6\x04\x02\x17\n\r\n\x05\
19182    \x05\x01\x02\x04\x02\x12\x04\xc6\x04\x1a\x1e\n\x0c\n\x04\x05\x01\x02\x05\
19183    \x12\x04\xc7\x04\x02\x1c\n\r\n\x05\x05\x01\x02\x05\x01\x12\x04\xc7\x04\
19184    \x02\x14\n\r\n\x05\x05\x01\x02\x05\x02\x12\x04\xc7\x04\x17\x1b\n\x0c\n\
19185    \x04\x05\x01\x02\x06\x12\x04\xc8\x04\x02\x16\n\r\n\x05\x05\x01\x02\x06\
19186    \x01\x12\x04\xc8\x04\x02\x0e\n\r\n\x05\x05\x01\x02\x06\x02\x12\x04\xc8\
19187    \x04\x11\x15\n\x0c\n\x04\x05\x01\x02\x07\x12\x04\xc9\x04\x02\x1d\n\r\n\
19188    \x05\x05\x01\x02\x07\x01\x12\x04\xc9\x04\x02\x15\n\r\n\x05\x05\x01\x02\
19189    \x07\x02\x12\x04\xc9\x04\x18\x1c\n\x0c\n\x04\x05\x01\x02\x08\x12\x04\xca\
19190    \x04\x02\x18\n\r\n\x05\x05\x01\x02\x08\x01\x12\x04\xca\x04\x02\x10\n\r\n\
19191    \x05\x05\x01\x02\x08\x02\x12\x04\xca\x04\x13\x17\n\x0c\n\x04\x05\x01\x02\
19192    \t\x12\x04\xcb\x04\x02\x16\n\r\n\x05\x05\x01\x02\t\x01\x12\x04\xcb\x04\
19193    \x02\x0e\n\r\n\x05\x05\x01\x02\t\x02\x12\x04\xcb\x04\x11\x15\n\x0c\n\x04\
19194    \x05\x01\x02\n\x12\x04\xcc\x04\x02\x15\n\r\n\x05\x05\x01\x02\n\x01\x12\
19195    \x04\xcc\x04\x02\r\n\r\n\x05\x05\x01\x02\n\x02\x12\x04\xcc\x04\x10\x14\n\
19196    \x0c\n\x04\x05\x01\x02\x0b\x12\x04\xcd\x04\x02\x0f\n\r\n\x05\x05\x01\x02\
19197    \x0b\x01\x12\x04\xcd\x04\x02\x07\n\r\n\x05\x05\x01\x02\x0b\x02\x12\x04\
19198    \xcd\x04\n\x0e\n\x0c\n\x04\x05\x01\x02\x0c\x12\x04\xce\x04\x02\x13\n\r\n\
19199    \x05\x05\x01\x02\x0c\x01\x12\x04\xce\x04\x02\x0b\n\r\n\x05\x05\x01\x02\
19200    \x0c\x02\x12\x04\xce\x04\x0e\x12\n\x0c\n\x04\x05\x01\x02\r\x12\x04\xcf\
19201    \x04\x02\x14\n\r\n\x05\x05\x01\x02\r\x01\x12\x04\xcf\x04\x02\x0c\n\r\n\
19202    \x05\x05\x01\x02\r\x02\x12\x04\xcf\x04\x0f\x13\n\x0c\n\x04\x05\x01\x02\
19203    \x0e\x12\x04\xd0\x04\x02\x10\n\r\n\x05\x05\x01\x02\x0e\x01\x12\x04\xd0\
19204    \x04\x02\x08\n\r\n\x05\x05\x01\x02\x0e\x02\x12\x04\xd0\x04\x0b\x0f\n\x0c\
19205    \n\x04\x05\x01\x02\x0f\x12\x04\xd1\x04\x02\x13\n\r\n\x05\x05\x01\x02\x0f\
19206    \x01\x12\x04\xd1\x04\x02\x0b\n\r\n\x05\x05\x01\x02\x0f\x02\x12\x04\xd1\
19207    \x04\x0e\x12\n\x0c\n\x04\x05\x01\x02\x10\x12\x04\xd2\x04\x02\x10\n\r\n\
19208    \x05\x05\x01\x02\x10\x01\x12\x04\xd2\x04\x02\x08\n\r\n\x05\x05\x01\x02\
19209    \x10\x02\x12\x04\xd2\x04\x0b\x0f\n\x0c\n\x04\x05\x01\x02\x11\x12\x04\xd3\
19210    \x04\x02\x14\n\r\n\x05\x05\x01\x02\x11\x01\x12\x04\xd3\x04\x02\x0c\n\r\n\
19211    \x05\x05\x01\x02\x11\x02\x12\x04\xd3\x04\x0f\x13\n\x0c\n\x04\x05\x01\x02\
19212    \x12\x12\x04\xd4\x04\x02\x1e\n\r\n\x05\x05\x01\x02\x12\x01\x12\x04\xd4\
19213    \x04\x02\x16\n\r\n\x05\x05\x01\x02\x12\x02\x12\x04\xd4\x04\x19\x1d\n\x0c\
19214    \n\x04\x05\x01\x02\x13\x12\x04\xd5\x04\x02\x1c\n\r\n\x05\x05\x01\x02\x13\
19215    \x01\x12\x04\xd5\x04\x02\x14\n\r\n\x05\x05\x01\x02\x13\x02\x12\x04\xd5\
19216    \x04\x17\x1b\n\x0c\n\x04\x05\x01\x02\x14\x12\x04\xd6\x04\x02\x12\n\r\n\
19217    \x05\x05\x01\x02\x14\x01\x12\x04\xd6\x04\x02\n\n\r\n\x05\x05\x01\x02\x14\
19218    \x02\x12\x04\xd6\x04\r\x11\n\x0c\n\x04\x05\x01\x02\x15\x12\x04\xd7\x04\
19219    \x02\x16\n\r\n\x05\x05\x01\x02\x15\x01\x12\x04\xd7\x04\x02\x0e\n\r\n\x05\
19220    \x05\x01\x02\x15\x02\x12\x04\xd7\x04\x11\x15\n\x0c\n\x04\x05\x01\x02\x16\
19221    \x12\x04\xd8\x04\x02%\n\r\n\x05\x05\x01\x02\x16\x01\x12\x04\xd8\x04\x02\
19222    \x1d\n\r\n\x05\x05\x01\x02\x16\x02\x12\x04\xd8\x04\x20$\n\x0c\n\x04\x05\
19223    \x01\x02\x17\x12\x04\xd9\x04\x02\x1e\n\r\n\x05\x05\x01\x02\x17\x01\x12\
19224    \x04\xd9\x04\x02\x16\n\r\n\x05\x05\x01\x02\x17\x02\x12\x04\xd9\x04\x19\
19225    \x1d\n\x0c\n\x04\x05\x01\x02\x18\x12\x04\xda\x04\x02\x17\n\r\n\x05\x05\
19226    \x01\x02\x18\x01\x12\x04\xda\x04\x02\x0f\n\r\n\x05\x05\x01\x02\x18\x02\
19227    \x12\x04\xda\x04\x12\x16\n\x0c\n\x04\x05\x01\x02\x19\x12\x04\xdb\x04\x02\
19228    \x15\n\r\n\x05\x05\x01\x02\x19\x01\x12\x04\xdb\x04\x02\r\n\r\n\x05\x05\
19229    \x01\x02\x19\x02\x12\x04\xdb\x04\x10\x14\n\x0c\n\x04\x05\x01\x02\x1a\x12\
19230    \x04\xdc\x04\x02\x19\n\r\n\x05\x05\x01\x02\x1a\x01\x12\x04\xdc\x04\x02\
19231    \x11\n\r\n\x05\x05\x01\x02\x1a\x02\x12\x04\xdc\x04\x14\x18\n\x0c\n\x04\
19232    \x05\x01\x02\x1b\x12\x04\xdd\x04\x02\x11\n\r\n\x05\x05\x01\x02\x1b\x01\
19233    \x12\x04\xdd\x04\x02\t\n\r\n\x05\x05\x01\x02\x1b\x02\x12\x04\xdd\x04\x0c\
19234    \x10\n\x0c\n\x02\x04$\x12\x06\xe0\x04\0\xe2\x04\x01\n\x0b\n\x03\x04$\x01\
19235    \x12\x04\xe0\x04\x08\x19\n\x0c\n\x04\x04$\x02\0\x12\x04\xe1\x04\x02\x18\
19236    \n\r\n\x05\x04$\x02\0\x06\x12\x04\xe1\x04\x02\x0c\n\r\n\x05\x04$\x02\0\
19237    \x01\x12\x04\xe1\x04\r\x13\n\r\n\x05\x04$\x02\0\x03\x12\x04\xe1\x04\x16\
19238    \x17\n\x0c\n\x02\x04%\x12\x06\xe4\x04\0\xf4\x04\x01\n\x0b\n\x03\x04%\x01\
19239    \x12\x04\xe4\x04\x08\x14\n\x0e\n\x04\x04%\x03\0\x12\x06\xe5\x04\x02\xe8\
19240    \x04\x03\n\r\n\x05\x04%\x03\0\x01\x12\x04\xe5\x04\n\x11\n\x0e\n\x06\x04%\
19241    \x03\0\x02\0\x12\x04\xe6\x04\x04\x13\n\x0f\n\x07\x04%\x03\0\x02\0\x05\
19242    \x12\x04\xe6\x04\x04\t\n\x0f\n\x07\x04%\x03\0\x02\0\x01\x12\x04\xe6\x04\
19243    \n\x0e\n\x0f\n\x07\x04%\x03\0\x02\0\x03\x12\x04\xe6\x04\x11\x12\n\x0e\n\
19244    \x06\x04%\x03\0\x02\x01\x12\x04\xe7\x04\x04\x15\n\x0f\n\x07\x04%\x03\0\
19245    \x02\x01\x05\x12\x04\xe7\x04\x04\t\n\x0f\n\x07\x04%\x03\0\x02\x01\x01\
19246    \x12\x04\xe7\x04\n\x10\n\x0f\n\x07\x04%\x03\0\x02\x01\x03\x12\x04\xe7\
19247    \x04\x13\x14\n\x0c\n\x04\x04%\x02\0\x12\x04\xea\x04\x02\x14\n\r\n\x05\
19248    \x04%\x02\0\x06\x12\x04\xea\x04\x02\n\n\r\n\x05\x04%\x02\0\x01\x12\x04\
19249    \xea\x04\x0b\x0f\n\r\n\x05\x04%\x02\0\x03\x12\x04\xea\x04\x12\x13\n\x0c\
19250    \n\x04\x04%\x02\x01\x12\x04\xeb\x04\x02\x14\n\r\n\x05\x04%\x02\x01\x05\
19251    \x12\x04\xeb\x04\x02\x07\n\r\n\x05\x04%\x02\x01\x01\x12\x04\xeb\x04\x08\
19252    \x0f\n\r\n\x05\x04%\x02\x01\x03\x12\x04\xeb\x04\x12\x13\n\x0c\n\x04\x04%\
19253    \x02\x02\x12\x04\xec\x04\x02\x16\n\r\n\x05\x04%\x02\x02\x05\x12\x04\xec\
19254    \x04\x02\x07\n\r\n\x05\x04%\x02\x02\x01\x12\x04\xec\x04\x08\x11\n\r\n\
19255    \x05\x04%\x02\x02\x03\x12\x04\xec\x04\x14\x15\n\x0c\n\x04\x04%\x02\x03\
19256    \x12\x04\xed\x04\x02\x1d\n\r\n\x05\x04%\x02\x03\x06\x12\x04\xed\x04\x02\
19257    \t\n\r\n\x05\x04%\x02\x03\x01\x12\x04\xed\x04\n\x18\n\r\n\x05\x04%\x02\
19258    \x03\x03\x12\x04\xed\x04\x1b\x1c\n\x0c\n\x04\x04%\x02\x04\x12\x04\xee\
19259    \x04\x02\x1b\n\r\n\x05\x04%\x02\x04\x06\x12\x04\xee\x04\x02\t\n\r\n\x05\
19260    \x04%\x02\x04\x01\x12\x04\xee\x04\n\x16\n\r\n\x05\x04%\x02\x04\x03\x12\
19261    \x04\xee\x04\x19\x1a\n\x0c\n\x04\x04%\x02\x05\x12\x04\xef\x04\x02\x1a\n\
19262    \r\n\x05\x04%\x02\x05\x06\x12\x04\xef\x04\x02\t\n\r\n\x05\x04%\x02\x05\
19263    \x01\x12\x04\xef\x04\n\x15\n\r\n\x05\x04%\x02\x05\x03\x12\x04\xef\x04\
19264    \x18\x19\n\x0c\n\x04\x04%\x02\x06\x12\x04\xf0\x04\x02\x14\n\r\n\x05\x04%\
19265    \x02\x06\x05\x12\x04\xf0\x04\x02\x07\n\r\n\x05\x04%\x02\x06\x01\x12\x04\
19266    \xf0\x04\x08\x0f\n\r\n\x05\x04%\x02\x06\x03\x12\x04\xf0\x04\x12\x13\n\
19267    \x0c\n\x04\x04%\x02\x07\x12\x04\xf1\x04\x02\x16\n\r\n\x05\x04%\x02\x07\
19268    \x05\x12\x04\xf1\x04\x02\x07\n\r\n\x05\x04%\x02\x07\x01\x12\x04\xf1\x04\
19269    \x08\x11\n\r\n\x05\x04%\x02\x07\x03\x12\x04\xf1\x04\x14\x15\n\x0c\n\x04\
19270    \x04%\x02\x08\x12\x04\xf2\x04\x02\x15\n\r\n\x05\x04%\x02\x08\x05\x12\x04\
19271    \xf2\x04\x02\x07\n\r\n\x05\x04%\x02\x08\x01\x12\x04\xf2\x04\x08\x10\n\r\
19272    \n\x05\x04%\x02\x08\x03\x12\x04\xf2\x04\x13\x14\n\x0c\n\x04\x04%\x02\t\
19273    \x12\x04\xf3\x04\x02\x1c\n\r\n\x05\x04%\x02\t\x05\x12\x04\xf3\x04\x02\
19274    \x07\n\r\n\x05\x04%\x02\t\x01\x12\x04\xf3\x04\x08\x16\n\r\n\x05\x04%\x02\
19275    \t\x03\x12\x04\xf3\x04\x19\x1b\n\x0c\n\x02\x04&\x12\x06\xf6\x04\0\x88\
19276    \x05\x01\n\x0b\n\x03\x04&\x01\x12\x04\xf6\x04\x08\x1b\nv\n\x04\x04&\x02\
19277    \0\x12\x04\xf9\x04\x02\x11\x1ah\x20internalTransaction\x20identity,\x20t\
19278    he\x20root\x20InternalTransaction\x20hash\n\x20should\x20equals\x20to\
19279    \x20root\x20transaction\x20id.\n\n\r\n\x05\x04&\x02\0\x05\x12\x04\xf9\
19280    \x04\x02\x07\n\r\n\x05\x04&\x02\0\x01\x12\x04\xf9\x04\x08\x0c\n\r\n\x05\
19281    \x04&\x02\0\x03\x12\x04\xf9\x04\x0f\x10\n=\n\x04\x04&\x02\x01\x12\x04\
19282    \xfb\x04\x02\x1b\x1a/\x20the\x20one\x20send\x20trx\x20(TBD:\x20or\x20tok\
19283    en)\x20via\x20function\n\n\r\n\x05\x04&\x02\x01\x05\x12\x04\xfb\x04\x02\
19284    \x07\n\r\n\x05\x04&\x02\x01\x01\x12\x04\xfb\x04\x08\x16\n\r\n\x05\x04&\
19285    \x02\x01\x03\x12\x04\xfb\x04\x19\x1a\n@\n\x04\x04&\x02\x02\x12\x04\xfd\
19286    \x04\x02\x1f\x1a2\x20the\x20one\x20recieve\x20trx\x20(TBD:\x20or\x20toke\
19287    n)\x20via\x20function\n\n\r\n\x05\x04&\x02\x02\x05\x12\x04\xfd\x04\x02\
19288    \x07\n\r\n\x05\x04&\x02\x02\x01\x12\x04\xfd\x04\x08\x1a\n\r\n\x05\x04&\
19289    \x02\x02\x03\x12\x04\xfd\x04\x1d\x1e\n\x0e\n\x04\x04&\x03\0\x12\x06\xfe\
19290    \x04\x02\x83\x05\x03\n\r\n\x05\x04&\x03\0\x01\x12\x04\xfe\x04\n\x17\n+\n\
19291    \x06\x04&\x03\0\x02\0\x12\x04\x80\x05\x04\x18\x1a\x1b\x20trx\x20(TBD:\
19292    \x20or\x20token)\x20value\n\n\x0f\n\x07\x04&\x03\0\x02\0\x05\x12\x04\x80\
19293    \x05\x04\t\n\x0f\n\x07\x04&\x03\0\x02\0\x01\x12\x04\x80\x05\n\x13\n\x0f\
19294    \n\x07\x04&\x03\0\x02\0\x03\x12\x04\x80\x05\x16\x17\n5\n\x06\x04&\x03\0\
19295    \x02\x01\x12\x04\x82\x05\x04\x17\x1a%\x20TBD:\x20tokenName,\x20trx\x20sh\
19296    ould\x20be\x20empty\n\n\x0f\n\x07\x04&\x03\0\x02\x01\x05\x12\x04\x82\x05\
19297    \x04\n\n\x0f\n\x07\x04&\x03\0\x02\x01\x01\x12\x04\x82\x05\x0b\x12\n\x0f\
19298    \n\x07\x04&\x03\0\x02\x01\x03\x12\x04\x82\x05\x15\x16\n\x0c\n\x04\x04&\
19299    \x02\x03\x12\x04\x84\x05\x02+\n\r\n\x05\x04&\x02\x03\x04\x12\x04\x84\x05\
19300    \x02\n\n\r\n\x05\x04&\x02\x03\x06\x12\x04\x84\x05\x0b\x18\n\r\n\x05\x04&\
19301    \x02\x03\x01\x12\x04\x84\x05\x19&\n\r\n\x05\x04&\x02\x03\x03\x12\x04\x84\
19302    \x05)*\n\x0c\n\x04\x04&\x02\x04\x12\x04\x85\x05\x02\x11\n\r\n\x05\x04&\
19303    \x02\x04\x05\x12\x04\x85\x05\x02\x07\n\r\n\x05\x04&\x02\x04\x01\x12\x04\
19304    \x85\x05\x08\x0c\n\r\n\x05\x04&\x02\x04\x03\x12\x04\x85\x05\x0f\x10\n\
19305    \x0c\n\x04\x04&\x02\x05\x12\x04\x86\x05\x02\x14\n\r\n\x05\x04&\x02\x05\
19306    \x05\x12\x04\x86\x05\x02\x06\n\r\n\x05\x04&\x02\x05\x01\x12\x04\x86\x05\
19307    \x07\x0f\n\r\n\x05\x04&\x02\x05\x03\x12\x04\x86\x05\x12\x13\n\x0c\n\x04\
19308    \x04&\x02\x06\x12\x04\x87\x05\x02\x13\n\r\n\x05\x04&\x02\x06\x05\x12\x04\
19309    \x87\x05\x02\x08\n\r\n\x05\x04&\x02\x06\x01\x12\x04\x87\x05\t\x0e\n\r\n\
19310    \x05\x04&\x02\x06\x03\x12\x04\x87\x05\x11\x12\n\x0c\n\x02\x04'\x12\x06\
19311    \x8a\x05\0\x8f\x05\x01\n\x0b\n\x03\x04'\x01\x12\x04\x8a\x05\x08%\n\x0c\n\
19312    \x04\x04'\x02\0\x12\x04\x8b\x05\x02\x14\n\r\n\x05\x04'\x02\0\x05\x12\x04\
19313    \x8b\x05\x02\x07\n\r\n\x05\x04'\x02\0\x01\x12\x04\x8b\x05\x08\x0f\n\r\n\
19314    \x05\x04'\x02\0\x03\x12\x04\x8b\x05\x12\x13\n\x0c\n\x04\x04'\x02\x01\x12\
19315    \x04\x8c\x05\x02\"\n\r\n\x05\x04'\x02\x01\x04\x12\x04\x8c\x05\x02\n\n\r\
19316    \n\x05\x04'\x02\x01\x05\x12\x04\x8c\x05\x0b\x10\n\r\n\x05\x04'\x02\x01\
19317    \x01\x12\x04\x8c\x05\x11\x1d\n\r\n\x05\x04'\x02\x01\x03\x12\x04\x8c\x05\
19318    \x20!\n\x0c\n\x04\x04'\x02\x02\x12\x04\x8d\x05\x02\x20\n\r\n\x05\x04'\
19319    \x02\x02\x04\x12\x04\x8d\x05\x02\n\n\r\n\x05\x04'\x02\x02\x05\x12\x04\
19320    \x8d\x05\x0b\x10\n\r\n\x05\x04'\x02\x02\x01\x12\x04\x8d\x05\x11\x1b\n\r\
19321    \n\x05\x04'\x02\x02\x03\x12\x04\x8d\x05\x1e\x1f\n\x0c\n\x04\x04'\x02\x03\
19322    \x12\x04\x8e\x05\x02\x16\n\r\n\x05\x04'\x02\x03\x05\x12\x04\x8e\x05\x02\
19323    \x07\n\r\n\x05\x04'\x02\x03\x01\x12\x04\x8e\x05\x08\x11\n\r\n\x05\x04'\
19324    \x02\x03\x03\x12\x04\x8e\x05\x14\x15\n\x0c\n\x02\x04(\x12\x06\x91\x05\0\
19325    \xf2\x05\x01\n\x0b\n\x03\x04(\x01\x12\x04\x91\x05\x08\x10\n\x0c\n\x04\
19326    \x04(\x02\0\x12\x04\x92\x05\x02\x19\n\r\n\x05\x04(\x02\0\x05\x12\x04\x92\
19327    \x05\x02\x07\n\r\n\x05\x04(\x02\0\x01\x12\x04\x92\x05\x08\x14\n\r\n\x05\
19328    \x04(\x02\0\x03\x12\x04\x92\x05\x17\x18\n\x0c\n\x04\x04(\x02\x01\x12\x04\
19329    \x93\x05\x02\x13\n\r\n\x05\x04(\x02\x01\x05\x12\x04\x93\x05\x02\x08\n\r\
19330    \n\x05\x04(\x02\x01\x01\x12\x04\x93\x05\t\x0e\n\r\n\x05\x04(\x02\x01\x03\
19331    \x12\x04\x93\x05\x11\x12\n\x0c\n\x04\x04(\x02\x02\x12\x04\x94\x05\x02\
19332    \x1b\n\r\n\x05\x04(\x02\x02\x05\x12\x04\x94\x05\x02\x08\n\r\n\x05\x04(\
19333    \x02\x02\x01\x12\x04\x94\x05\t\x16\n\r\n\x05\x04(\x02\x02\x03\x12\x04\
19334    \x94\x05\x19\x1a\n\"\n\x04\x04(\x02\x03\x12\x04\x96\x05\x02\x20\x1a\x14c\
19335    onnect\x20information\n\n\r\n\x05\x04(\x02\x03\x05\x12\x04\x96\x05\x02\
19336    \x07\n\r\n\x05\x04(\x02\x03\x01\x12\x04\x96\x05\x08\x1b\n\r\n\x05\x04(\
19337    \x02\x03\x03\x12\x04\x96\x05\x1e\x1f\n\x0c\n\x04\x04(\x02\x04\x12\x04\
19338    \x97\x05\x02\x1f\n\r\n\x05\x04(\x02\x04\x05\x12\x04\x97\x05\x02\x07\n\r\
19339    \n\x05\x04(\x02\x04\x01\x12\x04\x97\x05\x08\x1a\n\r\n\x05\x04(\x02\x04\
19340    \x03\x12\x04\x97\x05\x1d\x1e\n\x0c\n\x04\x04(\x02\x05\x12\x04\x98\x05\
19341    \x02\x20\n\r\n\x05\x04(\x02\x05\x05\x12\x04\x98\x05\x02\x07\n\r\n\x05\
19342    \x04(\x02\x05\x01\x12\x04\x98\x05\x08\x1b\n\r\n\x05\x04(\x02\x05\x03\x12\
19343    \x04\x98\x05\x1e\x1f\n\x0c\n\x04\x04(\x02\x06\x12\x04\x99\x05\x02\x16\n\
19344    \r\n\x05\x04(\x02\x06\x05\x12\x04\x99\x05\x02\x07\n\r\n\x05\x04(\x02\x06\
19345    \x01\x12\x04\x99\x05\x08\x11\n\r\n\x05\x04(\x02\x06\x03\x12\x04\x99\x05\
19346    \x14\x15\n\x0c\n\x04\x04(\x02\x07\x12\x04\x9a\x05\x02%\n\r\n\x05\x04(\
19347    \x02\x07\x04\x12\x04\x9a\x05\x02\n\n\r\n\x05\x04(\x02\x07\x06\x12\x04\
19348    \x9a\x05\x0b\x13\n\r\n\x05\x04(\x02\x07\x01\x12\x04\x9a\x05\x14\x20\n\r\
19349    \n\x05\x04(\x02\x07\x03\x12\x04\x9a\x05#$\n\x0c\n\x04\x04(\x02\x08\x12\
19350    \x04\x9b\x05\x02$\n\r\n\x05\x04(\x02\x08\x06\x12\x04\x9b\x05\x02\x10\n\r\
19351    \n\x05\x04(\x02\x08\x01\x12\x04\x9b\x05\x11\x1f\n\r\n\x05\x04(\x02\x08\
19352    \x03\x12\x04\x9b\x05\"#\n\x0c\n\x04\x04(\x02\t\x12\x04\x9c\x05\x02\x1f\n\
19353    \r\n\x05\x04(\x02\t\x06\x12\x04\x9c\x05\x02\r\n\r\n\x05\x04(\x02\t\x01\
19354    \x12\x04\x9c\x05\x0e\x19\n\r\n\x05\x04(\x02\t\x03\x12\x04\x9c\x05\x1c\
19355    \x1e\n\x0c\n\x04\x04(\x02\n\x12\x04\x9d\x05\x02/\n\r\n\x05\x04(\x02\n\
19356    \x06\x12\x04\x9d\x05\x02\x15\n\r\n\x05\x04(\x02\n\x01\x12\x04\x9d\x05\
19357    \x16)\n\r\n\x05\x04(\x02\n\x03\x12\x04\x9d\x05,.\n\x0e\n\x04\x04(\x03\
19358    \x01\x12\x06\x9f\x05\x02\xb9\x05\x03\n\r\n\x05\x04(\x03\x01\x01\x12\x04\
19359    \x9f\x05\n\x12\n\x0e\n\x06\x04(\x03\x01\x02\0\x12\x04\xa0\x05\x04\x1d\n\
19360    \x0f\n\x07\x04(\x03\x01\x02\0\x05\x12\x04\xa0\x05\x04\n\n\x0f\n\x07\x04(\
19361    \x03\x01\x02\0\x01\x12\x04\xa0\x05\x0b\x18\n\x0f\n\x07\x04(\x03\x01\x02\
19362    \0\x03\x12\x04\xa0\x05\x1b\x1c\n\x0e\n\x06\x04(\x03\x01\x02\x01\x12\x04\
19363    \xa1\x05\x04\x18\n\x0f\n\x07\x04(\x03\x01\x02\x01\x05\x12\x04\xa1\x05\
19364    \x04\t\n\x0f\n\x07\x04(\x03\x01\x02\x01\x01\x12\x04\xa1\x05\n\x13\n\x0f\
19365    \n\x07\x04(\x03\x01\x02\x01\x03\x12\x04\xa1\x05\x16\x17\n\x0e\n\x06\x04(\
19366    \x03\x01\x02\x02\x12\x04\xa2\x05\x04\"\n\x0f\n\x07\x04(\x03\x01\x02\x02\
19367    \x05\x12\x04\xa2\x05\x04\t\n\x0f\n\x07\x04(\x03\x01\x02\x02\x01\x12\x04\
19368    \xa2\x05\n\x1d\n\x0f\n\x07\x04(\x03\x01\x02\x02\x03\x12\x04\xa2\x05\x20!\
19369    \n\x0e\n\x06\x04(\x03\x01\x02\x03\x12\x04\xa3\x05\x04\x16\n\x0f\n\x07\
19370    \x04(\x03\x01\x02\x03\x05\x12\x04\xa3\x05\x04\x08\n\x0f\n\x07\x04(\x03\
19371    \x01\x02\x03\x01\x12\x04\xa3\x05\t\x11\n\x0f\n\x07\x04(\x03\x01\x02\x03\
19372    \x03\x12\x04\xa3\x05\x14\x15\n\x0e\n\x06\x04(\x03\x01\x02\x04\x12\x04\
19373    \xa4\x05\x04&\n\x0f\n\x07\x04(\x03\x01\x02\x04\x05\x12\x04\xa4\x05\x04\t\
19374    \n\x0f\n\x07\x04(\x03\x01\x02\x04\x01\x12\x04\xa4\x05\n!\n\x0f\n\x07\x04\
19375    (\x03\x01\x02\x04\x03\x12\x04\xa4\x05$%\n\x0e\n\x06\x04(\x03\x01\x02\x05\
19376    \x12\x04\xa5\x05\x04\x1e\n\x0f\n\x07\x04(\x03\x01\x02\x05\x05\x12\x04\
19377    \xa5\x05\x04\x08\n\x0f\n\x07\x04(\x03\x01\x02\x05\x01\x12\x04\xa5\x05\t\
19378    \x19\n\x0f\n\x07\x04(\x03\x01\x02\x05\x03\x12\x04\xa5\x05\x1c\x1d\n\x0e\
19379    \n\x06\x04(\x03\x01\x02\x06\x12\x04\xa6\x05\x04\x1c\n\x0f\n\x07\x04(\x03\
19380    \x01\x02\x06\x05\x12\x04\xa6\x05\x04\x08\n\x0f\n\x07\x04(\x03\x01\x02\
19381    \x06\x01\x12\x04\xa6\x05\t\x17\n\x0f\n\x07\x04(\x03\x01\x02\x06\x03\x12\
19382    \x04\xa6\x05\x1a\x1b\n\x0e\n\x06\x04(\x03\x01\x02\x07\x12\x04\xa7\x05\
19383    \x04\x14\n\x0f\n\x07\x04(\x03\x01\x02\x07\x05\x12\x04\xa7\x05\x04\n\n\
19384    \x0f\n\x07\x04(\x03\x01\x02\x07\x01\x12\x04\xa7\x05\x0b\x0f\n\x0f\n\x07\
19385    \x04(\x03\x01\x02\x07\x03\x12\x04\xa7\x05\x12\x13\n\x0e\n\x06\x04(\x03\
19386    \x01\x02\x08\x12\x04\xa8\x05\x04\x13\n\x0f\n\x07\x04(\x03\x01\x02\x08\
19387    \x05\x12\x04\xa8\x05\x04\t\n\x0f\n\x07\x04(\x03\x01\x02\x08\x01\x12\x04\
19388    \xa8\x05\n\x0e\n\x0f\n\x07\x04(\x03\x01\x02\x08\x03\x12\x04\xa8\x05\x11\
19389    \x12\n\x0e\n\x06\x04(\x03\x01\x02\t\x12\x04\xa9\x05\x04\x17\n\x0f\n\x07\
19390    \x04(\x03\x01\x02\t\x05\x12\x04\xa9\x05\x04\n\n\x0f\n\x07\x04(\x03\x01\
19391    \x02\t\x01\x12\x04\xa9\x05\x0b\x11\n\x0f\n\x07\x04(\x03\x01\x02\t\x03\
19392    \x12\x04\xa9\x05\x14\x16\n\x0e\n\x06\x04(\x03\x01\x02\n\x12\x04\xaa\x05\
19393    \x04\x1b\n\x0f\n\x07\x04(\x03\x01\x02\n\x05\x12\x04\xaa\x05\x04\t\n\x0f\
19394    \n\x07\x04(\x03\x01\x02\n\x01\x12\x04\xaa\x05\n\x15\n\x0f\n\x07\x04(\x03\
19395    \x01\x02\n\x03\x12\x04\xaa\x05\x18\x1a\n\x0e\n\x06\x04(\x03\x01\x02\x0b\
19396    \x12\x04\xab\x05\x04\x1b\n\x0f\n\x07\x04(\x03\x01\x02\x0b\x05\x12\x04\
19397    \xab\x05\x04\n\n\x0f\n\x07\x04(\x03\x01\x02\x0b\x01\x12\x04\xab\x05\x0b\
19398    \x15\n\x0f\n\x07\x04(\x03\x01\x02\x0b\x03\x12\x04\xab\x05\x18\x1a\n\x0e\
19399    \n\x06\x04(\x03\x01\x02\x0c\x12\x04\xac\x05\x04\x1f\n\x0f\n\x07\x04(\x03\
19400    \x01\x02\x0c\x05\x12\x04\xac\x05\x04\t\n\x0f\n\x07\x04(\x03\x01\x02\x0c\
19401    \x01\x12\x04\xac\x05\n\x19\n\x0f\n\x07\x04(\x03\x01\x02\x0c\x03\x12\x04\
19402    \xac\x05\x1c\x1e\n\x0e\n\x06\x04(\x03\x01\x02\r\x12\x04\xad\x05\x04&\n\
19403    \x0f\n\x07\x04(\x03\x01\x02\r\x05\x12\x04\xad\x05\x04\t\n\x0f\n\x07\x04(\
19404    \x03\x01\x02\r\x01\x12\x04\xad\x05\n\x20\n\x0f\n\x07\x04(\x03\x01\x02\r\
19405    \x03\x12\x04\xad\x05#%\n\x0e\n\x06\x04(\x03\x01\x02\x0e\x12\x04\xae\x05\
19406    \x04&\n\x0f\n\x07\x04(\x03\x01\x02\x0e\x05\x12\x04\xae\x05\x04\t\n\x0f\n\
19407    \x07\x04(\x03\x01\x02\x0e\x01\x12\x04\xae\x05\n\x20\n\x0f\n\x07\x04(\x03\
19408    \x01\x02\x0e\x03\x12\x04\xae\x05#%\n\x0e\n\x06\x04(\x03\x01\x02\x0f\x12\
19409    \x04\xaf\x05\x04\x1d\n\x0f\n\x07\x04(\x03\x01\x02\x0f\x05\x12\x04\xaf\
19410    \x05\x04\t\n\x0f\n\x07\x04(\x03\x01\x02\x0f\x01\x12\x04\xaf\x05\n\x17\n\
19411    \x0f\n\x07\x04(\x03\x01\x02\x0f\x03\x12\x04\xaf\x05\x1a\x1c\n\x0e\n\x06\
19412    \x04(\x03\x01\x02\x10\x12\x04\xb0\x05\x04\x1f\n\x0f\n\x07\x04(\x03\x01\
19413    \x02\x10\x05\x12\x04\xb0\x05\x04\t\n\x0f\n\x07\x04(\x03\x01\x02\x10\x01\
19414    \x12\x04\xb0\x05\n\x19\n\x0f\n\x07\x04(\x03\x01\x02\x10\x03\x12\x04\xb0\
19415    \x05\x1c\x1e\n\x0e\n\x06\x04(\x03\x01\x02\x11\x12\x04\xb1\x05\x04$\n\x0f\
19416    \n\x07\x04(\x03\x01\x02\x11\x05\x12\x04\xb1\x05\x04\n\n\x0f\n\x07\x04(\
19417    \x03\x01\x02\x11\x01\x12\x04\xb1\x05\x0b\x1e\n\x0f\n\x07\x04(\x03\x01\
19418    \x02\x11\x03\x12\x04\xb1\x05!#\n\x0e\n\x06\x04(\x03\x01\x02\x12\x12\x04\
19419    \xb2\x05\x04\x17\n\x0f\n\x07\x04(\x03\x01\x02\x12\x05\x12\x04\xb2\x05\
19420    \x04\x08\n\x0f\n\x07\x04(\x03\x01\x02\x12\x01\x12\x04\xb2\x05\t\x11\n\
19421    \x0f\n\x07\x04(\x03\x01\x02\x12\x03\x12\x04\xb2\x05\x14\x16\n\x0e\n\x06\
19422    \x04(\x03\x01\x02\x13\x12\x04\xb3\x05\x04\x15\n\x0f\n\x07\x04(\x03\x01\
19423    \x02\x13\x05\x12\x04\xb3\x05\x04\t\n\x0f\n\x07\x04(\x03\x01\x02\x13\x01\
19424    \x12\x04\xb3\x05\n\x0f\n\x0f\n\x07\x04(\x03\x01\x02\x13\x03\x12\x04\xb3\
19425    \x05\x12\x14\n\x0e\n\x06\x04(\x03\x01\x02\x14\x12\x04\xb4\x05\x04\x19\n\
19426    \x0f\n\x07\x04(\x03\x01\x02\x14\x05\x12\x04\xb4\x05\x04\t\n\x0f\n\x07\
19427    \x04(\x03\x01\x02\x14\x01\x12\x04\xb4\x05\n\x13\n\x0f\n\x07\x04(\x03\x01\
19428    \x02\x14\x03\x12\x04\xb4\x05\x16\x18\n\x0e\n\x06\x04(\x03\x01\x02\x15\
19429    \x12\x04\xb5\x05\x04\x16\n\x0f\n\x07\x04(\x03\x01\x02\x15\x05\x12\x04\
19430    \xb5\x05\x04\t\n\x0f\n\x07\x04(\x03\x01\x02\x15\x01\x12\x04\xb5\x05\n\
19431    \x10\n\x0f\n\x07\x04(\x03\x01\x02\x15\x03\x12\x04\xb5\x05\x13\x15\n\x0e\
19432    \n\x06\x04(\x03\x01\x02\x16\x12\x04\xb6\x05\x04\x1f\n\x0f\n\x07\x04(\x03\
19433    \x01\x02\x16\x05\x12\x04\xb6\x05\x04\t\n\x0f\n\x07\x04(\x03\x01\x02\x16\
19434    \x01\x12\x04\xb6\x05\n\x19\n\x0f\n\x07\x04(\x03\x01\x02\x16\x03\x12\x04\
19435    \xb6\x05\x1c\x1e\n\x0e\n\x06\x04(\x03\x01\x02\x17\x12\x04\xb7\x05\x04&\n\
19436    \x0f\n\x07\x04(\x03\x01\x02\x17\x05\x12\x04\xb7\x05\x04\n\n\x0f\n\x07\
19437    \x04(\x03\x01\x02\x17\x01\x12\x04\xb7\x05\x0b\x20\n\x0f\n\x07\x04(\x03\
19438    \x01\x02\x17\x03\x12\x04\xb7\x05#%\n\x0e\n\x06\x04(\x03\x01\x02\x18\x12\
19439    \x04\xb8\x05\x04'\n\x0f\n\x07\x04(\x03\x01\x02\x18\x05\x12\x04\xb8\x05\
19440    \x04\n\n\x0f\n\x07\x04(\x03\x01\x02\x18\x01\x12\x04\xb8\x05\x0b!\n\x0f\n\
19441    \x07\x04(\x03\x01\x02\x18\x03\x12\x04\xb8\x05$&\n\x0e\n\x04\x04(\x03\x02\
19442    \x12\x06\xbb\x05\x02\xcf\x05\x03\n\r\n\x05\x04(\x03\x02\x01\x12\x04\xbb\
19443    \x05\n\x18\n\x0e\n\x06\x04(\x03\x02\x02\0\x12\x04\xbc\x05\x04\x1b\n\x0f\
19444    \n\x07\x04(\x03\x02\x02\0\x05\x12\x04\xbc\x05\x04\n\n\x0f\n\x07\x04(\x03\
19445    \x02\x02\0\x01\x12\x04\xbc\x05\x0b\x16\n\x0f\n\x07\x04(\x03\x02\x02\0\
19446    \x03\x12\x04\xbc\x05\x19\x1a\n\x0e\n\x06\x04(\x03\x02\x02\x01\x12\x04\
19447    \xbd\x05\x04\x1a\n\x0f\n\x07\x04(\x03\x02\x02\x01\x05\x12\x04\xbd\x05\
19448    \x04\n\n\x0f\n\x07\x04(\x03\x02\x02\x01\x01\x12\x04\xbd\x05\x0b\x15\n\
19449    \x0f\n\x07\x04(\x03\x02\x02\x01\x03\x12\x04\xbd\x05\x18\x19\n\x0e\n\x06\
19450    \x04(\x03\x02\x02\x02\x12\x04\xbe\x05\x04\x19\n\x0f\n\x07\x04(\x03\x02\
19451    \x02\x02\x05\x12\x04\xbe\x05\x04\t\n\x0f\n\x07\x04(\x03\x02\x02\x02\x01\
19452    \x12\x04\xbe\x05\n\x14\n\x0f\n\x07\x04(\x03\x02\x02\x02\x03\x12\x04\xbe\
19453    \x05\x17\x18\n\x0e\n\x06\x04(\x03\x02\x02\x03\x12\x04\xbf\x05\x04\x1c\n\
19454    \x0f\n\x07\x04(\x03\x02\x02\x03\x05\x12\x04\xbf\x05\x04\x08\n\x0f\n\x07\
19455    \x04(\x03\x02\x02\x03\x01\x12\x04\xbf\x05\t\x17\n\x0f\n\x07\x04(\x03\x02\
19456    \x02\x03\x03\x12\x04\xbf\x05\x1a\x1b\n\x0e\n\x06\x04(\x03\x02\x02\x04\
19457    \x12\x04\xc0\x05\x04\x1d\n\x0f\n\x07\x04(\x03\x02\x02\x04\x05\x12\x04\
19458    \xc0\x05\x04\t\n\x0f\n\x07\x04(\x03\x02\x02\x04\x01\x12\x04\xc0\x05\n\
19459    \x18\n\x0f\n\x07\x04(\x03\x02\x02\x04\x03\x12\x04\xc0\x05\x1b\x1c\n\x0e\
19460    \n\x06\x04(\x03\x02\x02\x05\x12\x04\xc1\x05\x04\x1e\n\x0f\n\x07\x04(\x03\
19461    \x02\x02\x05\x05\x12\x04\xc1\x05\x04\t\n\x0f\n\x07\x04(\x03\x02\x02\x05\
19462    \x01\x12\x04\xc1\x05\n\x19\n\x0f\n\x07\x04(\x03\x02\x02\x05\x03\x12\x04\
19463    \xc1\x05\x1c\x1d\n\x0e\n\x06\x04(\x03\x02\x02\x06\x12\x04\xc2\x05\x04\
19464    \x1b\n\x0f\n\x07\x04(\x03\x02\x02\x06\x05\x12\x04\xc2\x05\x04\t\n\x0f\n\
19465    \x07\x04(\x03\x02\x02\x06\x01\x12\x04\xc2\x05\n\x16\n\x0f\n\x07\x04(\x03\
19466    \x02\x02\x06\x03\x12\x04\xc2\x05\x19\x1a\n\x0e\n\x06\x04(\x03\x02\x02\
19467    \x07\x12\x04\xc3\x05\x04\x1e\n\x0f\n\x07\x04(\x03\x02\x02\x07\x05\x12\
19468    \x04\xc3\x05\x04\t\n\x0f\n\x07\x04(\x03\x02\x02\x07\x01\x12\x04\xc3\x05\
19469    \n\x19\n\x0f\n\x07\x04(\x03\x02\x02\x07\x03\x12\x04\xc3\x05\x1c\x1d\n\
19470    \x0e\n\x06\x04(\x03\x02\x02\x08\x12\x04\xc4\x05\x04$\n\x0f\n\x07\x04(\
19471    \x03\x02\x02\x08\x05\x12\x04\xc4\x05\x04\t\n\x0f\n\x07\x04(\x03\x02\x02\
19472    \x08\x01\x12\x04\xc4\x05\n\x1f\n\x0f\n\x07\x04(\x03\x02\x02\x08\x03\x12\
19473    \x04\xc4\x05\"#\n\x0e\n\x06\x04(\x03\x02\x02\t\x12\x04\xc5\x05\x04\x20\n\
19474    \x0f\n\x07\x04(\x03\x02\x02\t\x05\x12\x04\xc5\x05\x04\t\n\x0f\n\x07\x04(\
19475    \x03\x02\x02\t\x01\x12\x04\xc5\x05\n\x1a\n\x0f\n\x07\x04(\x03\x02\x02\t\
19476    \x03\x12\x04\xc5\x05\x1d\x1f\n\x0e\n\x06\x04(\x03\x02\x02\n\x12\x04\xc6\
19477    \x05\x04\x20\n\x0f\n\x07\x04(\x03\x02\x02\n\x05\x12\x04\xc6\x05\x04\t\n\
19478    \x0f\n\x07\x04(\x03\x02\x02\n\x01\x12\x04\xc6\x05\n\x1a\n\x0f\n\x07\x04(\
19479    \x03\x02\x02\n\x03\x12\x04\xc6\x05\x1d\x1f\n\x0e\n\x06\x04(\x03\x02\x02\
19480    \x0b\x12\x04\xc7\x05\x04\x1e\n\x0f\n\x07\x04(\x03\x02\x02\x0b\x05\x12\
19481    \x04\xc7\x05\x04\t\n\x0f\n\x07\x04(\x03\x02\x02\x0b\x01\x12\x04\xc7\x05\
19482    \n\x18\n\x0f\n\x07\x04(\x03\x02\x02\x0b\x03\x12\x04\xc7\x05\x1b\x1d\n\
19483    \x0e\n\x06\x04(\x03\x02\x02\x0c\x12\x04\xc8\x05\x04\x19\n\x0f\n\x07\x04(\
19484    \x03\x02\x02\x0c\x05\x12\x04\xc8\x05\x04\t\n\x0f\n\x07\x04(\x03\x02\x02\
19485    \x0c\x01\x12\x04\xc8\x05\n\x13\n\x0f\n\x07\x04(\x03\x02\x02\x0c\x03\x12\
19486    \x04\xc8\x05\x16\x18\n\x0e\n\x06\x04(\x03\x02\x02\r\x12\x04\xc9\x05\x04$\
19487    \n\x0f\n\x07\x04(\x03\x02\x02\r\x05\x12\x04\xc9\x05\x04\t\n\x0f\n\x07\
19488    \x04(\x03\x02\x02\r\x01\x12\x04\xc9\x05\n\x1e\n\x0f\n\x07\x04(\x03\x02\
19489    \x02\r\x03\x12\x04\xc9\x05!#\n\x0e\n\x06\x04(\x03\x02\x02\x0e\x12\x04\
19490    \xca\x05\x04\x1e\n\x0f\n\x07\x04(\x03\x02\x02\x0e\x05\x12\x04\xca\x05\
19491    \x04\x08\n\x0f\n\x07\x04(\x03\x02\x02\x0e\x01\x12\x04\xca\x05\t\x18\n\
19492    \x0f\n\x07\x04(\x03\x02\x02\x0e\x03\x12\x04\xca\x05\x1b\x1d\n\x0e\n\x06\
19493    \x04(\x03\x02\x02\x0f\x12\x04\xcb\x05\x04\x1d\n\x0f\n\x07\x04(\x03\x02\
19494    \x02\x0f\x05\x12\x04\xcb\x05\x04\n\n\x0f\n\x07\x04(\x03\x02\x02\x0f\x01\
19495    \x12\x04\xcb\x05\x0b\x17\n\x0f\n\x07\x04(\x03\x02\x02\x0f\x03\x12\x04\
19496    \xcb\x05\x1a\x1c\n\x0e\n\x06\x04(\x03\x02\x02\x10\x12\x04\xcc\x05\x04\
19497    \x1d\n\x0f\n\x07\x04(\x03\x02\x02\x10\x05\x12\x04\xcc\x05\x04\n\n\x0f\n\
19498    \x07\x04(\x03\x02\x02\x10\x01\x12\x04\xcc\x05\x0b\x17\n\x0f\n\x07\x04(\
19499    \x03\x02\x02\x10\x03\x12\x04\xcc\x05\x1a\x1c\n\x0e\n\x06\x04(\x03\x02\
19500    \x02\x11\x12\x04\xcd\x05\x04(\n\x0f\n\x07\x04(\x03\x02\x02\x11\x05\x12\
19501    \x04\xcd\x05\x04\t\n\x0f\n\x07\x04(\x03\x02\x02\x11\x01\x12\x04\xcd\x05\
19502    \n\"\n\x0f\n\x07\x04(\x03\x02\x02\x11\x03\x12\x04\xcd\x05%'\n\x0e\n\x06\
19503    \x04(\x03\x02\x02\x12\x12\x04\xce\x05\x04#\n\x0f\n\x07\x04(\x03\x02\x02\
19504    \x12\x05\x12\x04\xce\x05\x04\t\n\x0f\n\x07\x04(\x03\x02\x02\x12\x01\x12\
19505    \x04\xce\x05\n\x1d\n\x0f\n\x07\x04(\x03\x02\x02\x12\x03\x12\x04\xce\x05\
19506    \x20\"\n\x0e\n\x04\x04(\x03\x03\x12\x06\xd1\x05\x02\xf1\x05\x03\n\r\n\
19507    \x05\x04(\x03\x03\x01\x12\x04\xd1\x05\n\x15\n\x0e\n\x06\x04(\x03\x03\x02\
19508    \0\x12\x04\xd2\x05\x04\x1a\n\x0f\n\x07\x04(\x03\x03\x02\0\x05\x12\x04\
19509    \xd2\x05\x04\t\n\x0f\n\x07\x04(\x03\x03\x02\0\x01\x12\x04\xd2\x05\n\x15\
19510    \n\x0f\n\x07\x04(\x03\x03\x02\0\x03\x12\x04\xd2\x05\x18\x19\n\x0e\n\x06\
19511    \x04(\x03\x03\x02\x01\x12\x04\xd3\x05\x04\"\n\x0f\n\x07\x04(\x03\x03\x02\
19512    \x01\x05\x12\x04\xd3\x05\x04\t\n\x0f\n\x07\x04(\x03\x03\x02\x01\x01\x12\
19513    \x04\xd3\x05\n\x1d\n\x0f\n\x07\x04(\x03\x03\x02\x01\x03\x12\x04\xd3\x05\
19514    \x20!\n\x0e\n\x06\x04(\x03\x03\x02\x02\x12\x04\xd4\x05\x04\x17\n\x0f\n\
19515    \x07\x04(\x03\x03\x02\x02\x05\x12\x04\xd4\x05\x04\t\n\x0f\n\x07\x04(\x03\
19516    \x03\x02\x02\x01\x12\x04\xd4\x05\n\x12\n\x0f\n\x07\x04(\x03\x03\x02\x02\
19517    \x03\x12\x04\xd4\x05\x15\x16\n\x0e\n\x06\x04(\x03\x03\x02\x03\x12\x04\
19518    \xd5\x05\x04\x1a\n\x0f\n\x07\x04(\x03\x03\x02\x03\x05\x12\x04\xd5\x05\
19519    \x04\t\n\x0f\n\x07\x04(\x03\x03\x02\x03\x01\x12\x04\xd5\x05\n\x15\n\x0f\
19520    \n\x07\x04(\x03\x03\x02\x03\x03\x12\x04\xd5\x05\x18\x19\n\x0e\n\x06\x04(\
19521    \x03\x03\x02\x04\x12\x04\xd6\x05\x04\x19\n\x0f\n\x07\x04(\x03\x03\x02\
19522    \x04\x05\x12\x04\xd6\x05\x04\t\n\x0f\n\x07\x04(\x03\x03\x02\x04\x01\x12\
19523    \x04\xd6\x05\n\x14\n\x0f\n\x07\x04(\x03\x03\x02\x04\x03\x12\x04\xd6\x05\
19524    \x17\x18\n\x0e\n\x06\x04(\x03\x03\x02\x05\x12\x04\xd7\x05\x04\x17\n\x0f\
19525    \n\x07\x04(\x03\x03\x02\x05\x05\x12\x04\xd7\x05\x04\n\n\x0f\n\x07\x04(\
19526    \x03\x03\x02\x05\x01\x12\x04\xd7\x05\x0b\x12\n\x0f\n\x07\x04(\x03\x03\
19527    \x02\x05\x03\x12\x04\xd7\x05\x15\x16\n\x0e\n\x06\x04(\x03\x03\x02\x06\
19528    \x12\x04\xd8\x05\x04\x1b\n\x0f\n\x07\x04(\x03\x03\x02\x06\x05\x12\x04\
19529    \xd8\x05\x04\n\n\x0f\n\x07\x04(\x03\x03\x02\x06\x01\x12\x04\xd8\x05\x0b\
19530    \x16\n\x0f\n\x07\x04(\x03\x03\x02\x06\x03\x12\x04\xd8\x05\x19\x1a\n\x0e\
19531    \n\x06\x04(\x03\x03\x02\x07\x12\x04\xd9\x05\x04\x16\n\x0f\n\x07\x04(\x03\
19532    \x03\x02\x07\x05\x12\x04\xd9\x05\x04\n\n\x0f\n\x07\x04(\x03\x03\x02\x07\
19533    \x01\x12\x04\xd9\x05\x0b\x11\n\x0f\n\x07\x04(\x03\x03\x02\x07\x03\x12\
19534    \x04\xd9\x05\x14\x15\n\x0e\n\x06\x04(\x03\x03\x02\x08\x12\x04\xda\x05\
19535    \x04\x1d\n\x0f\n\x07\x04(\x03\x03\x02\x08\x05\x12\x04\xda\x05\x04\t\n\
19536    \x0f\n\x07\x04(\x03\x03\x02\x08\x01\x12\x04\xda\x05\n\x18\n\x0f\n\x07\
19537    \x04(\x03\x03\x02\x08\x03\x12\x04\xda\x05\x1b\x1c\n\x0e\n\x06\x04(\x03\
19538    \x03\x02\t\x12\x04\xdb\x05\x04\x1d\n\x0f\n\x07\x04(\x03\x03\x02\t\x05\
19539    \x12\x04\xdb\x05\x04\t\n\x0f\n\x07\x04(\x03\x03\x02\t\x01\x12\x04\xdb\
19540    \x05\n\x17\n\x0f\n\x07\x04(\x03\x03\x02\t\x03\x12\x04\xdb\x05\x1a\x1c\n\
19541    \x0e\n\x06\x04(\x03\x03\x02\n\x12\x04\xdc\x05\x04\x1f\n\x0f\n\x07\x04(\
19542    \x03\x03\x02\n\x05\x12\x04\xdc\x05\x04\n\n\x0f\n\x07\x04(\x03\x03\x02\n\
19543    \x01\x12\x04\xdc\x05\x0b\x19\n\x0f\n\x07\x04(\x03\x03\x02\n\x03\x12\x04\
19544    \xdc\x05\x1c\x1e\n\x0e\n\x06\x04(\x03\x03\x02\x0b\x12\x04\xdd\x05\x044\n\
19545    \x0f\n\x07\x04(\x03\x03\x02\x0b\x04\x12\x04\xdd\x05\x04\x0c\n\x0f\n\x07\
19546    \x04(\x03\x03\x02\x0b\x06\x12\x04\xdd\x05\r\x1b\n\x0f\n\x07\x04(\x03\x03\
19547    \x02\x0b\x01\x12\x04\xdd\x05\x1c.\n\x0f\n\x07\x04(\x03\x03\x02\x0b\x03\
19548    \x12\x04\xdd\x0513\n\x0e\n\x06\x04(\x03\x03\x02\x0c\x12\x04\xde\x05\x04<\
19549    \n\x0f\n\x07\x04(\x03\x03\x02\x0c\x04\x12\x04\xde\x05\x04\x0c\n\x0f\n\
19550    \x07\x04(\x03\x03\x02\x0c\x06\x12\x04\xde\x05\r\x1f\n\x0f\n\x07\x04(\x03\
19551    \x03\x02\x0c\x01\x12\x04\xde\x05\x206\n\x0f\n\x07\x04(\x03\x03\x02\x0c\
19552    \x03\x12\x04\xde\x059;\n\x10\n\x06\x04(\x03\x03\x03\0\x12\x06\xe0\x05\
19553    \x04\xe6\x05\x05\n\x0f\n\x07\x04(\x03\x03\x03\0\x01\x12\x04\xe0\x05\x0c\
19554    \x1a\n\x10\n\x08\x04(\x03\x03\x03\0\x02\0\x12\x04\xe1\x05\x06\x16\n\x11\
19555    \n\t\x04(\x03\x03\x03\0\x02\0\x05\x12\x04\xe1\x05\x06\x0c\n\x11\n\t\x04(\
19556    \x03\x03\x03\0\x02\0\x01\x12\x04\xe1\x05\r\x11\n\x11\n\t\x04(\x03\x03\
19557    \x03\0\x02\0\x03\x12\x04\xe1\x05\x14\x15\n\x10\n\x08\x04(\x03\x03\x03\0\
19558    \x02\x01\x12\x04\xe2\x05\x06\x19\n\x11\n\t\x04(\x03\x03\x03\0\x02\x01\
19559    \x05\x12\x04\xe2\x05\x06\x0b\n\x11\n\t\x04(\x03\x03\x03\0\x02\x01\x01\
19560    \x12\x04\xe2\x05\x0c\x14\n\x11\n\t\x04(\x03\x03\x03\0\x02\x01\x03\x12\
19561    \x04\xe2\x05\x17\x18\n\x10\n\x08\x04(\x03\x03\x03\0\x02\x02\x12\x04\xe3\
19562    \x05\x06\x18\n\x11\n\t\x04(\x03\x03\x03\0\x02\x02\x05\x12\x04\xe3\x05\
19563    \x06\x0b\n\x11\n\t\x04(\x03\x03\x03\0\x02\x02\x01\x12\x04\xe3\x05\x0c\
19564    \x13\n\x11\n\t\x04(\x03\x03\x03\0\x02\x02\x03\x12\x04\xe3\x05\x16\x17\n\
19565    \x10\n\x08\x04(\x03\x03\x03\0\x02\x03\x12\x04\xe4\x05\x06\x18\n\x11\n\t\
19566    \x04(\x03\x03\x03\0\x02\x03\x05\x12\x04\xe4\x05\x06\x0b\n\x11\n\t\x04(\
19567    \x03\x03\x03\0\x02\x03\x01\x12\x04\xe4\x05\x0c\x13\n\x11\n\t\x04(\x03\
19568    \x03\x03\0\x02\x03\x03\x12\x04\xe4\x05\x16\x17\n\x10\n\x08\x04(\x03\x03\
19569    \x03\0\x02\x04\x12\x04\xe5\x05\x06\x19\n\x11\n\t\x04(\x03\x03\x03\0\x02\
19570    \x04\x05\x12\x04\xe5\x05\x06\x0c\n\x11\n\t\x04(\x03\x03\x03\0\x02\x04\
19571    \x01\x12\x04\xe5\x05\r\x14\n\x11\n\t\x04(\x03\x03\x03\0\x02\x04\x03\x12\
19572    \x04\xe5\x05\x17\x18\n\x10\n\x06\x04(\x03\x03\x03\x01\x12\x06\xe8\x05\
19573    \x04\xf0\x05\x05\n\x0f\n\x07\x04(\x03\x03\x03\x01\x01\x12\x04\xe8\x05\
19574    \x0c\x1e\n\x10\n\x08\x04(\x03\x03\x03\x01\x02\0\x12\x04\xe9\x05\x06\x16\
19575    \n\x11\n\t\x04(\x03\x03\x03\x01\x02\0\x05\x12\x04\xe9\x05\x06\x0c\n\x11\
19576    \n\t\x04(\x03\x03\x03\x01\x02\0\x01\x12\x04\xe9\x05\r\x11\n\x11\n\t\x04(\
19577    \x03\x03\x03\x01\x02\0\x03\x12\x04\xe9\x05\x14\x15\n\x10\n\x08\x04(\x03\
19578    \x03\x03\x01\x02\x01\x12\x04\xea\x05\x06\x1a\n\x11\n\t\x04(\x03\x03\x03\
19579    \x01\x02\x01\x05\x12\x04\xea\x05\x06\x0c\n\x11\n\t\x04(\x03\x03\x03\x01\
19580    \x02\x01\x01\x12\x04\xea\x05\r\x15\n\x11\n\t\x04(\x03\x03\x03\x01\x02\
19581    \x01\x03\x12\x04\xea\x05\x18\x19\n\x10\n\x08\x04(\x03\x03\x03\x01\x02\
19582    \x02\x12\x04\xeb\x05\x06\x1b\n\x11\n\t\x04(\x03\x03\x03\x01\x02\x02\x05\
19583    \x12\x04\xeb\x05\x06\x0c\n\x11\n\t\x04(\x03\x03\x03\x01\x02\x02\x01\x12\
19584    \x04\xeb\x05\r\x16\n\x11\n\t\x04(\x03\x03\x03\x01\x02\x02\x03\x12\x04\
19585    \xeb\x05\x19\x1a\n\x10\n\x08\x04(\x03\x03\x03\x01\x02\x03\x12\x04\xec\
19586    \x05\x06\x17\n\x11\n\t\x04(\x03\x03\x03\x01\x02\x03\x05\x12\x04\xec\x05\
19587    \x06\x0c\n\x11\n\t\x04(\x03\x03\x03\x01\x02\x03\x01\x12\x04\xec\x05\r\
19588    \x12\n\x11\n\t\x04(\x03\x03\x03\x01\x02\x03\x03\x12\x04\xec\x05\x15\x16\
19589    \n\x10\n\x08\x04(\x03\x03\x03\x01\x02\x04\x12\x04\xed\x05\x06\x1a\n\x11\
19590    \n\t\x04(\x03\x03\x03\x01\x02\x04\x05\x12\x04\xed\x05\x06\x0b\n\x11\n\t\
19591    \x04(\x03\x03\x03\x01\x02\x04\x01\x12\x04\xed\x05\x0c\x15\n\x11\n\t\x04(\
19592    \x03\x03\x03\x01\x02\x04\x03\x12\x04\xed\x05\x18\x19\n\x10\n\x08\x04(\
19593    \x03\x03\x03\x01\x02\x05\x12\x04\xee\x05\x06\x19\n\x11\n\t\x04(\x03\x03\
19594    \x03\x01\x02\x05\x05\x12\x04\xee\x05\x06\x0b\n\x11\n\t\x04(\x03\x03\x03\
19595    \x01\x02\x05\x01\x12\x04\xee\x05\x0c\x14\n\x11\n\t\x04(\x03\x03\x03\x01\
19596    \x02\x05\x03\x12\x04\xee\x05\x17\x18\n\x10\n\x08\x04(\x03\x03\x03\x01\
19597    \x02\x06\x12\x04\xef\x05\x06\x1c\n\x11\n\t\x04(\x03\x03\x03\x01\x02\x06\
19598    \x05\x12\x04\xef\x05\x06\x0c\n\x11\n\t\x04(\x03\x03\x03\x01\x02\x06\x01\
19599    \x12\x04\xef\x05\r\x17\n\x11\n\t\x04(\x03\x03\x03\x01\x02\x06\x03\x12\
19600    \x04\xef\x05\x1a\x1b\n\x0c\n\x02\x04)\x12\x06\xf4\x05\0\xda\x06\x01\n\
19601    \x0b\n\x03\x04)\x01\x12\x04\xf4\x05\x08\x13\n\x0c\n\x04\x04)\x02\0\x12\
19602    \x04\xf5\x05\x02\x15\n\r\n\x05\x04)\x02\0\x05\x12\x04\xf5\x05\x02\x07\n\
19603    \r\n\x05\x04)\x02\0\x01\x12\x04\xf5\x05\x08\x10\n\r\n\x05\x04)\x02\0\x03\
19604    \x12\x04\xf5\x05\x13\x14\n\x0c\n\x04\x04)\x02\x01\x12\x04\xf6\x05\x02\
19605    \x14\n\r\n\x05\x04)\x02\x01\x06\x12\x04\xf6\x05\x02\n\n\r\n\x05\x04)\x02\
19606    \x01\x01\x12\x04\xf6\x05\x0b\x0f\n\r\n\x05\x04)\x02\x01\x03\x12\x04\xf6\
19607    \x05\x12\x13\n\x0c\n\x04\x04)\x02\x02\x12\x04\xf7\x05\x02\x20\n\r\n\x05\
19608    \x04)\x02\x02\x06\x12\x04\xf7\x05\x02\x10\n\r\n\x05\x04)\x02\x02\x01\x12\
19609    \x04\xf7\x05\x11\x1b\n\r\n\x05\x04)\x02\x02\x03\x12\x04\xf7\x05\x1e\x1f\
19610    \n\x0c\n\x04\x04)\x02\x03\x12\x04\xf8\x05\x02\x12\n\r\n\x05\x04)\x02\x03\
19611    \x06\x12\x04\xf8\x05\x02\t\n\r\n\x05\x04)\x02\x03\x01\x12\x04\xf8\x05\n\
19612    \r\n\r\n\x05\x04)\x02\x03\x03\x12\x04\xf8\x05\x10\x11\n\x0e\n\x04\x04)\
19613    \x03\0\x12\x06\xfa\x05\x02\xff\x05\x03\n\r\n\x05\x04)\x03\0\x01\x12\x04\
19614    \xfa\x05\n\x12\n\x0e\n\x06\x04)\x03\0\x02\0\x12\x04\xfb\x05\x04\x12\n\
19615    \x0f\n\x07\x04)\x03\0\x02\0\x05\x12\x04\xfb\x05\x04\n\n\x0f\n\x07\x04)\
19616    \x03\0\x02\0\x01\x12\x04\xfb\x05\x0b\r\n\x0f\n\x07\x04)\x03\0\x02\0\x03\
19617    \x12\x04\xfb\x05\x10\x11\n\x0e\n\x06\x04)\x03\0\x02\x01\x12\x04\xfc\x05\
19618    \x04\x17\n\x0f\n\x07\x04)\x03\0\x02\x01\x05\x12\x04\xfc\x05\x04\t\n\x0f\
19619    \n\x07\x04)\x03\0\x02\x01\x01\x12\x04\xfc\x05\n\x12\n\x0f\n\x07\x04)\x03\
19620    \0\x02\x01\x03\x12\x04\xfc\x05\x15\x16\n\x0e\n\x06\x04)\x03\0\x02\x02\
19621    \x12\x04\xfd\x05\x04\x17\n\x0f\n\x07\x04)\x03\0\x02\x02\x05\x12\x04\xfd\
19622    \x05\x04\n\n\x0f\n\x07\x04)\x03\0\x02\x02\x01\x12\x04\xfd\x05\x0b\x12\n\
19623    \x0f\n\x07\x04)\x03\0\x02\x02\x03\x12\x04\xfd\x05\x15\x16\n\x0e\n\x06\
19624    \x04)\x03\0\x02\x03\x12\x04\xfe\x05\x04\x1b\n\x0f\n\x07\x04)\x03\0\x02\
19625    \x03\x05\x12\x04\xfe\x05\x04\t\n\x0f\n\x07\x04)\x03\0\x02\x03\x01\x12\
19626    \x04\xfe\x05\n\x16\n\x0f\n\x07\x04)\x03\0\x02\x03\x03\x12\x04\xfe\x05\
19627    \x19\x1a\n\x0e\n\x04\x04)\x03\x01\x12\x06\x81\x06\x02\x9a\x06\x03\n\r\n\
19628    \x05\x04)\x03\x01\x01\x12\x04\x81\x06\n\x18\n\x0e\n\x06\x04)\x03\x01\x02\
19629    \0\x12\x04\x82\x06\x04\x1b\n\x0f\n\x07\x04)\x03\x01\x02\0\x05\x12\x04\
19630    \x82\x06\x04\t\n\x0f\n\x07\x04)\x03\x01\x02\0\x01\x12\x04\x82\x06\n\x16\
19631    \n\x0f\n\x07\x04)\x03\x01\x02\0\x03\x12\x04\x82\x06\x19\x1a\n\x0e\n\x06\
19632    \x04)\x03\x01\x02\x01\x12\x04\x83\x06\x04!\n\x0f\n\x07\x04)\x03\x01\x02\
19633    \x01\x05\x12\x04\x83\x06\x04\t\n\x0f\n\x07\x04)\x03\x01\x02\x01\x01\x12\
19634    \x04\x83\x06\n\x1c\n\x0f\n\x07\x04)\x03\x01\x02\x01\x03\x12\x04\x83\x06\
19635    \x1f\x20\n\x0e\n\x06\x04)\x03\x01\x02\x02\x12\x04\x84\x06\x04\x1d\n\x0f\
19636    \n\x07\x04)\x03\x01\x02\x02\x05\x12\x04\x84\x06\x04\n\n\x0f\n\x07\x04)\
19637    \x03\x01\x02\x02\x01\x12\x04\x84\x06\x0b\x18\n\x0f\n\x07\x04)\x03\x01\
19638    \x02\x02\x03\x12\x04\x84\x06\x1b\x1c\n\x0e\n\x06\x04)\x03\x01\x02\x03\
19639    \x12\x04\x85\x06\x04\x18\n\x0f\n\x07\x04)\x03\x01\x02\x03\x05\x12\x04\
19640    \x85\x06\x04\t\n\x0f\n\x07\x04)\x03\x01\x02\x03\x01\x12\x04\x85\x06\n\
19641    \x13\n\x0f\n\x07\x04)\x03\x01\x02\x03\x03\x12\x04\x85\x06\x16\x17\n\x0e\
19642    \n\x06\x04)\x03\x01\x02\x04\x12\x04\x86\x06\x04\x1c\n\x0f\n\x07\x04)\x03\
19643    \x01\x02\x04\x05\x12\x04\x86\x06\x04\t\n\x0f\n\x07\x04)\x03\x01\x02\x04\
19644    \x01\x12\x04\x86\x06\n\x17\n\x0f\n\x07\x04)\x03\x01\x02\x04\x03\x12\x04\
19645    \x86\x06\x1a\x1b\n\x0e\n\x06\x04)\x03\x01\x02\x05\x12\x04\x87\x06\x04\"\
19646    \n\x0f\n\x07\x04)\x03\x01\x02\x05\x06\x12\x04\x87\x06\x04\x0c\n\x0f\n\
19647    \x07\x04)\x03\x01\x02\x05\x01\x12\x04\x87\x06\r\x1d\n\x0f\n\x07\x04)\x03\
19648    \x01\x02\x05\x03\x12\x04\x87\x06\x20!\n\x0e\n\x06\x04)\x03\x01\x02\x06\
19649    \x12\x04\x88\x06\x04\x15\n\x0f\n\x07\x04)\x03\x01\x02\x06\x06\x12\x04\
19650    \x88\x06\x04\x0c\n\x0f\n\x07\x04)\x03\x01\x02\x06\x01\x12\x04\x88\x06\r\
19651    \x10\n\x0f\n\x07\x04)\x03\x01\x02\x06\x03\x12\x04\x88\x06\x13\x14\n\x0e\
19652    \n\x06\x04)\x03\x01\x02\x07\x12\x04\x89\x06\x04#\n\x0f\n\x07\x04)\x03\
19653    \x01\x02\x07\x05\x12\x04\x89\x06\x04\t\n\x0f\n\x07\x04)\x03\x01\x02\x07\
19654    \x01\x12\x04\x89\x06\n\x1e\n\x0f\n\x07\x04)\x03\x01\x02\x07\x03\x12\x04\
19655    \x89\x06!\"\n\x0e\n\x06\x04)\x03\x01\x02\x08\x12\x04\x8a\x06\x04#\n\x0f\
19656    \n\x07\x04)\x03\x01\x02\x08\x06\x12\x04\x8a\x06\x04\x0c\n\x0f\n\x07\x04)\
19657    \x03\x01\x02\x08\x01\x12\x04\x8a\x06\r\x1e\n\x0f\n\x07\x04)\x03\x01\x02\
19658    \x08\x03\x12\x04\x8a\x06!\"\n\x0e\n\x06\x04)\x03\x01\x02\t\x12\x04\x8b\
19659    \x06\x04$\n\x0f\n\x07\x04)\x03\x01\x02\t\x04\x12\x04\x8b\x06\x04\x0c\n\
19660    \x0f\n\x07\x04)\x03\x01\x02\t\x06\x12\x04\x8b\x06\r\x14\n\x0f\n\x07\x04)\
19661    \x03\x01\x02\t\x01\x12\x04\x8b\x06\x15\x1e\n\x0f\n\x07\x04)\x03\x01\x02\
19662    \t\x03\x12\x04\x8b\x06!#\n\x0e\n\x06\x04)\x03\x01\x02\n\x12\x04\x8c\x06\
19663    \x04#\n\x0f\n\x07\x04)\x03\x01\x02\n\x05\x12\x04\x8c\x06\x04\t\n\x0f\n\
19664    \x07\x04)\x03\x01\x02\n\x01\x12\x04\x8c\x06\n\x1d\n\x0f\n\x07\x04)\x03\
19665    \x01\x02\n\x03\x12\x04\x8c\x06\x20\"\n\x0e\n\x06\x04)\x03\x01\x02\x0b\
19666    \x12\x04\x8d\x06\x04'\n\x0f\n\x07\x04)\x03\x01\x02\x0b\x05\x12\x04\x8d\
19667    \x06\x04\n\n\x0f\n\x07\x04)\x03\x01\x02\x0b\x01\x12\x04\x8d\x06\x0b!\n\
19668    \x0f\n\x07\x04)\x03\x01\x02\x0b\x03\x12\x04\x8d\x06$&\n\x0e\n\x06\x04)\
19669    \x03\x01\x02\x0c\x12\x04\x8e\x06\x04(\n\x0f\n\x07\x04)\x03\x01\x02\x0c\
19670    \x04\x12\x04\x8e\x06\x04\x0c\n\x0f\n\x07\x04)\x03\x01\x02\x0c\x06\x12\
19671    \x04\x8e\x06\r\x17\n\x0f\n\x07\x04)\x03\x01\x02\x0c\x01\x12\x04\x8e\x06\
19672    \x18\"\n\x0f\n\x07\x04)\x03\x01\x02\x0c\x03\x12\x04\x8e\x06%'\n\x10\n\
19673    \x06\x04)\x03\x01\x03\0\x12\x06\x90\x06\x04\x93\x06\x05\n\x0f\n\x07\x04)\
19674    \x03\x01\x03\0\x01\x12\x04\x90\x06\x0c\x13\n\x10\n\x08\x04)\x03\x01\x03\
19675    \0\x02\0\x12\x04\x91\x06\x06\x19\n\x11\n\t\x04)\x03\x01\x03\0\x02\0\x05\
19676    \x12\x04\x91\x06\x06\x0c\n\x11\n\t\x04)\x03\x01\x03\0\x02\0\x01\x12\x04\
19677    \x91\x06\r\x14\n\x11\n\t\x04)\x03\x01\x03\0\x02\0\x03\x12\x04\x91\x06\
19678    \x17\x18\n\x10\n\x08\x04)\x03\x01\x03\0\x02\x01\x12\x04\x92\x06\x06\x18\
19679    \n\x11\n\t\x04)\x03\x01\x03\0\x02\x01\x05\x12\x04\x92\x06\x06\x0b\n\x11\
19680    \n\t\x04)\x03\x01\x03\0\x02\x01\x01\x12\x04\x92\x06\x0c\x13\n\x11\n\t\
19681    \x04)\x03\x01\x03\0\x02\x01\x03\x12\x04\x92\x06\x16\x17\n\x10\n\x06\x04)\
19682    \x03\x01\x03\x01\x12\x06\x95\x06\x04\x99\x06\x05\n\x0f\n\x07\x04)\x03\
19683    \x01\x03\x01\x01\x12\x04\x95\x06\x0c\x16\n\x10\n\x08\x04)\x03\x01\x03\
19684    \x01\x02\0\x12\x04\x96\x06\x06\x19\n\x11\n\t\x04)\x03\x01\x03\x01\x02\0\
19685    \x05\x12\x04\x96\x06\x06\x0c\n\x11\n\t\x04)\x03\x01\x03\x01\x02\0\x01\
19686    \x12\x04\x96\x06\r\x14\n\x11\n\t\x04)\x03\x01\x03\x01\x02\0\x03\x12\x04\
19687    \x96\x06\x17\x18\n\x10\n\x08\x04)\x03\x01\x03\x01\x02\x01\x12\x04\x97\
19688    \x06\x06\x19\n\x11\n\t\x04)\x03\x01\x03\x01\x02\x01\x05\x12\x04\x97\x06\
19689    \x06\x0b\n\x11\n\t\x04)\x03\x01\x03\x01\x02\x01\x01\x12\x04\x97\x06\x0c\
19690    \x14\n\x11\n\t\x04)\x03\x01\x03\x01\x02\x01\x03\x12\x04\x97\x06\x17\x18\
19691    \n\x10\n\x08\x04)\x03\x01\x03\x01\x02\x02\x12\x04\x98\x06\x06\x16\n\x11\
19692    \n\t\x04)\x03\x01\x03\x01\x02\x02\x05\x12\x04\x98\x06\x06\x0b\n\x11\n\t\
19693    \x04)\x03\x01\x03\x01\x02\x02\x01\x12\x04\x98\x06\x0c\x11\n\x11\n\t\x04)\
19694    \x03\x01\x03\x01\x02\x02\x03\x12\x04\x98\x06\x14\x15\n\x0e\n\x04\x04)\
19695    \x03\x02\x12\x06\x9c\x06\x02\xa2\x06\x03\n\r\n\x05\x04)\x03\x02\x01\x12\
19696    \x04\x9c\x06\n\x12\n\x0e\n\x06\x04)\x03\x02\x02\0\x12\x04\x9d\x06\x04\
19697    \x14\n\x0f\n\x07\x04)\x03\x02\x02\0\x05\x12\x04\x9d\x06\x04\t\n\x0f\n\
19698    \x07\x04)\x03\x02\x02\0\x01\x12\x04\x9d\x06\n\x0f\n\x0f\n\x07\x04)\x03\
19699    \x02\x02\0\x03\x12\x04\x9d\x06\x12\x13\n\x0e\n\x06\x04)\x03\x02\x02\x01\
19700    \x12\x04\x9e\x06\x04\x18\n\x0f\n\x07\x04)\x03\x02\x02\x01\x05\x12\x04\
19701    \x9e\x06\x04\n\n\x0f\n\x07\x04)\x03\x02\x02\x01\x01\x12\x04\x9e\x06\x0b\
19702    \x13\n\x0f\n\x07\x04)\x03\x02\x02\x01\x03\x12\x04\x9e\x06\x16\x17\n\x0e\
19703    \n\x06\x04)\x03\x02\x02\x02\x12\x04\x9f\x06\x04\x1d\n\x0f\n\x07\x04)\x03\
19704    \x02\x02\x02\x05\x12\x04\x9f\x06\x04\n\n\x0f\n\x07\x04)\x03\x02\x02\x02\
19705    \x01\x12\x04\x9f\x06\x0b\x18\n\x0f\n\x07\x04)\x03\x02\x02\x02\x03\x12\
19706    \x04\x9f\x06\x1b\x1c\n\x0e\n\x06\x04)\x03\x02\x02\x03\x12\x04\xa0\x06\
19707    \x04\x1e\n\x0f\n\x07\x04)\x03\x02\x02\x03\x05\x12\x04\xa0\x06\x04\n\n\
19708    \x0f\n\x07\x04)\x03\x02\x02\x03\x01\x12\x04\xa0\x06\x0b\x19\n\x0f\n\x07\
19709    \x04)\x03\x02\x02\x03\x03\x12\x04\xa0\x06\x1c\x1d\n\x0e\n\x06\x04)\x03\
19710    \x02\x02\x04\x12\x04\xa1\x06\x04!\n\x0f\n\x07\x04)\x03\x02\x02\x04\x05\
19711    \x12\x04\xa1\x06\x04\n\n\x0f\n\x07\x04)\x03\x02\x02\x04\x01\x12\x04\xa1\
19712    \x06\x0b\x1c\n\x0f\n\x07\x04)\x03\x02\x02\x04\x03\x12\x04\xa1\x06\x1f\
19713    \x20\n\x0e\n\x04\x04)\x03\x03\x12\x06\xa4\x06\x02\xd9\x06\x03\n\r\n\x05\
19714    \x04)\x03\x03\x01\x12\x04\xa4\x06\n\x11\n\x0e\n\x06\x04)\x03\x03\x02\0\
19715    \x12\x04\xa5\x06\x04\x1e\n\x0f\n\x07\x04)\x03\x03\x02\0\x05\x12\x04\xa5\
19716    \x06\x04\t\n\x0f\n\x07\x04)\x03\x03\x02\0\x01\x12\x04\xa5\x06\n\x19\n\
19717    \x0f\n\x07\x04)\x03\x03\x02\0\x03\x12\x04\xa5\x06\x1c\x1d\n\x0e\n\x06\
19718    \x04)\x03\x03\x02\x01\x12\x04\xa6\x06\x04\x14\n\x0f\n\x07\x04)\x03\x03\
19719    \x02\x01\x06\x12\x04\xa6\x06\x04\x0b\n\x0f\n\x07\x04)\x03\x03\x02\x01\
19720    \x01\x12\x04\xa6\x06\x0c\x0f\n\x0f\n\x07\x04)\x03\x03\x02\x01\x03\x12\
19721    \x04\xa6\x06\x12\x13\n\x0e\n\x06\x04)\x03\x03\x02\x02\x12\x04\xa7\x06\
19722    \x04\x1e\n\x0f\n\x07\x04)\x03\x03\x02\x02\x05\x12\x04\xa7\x06\x04\t\n\
19723    \x0f\n\x07\x04)\x03\x03\x02\x02\x01\x12\x04\xa7\x06\n\x19\n\x0f\n\x07\
19724    \x04)\x03\x03\x02\x02\x03\x12\x04\xa7\x06\x1c\x1d\n\x0e\n\x06\x04)\x03\
19725    \x03\x02\x03\x12\x04\xa8\x06\x04#\n\x0f\n\x07\x04)\x03\x03\x02\x03\x05\
19726    \x12\x04\xa8\x06\x04\t\n\x0f\n\x07\x04)\x03\x03\x02\x03\x01\x12\x04\xa8\
19727    \x06\n\x1e\n\x0f\n\x07\x04)\x03\x03\x02\x03\x03\x12\x04\xa8\x06!\"\n\x0e\
19728    \n\x06\x04)\x03\x03\x02\x04\x12\x04\xa9\x06\x04\x1e\n\x0f\n\x07\x04)\x03\
19729    \x03\x02\x04\x06\x12\x04\xa9\x06\x04\x0c\n\x0f\n\x07\x04)\x03\x03\x02\
19730    \x04\x01\x12\x04\xa9\x06\r\x19\n\x0f\n\x07\x04)\x03\x03\x02\x04\x03\x12\
19731    \x04\xa9\x06\x1c\x1d\n\x0e\n\x06\x04)\x03\x03\x02\x05\x12\x04\xaa\x06\
19732    \x04\x1f\n\x0f\n\x07\x04)\x03\x03\x02\x05\x06\x12\x04\xaa\x06\x04\x0c\n\
19733    \x0f\n\x07\x04)\x03\x03\x02\x05\x01\x12\x04\xaa\x06\r\x1a\n\x0f\n\x07\
19734    \x04)\x03\x03\x02\x05\x03\x12\x04\xaa\x06\x1d\x1e\n\x0e\n\x06\x04)\x03\
19735    \x03\x02\x06\x12\x04\xab\x06\x04!\n\x0f\n\x07\x04)\x03\x03\x02\x06\x05\
19736    \x12\x04\xab\x06\x04\t\n\x0f\n\x07\x04)\x03\x03\x02\x06\x01\x12\x04\xab\
19737    \x06\n\x1c\n\x0f\n\x07\x04)\x03\x03\x02\x06\x03\x12\x04\xab\x06\x1f\x20\
19738    \n\x0e\n\x06\x04)\x03\x03\x02\x07\x12\x04\xac\x06\x04=\n\x0f\n\x07\x04)\
19739    \x03\x03\x02\x07\x04\x12\x04\xac\x06\x04\x0c\n\x0f\n\x07\x04)\x03\x03\
19740    \x02\x07\x06\x12\x04\xac\x06\r$\n\x0f\n\x07\x04)\x03\x03\x02\x07\x01\x12\
19741    \x04\xac\x06%8\n\x0f\n\x07\x04)\x03\x03\x02\x07\x03\x12\x04\xac\x06;<\n\
19742    \x0e\n\x06\x04)\x03\x03\x02\x08\x12\x04\xad\x06\x04\x1e\n\x0f\n\x07\x04)\
19743    \x03\x03\x02\x08\x06\x12\x04\xad\x06\x04\x0c\n\x0f\n\x07\x04)\x03\x03\
19744    \x02\x08\x01\x12\x04\xad\x06\r\x19\n\x0f\n\x07\x04)\x03\x03\x02\x08\x03\
19745    \x12\x04\xad\x06\x1c\x1d\n\x0e\n\x06\x04)\x03\x03\x02\t\x12\x04\xae\x06\
19746    \x04\x20\n\x0f\n\x07\x04)\x03\x03\x02\t\x06\x12\x04\xae\x06\x04\x0c\n\
19747    \x0f\n\x07\x04)\x03\x03\x02\t\x01\x12\x04\xae\x06\r\x1a\n\x0f\n\x07\x04)\
19748    \x03\x03\x02\t\x03\x12\x04\xae\x06\x1d\x1f\n\x0e\n\x06\x04)\x03\x03\x02\
19749    \n\x12\x04\xaf\x06\x04\x1d\n\x0f\n\x07\x04)\x03\x03\x02\n\x06\x12\x04\
19750    \xaf\x06\x04\x0f\n\x0f\n\x07\x04)\x03\x03\x02\n\x01\x12\x04\xaf\x06\x10\
19751    \x17\n\x0f\n\x07\x04)\x03\x03\x02\n\x03\x12\x04\xaf\x06\x1a\x1c\n\x10\n\
19752    \x06\x04)\x03\x03\x03\0\x12\x06\xb1\x06\x04\xbd\x06\x05\n\x0f\n\x07\x04)\
19753    \x03\x03\x03\0\x01\x12\x04\xb1\x06\x0c\x13\n\x10\n\x08\x04)\x03\x03\x03\
19754    \0\x02\0\x12\x04\xb2\x06\x06\x17\n\x11\n\t\x04)\x03\x03\x03\0\x02\0\x06\
19755    \x12\x04\xb2\x06\x06\x0e\n\x11\n\t\x04)\x03\x03\x03\0\x02\0\x01\x12\x04\
19756    \xb2\x06\x0f\x12\n\x11\n\t\x04)\x03\x03\x03\0\x02\0\x03\x12\x04\xb2\x06\
19757    \x15\x16\n\x10\n\x08\x04)\x03\x03\x03\0\x02\x01\x12\x04\xb3\x06\x06\x1b\
19758    \n\x11\n\t\x04)\x03\x03\x03\0\x02\x01\x06\x12\x04\xb3\x06\x06\x0e\n\x11\
19759    \n\t\x04)\x03\x03\x03\0\x02\x01\x01\x12\x04\xb3\x06\x0f\x16\n\x11\n\t\
19760    \x04)\x03\x03\x03\0\x02\x01\x03\x12\x04\xb3\x06\x19\x1a\n\x10\n\x08\x04)\
19761    \x03\x03\x03\0\x02\x02\x12\x04\xb4\x06\x06\x1e\n\x11\n\t\x04)\x03\x03\
19762    \x03\0\x02\x02\x06\x12\x04\xb4\x06\x06\x0e\n\x11\n\t\x04)\x03\x03\x03\0\
19763    \x02\x02\x01\x12\x04\xb4\x06\x0f\x19\n\x11\n\t\x04)\x03\x03\x03\0\x02\
19764    \x02\x03\x12\x04\xb4\x06\x1c\x1d\n\x10\n\x08\x04)\x03\x03\x03\0\x02\x03\
19765    \x12\x04\xb5\x06\x06(\n\x11\n\t\x04)\x03\x03\x03\0\x02\x03\x04\x12\x04\
19766    \xb5\x06\x06\x0e\n\x11\n\t\x04)\x03\x03\x03\0\x02\x03\x06\x12\x04\xb5\
19767    \x06\x0f\x1c\n\x11\n\t\x04)\x03\x03\x03\0\x02\x03\x01\x12\x04\xb5\x06\
19768    \x1d#\n\x11\n\t\x04)\x03\x03\x03\0\x02\x03\x03\x12\x04\xb5\x06&'\n\x12\n\
19769    \x08\x04)\x03\x03\x03\0\x03\0\x12\x06\xb7\x06\x06\xbc\x06\x07\n\x11\n\t\
19770    \x04)\x03\x03\x03\0\x03\0\x01\x12\x04\xb7\x06\x0e\x1b\n\x12\n\n\x04)\x03\
19771    \x03\x03\0\x03\0\x02\0\x12\x04\xb8\x06\x08\x18\n\x13\n\x0b\x04)\x03\x03\
19772    \x03\0\x03\0\x02\0\x05\x12\x04\xb8\x06\x08\x0e\n\x13\n\x0b\x04)\x03\x03\
19773    \x03\0\x03\0\x02\0\x01\x12\x04\xb8\x06\x0f\x13\n\x13\n\x0b\x04)\x03\x03\
19774    \x03\0\x03\0\x02\0\x03\x12\x04\xb8\x06\x16\x17\n\x12\n\n\x04)\x03\x03\
19775    \x03\0\x03\0\x02\x01\x12\x04\xb9\x06\x08\x19\n\x13\n\x0b\x04)\x03\x03\
19776    \x03\0\x03\0\x02\x01\x06\x12\x04\xb9\x06\x08\x10\n\x13\n\x0b\x04)\x03\
19777    \x03\x03\0\x03\0\x02\x01\x01\x12\x04\xb9\x06\x11\x14\n\x13\n\x0b\x04)\
19778    \x03\x03\x03\0\x03\0\x02\x01\x03\x12\x04\xb9\x06\x17\x18\n\x12\n\n\x04)\
19779    \x03\x03\x03\0\x03\0\x02\x02\x12\x04\xba\x06\x08\x1d\n\x13\n\x0b\x04)\
19780    \x03\x03\x03\0\x03\0\x02\x02\x06\x12\x04\xba\x06\x08\x10\n\x13\n\x0b\x04\
19781    )\x03\x03\x03\0\x03\0\x02\x02\x01\x12\x04\xba\x06\x11\x18\n\x13\n\x0b\
19782    \x04)\x03\x03\x03\0\x03\0\x02\x02\x03\x12\x04\xba\x06\x1b\x1c\n\x12\n\n\
19783    \x04)\x03\x03\x03\0\x03\0\x02\x03\x12\x04\xbb\x06\x08\x20\n\x13\n\x0b\
19784    \x04)\x03\x03\x03\0\x03\0\x02\x03\x06\x12\x04\xbb\x06\x08\x10\n\x13\n\
19785    \x0b\x04)\x03\x03\x03\0\x03\0\x02\x03\x01\x12\x04\xbb\x06\x11\x1b\n\x13\
19786    \n\x0b\x04)\x03\x03\x03\0\x03\0\x02\x03\x03\x12\x04\xbb\x06\x1e\x1f\n\
19787    \x10\n\x06\x04)\x03\x03\x03\x01\x12\x06\xbf\x06\x04\xc2\x06\x05\n\x0f\n\
19788    \x07\x04)\x03\x03\x03\x01\x01\x12\x04\xbf\x06\x0c#\n\x10\n\x08\x04)\x03\
19789    \x03\x03\x01\x02\0\x12\x04\xc0\x06\x06\x18\n\x11\n\t\x04)\x03\x03\x03\
19790    \x01\x02\0\x05\x12\x04\xc0\x06\x06\x0c\n\x11\n\t\x04)\x03\x03\x03\x01\
19791    \x02\0\x01\x12\x04\xc0\x06\r\x13\n\x11\n\t\x04)\x03\x03\x03\x01\x02\0\
19792    \x03\x12\x04\xc0\x06\x16\x17\n\x10\n\x08\x04)\x03\x03\x03\x01\x02\x01\
19793    \x12\x04\xc1\x06\x06\x16\n\x11\n\t\x04)\x03\x03\x03\x01\x02\x01\x05\x12\
19794    \x04\xc1\x06\x06\x0b\n\x11\n\t\x04)\x03\x03\x03\x01\x02\x01\x01\x12\x04\
19795    \xc1\x06\x0c\x11\n\x11\n\t\x04)\x03\x03\x03\x01\x02\x01\x03\x12\x04\xc1\
19796    \x06\x14\x15\n\x10\n\x06\x04)\x03\x03\x03\x02\x12\x06\xc4\x06\x04\xd8\
19797    \x06\x05\n\x0f\n\x07\x04)\x03\x03\x03\x02\x01\x12\x04\xc4\x06\x0c\x17\n\
19798    \x10\n\x08\x04)\x03\x03\x03\x02\x02\0\x12\x04\xc5\x06\x06\x16\n\x11\n\t\
19799    \x04)\x03\x03\x03\x02\x02\0\x05\x12\x04\xc5\x06\x06\x0b\n\x11\n\t\x04)\
19800    \x03\x03\x03\x02\x02\0\x01\x12\x04\xc5\x06\x0c\x11\n\x11\n\t\x04)\x03\
19801    \x03\x03\x02\x02\0\x03\x12\x04\xc5\x06\x14\x15\n\x10\n\x08\x04)\x03\x03\
19802    \x03\x02\x02\x01\x12\x04\xc6\x06\x06\x16\n\x11\n\t\x04)\x03\x03\x03\x02\
19803    \x02\x01\x05\x12\x04\xc6\x06\x06\x0b\n\x11\n\t\x04)\x03\x03\x03\x02\x02\
19804    \x01\x01\x12\x04\xc6\x06\x0c\x11\n\x11\n\t\x04)\x03\x03\x03\x02\x02\x01\
19805    \x03\x12\x04\xc6\x06\x14\x15\n\x10\n\x08\x04)\x03\x03\x03\x02\x02\x02\
19806    \x12\x04\xc7\x06\x06\x16\n\x11\n\t\x04)\x03\x03\x03\x02\x02\x02\x05\x12\
19807    \x04\xc7\x06\x06\x0b\n\x11\n\t\x04)\x03\x03\x03\x02\x02\x02\x01\x12\x04\
19808    \xc7\x06\x0c\x11\n\x11\n\t\x04)\x03\x03\x03\x02\x02\x02\x03\x12\x04\xc7\
19809    \x06\x14\x15\n\x10\n\x08\x04)\x03\x03\x03\x02\x02\x03\x12\x04\xc8\x06\
19810    \x06\x1b\n\x11\n\t\x04)\x03\x03\x03\x02\x02\x03\x05\x12\x04\xc8\x06\x06\
19811    \x0b\n\x11\n\t\x04)\x03\x03\x03\x02\x02\x03\x01\x12\x04\xc8\x06\x0c\x16\
19812    \n\x11\n\t\x04)\x03\x03\x03\x02\x02\x03\x03\x12\x04\xc8\x06\x19\x1a\n\
19813    \x10\n\x08\x04)\x03\x03\x03\x02\x02\x04\x12\x04\xc9\x06\x06\x18\n\x11\n\
19814    \t\x04)\x03\x03\x03\x02\x02\x04\x05\x12\x04\xc9\x06\x06\x0b\n\x11\n\t\
19815    \x04)\x03\x03\x03\x02\x02\x04\x01\x12\x04\xc9\x06\x0c\x13\n\x11\n\t\x04)\
19816    \x03\x03\x03\x02\x02\x04\x03\x12\x04\xc9\x06\x16\x17\n\x10\n\x08\x04)\
19817    \x03\x03\x03\x02\x02\x05\x12\x04\xca\x06\x06\x18\n\x11\n\t\x04)\x03\x03\
19818    \x03\x02\x02\x05\x05\x12\x04\xca\x06\x06\x0b\n\x11\n\t\x04)\x03\x03\x03\
19819    \x02\x02\x05\x01\x12\x04\xca\x06\x0c\x13\n\x11\n\t\x04)\x03\x03\x03\x02\
19820    \x02\x05\x03\x12\x04\xca\x06\x16\x17\n\x10\n\x08\x04)\x03\x03\x03\x02\
19821    \x02\x06\x12\x04\xcb\x06\x06\x18\n\x11\n\t\x04)\x03\x03\x03\x02\x02\x06\
19822    \x05\x12\x04\xcb\x06\x06\x0b\n\x11\n\t\x04)\x03\x03\x03\x02\x02\x06\x01\
19823    \x12\x04\xcb\x06\x0c\x13\n\x11\n\t\x04)\x03\x03\x03\x02\x02\x06\x03\x12\
19824    \x04\xcb\x06\x16\x17\n\x10\n\x08\x04)\x03\x03\x03\x02\x02\x07\x12\x04\
19825    \xcc\x06\x06,\n\x11\n\t\x04)\x03\x03\x03\x02\x02\x07\x04\x12\x04\xcc\x06\
19826    \x06\x0e\n\x11\n\t\x04)\x03\x03\x03\x02\x02\x07\x06\x12\x04\xcc\x06\x0f\
19827    \x20\n\x11\n\t\x04)\x03\x03\x03\x02\x02\x07\x01\x12\x04\xcc\x06!'\n\x11\
19828    \n\t\x04)\x03\x03\x03\x02\x02\x07\x03\x12\x04\xcc\x06*+\n\x12\n\x08\x04)\
19829    \x03\x03\x03\x02\x03\0\x12\x06\xce\x06\x06\xd7\x06\x07\n\x11\n\t\x04)\
19830    \x03\x03\x03\x02\x03\0\x01\x12\x04\xce\x06\x0e\x1f\n\x12\n\n\x04)\x03\
19831    \x03\x03\x02\x03\0\x02\0\x12\x04\xcf\x06\x08\x1b\n\x13\n\x0b\x04)\x03\
19832    \x03\x03\x02\x03\0\x02\0\x05\x12\x04\xcf\x06\x08\x0e\n\x13\n\x0b\x04)\
19833    \x03\x03\x03\x02\x03\0\x02\0\x01\x12\x04\xcf\x06\x0f\x16\n\x13\n\x0b\x04\
19834    )\x03\x03\x03\x02\x03\0\x02\0\x03\x12\x04\xcf\x06\x19\x1a\n\x12\n\n\x04)\
19835    \x03\x03\x03\x02\x03\0\x02\x01\x12\x04\xd0\x06\x08\x18\n\x13\n\x0b\x04)\
19836    \x03\x03\x03\x02\x03\0\x02\x01\x05\x12\x04\xd0\x06\x08\r\n\x13\n\x0b\x04\
19837    )\x03\x03\x03\x02\x03\0\x02\x01\x01\x12\x04\xd0\x06\x0e\x13\n\x13\n\x0b\
19838    \x04)\x03\x03\x03\x02\x03\0\x02\x01\x03\x12\x04\xd0\x06\x16\x17\n\x12\n\
19839    \n\x04)\x03\x03\x03\x02\x03\0\x02\x02\x12\x04\xd1\x06\x08\x18\n\x13\n\
19840    \x0b\x04)\x03\x03\x03\x02\x03\0\x02\x02\x05\x12\x04\xd1\x06\x08\r\n\x13\
19841    \n\x0b\x04)\x03\x03\x03\x02\x03\0\x02\x02\x01\x12\x04\xd1\x06\x0e\x13\n\
19842    \x13\n\x0b\x04)\x03\x03\x03\x02\x03\0\x02\x02\x03\x12\x04\xd1\x06\x16\
19843    \x17\n\x12\n\n\x04)\x03\x03\x03\x02\x03\0\x02\x03\x12\x04\xd2\x06\x08\
19844    \x18\n\x13\n\x0b\x04)\x03\x03\x03\x02\x03\0\x02\x03\x05\x12\x04\xd2\x06\
19845    \x08\r\n\x13\n\x0b\x04)\x03\x03\x03\x02\x03\0\x02\x03\x01\x12\x04\xd2\
19846    \x06\x0e\x13\n\x13\n\x0b\x04)\x03\x03\x03\x02\x03\0\x02\x03\x03\x12\x04\
19847    \xd2\x06\x16\x17\n\x12\n\n\x04)\x03\x03\x03\x02\x03\0\x02\x04\x12\x04\
19848    \xd3\x06\x08\x18\n\x13\n\x0b\x04)\x03\x03\x03\x02\x03\0\x02\x04\x05\x12\
19849    \x04\xd3\x06\x08\r\n\x13\n\x0b\x04)\x03\x03\x03\x02\x03\0\x02\x04\x01\
19850    \x12\x04\xd3\x06\x0e\x13\n\x13\n\x0b\x04)\x03\x03\x03\x02\x03\0\x02\x04\
19851    \x03\x12\x04\xd3\x06\x16\x17\n\x12\n\n\x04)\x03\x03\x03\x02\x03\0\x02\
19852    \x05\x12\x04\xd4\x06\x08\x1a\n\x13\n\x0b\x04)\x03\x03\x03\x02\x03\0\x02\
19853    \x05\x05\x12\x04\xd4\x06\x08\r\n\x13\n\x0b\x04)\x03\x03\x03\x02\x03\0\
19854    \x02\x05\x01\x12\x04\xd4\x06\x0e\x15\n\x13\n\x0b\x04)\x03\x03\x03\x02\
19855    \x03\0\x02\x05\x03\x12\x04\xd4\x06\x18\x19\n\x12\n\n\x04)\x03\x03\x03\
19856    \x02\x03\0\x02\x06\x12\x04\xd5\x06\x08\x1a\n\x13\n\x0b\x04)\x03\x03\x03\
19857    \x02\x03\0\x02\x06\x05\x12\x04\xd5\x06\x08\r\n\x13\n\x0b\x04)\x03\x03\
19858    \x03\x02\x03\0\x02\x06\x01\x12\x04\xd5\x06\x0e\x15\n\x13\n\x0b\x04)\x03\
19859    \x03\x03\x02\x03\0\x02\x06\x03\x12\x04\xd5\x06\x18\x19\n\x12\n\n\x04)\
19860    \x03\x03\x03\x02\x03\0\x02\x07\x12\x04\xd6\x06\x08\x1a\n\x13\n\x0b\x04)\
19861    \x03\x03\x03\x02\x03\0\x02\x07\x05\x12\x04\xd6\x06\x08\r\n\x13\n\x0b\x04\
19862    )\x03\x03\x03\x02\x03\0\x02\x07\x01\x12\x04\xd6\x06\x0e\x15\n\x13\n\x0b\
19863    \x04)\x03\x03\x03\x02\x03\0\x02\x07\x03\x12\x04\xd6\x06\x18\x19\n\x0c\n\
19864    \x02\x04*\x12\x06\xdc\x06\0\xf1\x06\x01\n\x0b\n\x03\x04*\x01\x12\x04\xdc\
19865    \x06\x08\x13\n\x0e\n\x04\x04*\x04\0\x12\x06\xdd\x06\x02\xe3\x06\x03\n\r\
19866    \n\x05\x04*\x04\0\x01\x12\x04\xdd\x06\x07\x0e\n\x0e\n\x06\x04*\x04\0\x02\
19867    \0\x12\x04\xde\x06\x04\x14\n\x0f\n\x07\x04*\x04\0\x02\0\x01\x12\x04\xde\
19868    \x06\x04\x0f\n\x0f\n\x07\x04*\x04\0\x02\0\x02\x12\x04\xde\x06\x12\x13\n\
19869    \x0e\n\x06\x04*\x04\0\x02\x01\x12\x04\xdf\x06\x04\x10\n\x0f\n\x07\x04*\
19870    \x04\0\x02\x01\x01\x12\x04\xdf\x06\x04\x0b\n\x0f\n\x07\x04*\x04\0\x02\
19871    \x01\x02\x12\x04\xdf\x06\x0e\x0f\n\x0e\n\x06\x04*\x04\0\x02\x02\x12\x04\
19872    \xe0\x06\x04\x13\n\x0f\n\x07\x04*\x04\0\x02\x02\x01\x12\x04\xe0\x06\x04\
19873    \x0e\n\x0f\n\x07\x04*\x04\0\x02\x02\x02\x12\x04\xe0\x06\x11\x12\n\x0e\n\
19874    \x06\x04*\x04\0\x02\x03\x12\x04\xe1\x06\x04\x10\n\x0f\n\x07\x04*\x04\0\
19875    \x02\x03\x01\x12\x04\xe1\x06\x04\x0b\n\x0f\n\x07\x04*\x04\0\x02\x03\x02\
19876    \x12\x04\xe1\x06\x0e\x0f\n\x0e\n\x06\x04*\x04\0\x02\x04\x12\x04\xe2\x06\
19877    \x04\x0f\n\x0f\n\x07\x04*\x04\0\x02\x04\x01\x12\x04\xe2\x06\x04\n\n\x0f\
19878    \n\x07\x04*\x04\0\x02\x04\x02\x12\x04\xe2\x06\r\x0e\n\x0e\n\x04\x04*\x04\
19879    \x01\x12\x06\xe4\x06\x02\xe7\x06\x03\n\r\n\x05\x04*\x04\x01\x01\x12\x04\
19880    \xe4\x06\x07\x0f\n\x0e\n\x06\x04*\x04\x01\x02\0\x12\x04\xe5\x06\x04\x0e\
19881    \n\x0f\n\x07\x04*\x04\x01\x02\0\x01\x12\x04\xe5\x06\x04\t\n\x0f\n\x07\
19882    \x04*\x04\x01\x02\0\x02\x12\x04\xe5\x06\x0c\r\n\x0e\n\x06\x04*\x04\x01\
19883    \x02\x01\x12\x04\xe6\x06\x04\x0c\n\x0f\n\x07\x04*\x04\x01\x02\x01\x01\
19884    \x12\x04\xe6\x06\x04\x07\n\x0f\n\x07\x04*\x04\x01\x02\x01\x02\x12\x04\
19885    \xe6\x06\n\x0b\n\x0e\n\x04\x04*\x03\0\x12\x06\xe8\x06\x02\xee\x06\x03\n\
19886    \r\n\x05\x04*\x03\0\x01\x12\x04\xe8\x06\n\r\n\x0e\n\x06\x04*\x03\0\x02\0\
19887    \x12\x04\xe9\x06\x04\x19\n\x0f\n\x07\x04*\x03\0\x02\0\x06\x12\x04\xe9\
19888    \x06\x04\x0b\n\x0f\n\x07\x04*\x03\0\x02\0\x01\x12\x04\xe9\x06\x0c\x14\n\
19889    \x0f\n\x07\x04*\x03\0\x02\0\x03\x12\x04\xe9\x06\x17\x18\n\x0e\n\x06\x04*\
19890    \x03\0\x02\x01\x12\x04\xea\x06\x04\x1b\n\x0f\n\x07\x04*\x03\0\x02\x01\
19891    \x06\x12\x04\xea\x06\x04\x0c\n\x0f\n\x07\x04*\x03\0\x02\x01\x01\x12\x04\
19892    \xea\x06\r\x16\n\x0f\n\x07\x04*\x03\0\x02\x01\x03\x12\x04\xea\x06\x19\
19893    \x1a\n\x0e\n\x06\x04*\x03\0\x02\x02\x12\x04\xeb\x06\x04\x15\n\x0f\n\x07\
19894    \x04*\x03\0\x02\x02\x05\x12\x04\xeb\x06\x04\t\n\x0f\n\x07\x04*\x03\0\x02\
19895    \x02\x01\x12\x04\xeb\x06\n\x10\n\x0f\n\x07\x04*\x03\0\x02\x02\x03\x12\
19896    \x04\xeb\x06\x13\x14\n\x0e\n\x06\x04*\x03\0\x02\x03\x12\x04\xec\x06\x04\
19897    \x14\n\x0f\n\x07\x04*\x03\0\x02\x03\x05\x12\x04\xec\x06\x04\t\n\x0f\n\
19898    \x07\x04*\x03\0\x02\x03\x01\x12\x04\xec\x06\n\x0f\n\x0f\n\x07\x04*\x03\0\
19899    \x02\x03\x03\x12\x04\xec\x06\x12\x13\n\x0e\n\x06\x04*\x03\0\x02\x04\x12\
19900    \x04\xed\x06\x04\x13\n\x0f\n\x07\x04*\x03\0\x02\x04\x05\x12\x04\xed\x06\
19901    \x04\t\n\x0f\n\x07\x04*\x03\0\x02\x04\x01\x12\x04\xed\x06\n\x0e\n\x0f\n\
19902    \x07\x04*\x03\0\x02\x04\x03\x12\x04\xed\x06\x11\x12\n\x0c\n\x04\x04*\x02\
19903    \0\x12\x04\xef\x06\x02\x13\n\r\n\x05\x04*\x02\0\x06\x12\x04\xef\x06\x02\
19904    \x05\n\r\n\x05\x04*\x02\0\x01\x12\x04\xef\x06\x06\x0e\n\r\n\x05\x04*\x02\
19905    \0\x03\x12\x04\xef\x06\x11\x12\n\x0c\n\x04\x04*\x02\x01\x12\x04\xf0\x06\
19906    \x02\x16\n\r\n\x05\x04*\x02\x01\x05\x12\x04\xf0\x06\x02\x07\n\r\n\x05\
19907    \x04*\x02\x01\x01\x12\x04\xf0\x06\x08\x11\n\r\n\x05\x04*\x02\x01\x03\x12\
19908    \x04\xf0\x06\x14\x15\n\x0c\n\x02\x04+\x12\x06\xf3\x06\0\xf6\x06\x01\n\
19909    \x0b\n\x03\x04+\x01\x12\x04\xf3\x06\x08\x18\n\x0c\n\x04\x04+\x02\0\x12\
19910    \x04\xf4\x06\x02\x11\n\r\n\x05\x04+\x02\0\x05\x12\x04\xf4\x06\x02\x07\n\
19911    \r\n\x05\x04+\x02\0\x01\x12\x04\xf4\x06\x08\x0c\n\r\n\x05\x04+\x02\0\x03\
19912    \x12\x04\xf4\x06\x0f\x10\n\x0c\n\x04\x04+\x02\x01\x12\x04\xf5\x06\x02\
19913    \x1f\n\r\n\x05\x04+\x02\x01\x04\x12\x04\xf5\x06\x02\n\n\r\n\x05\x04+\x02\
19914    \x01\x05\x12\x04\xf5\x06\x0b\x10\n\r\n\x05\x04+\x02\x01\x01\x12\x04\xf5\
19915    \x06\x11\x1a\n\r\n\x05\x04+\x02\x01\x03\x12\x04\xf5\x06\x1d\x1e\n\x0c\n\
19916    \x02\x04,\x12\x06\xf8\x06\0\xfa\x06\x01\n\x0b\n\x03\x04,\x01\x12\x04\xf8\
19917    \x06\x08\x0b\n\x0c\n\x04\x04,\x02\0\x12\x04\xf9\x06\x02\x1f\n\r\n\x05\
19918    \x04,\x02\0\x04\x12\x04\xf9\x06\x02\n\n\r\n\x05\x04,\x02\0\x05\x12\x04\
19919    \xf9\x06\x0b\x10\n\r\n\x05\x04,\x02\0\x01\x12\x04\xf9\x06\x11\x1a\n\r\n\
19920    \x05\x04,\x02\0\x03\x12\x04\xf9\x06\x1d\x1eb\x06proto3\
19921";
19922
19923/// `FileDescriptorProto` object which was a source for this generated file
19924fn file_descriptor_proto() -> &'static ::protobuf::descriptor::FileDescriptorProto {
19925    static file_descriptor_proto_lazy: ::protobuf::rt::Lazy<::protobuf::descriptor::FileDescriptorProto> = ::protobuf::rt::Lazy::new();
19926    file_descriptor_proto_lazy.get(|| {
19927        ::protobuf::Message::parse_from_bytes(file_descriptor_proto_data).unwrap()
19928    })
19929}
19930
19931/// `FileDescriptor` object which allows dynamic access to files
19932pub fn file_descriptor() -> &'static ::protobuf::reflect::FileDescriptor {
19933    static generated_file_descriptor_lazy: ::protobuf::rt::Lazy<::protobuf::reflect::GeneratedFileDescriptor> = ::protobuf::rt::Lazy::new();
19934    static file_descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::FileDescriptor> = ::protobuf::rt::Lazy::new();
19935    file_descriptor.get(|| {
19936        let generated_file_descriptor = generated_file_descriptor_lazy.get(|| {
19937            let mut deps = ::std::vec::Vec::with_capacity(3);
19938            deps.push(::protobuf::well_known_types::any::file_descriptor().clone());
19939            deps.push(super::Discover::file_descriptor().clone());
19940            deps.push(super::common::file_descriptor().clone());
19941            let mut messages = ::std::vec::Vec::with_capacity(77);
19942            messages.push(AccountId::generated_message_descriptor_data());
19943            messages.push(Vote::generated_message_descriptor_data());
19944            messages.push(Proposal::generated_message_descriptor_data());
19945            messages.push(Exchange::generated_message_descriptor_data());
19946            messages.push(MarketOrder::generated_message_descriptor_data());
19947            messages.push(MarketOrderList::generated_message_descriptor_data());
19948            messages.push(MarketOrderPairList::generated_message_descriptor_data());
19949            messages.push(MarketOrderPair::generated_message_descriptor_data());
19950            messages.push(MarketAccountOrder::generated_message_descriptor_data());
19951            messages.push(MarketPrice::generated_message_descriptor_data());
19952            messages.push(MarketPriceList::generated_message_descriptor_data());
19953            messages.push(MarketOrderIdList::generated_message_descriptor_data());
19954            messages.push(ChainParameters::generated_message_descriptor_data());
19955            messages.push(Account::generated_message_descriptor_data());
19956            messages.push(Key::generated_message_descriptor_data());
19957            messages.push(DelegatedResource::generated_message_descriptor_data());
19958            messages.push(Authority::generated_message_descriptor_data());
19959            messages.push(Permission::generated_message_descriptor_data());
19960            messages.push(Witness::generated_message_descriptor_data());
19961            messages.push(Votes::generated_message_descriptor_data());
19962            messages.push(TXOutput::generated_message_descriptor_data());
19963            messages.push(TXInput::generated_message_descriptor_data());
19964            messages.push(TXOutputs::generated_message_descriptor_data());
19965            messages.push(ResourceReceipt::generated_message_descriptor_data());
19966            messages.push(MarketOrderDetail::generated_message_descriptor_data());
19967            messages.push(Transaction::generated_message_descriptor_data());
19968            messages.push(TransactionInfo::generated_message_descriptor_data());
19969            messages.push(TransactionRet::generated_message_descriptor_data());
19970            messages.push(Transactions::generated_message_descriptor_data());
19971            messages.push(BlockHeader::generated_message_descriptor_data());
19972            messages.push(Block::generated_message_descriptor_data());
19973            messages.push(ChainInventory::generated_message_descriptor_data());
19974            messages.push(BlockInventory::generated_message_descriptor_data());
19975            messages.push(Inventory::generated_message_descriptor_data());
19976            messages.push(Items::generated_message_descriptor_data());
19977            messages.push(DynamicProperties::generated_message_descriptor_data());
19978            messages.push(DisconnectMessage::generated_message_descriptor_data());
19979            messages.push(HelloMessage::generated_message_descriptor_data());
19980            messages.push(InternalTransaction::generated_message_descriptor_data());
19981            messages.push(DelegatedResourceAccountIndex::generated_message_descriptor_data());
19982            messages.push(NodeInfo::generated_message_descriptor_data());
19983            messages.push(MetricsInfo::generated_message_descriptor_data());
19984            messages.push(PBFTMessage::generated_message_descriptor_data());
19985            messages.push(PBFTCommitResult::generated_message_descriptor_data());
19986            messages.push(SRL::generated_message_descriptor_data());
19987            messages.push(chain_parameters::ChainParameter::generated_message_descriptor_data());
19988            messages.push(account::Frozen::generated_message_descriptor_data());
19989            messages.push(account::AccountResource::generated_message_descriptor_data());
19990            messages.push(account::FreezeV2::generated_message_descriptor_data());
19991            messages.push(account::UnFreezeV2::generated_message_descriptor_data());
19992            messages.push(txinput::Raw::generated_message_descriptor_data());
19993            messages.push(transaction::Contract::generated_message_descriptor_data());
19994            messages.push(transaction::Result::generated_message_descriptor_data());
19995            messages.push(transaction::Raw::generated_message_descriptor_data());
19996            messages.push(transaction_info::Log::generated_message_descriptor_data());
19997            messages.push(block_header::Raw::generated_message_descriptor_data());
19998            messages.push(chain_inventory::BlockId::generated_message_descriptor_data());
19999            messages.push(block_inventory::BlockId::generated_message_descriptor_data());
20000            messages.push(hello_message::BlockId::generated_message_descriptor_data());
20001            messages.push(internal_transaction::CallValueInfo::generated_message_descriptor_data());
20002            messages.push(node_info::PeerInfo::generated_message_descriptor_data());
20003            messages.push(node_info::ConfigNodeInfo::generated_message_descriptor_data());
20004            messages.push(node_info::MachineInfo::generated_message_descriptor_data());
20005            messages.push(node_info::machine_info::MemoryDescInfo::generated_message_descriptor_data());
20006            messages.push(node_info::machine_info::DeadLockThreadInfo::generated_message_descriptor_data());
20007            messages.push(metrics_info::NodeInfo::generated_message_descriptor_data());
20008            messages.push(metrics_info::BlockChainInfo::generated_message_descriptor_data());
20009            messages.push(metrics_info::RateInfo::generated_message_descriptor_data());
20010            messages.push(metrics_info::NetInfo::generated_message_descriptor_data());
20011            messages.push(metrics_info::block_chain_info::Witness::generated_message_descriptor_data());
20012            messages.push(metrics_info::block_chain_info::DupWitness::generated_message_descriptor_data());
20013            messages.push(metrics_info::net_info::ApiInfo::generated_message_descriptor_data());
20014            messages.push(metrics_info::net_info::DisconnectionDetailInfo::generated_message_descriptor_data());
20015            messages.push(metrics_info::net_info::LatencyInfo::generated_message_descriptor_data());
20016            messages.push(metrics_info::net_info::api_info::ApiDetailInfo::generated_message_descriptor_data());
20017            messages.push(metrics_info::net_info::latency_info::LatencyDetailInfo::generated_message_descriptor_data());
20018            messages.push(pbftmessage::Raw::generated_message_descriptor_data());
20019            let mut enums = ::std::vec::Vec::with_capacity(14);
20020            enums.push(AccountType::generated_enum_descriptor_data());
20021            enums.push(ReasonCode::generated_enum_descriptor_data());
20022            enums.push(proposal::State::generated_enum_descriptor_data());
20023            enums.push(market_order::State::generated_enum_descriptor_data());
20024            enums.push(permission::PermissionType::generated_enum_descriptor_data());
20025            enums.push(transaction::contract::ContractType::generated_enum_descriptor_data());
20026            enums.push(transaction::result::Code::generated_enum_descriptor_data());
20027            enums.push(transaction::result::ContractResult::generated_enum_descriptor_data());
20028            enums.push(transaction_info::Code::generated_enum_descriptor_data());
20029            enums.push(block_inventory::Type::generated_enum_descriptor_data());
20030            enums.push(inventory::InventoryType::generated_enum_descriptor_data());
20031            enums.push(items::ItemType::generated_enum_descriptor_data());
20032            enums.push(pbftmessage::MsgType::generated_enum_descriptor_data());
20033            enums.push(pbftmessage::DataType::generated_enum_descriptor_data());
20034            ::protobuf::reflect::GeneratedFileDescriptor::new_generated(
20035                file_descriptor_proto(),
20036                deps,
20037                messages,
20038                enums,
20039            )
20040        });
20041        ::protobuf::reflect::FileDescriptor::new_generated_2(generated_file_descriptor)
20042    })
20043}