1 // This file is generated by rust-protobuf 2.27.1. Do not edit
2 // @generated
3 // Generate steps:
4 // 1. protoc --rust_out . ../keymaster/keymaster_attributes.proto
5
6 // https://github.com/rust-lang/rust-clippy/issues/702
7 #![allow(unknown_lints)]
8 #![allow(clippy::all)]
9
10 #![allow(unused_attributes)]
11 #![cfg_attr(rustfmt, rustfmt::skip)]
12
13 #![allow(dead_code)]
14 #![allow(missing_docs)]
15 #![allow(non_camel_case_types)]
16 #![allow(non_snake_case)]
17 #![allow(non_upper_case_globals)]
18 #![allow(trivial_casts)]
19 #![allow(unused_imports)]
20 #![allow(unused_results)]
21 //! Generated file from `keymaster_attributes.proto`
22
23 /// Generated files are compatible only with the same version
24 /// of protobuf runtime.
25 // const _PROTOBUF_VERSION_CHECK: () = ::protobuf::VERSION_2_27_1;
26
27 #[derive(PartialEq,Clone,Default)]
28 pub struct KeymasterAttributes {
29 // message fields
30 uuid: ::protobuf::SingularField<::std::vec::Vec<u8>>,
31 product_id: ::protobuf::SingularField<::std::vec::Vec<u8>>,
32 // special fields
33 pub unknown_fields: ::protobuf::UnknownFields,
34 pub cached_size: ::protobuf::CachedSize,
35 }
36
37 impl<'a> ::std::default::Default for &'a KeymasterAttributes {
default() -> &'a KeymasterAttributes38 fn default() -> &'a KeymasterAttributes {
39 <KeymasterAttributes as ::protobuf::Message>::default_instance()
40 }
41 }
42
43 impl KeymasterAttributes {
new() -> KeymasterAttributes44 pub fn new() -> KeymasterAttributes {
45 ::std::default::Default::default()
46 }
47
48 // optional bytes uuid = 1;
49
50
get_uuid(&self) -> &[u8]51 pub fn get_uuid(&self) -> &[u8] {
52 match self.uuid.as_ref() {
53 Some(v) => &v,
54 None => &[],
55 }
56 }
clear_uuid(&mut self)57 pub fn clear_uuid(&mut self) {
58 self.uuid.clear();
59 }
60
has_uuid(&self) -> bool61 pub fn has_uuid(&self) -> bool {
62 self.uuid.is_some()
63 }
64
65 // Param is passed by value, moved
set_uuid(&mut self, v: ::std::vec::Vec<u8>)66 pub fn set_uuid(&mut self, v: ::std::vec::Vec<u8>) {
67 self.uuid = ::protobuf::SingularField::some(v);
68 }
69
70 // Mutable pointer to the field.
71 // If field is not initialized, it is initialized with default value first.
mut_uuid(&mut self) -> &mut ::std::vec::Vec<u8>72 pub fn mut_uuid(&mut self) -> &mut ::std::vec::Vec<u8> {
73 if self.uuid.is_none() {
74 self.uuid.set_default();
75 }
76 self.uuid.as_mut().unwrap()
77 }
78
79 // Take field
take_uuid(&mut self) -> ::std::vec::Vec<u8>80 pub fn take_uuid(&mut self) -> ::std::vec::Vec<u8> {
81 self.uuid.take().unwrap_or_else(|| ::std::vec::Vec::new())
82 }
83
84 // optional bytes product_id = 2;
85
86
get_product_id(&self) -> &[u8]87 pub fn get_product_id(&self) -> &[u8] {
88 match self.product_id.as_ref() {
89 Some(v) => &v,
90 None => &[],
91 }
92 }
clear_product_id(&mut self)93 pub fn clear_product_id(&mut self) {
94 self.product_id.clear();
95 }
96
has_product_id(&self) -> bool97 pub fn has_product_id(&self) -> bool {
98 self.product_id.is_some()
99 }
100
101 // Param is passed by value, moved
set_product_id(&mut self, v: ::std::vec::Vec<u8>)102 pub fn set_product_id(&mut self, v: ::std::vec::Vec<u8>) {
103 self.product_id = ::protobuf::SingularField::some(v);
104 }
105
106 // Mutable pointer to the field.
107 // If field is not initialized, it is initialized with default value first.
mut_product_id(&mut self) -> &mut ::std::vec::Vec<u8>108 pub fn mut_product_id(&mut self) -> &mut ::std::vec::Vec<u8> {
109 if self.product_id.is_none() {
110 self.product_id.set_default();
111 }
112 self.product_id.as_mut().unwrap()
113 }
114
115 // Take field
take_product_id(&mut self) -> ::std::vec::Vec<u8>116 pub fn take_product_id(&mut self) -> ::std::vec::Vec<u8> {
117 self.product_id.take().unwrap_or_else(|| ::std::vec::Vec::new())
118 }
119 }
120
121 impl ::protobuf::Message for KeymasterAttributes {
is_initialized(&self) -> bool122 fn is_initialized(&self) -> bool {
123 true
124 }
125
merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()>126 fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
127 while !is.eof()? {
128 let (field_number, wire_type) = is.read_tag_unpack()?;
129 match field_number {
130 1 => {
131 ::protobuf::rt::read_singular_bytes_into(wire_type, is, &mut self.uuid)?;
132 },
133 2 => {
134 ::protobuf::rt::read_singular_bytes_into(wire_type, is, &mut self.product_id)?;
135 },
136 _ => {
137 ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
138 },
139 };
140 }
141 ::std::result::Result::Ok(())
142 }
143
144 // Compute sizes of nested messages
145 #[allow(unused_variables)]
compute_size(&self) -> u32146 fn compute_size(&self) -> u32 {
147 let mut my_size = 0;
148 if let Some(ref v) = self.uuid.as_ref() {
149 my_size += ::protobuf::rt::bytes_size(1, &v);
150 }
151 if let Some(ref v) = self.product_id.as_ref() {
152 my_size += ::protobuf::rt::bytes_size(2, &v);
153 }
154 my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
155 self.cached_size.set(my_size);
156 my_size
157 }
158
write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()>159 fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
160 if let Some(ref v) = self.uuid.as_ref() {
161 os.write_bytes(1, &v)?;
162 }
163 if let Some(ref v) = self.product_id.as_ref() {
164 os.write_bytes(2, &v)?;
165 }
166 os.write_unknown_fields(self.get_unknown_fields())?;
167 ::std::result::Result::Ok(())
168 }
169
get_cached_size(&self) -> u32170 fn get_cached_size(&self) -> u32 {
171 self.cached_size.get()
172 }
173
get_unknown_fields(&self) -> &::protobuf::UnknownFields174 fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
175 &self.unknown_fields
176 }
177
mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields178 fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
179 &mut self.unknown_fields
180 }
181
as_any(&self) -> &dyn (::std::any::Any)182 fn as_any(&self) -> &dyn (::std::any::Any) {
183 self as &dyn (::std::any::Any)
184 }
as_any_mut(&mut self) -> &mut dyn (::std::any::Any)185 fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
186 self as &mut dyn (::std::any::Any)
187 }
into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)>188 fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
189 self
190 }
191
descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor192 fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
193 Self::descriptor_static()
194 }
195
new() -> KeymasterAttributes196 fn new() -> KeymasterAttributes {
197 KeymasterAttributes::new()
198 }
199
descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor200 fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
201 static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
202 descriptor.get(|| {
203 let mut fields = ::std::vec::Vec::new();
204 fields.push(::protobuf::reflect::accessor::make_singular_field_accessor::<_, ::protobuf::types::ProtobufTypeBytes>(
205 "uuid",
206 |m: &KeymasterAttributes| { &m.uuid },
207 |m: &mut KeymasterAttributes| { &mut m.uuid },
208 ));
209 fields.push(::protobuf::reflect::accessor::make_singular_field_accessor::<_, ::protobuf::types::ProtobufTypeBytes>(
210 "product_id",
211 |m: &KeymasterAttributes| { &m.product_id },
212 |m: &mut KeymasterAttributes| { &mut m.product_id },
213 ));
214 ::protobuf::reflect::MessageDescriptor::new_pb_name::<KeymasterAttributes>(
215 "KeymasterAttributes",
216 fields,
217 file_descriptor_proto()
218 )
219 })
220 }
221
default_instance() -> &'static KeymasterAttributes222 fn default_instance() -> &'static KeymasterAttributes {
223 static instance: ::protobuf::rt::LazyV2<KeymasterAttributes> = ::protobuf::rt::LazyV2::INIT;
224 instance.get(KeymasterAttributes::new)
225 }
226 }
227
228 impl ::protobuf::Clear for KeymasterAttributes {
clear(&mut self)229 fn clear(&mut self) {
230 self.uuid.clear();
231 self.product_id.clear();
232 self.unknown_fields.clear();
233 }
234 }
235
236 impl ::std::fmt::Debug for KeymasterAttributes {
fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result237 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
238 ::protobuf::text_format::fmt(self, f)
239 }
240 }
241
242 impl ::protobuf::reflect::ProtobufValue for KeymasterAttributes {
as_ref(&self) -> ::protobuf::reflect::ReflectValueRef243 fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
244 ::protobuf::reflect::ReflectValueRef::Message(self)
245 }
246 }
247
248 #[derive(PartialEq,Clone,Default)]
249 pub struct AttestationIds {
250 // message fields
251 brand: ::protobuf::SingularField<::std::vec::Vec<u8>>,
252 device: ::protobuf::SingularField<::std::vec::Vec<u8>>,
253 product: ::protobuf::SingularField<::std::vec::Vec<u8>>,
254 serial: ::protobuf::SingularField<::std::vec::Vec<u8>>,
255 imei: ::protobuf::SingularField<::std::vec::Vec<u8>>,
256 meid: ::protobuf::SingularField<::std::vec::Vec<u8>>,
257 manufacturer: ::protobuf::SingularField<::std::vec::Vec<u8>>,
258 model: ::protobuf::SingularField<::std::vec::Vec<u8>>,
259 second_imei: ::protobuf::SingularField<::std::vec::Vec<u8>>,
260 // special fields
261 pub unknown_fields: ::protobuf::UnknownFields,
262 pub cached_size: ::protobuf::CachedSize,
263 }
264
265 impl<'a> ::std::default::Default for &'a AttestationIds {
default() -> &'a AttestationIds266 fn default() -> &'a AttestationIds {
267 <AttestationIds as ::protobuf::Message>::default_instance()
268 }
269 }
270
271 impl AttestationIds {
new() -> AttestationIds272 pub fn new() -> AttestationIds {
273 ::std::default::Default::default()
274 }
275
276 // optional bytes brand = 1;
277
278
get_brand(&self) -> &[u8]279 pub fn get_brand(&self) -> &[u8] {
280 match self.brand.as_ref() {
281 Some(v) => &v,
282 None => &[],
283 }
284 }
clear_brand(&mut self)285 pub fn clear_brand(&mut self) {
286 self.brand.clear();
287 }
288
has_brand(&self) -> bool289 pub fn has_brand(&self) -> bool {
290 self.brand.is_some()
291 }
292
293 // Param is passed by value, moved
set_brand(&mut self, v: ::std::vec::Vec<u8>)294 pub fn set_brand(&mut self, v: ::std::vec::Vec<u8>) {
295 self.brand = ::protobuf::SingularField::some(v);
296 }
297
298 // Mutable pointer to the field.
299 // If field is not initialized, it is initialized with default value first.
mut_brand(&mut self) -> &mut ::std::vec::Vec<u8>300 pub fn mut_brand(&mut self) -> &mut ::std::vec::Vec<u8> {
301 if self.brand.is_none() {
302 self.brand.set_default();
303 }
304 self.brand.as_mut().unwrap()
305 }
306
307 // Take field
take_brand(&mut self) -> ::std::vec::Vec<u8>308 pub fn take_brand(&mut self) -> ::std::vec::Vec<u8> {
309 self.brand.take().unwrap_or_else(|| ::std::vec::Vec::new())
310 }
311
312 // optional bytes device = 2;
313
314
get_device(&self) -> &[u8]315 pub fn get_device(&self) -> &[u8] {
316 match self.device.as_ref() {
317 Some(v) => &v,
318 None => &[],
319 }
320 }
clear_device(&mut self)321 pub fn clear_device(&mut self) {
322 self.device.clear();
323 }
324
has_device(&self) -> bool325 pub fn has_device(&self) -> bool {
326 self.device.is_some()
327 }
328
329 // Param is passed by value, moved
set_device(&mut self, v: ::std::vec::Vec<u8>)330 pub fn set_device(&mut self, v: ::std::vec::Vec<u8>) {
331 self.device = ::protobuf::SingularField::some(v);
332 }
333
334 // Mutable pointer to the field.
335 // If field is not initialized, it is initialized with default value first.
mut_device(&mut self) -> &mut ::std::vec::Vec<u8>336 pub fn mut_device(&mut self) -> &mut ::std::vec::Vec<u8> {
337 if self.device.is_none() {
338 self.device.set_default();
339 }
340 self.device.as_mut().unwrap()
341 }
342
343 // Take field
take_device(&mut self) -> ::std::vec::Vec<u8>344 pub fn take_device(&mut self) -> ::std::vec::Vec<u8> {
345 self.device.take().unwrap_or_else(|| ::std::vec::Vec::new())
346 }
347
348 // optional bytes product = 3;
349
350
get_product(&self) -> &[u8]351 pub fn get_product(&self) -> &[u8] {
352 match self.product.as_ref() {
353 Some(v) => &v,
354 None => &[],
355 }
356 }
clear_product(&mut self)357 pub fn clear_product(&mut self) {
358 self.product.clear();
359 }
360
has_product(&self) -> bool361 pub fn has_product(&self) -> bool {
362 self.product.is_some()
363 }
364
365 // Param is passed by value, moved
set_product(&mut self, v: ::std::vec::Vec<u8>)366 pub fn set_product(&mut self, v: ::std::vec::Vec<u8>) {
367 self.product = ::protobuf::SingularField::some(v);
368 }
369
370 // Mutable pointer to the field.
371 // If field is not initialized, it is initialized with default value first.
mut_product(&mut self) -> &mut ::std::vec::Vec<u8>372 pub fn mut_product(&mut self) -> &mut ::std::vec::Vec<u8> {
373 if self.product.is_none() {
374 self.product.set_default();
375 }
376 self.product.as_mut().unwrap()
377 }
378
379 // Take field
take_product(&mut self) -> ::std::vec::Vec<u8>380 pub fn take_product(&mut self) -> ::std::vec::Vec<u8> {
381 self.product.take().unwrap_or_else(|| ::std::vec::Vec::new())
382 }
383
384 // optional bytes serial = 4;
385
386
get_serial(&self) -> &[u8]387 pub fn get_serial(&self) -> &[u8] {
388 match self.serial.as_ref() {
389 Some(v) => &v,
390 None => &[],
391 }
392 }
clear_serial(&mut self)393 pub fn clear_serial(&mut self) {
394 self.serial.clear();
395 }
396
has_serial(&self) -> bool397 pub fn has_serial(&self) -> bool {
398 self.serial.is_some()
399 }
400
401 // Param is passed by value, moved
set_serial(&mut self, v: ::std::vec::Vec<u8>)402 pub fn set_serial(&mut self, v: ::std::vec::Vec<u8>) {
403 self.serial = ::protobuf::SingularField::some(v);
404 }
405
406 // Mutable pointer to the field.
407 // If field is not initialized, it is initialized with default value first.
mut_serial(&mut self) -> &mut ::std::vec::Vec<u8>408 pub fn mut_serial(&mut self) -> &mut ::std::vec::Vec<u8> {
409 if self.serial.is_none() {
410 self.serial.set_default();
411 }
412 self.serial.as_mut().unwrap()
413 }
414
415 // Take field
take_serial(&mut self) -> ::std::vec::Vec<u8>416 pub fn take_serial(&mut self) -> ::std::vec::Vec<u8> {
417 self.serial.take().unwrap_or_else(|| ::std::vec::Vec::new())
418 }
419
420 // optional bytes imei = 5;
421
422
get_imei(&self) -> &[u8]423 pub fn get_imei(&self) -> &[u8] {
424 match self.imei.as_ref() {
425 Some(v) => &v,
426 None => &[],
427 }
428 }
clear_imei(&mut self)429 pub fn clear_imei(&mut self) {
430 self.imei.clear();
431 }
432
has_imei(&self) -> bool433 pub fn has_imei(&self) -> bool {
434 self.imei.is_some()
435 }
436
437 // Param is passed by value, moved
set_imei(&mut self, v: ::std::vec::Vec<u8>)438 pub fn set_imei(&mut self, v: ::std::vec::Vec<u8>) {
439 self.imei = ::protobuf::SingularField::some(v);
440 }
441
442 // Mutable pointer to the field.
443 // If field is not initialized, it is initialized with default value first.
mut_imei(&mut self) -> &mut ::std::vec::Vec<u8>444 pub fn mut_imei(&mut self) -> &mut ::std::vec::Vec<u8> {
445 if self.imei.is_none() {
446 self.imei.set_default();
447 }
448 self.imei.as_mut().unwrap()
449 }
450
451 // Take field
take_imei(&mut self) -> ::std::vec::Vec<u8>452 pub fn take_imei(&mut self) -> ::std::vec::Vec<u8> {
453 self.imei.take().unwrap_or_else(|| ::std::vec::Vec::new())
454 }
455
456 // optional bytes meid = 6;
457
458
get_meid(&self) -> &[u8]459 pub fn get_meid(&self) -> &[u8] {
460 match self.meid.as_ref() {
461 Some(v) => &v,
462 None => &[],
463 }
464 }
clear_meid(&mut self)465 pub fn clear_meid(&mut self) {
466 self.meid.clear();
467 }
468
has_meid(&self) -> bool469 pub fn has_meid(&self) -> bool {
470 self.meid.is_some()
471 }
472
473 // Param is passed by value, moved
set_meid(&mut self, v: ::std::vec::Vec<u8>)474 pub fn set_meid(&mut self, v: ::std::vec::Vec<u8>) {
475 self.meid = ::protobuf::SingularField::some(v);
476 }
477
478 // Mutable pointer to the field.
479 // If field is not initialized, it is initialized with default value first.
mut_meid(&mut self) -> &mut ::std::vec::Vec<u8>480 pub fn mut_meid(&mut self) -> &mut ::std::vec::Vec<u8> {
481 if self.meid.is_none() {
482 self.meid.set_default();
483 }
484 self.meid.as_mut().unwrap()
485 }
486
487 // Take field
take_meid(&mut self) -> ::std::vec::Vec<u8>488 pub fn take_meid(&mut self) -> ::std::vec::Vec<u8> {
489 self.meid.take().unwrap_or_else(|| ::std::vec::Vec::new())
490 }
491
492 // optional bytes manufacturer = 7;
493
494
get_manufacturer(&self) -> &[u8]495 pub fn get_manufacturer(&self) -> &[u8] {
496 match self.manufacturer.as_ref() {
497 Some(v) => &v,
498 None => &[],
499 }
500 }
clear_manufacturer(&mut self)501 pub fn clear_manufacturer(&mut self) {
502 self.manufacturer.clear();
503 }
504
has_manufacturer(&self) -> bool505 pub fn has_manufacturer(&self) -> bool {
506 self.manufacturer.is_some()
507 }
508
509 // Param is passed by value, moved
set_manufacturer(&mut self, v: ::std::vec::Vec<u8>)510 pub fn set_manufacturer(&mut self, v: ::std::vec::Vec<u8>) {
511 self.manufacturer = ::protobuf::SingularField::some(v);
512 }
513
514 // Mutable pointer to the field.
515 // If field is not initialized, it is initialized with default value first.
mut_manufacturer(&mut self) -> &mut ::std::vec::Vec<u8>516 pub fn mut_manufacturer(&mut self) -> &mut ::std::vec::Vec<u8> {
517 if self.manufacturer.is_none() {
518 self.manufacturer.set_default();
519 }
520 self.manufacturer.as_mut().unwrap()
521 }
522
523 // Take field
take_manufacturer(&mut self) -> ::std::vec::Vec<u8>524 pub fn take_manufacturer(&mut self) -> ::std::vec::Vec<u8> {
525 self.manufacturer.take().unwrap_or_else(|| ::std::vec::Vec::new())
526 }
527
528 // optional bytes model = 8;
529
530
get_model(&self) -> &[u8]531 pub fn get_model(&self) -> &[u8] {
532 match self.model.as_ref() {
533 Some(v) => &v,
534 None => &[],
535 }
536 }
clear_model(&mut self)537 pub fn clear_model(&mut self) {
538 self.model.clear();
539 }
540
has_model(&self) -> bool541 pub fn has_model(&self) -> bool {
542 self.model.is_some()
543 }
544
545 // Param is passed by value, moved
set_model(&mut self, v: ::std::vec::Vec<u8>)546 pub fn set_model(&mut self, v: ::std::vec::Vec<u8>) {
547 self.model = ::protobuf::SingularField::some(v);
548 }
549
550 // Mutable pointer to the field.
551 // If field is not initialized, it is initialized with default value first.
mut_model(&mut self) -> &mut ::std::vec::Vec<u8>552 pub fn mut_model(&mut self) -> &mut ::std::vec::Vec<u8> {
553 if self.model.is_none() {
554 self.model.set_default();
555 }
556 self.model.as_mut().unwrap()
557 }
558
559 // Take field
take_model(&mut self) -> ::std::vec::Vec<u8>560 pub fn take_model(&mut self) -> ::std::vec::Vec<u8> {
561 self.model.take().unwrap_or_else(|| ::std::vec::Vec::new())
562 }
563
564 // optional bytes second_imei = 9;
565
566
get_second_imei(&self) -> &[u8]567 pub fn get_second_imei(&self) -> &[u8] {
568 match self.second_imei.as_ref() {
569 Some(v) => &v,
570 None => &[],
571 }
572 }
clear_second_imei(&mut self)573 pub fn clear_second_imei(&mut self) {
574 self.second_imei.clear();
575 }
576
has_second_imei(&self) -> bool577 pub fn has_second_imei(&self) -> bool {
578 self.second_imei.is_some()
579 }
580
581 // Param is passed by value, moved
set_second_imei(&mut self, v: ::std::vec::Vec<u8>)582 pub fn set_second_imei(&mut self, v: ::std::vec::Vec<u8>) {
583 self.second_imei = ::protobuf::SingularField::some(v);
584 }
585
586 // Mutable pointer to the field.
587 // If field is not initialized, it is initialized with default value first.
mut_second_imei(&mut self) -> &mut ::std::vec::Vec<u8>588 pub fn mut_second_imei(&mut self) -> &mut ::std::vec::Vec<u8> {
589 if self.second_imei.is_none() {
590 self.second_imei.set_default();
591 }
592 self.second_imei.as_mut().unwrap()
593 }
594
595 // Take field
take_second_imei(&mut self) -> ::std::vec::Vec<u8>596 pub fn take_second_imei(&mut self) -> ::std::vec::Vec<u8> {
597 self.second_imei.take().unwrap_or_else(|| ::std::vec::Vec::new())
598 }
599 }
600
601 impl ::protobuf::Message for AttestationIds {
is_initialized(&self) -> bool602 fn is_initialized(&self) -> bool {
603 true
604 }
605
merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()>606 fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
607 while !is.eof()? {
608 let (field_number, wire_type) = is.read_tag_unpack()?;
609 match field_number {
610 1 => {
611 ::protobuf::rt::read_singular_bytes_into(wire_type, is, &mut self.brand)?;
612 },
613 2 => {
614 ::protobuf::rt::read_singular_bytes_into(wire_type, is, &mut self.device)?;
615 },
616 3 => {
617 ::protobuf::rt::read_singular_bytes_into(wire_type, is, &mut self.product)?;
618 },
619 4 => {
620 ::protobuf::rt::read_singular_bytes_into(wire_type, is, &mut self.serial)?;
621 },
622 5 => {
623 ::protobuf::rt::read_singular_bytes_into(wire_type, is, &mut self.imei)?;
624 },
625 6 => {
626 ::protobuf::rt::read_singular_bytes_into(wire_type, is, &mut self.meid)?;
627 },
628 7 => {
629 ::protobuf::rt::read_singular_bytes_into(wire_type, is, &mut self.manufacturer)?;
630 },
631 8 => {
632 ::protobuf::rt::read_singular_bytes_into(wire_type, is, &mut self.model)?;
633 },
634 9 => {
635 ::protobuf::rt::read_singular_bytes_into(wire_type, is, &mut self.second_imei)?;
636 },
637 _ => {
638 ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
639 },
640 };
641 }
642 ::std::result::Result::Ok(())
643 }
644
645 // Compute sizes of nested messages
646 #[allow(unused_variables)]
compute_size(&self) -> u32647 fn compute_size(&self) -> u32 {
648 let mut my_size = 0;
649 if let Some(ref v) = self.brand.as_ref() {
650 my_size += ::protobuf::rt::bytes_size(1, &v);
651 }
652 if let Some(ref v) = self.device.as_ref() {
653 my_size += ::protobuf::rt::bytes_size(2, &v);
654 }
655 if let Some(ref v) = self.product.as_ref() {
656 my_size += ::protobuf::rt::bytes_size(3, &v);
657 }
658 if let Some(ref v) = self.serial.as_ref() {
659 my_size += ::protobuf::rt::bytes_size(4, &v);
660 }
661 if let Some(ref v) = self.imei.as_ref() {
662 my_size += ::protobuf::rt::bytes_size(5, &v);
663 }
664 if let Some(ref v) = self.meid.as_ref() {
665 my_size += ::protobuf::rt::bytes_size(6, &v);
666 }
667 if let Some(ref v) = self.manufacturer.as_ref() {
668 my_size += ::protobuf::rt::bytes_size(7, &v);
669 }
670 if let Some(ref v) = self.model.as_ref() {
671 my_size += ::protobuf::rt::bytes_size(8, &v);
672 }
673 if let Some(ref v) = self.second_imei.as_ref() {
674 my_size += ::protobuf::rt::bytes_size(9, &v);
675 }
676 my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
677 self.cached_size.set(my_size);
678 my_size
679 }
680
write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()>681 fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
682 if let Some(ref v) = self.brand.as_ref() {
683 os.write_bytes(1, &v)?;
684 }
685 if let Some(ref v) = self.device.as_ref() {
686 os.write_bytes(2, &v)?;
687 }
688 if let Some(ref v) = self.product.as_ref() {
689 os.write_bytes(3, &v)?;
690 }
691 if let Some(ref v) = self.serial.as_ref() {
692 os.write_bytes(4, &v)?;
693 }
694 if let Some(ref v) = self.imei.as_ref() {
695 os.write_bytes(5, &v)?;
696 }
697 if let Some(ref v) = self.meid.as_ref() {
698 os.write_bytes(6, &v)?;
699 }
700 if let Some(ref v) = self.manufacturer.as_ref() {
701 os.write_bytes(7, &v)?;
702 }
703 if let Some(ref v) = self.model.as_ref() {
704 os.write_bytes(8, &v)?;
705 }
706 if let Some(ref v) = self.second_imei.as_ref() {
707 os.write_bytes(9, &v)?;
708 }
709 os.write_unknown_fields(self.get_unknown_fields())?;
710 ::std::result::Result::Ok(())
711 }
712
get_cached_size(&self) -> u32713 fn get_cached_size(&self) -> u32 {
714 self.cached_size.get()
715 }
716
get_unknown_fields(&self) -> &::protobuf::UnknownFields717 fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
718 &self.unknown_fields
719 }
720
mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields721 fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
722 &mut self.unknown_fields
723 }
724
as_any(&self) -> &dyn (::std::any::Any)725 fn as_any(&self) -> &dyn (::std::any::Any) {
726 self as &dyn (::std::any::Any)
727 }
as_any_mut(&mut self) -> &mut dyn (::std::any::Any)728 fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
729 self as &mut dyn (::std::any::Any)
730 }
into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)>731 fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
732 self
733 }
734
descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor735 fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
736 Self::descriptor_static()
737 }
738
new() -> AttestationIds739 fn new() -> AttestationIds {
740 AttestationIds::new()
741 }
742
descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor743 fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
744 static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
745 descriptor.get(|| {
746 let mut fields = ::std::vec::Vec::new();
747 fields.push(::protobuf::reflect::accessor::make_singular_field_accessor::<_, ::protobuf::types::ProtobufTypeBytes>(
748 "brand",
749 |m: &AttestationIds| { &m.brand },
750 |m: &mut AttestationIds| { &mut m.brand },
751 ));
752 fields.push(::protobuf::reflect::accessor::make_singular_field_accessor::<_, ::protobuf::types::ProtobufTypeBytes>(
753 "device",
754 |m: &AttestationIds| { &m.device },
755 |m: &mut AttestationIds| { &mut m.device },
756 ));
757 fields.push(::protobuf::reflect::accessor::make_singular_field_accessor::<_, ::protobuf::types::ProtobufTypeBytes>(
758 "product",
759 |m: &AttestationIds| { &m.product },
760 |m: &mut AttestationIds| { &mut m.product },
761 ));
762 fields.push(::protobuf::reflect::accessor::make_singular_field_accessor::<_, ::protobuf::types::ProtobufTypeBytes>(
763 "serial",
764 |m: &AttestationIds| { &m.serial },
765 |m: &mut AttestationIds| { &mut m.serial },
766 ));
767 fields.push(::protobuf::reflect::accessor::make_singular_field_accessor::<_, ::protobuf::types::ProtobufTypeBytes>(
768 "imei",
769 |m: &AttestationIds| { &m.imei },
770 |m: &mut AttestationIds| { &mut m.imei },
771 ));
772 fields.push(::protobuf::reflect::accessor::make_singular_field_accessor::<_, ::protobuf::types::ProtobufTypeBytes>(
773 "meid",
774 |m: &AttestationIds| { &m.meid },
775 |m: &mut AttestationIds| { &mut m.meid },
776 ));
777 fields.push(::protobuf::reflect::accessor::make_singular_field_accessor::<_, ::protobuf::types::ProtobufTypeBytes>(
778 "manufacturer",
779 |m: &AttestationIds| { &m.manufacturer },
780 |m: &mut AttestationIds| { &mut m.manufacturer },
781 ));
782 fields.push(::protobuf::reflect::accessor::make_singular_field_accessor::<_, ::protobuf::types::ProtobufTypeBytes>(
783 "model",
784 |m: &AttestationIds| { &m.model },
785 |m: &mut AttestationIds| { &mut m.model },
786 ));
787 fields.push(::protobuf::reflect::accessor::make_singular_field_accessor::<_, ::protobuf::types::ProtobufTypeBytes>(
788 "second_imei",
789 |m: &AttestationIds| { &m.second_imei },
790 |m: &mut AttestationIds| { &mut m.second_imei },
791 ));
792 ::protobuf::reflect::MessageDescriptor::new_pb_name::<AttestationIds>(
793 "AttestationIds",
794 fields,
795 file_descriptor_proto()
796 )
797 })
798 }
799
default_instance() -> &'static AttestationIds800 fn default_instance() -> &'static AttestationIds {
801 static instance: ::protobuf::rt::LazyV2<AttestationIds> = ::protobuf::rt::LazyV2::INIT;
802 instance.get(AttestationIds::new)
803 }
804 }
805
806 impl ::protobuf::Clear for AttestationIds {
clear(&mut self)807 fn clear(&mut self) {
808 self.brand.clear();
809 self.device.clear();
810 self.product.clear();
811 self.serial.clear();
812 self.imei.clear();
813 self.meid.clear();
814 self.manufacturer.clear();
815 self.model.clear();
816 self.second_imei.clear();
817 self.unknown_fields.clear();
818 }
819 }
820
821 impl ::std::fmt::Debug for AttestationIds {
fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result822 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
823 ::protobuf::text_format::fmt(self, f)
824 }
825 }
826
827 impl ::protobuf::reflect::ProtobufValue for AttestationIds {
as_ref(&self) -> ::protobuf::reflect::ReflectValueRef828 fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
829 ::protobuf::reflect::ReflectValueRef::Message(self)
830 }
831 }
832
833 #[derive(PartialEq,Clone,Default)]
834 pub struct AttestationKey {
835 // message fields
836 key: ::protobuf::SingularField<::std::vec::Vec<u8>>,
837 pub certs: ::protobuf::RepeatedField<AttestationCert>,
838 // special fields
839 pub unknown_fields: ::protobuf::UnknownFields,
840 pub cached_size: ::protobuf::CachedSize,
841 }
842
843 impl<'a> ::std::default::Default for &'a AttestationKey {
default() -> &'a AttestationKey844 fn default() -> &'a AttestationKey {
845 <AttestationKey as ::protobuf::Message>::default_instance()
846 }
847 }
848
849 impl AttestationKey {
new() -> AttestationKey850 pub fn new() -> AttestationKey {
851 ::std::default::Default::default()
852 }
853
854 // optional bytes key = 1;
855
856
get_key(&self) -> &[u8]857 pub fn get_key(&self) -> &[u8] {
858 match self.key.as_ref() {
859 Some(v) => &v,
860 None => &[],
861 }
862 }
clear_key(&mut self)863 pub fn clear_key(&mut self) {
864 self.key.clear();
865 }
866
has_key(&self) -> bool867 pub fn has_key(&self) -> bool {
868 self.key.is_some()
869 }
870
871 // Param is passed by value, moved
set_key(&mut self, v: ::std::vec::Vec<u8>)872 pub fn set_key(&mut self, v: ::std::vec::Vec<u8>) {
873 self.key = ::protobuf::SingularField::some(v);
874 }
875
876 // Mutable pointer to the field.
877 // If field is not initialized, it is initialized with default value first.
mut_key(&mut self) -> &mut ::std::vec::Vec<u8>878 pub fn mut_key(&mut self) -> &mut ::std::vec::Vec<u8> {
879 if self.key.is_none() {
880 self.key.set_default();
881 }
882 self.key.as_mut().unwrap()
883 }
884
885 // Take field
take_key(&mut self) -> ::std::vec::Vec<u8>886 pub fn take_key(&mut self) -> ::std::vec::Vec<u8> {
887 self.key.take().unwrap_or_else(|| ::std::vec::Vec::new())
888 }
889
890 // repeated .AttestationCert certs = 2;
891
892
get_certs(&self) -> &[AttestationCert]893 pub fn get_certs(&self) -> &[AttestationCert] {
894 &self.certs
895 }
clear_certs(&mut self)896 pub fn clear_certs(&mut self) {
897 self.certs.clear();
898 }
899
900 // Param is passed by value, moved
set_certs(&mut self, v: ::protobuf::RepeatedField<AttestationCert>)901 pub fn set_certs(&mut self, v: ::protobuf::RepeatedField<AttestationCert>) {
902 self.certs = v;
903 }
904
905 // Mutable pointer to the field.
mut_certs(&mut self) -> &mut ::protobuf::RepeatedField<AttestationCert>906 pub fn mut_certs(&mut self) -> &mut ::protobuf::RepeatedField<AttestationCert> {
907 &mut self.certs
908 }
909
910 // Take field
take_certs(&mut self) -> ::protobuf::RepeatedField<AttestationCert>911 pub fn take_certs(&mut self) -> ::protobuf::RepeatedField<AttestationCert> {
912 ::std::mem::replace(&mut self.certs, ::protobuf::RepeatedField::new())
913 }
914 }
915
916 impl ::protobuf::Message for AttestationKey {
is_initialized(&self) -> bool917 fn is_initialized(&self) -> bool {
918 for v in &self.certs {
919 if !v.is_initialized() {
920 return false;
921 }
922 };
923 true
924 }
925
merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()>926 fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
927 while !is.eof()? {
928 let (field_number, wire_type) = is.read_tag_unpack()?;
929 match field_number {
930 1 => {
931 ::protobuf::rt::read_singular_bytes_into(wire_type, is, &mut self.key)?;
932 },
933 2 => {
934 ::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.certs)?;
935 },
936 _ => {
937 ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
938 },
939 };
940 }
941 ::std::result::Result::Ok(())
942 }
943
944 // Compute sizes of nested messages
945 #[allow(unused_variables)]
compute_size(&self) -> u32946 fn compute_size(&self) -> u32 {
947 let mut my_size = 0;
948 if let Some(ref v) = self.key.as_ref() {
949 my_size += ::protobuf::rt::bytes_size(1, &v);
950 }
951 for value in &self.certs {
952 let len = value.compute_size();
953 my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
954 };
955 my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
956 self.cached_size.set(my_size);
957 my_size
958 }
959
write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()>960 fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
961 if let Some(ref v) = self.key.as_ref() {
962 os.write_bytes(1, &v)?;
963 }
964 for v in &self.certs {
965 os.write_tag(2, ::protobuf::wire_format::WireTypeLengthDelimited)?;
966 os.write_raw_varint32(v.get_cached_size())?;
967 v.write_to_with_cached_sizes(os)?;
968 };
969 os.write_unknown_fields(self.get_unknown_fields())?;
970 ::std::result::Result::Ok(())
971 }
972
get_cached_size(&self) -> u32973 fn get_cached_size(&self) -> u32 {
974 self.cached_size.get()
975 }
976
get_unknown_fields(&self) -> &::protobuf::UnknownFields977 fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
978 &self.unknown_fields
979 }
980
mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields981 fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
982 &mut self.unknown_fields
983 }
984
as_any(&self) -> &dyn (::std::any::Any)985 fn as_any(&self) -> &dyn (::std::any::Any) {
986 self as &dyn (::std::any::Any)
987 }
as_any_mut(&mut self) -> &mut dyn (::std::any::Any)988 fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
989 self as &mut dyn (::std::any::Any)
990 }
into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)>991 fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
992 self
993 }
994
descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor995 fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
996 Self::descriptor_static()
997 }
998
new() -> AttestationKey999 fn new() -> AttestationKey {
1000 AttestationKey::new()
1001 }
1002
descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor1003 fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
1004 static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
1005 descriptor.get(|| {
1006 let mut fields = ::std::vec::Vec::new();
1007 fields.push(::protobuf::reflect::accessor::make_singular_field_accessor::<_, ::protobuf::types::ProtobufTypeBytes>(
1008 "key",
1009 |m: &AttestationKey| { &m.key },
1010 |m: &mut AttestationKey| { &mut m.key },
1011 ));
1012 fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<AttestationCert>>(
1013 "certs",
1014 |m: &AttestationKey| { &m.certs },
1015 |m: &mut AttestationKey| { &mut m.certs },
1016 ));
1017 ::protobuf::reflect::MessageDescriptor::new_pb_name::<AttestationKey>(
1018 "AttestationKey",
1019 fields,
1020 file_descriptor_proto()
1021 )
1022 })
1023 }
1024
default_instance() -> &'static AttestationKey1025 fn default_instance() -> &'static AttestationKey {
1026 static instance: ::protobuf::rt::LazyV2<AttestationKey> = ::protobuf::rt::LazyV2::INIT;
1027 instance.get(AttestationKey::new)
1028 }
1029 }
1030
1031 impl ::protobuf::Clear for AttestationKey {
clear(&mut self)1032 fn clear(&mut self) {
1033 self.key.clear();
1034 self.certs.clear();
1035 self.unknown_fields.clear();
1036 }
1037 }
1038
1039 impl ::std::fmt::Debug for AttestationKey {
fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result1040 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
1041 ::protobuf::text_format::fmt(self, f)
1042 }
1043 }
1044
1045 impl ::protobuf::reflect::ProtobufValue for AttestationKey {
as_ref(&self) -> ::protobuf::reflect::ReflectValueRef1046 fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
1047 ::protobuf::reflect::ReflectValueRef::Message(self)
1048 }
1049 }
1050
1051 #[derive(PartialEq,Clone,Default)]
1052 pub struct AttestationCert {
1053 // message fields
1054 content: ::protobuf::SingularField<::std::vec::Vec<u8>>,
1055 // special fields
1056 pub unknown_fields: ::protobuf::UnknownFields,
1057 pub cached_size: ::protobuf::CachedSize,
1058 }
1059
1060 impl<'a> ::std::default::Default for &'a AttestationCert {
default() -> &'a AttestationCert1061 fn default() -> &'a AttestationCert {
1062 <AttestationCert as ::protobuf::Message>::default_instance()
1063 }
1064 }
1065
1066 impl AttestationCert {
new() -> AttestationCert1067 pub fn new() -> AttestationCert {
1068 ::std::default::Default::default()
1069 }
1070
1071 // required bytes content = 1;
1072
1073
get_content(&self) -> &[u8]1074 pub fn get_content(&self) -> &[u8] {
1075 match self.content.as_ref() {
1076 Some(v) => &v,
1077 None => &[],
1078 }
1079 }
clear_content(&mut self)1080 pub fn clear_content(&mut self) {
1081 self.content.clear();
1082 }
1083
has_content(&self) -> bool1084 pub fn has_content(&self) -> bool {
1085 self.content.is_some()
1086 }
1087
1088 // Param is passed by value, moved
set_content(&mut self, v: ::std::vec::Vec<u8>)1089 pub fn set_content(&mut self, v: ::std::vec::Vec<u8>) {
1090 self.content = ::protobuf::SingularField::some(v);
1091 }
1092
1093 // Mutable pointer to the field.
1094 // If field is not initialized, it is initialized with default value first.
mut_content(&mut self) -> &mut ::std::vec::Vec<u8>1095 pub fn mut_content(&mut self) -> &mut ::std::vec::Vec<u8> {
1096 if self.content.is_none() {
1097 self.content.set_default();
1098 }
1099 self.content.as_mut().unwrap()
1100 }
1101
1102 // Take field
take_content(&mut self) -> ::std::vec::Vec<u8>1103 pub fn take_content(&mut self) -> ::std::vec::Vec<u8> {
1104 self.content.take().unwrap_or_else(|| ::std::vec::Vec::new())
1105 }
1106 }
1107
1108 impl ::protobuf::Message for AttestationCert {
is_initialized(&self) -> bool1109 fn is_initialized(&self) -> bool {
1110 if self.content.is_none() {
1111 return false;
1112 }
1113 true
1114 }
1115
merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()>1116 fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
1117 while !is.eof()? {
1118 let (field_number, wire_type) = is.read_tag_unpack()?;
1119 match field_number {
1120 1 => {
1121 ::protobuf::rt::read_singular_bytes_into(wire_type, is, &mut self.content)?;
1122 },
1123 _ => {
1124 ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
1125 },
1126 };
1127 }
1128 ::std::result::Result::Ok(())
1129 }
1130
1131 // Compute sizes of nested messages
1132 #[allow(unused_variables)]
compute_size(&self) -> u321133 fn compute_size(&self) -> u32 {
1134 let mut my_size = 0;
1135 if let Some(ref v) = self.content.as_ref() {
1136 my_size += ::protobuf::rt::bytes_size(1, &v);
1137 }
1138 my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
1139 self.cached_size.set(my_size);
1140 my_size
1141 }
1142
write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()>1143 fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
1144 if let Some(ref v) = self.content.as_ref() {
1145 os.write_bytes(1, &v)?;
1146 }
1147 os.write_unknown_fields(self.get_unknown_fields())?;
1148 ::std::result::Result::Ok(())
1149 }
1150
get_cached_size(&self) -> u321151 fn get_cached_size(&self) -> u32 {
1152 self.cached_size.get()
1153 }
1154
get_unknown_fields(&self) -> &::protobuf::UnknownFields1155 fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
1156 &self.unknown_fields
1157 }
1158
mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields1159 fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
1160 &mut self.unknown_fields
1161 }
1162
as_any(&self) -> &dyn (::std::any::Any)1163 fn as_any(&self) -> &dyn (::std::any::Any) {
1164 self as &dyn (::std::any::Any)
1165 }
as_any_mut(&mut self) -> &mut dyn (::std::any::Any)1166 fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
1167 self as &mut dyn (::std::any::Any)
1168 }
into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)>1169 fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
1170 self
1171 }
1172
descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor1173 fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
1174 Self::descriptor_static()
1175 }
1176
new() -> AttestationCert1177 fn new() -> AttestationCert {
1178 AttestationCert::new()
1179 }
1180
descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor1181 fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
1182 static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
1183 descriptor.get(|| {
1184 let mut fields = ::std::vec::Vec::new();
1185 fields.push(::protobuf::reflect::accessor::make_singular_field_accessor::<_, ::protobuf::types::ProtobufTypeBytes>(
1186 "content",
1187 |m: &AttestationCert| { &m.content },
1188 |m: &mut AttestationCert| { &mut m.content },
1189 ));
1190 ::protobuf::reflect::MessageDescriptor::new_pb_name::<AttestationCert>(
1191 "AttestationCert",
1192 fields,
1193 file_descriptor_proto()
1194 )
1195 })
1196 }
1197
default_instance() -> &'static AttestationCert1198 fn default_instance() -> &'static AttestationCert {
1199 static instance: ::protobuf::rt::LazyV2<AttestationCert> = ::protobuf::rt::LazyV2::INIT;
1200 instance.get(AttestationCert::new)
1201 }
1202 }
1203
1204 impl ::protobuf::Clear for AttestationCert {
clear(&mut self)1205 fn clear(&mut self) {
1206 self.content.clear();
1207 self.unknown_fields.clear();
1208 }
1209 }
1210
1211 impl ::std::fmt::Debug for AttestationCert {
fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result1212 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
1213 ::protobuf::text_format::fmt(self, f)
1214 }
1215 }
1216
1217 impl ::protobuf::reflect::ProtobufValue for AttestationCert {
as_ref(&self) -> ::protobuf::reflect::ReflectValueRef1218 fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
1219 ::protobuf::reflect::ReflectValueRef::Message(self)
1220 }
1221 }
1222
1223 #[derive(PartialEq,Clone,Default)]
1224 pub struct UdsCerts {
1225 // message fields
1226 pub certs: ::protobuf::RepeatedField<AttestationCert>,
1227 // special fields
1228 pub unknown_fields: ::protobuf::UnknownFields,
1229 pub cached_size: ::protobuf::CachedSize,
1230 }
1231
1232 impl<'a> ::std::default::Default for &'a UdsCerts {
default() -> &'a UdsCerts1233 fn default() -> &'a UdsCerts {
1234 <UdsCerts as ::protobuf::Message>::default_instance()
1235 }
1236 }
1237
1238 impl UdsCerts {
new() -> UdsCerts1239 pub fn new() -> UdsCerts {
1240 ::std::default::Default::default()
1241 }
1242
1243 // repeated .AttestationCert certs = 1;
1244
1245
get_certs(&self) -> &[AttestationCert]1246 pub fn get_certs(&self) -> &[AttestationCert] {
1247 &self.certs
1248 }
clear_certs(&mut self)1249 pub fn clear_certs(&mut self) {
1250 self.certs.clear();
1251 }
1252
1253 // Param is passed by value, moved
set_certs(&mut self, v: ::protobuf::RepeatedField<AttestationCert>)1254 pub fn set_certs(&mut self, v: ::protobuf::RepeatedField<AttestationCert>) {
1255 self.certs = v;
1256 }
1257
1258 // Mutable pointer to the field.
mut_certs(&mut self) -> &mut ::protobuf::RepeatedField<AttestationCert>1259 pub fn mut_certs(&mut self) -> &mut ::protobuf::RepeatedField<AttestationCert> {
1260 &mut self.certs
1261 }
1262
1263 // Take field
take_certs(&mut self) -> ::protobuf::RepeatedField<AttestationCert>1264 pub fn take_certs(&mut self) -> ::protobuf::RepeatedField<AttestationCert> {
1265 ::std::mem::replace(&mut self.certs, ::protobuf::RepeatedField::new())
1266 }
1267 }
1268
1269 impl ::protobuf::Message for UdsCerts {
is_initialized(&self) -> bool1270 fn is_initialized(&self) -> bool {
1271 for v in &self.certs {
1272 if !v.is_initialized() {
1273 return false;
1274 }
1275 };
1276 true
1277 }
1278
merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()>1279 fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
1280 while !is.eof()? {
1281 let (field_number, wire_type) = is.read_tag_unpack()?;
1282 match field_number {
1283 1 => {
1284 ::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.certs)?;
1285 },
1286 _ => {
1287 ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
1288 },
1289 };
1290 }
1291 ::std::result::Result::Ok(())
1292 }
1293
1294 // Compute sizes of nested messages
1295 #[allow(unused_variables)]
compute_size(&self) -> u321296 fn compute_size(&self) -> u32 {
1297 let mut my_size = 0;
1298 for value in &self.certs {
1299 let len = value.compute_size();
1300 my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
1301 };
1302 my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
1303 self.cached_size.set(my_size);
1304 my_size
1305 }
1306
write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()>1307 fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
1308 for v in &self.certs {
1309 os.write_tag(1, ::protobuf::wire_format::WireTypeLengthDelimited)?;
1310 os.write_raw_varint32(v.get_cached_size())?;
1311 v.write_to_with_cached_sizes(os)?;
1312 };
1313 os.write_unknown_fields(self.get_unknown_fields())?;
1314 ::std::result::Result::Ok(())
1315 }
1316
get_cached_size(&self) -> u321317 fn get_cached_size(&self) -> u32 {
1318 self.cached_size.get()
1319 }
1320
get_unknown_fields(&self) -> &::protobuf::UnknownFields1321 fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
1322 &self.unknown_fields
1323 }
1324
mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields1325 fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
1326 &mut self.unknown_fields
1327 }
1328
as_any(&self) -> &dyn (::std::any::Any)1329 fn as_any(&self) -> &dyn (::std::any::Any) {
1330 self as &dyn (::std::any::Any)
1331 }
as_any_mut(&mut self) -> &mut dyn (::std::any::Any)1332 fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
1333 self as &mut dyn (::std::any::Any)
1334 }
into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)>1335 fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
1336 self
1337 }
1338
descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor1339 fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
1340 Self::descriptor_static()
1341 }
1342
new() -> UdsCerts1343 fn new() -> UdsCerts {
1344 UdsCerts::new()
1345 }
1346
descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor1347 fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
1348 static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
1349 descriptor.get(|| {
1350 let mut fields = ::std::vec::Vec::new();
1351 fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<AttestationCert>>(
1352 "certs",
1353 |m: &UdsCerts| { &m.certs },
1354 |m: &mut UdsCerts| { &mut m.certs },
1355 ));
1356 ::protobuf::reflect::MessageDescriptor::new_pb_name::<UdsCerts>(
1357 "UdsCerts",
1358 fields,
1359 file_descriptor_proto()
1360 )
1361 })
1362 }
1363
default_instance() -> &'static UdsCerts1364 fn default_instance() -> &'static UdsCerts {
1365 static instance: ::protobuf::rt::LazyV2<UdsCerts> = ::protobuf::rt::LazyV2::INIT;
1366 instance.get(UdsCerts::new)
1367 }
1368 }
1369
1370 impl ::protobuf::Clear for UdsCerts {
clear(&mut self)1371 fn clear(&mut self) {
1372 self.certs.clear();
1373 self.unknown_fields.clear();
1374 }
1375 }
1376
1377 impl ::std::fmt::Debug for UdsCerts {
fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result1378 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
1379 ::protobuf::text_format::fmt(self, f)
1380 }
1381 }
1382
1383 impl ::protobuf::reflect::ProtobufValue for UdsCerts {
as_ref(&self) -> ::protobuf::reflect::ReflectValueRef1384 fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
1385 ::protobuf::reflect::ReflectValueRef::Message(self)
1386 }
1387 }
1388
1389 static file_descriptor_proto_data: &'static [u8] = b"\
1390 \n\x1akeymaster_attributes.proto\x1a\x0cnanopb.proto\"V\n\x13KeymasterAt\
1391 tributes\x12\x19\n\x04uuid\x18\x01\x20\x01(\x0cR\x04uuidB\x05\x92?\x02\
1392 \x08\x20\x12$\n\nproduct_id\x18\x02\x20\x01(\x0cR\tproductIdB\x05\x92?\
1393 \x02\x08\x10\"\xb2\x02\n\x0eAttestationIds\x12\x1b\n\x05brand\x18\x01\
1394 \x20\x01(\x0cR\x05brandB\x05\x92?\x02\x08@\x12\x1d\n\x06device\x18\x02\
1395 \x20\x01(\x0cR\x06deviceB\x05\x92?\x02\x08@\x12\x1f\n\x07product\x18\x03\
1396 \x20\x01(\x0cR\x07productB\x05\x92?\x02\x08@\x12\x1d\n\x06serial\x18\x04\
1397 \x20\x01(\x0cR\x06serialB\x05\x92?\x02\x08@\x12\x19\n\x04imei\x18\x05\
1398 \x20\x01(\x0cR\x04imeiB\x05\x92?\x02\x08@\x12\x19\n\x04meid\x18\x06\x20\
1399 \x01(\x0cR\x04meidB\x05\x92?\x02\x08@\x12)\n\x0cmanufacturer\x18\x07\x20\
1400 \x01(\x0cR\x0cmanufacturerB\x05\x92?\x02\x08@\x12\x1b\n\x05model\x18\x08\
1401 \x20\x01(\x0cR\x05modelB\x05\x92?\x02\x08@\x12&\n\x0bsecond_imei\x18\t\
1402 \x20\x01(\x0cR\nsecondImeiB\x05\x92?\x02\x08@\"Y\n\x0eAttestationKey\x12\
1403 \x18\n\x03key\x18\x01\x20\x01(\x0cR\x03keyB\x06\x92?\x03\x08\x80\x10\x12\
1404 -\n\x05certs\x18\x02\x20\x03(\x0b2\x10.AttestationCertR\x05certsB\x05\
1405 \x92?\x02\x10\x03\"3\n\x0fAttestationCert\x12\x20\n\x07content\x18\x01\
1406 \x20\x02(\x0cR\x07contentB\x06\x92?\x03\x08\x80\x10\"9\n\x08UdsCerts\x12\
1407 -\n\x05certs\x18\x01\x20\x03(\x0b2\x10.AttestationCertR\x05certsB\x05\
1408 \x92?\x02\x10\x03J\x90\x19\n\x06\x12\x04%\0E\x02\n\xa6\x0c\n\x01\x0c\x12\
1409 \x03%\0\x122\xcc\x04\n\x20Copyright\x20(C)\x202018\x20The\x20Android\x20\
1410 Open\x20Source\x20Project\n\n\x20Licensed\x20under\x20the\x20Apache\x20L\
1411 icense,\x20Version\x202.0\x20(the\x20\"License\");\n\x20you\x20may\x20no\
1412 t\x20use\x20this\x20file\x20except\x20in\x20compliance\x20with\x20the\
1413 \x20License.\n\x20You\x20may\x20obtain\x20a\x20copy\x20of\x20the\x20Lice\
1414 nse\x20at\n\n\x20\x20\x20\x20\x20\x20http://www.apache.org/licenses/LICE\
1415 NSE-2.0\n\n\x20Unless\x20required\x20by\x20applicable\x20law\x20or\x20ag\
1416 reed\x20to\x20in\x20writing,\x20software\n\x20distributed\x20under\x20th\
1417 e\x20License\x20is\x20distributed\x20on\x20an\x20\"AS\x20IS\"\x20BASIS,\
1418 \n\x20WITHOUT\x20WARRANTIES\x20OR\x20CONDITIONS\x20OF\x20ANY\x20KIND,\
1419 \x20either\x20express\x20or\x20implied.\n\x20See\x20the\x20License\x20fo\
1420 r\x20the\x20specific\x20language\x20governing\x20permissions\x20and\n\
1421 \x20limitations\x20under\x20the\x20License.\n2\xcc\x07\x20We\x20check\
1422 \x20in\x20the\x20prebuilt\x20nanopb\x20protobuf\x20file\x20under\x20the\
1423 \x20current\x20folder\n\x20because\x20the\x20compile\x20tool\x20chain\
1424 \x20using\x20trusty/user/base/make/compile_proto.mk\n\x20might\x20not\
1425 \x20work\x20under\x20certain\x20environment\x20with\x20lower\x20version\
1426 \x20of\x20python\n\x20protobuf\x20installed.\x20You\x20need\x20to\x20gen\
1427 erate\x20and\x20check\x20in\x20the\x20new\x20protobuf\x20file\n\x20if\
1428 \x20you\x20change\x20this\x20file\x20in\x20order\x20for\x20the\x20change\
1429 \x20to\x20take\x20effect!\n\n\x20To\x20generate\x20the\x20file\x20using\
1430 \x20the\x20tool\x20chain\x20in\x20trusty\x20tree,\x20add\x20the\x20follo\
1431 wing\n\x20command\x20to\x20rules.mk:\n\n\x20PB_GEN_DIR\x20:=\x20[Your\
1432 \x20generation\x20folder]\n\x20include\x20trusty/user/base/make/compile_\
1433 proto.mk\n\x20$(eval\x20$(call\x20compile_proto,$(KEYMASTER_DIR)/keymast\
1434 er_attributes.proto,$(PB_GEN_DIR)))\n\n\x20The\x20generated\x20.pb.c\x20\
1435 and\x20.pb.h\x20file\x20would\x20be\x20under\x20PB_GEN_DIR,\x20include\
1436 \x20them\n\x20to\x20the\x20source\x20path.\n\n\x20To\x20generate\x20the\
1437 \x20file\x20using\x20your\x20own\x20tool\x20chain,\x20please\x20follow\
1438 \x20the\x20guide\x20at\n\x20https://github.com/nanopb/nanopb.\n\x20Pleas\
1439 e\x20check\x20the\x20nanopb\x20version\x20in\x20trusty\x20tree\x20at\x20\
1440 external/nanopb-c\x20to\x20make\n\x20sure\x20you\x20are\x20using\x20the\
1441 \x20same\x20nanopb\x20version.\n\n\t\n\x02\x03\0\x12\x03'\0\x16\n\n\n\
1442 \x02\x04\0\x12\x04)\0,\x01\n\n\n\x03\x04\0\x01\x12\x03)\x08\x1b\n\x0b\n\
1443 \x04\x04\0\x02\0\x12\x03*\x021\n\x0c\n\x05\x04\0\x02\0\x04\x12\x03*\x02\
1444 \n\n\x0c\n\x05\x04\0\x02\0\x05\x12\x03*\x0b\x10\n\x0c\n\x05\x04\0\x02\0\
1445 \x01\x12\x03*\x11\x15\n\x0c\n\x05\x04\0\x02\0\x03\x12\x03*\x18\x19\n\x0c\
1446 \n\x05\x04\0\x02\0\x08\x12\x03*\x1a0\n\x0f\n\x08\x04\0\x02\0\x08\xf2\x07\
1447 \x01\x12\x03*\x1b/\n\x0b\n\x04\x04\0\x02\x01\x12\x03+\x027\n\x0c\n\x05\
1448 \x04\0\x02\x01\x04\x12\x03+\x02\n\n\x0c\n\x05\x04\0\x02\x01\x05\x12\x03+\
1449 \x0b\x10\n\x0c\n\x05\x04\0\x02\x01\x01\x12\x03+\x11\x1b\n\x0c\n\x05\x04\
1450 \0\x02\x01\x03\x12\x03+\x1e\x1f\n\x0c\n\x05\x04\0\x02\x01\x08\x12\x03+\
1451 \x206\n\x0f\n\x08\x04\0\x02\x01\x08\xf2\x07\x01\x12\x03+!5\n\n\n\x02\x04\
1452 \x01\x12\x04.\08\x01\n\n\n\x03\x04\x01\x01\x12\x03.\x08\x16\n\x0b\n\x04\
1453 \x04\x01\x02\0\x12\x03/\x044\n\x0c\n\x05\x04\x01\x02\0\x04\x12\x03/\x04\
1454 \x0c\n\x0c\n\x05\x04\x01\x02\0\x05\x12\x03/\r\x12\n\x0c\n\x05\x04\x01\
1455 \x02\0\x01\x12\x03/\x13\x18\n\x0c\n\x05\x04\x01\x02\0\x03\x12\x03/\x1b\
1456 \x1c\n\x0c\n\x05\x04\x01\x02\0\x08\x12\x03/\x1d3\n\x0f\n\x08\x04\x01\x02\
1457 \0\x08\xf2\x07\x01\x12\x03/\x1e2\n\x0b\n\x04\x04\x01\x02\x01\x12\x030\
1458 \x045\n\x0c\n\x05\x04\x01\x02\x01\x04\x12\x030\x04\x0c\n\x0c\n\x05\x04\
1459 \x01\x02\x01\x05\x12\x030\r\x12\n\x0c\n\x05\x04\x01\x02\x01\x01\x12\x030\
1460 \x13\x19\n\x0c\n\x05\x04\x01\x02\x01\x03\x12\x030\x1c\x1d\n\x0c\n\x05\
1461 \x04\x01\x02\x01\x08\x12\x030\x1e4\n\x0f\n\x08\x04\x01\x02\x01\x08\xf2\
1462 \x07\x01\x12\x030\x1f3\n\x0b\n\x04\x04\x01\x02\x02\x12\x031\x046\n\x0c\n\
1463 \x05\x04\x01\x02\x02\x04\x12\x031\x04\x0c\n\x0c\n\x05\x04\x01\x02\x02\
1464 \x05\x12\x031\r\x12\n\x0c\n\x05\x04\x01\x02\x02\x01\x12\x031\x13\x1a\n\
1465 \x0c\n\x05\x04\x01\x02\x02\x03\x12\x031\x1d\x1e\n\x0c\n\x05\x04\x01\x02\
1466 \x02\x08\x12\x031\x1f5\n\x0f\n\x08\x04\x01\x02\x02\x08\xf2\x07\x01\x12\
1467 \x031\x204\n\x0b\n\x04\x04\x01\x02\x03\x12\x032\x045\n\x0c\n\x05\x04\x01\
1468 \x02\x03\x04\x12\x032\x04\x0c\n\x0c\n\x05\x04\x01\x02\x03\x05\x12\x032\r\
1469 \x12\n\x0c\n\x05\x04\x01\x02\x03\x01\x12\x032\x13\x19\n\x0c\n\x05\x04\
1470 \x01\x02\x03\x03\x12\x032\x1c\x1d\n\x0c\n\x05\x04\x01\x02\x03\x08\x12\
1471 \x032\x1e4\n\x0f\n\x08\x04\x01\x02\x03\x08\xf2\x07\x01\x12\x032\x1f3\n\
1472 \x0b\n\x04\x04\x01\x02\x04\x12\x033\x043\n\x0c\n\x05\x04\x01\x02\x04\x04\
1473 \x12\x033\x04\x0c\n\x0c\n\x05\x04\x01\x02\x04\x05\x12\x033\r\x12\n\x0c\n\
1474 \x05\x04\x01\x02\x04\x01\x12\x033\x13\x17\n\x0c\n\x05\x04\x01\x02\x04\
1475 \x03\x12\x033\x1a\x1b\n\x0c\n\x05\x04\x01\x02\x04\x08\x12\x033\x1c2\n\
1476 \x0f\n\x08\x04\x01\x02\x04\x08\xf2\x07\x01\x12\x033\x1d1\n\x0b\n\x04\x04\
1477 \x01\x02\x05\x12\x034\x043\n\x0c\n\x05\x04\x01\x02\x05\x04\x12\x034\x04\
1478 \x0c\n\x0c\n\x05\x04\x01\x02\x05\x05\x12\x034\r\x12\n\x0c\n\x05\x04\x01\
1479 \x02\x05\x01\x12\x034\x13\x17\n\x0c\n\x05\x04\x01\x02\x05\x03\x12\x034\
1480 \x1a\x1b\n\x0c\n\x05\x04\x01\x02\x05\x08\x12\x034\x1c2\n\x0f\n\x08\x04\
1481 \x01\x02\x05\x08\xf2\x07\x01\x12\x034\x1d1\n\x0b\n\x04\x04\x01\x02\x06\
1482 \x12\x035\x04;\n\x0c\n\x05\x04\x01\x02\x06\x04\x12\x035\x04\x0c\n\x0c\n\
1483 \x05\x04\x01\x02\x06\x05\x12\x035\r\x12\n\x0c\n\x05\x04\x01\x02\x06\x01\
1484 \x12\x035\x13\x1f\n\x0c\n\x05\x04\x01\x02\x06\x03\x12\x035\"#\n\x0c\n\
1485 \x05\x04\x01\x02\x06\x08\x12\x035$:\n\x0f\n\x08\x04\x01\x02\x06\x08\xf2\
1486 \x07\x01\x12\x035%9\n\x0b\n\x04\x04\x01\x02\x07\x12\x036\x044\n\x0c\n\
1487 \x05\x04\x01\x02\x07\x04\x12\x036\x04\x0c\n\x0c\n\x05\x04\x01\x02\x07\
1488 \x05\x12\x036\r\x12\n\x0c\n\x05\x04\x01\x02\x07\x01\x12\x036\x13\x18\n\
1489 \x0c\n\x05\x04\x01\x02\x07\x03\x12\x036\x1b\x1c\n\x0c\n\x05\x04\x01\x02\
1490 \x07\x08\x12\x036\x1d3\n\x0f\n\x08\x04\x01\x02\x07\x08\xf2\x07\x01\x12\
1491 \x036\x1e2\n\x0b\n\x04\x04\x01\x02\x08\x12\x037\x04:\n\x0c\n\x05\x04\x01\
1492 \x02\x08\x04\x12\x037\x04\x0c\n\x0c\n\x05\x04\x01\x02\x08\x05\x12\x037\r\
1493 \x12\n\x0c\n\x05\x04\x01\x02\x08\x01\x12\x037\x13\x1e\n\x0c\n\x05\x04\
1494 \x01\x02\x08\x03\x12\x037!\"\n\x0c\n\x05\x04\x01\x02\x08\x08\x12\x037#9\
1495 \n\x0f\n\x08\x04\x01\x02\x08\x08\xf2\x07\x01\x12\x037$8\n\n\n\x02\x04\
1496 \x02\x12\x04:\0=\x01\n\n\n\x03\x04\x02\x01\x12\x03:\x08\x16\n\x0b\n\x04\
1497 \x04\x02\x02\0\x12\x03;\x022\n\x0c\n\x05\x04\x02\x02\0\x04\x12\x03;\x02\
1498 \n\n\x0c\n\x05\x04\x02\x02\0\x05\x12\x03;\x0b\x10\n\x0c\n\x05\x04\x02\
1499 \x02\0\x01\x12\x03;\x11\x14\n\x0c\n\x05\x04\x02\x02\0\x03\x12\x03;\x17\
1500 \x18\n\x0c\n\x05\x04\x02\x02\0\x08\x12\x03;\x191\n\x0f\n\x08\x04\x02\x02\
1501 \0\x08\xf2\x07\x01\x12\x03;\x1a0\n\x0b\n\x04\x04\x02\x02\x01\x12\x03<\
1502 \x02<\n\x0c\n\x05\x04\x02\x02\x01\x04\x12\x03<\x02\n\n\x0c\n\x05\x04\x02\
1503 \x02\x01\x06\x12\x03<\x0b\x1a\n\x0c\n\x05\x04\x02\x02\x01\x01\x12\x03<\
1504 \x1b\x20\n\x0c\n\x05\x04\x02\x02\x01\x03\x12\x03<#$\n\x0c\n\x05\x04\x02\
1505 \x02\x01\x08\x12\x03<%;\n\x0f\n\x08\x04\x02\x02\x01\x08\xf2\x07\x02\x12\
1506 \x03<&:\n\n\n\x02\x04\x03\x12\x04?\0A\x01\n\n\n\x03\x04\x03\x01\x12\x03?\
1507 \x08\x17\n\x0b\n\x04\x04\x03\x02\0\x12\x03@\x026\n\x0c\n\x05\x04\x03\x02\
1508 \0\x04\x12\x03@\x02\n\n\x0c\n\x05\x04\x03\x02\0\x05\x12\x03@\x0b\x10\n\
1509 \x0c\n\x05\x04\x03\x02\0\x01\x12\x03@\x11\x18\n\x0c\n\x05\x04\x03\x02\0\
1510 \x03\x12\x03@\x1b\x1c\n\x0c\n\x05\x04\x03\x02\0\x08\x12\x03@\x1d5\n\x0f\
1511 \n\x08\x04\x03\x02\0\x08\xf2\x07\x01\x12\x03@\x1e4\n\n\n\x02\x04\x04\x12\
1512 \x04C\0E\x01\n\n\n\x03\x04\x04\x01\x12\x03C\x08\x10\n\x0b\n\x04\x04\x04\
1513 \x02\0\x12\x03D\x02<\n\x0c\n\x05\x04\x04\x02\0\x04\x12\x03D\x02\n\n\x0c\
1514 \n\x05\x04\x04\x02\0\x06\x12\x03D\x0b\x1a\n\x0c\n\x05\x04\x04\x02\0\x01\
1515 \x12\x03D\x1b\x20\n\x0c\n\x05\x04\x04\x02\0\x03\x12\x03D#$\n\x0c\n\x05\
1516 \x04\x04\x02\0\x08\x12\x03D%;\n\x0f\n\x08\x04\x04\x02\0\x08\xf2\x07\x02\
1517 \x12\x03D&:\
1518 ";
1519
1520 static file_descriptor_proto_lazy: ::protobuf::rt::LazyV2<::protobuf::descriptor::FileDescriptorProto> = ::protobuf::rt::LazyV2::INIT;
1521
parse_descriptor_proto() -> ::protobuf::descriptor::FileDescriptorProto1522 fn parse_descriptor_proto() -> ::protobuf::descriptor::FileDescriptorProto {
1523 ::protobuf::Message::parse_from_bytes(file_descriptor_proto_data).unwrap()
1524 }
1525
file_descriptor_proto() -> &'static ::protobuf::descriptor::FileDescriptorProto1526 pub fn file_descriptor_proto() -> &'static ::protobuf::descriptor::FileDescriptorProto {
1527 file_descriptor_proto_lazy.get(|| {
1528 parse_descriptor_proto()
1529 })
1530 }
1531