Home | History | Annotate | Download | only in protobuf
      1 // Generated by the protocol buffer compiler.  DO NOT EDIT!
      2 // source: google/protobuf/descriptor.proto
      3 
      4 #define INTERNAL_SUPPRESS_PROTOBUF_FIELD_DEPRECATION
      5 #include <google/protobuf/descriptor.pb.h>
      6 
      7 #include <algorithm>
      8 
      9 #include <google/protobuf/stubs/common.h>
     10 #include <google/protobuf/stubs/port.h>
     11 #include <google/protobuf/stubs/once.h>
     12 #include <google/protobuf/io/coded_stream.h>
     13 #include <google/protobuf/wire_format_lite_inl.h>
     14 #include <google/protobuf/descriptor.h>
     15 #include <google/protobuf/generated_message_reflection.h>
     16 #include <google/protobuf/reflection_ops.h>
     17 #include <google/protobuf/wire_format.h>
     18 // @@protoc_insertion_point(includes)
     19 
     20 namespace google {
     21 namespace protobuf {
     22 
     23 namespace {
     24 
     25 const ::google::protobuf::Descriptor* FileDescriptorSet_descriptor_ = NULL;
     26 const ::google::protobuf::internal::GeneratedMessageReflection*
     27   FileDescriptorSet_reflection_ = NULL;
     28 const ::google::protobuf::Descriptor* FileDescriptorProto_descriptor_ = NULL;
     29 const ::google::protobuf::internal::GeneratedMessageReflection*
     30   FileDescriptorProto_reflection_ = NULL;
     31 const ::google::protobuf::Descriptor* DescriptorProto_descriptor_ = NULL;
     32 const ::google::protobuf::internal::GeneratedMessageReflection*
     33   DescriptorProto_reflection_ = NULL;
     34 const ::google::protobuf::Descriptor* DescriptorProto_ExtensionRange_descriptor_ = NULL;
     35 const ::google::protobuf::internal::GeneratedMessageReflection*
     36   DescriptorProto_ExtensionRange_reflection_ = NULL;
     37 const ::google::protobuf::Descriptor* DescriptorProto_ReservedRange_descriptor_ = NULL;
     38 const ::google::protobuf::internal::GeneratedMessageReflection*
     39   DescriptorProto_ReservedRange_reflection_ = NULL;
     40 const ::google::protobuf::Descriptor* FieldDescriptorProto_descriptor_ = NULL;
     41 const ::google::protobuf::internal::GeneratedMessageReflection*
     42   FieldDescriptorProto_reflection_ = NULL;
     43 const ::google::protobuf::EnumDescriptor* FieldDescriptorProto_Type_descriptor_ = NULL;
     44 const ::google::protobuf::EnumDescriptor* FieldDescriptorProto_Label_descriptor_ = NULL;
     45 const ::google::protobuf::Descriptor* OneofDescriptorProto_descriptor_ = NULL;
     46 const ::google::protobuf::internal::GeneratedMessageReflection*
     47   OneofDescriptorProto_reflection_ = NULL;
     48 const ::google::protobuf::Descriptor* EnumDescriptorProto_descriptor_ = NULL;
     49 const ::google::protobuf::internal::GeneratedMessageReflection*
     50   EnumDescriptorProto_reflection_ = NULL;
     51 const ::google::protobuf::Descriptor* EnumValueDescriptorProto_descriptor_ = NULL;
     52 const ::google::protobuf::internal::GeneratedMessageReflection*
     53   EnumValueDescriptorProto_reflection_ = NULL;
     54 const ::google::protobuf::Descriptor* ServiceDescriptorProto_descriptor_ = NULL;
     55 const ::google::protobuf::internal::GeneratedMessageReflection*
     56   ServiceDescriptorProto_reflection_ = NULL;
     57 const ::google::protobuf::Descriptor* MethodDescriptorProto_descriptor_ = NULL;
     58 const ::google::protobuf::internal::GeneratedMessageReflection*
     59   MethodDescriptorProto_reflection_ = NULL;
     60 const ::google::protobuf::Descriptor* FileOptions_descriptor_ = NULL;
     61 const ::google::protobuf::internal::GeneratedMessageReflection*
     62   FileOptions_reflection_ = NULL;
     63 const ::google::protobuf::EnumDescriptor* FileOptions_OptimizeMode_descriptor_ = NULL;
     64 const ::google::protobuf::Descriptor* MessageOptions_descriptor_ = NULL;
     65 const ::google::protobuf::internal::GeneratedMessageReflection*
     66   MessageOptions_reflection_ = NULL;
     67 const ::google::protobuf::Descriptor* FieldOptions_descriptor_ = NULL;
     68 const ::google::protobuf::internal::GeneratedMessageReflection*
     69   FieldOptions_reflection_ = NULL;
     70 const ::google::protobuf::EnumDescriptor* FieldOptions_CType_descriptor_ = NULL;
     71 const ::google::protobuf::EnumDescriptor* FieldOptions_JSType_descriptor_ = NULL;
     72 const ::google::protobuf::Descriptor* EnumOptions_descriptor_ = NULL;
     73 const ::google::protobuf::internal::GeneratedMessageReflection*
     74   EnumOptions_reflection_ = NULL;
     75 const ::google::protobuf::Descriptor* EnumValueOptions_descriptor_ = NULL;
     76 const ::google::protobuf::internal::GeneratedMessageReflection*
     77   EnumValueOptions_reflection_ = NULL;
     78 const ::google::protobuf::Descriptor* ServiceOptions_descriptor_ = NULL;
     79 const ::google::protobuf::internal::GeneratedMessageReflection*
     80   ServiceOptions_reflection_ = NULL;
     81 const ::google::protobuf::Descriptor* MethodOptions_descriptor_ = NULL;
     82 const ::google::protobuf::internal::GeneratedMessageReflection*
     83   MethodOptions_reflection_ = NULL;
     84 const ::google::protobuf::Descriptor* UninterpretedOption_descriptor_ = NULL;
     85 const ::google::protobuf::internal::GeneratedMessageReflection*
     86   UninterpretedOption_reflection_ = NULL;
     87 const ::google::protobuf::Descriptor* UninterpretedOption_NamePart_descriptor_ = NULL;
     88 const ::google::protobuf::internal::GeneratedMessageReflection*
     89   UninterpretedOption_NamePart_reflection_ = NULL;
     90 const ::google::protobuf::Descriptor* SourceCodeInfo_descriptor_ = NULL;
     91 const ::google::protobuf::internal::GeneratedMessageReflection*
     92   SourceCodeInfo_reflection_ = NULL;
     93 const ::google::protobuf::Descriptor* SourceCodeInfo_Location_descriptor_ = NULL;
     94 const ::google::protobuf::internal::GeneratedMessageReflection*
     95   SourceCodeInfo_Location_reflection_ = NULL;
     96 const ::google::protobuf::Descriptor* GeneratedCodeInfo_descriptor_ = NULL;
     97 const ::google::protobuf::internal::GeneratedMessageReflection*
     98   GeneratedCodeInfo_reflection_ = NULL;
     99 const ::google::protobuf::Descriptor* GeneratedCodeInfo_Annotation_descriptor_ = NULL;
    100 const ::google::protobuf::internal::GeneratedMessageReflection*
    101   GeneratedCodeInfo_Annotation_reflection_ = NULL;
    102 
    103 }  // namespace
    104 
    105 
    106 void protobuf_AssignDesc_google_2fprotobuf_2fdescriptor_2eproto() {
    107   protobuf_AddDesc_google_2fprotobuf_2fdescriptor_2eproto();
    108   const ::google::protobuf::FileDescriptor* file =
    109     ::google::protobuf::DescriptorPool::generated_pool()->FindFileByName(
    110       "google/protobuf/descriptor.proto");
    111   GOOGLE_CHECK(file != NULL);
    112   FileDescriptorSet_descriptor_ = file->message_type(0);
    113   static const int FileDescriptorSet_offsets_[1] = {
    114     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileDescriptorSet, file_),
    115   };
    116   FileDescriptorSet_reflection_ =
    117     ::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection(
    118       FileDescriptorSet_descriptor_,
    119       FileDescriptorSet::default_instance_,
    120       FileDescriptorSet_offsets_,
    121       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileDescriptorSet, _has_bits_[0]),
    122       -1,
    123       -1,
    124       sizeof(FileDescriptorSet),
    125       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileDescriptorSet, _internal_metadata_),
    126       -1);
    127   FileDescriptorProto_descriptor_ = file->message_type(1);
    128   static const int FileDescriptorProto_offsets_[12] = {
    129     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileDescriptorProto, name_),
    130     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileDescriptorProto, package_),
    131     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileDescriptorProto, dependency_),
    132     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileDescriptorProto, public_dependency_),
    133     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileDescriptorProto, weak_dependency_),
    134     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileDescriptorProto, message_type_),
    135     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileDescriptorProto, enum_type_),
    136     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileDescriptorProto, service_),
    137     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileDescriptorProto, extension_),
    138     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileDescriptorProto, options_),
    139     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileDescriptorProto, source_code_info_),
    140     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileDescriptorProto, syntax_),
    141   };
    142   FileDescriptorProto_reflection_ =
    143     ::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection(
    144       FileDescriptorProto_descriptor_,
    145       FileDescriptorProto::default_instance_,
    146       FileDescriptorProto_offsets_,
    147       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileDescriptorProto, _has_bits_[0]),
    148       -1,
    149       -1,
    150       sizeof(FileDescriptorProto),
    151       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileDescriptorProto, _internal_metadata_),
    152       -1);
    153   DescriptorProto_descriptor_ = file->message_type(2);
    154   static const int DescriptorProto_offsets_[10] = {
    155     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(DescriptorProto, name_),
    156     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(DescriptorProto, field_),
    157     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(DescriptorProto, extension_),
    158     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(DescriptorProto, nested_type_),
    159     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(DescriptorProto, enum_type_),
    160     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(DescriptorProto, extension_range_),
    161     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(DescriptorProto, oneof_decl_),
    162     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(DescriptorProto, options_),
    163     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(DescriptorProto, reserved_range_),
    164     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(DescriptorProto, reserved_name_),
    165   };
    166   DescriptorProto_reflection_ =
    167     ::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection(
    168       DescriptorProto_descriptor_,
    169       DescriptorProto::default_instance_,
    170       DescriptorProto_offsets_,
    171       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(DescriptorProto, _has_bits_[0]),
    172       -1,
    173       -1,
    174       sizeof(DescriptorProto),
    175       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(DescriptorProto, _internal_metadata_),
    176       -1);
    177   DescriptorProto_ExtensionRange_descriptor_ = DescriptorProto_descriptor_->nested_type(0);
    178   static const int DescriptorProto_ExtensionRange_offsets_[2] = {
    179     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(DescriptorProto_ExtensionRange, start_),
    180     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(DescriptorProto_ExtensionRange, end_),
    181   };
    182   DescriptorProto_ExtensionRange_reflection_ =
    183     ::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection(
    184       DescriptorProto_ExtensionRange_descriptor_,
    185       DescriptorProto_ExtensionRange::default_instance_,
    186       DescriptorProto_ExtensionRange_offsets_,
    187       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(DescriptorProto_ExtensionRange, _has_bits_[0]),
    188       -1,
    189       -1,
    190       sizeof(DescriptorProto_ExtensionRange),
    191       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(DescriptorProto_ExtensionRange, _internal_metadata_),
    192       -1);
    193   DescriptorProto_ReservedRange_descriptor_ = DescriptorProto_descriptor_->nested_type(1);
    194   static const int DescriptorProto_ReservedRange_offsets_[2] = {
    195     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(DescriptorProto_ReservedRange, start_),
    196     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(DescriptorProto_ReservedRange, end_),
    197   };
    198   DescriptorProto_ReservedRange_reflection_ =
    199     ::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection(
    200       DescriptorProto_ReservedRange_descriptor_,
    201       DescriptorProto_ReservedRange::default_instance_,
    202       DescriptorProto_ReservedRange_offsets_,
    203       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(DescriptorProto_ReservedRange, _has_bits_[0]),
    204       -1,
    205       -1,
    206       sizeof(DescriptorProto_ReservedRange),
    207       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(DescriptorProto_ReservedRange, _internal_metadata_),
    208       -1);
    209   FieldDescriptorProto_descriptor_ = file->message_type(3);
    210   static const int FieldDescriptorProto_offsets_[10] = {
    211     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FieldDescriptorProto, name_),
    212     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FieldDescriptorProto, number_),
    213     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FieldDescriptorProto, label_),
    214     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FieldDescriptorProto, type_),
    215     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FieldDescriptorProto, type_name_),
    216     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FieldDescriptorProto, extendee_),
    217     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FieldDescriptorProto, default_value_),
    218     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FieldDescriptorProto, oneof_index_),
    219     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FieldDescriptorProto, json_name_),
    220     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FieldDescriptorProto, options_),
    221   };
    222   FieldDescriptorProto_reflection_ =
    223     ::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection(
    224       FieldDescriptorProto_descriptor_,
    225       FieldDescriptorProto::default_instance_,
    226       FieldDescriptorProto_offsets_,
    227       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FieldDescriptorProto, _has_bits_[0]),
    228       -1,
    229       -1,
    230       sizeof(FieldDescriptorProto),
    231       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FieldDescriptorProto, _internal_metadata_),
    232       -1);
    233   FieldDescriptorProto_Type_descriptor_ = FieldDescriptorProto_descriptor_->enum_type(0);
    234   FieldDescriptorProto_Label_descriptor_ = FieldDescriptorProto_descriptor_->enum_type(1);
    235   OneofDescriptorProto_descriptor_ = file->message_type(4);
    236   static const int OneofDescriptorProto_offsets_[1] = {
    237     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(OneofDescriptorProto, name_),
    238   };
    239   OneofDescriptorProto_reflection_ =
    240     ::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection(
    241       OneofDescriptorProto_descriptor_,
    242       OneofDescriptorProto::default_instance_,
    243       OneofDescriptorProto_offsets_,
    244       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(OneofDescriptorProto, _has_bits_[0]),
    245       -1,
    246       -1,
    247       sizeof(OneofDescriptorProto),
    248       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(OneofDescriptorProto, _internal_metadata_),
    249       -1);
    250   EnumDescriptorProto_descriptor_ = file->message_type(5);
    251   static const int EnumDescriptorProto_offsets_[3] = {
    252     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(EnumDescriptorProto, name_),
    253     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(EnumDescriptorProto, value_),
    254     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(EnumDescriptorProto, options_),
    255   };
    256   EnumDescriptorProto_reflection_ =
    257     ::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection(
    258       EnumDescriptorProto_descriptor_,
    259       EnumDescriptorProto::default_instance_,
    260       EnumDescriptorProto_offsets_,
    261       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(EnumDescriptorProto, _has_bits_[0]),
    262       -1,
    263       -1,
    264       sizeof(EnumDescriptorProto),
    265       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(EnumDescriptorProto, _internal_metadata_),
    266       -1);
    267   EnumValueDescriptorProto_descriptor_ = file->message_type(6);
    268   static const int EnumValueDescriptorProto_offsets_[3] = {
    269     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(EnumValueDescriptorProto, name_),
    270     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(EnumValueDescriptorProto, number_),
    271     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(EnumValueDescriptorProto, options_),
    272   };
    273   EnumValueDescriptorProto_reflection_ =
    274     ::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection(
    275       EnumValueDescriptorProto_descriptor_,
    276       EnumValueDescriptorProto::default_instance_,
    277       EnumValueDescriptorProto_offsets_,
    278       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(EnumValueDescriptorProto, _has_bits_[0]),
    279       -1,
    280       -1,
    281       sizeof(EnumValueDescriptorProto),
    282       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(EnumValueDescriptorProto, _internal_metadata_),
    283       -1);
    284   ServiceDescriptorProto_descriptor_ = file->message_type(7);
    285   static const int ServiceDescriptorProto_offsets_[3] = {
    286     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ServiceDescriptorProto, name_),
    287     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ServiceDescriptorProto, method_),
    288     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ServiceDescriptorProto, options_),
    289   };
    290   ServiceDescriptorProto_reflection_ =
    291     ::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection(
    292       ServiceDescriptorProto_descriptor_,
    293       ServiceDescriptorProto::default_instance_,
    294       ServiceDescriptorProto_offsets_,
    295       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ServiceDescriptorProto, _has_bits_[0]),
    296       -1,
    297       -1,
    298       sizeof(ServiceDescriptorProto),
    299       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ServiceDescriptorProto, _internal_metadata_),
    300       -1);
    301   MethodDescriptorProto_descriptor_ = file->message_type(8);
    302   static const int MethodDescriptorProto_offsets_[6] = {
    303     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(MethodDescriptorProto, name_),
    304     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(MethodDescriptorProto, input_type_),
    305     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(MethodDescriptorProto, output_type_),
    306     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(MethodDescriptorProto, options_),
    307     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(MethodDescriptorProto, client_streaming_),
    308     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(MethodDescriptorProto, server_streaming_),
    309   };
    310   MethodDescriptorProto_reflection_ =
    311     ::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection(
    312       MethodDescriptorProto_descriptor_,
    313       MethodDescriptorProto::default_instance_,
    314       MethodDescriptorProto_offsets_,
    315       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(MethodDescriptorProto, _has_bits_[0]),
    316       -1,
    317       -1,
    318       sizeof(MethodDescriptorProto),
    319       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(MethodDescriptorProto, _internal_metadata_),
    320       -1);
    321   FileOptions_descriptor_ = file->message_type(9);
    322   static const int FileOptions_offsets_[15] = {
    323     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileOptions, java_package_),
    324     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileOptions, java_outer_classname_),
    325     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileOptions, java_multiple_files_),
    326     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileOptions, java_generate_equals_and_hash_),
    327     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileOptions, java_string_check_utf8_),
    328     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileOptions, optimize_for_),
    329     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileOptions, go_package_),
    330     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileOptions, cc_generic_services_),
    331     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileOptions, java_generic_services_),
    332     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileOptions, py_generic_services_),
    333     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileOptions, deprecated_),
    334     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileOptions, cc_enable_arenas_),
    335     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileOptions, objc_class_prefix_),
    336     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileOptions, csharp_namespace_),
    337     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileOptions, uninterpreted_option_),
    338   };
    339   FileOptions_reflection_ =
    340     ::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection(
    341       FileOptions_descriptor_,
    342       FileOptions::default_instance_,
    343       FileOptions_offsets_,
    344       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileOptions, _has_bits_[0]),
    345       -1,
    346       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileOptions, _extensions_),
    347       sizeof(FileOptions),
    348       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileOptions, _internal_metadata_),
    349       -1);
    350   FileOptions_OptimizeMode_descriptor_ = FileOptions_descriptor_->enum_type(0);
    351   MessageOptions_descriptor_ = file->message_type(10);
    352   static const int MessageOptions_offsets_[5] = {
    353     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(MessageOptions, message_set_wire_format_),
    354     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(MessageOptions, no_standard_descriptor_accessor_),
    355     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(MessageOptions, deprecated_),
    356     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(MessageOptions, map_entry_),
    357     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(MessageOptions, uninterpreted_option_),
    358   };
    359   MessageOptions_reflection_ =
    360     ::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection(
    361       MessageOptions_descriptor_,
    362       MessageOptions::default_instance_,
    363       MessageOptions_offsets_,
    364       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(MessageOptions, _has_bits_[0]),
    365       -1,
    366       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(MessageOptions, _extensions_),
    367       sizeof(MessageOptions),
    368       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(MessageOptions, _internal_metadata_),
    369       -1);
    370   FieldOptions_descriptor_ = file->message_type(11);
    371   static const int FieldOptions_offsets_[7] = {
    372     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FieldOptions, ctype_),
    373     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FieldOptions, packed_),
    374     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FieldOptions, jstype_),
    375     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FieldOptions, lazy_),
    376     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FieldOptions, deprecated_),
    377     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FieldOptions, weak_),
    378     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FieldOptions, uninterpreted_option_),
    379   };
    380   FieldOptions_reflection_ =
    381     ::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection(
    382       FieldOptions_descriptor_,
    383       FieldOptions::default_instance_,
    384       FieldOptions_offsets_,
    385       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FieldOptions, _has_bits_[0]),
    386       -1,
    387       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FieldOptions, _extensions_),
    388       sizeof(FieldOptions),
    389       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FieldOptions, _internal_metadata_),
    390       -1);
    391   FieldOptions_CType_descriptor_ = FieldOptions_descriptor_->enum_type(0);
    392   FieldOptions_JSType_descriptor_ = FieldOptions_descriptor_->enum_type(1);
    393   EnumOptions_descriptor_ = file->message_type(12);
    394   static const int EnumOptions_offsets_[3] = {
    395     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(EnumOptions, allow_alias_),
    396     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(EnumOptions, deprecated_),
    397     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(EnumOptions, uninterpreted_option_),
    398   };
    399   EnumOptions_reflection_ =
    400     ::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection(
    401       EnumOptions_descriptor_,
    402       EnumOptions::default_instance_,
    403       EnumOptions_offsets_,
    404       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(EnumOptions, _has_bits_[0]),
    405       -1,
    406       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(EnumOptions, _extensions_),
    407       sizeof(EnumOptions),
    408       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(EnumOptions, _internal_metadata_),
    409       -1);
    410   EnumValueOptions_descriptor_ = file->message_type(13);
    411   static const int EnumValueOptions_offsets_[2] = {
    412     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(EnumValueOptions, deprecated_),
    413     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(EnumValueOptions, uninterpreted_option_),
    414   };
    415   EnumValueOptions_reflection_ =
    416     ::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection(
    417       EnumValueOptions_descriptor_,
    418       EnumValueOptions::default_instance_,
    419       EnumValueOptions_offsets_,
    420       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(EnumValueOptions, _has_bits_[0]),
    421       -1,
    422       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(EnumValueOptions, _extensions_),
    423       sizeof(EnumValueOptions),
    424       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(EnumValueOptions, _internal_metadata_),
    425       -1);
    426   ServiceOptions_descriptor_ = file->message_type(14);
    427   static const int ServiceOptions_offsets_[2] = {
    428     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ServiceOptions, deprecated_),
    429     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ServiceOptions, uninterpreted_option_),
    430   };
    431   ServiceOptions_reflection_ =
    432     ::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection(
    433       ServiceOptions_descriptor_,
    434       ServiceOptions::default_instance_,
    435       ServiceOptions_offsets_,
    436       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ServiceOptions, _has_bits_[0]),
    437       -1,
    438       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ServiceOptions, _extensions_),
    439       sizeof(ServiceOptions),
    440       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ServiceOptions, _internal_metadata_),
    441       -1);
    442   MethodOptions_descriptor_ = file->message_type(15);
    443   static const int MethodOptions_offsets_[2] = {
    444     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(MethodOptions, deprecated_),
    445     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(MethodOptions, uninterpreted_option_),
    446   };
    447   MethodOptions_reflection_ =
    448     ::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection(
    449       MethodOptions_descriptor_,
    450       MethodOptions::default_instance_,
    451       MethodOptions_offsets_,
    452       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(MethodOptions, _has_bits_[0]),
    453       -1,
    454       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(MethodOptions, _extensions_),
    455       sizeof(MethodOptions),
    456       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(MethodOptions, _internal_metadata_),
    457       -1);
    458   UninterpretedOption_descriptor_ = file->message_type(16);
    459   static const int UninterpretedOption_offsets_[7] = {
    460     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(UninterpretedOption, name_),
    461     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(UninterpretedOption, identifier_value_),
    462     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(UninterpretedOption, positive_int_value_),
    463     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(UninterpretedOption, negative_int_value_),
    464     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(UninterpretedOption, double_value_),
    465     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(UninterpretedOption, string_value_),
    466     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(UninterpretedOption, aggregate_value_),
    467   };
    468   UninterpretedOption_reflection_ =
    469     ::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection(
    470       UninterpretedOption_descriptor_,
    471       UninterpretedOption::default_instance_,
    472       UninterpretedOption_offsets_,
    473       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(UninterpretedOption, _has_bits_[0]),
    474       -1,
    475       -1,
    476       sizeof(UninterpretedOption),
    477       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(UninterpretedOption, _internal_metadata_),
    478       -1);
    479   UninterpretedOption_NamePart_descriptor_ = UninterpretedOption_descriptor_->nested_type(0);
    480   static const int UninterpretedOption_NamePart_offsets_[2] = {
    481     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(UninterpretedOption_NamePart, name_part_),
    482     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(UninterpretedOption_NamePart, is_extension_),
    483   };
    484   UninterpretedOption_NamePart_reflection_ =
    485     ::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection(
    486       UninterpretedOption_NamePart_descriptor_,
    487       UninterpretedOption_NamePart::default_instance_,
    488       UninterpretedOption_NamePart_offsets_,
    489       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(UninterpretedOption_NamePart, _has_bits_[0]),
    490       -1,
    491       -1,
    492       sizeof(UninterpretedOption_NamePart),
    493       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(UninterpretedOption_NamePart, _internal_metadata_),
    494       -1);
    495   SourceCodeInfo_descriptor_ = file->message_type(17);
    496   static const int SourceCodeInfo_offsets_[1] = {
    497     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SourceCodeInfo, location_),
    498   };
    499   SourceCodeInfo_reflection_ =
    500     ::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection(
    501       SourceCodeInfo_descriptor_,
    502       SourceCodeInfo::default_instance_,
    503       SourceCodeInfo_offsets_,
    504       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SourceCodeInfo, _has_bits_[0]),
    505       -1,
    506       -1,
    507       sizeof(SourceCodeInfo),
    508       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SourceCodeInfo, _internal_metadata_),
    509       -1);
    510   SourceCodeInfo_Location_descriptor_ = SourceCodeInfo_descriptor_->nested_type(0);
    511   static const int SourceCodeInfo_Location_offsets_[5] = {
    512     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SourceCodeInfo_Location, path_),
    513     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SourceCodeInfo_Location, span_),
    514     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SourceCodeInfo_Location, leading_comments_),
    515     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SourceCodeInfo_Location, trailing_comments_),
    516     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SourceCodeInfo_Location, leading_detached_comments_),
    517   };
    518   SourceCodeInfo_Location_reflection_ =
    519     ::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection(
    520       SourceCodeInfo_Location_descriptor_,
    521       SourceCodeInfo_Location::default_instance_,
    522       SourceCodeInfo_Location_offsets_,
    523       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SourceCodeInfo_Location, _has_bits_[0]),
    524       -1,
    525       -1,
    526       sizeof(SourceCodeInfo_Location),
    527       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SourceCodeInfo_Location, _internal_metadata_),
    528       -1);
    529   GeneratedCodeInfo_descriptor_ = file->message_type(18);
    530   static const int GeneratedCodeInfo_offsets_[1] = {
    531     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(GeneratedCodeInfo, annotation_),
    532   };
    533   GeneratedCodeInfo_reflection_ =
    534     ::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection(
    535       GeneratedCodeInfo_descriptor_,
    536       GeneratedCodeInfo::default_instance_,
    537       GeneratedCodeInfo_offsets_,
    538       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(GeneratedCodeInfo, _has_bits_[0]),
    539       -1,
    540       -1,
    541       sizeof(GeneratedCodeInfo),
    542       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(GeneratedCodeInfo, _internal_metadata_),
    543       -1);
    544   GeneratedCodeInfo_Annotation_descriptor_ = GeneratedCodeInfo_descriptor_->nested_type(0);
    545   static const int GeneratedCodeInfo_Annotation_offsets_[4] = {
    546     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(GeneratedCodeInfo_Annotation, path_),
    547     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(GeneratedCodeInfo_Annotation, source_file_),
    548     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(GeneratedCodeInfo_Annotation, begin_),
    549     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(GeneratedCodeInfo_Annotation, end_),
    550   };
    551   GeneratedCodeInfo_Annotation_reflection_ =
    552     ::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection(
    553       GeneratedCodeInfo_Annotation_descriptor_,
    554       GeneratedCodeInfo_Annotation::default_instance_,
    555       GeneratedCodeInfo_Annotation_offsets_,
    556       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(GeneratedCodeInfo_Annotation, _has_bits_[0]),
    557       -1,
    558       -1,
    559       sizeof(GeneratedCodeInfo_Annotation),
    560       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(GeneratedCodeInfo_Annotation, _internal_metadata_),
    561       -1);
    562 }
    563 
    564 namespace {
    565 
    566 GOOGLE_PROTOBUF_DECLARE_ONCE(protobuf_AssignDescriptors_once_);
    567 inline void protobuf_AssignDescriptorsOnce() {
    568   ::google::protobuf::GoogleOnceInit(&protobuf_AssignDescriptors_once_,
    569                  &protobuf_AssignDesc_google_2fprotobuf_2fdescriptor_2eproto);
    570 }
    571 
    572 void protobuf_RegisterTypes(const ::std::string&) {
    573   protobuf_AssignDescriptorsOnce();
    574   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
    575       FileDescriptorSet_descriptor_, &FileDescriptorSet::default_instance());
    576   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
    577       FileDescriptorProto_descriptor_, &FileDescriptorProto::default_instance());
    578   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
    579       DescriptorProto_descriptor_, &DescriptorProto::default_instance());
    580   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
    581       DescriptorProto_ExtensionRange_descriptor_, &DescriptorProto_ExtensionRange::default_instance());
    582   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
    583       DescriptorProto_ReservedRange_descriptor_, &DescriptorProto_ReservedRange::default_instance());
    584   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
    585       FieldDescriptorProto_descriptor_, &FieldDescriptorProto::default_instance());
    586   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
    587       OneofDescriptorProto_descriptor_, &OneofDescriptorProto::default_instance());
    588   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
    589       EnumDescriptorProto_descriptor_, &EnumDescriptorProto::default_instance());
    590   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
    591       EnumValueDescriptorProto_descriptor_, &EnumValueDescriptorProto::default_instance());
    592   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
    593       ServiceDescriptorProto_descriptor_, &ServiceDescriptorProto::default_instance());
    594   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
    595       MethodDescriptorProto_descriptor_, &MethodDescriptorProto::default_instance());
    596   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
    597       FileOptions_descriptor_, &FileOptions::default_instance());
    598   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
    599       MessageOptions_descriptor_, &MessageOptions::default_instance());
    600   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
    601       FieldOptions_descriptor_, &FieldOptions::default_instance());
    602   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
    603       EnumOptions_descriptor_, &EnumOptions::default_instance());
    604   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
    605       EnumValueOptions_descriptor_, &EnumValueOptions::default_instance());
    606   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
    607       ServiceOptions_descriptor_, &ServiceOptions::default_instance());
    608   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
    609       MethodOptions_descriptor_, &MethodOptions::default_instance());
    610   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
    611       UninterpretedOption_descriptor_, &UninterpretedOption::default_instance());
    612   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
    613       UninterpretedOption_NamePart_descriptor_, &UninterpretedOption_NamePart::default_instance());
    614   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
    615       SourceCodeInfo_descriptor_, &SourceCodeInfo::default_instance());
    616   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
    617       SourceCodeInfo_Location_descriptor_, &SourceCodeInfo_Location::default_instance());
    618   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
    619       GeneratedCodeInfo_descriptor_, &GeneratedCodeInfo::default_instance());
    620   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
    621       GeneratedCodeInfo_Annotation_descriptor_, &GeneratedCodeInfo_Annotation::default_instance());
    622 }
    623 
    624 }  // namespace
    625 
    626 void protobuf_ShutdownFile_google_2fprotobuf_2fdescriptor_2eproto() {
    627   delete FileDescriptorSet::default_instance_;
    628   delete FileDescriptorSet_reflection_;
    629   delete FileDescriptorProto::default_instance_;
    630   delete FileDescriptorProto_reflection_;
    631   delete DescriptorProto::default_instance_;
    632   delete DescriptorProto_reflection_;
    633   delete DescriptorProto_ExtensionRange::default_instance_;
    634   delete DescriptorProto_ExtensionRange_reflection_;
    635   delete DescriptorProto_ReservedRange::default_instance_;
    636   delete DescriptorProto_ReservedRange_reflection_;
    637   delete FieldDescriptorProto::default_instance_;
    638   delete FieldDescriptorProto_reflection_;
    639   delete OneofDescriptorProto::default_instance_;
    640   delete OneofDescriptorProto_reflection_;
    641   delete EnumDescriptorProto::default_instance_;
    642   delete EnumDescriptorProto_reflection_;
    643   delete EnumValueDescriptorProto::default_instance_;
    644   delete EnumValueDescriptorProto_reflection_;
    645   delete ServiceDescriptorProto::default_instance_;
    646   delete ServiceDescriptorProto_reflection_;
    647   delete MethodDescriptorProto::default_instance_;
    648   delete MethodDescriptorProto_reflection_;
    649   delete FileOptions::default_instance_;
    650   delete FileOptions_reflection_;
    651   delete MessageOptions::default_instance_;
    652   delete MessageOptions_reflection_;
    653   delete FieldOptions::default_instance_;
    654   delete FieldOptions_reflection_;
    655   delete EnumOptions::default_instance_;
    656   delete EnumOptions_reflection_;
    657   delete EnumValueOptions::default_instance_;
    658   delete EnumValueOptions_reflection_;
    659   delete ServiceOptions::default_instance_;
    660   delete ServiceOptions_reflection_;
    661   delete MethodOptions::default_instance_;
    662   delete MethodOptions_reflection_;
    663   delete UninterpretedOption::default_instance_;
    664   delete UninterpretedOption_reflection_;
    665   delete UninterpretedOption_NamePart::default_instance_;
    666   delete UninterpretedOption_NamePart_reflection_;
    667   delete SourceCodeInfo::default_instance_;
    668   delete SourceCodeInfo_reflection_;
    669   delete SourceCodeInfo_Location::default_instance_;
    670   delete SourceCodeInfo_Location_reflection_;
    671   delete GeneratedCodeInfo::default_instance_;
    672   delete GeneratedCodeInfo_reflection_;
    673   delete GeneratedCodeInfo_Annotation::default_instance_;
    674   delete GeneratedCodeInfo_Annotation_reflection_;
    675 }
    676 
    677 void protobuf_AddDesc_google_2fprotobuf_2fdescriptor_2eproto() {
    678   static bool already_here = false;
    679   if (already_here) return;
    680   already_here = true;
    681   GOOGLE_PROTOBUF_VERIFY_VERSION;
    682 
    683   ::google::protobuf::DescriptorPool::InternalAddGeneratedFile(
    684     "\n google/protobuf/descriptor.proto\022\017goog"
    685     "le.protobuf\"G\n\021FileDescriptorSet\0222\n\004file"
    686     "\030\001 \003(\0132$.google.protobuf.FileDescriptorP"
    687     "roto\"\333\003\n\023FileDescriptorProto\022\014\n\004name\030\001 \001"
    688     "(\t\022\017\n\007package\030\002 \001(\t\022\022\n\ndependency\030\003 \003(\t\022"
    689     "\031\n\021public_dependency\030\n \003(\005\022\027\n\017weak_depen"
    690     "dency\030\013 \003(\005\0226\n\014message_type\030\004 \003(\0132 .goog"
    691     "le.protobuf.DescriptorProto\0227\n\tenum_type"
    692     "\030\005 \003(\0132$.google.protobuf.EnumDescriptorP"
    693     "roto\0228\n\007service\030\006 \003(\0132\'.google.protobuf."
    694     "ServiceDescriptorProto\0228\n\textension\030\007 \003("
    695     "\0132%.google.protobuf.FieldDescriptorProto"
    696     "\022-\n\007options\030\010 \001(\0132\034.google.protobuf.File"
    697     "Options\0229\n\020source_code_info\030\t \001(\0132\037.goog"
    698     "le.protobuf.SourceCodeInfo\022\016\n\006syntax\030\014 \001"
    699     "(\t\"\360\004\n\017DescriptorProto\022\014\n\004name\030\001 \001(\t\0224\n\005"
    700     "field\030\002 \003(\0132%.google.protobuf.FieldDescr"
    701     "iptorProto\0228\n\textension\030\006 \003(\0132%.google.p"
    702     "rotobuf.FieldDescriptorProto\0225\n\013nested_t"
    703     "ype\030\003 \003(\0132 .google.protobuf.DescriptorPr"
    704     "oto\0227\n\tenum_type\030\004 \003(\0132$.google.protobuf"
    705     ".EnumDescriptorProto\022H\n\017extension_range\030"
    706     "\005 \003(\0132/.google.protobuf.DescriptorProto."
    707     "ExtensionRange\0229\n\noneof_decl\030\010 \003(\0132%.goo"
    708     "gle.protobuf.OneofDescriptorProto\0220\n\007opt"
    709     "ions\030\007 \001(\0132\037.google.protobuf.MessageOpti"
    710     "ons\022F\n\016reserved_range\030\t \003(\0132..google.pro"
    711     "tobuf.DescriptorProto.ReservedRange\022\025\n\rr"
    712     "eserved_name\030\n \003(\t\032,\n\016ExtensionRange\022\r\n\005"
    713     "start\030\001 \001(\005\022\013\n\003end\030\002 \001(\005\032+\n\rReservedRang"
    714     "e\022\r\n\005start\030\001 \001(\005\022\013\n\003end\030\002 \001(\005\"\274\005\n\024FieldD"
    715     "escriptorProto\022\014\n\004name\030\001 \001(\t\022\016\n\006number\030\003"
    716     " \001(\005\022:\n\005label\030\004 \001(\0162+.google.protobuf.Fi"
    717     "eldDescriptorProto.Label\0228\n\004type\030\005 \001(\0162*"
    718     ".google.protobuf.FieldDescriptorProto.Ty"
    719     "pe\022\021\n\ttype_name\030\006 \001(\t\022\020\n\010extendee\030\002 \001(\t\022"
    720     "\025\n\rdefault_value\030\007 \001(\t\022\023\n\013oneof_index\030\t "
    721     "\001(\005\022\021\n\tjson_name\030\n \001(\t\022.\n\007options\030\010 \001(\0132"
    722     "\035.google.protobuf.FieldOptions\"\266\002\n\004Type\022"
    723     "\017\n\013TYPE_DOUBLE\020\001\022\016\n\nTYPE_FLOAT\020\002\022\016\n\nTYPE"
    724     "_INT64\020\003\022\017\n\013TYPE_UINT64\020\004\022\016\n\nTYPE_INT32\020"
    725     "\005\022\020\n\014TYPE_FIXED64\020\006\022\020\n\014TYPE_FIXED32\020\007\022\r\n"
    726     "\tTYPE_BOOL\020\010\022\017\n\013TYPE_STRING\020\t\022\016\n\nTYPE_GR"
    727     "OUP\020\n\022\020\n\014TYPE_MESSAGE\020\013\022\016\n\nTYPE_BYTES\020\014\022"
    728     "\017\n\013TYPE_UINT32\020\r\022\r\n\tTYPE_ENUM\020\016\022\021\n\rTYPE_"
    729     "SFIXED32\020\017\022\021\n\rTYPE_SFIXED64\020\020\022\017\n\013TYPE_SI"
    730     "NT32\020\021\022\017\n\013TYPE_SINT64\020\022\"C\n\005Label\022\022\n\016LABE"
    731     "L_OPTIONAL\020\001\022\022\n\016LABEL_REQUIRED\020\002\022\022\n\016LABE"
    732     "L_REPEATED\020\003\"$\n\024OneofDescriptorProto\022\014\n\004"
    733     "name\030\001 \001(\t\"\214\001\n\023EnumDescriptorProto\022\014\n\004na"
    734     "me\030\001 \001(\t\0228\n\005value\030\002 \003(\0132).google.protobu"
    735     "f.EnumValueDescriptorProto\022-\n\007options\030\003 "
    736     "\001(\0132\034.google.protobuf.EnumOptions\"l\n\030Enu"
    737     "mValueDescriptorProto\022\014\n\004name\030\001 \001(\t\022\016\n\006n"
    738     "umber\030\002 \001(\005\0222\n\007options\030\003 \001(\0132!.google.pr"
    739     "otobuf.EnumValueOptions\"\220\001\n\026ServiceDescr"
    740     "iptorProto\022\014\n\004name\030\001 \001(\t\0226\n\006method\030\002 \003(\013"
    741     "2&.google.protobuf.MethodDescriptorProto"
    742     "\0220\n\007options\030\003 \001(\0132\037.google.protobuf.Serv"
    743     "iceOptions\"\301\001\n\025MethodDescriptorProto\022\014\n\004"
    744     "name\030\001 \001(\t\022\022\n\ninput_type\030\002 \001(\t\022\023\n\013output"
    745     "_type\030\003 \001(\t\022/\n\007options\030\004 \001(\0132\036.google.pr"
    746     "otobuf.MethodOptions\022\037\n\020client_streaming"
    747     "\030\005 \001(\010:\005false\022\037\n\020server_streaming\030\006 \001(\010:"
    748     "\005false\"\207\005\n\013FileOptions\022\024\n\014java_package\030\001"
    749     " \001(\t\022\034\n\024java_outer_classname\030\010 \001(\t\022\"\n\023ja"
    750     "va_multiple_files\030\n \001(\010:\005false\022,\n\035java_g"
    751     "enerate_equals_and_hash\030\024 \001(\010:\005false\022%\n\026"
    752     "java_string_check_utf8\030\033 \001(\010:\005false\022F\n\014o"
    753     "ptimize_for\030\t \001(\0162).google.protobuf.File"
    754     "Options.OptimizeMode:\005SPEED\022\022\n\ngo_packag"
    755     "e\030\013 \001(\t\022\"\n\023cc_generic_services\030\020 \001(\010:\005fa"
    756     "lse\022$\n\025java_generic_services\030\021 \001(\010:\005fals"
    757     "e\022\"\n\023py_generic_services\030\022 \001(\010:\005false\022\031\n"
    758     "\ndeprecated\030\027 \001(\010:\005false\022\037\n\020cc_enable_ar"
    759     "enas\030\037 \001(\010:\005false\022\031\n\021objc_class_prefix\030$"
    760     " \001(\t\022\030\n\020csharp_namespace\030% \001(\t\022C\n\024uninte"
    761     "rpreted_option\030\347\007 \003(\0132$.google.protobuf."
    762     "UninterpretedOption\":\n\014OptimizeMode\022\t\n\005S"
    763     "PEED\020\001\022\r\n\tCODE_SIZE\020\002\022\020\n\014LITE_RUNTIME\020\003*"
    764     "\t\010\350\007\020\200\200\200\200\002J\004\010&\020\'\"\346\001\n\016MessageOptions\022&\n\027m"
    765     "essage_set_wire_format\030\001 \001(\010:\005false\022.\n\037n"
    766     "o_standard_descriptor_accessor\030\002 \001(\010:\005fa"
    767     "lse\022\031\n\ndeprecated\030\003 \001(\010:\005false\022\021\n\tmap_en"
    768     "try\030\007 \001(\010\022C\n\024uninterpreted_option\030\347\007 \003(\013"
    769     "2$.google.protobuf.UninterpretedOption*\t"
    770     "\010\350\007\020\200\200\200\200\002\"\230\003\n\014FieldOptions\022:\n\005ctype\030\001 \001("
    771     "\0162#.google.protobuf.FieldOptions.CType:\006"
    772     "STRING\022\016\n\006packed\030\002 \001(\010\022\?\n\006jstype\030\006 \001(\0162$"
    773     ".google.protobuf.FieldOptions.JSType:\tJS"
    774     "_NORMAL\022\023\n\004lazy\030\005 \001(\010:\005false\022\031\n\ndeprecat"
    775     "ed\030\003 \001(\010:\005false\022\023\n\004weak\030\n \001(\010:\005false\022C\n\024"
    776     "uninterpreted_option\030\347\007 \003(\0132$.google.pro"
    777     "tobuf.UninterpretedOption\"/\n\005CType\022\n\n\006ST"
    778     "RING\020\000\022\010\n\004CORD\020\001\022\020\n\014STRING_PIECE\020\002\"5\n\006JS"
    779     "Type\022\r\n\tJS_NORMAL\020\000\022\r\n\tJS_STRING\020\001\022\r\n\tJS"
    780     "_NUMBER\020\002*\t\010\350\007\020\200\200\200\200\002\"\215\001\n\013EnumOptions\022\023\n\013"
    781     "allow_alias\030\002 \001(\010\022\031\n\ndeprecated\030\003 \001(\010:\005f"
    782     "alse\022C\n\024uninterpreted_option\030\347\007 \003(\0132$.go"
    783     "ogle.protobuf.UninterpretedOption*\t\010\350\007\020\200"
    784     "\200\200\200\002\"}\n\020EnumValueOptions\022\031\n\ndeprecated\030\001"
    785     " \001(\010:\005false\022C\n\024uninterpreted_option\030\347\007 \003"
    786     "(\0132$.google.protobuf.UninterpretedOption"
    787     "*\t\010\350\007\020\200\200\200\200\002\"{\n\016ServiceOptions\022\031\n\ndepreca"
    788     "ted\030! \001(\010:\005false\022C\n\024uninterpreted_option"
    789     "\030\347\007 \003(\0132$.google.protobuf.UninterpretedO"
    790     "ption*\t\010\350\007\020\200\200\200\200\002\"z\n\rMethodOptions\022\031\n\ndep"
    791     "recated\030! \001(\010:\005false\022C\n\024uninterpreted_op"
    792     "tion\030\347\007 \003(\0132$.google.protobuf.Uninterpre"
    793     "tedOption*\t\010\350\007\020\200\200\200\200\002\"\236\002\n\023UninterpretedOp"
    794     "tion\022;\n\004name\030\002 \003(\0132-.google.protobuf.Uni"
    795     "nterpretedOption.NamePart\022\030\n\020identifier_"
    796     "value\030\003 \001(\t\022\032\n\022positive_int_value\030\004 \001(\004\022"
    797     "\032\n\022negative_int_value\030\005 \001(\003\022\024\n\014double_va"
    798     "lue\030\006 \001(\001\022\024\n\014string_value\030\007 \001(\014\022\027\n\017aggre"
    799     "gate_value\030\010 \001(\t\0323\n\010NamePart\022\021\n\tname_par"
    800     "t\030\001 \002(\t\022\024\n\014is_extension\030\002 \002(\010\"\325\001\n\016Source"
    801     "CodeInfo\022:\n\010location\030\001 \003(\0132(.google.prot"
    802     "obuf.SourceCodeInfo.Location\032\206\001\n\010Locatio"
    803     "n\022\020\n\004path\030\001 \003(\005B\002\020\001\022\020\n\004span\030\002 \003(\005B\002\020\001\022\030\n"
    804     "\020leading_comments\030\003 \001(\t\022\031\n\021trailing_comm"
    805     "ents\030\004 \001(\t\022!\n\031leading_detached_comments\030"
    806     "\006 \003(\t\"\247\001\n\021GeneratedCodeInfo\022A\n\nannotatio"
    807     "n\030\001 \003(\0132-.google.protobuf.GeneratedCodeI"
    808     "nfo.Annotation\032O\n\nAnnotation\022\020\n\004path\030\001 \003"
    809     "(\005B\002\020\001\022\023\n\013source_file\030\002 \001(\t\022\r\n\005begin\030\003 \001"
    810     "(\005\022\013\n\003end\030\004 \001(\005BX\n\023com.google.protobufB\020"
    811     "DescriptorProtosH\001Z\ndescriptor\242\002\003GPB\252\002\032G"
    812     "oogle.Protobuf.Reflection", 5145);
    813   ::google::protobuf::MessageFactory::InternalRegisterGeneratedFile(
    814     "google/protobuf/descriptor.proto", &protobuf_RegisterTypes);
    815   FileDescriptorSet::default_instance_ = new FileDescriptorSet();
    816   FileDescriptorProto::default_instance_ = new FileDescriptorProto();
    817   DescriptorProto::default_instance_ = new DescriptorProto();
    818   DescriptorProto_ExtensionRange::default_instance_ = new DescriptorProto_ExtensionRange();
    819   DescriptorProto_ReservedRange::default_instance_ = new DescriptorProto_ReservedRange();
    820   FieldDescriptorProto::default_instance_ = new FieldDescriptorProto();
    821   OneofDescriptorProto::default_instance_ = new OneofDescriptorProto();
    822   EnumDescriptorProto::default_instance_ = new EnumDescriptorProto();
    823   EnumValueDescriptorProto::default_instance_ = new EnumValueDescriptorProto();
    824   ServiceDescriptorProto::default_instance_ = new ServiceDescriptorProto();
    825   MethodDescriptorProto::default_instance_ = new MethodDescriptorProto();
    826   FileOptions::default_instance_ = new FileOptions();
    827   MessageOptions::default_instance_ = new MessageOptions();
    828   FieldOptions::default_instance_ = new FieldOptions();
    829   EnumOptions::default_instance_ = new EnumOptions();
    830   EnumValueOptions::default_instance_ = new EnumValueOptions();
    831   ServiceOptions::default_instance_ = new ServiceOptions();
    832   MethodOptions::default_instance_ = new MethodOptions();
    833   UninterpretedOption::default_instance_ = new UninterpretedOption();
    834   UninterpretedOption_NamePart::default_instance_ = new UninterpretedOption_NamePart();
    835   SourceCodeInfo::default_instance_ = new SourceCodeInfo();
    836   SourceCodeInfo_Location::default_instance_ = new SourceCodeInfo_Location();
    837   GeneratedCodeInfo::default_instance_ = new GeneratedCodeInfo();
    838   GeneratedCodeInfo_Annotation::default_instance_ = new GeneratedCodeInfo_Annotation();
    839   FileDescriptorSet::default_instance_->InitAsDefaultInstance();
    840   FileDescriptorProto::default_instance_->InitAsDefaultInstance();
    841   DescriptorProto::default_instance_->InitAsDefaultInstance();
    842   DescriptorProto_ExtensionRange::default_instance_->InitAsDefaultInstance();
    843   DescriptorProto_ReservedRange::default_instance_->InitAsDefaultInstance();
    844   FieldDescriptorProto::default_instance_->InitAsDefaultInstance();
    845   OneofDescriptorProto::default_instance_->InitAsDefaultInstance();
    846   EnumDescriptorProto::default_instance_->InitAsDefaultInstance();
    847   EnumValueDescriptorProto::default_instance_->InitAsDefaultInstance();
    848   ServiceDescriptorProto::default_instance_->InitAsDefaultInstance();
    849   MethodDescriptorProto::default_instance_->InitAsDefaultInstance();
    850   FileOptions::default_instance_->InitAsDefaultInstance();
    851   MessageOptions::default_instance_->InitAsDefaultInstance();
    852   FieldOptions::default_instance_->InitAsDefaultInstance();
    853   EnumOptions::default_instance_->InitAsDefaultInstance();
    854   EnumValueOptions::default_instance_->InitAsDefaultInstance();
    855   ServiceOptions::default_instance_->InitAsDefaultInstance();
    856   MethodOptions::default_instance_->InitAsDefaultInstance();
    857   UninterpretedOption::default_instance_->InitAsDefaultInstance();
    858   UninterpretedOption_NamePart::default_instance_->InitAsDefaultInstance();
    859   SourceCodeInfo::default_instance_->InitAsDefaultInstance();
    860   SourceCodeInfo_Location::default_instance_->InitAsDefaultInstance();
    861   GeneratedCodeInfo::default_instance_->InitAsDefaultInstance();
    862   GeneratedCodeInfo_Annotation::default_instance_->InitAsDefaultInstance();
    863   ::google::protobuf::internal::OnShutdown(&protobuf_ShutdownFile_google_2fprotobuf_2fdescriptor_2eproto);
    864 }
    865 
    866 // Force AddDescriptors() to be called at static initialization time.
    867 struct StaticDescriptorInitializer_google_2fprotobuf_2fdescriptor_2eproto {
    868   StaticDescriptorInitializer_google_2fprotobuf_2fdescriptor_2eproto() {
    869     protobuf_AddDesc_google_2fprotobuf_2fdescriptor_2eproto();
    870   }
    871 } static_descriptor_initializer_google_2fprotobuf_2fdescriptor_2eproto_;
    872 
    873 namespace {
    874 
    875 static void MergeFromFail(int line) GOOGLE_ATTRIBUTE_COLD;
    876 static void MergeFromFail(int line) {
    877   GOOGLE_CHECK(false) << __FILE__ << ":" << line;
    878 }
    879 
    880 }  // namespace
    881 
    882 
    883 // ===================================================================
    884 
    885 #if !defined(_MSC_VER) || _MSC_VER >= 1900
    886 const int FileDescriptorSet::kFileFieldNumber;
    887 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
    888 
    889 FileDescriptorSet::FileDescriptorSet()
    890   : ::google::protobuf::Message(), _internal_metadata_(NULL) {
    891   SharedCtor();
    892   // @@protoc_insertion_point(constructor:google.protobuf.FileDescriptorSet)
    893 }
    894 
    895 void FileDescriptorSet::InitAsDefaultInstance() {
    896 }
    897 
    898 FileDescriptorSet::FileDescriptorSet(const FileDescriptorSet& from)
    899   : ::google::protobuf::Message(),
    900     _internal_metadata_(NULL) {
    901   SharedCtor();
    902   MergeFrom(from);
    903   // @@protoc_insertion_point(copy_constructor:google.protobuf.FileDescriptorSet)
    904 }
    905 
    906 void FileDescriptorSet::SharedCtor() {
    907   _cached_size_ = 0;
    908   ::memset(_has_bits_, 0, sizeof(_has_bits_));
    909 }
    910 
    911 FileDescriptorSet::~FileDescriptorSet() {
    912   // @@protoc_insertion_point(destructor:google.protobuf.FileDescriptorSet)
    913   SharedDtor();
    914 }
    915 
    916 void FileDescriptorSet::SharedDtor() {
    917   if (this != default_instance_) {
    918   }
    919 }
    920 
    921 void FileDescriptorSet::SetCachedSize(int size) const {
    922   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
    923   _cached_size_ = size;
    924   GOOGLE_SAFE_CONCURRENT_WRITES_END();
    925 }
    926 const ::google::protobuf::Descriptor* FileDescriptorSet::descriptor() {
    927   protobuf_AssignDescriptorsOnce();
    928   return FileDescriptorSet_descriptor_;
    929 }
    930 
    931 const FileDescriptorSet& FileDescriptorSet::default_instance() {
    932   if (default_instance_ == NULL) protobuf_AddDesc_google_2fprotobuf_2fdescriptor_2eproto();
    933   return *default_instance_;
    934 }
    935 
    936 FileDescriptorSet* FileDescriptorSet::default_instance_ = NULL;
    937 
    938 FileDescriptorSet* FileDescriptorSet::New(::google::protobuf::Arena* arena) const {
    939   FileDescriptorSet* n = new FileDescriptorSet;
    940   if (arena != NULL) {
    941     arena->Own(n);
    942   }
    943   return n;
    944 }
    945 
    946 void FileDescriptorSet::Clear() {
    947 // @@protoc_insertion_point(message_clear_start:google.protobuf.FileDescriptorSet)
    948   file_.Clear();
    949   ::memset(_has_bits_, 0, sizeof(_has_bits_));
    950   if (_internal_metadata_.have_unknown_fields()) {
    951     mutable_unknown_fields()->Clear();
    952   }
    953 }
    954 
    955 bool FileDescriptorSet::MergePartialFromCodedStream(
    956     ::google::protobuf::io::CodedInputStream* input) {
    957 #define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
    958   ::google::protobuf::uint32 tag;
    959   // @@protoc_insertion_point(parse_start:google.protobuf.FileDescriptorSet)
    960   for (;;) {
    961     ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
    962     tag = p.first;
    963     if (!p.second) goto handle_unusual;
    964     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
    965       // repeated .google.protobuf.FileDescriptorProto file = 1;
    966       case 1: {
    967         if (tag == 10) {
    968           DO_(input->IncrementRecursionDepth());
    969          parse_loop_file:
    970           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtualNoRecursionDepth(
    971                 input, add_file()));
    972         } else {
    973           goto handle_unusual;
    974         }
    975         if (input->ExpectTag(10)) goto parse_loop_file;
    976         input->UnsafeDecrementRecursionDepth();
    977         if (input->ExpectAtEnd()) goto success;
    978         break;
    979       }
    980 
    981       default: {
    982       handle_unusual:
    983         if (tag == 0 ||
    984             ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
    985             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
    986           goto success;
    987         }
    988         DO_(::google::protobuf::internal::WireFormat::SkipField(
    989               input, tag, mutable_unknown_fields()));
    990         break;
    991       }
    992     }
    993   }
    994 success:
    995   // @@protoc_insertion_point(parse_success:google.protobuf.FileDescriptorSet)
    996   return true;
    997 failure:
    998   // @@protoc_insertion_point(parse_failure:google.protobuf.FileDescriptorSet)
    999   return false;
   1000 #undef DO_
   1001 }
   1002 
   1003 void FileDescriptorSet::SerializeWithCachedSizes(
   1004     ::google::protobuf::io::CodedOutputStream* output) const {
   1005   // @@protoc_insertion_point(serialize_start:google.protobuf.FileDescriptorSet)
   1006   // repeated .google.protobuf.FileDescriptorProto file = 1;
   1007   for (unsigned int i = 0, n = this->file_size(); i < n; i++) {
   1008     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
   1009       1, this->file(i), output);
   1010   }
   1011 
   1012   if (_internal_metadata_.have_unknown_fields()) {
   1013     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
   1014         unknown_fields(), output);
   1015   }
   1016   // @@protoc_insertion_point(serialize_end:google.protobuf.FileDescriptorSet)
   1017 }
   1018 
   1019 ::google::protobuf::uint8* FileDescriptorSet::SerializeWithCachedSizesToArray(
   1020     ::google::protobuf::uint8* target) const {
   1021   // @@protoc_insertion_point(serialize_to_array_start:google.protobuf.FileDescriptorSet)
   1022   // repeated .google.protobuf.FileDescriptorProto file = 1;
   1023   for (unsigned int i = 0, n = this->file_size(); i < n; i++) {
   1024     target = ::google::protobuf::internal::WireFormatLite::
   1025       WriteMessageNoVirtualToArray(
   1026         1, this->file(i), target);
   1027   }
   1028 
   1029   if (_internal_metadata_.have_unknown_fields()) {
   1030     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
   1031         unknown_fields(), target);
   1032   }
   1033   // @@protoc_insertion_point(serialize_to_array_end:google.protobuf.FileDescriptorSet)
   1034   return target;
   1035 }
   1036 
   1037 int FileDescriptorSet::ByteSize() const {
   1038 // @@protoc_insertion_point(message_byte_size_start:google.protobuf.FileDescriptorSet)
   1039   int total_size = 0;
   1040 
   1041   // repeated .google.protobuf.FileDescriptorProto file = 1;
   1042   total_size += 1 * this->file_size();
   1043   for (int i = 0; i < this->file_size(); i++) {
   1044     total_size +=
   1045       ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
   1046         this->file(i));
   1047   }
   1048 
   1049   if (_internal_metadata_.have_unknown_fields()) {
   1050     total_size +=
   1051       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
   1052         unknown_fields());
   1053   }
   1054   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   1055   _cached_size_ = total_size;
   1056   GOOGLE_SAFE_CONCURRENT_WRITES_END();
   1057   return total_size;
   1058 }
   1059 
   1060 void FileDescriptorSet::MergeFrom(const ::google::protobuf::Message& from) {
   1061 // @@protoc_insertion_point(generalized_merge_from_start:google.protobuf.FileDescriptorSet)
   1062   if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
   1063   const FileDescriptorSet* source =
   1064       ::google::protobuf::internal::DynamicCastToGenerated<const FileDescriptorSet>(
   1065           &from);
   1066   if (source == NULL) {
   1067   // @@protoc_insertion_point(generalized_merge_from_cast_fail:google.protobuf.FileDescriptorSet)
   1068     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
   1069   } else {
   1070   // @@protoc_insertion_point(generalized_merge_from_cast_success:google.protobuf.FileDescriptorSet)
   1071     MergeFrom(*source);
   1072   }
   1073 }
   1074 
   1075 void FileDescriptorSet::MergeFrom(const FileDescriptorSet& from) {
   1076 // @@protoc_insertion_point(class_specific_merge_from_start:google.protobuf.FileDescriptorSet)
   1077   if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
   1078   file_.MergeFrom(from.file_);
   1079   if (from._internal_metadata_.have_unknown_fields()) {
   1080     mutable_unknown_fields()->MergeFrom(from.unknown_fields());
   1081   }
   1082 }
   1083 
   1084 void FileDescriptorSet::CopyFrom(const ::google::protobuf::Message& from) {
   1085 // @@protoc_insertion_point(generalized_copy_from_start:google.protobuf.FileDescriptorSet)
   1086   if (&from == this) return;
   1087   Clear();
   1088   MergeFrom(from);
   1089 }
   1090 
   1091 void FileDescriptorSet::CopyFrom(const FileDescriptorSet& from) {
   1092 // @@protoc_insertion_point(class_specific_copy_from_start:google.protobuf.FileDescriptorSet)
   1093   if (&from == this) return;
   1094   Clear();
   1095   MergeFrom(from);
   1096 }
   1097 
   1098 bool FileDescriptorSet::IsInitialized() const {
   1099 
   1100   if (!::google::protobuf::internal::AllAreInitialized(this->file())) return false;
   1101   return true;
   1102 }
   1103 
   1104 void FileDescriptorSet::Swap(FileDescriptorSet* other) {
   1105   if (other == this) return;
   1106   InternalSwap(other);
   1107 }
   1108 void FileDescriptorSet::InternalSwap(FileDescriptorSet* other) {
   1109   file_.UnsafeArenaSwap(&other->file_);
   1110   std::swap(_has_bits_[0], other->_has_bits_[0]);
   1111   _internal_metadata_.Swap(&other->_internal_metadata_);
   1112   std::swap(_cached_size_, other->_cached_size_);
   1113 }
   1114 
   1115 ::google::protobuf::Metadata FileDescriptorSet::GetMetadata() const {
   1116   protobuf_AssignDescriptorsOnce();
   1117   ::google::protobuf::Metadata metadata;
   1118   metadata.descriptor = FileDescriptorSet_descriptor_;
   1119   metadata.reflection = FileDescriptorSet_reflection_;
   1120   return metadata;
   1121 }
   1122 
   1123 #if PROTOBUF_INLINE_NOT_IN_HEADERS
   1124 // FileDescriptorSet
   1125 
   1126 // repeated .google.protobuf.FileDescriptorProto file = 1;
   1127 int FileDescriptorSet::file_size() const {
   1128   return file_.size();
   1129 }
   1130 void FileDescriptorSet::clear_file() {
   1131   file_.Clear();
   1132 }
   1133 const ::google::protobuf::FileDescriptorProto& FileDescriptorSet::file(int index) const {
   1134   // @@protoc_insertion_point(field_get:google.protobuf.FileDescriptorSet.file)
   1135   return file_.Get(index);
   1136 }
   1137 ::google::protobuf::FileDescriptorProto* FileDescriptorSet::mutable_file(int index) {
   1138   // @@protoc_insertion_point(field_mutable:google.protobuf.FileDescriptorSet.file)
   1139   return file_.Mutable(index);
   1140 }
   1141 ::google::protobuf::FileDescriptorProto* FileDescriptorSet::add_file() {
   1142   // @@protoc_insertion_point(field_add:google.protobuf.FileDescriptorSet.file)
   1143   return file_.Add();
   1144 }
   1145 ::google::protobuf::RepeatedPtrField< ::google::protobuf::FileDescriptorProto >*
   1146 FileDescriptorSet::mutable_file() {
   1147   // @@protoc_insertion_point(field_mutable_list:google.protobuf.FileDescriptorSet.file)
   1148   return &file_;
   1149 }
   1150 const ::google::protobuf::RepeatedPtrField< ::google::protobuf::FileDescriptorProto >&
   1151 FileDescriptorSet::file() const {
   1152   // @@protoc_insertion_point(field_list:google.protobuf.FileDescriptorSet.file)
   1153   return file_;
   1154 }
   1155 
   1156 #endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
   1157 
   1158 // ===================================================================
   1159 
   1160 #if !defined(_MSC_VER) || _MSC_VER >= 1900
   1161 const int FileDescriptorProto::kNameFieldNumber;
   1162 const int FileDescriptorProto::kPackageFieldNumber;
   1163 const int FileDescriptorProto::kDependencyFieldNumber;
   1164 const int FileDescriptorProto::kPublicDependencyFieldNumber;
   1165 const int FileDescriptorProto::kWeakDependencyFieldNumber;
   1166 const int FileDescriptorProto::kMessageTypeFieldNumber;
   1167 const int FileDescriptorProto::kEnumTypeFieldNumber;
   1168 const int FileDescriptorProto::kServiceFieldNumber;
   1169 const int FileDescriptorProto::kExtensionFieldNumber;
   1170 const int FileDescriptorProto::kOptionsFieldNumber;
   1171 const int FileDescriptorProto::kSourceCodeInfoFieldNumber;
   1172 const int FileDescriptorProto::kSyntaxFieldNumber;
   1173 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
   1174 
   1175 FileDescriptorProto::FileDescriptorProto()
   1176   : ::google::protobuf::Message(), _internal_metadata_(NULL) {
   1177   SharedCtor();
   1178   // @@protoc_insertion_point(constructor:google.protobuf.FileDescriptorProto)
   1179 }
   1180 
   1181 void FileDescriptorProto::InitAsDefaultInstance() {
   1182   options_ = const_cast< ::google::protobuf::FileOptions*>(&::google::protobuf::FileOptions::default_instance());
   1183   source_code_info_ = const_cast< ::google::protobuf::SourceCodeInfo*>(&::google::protobuf::SourceCodeInfo::default_instance());
   1184 }
   1185 
   1186 FileDescriptorProto::FileDescriptorProto(const FileDescriptorProto& from)
   1187   : ::google::protobuf::Message(),
   1188     _internal_metadata_(NULL) {
   1189   SharedCtor();
   1190   MergeFrom(from);
   1191   // @@protoc_insertion_point(copy_constructor:google.protobuf.FileDescriptorProto)
   1192 }
   1193 
   1194 void FileDescriptorProto::SharedCtor() {
   1195   ::google::protobuf::internal::GetEmptyString();
   1196   _cached_size_ = 0;
   1197   name_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   1198   package_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   1199   options_ = NULL;
   1200   source_code_info_ = NULL;
   1201   syntax_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   1202   ::memset(_has_bits_, 0, sizeof(_has_bits_));
   1203 }
   1204 
   1205 FileDescriptorProto::~FileDescriptorProto() {
   1206   // @@protoc_insertion_point(destructor:google.protobuf.FileDescriptorProto)
   1207   SharedDtor();
   1208 }
   1209 
   1210 void FileDescriptorProto::SharedDtor() {
   1211   name_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   1212   package_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   1213   syntax_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   1214   if (this != default_instance_) {
   1215     delete options_;
   1216     delete source_code_info_;
   1217   }
   1218 }
   1219 
   1220 void FileDescriptorProto::SetCachedSize(int size) const {
   1221   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   1222   _cached_size_ = size;
   1223   GOOGLE_SAFE_CONCURRENT_WRITES_END();
   1224 }
   1225 const ::google::protobuf::Descriptor* FileDescriptorProto::descriptor() {
   1226   protobuf_AssignDescriptorsOnce();
   1227   return FileDescriptorProto_descriptor_;
   1228 }
   1229 
   1230 const FileDescriptorProto& FileDescriptorProto::default_instance() {
   1231   if (default_instance_ == NULL) protobuf_AddDesc_google_2fprotobuf_2fdescriptor_2eproto();
   1232   return *default_instance_;
   1233 }
   1234 
   1235 FileDescriptorProto* FileDescriptorProto::default_instance_ = NULL;
   1236 
   1237 FileDescriptorProto* FileDescriptorProto::New(::google::protobuf::Arena* arena) const {
   1238   FileDescriptorProto* n = new FileDescriptorProto;
   1239   if (arena != NULL) {
   1240     arena->Own(n);
   1241   }
   1242   return n;
   1243 }
   1244 
   1245 void FileDescriptorProto::Clear() {
   1246 // @@protoc_insertion_point(message_clear_start:google.protobuf.FileDescriptorProto)
   1247   if (_has_bits_[0 / 32] & 3u) {
   1248     if (has_name()) {
   1249       name_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   1250     }
   1251     if (has_package()) {
   1252       package_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   1253     }
   1254   }
   1255   if (_has_bits_[8 / 32] & 3584u) {
   1256     if (has_options()) {
   1257       if (options_ != NULL) options_->::google::protobuf::FileOptions::Clear();
   1258     }
   1259     if (has_source_code_info()) {
   1260       if (source_code_info_ != NULL) source_code_info_->::google::protobuf::SourceCodeInfo::Clear();
   1261     }
   1262     if (has_syntax()) {
   1263       syntax_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   1264     }
   1265   }
   1266   dependency_.Clear();
   1267   public_dependency_.Clear();
   1268   weak_dependency_.Clear();
   1269   message_type_.Clear();
   1270   enum_type_.Clear();
   1271   service_.Clear();
   1272   extension_.Clear();
   1273   ::memset(_has_bits_, 0, sizeof(_has_bits_));
   1274   if (_internal_metadata_.have_unknown_fields()) {
   1275     mutable_unknown_fields()->Clear();
   1276   }
   1277 }
   1278 
   1279 bool FileDescriptorProto::MergePartialFromCodedStream(
   1280     ::google::protobuf::io::CodedInputStream* input) {
   1281 #define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
   1282   ::google::protobuf::uint32 tag;
   1283   // @@protoc_insertion_point(parse_start:google.protobuf.FileDescriptorProto)
   1284   for (;;) {
   1285     ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
   1286     tag = p.first;
   1287     if (!p.second) goto handle_unusual;
   1288     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
   1289       // optional string name = 1;
   1290       case 1: {
   1291         if (tag == 10) {
   1292           DO_(::google::protobuf::internal::WireFormatLite::ReadString(
   1293                 input, this->mutable_name()));
   1294           ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   1295             this->name().data(), this->name().length(),
   1296             ::google::protobuf::internal::WireFormat::PARSE,
   1297             "google.protobuf.FileDescriptorProto.name");
   1298         } else {
   1299           goto handle_unusual;
   1300         }
   1301         if (input->ExpectTag(18)) goto parse_package;
   1302         break;
   1303       }
   1304 
   1305       // optional string package = 2;
   1306       case 2: {
   1307         if (tag == 18) {
   1308          parse_package:
   1309           DO_(::google::protobuf::internal::WireFormatLite::ReadString(
   1310                 input, this->mutable_package()));
   1311           ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   1312             this->package().data(), this->package().length(),
   1313             ::google::protobuf::internal::WireFormat::PARSE,
   1314             "google.protobuf.FileDescriptorProto.package");
   1315         } else {
   1316           goto handle_unusual;
   1317         }
   1318         if (input->ExpectTag(26)) goto parse_dependency;
   1319         break;
   1320       }
   1321 
   1322       // repeated string dependency = 3;
   1323       case 3: {
   1324         if (tag == 26) {
   1325          parse_dependency:
   1326           DO_(::google::protobuf::internal::WireFormatLite::ReadString(
   1327                 input, this->add_dependency()));
   1328           ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   1329             this->dependency(this->dependency_size() - 1).data(),
   1330             this->dependency(this->dependency_size() - 1).length(),
   1331             ::google::protobuf::internal::WireFormat::PARSE,
   1332             "google.protobuf.FileDescriptorProto.dependency");
   1333         } else {
   1334           goto handle_unusual;
   1335         }
   1336         if (input->ExpectTag(26)) goto parse_dependency;
   1337         if (input->ExpectTag(34)) goto parse_message_type;
   1338         break;
   1339       }
   1340 
   1341       // repeated .google.protobuf.DescriptorProto message_type = 4;
   1342       case 4: {
   1343         if (tag == 34) {
   1344          parse_message_type:
   1345           DO_(input->IncrementRecursionDepth());
   1346          parse_loop_message_type:
   1347           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtualNoRecursionDepth(
   1348                 input, add_message_type()));
   1349         } else {
   1350           goto handle_unusual;
   1351         }
   1352         if (input->ExpectTag(34)) goto parse_loop_message_type;
   1353         if (input->ExpectTag(42)) goto parse_loop_enum_type;
   1354         input->UnsafeDecrementRecursionDepth();
   1355         break;
   1356       }
   1357 
   1358       // repeated .google.protobuf.EnumDescriptorProto enum_type = 5;
   1359       case 5: {
   1360         if (tag == 42) {
   1361           DO_(input->IncrementRecursionDepth());
   1362          parse_loop_enum_type:
   1363           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtualNoRecursionDepth(
   1364                 input, add_enum_type()));
   1365         } else {
   1366           goto handle_unusual;
   1367         }
   1368         if (input->ExpectTag(42)) goto parse_loop_enum_type;
   1369         if (input->ExpectTag(50)) goto parse_loop_service;
   1370         input->UnsafeDecrementRecursionDepth();
   1371         break;
   1372       }
   1373 
   1374       // repeated .google.protobuf.ServiceDescriptorProto service = 6;
   1375       case 6: {
   1376         if (tag == 50) {
   1377           DO_(input->IncrementRecursionDepth());
   1378          parse_loop_service:
   1379           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtualNoRecursionDepth(
   1380                 input, add_service()));
   1381         } else {
   1382           goto handle_unusual;
   1383         }
   1384         if (input->ExpectTag(50)) goto parse_loop_service;
   1385         if (input->ExpectTag(58)) goto parse_loop_extension;
   1386         input->UnsafeDecrementRecursionDepth();
   1387         break;
   1388       }
   1389 
   1390       // repeated .google.protobuf.FieldDescriptorProto extension = 7;
   1391       case 7: {
   1392         if (tag == 58) {
   1393           DO_(input->IncrementRecursionDepth());
   1394          parse_loop_extension:
   1395           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtualNoRecursionDepth(
   1396                 input, add_extension()));
   1397         } else {
   1398           goto handle_unusual;
   1399         }
   1400         if (input->ExpectTag(58)) goto parse_loop_extension;
   1401         input->UnsafeDecrementRecursionDepth();
   1402         if (input->ExpectTag(66)) goto parse_options;
   1403         break;
   1404       }
   1405 
   1406       // optional .google.protobuf.FileOptions options = 8;
   1407       case 8: {
   1408         if (tag == 66) {
   1409          parse_options:
   1410           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
   1411                input, mutable_options()));
   1412         } else {
   1413           goto handle_unusual;
   1414         }
   1415         if (input->ExpectTag(74)) goto parse_source_code_info;
   1416         break;
   1417       }
   1418 
   1419       // optional .google.protobuf.SourceCodeInfo source_code_info = 9;
   1420       case 9: {
   1421         if (tag == 74) {
   1422          parse_source_code_info:
   1423           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
   1424                input, mutable_source_code_info()));
   1425         } else {
   1426           goto handle_unusual;
   1427         }
   1428         if (input->ExpectTag(80)) goto parse_public_dependency;
   1429         break;
   1430       }
   1431 
   1432       // repeated int32 public_dependency = 10;
   1433       case 10: {
   1434         if (tag == 80) {
   1435          parse_public_dependency:
   1436           DO_((::google::protobuf::internal::WireFormatLite::ReadRepeatedPrimitive<
   1437                    ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
   1438                  1, 80, input, this->mutable_public_dependency())));
   1439         } else if (tag == 82) {
   1440           DO_((::google::protobuf::internal::WireFormatLite::ReadPackedPrimitiveNoInline<
   1441                    ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
   1442                  input, this->mutable_public_dependency())));
   1443         } else {
   1444           goto handle_unusual;
   1445         }
   1446         if (input->ExpectTag(80)) goto parse_public_dependency;
   1447         if (input->ExpectTag(88)) goto parse_weak_dependency;
   1448         break;
   1449       }
   1450 
   1451       // repeated int32 weak_dependency = 11;
   1452       case 11: {
   1453         if (tag == 88) {
   1454          parse_weak_dependency:
   1455           DO_((::google::protobuf::internal::WireFormatLite::ReadRepeatedPrimitive<
   1456                    ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
   1457                  1, 88, input, this->mutable_weak_dependency())));
   1458         } else if (tag == 90) {
   1459           DO_((::google::protobuf::internal::WireFormatLite::ReadPackedPrimitiveNoInline<
   1460                    ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
   1461                  input, this->mutable_weak_dependency())));
   1462         } else {
   1463           goto handle_unusual;
   1464         }
   1465         if (input->ExpectTag(88)) goto parse_weak_dependency;
   1466         if (input->ExpectTag(98)) goto parse_syntax;
   1467         break;
   1468       }
   1469 
   1470       // optional string syntax = 12;
   1471       case 12: {
   1472         if (tag == 98) {
   1473          parse_syntax:
   1474           DO_(::google::protobuf::internal::WireFormatLite::ReadString(
   1475                 input, this->mutable_syntax()));
   1476           ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   1477             this->syntax().data(), this->syntax().length(),
   1478             ::google::protobuf::internal::WireFormat::PARSE,
   1479             "google.protobuf.FileDescriptorProto.syntax");
   1480         } else {
   1481           goto handle_unusual;
   1482         }
   1483         if (input->ExpectAtEnd()) goto success;
   1484         break;
   1485       }
   1486 
   1487       default: {
   1488       handle_unusual:
   1489         if (tag == 0 ||
   1490             ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
   1491             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
   1492           goto success;
   1493         }
   1494         DO_(::google::protobuf::internal::WireFormat::SkipField(
   1495               input, tag, mutable_unknown_fields()));
   1496         break;
   1497       }
   1498     }
   1499   }
   1500 success:
   1501   // @@protoc_insertion_point(parse_success:google.protobuf.FileDescriptorProto)
   1502   return true;
   1503 failure:
   1504   // @@protoc_insertion_point(parse_failure:google.protobuf.FileDescriptorProto)
   1505   return false;
   1506 #undef DO_
   1507 }
   1508 
   1509 void FileDescriptorProto::SerializeWithCachedSizes(
   1510     ::google::protobuf::io::CodedOutputStream* output) const {
   1511   // @@protoc_insertion_point(serialize_start:google.protobuf.FileDescriptorProto)
   1512   // optional string name = 1;
   1513   if (has_name()) {
   1514     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   1515       this->name().data(), this->name().length(),
   1516       ::google::protobuf::internal::WireFormat::SERIALIZE,
   1517       "google.protobuf.FileDescriptorProto.name");
   1518     ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
   1519       1, this->name(), output);
   1520   }
   1521 
   1522   // optional string package = 2;
   1523   if (has_package()) {
   1524     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   1525       this->package().data(), this->package().length(),
   1526       ::google::protobuf::internal::WireFormat::SERIALIZE,
   1527       "google.protobuf.FileDescriptorProto.package");
   1528     ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
   1529       2, this->package(), output);
   1530   }
   1531 
   1532   // repeated string dependency = 3;
   1533   for (int i = 0; i < this->dependency_size(); i++) {
   1534     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   1535       this->dependency(i).data(), this->dependency(i).length(),
   1536       ::google::protobuf::internal::WireFormat::SERIALIZE,
   1537       "google.protobuf.FileDescriptorProto.dependency");
   1538     ::google::protobuf::internal::WireFormatLite::WriteString(
   1539       3, this->dependency(i), output);
   1540   }
   1541 
   1542   // repeated .google.protobuf.DescriptorProto message_type = 4;
   1543   for (unsigned int i = 0, n = this->message_type_size(); i < n; i++) {
   1544     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
   1545       4, this->message_type(i), output);
   1546   }
   1547 
   1548   // repeated .google.protobuf.EnumDescriptorProto enum_type = 5;
   1549   for (unsigned int i = 0, n = this->enum_type_size(); i < n; i++) {
   1550     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
   1551       5, this->enum_type(i), output);
   1552   }
   1553 
   1554   // repeated .google.protobuf.ServiceDescriptorProto service = 6;
   1555   for (unsigned int i = 0, n = this->service_size(); i < n; i++) {
   1556     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
   1557       6, this->service(i), output);
   1558   }
   1559 
   1560   // repeated .google.protobuf.FieldDescriptorProto extension = 7;
   1561   for (unsigned int i = 0, n = this->extension_size(); i < n; i++) {
   1562     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
   1563       7, this->extension(i), output);
   1564   }
   1565 
   1566   // optional .google.protobuf.FileOptions options = 8;
   1567   if (has_options()) {
   1568     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
   1569       8, *this->options_, output);
   1570   }
   1571 
   1572   // optional .google.protobuf.SourceCodeInfo source_code_info = 9;
   1573   if (has_source_code_info()) {
   1574     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
   1575       9, *this->source_code_info_, output);
   1576   }
   1577 
   1578   // repeated int32 public_dependency = 10;
   1579   for (int i = 0; i < this->public_dependency_size(); i++) {
   1580     ::google::protobuf::internal::WireFormatLite::WriteInt32(
   1581       10, this->public_dependency(i), output);
   1582   }
   1583 
   1584   // repeated int32 weak_dependency = 11;
   1585   for (int i = 0; i < this->weak_dependency_size(); i++) {
   1586     ::google::protobuf::internal::WireFormatLite::WriteInt32(
   1587       11, this->weak_dependency(i), output);
   1588   }
   1589 
   1590   // optional string syntax = 12;
   1591   if (has_syntax()) {
   1592     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   1593       this->syntax().data(), this->syntax().length(),
   1594       ::google::protobuf::internal::WireFormat::SERIALIZE,
   1595       "google.protobuf.FileDescriptorProto.syntax");
   1596     ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
   1597       12, this->syntax(), output);
   1598   }
   1599 
   1600   if (_internal_metadata_.have_unknown_fields()) {
   1601     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
   1602         unknown_fields(), output);
   1603   }
   1604   // @@protoc_insertion_point(serialize_end:google.protobuf.FileDescriptorProto)
   1605 }
   1606 
   1607 ::google::protobuf::uint8* FileDescriptorProto::SerializeWithCachedSizesToArray(
   1608     ::google::protobuf::uint8* target) const {
   1609   // @@protoc_insertion_point(serialize_to_array_start:google.protobuf.FileDescriptorProto)
   1610   // optional string name = 1;
   1611   if (has_name()) {
   1612     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   1613       this->name().data(), this->name().length(),
   1614       ::google::protobuf::internal::WireFormat::SERIALIZE,
   1615       "google.protobuf.FileDescriptorProto.name");
   1616     target =
   1617       ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
   1618         1, this->name(), target);
   1619   }
   1620 
   1621   // optional string package = 2;
   1622   if (has_package()) {
   1623     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   1624       this->package().data(), this->package().length(),
   1625       ::google::protobuf::internal::WireFormat::SERIALIZE,
   1626       "google.protobuf.FileDescriptorProto.package");
   1627     target =
   1628       ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
   1629         2, this->package(), target);
   1630   }
   1631 
   1632   // repeated string dependency = 3;
   1633   for (int i = 0; i < this->dependency_size(); i++) {
   1634     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   1635       this->dependency(i).data(), this->dependency(i).length(),
   1636       ::google::protobuf::internal::WireFormat::SERIALIZE,
   1637       "google.protobuf.FileDescriptorProto.dependency");
   1638     target = ::google::protobuf::internal::WireFormatLite::
   1639       WriteStringToArray(3, this->dependency(i), target);
   1640   }
   1641 
   1642   // repeated .google.protobuf.DescriptorProto message_type = 4;
   1643   for (unsigned int i = 0, n = this->message_type_size(); i < n; i++) {
   1644     target = ::google::protobuf::internal::WireFormatLite::
   1645       WriteMessageNoVirtualToArray(
   1646         4, this->message_type(i), target);
   1647   }
   1648 
   1649   // repeated .google.protobuf.EnumDescriptorProto enum_type = 5;
   1650   for (unsigned int i = 0, n = this->enum_type_size(); i < n; i++) {
   1651     target = ::google::protobuf::internal::WireFormatLite::
   1652       WriteMessageNoVirtualToArray(
   1653         5, this->enum_type(i), target);
   1654   }
   1655 
   1656   // repeated .google.protobuf.ServiceDescriptorProto service = 6;
   1657   for (unsigned int i = 0, n = this->service_size(); i < n; i++) {
   1658     target = ::google::protobuf::internal::WireFormatLite::
   1659       WriteMessageNoVirtualToArray(
   1660         6, this->service(i), target);
   1661   }
   1662 
   1663   // repeated .google.protobuf.FieldDescriptorProto extension = 7;
   1664   for (unsigned int i = 0, n = this->extension_size(); i < n; i++) {
   1665     target = ::google::protobuf::internal::WireFormatLite::
   1666       WriteMessageNoVirtualToArray(
   1667         7, this->extension(i), target);
   1668   }
   1669 
   1670   // optional .google.protobuf.FileOptions options = 8;
   1671   if (has_options()) {
   1672     target = ::google::protobuf::internal::WireFormatLite::
   1673       WriteMessageNoVirtualToArray(
   1674         8, *this->options_, target);
   1675   }
   1676 
   1677   // optional .google.protobuf.SourceCodeInfo source_code_info = 9;
   1678   if (has_source_code_info()) {
   1679     target = ::google::protobuf::internal::WireFormatLite::
   1680       WriteMessageNoVirtualToArray(
   1681         9, *this->source_code_info_, target);
   1682   }
   1683 
   1684   // repeated int32 public_dependency = 10;
   1685   for (int i = 0; i < this->public_dependency_size(); i++) {
   1686     target = ::google::protobuf::internal::WireFormatLite::
   1687       WriteInt32ToArray(10, this->public_dependency(i), target);
   1688   }
   1689 
   1690   // repeated int32 weak_dependency = 11;
   1691   for (int i = 0; i < this->weak_dependency_size(); i++) {
   1692     target = ::google::protobuf::internal::WireFormatLite::
   1693       WriteInt32ToArray(11, this->weak_dependency(i), target);
   1694   }
   1695 
   1696   // optional string syntax = 12;
   1697   if (has_syntax()) {
   1698     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   1699       this->syntax().data(), this->syntax().length(),
   1700       ::google::protobuf::internal::WireFormat::SERIALIZE,
   1701       "google.protobuf.FileDescriptorProto.syntax");
   1702     target =
   1703       ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
   1704         12, this->syntax(), target);
   1705   }
   1706 
   1707   if (_internal_metadata_.have_unknown_fields()) {
   1708     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
   1709         unknown_fields(), target);
   1710   }
   1711   // @@protoc_insertion_point(serialize_to_array_end:google.protobuf.FileDescriptorProto)
   1712   return target;
   1713 }
   1714 
   1715 int FileDescriptorProto::ByteSize() const {
   1716 // @@protoc_insertion_point(message_byte_size_start:google.protobuf.FileDescriptorProto)
   1717   int total_size = 0;
   1718 
   1719   if (_has_bits_[0 / 32] & 3u) {
   1720     // optional string name = 1;
   1721     if (has_name()) {
   1722       total_size += 1 +
   1723         ::google::protobuf::internal::WireFormatLite::StringSize(
   1724           this->name());
   1725     }
   1726 
   1727     // optional string package = 2;
   1728     if (has_package()) {
   1729       total_size += 1 +
   1730         ::google::protobuf::internal::WireFormatLite::StringSize(
   1731           this->package());
   1732     }
   1733 
   1734   }
   1735   if (_has_bits_[9 / 32] & 3584u) {
   1736     // optional .google.protobuf.FileOptions options = 8;
   1737     if (has_options()) {
   1738       total_size += 1 +
   1739         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
   1740           *this->options_);
   1741     }
   1742 
   1743     // optional .google.protobuf.SourceCodeInfo source_code_info = 9;
   1744     if (has_source_code_info()) {
   1745       total_size += 1 +
   1746         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
   1747           *this->source_code_info_);
   1748     }
   1749 
   1750     // optional string syntax = 12;
   1751     if (has_syntax()) {
   1752       total_size += 1 +
   1753         ::google::protobuf::internal::WireFormatLite::StringSize(
   1754           this->syntax());
   1755     }
   1756 
   1757   }
   1758   // repeated string dependency = 3;
   1759   total_size += 1 * this->dependency_size();
   1760   for (int i = 0; i < this->dependency_size(); i++) {
   1761     total_size += ::google::protobuf::internal::WireFormatLite::StringSize(
   1762       this->dependency(i));
   1763   }
   1764 
   1765   // repeated int32 public_dependency = 10;
   1766   {
   1767     int data_size = 0;
   1768     for (int i = 0; i < this->public_dependency_size(); i++) {
   1769       data_size += ::google::protobuf::internal::WireFormatLite::
   1770         Int32Size(this->public_dependency(i));
   1771     }
   1772     total_size += 1 * this->public_dependency_size() + data_size;
   1773   }
   1774 
   1775   // repeated int32 weak_dependency = 11;
   1776   {
   1777     int data_size = 0;
   1778     for (int i = 0; i < this->weak_dependency_size(); i++) {
   1779       data_size += ::google::protobuf::internal::WireFormatLite::
   1780         Int32Size(this->weak_dependency(i));
   1781     }
   1782     total_size += 1 * this->weak_dependency_size() + data_size;
   1783   }
   1784 
   1785   // repeated .google.protobuf.DescriptorProto message_type = 4;
   1786   total_size += 1 * this->message_type_size();
   1787   for (int i = 0; i < this->message_type_size(); i++) {
   1788     total_size +=
   1789       ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
   1790         this->message_type(i));
   1791   }
   1792 
   1793   // repeated .google.protobuf.EnumDescriptorProto enum_type = 5;
   1794   total_size += 1 * this->enum_type_size();
   1795   for (int i = 0; i < this->enum_type_size(); i++) {
   1796     total_size +=
   1797       ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
   1798         this->enum_type(i));
   1799   }
   1800 
   1801   // repeated .google.protobuf.ServiceDescriptorProto service = 6;
   1802   total_size += 1 * this->service_size();
   1803   for (int i = 0; i < this->service_size(); i++) {
   1804     total_size +=
   1805       ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
   1806         this->service(i));
   1807   }
   1808 
   1809   // repeated .google.protobuf.FieldDescriptorProto extension = 7;
   1810   total_size += 1 * this->extension_size();
   1811   for (int i = 0; i < this->extension_size(); i++) {
   1812     total_size +=
   1813       ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
   1814         this->extension(i));
   1815   }
   1816 
   1817   if (_internal_metadata_.have_unknown_fields()) {
   1818     total_size +=
   1819       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
   1820         unknown_fields());
   1821   }
   1822   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   1823   _cached_size_ = total_size;
   1824   GOOGLE_SAFE_CONCURRENT_WRITES_END();
   1825   return total_size;
   1826 }
   1827 
   1828 void FileDescriptorProto::MergeFrom(const ::google::protobuf::Message& from) {
   1829 // @@protoc_insertion_point(generalized_merge_from_start:google.protobuf.FileDescriptorProto)
   1830   if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
   1831   const FileDescriptorProto* source =
   1832       ::google::protobuf::internal::DynamicCastToGenerated<const FileDescriptorProto>(
   1833           &from);
   1834   if (source == NULL) {
   1835   // @@protoc_insertion_point(generalized_merge_from_cast_fail:google.protobuf.FileDescriptorProto)
   1836     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
   1837   } else {
   1838   // @@protoc_insertion_point(generalized_merge_from_cast_success:google.protobuf.FileDescriptorProto)
   1839     MergeFrom(*source);
   1840   }
   1841 }
   1842 
   1843 void FileDescriptorProto::MergeFrom(const FileDescriptorProto& from) {
   1844 // @@protoc_insertion_point(class_specific_merge_from_start:google.protobuf.FileDescriptorProto)
   1845   if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
   1846   dependency_.MergeFrom(from.dependency_);
   1847   public_dependency_.MergeFrom(from.public_dependency_);
   1848   weak_dependency_.MergeFrom(from.weak_dependency_);
   1849   message_type_.MergeFrom(from.message_type_);
   1850   enum_type_.MergeFrom(from.enum_type_);
   1851   service_.MergeFrom(from.service_);
   1852   extension_.MergeFrom(from.extension_);
   1853   if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
   1854     if (from.has_name()) {
   1855       set_has_name();
   1856       name_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.name_);
   1857     }
   1858     if (from.has_package()) {
   1859       set_has_package();
   1860       package_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.package_);
   1861     }
   1862   }
   1863   if (from._has_bits_[9 / 32] & (0xffu << (9 % 32))) {
   1864     if (from.has_options()) {
   1865       mutable_options()->::google::protobuf::FileOptions::MergeFrom(from.options());
   1866     }
   1867     if (from.has_source_code_info()) {
   1868       mutable_source_code_info()->::google::protobuf::SourceCodeInfo::MergeFrom(from.source_code_info());
   1869     }
   1870     if (from.has_syntax()) {
   1871       set_has_syntax();
   1872       syntax_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.syntax_);
   1873     }
   1874   }
   1875   if (from._internal_metadata_.have_unknown_fields()) {
   1876     mutable_unknown_fields()->MergeFrom(from.unknown_fields());
   1877   }
   1878 }
   1879 
   1880 void FileDescriptorProto::CopyFrom(const ::google::protobuf::Message& from) {
   1881 // @@protoc_insertion_point(generalized_copy_from_start:google.protobuf.FileDescriptorProto)
   1882   if (&from == this) return;
   1883   Clear();
   1884   MergeFrom(from);
   1885 }
   1886 
   1887 void FileDescriptorProto::CopyFrom(const FileDescriptorProto& from) {
   1888 // @@protoc_insertion_point(class_specific_copy_from_start:google.protobuf.FileDescriptorProto)
   1889   if (&from == this) return;
   1890   Clear();
   1891   MergeFrom(from);
   1892 }
   1893 
   1894 bool FileDescriptorProto::IsInitialized() const {
   1895 
   1896   if (!::google::protobuf::internal::AllAreInitialized(this->message_type())) return false;
   1897   if (!::google::protobuf::internal::AllAreInitialized(this->enum_type())) return false;
   1898   if (!::google::protobuf::internal::AllAreInitialized(this->service())) return false;
   1899   if (!::google::protobuf::internal::AllAreInitialized(this->extension())) return false;
   1900   if (has_options()) {
   1901     if (!this->options_->IsInitialized()) return false;
   1902   }
   1903   return true;
   1904 }
   1905 
   1906 void FileDescriptorProto::Swap(FileDescriptorProto* other) {
   1907   if (other == this) return;
   1908   InternalSwap(other);
   1909 }
   1910 void FileDescriptorProto::InternalSwap(FileDescriptorProto* other) {
   1911   name_.Swap(&other->name_);
   1912   package_.Swap(&other->package_);
   1913   dependency_.UnsafeArenaSwap(&other->dependency_);
   1914   public_dependency_.UnsafeArenaSwap(&other->public_dependency_);
   1915   weak_dependency_.UnsafeArenaSwap(&other->weak_dependency_);
   1916   message_type_.UnsafeArenaSwap(&other->message_type_);
   1917   enum_type_.UnsafeArenaSwap(&other->enum_type_);
   1918   service_.UnsafeArenaSwap(&other->service_);
   1919   extension_.UnsafeArenaSwap(&other->extension_);
   1920   std::swap(options_, other->options_);
   1921   std::swap(source_code_info_, other->source_code_info_);
   1922   syntax_.Swap(&other->syntax_);
   1923   std::swap(_has_bits_[0], other->_has_bits_[0]);
   1924   _internal_metadata_.Swap(&other->_internal_metadata_);
   1925   std::swap(_cached_size_, other->_cached_size_);
   1926 }
   1927 
   1928 ::google::protobuf::Metadata FileDescriptorProto::GetMetadata() const {
   1929   protobuf_AssignDescriptorsOnce();
   1930   ::google::protobuf::Metadata metadata;
   1931   metadata.descriptor = FileDescriptorProto_descriptor_;
   1932   metadata.reflection = FileDescriptorProto_reflection_;
   1933   return metadata;
   1934 }
   1935 
   1936 #if PROTOBUF_INLINE_NOT_IN_HEADERS
   1937 // FileDescriptorProto
   1938 
   1939 // optional string name = 1;
   1940 bool FileDescriptorProto::has_name() const {
   1941   return (_has_bits_[0] & 0x00000001u) != 0;
   1942 }
   1943 void FileDescriptorProto::set_has_name() {
   1944   _has_bits_[0] |= 0x00000001u;
   1945 }
   1946 void FileDescriptorProto::clear_has_name() {
   1947   _has_bits_[0] &= ~0x00000001u;
   1948 }
   1949 void FileDescriptorProto::clear_name() {
   1950   name_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   1951   clear_has_name();
   1952 }
   1953  const ::std::string& FileDescriptorProto::name() const {
   1954   // @@protoc_insertion_point(field_get:google.protobuf.FileDescriptorProto.name)
   1955   return name_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   1956 }
   1957  void FileDescriptorProto::set_name(const ::std::string& value) {
   1958   set_has_name();
   1959   name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
   1960   // @@protoc_insertion_point(field_set:google.protobuf.FileDescriptorProto.name)
   1961 }
   1962  void FileDescriptorProto::set_name(const char* value) {
   1963   set_has_name();
   1964   name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
   1965   // @@protoc_insertion_point(field_set_char:google.protobuf.FileDescriptorProto.name)
   1966 }
   1967  void FileDescriptorProto::set_name(const char* value, size_t size) {
   1968   set_has_name();
   1969   name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
   1970       ::std::string(reinterpret_cast<const char*>(value), size));
   1971   // @@protoc_insertion_point(field_set_pointer:google.protobuf.FileDescriptorProto.name)
   1972 }
   1973  ::std::string* FileDescriptorProto::mutable_name() {
   1974   set_has_name();
   1975   // @@protoc_insertion_point(field_mutable:google.protobuf.FileDescriptorProto.name)
   1976   return name_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   1977 }
   1978  ::std::string* FileDescriptorProto::release_name() {
   1979   // @@protoc_insertion_point(field_release:google.protobuf.FileDescriptorProto.name)
   1980   clear_has_name();
   1981   return name_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   1982 }
   1983  void FileDescriptorProto::set_allocated_name(::std::string* name) {
   1984   if (name != NULL) {
   1985     set_has_name();
   1986   } else {
   1987     clear_has_name();
   1988   }
   1989   name_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), name);
   1990   // @@protoc_insertion_point(field_set_allocated:google.protobuf.FileDescriptorProto.name)
   1991 }
   1992 
   1993 // optional string package = 2;
   1994 bool FileDescriptorProto::has_package() const {
   1995   return (_has_bits_[0] & 0x00000002u) != 0;
   1996 }
   1997 void FileDescriptorProto::set_has_package() {
   1998   _has_bits_[0] |= 0x00000002u;
   1999 }
   2000 void FileDescriptorProto::clear_has_package() {
   2001   _has_bits_[0] &= ~0x00000002u;
   2002 }
   2003 void FileDescriptorProto::clear_package() {
   2004   package_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   2005   clear_has_package();
   2006 }
   2007  const ::std::string& FileDescriptorProto::package() const {
   2008   // @@protoc_insertion_point(field_get:google.protobuf.FileDescriptorProto.package)
   2009   return package_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   2010 }
   2011  void FileDescriptorProto::set_package(const ::std::string& value) {
   2012   set_has_package();
   2013   package_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
   2014   // @@protoc_insertion_point(field_set:google.protobuf.FileDescriptorProto.package)
   2015 }
   2016  void FileDescriptorProto::set_package(const char* value) {
   2017   set_has_package();
   2018   package_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
   2019   // @@protoc_insertion_point(field_set_char:google.protobuf.FileDescriptorProto.package)
   2020 }
   2021  void FileDescriptorProto::set_package(const char* value, size_t size) {
   2022   set_has_package();
   2023   package_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
   2024       ::std::string(reinterpret_cast<const char*>(value), size));
   2025   // @@protoc_insertion_point(field_set_pointer:google.protobuf.FileDescriptorProto.package)
   2026 }
   2027  ::std::string* FileDescriptorProto::mutable_package() {
   2028   set_has_package();
   2029   // @@protoc_insertion_point(field_mutable:google.protobuf.FileDescriptorProto.package)
   2030   return package_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   2031 }
   2032  ::std::string* FileDescriptorProto::release_package() {
   2033   // @@protoc_insertion_point(field_release:google.protobuf.FileDescriptorProto.package)
   2034   clear_has_package();
   2035   return package_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   2036 }
   2037  void FileDescriptorProto::set_allocated_package(::std::string* package) {
   2038   if (package != NULL) {
   2039     set_has_package();
   2040   } else {
   2041     clear_has_package();
   2042   }
   2043   package_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), package);
   2044   // @@protoc_insertion_point(field_set_allocated:google.protobuf.FileDescriptorProto.package)
   2045 }
   2046 
   2047 // repeated string dependency = 3;
   2048 int FileDescriptorProto::dependency_size() const {
   2049   return dependency_.size();
   2050 }
   2051 void FileDescriptorProto::clear_dependency() {
   2052   dependency_.Clear();
   2053 }
   2054  const ::std::string& FileDescriptorProto::dependency(int index) const {
   2055   // @@protoc_insertion_point(field_get:google.protobuf.FileDescriptorProto.dependency)
   2056   return dependency_.Get(index);
   2057 }
   2058  ::std::string* FileDescriptorProto::mutable_dependency(int index) {
   2059   // @@protoc_insertion_point(field_mutable:google.protobuf.FileDescriptorProto.dependency)
   2060   return dependency_.Mutable(index);
   2061 }
   2062  void FileDescriptorProto::set_dependency(int index, const ::std::string& value) {
   2063   // @@protoc_insertion_point(field_set:google.protobuf.FileDescriptorProto.dependency)
   2064   dependency_.Mutable(index)->assign(value);
   2065 }
   2066  void FileDescriptorProto::set_dependency(int index, const char* value) {
   2067   dependency_.Mutable(index)->assign(value);
   2068   // @@protoc_insertion_point(field_set_char:google.protobuf.FileDescriptorProto.dependency)
   2069 }
   2070  void FileDescriptorProto::set_dependency(int index, const char* value, size_t size) {
   2071   dependency_.Mutable(index)->assign(
   2072     reinterpret_cast<const char*>(value), size);
   2073   // @@protoc_insertion_point(field_set_pointer:google.protobuf.FileDescriptorProto.dependency)
   2074 }
   2075  ::std::string* FileDescriptorProto::add_dependency() {
   2076   // @@protoc_insertion_point(field_add_mutable:google.protobuf.FileDescriptorProto.dependency)
   2077   return dependency_.Add();
   2078 }
   2079  void FileDescriptorProto::add_dependency(const ::std::string& value) {
   2080   dependency_.Add()->assign(value);
   2081   // @@protoc_insertion_point(field_add:google.protobuf.FileDescriptorProto.dependency)
   2082 }
   2083  void FileDescriptorProto::add_dependency(const char* value) {
   2084   dependency_.Add()->assign(value);
   2085   // @@protoc_insertion_point(field_add_char:google.protobuf.FileDescriptorProto.dependency)
   2086 }
   2087  void FileDescriptorProto::add_dependency(const char* value, size_t size) {
   2088   dependency_.Add()->assign(reinterpret_cast<const char*>(value), size);
   2089   // @@protoc_insertion_point(field_add_pointer:google.protobuf.FileDescriptorProto.dependency)
   2090 }
   2091  const ::google::protobuf::RepeatedPtrField< ::std::string>&
   2092 FileDescriptorProto::dependency() const {
   2093   // @@protoc_insertion_point(field_list:google.protobuf.FileDescriptorProto.dependency)
   2094   return dependency_;
   2095 }
   2096  ::google::protobuf::RepeatedPtrField< ::std::string>*
   2097 FileDescriptorProto::mutable_dependency() {
   2098   // @@protoc_insertion_point(field_mutable_list:google.protobuf.FileDescriptorProto.dependency)
   2099   return &dependency_;
   2100 }
   2101 
   2102 // repeated int32 public_dependency = 10;
   2103 int FileDescriptorProto::public_dependency_size() const {
   2104   return public_dependency_.size();
   2105 }
   2106 void FileDescriptorProto::clear_public_dependency() {
   2107   public_dependency_.Clear();
   2108 }
   2109  ::google::protobuf::int32 FileDescriptorProto::public_dependency(int index) const {
   2110   // @@protoc_insertion_point(field_get:google.protobuf.FileDescriptorProto.public_dependency)
   2111   return public_dependency_.Get(index);
   2112 }
   2113  void FileDescriptorProto::set_public_dependency(int index, ::google::protobuf::int32 value) {
   2114   public_dependency_.Set(index, value);
   2115   // @@protoc_insertion_point(field_set:google.protobuf.FileDescriptorProto.public_dependency)
   2116 }
   2117  void FileDescriptorProto::add_public_dependency(::google::protobuf::int32 value) {
   2118   public_dependency_.Add(value);
   2119   // @@protoc_insertion_point(field_add:google.protobuf.FileDescriptorProto.public_dependency)
   2120 }
   2121  const ::google::protobuf::RepeatedField< ::google::protobuf::int32 >&
   2122 FileDescriptorProto::public_dependency() const {
   2123   // @@protoc_insertion_point(field_list:google.protobuf.FileDescriptorProto.public_dependency)
   2124   return public_dependency_;
   2125 }
   2126  ::google::protobuf::RepeatedField< ::google::protobuf::int32 >*
   2127 FileDescriptorProto::mutable_public_dependency() {
   2128   // @@protoc_insertion_point(field_mutable_list:google.protobuf.FileDescriptorProto.public_dependency)
   2129   return &public_dependency_;
   2130 }
   2131 
   2132 // repeated int32 weak_dependency = 11;
   2133 int FileDescriptorProto::weak_dependency_size() const {
   2134   return weak_dependency_.size();
   2135 }
   2136 void FileDescriptorProto::clear_weak_dependency() {
   2137   weak_dependency_.Clear();
   2138 }
   2139  ::google::protobuf::int32 FileDescriptorProto::weak_dependency(int index) const {
   2140   // @@protoc_insertion_point(field_get:google.protobuf.FileDescriptorProto.weak_dependency)
   2141   return weak_dependency_.Get(index);
   2142 }
   2143  void FileDescriptorProto::set_weak_dependency(int index, ::google::protobuf::int32 value) {
   2144   weak_dependency_.Set(index, value);
   2145   // @@protoc_insertion_point(field_set:google.protobuf.FileDescriptorProto.weak_dependency)
   2146 }
   2147  void FileDescriptorProto::add_weak_dependency(::google::protobuf::int32 value) {
   2148   weak_dependency_.Add(value);
   2149   // @@protoc_insertion_point(field_add:google.protobuf.FileDescriptorProto.weak_dependency)
   2150 }
   2151  const ::google::protobuf::RepeatedField< ::google::protobuf::int32 >&
   2152 FileDescriptorProto::weak_dependency() const {
   2153   // @@protoc_insertion_point(field_list:google.protobuf.FileDescriptorProto.weak_dependency)
   2154   return weak_dependency_;
   2155 }
   2156  ::google::protobuf::RepeatedField< ::google::protobuf::int32 >*
   2157 FileDescriptorProto::mutable_weak_dependency() {
   2158   // @@protoc_insertion_point(field_mutable_list:google.protobuf.FileDescriptorProto.weak_dependency)
   2159   return &weak_dependency_;
   2160 }
   2161 
   2162 // repeated .google.protobuf.DescriptorProto message_type = 4;
   2163 int FileDescriptorProto::message_type_size() const {
   2164   return message_type_.size();
   2165 }
   2166 void FileDescriptorProto::clear_message_type() {
   2167   message_type_.Clear();
   2168 }
   2169 const ::google::protobuf::DescriptorProto& FileDescriptorProto::message_type(int index) const {
   2170   // @@protoc_insertion_point(field_get:google.protobuf.FileDescriptorProto.message_type)
   2171   return message_type_.Get(index);
   2172 }
   2173 ::google::protobuf::DescriptorProto* FileDescriptorProto::mutable_message_type(int index) {
   2174   // @@protoc_insertion_point(field_mutable:google.protobuf.FileDescriptorProto.message_type)
   2175   return message_type_.Mutable(index);
   2176 }
   2177 ::google::protobuf::DescriptorProto* FileDescriptorProto::add_message_type() {
   2178   // @@protoc_insertion_point(field_add:google.protobuf.FileDescriptorProto.message_type)
   2179   return message_type_.Add();
   2180 }
   2181 ::google::protobuf::RepeatedPtrField< ::google::protobuf::DescriptorProto >*
   2182 FileDescriptorProto::mutable_message_type() {
   2183   // @@protoc_insertion_point(field_mutable_list:google.protobuf.FileDescriptorProto.message_type)
   2184   return &message_type_;
   2185 }
   2186 const ::google::protobuf::RepeatedPtrField< ::google::protobuf::DescriptorProto >&
   2187 FileDescriptorProto::message_type() const {
   2188   // @@protoc_insertion_point(field_list:google.protobuf.FileDescriptorProto.message_type)
   2189   return message_type_;
   2190 }
   2191 
   2192 // repeated .google.protobuf.EnumDescriptorProto enum_type = 5;
   2193 int FileDescriptorProto::enum_type_size() const {
   2194   return enum_type_.size();
   2195 }
   2196 void FileDescriptorProto::clear_enum_type() {
   2197   enum_type_.Clear();
   2198 }
   2199 const ::google::protobuf::EnumDescriptorProto& FileDescriptorProto::enum_type(int index) const {
   2200   // @@protoc_insertion_point(field_get:google.protobuf.FileDescriptorProto.enum_type)
   2201   return enum_type_.Get(index);
   2202 }
   2203 ::google::protobuf::EnumDescriptorProto* FileDescriptorProto::mutable_enum_type(int index) {
   2204   // @@protoc_insertion_point(field_mutable:google.protobuf.FileDescriptorProto.enum_type)
   2205   return enum_type_.Mutable(index);
   2206 }
   2207 ::google::protobuf::EnumDescriptorProto* FileDescriptorProto::add_enum_type() {
   2208   // @@protoc_insertion_point(field_add:google.protobuf.FileDescriptorProto.enum_type)
   2209   return enum_type_.Add();
   2210 }
   2211 ::google::protobuf::RepeatedPtrField< ::google::protobuf::EnumDescriptorProto >*
   2212 FileDescriptorProto::mutable_enum_type() {
   2213   // @@protoc_insertion_point(field_mutable_list:google.protobuf.FileDescriptorProto.enum_type)
   2214   return &enum_type_;
   2215 }
   2216 const ::google::protobuf::RepeatedPtrField< ::google::protobuf::EnumDescriptorProto >&
   2217 FileDescriptorProto::enum_type() const {
   2218   // @@protoc_insertion_point(field_list:google.protobuf.FileDescriptorProto.enum_type)
   2219   return enum_type_;
   2220 }
   2221 
   2222 // repeated .google.protobuf.ServiceDescriptorProto service = 6;
   2223 int FileDescriptorProto::service_size() const {
   2224   return service_.size();
   2225 }
   2226 void FileDescriptorProto::clear_service() {
   2227   service_.Clear();
   2228 }
   2229 const ::google::protobuf::ServiceDescriptorProto& FileDescriptorProto::service(int index) const {
   2230   // @@protoc_insertion_point(field_get:google.protobuf.FileDescriptorProto.service)
   2231   return service_.Get(index);
   2232 }
   2233 ::google::protobuf::ServiceDescriptorProto* FileDescriptorProto::mutable_service(int index) {
   2234   // @@protoc_insertion_point(field_mutable:google.protobuf.FileDescriptorProto.service)
   2235   return service_.Mutable(index);
   2236 }
   2237 ::google::protobuf::ServiceDescriptorProto* FileDescriptorProto::add_service() {
   2238   // @@protoc_insertion_point(field_add:google.protobuf.FileDescriptorProto.service)
   2239   return service_.Add();
   2240 }
   2241 ::google::protobuf::RepeatedPtrField< ::google::protobuf::ServiceDescriptorProto >*
   2242 FileDescriptorProto::mutable_service() {
   2243   // @@protoc_insertion_point(field_mutable_list:google.protobuf.FileDescriptorProto.service)
   2244   return &service_;
   2245 }
   2246 const ::google::protobuf::RepeatedPtrField< ::google::protobuf::ServiceDescriptorProto >&
   2247 FileDescriptorProto::service() const {
   2248   // @@protoc_insertion_point(field_list:google.protobuf.FileDescriptorProto.service)
   2249   return service_;
   2250 }
   2251 
   2252 // repeated .google.protobuf.FieldDescriptorProto extension = 7;
   2253 int FileDescriptorProto::extension_size() const {
   2254   return extension_.size();
   2255 }
   2256 void FileDescriptorProto::clear_extension() {
   2257   extension_.Clear();
   2258 }
   2259 const ::google::protobuf::FieldDescriptorProto& FileDescriptorProto::extension(int index) const {
   2260   // @@protoc_insertion_point(field_get:google.protobuf.FileDescriptorProto.extension)
   2261   return extension_.Get(index);
   2262 }
   2263 ::google::protobuf::FieldDescriptorProto* FileDescriptorProto::mutable_extension(int index) {
   2264   // @@protoc_insertion_point(field_mutable:google.protobuf.FileDescriptorProto.extension)
   2265   return extension_.Mutable(index);
   2266 }
   2267 ::google::protobuf::FieldDescriptorProto* FileDescriptorProto::add_extension() {
   2268   // @@protoc_insertion_point(field_add:google.protobuf.FileDescriptorProto.extension)
   2269   return extension_.Add();
   2270 }
   2271 ::google::protobuf::RepeatedPtrField< ::google::protobuf::FieldDescriptorProto >*
   2272 FileDescriptorProto::mutable_extension() {
   2273   // @@protoc_insertion_point(field_mutable_list:google.protobuf.FileDescriptorProto.extension)
   2274   return &extension_;
   2275 }
   2276 const ::google::protobuf::RepeatedPtrField< ::google::protobuf::FieldDescriptorProto >&
   2277 FileDescriptorProto::extension() const {
   2278   // @@protoc_insertion_point(field_list:google.protobuf.FileDescriptorProto.extension)
   2279   return extension_;
   2280 }
   2281 
   2282 // optional .google.protobuf.FileOptions options = 8;
   2283 bool FileDescriptorProto::has_options() const {
   2284   return (_has_bits_[0] & 0x00000200u) != 0;
   2285 }
   2286 void FileDescriptorProto::set_has_options() {
   2287   _has_bits_[0] |= 0x00000200u;
   2288 }
   2289 void FileDescriptorProto::clear_has_options() {
   2290   _has_bits_[0] &= ~0x00000200u;
   2291 }
   2292 void FileDescriptorProto::clear_options() {
   2293   if (options_ != NULL) options_->::google::protobuf::FileOptions::Clear();
   2294   clear_has_options();
   2295 }
   2296 const ::google::protobuf::FileOptions& FileDescriptorProto::options() const {
   2297   // @@protoc_insertion_point(field_get:google.protobuf.FileDescriptorProto.options)
   2298   return options_ != NULL ? *options_ : *default_instance_->options_;
   2299 }
   2300 ::google::protobuf::FileOptions* FileDescriptorProto::mutable_options() {
   2301   set_has_options();
   2302   if (options_ == NULL) {
   2303     options_ = new ::google::protobuf::FileOptions;
   2304   }
   2305   // @@protoc_insertion_point(field_mutable:google.protobuf.FileDescriptorProto.options)
   2306   return options_;
   2307 }
   2308 ::google::protobuf::FileOptions* FileDescriptorProto::release_options() {
   2309   // @@protoc_insertion_point(field_release:google.protobuf.FileDescriptorProto.options)
   2310   clear_has_options();
   2311   ::google::protobuf::FileOptions* temp = options_;
   2312   options_ = NULL;
   2313   return temp;
   2314 }
   2315 void FileDescriptorProto::set_allocated_options(::google::protobuf::FileOptions* options) {
   2316   delete options_;
   2317   options_ = options;
   2318   if (options) {
   2319     set_has_options();
   2320   } else {
   2321     clear_has_options();
   2322   }
   2323   // @@protoc_insertion_point(field_set_allocated:google.protobuf.FileDescriptorProto.options)
   2324 }
   2325 
   2326 // optional .google.protobuf.SourceCodeInfo source_code_info = 9;
   2327 bool FileDescriptorProto::has_source_code_info() const {
   2328   return (_has_bits_[0] & 0x00000400u) != 0;
   2329 }
   2330 void FileDescriptorProto::set_has_source_code_info() {
   2331   _has_bits_[0] |= 0x00000400u;
   2332 }
   2333 void FileDescriptorProto::clear_has_source_code_info() {
   2334   _has_bits_[0] &= ~0x00000400u;
   2335 }
   2336 void FileDescriptorProto::clear_source_code_info() {
   2337   if (source_code_info_ != NULL) source_code_info_->::google::protobuf::SourceCodeInfo::Clear();
   2338   clear_has_source_code_info();
   2339 }
   2340 const ::google::protobuf::SourceCodeInfo& FileDescriptorProto::source_code_info() const {
   2341   // @@protoc_insertion_point(field_get:google.protobuf.FileDescriptorProto.source_code_info)
   2342   return source_code_info_ != NULL ? *source_code_info_ : *default_instance_->source_code_info_;
   2343 }
   2344 ::google::protobuf::SourceCodeInfo* FileDescriptorProto::mutable_source_code_info() {
   2345   set_has_source_code_info();
   2346   if (source_code_info_ == NULL) {
   2347     source_code_info_ = new ::google::protobuf::SourceCodeInfo;
   2348   }
   2349   // @@protoc_insertion_point(field_mutable:google.protobuf.FileDescriptorProto.source_code_info)
   2350   return source_code_info_;
   2351 }
   2352 ::google::protobuf::SourceCodeInfo* FileDescriptorProto::release_source_code_info() {
   2353   // @@protoc_insertion_point(field_release:google.protobuf.FileDescriptorProto.source_code_info)
   2354   clear_has_source_code_info();
   2355   ::google::protobuf::SourceCodeInfo* temp = source_code_info_;
   2356   source_code_info_ = NULL;
   2357   return temp;
   2358 }
   2359 void FileDescriptorProto::set_allocated_source_code_info(::google::protobuf::SourceCodeInfo* source_code_info) {
   2360   delete source_code_info_;
   2361   source_code_info_ = source_code_info;
   2362   if (source_code_info) {
   2363     set_has_source_code_info();
   2364   } else {
   2365     clear_has_source_code_info();
   2366   }
   2367   // @@protoc_insertion_point(field_set_allocated:google.protobuf.FileDescriptorProto.source_code_info)
   2368 }
   2369 
   2370 // optional string syntax = 12;
   2371 bool FileDescriptorProto::has_syntax() const {
   2372   return (_has_bits_[0] & 0x00000800u) != 0;
   2373 }
   2374 void FileDescriptorProto::set_has_syntax() {
   2375   _has_bits_[0] |= 0x00000800u;
   2376 }
   2377 void FileDescriptorProto::clear_has_syntax() {
   2378   _has_bits_[0] &= ~0x00000800u;
   2379 }
   2380 void FileDescriptorProto::clear_syntax() {
   2381   syntax_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   2382   clear_has_syntax();
   2383 }
   2384  const ::std::string& FileDescriptorProto::syntax() const {
   2385   // @@protoc_insertion_point(field_get:google.protobuf.FileDescriptorProto.syntax)
   2386   return syntax_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   2387 }
   2388  void FileDescriptorProto::set_syntax(const ::std::string& value) {
   2389   set_has_syntax();
   2390   syntax_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
   2391   // @@protoc_insertion_point(field_set:google.protobuf.FileDescriptorProto.syntax)
   2392 }
   2393  void FileDescriptorProto::set_syntax(const char* value) {
   2394   set_has_syntax();
   2395   syntax_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
   2396   // @@protoc_insertion_point(field_set_char:google.protobuf.FileDescriptorProto.syntax)
   2397 }
   2398  void FileDescriptorProto::set_syntax(const char* value, size_t size) {
   2399   set_has_syntax();
   2400   syntax_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
   2401       ::std::string(reinterpret_cast<const char*>(value), size));
   2402   // @@protoc_insertion_point(field_set_pointer:google.protobuf.FileDescriptorProto.syntax)
   2403 }
   2404  ::std::string* FileDescriptorProto::mutable_syntax() {
   2405   set_has_syntax();
   2406   // @@protoc_insertion_point(field_mutable:google.protobuf.FileDescriptorProto.syntax)
   2407   return syntax_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   2408 }
   2409  ::std::string* FileDescriptorProto::release_syntax() {
   2410   // @@protoc_insertion_point(field_release:google.protobuf.FileDescriptorProto.syntax)
   2411   clear_has_syntax();
   2412   return syntax_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   2413 }
   2414  void FileDescriptorProto::set_allocated_syntax(::std::string* syntax) {
   2415   if (syntax != NULL) {
   2416     set_has_syntax();
   2417   } else {
   2418     clear_has_syntax();
   2419   }
   2420   syntax_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), syntax);
   2421   // @@protoc_insertion_point(field_set_allocated:google.protobuf.FileDescriptorProto.syntax)
   2422 }
   2423 
   2424 #endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
   2425 
   2426 // ===================================================================
   2427 
   2428 #if !defined(_MSC_VER) || _MSC_VER >= 1900
   2429 const int DescriptorProto_ExtensionRange::kStartFieldNumber;
   2430 const int DescriptorProto_ExtensionRange::kEndFieldNumber;
   2431 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
   2432 
   2433 DescriptorProto_ExtensionRange::DescriptorProto_ExtensionRange()
   2434   : ::google::protobuf::Message(), _internal_metadata_(NULL) {
   2435   SharedCtor();
   2436   // @@protoc_insertion_point(constructor:google.protobuf.DescriptorProto.ExtensionRange)
   2437 }
   2438 
   2439 void DescriptorProto_ExtensionRange::InitAsDefaultInstance() {
   2440 }
   2441 
   2442 DescriptorProto_ExtensionRange::DescriptorProto_ExtensionRange(const DescriptorProto_ExtensionRange& from)
   2443   : ::google::protobuf::Message(),
   2444     _internal_metadata_(NULL) {
   2445   SharedCtor();
   2446   MergeFrom(from);
   2447   // @@protoc_insertion_point(copy_constructor:google.protobuf.DescriptorProto.ExtensionRange)
   2448 }
   2449 
   2450 void DescriptorProto_ExtensionRange::SharedCtor() {
   2451   _cached_size_ = 0;
   2452   start_ = 0;
   2453   end_ = 0;
   2454   ::memset(_has_bits_, 0, sizeof(_has_bits_));
   2455 }
   2456 
   2457 DescriptorProto_ExtensionRange::~DescriptorProto_ExtensionRange() {
   2458   // @@protoc_insertion_point(destructor:google.protobuf.DescriptorProto.ExtensionRange)
   2459   SharedDtor();
   2460 }
   2461 
   2462 void DescriptorProto_ExtensionRange::SharedDtor() {
   2463   if (this != default_instance_) {
   2464   }
   2465 }
   2466 
   2467 void DescriptorProto_ExtensionRange::SetCachedSize(int size) const {
   2468   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   2469   _cached_size_ = size;
   2470   GOOGLE_SAFE_CONCURRENT_WRITES_END();
   2471 }
   2472 const ::google::protobuf::Descriptor* DescriptorProto_ExtensionRange::descriptor() {
   2473   protobuf_AssignDescriptorsOnce();
   2474   return DescriptorProto_ExtensionRange_descriptor_;
   2475 }
   2476 
   2477 const DescriptorProto_ExtensionRange& DescriptorProto_ExtensionRange::default_instance() {
   2478   if (default_instance_ == NULL) protobuf_AddDesc_google_2fprotobuf_2fdescriptor_2eproto();
   2479   return *default_instance_;
   2480 }
   2481 
   2482 DescriptorProto_ExtensionRange* DescriptorProto_ExtensionRange::default_instance_ = NULL;
   2483 
   2484 DescriptorProto_ExtensionRange* DescriptorProto_ExtensionRange::New(::google::protobuf::Arena* arena) const {
   2485   DescriptorProto_ExtensionRange* n = new DescriptorProto_ExtensionRange;
   2486   if (arena != NULL) {
   2487     arena->Own(n);
   2488   }
   2489   return n;
   2490 }
   2491 
   2492 void DescriptorProto_ExtensionRange::Clear() {
   2493 // @@protoc_insertion_point(message_clear_start:google.protobuf.DescriptorProto.ExtensionRange)
   2494 #if defined(__clang__)
   2495 #define ZR_HELPER_(f) \
   2496   _Pragma("clang diagnostic push") \
   2497   _Pragma("clang diagnostic ignored \"-Winvalid-offsetof\"") \
   2498   __builtin_offsetof(DescriptorProto_ExtensionRange, f) \
   2499   _Pragma("clang diagnostic pop")
   2500 #else
   2501 #define ZR_HELPER_(f) reinterpret_cast<char*>(\
   2502   &reinterpret_cast<DescriptorProto_ExtensionRange*>(16)->f)
   2503 #endif
   2504 
   2505 #define ZR_(first, last) do {\
   2506   ::memset(&(first), 0,\
   2507            ZR_HELPER_(last) - ZR_HELPER_(first) + sizeof(last));\
   2508 } while (0)
   2509 
   2510   ZR_(start_, end_);
   2511 
   2512 #undef ZR_HELPER_
   2513 #undef ZR_
   2514 
   2515   ::memset(_has_bits_, 0, sizeof(_has_bits_));
   2516   if (_internal_metadata_.have_unknown_fields()) {
   2517     mutable_unknown_fields()->Clear();
   2518   }
   2519 }
   2520 
   2521 bool DescriptorProto_ExtensionRange::MergePartialFromCodedStream(
   2522     ::google::protobuf::io::CodedInputStream* input) {
   2523 #define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
   2524   ::google::protobuf::uint32 tag;
   2525   // @@protoc_insertion_point(parse_start:google.protobuf.DescriptorProto.ExtensionRange)
   2526   for (;;) {
   2527     ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
   2528     tag = p.first;
   2529     if (!p.second) goto handle_unusual;
   2530     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
   2531       // optional int32 start = 1;
   2532       case 1: {
   2533         if (tag == 8) {
   2534           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
   2535                    ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
   2536                  input, &start_)));
   2537           set_has_start();
   2538         } else {
   2539           goto handle_unusual;
   2540         }
   2541         if (input->ExpectTag(16)) goto parse_end;
   2542         break;
   2543       }
   2544 
   2545       // optional int32 end = 2;
   2546       case 2: {
   2547         if (tag == 16) {
   2548          parse_end:
   2549           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
   2550                    ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
   2551                  input, &end_)));
   2552           set_has_end();
   2553         } else {
   2554           goto handle_unusual;
   2555         }
   2556         if (input->ExpectAtEnd()) goto success;
   2557         break;
   2558       }
   2559 
   2560       default: {
   2561       handle_unusual:
   2562         if (tag == 0 ||
   2563             ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
   2564             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
   2565           goto success;
   2566         }
   2567         DO_(::google::protobuf::internal::WireFormat::SkipField(
   2568               input, tag, mutable_unknown_fields()));
   2569         break;
   2570       }
   2571     }
   2572   }
   2573 success:
   2574   // @@protoc_insertion_point(parse_success:google.protobuf.DescriptorProto.ExtensionRange)
   2575   return true;
   2576 failure:
   2577   // @@protoc_insertion_point(parse_failure:google.protobuf.DescriptorProto.ExtensionRange)
   2578   return false;
   2579 #undef DO_
   2580 }
   2581 
   2582 void DescriptorProto_ExtensionRange::SerializeWithCachedSizes(
   2583     ::google::protobuf::io::CodedOutputStream* output) const {
   2584   // @@protoc_insertion_point(serialize_start:google.protobuf.DescriptorProto.ExtensionRange)
   2585   // optional int32 start = 1;
   2586   if (has_start()) {
   2587     ::google::protobuf::internal::WireFormatLite::WriteInt32(1, this->start(), output);
   2588   }
   2589 
   2590   // optional int32 end = 2;
   2591   if (has_end()) {
   2592     ::google::protobuf::internal::WireFormatLite::WriteInt32(2, this->end(), output);
   2593   }
   2594 
   2595   if (_internal_metadata_.have_unknown_fields()) {
   2596     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
   2597         unknown_fields(), output);
   2598   }
   2599   // @@protoc_insertion_point(serialize_end:google.protobuf.DescriptorProto.ExtensionRange)
   2600 }
   2601 
   2602 ::google::protobuf::uint8* DescriptorProto_ExtensionRange::SerializeWithCachedSizesToArray(
   2603     ::google::protobuf::uint8* target) const {
   2604   // @@protoc_insertion_point(serialize_to_array_start:google.protobuf.DescriptorProto.ExtensionRange)
   2605   // optional int32 start = 1;
   2606   if (has_start()) {
   2607     target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(1, this->start(), target);
   2608   }
   2609 
   2610   // optional int32 end = 2;
   2611   if (has_end()) {
   2612     target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(2, this->end(), target);
   2613   }
   2614 
   2615   if (_internal_metadata_.have_unknown_fields()) {
   2616     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
   2617         unknown_fields(), target);
   2618   }
   2619   // @@protoc_insertion_point(serialize_to_array_end:google.protobuf.DescriptorProto.ExtensionRange)
   2620   return target;
   2621 }
   2622 
   2623 int DescriptorProto_ExtensionRange::ByteSize() const {
   2624 // @@protoc_insertion_point(message_byte_size_start:google.protobuf.DescriptorProto.ExtensionRange)
   2625   int total_size = 0;
   2626 
   2627   if (_has_bits_[0 / 32] & 3u) {
   2628     // optional int32 start = 1;
   2629     if (has_start()) {
   2630       total_size += 1 +
   2631         ::google::protobuf::internal::WireFormatLite::Int32Size(
   2632           this->start());
   2633     }
   2634 
   2635     // optional int32 end = 2;
   2636     if (has_end()) {
   2637       total_size += 1 +
   2638         ::google::protobuf::internal::WireFormatLite::Int32Size(
   2639           this->end());
   2640     }
   2641 
   2642   }
   2643   if (_internal_metadata_.have_unknown_fields()) {
   2644     total_size +=
   2645       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
   2646         unknown_fields());
   2647   }
   2648   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   2649   _cached_size_ = total_size;
   2650   GOOGLE_SAFE_CONCURRENT_WRITES_END();
   2651   return total_size;
   2652 }
   2653 
   2654 void DescriptorProto_ExtensionRange::MergeFrom(const ::google::protobuf::Message& from) {
   2655 // @@protoc_insertion_point(generalized_merge_from_start:google.protobuf.DescriptorProto.ExtensionRange)
   2656   if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
   2657   const DescriptorProto_ExtensionRange* source =
   2658       ::google::protobuf::internal::DynamicCastToGenerated<const DescriptorProto_ExtensionRange>(
   2659           &from);
   2660   if (source == NULL) {
   2661   // @@protoc_insertion_point(generalized_merge_from_cast_fail:google.protobuf.DescriptorProto.ExtensionRange)
   2662     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
   2663   } else {
   2664   // @@protoc_insertion_point(generalized_merge_from_cast_success:google.protobuf.DescriptorProto.ExtensionRange)
   2665     MergeFrom(*source);
   2666   }
   2667 }
   2668 
   2669 void DescriptorProto_ExtensionRange::MergeFrom(const DescriptorProto_ExtensionRange& from) {
   2670 // @@protoc_insertion_point(class_specific_merge_from_start:google.protobuf.DescriptorProto.ExtensionRange)
   2671   if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
   2672   if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
   2673     if (from.has_start()) {
   2674       set_start(from.start());
   2675     }
   2676     if (from.has_end()) {
   2677       set_end(from.end());
   2678     }
   2679   }
   2680   if (from._internal_metadata_.have_unknown_fields()) {
   2681     mutable_unknown_fields()->MergeFrom(from.unknown_fields());
   2682   }
   2683 }
   2684 
   2685 void DescriptorProto_ExtensionRange::CopyFrom(const ::google::protobuf::Message& from) {
   2686 // @@protoc_insertion_point(generalized_copy_from_start:google.protobuf.DescriptorProto.ExtensionRange)
   2687   if (&from == this) return;
   2688   Clear();
   2689   MergeFrom(from);
   2690 }
   2691 
   2692 void DescriptorProto_ExtensionRange::CopyFrom(const DescriptorProto_ExtensionRange& from) {
   2693 // @@protoc_insertion_point(class_specific_copy_from_start:google.protobuf.DescriptorProto.ExtensionRange)
   2694   if (&from == this) return;
   2695   Clear();
   2696   MergeFrom(from);
   2697 }
   2698 
   2699 bool DescriptorProto_ExtensionRange::IsInitialized() const {
   2700 
   2701   return true;
   2702 }
   2703 
   2704 void DescriptorProto_ExtensionRange::Swap(DescriptorProto_ExtensionRange* other) {
   2705   if (other == this) return;
   2706   InternalSwap(other);
   2707 }
   2708 void DescriptorProto_ExtensionRange::InternalSwap(DescriptorProto_ExtensionRange* other) {
   2709   std::swap(start_, other->start_);
   2710   std::swap(end_, other->end_);
   2711   std::swap(_has_bits_[0], other->_has_bits_[0]);
   2712   _internal_metadata_.Swap(&other->_internal_metadata_);
   2713   std::swap(_cached_size_, other->_cached_size_);
   2714 }
   2715 
   2716 ::google::protobuf::Metadata DescriptorProto_ExtensionRange::GetMetadata() const {
   2717   protobuf_AssignDescriptorsOnce();
   2718   ::google::protobuf::Metadata metadata;
   2719   metadata.descriptor = DescriptorProto_ExtensionRange_descriptor_;
   2720   metadata.reflection = DescriptorProto_ExtensionRange_reflection_;
   2721   return metadata;
   2722 }
   2723 
   2724 
   2725 // -------------------------------------------------------------------
   2726 
   2727 #if !defined(_MSC_VER) || _MSC_VER >= 1900
   2728 const int DescriptorProto_ReservedRange::kStartFieldNumber;
   2729 const int DescriptorProto_ReservedRange::kEndFieldNumber;
   2730 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
   2731 
   2732 DescriptorProto_ReservedRange::DescriptorProto_ReservedRange()
   2733   : ::google::protobuf::Message(), _internal_metadata_(NULL) {
   2734   SharedCtor();
   2735   // @@protoc_insertion_point(constructor:google.protobuf.DescriptorProto.ReservedRange)
   2736 }
   2737 
   2738 void DescriptorProto_ReservedRange::InitAsDefaultInstance() {
   2739 }
   2740 
   2741 DescriptorProto_ReservedRange::DescriptorProto_ReservedRange(const DescriptorProto_ReservedRange& from)
   2742   : ::google::protobuf::Message(),
   2743     _internal_metadata_(NULL) {
   2744   SharedCtor();
   2745   MergeFrom(from);
   2746   // @@protoc_insertion_point(copy_constructor:google.protobuf.DescriptorProto.ReservedRange)
   2747 }
   2748 
   2749 void DescriptorProto_ReservedRange::SharedCtor() {
   2750   _cached_size_ = 0;
   2751   start_ = 0;
   2752   end_ = 0;
   2753   ::memset(_has_bits_, 0, sizeof(_has_bits_));
   2754 }
   2755 
   2756 DescriptorProto_ReservedRange::~DescriptorProto_ReservedRange() {
   2757   // @@protoc_insertion_point(destructor:google.protobuf.DescriptorProto.ReservedRange)
   2758   SharedDtor();
   2759 }
   2760 
   2761 void DescriptorProto_ReservedRange::SharedDtor() {
   2762   if (this != default_instance_) {
   2763   }
   2764 }
   2765 
   2766 void DescriptorProto_ReservedRange::SetCachedSize(int size) const {
   2767   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   2768   _cached_size_ = size;
   2769   GOOGLE_SAFE_CONCURRENT_WRITES_END();
   2770 }
   2771 const ::google::protobuf::Descriptor* DescriptorProto_ReservedRange::descriptor() {
   2772   protobuf_AssignDescriptorsOnce();
   2773   return DescriptorProto_ReservedRange_descriptor_;
   2774 }
   2775 
   2776 const DescriptorProto_ReservedRange& DescriptorProto_ReservedRange::default_instance() {
   2777   if (default_instance_ == NULL) protobuf_AddDesc_google_2fprotobuf_2fdescriptor_2eproto();
   2778   return *default_instance_;
   2779 }
   2780 
   2781 DescriptorProto_ReservedRange* DescriptorProto_ReservedRange::default_instance_ = NULL;
   2782 
   2783 DescriptorProto_ReservedRange* DescriptorProto_ReservedRange::New(::google::protobuf::Arena* arena) const {
   2784   DescriptorProto_ReservedRange* n = new DescriptorProto_ReservedRange;
   2785   if (arena != NULL) {
   2786     arena->Own(n);
   2787   }
   2788   return n;
   2789 }
   2790 
   2791 void DescriptorProto_ReservedRange::Clear() {
   2792 // @@protoc_insertion_point(message_clear_start:google.protobuf.DescriptorProto.ReservedRange)
   2793 #if defined(__clang__)
   2794 #define ZR_HELPER_(f) \
   2795   _Pragma("clang diagnostic push") \
   2796   _Pragma("clang diagnostic ignored \"-Winvalid-offsetof\"") \
   2797   __builtin_offsetof(DescriptorProto_ReservedRange, f) \
   2798   _Pragma("clang diagnostic pop")
   2799 #else
   2800 #define ZR_HELPER_(f) reinterpret_cast<char*>(\
   2801   &reinterpret_cast<DescriptorProto_ReservedRange*>(16)->f)
   2802 #endif
   2803 
   2804 #define ZR_(first, last) do {\
   2805   ::memset(&(first), 0,\
   2806            ZR_HELPER_(last) - ZR_HELPER_(first) + sizeof(last));\
   2807 } while (0)
   2808 
   2809   ZR_(start_, end_);
   2810 
   2811 #undef ZR_HELPER_
   2812 #undef ZR_
   2813 
   2814   ::memset(_has_bits_, 0, sizeof(_has_bits_));
   2815   if (_internal_metadata_.have_unknown_fields()) {
   2816     mutable_unknown_fields()->Clear();
   2817   }
   2818 }
   2819 
   2820 bool DescriptorProto_ReservedRange::MergePartialFromCodedStream(
   2821     ::google::protobuf::io::CodedInputStream* input) {
   2822 #define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
   2823   ::google::protobuf::uint32 tag;
   2824   // @@protoc_insertion_point(parse_start:google.protobuf.DescriptorProto.ReservedRange)
   2825   for (;;) {
   2826     ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
   2827     tag = p.first;
   2828     if (!p.second) goto handle_unusual;
   2829     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
   2830       // optional int32 start = 1;
   2831       case 1: {
   2832         if (tag == 8) {
   2833           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
   2834                    ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
   2835                  input, &start_)));
   2836           set_has_start();
   2837         } else {
   2838           goto handle_unusual;
   2839         }
   2840         if (input->ExpectTag(16)) goto parse_end;
   2841         break;
   2842       }
   2843 
   2844       // optional int32 end = 2;
   2845       case 2: {
   2846         if (tag == 16) {
   2847          parse_end:
   2848           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
   2849                    ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
   2850                  input, &end_)));
   2851           set_has_end();
   2852         } else {
   2853           goto handle_unusual;
   2854         }
   2855         if (input->ExpectAtEnd()) goto success;
   2856         break;
   2857       }
   2858 
   2859       default: {
   2860       handle_unusual:
   2861         if (tag == 0 ||
   2862             ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
   2863             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
   2864           goto success;
   2865         }
   2866         DO_(::google::protobuf::internal::WireFormat::SkipField(
   2867               input, tag, mutable_unknown_fields()));
   2868         break;
   2869       }
   2870     }
   2871   }
   2872 success:
   2873   // @@protoc_insertion_point(parse_success:google.protobuf.DescriptorProto.ReservedRange)
   2874   return true;
   2875 failure:
   2876   // @@protoc_insertion_point(parse_failure:google.protobuf.DescriptorProto.ReservedRange)
   2877   return false;
   2878 #undef DO_
   2879 }
   2880 
   2881 void DescriptorProto_ReservedRange::SerializeWithCachedSizes(
   2882     ::google::protobuf::io::CodedOutputStream* output) const {
   2883   // @@protoc_insertion_point(serialize_start:google.protobuf.DescriptorProto.ReservedRange)
   2884   // optional int32 start = 1;
   2885   if (has_start()) {
   2886     ::google::protobuf::internal::WireFormatLite::WriteInt32(1, this->start(), output);
   2887   }
   2888 
   2889   // optional int32 end = 2;
   2890   if (has_end()) {
   2891     ::google::protobuf::internal::WireFormatLite::WriteInt32(2, this->end(), output);
   2892   }
   2893 
   2894   if (_internal_metadata_.have_unknown_fields()) {
   2895     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
   2896         unknown_fields(), output);
   2897   }
   2898   // @@protoc_insertion_point(serialize_end:google.protobuf.DescriptorProto.ReservedRange)
   2899 }
   2900 
   2901 ::google::protobuf::uint8* DescriptorProto_ReservedRange::SerializeWithCachedSizesToArray(
   2902     ::google::protobuf::uint8* target) const {
   2903   // @@protoc_insertion_point(serialize_to_array_start:google.protobuf.DescriptorProto.ReservedRange)
   2904   // optional int32 start = 1;
   2905   if (has_start()) {
   2906     target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(1, this->start(), target);
   2907   }
   2908 
   2909   // optional int32 end = 2;
   2910   if (has_end()) {
   2911     target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(2, this->end(), target);
   2912   }
   2913 
   2914   if (_internal_metadata_.have_unknown_fields()) {
   2915     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
   2916         unknown_fields(), target);
   2917   }
   2918   // @@protoc_insertion_point(serialize_to_array_end:google.protobuf.DescriptorProto.ReservedRange)
   2919   return target;
   2920 }
   2921 
   2922 int DescriptorProto_ReservedRange::ByteSize() const {
   2923 // @@protoc_insertion_point(message_byte_size_start:google.protobuf.DescriptorProto.ReservedRange)
   2924   int total_size = 0;
   2925 
   2926   if (_has_bits_[0 / 32] & 3u) {
   2927     // optional int32 start = 1;
   2928     if (has_start()) {
   2929       total_size += 1 +
   2930         ::google::protobuf::internal::WireFormatLite::Int32Size(
   2931           this->start());
   2932     }
   2933 
   2934     // optional int32 end = 2;
   2935     if (has_end()) {
   2936       total_size += 1 +
   2937         ::google::protobuf::internal::WireFormatLite::Int32Size(
   2938           this->end());
   2939     }
   2940 
   2941   }
   2942   if (_internal_metadata_.have_unknown_fields()) {
   2943     total_size +=
   2944       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
   2945         unknown_fields());
   2946   }
   2947   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   2948   _cached_size_ = total_size;
   2949   GOOGLE_SAFE_CONCURRENT_WRITES_END();
   2950   return total_size;
   2951 }
   2952 
   2953 void DescriptorProto_ReservedRange::MergeFrom(const ::google::protobuf::Message& from) {
   2954 // @@protoc_insertion_point(generalized_merge_from_start:google.protobuf.DescriptorProto.ReservedRange)
   2955   if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
   2956   const DescriptorProto_ReservedRange* source =
   2957       ::google::protobuf::internal::DynamicCastToGenerated<const DescriptorProto_ReservedRange>(
   2958           &from);
   2959   if (source == NULL) {
   2960   // @@protoc_insertion_point(generalized_merge_from_cast_fail:google.protobuf.DescriptorProto.ReservedRange)
   2961     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
   2962   } else {
   2963   // @@protoc_insertion_point(generalized_merge_from_cast_success:google.protobuf.DescriptorProto.ReservedRange)
   2964     MergeFrom(*source);
   2965   }
   2966 }
   2967 
   2968 void DescriptorProto_ReservedRange::MergeFrom(const DescriptorProto_ReservedRange& from) {
   2969 // @@protoc_insertion_point(class_specific_merge_from_start:google.protobuf.DescriptorProto.ReservedRange)
   2970   if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
   2971   if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
   2972     if (from.has_start()) {
   2973       set_start(from.start());
   2974     }
   2975     if (from.has_end()) {
   2976       set_end(from.end());
   2977     }
   2978   }
   2979   if (from._internal_metadata_.have_unknown_fields()) {
   2980     mutable_unknown_fields()->MergeFrom(from.unknown_fields());
   2981   }
   2982 }
   2983 
   2984 void DescriptorProto_ReservedRange::CopyFrom(const ::google::protobuf::Message& from) {
   2985 // @@protoc_insertion_point(generalized_copy_from_start:google.protobuf.DescriptorProto.ReservedRange)
   2986   if (&from == this) return;
   2987   Clear();
   2988   MergeFrom(from);
   2989 }
   2990 
   2991 void DescriptorProto_ReservedRange::CopyFrom(const DescriptorProto_ReservedRange& from) {
   2992 // @@protoc_insertion_point(class_specific_copy_from_start:google.protobuf.DescriptorProto.ReservedRange)
   2993   if (&from == this) return;
   2994   Clear();
   2995   MergeFrom(from);
   2996 }
   2997 
   2998 bool DescriptorProto_ReservedRange::IsInitialized() const {
   2999 
   3000   return true;
   3001 }
   3002 
   3003 void DescriptorProto_ReservedRange::Swap(DescriptorProto_ReservedRange* other) {
   3004   if (other == this) return;
   3005   InternalSwap(other);
   3006 }
   3007 void DescriptorProto_ReservedRange::InternalSwap(DescriptorProto_ReservedRange* other) {
   3008   std::swap(start_, other->start_);
   3009   std::swap(end_, other->end_);
   3010   std::swap(_has_bits_[0], other->_has_bits_[0]);
   3011   _internal_metadata_.Swap(&other->_internal_metadata_);
   3012   std::swap(_cached_size_, other->_cached_size_);
   3013 }
   3014 
   3015 ::google::protobuf::Metadata DescriptorProto_ReservedRange::GetMetadata() const {
   3016   protobuf_AssignDescriptorsOnce();
   3017   ::google::protobuf::Metadata metadata;
   3018   metadata.descriptor = DescriptorProto_ReservedRange_descriptor_;
   3019   metadata.reflection = DescriptorProto_ReservedRange_reflection_;
   3020   return metadata;
   3021 }
   3022 
   3023 
   3024 // -------------------------------------------------------------------
   3025 
   3026 #if !defined(_MSC_VER) || _MSC_VER >= 1900
   3027 const int DescriptorProto::kNameFieldNumber;
   3028 const int DescriptorProto::kFieldFieldNumber;
   3029 const int DescriptorProto::kExtensionFieldNumber;
   3030 const int DescriptorProto::kNestedTypeFieldNumber;
   3031 const int DescriptorProto::kEnumTypeFieldNumber;
   3032 const int DescriptorProto::kExtensionRangeFieldNumber;
   3033 const int DescriptorProto::kOneofDeclFieldNumber;
   3034 const int DescriptorProto::kOptionsFieldNumber;
   3035 const int DescriptorProto::kReservedRangeFieldNumber;
   3036 const int DescriptorProto::kReservedNameFieldNumber;
   3037 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
   3038 
   3039 DescriptorProto::DescriptorProto()
   3040   : ::google::protobuf::Message(), _internal_metadata_(NULL) {
   3041   SharedCtor();
   3042   // @@protoc_insertion_point(constructor:google.protobuf.DescriptorProto)
   3043 }
   3044 
   3045 void DescriptorProto::InitAsDefaultInstance() {
   3046   options_ = const_cast< ::google::protobuf::MessageOptions*>(&::google::protobuf::MessageOptions::default_instance());
   3047 }
   3048 
   3049 DescriptorProto::DescriptorProto(const DescriptorProto& from)
   3050   : ::google::protobuf::Message(),
   3051     _internal_metadata_(NULL) {
   3052   SharedCtor();
   3053   MergeFrom(from);
   3054   // @@protoc_insertion_point(copy_constructor:google.protobuf.DescriptorProto)
   3055 }
   3056 
   3057 void DescriptorProto::SharedCtor() {
   3058   ::google::protobuf::internal::GetEmptyString();
   3059   _cached_size_ = 0;
   3060   name_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   3061   options_ = NULL;
   3062   ::memset(_has_bits_, 0, sizeof(_has_bits_));
   3063 }
   3064 
   3065 DescriptorProto::~DescriptorProto() {
   3066   // @@protoc_insertion_point(destructor:google.protobuf.DescriptorProto)
   3067   SharedDtor();
   3068 }
   3069 
   3070 void DescriptorProto::SharedDtor() {
   3071   name_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   3072   if (this != default_instance_) {
   3073     delete options_;
   3074   }
   3075 }
   3076 
   3077 void DescriptorProto::SetCachedSize(int size) const {
   3078   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   3079   _cached_size_ = size;
   3080   GOOGLE_SAFE_CONCURRENT_WRITES_END();
   3081 }
   3082 const ::google::protobuf::Descriptor* DescriptorProto::descriptor() {
   3083   protobuf_AssignDescriptorsOnce();
   3084   return DescriptorProto_descriptor_;
   3085 }
   3086 
   3087 const DescriptorProto& DescriptorProto::default_instance() {
   3088   if (default_instance_ == NULL) protobuf_AddDesc_google_2fprotobuf_2fdescriptor_2eproto();
   3089   return *default_instance_;
   3090 }
   3091 
   3092 DescriptorProto* DescriptorProto::default_instance_ = NULL;
   3093 
   3094 DescriptorProto* DescriptorProto::New(::google::protobuf::Arena* arena) const {
   3095   DescriptorProto* n = new DescriptorProto;
   3096   if (arena != NULL) {
   3097     arena->Own(n);
   3098   }
   3099   return n;
   3100 }
   3101 
   3102 void DescriptorProto::Clear() {
   3103 // @@protoc_insertion_point(message_clear_start:google.protobuf.DescriptorProto)
   3104   if (_has_bits_[0 / 32] & 129u) {
   3105     if (has_name()) {
   3106       name_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   3107     }
   3108     if (has_options()) {
   3109       if (options_ != NULL) options_->::google::protobuf::MessageOptions::Clear();
   3110     }
   3111   }
   3112   field_.Clear();
   3113   extension_.Clear();
   3114   nested_type_.Clear();
   3115   enum_type_.Clear();
   3116   extension_range_.Clear();
   3117   oneof_decl_.Clear();
   3118   reserved_range_.Clear();
   3119   reserved_name_.Clear();
   3120   ::memset(_has_bits_, 0, sizeof(_has_bits_));
   3121   if (_internal_metadata_.have_unknown_fields()) {
   3122     mutable_unknown_fields()->Clear();
   3123   }
   3124 }
   3125 
   3126 bool DescriptorProto::MergePartialFromCodedStream(
   3127     ::google::protobuf::io::CodedInputStream* input) {
   3128 #define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
   3129   ::google::protobuf::uint32 tag;
   3130   // @@protoc_insertion_point(parse_start:google.protobuf.DescriptorProto)
   3131   for (;;) {
   3132     ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
   3133     tag = p.first;
   3134     if (!p.second) goto handle_unusual;
   3135     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
   3136       // optional string name = 1;
   3137       case 1: {
   3138         if (tag == 10) {
   3139           DO_(::google::protobuf::internal::WireFormatLite::ReadString(
   3140                 input, this->mutable_name()));
   3141           ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   3142             this->name().data(), this->name().length(),
   3143             ::google::protobuf::internal::WireFormat::PARSE,
   3144             "google.protobuf.DescriptorProto.name");
   3145         } else {
   3146           goto handle_unusual;
   3147         }
   3148         if (input->ExpectTag(18)) goto parse_field;
   3149         break;
   3150       }
   3151 
   3152       // repeated .google.protobuf.FieldDescriptorProto field = 2;
   3153       case 2: {
   3154         if (tag == 18) {
   3155          parse_field:
   3156           DO_(input->IncrementRecursionDepth());
   3157          parse_loop_field:
   3158           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtualNoRecursionDepth(
   3159                 input, add_field()));
   3160         } else {
   3161           goto handle_unusual;
   3162         }
   3163         if (input->ExpectTag(18)) goto parse_loop_field;
   3164         if (input->ExpectTag(26)) goto parse_loop_nested_type;
   3165         input->UnsafeDecrementRecursionDepth();
   3166         break;
   3167       }
   3168 
   3169       // repeated .google.protobuf.DescriptorProto nested_type = 3;
   3170       case 3: {
   3171         if (tag == 26) {
   3172           DO_(input->IncrementRecursionDepth());
   3173          parse_loop_nested_type:
   3174           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtualNoRecursionDepth(
   3175                 input, add_nested_type()));
   3176         } else {
   3177           goto handle_unusual;
   3178         }
   3179         if (input->ExpectTag(26)) goto parse_loop_nested_type;
   3180         if (input->ExpectTag(34)) goto parse_loop_enum_type;
   3181         input->UnsafeDecrementRecursionDepth();
   3182         break;
   3183       }
   3184 
   3185       // repeated .google.protobuf.EnumDescriptorProto enum_type = 4;
   3186       case 4: {
   3187         if (tag == 34) {
   3188           DO_(input->IncrementRecursionDepth());
   3189          parse_loop_enum_type:
   3190           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtualNoRecursionDepth(
   3191                 input, add_enum_type()));
   3192         } else {
   3193           goto handle_unusual;
   3194         }
   3195         if (input->ExpectTag(34)) goto parse_loop_enum_type;
   3196         if (input->ExpectTag(42)) goto parse_loop_extension_range;
   3197         input->UnsafeDecrementRecursionDepth();
   3198         break;
   3199       }
   3200 
   3201       // repeated .google.protobuf.DescriptorProto.ExtensionRange extension_range = 5;
   3202       case 5: {
   3203         if (tag == 42) {
   3204           DO_(input->IncrementRecursionDepth());
   3205          parse_loop_extension_range:
   3206           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtualNoRecursionDepth(
   3207                 input, add_extension_range()));
   3208         } else {
   3209           goto handle_unusual;
   3210         }
   3211         if (input->ExpectTag(42)) goto parse_loop_extension_range;
   3212         if (input->ExpectTag(50)) goto parse_loop_extension;
   3213         input->UnsafeDecrementRecursionDepth();
   3214         break;
   3215       }
   3216 
   3217       // repeated .google.protobuf.FieldDescriptorProto extension = 6;
   3218       case 6: {
   3219         if (tag == 50) {
   3220           DO_(input->IncrementRecursionDepth());
   3221          parse_loop_extension:
   3222           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtualNoRecursionDepth(
   3223                 input, add_extension()));
   3224         } else {
   3225           goto handle_unusual;
   3226         }
   3227         if (input->ExpectTag(50)) goto parse_loop_extension;
   3228         input->UnsafeDecrementRecursionDepth();
   3229         if (input->ExpectTag(58)) goto parse_options;
   3230         break;
   3231       }
   3232 
   3233       // optional .google.protobuf.MessageOptions options = 7;
   3234       case 7: {
   3235         if (tag == 58) {
   3236          parse_options:
   3237           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
   3238                input, mutable_options()));
   3239         } else {
   3240           goto handle_unusual;
   3241         }
   3242         if (input->ExpectTag(66)) goto parse_oneof_decl;
   3243         break;
   3244       }
   3245 
   3246       // repeated .google.protobuf.OneofDescriptorProto oneof_decl = 8;
   3247       case 8: {
   3248         if (tag == 66) {
   3249          parse_oneof_decl:
   3250           DO_(input->IncrementRecursionDepth());
   3251          parse_loop_oneof_decl:
   3252           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtualNoRecursionDepth(
   3253                 input, add_oneof_decl()));
   3254         } else {
   3255           goto handle_unusual;
   3256         }
   3257         if (input->ExpectTag(66)) goto parse_loop_oneof_decl;
   3258         if (input->ExpectTag(74)) goto parse_loop_reserved_range;
   3259         input->UnsafeDecrementRecursionDepth();
   3260         break;
   3261       }
   3262 
   3263       // repeated .google.protobuf.DescriptorProto.ReservedRange reserved_range = 9;
   3264       case 9: {
   3265         if (tag == 74) {
   3266           DO_(input->IncrementRecursionDepth());
   3267          parse_loop_reserved_range:
   3268           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtualNoRecursionDepth(
   3269                 input, add_reserved_range()));
   3270         } else {
   3271           goto handle_unusual;
   3272         }
   3273         if (input->ExpectTag(74)) goto parse_loop_reserved_range;
   3274         input->UnsafeDecrementRecursionDepth();
   3275         if (input->ExpectTag(82)) goto parse_reserved_name;
   3276         break;
   3277       }
   3278 
   3279       // repeated string reserved_name = 10;
   3280       case 10: {
   3281         if (tag == 82) {
   3282          parse_reserved_name:
   3283           DO_(::google::protobuf::internal::WireFormatLite::ReadString(
   3284                 input, this->add_reserved_name()));
   3285           ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   3286             this->reserved_name(this->reserved_name_size() - 1).data(),
   3287             this->reserved_name(this->reserved_name_size() - 1).length(),
   3288             ::google::protobuf::internal::WireFormat::PARSE,
   3289             "google.protobuf.DescriptorProto.reserved_name");
   3290         } else {
   3291           goto handle_unusual;
   3292         }
   3293         if (input->ExpectTag(82)) goto parse_reserved_name;
   3294         if (input->ExpectAtEnd()) goto success;
   3295         break;
   3296       }
   3297 
   3298       default: {
   3299       handle_unusual:
   3300         if (tag == 0 ||
   3301             ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
   3302             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
   3303           goto success;
   3304         }
   3305         DO_(::google::protobuf::internal::WireFormat::SkipField(
   3306               input, tag, mutable_unknown_fields()));
   3307         break;
   3308       }
   3309     }
   3310   }
   3311 success:
   3312   // @@protoc_insertion_point(parse_success:google.protobuf.DescriptorProto)
   3313   return true;
   3314 failure:
   3315   // @@protoc_insertion_point(parse_failure:google.protobuf.DescriptorProto)
   3316   return false;
   3317 #undef DO_
   3318 }
   3319 
   3320 void DescriptorProto::SerializeWithCachedSizes(
   3321     ::google::protobuf::io::CodedOutputStream* output) const {
   3322   // @@protoc_insertion_point(serialize_start:google.protobuf.DescriptorProto)
   3323   // optional string name = 1;
   3324   if (has_name()) {
   3325     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   3326       this->name().data(), this->name().length(),
   3327       ::google::protobuf::internal::WireFormat::SERIALIZE,
   3328       "google.protobuf.DescriptorProto.name");
   3329     ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
   3330       1, this->name(), output);
   3331   }
   3332 
   3333   // repeated .google.protobuf.FieldDescriptorProto field = 2;
   3334   for (unsigned int i = 0, n = this->field_size(); i < n; i++) {
   3335     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
   3336       2, this->field(i), output);
   3337   }
   3338 
   3339   // repeated .google.protobuf.DescriptorProto nested_type = 3;
   3340   for (unsigned int i = 0, n = this->nested_type_size(); i < n; i++) {
   3341     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
   3342       3, this->nested_type(i), output);
   3343   }
   3344 
   3345   // repeated .google.protobuf.EnumDescriptorProto enum_type = 4;
   3346   for (unsigned int i = 0, n = this->enum_type_size(); i < n; i++) {
   3347     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
   3348       4, this->enum_type(i), output);
   3349   }
   3350 
   3351   // repeated .google.protobuf.DescriptorProto.ExtensionRange extension_range = 5;
   3352   for (unsigned int i = 0, n = this->extension_range_size(); i < n; i++) {
   3353     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
   3354       5, this->extension_range(i), output);
   3355   }
   3356 
   3357   // repeated .google.protobuf.FieldDescriptorProto extension = 6;
   3358   for (unsigned int i = 0, n = this->extension_size(); i < n; i++) {
   3359     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
   3360       6, this->extension(i), output);
   3361   }
   3362 
   3363   // optional .google.protobuf.MessageOptions options = 7;
   3364   if (has_options()) {
   3365     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
   3366       7, *this->options_, output);
   3367   }
   3368 
   3369   // repeated .google.protobuf.OneofDescriptorProto oneof_decl = 8;
   3370   for (unsigned int i = 0, n = this->oneof_decl_size(); i < n; i++) {
   3371     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
   3372       8, this->oneof_decl(i), output);
   3373   }
   3374 
   3375   // repeated .google.protobuf.DescriptorProto.ReservedRange reserved_range = 9;
   3376   for (unsigned int i = 0, n = this->reserved_range_size(); i < n; i++) {
   3377     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
   3378       9, this->reserved_range(i), output);
   3379   }
   3380 
   3381   // repeated string reserved_name = 10;
   3382   for (int i = 0; i < this->reserved_name_size(); i++) {
   3383     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   3384       this->reserved_name(i).data(), this->reserved_name(i).length(),
   3385       ::google::protobuf::internal::WireFormat::SERIALIZE,
   3386       "google.protobuf.DescriptorProto.reserved_name");
   3387     ::google::protobuf::internal::WireFormatLite::WriteString(
   3388       10, this->reserved_name(i), output);
   3389   }
   3390 
   3391   if (_internal_metadata_.have_unknown_fields()) {
   3392     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
   3393         unknown_fields(), output);
   3394   }
   3395   // @@protoc_insertion_point(serialize_end:google.protobuf.DescriptorProto)
   3396 }
   3397 
   3398 ::google::protobuf::uint8* DescriptorProto::SerializeWithCachedSizesToArray(
   3399     ::google::protobuf::uint8* target) const {
   3400   // @@protoc_insertion_point(serialize_to_array_start:google.protobuf.DescriptorProto)
   3401   // optional string name = 1;
   3402   if (has_name()) {
   3403     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   3404       this->name().data(), this->name().length(),
   3405       ::google::protobuf::internal::WireFormat::SERIALIZE,
   3406       "google.protobuf.DescriptorProto.name");
   3407     target =
   3408       ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
   3409         1, this->name(), target);
   3410   }
   3411 
   3412   // repeated .google.protobuf.FieldDescriptorProto field = 2;
   3413   for (unsigned int i = 0, n = this->field_size(); i < n; i++) {
   3414     target = ::google::protobuf::internal::WireFormatLite::
   3415       WriteMessageNoVirtualToArray(
   3416         2, this->field(i), target);
   3417   }
   3418 
   3419   // repeated .google.protobuf.DescriptorProto nested_type = 3;
   3420   for (unsigned int i = 0, n = this->nested_type_size(); i < n; i++) {
   3421     target = ::google::protobuf::internal::WireFormatLite::
   3422       WriteMessageNoVirtualToArray(
   3423         3, this->nested_type(i), target);
   3424   }
   3425 
   3426   // repeated .google.protobuf.EnumDescriptorProto enum_type = 4;
   3427   for (unsigned int i = 0, n = this->enum_type_size(); i < n; i++) {
   3428     target = ::google::protobuf::internal::WireFormatLite::
   3429       WriteMessageNoVirtualToArray(
   3430         4, this->enum_type(i), target);
   3431   }
   3432 
   3433   // repeated .google.protobuf.DescriptorProto.ExtensionRange extension_range = 5;
   3434   for (unsigned int i = 0, n = this->extension_range_size(); i < n; i++) {
   3435     target = ::google::protobuf::internal::WireFormatLite::
   3436       WriteMessageNoVirtualToArray(
   3437         5, this->extension_range(i), target);
   3438   }
   3439 
   3440   // repeated .google.protobuf.FieldDescriptorProto extension = 6;
   3441   for (unsigned int i = 0, n = this->extension_size(); i < n; i++) {
   3442     target = ::google::protobuf::internal::WireFormatLite::
   3443       WriteMessageNoVirtualToArray(
   3444         6, this->extension(i), target);
   3445   }
   3446 
   3447   // optional .google.protobuf.MessageOptions options = 7;
   3448   if (has_options()) {
   3449     target = ::google::protobuf::internal::WireFormatLite::
   3450       WriteMessageNoVirtualToArray(
   3451         7, *this->options_, target);
   3452   }
   3453 
   3454   // repeated .google.protobuf.OneofDescriptorProto oneof_decl = 8;
   3455   for (unsigned int i = 0, n = this->oneof_decl_size(); i < n; i++) {
   3456     target = ::google::protobuf::internal::WireFormatLite::
   3457       WriteMessageNoVirtualToArray(
   3458         8, this->oneof_decl(i), target);
   3459   }
   3460 
   3461   // repeated .google.protobuf.DescriptorProto.ReservedRange reserved_range = 9;
   3462   for (unsigned int i = 0, n = this->reserved_range_size(); i < n; i++) {
   3463     target = ::google::protobuf::internal::WireFormatLite::
   3464       WriteMessageNoVirtualToArray(
   3465         9, this->reserved_range(i), target);
   3466   }
   3467 
   3468   // repeated string reserved_name = 10;
   3469   for (int i = 0; i < this->reserved_name_size(); i++) {
   3470     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   3471       this->reserved_name(i).data(), this->reserved_name(i).length(),
   3472       ::google::protobuf::internal::WireFormat::SERIALIZE,
   3473       "google.protobuf.DescriptorProto.reserved_name");
   3474     target = ::google::protobuf::internal::WireFormatLite::
   3475       WriteStringToArray(10, this->reserved_name(i), target);
   3476   }
   3477 
   3478   if (_internal_metadata_.have_unknown_fields()) {
   3479     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
   3480         unknown_fields(), target);
   3481   }
   3482   // @@protoc_insertion_point(serialize_to_array_end:google.protobuf.DescriptorProto)
   3483   return target;
   3484 }
   3485 
   3486 int DescriptorProto::ByteSize() const {
   3487 // @@protoc_insertion_point(message_byte_size_start:google.protobuf.DescriptorProto)
   3488   int total_size = 0;
   3489 
   3490   if (_has_bits_[0 / 32] & 129u) {
   3491     // optional string name = 1;
   3492     if (has_name()) {
   3493       total_size += 1 +
   3494         ::google::protobuf::internal::WireFormatLite::StringSize(
   3495           this->name());
   3496     }
   3497 
   3498     // optional .google.protobuf.MessageOptions options = 7;
   3499     if (has_options()) {
   3500       total_size += 1 +
   3501         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
   3502           *this->options_);
   3503     }
   3504 
   3505   }
   3506   // repeated .google.protobuf.FieldDescriptorProto field = 2;
   3507   total_size += 1 * this->field_size();
   3508   for (int i = 0; i < this->field_size(); i++) {
   3509     total_size +=
   3510       ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
   3511         this->field(i));
   3512   }
   3513 
   3514   // repeated .google.protobuf.FieldDescriptorProto extension = 6;
   3515   total_size += 1 * this->extension_size();
   3516   for (int i = 0; i < this->extension_size(); i++) {
   3517     total_size +=
   3518       ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
   3519         this->extension(i));
   3520   }
   3521 
   3522   // repeated .google.protobuf.DescriptorProto nested_type = 3;
   3523   total_size += 1 * this->nested_type_size();
   3524   for (int i = 0; i < this->nested_type_size(); i++) {
   3525     total_size +=
   3526       ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
   3527         this->nested_type(i));
   3528   }
   3529 
   3530   // repeated .google.protobuf.EnumDescriptorProto enum_type = 4;
   3531   total_size += 1 * this->enum_type_size();
   3532   for (int i = 0; i < this->enum_type_size(); i++) {
   3533     total_size +=
   3534       ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
   3535         this->enum_type(i));
   3536   }
   3537 
   3538   // repeated .google.protobuf.DescriptorProto.ExtensionRange extension_range = 5;
   3539   total_size += 1 * this->extension_range_size();
   3540   for (int i = 0; i < this->extension_range_size(); i++) {
   3541     total_size +=
   3542       ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
   3543         this->extension_range(i));
   3544   }
   3545 
   3546   // repeated .google.protobuf.OneofDescriptorProto oneof_decl = 8;
   3547   total_size += 1 * this->oneof_decl_size();
   3548   for (int i = 0; i < this->oneof_decl_size(); i++) {
   3549     total_size +=
   3550       ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
   3551         this->oneof_decl(i));
   3552   }
   3553 
   3554   // repeated .google.protobuf.DescriptorProto.ReservedRange reserved_range = 9;
   3555   total_size += 1 * this->reserved_range_size();
   3556   for (int i = 0; i < this->reserved_range_size(); i++) {
   3557     total_size +=
   3558       ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
   3559         this->reserved_range(i));
   3560   }
   3561 
   3562   // repeated string reserved_name = 10;
   3563   total_size += 1 * this->reserved_name_size();
   3564   for (int i = 0; i < this->reserved_name_size(); i++) {
   3565     total_size += ::google::protobuf::internal::WireFormatLite::StringSize(
   3566       this->reserved_name(i));
   3567   }
   3568 
   3569   if (_internal_metadata_.have_unknown_fields()) {
   3570     total_size +=
   3571       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
   3572         unknown_fields());
   3573   }
   3574   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   3575   _cached_size_ = total_size;
   3576   GOOGLE_SAFE_CONCURRENT_WRITES_END();
   3577   return total_size;
   3578 }
   3579 
   3580 void DescriptorProto::MergeFrom(const ::google::protobuf::Message& from) {
   3581 // @@protoc_insertion_point(generalized_merge_from_start:google.protobuf.DescriptorProto)
   3582   if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
   3583   const DescriptorProto* source =
   3584       ::google::protobuf::internal::DynamicCastToGenerated<const DescriptorProto>(
   3585           &from);
   3586   if (source == NULL) {
   3587   // @@protoc_insertion_point(generalized_merge_from_cast_fail:google.protobuf.DescriptorProto)
   3588     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
   3589   } else {
   3590   // @@protoc_insertion_point(generalized_merge_from_cast_success:google.protobuf.DescriptorProto)
   3591     MergeFrom(*source);
   3592   }
   3593 }
   3594 
   3595 void DescriptorProto::MergeFrom(const DescriptorProto& from) {
   3596 // @@protoc_insertion_point(class_specific_merge_from_start:google.protobuf.DescriptorProto)
   3597   if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
   3598   field_.MergeFrom(from.field_);
   3599   extension_.MergeFrom(from.extension_);
   3600   nested_type_.MergeFrom(from.nested_type_);
   3601   enum_type_.MergeFrom(from.enum_type_);
   3602   extension_range_.MergeFrom(from.extension_range_);
   3603   oneof_decl_.MergeFrom(from.oneof_decl_);
   3604   reserved_range_.MergeFrom(from.reserved_range_);
   3605   reserved_name_.MergeFrom(from.reserved_name_);
   3606   if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
   3607     if (from.has_name()) {
   3608       set_has_name();
   3609       name_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.name_);
   3610     }
   3611     if (from.has_options()) {
   3612       mutable_options()->::google::protobuf::MessageOptions::MergeFrom(from.options());
   3613     }
   3614   }
   3615   if (from._internal_metadata_.have_unknown_fields()) {
   3616     mutable_unknown_fields()->MergeFrom(from.unknown_fields());
   3617   }
   3618 }
   3619 
   3620 void DescriptorProto::CopyFrom(const ::google::protobuf::Message& from) {
   3621 // @@protoc_insertion_point(generalized_copy_from_start:google.protobuf.DescriptorProto)
   3622   if (&from == this) return;
   3623   Clear();
   3624   MergeFrom(from);
   3625 }
   3626 
   3627 void DescriptorProto::CopyFrom(const DescriptorProto& from) {
   3628 // @@protoc_insertion_point(class_specific_copy_from_start:google.protobuf.DescriptorProto)
   3629   if (&from == this) return;
   3630   Clear();
   3631   MergeFrom(from);
   3632 }
   3633 
   3634 bool DescriptorProto::IsInitialized() const {
   3635 
   3636   if (!::google::protobuf::internal::AllAreInitialized(this->field())) return false;
   3637   if (!::google::protobuf::internal::AllAreInitialized(this->extension())) return false;
   3638   if (!::google::protobuf::internal::AllAreInitialized(this->nested_type())) return false;
   3639   if (!::google::protobuf::internal::AllAreInitialized(this->enum_type())) return false;
   3640   if (has_options()) {
   3641     if (!this->options_->IsInitialized()) return false;
   3642   }
   3643   return true;
   3644 }
   3645 
   3646 void DescriptorProto::Swap(DescriptorProto* other) {
   3647   if (other == this) return;
   3648   InternalSwap(other);
   3649 }
   3650 void DescriptorProto::InternalSwap(DescriptorProto* other) {
   3651   name_.Swap(&other->name_);
   3652   field_.UnsafeArenaSwap(&other->field_);
   3653   extension_.UnsafeArenaSwap(&other->extension_);
   3654   nested_type_.UnsafeArenaSwap(&other->nested_type_);
   3655   enum_type_.UnsafeArenaSwap(&other->enum_type_);
   3656   extension_range_.UnsafeArenaSwap(&other->extension_range_);
   3657   oneof_decl_.UnsafeArenaSwap(&other->oneof_decl_);
   3658   std::swap(options_, other->options_);
   3659   reserved_range_.UnsafeArenaSwap(&other->reserved_range_);
   3660   reserved_name_.UnsafeArenaSwap(&other->reserved_name_);
   3661   std::swap(_has_bits_[0], other->_has_bits_[0]);
   3662   _internal_metadata_.Swap(&other->_internal_metadata_);
   3663   std::swap(_cached_size_, other->_cached_size_);
   3664 }
   3665 
   3666 ::google::protobuf::Metadata DescriptorProto::GetMetadata() const {
   3667   protobuf_AssignDescriptorsOnce();
   3668   ::google::protobuf::Metadata metadata;
   3669   metadata.descriptor = DescriptorProto_descriptor_;
   3670   metadata.reflection = DescriptorProto_reflection_;
   3671   return metadata;
   3672 }
   3673 
   3674 #if PROTOBUF_INLINE_NOT_IN_HEADERS
   3675 // DescriptorProto_ExtensionRange
   3676 
   3677 // optional int32 start = 1;
   3678 bool DescriptorProto_ExtensionRange::has_start() const {
   3679   return (_has_bits_[0] & 0x00000001u) != 0;
   3680 }
   3681 void DescriptorProto_ExtensionRange::set_has_start() {
   3682   _has_bits_[0] |= 0x00000001u;
   3683 }
   3684 void DescriptorProto_ExtensionRange::clear_has_start() {
   3685   _has_bits_[0] &= ~0x00000001u;
   3686 }
   3687 void DescriptorProto_ExtensionRange::clear_start() {
   3688   start_ = 0;
   3689   clear_has_start();
   3690 }
   3691  ::google::protobuf::int32 DescriptorProto_ExtensionRange::start() const {
   3692   // @@protoc_insertion_point(field_get:google.protobuf.DescriptorProto.ExtensionRange.start)
   3693   return start_;
   3694 }
   3695  void DescriptorProto_ExtensionRange::set_start(::google::protobuf::int32 value) {
   3696   set_has_start();
   3697   start_ = value;
   3698   // @@protoc_insertion_point(field_set:google.protobuf.DescriptorProto.ExtensionRange.start)
   3699 }
   3700 
   3701 // optional int32 end = 2;
   3702 bool DescriptorProto_ExtensionRange::has_end() const {
   3703   return (_has_bits_[0] & 0x00000002u) != 0;
   3704 }
   3705 void DescriptorProto_ExtensionRange::set_has_end() {
   3706   _has_bits_[0] |= 0x00000002u;
   3707 }
   3708 void DescriptorProto_ExtensionRange::clear_has_end() {
   3709   _has_bits_[0] &= ~0x00000002u;
   3710 }
   3711 void DescriptorProto_ExtensionRange::clear_end() {
   3712   end_ = 0;
   3713   clear_has_end();
   3714 }
   3715  ::google::protobuf::int32 DescriptorProto_ExtensionRange::end() const {
   3716   // @@protoc_insertion_point(field_get:google.protobuf.DescriptorProto.ExtensionRange.end)
   3717   return end_;
   3718 }
   3719  void DescriptorProto_ExtensionRange::set_end(::google::protobuf::int32 value) {
   3720   set_has_end();
   3721   end_ = value;
   3722   // @@protoc_insertion_point(field_set:google.protobuf.DescriptorProto.ExtensionRange.end)
   3723 }
   3724 
   3725 // -------------------------------------------------------------------
   3726 
   3727 // DescriptorProto_ReservedRange
   3728 
   3729 // optional int32 start = 1;
   3730 bool DescriptorProto_ReservedRange::has_start() const {
   3731   return (_has_bits_[0] & 0x00000001u) != 0;
   3732 }
   3733 void DescriptorProto_ReservedRange::set_has_start() {
   3734   _has_bits_[0] |= 0x00000001u;
   3735 }
   3736 void DescriptorProto_ReservedRange::clear_has_start() {
   3737   _has_bits_[0] &= ~0x00000001u;
   3738 }
   3739 void DescriptorProto_ReservedRange::clear_start() {
   3740   start_ = 0;
   3741   clear_has_start();
   3742 }
   3743  ::google::protobuf::int32 DescriptorProto_ReservedRange::start() const {
   3744   // @@protoc_insertion_point(field_get:google.protobuf.DescriptorProto.ReservedRange.start)
   3745   return start_;
   3746 }
   3747  void DescriptorProto_ReservedRange::set_start(::google::protobuf::int32 value) {
   3748   set_has_start();
   3749   start_ = value;
   3750   // @@protoc_insertion_point(field_set:google.protobuf.DescriptorProto.ReservedRange.start)
   3751 }
   3752 
   3753 // optional int32 end = 2;
   3754 bool DescriptorProto_ReservedRange::has_end() const {
   3755   return (_has_bits_[0] & 0x00000002u) != 0;
   3756 }
   3757 void DescriptorProto_ReservedRange::set_has_end() {
   3758   _has_bits_[0] |= 0x00000002u;
   3759 }
   3760 void DescriptorProto_ReservedRange::clear_has_end() {
   3761   _has_bits_[0] &= ~0x00000002u;
   3762 }
   3763 void DescriptorProto_ReservedRange::clear_end() {
   3764   end_ = 0;
   3765   clear_has_end();
   3766 }
   3767  ::google::protobuf::int32 DescriptorProto_ReservedRange::end() const {
   3768   // @@protoc_insertion_point(field_get:google.protobuf.DescriptorProto.ReservedRange.end)
   3769   return end_;
   3770 }
   3771  void DescriptorProto_ReservedRange::set_end(::google::protobuf::int32 value) {
   3772   set_has_end();
   3773   end_ = value;
   3774   // @@protoc_insertion_point(field_set:google.protobuf.DescriptorProto.ReservedRange.end)
   3775 }
   3776 
   3777 // -------------------------------------------------------------------
   3778 
   3779 // DescriptorProto
   3780 
   3781 // optional string name = 1;
   3782 bool DescriptorProto::has_name() const {
   3783   return (_has_bits_[0] & 0x00000001u) != 0;
   3784 }
   3785 void DescriptorProto::set_has_name() {
   3786   _has_bits_[0] |= 0x00000001u;
   3787 }
   3788 void DescriptorProto::clear_has_name() {
   3789   _has_bits_[0] &= ~0x00000001u;
   3790 }
   3791 void DescriptorProto::clear_name() {
   3792   name_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   3793   clear_has_name();
   3794 }
   3795  const ::std::string& DescriptorProto::name() const {
   3796   // @@protoc_insertion_point(field_get:google.protobuf.DescriptorProto.name)
   3797   return name_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   3798 }
   3799  void DescriptorProto::set_name(const ::std::string& value) {
   3800   set_has_name();
   3801   name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
   3802   // @@protoc_insertion_point(field_set:google.protobuf.DescriptorProto.name)
   3803 }
   3804  void DescriptorProto::set_name(const char* value) {
   3805   set_has_name();
   3806   name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
   3807   // @@protoc_insertion_point(field_set_char:google.protobuf.DescriptorProto.name)
   3808 }
   3809  void DescriptorProto::set_name(const char* value, size_t size) {
   3810   set_has_name();
   3811   name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
   3812       ::std::string(reinterpret_cast<const char*>(value), size));
   3813   // @@protoc_insertion_point(field_set_pointer:google.protobuf.DescriptorProto.name)
   3814 }
   3815  ::std::string* DescriptorProto::mutable_name() {
   3816   set_has_name();
   3817   // @@protoc_insertion_point(field_mutable:google.protobuf.DescriptorProto.name)
   3818   return name_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   3819 }
   3820  ::std::string* DescriptorProto::release_name() {
   3821   // @@protoc_insertion_point(field_release:google.protobuf.DescriptorProto.name)
   3822   clear_has_name();
   3823   return name_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   3824 }
   3825  void DescriptorProto::set_allocated_name(::std::string* name) {
   3826   if (name != NULL) {
   3827     set_has_name();
   3828   } else {
   3829     clear_has_name();
   3830   }
   3831   name_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), name);
   3832   // @@protoc_insertion_point(field_set_allocated:google.protobuf.DescriptorProto.name)
   3833 }
   3834 
   3835 // repeated .google.protobuf.FieldDescriptorProto field = 2;
   3836 int DescriptorProto::field_size() const {
   3837   return field_.size();
   3838 }
   3839 void DescriptorProto::clear_field() {
   3840   field_.Clear();
   3841 }
   3842 const ::google::protobuf::FieldDescriptorProto& DescriptorProto::field(int index) const {
   3843   // @@protoc_insertion_point(field_get:google.protobuf.DescriptorProto.field)
   3844   return field_.Get(index);
   3845 }
   3846 ::google::protobuf::FieldDescriptorProto* DescriptorProto::mutable_field(int index) {
   3847   // @@protoc_insertion_point(field_mutable:google.protobuf.DescriptorProto.field)
   3848   return field_.Mutable(index);
   3849 }
   3850 ::google::protobuf::FieldDescriptorProto* DescriptorProto::add_field() {
   3851   // @@protoc_insertion_point(field_add:google.protobuf.DescriptorProto.field)
   3852   return field_.Add();
   3853 }
   3854 ::google::protobuf::RepeatedPtrField< ::google::protobuf::FieldDescriptorProto >*
   3855 DescriptorProto::mutable_field() {
   3856   // @@protoc_insertion_point(field_mutable_list:google.protobuf.DescriptorProto.field)
   3857   return &field_;
   3858 }
   3859 const ::google::protobuf::RepeatedPtrField< ::google::protobuf::FieldDescriptorProto >&
   3860 DescriptorProto::field() const {
   3861   // @@protoc_insertion_point(field_list:google.protobuf.DescriptorProto.field)
   3862   return field_;
   3863 }
   3864 
   3865 // repeated .google.protobuf.FieldDescriptorProto extension = 6;
   3866 int DescriptorProto::extension_size() const {
   3867   return extension_.size();
   3868 }
   3869 void DescriptorProto::clear_extension() {
   3870   extension_.Clear();
   3871 }
   3872 const ::google::protobuf::FieldDescriptorProto& DescriptorProto::extension(int index) const {
   3873   // @@protoc_insertion_point(field_get:google.protobuf.DescriptorProto.extension)
   3874   return extension_.Get(index);
   3875 }
   3876 ::google::protobuf::FieldDescriptorProto* DescriptorProto::mutable_extension(int index) {
   3877   // @@protoc_insertion_point(field_mutable:google.protobuf.DescriptorProto.extension)
   3878   return extension_.Mutable(index);
   3879 }
   3880 ::google::protobuf::FieldDescriptorProto* DescriptorProto::add_extension() {
   3881   // @@protoc_insertion_point(field_add:google.protobuf.DescriptorProto.extension)
   3882   return extension_.Add();
   3883 }
   3884 ::google::protobuf::RepeatedPtrField< ::google::protobuf::FieldDescriptorProto >*
   3885 DescriptorProto::mutable_extension() {
   3886   // @@protoc_insertion_point(field_mutable_list:google.protobuf.DescriptorProto.extension)
   3887   return &extension_;
   3888 }
   3889 const ::google::protobuf::RepeatedPtrField< ::google::protobuf::FieldDescriptorProto >&
   3890 DescriptorProto::extension() const {
   3891   // @@protoc_insertion_point(field_list:google.protobuf.DescriptorProto.extension)
   3892   return extension_;
   3893 }
   3894 
   3895 // repeated .google.protobuf.DescriptorProto nested_type = 3;
   3896 int DescriptorProto::nested_type_size() const {
   3897   return nested_type_.size();
   3898 }
   3899 void DescriptorProto::clear_nested_type() {
   3900   nested_type_.Clear();
   3901 }
   3902 const ::google::protobuf::DescriptorProto& DescriptorProto::nested_type(int index) const {
   3903   // @@protoc_insertion_point(field_get:google.protobuf.DescriptorProto.nested_type)
   3904   return nested_type_.Get(index);
   3905 }
   3906 ::google::protobuf::DescriptorProto* DescriptorProto::mutable_nested_type(int index) {
   3907   // @@protoc_insertion_point(field_mutable:google.protobuf.DescriptorProto.nested_type)
   3908   return nested_type_.Mutable(index);
   3909 }
   3910 ::google::protobuf::DescriptorProto* DescriptorProto::add_nested_type() {
   3911   // @@protoc_insertion_point(field_add:google.protobuf.DescriptorProto.nested_type)
   3912   return nested_type_.Add();
   3913 }
   3914 ::google::protobuf::RepeatedPtrField< ::google::protobuf::DescriptorProto >*
   3915 DescriptorProto::mutable_nested_type() {
   3916   // @@protoc_insertion_point(field_mutable_list:google.protobuf.DescriptorProto.nested_type)
   3917   return &nested_type_;
   3918 }
   3919 const ::google::protobuf::RepeatedPtrField< ::google::protobuf::DescriptorProto >&
   3920 DescriptorProto::nested_type() const {
   3921   // @@protoc_insertion_point(field_list:google.protobuf.DescriptorProto.nested_type)
   3922   return nested_type_;
   3923 }
   3924 
   3925 // repeated .google.protobuf.EnumDescriptorProto enum_type = 4;
   3926 int DescriptorProto::enum_type_size() const {
   3927   return enum_type_.size();
   3928 }
   3929 void DescriptorProto::clear_enum_type() {
   3930   enum_type_.Clear();
   3931 }
   3932 const ::google::protobuf::EnumDescriptorProto& DescriptorProto::enum_type(int index) const {
   3933   // @@protoc_insertion_point(field_get:google.protobuf.DescriptorProto.enum_type)
   3934   return enum_type_.Get(index);
   3935 }
   3936 ::google::protobuf::EnumDescriptorProto* DescriptorProto::mutable_enum_type(int index) {
   3937   // @@protoc_insertion_point(field_mutable:google.protobuf.DescriptorProto.enum_type)
   3938   return enum_type_.Mutable(index);
   3939 }
   3940 ::google::protobuf::EnumDescriptorProto* DescriptorProto::add_enum_type() {
   3941   // @@protoc_insertion_point(field_add:google.protobuf.DescriptorProto.enum_type)
   3942   return enum_type_.Add();
   3943 }
   3944 ::google::protobuf::RepeatedPtrField< ::google::protobuf::EnumDescriptorProto >*
   3945 DescriptorProto::mutable_enum_type() {
   3946   // @@protoc_insertion_point(field_mutable_list:google.protobuf.DescriptorProto.enum_type)
   3947   return &enum_type_;
   3948 }
   3949 const ::google::protobuf::RepeatedPtrField< ::google::protobuf::EnumDescriptorProto >&
   3950 DescriptorProto::enum_type() const {
   3951   // @@protoc_insertion_point(field_list:google.protobuf.DescriptorProto.enum_type)
   3952   return enum_type_;
   3953 }
   3954 
   3955 // repeated .google.protobuf.DescriptorProto.ExtensionRange extension_range = 5;
   3956 int DescriptorProto::extension_range_size() const {
   3957   return extension_range_.size();
   3958 }
   3959 void DescriptorProto::clear_extension_range() {
   3960   extension_range_.Clear();
   3961 }
   3962 const ::google::protobuf::DescriptorProto_ExtensionRange& DescriptorProto::extension_range(int index) const {
   3963   // @@protoc_insertion_point(field_get:google.protobuf.DescriptorProto.extension_range)
   3964   return extension_range_.Get(index);
   3965 }
   3966 ::google::protobuf::DescriptorProto_ExtensionRange* DescriptorProto::mutable_extension_range(int index) {
   3967   // @@protoc_insertion_point(field_mutable:google.protobuf.DescriptorProto.extension_range)
   3968   return extension_range_.Mutable(index);
   3969 }
   3970 ::google::protobuf::DescriptorProto_ExtensionRange* DescriptorProto::add_extension_range() {
   3971   // @@protoc_insertion_point(field_add:google.protobuf.DescriptorProto.extension_range)
   3972   return extension_range_.Add();
   3973 }
   3974 ::google::protobuf::RepeatedPtrField< ::google::protobuf::DescriptorProto_ExtensionRange >*
   3975 DescriptorProto::mutable_extension_range() {
   3976   // @@protoc_insertion_point(field_mutable_list:google.protobuf.DescriptorProto.extension_range)
   3977   return &extension_range_;
   3978 }
   3979 const ::google::protobuf::RepeatedPtrField< ::google::protobuf::DescriptorProto_ExtensionRange >&
   3980 DescriptorProto::extension_range() const {
   3981   // @@protoc_insertion_point(field_list:google.protobuf.DescriptorProto.extension_range)
   3982   return extension_range_;
   3983 }
   3984 
   3985 // repeated .google.protobuf.OneofDescriptorProto oneof_decl = 8;
   3986 int DescriptorProto::oneof_decl_size() const {
   3987   return oneof_decl_.size();
   3988 }
   3989 void DescriptorProto::clear_oneof_decl() {
   3990   oneof_decl_.Clear();
   3991 }
   3992 const ::google::protobuf::OneofDescriptorProto& DescriptorProto::oneof_decl(int index) const {
   3993   // @@protoc_insertion_point(field_get:google.protobuf.DescriptorProto.oneof_decl)
   3994   return oneof_decl_.Get(index);
   3995 }
   3996 ::google::protobuf::OneofDescriptorProto* DescriptorProto::mutable_oneof_decl(int index) {
   3997   // @@protoc_insertion_point(field_mutable:google.protobuf.DescriptorProto.oneof_decl)
   3998   return oneof_decl_.Mutable(index);
   3999 }
   4000 ::google::protobuf::OneofDescriptorProto* DescriptorProto::add_oneof_decl() {
   4001   // @@protoc_insertion_point(field_add:google.protobuf.DescriptorProto.oneof_decl)
   4002   return oneof_decl_.Add();
   4003 }
   4004 ::google::protobuf::RepeatedPtrField< ::google::protobuf::OneofDescriptorProto >*
   4005 DescriptorProto::mutable_oneof_decl() {
   4006   // @@protoc_insertion_point(field_mutable_list:google.protobuf.DescriptorProto.oneof_decl)
   4007   return &oneof_decl_;
   4008 }
   4009 const ::google::protobuf::RepeatedPtrField< ::google::protobuf::OneofDescriptorProto >&
   4010 DescriptorProto::oneof_decl() const {
   4011   // @@protoc_insertion_point(field_list:google.protobuf.DescriptorProto.oneof_decl)
   4012   return oneof_decl_;
   4013 }
   4014 
   4015 // optional .google.protobuf.MessageOptions options = 7;
   4016 bool DescriptorProto::has_options() const {
   4017   return (_has_bits_[0] & 0x00000080u) != 0;
   4018 }
   4019 void DescriptorProto::set_has_options() {
   4020   _has_bits_[0] |= 0x00000080u;
   4021 }
   4022 void DescriptorProto::clear_has_options() {
   4023   _has_bits_[0] &= ~0x00000080u;
   4024 }
   4025 void DescriptorProto::clear_options() {
   4026   if (options_ != NULL) options_->::google::protobuf::MessageOptions::Clear();
   4027   clear_has_options();
   4028 }
   4029 const ::google::protobuf::MessageOptions& DescriptorProto::options() const {
   4030   // @@protoc_insertion_point(field_get:google.protobuf.DescriptorProto.options)
   4031   return options_ != NULL ? *options_ : *default_instance_->options_;
   4032 }
   4033 ::google::protobuf::MessageOptions* DescriptorProto::mutable_options() {
   4034   set_has_options();
   4035   if (options_ == NULL) {
   4036     options_ = new ::google::protobuf::MessageOptions;
   4037   }
   4038   // @@protoc_insertion_point(field_mutable:google.protobuf.DescriptorProto.options)
   4039   return options_;
   4040 }
   4041 ::google::protobuf::MessageOptions* DescriptorProto::release_options() {
   4042   // @@protoc_insertion_point(field_release:google.protobuf.DescriptorProto.options)
   4043   clear_has_options();
   4044   ::google::protobuf::MessageOptions* temp = options_;
   4045   options_ = NULL;
   4046   return temp;
   4047 }
   4048 void DescriptorProto::set_allocated_options(::google::protobuf::MessageOptions* options) {
   4049   delete options_;
   4050   options_ = options;
   4051   if (options) {
   4052     set_has_options();
   4053   } else {
   4054     clear_has_options();
   4055   }
   4056   // @@protoc_insertion_point(field_set_allocated:google.protobuf.DescriptorProto.options)
   4057 }
   4058 
   4059 // repeated .google.protobuf.DescriptorProto.ReservedRange reserved_range = 9;
   4060 int DescriptorProto::reserved_range_size() const {
   4061   return reserved_range_.size();
   4062 }
   4063 void DescriptorProto::clear_reserved_range() {
   4064   reserved_range_.Clear();
   4065 }
   4066 const ::google::protobuf::DescriptorProto_ReservedRange& DescriptorProto::reserved_range(int index) const {
   4067   // @@protoc_insertion_point(field_get:google.protobuf.DescriptorProto.reserved_range)
   4068   return reserved_range_.Get(index);
   4069 }
   4070 ::google::protobuf::DescriptorProto_ReservedRange* DescriptorProto::mutable_reserved_range(int index) {
   4071   // @@protoc_insertion_point(field_mutable:google.protobuf.DescriptorProto.reserved_range)
   4072   return reserved_range_.Mutable(index);
   4073 }
   4074 ::google::protobuf::DescriptorProto_ReservedRange* DescriptorProto::add_reserved_range() {
   4075   // @@protoc_insertion_point(field_add:google.protobuf.DescriptorProto.reserved_range)
   4076   return reserved_range_.Add();
   4077 }
   4078 ::google::protobuf::RepeatedPtrField< ::google::protobuf::DescriptorProto_ReservedRange >*
   4079 DescriptorProto::mutable_reserved_range() {
   4080   // @@protoc_insertion_point(field_mutable_list:google.protobuf.DescriptorProto.reserved_range)
   4081   return &reserved_range_;
   4082 }
   4083 const ::google::protobuf::RepeatedPtrField< ::google::protobuf::DescriptorProto_ReservedRange >&
   4084 DescriptorProto::reserved_range() const {
   4085   // @@protoc_insertion_point(field_list:google.protobuf.DescriptorProto.reserved_range)
   4086   return reserved_range_;
   4087 }
   4088 
   4089 // repeated string reserved_name = 10;
   4090 int DescriptorProto::reserved_name_size() const {
   4091   return reserved_name_.size();
   4092 }
   4093 void DescriptorProto::clear_reserved_name() {
   4094   reserved_name_.Clear();
   4095 }
   4096  const ::std::string& DescriptorProto::reserved_name(int index) const {
   4097   // @@protoc_insertion_point(field_get:google.protobuf.DescriptorProto.reserved_name)
   4098   return reserved_name_.Get(index);
   4099 }
   4100  ::std::string* DescriptorProto::mutable_reserved_name(int index) {
   4101   // @@protoc_insertion_point(field_mutable:google.protobuf.DescriptorProto.reserved_name)
   4102   return reserved_name_.Mutable(index);
   4103 }
   4104  void DescriptorProto::set_reserved_name(int index, const ::std::string& value) {
   4105   // @@protoc_insertion_point(field_set:google.protobuf.DescriptorProto.reserved_name)
   4106   reserved_name_.Mutable(index)->assign(value);
   4107 }
   4108  void DescriptorProto::set_reserved_name(int index, const char* value) {
   4109   reserved_name_.Mutable(index)->assign(value);
   4110   // @@protoc_insertion_point(field_set_char:google.protobuf.DescriptorProto.reserved_name)
   4111 }
   4112  void DescriptorProto::set_reserved_name(int index, const char* value, size_t size) {
   4113   reserved_name_.Mutable(index)->assign(
   4114     reinterpret_cast<const char*>(value), size);
   4115   // @@protoc_insertion_point(field_set_pointer:google.protobuf.DescriptorProto.reserved_name)
   4116 }
   4117  ::std::string* DescriptorProto::add_reserved_name() {
   4118   // @@protoc_insertion_point(field_add_mutable:google.protobuf.DescriptorProto.reserved_name)
   4119   return reserved_name_.Add();
   4120 }
   4121  void DescriptorProto::add_reserved_name(const ::std::string& value) {
   4122   reserved_name_.Add()->assign(value);
   4123   // @@protoc_insertion_point(field_add:google.protobuf.DescriptorProto.reserved_name)
   4124 }
   4125  void DescriptorProto::add_reserved_name(const char* value) {
   4126   reserved_name_.Add()->assign(value);
   4127   // @@protoc_insertion_point(field_add_char:google.protobuf.DescriptorProto.reserved_name)
   4128 }
   4129  void DescriptorProto::add_reserved_name(const char* value, size_t size) {
   4130   reserved_name_.Add()->assign(reinterpret_cast<const char*>(value), size);
   4131   // @@protoc_insertion_point(field_add_pointer:google.protobuf.DescriptorProto.reserved_name)
   4132 }
   4133  const ::google::protobuf::RepeatedPtrField< ::std::string>&
   4134 DescriptorProto::reserved_name() const {
   4135   // @@protoc_insertion_point(field_list:google.protobuf.DescriptorProto.reserved_name)
   4136   return reserved_name_;
   4137 }
   4138  ::google::protobuf::RepeatedPtrField< ::std::string>*
   4139 DescriptorProto::mutable_reserved_name() {
   4140   // @@protoc_insertion_point(field_mutable_list:google.protobuf.DescriptorProto.reserved_name)
   4141   return &reserved_name_;
   4142 }
   4143 
   4144 #endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
   4145 
   4146 // ===================================================================
   4147 
   4148 const ::google::protobuf::EnumDescriptor* FieldDescriptorProto_Type_descriptor() {
   4149   protobuf_AssignDescriptorsOnce();
   4150   return FieldDescriptorProto_Type_descriptor_;
   4151 }
   4152 bool FieldDescriptorProto_Type_IsValid(int value) {
   4153   switch(value) {
   4154     case 1:
   4155     case 2:
   4156     case 3:
   4157     case 4:
   4158     case 5:
   4159     case 6:
   4160     case 7:
   4161     case 8:
   4162     case 9:
   4163     case 10:
   4164     case 11:
   4165     case 12:
   4166     case 13:
   4167     case 14:
   4168     case 15:
   4169     case 16:
   4170     case 17:
   4171     case 18:
   4172       return true;
   4173     default:
   4174       return false;
   4175   }
   4176 }
   4177 
   4178 #if !defined(_MSC_VER) || _MSC_VER >= 1900
   4179 const FieldDescriptorProto_Type FieldDescriptorProto::TYPE_DOUBLE;
   4180 const FieldDescriptorProto_Type FieldDescriptorProto::TYPE_FLOAT;
   4181 const FieldDescriptorProto_Type FieldDescriptorProto::TYPE_INT64;
   4182 const FieldDescriptorProto_Type FieldDescriptorProto::TYPE_UINT64;
   4183 const FieldDescriptorProto_Type FieldDescriptorProto::TYPE_INT32;
   4184 const FieldDescriptorProto_Type FieldDescriptorProto::TYPE_FIXED64;
   4185 const FieldDescriptorProto_Type FieldDescriptorProto::TYPE_FIXED32;
   4186 const FieldDescriptorProto_Type FieldDescriptorProto::TYPE_BOOL;
   4187 const FieldDescriptorProto_Type FieldDescriptorProto::TYPE_STRING;
   4188 const FieldDescriptorProto_Type FieldDescriptorProto::TYPE_GROUP;
   4189 const FieldDescriptorProto_Type FieldDescriptorProto::TYPE_MESSAGE;
   4190 const FieldDescriptorProto_Type FieldDescriptorProto::TYPE_BYTES;
   4191 const FieldDescriptorProto_Type FieldDescriptorProto::TYPE_UINT32;
   4192 const FieldDescriptorProto_Type FieldDescriptorProto::TYPE_ENUM;
   4193 const FieldDescriptorProto_Type FieldDescriptorProto::TYPE_SFIXED32;
   4194 const FieldDescriptorProto_Type FieldDescriptorProto::TYPE_SFIXED64;
   4195 const FieldDescriptorProto_Type FieldDescriptorProto::TYPE_SINT32;
   4196 const FieldDescriptorProto_Type FieldDescriptorProto::TYPE_SINT64;
   4197 const FieldDescriptorProto_Type FieldDescriptorProto::Type_MIN;
   4198 const FieldDescriptorProto_Type FieldDescriptorProto::Type_MAX;
   4199 const int FieldDescriptorProto::Type_ARRAYSIZE;
   4200 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
   4201 const ::google::protobuf::EnumDescriptor* FieldDescriptorProto_Label_descriptor() {
   4202   protobuf_AssignDescriptorsOnce();
   4203   return FieldDescriptorProto_Label_descriptor_;
   4204 }
   4205 bool FieldDescriptorProto_Label_IsValid(int value) {
   4206   switch(value) {
   4207     case 1:
   4208     case 2:
   4209     case 3:
   4210       return true;
   4211     default:
   4212       return false;
   4213   }
   4214 }
   4215 
   4216 #if !defined(_MSC_VER) || _MSC_VER >= 1900
   4217 const FieldDescriptorProto_Label FieldDescriptorProto::LABEL_OPTIONAL;
   4218 const FieldDescriptorProto_Label FieldDescriptorProto::LABEL_REQUIRED;
   4219 const FieldDescriptorProto_Label FieldDescriptorProto::LABEL_REPEATED;
   4220 const FieldDescriptorProto_Label FieldDescriptorProto::Label_MIN;
   4221 const FieldDescriptorProto_Label FieldDescriptorProto::Label_MAX;
   4222 const int FieldDescriptorProto::Label_ARRAYSIZE;
   4223 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
   4224 #if !defined(_MSC_VER) || _MSC_VER >= 1900
   4225 const int FieldDescriptorProto::kNameFieldNumber;
   4226 const int FieldDescriptorProto::kNumberFieldNumber;
   4227 const int FieldDescriptorProto::kLabelFieldNumber;
   4228 const int FieldDescriptorProto::kTypeFieldNumber;
   4229 const int FieldDescriptorProto::kTypeNameFieldNumber;
   4230 const int FieldDescriptorProto::kExtendeeFieldNumber;
   4231 const int FieldDescriptorProto::kDefaultValueFieldNumber;
   4232 const int FieldDescriptorProto::kOneofIndexFieldNumber;
   4233 const int FieldDescriptorProto::kJsonNameFieldNumber;
   4234 const int FieldDescriptorProto::kOptionsFieldNumber;
   4235 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
   4236 
   4237 FieldDescriptorProto::FieldDescriptorProto()
   4238   : ::google::protobuf::Message(), _internal_metadata_(NULL) {
   4239   SharedCtor();
   4240   // @@protoc_insertion_point(constructor:google.protobuf.FieldDescriptorProto)
   4241 }
   4242 
   4243 void FieldDescriptorProto::InitAsDefaultInstance() {
   4244   options_ = const_cast< ::google::protobuf::FieldOptions*>(&::google::protobuf::FieldOptions::default_instance());
   4245 }
   4246 
   4247 FieldDescriptorProto::FieldDescriptorProto(const FieldDescriptorProto& from)
   4248   : ::google::protobuf::Message(),
   4249     _internal_metadata_(NULL) {
   4250   SharedCtor();
   4251   MergeFrom(from);
   4252   // @@protoc_insertion_point(copy_constructor:google.protobuf.FieldDescriptorProto)
   4253 }
   4254 
   4255 void FieldDescriptorProto::SharedCtor() {
   4256   ::google::protobuf::internal::GetEmptyString();
   4257   _cached_size_ = 0;
   4258   name_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   4259   number_ = 0;
   4260   label_ = 1;
   4261   type_ = 1;
   4262   type_name_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   4263   extendee_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   4264   default_value_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   4265   oneof_index_ = 0;
   4266   json_name_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   4267   options_ = NULL;
   4268   ::memset(_has_bits_, 0, sizeof(_has_bits_));
   4269 }
   4270 
   4271 FieldDescriptorProto::~FieldDescriptorProto() {
   4272   // @@protoc_insertion_point(destructor:google.protobuf.FieldDescriptorProto)
   4273   SharedDtor();
   4274 }
   4275 
   4276 void FieldDescriptorProto::SharedDtor() {
   4277   name_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   4278   type_name_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   4279   extendee_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   4280   default_value_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   4281   json_name_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   4282   if (this != default_instance_) {
   4283     delete options_;
   4284   }
   4285 }
   4286 
   4287 void FieldDescriptorProto::SetCachedSize(int size) const {
   4288   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   4289   _cached_size_ = size;
   4290   GOOGLE_SAFE_CONCURRENT_WRITES_END();
   4291 }
   4292 const ::google::protobuf::Descriptor* FieldDescriptorProto::descriptor() {
   4293   protobuf_AssignDescriptorsOnce();
   4294   return FieldDescriptorProto_descriptor_;
   4295 }
   4296 
   4297 const FieldDescriptorProto& FieldDescriptorProto::default_instance() {
   4298   if (default_instance_ == NULL) protobuf_AddDesc_google_2fprotobuf_2fdescriptor_2eproto();
   4299   return *default_instance_;
   4300 }
   4301 
   4302 FieldDescriptorProto* FieldDescriptorProto::default_instance_ = NULL;
   4303 
   4304 FieldDescriptorProto* FieldDescriptorProto::New(::google::protobuf::Arena* arena) const {
   4305   FieldDescriptorProto* n = new FieldDescriptorProto;
   4306   if (arena != NULL) {
   4307     arena->Own(n);
   4308   }
   4309   return n;
   4310 }
   4311 
   4312 void FieldDescriptorProto::Clear() {
   4313 // @@protoc_insertion_point(message_clear_start:google.protobuf.FieldDescriptorProto)
   4314   if (_has_bits_[0 / 32] & 255u) {
   4315     if (has_name()) {
   4316       name_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   4317     }
   4318     number_ = 0;
   4319     label_ = 1;
   4320     type_ = 1;
   4321     if (has_type_name()) {
   4322       type_name_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   4323     }
   4324     if (has_extendee()) {
   4325       extendee_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   4326     }
   4327     if (has_default_value()) {
   4328       default_value_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   4329     }
   4330     oneof_index_ = 0;
   4331   }
   4332   if (_has_bits_[8 / 32] & 768u) {
   4333     if (has_json_name()) {
   4334       json_name_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   4335     }
   4336     if (has_options()) {
   4337       if (options_ != NULL) options_->::google::protobuf::FieldOptions::Clear();
   4338     }
   4339   }
   4340   ::memset(_has_bits_, 0, sizeof(_has_bits_));
   4341   if (_internal_metadata_.have_unknown_fields()) {
   4342     mutable_unknown_fields()->Clear();
   4343   }
   4344 }
   4345 
   4346 bool FieldDescriptorProto::MergePartialFromCodedStream(
   4347     ::google::protobuf::io::CodedInputStream* input) {
   4348 #define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
   4349   ::google::protobuf::uint32 tag;
   4350   // @@protoc_insertion_point(parse_start:google.protobuf.FieldDescriptorProto)
   4351   for (;;) {
   4352     ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
   4353     tag = p.first;
   4354     if (!p.second) goto handle_unusual;
   4355     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
   4356       // optional string name = 1;
   4357       case 1: {
   4358         if (tag == 10) {
   4359           DO_(::google::protobuf::internal::WireFormatLite::ReadString(
   4360                 input, this->mutable_name()));
   4361           ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   4362             this->name().data(), this->name().length(),
   4363             ::google::protobuf::internal::WireFormat::PARSE,
   4364             "google.protobuf.FieldDescriptorProto.name");
   4365         } else {
   4366           goto handle_unusual;
   4367         }
   4368         if (input->ExpectTag(18)) goto parse_extendee;
   4369         break;
   4370       }
   4371 
   4372       // optional string extendee = 2;
   4373       case 2: {
   4374         if (tag == 18) {
   4375          parse_extendee:
   4376           DO_(::google::protobuf::internal::WireFormatLite::ReadString(
   4377                 input, this->mutable_extendee()));
   4378           ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   4379             this->extendee().data(), this->extendee().length(),
   4380             ::google::protobuf::internal::WireFormat::PARSE,
   4381             "google.protobuf.FieldDescriptorProto.extendee");
   4382         } else {
   4383           goto handle_unusual;
   4384         }
   4385         if (input->ExpectTag(24)) goto parse_number;
   4386         break;
   4387       }
   4388 
   4389       // optional int32 number = 3;
   4390       case 3: {
   4391         if (tag == 24) {
   4392          parse_number:
   4393           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
   4394                    ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
   4395                  input, &number_)));
   4396           set_has_number();
   4397         } else {
   4398           goto handle_unusual;
   4399         }
   4400         if (input->ExpectTag(32)) goto parse_label;
   4401         break;
   4402       }
   4403 
   4404       // optional .google.protobuf.FieldDescriptorProto.Label label = 4;
   4405       case 4: {
   4406         if (tag == 32) {
   4407          parse_label:
   4408           int value;
   4409           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
   4410                    int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>(
   4411                  input, &value)));
   4412           if (::google::protobuf::FieldDescriptorProto_Label_IsValid(value)) {
   4413             set_label(static_cast< ::google::protobuf::FieldDescriptorProto_Label >(value));
   4414           } else {
   4415             mutable_unknown_fields()->AddVarint(4, value);
   4416           }
   4417         } else {
   4418           goto handle_unusual;
   4419         }
   4420         if (input->ExpectTag(40)) goto parse_type;
   4421         break;
   4422       }
   4423 
   4424       // optional .google.protobuf.FieldDescriptorProto.Type type = 5;
   4425       case 5: {
   4426         if (tag == 40) {
   4427          parse_type:
   4428           int value;
   4429           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
   4430                    int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>(
   4431                  input, &value)));
   4432           if (::google::protobuf::FieldDescriptorProto_Type_IsValid(value)) {
   4433             set_type(static_cast< ::google::protobuf::FieldDescriptorProto_Type >(value));
   4434           } else {
   4435             mutable_unknown_fields()->AddVarint(5, value);
   4436           }
   4437         } else {
   4438           goto handle_unusual;
   4439         }
   4440         if (input->ExpectTag(50)) goto parse_type_name;
   4441         break;
   4442       }
   4443 
   4444       // optional string type_name = 6;
   4445       case 6: {
   4446         if (tag == 50) {
   4447          parse_type_name:
   4448           DO_(::google::protobuf::internal::WireFormatLite::ReadString(
   4449                 input, this->mutable_type_name()));
   4450           ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   4451             this->type_name().data(), this->type_name().length(),
   4452             ::google::protobuf::internal::WireFormat::PARSE,
   4453             "google.protobuf.FieldDescriptorProto.type_name");
   4454         } else {
   4455           goto handle_unusual;
   4456         }
   4457         if (input->ExpectTag(58)) goto parse_default_value;
   4458         break;
   4459       }
   4460 
   4461       // optional string default_value = 7;
   4462       case 7: {
   4463         if (tag == 58) {
   4464          parse_default_value:
   4465           DO_(::google::protobuf::internal::WireFormatLite::ReadString(
   4466                 input, this->mutable_default_value()));
   4467           ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   4468             this->default_value().data(), this->default_value().length(),
   4469             ::google::protobuf::internal::WireFormat::PARSE,
   4470             "google.protobuf.FieldDescriptorProto.default_value");
   4471         } else {
   4472           goto handle_unusual;
   4473         }
   4474         if (input->ExpectTag(66)) goto parse_options;
   4475         break;
   4476       }
   4477 
   4478       // optional .google.protobuf.FieldOptions options = 8;
   4479       case 8: {
   4480         if (tag == 66) {
   4481          parse_options:
   4482           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
   4483                input, mutable_options()));
   4484         } else {
   4485           goto handle_unusual;
   4486         }
   4487         if (input->ExpectTag(72)) goto parse_oneof_index;
   4488         break;
   4489       }
   4490 
   4491       // optional int32 oneof_index = 9;
   4492       case 9: {
   4493         if (tag == 72) {
   4494          parse_oneof_index:
   4495           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
   4496                    ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
   4497                  input, &oneof_index_)));
   4498           set_has_oneof_index();
   4499         } else {
   4500           goto handle_unusual;
   4501         }
   4502         if (input->ExpectTag(82)) goto parse_json_name;
   4503         break;
   4504       }
   4505 
   4506       // optional string json_name = 10;
   4507       case 10: {
   4508         if (tag == 82) {
   4509          parse_json_name:
   4510           DO_(::google::protobuf::internal::WireFormatLite::ReadString(
   4511                 input, this->mutable_json_name()));
   4512           ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   4513             this->json_name().data(), this->json_name().length(),
   4514             ::google::protobuf::internal::WireFormat::PARSE,
   4515             "google.protobuf.FieldDescriptorProto.json_name");
   4516         } else {
   4517           goto handle_unusual;
   4518         }
   4519         if (input->ExpectAtEnd()) goto success;
   4520         break;
   4521       }
   4522 
   4523       default: {
   4524       handle_unusual:
   4525         if (tag == 0 ||
   4526             ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
   4527             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
   4528           goto success;
   4529         }
   4530         DO_(::google::protobuf::internal::WireFormat::SkipField(
   4531               input, tag, mutable_unknown_fields()));
   4532         break;
   4533       }
   4534     }
   4535   }
   4536 success:
   4537   // @@protoc_insertion_point(parse_success:google.protobuf.FieldDescriptorProto)
   4538   return true;
   4539 failure:
   4540   // @@protoc_insertion_point(parse_failure:google.protobuf.FieldDescriptorProto)
   4541   return false;
   4542 #undef DO_
   4543 }
   4544 
   4545 void FieldDescriptorProto::SerializeWithCachedSizes(
   4546     ::google::protobuf::io::CodedOutputStream* output) const {
   4547   // @@protoc_insertion_point(serialize_start:google.protobuf.FieldDescriptorProto)
   4548   // optional string name = 1;
   4549   if (has_name()) {
   4550     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   4551       this->name().data(), this->name().length(),
   4552       ::google::protobuf::internal::WireFormat::SERIALIZE,
   4553       "google.protobuf.FieldDescriptorProto.name");
   4554     ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
   4555       1, this->name(), output);
   4556   }
   4557 
   4558   // optional string extendee = 2;
   4559   if (has_extendee()) {
   4560     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   4561       this->extendee().data(), this->extendee().length(),
   4562       ::google::protobuf::internal::WireFormat::SERIALIZE,
   4563       "google.protobuf.FieldDescriptorProto.extendee");
   4564     ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
   4565       2, this->extendee(), output);
   4566   }
   4567 
   4568   // optional int32 number = 3;
   4569   if (has_number()) {
   4570     ::google::protobuf::internal::WireFormatLite::WriteInt32(3, this->number(), output);
   4571   }
   4572 
   4573   // optional .google.protobuf.FieldDescriptorProto.Label label = 4;
   4574   if (has_label()) {
   4575     ::google::protobuf::internal::WireFormatLite::WriteEnum(
   4576       4, this->label(), output);
   4577   }
   4578 
   4579   // optional .google.protobuf.FieldDescriptorProto.Type type = 5;
   4580   if (has_type()) {
   4581     ::google::protobuf::internal::WireFormatLite::WriteEnum(
   4582       5, this->type(), output);
   4583   }
   4584 
   4585   // optional string type_name = 6;
   4586   if (has_type_name()) {
   4587     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   4588       this->type_name().data(), this->type_name().length(),
   4589       ::google::protobuf::internal::WireFormat::SERIALIZE,
   4590       "google.protobuf.FieldDescriptorProto.type_name");
   4591     ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
   4592       6, this->type_name(), output);
   4593   }
   4594 
   4595   // optional string default_value = 7;
   4596   if (has_default_value()) {
   4597     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   4598       this->default_value().data(), this->default_value().length(),
   4599       ::google::protobuf::internal::WireFormat::SERIALIZE,
   4600       "google.protobuf.FieldDescriptorProto.default_value");
   4601     ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
   4602       7, this->default_value(), output);
   4603   }
   4604 
   4605   // optional .google.protobuf.FieldOptions options = 8;
   4606   if (has_options()) {
   4607     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
   4608       8, *this->options_, output);
   4609   }
   4610 
   4611   // optional int32 oneof_index = 9;
   4612   if (has_oneof_index()) {
   4613     ::google::protobuf::internal::WireFormatLite::WriteInt32(9, this->oneof_index(), output);
   4614   }
   4615 
   4616   // optional string json_name = 10;
   4617   if (has_json_name()) {
   4618     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   4619       this->json_name().data(), this->json_name().length(),
   4620       ::google::protobuf::internal::WireFormat::SERIALIZE,
   4621       "google.protobuf.FieldDescriptorProto.json_name");
   4622     ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
   4623       10, this->json_name(), output);
   4624   }
   4625 
   4626   if (_internal_metadata_.have_unknown_fields()) {
   4627     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
   4628         unknown_fields(), output);
   4629   }
   4630   // @@protoc_insertion_point(serialize_end:google.protobuf.FieldDescriptorProto)
   4631 }
   4632 
   4633 ::google::protobuf::uint8* FieldDescriptorProto::SerializeWithCachedSizesToArray(
   4634     ::google::protobuf::uint8* target) const {
   4635   // @@protoc_insertion_point(serialize_to_array_start:google.protobuf.FieldDescriptorProto)
   4636   // optional string name = 1;
   4637   if (has_name()) {
   4638     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   4639       this->name().data(), this->name().length(),
   4640       ::google::protobuf::internal::WireFormat::SERIALIZE,
   4641       "google.protobuf.FieldDescriptorProto.name");
   4642     target =
   4643       ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
   4644         1, this->name(), target);
   4645   }
   4646 
   4647   // optional string extendee = 2;
   4648   if (has_extendee()) {
   4649     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   4650       this->extendee().data(), this->extendee().length(),
   4651       ::google::protobuf::internal::WireFormat::SERIALIZE,
   4652       "google.protobuf.FieldDescriptorProto.extendee");
   4653     target =
   4654       ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
   4655         2, this->extendee(), target);
   4656   }
   4657 
   4658   // optional int32 number = 3;
   4659   if (has_number()) {
   4660     target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(3, this->number(), target);
   4661   }
   4662 
   4663   // optional .google.protobuf.FieldDescriptorProto.Label label = 4;
   4664   if (has_label()) {
   4665     target = ::google::protobuf::internal::WireFormatLite::WriteEnumToArray(
   4666       4, this->label(), target);
   4667   }
   4668 
   4669   // optional .google.protobuf.FieldDescriptorProto.Type type = 5;
   4670   if (has_type()) {
   4671     target = ::google::protobuf::internal::WireFormatLite::WriteEnumToArray(
   4672       5, this->type(), target);
   4673   }
   4674 
   4675   // optional string type_name = 6;
   4676   if (has_type_name()) {
   4677     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   4678       this->type_name().data(), this->type_name().length(),
   4679       ::google::protobuf::internal::WireFormat::SERIALIZE,
   4680       "google.protobuf.FieldDescriptorProto.type_name");
   4681     target =
   4682       ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
   4683         6, this->type_name(), target);
   4684   }
   4685 
   4686   // optional string default_value = 7;
   4687   if (has_default_value()) {
   4688     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   4689       this->default_value().data(), this->default_value().length(),
   4690       ::google::protobuf::internal::WireFormat::SERIALIZE,
   4691       "google.protobuf.FieldDescriptorProto.default_value");
   4692     target =
   4693       ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
   4694         7, this->default_value(), target);
   4695   }
   4696 
   4697   // optional .google.protobuf.FieldOptions options = 8;
   4698   if (has_options()) {
   4699     target = ::google::protobuf::internal::WireFormatLite::
   4700       WriteMessageNoVirtualToArray(
   4701         8, *this->options_, target);
   4702   }
   4703 
   4704   // optional int32 oneof_index = 9;
   4705   if (has_oneof_index()) {
   4706     target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(9, this->oneof_index(), target);
   4707   }
   4708 
   4709   // optional string json_name = 10;
   4710   if (has_json_name()) {
   4711     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   4712       this->json_name().data(), this->json_name().length(),
   4713       ::google::protobuf::internal::WireFormat::SERIALIZE,
   4714       "google.protobuf.FieldDescriptorProto.json_name");
   4715     target =
   4716       ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
   4717         10, this->json_name(), target);
   4718   }
   4719 
   4720   if (_internal_metadata_.have_unknown_fields()) {
   4721     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
   4722         unknown_fields(), target);
   4723   }
   4724   // @@protoc_insertion_point(serialize_to_array_end:google.protobuf.FieldDescriptorProto)
   4725   return target;
   4726 }
   4727 
   4728 int FieldDescriptorProto::ByteSize() const {
   4729 // @@protoc_insertion_point(message_byte_size_start:google.protobuf.FieldDescriptorProto)
   4730   int total_size = 0;
   4731 
   4732   if (_has_bits_[0 / 32] & 255u) {
   4733     // optional string name = 1;
   4734     if (has_name()) {
   4735       total_size += 1 +
   4736         ::google::protobuf::internal::WireFormatLite::StringSize(
   4737           this->name());
   4738     }
   4739 
   4740     // optional int32 number = 3;
   4741     if (has_number()) {
   4742       total_size += 1 +
   4743         ::google::protobuf::internal::WireFormatLite::Int32Size(
   4744           this->number());
   4745     }
   4746 
   4747     // optional .google.protobuf.FieldDescriptorProto.Label label = 4;
   4748     if (has_label()) {
   4749       total_size += 1 +
   4750         ::google::protobuf::internal::WireFormatLite::EnumSize(this->label());
   4751     }
   4752 
   4753     // optional .google.protobuf.FieldDescriptorProto.Type type = 5;
   4754     if (has_type()) {
   4755       total_size += 1 +
   4756         ::google::protobuf::internal::WireFormatLite::EnumSize(this->type());
   4757     }
   4758 
   4759     // optional string type_name = 6;
   4760     if (has_type_name()) {
   4761       total_size += 1 +
   4762         ::google::protobuf::internal::WireFormatLite::StringSize(
   4763           this->type_name());
   4764     }
   4765 
   4766     // optional string extendee = 2;
   4767     if (has_extendee()) {
   4768       total_size += 1 +
   4769         ::google::protobuf::internal::WireFormatLite::StringSize(
   4770           this->extendee());
   4771     }
   4772 
   4773     // optional string default_value = 7;
   4774     if (has_default_value()) {
   4775       total_size += 1 +
   4776         ::google::protobuf::internal::WireFormatLite::StringSize(
   4777           this->default_value());
   4778     }
   4779 
   4780     // optional int32 oneof_index = 9;
   4781     if (has_oneof_index()) {
   4782       total_size += 1 +
   4783         ::google::protobuf::internal::WireFormatLite::Int32Size(
   4784           this->oneof_index());
   4785     }
   4786 
   4787   }
   4788   if (_has_bits_[8 / 32] & 768u) {
   4789     // optional string json_name = 10;
   4790     if (has_json_name()) {
   4791       total_size += 1 +
   4792         ::google::protobuf::internal::WireFormatLite::StringSize(
   4793           this->json_name());
   4794     }
   4795 
   4796     // optional .google.protobuf.FieldOptions options = 8;
   4797     if (has_options()) {
   4798       total_size += 1 +
   4799         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
   4800           *this->options_);
   4801     }
   4802 
   4803   }
   4804   if (_internal_metadata_.have_unknown_fields()) {
   4805     total_size +=
   4806       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
   4807         unknown_fields());
   4808   }
   4809   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   4810   _cached_size_ = total_size;
   4811   GOOGLE_SAFE_CONCURRENT_WRITES_END();
   4812   return total_size;
   4813 }
   4814 
   4815 void FieldDescriptorProto::MergeFrom(const ::google::protobuf::Message& from) {
   4816 // @@protoc_insertion_point(generalized_merge_from_start:google.protobuf.FieldDescriptorProto)
   4817   if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
   4818   const FieldDescriptorProto* source =
   4819       ::google::protobuf::internal::DynamicCastToGenerated<const FieldDescriptorProto>(
   4820           &from);
   4821   if (source == NULL) {
   4822   // @@protoc_insertion_point(generalized_merge_from_cast_fail:google.protobuf.FieldDescriptorProto)
   4823     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
   4824   } else {
   4825   // @@protoc_insertion_point(generalized_merge_from_cast_success:google.protobuf.FieldDescriptorProto)
   4826     MergeFrom(*source);
   4827   }
   4828 }
   4829 
   4830 void FieldDescriptorProto::MergeFrom(const FieldDescriptorProto& from) {
   4831 // @@protoc_insertion_point(class_specific_merge_from_start:google.protobuf.FieldDescriptorProto)
   4832   if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
   4833   if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
   4834     if (from.has_name()) {
   4835       set_has_name();
   4836       name_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.name_);
   4837     }
   4838     if (from.has_number()) {
   4839       set_number(from.number());
   4840     }
   4841     if (from.has_label()) {
   4842       set_label(from.label());
   4843     }
   4844     if (from.has_type()) {
   4845       set_type(from.type());
   4846     }
   4847     if (from.has_type_name()) {
   4848       set_has_type_name();
   4849       type_name_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.type_name_);
   4850     }
   4851     if (from.has_extendee()) {
   4852       set_has_extendee();
   4853       extendee_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.extendee_);
   4854     }
   4855     if (from.has_default_value()) {
   4856       set_has_default_value();
   4857       default_value_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.default_value_);
   4858     }
   4859     if (from.has_oneof_index()) {
   4860       set_oneof_index(from.oneof_index());
   4861     }
   4862   }
   4863   if (from._has_bits_[8 / 32] & (0xffu << (8 % 32))) {
   4864     if (from.has_json_name()) {
   4865       set_has_json_name();
   4866       json_name_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.json_name_);
   4867     }
   4868     if (from.has_options()) {
   4869       mutable_options()->::google::protobuf::FieldOptions::MergeFrom(from.options());
   4870     }
   4871   }
   4872   if (from._internal_metadata_.have_unknown_fields()) {
   4873     mutable_unknown_fields()->MergeFrom(from.unknown_fields());
   4874   }
   4875 }
   4876 
   4877 void FieldDescriptorProto::CopyFrom(const ::google::protobuf::Message& from) {
   4878 // @@protoc_insertion_point(generalized_copy_from_start:google.protobuf.FieldDescriptorProto)
   4879   if (&from == this) return;
   4880   Clear();
   4881   MergeFrom(from);
   4882 }
   4883 
   4884 void FieldDescriptorProto::CopyFrom(const FieldDescriptorProto& from) {
   4885 // @@protoc_insertion_point(class_specific_copy_from_start:google.protobuf.FieldDescriptorProto)
   4886   if (&from == this) return;
   4887   Clear();
   4888   MergeFrom(from);
   4889 }
   4890 
   4891 bool FieldDescriptorProto::IsInitialized() const {
   4892 
   4893   if (has_options()) {
   4894     if (!this->options_->IsInitialized()) return false;
   4895   }
   4896   return true;
   4897 }
   4898 
   4899 void FieldDescriptorProto::Swap(FieldDescriptorProto* other) {
   4900   if (other == this) return;
   4901   InternalSwap(other);
   4902 }
   4903 void FieldDescriptorProto::InternalSwap(FieldDescriptorProto* other) {
   4904   name_.Swap(&other->name_);
   4905   std::swap(number_, other->number_);
   4906   std::swap(label_, other->label_);
   4907   std::swap(type_, other->type_);
   4908   type_name_.Swap(&other->type_name_);
   4909   extendee_.Swap(&other->extendee_);
   4910   default_value_.Swap(&other->default_value_);
   4911   std::swap(oneof_index_, other->oneof_index_);
   4912   json_name_.Swap(&other->json_name_);
   4913   std::swap(options_, other->options_);
   4914   std::swap(_has_bits_[0], other->_has_bits_[0]);
   4915   _internal_metadata_.Swap(&other->_internal_metadata_);
   4916   std::swap(_cached_size_, other->_cached_size_);
   4917 }
   4918 
   4919 ::google::protobuf::Metadata FieldDescriptorProto::GetMetadata() const {
   4920   protobuf_AssignDescriptorsOnce();
   4921   ::google::protobuf::Metadata metadata;
   4922   metadata.descriptor = FieldDescriptorProto_descriptor_;
   4923   metadata.reflection = FieldDescriptorProto_reflection_;
   4924   return metadata;
   4925 }
   4926 
   4927 #if PROTOBUF_INLINE_NOT_IN_HEADERS
   4928 // FieldDescriptorProto
   4929 
   4930 // optional string name = 1;
   4931 bool FieldDescriptorProto::has_name() const {
   4932   return (_has_bits_[0] & 0x00000001u) != 0;
   4933 }
   4934 void FieldDescriptorProto::set_has_name() {
   4935   _has_bits_[0] |= 0x00000001u;
   4936 }
   4937 void FieldDescriptorProto::clear_has_name() {
   4938   _has_bits_[0] &= ~0x00000001u;
   4939 }
   4940 void FieldDescriptorProto::clear_name() {
   4941   name_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   4942   clear_has_name();
   4943 }
   4944  const ::std::string& FieldDescriptorProto::name() const {
   4945   // @@protoc_insertion_point(field_get:google.protobuf.FieldDescriptorProto.name)
   4946   return name_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   4947 }
   4948  void FieldDescriptorProto::set_name(const ::std::string& value) {
   4949   set_has_name();
   4950   name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
   4951   // @@protoc_insertion_point(field_set:google.protobuf.FieldDescriptorProto.name)
   4952 }
   4953  void FieldDescriptorProto::set_name(const char* value) {
   4954   set_has_name();
   4955   name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
   4956   // @@protoc_insertion_point(field_set_char:google.protobuf.FieldDescriptorProto.name)
   4957 }
   4958  void FieldDescriptorProto::set_name(const char* value, size_t size) {
   4959   set_has_name();
   4960   name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
   4961       ::std::string(reinterpret_cast<const char*>(value), size));
   4962   // @@protoc_insertion_point(field_set_pointer:google.protobuf.FieldDescriptorProto.name)
   4963 }
   4964  ::std::string* FieldDescriptorProto::mutable_name() {
   4965   set_has_name();
   4966   // @@protoc_insertion_point(field_mutable:google.protobuf.FieldDescriptorProto.name)
   4967   return name_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   4968 }
   4969  ::std::string* FieldDescriptorProto::release_name() {
   4970   // @@protoc_insertion_point(field_release:google.protobuf.FieldDescriptorProto.name)
   4971   clear_has_name();
   4972   return name_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   4973 }
   4974  void FieldDescriptorProto::set_allocated_name(::std::string* name) {
   4975   if (name != NULL) {
   4976     set_has_name();
   4977   } else {
   4978     clear_has_name();
   4979   }
   4980   name_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), name);
   4981   // @@protoc_insertion_point(field_set_allocated:google.protobuf.FieldDescriptorProto.name)
   4982 }
   4983 
   4984 // optional int32 number = 3;
   4985 bool FieldDescriptorProto::has_number() const {
   4986   return (_has_bits_[0] & 0x00000002u) != 0;
   4987 }
   4988 void FieldDescriptorProto::set_has_number() {
   4989   _has_bits_[0] |= 0x00000002u;
   4990 }
   4991 void FieldDescriptorProto::clear_has_number() {
   4992   _has_bits_[0] &= ~0x00000002u;
   4993 }
   4994 void FieldDescriptorProto::clear_number() {
   4995   number_ = 0;
   4996   clear_has_number();
   4997 }
   4998  ::google::protobuf::int32 FieldDescriptorProto::number() const {
   4999   // @@protoc_insertion_point(field_get:google.protobuf.FieldDescriptorProto.number)
   5000   return number_;
   5001 }
   5002  void FieldDescriptorProto::set_number(::google::protobuf::int32 value) {
   5003   set_has_number();
   5004   number_ = value;
   5005   // @@protoc_insertion_point(field_set:google.protobuf.FieldDescriptorProto.number)
   5006 }
   5007 
   5008 // optional .google.protobuf.FieldDescriptorProto.Label label = 4;
   5009 bool FieldDescriptorProto::has_label() const {
   5010   return (_has_bits_[0] & 0x00000004u) != 0;
   5011 }
   5012 void FieldDescriptorProto::set_has_label() {
   5013   _has_bits_[0] |= 0x00000004u;
   5014 }
   5015 void FieldDescriptorProto::clear_has_label() {
   5016   _has_bits_[0] &= ~0x00000004u;
   5017 }
   5018 void FieldDescriptorProto::clear_label() {
   5019   label_ = 1;
   5020   clear_has_label();
   5021 }
   5022  ::google::protobuf::FieldDescriptorProto_Label FieldDescriptorProto::label() const {
   5023   // @@protoc_insertion_point(field_get:google.protobuf.FieldDescriptorProto.label)
   5024   return static_cast< ::google::protobuf::FieldDescriptorProto_Label >(label_);
   5025 }
   5026  void FieldDescriptorProto::set_label(::google::protobuf::FieldDescriptorProto_Label value) {
   5027   assert(::google::protobuf::FieldDescriptorProto_Label_IsValid(value));
   5028   set_has_label();
   5029   label_ = value;
   5030   // @@protoc_insertion_point(field_set:google.protobuf.FieldDescriptorProto.label)
   5031 }
   5032 
   5033 // optional .google.protobuf.FieldDescriptorProto.Type type = 5;
   5034 bool FieldDescriptorProto::has_type() const {
   5035   return (_has_bits_[0] & 0x00000008u) != 0;
   5036 }
   5037 void FieldDescriptorProto::set_has_type() {
   5038   _has_bits_[0] |= 0x00000008u;
   5039 }
   5040 void FieldDescriptorProto::clear_has_type() {
   5041   _has_bits_[0] &= ~0x00000008u;
   5042 }
   5043 void FieldDescriptorProto::clear_type() {
   5044   type_ = 1;
   5045   clear_has_type();
   5046 }
   5047  ::google::protobuf::FieldDescriptorProto_Type FieldDescriptorProto::type() const {
   5048   // @@protoc_insertion_point(field_get:google.protobuf.FieldDescriptorProto.type)
   5049   return static_cast< ::google::protobuf::FieldDescriptorProto_Type >(type_);
   5050 }
   5051  void FieldDescriptorProto::set_type(::google::protobuf::FieldDescriptorProto_Type value) {
   5052   assert(::google::protobuf::FieldDescriptorProto_Type_IsValid(value));
   5053   set_has_type();
   5054   type_ = value;
   5055   // @@protoc_insertion_point(field_set:google.protobuf.FieldDescriptorProto.type)
   5056 }
   5057 
   5058 // optional string type_name = 6;
   5059 bool FieldDescriptorProto::has_type_name() const {
   5060   return (_has_bits_[0] & 0x00000010u) != 0;
   5061 }
   5062 void FieldDescriptorProto::set_has_type_name() {
   5063   _has_bits_[0] |= 0x00000010u;
   5064 }
   5065 void FieldDescriptorProto::clear_has_type_name() {
   5066   _has_bits_[0] &= ~0x00000010u;
   5067 }
   5068 void FieldDescriptorProto::clear_type_name() {
   5069   type_name_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   5070   clear_has_type_name();
   5071 }
   5072  const ::std::string& FieldDescriptorProto::type_name() const {
   5073   // @@protoc_insertion_point(field_get:google.protobuf.FieldDescriptorProto.type_name)
   5074   return type_name_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   5075 }
   5076  void FieldDescriptorProto::set_type_name(const ::std::string& value) {
   5077   set_has_type_name();
   5078   type_name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
   5079   // @@protoc_insertion_point(field_set:google.protobuf.FieldDescriptorProto.type_name)
   5080 }
   5081  void FieldDescriptorProto::set_type_name(const char* value) {
   5082   set_has_type_name();
   5083   type_name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
   5084   // @@protoc_insertion_point(field_set_char:google.protobuf.FieldDescriptorProto.type_name)
   5085 }
   5086  void FieldDescriptorProto::set_type_name(const char* value, size_t size) {
   5087   set_has_type_name();
   5088   type_name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
   5089       ::std::string(reinterpret_cast<const char*>(value), size));
   5090   // @@protoc_insertion_point(field_set_pointer:google.protobuf.FieldDescriptorProto.type_name)
   5091 }
   5092  ::std::string* FieldDescriptorProto::mutable_type_name() {
   5093   set_has_type_name();
   5094   // @@protoc_insertion_point(field_mutable:google.protobuf.FieldDescriptorProto.type_name)
   5095   return type_name_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   5096 }
   5097  ::std::string* FieldDescriptorProto::release_type_name() {
   5098   // @@protoc_insertion_point(field_release:google.protobuf.FieldDescriptorProto.type_name)
   5099   clear_has_type_name();
   5100   return type_name_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   5101 }
   5102  void FieldDescriptorProto::set_allocated_type_name(::std::string* type_name) {
   5103   if (type_name != NULL) {
   5104     set_has_type_name();
   5105   } else {
   5106     clear_has_type_name();
   5107   }
   5108   type_name_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), type_name);
   5109   // @@protoc_insertion_point(field_set_allocated:google.protobuf.FieldDescriptorProto.type_name)
   5110 }
   5111 
   5112 // optional string extendee = 2;
   5113 bool FieldDescriptorProto::has_extendee() const {
   5114   return (_has_bits_[0] & 0x00000020u) != 0;
   5115 }
   5116 void FieldDescriptorProto::set_has_extendee() {
   5117   _has_bits_[0] |= 0x00000020u;
   5118 }
   5119 void FieldDescriptorProto::clear_has_extendee() {
   5120   _has_bits_[0] &= ~0x00000020u;
   5121 }
   5122 void FieldDescriptorProto::clear_extendee() {
   5123   extendee_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   5124   clear_has_extendee();
   5125 }
   5126  const ::std::string& FieldDescriptorProto::extendee() const {
   5127   // @@protoc_insertion_point(field_get:google.protobuf.FieldDescriptorProto.extendee)
   5128   return extendee_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   5129 }
   5130  void FieldDescriptorProto::set_extendee(const ::std::string& value) {
   5131   set_has_extendee();
   5132   extendee_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
   5133   // @@protoc_insertion_point(field_set:google.protobuf.FieldDescriptorProto.extendee)
   5134 }
   5135  void FieldDescriptorProto::set_extendee(const char* value) {
   5136   set_has_extendee();
   5137   extendee_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
   5138   // @@protoc_insertion_point(field_set_char:google.protobuf.FieldDescriptorProto.extendee)
   5139 }
   5140  void FieldDescriptorProto::set_extendee(const char* value, size_t size) {
   5141   set_has_extendee();
   5142   extendee_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
   5143       ::std::string(reinterpret_cast<const char*>(value), size));
   5144   // @@protoc_insertion_point(field_set_pointer:google.protobuf.FieldDescriptorProto.extendee)
   5145 }
   5146  ::std::string* FieldDescriptorProto::mutable_extendee() {
   5147   set_has_extendee();
   5148   // @@protoc_insertion_point(field_mutable:google.protobuf.FieldDescriptorProto.extendee)
   5149   return extendee_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   5150 }
   5151  ::std::string* FieldDescriptorProto::release_extendee() {
   5152   // @@protoc_insertion_point(field_release:google.protobuf.FieldDescriptorProto.extendee)
   5153   clear_has_extendee();
   5154   return extendee_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   5155 }
   5156  void FieldDescriptorProto::set_allocated_extendee(::std::string* extendee) {
   5157   if (extendee != NULL) {
   5158     set_has_extendee();
   5159   } else {
   5160     clear_has_extendee();
   5161   }
   5162   extendee_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), extendee);
   5163   // @@protoc_insertion_point(field_set_allocated:google.protobuf.FieldDescriptorProto.extendee)
   5164 }
   5165 
   5166 // optional string default_value = 7;
   5167 bool FieldDescriptorProto::has_default_value() const {
   5168   return (_has_bits_[0] & 0x00000040u) != 0;
   5169 }
   5170 void FieldDescriptorProto::set_has_default_value() {
   5171   _has_bits_[0] |= 0x00000040u;
   5172 }
   5173 void FieldDescriptorProto::clear_has_default_value() {
   5174   _has_bits_[0] &= ~0x00000040u;
   5175 }
   5176 void FieldDescriptorProto::clear_default_value() {
   5177   default_value_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   5178   clear_has_default_value();
   5179 }
   5180  const ::std::string& FieldDescriptorProto::default_value() const {
   5181   // @@protoc_insertion_point(field_get:google.protobuf.FieldDescriptorProto.default_value)
   5182   return default_value_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   5183 }
   5184  void FieldDescriptorProto::set_default_value(const ::std::string& value) {
   5185   set_has_default_value();
   5186   default_value_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
   5187   // @@protoc_insertion_point(field_set:google.protobuf.FieldDescriptorProto.default_value)
   5188 }
   5189  void FieldDescriptorProto::set_default_value(const char* value) {
   5190   set_has_default_value();
   5191   default_value_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
   5192   // @@protoc_insertion_point(field_set_char:google.protobuf.FieldDescriptorProto.default_value)
   5193 }
   5194  void FieldDescriptorProto::set_default_value(const char* value, size_t size) {
   5195   set_has_default_value();
   5196   default_value_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
   5197       ::std::string(reinterpret_cast<const char*>(value), size));
   5198   // @@protoc_insertion_point(field_set_pointer:google.protobuf.FieldDescriptorProto.default_value)
   5199 }
   5200  ::std::string* FieldDescriptorProto::mutable_default_value() {
   5201   set_has_default_value();
   5202   // @@protoc_insertion_point(field_mutable:google.protobuf.FieldDescriptorProto.default_value)
   5203   return default_value_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   5204 }
   5205  ::std::string* FieldDescriptorProto::release_default_value() {
   5206   // @@protoc_insertion_point(field_release:google.protobuf.FieldDescriptorProto.default_value)
   5207   clear_has_default_value();
   5208   return default_value_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   5209 }
   5210  void FieldDescriptorProto::set_allocated_default_value(::std::string* default_value) {
   5211   if (default_value != NULL) {
   5212     set_has_default_value();
   5213   } else {
   5214     clear_has_default_value();
   5215   }
   5216   default_value_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), default_value);
   5217   // @@protoc_insertion_point(field_set_allocated:google.protobuf.FieldDescriptorProto.default_value)
   5218 }
   5219 
   5220 // optional int32 oneof_index = 9;
   5221 bool FieldDescriptorProto::has_oneof_index() const {
   5222   return (_has_bits_[0] & 0x00000080u) != 0;
   5223 }
   5224 void FieldDescriptorProto::set_has_oneof_index() {
   5225   _has_bits_[0] |= 0x00000080u;
   5226 }
   5227 void FieldDescriptorProto::clear_has_oneof_index() {
   5228   _has_bits_[0] &= ~0x00000080u;
   5229 }
   5230 void FieldDescriptorProto::clear_oneof_index() {
   5231   oneof_index_ = 0;
   5232   clear_has_oneof_index();
   5233 }
   5234  ::google::protobuf::int32 FieldDescriptorProto::oneof_index() const {
   5235   // @@protoc_insertion_point(field_get:google.protobuf.FieldDescriptorProto.oneof_index)
   5236   return oneof_index_;
   5237 }
   5238  void FieldDescriptorProto::set_oneof_index(::google::protobuf::int32 value) {
   5239   set_has_oneof_index();
   5240   oneof_index_ = value;
   5241   // @@protoc_insertion_point(field_set:google.protobuf.FieldDescriptorProto.oneof_index)
   5242 }
   5243 
   5244 // optional string json_name = 10;
   5245 bool FieldDescriptorProto::has_json_name() const {
   5246   return (_has_bits_[0] & 0x00000100u) != 0;
   5247 }
   5248 void FieldDescriptorProto::set_has_json_name() {
   5249   _has_bits_[0] |= 0x00000100u;
   5250 }
   5251 void FieldDescriptorProto::clear_has_json_name() {
   5252   _has_bits_[0] &= ~0x00000100u;
   5253 }
   5254 void FieldDescriptorProto::clear_json_name() {
   5255   json_name_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   5256   clear_has_json_name();
   5257 }
   5258  const ::std::string& FieldDescriptorProto::json_name() const {
   5259   // @@protoc_insertion_point(field_get:google.protobuf.FieldDescriptorProto.json_name)
   5260   return json_name_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   5261 }
   5262  void FieldDescriptorProto::set_json_name(const ::std::string& value) {
   5263   set_has_json_name();
   5264   json_name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
   5265   // @@protoc_insertion_point(field_set:google.protobuf.FieldDescriptorProto.json_name)
   5266 }
   5267  void FieldDescriptorProto::set_json_name(const char* value) {
   5268   set_has_json_name();
   5269   json_name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
   5270   // @@protoc_insertion_point(field_set_char:google.protobuf.FieldDescriptorProto.json_name)
   5271 }
   5272  void FieldDescriptorProto::set_json_name(const char* value, size_t size) {
   5273   set_has_json_name();
   5274   json_name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
   5275       ::std::string(reinterpret_cast<const char*>(value), size));
   5276   // @@protoc_insertion_point(field_set_pointer:google.protobuf.FieldDescriptorProto.json_name)
   5277 }
   5278  ::std::string* FieldDescriptorProto::mutable_json_name() {
   5279   set_has_json_name();
   5280   // @@protoc_insertion_point(field_mutable:google.protobuf.FieldDescriptorProto.json_name)
   5281   return json_name_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   5282 }
   5283  ::std::string* FieldDescriptorProto::release_json_name() {
   5284   // @@protoc_insertion_point(field_release:google.protobuf.FieldDescriptorProto.json_name)
   5285   clear_has_json_name();
   5286   return json_name_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   5287 }
   5288  void FieldDescriptorProto::set_allocated_json_name(::std::string* json_name) {
   5289   if (json_name != NULL) {
   5290     set_has_json_name();
   5291   } else {
   5292     clear_has_json_name();
   5293   }
   5294   json_name_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), json_name);
   5295   // @@protoc_insertion_point(field_set_allocated:google.protobuf.FieldDescriptorProto.json_name)
   5296 }
   5297 
   5298 // optional .google.protobuf.FieldOptions options = 8;
   5299 bool FieldDescriptorProto::has_options() const {
   5300   return (_has_bits_[0] & 0x00000200u) != 0;
   5301 }
   5302 void FieldDescriptorProto::set_has_options() {
   5303   _has_bits_[0] |= 0x00000200u;
   5304 }
   5305 void FieldDescriptorProto::clear_has_options() {
   5306   _has_bits_[0] &= ~0x00000200u;
   5307 }
   5308 void FieldDescriptorProto::clear_options() {
   5309   if (options_ != NULL) options_->::google::protobuf::FieldOptions::Clear();
   5310   clear_has_options();
   5311 }
   5312 const ::google::protobuf::FieldOptions& FieldDescriptorProto::options() const {
   5313   // @@protoc_insertion_point(field_get:google.protobuf.FieldDescriptorProto.options)
   5314   return options_ != NULL ? *options_ : *default_instance_->options_;
   5315 }
   5316 ::google::protobuf::FieldOptions* FieldDescriptorProto::mutable_options() {
   5317   set_has_options();
   5318   if (options_ == NULL) {
   5319     options_ = new ::google::protobuf::FieldOptions;
   5320   }
   5321   // @@protoc_insertion_point(field_mutable:google.protobuf.FieldDescriptorProto.options)
   5322   return options_;
   5323 }
   5324 ::google::protobuf::FieldOptions* FieldDescriptorProto::release_options() {
   5325   // @@protoc_insertion_point(field_release:google.protobuf.FieldDescriptorProto.options)
   5326   clear_has_options();
   5327   ::google::protobuf::FieldOptions* temp = options_;
   5328   options_ = NULL;
   5329   return temp;
   5330 }
   5331 void FieldDescriptorProto::set_allocated_options(::google::protobuf::FieldOptions* options) {
   5332   delete options_;
   5333   options_ = options;
   5334   if (options) {
   5335     set_has_options();
   5336   } else {
   5337     clear_has_options();
   5338   }
   5339   // @@protoc_insertion_point(field_set_allocated:google.protobuf.FieldDescriptorProto.options)
   5340 }
   5341 
   5342 #endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
   5343 
   5344 // ===================================================================
   5345 
   5346 #if !defined(_MSC_VER) || _MSC_VER >= 1900
   5347 const int OneofDescriptorProto::kNameFieldNumber;
   5348 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
   5349 
   5350 OneofDescriptorProto::OneofDescriptorProto()
   5351   : ::google::protobuf::Message(), _internal_metadata_(NULL) {
   5352   SharedCtor();
   5353   // @@protoc_insertion_point(constructor:google.protobuf.OneofDescriptorProto)
   5354 }
   5355 
   5356 void OneofDescriptorProto::InitAsDefaultInstance() {
   5357 }
   5358 
   5359 OneofDescriptorProto::OneofDescriptorProto(const OneofDescriptorProto& from)
   5360   : ::google::protobuf::Message(),
   5361     _internal_metadata_(NULL) {
   5362   SharedCtor();
   5363   MergeFrom(from);
   5364   // @@protoc_insertion_point(copy_constructor:google.protobuf.OneofDescriptorProto)
   5365 }
   5366 
   5367 void OneofDescriptorProto::SharedCtor() {
   5368   ::google::protobuf::internal::GetEmptyString();
   5369   _cached_size_ = 0;
   5370   name_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   5371   ::memset(_has_bits_, 0, sizeof(_has_bits_));
   5372 }
   5373 
   5374 OneofDescriptorProto::~OneofDescriptorProto() {
   5375   // @@protoc_insertion_point(destructor:google.protobuf.OneofDescriptorProto)
   5376   SharedDtor();
   5377 }
   5378 
   5379 void OneofDescriptorProto::SharedDtor() {
   5380   name_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   5381   if (this != default_instance_) {
   5382   }
   5383 }
   5384 
   5385 void OneofDescriptorProto::SetCachedSize(int size) const {
   5386   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   5387   _cached_size_ = size;
   5388   GOOGLE_SAFE_CONCURRENT_WRITES_END();
   5389 }
   5390 const ::google::protobuf::Descriptor* OneofDescriptorProto::descriptor() {
   5391   protobuf_AssignDescriptorsOnce();
   5392   return OneofDescriptorProto_descriptor_;
   5393 }
   5394 
   5395 const OneofDescriptorProto& OneofDescriptorProto::default_instance() {
   5396   if (default_instance_ == NULL) protobuf_AddDesc_google_2fprotobuf_2fdescriptor_2eproto();
   5397   return *default_instance_;
   5398 }
   5399 
   5400 OneofDescriptorProto* OneofDescriptorProto::default_instance_ = NULL;
   5401 
   5402 OneofDescriptorProto* OneofDescriptorProto::New(::google::protobuf::Arena* arena) const {
   5403   OneofDescriptorProto* n = new OneofDescriptorProto;
   5404   if (arena != NULL) {
   5405     arena->Own(n);
   5406   }
   5407   return n;
   5408 }
   5409 
   5410 void OneofDescriptorProto::Clear() {
   5411 // @@protoc_insertion_point(message_clear_start:google.protobuf.OneofDescriptorProto)
   5412   if (has_name()) {
   5413     name_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   5414   }
   5415   ::memset(_has_bits_, 0, sizeof(_has_bits_));
   5416   if (_internal_metadata_.have_unknown_fields()) {
   5417     mutable_unknown_fields()->Clear();
   5418   }
   5419 }
   5420 
   5421 bool OneofDescriptorProto::MergePartialFromCodedStream(
   5422     ::google::protobuf::io::CodedInputStream* input) {
   5423 #define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
   5424   ::google::protobuf::uint32 tag;
   5425   // @@protoc_insertion_point(parse_start:google.protobuf.OneofDescriptorProto)
   5426   for (;;) {
   5427     ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
   5428     tag = p.first;
   5429     if (!p.second) goto handle_unusual;
   5430     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
   5431       // optional string name = 1;
   5432       case 1: {
   5433         if (tag == 10) {
   5434           DO_(::google::protobuf::internal::WireFormatLite::ReadString(
   5435                 input, this->mutable_name()));
   5436           ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   5437             this->name().data(), this->name().length(),
   5438             ::google::protobuf::internal::WireFormat::PARSE,
   5439             "google.protobuf.OneofDescriptorProto.name");
   5440         } else {
   5441           goto handle_unusual;
   5442         }
   5443         if (input->ExpectAtEnd()) goto success;
   5444         break;
   5445       }
   5446 
   5447       default: {
   5448       handle_unusual:
   5449         if (tag == 0 ||
   5450             ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
   5451             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
   5452           goto success;
   5453         }
   5454         DO_(::google::protobuf::internal::WireFormat::SkipField(
   5455               input, tag, mutable_unknown_fields()));
   5456         break;
   5457       }
   5458     }
   5459   }
   5460 success:
   5461   // @@protoc_insertion_point(parse_success:google.protobuf.OneofDescriptorProto)
   5462   return true;
   5463 failure:
   5464   // @@protoc_insertion_point(parse_failure:google.protobuf.OneofDescriptorProto)
   5465   return false;
   5466 #undef DO_
   5467 }
   5468 
   5469 void OneofDescriptorProto::SerializeWithCachedSizes(
   5470     ::google::protobuf::io::CodedOutputStream* output) const {
   5471   // @@protoc_insertion_point(serialize_start:google.protobuf.OneofDescriptorProto)
   5472   // optional string name = 1;
   5473   if (has_name()) {
   5474     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   5475       this->name().data(), this->name().length(),
   5476       ::google::protobuf::internal::WireFormat::SERIALIZE,
   5477       "google.protobuf.OneofDescriptorProto.name");
   5478     ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
   5479       1, this->name(), output);
   5480   }
   5481 
   5482   if (_internal_metadata_.have_unknown_fields()) {
   5483     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
   5484         unknown_fields(), output);
   5485   }
   5486   // @@protoc_insertion_point(serialize_end:google.protobuf.OneofDescriptorProto)
   5487 }
   5488 
   5489 ::google::protobuf::uint8* OneofDescriptorProto::SerializeWithCachedSizesToArray(
   5490     ::google::protobuf::uint8* target) const {
   5491   // @@protoc_insertion_point(serialize_to_array_start:google.protobuf.OneofDescriptorProto)
   5492   // optional string name = 1;
   5493   if (has_name()) {
   5494     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   5495       this->name().data(), this->name().length(),
   5496       ::google::protobuf::internal::WireFormat::SERIALIZE,
   5497       "google.protobuf.OneofDescriptorProto.name");
   5498     target =
   5499       ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
   5500         1, this->name(), target);
   5501   }
   5502 
   5503   if (_internal_metadata_.have_unknown_fields()) {
   5504     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
   5505         unknown_fields(), target);
   5506   }
   5507   // @@protoc_insertion_point(serialize_to_array_end:google.protobuf.OneofDescriptorProto)
   5508   return target;
   5509 }
   5510 
   5511 int OneofDescriptorProto::ByteSize() const {
   5512 // @@protoc_insertion_point(message_byte_size_start:google.protobuf.OneofDescriptorProto)
   5513   int total_size = 0;
   5514 
   5515   // optional string name = 1;
   5516   if (has_name()) {
   5517     total_size += 1 +
   5518       ::google::protobuf::internal::WireFormatLite::StringSize(
   5519         this->name());
   5520   }
   5521 
   5522   if (_internal_metadata_.have_unknown_fields()) {
   5523     total_size +=
   5524       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
   5525         unknown_fields());
   5526   }
   5527   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   5528   _cached_size_ = total_size;
   5529   GOOGLE_SAFE_CONCURRENT_WRITES_END();
   5530   return total_size;
   5531 }
   5532 
   5533 void OneofDescriptorProto::MergeFrom(const ::google::protobuf::Message& from) {
   5534 // @@protoc_insertion_point(generalized_merge_from_start:google.protobuf.OneofDescriptorProto)
   5535   if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
   5536   const OneofDescriptorProto* source =
   5537       ::google::protobuf::internal::DynamicCastToGenerated<const OneofDescriptorProto>(
   5538           &from);
   5539   if (source == NULL) {
   5540   // @@protoc_insertion_point(generalized_merge_from_cast_fail:google.protobuf.OneofDescriptorProto)
   5541     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
   5542   } else {
   5543   // @@protoc_insertion_point(generalized_merge_from_cast_success:google.protobuf.OneofDescriptorProto)
   5544     MergeFrom(*source);
   5545   }
   5546 }
   5547 
   5548 void OneofDescriptorProto::MergeFrom(const OneofDescriptorProto& from) {
   5549 // @@protoc_insertion_point(class_specific_merge_from_start:google.protobuf.OneofDescriptorProto)
   5550   if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
   5551   if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
   5552     if (from.has_name()) {
   5553       set_has_name();
   5554       name_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.name_);
   5555     }
   5556   }
   5557   if (from._internal_metadata_.have_unknown_fields()) {
   5558     mutable_unknown_fields()->MergeFrom(from.unknown_fields());
   5559   }
   5560 }
   5561 
   5562 void OneofDescriptorProto::CopyFrom(const ::google::protobuf::Message& from) {
   5563 // @@protoc_insertion_point(generalized_copy_from_start:google.protobuf.OneofDescriptorProto)
   5564   if (&from == this) return;
   5565   Clear();
   5566   MergeFrom(from);
   5567 }
   5568 
   5569 void OneofDescriptorProto::CopyFrom(const OneofDescriptorProto& from) {
   5570 // @@protoc_insertion_point(class_specific_copy_from_start:google.protobuf.OneofDescriptorProto)
   5571   if (&from == this) return;
   5572   Clear();
   5573   MergeFrom(from);
   5574 }
   5575 
   5576 bool OneofDescriptorProto::IsInitialized() const {
   5577 
   5578   return true;
   5579 }
   5580 
   5581 void OneofDescriptorProto::Swap(OneofDescriptorProto* other) {
   5582   if (other == this) return;
   5583   InternalSwap(other);
   5584 }
   5585 void OneofDescriptorProto::InternalSwap(OneofDescriptorProto* other) {
   5586   name_.Swap(&other->name_);
   5587   std::swap(_has_bits_[0], other->_has_bits_[0]);
   5588   _internal_metadata_.Swap(&other->_internal_metadata_);
   5589   std::swap(_cached_size_, other->_cached_size_);
   5590 }
   5591 
   5592 ::google::protobuf::Metadata OneofDescriptorProto::GetMetadata() const {
   5593   protobuf_AssignDescriptorsOnce();
   5594   ::google::protobuf::Metadata metadata;
   5595   metadata.descriptor = OneofDescriptorProto_descriptor_;
   5596   metadata.reflection = OneofDescriptorProto_reflection_;
   5597   return metadata;
   5598 }
   5599 
   5600 #if PROTOBUF_INLINE_NOT_IN_HEADERS
   5601 // OneofDescriptorProto
   5602 
   5603 // optional string name = 1;
   5604 bool OneofDescriptorProto::has_name() const {
   5605   return (_has_bits_[0] & 0x00000001u) != 0;
   5606 }
   5607 void OneofDescriptorProto::set_has_name() {
   5608   _has_bits_[0] |= 0x00000001u;
   5609 }
   5610 void OneofDescriptorProto::clear_has_name() {
   5611   _has_bits_[0] &= ~0x00000001u;
   5612 }
   5613 void OneofDescriptorProto::clear_name() {
   5614   name_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   5615   clear_has_name();
   5616 }
   5617  const ::std::string& OneofDescriptorProto::name() const {
   5618   // @@protoc_insertion_point(field_get:google.protobuf.OneofDescriptorProto.name)
   5619   return name_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   5620 }
   5621  void OneofDescriptorProto::set_name(const ::std::string& value) {
   5622   set_has_name();
   5623   name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
   5624   // @@protoc_insertion_point(field_set:google.protobuf.OneofDescriptorProto.name)
   5625 }
   5626  void OneofDescriptorProto::set_name(const char* value) {
   5627   set_has_name();
   5628   name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
   5629   // @@protoc_insertion_point(field_set_char:google.protobuf.OneofDescriptorProto.name)
   5630 }
   5631  void OneofDescriptorProto::set_name(const char* value, size_t size) {
   5632   set_has_name();
   5633   name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
   5634       ::std::string(reinterpret_cast<const char*>(value), size));
   5635   // @@protoc_insertion_point(field_set_pointer:google.protobuf.OneofDescriptorProto.name)
   5636 }
   5637  ::std::string* OneofDescriptorProto::mutable_name() {
   5638   set_has_name();
   5639   // @@protoc_insertion_point(field_mutable:google.protobuf.OneofDescriptorProto.name)
   5640   return name_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   5641 }
   5642  ::std::string* OneofDescriptorProto::release_name() {
   5643   // @@protoc_insertion_point(field_release:google.protobuf.OneofDescriptorProto.name)
   5644   clear_has_name();
   5645   return name_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   5646 }
   5647  void OneofDescriptorProto::set_allocated_name(::std::string* name) {
   5648   if (name != NULL) {
   5649     set_has_name();
   5650   } else {
   5651     clear_has_name();
   5652   }
   5653   name_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), name);
   5654   // @@protoc_insertion_point(field_set_allocated:google.protobuf.OneofDescriptorProto.name)
   5655 }
   5656 
   5657 #endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
   5658 
   5659 // ===================================================================
   5660 
   5661 #if !defined(_MSC_VER) || _MSC_VER >= 1900
   5662 const int EnumDescriptorProto::kNameFieldNumber;
   5663 const int EnumDescriptorProto::kValueFieldNumber;
   5664 const int EnumDescriptorProto::kOptionsFieldNumber;
   5665 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
   5666 
   5667 EnumDescriptorProto::EnumDescriptorProto()
   5668   : ::google::protobuf::Message(), _internal_metadata_(NULL) {
   5669   SharedCtor();
   5670   // @@protoc_insertion_point(constructor:google.protobuf.EnumDescriptorProto)
   5671 }
   5672 
   5673 void EnumDescriptorProto::InitAsDefaultInstance() {
   5674   options_ = const_cast< ::google::protobuf::EnumOptions*>(&::google::protobuf::EnumOptions::default_instance());
   5675 }
   5676 
   5677 EnumDescriptorProto::EnumDescriptorProto(const EnumDescriptorProto& from)
   5678   : ::google::protobuf::Message(),
   5679     _internal_metadata_(NULL) {
   5680   SharedCtor();
   5681   MergeFrom(from);
   5682   // @@protoc_insertion_point(copy_constructor:google.protobuf.EnumDescriptorProto)
   5683 }
   5684 
   5685 void EnumDescriptorProto::SharedCtor() {
   5686   ::google::protobuf::internal::GetEmptyString();
   5687   _cached_size_ = 0;
   5688   name_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   5689   options_ = NULL;
   5690   ::memset(_has_bits_, 0, sizeof(_has_bits_));
   5691 }
   5692 
   5693 EnumDescriptorProto::~EnumDescriptorProto() {
   5694   // @@protoc_insertion_point(destructor:google.protobuf.EnumDescriptorProto)
   5695   SharedDtor();
   5696 }
   5697 
   5698 void EnumDescriptorProto::SharedDtor() {
   5699   name_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   5700   if (this != default_instance_) {
   5701     delete options_;
   5702   }
   5703 }
   5704 
   5705 void EnumDescriptorProto::SetCachedSize(int size) const {
   5706   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   5707   _cached_size_ = size;
   5708   GOOGLE_SAFE_CONCURRENT_WRITES_END();
   5709 }
   5710 const ::google::protobuf::Descriptor* EnumDescriptorProto::descriptor() {
   5711   protobuf_AssignDescriptorsOnce();
   5712   return EnumDescriptorProto_descriptor_;
   5713 }
   5714 
   5715 const EnumDescriptorProto& EnumDescriptorProto::default_instance() {
   5716   if (default_instance_ == NULL) protobuf_AddDesc_google_2fprotobuf_2fdescriptor_2eproto();
   5717   return *default_instance_;
   5718 }
   5719 
   5720 EnumDescriptorProto* EnumDescriptorProto::default_instance_ = NULL;
   5721 
   5722 EnumDescriptorProto* EnumDescriptorProto::New(::google::protobuf::Arena* arena) const {
   5723   EnumDescriptorProto* n = new EnumDescriptorProto;
   5724   if (arena != NULL) {
   5725     arena->Own(n);
   5726   }
   5727   return n;
   5728 }
   5729 
   5730 void EnumDescriptorProto::Clear() {
   5731 // @@protoc_insertion_point(message_clear_start:google.protobuf.EnumDescriptorProto)
   5732   if (_has_bits_[0 / 32] & 5u) {
   5733     if (has_name()) {
   5734       name_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   5735     }
   5736     if (has_options()) {
   5737       if (options_ != NULL) options_->::google::protobuf::EnumOptions::Clear();
   5738     }
   5739   }
   5740   value_.Clear();
   5741   ::memset(_has_bits_, 0, sizeof(_has_bits_));
   5742   if (_internal_metadata_.have_unknown_fields()) {
   5743     mutable_unknown_fields()->Clear();
   5744   }
   5745 }
   5746 
   5747 bool EnumDescriptorProto::MergePartialFromCodedStream(
   5748     ::google::protobuf::io::CodedInputStream* input) {
   5749 #define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
   5750   ::google::protobuf::uint32 tag;
   5751   // @@protoc_insertion_point(parse_start:google.protobuf.EnumDescriptorProto)
   5752   for (;;) {
   5753     ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
   5754     tag = p.first;
   5755     if (!p.second) goto handle_unusual;
   5756     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
   5757       // optional string name = 1;
   5758       case 1: {
   5759         if (tag == 10) {
   5760           DO_(::google::protobuf::internal::WireFormatLite::ReadString(
   5761                 input, this->mutable_name()));
   5762           ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   5763             this->name().data(), this->name().length(),
   5764             ::google::protobuf::internal::WireFormat::PARSE,
   5765             "google.protobuf.EnumDescriptorProto.name");
   5766         } else {
   5767           goto handle_unusual;
   5768         }
   5769         if (input->ExpectTag(18)) goto parse_value;
   5770         break;
   5771       }
   5772 
   5773       // repeated .google.protobuf.EnumValueDescriptorProto value = 2;
   5774       case 2: {
   5775         if (tag == 18) {
   5776          parse_value:
   5777           DO_(input->IncrementRecursionDepth());
   5778          parse_loop_value:
   5779           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtualNoRecursionDepth(
   5780                 input, add_value()));
   5781         } else {
   5782           goto handle_unusual;
   5783         }
   5784         if (input->ExpectTag(18)) goto parse_loop_value;
   5785         input->UnsafeDecrementRecursionDepth();
   5786         if (input->ExpectTag(26)) goto parse_options;
   5787         break;
   5788       }
   5789 
   5790       // optional .google.protobuf.EnumOptions options = 3;
   5791       case 3: {
   5792         if (tag == 26) {
   5793          parse_options:
   5794           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
   5795                input, mutable_options()));
   5796         } else {
   5797           goto handle_unusual;
   5798         }
   5799         if (input->ExpectAtEnd()) goto success;
   5800         break;
   5801       }
   5802 
   5803       default: {
   5804       handle_unusual:
   5805         if (tag == 0 ||
   5806             ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
   5807             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
   5808           goto success;
   5809         }
   5810         DO_(::google::protobuf::internal::WireFormat::SkipField(
   5811               input, tag, mutable_unknown_fields()));
   5812         break;
   5813       }
   5814     }
   5815   }
   5816 success:
   5817   // @@protoc_insertion_point(parse_success:google.protobuf.EnumDescriptorProto)
   5818   return true;
   5819 failure:
   5820   // @@protoc_insertion_point(parse_failure:google.protobuf.EnumDescriptorProto)
   5821   return false;
   5822 #undef DO_
   5823 }
   5824 
   5825 void EnumDescriptorProto::SerializeWithCachedSizes(
   5826     ::google::protobuf::io::CodedOutputStream* output) const {
   5827   // @@protoc_insertion_point(serialize_start:google.protobuf.EnumDescriptorProto)
   5828   // optional string name = 1;
   5829   if (has_name()) {
   5830     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   5831       this->name().data(), this->name().length(),
   5832       ::google::protobuf::internal::WireFormat::SERIALIZE,
   5833       "google.protobuf.EnumDescriptorProto.name");
   5834     ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
   5835       1, this->name(), output);
   5836   }
   5837 
   5838   // repeated .google.protobuf.EnumValueDescriptorProto value = 2;
   5839   for (unsigned int i = 0, n = this->value_size(); i < n; i++) {
   5840     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
   5841       2, this->value(i), output);
   5842   }
   5843 
   5844   // optional .google.protobuf.EnumOptions options = 3;
   5845   if (has_options()) {
   5846     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
   5847       3, *this->options_, output);
   5848   }
   5849 
   5850   if (_internal_metadata_.have_unknown_fields()) {
   5851     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
   5852         unknown_fields(), output);
   5853   }
   5854   // @@protoc_insertion_point(serialize_end:google.protobuf.EnumDescriptorProto)
   5855 }
   5856 
   5857 ::google::protobuf::uint8* EnumDescriptorProto::SerializeWithCachedSizesToArray(
   5858     ::google::protobuf::uint8* target) const {
   5859   // @@protoc_insertion_point(serialize_to_array_start:google.protobuf.EnumDescriptorProto)
   5860   // optional string name = 1;
   5861   if (has_name()) {
   5862     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   5863       this->name().data(), this->name().length(),
   5864       ::google::protobuf::internal::WireFormat::SERIALIZE,
   5865       "google.protobuf.EnumDescriptorProto.name");
   5866     target =
   5867       ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
   5868         1, this->name(), target);
   5869   }
   5870 
   5871   // repeated .google.protobuf.EnumValueDescriptorProto value = 2;
   5872   for (unsigned int i = 0, n = this->value_size(); i < n; i++) {
   5873     target = ::google::protobuf::internal::WireFormatLite::
   5874       WriteMessageNoVirtualToArray(
   5875         2, this->value(i), target);
   5876   }
   5877 
   5878   // optional .google.protobuf.EnumOptions options = 3;
   5879   if (has_options()) {
   5880     target = ::google::protobuf::internal::WireFormatLite::
   5881       WriteMessageNoVirtualToArray(
   5882         3, *this->options_, target);
   5883   }
   5884 
   5885   if (_internal_metadata_.have_unknown_fields()) {
   5886     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
   5887         unknown_fields(), target);
   5888   }
   5889   // @@protoc_insertion_point(serialize_to_array_end:google.protobuf.EnumDescriptorProto)
   5890   return target;
   5891 }
   5892 
   5893 int EnumDescriptorProto::ByteSize() const {
   5894 // @@protoc_insertion_point(message_byte_size_start:google.protobuf.EnumDescriptorProto)
   5895   int total_size = 0;
   5896 
   5897   if (_has_bits_[0 / 32] & 5u) {
   5898     // optional string name = 1;
   5899     if (has_name()) {
   5900       total_size += 1 +
   5901         ::google::protobuf::internal::WireFormatLite::StringSize(
   5902           this->name());
   5903     }
   5904 
   5905     // optional .google.protobuf.EnumOptions options = 3;
   5906     if (has_options()) {
   5907       total_size += 1 +
   5908         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
   5909           *this->options_);
   5910     }
   5911 
   5912   }
   5913   // repeated .google.protobuf.EnumValueDescriptorProto value = 2;
   5914   total_size += 1 * this->value_size();
   5915   for (int i = 0; i < this->value_size(); i++) {
   5916     total_size +=
   5917       ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
   5918         this->value(i));
   5919   }
   5920 
   5921   if (_internal_metadata_.have_unknown_fields()) {
   5922     total_size +=
   5923       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
   5924         unknown_fields());
   5925   }
   5926   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   5927   _cached_size_ = total_size;
   5928   GOOGLE_SAFE_CONCURRENT_WRITES_END();
   5929   return total_size;
   5930 }
   5931 
   5932 void EnumDescriptorProto::MergeFrom(const ::google::protobuf::Message& from) {
   5933 // @@protoc_insertion_point(generalized_merge_from_start:google.protobuf.EnumDescriptorProto)
   5934   if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
   5935   const EnumDescriptorProto* source =
   5936       ::google::protobuf::internal::DynamicCastToGenerated<const EnumDescriptorProto>(
   5937           &from);
   5938   if (source == NULL) {
   5939   // @@protoc_insertion_point(generalized_merge_from_cast_fail:google.protobuf.EnumDescriptorProto)
   5940     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
   5941   } else {
   5942   // @@protoc_insertion_point(generalized_merge_from_cast_success:google.protobuf.EnumDescriptorProto)
   5943     MergeFrom(*source);
   5944   }
   5945 }
   5946 
   5947 void EnumDescriptorProto::MergeFrom(const EnumDescriptorProto& from) {
   5948 // @@protoc_insertion_point(class_specific_merge_from_start:google.protobuf.EnumDescriptorProto)
   5949   if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
   5950   value_.MergeFrom(from.value_);
   5951   if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
   5952     if (from.has_name()) {
   5953       set_has_name();
   5954       name_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.name_);
   5955     }
   5956     if (from.has_options()) {
   5957       mutable_options()->::google::protobuf::EnumOptions::MergeFrom(from.options());
   5958     }
   5959   }
   5960   if (from._internal_metadata_.have_unknown_fields()) {
   5961     mutable_unknown_fields()->MergeFrom(from.unknown_fields());
   5962   }
   5963 }
   5964 
   5965 void EnumDescriptorProto::CopyFrom(const ::google::protobuf::Message& from) {
   5966 // @@protoc_insertion_point(generalized_copy_from_start:google.protobuf.EnumDescriptorProto)
   5967   if (&from == this) return;
   5968   Clear();
   5969   MergeFrom(from);
   5970 }
   5971 
   5972 void EnumDescriptorProto::CopyFrom(const EnumDescriptorProto& from) {
   5973 // @@protoc_insertion_point(class_specific_copy_from_start:google.protobuf.EnumDescriptorProto)
   5974   if (&from == this) return;
   5975   Clear();
   5976   MergeFrom(from);
   5977 }
   5978 
   5979 bool EnumDescriptorProto::IsInitialized() const {
   5980 
   5981   if (!::google::protobuf::internal::AllAreInitialized(this->value())) return false;
   5982   if (has_options()) {
   5983     if (!this->options_->IsInitialized()) return false;
   5984   }
   5985   return true;
   5986 }
   5987 
   5988 void EnumDescriptorProto::Swap(EnumDescriptorProto* other) {
   5989   if (other == this) return;
   5990   InternalSwap(other);
   5991 }
   5992 void EnumDescriptorProto::InternalSwap(EnumDescriptorProto* other) {
   5993   name_.Swap(&other->name_);
   5994   value_.UnsafeArenaSwap(&other->value_);
   5995   std::swap(options_, other->options_);
   5996   std::swap(_has_bits_[0], other->_has_bits_[0]);
   5997   _internal_metadata_.Swap(&other->_internal_metadata_);
   5998   std::swap(_cached_size_, other->_cached_size_);
   5999 }
   6000 
   6001 ::google::protobuf::Metadata EnumDescriptorProto::GetMetadata() const {
   6002   protobuf_AssignDescriptorsOnce();
   6003   ::google::protobuf::Metadata metadata;
   6004   metadata.descriptor = EnumDescriptorProto_descriptor_;
   6005   metadata.reflection = EnumDescriptorProto_reflection_;
   6006   return metadata;
   6007 }
   6008 
   6009 #if PROTOBUF_INLINE_NOT_IN_HEADERS
   6010 // EnumDescriptorProto
   6011 
   6012 // optional string name = 1;
   6013 bool EnumDescriptorProto::has_name() const {
   6014   return (_has_bits_[0] & 0x00000001u) != 0;
   6015 }
   6016 void EnumDescriptorProto::set_has_name() {
   6017   _has_bits_[0] |= 0x00000001u;
   6018 }
   6019 void EnumDescriptorProto::clear_has_name() {
   6020   _has_bits_[0] &= ~0x00000001u;
   6021 }
   6022 void EnumDescriptorProto::clear_name() {
   6023   name_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   6024   clear_has_name();
   6025 }
   6026  const ::std::string& EnumDescriptorProto::name() const {
   6027   // @@protoc_insertion_point(field_get:google.protobuf.EnumDescriptorProto.name)
   6028   return name_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   6029 }
   6030  void EnumDescriptorProto::set_name(const ::std::string& value) {
   6031   set_has_name();
   6032   name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
   6033   // @@protoc_insertion_point(field_set:google.protobuf.EnumDescriptorProto.name)
   6034 }
   6035  void EnumDescriptorProto::set_name(const char* value) {
   6036   set_has_name();
   6037   name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
   6038   // @@protoc_insertion_point(field_set_char:google.protobuf.EnumDescriptorProto.name)
   6039 }
   6040  void EnumDescriptorProto::set_name(const char* value, size_t size) {
   6041   set_has_name();
   6042   name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
   6043       ::std::string(reinterpret_cast<const char*>(value), size));
   6044   // @@protoc_insertion_point(field_set_pointer:google.protobuf.EnumDescriptorProto.name)
   6045 }
   6046  ::std::string* EnumDescriptorProto::mutable_name() {
   6047   set_has_name();
   6048   // @@protoc_insertion_point(field_mutable:google.protobuf.EnumDescriptorProto.name)
   6049   return name_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   6050 }
   6051  ::std::string* EnumDescriptorProto::release_name() {
   6052   // @@protoc_insertion_point(field_release:google.protobuf.EnumDescriptorProto.name)
   6053   clear_has_name();
   6054   return name_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   6055 }
   6056  void EnumDescriptorProto::set_allocated_name(::std::string* name) {
   6057   if (name != NULL) {
   6058     set_has_name();
   6059   } else {
   6060     clear_has_name();
   6061   }
   6062   name_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), name);
   6063   // @@protoc_insertion_point(field_set_allocated:google.protobuf.EnumDescriptorProto.name)
   6064 }
   6065 
   6066 // repeated .google.protobuf.EnumValueDescriptorProto value = 2;
   6067 int EnumDescriptorProto::value_size() const {
   6068   return value_.size();
   6069 }
   6070 void EnumDescriptorProto::clear_value() {
   6071   value_.Clear();
   6072 }
   6073 const ::google::protobuf::EnumValueDescriptorProto& EnumDescriptorProto::value(int index) const {
   6074   // @@protoc_insertion_point(field_get:google.protobuf.EnumDescriptorProto.value)
   6075   return value_.Get(index);
   6076 }
   6077 ::google::protobuf::EnumValueDescriptorProto* EnumDescriptorProto::mutable_value(int index) {
   6078   // @@protoc_insertion_point(field_mutable:google.protobuf.EnumDescriptorProto.value)
   6079   return value_.Mutable(index);
   6080 }
   6081 ::google::protobuf::EnumValueDescriptorProto* EnumDescriptorProto::add_value() {
   6082   // @@protoc_insertion_point(field_add:google.protobuf.EnumDescriptorProto.value)
   6083   return value_.Add();
   6084 }
   6085 ::google::protobuf::RepeatedPtrField< ::google::protobuf::EnumValueDescriptorProto >*
   6086 EnumDescriptorProto::mutable_value() {
   6087   // @@protoc_insertion_point(field_mutable_list:google.protobuf.EnumDescriptorProto.value)
   6088   return &value_;
   6089 }
   6090 const ::google::protobuf::RepeatedPtrField< ::google::protobuf::EnumValueDescriptorProto >&
   6091 EnumDescriptorProto::value() const {
   6092   // @@protoc_insertion_point(field_list:google.protobuf.EnumDescriptorProto.value)
   6093   return value_;
   6094 }
   6095 
   6096 // optional .google.protobuf.EnumOptions options = 3;
   6097 bool EnumDescriptorProto::has_options() const {
   6098   return (_has_bits_[0] & 0x00000004u) != 0;
   6099 }
   6100 void EnumDescriptorProto::set_has_options() {
   6101   _has_bits_[0] |= 0x00000004u;
   6102 }
   6103 void EnumDescriptorProto::clear_has_options() {
   6104   _has_bits_[0] &= ~0x00000004u;
   6105 }
   6106 void EnumDescriptorProto::clear_options() {
   6107   if (options_ != NULL) options_->::google::protobuf::EnumOptions::Clear();
   6108   clear_has_options();
   6109 }
   6110 const ::google::protobuf::EnumOptions& EnumDescriptorProto::options() const {
   6111   // @@protoc_insertion_point(field_get:google.protobuf.EnumDescriptorProto.options)
   6112   return options_ != NULL ? *options_ : *default_instance_->options_;
   6113 }
   6114 ::google::protobuf::EnumOptions* EnumDescriptorProto::mutable_options() {
   6115   set_has_options();
   6116   if (options_ == NULL) {
   6117     options_ = new ::google::protobuf::EnumOptions;
   6118   }
   6119   // @@protoc_insertion_point(field_mutable:google.protobuf.EnumDescriptorProto.options)
   6120   return options_;
   6121 }
   6122 ::google::protobuf::EnumOptions* EnumDescriptorProto::release_options() {
   6123   // @@protoc_insertion_point(field_release:google.protobuf.EnumDescriptorProto.options)
   6124   clear_has_options();
   6125   ::google::protobuf::EnumOptions* temp = options_;
   6126   options_ = NULL;
   6127   return temp;
   6128 }
   6129 void EnumDescriptorProto::set_allocated_options(::google::protobuf::EnumOptions* options) {
   6130   delete options_;
   6131   options_ = options;
   6132   if (options) {
   6133     set_has_options();
   6134   } else {
   6135     clear_has_options();
   6136   }
   6137   // @@protoc_insertion_point(field_set_allocated:google.protobuf.EnumDescriptorProto.options)
   6138 }
   6139 
   6140 #endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
   6141 
   6142 // ===================================================================
   6143 
   6144 #if !defined(_MSC_VER) || _MSC_VER >= 1900
   6145 const int EnumValueDescriptorProto::kNameFieldNumber;
   6146 const int EnumValueDescriptorProto::kNumberFieldNumber;
   6147 const int EnumValueDescriptorProto::kOptionsFieldNumber;
   6148 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
   6149 
   6150 EnumValueDescriptorProto::EnumValueDescriptorProto()
   6151   : ::google::protobuf::Message(), _internal_metadata_(NULL) {
   6152   SharedCtor();
   6153   // @@protoc_insertion_point(constructor:google.protobuf.EnumValueDescriptorProto)
   6154 }
   6155 
   6156 void EnumValueDescriptorProto::InitAsDefaultInstance() {
   6157   options_ = const_cast< ::google::protobuf::EnumValueOptions*>(&::google::protobuf::EnumValueOptions::default_instance());
   6158 }
   6159 
   6160 EnumValueDescriptorProto::EnumValueDescriptorProto(const EnumValueDescriptorProto& from)
   6161   : ::google::protobuf::Message(),
   6162     _internal_metadata_(NULL) {
   6163   SharedCtor();
   6164   MergeFrom(from);
   6165   // @@protoc_insertion_point(copy_constructor:google.protobuf.EnumValueDescriptorProto)
   6166 }
   6167 
   6168 void EnumValueDescriptorProto::SharedCtor() {
   6169   ::google::protobuf::internal::GetEmptyString();
   6170   _cached_size_ = 0;
   6171   name_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   6172   number_ = 0;
   6173   options_ = NULL;
   6174   ::memset(_has_bits_, 0, sizeof(_has_bits_));
   6175 }
   6176 
   6177 EnumValueDescriptorProto::~EnumValueDescriptorProto() {
   6178   // @@protoc_insertion_point(destructor:google.protobuf.EnumValueDescriptorProto)
   6179   SharedDtor();
   6180 }
   6181 
   6182 void EnumValueDescriptorProto::SharedDtor() {
   6183   name_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   6184   if (this != default_instance_) {
   6185     delete options_;
   6186   }
   6187 }
   6188 
   6189 void EnumValueDescriptorProto::SetCachedSize(int size) const {
   6190   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   6191   _cached_size_ = size;
   6192   GOOGLE_SAFE_CONCURRENT_WRITES_END();
   6193 }
   6194 const ::google::protobuf::Descriptor* EnumValueDescriptorProto::descriptor() {
   6195   protobuf_AssignDescriptorsOnce();
   6196   return EnumValueDescriptorProto_descriptor_;
   6197 }
   6198 
   6199 const EnumValueDescriptorProto& EnumValueDescriptorProto::default_instance() {
   6200   if (default_instance_ == NULL) protobuf_AddDesc_google_2fprotobuf_2fdescriptor_2eproto();
   6201   return *default_instance_;
   6202 }
   6203 
   6204 EnumValueDescriptorProto* EnumValueDescriptorProto::default_instance_ = NULL;
   6205 
   6206 EnumValueDescriptorProto* EnumValueDescriptorProto::New(::google::protobuf::Arena* arena) const {
   6207   EnumValueDescriptorProto* n = new EnumValueDescriptorProto;
   6208   if (arena != NULL) {
   6209     arena->Own(n);
   6210   }
   6211   return n;
   6212 }
   6213 
   6214 void EnumValueDescriptorProto::Clear() {
   6215 // @@protoc_insertion_point(message_clear_start:google.protobuf.EnumValueDescriptorProto)
   6216   if (_has_bits_[0 / 32] & 7u) {
   6217     if (has_name()) {
   6218       name_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   6219     }
   6220     number_ = 0;
   6221     if (has_options()) {
   6222       if (options_ != NULL) options_->::google::protobuf::EnumValueOptions::Clear();
   6223     }
   6224   }
   6225   ::memset(_has_bits_, 0, sizeof(_has_bits_));
   6226   if (_internal_metadata_.have_unknown_fields()) {
   6227     mutable_unknown_fields()->Clear();
   6228   }
   6229 }
   6230 
   6231 bool EnumValueDescriptorProto::MergePartialFromCodedStream(
   6232     ::google::protobuf::io::CodedInputStream* input) {
   6233 #define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
   6234   ::google::protobuf::uint32 tag;
   6235   // @@protoc_insertion_point(parse_start:google.protobuf.EnumValueDescriptorProto)
   6236   for (;;) {
   6237     ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
   6238     tag = p.first;
   6239     if (!p.second) goto handle_unusual;
   6240     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
   6241       // optional string name = 1;
   6242       case 1: {
   6243         if (tag == 10) {
   6244           DO_(::google::protobuf::internal::WireFormatLite::ReadString(
   6245                 input, this->mutable_name()));
   6246           ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   6247             this->name().data(), this->name().length(),
   6248             ::google::protobuf::internal::WireFormat::PARSE,
   6249             "google.protobuf.EnumValueDescriptorProto.name");
   6250         } else {
   6251           goto handle_unusual;
   6252         }
   6253         if (input->ExpectTag(16)) goto parse_number;
   6254         break;
   6255       }
   6256 
   6257       // optional int32 number = 2;
   6258       case 2: {
   6259         if (tag == 16) {
   6260          parse_number:
   6261           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
   6262                    ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
   6263                  input, &number_)));
   6264           set_has_number();
   6265         } else {
   6266           goto handle_unusual;
   6267         }
   6268         if (input->ExpectTag(26)) goto parse_options;
   6269         break;
   6270       }
   6271 
   6272       // optional .google.protobuf.EnumValueOptions options = 3;
   6273       case 3: {
   6274         if (tag == 26) {
   6275          parse_options:
   6276           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
   6277                input, mutable_options()));
   6278         } else {
   6279           goto handle_unusual;
   6280         }
   6281         if (input->ExpectAtEnd()) goto success;
   6282         break;
   6283       }
   6284 
   6285       default: {
   6286       handle_unusual:
   6287         if (tag == 0 ||
   6288             ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
   6289             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
   6290           goto success;
   6291         }
   6292         DO_(::google::protobuf::internal::WireFormat::SkipField(
   6293               input, tag, mutable_unknown_fields()));
   6294         break;
   6295       }
   6296     }
   6297   }
   6298 success:
   6299   // @@protoc_insertion_point(parse_success:google.protobuf.EnumValueDescriptorProto)
   6300   return true;
   6301 failure:
   6302   // @@protoc_insertion_point(parse_failure:google.protobuf.EnumValueDescriptorProto)
   6303   return false;
   6304 #undef DO_
   6305 }
   6306 
   6307 void EnumValueDescriptorProto::SerializeWithCachedSizes(
   6308     ::google::protobuf::io::CodedOutputStream* output) const {
   6309   // @@protoc_insertion_point(serialize_start:google.protobuf.EnumValueDescriptorProto)
   6310   // optional string name = 1;
   6311   if (has_name()) {
   6312     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   6313       this->name().data(), this->name().length(),
   6314       ::google::protobuf::internal::WireFormat::SERIALIZE,
   6315       "google.protobuf.EnumValueDescriptorProto.name");
   6316     ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
   6317       1, this->name(), output);
   6318   }
   6319 
   6320   // optional int32 number = 2;
   6321   if (has_number()) {
   6322     ::google::protobuf::internal::WireFormatLite::WriteInt32(2, this->number(), output);
   6323   }
   6324 
   6325   // optional .google.protobuf.EnumValueOptions options = 3;
   6326   if (has_options()) {
   6327     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
   6328       3, *this->options_, output);
   6329   }
   6330 
   6331   if (_internal_metadata_.have_unknown_fields()) {
   6332     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
   6333         unknown_fields(), output);
   6334   }
   6335   // @@protoc_insertion_point(serialize_end:google.protobuf.EnumValueDescriptorProto)
   6336 }
   6337 
   6338 ::google::protobuf::uint8* EnumValueDescriptorProto::SerializeWithCachedSizesToArray(
   6339     ::google::protobuf::uint8* target) const {
   6340   // @@protoc_insertion_point(serialize_to_array_start:google.protobuf.EnumValueDescriptorProto)
   6341   // optional string name = 1;
   6342   if (has_name()) {
   6343     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   6344       this->name().data(), this->name().length(),
   6345       ::google::protobuf::internal::WireFormat::SERIALIZE,
   6346       "google.protobuf.EnumValueDescriptorProto.name");
   6347     target =
   6348       ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
   6349         1, this->name(), target);
   6350   }
   6351 
   6352   // optional int32 number = 2;
   6353   if (has_number()) {
   6354     target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(2, this->number(), target);
   6355   }
   6356 
   6357   // optional .google.protobuf.EnumValueOptions options = 3;
   6358   if (has_options()) {
   6359     target = ::google::protobuf::internal::WireFormatLite::
   6360       WriteMessageNoVirtualToArray(
   6361         3, *this->options_, target);
   6362   }
   6363 
   6364   if (_internal_metadata_.have_unknown_fields()) {
   6365     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
   6366         unknown_fields(), target);
   6367   }
   6368   // @@protoc_insertion_point(serialize_to_array_end:google.protobuf.EnumValueDescriptorProto)
   6369   return target;
   6370 }
   6371 
   6372 int EnumValueDescriptorProto::ByteSize() const {
   6373 // @@protoc_insertion_point(message_byte_size_start:google.protobuf.EnumValueDescriptorProto)
   6374   int total_size = 0;
   6375 
   6376   if (_has_bits_[0 / 32] & 7u) {
   6377     // optional string name = 1;
   6378     if (has_name()) {
   6379       total_size += 1 +
   6380         ::google::protobuf::internal::WireFormatLite::StringSize(
   6381           this->name());
   6382     }
   6383 
   6384     // optional int32 number = 2;
   6385     if (has_number()) {
   6386       total_size += 1 +
   6387         ::google::protobuf::internal::WireFormatLite::Int32Size(
   6388           this->number());
   6389     }
   6390 
   6391     // optional .google.protobuf.EnumValueOptions options = 3;
   6392     if (has_options()) {
   6393       total_size += 1 +
   6394         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
   6395           *this->options_);
   6396     }
   6397 
   6398   }
   6399   if (_internal_metadata_.have_unknown_fields()) {
   6400     total_size +=
   6401       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
   6402         unknown_fields());
   6403   }
   6404   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   6405   _cached_size_ = total_size;
   6406   GOOGLE_SAFE_CONCURRENT_WRITES_END();
   6407   return total_size;
   6408 }
   6409 
   6410 void EnumValueDescriptorProto::MergeFrom(const ::google::protobuf::Message& from) {
   6411 // @@protoc_insertion_point(generalized_merge_from_start:google.protobuf.EnumValueDescriptorProto)
   6412   if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
   6413   const EnumValueDescriptorProto* source =
   6414       ::google::protobuf::internal::DynamicCastToGenerated<const EnumValueDescriptorProto>(
   6415           &from);
   6416   if (source == NULL) {
   6417   // @@protoc_insertion_point(generalized_merge_from_cast_fail:google.protobuf.EnumValueDescriptorProto)
   6418     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
   6419   } else {
   6420   // @@protoc_insertion_point(generalized_merge_from_cast_success:google.protobuf.EnumValueDescriptorProto)
   6421     MergeFrom(*source);
   6422   }
   6423 }
   6424 
   6425 void EnumValueDescriptorProto::MergeFrom(const EnumValueDescriptorProto& from) {
   6426 // @@protoc_insertion_point(class_specific_merge_from_start:google.protobuf.EnumValueDescriptorProto)
   6427   if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
   6428   if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
   6429     if (from.has_name()) {
   6430       set_has_name();
   6431       name_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.name_);
   6432     }
   6433     if (from.has_number()) {
   6434       set_number(from.number());
   6435     }
   6436     if (from.has_options()) {
   6437       mutable_options()->::google::protobuf::EnumValueOptions::MergeFrom(from.options());
   6438     }
   6439   }
   6440   if (from._internal_metadata_.have_unknown_fields()) {
   6441     mutable_unknown_fields()->MergeFrom(from.unknown_fields());
   6442   }
   6443 }
   6444 
   6445 void EnumValueDescriptorProto::CopyFrom(const ::google::protobuf::Message& from) {
   6446 // @@protoc_insertion_point(generalized_copy_from_start:google.protobuf.EnumValueDescriptorProto)
   6447   if (&from == this) return;
   6448   Clear();
   6449   MergeFrom(from);
   6450 }
   6451 
   6452 void EnumValueDescriptorProto::CopyFrom(const EnumValueDescriptorProto& from) {
   6453 // @@protoc_insertion_point(class_specific_copy_from_start:google.protobuf.EnumValueDescriptorProto)
   6454   if (&from == this) return;
   6455   Clear();
   6456   MergeFrom(from);
   6457 }
   6458 
   6459 bool EnumValueDescriptorProto::IsInitialized() const {
   6460 
   6461   if (has_options()) {
   6462     if (!this->options_->IsInitialized()) return false;
   6463   }
   6464   return true;
   6465 }
   6466 
   6467 void EnumValueDescriptorProto::Swap(EnumValueDescriptorProto* other) {
   6468   if (other == this) return;
   6469   InternalSwap(other);
   6470 }
   6471 void EnumValueDescriptorProto::InternalSwap(EnumValueDescriptorProto* other) {
   6472   name_.Swap(&other->name_);
   6473   std::swap(number_, other->number_);
   6474   std::swap(options_, other->options_);
   6475   std::swap(_has_bits_[0], other->_has_bits_[0]);
   6476   _internal_metadata_.Swap(&other->_internal_metadata_);
   6477   std::swap(_cached_size_, other->_cached_size_);
   6478 }
   6479 
   6480 ::google::protobuf::Metadata EnumValueDescriptorProto::GetMetadata() const {
   6481   protobuf_AssignDescriptorsOnce();
   6482   ::google::protobuf::Metadata metadata;
   6483   metadata.descriptor = EnumValueDescriptorProto_descriptor_;
   6484   metadata.reflection = EnumValueDescriptorProto_reflection_;
   6485   return metadata;
   6486 }
   6487 
   6488 #if PROTOBUF_INLINE_NOT_IN_HEADERS
   6489 // EnumValueDescriptorProto
   6490 
   6491 // optional string name = 1;
   6492 bool EnumValueDescriptorProto::has_name() const {
   6493   return (_has_bits_[0] & 0x00000001u) != 0;
   6494 }
   6495 void EnumValueDescriptorProto::set_has_name() {
   6496   _has_bits_[0] |= 0x00000001u;
   6497 }
   6498 void EnumValueDescriptorProto::clear_has_name() {
   6499   _has_bits_[0] &= ~0x00000001u;
   6500 }
   6501 void EnumValueDescriptorProto::clear_name() {
   6502   name_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   6503   clear_has_name();
   6504 }
   6505  const ::std::string& EnumValueDescriptorProto::name() const {
   6506   // @@protoc_insertion_point(field_get:google.protobuf.EnumValueDescriptorProto.name)
   6507   return name_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   6508 }
   6509  void EnumValueDescriptorProto::set_name(const ::std::string& value) {
   6510   set_has_name();
   6511   name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
   6512   // @@protoc_insertion_point(field_set:google.protobuf.EnumValueDescriptorProto.name)
   6513 }
   6514  void EnumValueDescriptorProto::set_name(const char* value) {
   6515   set_has_name();
   6516   name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
   6517   // @@protoc_insertion_point(field_set_char:google.protobuf.EnumValueDescriptorProto.name)
   6518 }
   6519  void EnumValueDescriptorProto::set_name(const char* value, size_t size) {
   6520   set_has_name();
   6521   name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
   6522       ::std::string(reinterpret_cast<const char*>(value), size));
   6523   // @@protoc_insertion_point(field_set_pointer:google.protobuf.EnumValueDescriptorProto.name)
   6524 }
   6525  ::std::string* EnumValueDescriptorProto::mutable_name() {
   6526   set_has_name();
   6527   // @@protoc_insertion_point(field_mutable:google.protobuf.EnumValueDescriptorProto.name)
   6528   return name_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   6529 }
   6530  ::std::string* EnumValueDescriptorProto::release_name() {
   6531   // @@protoc_insertion_point(field_release:google.protobuf.EnumValueDescriptorProto.name)
   6532   clear_has_name();
   6533   return name_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   6534 }
   6535  void EnumValueDescriptorProto::set_allocated_name(::std::string* name) {
   6536   if (name != NULL) {
   6537     set_has_name();
   6538   } else {
   6539     clear_has_name();
   6540   }
   6541   name_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), name);
   6542   // @@protoc_insertion_point(field_set_allocated:google.protobuf.EnumValueDescriptorProto.name)
   6543 }
   6544 
   6545 // optional int32 number = 2;
   6546 bool EnumValueDescriptorProto::has_number() const {
   6547   return (_has_bits_[0] & 0x00000002u) != 0;
   6548 }
   6549 void EnumValueDescriptorProto::set_has_number() {
   6550   _has_bits_[0] |= 0x00000002u;
   6551 }
   6552 void EnumValueDescriptorProto::clear_has_number() {
   6553   _has_bits_[0] &= ~0x00000002u;
   6554 }
   6555 void EnumValueDescriptorProto::clear_number() {
   6556   number_ = 0;
   6557   clear_has_number();
   6558 }
   6559  ::google::protobuf::int32 EnumValueDescriptorProto::number() const {
   6560   // @@protoc_insertion_point(field_get:google.protobuf.EnumValueDescriptorProto.number)
   6561   return number_;
   6562 }
   6563  void EnumValueDescriptorProto::set_number(::google::protobuf::int32 value) {
   6564   set_has_number();
   6565   number_ = value;
   6566   // @@protoc_insertion_point(field_set:google.protobuf.EnumValueDescriptorProto.number)
   6567 }
   6568 
   6569 // optional .google.protobuf.EnumValueOptions options = 3;
   6570 bool EnumValueDescriptorProto::has_options() const {
   6571   return (_has_bits_[0] & 0x00000004u) != 0;
   6572 }
   6573 void EnumValueDescriptorProto::set_has_options() {
   6574   _has_bits_[0] |= 0x00000004u;
   6575 }
   6576 void EnumValueDescriptorProto::clear_has_options() {
   6577   _has_bits_[0] &= ~0x00000004u;
   6578 }
   6579 void EnumValueDescriptorProto::clear_options() {
   6580   if (options_ != NULL) options_->::google::protobuf::EnumValueOptions::Clear();
   6581   clear_has_options();
   6582 }
   6583 const ::google::protobuf::EnumValueOptions& EnumValueDescriptorProto::options() const {
   6584   // @@protoc_insertion_point(field_get:google.protobuf.EnumValueDescriptorProto.options)
   6585   return options_ != NULL ? *options_ : *default_instance_->options_;
   6586 }
   6587 ::google::protobuf::EnumValueOptions* EnumValueDescriptorProto::mutable_options() {
   6588   set_has_options();
   6589   if (options_ == NULL) {
   6590     options_ = new ::google::protobuf::EnumValueOptions;
   6591   }
   6592   // @@protoc_insertion_point(field_mutable:google.protobuf.EnumValueDescriptorProto.options)
   6593   return options_;
   6594 }
   6595 ::google::protobuf::EnumValueOptions* EnumValueDescriptorProto::release_options() {
   6596   // @@protoc_insertion_point(field_release:google.protobuf.EnumValueDescriptorProto.options)
   6597   clear_has_options();
   6598   ::google::protobuf::EnumValueOptions* temp = options_;
   6599   options_ = NULL;
   6600   return temp;
   6601 }
   6602 void EnumValueDescriptorProto::set_allocated_options(::google::protobuf::EnumValueOptions* options) {
   6603   delete options_;
   6604   options_ = options;
   6605   if (options) {
   6606     set_has_options();
   6607   } else {
   6608     clear_has_options();
   6609   }
   6610   // @@protoc_insertion_point(field_set_allocated:google.protobuf.EnumValueDescriptorProto.options)
   6611 }
   6612 
   6613 #endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
   6614 
   6615 // ===================================================================
   6616 
   6617 #if !defined(_MSC_VER) || _MSC_VER >= 1900
   6618 const int ServiceDescriptorProto::kNameFieldNumber;
   6619 const int ServiceDescriptorProto::kMethodFieldNumber;
   6620 const int ServiceDescriptorProto::kOptionsFieldNumber;
   6621 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
   6622 
   6623 ServiceDescriptorProto::ServiceDescriptorProto()
   6624   : ::google::protobuf::Message(), _internal_metadata_(NULL) {
   6625   SharedCtor();
   6626   // @@protoc_insertion_point(constructor:google.protobuf.ServiceDescriptorProto)
   6627 }
   6628 
   6629 void ServiceDescriptorProto::InitAsDefaultInstance() {
   6630   options_ = const_cast< ::google::protobuf::ServiceOptions*>(&::google::protobuf::ServiceOptions::default_instance());
   6631 }
   6632 
   6633 ServiceDescriptorProto::ServiceDescriptorProto(const ServiceDescriptorProto& from)
   6634   : ::google::protobuf::Message(),
   6635     _internal_metadata_(NULL) {
   6636   SharedCtor();
   6637   MergeFrom(from);
   6638   // @@protoc_insertion_point(copy_constructor:google.protobuf.ServiceDescriptorProto)
   6639 }
   6640 
   6641 void ServiceDescriptorProto::SharedCtor() {
   6642   ::google::protobuf::internal::GetEmptyString();
   6643   _cached_size_ = 0;
   6644   name_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   6645   options_ = NULL;
   6646   ::memset(_has_bits_, 0, sizeof(_has_bits_));
   6647 }
   6648 
   6649 ServiceDescriptorProto::~ServiceDescriptorProto() {
   6650   // @@protoc_insertion_point(destructor:google.protobuf.ServiceDescriptorProto)
   6651   SharedDtor();
   6652 }
   6653 
   6654 void ServiceDescriptorProto::SharedDtor() {
   6655   name_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   6656   if (this != default_instance_) {
   6657     delete options_;
   6658   }
   6659 }
   6660 
   6661 void ServiceDescriptorProto::SetCachedSize(int size) const {
   6662   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   6663   _cached_size_ = size;
   6664   GOOGLE_SAFE_CONCURRENT_WRITES_END();
   6665 }
   6666 const ::google::protobuf::Descriptor* ServiceDescriptorProto::descriptor() {
   6667   protobuf_AssignDescriptorsOnce();
   6668   return ServiceDescriptorProto_descriptor_;
   6669 }
   6670 
   6671 const ServiceDescriptorProto& ServiceDescriptorProto::default_instance() {
   6672   if (default_instance_ == NULL) protobuf_AddDesc_google_2fprotobuf_2fdescriptor_2eproto();
   6673   return *default_instance_;
   6674 }
   6675 
   6676 ServiceDescriptorProto* ServiceDescriptorProto::default_instance_ = NULL;
   6677 
   6678 ServiceDescriptorProto* ServiceDescriptorProto::New(::google::protobuf::Arena* arena) const {
   6679   ServiceDescriptorProto* n = new ServiceDescriptorProto;
   6680   if (arena != NULL) {
   6681     arena->Own(n);
   6682   }
   6683   return n;
   6684 }
   6685 
   6686 void ServiceDescriptorProto::Clear() {
   6687 // @@protoc_insertion_point(message_clear_start:google.protobuf.ServiceDescriptorProto)
   6688   if (_has_bits_[0 / 32] & 5u) {
   6689     if (has_name()) {
   6690       name_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   6691     }
   6692     if (has_options()) {
   6693       if (options_ != NULL) options_->::google::protobuf::ServiceOptions::Clear();
   6694     }
   6695   }
   6696   method_.Clear();
   6697   ::memset(_has_bits_, 0, sizeof(_has_bits_));
   6698   if (_internal_metadata_.have_unknown_fields()) {
   6699     mutable_unknown_fields()->Clear();
   6700   }
   6701 }
   6702 
   6703 bool ServiceDescriptorProto::MergePartialFromCodedStream(
   6704     ::google::protobuf::io::CodedInputStream* input) {
   6705 #define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
   6706   ::google::protobuf::uint32 tag;
   6707   // @@protoc_insertion_point(parse_start:google.protobuf.ServiceDescriptorProto)
   6708   for (;;) {
   6709     ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
   6710     tag = p.first;
   6711     if (!p.second) goto handle_unusual;
   6712     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
   6713       // optional string name = 1;
   6714       case 1: {
   6715         if (tag == 10) {
   6716           DO_(::google::protobuf::internal::WireFormatLite::ReadString(
   6717                 input, this->mutable_name()));
   6718           ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   6719             this->name().data(), this->name().length(),
   6720             ::google::protobuf::internal::WireFormat::PARSE,
   6721             "google.protobuf.ServiceDescriptorProto.name");
   6722         } else {
   6723           goto handle_unusual;
   6724         }
   6725         if (input->ExpectTag(18)) goto parse_method;
   6726         break;
   6727       }
   6728 
   6729       // repeated .google.protobuf.MethodDescriptorProto method = 2;
   6730       case 2: {
   6731         if (tag == 18) {
   6732          parse_method:
   6733           DO_(input->IncrementRecursionDepth());
   6734          parse_loop_method:
   6735           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtualNoRecursionDepth(
   6736                 input, add_method()));
   6737         } else {
   6738           goto handle_unusual;
   6739         }
   6740         if (input->ExpectTag(18)) goto parse_loop_method;
   6741         input->UnsafeDecrementRecursionDepth();
   6742         if (input->ExpectTag(26)) goto parse_options;
   6743         break;
   6744       }
   6745 
   6746       // optional .google.protobuf.ServiceOptions options = 3;
   6747       case 3: {
   6748         if (tag == 26) {
   6749          parse_options:
   6750           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
   6751                input, mutable_options()));
   6752         } else {
   6753           goto handle_unusual;
   6754         }
   6755         if (input->ExpectAtEnd()) goto success;
   6756         break;
   6757       }
   6758 
   6759       default: {
   6760       handle_unusual:
   6761         if (tag == 0 ||
   6762             ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
   6763             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
   6764           goto success;
   6765         }
   6766         DO_(::google::protobuf::internal::WireFormat::SkipField(
   6767               input, tag, mutable_unknown_fields()));
   6768         break;
   6769       }
   6770     }
   6771   }
   6772 success:
   6773   // @@protoc_insertion_point(parse_success:google.protobuf.ServiceDescriptorProto)
   6774   return true;
   6775 failure:
   6776   // @@protoc_insertion_point(parse_failure:google.protobuf.ServiceDescriptorProto)
   6777   return false;
   6778 #undef DO_
   6779 }
   6780 
   6781 void ServiceDescriptorProto::SerializeWithCachedSizes(
   6782     ::google::protobuf::io::CodedOutputStream* output) const {
   6783   // @@protoc_insertion_point(serialize_start:google.protobuf.ServiceDescriptorProto)
   6784   // optional string name = 1;
   6785   if (has_name()) {
   6786     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   6787       this->name().data(), this->name().length(),
   6788       ::google::protobuf::internal::WireFormat::SERIALIZE,
   6789       "google.protobuf.ServiceDescriptorProto.name");
   6790     ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
   6791       1, this->name(), output);
   6792   }
   6793 
   6794   // repeated .google.protobuf.MethodDescriptorProto method = 2;
   6795   for (unsigned int i = 0, n = this->method_size(); i < n; i++) {
   6796     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
   6797       2, this->method(i), output);
   6798   }
   6799 
   6800   // optional .google.protobuf.ServiceOptions options = 3;
   6801   if (has_options()) {
   6802     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
   6803       3, *this->options_, output);
   6804   }
   6805 
   6806   if (_internal_metadata_.have_unknown_fields()) {
   6807     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
   6808         unknown_fields(), output);
   6809   }
   6810   // @@protoc_insertion_point(serialize_end:google.protobuf.ServiceDescriptorProto)
   6811 }
   6812 
   6813 ::google::protobuf::uint8* ServiceDescriptorProto::SerializeWithCachedSizesToArray(
   6814     ::google::protobuf::uint8* target) const {
   6815   // @@protoc_insertion_point(serialize_to_array_start:google.protobuf.ServiceDescriptorProto)
   6816   // optional string name = 1;
   6817   if (has_name()) {
   6818     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   6819       this->name().data(), this->name().length(),
   6820       ::google::protobuf::internal::WireFormat::SERIALIZE,
   6821       "google.protobuf.ServiceDescriptorProto.name");
   6822     target =
   6823       ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
   6824         1, this->name(), target);
   6825   }
   6826 
   6827   // repeated .google.protobuf.MethodDescriptorProto method = 2;
   6828   for (unsigned int i = 0, n = this->method_size(); i < n; i++) {
   6829     target = ::google::protobuf::internal::WireFormatLite::
   6830       WriteMessageNoVirtualToArray(
   6831         2, this->method(i), target);
   6832   }
   6833 
   6834   // optional .google.protobuf.ServiceOptions options = 3;
   6835   if (has_options()) {
   6836     target = ::google::protobuf::internal::WireFormatLite::
   6837       WriteMessageNoVirtualToArray(
   6838         3, *this->options_, target);
   6839   }
   6840 
   6841   if (_internal_metadata_.have_unknown_fields()) {
   6842     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
   6843         unknown_fields(), target);
   6844   }
   6845   // @@protoc_insertion_point(serialize_to_array_end:google.protobuf.ServiceDescriptorProto)
   6846   return target;
   6847 }
   6848 
   6849 int ServiceDescriptorProto::ByteSize() const {
   6850 // @@protoc_insertion_point(message_byte_size_start:google.protobuf.ServiceDescriptorProto)
   6851   int total_size = 0;
   6852 
   6853   if (_has_bits_[0 / 32] & 5u) {
   6854     // optional string name = 1;
   6855     if (has_name()) {
   6856       total_size += 1 +
   6857         ::google::protobuf::internal::WireFormatLite::StringSize(
   6858           this->name());
   6859     }
   6860 
   6861     // optional .google.protobuf.ServiceOptions options = 3;
   6862     if (has_options()) {
   6863       total_size += 1 +
   6864         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
   6865           *this->options_);
   6866     }
   6867 
   6868   }
   6869   // repeated .google.protobuf.MethodDescriptorProto method = 2;
   6870   total_size += 1 * this->method_size();
   6871   for (int i = 0; i < this->method_size(); i++) {
   6872     total_size +=
   6873       ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
   6874         this->method(i));
   6875   }
   6876 
   6877   if (_internal_metadata_.have_unknown_fields()) {
   6878     total_size +=
   6879       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
   6880         unknown_fields());
   6881   }
   6882   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   6883   _cached_size_ = total_size;
   6884   GOOGLE_SAFE_CONCURRENT_WRITES_END();
   6885   return total_size;
   6886 }
   6887 
   6888 void ServiceDescriptorProto::MergeFrom(const ::google::protobuf::Message& from) {
   6889 // @@protoc_insertion_point(generalized_merge_from_start:google.protobuf.ServiceDescriptorProto)
   6890   if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
   6891   const ServiceDescriptorProto* source =
   6892       ::google::protobuf::internal::DynamicCastToGenerated<const ServiceDescriptorProto>(
   6893           &from);
   6894   if (source == NULL) {
   6895   // @@protoc_insertion_point(generalized_merge_from_cast_fail:google.protobuf.ServiceDescriptorProto)
   6896     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
   6897   } else {
   6898   // @@protoc_insertion_point(generalized_merge_from_cast_success:google.protobuf.ServiceDescriptorProto)
   6899     MergeFrom(*source);
   6900   }
   6901 }
   6902 
   6903 void ServiceDescriptorProto::MergeFrom(const ServiceDescriptorProto& from) {
   6904 // @@protoc_insertion_point(class_specific_merge_from_start:google.protobuf.ServiceDescriptorProto)
   6905   if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
   6906   method_.MergeFrom(from.method_);
   6907   if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
   6908     if (from.has_name()) {
   6909       set_has_name();
   6910       name_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.name_);
   6911     }
   6912     if (from.has_options()) {
   6913       mutable_options()->::google::protobuf::ServiceOptions::MergeFrom(from.options());
   6914     }
   6915   }
   6916   if (from._internal_metadata_.have_unknown_fields()) {
   6917     mutable_unknown_fields()->MergeFrom(from.unknown_fields());
   6918   }
   6919 }
   6920 
   6921 void ServiceDescriptorProto::CopyFrom(const ::google::protobuf::Message& from) {
   6922 // @@protoc_insertion_point(generalized_copy_from_start:google.protobuf.ServiceDescriptorProto)
   6923   if (&from == this) return;
   6924   Clear();
   6925   MergeFrom(from);
   6926 }
   6927 
   6928 void ServiceDescriptorProto::CopyFrom(const ServiceDescriptorProto& from) {
   6929 // @@protoc_insertion_point(class_specific_copy_from_start:google.protobuf.ServiceDescriptorProto)
   6930   if (&from == this) return;
   6931   Clear();
   6932   MergeFrom(from);
   6933 }
   6934 
   6935 bool ServiceDescriptorProto::IsInitialized() const {
   6936 
   6937   if (!::google::protobuf::internal::AllAreInitialized(this->method())) return false;
   6938   if (has_options()) {
   6939     if (!this->options_->IsInitialized()) return false;
   6940   }
   6941   return true;
   6942 }
   6943 
   6944 void ServiceDescriptorProto::Swap(ServiceDescriptorProto* other) {
   6945   if (other == this) return;
   6946   InternalSwap(other);
   6947 }
   6948 void ServiceDescriptorProto::InternalSwap(ServiceDescriptorProto* other) {
   6949   name_.Swap(&other->name_);
   6950   method_.UnsafeArenaSwap(&other->method_);
   6951   std::swap(options_, other->options_);
   6952   std::swap(_has_bits_[0], other->_has_bits_[0]);
   6953   _internal_metadata_.Swap(&other->_internal_metadata_);
   6954   std::swap(_cached_size_, other->_cached_size_);
   6955 }
   6956 
   6957 ::google::protobuf::Metadata ServiceDescriptorProto::GetMetadata() const {
   6958   protobuf_AssignDescriptorsOnce();
   6959   ::google::protobuf::Metadata metadata;
   6960   metadata.descriptor = ServiceDescriptorProto_descriptor_;
   6961   metadata.reflection = ServiceDescriptorProto_reflection_;
   6962   return metadata;
   6963 }
   6964 
   6965 #if PROTOBUF_INLINE_NOT_IN_HEADERS
   6966 // ServiceDescriptorProto
   6967 
   6968 // optional string name = 1;
   6969 bool ServiceDescriptorProto::has_name() const {
   6970   return (_has_bits_[0] & 0x00000001u) != 0;
   6971 }
   6972 void ServiceDescriptorProto::set_has_name() {
   6973   _has_bits_[0] |= 0x00000001u;
   6974 }
   6975 void ServiceDescriptorProto::clear_has_name() {
   6976   _has_bits_[0] &= ~0x00000001u;
   6977 }
   6978 void ServiceDescriptorProto::clear_name() {
   6979   name_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   6980   clear_has_name();
   6981 }
   6982  const ::std::string& ServiceDescriptorProto::name() const {
   6983   // @@protoc_insertion_point(field_get:google.protobuf.ServiceDescriptorProto.name)
   6984   return name_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   6985 }
   6986  void ServiceDescriptorProto::set_name(const ::std::string& value) {
   6987   set_has_name();
   6988   name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
   6989   // @@protoc_insertion_point(field_set:google.protobuf.ServiceDescriptorProto.name)
   6990 }
   6991  void ServiceDescriptorProto::set_name(const char* value) {
   6992   set_has_name();
   6993   name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
   6994   // @@protoc_insertion_point(field_set_char:google.protobuf.ServiceDescriptorProto.name)
   6995 }
   6996  void ServiceDescriptorProto::set_name(const char* value, size_t size) {
   6997   set_has_name();
   6998   name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
   6999       ::std::string(reinterpret_cast<const char*>(value), size));
   7000   // @@protoc_insertion_point(field_set_pointer:google.protobuf.ServiceDescriptorProto.name)
   7001 }
   7002  ::std::string* ServiceDescriptorProto::mutable_name() {
   7003   set_has_name();
   7004   // @@protoc_insertion_point(field_mutable:google.protobuf.ServiceDescriptorProto.name)
   7005   return name_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   7006 }
   7007  ::std::string* ServiceDescriptorProto::release_name() {
   7008   // @@protoc_insertion_point(field_release:google.protobuf.ServiceDescriptorProto.name)
   7009   clear_has_name();
   7010   return name_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   7011 }
   7012  void ServiceDescriptorProto::set_allocated_name(::std::string* name) {
   7013   if (name != NULL) {
   7014     set_has_name();
   7015   } else {
   7016     clear_has_name();
   7017   }
   7018   name_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), name);
   7019   // @@protoc_insertion_point(field_set_allocated:google.protobuf.ServiceDescriptorProto.name)
   7020 }
   7021 
   7022 // repeated .google.protobuf.MethodDescriptorProto method = 2;
   7023 int ServiceDescriptorProto::method_size() const {
   7024   return method_.size();
   7025 }
   7026 void ServiceDescriptorProto::clear_method() {
   7027   method_.Clear();
   7028 }
   7029 const ::google::protobuf::MethodDescriptorProto& ServiceDescriptorProto::method(int index) const {
   7030   // @@protoc_insertion_point(field_get:google.protobuf.ServiceDescriptorProto.method)
   7031   return method_.Get(index);
   7032 }
   7033 ::google::protobuf::MethodDescriptorProto* ServiceDescriptorProto::mutable_method(int index) {
   7034   // @@protoc_insertion_point(field_mutable:google.protobuf.ServiceDescriptorProto.method)
   7035   return method_.Mutable(index);
   7036 }
   7037 ::google::protobuf::MethodDescriptorProto* ServiceDescriptorProto::add_method() {
   7038   // @@protoc_insertion_point(field_add:google.protobuf.ServiceDescriptorProto.method)
   7039   return method_.Add();
   7040 }
   7041 ::google::protobuf::RepeatedPtrField< ::google::protobuf::MethodDescriptorProto >*
   7042 ServiceDescriptorProto::mutable_method() {
   7043   // @@protoc_insertion_point(field_mutable_list:google.protobuf.ServiceDescriptorProto.method)
   7044   return &method_;
   7045 }
   7046 const ::google::protobuf::RepeatedPtrField< ::google::protobuf::MethodDescriptorProto >&
   7047 ServiceDescriptorProto::method() const {
   7048   // @@protoc_insertion_point(field_list:google.protobuf.ServiceDescriptorProto.method)
   7049   return method_;
   7050 }
   7051 
   7052 // optional .google.protobuf.ServiceOptions options = 3;
   7053 bool ServiceDescriptorProto::has_options() const {
   7054   return (_has_bits_[0] & 0x00000004u) != 0;
   7055 }
   7056 void ServiceDescriptorProto::set_has_options() {
   7057   _has_bits_[0] |= 0x00000004u;
   7058 }
   7059 void ServiceDescriptorProto::clear_has_options() {
   7060   _has_bits_[0] &= ~0x00000004u;
   7061 }
   7062 void ServiceDescriptorProto::clear_options() {
   7063   if (options_ != NULL) options_->::google::protobuf::ServiceOptions::Clear();
   7064   clear_has_options();
   7065 }
   7066 const ::google::protobuf::ServiceOptions& ServiceDescriptorProto::options() const {
   7067   // @@protoc_insertion_point(field_get:google.protobuf.ServiceDescriptorProto.options)
   7068   return options_ != NULL ? *options_ : *default_instance_->options_;
   7069 }
   7070 ::google::protobuf::ServiceOptions* ServiceDescriptorProto::mutable_options() {
   7071   set_has_options();
   7072   if (options_ == NULL) {
   7073     options_ = new ::google::protobuf::ServiceOptions;
   7074   }
   7075   // @@protoc_insertion_point(field_mutable:google.protobuf.ServiceDescriptorProto.options)
   7076   return options_;
   7077 }
   7078 ::google::protobuf::ServiceOptions* ServiceDescriptorProto::release_options() {
   7079   // @@protoc_insertion_point(field_release:google.protobuf.ServiceDescriptorProto.options)
   7080   clear_has_options();
   7081   ::google::protobuf::ServiceOptions* temp = options_;
   7082   options_ = NULL;
   7083   return temp;
   7084 }
   7085 void ServiceDescriptorProto::set_allocated_options(::google::protobuf::ServiceOptions* options) {
   7086   delete options_;
   7087   options_ = options;
   7088   if (options) {
   7089     set_has_options();
   7090   } else {
   7091     clear_has_options();
   7092   }
   7093   // @@protoc_insertion_point(field_set_allocated:google.protobuf.ServiceDescriptorProto.options)
   7094 }
   7095 
   7096 #endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
   7097 
   7098 // ===================================================================
   7099 
   7100 #if !defined(_MSC_VER) || _MSC_VER >= 1900
   7101 const int MethodDescriptorProto::kNameFieldNumber;
   7102 const int MethodDescriptorProto::kInputTypeFieldNumber;
   7103 const int MethodDescriptorProto::kOutputTypeFieldNumber;
   7104 const int MethodDescriptorProto::kOptionsFieldNumber;
   7105 const int MethodDescriptorProto::kClientStreamingFieldNumber;
   7106 const int MethodDescriptorProto::kServerStreamingFieldNumber;
   7107 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
   7108 
   7109 MethodDescriptorProto::MethodDescriptorProto()
   7110   : ::google::protobuf::Message(), _internal_metadata_(NULL) {
   7111   SharedCtor();
   7112   // @@protoc_insertion_point(constructor:google.protobuf.MethodDescriptorProto)
   7113 }
   7114 
   7115 void MethodDescriptorProto::InitAsDefaultInstance() {
   7116   options_ = const_cast< ::google::protobuf::MethodOptions*>(&::google::protobuf::MethodOptions::default_instance());
   7117 }
   7118 
   7119 MethodDescriptorProto::MethodDescriptorProto(const MethodDescriptorProto& from)
   7120   : ::google::protobuf::Message(),
   7121     _internal_metadata_(NULL) {
   7122   SharedCtor();
   7123   MergeFrom(from);
   7124   // @@protoc_insertion_point(copy_constructor:google.protobuf.MethodDescriptorProto)
   7125 }
   7126 
   7127 void MethodDescriptorProto::SharedCtor() {
   7128   ::google::protobuf::internal::GetEmptyString();
   7129   _cached_size_ = 0;
   7130   name_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   7131   input_type_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   7132   output_type_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   7133   options_ = NULL;
   7134   client_streaming_ = false;
   7135   server_streaming_ = false;
   7136   ::memset(_has_bits_, 0, sizeof(_has_bits_));
   7137 }
   7138 
   7139 MethodDescriptorProto::~MethodDescriptorProto() {
   7140   // @@protoc_insertion_point(destructor:google.protobuf.MethodDescriptorProto)
   7141   SharedDtor();
   7142 }
   7143 
   7144 void MethodDescriptorProto::SharedDtor() {
   7145   name_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   7146   input_type_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   7147   output_type_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   7148   if (this != default_instance_) {
   7149     delete options_;
   7150   }
   7151 }
   7152 
   7153 void MethodDescriptorProto::SetCachedSize(int size) const {
   7154   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   7155   _cached_size_ = size;
   7156   GOOGLE_SAFE_CONCURRENT_WRITES_END();
   7157 }
   7158 const ::google::protobuf::Descriptor* MethodDescriptorProto::descriptor() {
   7159   protobuf_AssignDescriptorsOnce();
   7160   return MethodDescriptorProto_descriptor_;
   7161 }
   7162 
   7163 const MethodDescriptorProto& MethodDescriptorProto::default_instance() {
   7164   if (default_instance_ == NULL) protobuf_AddDesc_google_2fprotobuf_2fdescriptor_2eproto();
   7165   return *default_instance_;
   7166 }
   7167 
   7168 MethodDescriptorProto* MethodDescriptorProto::default_instance_ = NULL;
   7169 
   7170 MethodDescriptorProto* MethodDescriptorProto::New(::google::protobuf::Arena* arena) const {
   7171   MethodDescriptorProto* n = new MethodDescriptorProto;
   7172   if (arena != NULL) {
   7173     arena->Own(n);
   7174   }
   7175   return n;
   7176 }
   7177 
   7178 void MethodDescriptorProto::Clear() {
   7179 // @@protoc_insertion_point(message_clear_start:google.protobuf.MethodDescriptorProto)
   7180 #if defined(__clang__)
   7181 #define ZR_HELPER_(f) \
   7182   _Pragma("clang diagnostic push") \
   7183   _Pragma("clang diagnostic ignored \"-Winvalid-offsetof\"") \
   7184   __builtin_offsetof(MethodDescriptorProto, f) \
   7185   _Pragma("clang diagnostic pop")
   7186 #else
   7187 #define ZR_HELPER_(f) reinterpret_cast<char*>(\
   7188   &reinterpret_cast<MethodDescriptorProto*>(16)->f)
   7189 #endif
   7190 
   7191 #define ZR_(first, last) do {\
   7192   ::memset(&(first), 0,\
   7193            ZR_HELPER_(last) - ZR_HELPER_(first) + sizeof(last));\
   7194 } while (0)
   7195 
   7196   if (_has_bits_[0 / 32] & 63u) {
   7197     ZR_(client_streaming_, server_streaming_);
   7198     if (has_name()) {
   7199       name_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   7200     }
   7201     if (has_input_type()) {
   7202       input_type_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   7203     }
   7204     if (has_output_type()) {
   7205       output_type_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   7206     }
   7207     if (has_options()) {
   7208       if (options_ != NULL) options_->::google::protobuf::MethodOptions::Clear();
   7209     }
   7210   }
   7211 
   7212 #undef ZR_HELPER_
   7213 #undef ZR_
   7214 
   7215   ::memset(_has_bits_, 0, sizeof(_has_bits_));
   7216   if (_internal_metadata_.have_unknown_fields()) {
   7217     mutable_unknown_fields()->Clear();
   7218   }
   7219 }
   7220 
   7221 bool MethodDescriptorProto::MergePartialFromCodedStream(
   7222     ::google::protobuf::io::CodedInputStream* input) {
   7223 #define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
   7224   ::google::protobuf::uint32 tag;
   7225   // @@protoc_insertion_point(parse_start:google.protobuf.MethodDescriptorProto)
   7226   for (;;) {
   7227     ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
   7228     tag = p.first;
   7229     if (!p.second) goto handle_unusual;
   7230     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
   7231       // optional string name = 1;
   7232       case 1: {
   7233         if (tag == 10) {
   7234           DO_(::google::protobuf::internal::WireFormatLite::ReadString(
   7235                 input, this->mutable_name()));
   7236           ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   7237             this->name().data(), this->name().length(),
   7238             ::google::protobuf::internal::WireFormat::PARSE,
   7239             "google.protobuf.MethodDescriptorProto.name");
   7240         } else {
   7241           goto handle_unusual;
   7242         }
   7243         if (input->ExpectTag(18)) goto parse_input_type;
   7244         break;
   7245       }
   7246 
   7247       // optional string input_type = 2;
   7248       case 2: {
   7249         if (tag == 18) {
   7250          parse_input_type:
   7251           DO_(::google::protobuf::internal::WireFormatLite::ReadString(
   7252                 input, this->mutable_input_type()));
   7253           ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   7254             this->input_type().data(), this->input_type().length(),
   7255             ::google::protobuf::internal::WireFormat::PARSE,
   7256             "google.protobuf.MethodDescriptorProto.input_type");
   7257         } else {
   7258           goto handle_unusual;
   7259         }
   7260         if (input->ExpectTag(26)) goto parse_output_type;
   7261         break;
   7262       }
   7263 
   7264       // optional string output_type = 3;
   7265       case 3: {
   7266         if (tag == 26) {
   7267          parse_output_type:
   7268           DO_(::google::protobuf::internal::WireFormatLite::ReadString(
   7269                 input, this->mutable_output_type()));
   7270           ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   7271             this->output_type().data(), this->output_type().length(),
   7272             ::google::protobuf::internal::WireFormat::PARSE,
   7273             "google.protobuf.MethodDescriptorProto.output_type");
   7274         } else {
   7275           goto handle_unusual;
   7276         }
   7277         if (input->ExpectTag(34)) goto parse_options;
   7278         break;
   7279       }
   7280 
   7281       // optional .google.protobuf.MethodOptions options = 4;
   7282       case 4: {
   7283         if (tag == 34) {
   7284          parse_options:
   7285           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
   7286                input, mutable_options()));
   7287         } else {
   7288           goto handle_unusual;
   7289         }
   7290         if (input->ExpectTag(40)) goto parse_client_streaming;
   7291         break;
   7292       }
   7293 
   7294       // optional bool client_streaming = 5 [default = false];
   7295       case 5: {
   7296         if (tag == 40) {
   7297          parse_client_streaming:
   7298           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
   7299                    bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
   7300                  input, &client_streaming_)));
   7301           set_has_client_streaming();
   7302         } else {
   7303           goto handle_unusual;
   7304         }
   7305         if (input->ExpectTag(48)) goto parse_server_streaming;
   7306         break;
   7307       }
   7308 
   7309       // optional bool server_streaming = 6 [default = false];
   7310       case 6: {
   7311         if (tag == 48) {
   7312          parse_server_streaming:
   7313           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
   7314                    bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
   7315                  input, &server_streaming_)));
   7316           set_has_server_streaming();
   7317         } else {
   7318           goto handle_unusual;
   7319         }
   7320         if (input->ExpectAtEnd()) goto success;
   7321         break;
   7322       }
   7323 
   7324       default: {
   7325       handle_unusual:
   7326         if (tag == 0 ||
   7327             ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
   7328             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
   7329           goto success;
   7330         }
   7331         DO_(::google::protobuf::internal::WireFormat::SkipField(
   7332               input, tag, mutable_unknown_fields()));
   7333         break;
   7334       }
   7335     }
   7336   }
   7337 success:
   7338   // @@protoc_insertion_point(parse_success:google.protobuf.MethodDescriptorProto)
   7339   return true;
   7340 failure:
   7341   // @@protoc_insertion_point(parse_failure:google.protobuf.MethodDescriptorProto)
   7342   return false;
   7343 #undef DO_
   7344 }
   7345 
   7346 void MethodDescriptorProto::SerializeWithCachedSizes(
   7347     ::google::protobuf::io::CodedOutputStream* output) const {
   7348   // @@protoc_insertion_point(serialize_start:google.protobuf.MethodDescriptorProto)
   7349   // optional string name = 1;
   7350   if (has_name()) {
   7351     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   7352       this->name().data(), this->name().length(),
   7353       ::google::protobuf::internal::WireFormat::SERIALIZE,
   7354       "google.protobuf.MethodDescriptorProto.name");
   7355     ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
   7356       1, this->name(), output);
   7357   }
   7358 
   7359   // optional string input_type = 2;
   7360   if (has_input_type()) {
   7361     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   7362       this->input_type().data(), this->input_type().length(),
   7363       ::google::protobuf::internal::WireFormat::SERIALIZE,
   7364       "google.protobuf.MethodDescriptorProto.input_type");
   7365     ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
   7366       2, this->input_type(), output);
   7367   }
   7368 
   7369   // optional string output_type = 3;
   7370   if (has_output_type()) {
   7371     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   7372       this->output_type().data(), this->output_type().length(),
   7373       ::google::protobuf::internal::WireFormat::SERIALIZE,
   7374       "google.protobuf.MethodDescriptorProto.output_type");
   7375     ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
   7376       3, this->output_type(), output);
   7377   }
   7378 
   7379   // optional .google.protobuf.MethodOptions options = 4;
   7380   if (has_options()) {
   7381     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
   7382       4, *this->options_, output);
   7383   }
   7384 
   7385   // optional bool client_streaming = 5 [default = false];
   7386   if (has_client_streaming()) {
   7387     ::google::protobuf::internal::WireFormatLite::WriteBool(5, this->client_streaming(), output);
   7388   }
   7389 
   7390   // optional bool server_streaming = 6 [default = false];
   7391   if (has_server_streaming()) {
   7392     ::google::protobuf::internal::WireFormatLite::WriteBool(6, this->server_streaming(), output);
   7393   }
   7394 
   7395   if (_internal_metadata_.have_unknown_fields()) {
   7396     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
   7397         unknown_fields(), output);
   7398   }
   7399   // @@protoc_insertion_point(serialize_end:google.protobuf.MethodDescriptorProto)
   7400 }
   7401 
   7402 ::google::protobuf::uint8* MethodDescriptorProto::SerializeWithCachedSizesToArray(
   7403     ::google::protobuf::uint8* target) const {
   7404   // @@protoc_insertion_point(serialize_to_array_start:google.protobuf.MethodDescriptorProto)
   7405   // optional string name = 1;
   7406   if (has_name()) {
   7407     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   7408       this->name().data(), this->name().length(),
   7409       ::google::protobuf::internal::WireFormat::SERIALIZE,
   7410       "google.protobuf.MethodDescriptorProto.name");
   7411     target =
   7412       ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
   7413         1, this->name(), target);
   7414   }
   7415 
   7416   // optional string input_type = 2;
   7417   if (has_input_type()) {
   7418     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   7419       this->input_type().data(), this->input_type().length(),
   7420       ::google::protobuf::internal::WireFormat::SERIALIZE,
   7421       "google.protobuf.MethodDescriptorProto.input_type");
   7422     target =
   7423       ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
   7424         2, this->input_type(), target);
   7425   }
   7426 
   7427   // optional string output_type = 3;
   7428   if (has_output_type()) {
   7429     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   7430       this->output_type().data(), this->output_type().length(),
   7431       ::google::protobuf::internal::WireFormat::SERIALIZE,
   7432       "google.protobuf.MethodDescriptorProto.output_type");
   7433     target =
   7434       ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
   7435         3, this->output_type(), target);
   7436   }
   7437 
   7438   // optional .google.protobuf.MethodOptions options = 4;
   7439   if (has_options()) {
   7440     target = ::google::protobuf::internal::WireFormatLite::
   7441       WriteMessageNoVirtualToArray(
   7442         4, *this->options_, target);
   7443   }
   7444 
   7445   // optional bool client_streaming = 5 [default = false];
   7446   if (has_client_streaming()) {
   7447     target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(5, this->client_streaming(), target);
   7448   }
   7449 
   7450   // optional bool server_streaming = 6 [default = false];
   7451   if (has_server_streaming()) {
   7452     target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(6, this->server_streaming(), target);
   7453   }
   7454 
   7455   if (_internal_metadata_.have_unknown_fields()) {
   7456     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
   7457         unknown_fields(), target);
   7458   }
   7459   // @@protoc_insertion_point(serialize_to_array_end:google.protobuf.MethodDescriptorProto)
   7460   return target;
   7461 }
   7462 
   7463 int MethodDescriptorProto::ByteSize() const {
   7464 // @@protoc_insertion_point(message_byte_size_start:google.protobuf.MethodDescriptorProto)
   7465   int total_size = 0;
   7466 
   7467   if (_has_bits_[0 / 32] & 63u) {
   7468     // optional string name = 1;
   7469     if (has_name()) {
   7470       total_size += 1 +
   7471         ::google::protobuf::internal::WireFormatLite::StringSize(
   7472           this->name());
   7473     }
   7474 
   7475     // optional string input_type = 2;
   7476     if (has_input_type()) {
   7477       total_size += 1 +
   7478         ::google::protobuf::internal::WireFormatLite::StringSize(
   7479           this->input_type());
   7480     }
   7481 
   7482     // optional string output_type = 3;
   7483     if (has_output_type()) {
   7484       total_size += 1 +
   7485         ::google::protobuf::internal::WireFormatLite::StringSize(
   7486           this->output_type());
   7487     }
   7488 
   7489     // optional .google.protobuf.MethodOptions options = 4;
   7490     if (has_options()) {
   7491       total_size += 1 +
   7492         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
   7493           *this->options_);
   7494     }
   7495 
   7496     // optional bool client_streaming = 5 [default = false];
   7497     if (has_client_streaming()) {
   7498       total_size += 1 + 1;
   7499     }
   7500 
   7501     // optional bool server_streaming = 6 [default = false];
   7502     if (has_server_streaming()) {
   7503       total_size += 1 + 1;
   7504     }
   7505 
   7506   }
   7507   if (_internal_metadata_.have_unknown_fields()) {
   7508     total_size +=
   7509       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
   7510         unknown_fields());
   7511   }
   7512   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   7513   _cached_size_ = total_size;
   7514   GOOGLE_SAFE_CONCURRENT_WRITES_END();
   7515   return total_size;
   7516 }
   7517 
   7518 void MethodDescriptorProto::MergeFrom(const ::google::protobuf::Message& from) {
   7519 // @@protoc_insertion_point(generalized_merge_from_start:google.protobuf.MethodDescriptorProto)
   7520   if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
   7521   const MethodDescriptorProto* source =
   7522       ::google::protobuf::internal::DynamicCastToGenerated<const MethodDescriptorProto>(
   7523           &from);
   7524   if (source == NULL) {
   7525   // @@protoc_insertion_point(generalized_merge_from_cast_fail:google.protobuf.MethodDescriptorProto)
   7526     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
   7527   } else {
   7528   // @@protoc_insertion_point(generalized_merge_from_cast_success:google.protobuf.MethodDescriptorProto)
   7529     MergeFrom(*source);
   7530   }
   7531 }
   7532 
   7533 void MethodDescriptorProto::MergeFrom(const MethodDescriptorProto& from) {
   7534 // @@protoc_insertion_point(class_specific_merge_from_start:google.protobuf.MethodDescriptorProto)
   7535   if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
   7536   if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
   7537     if (from.has_name()) {
   7538       set_has_name();
   7539       name_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.name_);
   7540     }
   7541     if (from.has_input_type()) {
   7542       set_has_input_type();
   7543       input_type_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.input_type_);
   7544     }
   7545     if (from.has_output_type()) {
   7546       set_has_output_type();
   7547       output_type_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.output_type_);
   7548     }
   7549     if (from.has_options()) {
   7550       mutable_options()->::google::protobuf::MethodOptions::MergeFrom(from.options());
   7551     }
   7552     if (from.has_client_streaming()) {
   7553       set_client_streaming(from.client_streaming());
   7554     }
   7555     if (from.has_server_streaming()) {
   7556       set_server_streaming(from.server_streaming());
   7557     }
   7558   }
   7559   if (from._internal_metadata_.have_unknown_fields()) {
   7560     mutable_unknown_fields()->MergeFrom(from.unknown_fields());
   7561   }
   7562 }
   7563 
   7564 void MethodDescriptorProto::CopyFrom(const ::google::protobuf::Message& from) {
   7565 // @@protoc_insertion_point(generalized_copy_from_start:google.protobuf.MethodDescriptorProto)
   7566   if (&from == this) return;
   7567   Clear();
   7568   MergeFrom(from);
   7569 }
   7570 
   7571 void MethodDescriptorProto::CopyFrom(const MethodDescriptorProto& from) {
   7572 // @@protoc_insertion_point(class_specific_copy_from_start:google.protobuf.MethodDescriptorProto)
   7573   if (&from == this) return;
   7574   Clear();
   7575   MergeFrom(from);
   7576 }
   7577 
   7578 bool MethodDescriptorProto::IsInitialized() const {
   7579 
   7580   if (has_options()) {
   7581     if (!this->options_->IsInitialized()) return false;
   7582   }
   7583   return true;
   7584 }
   7585 
   7586 void MethodDescriptorProto::Swap(MethodDescriptorProto* other) {
   7587   if (other == this) return;
   7588   InternalSwap(other);
   7589 }
   7590 void MethodDescriptorProto::InternalSwap(MethodDescriptorProto* other) {
   7591   name_.Swap(&other->name_);
   7592   input_type_.Swap(&other->input_type_);
   7593   output_type_.Swap(&other->output_type_);
   7594   std::swap(options_, other->options_);
   7595   std::swap(client_streaming_, other->client_streaming_);
   7596   std::swap(server_streaming_, other->server_streaming_);
   7597   std::swap(_has_bits_[0], other->_has_bits_[0]);
   7598   _internal_metadata_.Swap(&other->_internal_metadata_);
   7599   std::swap(_cached_size_, other->_cached_size_);
   7600 }
   7601 
   7602 ::google::protobuf::Metadata MethodDescriptorProto::GetMetadata() const {
   7603   protobuf_AssignDescriptorsOnce();
   7604   ::google::protobuf::Metadata metadata;
   7605   metadata.descriptor = MethodDescriptorProto_descriptor_;
   7606   metadata.reflection = MethodDescriptorProto_reflection_;
   7607   return metadata;
   7608 }
   7609 
   7610 #if PROTOBUF_INLINE_NOT_IN_HEADERS
   7611 // MethodDescriptorProto
   7612 
   7613 // optional string name = 1;
   7614 bool MethodDescriptorProto::has_name() const {
   7615   return (_has_bits_[0] & 0x00000001u) != 0;
   7616 }
   7617 void MethodDescriptorProto::set_has_name() {
   7618   _has_bits_[0] |= 0x00000001u;
   7619 }
   7620 void MethodDescriptorProto::clear_has_name() {
   7621   _has_bits_[0] &= ~0x00000001u;
   7622 }
   7623 void MethodDescriptorProto::clear_name() {
   7624   name_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   7625   clear_has_name();
   7626 }
   7627  const ::std::string& MethodDescriptorProto::name() const {
   7628   // @@protoc_insertion_point(field_get:google.protobuf.MethodDescriptorProto.name)
   7629   return name_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   7630 }
   7631  void MethodDescriptorProto::set_name(const ::std::string& value) {
   7632   set_has_name();
   7633   name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
   7634   // @@protoc_insertion_point(field_set:google.protobuf.MethodDescriptorProto.name)
   7635 }
   7636  void MethodDescriptorProto::set_name(const char* value) {
   7637   set_has_name();
   7638   name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
   7639   // @@protoc_insertion_point(field_set_char:google.protobuf.MethodDescriptorProto.name)
   7640 }
   7641  void MethodDescriptorProto::set_name(const char* value, size_t size) {
   7642   set_has_name();
   7643   name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
   7644       ::std::string(reinterpret_cast<const char*>(value), size));
   7645   // @@protoc_insertion_point(field_set_pointer:google.protobuf.MethodDescriptorProto.name)
   7646 }
   7647  ::std::string* MethodDescriptorProto::mutable_name() {
   7648   set_has_name();
   7649   // @@protoc_insertion_point(field_mutable:google.protobuf.MethodDescriptorProto.name)
   7650   return name_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   7651 }
   7652  ::std::string* MethodDescriptorProto::release_name() {
   7653   // @@protoc_insertion_point(field_release:google.protobuf.MethodDescriptorProto.name)
   7654   clear_has_name();
   7655   return name_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   7656 }
   7657  void MethodDescriptorProto::set_allocated_name(::std::string* name) {
   7658   if (name != NULL) {
   7659     set_has_name();
   7660   } else {
   7661     clear_has_name();
   7662   }
   7663   name_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), name);
   7664   // @@protoc_insertion_point(field_set_allocated:google.protobuf.MethodDescriptorProto.name)
   7665 }
   7666 
   7667 // optional string input_type = 2;
   7668 bool MethodDescriptorProto::has_input_type() const {
   7669   return (_has_bits_[0] & 0x00000002u) != 0;
   7670 }
   7671 void MethodDescriptorProto::set_has_input_type() {
   7672   _has_bits_[0] |= 0x00000002u;
   7673 }
   7674 void MethodDescriptorProto::clear_has_input_type() {
   7675   _has_bits_[0] &= ~0x00000002u;
   7676 }
   7677 void MethodDescriptorProto::clear_input_type() {
   7678   input_type_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   7679   clear_has_input_type();
   7680 }
   7681  const ::std::string& MethodDescriptorProto::input_type() const {
   7682   // @@protoc_insertion_point(field_get:google.protobuf.MethodDescriptorProto.input_type)
   7683   return input_type_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   7684 }
   7685  void MethodDescriptorProto::set_input_type(const ::std::string& value) {
   7686   set_has_input_type();
   7687   input_type_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
   7688   // @@protoc_insertion_point(field_set:google.protobuf.MethodDescriptorProto.input_type)
   7689 }
   7690  void MethodDescriptorProto::set_input_type(const char* value) {
   7691   set_has_input_type();
   7692   input_type_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
   7693   // @@protoc_insertion_point(field_set_char:google.protobuf.MethodDescriptorProto.input_type)
   7694 }
   7695  void MethodDescriptorProto::set_input_type(const char* value, size_t size) {
   7696   set_has_input_type();
   7697   input_type_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
   7698       ::std::string(reinterpret_cast<const char*>(value), size));
   7699   // @@protoc_insertion_point(field_set_pointer:google.protobuf.MethodDescriptorProto.input_type)
   7700 }
   7701  ::std::string* MethodDescriptorProto::mutable_input_type() {
   7702   set_has_input_type();
   7703   // @@protoc_insertion_point(field_mutable:google.protobuf.MethodDescriptorProto.input_type)
   7704   return input_type_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   7705 }
   7706  ::std::string* MethodDescriptorProto::release_input_type() {
   7707   // @@protoc_insertion_point(field_release:google.protobuf.MethodDescriptorProto.input_type)
   7708   clear_has_input_type();
   7709   return input_type_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   7710 }
   7711  void MethodDescriptorProto::set_allocated_input_type(::std::string* input_type) {
   7712   if (input_type != NULL) {
   7713     set_has_input_type();
   7714   } else {
   7715     clear_has_input_type();
   7716   }
   7717   input_type_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), input_type);
   7718   // @@protoc_insertion_point(field_set_allocated:google.protobuf.MethodDescriptorProto.input_type)
   7719 }
   7720 
   7721 // optional string output_type = 3;
   7722 bool MethodDescriptorProto::has_output_type() const {
   7723   return (_has_bits_[0] & 0x00000004u) != 0;
   7724 }
   7725 void MethodDescriptorProto::set_has_output_type() {
   7726   _has_bits_[0] |= 0x00000004u;
   7727 }
   7728 void MethodDescriptorProto::clear_has_output_type() {
   7729   _has_bits_[0] &= ~0x00000004u;
   7730 }
   7731 void MethodDescriptorProto::clear_output_type() {
   7732   output_type_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   7733   clear_has_output_type();
   7734 }
   7735  const ::std::string& MethodDescriptorProto::output_type() const {
   7736   // @@protoc_insertion_point(field_get:google.protobuf.MethodDescriptorProto.output_type)
   7737   return output_type_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   7738 }
   7739  void MethodDescriptorProto::set_output_type(const ::std::string& value) {
   7740   set_has_output_type();
   7741   output_type_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
   7742   // @@protoc_insertion_point(field_set:google.protobuf.MethodDescriptorProto.output_type)
   7743 }
   7744  void MethodDescriptorProto::set_output_type(const char* value) {
   7745   set_has_output_type();
   7746   output_type_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
   7747   // @@protoc_insertion_point(field_set_char:google.protobuf.MethodDescriptorProto.output_type)
   7748 }
   7749  void MethodDescriptorProto::set_output_type(const char* value, size_t size) {
   7750   set_has_output_type();
   7751   output_type_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
   7752       ::std::string(reinterpret_cast<const char*>(value), size));
   7753   // @@protoc_insertion_point(field_set_pointer:google.protobuf.MethodDescriptorProto.output_type)
   7754 }
   7755  ::std::string* MethodDescriptorProto::mutable_output_type() {
   7756   set_has_output_type();
   7757   // @@protoc_insertion_point(field_mutable:google.protobuf.MethodDescriptorProto.output_type)
   7758   return output_type_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   7759 }
   7760  ::std::string* MethodDescriptorProto::release_output_type() {
   7761   // @@protoc_insertion_point(field_release:google.protobuf.MethodDescriptorProto.output_type)
   7762   clear_has_output_type();
   7763   return output_type_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   7764 }
   7765  void MethodDescriptorProto::set_allocated_output_type(::std::string* output_type) {
   7766   if (output_type != NULL) {
   7767     set_has_output_type();
   7768   } else {
   7769     clear_has_output_type();
   7770   }
   7771   output_type_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), output_type);
   7772   // @@protoc_insertion_point(field_set_allocated:google.protobuf.MethodDescriptorProto.output_type)
   7773 }
   7774 
   7775 // optional .google.protobuf.MethodOptions options = 4;
   7776 bool MethodDescriptorProto::has_options() const {
   7777   return (_has_bits_[0] & 0x00000008u) != 0;
   7778 }
   7779 void MethodDescriptorProto::set_has_options() {
   7780   _has_bits_[0] |= 0x00000008u;
   7781 }
   7782 void MethodDescriptorProto::clear_has_options() {
   7783   _has_bits_[0] &= ~0x00000008u;
   7784 }
   7785 void MethodDescriptorProto::clear_options() {
   7786   if (options_ != NULL) options_->::google::protobuf::MethodOptions::Clear();
   7787   clear_has_options();
   7788 }
   7789 const ::google::protobuf::MethodOptions& MethodDescriptorProto::options() const {
   7790   // @@protoc_insertion_point(field_get:google.protobuf.MethodDescriptorProto.options)
   7791   return options_ != NULL ? *options_ : *default_instance_->options_;
   7792 }
   7793 ::google::protobuf::MethodOptions* MethodDescriptorProto::mutable_options() {
   7794   set_has_options();
   7795   if (options_ == NULL) {
   7796     options_ = new ::google::protobuf::MethodOptions;
   7797   }
   7798   // @@protoc_insertion_point(field_mutable:google.protobuf.MethodDescriptorProto.options)
   7799   return options_;
   7800 }
   7801 ::google::protobuf::MethodOptions* MethodDescriptorProto::release_options() {
   7802   // @@protoc_insertion_point(field_release:google.protobuf.MethodDescriptorProto.options)
   7803   clear_has_options();
   7804   ::google::protobuf::MethodOptions* temp = options_;
   7805   options_ = NULL;
   7806   return temp;
   7807 }
   7808 void MethodDescriptorProto::set_allocated_options(::google::protobuf::MethodOptions* options) {
   7809   delete options_;
   7810   options_ = options;
   7811   if (options) {
   7812     set_has_options();
   7813   } else {
   7814     clear_has_options();
   7815   }
   7816   // @@protoc_insertion_point(field_set_allocated:google.protobuf.MethodDescriptorProto.options)
   7817 }
   7818 
   7819 // optional bool client_streaming = 5 [default = false];
   7820 bool MethodDescriptorProto::has_client_streaming() const {
   7821   return (_has_bits_[0] & 0x00000010u) != 0;
   7822 }
   7823 void MethodDescriptorProto::set_has_client_streaming() {
   7824   _has_bits_[0] |= 0x00000010u;
   7825 }
   7826 void MethodDescriptorProto::clear_has_client_streaming() {
   7827   _has_bits_[0] &= ~0x00000010u;
   7828 }
   7829 void MethodDescriptorProto::clear_client_streaming() {
   7830   client_streaming_ = false;
   7831   clear_has_client_streaming();
   7832 }
   7833  bool MethodDescriptorProto::client_streaming() const {
   7834   // @@protoc_insertion_point(field_get:google.protobuf.MethodDescriptorProto.client_streaming)
   7835   return client_streaming_;
   7836 }
   7837  void MethodDescriptorProto::set_client_streaming(bool value) {
   7838   set_has_client_streaming();
   7839   client_streaming_ = value;
   7840   // @@protoc_insertion_point(field_set:google.protobuf.MethodDescriptorProto.client_streaming)
   7841 }
   7842 
   7843 // optional bool server_streaming = 6 [default = false];
   7844 bool MethodDescriptorProto::has_server_streaming() const {
   7845   return (_has_bits_[0] & 0x00000020u) != 0;
   7846 }
   7847 void MethodDescriptorProto::set_has_server_streaming() {
   7848   _has_bits_[0] |= 0x00000020u;
   7849 }
   7850 void MethodDescriptorProto::clear_has_server_streaming() {
   7851   _has_bits_[0] &= ~0x00000020u;
   7852 }
   7853 void MethodDescriptorProto::clear_server_streaming() {
   7854   server_streaming_ = false;
   7855   clear_has_server_streaming();
   7856 }
   7857  bool MethodDescriptorProto::server_streaming() const {
   7858   // @@protoc_insertion_point(field_get:google.protobuf.MethodDescriptorProto.server_streaming)
   7859   return server_streaming_;
   7860 }
   7861  void MethodDescriptorProto::set_server_streaming(bool value) {
   7862   set_has_server_streaming();
   7863   server_streaming_ = value;
   7864   // @@protoc_insertion_point(field_set:google.protobuf.MethodDescriptorProto.server_streaming)
   7865 }
   7866 
   7867 #endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
   7868 
   7869 // ===================================================================
   7870 
   7871 const ::google::protobuf::EnumDescriptor* FileOptions_OptimizeMode_descriptor() {
   7872   protobuf_AssignDescriptorsOnce();
   7873   return FileOptions_OptimizeMode_descriptor_;
   7874 }
   7875 bool FileOptions_OptimizeMode_IsValid(int value) {
   7876   switch(value) {
   7877     case 1:
   7878     case 2:
   7879     case 3:
   7880       return true;
   7881     default:
   7882       return false;
   7883   }
   7884 }
   7885 
   7886 #if !defined(_MSC_VER) || _MSC_VER >= 1900
   7887 const FileOptions_OptimizeMode FileOptions::SPEED;
   7888 const FileOptions_OptimizeMode FileOptions::CODE_SIZE;
   7889 const FileOptions_OptimizeMode FileOptions::LITE_RUNTIME;
   7890 const FileOptions_OptimizeMode FileOptions::OptimizeMode_MIN;
   7891 const FileOptions_OptimizeMode FileOptions::OptimizeMode_MAX;
   7892 const int FileOptions::OptimizeMode_ARRAYSIZE;
   7893 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
   7894 #if !defined(_MSC_VER) || _MSC_VER >= 1900
   7895 const int FileOptions::kJavaPackageFieldNumber;
   7896 const int FileOptions::kJavaOuterClassnameFieldNumber;
   7897 const int FileOptions::kJavaMultipleFilesFieldNumber;
   7898 const int FileOptions::kJavaGenerateEqualsAndHashFieldNumber;
   7899 const int FileOptions::kJavaStringCheckUtf8FieldNumber;
   7900 const int FileOptions::kOptimizeForFieldNumber;
   7901 const int FileOptions::kGoPackageFieldNumber;
   7902 const int FileOptions::kCcGenericServicesFieldNumber;
   7903 const int FileOptions::kJavaGenericServicesFieldNumber;
   7904 const int FileOptions::kPyGenericServicesFieldNumber;
   7905 const int FileOptions::kDeprecatedFieldNumber;
   7906 const int FileOptions::kCcEnableArenasFieldNumber;
   7907 const int FileOptions::kObjcClassPrefixFieldNumber;
   7908 const int FileOptions::kCsharpNamespaceFieldNumber;
   7909 const int FileOptions::kUninterpretedOptionFieldNumber;
   7910 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
   7911 
   7912 FileOptions::FileOptions()
   7913   : ::google::protobuf::Message(), _internal_metadata_(NULL) {
   7914   SharedCtor();
   7915   // @@protoc_insertion_point(constructor:google.protobuf.FileOptions)
   7916 }
   7917 
   7918 void FileOptions::InitAsDefaultInstance() {
   7919 }
   7920 
   7921 FileOptions::FileOptions(const FileOptions& from)
   7922   : ::google::protobuf::Message(),
   7923     _internal_metadata_(NULL) {
   7924   SharedCtor();
   7925   MergeFrom(from);
   7926   // @@protoc_insertion_point(copy_constructor:google.protobuf.FileOptions)
   7927 }
   7928 
   7929 void FileOptions::SharedCtor() {
   7930   ::google::protobuf::internal::GetEmptyString();
   7931   _cached_size_ = 0;
   7932   java_package_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   7933   java_outer_classname_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   7934   java_multiple_files_ = false;
   7935   java_generate_equals_and_hash_ = false;
   7936   java_string_check_utf8_ = false;
   7937   optimize_for_ = 1;
   7938   go_package_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   7939   cc_generic_services_ = false;
   7940   java_generic_services_ = false;
   7941   py_generic_services_ = false;
   7942   deprecated_ = false;
   7943   cc_enable_arenas_ = false;
   7944   objc_class_prefix_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   7945   csharp_namespace_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   7946   ::memset(_has_bits_, 0, sizeof(_has_bits_));
   7947 }
   7948 
   7949 FileOptions::~FileOptions() {
   7950   // @@protoc_insertion_point(destructor:google.protobuf.FileOptions)
   7951   SharedDtor();
   7952 }
   7953 
   7954 void FileOptions::SharedDtor() {
   7955   java_package_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   7956   java_outer_classname_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   7957   go_package_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   7958   objc_class_prefix_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   7959   csharp_namespace_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   7960   if (this != default_instance_) {
   7961   }
   7962 }
   7963 
   7964 void FileOptions::SetCachedSize(int size) const {
   7965   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   7966   _cached_size_ = size;
   7967   GOOGLE_SAFE_CONCURRENT_WRITES_END();
   7968 }
   7969 const ::google::protobuf::Descriptor* FileOptions::descriptor() {
   7970   protobuf_AssignDescriptorsOnce();
   7971   return FileOptions_descriptor_;
   7972 }
   7973 
   7974 const FileOptions& FileOptions::default_instance() {
   7975   if (default_instance_ == NULL) protobuf_AddDesc_google_2fprotobuf_2fdescriptor_2eproto();
   7976   return *default_instance_;
   7977 }
   7978 
   7979 FileOptions* FileOptions::default_instance_ = NULL;
   7980 
   7981 FileOptions* FileOptions::New(::google::protobuf::Arena* arena) const {
   7982   FileOptions* n = new FileOptions;
   7983   if (arena != NULL) {
   7984     arena->Own(n);
   7985   }
   7986   return n;
   7987 }
   7988 
   7989 void FileOptions::Clear() {
   7990 // @@protoc_insertion_point(message_clear_start:google.protobuf.FileOptions)
   7991   _extensions_.Clear();
   7992 #if defined(__clang__)
   7993 #define ZR_HELPER_(f) \
   7994   _Pragma("clang diagnostic push") \
   7995   _Pragma("clang diagnostic ignored \"-Winvalid-offsetof\"") \
   7996   __builtin_offsetof(FileOptions, f) \
   7997   _Pragma("clang diagnostic pop")
   7998 #else
   7999 #define ZR_HELPER_(f) reinterpret_cast<char*>(\
   8000   &reinterpret_cast<FileOptions*>(16)->f)
   8001 #endif
   8002 
   8003 #define ZR_(first, last) do {\
   8004   ::memset(&(first), 0,\
   8005            ZR_HELPER_(last) - ZR_HELPER_(first) + sizeof(last));\
   8006 } while (0)
   8007 
   8008   if (_has_bits_[0 / 32] & 255u) {
   8009     ZR_(java_multiple_files_, cc_generic_services_);
   8010     if (has_java_package()) {
   8011       java_package_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   8012     }
   8013     if (has_java_outer_classname()) {
   8014       java_outer_classname_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   8015     }
   8016     optimize_for_ = 1;
   8017     if (has_go_package()) {
   8018       go_package_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   8019     }
   8020   }
   8021   if (_has_bits_[8 / 32] & 16128u) {
   8022     ZR_(java_generic_services_, cc_enable_arenas_);
   8023     if (has_objc_class_prefix()) {
   8024       objc_class_prefix_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   8025     }
   8026     if (has_csharp_namespace()) {
   8027       csharp_namespace_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   8028     }
   8029   }
   8030 
   8031 #undef ZR_HELPER_
   8032 #undef ZR_
   8033 
   8034   uninterpreted_option_.Clear();
   8035   ::memset(_has_bits_, 0, sizeof(_has_bits_));
   8036   if (_internal_metadata_.have_unknown_fields()) {
   8037     mutable_unknown_fields()->Clear();
   8038   }
   8039 }
   8040 
   8041 bool FileOptions::MergePartialFromCodedStream(
   8042     ::google::protobuf::io::CodedInputStream* input) {
   8043 #define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
   8044   ::google::protobuf::uint32 tag;
   8045   // @@protoc_insertion_point(parse_start:google.protobuf.FileOptions)
   8046   for (;;) {
   8047     ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(16383);
   8048     tag = p.first;
   8049     if (!p.second) goto handle_unusual;
   8050     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
   8051       // optional string java_package = 1;
   8052       case 1: {
   8053         if (tag == 10) {
   8054           DO_(::google::protobuf::internal::WireFormatLite::ReadString(
   8055                 input, this->mutable_java_package()));
   8056           ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   8057             this->java_package().data(), this->java_package().length(),
   8058             ::google::protobuf::internal::WireFormat::PARSE,
   8059             "google.protobuf.FileOptions.java_package");
   8060         } else {
   8061           goto handle_unusual;
   8062         }
   8063         if (input->ExpectTag(66)) goto parse_java_outer_classname;
   8064         break;
   8065       }
   8066 
   8067       // optional string java_outer_classname = 8;
   8068       case 8: {
   8069         if (tag == 66) {
   8070          parse_java_outer_classname:
   8071           DO_(::google::protobuf::internal::WireFormatLite::ReadString(
   8072                 input, this->mutable_java_outer_classname()));
   8073           ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   8074             this->java_outer_classname().data(), this->java_outer_classname().length(),
   8075             ::google::protobuf::internal::WireFormat::PARSE,
   8076             "google.protobuf.FileOptions.java_outer_classname");
   8077         } else {
   8078           goto handle_unusual;
   8079         }
   8080         if (input->ExpectTag(72)) goto parse_optimize_for;
   8081         break;
   8082       }
   8083 
   8084       // optional .google.protobuf.FileOptions.OptimizeMode optimize_for = 9 [default = SPEED];
   8085       case 9: {
   8086         if (tag == 72) {
   8087          parse_optimize_for:
   8088           int value;
   8089           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
   8090                    int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>(
   8091                  input, &value)));
   8092           if (::google::protobuf::FileOptions_OptimizeMode_IsValid(value)) {
   8093             set_optimize_for(static_cast< ::google::protobuf::FileOptions_OptimizeMode >(value));
   8094           } else {
   8095             mutable_unknown_fields()->AddVarint(9, value);
   8096           }
   8097         } else {
   8098           goto handle_unusual;
   8099         }
   8100         if (input->ExpectTag(80)) goto parse_java_multiple_files;
   8101         break;
   8102       }
   8103 
   8104       // optional bool java_multiple_files = 10 [default = false];
   8105       case 10: {
   8106         if (tag == 80) {
   8107          parse_java_multiple_files:
   8108           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
   8109                    bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
   8110                  input, &java_multiple_files_)));
   8111           set_has_java_multiple_files();
   8112         } else {
   8113           goto handle_unusual;
   8114         }
   8115         if (input->ExpectTag(90)) goto parse_go_package;
   8116         break;
   8117       }
   8118 
   8119       // optional string go_package = 11;
   8120       case 11: {
   8121         if (tag == 90) {
   8122          parse_go_package:
   8123           DO_(::google::protobuf::internal::WireFormatLite::ReadString(
   8124                 input, this->mutable_go_package()));
   8125           ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   8126             this->go_package().data(), this->go_package().length(),
   8127             ::google::protobuf::internal::WireFormat::PARSE,
   8128             "google.protobuf.FileOptions.go_package");
   8129         } else {
   8130           goto handle_unusual;
   8131         }
   8132         if (input->ExpectTag(128)) goto parse_cc_generic_services;
   8133         break;
   8134       }
   8135 
   8136       // optional bool cc_generic_services = 16 [default = false];
   8137       case 16: {
   8138         if (tag == 128) {
   8139          parse_cc_generic_services:
   8140           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
   8141                    bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
   8142                  input, &cc_generic_services_)));
   8143           set_has_cc_generic_services();
   8144         } else {
   8145           goto handle_unusual;
   8146         }
   8147         if (input->ExpectTag(136)) goto parse_java_generic_services;
   8148         break;
   8149       }
   8150 
   8151       // optional bool java_generic_services = 17 [default = false];
   8152       case 17: {
   8153         if (tag == 136) {
   8154          parse_java_generic_services:
   8155           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
   8156                    bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
   8157                  input, &java_generic_services_)));
   8158           set_has_java_generic_services();
   8159         } else {
   8160           goto handle_unusual;
   8161         }
   8162         if (input->ExpectTag(144)) goto parse_py_generic_services;
   8163         break;
   8164       }
   8165 
   8166       // optional bool py_generic_services = 18 [default = false];
   8167       case 18: {
   8168         if (tag == 144) {
   8169          parse_py_generic_services:
   8170           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
   8171                    bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
   8172                  input, &py_generic_services_)));
   8173           set_has_py_generic_services();
   8174         } else {
   8175           goto handle_unusual;
   8176         }
   8177         if (input->ExpectTag(160)) goto parse_java_generate_equals_and_hash;
   8178         break;
   8179       }
   8180 
   8181       // optional bool java_generate_equals_and_hash = 20 [default = false];
   8182       case 20: {
   8183         if (tag == 160) {
   8184          parse_java_generate_equals_and_hash:
   8185           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
   8186                    bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
   8187                  input, &java_generate_equals_and_hash_)));
   8188           set_has_java_generate_equals_and_hash();
   8189         } else {
   8190           goto handle_unusual;
   8191         }
   8192         if (input->ExpectTag(184)) goto parse_deprecated;
   8193         break;
   8194       }
   8195 
   8196       // optional bool deprecated = 23 [default = false];
   8197       case 23: {
   8198         if (tag == 184) {
   8199          parse_deprecated:
   8200           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
   8201                    bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
   8202                  input, &deprecated_)));
   8203           set_has_deprecated();
   8204         } else {
   8205           goto handle_unusual;
   8206         }
   8207         if (input->ExpectTag(216)) goto parse_java_string_check_utf8;
   8208         break;
   8209       }
   8210 
   8211       // optional bool java_string_check_utf8 = 27 [default = false];
   8212       case 27: {
   8213         if (tag == 216) {
   8214          parse_java_string_check_utf8:
   8215           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
   8216                    bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
   8217                  input, &java_string_check_utf8_)));
   8218           set_has_java_string_check_utf8();
   8219         } else {
   8220           goto handle_unusual;
   8221         }
   8222         if (input->ExpectTag(248)) goto parse_cc_enable_arenas;
   8223         break;
   8224       }
   8225 
   8226       // optional bool cc_enable_arenas = 31 [default = false];
   8227       case 31: {
   8228         if (tag == 248) {
   8229          parse_cc_enable_arenas:
   8230           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
   8231                    bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
   8232                  input, &cc_enable_arenas_)));
   8233           set_has_cc_enable_arenas();
   8234         } else {
   8235           goto handle_unusual;
   8236         }
   8237         if (input->ExpectTag(290)) goto parse_objc_class_prefix;
   8238         break;
   8239       }
   8240 
   8241       // optional string objc_class_prefix = 36;
   8242       case 36: {
   8243         if (tag == 290) {
   8244          parse_objc_class_prefix:
   8245           DO_(::google::protobuf::internal::WireFormatLite::ReadString(
   8246                 input, this->mutable_objc_class_prefix()));
   8247           ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   8248             this->objc_class_prefix().data(), this->objc_class_prefix().length(),
   8249             ::google::protobuf::internal::WireFormat::PARSE,
   8250             "google.protobuf.FileOptions.objc_class_prefix");
   8251         } else {
   8252           goto handle_unusual;
   8253         }
   8254         if (input->ExpectTag(298)) goto parse_csharp_namespace;
   8255         break;
   8256       }
   8257 
   8258       // optional string csharp_namespace = 37;
   8259       case 37: {
   8260         if (tag == 298) {
   8261          parse_csharp_namespace:
   8262           DO_(::google::protobuf::internal::WireFormatLite::ReadString(
   8263                 input, this->mutable_csharp_namespace()));
   8264           ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   8265             this->csharp_namespace().data(), this->csharp_namespace().length(),
   8266             ::google::protobuf::internal::WireFormat::PARSE,
   8267             "google.protobuf.FileOptions.csharp_namespace");
   8268         } else {
   8269           goto handle_unusual;
   8270         }
   8271         if (input->ExpectTag(7994)) goto parse_uninterpreted_option;
   8272         break;
   8273       }
   8274 
   8275       // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
   8276       case 999: {
   8277         if (tag == 7994) {
   8278          parse_uninterpreted_option:
   8279           DO_(input->IncrementRecursionDepth());
   8280          parse_loop_uninterpreted_option:
   8281           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtualNoRecursionDepth(
   8282                 input, add_uninterpreted_option()));
   8283         } else {
   8284           goto handle_unusual;
   8285         }
   8286         if (input->ExpectTag(7994)) goto parse_loop_uninterpreted_option;
   8287         input->UnsafeDecrementRecursionDepth();
   8288         if (input->ExpectAtEnd()) goto success;
   8289         break;
   8290       }
   8291 
   8292       default: {
   8293       handle_unusual:
   8294         if (tag == 0 ||
   8295             ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
   8296             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
   8297           goto success;
   8298         }
   8299         if ((8000u <= tag)) {
   8300           DO_(_extensions_.ParseField(tag, input, default_instance_,
   8301                                       mutable_unknown_fields()));
   8302           continue;
   8303         }
   8304         DO_(::google::protobuf::internal::WireFormat::SkipField(
   8305               input, tag, mutable_unknown_fields()));
   8306         break;
   8307       }
   8308     }
   8309   }
   8310 success:
   8311   // @@protoc_insertion_point(parse_success:google.protobuf.FileOptions)
   8312   return true;
   8313 failure:
   8314   // @@protoc_insertion_point(parse_failure:google.protobuf.FileOptions)
   8315   return false;
   8316 #undef DO_
   8317 }
   8318 
   8319 void FileOptions::SerializeWithCachedSizes(
   8320     ::google::protobuf::io::CodedOutputStream* output) const {
   8321   // @@protoc_insertion_point(serialize_start:google.protobuf.FileOptions)
   8322   // optional string java_package = 1;
   8323   if (has_java_package()) {
   8324     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   8325       this->java_package().data(), this->java_package().length(),
   8326       ::google::protobuf::internal::WireFormat::SERIALIZE,
   8327       "google.protobuf.FileOptions.java_package");
   8328     ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
   8329       1, this->java_package(), output);
   8330   }
   8331 
   8332   // optional string java_outer_classname = 8;
   8333   if (has_java_outer_classname()) {
   8334     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   8335       this->java_outer_classname().data(), this->java_outer_classname().length(),
   8336       ::google::protobuf::internal::WireFormat::SERIALIZE,
   8337       "google.protobuf.FileOptions.java_outer_classname");
   8338     ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
   8339       8, this->java_outer_classname(), output);
   8340   }
   8341 
   8342   // optional .google.protobuf.FileOptions.OptimizeMode optimize_for = 9 [default = SPEED];
   8343   if (has_optimize_for()) {
   8344     ::google::protobuf::internal::WireFormatLite::WriteEnum(
   8345       9, this->optimize_for(), output);
   8346   }
   8347 
   8348   // optional bool java_multiple_files = 10 [default = false];
   8349   if (has_java_multiple_files()) {
   8350     ::google::protobuf::internal::WireFormatLite::WriteBool(10, this->java_multiple_files(), output);
   8351   }
   8352 
   8353   // optional string go_package = 11;
   8354   if (has_go_package()) {
   8355     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   8356       this->go_package().data(), this->go_package().length(),
   8357       ::google::protobuf::internal::WireFormat::SERIALIZE,
   8358       "google.protobuf.FileOptions.go_package");
   8359     ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
   8360       11, this->go_package(), output);
   8361   }
   8362 
   8363   // optional bool cc_generic_services = 16 [default = false];
   8364   if (has_cc_generic_services()) {
   8365     ::google::protobuf::internal::WireFormatLite::WriteBool(16, this->cc_generic_services(), output);
   8366   }
   8367 
   8368   // optional bool java_generic_services = 17 [default = false];
   8369   if (has_java_generic_services()) {
   8370     ::google::protobuf::internal::WireFormatLite::WriteBool(17, this->java_generic_services(), output);
   8371   }
   8372 
   8373   // optional bool py_generic_services = 18 [default = false];
   8374   if (has_py_generic_services()) {
   8375     ::google::protobuf::internal::WireFormatLite::WriteBool(18, this->py_generic_services(), output);
   8376   }
   8377 
   8378   // optional bool java_generate_equals_and_hash = 20 [default = false];
   8379   if (has_java_generate_equals_and_hash()) {
   8380     ::google::protobuf::internal::WireFormatLite::WriteBool(20, this->java_generate_equals_and_hash(), output);
   8381   }
   8382 
   8383   // optional bool deprecated = 23 [default = false];
   8384   if (has_deprecated()) {
   8385     ::google::protobuf::internal::WireFormatLite::WriteBool(23, this->deprecated(), output);
   8386   }
   8387 
   8388   // optional bool java_string_check_utf8 = 27 [default = false];
   8389   if (has_java_string_check_utf8()) {
   8390     ::google::protobuf::internal::WireFormatLite::WriteBool(27, this->java_string_check_utf8(), output);
   8391   }
   8392 
   8393   // optional bool cc_enable_arenas = 31 [default = false];
   8394   if (has_cc_enable_arenas()) {
   8395     ::google::protobuf::internal::WireFormatLite::WriteBool(31, this->cc_enable_arenas(), output);
   8396   }
   8397 
   8398   // optional string objc_class_prefix = 36;
   8399   if (has_objc_class_prefix()) {
   8400     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   8401       this->objc_class_prefix().data(), this->objc_class_prefix().length(),
   8402       ::google::protobuf::internal::WireFormat::SERIALIZE,
   8403       "google.protobuf.FileOptions.objc_class_prefix");
   8404     ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
   8405       36, this->objc_class_prefix(), output);
   8406   }
   8407 
   8408   // optional string csharp_namespace = 37;
   8409   if (has_csharp_namespace()) {
   8410     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   8411       this->csharp_namespace().data(), this->csharp_namespace().length(),
   8412       ::google::protobuf::internal::WireFormat::SERIALIZE,
   8413       "google.protobuf.FileOptions.csharp_namespace");
   8414     ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
   8415       37, this->csharp_namespace(), output);
   8416   }
   8417 
   8418   // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
   8419   for (unsigned int i = 0, n = this->uninterpreted_option_size(); i < n; i++) {
   8420     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
   8421       999, this->uninterpreted_option(i), output);
   8422   }
   8423 
   8424   // Extension range [1000, 536870912)
   8425   _extensions_.SerializeWithCachedSizes(
   8426       1000, 536870912, output);
   8427 
   8428   if (_internal_metadata_.have_unknown_fields()) {
   8429     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
   8430         unknown_fields(), output);
   8431   }
   8432   // @@protoc_insertion_point(serialize_end:google.protobuf.FileOptions)
   8433 }
   8434 
   8435 ::google::protobuf::uint8* FileOptions::SerializeWithCachedSizesToArray(
   8436     ::google::protobuf::uint8* target) const {
   8437   // @@protoc_insertion_point(serialize_to_array_start:google.protobuf.FileOptions)
   8438   // optional string java_package = 1;
   8439   if (has_java_package()) {
   8440     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   8441       this->java_package().data(), this->java_package().length(),
   8442       ::google::protobuf::internal::WireFormat::SERIALIZE,
   8443       "google.protobuf.FileOptions.java_package");
   8444     target =
   8445       ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
   8446         1, this->java_package(), target);
   8447   }
   8448 
   8449   // optional string java_outer_classname = 8;
   8450   if (has_java_outer_classname()) {
   8451     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   8452       this->java_outer_classname().data(), this->java_outer_classname().length(),
   8453       ::google::protobuf::internal::WireFormat::SERIALIZE,
   8454       "google.protobuf.FileOptions.java_outer_classname");
   8455     target =
   8456       ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
   8457         8, this->java_outer_classname(), target);
   8458   }
   8459 
   8460   // optional .google.protobuf.FileOptions.OptimizeMode optimize_for = 9 [default = SPEED];
   8461   if (has_optimize_for()) {
   8462     target = ::google::protobuf::internal::WireFormatLite::WriteEnumToArray(
   8463       9, this->optimize_for(), target);
   8464   }
   8465 
   8466   // optional bool java_multiple_files = 10 [default = false];
   8467   if (has_java_multiple_files()) {
   8468     target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(10, this->java_multiple_files(), target);
   8469   }
   8470 
   8471   // optional string go_package = 11;
   8472   if (has_go_package()) {
   8473     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   8474       this->go_package().data(), this->go_package().length(),
   8475       ::google::protobuf::internal::WireFormat::SERIALIZE,
   8476       "google.protobuf.FileOptions.go_package");
   8477     target =
   8478       ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
   8479         11, this->go_package(), target);
   8480   }
   8481 
   8482   // optional bool cc_generic_services = 16 [default = false];
   8483   if (has_cc_generic_services()) {
   8484     target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(16, this->cc_generic_services(), target);
   8485   }
   8486 
   8487   // optional bool java_generic_services = 17 [default = false];
   8488   if (has_java_generic_services()) {
   8489     target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(17, this->java_generic_services(), target);
   8490   }
   8491 
   8492   // optional bool py_generic_services = 18 [default = false];
   8493   if (has_py_generic_services()) {
   8494     target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(18, this->py_generic_services(), target);
   8495   }
   8496 
   8497   // optional bool java_generate_equals_and_hash = 20 [default = false];
   8498   if (has_java_generate_equals_and_hash()) {
   8499     target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(20, this->java_generate_equals_and_hash(), target);
   8500   }
   8501 
   8502   // optional bool deprecated = 23 [default = false];
   8503   if (has_deprecated()) {
   8504     target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(23, this->deprecated(), target);
   8505   }
   8506 
   8507   // optional bool java_string_check_utf8 = 27 [default = false];
   8508   if (has_java_string_check_utf8()) {
   8509     target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(27, this->java_string_check_utf8(), target);
   8510   }
   8511 
   8512   // optional bool cc_enable_arenas = 31 [default = false];
   8513   if (has_cc_enable_arenas()) {
   8514     target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(31, this->cc_enable_arenas(), target);
   8515   }
   8516 
   8517   // optional string objc_class_prefix = 36;
   8518   if (has_objc_class_prefix()) {
   8519     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   8520       this->objc_class_prefix().data(), this->objc_class_prefix().length(),
   8521       ::google::protobuf::internal::WireFormat::SERIALIZE,
   8522       "google.protobuf.FileOptions.objc_class_prefix");
   8523     target =
   8524       ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
   8525         36, this->objc_class_prefix(), target);
   8526   }
   8527 
   8528   // optional string csharp_namespace = 37;
   8529   if (has_csharp_namespace()) {
   8530     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   8531       this->csharp_namespace().data(), this->csharp_namespace().length(),
   8532       ::google::protobuf::internal::WireFormat::SERIALIZE,
   8533       "google.protobuf.FileOptions.csharp_namespace");
   8534     target =
   8535       ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
   8536         37, this->csharp_namespace(), target);
   8537   }
   8538 
   8539   // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
   8540   for (unsigned int i = 0, n = this->uninterpreted_option_size(); i < n; i++) {
   8541     target = ::google::protobuf::internal::WireFormatLite::
   8542       WriteMessageNoVirtualToArray(
   8543         999, this->uninterpreted_option(i), target);
   8544   }
   8545 
   8546   // Extension range [1000, 536870912)
   8547   target = _extensions_.SerializeWithCachedSizesToArray(
   8548       1000, 536870912, target);
   8549 
   8550   if (_internal_metadata_.have_unknown_fields()) {
   8551     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
   8552         unknown_fields(), target);
   8553   }
   8554   // @@protoc_insertion_point(serialize_to_array_end:google.protobuf.FileOptions)
   8555   return target;
   8556 }
   8557 
   8558 int FileOptions::ByteSize() const {
   8559 // @@protoc_insertion_point(message_byte_size_start:google.protobuf.FileOptions)
   8560   int total_size = 0;
   8561 
   8562   if (_has_bits_[0 / 32] & 255u) {
   8563     // optional string java_package = 1;
   8564     if (has_java_package()) {
   8565       total_size += 1 +
   8566         ::google::protobuf::internal::WireFormatLite::StringSize(
   8567           this->java_package());
   8568     }
   8569 
   8570     // optional string java_outer_classname = 8;
   8571     if (has_java_outer_classname()) {
   8572       total_size += 1 +
   8573         ::google::protobuf::internal::WireFormatLite::StringSize(
   8574           this->java_outer_classname());
   8575     }
   8576 
   8577     // optional bool java_multiple_files = 10 [default = false];
   8578     if (has_java_multiple_files()) {
   8579       total_size += 1 + 1;
   8580     }
   8581 
   8582     // optional bool java_generate_equals_and_hash = 20 [default = false];
   8583     if (has_java_generate_equals_and_hash()) {
   8584       total_size += 2 + 1;
   8585     }
   8586 
   8587     // optional bool java_string_check_utf8 = 27 [default = false];
   8588     if (has_java_string_check_utf8()) {
   8589       total_size += 2 + 1;
   8590     }
   8591 
   8592     // optional .google.protobuf.FileOptions.OptimizeMode optimize_for = 9 [default = SPEED];
   8593     if (has_optimize_for()) {
   8594       total_size += 1 +
   8595         ::google::protobuf::internal::WireFormatLite::EnumSize(this->optimize_for());
   8596     }
   8597 
   8598     // optional string go_package = 11;
   8599     if (has_go_package()) {
   8600       total_size += 1 +
   8601         ::google::protobuf::internal::WireFormatLite::StringSize(
   8602           this->go_package());
   8603     }
   8604 
   8605     // optional bool cc_generic_services = 16 [default = false];
   8606     if (has_cc_generic_services()) {
   8607       total_size += 2 + 1;
   8608     }
   8609 
   8610   }
   8611   if (_has_bits_[8 / 32] & 16128u) {
   8612     // optional bool java_generic_services = 17 [default = false];
   8613     if (has_java_generic_services()) {
   8614       total_size += 2 + 1;
   8615     }
   8616 
   8617     // optional bool py_generic_services = 18 [default = false];
   8618     if (has_py_generic_services()) {
   8619       total_size += 2 + 1;
   8620     }
   8621 
   8622     // optional bool deprecated = 23 [default = false];
   8623     if (has_deprecated()) {
   8624       total_size += 2 + 1;
   8625     }
   8626 
   8627     // optional bool cc_enable_arenas = 31 [default = false];
   8628     if (has_cc_enable_arenas()) {
   8629       total_size += 2 + 1;
   8630     }
   8631 
   8632     // optional string objc_class_prefix = 36;
   8633     if (has_objc_class_prefix()) {
   8634       total_size += 2 +
   8635         ::google::protobuf::internal::WireFormatLite::StringSize(
   8636           this->objc_class_prefix());
   8637     }
   8638 
   8639     // optional string csharp_namespace = 37;
   8640     if (has_csharp_namespace()) {
   8641       total_size += 2 +
   8642         ::google::protobuf::internal::WireFormatLite::StringSize(
   8643           this->csharp_namespace());
   8644     }
   8645 
   8646   }
   8647   // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
   8648   total_size += 2 * this->uninterpreted_option_size();
   8649   for (int i = 0; i < this->uninterpreted_option_size(); i++) {
   8650     total_size +=
   8651       ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
   8652         this->uninterpreted_option(i));
   8653   }
   8654 
   8655   total_size += _extensions_.ByteSize();
   8656 
   8657   if (_internal_metadata_.have_unknown_fields()) {
   8658     total_size +=
   8659       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
   8660         unknown_fields());
   8661   }
   8662   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   8663   _cached_size_ = total_size;
   8664   GOOGLE_SAFE_CONCURRENT_WRITES_END();
   8665   return total_size;
   8666 }
   8667 
   8668 void FileOptions::MergeFrom(const ::google::protobuf::Message& from) {
   8669 // @@protoc_insertion_point(generalized_merge_from_start:google.protobuf.FileOptions)
   8670   if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
   8671   const FileOptions* source =
   8672       ::google::protobuf::internal::DynamicCastToGenerated<const FileOptions>(
   8673           &from);
   8674   if (source == NULL) {
   8675   // @@protoc_insertion_point(generalized_merge_from_cast_fail:google.protobuf.FileOptions)
   8676     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
   8677   } else {
   8678   // @@protoc_insertion_point(generalized_merge_from_cast_success:google.protobuf.FileOptions)
   8679     MergeFrom(*source);
   8680   }
   8681 }
   8682 
   8683 void FileOptions::MergeFrom(const FileOptions& from) {
   8684 // @@protoc_insertion_point(class_specific_merge_from_start:google.protobuf.FileOptions)
   8685   if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
   8686   uninterpreted_option_.MergeFrom(from.uninterpreted_option_);
   8687   if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
   8688     if (from.has_java_package()) {
   8689       set_has_java_package();
   8690       java_package_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.java_package_);
   8691     }
   8692     if (from.has_java_outer_classname()) {
   8693       set_has_java_outer_classname();
   8694       java_outer_classname_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.java_outer_classname_);
   8695     }
   8696     if (from.has_java_multiple_files()) {
   8697       set_java_multiple_files(from.java_multiple_files());
   8698     }
   8699     if (from.has_java_generate_equals_and_hash()) {
   8700       set_java_generate_equals_and_hash(from.java_generate_equals_and_hash());
   8701     }
   8702     if (from.has_java_string_check_utf8()) {
   8703       set_java_string_check_utf8(from.java_string_check_utf8());
   8704     }
   8705     if (from.has_optimize_for()) {
   8706       set_optimize_for(from.optimize_for());
   8707     }
   8708     if (from.has_go_package()) {
   8709       set_has_go_package();
   8710       go_package_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.go_package_);
   8711     }
   8712     if (from.has_cc_generic_services()) {
   8713       set_cc_generic_services(from.cc_generic_services());
   8714     }
   8715   }
   8716   if (from._has_bits_[8 / 32] & (0xffu << (8 % 32))) {
   8717     if (from.has_java_generic_services()) {
   8718       set_java_generic_services(from.java_generic_services());
   8719     }
   8720     if (from.has_py_generic_services()) {
   8721       set_py_generic_services(from.py_generic_services());
   8722     }
   8723     if (from.has_deprecated()) {
   8724       set_deprecated(from.deprecated());
   8725     }
   8726     if (from.has_cc_enable_arenas()) {
   8727       set_cc_enable_arenas(from.cc_enable_arenas());
   8728     }
   8729     if (from.has_objc_class_prefix()) {
   8730       set_has_objc_class_prefix();
   8731       objc_class_prefix_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.objc_class_prefix_);
   8732     }
   8733     if (from.has_csharp_namespace()) {
   8734       set_has_csharp_namespace();
   8735       csharp_namespace_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.csharp_namespace_);
   8736     }
   8737   }
   8738   _extensions_.MergeFrom(from._extensions_);
   8739   if (from._internal_metadata_.have_unknown_fields()) {
   8740     mutable_unknown_fields()->MergeFrom(from.unknown_fields());
   8741   }
   8742 }
   8743 
   8744 void FileOptions::CopyFrom(const ::google::protobuf::Message& from) {
   8745 // @@protoc_insertion_point(generalized_copy_from_start:google.protobuf.FileOptions)
   8746   if (&from == this) return;
   8747   Clear();
   8748   MergeFrom(from);
   8749 }
   8750 
   8751 void FileOptions::CopyFrom(const FileOptions& from) {
   8752 // @@protoc_insertion_point(class_specific_copy_from_start:google.protobuf.FileOptions)
   8753   if (&from == this) return;
   8754   Clear();
   8755   MergeFrom(from);
   8756 }
   8757 
   8758 bool FileOptions::IsInitialized() const {
   8759 
   8760   if (!::google::protobuf::internal::AllAreInitialized(this->uninterpreted_option())) return false;
   8761 
   8762   if (!_extensions_.IsInitialized()) return false;  return true;
   8763 }
   8764 
   8765 void FileOptions::Swap(FileOptions* other) {
   8766   if (other == this) return;
   8767   InternalSwap(other);
   8768 }
   8769 void FileOptions::InternalSwap(FileOptions* other) {
   8770   java_package_.Swap(&other->java_package_);
   8771   java_outer_classname_.Swap(&other->java_outer_classname_);
   8772   std::swap(java_multiple_files_, other->java_multiple_files_);
   8773   std::swap(java_generate_equals_and_hash_, other->java_generate_equals_and_hash_);
   8774   std::swap(java_string_check_utf8_, other->java_string_check_utf8_);
   8775   std::swap(optimize_for_, other->optimize_for_);
   8776   go_package_.Swap(&other->go_package_);
   8777   std::swap(cc_generic_services_, other->cc_generic_services_);
   8778   std::swap(java_generic_services_, other->java_generic_services_);
   8779   std::swap(py_generic_services_, other->py_generic_services_);
   8780   std::swap(deprecated_, other->deprecated_);
   8781   std::swap(cc_enable_arenas_, other->cc_enable_arenas_);
   8782   objc_class_prefix_.Swap(&other->objc_class_prefix_);
   8783   csharp_namespace_.Swap(&other->csharp_namespace_);
   8784   uninterpreted_option_.UnsafeArenaSwap(&other->uninterpreted_option_);
   8785   std::swap(_has_bits_[0], other->_has_bits_[0]);
   8786   _internal_metadata_.Swap(&other->_internal_metadata_);
   8787   std::swap(_cached_size_, other->_cached_size_);
   8788   _extensions_.Swap(&other->_extensions_);
   8789 }
   8790 
   8791 ::google::protobuf::Metadata FileOptions::GetMetadata() const {
   8792   protobuf_AssignDescriptorsOnce();
   8793   ::google::protobuf::Metadata metadata;
   8794   metadata.descriptor = FileOptions_descriptor_;
   8795   metadata.reflection = FileOptions_reflection_;
   8796   return metadata;
   8797 }
   8798 
   8799 #if PROTOBUF_INLINE_NOT_IN_HEADERS
   8800 // FileOptions
   8801 
   8802 // optional string java_package = 1;
   8803 bool FileOptions::has_java_package() const {
   8804   return (_has_bits_[0] & 0x00000001u) != 0;
   8805 }
   8806 void FileOptions::set_has_java_package() {
   8807   _has_bits_[0] |= 0x00000001u;
   8808 }
   8809 void FileOptions::clear_has_java_package() {
   8810   _has_bits_[0] &= ~0x00000001u;
   8811 }
   8812 void FileOptions::clear_java_package() {
   8813   java_package_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   8814   clear_has_java_package();
   8815 }
   8816  const ::std::string& FileOptions::java_package() const {
   8817   // @@protoc_insertion_point(field_get:google.protobuf.FileOptions.java_package)
   8818   return java_package_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   8819 }
   8820  void FileOptions::set_java_package(const ::std::string& value) {
   8821   set_has_java_package();
   8822   java_package_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
   8823   // @@protoc_insertion_point(field_set:google.protobuf.FileOptions.java_package)
   8824 }
   8825  void FileOptions::set_java_package(const char* value) {
   8826   set_has_java_package();
   8827   java_package_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
   8828   // @@protoc_insertion_point(field_set_char:google.protobuf.FileOptions.java_package)
   8829 }
   8830  void FileOptions::set_java_package(const char* value, size_t size) {
   8831   set_has_java_package();
   8832   java_package_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
   8833       ::std::string(reinterpret_cast<const char*>(value), size));
   8834   // @@protoc_insertion_point(field_set_pointer:google.protobuf.FileOptions.java_package)
   8835 }
   8836  ::std::string* FileOptions::mutable_java_package() {
   8837   set_has_java_package();
   8838   // @@protoc_insertion_point(field_mutable:google.protobuf.FileOptions.java_package)
   8839   return java_package_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   8840 }
   8841  ::std::string* FileOptions::release_java_package() {
   8842   // @@protoc_insertion_point(field_release:google.protobuf.FileOptions.java_package)
   8843   clear_has_java_package();
   8844   return java_package_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   8845 }
   8846  void FileOptions::set_allocated_java_package(::std::string* java_package) {
   8847   if (java_package != NULL) {
   8848     set_has_java_package();
   8849   } else {
   8850     clear_has_java_package();
   8851   }
   8852   java_package_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), java_package);
   8853   // @@protoc_insertion_point(field_set_allocated:google.protobuf.FileOptions.java_package)
   8854 }
   8855 
   8856 // optional string java_outer_classname = 8;
   8857 bool FileOptions::has_java_outer_classname() const {
   8858   return (_has_bits_[0] & 0x00000002u) != 0;
   8859 }
   8860 void FileOptions::set_has_java_outer_classname() {
   8861   _has_bits_[0] |= 0x00000002u;
   8862 }
   8863 void FileOptions::clear_has_java_outer_classname() {
   8864   _has_bits_[0] &= ~0x00000002u;
   8865 }
   8866 void FileOptions::clear_java_outer_classname() {
   8867   java_outer_classname_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   8868   clear_has_java_outer_classname();
   8869 }
   8870  const ::std::string& FileOptions::java_outer_classname() const {
   8871   // @@protoc_insertion_point(field_get:google.protobuf.FileOptions.java_outer_classname)
   8872   return java_outer_classname_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   8873 }
   8874  void FileOptions::set_java_outer_classname(const ::std::string& value) {
   8875   set_has_java_outer_classname();
   8876   java_outer_classname_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
   8877   // @@protoc_insertion_point(field_set:google.protobuf.FileOptions.java_outer_classname)
   8878 }
   8879  void FileOptions::set_java_outer_classname(const char* value) {
   8880   set_has_java_outer_classname();
   8881   java_outer_classname_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
   8882   // @@protoc_insertion_point(field_set_char:google.protobuf.FileOptions.java_outer_classname)
   8883 }
   8884  void FileOptions::set_java_outer_classname(const char* value, size_t size) {
   8885   set_has_java_outer_classname();
   8886   java_outer_classname_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
   8887       ::std::string(reinterpret_cast<const char*>(value), size));
   8888   // @@protoc_insertion_point(field_set_pointer:google.protobuf.FileOptions.java_outer_classname)
   8889 }
   8890  ::std::string* FileOptions::mutable_java_outer_classname() {
   8891   set_has_java_outer_classname();
   8892   // @@protoc_insertion_point(field_mutable:google.protobuf.FileOptions.java_outer_classname)
   8893   return java_outer_classname_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   8894 }
   8895  ::std::string* FileOptions::release_java_outer_classname() {
   8896   // @@protoc_insertion_point(field_release:google.protobuf.FileOptions.java_outer_classname)
   8897   clear_has_java_outer_classname();
   8898   return java_outer_classname_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   8899 }
   8900  void FileOptions::set_allocated_java_outer_classname(::std::string* java_outer_classname) {
   8901   if (java_outer_classname != NULL) {
   8902     set_has_java_outer_classname();
   8903   } else {
   8904     clear_has_java_outer_classname();
   8905   }
   8906   java_outer_classname_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), java_outer_classname);
   8907   // @@protoc_insertion_point(field_set_allocated:google.protobuf.FileOptions.java_outer_classname)
   8908 }
   8909 
   8910 // optional bool java_multiple_files = 10 [default = false];
   8911 bool FileOptions::has_java_multiple_files() const {
   8912   return (_has_bits_[0] & 0x00000004u) != 0;
   8913 }
   8914 void FileOptions::set_has_java_multiple_files() {
   8915   _has_bits_[0] |= 0x00000004u;
   8916 }
   8917 void FileOptions::clear_has_java_multiple_files() {
   8918   _has_bits_[0] &= ~0x00000004u;
   8919 }
   8920 void FileOptions::clear_java_multiple_files() {
   8921   java_multiple_files_ = false;
   8922   clear_has_java_multiple_files();
   8923 }
   8924  bool FileOptions::java_multiple_files() const {
   8925   // @@protoc_insertion_point(field_get:google.protobuf.FileOptions.java_multiple_files)
   8926   return java_multiple_files_;
   8927 }
   8928  void FileOptions::set_java_multiple_files(bool value) {
   8929   set_has_java_multiple_files();
   8930   java_multiple_files_ = value;
   8931   // @@protoc_insertion_point(field_set:google.protobuf.FileOptions.java_multiple_files)
   8932 }
   8933 
   8934 // optional bool java_generate_equals_and_hash = 20 [default = false];
   8935 bool FileOptions::has_java_generate_equals_and_hash() const {
   8936   return (_has_bits_[0] & 0x00000008u) != 0;
   8937 }
   8938 void FileOptions::set_has_java_generate_equals_and_hash() {
   8939   _has_bits_[0] |= 0x00000008u;
   8940 }
   8941 void FileOptions::clear_has_java_generate_equals_and_hash() {
   8942   _has_bits_[0] &= ~0x00000008u;
   8943 }
   8944 void FileOptions::clear_java_generate_equals_and_hash() {
   8945   java_generate_equals_and_hash_ = false;
   8946   clear_has_java_generate_equals_and_hash();
   8947 }
   8948  bool FileOptions::java_generate_equals_and_hash() const {
   8949   // @@protoc_insertion_point(field_get:google.protobuf.FileOptions.java_generate_equals_and_hash)
   8950   return java_generate_equals_and_hash_;
   8951 }
   8952  void FileOptions::set_java_generate_equals_and_hash(bool value) {
   8953   set_has_java_generate_equals_and_hash();
   8954   java_generate_equals_and_hash_ = value;
   8955   // @@protoc_insertion_point(field_set:google.protobuf.FileOptions.java_generate_equals_and_hash)
   8956 }
   8957 
   8958 // optional bool java_string_check_utf8 = 27 [default = false];
   8959 bool FileOptions::has_java_string_check_utf8() const {
   8960   return (_has_bits_[0] & 0x00000010u) != 0;
   8961 }
   8962 void FileOptions::set_has_java_string_check_utf8() {
   8963   _has_bits_[0] |= 0x00000010u;
   8964 }
   8965 void FileOptions::clear_has_java_string_check_utf8() {
   8966   _has_bits_[0] &= ~0x00000010u;
   8967 }
   8968 void FileOptions::clear_java_string_check_utf8() {
   8969   java_string_check_utf8_ = false;
   8970   clear_has_java_string_check_utf8();
   8971 }
   8972  bool FileOptions::java_string_check_utf8() const {
   8973   // @@protoc_insertion_point(field_get:google.protobuf.FileOptions.java_string_check_utf8)
   8974   return java_string_check_utf8_;
   8975 }
   8976  void FileOptions::set_java_string_check_utf8(bool value) {
   8977   set_has_java_string_check_utf8();
   8978   java_string_check_utf8_ = value;
   8979   // @@protoc_insertion_point(field_set:google.protobuf.FileOptions.java_string_check_utf8)
   8980 }
   8981 
   8982 // optional .google.protobuf.FileOptions.OptimizeMode optimize_for = 9 [default = SPEED];
   8983 bool FileOptions::has_optimize_for() const {
   8984   return (_has_bits_[0] & 0x00000020u) != 0;
   8985 }
   8986 void FileOptions::set_has_optimize_for() {
   8987   _has_bits_[0] |= 0x00000020u;
   8988 }
   8989 void FileOptions::clear_has_optimize_for() {
   8990   _has_bits_[0] &= ~0x00000020u;
   8991 }
   8992 void FileOptions::clear_optimize_for() {
   8993   optimize_for_ = 1;
   8994   clear_has_optimize_for();
   8995 }
   8996  ::google::protobuf::FileOptions_OptimizeMode FileOptions::optimize_for() const {
   8997   // @@protoc_insertion_point(field_get:google.protobuf.FileOptions.optimize_for)
   8998   return static_cast< ::google::protobuf::FileOptions_OptimizeMode >(optimize_for_);
   8999 }
   9000  void FileOptions::set_optimize_for(::google::protobuf::FileOptions_OptimizeMode value) {
   9001   assert(::google::protobuf::FileOptions_OptimizeMode_IsValid(value));
   9002   set_has_optimize_for();
   9003   optimize_for_ = value;
   9004   // @@protoc_insertion_point(field_set:google.protobuf.FileOptions.optimize_for)
   9005 }
   9006 
   9007 // optional string go_package = 11;
   9008 bool FileOptions::has_go_package() const {
   9009   return (_has_bits_[0] & 0x00000040u) != 0;
   9010 }
   9011 void FileOptions::set_has_go_package() {
   9012   _has_bits_[0] |= 0x00000040u;
   9013 }
   9014 void FileOptions::clear_has_go_package() {
   9015   _has_bits_[0] &= ~0x00000040u;
   9016 }
   9017 void FileOptions::clear_go_package() {
   9018   go_package_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   9019   clear_has_go_package();
   9020 }
   9021  const ::std::string& FileOptions::go_package() const {
   9022   // @@protoc_insertion_point(field_get:google.protobuf.FileOptions.go_package)
   9023   return go_package_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   9024 }
   9025  void FileOptions::set_go_package(const ::std::string& value) {
   9026   set_has_go_package();
   9027   go_package_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
   9028   // @@protoc_insertion_point(field_set:google.protobuf.FileOptions.go_package)
   9029 }
   9030  void FileOptions::set_go_package(const char* value) {
   9031   set_has_go_package();
   9032   go_package_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
   9033   // @@protoc_insertion_point(field_set_char:google.protobuf.FileOptions.go_package)
   9034 }
   9035  void FileOptions::set_go_package(const char* value, size_t size) {
   9036   set_has_go_package();
   9037   go_package_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
   9038       ::std::string(reinterpret_cast<const char*>(value), size));
   9039   // @@protoc_insertion_point(field_set_pointer:google.protobuf.FileOptions.go_package)
   9040 }
   9041  ::std::string* FileOptions::mutable_go_package() {
   9042   set_has_go_package();
   9043   // @@protoc_insertion_point(field_mutable:google.protobuf.FileOptions.go_package)
   9044   return go_package_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   9045 }
   9046  ::std::string* FileOptions::release_go_package() {
   9047   // @@protoc_insertion_point(field_release:google.protobuf.FileOptions.go_package)
   9048   clear_has_go_package();
   9049   return go_package_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   9050 }
   9051  void FileOptions::set_allocated_go_package(::std::string* go_package) {
   9052   if (go_package != NULL) {
   9053     set_has_go_package();
   9054   } else {
   9055     clear_has_go_package();
   9056   }
   9057   go_package_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), go_package);
   9058   // @@protoc_insertion_point(field_set_allocated:google.protobuf.FileOptions.go_package)
   9059 }
   9060 
   9061 // optional bool cc_generic_services = 16 [default = false];
   9062 bool FileOptions::has_cc_generic_services() const {
   9063   return (_has_bits_[0] & 0x00000080u) != 0;
   9064 }
   9065 void FileOptions::set_has_cc_generic_services() {
   9066   _has_bits_[0] |= 0x00000080u;
   9067 }
   9068 void FileOptions::clear_has_cc_generic_services() {
   9069   _has_bits_[0] &= ~0x00000080u;
   9070 }
   9071 void FileOptions::clear_cc_generic_services() {
   9072   cc_generic_services_ = false;
   9073   clear_has_cc_generic_services();
   9074 }
   9075  bool FileOptions::cc_generic_services() const {
   9076   // @@protoc_insertion_point(field_get:google.protobuf.FileOptions.cc_generic_services)
   9077   return cc_generic_services_;
   9078 }
   9079  void FileOptions::set_cc_generic_services(bool value) {
   9080   set_has_cc_generic_services();
   9081   cc_generic_services_ = value;
   9082   // @@protoc_insertion_point(field_set:google.protobuf.FileOptions.cc_generic_services)
   9083 }
   9084 
   9085 // optional bool java_generic_services = 17 [default = false];
   9086 bool FileOptions::has_java_generic_services() const {
   9087   return (_has_bits_[0] & 0x00000100u) != 0;
   9088 }
   9089 void FileOptions::set_has_java_generic_services() {
   9090   _has_bits_[0] |= 0x00000100u;
   9091 }
   9092 void FileOptions::clear_has_java_generic_services() {
   9093   _has_bits_[0] &= ~0x00000100u;
   9094 }
   9095 void FileOptions::clear_java_generic_services() {
   9096   java_generic_services_ = false;
   9097   clear_has_java_generic_services();
   9098 }
   9099  bool FileOptions::java_generic_services() const {
   9100   // @@protoc_insertion_point(field_get:google.protobuf.FileOptions.java_generic_services)
   9101   return java_generic_services_;
   9102 }
   9103  void FileOptions::set_java_generic_services(bool value) {
   9104   set_has_java_generic_services();
   9105   java_generic_services_ = value;
   9106   // @@protoc_insertion_point(field_set:google.protobuf.FileOptions.java_generic_services)
   9107 }
   9108 
   9109 // optional bool py_generic_services = 18 [default = false];
   9110 bool FileOptions::has_py_generic_services() const {
   9111   return (_has_bits_[0] & 0x00000200u) != 0;
   9112 }
   9113 void FileOptions::set_has_py_generic_services() {
   9114   _has_bits_[0] |= 0x00000200u;
   9115 }
   9116 void FileOptions::clear_has_py_generic_services() {
   9117   _has_bits_[0] &= ~0x00000200u;
   9118 }
   9119 void FileOptions::clear_py_generic_services() {
   9120   py_generic_services_ = false;
   9121   clear_has_py_generic_services();
   9122 }
   9123  bool FileOptions::py_generic_services() const {
   9124   // @@protoc_insertion_point(field_get:google.protobuf.FileOptions.py_generic_services)
   9125   return py_generic_services_;
   9126 }
   9127  void FileOptions::set_py_generic_services(bool value) {
   9128   set_has_py_generic_services();
   9129   py_generic_services_ = value;
   9130   // @@protoc_insertion_point(field_set:google.protobuf.FileOptions.py_generic_services)
   9131 }
   9132 
   9133 // optional bool deprecated = 23 [default = false];
   9134 bool FileOptions::has_deprecated() const {
   9135   return (_has_bits_[0] & 0x00000400u) != 0;
   9136 }
   9137 void FileOptions::set_has_deprecated() {
   9138   _has_bits_[0] |= 0x00000400u;
   9139 }
   9140 void FileOptions::clear_has_deprecated() {
   9141   _has_bits_[0] &= ~0x00000400u;
   9142 }
   9143 void FileOptions::clear_deprecated() {
   9144   deprecated_ = false;
   9145   clear_has_deprecated();
   9146 }
   9147  bool FileOptions::deprecated() const {
   9148   // @@protoc_insertion_point(field_get:google.protobuf.FileOptions.deprecated)
   9149   return deprecated_;
   9150 }
   9151  void FileOptions::set_deprecated(bool value) {
   9152   set_has_deprecated();
   9153   deprecated_ = value;
   9154   // @@protoc_insertion_point(field_set:google.protobuf.FileOptions.deprecated)
   9155 }
   9156 
   9157 // optional bool cc_enable_arenas = 31 [default = false];
   9158 bool FileOptions::has_cc_enable_arenas() const {
   9159   return (_has_bits_[0] & 0x00000800u) != 0;
   9160 }
   9161 void FileOptions::set_has_cc_enable_arenas() {
   9162   _has_bits_[0] |= 0x00000800u;
   9163 }
   9164 void FileOptions::clear_has_cc_enable_arenas() {
   9165   _has_bits_[0] &= ~0x00000800u;
   9166 }
   9167 void FileOptions::clear_cc_enable_arenas() {
   9168   cc_enable_arenas_ = false;
   9169   clear_has_cc_enable_arenas();
   9170 }
   9171  bool FileOptions::cc_enable_arenas() const {
   9172   // @@protoc_insertion_point(field_get:google.protobuf.FileOptions.cc_enable_arenas)
   9173   return cc_enable_arenas_;
   9174 }
   9175  void FileOptions::set_cc_enable_arenas(bool value) {
   9176   set_has_cc_enable_arenas();
   9177   cc_enable_arenas_ = value;
   9178   // @@protoc_insertion_point(field_set:google.protobuf.FileOptions.cc_enable_arenas)
   9179 }
   9180 
   9181 // optional string objc_class_prefix = 36;
   9182 bool FileOptions::has_objc_class_prefix() const {
   9183   return (_has_bits_[0] & 0x00001000u) != 0;
   9184 }
   9185 void FileOptions::set_has_objc_class_prefix() {
   9186   _has_bits_[0] |= 0x00001000u;
   9187 }
   9188 void FileOptions::clear_has_objc_class_prefix() {
   9189   _has_bits_[0] &= ~0x00001000u;
   9190 }
   9191 void FileOptions::clear_objc_class_prefix() {
   9192   objc_class_prefix_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   9193   clear_has_objc_class_prefix();
   9194 }
   9195  const ::std::string& FileOptions::objc_class_prefix() const {
   9196   // @@protoc_insertion_point(field_get:google.protobuf.FileOptions.objc_class_prefix)
   9197   return objc_class_prefix_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   9198 }
   9199  void FileOptions::set_objc_class_prefix(const ::std::string& value) {
   9200   set_has_objc_class_prefix();
   9201   objc_class_prefix_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
   9202   // @@protoc_insertion_point(field_set:google.protobuf.FileOptions.objc_class_prefix)
   9203 }
   9204  void FileOptions::set_objc_class_prefix(const char* value) {
   9205   set_has_objc_class_prefix();
   9206   objc_class_prefix_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
   9207   // @@protoc_insertion_point(field_set_char:google.protobuf.FileOptions.objc_class_prefix)
   9208 }
   9209  void FileOptions::set_objc_class_prefix(const char* value, size_t size) {
   9210   set_has_objc_class_prefix();
   9211   objc_class_prefix_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
   9212       ::std::string(reinterpret_cast<const char*>(value), size));
   9213   // @@protoc_insertion_point(field_set_pointer:google.protobuf.FileOptions.objc_class_prefix)
   9214 }
   9215  ::std::string* FileOptions::mutable_objc_class_prefix() {
   9216   set_has_objc_class_prefix();
   9217   // @@protoc_insertion_point(field_mutable:google.protobuf.FileOptions.objc_class_prefix)
   9218   return objc_class_prefix_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   9219 }
   9220  ::std::string* FileOptions::release_objc_class_prefix() {
   9221   // @@protoc_insertion_point(field_release:google.protobuf.FileOptions.objc_class_prefix)
   9222   clear_has_objc_class_prefix();
   9223   return objc_class_prefix_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   9224 }
   9225  void FileOptions::set_allocated_objc_class_prefix(::std::string* objc_class_prefix) {
   9226   if (objc_class_prefix != NULL) {
   9227     set_has_objc_class_prefix();
   9228   } else {
   9229     clear_has_objc_class_prefix();
   9230   }
   9231   objc_class_prefix_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), objc_class_prefix);
   9232   // @@protoc_insertion_point(field_set_allocated:google.protobuf.FileOptions.objc_class_prefix)
   9233 }
   9234 
   9235 // optional string csharp_namespace = 37;
   9236 bool FileOptions::has_csharp_namespace() const {
   9237   return (_has_bits_[0] & 0x00002000u) != 0;
   9238 }
   9239 void FileOptions::set_has_csharp_namespace() {
   9240   _has_bits_[0] |= 0x00002000u;
   9241 }
   9242 void FileOptions::clear_has_csharp_namespace() {
   9243   _has_bits_[0] &= ~0x00002000u;
   9244 }
   9245 void FileOptions::clear_csharp_namespace() {
   9246   csharp_namespace_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   9247   clear_has_csharp_namespace();
   9248 }
   9249  const ::std::string& FileOptions::csharp_namespace() const {
   9250   // @@protoc_insertion_point(field_get:google.protobuf.FileOptions.csharp_namespace)
   9251   return csharp_namespace_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   9252 }
   9253  void FileOptions::set_csharp_namespace(const ::std::string& value) {
   9254   set_has_csharp_namespace();
   9255   csharp_namespace_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
   9256   // @@protoc_insertion_point(field_set:google.protobuf.FileOptions.csharp_namespace)
   9257 }
   9258  void FileOptions::set_csharp_namespace(const char* value) {
   9259   set_has_csharp_namespace();
   9260   csharp_namespace_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
   9261   // @@protoc_insertion_point(field_set_char:google.protobuf.FileOptions.csharp_namespace)
   9262 }
   9263  void FileOptions::set_csharp_namespace(const char* value, size_t size) {
   9264   set_has_csharp_namespace();
   9265   csharp_namespace_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
   9266       ::std::string(reinterpret_cast<const char*>(value), size));
   9267   // @@protoc_insertion_point(field_set_pointer:google.protobuf.FileOptions.csharp_namespace)
   9268 }
   9269  ::std::string* FileOptions::mutable_csharp_namespace() {
   9270   set_has_csharp_namespace();
   9271   // @@protoc_insertion_point(field_mutable:google.protobuf.FileOptions.csharp_namespace)
   9272   return csharp_namespace_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   9273 }
   9274  ::std::string* FileOptions::release_csharp_namespace() {
   9275   // @@protoc_insertion_point(field_release:google.protobuf.FileOptions.csharp_namespace)
   9276   clear_has_csharp_namespace();
   9277   return csharp_namespace_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   9278 }
   9279  void FileOptions::set_allocated_csharp_namespace(::std::string* csharp_namespace) {
   9280   if (csharp_namespace != NULL) {
   9281     set_has_csharp_namespace();
   9282   } else {
   9283     clear_has_csharp_namespace();
   9284   }
   9285   csharp_namespace_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), csharp_namespace);
   9286   // @@protoc_insertion_point(field_set_allocated:google.protobuf.FileOptions.csharp_namespace)
   9287 }
   9288 
   9289 // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
   9290 int FileOptions::uninterpreted_option_size() const {
   9291   return uninterpreted_option_.size();
   9292 }
   9293 void FileOptions::clear_uninterpreted_option() {
   9294   uninterpreted_option_.Clear();
   9295 }
   9296 const ::google::protobuf::UninterpretedOption& FileOptions::uninterpreted_option(int index) const {
   9297   // @@protoc_insertion_point(field_get:google.protobuf.FileOptions.uninterpreted_option)
   9298   return uninterpreted_option_.Get(index);
   9299 }
   9300 ::google::protobuf::UninterpretedOption* FileOptions::mutable_uninterpreted_option(int index) {
   9301   // @@protoc_insertion_point(field_mutable:google.protobuf.FileOptions.uninterpreted_option)
   9302   return uninterpreted_option_.Mutable(index);
   9303 }
   9304 ::google::protobuf::UninterpretedOption* FileOptions::add_uninterpreted_option() {
   9305   // @@protoc_insertion_point(field_add:google.protobuf.FileOptions.uninterpreted_option)
   9306   return uninterpreted_option_.Add();
   9307 }
   9308 ::google::protobuf::RepeatedPtrField< ::google::protobuf::UninterpretedOption >*
   9309 FileOptions::mutable_uninterpreted_option() {
   9310   // @@protoc_insertion_point(field_mutable_list:google.protobuf.FileOptions.uninterpreted_option)
   9311   return &uninterpreted_option_;
   9312 }
   9313 const ::google::protobuf::RepeatedPtrField< ::google::protobuf::UninterpretedOption >&
   9314 FileOptions::uninterpreted_option() const {
   9315   // @@protoc_insertion_point(field_list:google.protobuf.FileOptions.uninterpreted_option)
   9316   return uninterpreted_option_;
   9317 }
   9318 
   9319 #endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
   9320 
   9321 // ===================================================================
   9322 
   9323 #if !defined(_MSC_VER) || _MSC_VER >= 1900
   9324 const int MessageOptions::kMessageSetWireFormatFieldNumber;
   9325 const int MessageOptions::kNoStandardDescriptorAccessorFieldNumber;
   9326 const int MessageOptions::kDeprecatedFieldNumber;
   9327 const int MessageOptions::kMapEntryFieldNumber;
   9328 const int MessageOptions::kUninterpretedOptionFieldNumber;
   9329 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
   9330 
   9331 MessageOptions::MessageOptions()
   9332   : ::google::protobuf::Message(), _internal_metadata_(NULL) {
   9333   SharedCtor();
   9334   // @@protoc_insertion_point(constructor:google.protobuf.MessageOptions)
   9335 }
   9336 
   9337 void MessageOptions::InitAsDefaultInstance() {
   9338 }
   9339 
   9340 MessageOptions::MessageOptions(const MessageOptions& from)
   9341   : ::google::protobuf::Message(),
   9342     _internal_metadata_(NULL) {
   9343   SharedCtor();
   9344   MergeFrom(from);
   9345   // @@protoc_insertion_point(copy_constructor:google.protobuf.MessageOptions)
   9346 }
   9347 
   9348 void MessageOptions::SharedCtor() {
   9349   _cached_size_ = 0;
   9350   message_set_wire_format_ = false;
   9351   no_standard_descriptor_accessor_ = false;
   9352   deprecated_ = false;
   9353   map_entry_ = false;
   9354   ::memset(_has_bits_, 0, sizeof(_has_bits_));
   9355 }
   9356 
   9357 MessageOptions::~MessageOptions() {
   9358   // @@protoc_insertion_point(destructor:google.protobuf.MessageOptions)
   9359   SharedDtor();
   9360 }
   9361 
   9362 void MessageOptions::SharedDtor() {
   9363   if (this != default_instance_) {
   9364   }
   9365 }
   9366 
   9367 void MessageOptions::SetCachedSize(int size) const {
   9368   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   9369   _cached_size_ = size;
   9370   GOOGLE_SAFE_CONCURRENT_WRITES_END();
   9371 }
   9372 const ::google::protobuf::Descriptor* MessageOptions::descriptor() {
   9373   protobuf_AssignDescriptorsOnce();
   9374   return MessageOptions_descriptor_;
   9375 }
   9376 
   9377 const MessageOptions& MessageOptions::default_instance() {
   9378   if (default_instance_ == NULL) protobuf_AddDesc_google_2fprotobuf_2fdescriptor_2eproto();
   9379   return *default_instance_;
   9380 }
   9381 
   9382 MessageOptions* MessageOptions::default_instance_ = NULL;
   9383 
   9384 MessageOptions* MessageOptions::New(::google::protobuf::Arena* arena) const {
   9385   MessageOptions* n = new MessageOptions;
   9386   if (arena != NULL) {
   9387     arena->Own(n);
   9388   }
   9389   return n;
   9390 }
   9391 
   9392 void MessageOptions::Clear() {
   9393 // @@protoc_insertion_point(message_clear_start:google.protobuf.MessageOptions)
   9394   _extensions_.Clear();
   9395 #if defined(__clang__)
   9396 #define ZR_HELPER_(f) \
   9397   _Pragma("clang diagnostic push") \
   9398   _Pragma("clang diagnostic ignored \"-Winvalid-offsetof\"") \
   9399   __builtin_offsetof(MessageOptions, f) \
   9400   _Pragma("clang diagnostic pop")
   9401 #else
   9402 #define ZR_HELPER_(f) reinterpret_cast<char*>(\
   9403   &reinterpret_cast<MessageOptions*>(16)->f)
   9404 #endif
   9405 
   9406 #define ZR_(first, last) do {\
   9407   ::memset(&(first), 0,\
   9408            ZR_HELPER_(last) - ZR_HELPER_(first) + sizeof(last));\
   9409 } while (0)
   9410 
   9411   ZR_(message_set_wire_format_, map_entry_);
   9412 
   9413 #undef ZR_HELPER_
   9414 #undef ZR_
   9415 
   9416   uninterpreted_option_.Clear();
   9417   ::memset(_has_bits_, 0, sizeof(_has_bits_));
   9418   if (_internal_metadata_.have_unknown_fields()) {
   9419     mutable_unknown_fields()->Clear();
   9420   }
   9421 }
   9422 
   9423 bool MessageOptions::MergePartialFromCodedStream(
   9424     ::google::protobuf::io::CodedInputStream* input) {
   9425 #define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
   9426   ::google::protobuf::uint32 tag;
   9427   // @@protoc_insertion_point(parse_start:google.protobuf.MessageOptions)
   9428   for (;;) {
   9429     ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(16383);
   9430     tag = p.first;
   9431     if (!p.second) goto handle_unusual;
   9432     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
   9433       // optional bool message_set_wire_format = 1 [default = false];
   9434       case 1: {
   9435         if (tag == 8) {
   9436           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
   9437                    bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
   9438                  input, &message_set_wire_format_)));
   9439           set_has_message_set_wire_format();
   9440         } else {
   9441           goto handle_unusual;
   9442         }
   9443         if (input->ExpectTag(16)) goto parse_no_standard_descriptor_accessor;
   9444         break;
   9445       }
   9446 
   9447       // optional bool no_standard_descriptor_accessor = 2 [default = false];
   9448       case 2: {
   9449         if (tag == 16) {
   9450          parse_no_standard_descriptor_accessor:
   9451           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
   9452                    bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
   9453                  input, &no_standard_descriptor_accessor_)));
   9454           set_has_no_standard_descriptor_accessor();
   9455         } else {
   9456           goto handle_unusual;
   9457         }
   9458         if (input->ExpectTag(24)) goto parse_deprecated;
   9459         break;
   9460       }
   9461 
   9462       // optional bool deprecated = 3 [default = false];
   9463       case 3: {
   9464         if (tag == 24) {
   9465          parse_deprecated:
   9466           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
   9467                    bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
   9468                  input, &deprecated_)));
   9469           set_has_deprecated();
   9470         } else {
   9471           goto handle_unusual;
   9472         }
   9473         if (input->ExpectTag(56)) goto parse_map_entry;
   9474         break;
   9475       }
   9476 
   9477       // optional bool map_entry = 7;
   9478       case 7: {
   9479         if (tag == 56) {
   9480          parse_map_entry:
   9481           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
   9482                    bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
   9483                  input, &map_entry_)));
   9484           set_has_map_entry();
   9485         } else {
   9486           goto handle_unusual;
   9487         }
   9488         if (input->ExpectTag(7994)) goto parse_uninterpreted_option;
   9489         break;
   9490       }
   9491 
   9492       // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
   9493       case 999: {
   9494         if (tag == 7994) {
   9495          parse_uninterpreted_option:
   9496           DO_(input->IncrementRecursionDepth());
   9497          parse_loop_uninterpreted_option:
   9498           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtualNoRecursionDepth(
   9499                 input, add_uninterpreted_option()));
   9500         } else {
   9501           goto handle_unusual;
   9502         }
   9503         if (input->ExpectTag(7994)) goto parse_loop_uninterpreted_option;
   9504         input->UnsafeDecrementRecursionDepth();
   9505         if (input->ExpectAtEnd()) goto success;
   9506         break;
   9507       }
   9508 
   9509       default: {
   9510       handle_unusual:
   9511         if (tag == 0 ||
   9512             ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
   9513             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
   9514           goto success;
   9515         }
   9516         if ((8000u <= tag)) {
   9517           DO_(_extensions_.ParseField(tag, input, default_instance_,
   9518                                       mutable_unknown_fields()));
   9519           continue;
   9520         }
   9521         DO_(::google::protobuf::internal::WireFormat::SkipField(
   9522               input, tag, mutable_unknown_fields()));
   9523         break;
   9524       }
   9525     }
   9526   }
   9527 success:
   9528   // @@protoc_insertion_point(parse_success:google.protobuf.MessageOptions)
   9529   return true;
   9530 failure:
   9531   // @@protoc_insertion_point(parse_failure:google.protobuf.MessageOptions)
   9532   return false;
   9533 #undef DO_
   9534 }
   9535 
   9536 void MessageOptions::SerializeWithCachedSizes(
   9537     ::google::protobuf::io::CodedOutputStream* output) const {
   9538   // @@protoc_insertion_point(serialize_start:google.protobuf.MessageOptions)
   9539   // optional bool message_set_wire_format = 1 [default = false];
   9540   if (has_message_set_wire_format()) {
   9541     ::google::protobuf::internal::WireFormatLite::WriteBool(1, this->message_set_wire_format(), output);
   9542   }
   9543 
   9544   // optional bool no_standard_descriptor_accessor = 2 [default = false];
   9545   if (has_no_standard_descriptor_accessor()) {
   9546     ::google::protobuf::internal::WireFormatLite::WriteBool(2, this->no_standard_descriptor_accessor(), output);
   9547   }
   9548 
   9549   // optional bool deprecated = 3 [default = false];
   9550   if (has_deprecated()) {
   9551     ::google::protobuf::internal::WireFormatLite::WriteBool(3, this->deprecated(), output);
   9552   }
   9553 
   9554   // optional bool map_entry = 7;
   9555   if (has_map_entry()) {
   9556     ::google::protobuf::internal::WireFormatLite::WriteBool(7, this->map_entry(), output);
   9557   }
   9558 
   9559   // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
   9560   for (unsigned int i = 0, n = this->uninterpreted_option_size(); i < n; i++) {
   9561     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
   9562       999, this->uninterpreted_option(i), output);
   9563   }
   9564 
   9565   // Extension range [1000, 536870912)
   9566   _extensions_.SerializeWithCachedSizes(
   9567       1000, 536870912, output);
   9568 
   9569   if (_internal_metadata_.have_unknown_fields()) {
   9570     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
   9571         unknown_fields(), output);
   9572   }
   9573   // @@protoc_insertion_point(serialize_end:google.protobuf.MessageOptions)
   9574 }
   9575 
   9576 ::google::protobuf::uint8* MessageOptions::SerializeWithCachedSizesToArray(
   9577     ::google::protobuf::uint8* target) const {
   9578   // @@protoc_insertion_point(serialize_to_array_start:google.protobuf.MessageOptions)
   9579   // optional bool message_set_wire_format = 1 [default = false];
   9580   if (has_message_set_wire_format()) {
   9581     target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(1, this->message_set_wire_format(), target);
   9582   }
   9583 
   9584   // optional bool no_standard_descriptor_accessor = 2 [default = false];
   9585   if (has_no_standard_descriptor_accessor()) {
   9586     target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(2, this->no_standard_descriptor_accessor(), target);
   9587   }
   9588 
   9589   // optional bool deprecated = 3 [default = false];
   9590   if (has_deprecated()) {
   9591     target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(3, this->deprecated(), target);
   9592   }
   9593 
   9594   // optional bool map_entry = 7;
   9595   if (has_map_entry()) {
   9596     target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(7, this->map_entry(), target);
   9597   }
   9598 
   9599   // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
   9600   for (unsigned int i = 0, n = this->uninterpreted_option_size(); i < n; i++) {
   9601     target = ::google::protobuf::internal::WireFormatLite::
   9602       WriteMessageNoVirtualToArray(
   9603         999, this->uninterpreted_option(i), target);
   9604   }
   9605 
   9606   // Extension range [1000, 536870912)
   9607   target = _extensions_.SerializeWithCachedSizesToArray(
   9608       1000, 536870912, target);
   9609 
   9610   if (_internal_metadata_.have_unknown_fields()) {
   9611     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
   9612         unknown_fields(), target);
   9613   }
   9614   // @@protoc_insertion_point(serialize_to_array_end:google.protobuf.MessageOptions)
   9615   return target;
   9616 }
   9617 
   9618 int MessageOptions::ByteSize() const {
   9619 // @@protoc_insertion_point(message_byte_size_start:google.protobuf.MessageOptions)
   9620   int total_size = 0;
   9621 
   9622   if (_has_bits_[0 / 32] & 15u) {
   9623     // optional bool message_set_wire_format = 1 [default = false];
   9624     if (has_message_set_wire_format()) {
   9625       total_size += 1 + 1;
   9626     }
   9627 
   9628     // optional bool no_standard_descriptor_accessor = 2 [default = false];
   9629     if (has_no_standard_descriptor_accessor()) {
   9630       total_size += 1 + 1;
   9631     }
   9632 
   9633     // optional bool deprecated = 3 [default = false];
   9634     if (has_deprecated()) {
   9635       total_size += 1 + 1;
   9636     }
   9637 
   9638     // optional bool map_entry = 7;
   9639     if (has_map_entry()) {
   9640       total_size += 1 + 1;
   9641     }
   9642 
   9643   }
   9644   // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
   9645   total_size += 2 * this->uninterpreted_option_size();
   9646   for (int i = 0; i < this->uninterpreted_option_size(); i++) {
   9647     total_size +=
   9648       ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
   9649         this->uninterpreted_option(i));
   9650   }
   9651 
   9652   total_size += _extensions_.ByteSize();
   9653 
   9654   if (_internal_metadata_.have_unknown_fields()) {
   9655     total_size +=
   9656       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
   9657         unknown_fields());
   9658   }
   9659   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   9660   _cached_size_ = total_size;
   9661   GOOGLE_SAFE_CONCURRENT_WRITES_END();
   9662   return total_size;
   9663 }
   9664 
   9665 void MessageOptions::MergeFrom(const ::google::protobuf::Message& from) {
   9666 // @@protoc_insertion_point(generalized_merge_from_start:google.protobuf.MessageOptions)
   9667   if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
   9668   const MessageOptions* source =
   9669       ::google::protobuf::internal::DynamicCastToGenerated<const MessageOptions>(
   9670           &from);
   9671   if (source == NULL) {
   9672   // @@protoc_insertion_point(generalized_merge_from_cast_fail:google.protobuf.MessageOptions)
   9673     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
   9674   } else {
   9675   // @@protoc_insertion_point(generalized_merge_from_cast_success:google.protobuf.MessageOptions)
   9676     MergeFrom(*source);
   9677   }
   9678 }
   9679 
   9680 void MessageOptions::MergeFrom(const MessageOptions& from) {
   9681 // @@protoc_insertion_point(class_specific_merge_from_start:google.protobuf.MessageOptions)
   9682   if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
   9683   uninterpreted_option_.MergeFrom(from.uninterpreted_option_);
   9684   if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
   9685     if (from.has_message_set_wire_format()) {
   9686       set_message_set_wire_format(from.message_set_wire_format());
   9687     }
   9688     if (from.has_no_standard_descriptor_accessor()) {
   9689       set_no_standard_descriptor_accessor(from.no_standard_descriptor_accessor());
   9690     }
   9691     if (from.has_deprecated()) {
   9692       set_deprecated(from.deprecated());
   9693     }
   9694     if (from.has_map_entry()) {
   9695       set_map_entry(from.map_entry());
   9696     }
   9697   }
   9698   _extensions_.MergeFrom(from._extensions_);
   9699   if (from._internal_metadata_.have_unknown_fields()) {
   9700     mutable_unknown_fields()->MergeFrom(from.unknown_fields());
   9701   }
   9702 }
   9703 
   9704 void MessageOptions::CopyFrom(const ::google::protobuf::Message& from) {
   9705 // @@protoc_insertion_point(generalized_copy_from_start:google.protobuf.MessageOptions)
   9706   if (&from == this) return;
   9707   Clear();
   9708   MergeFrom(from);
   9709 }
   9710 
   9711 void MessageOptions::CopyFrom(const MessageOptions& from) {
   9712 // @@protoc_insertion_point(class_specific_copy_from_start:google.protobuf.MessageOptions)
   9713   if (&from == this) return;
   9714   Clear();
   9715   MergeFrom(from);
   9716 }
   9717 
   9718 bool MessageOptions::IsInitialized() const {
   9719 
   9720   if (!::google::protobuf::internal::AllAreInitialized(this->uninterpreted_option())) return false;
   9721 
   9722   if (!_extensions_.IsInitialized()) return false;  return true;
   9723 }
   9724 
   9725 void MessageOptions::Swap(MessageOptions* other) {
   9726   if (other == this) return;
   9727   InternalSwap(other);
   9728 }
   9729 void MessageOptions::InternalSwap(MessageOptions* other) {
   9730   std::swap(message_set_wire_format_, other->message_set_wire_format_);
   9731   std::swap(no_standard_descriptor_accessor_, other->no_standard_descriptor_accessor_);
   9732   std::swap(deprecated_, other->deprecated_);
   9733   std::swap(map_entry_, other->map_entry_);
   9734   uninterpreted_option_.UnsafeArenaSwap(&other->uninterpreted_option_);
   9735   std::swap(_has_bits_[0], other->_has_bits_[0]);
   9736   _internal_metadata_.Swap(&other->_internal_metadata_);
   9737   std::swap(_cached_size_, other->_cached_size_);
   9738   _extensions_.Swap(&other->_extensions_);
   9739 }
   9740 
   9741 ::google::protobuf::Metadata MessageOptions::GetMetadata() const {
   9742   protobuf_AssignDescriptorsOnce();
   9743   ::google::protobuf::Metadata metadata;
   9744   metadata.descriptor = MessageOptions_descriptor_;
   9745   metadata.reflection = MessageOptions_reflection_;
   9746   return metadata;
   9747 }
   9748 
   9749 #if PROTOBUF_INLINE_NOT_IN_HEADERS
   9750 // MessageOptions
   9751 
   9752 // optional bool message_set_wire_format = 1 [default = false];
   9753 bool MessageOptions::has_message_set_wire_format() const {
   9754   return (_has_bits_[0] & 0x00000001u) != 0;
   9755 }
   9756 void MessageOptions::set_has_message_set_wire_format() {
   9757   _has_bits_[0] |= 0x00000001u;
   9758 }
   9759 void MessageOptions::clear_has_message_set_wire_format() {
   9760   _has_bits_[0] &= ~0x00000001u;
   9761 }
   9762 void MessageOptions::clear_message_set_wire_format() {
   9763   message_set_wire_format_ = false;
   9764   clear_has_message_set_wire_format();
   9765 }
   9766  bool MessageOptions::message_set_wire_format() const {
   9767   // @@protoc_insertion_point(field_get:google.protobuf.MessageOptions.message_set_wire_format)
   9768   return message_set_wire_format_;
   9769 }
   9770  void MessageOptions::set_message_set_wire_format(bool value) {
   9771   set_has_message_set_wire_format();
   9772   message_set_wire_format_ = value;
   9773   // @@protoc_insertion_point(field_set:google.protobuf.MessageOptions.message_set_wire_format)
   9774 }
   9775 
   9776 // optional bool no_standard_descriptor_accessor = 2 [default = false];
   9777 bool MessageOptions::has_no_standard_descriptor_accessor() const {
   9778   return (_has_bits_[0] & 0x00000002u) != 0;
   9779 }
   9780 void MessageOptions::set_has_no_standard_descriptor_accessor() {
   9781   _has_bits_[0] |= 0x00000002u;
   9782 }
   9783 void MessageOptions::clear_has_no_standard_descriptor_accessor() {
   9784   _has_bits_[0] &= ~0x00000002u;
   9785 }
   9786 void MessageOptions::clear_no_standard_descriptor_accessor() {
   9787   no_standard_descriptor_accessor_ = false;
   9788   clear_has_no_standard_descriptor_accessor();
   9789 }
   9790  bool MessageOptions::no_standard_descriptor_accessor() const {
   9791   // @@protoc_insertion_point(field_get:google.protobuf.MessageOptions.no_standard_descriptor_accessor)
   9792   return no_standard_descriptor_accessor_;
   9793 }
   9794  void MessageOptions::set_no_standard_descriptor_accessor(bool value) {
   9795   set_has_no_standard_descriptor_accessor();
   9796   no_standard_descriptor_accessor_ = value;
   9797   // @@protoc_insertion_point(field_set:google.protobuf.MessageOptions.no_standard_descriptor_accessor)
   9798 }
   9799 
   9800 // optional bool deprecated = 3 [default = false];
   9801 bool MessageOptions::has_deprecated() const {
   9802   return (_has_bits_[0] & 0x00000004u) != 0;
   9803 }
   9804 void MessageOptions::set_has_deprecated() {
   9805   _has_bits_[0] |= 0x00000004u;
   9806 }
   9807 void MessageOptions::clear_has_deprecated() {
   9808   _has_bits_[0] &= ~0x00000004u;
   9809 }
   9810 void MessageOptions::clear_deprecated() {
   9811   deprecated_ = false;
   9812   clear_has_deprecated();
   9813 }
   9814  bool MessageOptions::deprecated() const {
   9815   // @@protoc_insertion_point(field_get:google.protobuf.MessageOptions.deprecated)
   9816   return deprecated_;
   9817 }
   9818  void MessageOptions::set_deprecated(bool value) {
   9819   set_has_deprecated();
   9820   deprecated_ = value;
   9821   // @@protoc_insertion_point(field_set:google.protobuf.MessageOptions.deprecated)
   9822 }
   9823 
   9824 // optional bool map_entry = 7;
   9825 bool MessageOptions::has_map_entry() const {
   9826   return (_has_bits_[0] & 0x00000008u) != 0;
   9827 }
   9828 void MessageOptions::set_has_map_entry() {
   9829   _has_bits_[0] |= 0x00000008u;
   9830 }
   9831 void MessageOptions::clear_has_map_entry() {
   9832   _has_bits_[0] &= ~0x00000008u;
   9833 }
   9834 void MessageOptions::clear_map_entry() {
   9835   map_entry_ = false;
   9836   clear_has_map_entry();
   9837 }
   9838  bool MessageOptions::map_entry() const {
   9839   // @@protoc_insertion_point(field_get:google.protobuf.MessageOptions.map_entry)
   9840   return map_entry_;
   9841 }
   9842  void MessageOptions::set_map_entry(bool value) {
   9843   set_has_map_entry();
   9844   map_entry_ = value;
   9845   // @@protoc_insertion_point(field_set:google.protobuf.MessageOptions.map_entry)
   9846 }
   9847 
   9848 // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
   9849 int MessageOptions::uninterpreted_option_size() const {
   9850   return uninterpreted_option_.size();
   9851 }
   9852 void MessageOptions::clear_uninterpreted_option() {
   9853   uninterpreted_option_.Clear();
   9854 }
   9855 const ::google::protobuf::UninterpretedOption& MessageOptions::uninterpreted_option(int index) const {
   9856   // @@protoc_insertion_point(field_get:google.protobuf.MessageOptions.uninterpreted_option)
   9857   return uninterpreted_option_.Get(index);
   9858 }
   9859 ::google::protobuf::UninterpretedOption* MessageOptions::mutable_uninterpreted_option(int index) {
   9860   // @@protoc_insertion_point(field_mutable:google.protobuf.MessageOptions.uninterpreted_option)
   9861   return uninterpreted_option_.Mutable(index);
   9862 }
   9863 ::google::protobuf::UninterpretedOption* MessageOptions::add_uninterpreted_option() {
   9864   // @@protoc_insertion_point(field_add:google.protobuf.MessageOptions.uninterpreted_option)
   9865   return uninterpreted_option_.Add();
   9866 }
   9867 ::google::protobuf::RepeatedPtrField< ::google::protobuf::UninterpretedOption >*
   9868 MessageOptions::mutable_uninterpreted_option() {
   9869   // @@protoc_insertion_point(field_mutable_list:google.protobuf.MessageOptions.uninterpreted_option)
   9870   return &uninterpreted_option_;
   9871 }
   9872 const ::google::protobuf::RepeatedPtrField< ::google::protobuf::UninterpretedOption >&
   9873 MessageOptions::uninterpreted_option() const {
   9874   // @@protoc_insertion_point(field_list:google.protobuf.MessageOptions.uninterpreted_option)
   9875   return uninterpreted_option_;
   9876 }
   9877 
   9878 #endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
   9879 
   9880 // ===================================================================
   9881 
   9882 const ::google::protobuf::EnumDescriptor* FieldOptions_CType_descriptor() {
   9883   protobuf_AssignDescriptorsOnce();
   9884   return FieldOptions_CType_descriptor_;
   9885 }
   9886 bool FieldOptions_CType_IsValid(int value) {
   9887   switch(value) {
   9888     case 0:
   9889     case 1:
   9890     case 2:
   9891       return true;
   9892     default:
   9893       return false;
   9894   }
   9895 }
   9896 
   9897 #if !defined(_MSC_VER) || _MSC_VER >= 1900
   9898 const FieldOptions_CType FieldOptions::STRING;
   9899 const FieldOptions_CType FieldOptions::CORD;
   9900 const FieldOptions_CType FieldOptions::STRING_PIECE;
   9901 const FieldOptions_CType FieldOptions::CType_MIN;
   9902 const FieldOptions_CType FieldOptions::CType_MAX;
   9903 const int FieldOptions::CType_ARRAYSIZE;
   9904 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
   9905 const ::google::protobuf::EnumDescriptor* FieldOptions_JSType_descriptor() {
   9906   protobuf_AssignDescriptorsOnce();
   9907   return FieldOptions_JSType_descriptor_;
   9908 }
   9909 bool FieldOptions_JSType_IsValid(int value) {
   9910   switch(value) {
   9911     case 0:
   9912     case 1:
   9913     case 2:
   9914       return true;
   9915     default:
   9916       return false;
   9917   }
   9918 }
   9919 
   9920 #if !defined(_MSC_VER) || _MSC_VER >= 1900
   9921 const FieldOptions_JSType FieldOptions::JS_NORMAL;
   9922 const FieldOptions_JSType FieldOptions::JS_STRING;
   9923 const FieldOptions_JSType FieldOptions::JS_NUMBER;
   9924 const FieldOptions_JSType FieldOptions::JSType_MIN;
   9925 const FieldOptions_JSType FieldOptions::JSType_MAX;
   9926 const int FieldOptions::JSType_ARRAYSIZE;
   9927 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
   9928 #if !defined(_MSC_VER) || _MSC_VER >= 1900
   9929 const int FieldOptions::kCtypeFieldNumber;
   9930 const int FieldOptions::kPackedFieldNumber;
   9931 const int FieldOptions::kJstypeFieldNumber;
   9932 const int FieldOptions::kLazyFieldNumber;
   9933 const int FieldOptions::kDeprecatedFieldNumber;
   9934 const int FieldOptions::kWeakFieldNumber;
   9935 const int FieldOptions::kUninterpretedOptionFieldNumber;
   9936 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
   9937 
   9938 FieldOptions::FieldOptions()
   9939   : ::google::protobuf::Message(), _internal_metadata_(NULL) {
   9940   SharedCtor();
   9941   // @@protoc_insertion_point(constructor:google.protobuf.FieldOptions)
   9942 }
   9943 
   9944 void FieldOptions::InitAsDefaultInstance() {
   9945 }
   9946 
   9947 FieldOptions::FieldOptions(const FieldOptions& from)
   9948   : ::google::protobuf::Message(),
   9949     _internal_metadata_(NULL) {
   9950   SharedCtor();
   9951   MergeFrom(from);
   9952   // @@protoc_insertion_point(copy_constructor:google.protobuf.FieldOptions)
   9953 }
   9954 
   9955 void FieldOptions::SharedCtor() {
   9956   _cached_size_ = 0;
   9957   ctype_ = 0;
   9958   packed_ = false;
   9959   jstype_ = 0;
   9960   lazy_ = false;
   9961   deprecated_ = false;
   9962   weak_ = false;
   9963   ::memset(_has_bits_, 0, sizeof(_has_bits_));
   9964 }
   9965 
   9966 FieldOptions::~FieldOptions() {
   9967   // @@protoc_insertion_point(destructor:google.protobuf.FieldOptions)
   9968   SharedDtor();
   9969 }
   9970 
   9971 void FieldOptions::SharedDtor() {
   9972   if (this != default_instance_) {
   9973   }
   9974 }
   9975 
   9976 void FieldOptions::SetCachedSize(int size) const {
   9977   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   9978   _cached_size_ = size;
   9979   GOOGLE_SAFE_CONCURRENT_WRITES_END();
   9980 }
   9981 const ::google::protobuf::Descriptor* FieldOptions::descriptor() {
   9982   protobuf_AssignDescriptorsOnce();
   9983   return FieldOptions_descriptor_;
   9984 }
   9985 
   9986 const FieldOptions& FieldOptions::default_instance() {
   9987   if (default_instance_ == NULL) protobuf_AddDesc_google_2fprotobuf_2fdescriptor_2eproto();
   9988   return *default_instance_;
   9989 }
   9990 
   9991 FieldOptions* FieldOptions::default_instance_ = NULL;
   9992 
   9993 FieldOptions* FieldOptions::New(::google::protobuf::Arena* arena) const {
   9994   FieldOptions* n = new FieldOptions;
   9995   if (arena != NULL) {
   9996     arena->Own(n);
   9997   }
   9998   return n;
   9999 }
   10000 
   10001 void FieldOptions::Clear() {
   10002 // @@protoc_insertion_point(message_clear_start:google.protobuf.FieldOptions)
   10003   _extensions_.Clear();
   10004 #if defined(__clang__)
   10005 #define ZR_HELPER_(f) \
   10006   _Pragma("clang diagnostic push") \
   10007   _Pragma("clang diagnostic ignored \"-Winvalid-offsetof\"") \
   10008   __builtin_offsetof(FieldOptions, f) \
   10009   _Pragma("clang diagnostic pop")
   10010 #else
   10011 #define ZR_HELPER_(f) reinterpret_cast<char*>(\
   10012   &reinterpret_cast<FieldOptions*>(16)->f)
   10013 #endif
   10014 
   10015 #define ZR_(first, last) do {\
   10016   ::memset(&(first), 0,\
   10017            ZR_HELPER_(last) - ZR_HELPER_(first) + sizeof(last));\
   10018 } while (0)
   10019 
   10020   if (_has_bits_[0 / 32] & 63u) {
   10021     ZR_(ctype_, jstype_);
   10022     ZR_(packed_, weak_);
   10023   }
   10024 
   10025 #undef ZR_HELPER_
   10026 #undef ZR_
   10027 
   10028   uninterpreted_option_.Clear();
   10029   ::memset(_has_bits_, 0, sizeof(_has_bits_));
   10030   if (_internal_metadata_.have_unknown_fields()) {
   10031     mutable_unknown_fields()->Clear();
   10032   }
   10033 }
   10034 
   10035 bool FieldOptions::MergePartialFromCodedStream(
   10036     ::google::protobuf::io::CodedInputStream* input) {
   10037 #define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
   10038   ::google::protobuf::uint32 tag;
   10039   // @@protoc_insertion_point(parse_start:google.protobuf.FieldOptions)
   10040   for (;;) {
   10041     ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(16383);
   10042     tag = p.first;
   10043     if (!p.second) goto handle_unusual;
   10044     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
   10045       // optional .google.protobuf.FieldOptions.CType ctype = 1 [default = STRING];
   10046       case 1: {
   10047         if (tag == 8) {
   10048           int value;
   10049           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
   10050                    int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>(
   10051                  input, &value)));
   10052           if (::google::protobuf::FieldOptions_CType_IsValid(value)) {
   10053             set_ctype(static_cast< ::google::protobuf::FieldOptions_CType >(value));
   10054           } else {
   10055             mutable_unknown_fields()->AddVarint(1, value);
   10056           }
   10057         } else {
   10058           goto handle_unusual;
   10059         }
   10060         if (input->ExpectTag(16)) goto parse_packed;
   10061         break;
   10062       }
   10063 
   10064       // optional bool packed = 2;
   10065       case 2: {
   10066         if (tag == 16) {
   10067          parse_packed:
   10068           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
   10069                    bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
   10070                  input, &packed_)));
   10071           set_has_packed();
   10072         } else {
   10073           goto handle_unusual;
   10074         }
   10075         if (input->ExpectTag(24)) goto parse_deprecated;
   10076         break;
   10077       }
   10078 
   10079       // optional bool deprecated = 3 [default = false];
   10080       case 3: {
   10081         if (tag == 24) {
   10082          parse_deprecated:
   10083           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
   10084                    bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
   10085                  input, &deprecated_)));
   10086           set_has_deprecated();
   10087         } else {
   10088           goto handle_unusual;
   10089         }
   10090         if (input->ExpectTag(40)) goto parse_lazy;
   10091         break;
   10092       }
   10093 
   10094       // optional bool lazy = 5 [default = false];
   10095       case 5: {
   10096         if (tag == 40) {
   10097          parse_lazy:
   10098           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
   10099                    bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
   10100                  input, &lazy_)));
   10101           set_has_lazy();
   10102         } else {
   10103           goto handle_unusual;
   10104         }
   10105         if (input->ExpectTag(48)) goto parse_jstype;
   10106         break;
   10107       }
   10108 
   10109       // optional .google.protobuf.FieldOptions.JSType jstype = 6 [default = JS_NORMAL];
   10110       case 6: {
   10111         if (tag == 48) {
   10112          parse_jstype:
   10113           int value;
   10114           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
   10115                    int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>(
   10116                  input, &value)));
   10117           if (::google::protobuf::FieldOptions_JSType_IsValid(value)) {
   10118             set_jstype(static_cast< ::google::protobuf::FieldOptions_JSType >(value));
   10119           } else {
   10120             mutable_unknown_fields()->AddVarint(6, value);
   10121           }
   10122         } else {
   10123           goto handle_unusual;
   10124         }
   10125         if (input->ExpectTag(80)) goto parse_weak;
   10126         break;
   10127       }
   10128 
   10129       // optional bool weak = 10 [default = false];
   10130       case 10: {
   10131         if (tag == 80) {
   10132          parse_weak:
   10133           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
   10134                    bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
   10135                  input, &weak_)));
   10136           set_has_weak();
   10137         } else {
   10138           goto handle_unusual;
   10139         }
   10140         if (input->ExpectTag(7994)) goto parse_uninterpreted_option;
   10141         break;
   10142       }
   10143 
   10144       // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
   10145       case 999: {
   10146         if (tag == 7994) {
   10147          parse_uninterpreted_option:
   10148           DO_(input->IncrementRecursionDepth());
   10149          parse_loop_uninterpreted_option:
   10150           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtualNoRecursionDepth(
   10151                 input, add_uninterpreted_option()));
   10152         } else {
   10153           goto handle_unusual;
   10154         }
   10155         if (input->ExpectTag(7994)) goto parse_loop_uninterpreted_option;
   10156         input->UnsafeDecrementRecursionDepth();
   10157         if (input->ExpectAtEnd()) goto success;
   10158         break;
   10159       }
   10160 
   10161       default: {
   10162       handle_unusual:
   10163         if (tag == 0 ||
   10164             ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
   10165             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
   10166           goto success;
   10167         }
   10168         if ((8000u <= tag)) {
   10169           DO_(_extensions_.ParseField(tag, input, default_instance_,
   10170                                       mutable_unknown_fields()));
   10171           continue;
   10172         }
   10173         DO_(::google::protobuf::internal::WireFormat::SkipField(
   10174               input, tag, mutable_unknown_fields()));
   10175         break;
   10176       }
   10177     }
   10178   }
   10179 success:
   10180   // @@protoc_insertion_point(parse_success:google.protobuf.FieldOptions)
   10181   return true;
   10182 failure:
   10183   // @@protoc_insertion_point(parse_failure:google.protobuf.FieldOptions)
   10184   return false;
   10185 #undef DO_
   10186 }
   10187 
   10188 void FieldOptions::SerializeWithCachedSizes(
   10189     ::google::protobuf::io::CodedOutputStream* output) const {
   10190   // @@protoc_insertion_point(serialize_start:google.protobuf.FieldOptions)
   10191   // optional .google.protobuf.FieldOptions.CType ctype = 1 [default = STRING];
   10192   if (has_ctype()) {
   10193     ::google::protobuf::internal::WireFormatLite::WriteEnum(
   10194       1, this->ctype(), output);
   10195   }
   10196 
   10197   // optional bool packed = 2;
   10198   if (has_packed()) {
   10199     ::google::protobuf::internal::WireFormatLite::WriteBool(2, this->packed(), output);
   10200   }
   10201 
   10202   // optional bool deprecated = 3 [default = false];
   10203   if (has_deprecated()) {
   10204     ::google::protobuf::internal::WireFormatLite::WriteBool(3, this->deprecated(), output);
   10205   }
   10206 
   10207   // optional bool lazy = 5 [default = false];
   10208   if (has_lazy()) {
   10209     ::google::protobuf::internal::WireFormatLite::WriteBool(5, this->lazy(), output);
   10210   }
   10211 
   10212   // optional .google.protobuf.FieldOptions.JSType jstype = 6 [default = JS_NORMAL];
   10213   if (has_jstype()) {
   10214     ::google::protobuf::internal::WireFormatLite::WriteEnum(
   10215       6, this->jstype(), output);
   10216   }
   10217 
   10218   // optional bool weak = 10 [default = false];
   10219   if (has_weak()) {
   10220     ::google::protobuf::internal::WireFormatLite::WriteBool(10, this->weak(), output);
   10221   }
   10222 
   10223   // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
   10224   for (unsigned int i = 0, n = this->uninterpreted_option_size(); i < n; i++) {
   10225     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
   10226       999, this->uninterpreted_option(i), output);
   10227   }
   10228 
   10229   // Extension range [1000, 536870912)
   10230   _extensions_.SerializeWithCachedSizes(
   10231       1000, 536870912, output);
   10232 
   10233   if (_internal_metadata_.have_unknown_fields()) {
   10234     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
   10235         unknown_fields(), output);
   10236   }
   10237   // @@protoc_insertion_point(serialize_end:google.protobuf.FieldOptions)
   10238 }
   10239 
   10240 ::google::protobuf::uint8* FieldOptions::SerializeWithCachedSizesToArray(
   10241     ::google::protobuf::uint8* target) const {
   10242   // @@protoc_insertion_point(serialize_to_array_start:google.protobuf.FieldOptions)
   10243   // optional .google.protobuf.FieldOptions.CType ctype = 1 [default = STRING];
   10244   if (has_ctype()) {
   10245     target = ::google::protobuf::internal::WireFormatLite::WriteEnumToArray(
   10246       1, this->ctype(), target);
   10247   }
   10248 
   10249   // optional bool packed = 2;
   10250   if (has_packed()) {
   10251     target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(2, this->packed(), target);
   10252   }
   10253 
   10254   // optional bool deprecated = 3 [default = false];
   10255   if (has_deprecated()) {
   10256     target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(3, this->deprecated(), target);
   10257   }
   10258 
   10259   // optional bool lazy = 5 [default = false];
   10260   if (has_lazy()) {
   10261     target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(5, this->lazy(), target);
   10262   }
   10263 
   10264   // optional .google.protobuf.FieldOptions.JSType jstype = 6 [default = JS_NORMAL];
   10265   if (has_jstype()) {
   10266     target = ::google::protobuf::internal::WireFormatLite::WriteEnumToArray(
   10267       6, this->jstype(), target);
   10268   }
   10269 
   10270   // optional bool weak = 10 [default = false];
   10271   if (has_weak()) {
   10272     target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(10, this->weak(), target);
   10273   }
   10274 
   10275   // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
   10276   for (unsigned int i = 0, n = this->uninterpreted_option_size(); i < n; i++) {
   10277     target = ::google::protobuf::internal::WireFormatLite::
   10278       WriteMessageNoVirtualToArray(
   10279         999, this->uninterpreted_option(i), target);
   10280   }
   10281 
   10282   // Extension range [1000, 536870912)
   10283   target = _extensions_.SerializeWithCachedSizesToArray(
   10284       1000, 536870912, target);
   10285 
   10286   if (_internal_metadata_.have_unknown_fields()) {
   10287     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
   10288         unknown_fields(), target);
   10289   }
   10290   // @@protoc_insertion_point(serialize_to_array_end:google.protobuf.FieldOptions)
   10291   return target;
   10292 }
   10293 
   10294 int FieldOptions::ByteSize() const {
   10295 // @@protoc_insertion_point(message_byte_size_start:google.protobuf.FieldOptions)
   10296   int total_size = 0;
   10297 
   10298   if (_has_bits_[0 / 32] & 63u) {
   10299     // optional .google.protobuf.FieldOptions.CType ctype = 1 [default = STRING];
   10300     if (has_ctype()) {
   10301       total_size += 1 +
   10302         ::google::protobuf::internal::WireFormatLite::EnumSize(this->ctype());
   10303     }
   10304 
   10305     // optional bool packed = 2;
   10306     if (has_packed()) {
   10307       total_size += 1 + 1;
   10308     }
   10309 
   10310     // optional .google.protobuf.FieldOptions.JSType jstype = 6 [default = JS_NORMAL];
   10311     if (has_jstype()) {
   10312       total_size += 1 +
   10313         ::google::protobuf::internal::WireFormatLite::EnumSize(this->jstype());
   10314     }
   10315 
   10316     // optional bool lazy = 5 [default = false];
   10317     if (has_lazy()) {
   10318       total_size += 1 + 1;
   10319     }
   10320 
   10321     // optional bool deprecated = 3 [default = false];
   10322     if (has_deprecated()) {
   10323       total_size += 1 + 1;
   10324     }
   10325 
   10326     // optional bool weak = 10 [default = false];
   10327     if (has_weak()) {
   10328       total_size += 1 + 1;
   10329     }
   10330 
   10331   }
   10332   // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
   10333   total_size += 2 * this->uninterpreted_option_size();
   10334   for (int i = 0; i < this->uninterpreted_option_size(); i++) {
   10335     total_size +=
   10336       ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
   10337         this->uninterpreted_option(i));
   10338   }
   10339 
   10340   total_size += _extensions_.ByteSize();
   10341 
   10342   if (_internal_metadata_.have_unknown_fields()) {
   10343     total_size +=
   10344       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
   10345         unknown_fields());
   10346   }
   10347   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   10348   _cached_size_ = total_size;
   10349   GOOGLE_SAFE_CONCURRENT_WRITES_END();
   10350   return total_size;
   10351 }
   10352 
   10353 void FieldOptions::MergeFrom(const ::google::protobuf::Message& from) {
   10354 // @@protoc_insertion_point(generalized_merge_from_start:google.protobuf.FieldOptions)
   10355   if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
   10356   const FieldOptions* source =
   10357       ::google::protobuf::internal::DynamicCastToGenerated<const FieldOptions>(
   10358           &from);
   10359   if (source == NULL) {
   10360   // @@protoc_insertion_point(generalized_merge_from_cast_fail:google.protobuf.FieldOptions)
   10361     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
   10362   } else {
   10363   // @@protoc_insertion_point(generalized_merge_from_cast_success:google.protobuf.FieldOptions)
   10364     MergeFrom(*source);
   10365   }
   10366 }
   10367 
   10368 void FieldOptions::MergeFrom(const FieldOptions& from) {
   10369 // @@protoc_insertion_point(class_specific_merge_from_start:google.protobuf.FieldOptions)
   10370   if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
   10371   uninterpreted_option_.MergeFrom(from.uninterpreted_option_);
   10372   if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
   10373     if (from.has_ctype()) {
   10374       set_ctype(from.ctype());
   10375     }
   10376     if (from.has_packed()) {
   10377       set_packed(from.packed());
   10378     }
   10379     if (from.has_jstype()) {
   10380       set_jstype(from.jstype());
   10381     }
   10382     if (from.has_lazy()) {
   10383       set_lazy(from.lazy());
   10384     }
   10385     if (from.has_deprecated()) {
   10386       set_deprecated(from.deprecated());
   10387     }
   10388     if (from.has_weak()) {
   10389       set_weak(from.weak());
   10390     }
   10391   }
   10392   _extensions_.MergeFrom(from._extensions_);
   10393   if (from._internal_metadata_.have_unknown_fields()) {
   10394     mutable_unknown_fields()->MergeFrom(from.unknown_fields());
   10395   }
   10396 }
   10397 
   10398 void FieldOptions::CopyFrom(const ::google::protobuf::Message& from) {
   10399 // @@protoc_insertion_point(generalized_copy_from_start:google.protobuf.FieldOptions)
   10400   if (&from == this) return;
   10401   Clear();
   10402   MergeFrom(from);
   10403 }
   10404 
   10405 void FieldOptions::CopyFrom(const FieldOptions& from) {
   10406 // @@protoc_insertion_point(class_specific_copy_from_start:google.protobuf.FieldOptions)
   10407   if (&from == this) return;
   10408   Clear();
   10409   MergeFrom(from);
   10410 }
   10411 
   10412 bool FieldOptions::IsInitialized() const {
   10413 
   10414   if (!::google::protobuf::internal::AllAreInitialized(this->uninterpreted_option())) return false;
   10415 
   10416   if (!_extensions_.IsInitialized()) return false;  return true;
   10417 }
   10418 
   10419 void FieldOptions::Swap(FieldOptions* other) {
   10420   if (other == this) return;
   10421   InternalSwap(other);
   10422 }
   10423 void FieldOptions::InternalSwap(FieldOptions* other) {
   10424   std::swap(ctype_, other->ctype_);
   10425   std::swap(packed_, other->packed_);
   10426   std::swap(jstype_, other->jstype_);
   10427   std::swap(lazy_, other->lazy_);
   10428   std::swap(deprecated_, other->deprecated_);
   10429   std::swap(weak_, other->weak_);
   10430   uninterpreted_option_.UnsafeArenaSwap(&other->uninterpreted_option_);
   10431   std::swap(_has_bits_[0], other->_has_bits_[0]);
   10432   _internal_metadata_.Swap(&other->_internal_metadata_);
   10433   std::swap(_cached_size_, other->_cached_size_);
   10434   _extensions_.Swap(&other->_extensions_);
   10435 }
   10436 
   10437 ::google::protobuf::Metadata FieldOptions::GetMetadata() const {
   10438   protobuf_AssignDescriptorsOnce();
   10439   ::google::protobuf::Metadata metadata;
   10440   metadata.descriptor = FieldOptions_descriptor_;
   10441   metadata.reflection = FieldOptions_reflection_;
   10442   return metadata;
   10443 }
   10444 
   10445 #if PROTOBUF_INLINE_NOT_IN_HEADERS
   10446 // FieldOptions
   10447 
   10448 // optional .google.protobuf.FieldOptions.CType ctype = 1 [default = STRING];
   10449 bool FieldOptions::has_ctype() const {
   10450   return (_has_bits_[0] & 0x00000001u) != 0;
   10451 }
   10452 void FieldOptions::set_has_ctype() {
   10453   _has_bits_[0] |= 0x00000001u;
   10454 }
   10455 void FieldOptions::clear_has_ctype() {
   10456   _has_bits_[0] &= ~0x00000001u;
   10457 }
   10458 void FieldOptions::clear_ctype() {
   10459   ctype_ = 0;
   10460   clear_has_ctype();
   10461 }
   10462  ::google::protobuf::FieldOptions_CType FieldOptions::ctype() const {
   10463   // @@protoc_insertion_point(field_get:google.protobuf.FieldOptions.ctype)
   10464   return static_cast< ::google::protobuf::FieldOptions_CType >(ctype_);
   10465 }
   10466  void FieldOptions::set_ctype(::google::protobuf::FieldOptions_CType value) {
   10467   assert(::google::protobuf::FieldOptions_CType_IsValid(value));
   10468   set_has_ctype();
   10469   ctype_ = value;
   10470   // @@protoc_insertion_point(field_set:google.protobuf.FieldOptions.ctype)
   10471 }
   10472 
   10473 // optional bool packed = 2;
   10474 bool FieldOptions::has_packed() const {
   10475   return (_has_bits_[0] & 0x00000002u) != 0;
   10476 }
   10477 void FieldOptions::set_has_packed() {
   10478   _has_bits_[0] |= 0x00000002u;
   10479 }
   10480 void FieldOptions::clear_has_packed() {
   10481   _has_bits_[0] &= ~0x00000002u;
   10482 }
   10483 void FieldOptions::clear_packed() {
   10484   packed_ = false;
   10485   clear_has_packed();
   10486 }
   10487  bool FieldOptions::packed() const {
   10488   // @@protoc_insertion_point(field_get:google.protobuf.FieldOptions.packed)
   10489   return packed_;
   10490 }
   10491  void FieldOptions::set_packed(bool value) {
   10492   set_has_packed();
   10493   packed_ = value;
   10494   // @@protoc_insertion_point(field_set:google.protobuf.FieldOptions.packed)
   10495 }
   10496 
   10497 // optional .google.protobuf.FieldOptions.JSType jstype = 6 [default = JS_NORMAL];
   10498 bool FieldOptions::has_jstype() const {
   10499   return (_has_bits_[0] & 0x00000004u) != 0;
   10500 }
   10501 void FieldOptions::set_has_jstype() {
   10502   _has_bits_[0] |= 0x00000004u;
   10503 }
   10504 void FieldOptions::clear_has_jstype() {
   10505   _has_bits_[0] &= ~0x00000004u;
   10506 }
   10507 void FieldOptions::clear_jstype() {
   10508   jstype_ = 0;
   10509   clear_has_jstype();
   10510 }
   10511  ::google::protobuf::FieldOptions_JSType FieldOptions::jstype() const {
   10512   // @@protoc_insertion_point(field_get:google.protobuf.FieldOptions.jstype)
   10513   return static_cast< ::google::protobuf::FieldOptions_JSType >(jstype_);
   10514 }
   10515  void FieldOptions::set_jstype(::google::protobuf::FieldOptions_JSType value) {
   10516   assert(::google::protobuf::FieldOptions_JSType_IsValid(value));
   10517   set_has_jstype();
   10518   jstype_ = value;
   10519   // @@protoc_insertion_point(field_set:google.protobuf.FieldOptions.jstype)
   10520 }
   10521 
   10522 // optional bool lazy = 5 [default = false];
   10523 bool FieldOptions::has_lazy() const {
   10524   return (_has_bits_[0] & 0x00000008u) != 0;
   10525 }
   10526 void FieldOptions::set_has_lazy() {
   10527   _has_bits_[0] |= 0x00000008u;
   10528 }
   10529 void FieldOptions::clear_has_lazy() {
   10530   _has_bits_[0] &= ~0x00000008u;
   10531 }
   10532 void FieldOptions::clear_lazy() {
   10533   lazy_ = false;
   10534   clear_has_lazy();
   10535 }
   10536  bool FieldOptions::lazy() const {
   10537   // @@protoc_insertion_point(field_get:google.protobuf.FieldOptions.lazy)
   10538   return lazy_;
   10539 }
   10540  void FieldOptions::set_lazy(bool value) {
   10541   set_has_lazy();
   10542   lazy_ = value;
   10543   // @@protoc_insertion_point(field_set:google.protobuf.FieldOptions.lazy)
   10544 }
   10545 
   10546 // optional bool deprecated = 3 [default = false];
   10547 bool FieldOptions::has_deprecated() const {
   10548   return (_has_bits_[0] & 0x00000010u) != 0;
   10549 }
   10550 void FieldOptions::set_has_deprecated() {
   10551   _has_bits_[0] |= 0x00000010u;
   10552 }
   10553 void FieldOptions::clear_has_deprecated() {
   10554   _has_bits_[0] &= ~0x00000010u;
   10555 }
   10556 void FieldOptions::clear_deprecated() {
   10557   deprecated_ = false;
   10558   clear_has_deprecated();
   10559 }
   10560  bool FieldOptions::deprecated() const {
   10561   // @@protoc_insertion_point(field_get:google.protobuf.FieldOptions.deprecated)
   10562   return deprecated_;
   10563 }
   10564  void FieldOptions::set_deprecated(bool value) {
   10565   set_has_deprecated();
   10566   deprecated_ = value;
   10567   // @@protoc_insertion_point(field_set:google.protobuf.FieldOptions.deprecated)
   10568 }
   10569 
   10570 // optional bool weak = 10 [default = false];
   10571 bool FieldOptions::has_weak() const {
   10572   return (_has_bits_[0] & 0x00000020u) != 0;
   10573 }
   10574 void FieldOptions::set_has_weak() {
   10575   _has_bits_[0] |= 0x00000020u;
   10576 }
   10577 void FieldOptions::clear_has_weak() {
   10578   _has_bits_[0] &= ~0x00000020u;
   10579 }
   10580 void FieldOptions::clear_weak() {
   10581   weak_ = false;
   10582   clear_has_weak();
   10583 }
   10584  bool FieldOptions::weak() const {
   10585   // @@protoc_insertion_point(field_get:google.protobuf.FieldOptions.weak)
   10586   return weak_;
   10587 }
   10588  void FieldOptions::set_weak(bool value) {
   10589   set_has_weak();
   10590   weak_ = value;
   10591   // @@protoc_insertion_point(field_set:google.protobuf.FieldOptions.weak)
   10592 }
   10593 
   10594 // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
   10595 int FieldOptions::uninterpreted_option_size() const {
   10596   return uninterpreted_option_.size();
   10597 }
   10598 void FieldOptions::clear_uninterpreted_option() {
   10599   uninterpreted_option_.Clear();
   10600 }
   10601 const ::google::protobuf::UninterpretedOption& FieldOptions::uninterpreted_option(int index) const {
   10602   // @@protoc_insertion_point(field_get:google.protobuf.FieldOptions.uninterpreted_option)
   10603   return uninterpreted_option_.Get(index);
   10604 }
   10605 ::google::protobuf::UninterpretedOption* FieldOptions::mutable_uninterpreted_option(int index) {
   10606   // @@protoc_insertion_point(field_mutable:google.protobuf.FieldOptions.uninterpreted_option)
   10607   return uninterpreted_option_.Mutable(index);
   10608 }
   10609 ::google::protobuf::UninterpretedOption* FieldOptions::add_uninterpreted_option() {
   10610   // @@protoc_insertion_point(field_add:google.protobuf.FieldOptions.uninterpreted_option)
   10611   return uninterpreted_option_.Add();
   10612 }
   10613 ::google::protobuf::RepeatedPtrField< ::google::protobuf::UninterpretedOption >*
   10614 FieldOptions::mutable_uninterpreted_option() {
   10615   // @@protoc_insertion_point(field_mutable_list:google.protobuf.FieldOptions.uninterpreted_option)
   10616   return &uninterpreted_option_;
   10617 }
   10618 const ::google::protobuf::RepeatedPtrField< ::google::protobuf::UninterpretedOption >&
   10619 FieldOptions::uninterpreted_option() const {
   10620   // @@protoc_insertion_point(field_list:google.protobuf.FieldOptions.uninterpreted_option)
   10621   return uninterpreted_option_;
   10622 }
   10623 
   10624 #endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
   10625 
   10626 // ===================================================================
   10627 
   10628 #if !defined(_MSC_VER) || _MSC_VER >= 1900
   10629 const int EnumOptions::kAllowAliasFieldNumber;
   10630 const int EnumOptions::kDeprecatedFieldNumber;
   10631 const int EnumOptions::kUninterpretedOptionFieldNumber;
   10632 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
   10633 
   10634 EnumOptions::EnumOptions()
   10635   : ::google::protobuf::Message(), _internal_metadata_(NULL) {
   10636   SharedCtor();
   10637   // @@protoc_insertion_point(constructor:google.protobuf.EnumOptions)
   10638 }
   10639 
   10640 void EnumOptions::InitAsDefaultInstance() {
   10641 }
   10642 
   10643 EnumOptions::EnumOptions(const EnumOptions& from)
   10644   : ::google::protobuf::Message(),
   10645     _internal_metadata_(NULL) {
   10646   SharedCtor();
   10647   MergeFrom(from);
   10648   // @@protoc_insertion_point(copy_constructor:google.protobuf.EnumOptions)
   10649 }
   10650 
   10651 void EnumOptions::SharedCtor() {
   10652   _cached_size_ = 0;
   10653   allow_alias_ = false;
   10654   deprecated_ = false;
   10655   ::memset(_has_bits_, 0, sizeof(_has_bits_));
   10656 }
   10657 
   10658 EnumOptions::~EnumOptions() {
   10659   // @@protoc_insertion_point(destructor:google.protobuf.EnumOptions)
   10660   SharedDtor();
   10661 }
   10662 
   10663 void EnumOptions::SharedDtor() {
   10664   if (this != default_instance_) {
   10665   }
   10666 }
   10667 
   10668 void EnumOptions::SetCachedSize(int size) const {
   10669   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   10670   _cached_size_ = size;
   10671   GOOGLE_SAFE_CONCURRENT_WRITES_END();
   10672 }
   10673 const ::google::protobuf::Descriptor* EnumOptions::descriptor() {
   10674   protobuf_AssignDescriptorsOnce();
   10675   return EnumOptions_descriptor_;
   10676 }
   10677 
   10678 const EnumOptions& EnumOptions::default_instance() {
   10679   if (default_instance_ == NULL) protobuf_AddDesc_google_2fprotobuf_2fdescriptor_2eproto();
   10680   return *default_instance_;
   10681 }
   10682 
   10683 EnumOptions* EnumOptions::default_instance_ = NULL;
   10684 
   10685 EnumOptions* EnumOptions::New(::google::protobuf::Arena* arena) const {
   10686   EnumOptions* n = new EnumOptions;
   10687   if (arena != NULL) {
   10688     arena->Own(n);
   10689   }
   10690   return n;
   10691 }
   10692 
   10693 void EnumOptions::Clear() {
   10694 // @@protoc_insertion_point(message_clear_start:google.protobuf.EnumOptions)
   10695   _extensions_.Clear();
   10696 #if defined(__clang__)
   10697 #define ZR_HELPER_(f) \
   10698   _Pragma("clang diagnostic push") \
   10699   _Pragma("clang diagnostic ignored \"-Winvalid-offsetof\"") \
   10700   __builtin_offsetof(EnumOptions, f) \
   10701   _Pragma("clang diagnostic pop")
   10702 #else
   10703 #define ZR_HELPER_(f) reinterpret_cast<char*>(\
   10704   &reinterpret_cast<EnumOptions*>(16)->f)
   10705 #endif
   10706 
   10707 #define ZR_(first, last) do {\
   10708   ::memset(&(first), 0,\
   10709            ZR_HELPER_(last) - ZR_HELPER_(first) + sizeof(last));\
   10710 } while (0)
   10711 
   10712   ZR_(allow_alias_, deprecated_);
   10713 
   10714 #undef ZR_HELPER_
   10715 #undef ZR_
   10716 
   10717   uninterpreted_option_.Clear();
   10718   ::memset(_has_bits_, 0, sizeof(_has_bits_));
   10719   if (_internal_metadata_.have_unknown_fields()) {
   10720     mutable_unknown_fields()->Clear();
   10721   }
   10722 }
   10723 
   10724 bool EnumOptions::MergePartialFromCodedStream(
   10725     ::google::protobuf::io::CodedInputStream* input) {
   10726 #define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
   10727   ::google::protobuf::uint32 tag;
   10728   // @@protoc_insertion_point(parse_start:google.protobuf.EnumOptions)
   10729   for (;;) {
   10730     ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(16383);
   10731     tag = p.first;
   10732     if (!p.second) goto handle_unusual;
   10733     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
   10734       // optional bool allow_alias = 2;
   10735       case 2: {
   10736         if (tag == 16) {
   10737           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
   10738                    bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
   10739                  input, &allow_alias_)));
   10740           set_has_allow_alias();
   10741         } else {
   10742           goto handle_unusual;
   10743         }
   10744         if (input->ExpectTag(24)) goto parse_deprecated;
   10745         break;
   10746       }
   10747 
   10748       // optional bool deprecated = 3 [default = false];
   10749       case 3: {
   10750         if (tag == 24) {
   10751          parse_deprecated:
   10752           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
   10753                    bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
   10754                  input, &deprecated_)));
   10755           set_has_deprecated();
   10756         } else {
   10757           goto handle_unusual;
   10758         }
   10759         if (input->ExpectTag(7994)) goto parse_uninterpreted_option;
   10760         break;
   10761       }
   10762 
   10763       // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
   10764       case 999: {
   10765         if (tag == 7994) {
   10766          parse_uninterpreted_option:
   10767           DO_(input->IncrementRecursionDepth());
   10768          parse_loop_uninterpreted_option:
   10769           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtualNoRecursionDepth(
   10770                 input, add_uninterpreted_option()));
   10771         } else {
   10772           goto handle_unusual;
   10773         }
   10774         if (input->ExpectTag(7994)) goto parse_loop_uninterpreted_option;
   10775         input->UnsafeDecrementRecursionDepth();
   10776         if (input->ExpectAtEnd()) goto success;
   10777         break;
   10778       }
   10779 
   10780       default: {
   10781       handle_unusual:
   10782         if (tag == 0 ||
   10783             ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
   10784             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
   10785           goto success;
   10786         }
   10787         if ((8000u <= tag)) {
   10788           DO_(_extensions_.ParseField(tag, input, default_instance_,
   10789                                       mutable_unknown_fields()));
   10790           continue;
   10791         }
   10792         DO_(::google::protobuf::internal::WireFormat::SkipField(
   10793               input, tag, mutable_unknown_fields()));
   10794         break;
   10795       }
   10796     }
   10797   }
   10798 success:
   10799   // @@protoc_insertion_point(parse_success:google.protobuf.EnumOptions)
   10800   return true;
   10801 failure:
   10802   // @@protoc_insertion_point(parse_failure:google.protobuf.EnumOptions)
   10803   return false;
   10804 #undef DO_
   10805 }
   10806 
   10807 void EnumOptions::SerializeWithCachedSizes(
   10808     ::google::protobuf::io::CodedOutputStream* output) const {
   10809   // @@protoc_insertion_point(serialize_start:google.protobuf.EnumOptions)
   10810   // optional bool allow_alias = 2;
   10811   if (has_allow_alias()) {
   10812     ::google::protobuf::internal::WireFormatLite::WriteBool(2, this->allow_alias(), output);
   10813   }
   10814 
   10815   // optional bool deprecated = 3 [default = false];
   10816   if (has_deprecated()) {
   10817     ::google::protobuf::internal::WireFormatLite::WriteBool(3, this->deprecated(), output);
   10818   }
   10819 
   10820   // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
   10821   for (unsigned int i = 0, n = this->uninterpreted_option_size(); i < n; i++) {
   10822     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
   10823       999, this->uninterpreted_option(i), output);
   10824   }
   10825 
   10826   // Extension range [1000, 536870912)
   10827   _extensions_.SerializeWithCachedSizes(
   10828       1000, 536870912, output);
   10829 
   10830   if (_internal_metadata_.have_unknown_fields()) {
   10831     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
   10832         unknown_fields(), output);
   10833   }
   10834   // @@protoc_insertion_point(serialize_end:google.protobuf.EnumOptions)
   10835 }
   10836 
   10837 ::google::protobuf::uint8* EnumOptions::SerializeWithCachedSizesToArray(
   10838     ::google::protobuf::uint8* target) const {
   10839   // @@protoc_insertion_point(serialize_to_array_start:google.protobuf.EnumOptions)
   10840   // optional bool allow_alias = 2;
   10841   if (has_allow_alias()) {
   10842     target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(2, this->allow_alias(), target);
   10843   }
   10844 
   10845   // optional bool deprecated = 3 [default = false];
   10846   if (has_deprecated()) {
   10847     target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(3, this->deprecated(), target);
   10848   }
   10849 
   10850   // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
   10851   for (unsigned int i = 0, n = this->uninterpreted_option_size(); i < n; i++) {
   10852     target = ::google::protobuf::internal::WireFormatLite::
   10853       WriteMessageNoVirtualToArray(
   10854         999, this->uninterpreted_option(i), target);
   10855   }
   10856 
   10857   // Extension range [1000, 536870912)
   10858   target = _extensions_.SerializeWithCachedSizesToArray(
   10859       1000, 536870912, target);
   10860 
   10861   if (_internal_metadata_.have_unknown_fields()) {
   10862     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
   10863         unknown_fields(), target);
   10864   }
   10865   // @@protoc_insertion_point(serialize_to_array_end:google.protobuf.EnumOptions)
   10866   return target;
   10867 }
   10868 
   10869 int EnumOptions::ByteSize() const {
   10870 // @@protoc_insertion_point(message_byte_size_start:google.protobuf.EnumOptions)
   10871   int total_size = 0;
   10872 
   10873   if (_has_bits_[0 / 32] & 3u) {
   10874     // optional bool allow_alias = 2;
   10875     if (has_allow_alias()) {
   10876       total_size += 1 + 1;
   10877     }
   10878 
   10879     // optional bool deprecated = 3 [default = false];
   10880     if (has_deprecated()) {
   10881       total_size += 1 + 1;
   10882     }
   10883 
   10884   }
   10885   // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
   10886   total_size += 2 * this->uninterpreted_option_size();
   10887   for (int i = 0; i < this->uninterpreted_option_size(); i++) {
   10888     total_size +=
   10889       ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
   10890         this->uninterpreted_option(i));
   10891   }
   10892 
   10893   total_size += _extensions_.ByteSize();
   10894 
   10895   if (_internal_metadata_.have_unknown_fields()) {
   10896     total_size +=
   10897       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
   10898         unknown_fields());
   10899   }
   10900   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   10901   _cached_size_ = total_size;
   10902   GOOGLE_SAFE_CONCURRENT_WRITES_END();
   10903   return total_size;
   10904 }
   10905 
   10906 void EnumOptions::MergeFrom(const ::google::protobuf::Message& from) {
   10907 // @@protoc_insertion_point(generalized_merge_from_start:google.protobuf.EnumOptions)
   10908   if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
   10909   const EnumOptions* source =
   10910       ::google::protobuf::internal::DynamicCastToGenerated<const EnumOptions>(
   10911           &from);
   10912   if (source == NULL) {
   10913   // @@protoc_insertion_point(generalized_merge_from_cast_fail:google.protobuf.EnumOptions)
   10914     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
   10915   } else {
   10916   // @@protoc_insertion_point(generalized_merge_from_cast_success:google.protobuf.EnumOptions)
   10917     MergeFrom(*source);
   10918   }
   10919 }
   10920 
   10921 void EnumOptions::MergeFrom(const EnumOptions& from) {
   10922 // @@protoc_insertion_point(class_specific_merge_from_start:google.protobuf.EnumOptions)
   10923   if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
   10924   uninterpreted_option_.MergeFrom(from.uninterpreted_option_);
   10925   if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
   10926     if (from.has_allow_alias()) {
   10927       set_allow_alias(from.allow_alias());
   10928     }
   10929     if (from.has_deprecated()) {
   10930       set_deprecated(from.deprecated());
   10931     }
   10932   }
   10933   _extensions_.MergeFrom(from._extensions_);
   10934   if (from._internal_metadata_.have_unknown_fields()) {
   10935     mutable_unknown_fields()->MergeFrom(from.unknown_fields());
   10936   }
   10937 }
   10938 
   10939 void EnumOptions::CopyFrom(const ::google::protobuf::Message& from) {
   10940 // @@protoc_insertion_point(generalized_copy_from_start:google.protobuf.EnumOptions)
   10941   if (&from == this) return;
   10942   Clear();
   10943   MergeFrom(from);
   10944 }
   10945 
   10946 void EnumOptions::CopyFrom(const EnumOptions& from) {
   10947 // @@protoc_insertion_point(class_specific_copy_from_start:google.protobuf.EnumOptions)
   10948   if (&from == this) return;
   10949   Clear();
   10950   MergeFrom(from);
   10951 }
   10952 
   10953 bool EnumOptions::IsInitialized() const {
   10954 
   10955   if (!::google::protobuf::internal::AllAreInitialized(this->uninterpreted_option())) return false;
   10956 
   10957   if (!_extensions_.IsInitialized()) return false;  return true;
   10958 }
   10959 
   10960 void EnumOptions::Swap(EnumOptions* other) {
   10961   if (other == this) return;
   10962   InternalSwap(other);
   10963 }
   10964 void EnumOptions::InternalSwap(EnumOptions* other) {
   10965   std::swap(allow_alias_, other->allow_alias_);
   10966   std::swap(deprecated_, other->deprecated_);
   10967   uninterpreted_option_.UnsafeArenaSwap(&other->uninterpreted_option_);
   10968   std::swap(_has_bits_[0], other->_has_bits_[0]);
   10969   _internal_metadata_.Swap(&other->_internal_metadata_);
   10970   std::swap(_cached_size_, other->_cached_size_);
   10971   _extensions_.Swap(&other->_extensions_);
   10972 }
   10973 
   10974 ::google::protobuf::Metadata EnumOptions::GetMetadata() const {
   10975   protobuf_AssignDescriptorsOnce();
   10976   ::google::protobuf::Metadata metadata;
   10977   metadata.descriptor = EnumOptions_descriptor_;
   10978   metadata.reflection = EnumOptions_reflection_;
   10979   return metadata;
   10980 }
   10981 
   10982 #if PROTOBUF_INLINE_NOT_IN_HEADERS
   10983 // EnumOptions
   10984 
   10985 // optional bool allow_alias = 2;
   10986 bool EnumOptions::has_allow_alias() const {
   10987   return (_has_bits_[0] & 0x00000001u) != 0;
   10988 }
   10989 void EnumOptions::set_has_allow_alias() {
   10990   _has_bits_[0] |= 0x00000001u;
   10991 }
   10992 void EnumOptions::clear_has_allow_alias() {
   10993   _has_bits_[0] &= ~0x00000001u;
   10994 }
   10995 void EnumOptions::clear_allow_alias() {
   10996   allow_alias_ = false;
   10997   clear_has_allow_alias();
   10998 }
   10999  bool EnumOptions::allow_alias() const {
   11000   // @@protoc_insertion_point(field_get:google.protobuf.EnumOptions.allow_alias)
   11001   return allow_alias_;
   11002 }
   11003  void EnumOptions::set_allow_alias(bool value) {
   11004   set_has_allow_alias();
   11005   allow_alias_ = value;
   11006   // @@protoc_insertion_point(field_set:google.protobuf.EnumOptions.allow_alias)
   11007 }
   11008 
   11009 // optional bool deprecated = 3 [default = false];
   11010 bool EnumOptions::has_deprecated() const {
   11011   return (_has_bits_[0] & 0x00000002u) != 0;
   11012 }
   11013 void EnumOptions::set_has_deprecated() {
   11014   _has_bits_[0] |= 0x00000002u;
   11015 }
   11016 void EnumOptions::clear_has_deprecated() {
   11017   _has_bits_[0] &= ~0x00000002u;
   11018 }
   11019 void EnumOptions::clear_deprecated() {
   11020   deprecated_ = false;
   11021   clear_has_deprecated();
   11022 }
   11023  bool EnumOptions::deprecated() const {
   11024   // @@protoc_insertion_point(field_get:google.protobuf.EnumOptions.deprecated)
   11025   return deprecated_;
   11026 }
   11027  void EnumOptions::set_deprecated(bool value) {
   11028   set_has_deprecated();
   11029   deprecated_ = value;
   11030   // @@protoc_insertion_point(field_set:google.protobuf.EnumOptions.deprecated)
   11031 }
   11032 
   11033 // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
   11034 int EnumOptions::uninterpreted_option_size() const {
   11035   return uninterpreted_option_.size();
   11036 }
   11037 void EnumOptions::clear_uninterpreted_option() {
   11038   uninterpreted_option_.Clear();
   11039 }
   11040 const ::google::protobuf::UninterpretedOption& EnumOptions::uninterpreted_option(int index) const {
   11041   // @@protoc_insertion_point(field_get:google.protobuf.EnumOptions.uninterpreted_option)
   11042   return uninterpreted_option_.Get(index);
   11043 }
   11044 ::google::protobuf::UninterpretedOption* EnumOptions::mutable_uninterpreted_option(int index) {
   11045   // @@protoc_insertion_point(field_mutable:google.protobuf.EnumOptions.uninterpreted_option)
   11046   return uninterpreted_option_.Mutable(index);
   11047 }
   11048 ::google::protobuf::UninterpretedOption* EnumOptions::add_uninterpreted_option() {
   11049   // @@protoc_insertion_point(field_add:google.protobuf.EnumOptions.uninterpreted_option)
   11050   return uninterpreted_option_.Add();
   11051 }
   11052 ::google::protobuf::RepeatedPtrField< ::google::protobuf::UninterpretedOption >*
   11053 EnumOptions::mutable_uninterpreted_option() {
   11054   // @@protoc_insertion_point(field_mutable_list:google.protobuf.EnumOptions.uninterpreted_option)
   11055   return &uninterpreted_option_;
   11056 }
   11057 const ::google::protobuf::RepeatedPtrField< ::google::protobuf::UninterpretedOption >&
   11058 EnumOptions::uninterpreted_option() const {
   11059   // @@protoc_insertion_point(field_list:google.protobuf.EnumOptions.uninterpreted_option)
   11060   return uninterpreted_option_;
   11061 }
   11062 
   11063 #endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
   11064 
   11065 // ===================================================================
   11066 
   11067 #if !defined(_MSC_VER) || _MSC_VER >= 1900
   11068 const int EnumValueOptions::kDeprecatedFieldNumber;
   11069 const int EnumValueOptions::kUninterpretedOptionFieldNumber;
   11070 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
   11071 
   11072 EnumValueOptions::EnumValueOptions()
   11073   : ::google::protobuf::Message(), _internal_metadata_(NULL) {
   11074   SharedCtor();
   11075   // @@protoc_insertion_point(constructor:google.protobuf.EnumValueOptions)
   11076 }
   11077 
   11078 void EnumValueOptions::InitAsDefaultInstance() {
   11079 }
   11080 
   11081 EnumValueOptions::EnumValueOptions(const EnumValueOptions& from)
   11082   : ::google::protobuf::Message(),
   11083     _internal_metadata_(NULL) {
   11084   SharedCtor();
   11085   MergeFrom(from);
   11086   // @@protoc_insertion_point(copy_constructor:google.protobuf.EnumValueOptions)
   11087 }
   11088 
   11089 void EnumValueOptions::SharedCtor() {
   11090   _cached_size_ = 0;
   11091   deprecated_ = false;
   11092   ::memset(_has_bits_, 0, sizeof(_has_bits_));
   11093 }
   11094 
   11095 EnumValueOptions::~EnumValueOptions() {
   11096   // @@protoc_insertion_point(destructor:google.protobuf.EnumValueOptions)
   11097   SharedDtor();
   11098 }
   11099 
   11100 void EnumValueOptions::SharedDtor() {
   11101   if (this != default_instance_) {
   11102   }
   11103 }
   11104 
   11105 void EnumValueOptions::SetCachedSize(int size) const {
   11106   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   11107   _cached_size_ = size;
   11108   GOOGLE_SAFE_CONCURRENT_WRITES_END();
   11109 }
   11110 const ::google::protobuf::Descriptor* EnumValueOptions::descriptor() {
   11111   protobuf_AssignDescriptorsOnce();
   11112   return EnumValueOptions_descriptor_;
   11113 }
   11114 
   11115 const EnumValueOptions& EnumValueOptions::default_instance() {
   11116   if (default_instance_ == NULL) protobuf_AddDesc_google_2fprotobuf_2fdescriptor_2eproto();
   11117   return *default_instance_;
   11118 }
   11119 
   11120 EnumValueOptions* EnumValueOptions::default_instance_ = NULL;
   11121 
   11122 EnumValueOptions* EnumValueOptions::New(::google::protobuf::Arena* arena) const {
   11123   EnumValueOptions* n = new EnumValueOptions;
   11124   if (arena != NULL) {
   11125     arena->Own(n);
   11126   }
   11127   return n;
   11128 }
   11129 
   11130 void EnumValueOptions::Clear() {
   11131 // @@protoc_insertion_point(message_clear_start:google.protobuf.EnumValueOptions)
   11132   _extensions_.Clear();
   11133   deprecated_ = false;
   11134   uninterpreted_option_.Clear();
   11135   ::memset(_has_bits_, 0, sizeof(_has_bits_));
   11136   if (_internal_metadata_.have_unknown_fields()) {
   11137     mutable_unknown_fields()->Clear();
   11138   }
   11139 }
   11140 
   11141 bool EnumValueOptions::MergePartialFromCodedStream(
   11142     ::google::protobuf::io::CodedInputStream* input) {
   11143 #define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
   11144   ::google::protobuf::uint32 tag;
   11145   // @@protoc_insertion_point(parse_start:google.protobuf.EnumValueOptions)
   11146   for (;;) {
   11147     ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(16383);
   11148     tag = p.first;
   11149     if (!p.second) goto handle_unusual;
   11150     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
   11151       // optional bool deprecated = 1 [default = false];
   11152       case 1: {
   11153         if (tag == 8) {
   11154           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
   11155                    bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
   11156                  input, &deprecated_)));
   11157           set_has_deprecated();
   11158         } else {
   11159           goto handle_unusual;
   11160         }
   11161         if (input->ExpectTag(7994)) goto parse_uninterpreted_option;
   11162         break;
   11163       }
   11164 
   11165       // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
   11166       case 999: {
   11167         if (tag == 7994) {
   11168          parse_uninterpreted_option:
   11169           DO_(input->IncrementRecursionDepth());
   11170          parse_loop_uninterpreted_option:
   11171           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtualNoRecursionDepth(
   11172                 input, add_uninterpreted_option()));
   11173         } else {
   11174           goto handle_unusual;
   11175         }
   11176         if (input->ExpectTag(7994)) goto parse_loop_uninterpreted_option;
   11177         input->UnsafeDecrementRecursionDepth();
   11178         if (input->ExpectAtEnd()) goto success;
   11179         break;
   11180       }
   11181 
   11182       default: {
   11183       handle_unusual:
   11184         if (tag == 0 ||
   11185             ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
   11186             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
   11187           goto success;
   11188         }
   11189         if ((8000u <= tag)) {
   11190           DO_(_extensions_.ParseField(tag, input, default_instance_,
   11191                                       mutable_unknown_fields()));
   11192           continue;
   11193         }
   11194         DO_(::google::protobuf::internal::WireFormat::SkipField(
   11195               input, tag, mutable_unknown_fields()));
   11196         break;
   11197       }
   11198     }
   11199   }
   11200 success:
   11201   // @@protoc_insertion_point(parse_success:google.protobuf.EnumValueOptions)
   11202   return true;
   11203 failure:
   11204   // @@protoc_insertion_point(parse_failure:google.protobuf.EnumValueOptions)
   11205   return false;
   11206 #undef DO_
   11207 }
   11208 
   11209 void EnumValueOptions::SerializeWithCachedSizes(
   11210     ::google::protobuf::io::CodedOutputStream* output) const {
   11211   // @@protoc_insertion_point(serialize_start:google.protobuf.EnumValueOptions)
   11212   // optional bool deprecated = 1 [default = false];
   11213   if (has_deprecated()) {
   11214     ::google::protobuf::internal::WireFormatLite::WriteBool(1, this->deprecated(), output);
   11215   }
   11216 
   11217   // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
   11218   for (unsigned int i = 0, n = this->uninterpreted_option_size(); i < n; i++) {
   11219     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
   11220       999, this->uninterpreted_option(i), output);
   11221   }
   11222 
   11223   // Extension range [1000, 536870912)
   11224   _extensions_.SerializeWithCachedSizes(
   11225       1000, 536870912, output);
   11226 
   11227   if (_internal_metadata_.have_unknown_fields()) {
   11228     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
   11229         unknown_fields(), output);
   11230   }
   11231   // @@protoc_insertion_point(serialize_end:google.protobuf.EnumValueOptions)
   11232 }
   11233 
   11234 ::google::protobuf::uint8* EnumValueOptions::SerializeWithCachedSizesToArray(
   11235     ::google::protobuf::uint8* target) const {
   11236   // @@protoc_insertion_point(serialize_to_array_start:google.protobuf.EnumValueOptions)
   11237   // optional bool deprecated = 1 [default = false];
   11238   if (has_deprecated()) {
   11239     target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(1, this->deprecated(), target);
   11240   }
   11241 
   11242   // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
   11243   for (unsigned int i = 0, n = this->uninterpreted_option_size(); i < n; i++) {
   11244     target = ::google::protobuf::internal::WireFormatLite::
   11245       WriteMessageNoVirtualToArray(
   11246         999, this->uninterpreted_option(i), target);
   11247   }
   11248 
   11249   // Extension range [1000, 536870912)
   11250   target = _extensions_.SerializeWithCachedSizesToArray(
   11251       1000, 536870912, target);
   11252 
   11253   if (_internal_metadata_.have_unknown_fields()) {
   11254     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
   11255         unknown_fields(), target);
   11256   }
   11257   // @@protoc_insertion_point(serialize_to_array_end:google.protobuf.EnumValueOptions)
   11258   return target;
   11259 }
   11260 
   11261 int EnumValueOptions::ByteSize() const {
   11262 // @@protoc_insertion_point(message_byte_size_start:google.protobuf.EnumValueOptions)
   11263   int total_size = 0;
   11264 
   11265   // optional bool deprecated = 1 [default = false];
   11266   if (has_deprecated()) {
   11267     total_size += 1 + 1;
   11268   }
   11269 
   11270   // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
   11271   total_size += 2 * this->uninterpreted_option_size();
   11272   for (int i = 0; i < this->uninterpreted_option_size(); i++) {
   11273     total_size +=
   11274       ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
   11275         this->uninterpreted_option(i));
   11276   }
   11277 
   11278   total_size += _extensions_.ByteSize();
   11279 
   11280   if (_internal_metadata_.have_unknown_fields()) {
   11281     total_size +=
   11282       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
   11283         unknown_fields());
   11284   }
   11285   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   11286   _cached_size_ = total_size;
   11287   GOOGLE_SAFE_CONCURRENT_WRITES_END();
   11288   return total_size;
   11289 }
   11290 
   11291 void EnumValueOptions::MergeFrom(const ::google::protobuf::Message& from) {
   11292 // @@protoc_insertion_point(generalized_merge_from_start:google.protobuf.EnumValueOptions)
   11293   if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
   11294   const EnumValueOptions* source =
   11295       ::google::protobuf::internal::DynamicCastToGenerated<const EnumValueOptions>(
   11296           &from);
   11297   if (source == NULL) {
   11298   // @@protoc_insertion_point(generalized_merge_from_cast_fail:google.protobuf.EnumValueOptions)
   11299     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
   11300   } else {
   11301   // @@protoc_insertion_point(generalized_merge_from_cast_success:google.protobuf.EnumValueOptions)
   11302     MergeFrom(*source);
   11303   }
   11304 }
   11305 
   11306 void EnumValueOptions::MergeFrom(const EnumValueOptions& from) {
   11307 // @@protoc_insertion_point(class_specific_merge_from_start:google.protobuf.EnumValueOptions)
   11308   if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
   11309   uninterpreted_option_.MergeFrom(from.uninterpreted_option_);
   11310   if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
   11311     if (from.has_deprecated()) {
   11312       set_deprecated(from.deprecated());
   11313     }
   11314   }
   11315   _extensions_.MergeFrom(from._extensions_);
   11316   if (from._internal_metadata_.have_unknown_fields()) {
   11317     mutable_unknown_fields()->MergeFrom(from.unknown_fields());
   11318   }
   11319 }
   11320 
   11321 void EnumValueOptions::CopyFrom(const ::google::protobuf::Message& from) {
   11322 // @@protoc_insertion_point(generalized_copy_from_start:google.protobuf.EnumValueOptions)
   11323   if (&from == this) return;
   11324   Clear();
   11325   MergeFrom(from);
   11326 }
   11327 
   11328 void EnumValueOptions::CopyFrom(const EnumValueOptions& from) {
   11329 // @@protoc_insertion_point(class_specific_copy_from_start:google.protobuf.EnumValueOptions)
   11330   if (&from == this) return;
   11331   Clear();
   11332   MergeFrom(from);
   11333 }
   11334 
   11335 bool EnumValueOptions::IsInitialized() const {
   11336 
   11337   if (!::google::protobuf::internal::AllAreInitialized(this->uninterpreted_option())) return false;
   11338 
   11339   if (!_extensions_.IsInitialized()) return false;  return true;
   11340 }
   11341 
   11342 void EnumValueOptions::Swap(EnumValueOptions* other) {
   11343   if (other == this) return;
   11344   InternalSwap(other);
   11345 }
   11346 void EnumValueOptions::InternalSwap(EnumValueOptions* other) {
   11347   std::swap(deprecated_, other->deprecated_);
   11348   uninterpreted_option_.UnsafeArenaSwap(&other->uninterpreted_option_);
   11349   std::swap(_has_bits_[0], other->_has_bits_[0]);
   11350   _internal_metadata_.Swap(&other->_internal_metadata_);
   11351   std::swap(_cached_size_, other->_cached_size_);
   11352   _extensions_.Swap(&other->_extensions_);
   11353 }
   11354 
   11355 ::google::protobuf::Metadata EnumValueOptions::GetMetadata() const {
   11356   protobuf_AssignDescriptorsOnce();
   11357   ::google::protobuf::Metadata metadata;
   11358   metadata.descriptor = EnumValueOptions_descriptor_;
   11359   metadata.reflection = EnumValueOptions_reflection_;
   11360   return metadata;
   11361 }
   11362 
   11363 #if PROTOBUF_INLINE_NOT_IN_HEADERS
   11364 // EnumValueOptions
   11365 
   11366 // optional bool deprecated = 1 [default = false];
   11367 bool EnumValueOptions::has_deprecated() const {
   11368   return (_has_bits_[0] & 0x00000001u) != 0;
   11369 }
   11370 void EnumValueOptions::set_has_deprecated() {
   11371   _has_bits_[0] |= 0x00000001u;
   11372 }
   11373 void EnumValueOptions::clear_has_deprecated() {
   11374   _has_bits_[0] &= ~0x00000001u;
   11375 }
   11376 void EnumValueOptions::clear_deprecated() {
   11377   deprecated_ = false;
   11378   clear_has_deprecated();
   11379 }
   11380  bool EnumValueOptions::deprecated() const {
   11381   // @@protoc_insertion_point(field_get:google.protobuf.EnumValueOptions.deprecated)
   11382   return deprecated_;
   11383 }
   11384  void EnumValueOptions::set_deprecated(bool value) {
   11385   set_has_deprecated();
   11386   deprecated_ = value;
   11387   // @@protoc_insertion_point(field_set:google.protobuf.EnumValueOptions.deprecated)
   11388 }
   11389 
   11390 // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
   11391 int EnumValueOptions::uninterpreted_option_size() const {
   11392   return uninterpreted_option_.size();
   11393 }
   11394 void EnumValueOptions::clear_uninterpreted_option() {
   11395   uninterpreted_option_.Clear();
   11396 }
   11397 const ::google::protobuf::UninterpretedOption& EnumValueOptions::uninterpreted_option(int index) const {
   11398   // @@protoc_insertion_point(field_get:google.protobuf.EnumValueOptions.uninterpreted_option)
   11399   return uninterpreted_option_.Get(index);
   11400 }
   11401 ::google::protobuf::UninterpretedOption* EnumValueOptions::mutable_uninterpreted_option(int index) {
   11402   // @@protoc_insertion_point(field_mutable:google.protobuf.EnumValueOptions.uninterpreted_option)
   11403   return uninterpreted_option_.Mutable(index);
   11404 }
   11405 ::google::protobuf::UninterpretedOption* EnumValueOptions::add_uninterpreted_option() {
   11406   // @@protoc_insertion_point(field_add:google.protobuf.EnumValueOptions.uninterpreted_option)
   11407   return uninterpreted_option_.Add();
   11408 }
   11409 ::google::protobuf::RepeatedPtrField< ::google::protobuf::UninterpretedOption >*
   11410 EnumValueOptions::mutable_uninterpreted_option() {
   11411   // @@protoc_insertion_point(field_mutable_list:google.protobuf.EnumValueOptions.uninterpreted_option)
   11412   return &uninterpreted_option_;
   11413 }
   11414 const ::google::protobuf::RepeatedPtrField< ::google::protobuf::UninterpretedOption >&
   11415 EnumValueOptions::uninterpreted_option() const {
   11416   // @@protoc_insertion_point(field_list:google.protobuf.EnumValueOptions.uninterpreted_option)
   11417   return uninterpreted_option_;
   11418 }
   11419 
   11420 #endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
   11421 
   11422 // ===================================================================
   11423 
   11424 #if !defined(_MSC_VER) || _MSC_VER >= 1900
   11425 const int ServiceOptions::kDeprecatedFieldNumber;
   11426 const int ServiceOptions::kUninterpretedOptionFieldNumber;
   11427 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
   11428 
   11429 ServiceOptions::ServiceOptions()
   11430   : ::google::protobuf::Message(), _internal_metadata_(NULL) {
   11431   SharedCtor();
   11432   // @@protoc_insertion_point(constructor:google.protobuf.ServiceOptions)
   11433 }
   11434 
   11435 void ServiceOptions::InitAsDefaultInstance() {
   11436 }
   11437 
   11438 ServiceOptions::ServiceOptions(const ServiceOptions& from)
   11439   : ::google::protobuf::Message(),
   11440     _internal_metadata_(NULL) {
   11441   SharedCtor();
   11442   MergeFrom(from);
   11443   // @@protoc_insertion_point(copy_constructor:google.protobuf.ServiceOptions)
   11444 }
   11445 
   11446 void ServiceOptions::SharedCtor() {
   11447   _cached_size_ = 0;
   11448   deprecated_ = false;
   11449   ::memset(_has_bits_, 0, sizeof(_has_bits_));
   11450 }
   11451 
   11452 ServiceOptions::~ServiceOptions() {
   11453   // @@protoc_insertion_point(destructor:google.protobuf.ServiceOptions)
   11454   SharedDtor();
   11455 }
   11456 
   11457 void ServiceOptions::SharedDtor() {
   11458   if (this != default_instance_) {
   11459   }
   11460 }
   11461 
   11462 void ServiceOptions::SetCachedSize(int size) const {
   11463   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   11464   _cached_size_ = size;
   11465   GOOGLE_SAFE_CONCURRENT_WRITES_END();
   11466 }
   11467 const ::google::protobuf::Descriptor* ServiceOptions::descriptor() {
   11468   protobuf_AssignDescriptorsOnce();
   11469   return ServiceOptions_descriptor_;
   11470 }
   11471 
   11472 const ServiceOptions& ServiceOptions::default_instance() {
   11473   if (default_instance_ == NULL) protobuf_AddDesc_google_2fprotobuf_2fdescriptor_2eproto();
   11474   return *default_instance_;
   11475 }
   11476 
   11477 ServiceOptions* ServiceOptions::default_instance_ = NULL;
   11478 
   11479 ServiceOptions* ServiceOptions::New(::google::protobuf::Arena* arena) const {
   11480   ServiceOptions* n = new ServiceOptions;
   11481   if (arena != NULL) {
   11482     arena->Own(n);
   11483   }
   11484   return n;
   11485 }
   11486 
   11487 void ServiceOptions::Clear() {
   11488 // @@protoc_insertion_point(message_clear_start:google.protobuf.ServiceOptions)
   11489   _extensions_.Clear();
   11490   deprecated_ = false;
   11491   uninterpreted_option_.Clear();
   11492   ::memset(_has_bits_, 0, sizeof(_has_bits_));
   11493   if (_internal_metadata_.have_unknown_fields()) {
   11494     mutable_unknown_fields()->Clear();
   11495   }
   11496 }
   11497 
   11498 bool ServiceOptions::MergePartialFromCodedStream(
   11499     ::google::protobuf::io::CodedInputStream* input) {
   11500 #define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
   11501   ::google::protobuf::uint32 tag;
   11502   // @@protoc_insertion_point(parse_start:google.protobuf.ServiceOptions)
   11503   for (;;) {
   11504     ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(16383);
   11505     tag = p.first;
   11506     if (!p.second) goto handle_unusual;
   11507     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
   11508       // optional bool deprecated = 33 [default = false];
   11509       case 33: {
   11510         if (tag == 264) {
   11511           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
   11512                    bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
   11513                  input, &deprecated_)));
   11514           set_has_deprecated();
   11515         } else {
   11516           goto handle_unusual;
   11517         }
   11518         if (input->ExpectTag(7994)) goto parse_uninterpreted_option;
   11519         break;
   11520       }
   11521 
   11522       // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
   11523       case 999: {
   11524         if (tag == 7994) {
   11525          parse_uninterpreted_option:
   11526           DO_(input->IncrementRecursionDepth());
   11527          parse_loop_uninterpreted_option:
   11528           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtualNoRecursionDepth(
   11529                 input, add_uninterpreted_option()));
   11530         } else {
   11531           goto handle_unusual;
   11532         }
   11533         if (input->ExpectTag(7994)) goto parse_loop_uninterpreted_option;
   11534         input->UnsafeDecrementRecursionDepth();
   11535         if (input->ExpectAtEnd()) goto success;
   11536         break;
   11537       }
   11538 
   11539       default: {
   11540       handle_unusual:
   11541         if (tag == 0 ||
   11542             ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
   11543             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
   11544           goto success;
   11545         }
   11546         if ((8000u <= tag)) {
   11547           DO_(_extensions_.ParseField(tag, input, default_instance_,
   11548                                       mutable_unknown_fields()));
   11549           continue;
   11550         }
   11551         DO_(::google::protobuf::internal::WireFormat::SkipField(
   11552               input, tag, mutable_unknown_fields()));
   11553         break;
   11554       }
   11555     }
   11556   }
   11557 success:
   11558   // @@protoc_insertion_point(parse_success:google.protobuf.ServiceOptions)
   11559   return true;
   11560 failure:
   11561   // @@protoc_insertion_point(parse_failure:google.protobuf.ServiceOptions)
   11562   return false;
   11563 #undef DO_
   11564 }
   11565 
   11566 void ServiceOptions::SerializeWithCachedSizes(
   11567     ::google::protobuf::io::CodedOutputStream* output) const {
   11568   // @@protoc_insertion_point(serialize_start:google.protobuf.ServiceOptions)
   11569   // optional bool deprecated = 33 [default = false];
   11570   if (has_deprecated()) {
   11571     ::google::protobuf::internal::WireFormatLite::WriteBool(33, this->deprecated(), output);
   11572   }
   11573 
   11574   // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
   11575   for (unsigned int i = 0, n = this->uninterpreted_option_size(); i < n; i++) {
   11576     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
   11577       999, this->uninterpreted_option(i), output);
   11578   }
   11579 
   11580   // Extension range [1000, 536870912)
   11581   _extensions_.SerializeWithCachedSizes(
   11582       1000, 536870912, output);
   11583 
   11584   if (_internal_metadata_.have_unknown_fields()) {
   11585     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
   11586         unknown_fields(), output);
   11587   }
   11588   // @@protoc_insertion_point(serialize_end:google.protobuf.ServiceOptions)
   11589 }
   11590 
   11591 ::google::protobuf::uint8* ServiceOptions::SerializeWithCachedSizesToArray(
   11592     ::google::protobuf::uint8* target) const {
   11593   // @@protoc_insertion_point(serialize_to_array_start:google.protobuf.ServiceOptions)
   11594   // optional bool deprecated = 33 [default = false];
   11595   if (has_deprecated()) {
   11596     target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(33, this->deprecated(), target);
   11597   }
   11598 
   11599   // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
   11600   for (unsigned int i = 0, n = this->uninterpreted_option_size(); i < n; i++) {
   11601     target = ::google::protobuf::internal::WireFormatLite::
   11602       WriteMessageNoVirtualToArray(
   11603         999, this->uninterpreted_option(i), target);
   11604   }
   11605 
   11606   // Extension range [1000, 536870912)
   11607   target = _extensions_.SerializeWithCachedSizesToArray(
   11608       1000, 536870912, target);
   11609 
   11610   if (_internal_metadata_.have_unknown_fields()) {
   11611     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
   11612         unknown_fields(), target);
   11613   }
   11614   // @@protoc_insertion_point(serialize_to_array_end:google.protobuf.ServiceOptions)
   11615   return target;
   11616 }
   11617 
   11618 int ServiceOptions::ByteSize() const {
   11619 // @@protoc_insertion_point(message_byte_size_start:google.protobuf.ServiceOptions)
   11620   int total_size = 0;
   11621 
   11622   // optional bool deprecated = 33 [default = false];
   11623   if (has_deprecated()) {
   11624     total_size += 2 + 1;
   11625   }
   11626 
   11627   // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
   11628   total_size += 2 * this->uninterpreted_option_size();
   11629   for (int i = 0; i < this->uninterpreted_option_size(); i++) {
   11630     total_size +=
   11631       ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
   11632         this->uninterpreted_option(i));
   11633   }
   11634 
   11635   total_size += _extensions_.ByteSize();
   11636 
   11637   if (_internal_metadata_.have_unknown_fields()) {
   11638     total_size +=
   11639       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
   11640         unknown_fields());
   11641   }
   11642   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   11643   _cached_size_ = total_size;
   11644   GOOGLE_SAFE_CONCURRENT_WRITES_END();
   11645   return total_size;
   11646 }
   11647 
   11648 void ServiceOptions::MergeFrom(const ::google::protobuf::Message& from) {
   11649 // @@protoc_insertion_point(generalized_merge_from_start:google.protobuf.ServiceOptions)
   11650   if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
   11651   const ServiceOptions* source =
   11652       ::google::protobuf::internal::DynamicCastToGenerated<const ServiceOptions>(
   11653           &from);
   11654   if (source == NULL) {
   11655   // @@protoc_insertion_point(generalized_merge_from_cast_fail:google.protobuf.ServiceOptions)
   11656     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
   11657   } else {
   11658   // @@protoc_insertion_point(generalized_merge_from_cast_success:google.protobuf.ServiceOptions)
   11659     MergeFrom(*source);
   11660   }
   11661 }
   11662 
   11663 void ServiceOptions::MergeFrom(const ServiceOptions& from) {
   11664 // @@protoc_insertion_point(class_specific_merge_from_start:google.protobuf.ServiceOptions)
   11665   if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
   11666   uninterpreted_option_.MergeFrom(from.uninterpreted_option_);
   11667   if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
   11668     if (from.has_deprecated()) {
   11669       set_deprecated(from.deprecated());
   11670     }
   11671   }
   11672   _extensions_.MergeFrom(from._extensions_);
   11673   if (from._internal_metadata_.have_unknown_fields()) {
   11674     mutable_unknown_fields()->MergeFrom(from.unknown_fields());
   11675   }
   11676 }
   11677 
   11678 void ServiceOptions::CopyFrom(const ::google::protobuf::Message& from) {
   11679 // @@protoc_insertion_point(generalized_copy_from_start:google.protobuf.ServiceOptions)
   11680   if (&from == this) return;
   11681   Clear();
   11682   MergeFrom(from);
   11683 }
   11684 
   11685 void ServiceOptions::CopyFrom(const ServiceOptions& from) {
   11686 // @@protoc_insertion_point(class_specific_copy_from_start:google.protobuf.ServiceOptions)
   11687   if (&from == this) return;
   11688   Clear();
   11689   MergeFrom(from);
   11690 }
   11691 
   11692 bool ServiceOptions::IsInitialized() const {
   11693 
   11694   if (!::google::protobuf::internal::AllAreInitialized(this->uninterpreted_option())) return false;
   11695 
   11696   if (!_extensions_.IsInitialized()) return false;  return true;
   11697 }
   11698 
   11699 void ServiceOptions::Swap(ServiceOptions* other) {
   11700   if (other == this) return;
   11701   InternalSwap(other);
   11702 }
   11703 void ServiceOptions::InternalSwap(ServiceOptions* other) {
   11704   std::swap(deprecated_, other->deprecated_);
   11705   uninterpreted_option_.UnsafeArenaSwap(&other->uninterpreted_option_);
   11706   std::swap(_has_bits_[0], other->_has_bits_[0]);
   11707   _internal_metadata_.Swap(&other->_internal_metadata_);
   11708   std::swap(_cached_size_, other->_cached_size_);
   11709   _extensions_.Swap(&other->_extensions_);
   11710 }
   11711 
   11712 ::google::protobuf::Metadata ServiceOptions::GetMetadata() const {
   11713   protobuf_AssignDescriptorsOnce();
   11714   ::google::protobuf::Metadata metadata;
   11715   metadata.descriptor = ServiceOptions_descriptor_;
   11716   metadata.reflection = ServiceOptions_reflection_;
   11717   return metadata;
   11718 }
   11719 
   11720 #if PROTOBUF_INLINE_NOT_IN_HEADERS
   11721 // ServiceOptions
   11722 
   11723 // optional bool deprecated = 33 [default = false];
   11724 bool ServiceOptions::has_deprecated() const {
   11725   return (_has_bits_[0] & 0x00000001u) != 0;
   11726 }
   11727 void ServiceOptions::set_has_deprecated() {
   11728   _has_bits_[0] |= 0x00000001u;
   11729 }
   11730 void ServiceOptions::clear_has_deprecated() {
   11731   _has_bits_[0] &= ~0x00000001u;
   11732 }
   11733 void ServiceOptions::clear_deprecated() {
   11734   deprecated_ = false;
   11735   clear_has_deprecated();
   11736 }
   11737  bool ServiceOptions::deprecated() const {
   11738   // @@protoc_insertion_point(field_get:google.protobuf.ServiceOptions.deprecated)
   11739   return deprecated_;
   11740 }
   11741  void ServiceOptions::set_deprecated(bool value) {
   11742   set_has_deprecated();
   11743   deprecated_ = value;
   11744   // @@protoc_insertion_point(field_set:google.protobuf.ServiceOptions.deprecated)
   11745 }
   11746 
   11747 // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
   11748 int ServiceOptions::uninterpreted_option_size() const {
   11749   return uninterpreted_option_.size();
   11750 }
   11751 void ServiceOptions::clear_uninterpreted_option() {
   11752   uninterpreted_option_.Clear();
   11753 }
   11754 const ::google::protobuf::UninterpretedOption& ServiceOptions::uninterpreted_option(int index) const {
   11755   // @@protoc_insertion_point(field_get:google.protobuf.ServiceOptions.uninterpreted_option)
   11756   return uninterpreted_option_.Get(index);
   11757 }
   11758 ::google::protobuf::UninterpretedOption* ServiceOptions::mutable_uninterpreted_option(int index) {
   11759   // @@protoc_insertion_point(field_mutable:google.protobuf.ServiceOptions.uninterpreted_option)
   11760   return uninterpreted_option_.Mutable(index);
   11761 }
   11762 ::google::protobuf::UninterpretedOption* ServiceOptions::add_uninterpreted_option() {
   11763   // @@protoc_insertion_point(field_add:google.protobuf.ServiceOptions.uninterpreted_option)
   11764   return uninterpreted_option_.Add();
   11765 }
   11766 ::google::protobuf::RepeatedPtrField< ::google::protobuf::UninterpretedOption >*
   11767 ServiceOptions::mutable_uninterpreted_option() {
   11768   // @@protoc_insertion_point(field_mutable_list:google.protobuf.ServiceOptions.uninterpreted_option)
   11769   return &uninterpreted_option_;
   11770 }
   11771 const ::google::protobuf::RepeatedPtrField< ::google::protobuf::UninterpretedOption >&
   11772 ServiceOptions::uninterpreted_option() const {
   11773   // @@protoc_insertion_point(field_list:google.protobuf.ServiceOptions.uninterpreted_option)
   11774   return uninterpreted_option_;
   11775 }
   11776 
   11777 #endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
   11778 
   11779 // ===================================================================
   11780 
   11781 #if !defined(_MSC_VER) || _MSC_VER >= 1900
   11782 const int MethodOptions::kDeprecatedFieldNumber;
   11783 const int MethodOptions::kUninterpretedOptionFieldNumber;
   11784 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
   11785 
   11786 MethodOptions::MethodOptions()
   11787   : ::google::protobuf::Message(), _internal_metadata_(NULL) {
   11788   SharedCtor();
   11789   // @@protoc_insertion_point(constructor:google.protobuf.MethodOptions)
   11790 }
   11791 
   11792 void MethodOptions::InitAsDefaultInstance() {
   11793 }
   11794 
   11795 MethodOptions::MethodOptions(const MethodOptions& from)
   11796   : ::google::protobuf::Message(),
   11797     _internal_metadata_(NULL) {
   11798   SharedCtor();
   11799   MergeFrom(from);
   11800   // @@protoc_insertion_point(copy_constructor:google.protobuf.MethodOptions)
   11801 }
   11802 
   11803 void MethodOptions::SharedCtor() {
   11804   _cached_size_ = 0;
   11805   deprecated_ = false;
   11806   ::memset(_has_bits_, 0, sizeof(_has_bits_));
   11807 }
   11808 
   11809 MethodOptions::~MethodOptions() {
   11810   // @@protoc_insertion_point(destructor:google.protobuf.MethodOptions)
   11811   SharedDtor();
   11812 }
   11813 
   11814 void MethodOptions::SharedDtor() {
   11815   if (this != default_instance_) {
   11816   }
   11817 }
   11818 
   11819 void MethodOptions::SetCachedSize(int size) const {
   11820   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   11821   _cached_size_ = size;
   11822   GOOGLE_SAFE_CONCURRENT_WRITES_END();
   11823 }
   11824 const ::google::protobuf::Descriptor* MethodOptions::descriptor() {
   11825   protobuf_AssignDescriptorsOnce();
   11826   return MethodOptions_descriptor_;
   11827 }
   11828 
   11829 const MethodOptions& MethodOptions::default_instance() {
   11830   if (default_instance_ == NULL) protobuf_AddDesc_google_2fprotobuf_2fdescriptor_2eproto();
   11831   return *default_instance_;
   11832 }
   11833 
   11834 MethodOptions* MethodOptions::default_instance_ = NULL;
   11835 
   11836 MethodOptions* MethodOptions::New(::google::protobuf::Arena* arena) const {
   11837   MethodOptions* n = new MethodOptions;
   11838   if (arena != NULL) {
   11839     arena->Own(n);
   11840   }
   11841   return n;
   11842 }
   11843 
   11844 void MethodOptions::Clear() {
   11845 // @@protoc_insertion_point(message_clear_start:google.protobuf.MethodOptions)
   11846   _extensions_.Clear();
   11847   deprecated_ = false;
   11848   uninterpreted_option_.Clear();
   11849   ::memset(_has_bits_, 0, sizeof(_has_bits_));
   11850   if (_internal_metadata_.have_unknown_fields()) {
   11851     mutable_unknown_fields()->Clear();
   11852   }
   11853 }
   11854 
   11855 bool MethodOptions::MergePartialFromCodedStream(
   11856     ::google::protobuf::io::CodedInputStream* input) {
   11857 #define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
   11858   ::google::protobuf::uint32 tag;
   11859   // @@protoc_insertion_point(parse_start:google.protobuf.MethodOptions)
   11860   for (;;) {
   11861     ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(16383);
   11862     tag = p.first;
   11863     if (!p.second) goto handle_unusual;
   11864     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
   11865       // optional bool deprecated = 33 [default = false];
   11866       case 33: {
   11867         if (tag == 264) {
   11868           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
   11869                    bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
   11870                  input, &deprecated_)));
   11871           set_has_deprecated();
   11872         } else {
   11873           goto handle_unusual;
   11874         }
   11875         if (input->ExpectTag(7994)) goto parse_uninterpreted_option;
   11876         break;
   11877       }
   11878 
   11879       // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
   11880       case 999: {
   11881         if (tag == 7994) {
   11882          parse_uninterpreted_option:
   11883           DO_(input->IncrementRecursionDepth());
   11884          parse_loop_uninterpreted_option:
   11885           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtualNoRecursionDepth(
   11886                 input, add_uninterpreted_option()));
   11887         } else {
   11888           goto handle_unusual;
   11889         }
   11890         if (input->ExpectTag(7994)) goto parse_loop_uninterpreted_option;
   11891         input->UnsafeDecrementRecursionDepth();
   11892         if (input->ExpectAtEnd()) goto success;
   11893         break;
   11894       }
   11895 
   11896       default: {
   11897       handle_unusual:
   11898         if (tag == 0 ||
   11899             ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
   11900             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
   11901           goto success;
   11902         }
   11903         if ((8000u <= tag)) {
   11904           DO_(_extensions_.ParseField(tag, input, default_instance_,
   11905                                       mutable_unknown_fields()));
   11906           continue;
   11907         }
   11908         DO_(::google::protobuf::internal::WireFormat::SkipField(
   11909               input, tag, mutable_unknown_fields()));
   11910         break;
   11911       }
   11912     }
   11913   }
   11914 success:
   11915   // @@protoc_insertion_point(parse_success:google.protobuf.MethodOptions)
   11916   return true;
   11917 failure:
   11918   // @@protoc_insertion_point(parse_failure:google.protobuf.MethodOptions)
   11919   return false;
   11920 #undef DO_
   11921 }
   11922 
   11923 void MethodOptions::SerializeWithCachedSizes(
   11924     ::google::protobuf::io::CodedOutputStream* output) const {
   11925   // @@protoc_insertion_point(serialize_start:google.protobuf.MethodOptions)
   11926   // optional bool deprecated = 33 [default = false];
   11927   if (has_deprecated()) {
   11928     ::google::protobuf::internal::WireFormatLite::WriteBool(33, this->deprecated(), output);
   11929   }
   11930 
   11931   // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
   11932   for (unsigned int i = 0, n = this->uninterpreted_option_size(); i < n; i++) {
   11933     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
   11934       999, this->uninterpreted_option(i), output);
   11935   }
   11936 
   11937   // Extension range [1000, 536870912)
   11938   _extensions_.SerializeWithCachedSizes(
   11939       1000, 536870912, output);
   11940 
   11941   if (_internal_metadata_.have_unknown_fields()) {
   11942     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
   11943         unknown_fields(), output);
   11944   }
   11945   // @@protoc_insertion_point(serialize_end:google.protobuf.MethodOptions)
   11946 }
   11947 
   11948 ::google::protobuf::uint8* MethodOptions::SerializeWithCachedSizesToArray(
   11949     ::google::protobuf::uint8* target) const {
   11950   // @@protoc_insertion_point(serialize_to_array_start:google.protobuf.MethodOptions)
   11951   // optional bool deprecated = 33 [default = false];
   11952   if (has_deprecated()) {
   11953     target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(33, this->deprecated(), target);
   11954   }
   11955 
   11956   // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
   11957   for (unsigned int i = 0, n = this->uninterpreted_option_size(); i < n; i++) {
   11958     target = ::google::protobuf::internal::WireFormatLite::
   11959       WriteMessageNoVirtualToArray(
   11960         999, this->uninterpreted_option(i), target);
   11961   }
   11962 
   11963   // Extension range [1000, 536870912)
   11964   target = _extensions_.SerializeWithCachedSizesToArray(
   11965       1000, 536870912, target);
   11966 
   11967   if (_internal_metadata_.have_unknown_fields()) {
   11968     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
   11969         unknown_fields(), target);
   11970   }
   11971   // @@protoc_insertion_point(serialize_to_array_end:google.protobuf.MethodOptions)
   11972   return target;
   11973 }
   11974 
   11975 int MethodOptions::ByteSize() const {
   11976 // @@protoc_insertion_point(message_byte_size_start:google.protobuf.MethodOptions)
   11977   int total_size = 0;
   11978 
   11979   // optional bool deprecated = 33 [default = false];
   11980   if (has_deprecated()) {
   11981     total_size += 2 + 1;
   11982   }
   11983 
   11984   // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
   11985   total_size += 2 * this->uninterpreted_option_size();
   11986   for (int i = 0; i < this->uninterpreted_option_size(); i++) {
   11987     total_size +=
   11988       ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
   11989         this->uninterpreted_option(i));
   11990   }
   11991 
   11992   total_size += _extensions_.ByteSize();
   11993 
   11994   if (_internal_metadata_.have_unknown_fields()) {
   11995     total_size +=
   11996       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
   11997         unknown_fields());
   11998   }
   11999   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   12000   _cached_size_ = total_size;
   12001   GOOGLE_SAFE_CONCURRENT_WRITES_END();
   12002   return total_size;
   12003 }
   12004 
   12005 void MethodOptions::MergeFrom(const ::google::protobuf::Message& from) {
   12006 // @@protoc_insertion_point(generalized_merge_from_start:google.protobuf.MethodOptions)
   12007   if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
   12008   const MethodOptions* source =
   12009       ::google::protobuf::internal::DynamicCastToGenerated<const MethodOptions>(
   12010           &from);
   12011   if (source == NULL) {
   12012   // @@protoc_insertion_point(generalized_merge_from_cast_fail:google.protobuf.MethodOptions)
   12013     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
   12014   } else {
   12015   // @@protoc_insertion_point(generalized_merge_from_cast_success:google.protobuf.MethodOptions)
   12016     MergeFrom(*source);
   12017   }
   12018 }
   12019 
   12020 void MethodOptions::MergeFrom(const MethodOptions& from) {
   12021 // @@protoc_insertion_point(class_specific_merge_from_start:google.protobuf.MethodOptions)
   12022   if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
   12023   uninterpreted_option_.MergeFrom(from.uninterpreted_option_);
   12024   if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
   12025     if (from.has_deprecated()) {
   12026       set_deprecated(from.deprecated());
   12027     }
   12028   }
   12029   _extensions_.MergeFrom(from._extensions_);
   12030   if (from._internal_metadata_.have_unknown_fields()) {
   12031     mutable_unknown_fields()->MergeFrom(from.unknown_fields());
   12032   }
   12033 }
   12034 
   12035 void MethodOptions::CopyFrom(const ::google::protobuf::Message& from) {
   12036 // @@protoc_insertion_point(generalized_copy_from_start:google.protobuf.MethodOptions)
   12037   if (&from == this) return;
   12038   Clear();
   12039   MergeFrom(from);
   12040 }
   12041 
   12042 void MethodOptions::CopyFrom(const MethodOptions& from) {
   12043 // @@protoc_insertion_point(class_specific_copy_from_start:google.protobuf.MethodOptions)
   12044   if (&from == this) return;
   12045   Clear();
   12046   MergeFrom(from);
   12047 }
   12048 
   12049 bool MethodOptions::IsInitialized() const {
   12050 
   12051   if (!::google::protobuf::internal::AllAreInitialized(this->uninterpreted_option())) return false;
   12052 
   12053   if (!_extensions_.IsInitialized()) return false;  return true;
   12054 }
   12055 
   12056 void MethodOptions::Swap(MethodOptions* other) {
   12057   if (other == this) return;
   12058   InternalSwap(other);
   12059 }
   12060 void MethodOptions::InternalSwap(MethodOptions* other) {
   12061   std::swap(deprecated_, other->deprecated_);
   12062   uninterpreted_option_.UnsafeArenaSwap(&other->uninterpreted_option_);
   12063   std::swap(_has_bits_[0], other->_has_bits_[0]);
   12064   _internal_metadata_.Swap(&other->_internal_metadata_);
   12065   std::swap(_cached_size_, other->_cached_size_);
   12066   _extensions_.Swap(&other->_extensions_);
   12067 }
   12068 
   12069 ::google::protobuf::Metadata MethodOptions::GetMetadata() const {
   12070   protobuf_AssignDescriptorsOnce();
   12071   ::google::protobuf::Metadata metadata;
   12072   metadata.descriptor = MethodOptions_descriptor_;
   12073   metadata.reflection = MethodOptions_reflection_;
   12074   return metadata;
   12075 }
   12076 
   12077 #if PROTOBUF_INLINE_NOT_IN_HEADERS
   12078 // MethodOptions
   12079 
   12080 // optional bool deprecated = 33 [default = false];
   12081 bool MethodOptions::has_deprecated() const {
   12082   return (_has_bits_[0] & 0x00000001u) != 0;
   12083 }
   12084 void MethodOptions::set_has_deprecated() {
   12085   _has_bits_[0] |= 0x00000001u;
   12086 }
   12087 void MethodOptions::clear_has_deprecated() {
   12088   _has_bits_[0] &= ~0x00000001u;
   12089 }
   12090 void MethodOptions::clear_deprecated() {
   12091   deprecated_ = false;
   12092   clear_has_deprecated();
   12093 }
   12094  bool MethodOptions::deprecated() const {
   12095   // @@protoc_insertion_point(field_get:google.protobuf.MethodOptions.deprecated)
   12096   return deprecated_;
   12097 }
   12098  void MethodOptions::set_deprecated(bool value) {
   12099   set_has_deprecated();
   12100   deprecated_ = value;
   12101   // @@protoc_insertion_point(field_set:google.protobuf.MethodOptions.deprecated)
   12102 }
   12103 
   12104 // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
   12105 int MethodOptions::uninterpreted_option_size() const {
   12106   return uninterpreted_option_.size();
   12107 }
   12108 void MethodOptions::clear_uninterpreted_option() {
   12109   uninterpreted_option_.Clear();
   12110 }
   12111 const ::google::protobuf::UninterpretedOption& MethodOptions::uninterpreted_option(int index) const {
   12112   // @@protoc_insertion_point(field_get:google.protobuf.MethodOptions.uninterpreted_option)
   12113   return uninterpreted_option_.Get(index);
   12114 }
   12115 ::google::protobuf::UninterpretedOption* MethodOptions::mutable_uninterpreted_option(int index) {
   12116   // @@protoc_insertion_point(field_mutable:google.protobuf.MethodOptions.uninterpreted_option)
   12117   return uninterpreted_option_.Mutable(index);
   12118 }
   12119 ::google::protobuf::UninterpretedOption* MethodOptions::add_uninterpreted_option() {
   12120   // @@protoc_insertion_point(field_add:google.protobuf.MethodOptions.uninterpreted_option)
   12121   return uninterpreted_option_.Add();
   12122 }
   12123 ::google::protobuf::RepeatedPtrField< ::google::protobuf::UninterpretedOption >*
   12124 MethodOptions::mutable_uninterpreted_option() {
   12125   // @@protoc_insertion_point(field_mutable_list:google.protobuf.MethodOptions.uninterpreted_option)
   12126   return &uninterpreted_option_;
   12127 }
   12128 const ::google::protobuf::RepeatedPtrField< ::google::protobuf::UninterpretedOption >&
   12129 MethodOptions::uninterpreted_option() const {
   12130   // @@protoc_insertion_point(field_list:google.protobuf.MethodOptions.uninterpreted_option)
   12131   return uninterpreted_option_;
   12132 }
   12133 
   12134 #endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
   12135 
   12136 // ===================================================================
   12137 
   12138 #if !defined(_MSC_VER) || _MSC_VER >= 1900
   12139 const int UninterpretedOption_NamePart::kNamePartFieldNumber;
   12140 const int UninterpretedOption_NamePart::kIsExtensionFieldNumber;
   12141 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
   12142 
   12143 UninterpretedOption_NamePart::UninterpretedOption_NamePart()
   12144   : ::google::protobuf::Message(), _internal_metadata_(NULL) {
   12145   SharedCtor();
   12146   // @@protoc_insertion_point(constructor:google.protobuf.UninterpretedOption.NamePart)
   12147 }
   12148 
   12149 void UninterpretedOption_NamePart::InitAsDefaultInstance() {
   12150 }
   12151 
   12152 UninterpretedOption_NamePart::UninterpretedOption_NamePart(const UninterpretedOption_NamePart& from)
   12153   : ::google::protobuf::Message(),
   12154     _internal_metadata_(NULL) {
   12155   SharedCtor();
   12156   MergeFrom(from);
   12157   // @@protoc_insertion_point(copy_constructor:google.protobuf.UninterpretedOption.NamePart)
   12158 }
   12159 
   12160 void UninterpretedOption_NamePart::SharedCtor() {
   12161   ::google::protobuf::internal::GetEmptyString();
   12162   _cached_size_ = 0;
   12163   name_part_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   12164   is_extension_ = false;
   12165   ::memset(_has_bits_, 0, sizeof(_has_bits_));
   12166 }
   12167 
   12168 UninterpretedOption_NamePart::~UninterpretedOption_NamePart() {
   12169   // @@protoc_insertion_point(destructor:google.protobuf.UninterpretedOption.NamePart)
   12170   SharedDtor();
   12171 }
   12172 
   12173 void UninterpretedOption_NamePart::SharedDtor() {
   12174   name_part_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   12175   if (this != default_instance_) {
   12176   }
   12177 }
   12178 
   12179 void UninterpretedOption_NamePart::SetCachedSize(int size) const {
   12180   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   12181   _cached_size_ = size;
   12182   GOOGLE_SAFE_CONCURRENT_WRITES_END();
   12183 }
   12184 const ::google::protobuf::Descriptor* UninterpretedOption_NamePart::descriptor() {
   12185   protobuf_AssignDescriptorsOnce();
   12186   return UninterpretedOption_NamePart_descriptor_;
   12187 }
   12188 
   12189 const UninterpretedOption_NamePart& UninterpretedOption_NamePart::default_instance() {
   12190   if (default_instance_ == NULL) protobuf_AddDesc_google_2fprotobuf_2fdescriptor_2eproto();
   12191   return *default_instance_;
   12192 }
   12193 
   12194 UninterpretedOption_NamePart* UninterpretedOption_NamePart::default_instance_ = NULL;
   12195 
   12196 UninterpretedOption_NamePart* UninterpretedOption_NamePart::New(::google::protobuf::Arena* arena) const {
   12197   UninterpretedOption_NamePart* n = new UninterpretedOption_NamePart;
   12198   if (arena != NULL) {
   12199     arena->Own(n);
   12200   }
   12201   return n;
   12202 }
   12203 
   12204 void UninterpretedOption_NamePart::Clear() {
   12205 // @@protoc_insertion_point(message_clear_start:google.protobuf.UninterpretedOption.NamePart)
   12206   if (_has_bits_[0 / 32] & 3u) {
   12207     if (has_name_part()) {
   12208       name_part_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   12209     }
   12210     is_extension_ = false;
   12211   }
   12212   ::memset(_has_bits_, 0, sizeof(_has_bits_));
   12213   if (_internal_metadata_.have_unknown_fields()) {
   12214     mutable_unknown_fields()->Clear();
   12215   }
   12216 }
   12217 
   12218 bool UninterpretedOption_NamePart::MergePartialFromCodedStream(
   12219     ::google::protobuf::io::CodedInputStream* input) {
   12220 #define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
   12221   ::google::protobuf::uint32 tag;
   12222   // @@protoc_insertion_point(parse_start:google.protobuf.UninterpretedOption.NamePart)
   12223   for (;;) {
   12224     ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
   12225     tag = p.first;
   12226     if (!p.second) goto handle_unusual;
   12227     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
   12228       // required string name_part = 1;
   12229       case 1: {
   12230         if (tag == 10) {
   12231           DO_(::google::protobuf::internal::WireFormatLite::ReadString(
   12232                 input, this->mutable_name_part()));
   12233           ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   12234             this->name_part().data(), this->name_part().length(),
   12235             ::google::protobuf::internal::WireFormat::PARSE,
   12236             "google.protobuf.UninterpretedOption.NamePart.name_part");
   12237         } else {
   12238           goto handle_unusual;
   12239         }
   12240         if (input->ExpectTag(16)) goto parse_is_extension;
   12241         break;
   12242       }
   12243 
   12244       // required bool is_extension = 2;
   12245       case 2: {
   12246         if (tag == 16) {
   12247          parse_is_extension:
   12248           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
   12249                    bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
   12250                  input, &is_extension_)));
   12251           set_has_is_extension();
   12252         } else {
   12253           goto handle_unusual;
   12254         }
   12255         if (input->ExpectAtEnd()) goto success;
   12256         break;
   12257       }
   12258 
   12259       default: {
   12260       handle_unusual:
   12261         if (tag == 0 ||
   12262             ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
   12263             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
   12264           goto success;
   12265         }
   12266         DO_(::google::protobuf::internal::WireFormat::SkipField(
   12267               input, tag, mutable_unknown_fields()));
   12268         break;
   12269       }
   12270     }
   12271   }
   12272 success:
   12273   // @@protoc_insertion_point(parse_success:google.protobuf.UninterpretedOption.NamePart)
   12274   return true;
   12275 failure:
   12276   // @@protoc_insertion_point(parse_failure:google.protobuf.UninterpretedOption.NamePart)
   12277   return false;
   12278 #undef DO_
   12279 }
   12280 
   12281 void UninterpretedOption_NamePart::SerializeWithCachedSizes(
   12282     ::google::protobuf::io::CodedOutputStream* output) const {
   12283   // @@protoc_insertion_point(serialize_start:google.protobuf.UninterpretedOption.NamePart)
   12284   // required string name_part = 1;
   12285   if (has_name_part()) {
   12286     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   12287       this->name_part().data(), this->name_part().length(),
   12288       ::google::protobuf::internal::WireFormat::SERIALIZE,
   12289       "google.protobuf.UninterpretedOption.NamePart.name_part");
   12290     ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
   12291       1, this->name_part(), output);
   12292   }
   12293 
   12294   // required bool is_extension = 2;
   12295   if (has_is_extension()) {
   12296     ::google::protobuf::internal::WireFormatLite::WriteBool(2, this->is_extension(), output);
   12297   }
   12298 
   12299   if (_internal_metadata_.have_unknown_fields()) {
   12300     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
   12301         unknown_fields(), output);
   12302   }
   12303   // @@protoc_insertion_point(serialize_end:google.protobuf.UninterpretedOption.NamePart)
   12304 }
   12305 
   12306 ::google::protobuf::uint8* UninterpretedOption_NamePart::SerializeWithCachedSizesToArray(
   12307     ::google::protobuf::uint8* target) const {
   12308   // @@protoc_insertion_point(serialize_to_array_start:google.protobuf.UninterpretedOption.NamePart)
   12309   // required string name_part = 1;
   12310   if (has_name_part()) {
   12311     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   12312       this->name_part().data(), this->name_part().length(),
   12313       ::google::protobuf::internal::WireFormat::SERIALIZE,
   12314       "google.protobuf.UninterpretedOption.NamePart.name_part");
   12315     target =
   12316       ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
   12317         1, this->name_part(), target);
   12318   }
   12319 
   12320   // required bool is_extension = 2;
   12321   if (has_is_extension()) {
   12322     target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(2, this->is_extension(), target);
   12323   }
   12324 
   12325   if (_internal_metadata_.have_unknown_fields()) {
   12326     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
   12327         unknown_fields(), target);
   12328   }
   12329   // @@protoc_insertion_point(serialize_to_array_end:google.protobuf.UninterpretedOption.NamePart)
   12330   return target;
   12331 }
   12332 
   12333 int UninterpretedOption_NamePart::RequiredFieldsByteSizeFallback() const {
   12334 // @@protoc_insertion_point(required_fields_byte_size_fallback_start:google.protobuf.UninterpretedOption.NamePart)
   12335   int total_size = 0;
   12336 
   12337   if (has_name_part()) {
   12338     // required string name_part = 1;
   12339     total_size += 1 +
   12340       ::google::protobuf::internal::WireFormatLite::StringSize(
   12341         this->name_part());
   12342   }
   12343 
   12344   if (has_is_extension()) {
   12345     // required bool is_extension = 2;
   12346     total_size += 1 + 1;
   12347   }
   12348 
   12349   return total_size;
   12350 }
   12351 int UninterpretedOption_NamePart::ByteSize() const {
   12352 // @@protoc_insertion_point(message_byte_size_start:google.protobuf.UninterpretedOption.NamePart)
   12353   int total_size = 0;
   12354 
   12355   if (((_has_bits_[0] & 0x00000003) ^ 0x00000003) == 0) {  // All required fields are present.
   12356     // required string name_part = 1;
   12357     total_size += 1 +
   12358       ::google::protobuf::internal::WireFormatLite::StringSize(
   12359         this->name_part());
   12360 
   12361     // required bool is_extension = 2;
   12362     total_size += 1 + 1;
   12363 
   12364   } else {
   12365     total_size += RequiredFieldsByteSizeFallback();
   12366   }
   12367   if (_internal_metadata_.have_unknown_fields()) {
   12368     total_size +=
   12369       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
   12370         unknown_fields());
   12371   }
   12372   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   12373   _cached_size_ = total_size;
   12374   GOOGLE_SAFE_CONCURRENT_WRITES_END();
   12375   return total_size;
   12376 }
   12377 
   12378 void UninterpretedOption_NamePart::MergeFrom(const ::google::protobuf::Message& from) {
   12379 // @@protoc_insertion_point(generalized_merge_from_start:google.protobuf.UninterpretedOption.NamePart)
   12380   if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
   12381   const UninterpretedOption_NamePart* source =
   12382       ::google::protobuf::internal::DynamicCastToGenerated<const UninterpretedOption_NamePart>(
   12383           &from);
   12384   if (source == NULL) {
   12385   // @@protoc_insertion_point(generalized_merge_from_cast_fail:google.protobuf.UninterpretedOption.NamePart)
   12386     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
   12387   } else {
   12388   // @@protoc_insertion_point(generalized_merge_from_cast_success:google.protobuf.UninterpretedOption.NamePart)
   12389     MergeFrom(*source);
   12390   }
   12391 }
   12392 
   12393 void UninterpretedOption_NamePart::MergeFrom(const UninterpretedOption_NamePart& from) {
   12394 // @@protoc_insertion_point(class_specific_merge_from_start:google.protobuf.UninterpretedOption.NamePart)
   12395   if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
   12396   if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
   12397     if (from.has_name_part()) {
   12398       set_has_name_part();
   12399       name_part_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.name_part_);
   12400     }
   12401     if (from.has_is_extension()) {
   12402       set_is_extension(from.is_extension());
   12403     }
   12404   }
   12405   if (from._internal_metadata_.have_unknown_fields()) {
   12406     mutable_unknown_fields()->MergeFrom(from.unknown_fields());
   12407   }
   12408 }
   12409 
   12410 void UninterpretedOption_NamePart::CopyFrom(const ::google::protobuf::Message& from) {
   12411 // @@protoc_insertion_point(generalized_copy_from_start:google.protobuf.UninterpretedOption.NamePart)
   12412   if (&from == this) return;
   12413   Clear();
   12414   MergeFrom(from);
   12415 }
   12416 
   12417 void UninterpretedOption_NamePart::CopyFrom(const UninterpretedOption_NamePart& from) {
   12418 // @@protoc_insertion_point(class_specific_copy_from_start:google.protobuf.UninterpretedOption.NamePart)
   12419   if (&from == this) return;
   12420   Clear();
   12421   MergeFrom(from);
   12422 }
   12423 
   12424 bool UninterpretedOption_NamePart::IsInitialized() const {
   12425   if ((_has_bits_[0] & 0x00000003) != 0x00000003) return false;
   12426 
   12427   return true;
   12428 }
   12429 
   12430 void UninterpretedOption_NamePart::Swap(UninterpretedOption_NamePart* other) {
   12431   if (other == this) return;
   12432   InternalSwap(other);
   12433 }
   12434 void UninterpretedOption_NamePart::InternalSwap(UninterpretedOption_NamePart* other) {
   12435   name_part_.Swap(&other->name_part_);
   12436   std::swap(is_extension_, other->is_extension_);
   12437   std::swap(_has_bits_[0], other->_has_bits_[0]);
   12438   _internal_metadata_.Swap(&other->_internal_metadata_);
   12439   std::swap(_cached_size_, other->_cached_size_);
   12440 }
   12441 
   12442 ::google::protobuf::Metadata UninterpretedOption_NamePart::GetMetadata() const {
   12443   protobuf_AssignDescriptorsOnce();
   12444   ::google::protobuf::Metadata metadata;
   12445   metadata.descriptor = UninterpretedOption_NamePart_descriptor_;
   12446   metadata.reflection = UninterpretedOption_NamePart_reflection_;
   12447   return metadata;
   12448 }
   12449 
   12450 
   12451 // -------------------------------------------------------------------
   12452 
   12453 #if !defined(_MSC_VER) || _MSC_VER >= 1900
   12454 const int UninterpretedOption::kNameFieldNumber;
   12455 const int UninterpretedOption::kIdentifierValueFieldNumber;
   12456 const int UninterpretedOption::kPositiveIntValueFieldNumber;
   12457 const int UninterpretedOption::kNegativeIntValueFieldNumber;
   12458 const int UninterpretedOption::kDoubleValueFieldNumber;
   12459 const int UninterpretedOption::kStringValueFieldNumber;
   12460 const int UninterpretedOption::kAggregateValueFieldNumber;
   12461 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
   12462 
   12463 UninterpretedOption::UninterpretedOption()
   12464   : ::google::protobuf::Message(), _internal_metadata_(NULL) {
   12465   SharedCtor();
   12466   // @@protoc_insertion_point(constructor:google.protobuf.UninterpretedOption)
   12467 }
   12468 
   12469 void UninterpretedOption::InitAsDefaultInstance() {
   12470 }
   12471 
   12472 UninterpretedOption::UninterpretedOption(const UninterpretedOption& from)
   12473   : ::google::protobuf::Message(),
   12474     _internal_metadata_(NULL) {
   12475   SharedCtor();
   12476   MergeFrom(from);
   12477   // @@protoc_insertion_point(copy_constructor:google.protobuf.UninterpretedOption)
   12478 }
   12479 
   12480 void UninterpretedOption::SharedCtor() {
   12481   ::google::protobuf::internal::GetEmptyString();
   12482   _cached_size_ = 0;
   12483   identifier_value_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   12484   positive_int_value_ = GOOGLE_ULONGLONG(0);
   12485   negative_int_value_ = GOOGLE_LONGLONG(0);
   12486   double_value_ = 0;
   12487   string_value_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   12488   aggregate_value_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   12489   ::memset(_has_bits_, 0, sizeof(_has_bits_));
   12490 }
   12491 
   12492 UninterpretedOption::~UninterpretedOption() {
   12493   // @@protoc_insertion_point(destructor:google.protobuf.UninterpretedOption)
   12494   SharedDtor();
   12495 }
   12496 
   12497 void UninterpretedOption::SharedDtor() {
   12498   identifier_value_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   12499   string_value_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   12500   aggregate_value_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   12501   if (this != default_instance_) {
   12502   }
   12503 }
   12504 
   12505 void UninterpretedOption::SetCachedSize(int size) const {
   12506   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   12507   _cached_size_ = size;
   12508   GOOGLE_SAFE_CONCURRENT_WRITES_END();
   12509 }
   12510 const ::google::protobuf::Descriptor* UninterpretedOption::descriptor() {
   12511   protobuf_AssignDescriptorsOnce();
   12512   return UninterpretedOption_descriptor_;
   12513 }
   12514 
   12515 const UninterpretedOption& UninterpretedOption::default_instance() {
   12516   if (default_instance_ == NULL) protobuf_AddDesc_google_2fprotobuf_2fdescriptor_2eproto();
   12517   return *default_instance_;
   12518 }
   12519 
   12520 UninterpretedOption* UninterpretedOption::default_instance_ = NULL;
   12521 
   12522 UninterpretedOption* UninterpretedOption::New(::google::protobuf::Arena* arena) const {
   12523   UninterpretedOption* n = new UninterpretedOption;
   12524   if (arena != NULL) {
   12525     arena->Own(n);
   12526   }
   12527   return n;
   12528 }
   12529 
   12530 void UninterpretedOption::Clear() {
   12531 // @@protoc_insertion_point(message_clear_start:google.protobuf.UninterpretedOption)
   12532 #if defined(__clang__)
   12533 #define ZR_HELPER_(f) \
   12534   _Pragma("clang diagnostic push") \
   12535   _Pragma("clang diagnostic ignored \"-Winvalid-offsetof\"") \
   12536   __builtin_offsetof(UninterpretedOption, f) \
   12537   _Pragma("clang diagnostic pop")
   12538 #else
   12539 #define ZR_HELPER_(f) reinterpret_cast<char*>(\
   12540   &reinterpret_cast<UninterpretedOption*>(16)->f)
   12541 #endif
   12542 
   12543 #define ZR_(first, last) do {\
   12544   ::memset(&(first), 0,\
   12545            ZR_HELPER_(last) - ZR_HELPER_(first) + sizeof(last));\
   12546 } while (0)
   12547 
   12548   if (_has_bits_[0 / 32] & 126u) {
   12549     ZR_(positive_int_value_, double_value_);
   12550     if (has_identifier_value()) {
   12551       identifier_value_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   12552     }
   12553     if (has_string_value()) {
   12554       string_value_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   12555     }
   12556     if (has_aggregate_value()) {
   12557       aggregate_value_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   12558     }
   12559   }
   12560 
   12561 #undef ZR_HELPER_
   12562 #undef ZR_
   12563 
   12564   name_.Clear();
   12565   ::memset(_has_bits_, 0, sizeof(_has_bits_));
   12566   if (_internal_metadata_.have_unknown_fields()) {
   12567     mutable_unknown_fields()->Clear();
   12568   }
   12569 }
   12570 
   12571 bool UninterpretedOption::MergePartialFromCodedStream(
   12572     ::google::protobuf::io::CodedInputStream* input) {
   12573 #define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
   12574   ::google::protobuf::uint32 tag;
   12575   // @@protoc_insertion_point(parse_start:google.protobuf.UninterpretedOption)
   12576   for (;;) {
   12577     ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
   12578     tag = p.first;
   12579     if (!p.second) goto handle_unusual;
   12580     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
   12581       // repeated .google.protobuf.UninterpretedOption.NamePart name = 2;
   12582       case 2: {
   12583         if (tag == 18) {
   12584           DO_(input->IncrementRecursionDepth());
   12585          parse_loop_name:
   12586           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtualNoRecursionDepth(
   12587                 input, add_name()));
   12588         } else {
   12589           goto handle_unusual;
   12590         }
   12591         if (input->ExpectTag(18)) goto parse_loop_name;
   12592         input->UnsafeDecrementRecursionDepth();
   12593         if (input->ExpectTag(26)) goto parse_identifier_value;
   12594         break;
   12595       }
   12596 
   12597       // optional string identifier_value = 3;
   12598       case 3: {
   12599         if (tag == 26) {
   12600          parse_identifier_value:
   12601           DO_(::google::protobuf::internal::WireFormatLite::ReadString(
   12602                 input, this->mutable_identifier_value()));
   12603           ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   12604             this->identifier_value().data(), this->identifier_value().length(),
   12605             ::google::protobuf::internal::WireFormat::PARSE,
   12606             "google.protobuf.UninterpretedOption.identifier_value");
   12607         } else {
   12608           goto handle_unusual;
   12609         }
   12610         if (input->ExpectTag(32)) goto parse_positive_int_value;
   12611         break;
   12612       }
   12613 
   12614       // optional uint64 positive_int_value = 4;
   12615       case 4: {
   12616         if (tag == 32) {
   12617          parse_positive_int_value:
   12618           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
   12619                    ::google::protobuf::uint64, ::google::protobuf::internal::WireFormatLite::TYPE_UINT64>(
   12620                  input, &positive_int_value_)));
   12621           set_has_positive_int_value();
   12622         } else {
   12623           goto handle_unusual;
   12624         }
   12625         if (input->ExpectTag(40)) goto parse_negative_int_value;
   12626         break;
   12627       }
   12628 
   12629       // optional int64 negative_int_value = 5;
   12630       case 5: {
   12631         if (tag == 40) {
   12632          parse_negative_int_value:
   12633           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
   12634                    ::google::protobuf::int64, ::google::protobuf::internal::WireFormatLite::TYPE_INT64>(
   12635                  input, &negative_int_value_)));
   12636           set_has_negative_int_value();
   12637         } else {
   12638           goto handle_unusual;
   12639         }
   12640         if (input->ExpectTag(49)) goto parse_double_value;
   12641         break;
   12642       }
   12643 
   12644       // optional double double_value = 6;
   12645       case 6: {
   12646         if (tag == 49) {
   12647          parse_double_value:
   12648           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
   12649                    double, ::google::protobuf::internal::WireFormatLite::TYPE_DOUBLE>(
   12650                  input, &double_value_)));
   12651           set_has_double_value();
   12652         } else {
   12653           goto handle_unusual;
   12654         }
   12655         if (input->ExpectTag(58)) goto parse_string_value;
   12656         break;
   12657       }
   12658 
   12659       // optional bytes string_value = 7;
   12660       case 7: {
   12661         if (tag == 58) {
   12662          parse_string_value:
   12663           DO_(::google::protobuf::internal::WireFormatLite::ReadBytes(
   12664                 input, this->mutable_string_value()));
   12665         } else {
   12666           goto handle_unusual;
   12667         }
   12668         if (input->ExpectTag(66)) goto parse_aggregate_value;
   12669         break;
   12670       }
   12671 
   12672       // optional string aggregate_value = 8;
   12673       case 8: {
   12674         if (tag == 66) {
   12675          parse_aggregate_value:
   12676           DO_(::google::protobuf::internal::WireFormatLite::ReadString(
   12677                 input, this->mutable_aggregate_value()));
   12678           ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   12679             this->aggregate_value().data(), this->aggregate_value().length(),
   12680             ::google::protobuf::internal::WireFormat::PARSE,
   12681             "google.protobuf.UninterpretedOption.aggregate_value");
   12682         } else {
   12683           goto handle_unusual;
   12684         }
   12685         if (input->ExpectAtEnd()) goto success;
   12686         break;
   12687       }
   12688 
   12689       default: {
   12690       handle_unusual:
   12691         if (tag == 0 ||
   12692             ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
   12693             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
   12694           goto success;
   12695         }
   12696         DO_(::google::protobuf::internal::WireFormat::SkipField(
   12697               input, tag, mutable_unknown_fields()));
   12698         break;
   12699       }
   12700     }
   12701   }
   12702 success:
   12703   // @@protoc_insertion_point(parse_success:google.protobuf.UninterpretedOption)
   12704   return true;
   12705 failure:
   12706   // @@protoc_insertion_point(parse_failure:google.protobuf.UninterpretedOption)
   12707   return false;
   12708 #undef DO_
   12709 }
   12710 
   12711 void UninterpretedOption::SerializeWithCachedSizes(
   12712     ::google::protobuf::io::CodedOutputStream* output) const {
   12713   // @@protoc_insertion_point(serialize_start:google.protobuf.UninterpretedOption)
   12714   // repeated .google.protobuf.UninterpretedOption.NamePart name = 2;
   12715   for (unsigned int i = 0, n = this->name_size(); i < n; i++) {
   12716     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
   12717       2, this->name(i), output);
   12718   }
   12719 
   12720   // optional string identifier_value = 3;
   12721   if (has_identifier_value()) {
   12722     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   12723       this->identifier_value().data(), this->identifier_value().length(),
   12724       ::google::protobuf::internal::WireFormat::SERIALIZE,
   12725       "google.protobuf.UninterpretedOption.identifier_value");
   12726     ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
   12727       3, this->identifier_value(), output);
   12728   }
   12729 
   12730   // optional uint64 positive_int_value = 4;
   12731   if (has_positive_int_value()) {
   12732     ::google::protobuf::internal::WireFormatLite::WriteUInt64(4, this->positive_int_value(), output);
   12733   }
   12734 
   12735   // optional int64 negative_int_value = 5;
   12736   if (has_negative_int_value()) {
   12737     ::google::protobuf::internal::WireFormatLite::WriteInt64(5, this->negative_int_value(), output);
   12738   }
   12739 
   12740   // optional double double_value = 6;
   12741   if (has_double_value()) {
   12742     ::google::protobuf::internal::WireFormatLite::WriteDouble(6, this->double_value(), output);
   12743   }
   12744 
   12745   // optional bytes string_value = 7;
   12746   if (has_string_value()) {
   12747     ::google::protobuf::internal::WireFormatLite::WriteBytesMaybeAliased(
   12748       7, this->string_value(), output);
   12749   }
   12750 
   12751   // optional string aggregate_value = 8;
   12752   if (has_aggregate_value()) {
   12753     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   12754       this->aggregate_value().data(), this->aggregate_value().length(),
   12755       ::google::protobuf::internal::WireFormat::SERIALIZE,
   12756       "google.protobuf.UninterpretedOption.aggregate_value");
   12757     ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
   12758       8, this->aggregate_value(), output);
   12759   }
   12760 
   12761   if (_internal_metadata_.have_unknown_fields()) {
   12762     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
   12763         unknown_fields(), output);
   12764   }
   12765   // @@protoc_insertion_point(serialize_end:google.protobuf.UninterpretedOption)
   12766 }
   12767 
   12768 ::google::protobuf::uint8* UninterpretedOption::SerializeWithCachedSizesToArray(
   12769     ::google::protobuf::uint8* target) const {
   12770   // @@protoc_insertion_point(serialize_to_array_start:google.protobuf.UninterpretedOption)
   12771   // repeated .google.protobuf.UninterpretedOption.NamePart name = 2;
   12772   for (unsigned int i = 0, n = this->name_size(); i < n; i++) {
   12773     target = ::google::protobuf::internal::WireFormatLite::
   12774       WriteMessageNoVirtualToArray(
   12775         2, this->name(i), target);
   12776   }
   12777 
   12778   // optional string identifier_value = 3;
   12779   if (has_identifier_value()) {
   12780     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   12781       this->identifier_value().data(), this->identifier_value().length(),
   12782       ::google::protobuf::internal::WireFormat::SERIALIZE,
   12783       "google.protobuf.UninterpretedOption.identifier_value");
   12784     target =
   12785       ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
   12786         3, this->identifier_value(), target);
   12787   }
   12788 
   12789   // optional uint64 positive_int_value = 4;
   12790   if (has_positive_int_value()) {
   12791     target = ::google::protobuf::internal::WireFormatLite::WriteUInt64ToArray(4, this->positive_int_value(), target);
   12792   }
   12793 
   12794   // optional int64 negative_int_value = 5;
   12795   if (has_negative_int_value()) {
   12796     target = ::google::protobuf::internal::WireFormatLite::WriteInt64ToArray(5, this->negative_int_value(), target);
   12797   }
   12798 
   12799   // optional double double_value = 6;
   12800   if (has_double_value()) {
   12801     target = ::google::protobuf::internal::WireFormatLite::WriteDoubleToArray(6, this->double_value(), target);
   12802   }
   12803 
   12804   // optional bytes string_value = 7;
   12805   if (has_string_value()) {
   12806     target =
   12807       ::google::protobuf::internal::WireFormatLite::WriteBytesToArray(
   12808         7, this->string_value(), target);
   12809   }
   12810 
   12811   // optional string aggregate_value = 8;
   12812   if (has_aggregate_value()) {
   12813     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   12814       this->aggregate_value().data(), this->aggregate_value().length(),
   12815       ::google::protobuf::internal::WireFormat::SERIALIZE,
   12816       "google.protobuf.UninterpretedOption.aggregate_value");
   12817     target =
   12818       ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
   12819         8, this->aggregate_value(), target);
   12820   }
   12821 
   12822   if (_internal_metadata_.have_unknown_fields()) {
   12823     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
   12824         unknown_fields(), target);
   12825   }
   12826   // @@protoc_insertion_point(serialize_to_array_end:google.protobuf.UninterpretedOption)
   12827   return target;
   12828 }
   12829 
   12830 int UninterpretedOption::ByteSize() const {
   12831 // @@protoc_insertion_point(message_byte_size_start:google.protobuf.UninterpretedOption)
   12832   int total_size = 0;
   12833 
   12834   if (_has_bits_[1 / 32] & 126u) {
   12835     // optional string identifier_value = 3;
   12836     if (has_identifier_value()) {
   12837       total_size += 1 +
   12838         ::google::protobuf::internal::WireFormatLite::StringSize(
   12839           this->identifier_value());
   12840     }
   12841 
   12842     // optional uint64 positive_int_value = 4;
   12843     if (has_positive_int_value()) {
   12844       total_size += 1 +
   12845         ::google::protobuf::internal::WireFormatLite::UInt64Size(
   12846           this->positive_int_value());
   12847     }
   12848 
   12849     // optional int64 negative_int_value = 5;
   12850     if (has_negative_int_value()) {
   12851       total_size += 1 +
   12852         ::google::protobuf::internal::WireFormatLite::Int64Size(
   12853           this->negative_int_value());
   12854     }
   12855 
   12856     // optional double double_value = 6;
   12857     if (has_double_value()) {
   12858       total_size += 1 + 8;
   12859     }
   12860 
   12861     // optional bytes string_value = 7;
   12862     if (has_string_value()) {
   12863       total_size += 1 +
   12864         ::google::protobuf::internal::WireFormatLite::BytesSize(
   12865           this->string_value());
   12866     }
   12867 
   12868     // optional string aggregate_value = 8;
   12869     if (has_aggregate_value()) {
   12870       total_size += 1 +
   12871         ::google::protobuf::internal::WireFormatLite::StringSize(
   12872           this->aggregate_value());
   12873     }
   12874 
   12875   }
   12876   // repeated .google.protobuf.UninterpretedOption.NamePart name = 2;
   12877   total_size += 1 * this->name_size();
   12878   for (int i = 0; i < this->name_size(); i++) {
   12879     total_size +=
   12880       ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
   12881         this->name(i));
   12882   }
   12883 
   12884   if (_internal_metadata_.have_unknown_fields()) {
   12885     total_size +=
   12886       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
   12887         unknown_fields());
   12888   }
   12889   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   12890   _cached_size_ = total_size;
   12891   GOOGLE_SAFE_CONCURRENT_WRITES_END();
   12892   return total_size;
   12893 }
   12894 
   12895 void UninterpretedOption::MergeFrom(const ::google::protobuf::Message& from) {
   12896 // @@protoc_insertion_point(generalized_merge_from_start:google.protobuf.UninterpretedOption)
   12897   if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
   12898   const UninterpretedOption* source =
   12899       ::google::protobuf::internal::DynamicCastToGenerated<const UninterpretedOption>(
   12900           &from);
   12901   if (source == NULL) {
   12902   // @@protoc_insertion_point(generalized_merge_from_cast_fail:google.protobuf.UninterpretedOption)
   12903     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
   12904   } else {
   12905   // @@protoc_insertion_point(generalized_merge_from_cast_success:google.protobuf.UninterpretedOption)
   12906     MergeFrom(*source);
   12907   }
   12908 }
   12909 
   12910 void UninterpretedOption::MergeFrom(const UninterpretedOption& from) {
   12911 // @@protoc_insertion_point(class_specific_merge_from_start:google.protobuf.UninterpretedOption)
   12912   if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
   12913   name_.MergeFrom(from.name_);
   12914   if (from._has_bits_[1 / 32] & (0xffu << (1 % 32))) {
   12915     if (from.has_identifier_value()) {
   12916       set_has_identifier_value();
   12917       identifier_value_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.identifier_value_);
   12918     }
   12919     if (from.has_positive_int_value()) {
   12920       set_positive_int_value(from.positive_int_value());
   12921     }
   12922     if (from.has_negative_int_value()) {
   12923       set_negative_int_value(from.negative_int_value());
   12924     }
   12925     if (from.has_double_value()) {
   12926       set_double_value(from.double_value());
   12927     }
   12928     if (from.has_string_value()) {
   12929       set_has_string_value();
   12930       string_value_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.string_value_);
   12931     }
   12932     if (from.has_aggregate_value()) {
   12933       set_has_aggregate_value();
   12934       aggregate_value_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.aggregate_value_);
   12935     }
   12936   }
   12937   if (from._internal_metadata_.have_unknown_fields()) {
   12938     mutable_unknown_fields()->MergeFrom(from.unknown_fields());
   12939   }
   12940 }
   12941 
   12942 void UninterpretedOption::CopyFrom(const ::google::protobuf::Message& from) {
   12943 // @@protoc_insertion_point(generalized_copy_from_start:google.protobuf.UninterpretedOption)
   12944   if (&from == this) return;
   12945   Clear();
   12946   MergeFrom(from);
   12947 }
   12948 
   12949 void UninterpretedOption::CopyFrom(const UninterpretedOption& from) {
   12950 // @@protoc_insertion_point(class_specific_copy_from_start:google.protobuf.UninterpretedOption)
   12951   if (&from == this) return;
   12952   Clear();
   12953   MergeFrom(from);
   12954 }
   12955 
   12956 bool UninterpretedOption::IsInitialized() const {
   12957 
   12958   if (!::google::protobuf::internal::AllAreInitialized(this->name())) return false;
   12959   return true;
   12960 }
   12961 
   12962 void UninterpretedOption::Swap(UninterpretedOption* other) {
   12963   if (other == this) return;
   12964   InternalSwap(other);
   12965 }
   12966 void UninterpretedOption::InternalSwap(UninterpretedOption* other) {
   12967   name_.UnsafeArenaSwap(&other->name_);
   12968   identifier_value_.Swap(&other->identifier_value_);
   12969   std::swap(positive_int_value_, other->positive_int_value_);
   12970   std::swap(negative_int_value_, other->negative_int_value_);
   12971   std::swap(double_value_, other->double_value_);
   12972   string_value_.Swap(&other->string_value_);
   12973   aggregate_value_.Swap(&other->aggregate_value_);
   12974   std::swap(_has_bits_[0], other->_has_bits_[0]);
   12975   _internal_metadata_.Swap(&other->_internal_metadata_);
   12976   std::swap(_cached_size_, other->_cached_size_);
   12977 }
   12978 
   12979 ::google::protobuf::Metadata UninterpretedOption::GetMetadata() const {
   12980   protobuf_AssignDescriptorsOnce();
   12981   ::google::protobuf::Metadata metadata;
   12982   metadata.descriptor = UninterpretedOption_descriptor_;
   12983   metadata.reflection = UninterpretedOption_reflection_;
   12984   return metadata;
   12985 }
   12986 
   12987 #if PROTOBUF_INLINE_NOT_IN_HEADERS
   12988 // UninterpretedOption_NamePart
   12989 
   12990 // required string name_part = 1;
   12991 bool UninterpretedOption_NamePart::has_name_part() const {
   12992   return (_has_bits_[0] & 0x00000001u) != 0;
   12993 }
   12994 void UninterpretedOption_NamePart::set_has_name_part() {
   12995   _has_bits_[0] |= 0x00000001u;
   12996 }
   12997 void UninterpretedOption_NamePart::clear_has_name_part() {
   12998   _has_bits_[0] &= ~0x00000001u;
   12999 }
   13000 void UninterpretedOption_NamePart::clear_name_part() {
   13001   name_part_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   13002   clear_has_name_part();
   13003 }
   13004  const ::std::string& UninterpretedOption_NamePart::name_part() const {
   13005   // @@protoc_insertion_point(field_get:google.protobuf.UninterpretedOption.NamePart.name_part)
   13006   return name_part_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   13007 }
   13008  void UninterpretedOption_NamePart::set_name_part(const ::std::string& value) {
   13009   set_has_name_part();
   13010   name_part_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
   13011   // @@protoc_insertion_point(field_set:google.protobuf.UninterpretedOption.NamePart.name_part)
   13012 }
   13013  void UninterpretedOption_NamePart::set_name_part(const char* value) {
   13014   set_has_name_part();
   13015   name_part_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
   13016   // @@protoc_insertion_point(field_set_char:google.protobuf.UninterpretedOption.NamePart.name_part)
   13017 }
   13018  void UninterpretedOption_NamePart::set_name_part(const char* value, size_t size) {
   13019   set_has_name_part();
   13020   name_part_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
   13021       ::std::string(reinterpret_cast<const char*>(value), size));
   13022   // @@protoc_insertion_point(field_set_pointer:google.protobuf.UninterpretedOption.NamePart.name_part)
   13023 }
   13024  ::std::string* UninterpretedOption_NamePart::mutable_name_part() {
   13025   set_has_name_part();
   13026   // @@protoc_insertion_point(field_mutable:google.protobuf.UninterpretedOption.NamePart.name_part)
   13027   return name_part_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   13028 }
   13029  ::std::string* UninterpretedOption_NamePart::release_name_part() {
   13030   // @@protoc_insertion_point(field_release:google.protobuf.UninterpretedOption.NamePart.name_part)
   13031   clear_has_name_part();
   13032   return name_part_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   13033 }
   13034  void UninterpretedOption_NamePart::set_allocated_name_part(::std::string* name_part) {
   13035   if (name_part != NULL) {
   13036     set_has_name_part();
   13037   } else {
   13038     clear_has_name_part();
   13039   }
   13040   name_part_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), name_part);
   13041   // @@protoc_insertion_point(field_set_allocated:google.protobuf.UninterpretedOption.NamePart.name_part)
   13042 }
   13043 
   13044 // required bool is_extension = 2;
   13045 bool UninterpretedOption_NamePart::has_is_extension() const {
   13046   return (_has_bits_[0] & 0x00000002u) != 0;
   13047 }
   13048 void UninterpretedOption_NamePart::set_has_is_extension() {
   13049   _has_bits_[0] |= 0x00000002u;
   13050 }
   13051 void UninterpretedOption_NamePart::clear_has_is_extension() {
   13052   _has_bits_[0] &= ~0x00000002u;
   13053 }
   13054 void UninterpretedOption_NamePart::clear_is_extension() {
   13055   is_extension_ = false;
   13056   clear_has_is_extension();
   13057 }
   13058  bool UninterpretedOption_NamePart::is_extension() const {
   13059   // @@protoc_insertion_point(field_get:google.protobuf.UninterpretedOption.NamePart.is_extension)
   13060   return is_extension_;
   13061 }
   13062  void UninterpretedOption_NamePart::set_is_extension(bool value) {
   13063   set_has_is_extension();
   13064   is_extension_ = value;
   13065   // @@protoc_insertion_point(field_set:google.protobuf.UninterpretedOption.NamePart.is_extension)
   13066 }
   13067 
   13068 // -------------------------------------------------------------------
   13069 
   13070 // UninterpretedOption
   13071 
   13072 // repeated .google.protobuf.UninterpretedOption.NamePart name = 2;
   13073 int UninterpretedOption::name_size() const {
   13074   return name_.size();
   13075 }
   13076 void UninterpretedOption::clear_name() {
   13077   name_.Clear();
   13078 }
   13079 const ::google::protobuf::UninterpretedOption_NamePart& UninterpretedOption::name(int index) const {
   13080   // @@protoc_insertion_point(field_get:google.protobuf.UninterpretedOption.name)
   13081   return name_.Get(index);
   13082 }
   13083 ::google::protobuf::UninterpretedOption_NamePart* UninterpretedOption::mutable_name(int index) {
   13084   // @@protoc_insertion_point(field_mutable:google.protobuf.UninterpretedOption.name)
   13085   return name_.Mutable(index);
   13086 }
   13087 ::google::protobuf::UninterpretedOption_NamePart* UninterpretedOption::add_name() {
   13088   // @@protoc_insertion_point(field_add:google.protobuf.UninterpretedOption.name)
   13089   return name_.Add();
   13090 }
   13091 ::google::protobuf::RepeatedPtrField< ::google::protobuf::UninterpretedOption_NamePart >*
   13092 UninterpretedOption::mutable_name() {
   13093   // @@protoc_insertion_point(field_mutable_list:google.protobuf.UninterpretedOption.name)
   13094   return &name_;
   13095 }
   13096 const ::google::protobuf::RepeatedPtrField< ::google::protobuf::UninterpretedOption_NamePart >&
   13097 UninterpretedOption::name() const {
   13098   // @@protoc_insertion_point(field_list:google.protobuf.UninterpretedOption.name)
   13099   return name_;
   13100 }
   13101 
   13102 // optional string identifier_value = 3;
   13103 bool UninterpretedOption::has_identifier_value() const {
   13104   return (_has_bits_[0] & 0x00000002u) != 0;
   13105 }
   13106 void UninterpretedOption::set_has_identifier_value() {
   13107   _has_bits_[0] |= 0x00000002u;
   13108 }
   13109 void UninterpretedOption::clear_has_identifier_value() {
   13110   _has_bits_[0] &= ~0x00000002u;
   13111 }
   13112 void UninterpretedOption::clear_identifier_value() {
   13113   identifier_value_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   13114   clear_has_identifier_value();
   13115 }
   13116  const ::std::string& UninterpretedOption::identifier_value() const {
   13117   // @@protoc_insertion_point(field_get:google.protobuf.UninterpretedOption.identifier_value)
   13118   return identifier_value_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   13119 }
   13120  void UninterpretedOption::set_identifier_value(const ::std::string& value) {
   13121   set_has_identifier_value();
   13122   identifier_value_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
   13123   // @@protoc_insertion_point(field_set:google.protobuf.UninterpretedOption.identifier_value)
   13124 }
   13125  void UninterpretedOption::set_identifier_value(const char* value) {
   13126   set_has_identifier_value();
   13127   identifier_value_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
   13128   // @@protoc_insertion_point(field_set_char:google.protobuf.UninterpretedOption.identifier_value)
   13129 }
   13130  void UninterpretedOption::set_identifier_value(const char* value, size_t size) {
   13131   set_has_identifier_value();
   13132   identifier_value_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
   13133       ::std::string(reinterpret_cast<const char*>(value), size));
   13134   // @@protoc_insertion_point(field_set_pointer:google.protobuf.UninterpretedOption.identifier_value)
   13135 }
   13136  ::std::string* UninterpretedOption::mutable_identifier_value() {
   13137   set_has_identifier_value();
   13138   // @@protoc_insertion_point(field_mutable:google.protobuf.UninterpretedOption.identifier_value)
   13139   return identifier_value_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   13140 }
   13141  ::std::string* UninterpretedOption::release_identifier_value() {
   13142   // @@protoc_insertion_point(field_release:google.protobuf.UninterpretedOption.identifier_value)
   13143   clear_has_identifier_value();
   13144   return identifier_value_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   13145 }
   13146  void UninterpretedOption::set_allocated_identifier_value(::std::string* identifier_value) {
   13147   if (identifier_value != NULL) {
   13148     set_has_identifier_value();
   13149   } else {
   13150     clear_has_identifier_value();
   13151   }
   13152   identifier_value_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), identifier_value);
   13153   // @@protoc_insertion_point(field_set_allocated:google.protobuf.UninterpretedOption.identifier_value)
   13154 }
   13155 
   13156 // optional uint64 positive_int_value = 4;
   13157 bool UninterpretedOption::has_positive_int_value() const {
   13158   return (_has_bits_[0] & 0x00000004u) != 0;
   13159 }
   13160 void UninterpretedOption::set_has_positive_int_value() {
   13161   _has_bits_[0] |= 0x00000004u;
   13162 }
   13163 void UninterpretedOption::clear_has_positive_int_value() {
   13164   _has_bits_[0] &= ~0x00000004u;
   13165 }
   13166 void UninterpretedOption::clear_positive_int_value() {
   13167   positive_int_value_ = GOOGLE_ULONGLONG(0);
   13168   clear_has_positive_int_value();
   13169 }
   13170  ::google::protobuf::uint64 UninterpretedOption::positive_int_value() const {
   13171   // @@protoc_insertion_point(field_get:google.protobuf.UninterpretedOption.positive_int_value)
   13172   return positive_int_value_;
   13173 }
   13174  void UninterpretedOption::set_positive_int_value(::google::protobuf::uint64 value) {
   13175   set_has_positive_int_value();
   13176   positive_int_value_ = value;
   13177   // @@protoc_insertion_point(field_set:google.protobuf.UninterpretedOption.positive_int_value)
   13178 }
   13179 
   13180 // optional int64 negative_int_value = 5;
   13181 bool UninterpretedOption::has_negative_int_value() const {
   13182   return (_has_bits_[0] & 0x00000008u) != 0;
   13183 }
   13184 void UninterpretedOption::set_has_negative_int_value() {
   13185   _has_bits_[0] |= 0x00000008u;
   13186 }
   13187 void UninterpretedOption::clear_has_negative_int_value() {
   13188   _has_bits_[0] &= ~0x00000008u;
   13189 }
   13190 void UninterpretedOption::clear_negative_int_value() {
   13191   negative_int_value_ = GOOGLE_LONGLONG(0);
   13192   clear_has_negative_int_value();
   13193 }
   13194  ::google::protobuf::int64 UninterpretedOption::negative_int_value() const {
   13195   // @@protoc_insertion_point(field_get:google.protobuf.UninterpretedOption.negative_int_value)
   13196   return negative_int_value_;
   13197 }
   13198  void UninterpretedOption::set_negative_int_value(::google::protobuf::int64 value) {
   13199   set_has_negative_int_value();
   13200   negative_int_value_ = value;
   13201   // @@protoc_insertion_point(field_set:google.protobuf.UninterpretedOption.negative_int_value)
   13202 }
   13203 
   13204 // optional double double_value = 6;
   13205 bool UninterpretedOption::has_double_value() const {
   13206   return (_has_bits_[0] & 0x00000010u) != 0;
   13207 }
   13208 void UninterpretedOption::set_has_double_value() {
   13209   _has_bits_[0] |= 0x00000010u;
   13210 }
   13211 void UninterpretedOption::clear_has_double_value() {
   13212   _has_bits_[0] &= ~0x00000010u;
   13213 }
   13214 void UninterpretedOption::clear_double_value() {
   13215   double_value_ = 0;
   13216   clear_has_double_value();
   13217 }
   13218  double UninterpretedOption::double_value() const {
   13219   // @@protoc_insertion_point(field_get:google.protobuf.UninterpretedOption.double_value)
   13220   return double_value_;
   13221 }
   13222  void UninterpretedOption::set_double_value(double value) {
   13223   set_has_double_value();
   13224   double_value_ = value;
   13225   // @@protoc_insertion_point(field_set:google.protobuf.UninterpretedOption.double_value)
   13226 }
   13227 
   13228 // optional bytes string_value = 7;
   13229 bool UninterpretedOption::has_string_value() const {
   13230   return (_has_bits_[0] & 0x00000020u) != 0;
   13231 }
   13232 void UninterpretedOption::set_has_string_value() {
   13233   _has_bits_[0] |= 0x00000020u;
   13234 }
   13235 void UninterpretedOption::clear_has_string_value() {
   13236   _has_bits_[0] &= ~0x00000020u;
   13237 }
   13238 void UninterpretedOption::clear_string_value() {
   13239   string_value_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   13240   clear_has_string_value();
   13241 }
   13242  const ::std::string& UninterpretedOption::string_value() const {
   13243   // @@protoc_insertion_point(field_get:google.protobuf.UninterpretedOption.string_value)
   13244   return string_value_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   13245 }
   13246  void UninterpretedOption::set_string_value(const ::std::string& value) {
   13247   set_has_string_value();
   13248   string_value_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
   13249   // @@protoc_insertion_point(field_set:google.protobuf.UninterpretedOption.string_value)
   13250 }
   13251  void UninterpretedOption::set_string_value(const char* value) {
   13252   set_has_string_value();
   13253   string_value_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
   13254   // @@protoc_insertion_point(field_set_char:google.protobuf.UninterpretedOption.string_value)
   13255 }
   13256  void UninterpretedOption::set_string_value(const void* value, size_t size) {
   13257   set_has_string_value();
   13258   string_value_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
   13259       ::std::string(reinterpret_cast<const char*>(value), size));
   13260   // @@protoc_insertion_point(field_set_pointer:google.protobuf.UninterpretedOption.string_value)
   13261 }
   13262  ::std::string* UninterpretedOption::mutable_string_value() {
   13263   set_has_string_value();
   13264   // @@protoc_insertion_point(field_mutable:google.protobuf.UninterpretedOption.string_value)
   13265   return string_value_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   13266 }
   13267  ::std::string* UninterpretedOption::release_string_value() {
   13268   // @@protoc_insertion_point(field_release:google.protobuf.UninterpretedOption.string_value)
   13269   clear_has_string_value();
   13270   return string_value_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   13271 }
   13272  void UninterpretedOption::set_allocated_string_value(::std::string* string_value) {
   13273   if (string_value != NULL) {
   13274     set_has_string_value();
   13275   } else {
   13276     clear_has_string_value();
   13277   }
   13278   string_value_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), string_value);
   13279   // @@protoc_insertion_point(field_set_allocated:google.protobuf.UninterpretedOption.string_value)
   13280 }
   13281 
   13282 // optional string aggregate_value = 8;
   13283 bool UninterpretedOption::has_aggregate_value() const {
   13284   return (_has_bits_[0] & 0x00000040u) != 0;
   13285 }
   13286 void UninterpretedOption::set_has_aggregate_value() {
   13287   _has_bits_[0] |= 0x00000040u;
   13288 }
   13289 void UninterpretedOption::clear_has_aggregate_value() {
   13290   _has_bits_[0] &= ~0x00000040u;
   13291 }
   13292 void UninterpretedOption::clear_aggregate_value() {
   13293   aggregate_value_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   13294   clear_has_aggregate_value();
   13295 }
   13296  const ::std::string& UninterpretedOption::aggregate_value() const {
   13297   // @@protoc_insertion_point(field_get:google.protobuf.UninterpretedOption.aggregate_value)
   13298   return aggregate_value_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   13299 }
   13300  void UninterpretedOption::set_aggregate_value(const ::std::string& value) {
   13301   set_has_aggregate_value();
   13302   aggregate_value_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
   13303   // @@protoc_insertion_point(field_set:google.protobuf.UninterpretedOption.aggregate_value)
   13304 }
   13305  void UninterpretedOption::set_aggregate_value(const char* value) {
   13306   set_has_aggregate_value();
   13307   aggregate_value_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
   13308   // @@protoc_insertion_point(field_set_char:google.protobuf.UninterpretedOption.aggregate_value)
   13309 }
   13310  void UninterpretedOption::set_aggregate_value(const char* value, size_t size) {
   13311   set_has_aggregate_value();
   13312   aggregate_value_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
   13313       ::std::string(reinterpret_cast<const char*>(value), size));
   13314   // @@protoc_insertion_point(field_set_pointer:google.protobuf.UninterpretedOption.aggregate_value)
   13315 }
   13316  ::std::string* UninterpretedOption::mutable_aggregate_value() {
   13317   set_has_aggregate_value();
   13318   // @@protoc_insertion_point(field_mutable:google.protobuf.UninterpretedOption.aggregate_value)
   13319   return aggregate_value_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   13320 }
   13321  ::std::string* UninterpretedOption::release_aggregate_value() {
   13322   // @@protoc_insertion_point(field_release:google.protobuf.UninterpretedOption.aggregate_value)
   13323   clear_has_aggregate_value();
   13324   return aggregate_value_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   13325 }
   13326  void UninterpretedOption::set_allocated_aggregate_value(::std::string* aggregate_value) {
   13327   if (aggregate_value != NULL) {
   13328     set_has_aggregate_value();
   13329   } else {
   13330     clear_has_aggregate_value();
   13331   }
   13332   aggregate_value_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), aggregate_value);
   13333   // @@protoc_insertion_point(field_set_allocated:google.protobuf.UninterpretedOption.aggregate_value)
   13334 }
   13335 
   13336 #endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
   13337 
   13338 // ===================================================================
   13339 
   13340 #if !defined(_MSC_VER) || _MSC_VER >= 1900
   13341 const int SourceCodeInfo_Location::kPathFieldNumber;
   13342 const int SourceCodeInfo_Location::kSpanFieldNumber;
   13343 const int SourceCodeInfo_Location::kLeadingCommentsFieldNumber;
   13344 const int SourceCodeInfo_Location::kTrailingCommentsFieldNumber;
   13345 const int SourceCodeInfo_Location::kLeadingDetachedCommentsFieldNumber;
   13346 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
   13347 
   13348 SourceCodeInfo_Location::SourceCodeInfo_Location()
   13349   : ::google::protobuf::Message(), _internal_metadata_(NULL) {
   13350   SharedCtor();
   13351   // @@protoc_insertion_point(constructor:google.protobuf.SourceCodeInfo.Location)
   13352 }
   13353 
   13354 void SourceCodeInfo_Location::InitAsDefaultInstance() {
   13355 }
   13356 
   13357 SourceCodeInfo_Location::SourceCodeInfo_Location(const SourceCodeInfo_Location& from)
   13358   : ::google::protobuf::Message(),
   13359     _internal_metadata_(NULL) {
   13360   SharedCtor();
   13361   MergeFrom(from);
   13362   // @@protoc_insertion_point(copy_constructor:google.protobuf.SourceCodeInfo.Location)
   13363 }
   13364 
   13365 void SourceCodeInfo_Location::SharedCtor() {
   13366   ::google::protobuf::internal::GetEmptyString();
   13367   _cached_size_ = 0;
   13368   leading_comments_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   13369   trailing_comments_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   13370   ::memset(_has_bits_, 0, sizeof(_has_bits_));
   13371 }
   13372 
   13373 SourceCodeInfo_Location::~SourceCodeInfo_Location() {
   13374   // @@protoc_insertion_point(destructor:google.protobuf.SourceCodeInfo.Location)
   13375   SharedDtor();
   13376 }
   13377 
   13378 void SourceCodeInfo_Location::SharedDtor() {
   13379   leading_comments_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   13380   trailing_comments_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   13381   if (this != default_instance_) {
   13382   }
   13383 }
   13384 
   13385 void SourceCodeInfo_Location::SetCachedSize(int size) const {
   13386   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   13387   _cached_size_ = size;
   13388   GOOGLE_SAFE_CONCURRENT_WRITES_END();
   13389 }
   13390 const ::google::protobuf::Descriptor* SourceCodeInfo_Location::descriptor() {
   13391   protobuf_AssignDescriptorsOnce();
   13392   return SourceCodeInfo_Location_descriptor_;
   13393 }
   13394 
   13395 const SourceCodeInfo_Location& SourceCodeInfo_Location::default_instance() {
   13396   if (default_instance_ == NULL) protobuf_AddDesc_google_2fprotobuf_2fdescriptor_2eproto();
   13397   return *default_instance_;
   13398 }
   13399 
   13400 SourceCodeInfo_Location* SourceCodeInfo_Location::default_instance_ = NULL;
   13401 
   13402 SourceCodeInfo_Location* SourceCodeInfo_Location::New(::google::protobuf::Arena* arena) const {
   13403   SourceCodeInfo_Location* n = new SourceCodeInfo_Location;
   13404   if (arena != NULL) {
   13405     arena->Own(n);
   13406   }
   13407   return n;
   13408 }
   13409 
   13410 void SourceCodeInfo_Location::Clear() {
   13411 // @@protoc_insertion_point(message_clear_start:google.protobuf.SourceCodeInfo.Location)
   13412   if (_has_bits_[0 / 32] & 12u) {
   13413     if (has_leading_comments()) {
   13414       leading_comments_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   13415     }
   13416     if (has_trailing_comments()) {
   13417       trailing_comments_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   13418     }
   13419   }
   13420   path_.Clear();
   13421   span_.Clear();
   13422   leading_detached_comments_.Clear();
   13423   ::memset(_has_bits_, 0, sizeof(_has_bits_));
   13424   if (_internal_metadata_.have_unknown_fields()) {
   13425     mutable_unknown_fields()->Clear();
   13426   }
   13427 }
   13428 
   13429 bool SourceCodeInfo_Location::MergePartialFromCodedStream(
   13430     ::google::protobuf::io::CodedInputStream* input) {
   13431 #define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
   13432   ::google::protobuf::uint32 tag;
   13433   // @@protoc_insertion_point(parse_start:google.protobuf.SourceCodeInfo.Location)
   13434   for (;;) {
   13435     ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
   13436     tag = p.first;
   13437     if (!p.second) goto handle_unusual;
   13438     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
   13439       // repeated int32 path = 1 [packed = true];
   13440       case 1: {
   13441         if (tag == 10) {
   13442           DO_((::google::protobuf::internal::WireFormatLite::ReadPackedPrimitive<
   13443                    ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
   13444                  input, this->mutable_path())));
   13445         } else if (tag == 8) {
   13446           DO_((::google::protobuf::internal::WireFormatLite::ReadRepeatedPrimitiveNoInline<
   13447                    ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
   13448                  1, 10, input, this->mutable_path())));
   13449         } else {
   13450           goto handle_unusual;
   13451         }
   13452         if (input->ExpectTag(18)) goto parse_span;
   13453         break;
   13454       }
   13455 
   13456       // repeated int32 span = 2 [packed = true];
   13457       case 2: {
   13458         if (tag == 18) {
   13459          parse_span:
   13460           DO_((::google::protobuf::internal::WireFormatLite::ReadPackedPrimitive<
   13461                    ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
   13462                  input, this->mutable_span())));
   13463         } else if (tag == 16) {
   13464           DO_((::google::protobuf::internal::WireFormatLite::ReadRepeatedPrimitiveNoInline<
   13465                    ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
   13466                  1, 18, input, this->mutable_span())));
   13467         } else {
   13468           goto handle_unusual;
   13469         }
   13470         if (input->ExpectTag(26)) goto parse_leading_comments;
   13471         break;
   13472       }
   13473 
   13474       // optional string leading_comments = 3;
   13475       case 3: {
   13476         if (tag == 26) {
   13477          parse_leading_comments:
   13478           DO_(::google::protobuf::internal::WireFormatLite::ReadString(
   13479                 input, this->mutable_leading_comments()));
   13480           ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   13481             this->leading_comments().data(), this->leading_comments().length(),
   13482             ::google::protobuf::internal::WireFormat::PARSE,
   13483             "google.protobuf.SourceCodeInfo.Location.leading_comments");
   13484         } else {
   13485           goto handle_unusual;
   13486         }
   13487         if (input->ExpectTag(34)) goto parse_trailing_comments;
   13488         break;
   13489       }
   13490 
   13491       // optional string trailing_comments = 4;
   13492       case 4: {
   13493         if (tag == 34) {
   13494          parse_trailing_comments:
   13495           DO_(::google::protobuf::internal::WireFormatLite::ReadString(
   13496                 input, this->mutable_trailing_comments()));
   13497           ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   13498             this->trailing_comments().data(), this->trailing_comments().length(),
   13499             ::google::protobuf::internal::WireFormat::PARSE,
   13500             "google.protobuf.SourceCodeInfo.Location.trailing_comments");
   13501         } else {
   13502           goto handle_unusual;
   13503         }
   13504         if (input->ExpectTag(50)) goto parse_leading_detached_comments;
   13505         break;
   13506       }
   13507 
   13508       // repeated string leading_detached_comments = 6;
   13509       case 6: {
   13510         if (tag == 50) {
   13511          parse_leading_detached_comments:
   13512           DO_(::google::protobuf::internal::WireFormatLite::ReadString(
   13513                 input, this->add_leading_detached_comments()));
   13514           ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   13515             this->leading_detached_comments(this->leading_detached_comments_size() - 1).data(),
   13516             this->leading_detached_comments(this->leading_detached_comments_size() - 1).length(),
   13517             ::google::protobuf::internal::WireFormat::PARSE,
   13518             "google.protobuf.SourceCodeInfo.Location.leading_detached_comments");
   13519         } else {
   13520           goto handle_unusual;
   13521         }
   13522         if (input->ExpectTag(50)) goto parse_leading_detached_comments;
   13523         if (input->ExpectAtEnd()) goto success;
   13524         break;
   13525       }
   13526 
   13527       default: {
   13528       handle_unusual:
   13529         if (tag == 0 ||
   13530             ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
   13531             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
   13532           goto success;
   13533         }
   13534         DO_(::google::protobuf::internal::WireFormat::SkipField(
   13535               input, tag, mutable_unknown_fields()));
   13536         break;
   13537       }
   13538     }
   13539   }
   13540 success:
   13541   // @@protoc_insertion_point(parse_success:google.protobuf.SourceCodeInfo.Location)
   13542   return true;
   13543 failure:
   13544   // @@protoc_insertion_point(parse_failure:google.protobuf.SourceCodeInfo.Location)
   13545   return false;
   13546 #undef DO_
   13547 }
   13548 
   13549 void SourceCodeInfo_Location::SerializeWithCachedSizes(
   13550     ::google::protobuf::io::CodedOutputStream* output) const {
   13551   // @@protoc_insertion_point(serialize_start:google.protobuf.SourceCodeInfo.Location)
   13552   // repeated int32 path = 1 [packed = true];
   13553   if (this->path_size() > 0) {
   13554     ::google::protobuf::internal::WireFormatLite::WriteTag(1, ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED, output);
   13555     output->WriteVarint32(_path_cached_byte_size_);
   13556   }
   13557   for (int i = 0; i < this->path_size(); i++) {
   13558     ::google::protobuf::internal::WireFormatLite::WriteInt32NoTag(
   13559       this->path(i), output);
   13560   }
   13561 
   13562   // repeated int32 span = 2 [packed = true];
   13563   if (this->span_size() > 0) {
   13564     ::google::protobuf::internal::WireFormatLite::WriteTag(2, ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED, output);
   13565     output->WriteVarint32(_span_cached_byte_size_);
   13566   }
   13567   for (int i = 0; i < this->span_size(); i++) {
   13568     ::google::protobuf::internal::WireFormatLite::WriteInt32NoTag(
   13569       this->span(i), output);
   13570   }
   13571 
   13572   // optional string leading_comments = 3;
   13573   if (has_leading_comments()) {
   13574     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   13575       this->leading_comments().data(), this->leading_comments().length(),
   13576       ::google::protobuf::internal::WireFormat::SERIALIZE,
   13577       "google.protobuf.SourceCodeInfo.Location.leading_comments");
   13578     ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
   13579       3, this->leading_comments(), output);
   13580   }
   13581 
   13582   // optional string trailing_comments = 4;
   13583   if (has_trailing_comments()) {
   13584     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   13585       this->trailing_comments().data(), this->trailing_comments().length(),
   13586       ::google::protobuf::internal::WireFormat::SERIALIZE,
   13587       "google.protobuf.SourceCodeInfo.Location.trailing_comments");
   13588     ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
   13589       4, this->trailing_comments(), output);
   13590   }
   13591 
   13592   // repeated string leading_detached_comments = 6;
   13593   for (int i = 0; i < this->leading_detached_comments_size(); i++) {
   13594     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   13595       this->leading_detached_comments(i).data(), this->leading_detached_comments(i).length(),
   13596       ::google::protobuf::internal::WireFormat::SERIALIZE,
   13597       "google.protobuf.SourceCodeInfo.Location.leading_detached_comments");
   13598     ::google::protobuf::internal::WireFormatLite::WriteString(
   13599       6, this->leading_detached_comments(i), output);
   13600   }
   13601 
   13602   if (_internal_metadata_.have_unknown_fields()) {
   13603     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
   13604         unknown_fields(), output);
   13605   }
   13606   // @@protoc_insertion_point(serialize_end:google.protobuf.SourceCodeInfo.Location)
   13607 }
   13608 
   13609 ::google::protobuf::uint8* SourceCodeInfo_Location::SerializeWithCachedSizesToArray(
   13610     ::google::protobuf::uint8* target) const {
   13611   // @@protoc_insertion_point(serialize_to_array_start:google.protobuf.SourceCodeInfo.Location)
   13612   // repeated int32 path = 1 [packed = true];
   13613   if (this->path_size() > 0) {
   13614     target = ::google::protobuf::internal::WireFormatLite::WriteTagToArray(
   13615       1,
   13616       ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED,
   13617       target);
   13618     target = ::google::protobuf::io::CodedOutputStream::WriteVarint32ToArray(
   13619       _path_cached_byte_size_, target);
   13620   }
   13621   for (int i = 0; i < this->path_size(); i++) {
   13622     target = ::google::protobuf::internal::WireFormatLite::
   13623       WriteInt32NoTagToArray(this->path(i), target);
   13624   }
   13625 
   13626   // repeated int32 span = 2 [packed = true];
   13627   if (this->span_size() > 0) {
   13628     target = ::google::protobuf::internal::WireFormatLite::WriteTagToArray(
   13629       2,
   13630       ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED,
   13631       target);
   13632     target = ::google::protobuf::io::CodedOutputStream::WriteVarint32ToArray(
   13633       _span_cached_byte_size_, target);
   13634   }
   13635   for (int i = 0; i < this->span_size(); i++) {
   13636     target = ::google::protobuf::internal::WireFormatLite::
   13637       WriteInt32NoTagToArray(this->span(i), target);
   13638   }
   13639 
   13640   // optional string leading_comments = 3;
   13641   if (has_leading_comments()) {
   13642     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   13643       this->leading_comments().data(), this->leading_comments().length(),
   13644       ::google::protobuf::internal::WireFormat::SERIALIZE,
   13645       "google.protobuf.SourceCodeInfo.Location.leading_comments");
   13646     target =
   13647       ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
   13648         3, this->leading_comments(), target);
   13649   }
   13650 
   13651   // optional string trailing_comments = 4;
   13652   if (has_trailing_comments()) {
   13653     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   13654       this->trailing_comments().data(), this->trailing_comments().length(),
   13655       ::google::protobuf::internal::WireFormat::SERIALIZE,
   13656       "google.protobuf.SourceCodeInfo.Location.trailing_comments");
   13657     target =
   13658       ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
   13659         4, this->trailing_comments(), target);
   13660   }
   13661 
   13662   // repeated string leading_detached_comments = 6;
   13663   for (int i = 0; i < this->leading_detached_comments_size(); i++) {
   13664     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   13665       this->leading_detached_comments(i).data(), this->leading_detached_comments(i).length(),
   13666       ::google::protobuf::internal::WireFormat::SERIALIZE,
   13667       "google.protobuf.SourceCodeInfo.Location.leading_detached_comments");
   13668     target = ::google::protobuf::internal::WireFormatLite::
   13669       WriteStringToArray(6, this->leading_detached_comments(i), target);
   13670   }
   13671 
   13672   if (_internal_metadata_.have_unknown_fields()) {
   13673     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
   13674         unknown_fields(), target);
   13675   }
   13676   // @@protoc_insertion_point(serialize_to_array_end:google.protobuf.SourceCodeInfo.Location)
   13677   return target;
   13678 }
   13679 
   13680 int SourceCodeInfo_Location::ByteSize() const {
   13681 // @@protoc_insertion_point(message_byte_size_start:google.protobuf.SourceCodeInfo.Location)
   13682   int total_size = 0;
   13683 
   13684   if (_has_bits_[2 / 32] & 12u) {
   13685     // optional string leading_comments = 3;
   13686     if (has_leading_comments()) {
   13687       total_size += 1 +
   13688         ::google::protobuf::internal::WireFormatLite::StringSize(
   13689           this->leading_comments());
   13690     }
   13691 
   13692     // optional string trailing_comments = 4;
   13693     if (has_trailing_comments()) {
   13694       total_size += 1 +
   13695         ::google::protobuf::internal::WireFormatLite::StringSize(
   13696           this->trailing_comments());
   13697     }
   13698 
   13699   }
   13700   // repeated int32 path = 1 [packed = true];
   13701   {
   13702     int data_size = 0;
   13703     for (int i = 0; i < this->path_size(); i++) {
   13704       data_size += ::google::protobuf::internal::WireFormatLite::
   13705         Int32Size(this->path(i));
   13706     }
   13707     if (data_size > 0) {
   13708       total_size += 1 +
   13709         ::google::protobuf::internal::WireFormatLite::Int32Size(data_size);
   13710     }
   13711     GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   13712     _path_cached_byte_size_ = data_size;
   13713     GOOGLE_SAFE_CONCURRENT_WRITES_END();
   13714     total_size += data_size;
   13715   }
   13716 
   13717   // repeated int32 span = 2 [packed = true];
   13718   {
   13719     int data_size = 0;
   13720     for (int i = 0; i < this->span_size(); i++) {
   13721       data_size += ::google::protobuf::internal::WireFormatLite::
   13722         Int32Size(this->span(i));
   13723     }
   13724     if (data_size > 0) {
   13725       total_size += 1 +
   13726         ::google::protobuf::internal::WireFormatLite::Int32Size(data_size);
   13727     }
   13728     GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   13729     _span_cached_byte_size_ = data_size;
   13730     GOOGLE_SAFE_CONCURRENT_WRITES_END();
   13731     total_size += data_size;
   13732   }
   13733 
   13734   // repeated string leading_detached_comments = 6;
   13735   total_size += 1 * this->leading_detached_comments_size();
   13736   for (int i = 0; i < this->leading_detached_comments_size(); i++) {
   13737     total_size += ::google::protobuf::internal::WireFormatLite::StringSize(
   13738       this->leading_detached_comments(i));
   13739   }
   13740 
   13741   if (_internal_metadata_.have_unknown_fields()) {
   13742     total_size +=
   13743       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
   13744         unknown_fields());
   13745   }
   13746   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   13747   _cached_size_ = total_size;
   13748   GOOGLE_SAFE_CONCURRENT_WRITES_END();
   13749   return total_size;
   13750 }
   13751 
   13752 void SourceCodeInfo_Location::MergeFrom(const ::google::protobuf::Message& from) {
   13753 // @@protoc_insertion_point(generalized_merge_from_start:google.protobuf.SourceCodeInfo.Location)
   13754   if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
   13755   const SourceCodeInfo_Location* source =
   13756       ::google::protobuf::internal::DynamicCastToGenerated<const SourceCodeInfo_Location>(
   13757           &from);
   13758   if (source == NULL) {
   13759   // @@protoc_insertion_point(generalized_merge_from_cast_fail:google.protobuf.SourceCodeInfo.Location)
   13760     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
   13761   } else {
   13762   // @@protoc_insertion_point(generalized_merge_from_cast_success:google.protobuf.SourceCodeInfo.Location)
   13763     MergeFrom(*source);
   13764   }
   13765 }
   13766 
   13767 void SourceCodeInfo_Location::MergeFrom(const SourceCodeInfo_Location& from) {
   13768 // @@protoc_insertion_point(class_specific_merge_from_start:google.protobuf.SourceCodeInfo.Location)
   13769   if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
   13770   path_.MergeFrom(from.path_);
   13771   span_.MergeFrom(from.span_);
   13772   leading_detached_comments_.MergeFrom(from.leading_detached_comments_);
   13773   if (from._has_bits_[2 / 32] & (0xffu << (2 % 32))) {
   13774     if (from.has_leading_comments()) {
   13775       set_has_leading_comments();
   13776       leading_comments_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.leading_comments_);
   13777     }
   13778     if (from.has_trailing_comments()) {
   13779       set_has_trailing_comments();
   13780       trailing_comments_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.trailing_comments_);
   13781     }
   13782   }
   13783   if (from._internal_metadata_.have_unknown_fields()) {
   13784     mutable_unknown_fields()->MergeFrom(from.unknown_fields());
   13785   }
   13786 }
   13787 
   13788 void SourceCodeInfo_Location::CopyFrom(const ::google::protobuf::Message& from) {
   13789 // @@protoc_insertion_point(generalized_copy_from_start:google.protobuf.SourceCodeInfo.Location)
   13790   if (&from == this) return;
   13791   Clear();
   13792   MergeFrom(from);
   13793 }
   13794 
   13795 void SourceCodeInfo_Location::CopyFrom(const SourceCodeInfo_Location& from) {
   13796 // @@protoc_insertion_point(class_specific_copy_from_start:google.protobuf.SourceCodeInfo.Location)
   13797   if (&from == this) return;
   13798   Clear();
   13799   MergeFrom(from);
   13800 }
   13801 
   13802 bool SourceCodeInfo_Location::IsInitialized() const {
   13803 
   13804   return true;
   13805 }
   13806 
   13807 void SourceCodeInfo_Location::Swap(SourceCodeInfo_Location* other) {
   13808   if (other == this) return;
   13809   InternalSwap(other);
   13810 }
   13811 void SourceCodeInfo_Location::InternalSwap(SourceCodeInfo_Location* other) {
   13812   path_.UnsafeArenaSwap(&other->path_);
   13813   span_.UnsafeArenaSwap(&other->span_);
   13814   leading_comments_.Swap(&other->leading_comments_);
   13815   trailing_comments_.Swap(&other->trailing_comments_);
   13816   leading_detached_comments_.UnsafeArenaSwap(&other->leading_detached_comments_);
   13817   std::swap(_has_bits_[0], other->_has_bits_[0]);
   13818   _internal_metadata_.Swap(&other->_internal_metadata_);
   13819   std::swap(_cached_size_, other->_cached_size_);
   13820 }
   13821 
   13822 ::google::protobuf::Metadata SourceCodeInfo_Location::GetMetadata() const {
   13823   protobuf_AssignDescriptorsOnce();
   13824   ::google::protobuf::Metadata metadata;
   13825   metadata.descriptor = SourceCodeInfo_Location_descriptor_;
   13826   metadata.reflection = SourceCodeInfo_Location_reflection_;
   13827   return metadata;
   13828 }
   13829 
   13830 
   13831 // -------------------------------------------------------------------
   13832 
   13833 #if !defined(_MSC_VER) || _MSC_VER >= 1900
   13834 const int SourceCodeInfo::kLocationFieldNumber;
   13835 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
   13836 
   13837 SourceCodeInfo::SourceCodeInfo()
   13838   : ::google::protobuf::Message(), _internal_metadata_(NULL) {
   13839   SharedCtor();
   13840   // @@protoc_insertion_point(constructor:google.protobuf.SourceCodeInfo)
   13841 }
   13842 
   13843 void SourceCodeInfo::InitAsDefaultInstance() {
   13844 }
   13845 
   13846 SourceCodeInfo::SourceCodeInfo(const SourceCodeInfo& from)
   13847   : ::google::protobuf::Message(),
   13848     _internal_metadata_(NULL) {
   13849   SharedCtor();
   13850   MergeFrom(from);
   13851   // @@protoc_insertion_point(copy_constructor:google.protobuf.SourceCodeInfo)
   13852 }
   13853 
   13854 void SourceCodeInfo::SharedCtor() {
   13855   _cached_size_ = 0;
   13856   ::memset(_has_bits_, 0, sizeof(_has_bits_));
   13857 }
   13858 
   13859 SourceCodeInfo::~SourceCodeInfo() {
   13860   // @@protoc_insertion_point(destructor:google.protobuf.SourceCodeInfo)
   13861   SharedDtor();
   13862 }
   13863 
   13864 void SourceCodeInfo::SharedDtor() {
   13865   if (this != default_instance_) {
   13866   }
   13867 }
   13868 
   13869 void SourceCodeInfo::SetCachedSize(int size) const {
   13870   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   13871   _cached_size_ = size;
   13872   GOOGLE_SAFE_CONCURRENT_WRITES_END();
   13873 }
   13874 const ::google::protobuf::Descriptor* SourceCodeInfo::descriptor() {
   13875   protobuf_AssignDescriptorsOnce();
   13876   return SourceCodeInfo_descriptor_;
   13877 }
   13878 
   13879 const SourceCodeInfo& SourceCodeInfo::default_instance() {
   13880   if (default_instance_ == NULL) protobuf_AddDesc_google_2fprotobuf_2fdescriptor_2eproto();
   13881   return *default_instance_;
   13882 }
   13883 
   13884 SourceCodeInfo* SourceCodeInfo::default_instance_ = NULL;
   13885 
   13886 SourceCodeInfo* SourceCodeInfo::New(::google::protobuf::Arena* arena) const {
   13887   SourceCodeInfo* n = new SourceCodeInfo;
   13888   if (arena != NULL) {
   13889     arena->Own(n);
   13890   }
   13891   return n;
   13892 }
   13893 
   13894 void SourceCodeInfo::Clear() {
   13895 // @@protoc_insertion_point(message_clear_start:google.protobuf.SourceCodeInfo)
   13896   location_.Clear();
   13897   ::memset(_has_bits_, 0, sizeof(_has_bits_));
   13898   if (_internal_metadata_.have_unknown_fields()) {
   13899     mutable_unknown_fields()->Clear();
   13900   }
   13901 }
   13902 
   13903 bool SourceCodeInfo::MergePartialFromCodedStream(
   13904     ::google::protobuf::io::CodedInputStream* input) {
   13905 #define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
   13906   ::google::protobuf::uint32 tag;
   13907   // @@protoc_insertion_point(parse_start:google.protobuf.SourceCodeInfo)
   13908   for (;;) {
   13909     ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
   13910     tag = p.first;
   13911     if (!p.second) goto handle_unusual;
   13912     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
   13913       // repeated .google.protobuf.SourceCodeInfo.Location location = 1;
   13914       case 1: {
   13915         if (tag == 10) {
   13916           DO_(input->IncrementRecursionDepth());
   13917          parse_loop_location:
   13918           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtualNoRecursionDepth(
   13919                 input, add_location()));
   13920         } else {
   13921           goto handle_unusual;
   13922         }
   13923         if (input->ExpectTag(10)) goto parse_loop_location;
   13924         input->UnsafeDecrementRecursionDepth();
   13925         if (input->ExpectAtEnd()) goto success;
   13926         break;
   13927       }
   13928 
   13929       default: {
   13930       handle_unusual:
   13931         if (tag == 0 ||
   13932             ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
   13933             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
   13934           goto success;
   13935         }
   13936         DO_(::google::protobuf::internal::WireFormat::SkipField(
   13937               input, tag, mutable_unknown_fields()));
   13938         break;
   13939       }
   13940     }
   13941   }
   13942 success:
   13943   // @@protoc_insertion_point(parse_success:google.protobuf.SourceCodeInfo)
   13944   return true;
   13945 failure:
   13946   // @@protoc_insertion_point(parse_failure:google.protobuf.SourceCodeInfo)
   13947   return false;
   13948 #undef DO_
   13949 }
   13950 
   13951 void SourceCodeInfo::SerializeWithCachedSizes(
   13952     ::google::protobuf::io::CodedOutputStream* output) const {
   13953   // @@protoc_insertion_point(serialize_start:google.protobuf.SourceCodeInfo)
   13954   // repeated .google.protobuf.SourceCodeInfo.Location location = 1;
   13955   for (unsigned int i = 0, n = this->location_size(); i < n; i++) {
   13956     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
   13957       1, this->location(i), output);
   13958   }
   13959 
   13960   if (_internal_metadata_.have_unknown_fields()) {
   13961     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
   13962         unknown_fields(), output);
   13963   }
   13964   // @@protoc_insertion_point(serialize_end:google.protobuf.SourceCodeInfo)
   13965 }
   13966 
   13967 ::google::protobuf::uint8* SourceCodeInfo::SerializeWithCachedSizesToArray(
   13968     ::google::protobuf::uint8* target) const {
   13969   // @@protoc_insertion_point(serialize_to_array_start:google.protobuf.SourceCodeInfo)
   13970   // repeated .google.protobuf.SourceCodeInfo.Location location = 1;
   13971   for (unsigned int i = 0, n = this->location_size(); i < n; i++) {
   13972     target = ::google::protobuf::internal::WireFormatLite::
   13973       WriteMessageNoVirtualToArray(
   13974         1, this->location(i), target);
   13975   }
   13976 
   13977   if (_internal_metadata_.have_unknown_fields()) {
   13978     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
   13979         unknown_fields(), target);
   13980   }
   13981   // @@protoc_insertion_point(serialize_to_array_end:google.protobuf.SourceCodeInfo)
   13982   return target;
   13983 }
   13984 
   13985 int SourceCodeInfo::ByteSize() const {
   13986 // @@protoc_insertion_point(message_byte_size_start:google.protobuf.SourceCodeInfo)
   13987   int total_size = 0;
   13988 
   13989   // repeated .google.protobuf.SourceCodeInfo.Location location = 1;
   13990   total_size += 1 * this->location_size();
   13991   for (int i = 0; i < this->location_size(); i++) {
   13992     total_size +=
   13993       ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
   13994         this->location(i));
   13995   }
   13996 
   13997   if (_internal_metadata_.have_unknown_fields()) {
   13998     total_size +=
   13999       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
   14000         unknown_fields());
   14001   }
   14002   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   14003   _cached_size_ = total_size;
   14004   GOOGLE_SAFE_CONCURRENT_WRITES_END();
   14005   return total_size;
   14006 }
   14007 
   14008 void SourceCodeInfo::MergeFrom(const ::google::protobuf::Message& from) {
   14009 // @@protoc_insertion_point(generalized_merge_from_start:google.protobuf.SourceCodeInfo)
   14010   if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
   14011   const SourceCodeInfo* source =
   14012       ::google::protobuf::internal::DynamicCastToGenerated<const SourceCodeInfo>(
   14013           &from);
   14014   if (source == NULL) {
   14015   // @@protoc_insertion_point(generalized_merge_from_cast_fail:google.protobuf.SourceCodeInfo)
   14016     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
   14017   } else {
   14018   // @@protoc_insertion_point(generalized_merge_from_cast_success:google.protobuf.SourceCodeInfo)
   14019     MergeFrom(*source);
   14020   }
   14021 }
   14022 
   14023 void SourceCodeInfo::MergeFrom(const SourceCodeInfo& from) {
   14024 // @@protoc_insertion_point(class_specific_merge_from_start:google.protobuf.SourceCodeInfo)
   14025   if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
   14026   location_.MergeFrom(from.location_);
   14027   if (from._internal_metadata_.have_unknown_fields()) {
   14028     mutable_unknown_fields()->MergeFrom(from.unknown_fields());
   14029   }
   14030 }
   14031 
   14032 void SourceCodeInfo::CopyFrom(const ::google::protobuf::Message& from) {
   14033 // @@protoc_insertion_point(generalized_copy_from_start:google.protobuf.SourceCodeInfo)
   14034   if (&from == this) return;
   14035   Clear();
   14036   MergeFrom(from);
   14037 }
   14038 
   14039 void SourceCodeInfo::CopyFrom(const SourceCodeInfo& from) {
   14040 // @@protoc_insertion_point(class_specific_copy_from_start:google.protobuf.SourceCodeInfo)
   14041   if (&from == this) return;
   14042   Clear();
   14043   MergeFrom(from);
   14044 }
   14045 
   14046 bool SourceCodeInfo::IsInitialized() const {
   14047 
   14048   return true;
   14049 }
   14050 
   14051 void SourceCodeInfo::Swap(SourceCodeInfo* other) {
   14052   if (other == this) return;
   14053   InternalSwap(other);
   14054 }
   14055 void SourceCodeInfo::InternalSwap(SourceCodeInfo* other) {
   14056   location_.UnsafeArenaSwap(&other->location_);
   14057   std::swap(_has_bits_[0], other->_has_bits_[0]);
   14058   _internal_metadata_.Swap(&other->_internal_metadata_);
   14059   std::swap(_cached_size_, other->_cached_size_);
   14060 }
   14061 
   14062 ::google::protobuf::Metadata SourceCodeInfo::GetMetadata() const {
   14063   protobuf_AssignDescriptorsOnce();
   14064   ::google::protobuf::Metadata metadata;
   14065   metadata.descriptor = SourceCodeInfo_descriptor_;
   14066   metadata.reflection = SourceCodeInfo_reflection_;
   14067   return metadata;
   14068 }
   14069 
   14070 #if PROTOBUF_INLINE_NOT_IN_HEADERS
   14071 // SourceCodeInfo_Location
   14072 
   14073 // repeated int32 path = 1 [packed = true];
   14074 int SourceCodeInfo_Location::path_size() const {
   14075   return path_.size();
   14076 }
   14077 void SourceCodeInfo_Location::clear_path() {
   14078   path_.Clear();
   14079 }
   14080  ::google::protobuf::int32 SourceCodeInfo_Location::path(int index) const {
   14081   // @@protoc_insertion_point(field_get:google.protobuf.SourceCodeInfo.Location.path)
   14082   return path_.Get(index);
   14083 }
   14084  void SourceCodeInfo_Location::set_path(int index, ::google::protobuf::int32 value) {
   14085   path_.Set(index, value);
   14086   // @@protoc_insertion_point(field_set:google.protobuf.SourceCodeInfo.Location.path)
   14087 }
   14088  void SourceCodeInfo_Location::add_path(::google::protobuf::int32 value) {
   14089   path_.Add(value);
   14090   // @@protoc_insertion_point(field_add:google.protobuf.SourceCodeInfo.Location.path)
   14091 }
   14092  const ::google::protobuf::RepeatedField< ::google::protobuf::int32 >&
   14093 SourceCodeInfo_Location::path() const {
   14094   // @@protoc_insertion_point(field_list:google.protobuf.SourceCodeInfo.Location.path)
   14095   return path_;
   14096 }
   14097  ::google::protobuf::RepeatedField< ::google::protobuf::int32 >*
   14098 SourceCodeInfo_Location::mutable_path() {
   14099   // @@protoc_insertion_point(field_mutable_list:google.protobuf.SourceCodeInfo.Location.path)
   14100   return &path_;
   14101 }
   14102 
   14103 // repeated int32 span = 2 [packed = true];
   14104 int SourceCodeInfo_Location::span_size() const {
   14105   return span_.size();
   14106 }
   14107 void SourceCodeInfo_Location::clear_span() {
   14108   span_.Clear();
   14109 }
   14110  ::google::protobuf::int32 SourceCodeInfo_Location::span(int index) const {
   14111   // @@protoc_insertion_point(field_get:google.protobuf.SourceCodeInfo.Location.span)
   14112   return span_.Get(index);
   14113 }
   14114  void SourceCodeInfo_Location::set_span(int index, ::google::protobuf::int32 value) {
   14115   span_.Set(index, value);
   14116   // @@protoc_insertion_point(field_set:google.protobuf.SourceCodeInfo.Location.span)
   14117 }
   14118  void SourceCodeInfo_Location::add_span(::google::protobuf::int32 value) {
   14119   span_.Add(value);
   14120   // @@protoc_insertion_point(field_add:google.protobuf.SourceCodeInfo.Location.span)
   14121 }
   14122  const ::google::protobuf::RepeatedField< ::google::protobuf::int32 >&
   14123 SourceCodeInfo_Location::span() const {
   14124   // @@protoc_insertion_point(field_list:google.protobuf.SourceCodeInfo.Location.span)
   14125   return span_;
   14126 }
   14127  ::google::protobuf::RepeatedField< ::google::protobuf::int32 >*
   14128 SourceCodeInfo_Location::mutable_span() {
   14129   // @@protoc_insertion_point(field_mutable_list:google.protobuf.SourceCodeInfo.Location.span)
   14130   return &span_;
   14131 }
   14132 
   14133 // optional string leading_comments = 3;
   14134 bool SourceCodeInfo_Location::has_leading_comments() const {
   14135   return (_has_bits_[0] & 0x00000004u) != 0;
   14136 }
   14137 void SourceCodeInfo_Location::set_has_leading_comments() {
   14138   _has_bits_[0] |= 0x00000004u;
   14139 }
   14140 void SourceCodeInfo_Location::clear_has_leading_comments() {
   14141   _has_bits_[0] &= ~0x00000004u;
   14142 }
   14143 void SourceCodeInfo_Location::clear_leading_comments() {
   14144   leading_comments_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   14145   clear_has_leading_comments();
   14146 }
   14147  const ::std::string& SourceCodeInfo_Location::leading_comments() const {
   14148   // @@protoc_insertion_point(field_get:google.protobuf.SourceCodeInfo.Location.leading_comments)
   14149   return leading_comments_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   14150 }
   14151  void SourceCodeInfo_Location::set_leading_comments(const ::std::string& value) {
   14152   set_has_leading_comments();
   14153   leading_comments_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
   14154   // @@protoc_insertion_point(field_set:google.protobuf.SourceCodeInfo.Location.leading_comments)
   14155 }
   14156  void SourceCodeInfo_Location::set_leading_comments(const char* value) {
   14157   set_has_leading_comments();
   14158   leading_comments_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
   14159   // @@protoc_insertion_point(field_set_char:google.protobuf.SourceCodeInfo.Location.leading_comments)
   14160 }
   14161  void SourceCodeInfo_Location::set_leading_comments(const char* value, size_t size) {
   14162   set_has_leading_comments();
   14163   leading_comments_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
   14164       ::std::string(reinterpret_cast<const char*>(value), size));
   14165   // @@protoc_insertion_point(field_set_pointer:google.protobuf.SourceCodeInfo.Location.leading_comments)
   14166 }
   14167  ::std::string* SourceCodeInfo_Location::mutable_leading_comments() {
   14168   set_has_leading_comments();
   14169   // @@protoc_insertion_point(field_mutable:google.protobuf.SourceCodeInfo.Location.leading_comments)
   14170   return leading_comments_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   14171 }
   14172  ::std::string* SourceCodeInfo_Location::release_leading_comments() {
   14173   // @@protoc_insertion_point(field_release:google.protobuf.SourceCodeInfo.Location.leading_comments)
   14174   clear_has_leading_comments();
   14175   return leading_comments_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   14176 }
   14177  void SourceCodeInfo_Location::set_allocated_leading_comments(::std::string* leading_comments) {
   14178   if (leading_comments != NULL) {
   14179     set_has_leading_comments();
   14180   } else {
   14181     clear_has_leading_comments();
   14182   }
   14183   leading_comments_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), leading_comments);
   14184   // @@protoc_insertion_point(field_set_allocated:google.protobuf.SourceCodeInfo.Location.leading_comments)
   14185 }
   14186 
   14187 // optional string trailing_comments = 4;
   14188 bool SourceCodeInfo_Location::has_trailing_comments() const {
   14189   return (_has_bits_[0] & 0x00000008u) != 0;
   14190 }
   14191 void SourceCodeInfo_Location::set_has_trailing_comments() {
   14192   _has_bits_[0] |= 0x00000008u;
   14193 }
   14194 void SourceCodeInfo_Location::clear_has_trailing_comments() {
   14195   _has_bits_[0] &= ~0x00000008u;
   14196 }
   14197 void SourceCodeInfo_Location::clear_trailing_comments() {
   14198   trailing_comments_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   14199   clear_has_trailing_comments();
   14200 }
   14201  const ::std::string& SourceCodeInfo_Location::trailing_comments() const {
   14202   // @@protoc_insertion_point(field_get:google.protobuf.SourceCodeInfo.Location.trailing_comments)
   14203   return trailing_comments_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   14204 }
   14205  void SourceCodeInfo_Location::set_trailing_comments(const ::std::string& value) {
   14206   set_has_trailing_comments();
   14207   trailing_comments_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
   14208   // @@protoc_insertion_point(field_set:google.protobuf.SourceCodeInfo.Location.trailing_comments)
   14209 }
   14210  void SourceCodeInfo_Location::set_trailing_comments(const char* value) {
   14211   set_has_trailing_comments();
   14212   trailing_comments_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
   14213   // @@protoc_insertion_point(field_set_char:google.protobuf.SourceCodeInfo.Location.trailing_comments)
   14214 }
   14215  void SourceCodeInfo_Location::set_trailing_comments(const char* value, size_t size) {
   14216   set_has_trailing_comments();
   14217   trailing_comments_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
   14218       ::std::string(reinterpret_cast<const char*>(value), size));
   14219   // @@protoc_insertion_point(field_set_pointer:google.protobuf.SourceCodeInfo.Location.trailing_comments)
   14220 }
   14221  ::std::string* SourceCodeInfo_Location::mutable_trailing_comments() {
   14222   set_has_trailing_comments();
   14223   // @@protoc_insertion_point(field_mutable:google.protobuf.SourceCodeInfo.Location.trailing_comments)
   14224   return trailing_comments_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   14225 }
   14226  ::std::string* SourceCodeInfo_Location::release_trailing_comments() {
   14227   // @@protoc_insertion_point(field_release:google.protobuf.SourceCodeInfo.Location.trailing_comments)
   14228   clear_has_trailing_comments();
   14229   return trailing_comments_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   14230 }
   14231  void SourceCodeInfo_Location::set_allocated_trailing_comments(::std::string* trailing_comments) {
   14232   if (trailing_comments != NULL) {
   14233     set_has_trailing_comments();
   14234   } else {
   14235     clear_has_trailing_comments();
   14236   }
   14237   trailing_comments_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), trailing_comments);
   14238   // @@protoc_insertion_point(field_set_allocated:google.protobuf.SourceCodeInfo.Location.trailing_comments)
   14239 }
   14240 
   14241 // repeated string leading_detached_comments = 6;
   14242 int SourceCodeInfo_Location::leading_detached_comments_size() const {
   14243   return leading_detached_comments_.size();
   14244 }
   14245 void SourceCodeInfo_Location::clear_leading_detached_comments() {
   14246   leading_detached_comments_.Clear();
   14247 }
   14248  const ::std::string& SourceCodeInfo_Location::leading_detached_comments(int index) const {
   14249   // @@protoc_insertion_point(field_get:google.protobuf.SourceCodeInfo.Location.leading_detached_comments)
   14250   return leading_detached_comments_.Get(index);
   14251 }
   14252  ::std::string* SourceCodeInfo_Location::mutable_leading_detached_comments(int index) {
   14253   // @@protoc_insertion_point(field_mutable:google.protobuf.SourceCodeInfo.Location.leading_detached_comments)
   14254   return leading_detached_comments_.Mutable(index);
   14255 }
   14256  void SourceCodeInfo_Location::set_leading_detached_comments(int index, const ::std::string& value) {
   14257   // @@protoc_insertion_point(field_set:google.protobuf.SourceCodeInfo.Location.leading_detached_comments)
   14258   leading_detached_comments_.Mutable(index)->assign(value);
   14259 }
   14260  void SourceCodeInfo_Location::set_leading_detached_comments(int index, const char* value) {
   14261   leading_detached_comments_.Mutable(index)->assign(value);
   14262   // @@protoc_insertion_point(field_set_char:google.protobuf.SourceCodeInfo.Location.leading_detached_comments)
   14263 }
   14264  void SourceCodeInfo_Location::set_leading_detached_comments(int index, const char* value, size_t size) {
   14265   leading_detached_comments_.Mutable(index)->assign(
   14266     reinterpret_cast<const char*>(value), size);
   14267   // @@protoc_insertion_point(field_set_pointer:google.protobuf.SourceCodeInfo.Location.leading_detached_comments)
   14268 }
   14269  ::std::string* SourceCodeInfo_Location::add_leading_detached_comments() {
   14270   // @@protoc_insertion_point(field_add_mutable:google.protobuf.SourceCodeInfo.Location.leading_detached_comments)
   14271   return leading_detached_comments_.Add();
   14272 }
   14273  void SourceCodeInfo_Location::add_leading_detached_comments(const ::std::string& value) {
   14274   leading_detached_comments_.Add()->assign(value);
   14275   // @@protoc_insertion_point(field_add:google.protobuf.SourceCodeInfo.Location.leading_detached_comments)
   14276 }
   14277  void SourceCodeInfo_Location::add_leading_detached_comments(const char* value) {
   14278   leading_detached_comments_.Add()->assign(value);
   14279   // @@protoc_insertion_point(field_add_char:google.protobuf.SourceCodeInfo.Location.leading_detached_comments)
   14280 }
   14281  void SourceCodeInfo_Location::add_leading_detached_comments(const char* value, size_t size) {
   14282   leading_detached_comments_.Add()->assign(reinterpret_cast<const char*>(value), size);
   14283   // @@protoc_insertion_point(field_add_pointer:google.protobuf.SourceCodeInfo.Location.leading_detached_comments)
   14284 }
   14285  const ::google::protobuf::RepeatedPtrField< ::std::string>&
   14286 SourceCodeInfo_Location::leading_detached_comments() const {
   14287   // @@protoc_insertion_point(field_list:google.protobuf.SourceCodeInfo.Location.leading_detached_comments)
   14288   return leading_detached_comments_;
   14289 }
   14290  ::google::protobuf::RepeatedPtrField< ::std::string>*
   14291 SourceCodeInfo_Location::mutable_leading_detached_comments() {
   14292   // @@protoc_insertion_point(field_mutable_list:google.protobuf.SourceCodeInfo.Location.leading_detached_comments)
   14293   return &leading_detached_comments_;
   14294 }
   14295 
   14296 // -------------------------------------------------------------------
   14297 
   14298 // SourceCodeInfo
   14299 
   14300 // repeated .google.protobuf.SourceCodeInfo.Location location = 1;
   14301 int SourceCodeInfo::location_size() const {
   14302   return location_.size();
   14303 }
   14304 void SourceCodeInfo::clear_location() {
   14305   location_.Clear();
   14306 }
   14307 const ::google::protobuf::SourceCodeInfo_Location& SourceCodeInfo::location(int index) const {
   14308   // @@protoc_insertion_point(field_get:google.protobuf.SourceCodeInfo.location)
   14309   return location_.Get(index);
   14310 }
   14311 ::google::protobuf::SourceCodeInfo_Location* SourceCodeInfo::mutable_location(int index) {
   14312   // @@protoc_insertion_point(field_mutable:google.protobuf.SourceCodeInfo.location)
   14313   return location_.Mutable(index);
   14314 }
   14315 ::google::protobuf::SourceCodeInfo_Location* SourceCodeInfo::add_location() {
   14316   // @@protoc_insertion_point(field_add:google.protobuf.SourceCodeInfo.location)
   14317   return location_.Add();
   14318 }
   14319 ::google::protobuf::RepeatedPtrField< ::google::protobuf::SourceCodeInfo_Location >*
   14320 SourceCodeInfo::mutable_location() {
   14321   // @@protoc_insertion_point(field_mutable_list:google.protobuf.SourceCodeInfo.location)
   14322   return &location_;
   14323 }
   14324 const ::google::protobuf::RepeatedPtrField< ::google::protobuf::SourceCodeInfo_Location >&
   14325 SourceCodeInfo::location() const {
   14326   // @@protoc_insertion_point(field_list:google.protobuf.SourceCodeInfo.location)
   14327   return location_;
   14328 }
   14329 
   14330 #endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
   14331 
   14332 // ===================================================================
   14333 
   14334 #if !defined(_MSC_VER) || _MSC_VER >= 1900
   14335 const int GeneratedCodeInfo_Annotation::kPathFieldNumber;
   14336 const int GeneratedCodeInfo_Annotation::kSourceFileFieldNumber;
   14337 const int GeneratedCodeInfo_Annotation::kBeginFieldNumber;
   14338 const int GeneratedCodeInfo_Annotation::kEndFieldNumber;
   14339 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
   14340 
   14341 GeneratedCodeInfo_Annotation::GeneratedCodeInfo_Annotation()
   14342   : ::google::protobuf::Message(), _internal_metadata_(NULL) {
   14343   SharedCtor();
   14344   // @@protoc_insertion_point(constructor:google.protobuf.GeneratedCodeInfo.Annotation)
   14345 }
   14346 
   14347 void GeneratedCodeInfo_Annotation::InitAsDefaultInstance() {
   14348 }
   14349 
   14350 GeneratedCodeInfo_Annotation::GeneratedCodeInfo_Annotation(const GeneratedCodeInfo_Annotation& from)
   14351   : ::google::protobuf::Message(),
   14352     _internal_metadata_(NULL) {
   14353   SharedCtor();
   14354   MergeFrom(from);
   14355   // @@protoc_insertion_point(copy_constructor:google.protobuf.GeneratedCodeInfo.Annotation)
   14356 }
   14357 
   14358 void GeneratedCodeInfo_Annotation::SharedCtor() {
   14359   ::google::protobuf::internal::GetEmptyString();
   14360   _cached_size_ = 0;
   14361   source_file_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   14362   begin_ = 0;
   14363   end_ = 0;
   14364   ::memset(_has_bits_, 0, sizeof(_has_bits_));
   14365 }
   14366 
   14367 GeneratedCodeInfo_Annotation::~GeneratedCodeInfo_Annotation() {
   14368   // @@protoc_insertion_point(destructor:google.protobuf.GeneratedCodeInfo.Annotation)
   14369   SharedDtor();
   14370 }
   14371 
   14372 void GeneratedCodeInfo_Annotation::SharedDtor() {
   14373   source_file_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   14374   if (this != default_instance_) {
   14375   }
   14376 }
   14377 
   14378 void GeneratedCodeInfo_Annotation::SetCachedSize(int size) const {
   14379   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   14380   _cached_size_ = size;
   14381   GOOGLE_SAFE_CONCURRENT_WRITES_END();
   14382 }
   14383 const ::google::protobuf::Descriptor* GeneratedCodeInfo_Annotation::descriptor() {
   14384   protobuf_AssignDescriptorsOnce();
   14385   return GeneratedCodeInfo_Annotation_descriptor_;
   14386 }
   14387 
   14388 const GeneratedCodeInfo_Annotation& GeneratedCodeInfo_Annotation::default_instance() {
   14389   if (default_instance_ == NULL) protobuf_AddDesc_google_2fprotobuf_2fdescriptor_2eproto();
   14390   return *default_instance_;
   14391 }
   14392 
   14393 GeneratedCodeInfo_Annotation* GeneratedCodeInfo_Annotation::default_instance_ = NULL;
   14394 
   14395 GeneratedCodeInfo_Annotation* GeneratedCodeInfo_Annotation::New(::google::protobuf::Arena* arena) const {
   14396   GeneratedCodeInfo_Annotation* n = new GeneratedCodeInfo_Annotation;
   14397   if (arena != NULL) {
   14398     arena->Own(n);
   14399   }
   14400   return n;
   14401 }
   14402 
   14403 void GeneratedCodeInfo_Annotation::Clear() {
   14404 // @@protoc_insertion_point(message_clear_start:google.protobuf.GeneratedCodeInfo.Annotation)
   14405 #if defined(__clang__)
   14406 #define ZR_HELPER_(f) \
   14407   _Pragma("clang diagnostic push") \
   14408   _Pragma("clang diagnostic ignored \"-Winvalid-offsetof\"") \
   14409   __builtin_offsetof(GeneratedCodeInfo_Annotation, f) \
   14410   _Pragma("clang diagnostic pop")
   14411 #else
   14412 #define ZR_HELPER_(f) reinterpret_cast<char*>(\
   14413   &reinterpret_cast<GeneratedCodeInfo_Annotation*>(16)->f)
   14414 #endif
   14415 
   14416 #define ZR_(first, last) do {\
   14417   ::memset(&(first), 0,\
   14418            ZR_HELPER_(last) - ZR_HELPER_(first) + sizeof(last));\
   14419 } while (0)
   14420 
   14421   if (_has_bits_[0 / 32] & 14u) {
   14422     ZR_(begin_, end_);
   14423     if (has_source_file()) {
   14424       source_file_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   14425     }
   14426   }
   14427 
   14428 #undef ZR_HELPER_
   14429 #undef ZR_
   14430 
   14431   path_.Clear();
   14432   ::memset(_has_bits_, 0, sizeof(_has_bits_));
   14433   if (_internal_metadata_.have_unknown_fields()) {
   14434     mutable_unknown_fields()->Clear();
   14435   }
   14436 }
   14437 
   14438 bool GeneratedCodeInfo_Annotation::MergePartialFromCodedStream(
   14439     ::google::protobuf::io::CodedInputStream* input) {
   14440 #define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
   14441   ::google::protobuf::uint32 tag;
   14442   // @@protoc_insertion_point(parse_start:google.protobuf.GeneratedCodeInfo.Annotation)
   14443   for (;;) {
   14444     ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
   14445     tag = p.first;
   14446     if (!p.second) goto handle_unusual;
   14447     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
   14448       // repeated int32 path = 1 [packed = true];
   14449       case 1: {
   14450         if (tag == 10) {
   14451           DO_((::google::protobuf::internal::WireFormatLite::ReadPackedPrimitive<
   14452                    ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
   14453                  input, this->mutable_path())));
   14454         } else if (tag == 8) {
   14455           DO_((::google::protobuf::internal::WireFormatLite::ReadRepeatedPrimitiveNoInline<
   14456                    ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
   14457                  1, 10, input, this->mutable_path())));
   14458         } else {
   14459           goto handle_unusual;
   14460         }
   14461         if (input->ExpectTag(18)) goto parse_source_file;
   14462         break;
   14463       }
   14464 
   14465       // optional string source_file = 2;
   14466       case 2: {
   14467         if (tag == 18) {
   14468          parse_source_file:
   14469           DO_(::google::protobuf::internal::WireFormatLite::ReadString(
   14470                 input, this->mutable_source_file()));
   14471           ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   14472             this->source_file().data(), this->source_file().length(),
   14473             ::google::protobuf::internal::WireFormat::PARSE,
   14474             "google.protobuf.GeneratedCodeInfo.Annotation.source_file");
   14475         } else {
   14476           goto handle_unusual;
   14477         }
   14478         if (input->ExpectTag(24)) goto parse_begin;
   14479         break;
   14480       }
   14481 
   14482       // optional int32 begin = 3;
   14483       case 3: {
   14484         if (tag == 24) {
   14485          parse_begin:
   14486           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
   14487                    ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
   14488                  input, &begin_)));
   14489           set_has_begin();
   14490         } else {
   14491           goto handle_unusual;
   14492         }
   14493         if (input->ExpectTag(32)) goto parse_end;
   14494         break;
   14495       }
   14496 
   14497       // optional int32 end = 4;
   14498       case 4: {
   14499         if (tag == 32) {
   14500          parse_end:
   14501           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
   14502                    ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
   14503                  input, &end_)));
   14504           set_has_end();
   14505         } else {
   14506           goto handle_unusual;
   14507         }
   14508         if (input->ExpectAtEnd()) goto success;
   14509         break;
   14510       }
   14511 
   14512       default: {
   14513       handle_unusual:
   14514         if (tag == 0 ||
   14515             ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
   14516             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
   14517           goto success;
   14518         }
   14519         DO_(::google::protobuf::internal::WireFormat::SkipField(
   14520               input, tag, mutable_unknown_fields()));
   14521         break;
   14522       }
   14523     }
   14524   }
   14525 success:
   14526   // @@protoc_insertion_point(parse_success:google.protobuf.GeneratedCodeInfo.Annotation)
   14527   return true;
   14528 failure:
   14529   // @@protoc_insertion_point(parse_failure:google.protobuf.GeneratedCodeInfo.Annotation)
   14530   return false;
   14531 #undef DO_
   14532 }
   14533 
   14534 void GeneratedCodeInfo_Annotation::SerializeWithCachedSizes(
   14535     ::google::protobuf::io::CodedOutputStream* output) const {
   14536   // @@protoc_insertion_point(serialize_start:google.protobuf.GeneratedCodeInfo.Annotation)
   14537   // repeated int32 path = 1 [packed = true];
   14538   if (this->path_size() > 0) {
   14539     ::google::protobuf::internal::WireFormatLite::WriteTag(1, ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED, output);
   14540     output->WriteVarint32(_path_cached_byte_size_);
   14541   }
   14542   for (int i = 0; i < this->path_size(); i++) {
   14543     ::google::protobuf::internal::WireFormatLite::WriteInt32NoTag(
   14544       this->path(i), output);
   14545   }
   14546 
   14547   // optional string source_file = 2;
   14548   if (has_source_file()) {
   14549     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   14550       this->source_file().data(), this->source_file().length(),
   14551       ::google::protobuf::internal::WireFormat::SERIALIZE,
   14552       "google.protobuf.GeneratedCodeInfo.Annotation.source_file");
   14553     ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
   14554       2, this->source_file(), output);
   14555   }
   14556 
   14557   // optional int32 begin = 3;
   14558   if (has_begin()) {
   14559     ::google::protobuf::internal::WireFormatLite::WriteInt32(3, this->begin(), output);
   14560   }
   14561 
   14562   // optional int32 end = 4;
   14563   if (has_end()) {
   14564     ::google::protobuf::internal::WireFormatLite::WriteInt32(4, this->end(), output);
   14565   }
   14566 
   14567   if (_internal_metadata_.have_unknown_fields()) {
   14568     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
   14569         unknown_fields(), output);
   14570   }
   14571   // @@protoc_insertion_point(serialize_end:google.protobuf.GeneratedCodeInfo.Annotation)
   14572 }
   14573 
   14574 ::google::protobuf::uint8* GeneratedCodeInfo_Annotation::SerializeWithCachedSizesToArray(
   14575     ::google::protobuf::uint8* target) const {
   14576   // @@protoc_insertion_point(serialize_to_array_start:google.protobuf.GeneratedCodeInfo.Annotation)
   14577   // repeated int32 path = 1 [packed = true];
   14578   if (this->path_size() > 0) {
   14579     target = ::google::protobuf::internal::WireFormatLite::WriteTagToArray(
   14580       1,
   14581       ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED,
   14582       target);
   14583     target = ::google::protobuf::io::CodedOutputStream::WriteVarint32ToArray(
   14584       _path_cached_byte_size_, target);
   14585   }
   14586   for (int i = 0; i < this->path_size(); i++) {
   14587     target = ::google::protobuf::internal::WireFormatLite::
   14588       WriteInt32NoTagToArray(this->path(i), target);
   14589   }
   14590 
   14591   // optional string source_file = 2;
   14592   if (has_source_file()) {
   14593     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   14594       this->source_file().data(), this->source_file().length(),
   14595       ::google::protobuf::internal::WireFormat::SERIALIZE,
   14596       "google.protobuf.GeneratedCodeInfo.Annotation.source_file");
   14597     target =
   14598       ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
   14599         2, this->source_file(), target);
   14600   }
   14601 
   14602   // optional int32 begin = 3;
   14603   if (has_begin()) {
   14604     target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(3, this->begin(), target);
   14605   }
   14606 
   14607   // optional int32 end = 4;
   14608   if (has_end()) {
   14609     target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(4, this->end(), target);
   14610   }
   14611 
   14612   if (_internal_metadata_.have_unknown_fields()) {
   14613     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
   14614         unknown_fields(), target);
   14615   }
   14616   // @@protoc_insertion_point(serialize_to_array_end:google.protobuf.GeneratedCodeInfo.Annotation)
   14617   return target;
   14618 }
   14619 
   14620 int GeneratedCodeInfo_Annotation::ByteSize() const {
   14621 // @@protoc_insertion_point(message_byte_size_start:google.protobuf.GeneratedCodeInfo.Annotation)
   14622   int total_size = 0;
   14623 
   14624   if (_has_bits_[1 / 32] & 14u) {
   14625     // optional string source_file = 2;
   14626     if (has_source_file()) {
   14627       total_size += 1 +
   14628         ::google::protobuf::internal::WireFormatLite::StringSize(
   14629           this->source_file());
   14630     }
   14631 
   14632     // optional int32 begin = 3;
   14633     if (has_begin()) {
   14634       total_size += 1 +
   14635         ::google::protobuf::internal::WireFormatLite::Int32Size(
   14636           this->begin());
   14637     }
   14638 
   14639     // optional int32 end = 4;
   14640     if (has_end()) {
   14641       total_size += 1 +
   14642         ::google::protobuf::internal::WireFormatLite::Int32Size(
   14643           this->end());
   14644     }
   14645 
   14646   }
   14647   // repeated int32 path = 1 [packed = true];
   14648   {
   14649     int data_size = 0;
   14650     for (int i = 0; i < this->path_size(); i++) {
   14651       data_size += ::google::protobuf::internal::WireFormatLite::
   14652         Int32Size(this->path(i));
   14653     }
   14654     if (data_size > 0) {
   14655       total_size += 1 +
   14656         ::google::protobuf::internal::WireFormatLite::Int32Size(data_size);
   14657     }
   14658     GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   14659     _path_cached_byte_size_ = data_size;
   14660     GOOGLE_SAFE_CONCURRENT_WRITES_END();
   14661     total_size += data_size;
   14662   }
   14663 
   14664   if (_internal_metadata_.have_unknown_fields()) {
   14665     total_size +=
   14666       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
   14667         unknown_fields());
   14668   }
   14669   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   14670   _cached_size_ = total_size;
   14671   GOOGLE_SAFE_CONCURRENT_WRITES_END();
   14672   return total_size;
   14673 }
   14674 
   14675 void GeneratedCodeInfo_Annotation::MergeFrom(const ::google::protobuf::Message& from) {
   14676 // @@protoc_insertion_point(generalized_merge_from_start:google.protobuf.GeneratedCodeInfo.Annotation)
   14677   if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
   14678   const GeneratedCodeInfo_Annotation* source =
   14679       ::google::protobuf::internal::DynamicCastToGenerated<const GeneratedCodeInfo_Annotation>(
   14680           &from);
   14681   if (source == NULL) {
   14682   // @@protoc_insertion_point(generalized_merge_from_cast_fail:google.protobuf.GeneratedCodeInfo.Annotation)
   14683     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
   14684   } else {
   14685   // @@protoc_insertion_point(generalized_merge_from_cast_success:google.protobuf.GeneratedCodeInfo.Annotation)
   14686     MergeFrom(*source);
   14687   }
   14688 }
   14689 
   14690 void GeneratedCodeInfo_Annotation::MergeFrom(const GeneratedCodeInfo_Annotation& from) {
   14691 // @@protoc_insertion_point(class_specific_merge_from_start:google.protobuf.GeneratedCodeInfo.Annotation)
   14692   if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
   14693   path_.MergeFrom(from.path_);
   14694   if (from._has_bits_[1 / 32] & (0xffu << (1 % 32))) {
   14695     if (from.has_source_file()) {
   14696       set_has_source_file();
   14697       source_file_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.source_file_);
   14698     }
   14699     if (from.has_begin()) {
   14700       set_begin(from.begin());
   14701     }
   14702     if (from.has_end()) {
   14703       set_end(from.end());
   14704     }
   14705   }
   14706   if (from._internal_metadata_.have_unknown_fields()) {
   14707     mutable_unknown_fields()->MergeFrom(from.unknown_fields());
   14708   }
   14709 }
   14710 
   14711 void GeneratedCodeInfo_Annotation::CopyFrom(const ::google::protobuf::Message& from) {
   14712 // @@protoc_insertion_point(generalized_copy_from_start:google.protobuf.GeneratedCodeInfo.Annotation)
   14713   if (&from == this) return;
   14714   Clear();
   14715   MergeFrom(from);
   14716 }
   14717 
   14718 void GeneratedCodeInfo_Annotation::CopyFrom(const GeneratedCodeInfo_Annotation& from) {
   14719 // @@protoc_insertion_point(class_specific_copy_from_start:google.protobuf.GeneratedCodeInfo.Annotation)
   14720   if (&from == this) return;
   14721   Clear();
   14722   MergeFrom(from);
   14723 }
   14724 
   14725 bool GeneratedCodeInfo_Annotation::IsInitialized() const {
   14726 
   14727   return true;
   14728 }
   14729 
   14730 void GeneratedCodeInfo_Annotation::Swap(GeneratedCodeInfo_Annotation* other) {
   14731   if (other == this) return;
   14732   InternalSwap(other);
   14733 }
   14734 void GeneratedCodeInfo_Annotation::InternalSwap(GeneratedCodeInfo_Annotation* other) {
   14735   path_.UnsafeArenaSwap(&other->path_);
   14736   source_file_.Swap(&other->source_file_);
   14737   std::swap(begin_, other->begin_);
   14738   std::swap(end_, other->end_);
   14739   std::swap(_has_bits_[0], other->_has_bits_[0]);
   14740   _internal_metadata_.Swap(&other->_internal_metadata_);
   14741   std::swap(_cached_size_, other->_cached_size_);
   14742 }
   14743 
   14744 ::google::protobuf::Metadata GeneratedCodeInfo_Annotation::GetMetadata() const {
   14745   protobuf_AssignDescriptorsOnce();
   14746   ::google::protobuf::Metadata metadata;
   14747   metadata.descriptor = GeneratedCodeInfo_Annotation_descriptor_;
   14748   metadata.reflection = GeneratedCodeInfo_Annotation_reflection_;
   14749   return metadata;
   14750 }
   14751 
   14752 
   14753 // -------------------------------------------------------------------
   14754 
   14755 #if !defined(_MSC_VER) || _MSC_VER >= 1900
   14756 const int GeneratedCodeInfo::kAnnotationFieldNumber;
   14757 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
   14758 
   14759 GeneratedCodeInfo::GeneratedCodeInfo()
   14760   : ::google::protobuf::Message(), _internal_metadata_(NULL) {
   14761   SharedCtor();
   14762   // @@protoc_insertion_point(constructor:google.protobuf.GeneratedCodeInfo)
   14763 }
   14764 
   14765 void GeneratedCodeInfo::InitAsDefaultInstance() {
   14766 }
   14767 
   14768 GeneratedCodeInfo::GeneratedCodeInfo(const GeneratedCodeInfo& from)
   14769   : ::google::protobuf::Message(),
   14770     _internal_metadata_(NULL) {
   14771   SharedCtor();
   14772   MergeFrom(from);
   14773   // @@protoc_insertion_point(copy_constructor:google.protobuf.GeneratedCodeInfo)
   14774 }
   14775 
   14776 void GeneratedCodeInfo::SharedCtor() {
   14777   _cached_size_ = 0;
   14778   ::memset(_has_bits_, 0, sizeof(_has_bits_));
   14779 }
   14780 
   14781 GeneratedCodeInfo::~GeneratedCodeInfo() {
   14782   // @@protoc_insertion_point(destructor:google.protobuf.GeneratedCodeInfo)
   14783   SharedDtor();
   14784 }
   14785 
   14786 void GeneratedCodeInfo::SharedDtor() {
   14787   if (this != default_instance_) {
   14788   }
   14789 }
   14790 
   14791 void GeneratedCodeInfo::SetCachedSize(int size) const {
   14792   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   14793   _cached_size_ = size;
   14794   GOOGLE_SAFE_CONCURRENT_WRITES_END();
   14795 }
   14796 const ::google::protobuf::Descriptor* GeneratedCodeInfo::descriptor() {
   14797   protobuf_AssignDescriptorsOnce();
   14798   return GeneratedCodeInfo_descriptor_;
   14799 }
   14800 
   14801 const GeneratedCodeInfo& GeneratedCodeInfo::default_instance() {
   14802   if (default_instance_ == NULL) protobuf_AddDesc_google_2fprotobuf_2fdescriptor_2eproto();
   14803   return *default_instance_;
   14804 }
   14805 
   14806 GeneratedCodeInfo* GeneratedCodeInfo::default_instance_ = NULL;
   14807 
   14808 GeneratedCodeInfo* GeneratedCodeInfo::New(::google::protobuf::Arena* arena) const {
   14809   GeneratedCodeInfo* n = new GeneratedCodeInfo;
   14810   if (arena != NULL) {
   14811     arena->Own(n);
   14812   }
   14813   return n;
   14814 }
   14815 
   14816 void GeneratedCodeInfo::Clear() {
   14817 // @@protoc_insertion_point(message_clear_start:google.protobuf.GeneratedCodeInfo)
   14818   annotation_.Clear();
   14819   ::memset(_has_bits_, 0, sizeof(_has_bits_));
   14820   if (_internal_metadata_.have_unknown_fields()) {
   14821     mutable_unknown_fields()->Clear();
   14822   }
   14823 }
   14824 
   14825 bool GeneratedCodeInfo::MergePartialFromCodedStream(
   14826     ::google::protobuf::io::CodedInputStream* input) {
   14827 #define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
   14828   ::google::protobuf::uint32 tag;
   14829   // @@protoc_insertion_point(parse_start:google.protobuf.GeneratedCodeInfo)
   14830   for (;;) {
   14831     ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
   14832     tag = p.first;
   14833     if (!p.second) goto handle_unusual;
   14834     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
   14835       // repeated .google.protobuf.GeneratedCodeInfo.Annotation annotation = 1;
   14836       case 1: {
   14837         if (tag == 10) {
   14838           DO_(input->IncrementRecursionDepth());
   14839          parse_loop_annotation:
   14840           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtualNoRecursionDepth(
   14841                 input, add_annotation()));
   14842         } else {
   14843           goto handle_unusual;
   14844         }
   14845         if (input->ExpectTag(10)) goto parse_loop_annotation;
   14846         input->UnsafeDecrementRecursionDepth();
   14847         if (input->ExpectAtEnd()) goto success;
   14848         break;
   14849       }
   14850 
   14851       default: {
   14852       handle_unusual:
   14853         if (tag == 0 ||
   14854             ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
   14855             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
   14856           goto success;
   14857         }
   14858         DO_(::google::protobuf::internal::WireFormat::SkipField(
   14859               input, tag, mutable_unknown_fields()));
   14860         break;
   14861       }
   14862     }
   14863   }
   14864 success:
   14865   // @@protoc_insertion_point(parse_success:google.protobuf.GeneratedCodeInfo)
   14866   return true;
   14867 failure:
   14868   // @@protoc_insertion_point(parse_failure:google.protobuf.GeneratedCodeInfo)
   14869   return false;
   14870 #undef DO_
   14871 }
   14872 
   14873 void GeneratedCodeInfo::SerializeWithCachedSizes(
   14874     ::google::protobuf::io::CodedOutputStream* output) const {
   14875   // @@protoc_insertion_point(serialize_start:google.protobuf.GeneratedCodeInfo)
   14876   // repeated .google.protobuf.GeneratedCodeInfo.Annotation annotation = 1;
   14877   for (unsigned int i = 0, n = this->annotation_size(); i < n; i++) {
   14878     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
   14879       1, this->annotation(i), output);
   14880   }
   14881 
   14882   if (_internal_metadata_.have_unknown_fields()) {
   14883     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
   14884         unknown_fields(), output);
   14885   }
   14886   // @@protoc_insertion_point(serialize_end:google.protobuf.GeneratedCodeInfo)
   14887 }
   14888 
   14889 ::google::protobuf::uint8* GeneratedCodeInfo::SerializeWithCachedSizesToArray(
   14890     ::google::protobuf::uint8* target) const {
   14891   // @@protoc_insertion_point(serialize_to_array_start:google.protobuf.GeneratedCodeInfo)
   14892   // repeated .google.protobuf.GeneratedCodeInfo.Annotation annotation = 1;
   14893   for (unsigned int i = 0, n = this->annotation_size(); i < n; i++) {
   14894     target = ::google::protobuf::internal::WireFormatLite::
   14895       WriteMessageNoVirtualToArray(
   14896         1, this->annotation(i), target);
   14897   }
   14898 
   14899   if (_internal_metadata_.have_unknown_fields()) {
   14900     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
   14901         unknown_fields(), target);
   14902   }
   14903   // @@protoc_insertion_point(serialize_to_array_end:google.protobuf.GeneratedCodeInfo)
   14904   return target;
   14905 }
   14906 
   14907 int GeneratedCodeInfo::ByteSize() const {
   14908 // @@protoc_insertion_point(message_byte_size_start:google.protobuf.GeneratedCodeInfo)
   14909   int total_size = 0;
   14910 
   14911   // repeated .google.protobuf.GeneratedCodeInfo.Annotation annotation = 1;
   14912   total_size += 1 * this->annotation_size();
   14913   for (int i = 0; i < this->annotation_size(); i++) {
   14914     total_size +=
   14915       ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
   14916         this->annotation(i));
   14917   }
   14918 
   14919   if (_internal_metadata_.have_unknown_fields()) {
   14920     total_size +=
   14921       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
   14922         unknown_fields());
   14923   }
   14924   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   14925   _cached_size_ = total_size;
   14926   GOOGLE_SAFE_CONCURRENT_WRITES_END();
   14927   return total_size;
   14928 }
   14929 
   14930 void GeneratedCodeInfo::MergeFrom(const ::google::protobuf::Message& from) {
   14931 // @@protoc_insertion_point(generalized_merge_from_start:google.protobuf.GeneratedCodeInfo)
   14932   if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
   14933   const GeneratedCodeInfo* source =
   14934       ::google::protobuf::internal::DynamicCastToGenerated<const GeneratedCodeInfo>(
   14935           &from);
   14936   if (source == NULL) {
   14937   // @@protoc_insertion_point(generalized_merge_from_cast_fail:google.protobuf.GeneratedCodeInfo)
   14938     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
   14939   } else {
   14940   // @@protoc_insertion_point(generalized_merge_from_cast_success:google.protobuf.GeneratedCodeInfo)
   14941     MergeFrom(*source);
   14942   }
   14943 }
   14944 
   14945 void GeneratedCodeInfo::MergeFrom(const GeneratedCodeInfo& from) {
   14946 // @@protoc_insertion_point(class_specific_merge_from_start:google.protobuf.GeneratedCodeInfo)
   14947   if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
   14948   annotation_.MergeFrom(from.annotation_);
   14949   if (from._internal_metadata_.have_unknown_fields()) {
   14950     mutable_unknown_fields()->MergeFrom(from.unknown_fields());
   14951   }
   14952 }
   14953 
   14954 void GeneratedCodeInfo::CopyFrom(const ::google::protobuf::Message& from) {
   14955 // @@protoc_insertion_point(generalized_copy_from_start:google.protobuf.GeneratedCodeInfo)
   14956   if (&from == this) return;
   14957   Clear();
   14958   MergeFrom(from);
   14959 }
   14960 
   14961 void GeneratedCodeInfo::CopyFrom(const GeneratedCodeInfo& from) {
   14962 // @@protoc_insertion_point(class_specific_copy_from_start:google.protobuf.GeneratedCodeInfo)
   14963   if (&from == this) return;
   14964   Clear();
   14965   MergeFrom(from);
   14966 }
   14967 
   14968 bool GeneratedCodeInfo::IsInitialized() const {
   14969 
   14970   return true;
   14971 }
   14972 
   14973 void GeneratedCodeInfo::Swap(GeneratedCodeInfo* other) {
   14974   if (other == this) return;
   14975   InternalSwap(other);
   14976 }
   14977 void GeneratedCodeInfo::InternalSwap(GeneratedCodeInfo* other) {
   14978   annotation_.UnsafeArenaSwap(&other->annotation_);
   14979   std::swap(_has_bits_[0], other->_has_bits_[0]);
   14980   _internal_metadata_.Swap(&other->_internal_metadata_);
   14981   std::swap(_cached_size_, other->_cached_size_);
   14982 }
   14983 
   14984 ::google::protobuf::Metadata GeneratedCodeInfo::GetMetadata() const {
   14985   protobuf_AssignDescriptorsOnce();
   14986   ::google::protobuf::Metadata metadata;
   14987   metadata.descriptor = GeneratedCodeInfo_descriptor_;
   14988   metadata.reflection = GeneratedCodeInfo_reflection_;
   14989   return metadata;
   14990 }
   14991 
   14992 #if PROTOBUF_INLINE_NOT_IN_HEADERS
   14993 // GeneratedCodeInfo_Annotation
   14994 
   14995 // repeated int32 path = 1 [packed = true];
   14996 int GeneratedCodeInfo_Annotation::path_size() const {
   14997   return path_.size();
   14998 }
   14999 void GeneratedCodeInfo_Annotation::clear_path() {
   15000   path_.Clear();
   15001 }
   15002  ::google::protobuf::int32 GeneratedCodeInfo_Annotation::path(int index) const {
   15003   // @@protoc_insertion_point(field_get:google.protobuf.GeneratedCodeInfo.Annotation.path)
   15004   return path_.Get(index);
   15005 }
   15006  void GeneratedCodeInfo_Annotation::set_path(int index, ::google::protobuf::int32 value) {
   15007   path_.Set(index, value);
   15008   // @@protoc_insertion_point(field_set:google.protobuf.GeneratedCodeInfo.Annotation.path)
   15009 }
   15010  void GeneratedCodeInfo_Annotation::add_path(::google::protobuf::int32 value) {
   15011   path_.Add(value);
   15012   // @@protoc_insertion_point(field_add:google.protobuf.GeneratedCodeInfo.Annotation.path)
   15013 }
   15014  const ::google::protobuf::RepeatedField< ::google::protobuf::int32 >&
   15015 GeneratedCodeInfo_Annotation::path() const {
   15016   // @@protoc_insertion_point(field_list:google.protobuf.GeneratedCodeInfo.Annotation.path)
   15017   return path_;
   15018 }
   15019  ::google::protobuf::RepeatedField< ::google::protobuf::int32 >*
   15020 GeneratedCodeInfo_Annotation::mutable_path() {
   15021   // @@protoc_insertion_point(field_mutable_list:google.protobuf.GeneratedCodeInfo.Annotation.path)
   15022   return &path_;
   15023 }
   15024 
   15025 // optional string source_file = 2;
   15026 bool GeneratedCodeInfo_Annotation::has_source_file() const {
   15027   return (_has_bits_[0] & 0x00000002u) != 0;
   15028 }
   15029 void GeneratedCodeInfo_Annotation::set_has_source_file() {
   15030   _has_bits_[0] |= 0x00000002u;
   15031 }
   15032 void GeneratedCodeInfo_Annotation::clear_has_source_file() {
   15033   _has_bits_[0] &= ~0x00000002u;
   15034 }
   15035 void GeneratedCodeInfo_Annotation::clear_source_file() {
   15036   source_file_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   15037   clear_has_source_file();
   15038 }
   15039  const ::std::string& GeneratedCodeInfo_Annotation::source_file() const {
   15040   // @@protoc_insertion_point(field_get:google.protobuf.GeneratedCodeInfo.Annotation.source_file)
   15041   return source_file_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   15042 }
   15043  void GeneratedCodeInfo_Annotation::set_source_file(const ::std::string& value) {
   15044   set_has_source_file();
   15045   source_file_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
   15046   // @@protoc_insertion_point(field_set:google.protobuf.GeneratedCodeInfo.Annotation.source_file)
   15047 }
   15048  void GeneratedCodeInfo_Annotation::set_source_file(const char* value) {
   15049   set_has_source_file();
   15050   source_file_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
   15051   // @@protoc_insertion_point(field_set_char:google.protobuf.GeneratedCodeInfo.Annotation.source_file)
   15052 }
   15053  void GeneratedCodeInfo_Annotation::set_source_file(const char* value, size_t size) {
   15054   set_has_source_file();
   15055   source_file_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
   15056       ::std::string(reinterpret_cast<const char*>(value), size));
   15057   // @@protoc_insertion_point(field_set_pointer:google.protobuf.GeneratedCodeInfo.Annotation.source_file)
   15058 }
   15059  ::std::string* GeneratedCodeInfo_Annotation::mutable_source_file() {
   15060   set_has_source_file();
   15061   // @@protoc_insertion_point(field_mutable:google.protobuf.GeneratedCodeInfo.Annotation.source_file)
   15062   return source_file_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   15063 }
   15064  ::std::string* GeneratedCodeInfo_Annotation::release_source_file() {
   15065   // @@protoc_insertion_point(field_release:google.protobuf.GeneratedCodeInfo.Annotation.source_file)
   15066   clear_has_source_file();
   15067   return source_file_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   15068 }
   15069  void GeneratedCodeInfo_Annotation::set_allocated_source_file(::std::string* source_file) {
   15070   if (source_file != NULL) {
   15071     set_has_source_file();
   15072   } else {
   15073     clear_has_source_file();
   15074   }
   15075   source_file_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), source_file);
   15076   // @@protoc_insertion_point(field_set_allocated:google.protobuf.GeneratedCodeInfo.Annotation.source_file)
   15077 }
   15078 
   15079 // optional int32 begin = 3;
   15080 bool GeneratedCodeInfo_Annotation::has_begin() const {
   15081   return (_has_bits_[0] & 0x00000004u) != 0;
   15082 }
   15083 void GeneratedCodeInfo_Annotation::set_has_begin() {
   15084   _has_bits_[0] |= 0x00000004u;
   15085 }
   15086 void GeneratedCodeInfo_Annotation::clear_has_begin() {
   15087   _has_bits_[0] &= ~0x00000004u;
   15088 }
   15089 void GeneratedCodeInfo_Annotation::clear_begin() {
   15090   begin_ = 0;
   15091   clear_has_begin();
   15092 }
   15093  ::google::protobuf::int32 GeneratedCodeInfo_Annotation::begin() const {
   15094   // @@protoc_insertion_point(field_get:google.protobuf.GeneratedCodeInfo.Annotation.begin)
   15095   return begin_;
   15096 }
   15097  void GeneratedCodeInfo_Annotation::set_begin(::google::protobuf::int32 value) {
   15098   set_has_begin();
   15099   begin_ = value;
   15100   // @@protoc_insertion_point(field_set:google.protobuf.GeneratedCodeInfo.Annotation.begin)
   15101 }
   15102 
   15103 // optional int32 end = 4;
   15104 bool GeneratedCodeInfo_Annotation::has_end() const {
   15105   return (_has_bits_[0] & 0x00000008u) != 0;
   15106 }
   15107 void GeneratedCodeInfo_Annotation::set_has_end() {
   15108   _has_bits_[0] |= 0x00000008u;
   15109 }
   15110 void GeneratedCodeInfo_Annotation::clear_has_end() {
   15111   _has_bits_[0] &= ~0x00000008u;
   15112 }
   15113 void GeneratedCodeInfo_Annotation::clear_end() {
   15114   end_ = 0;
   15115   clear_has_end();
   15116 }
   15117  ::google::protobuf::int32 GeneratedCodeInfo_Annotation::end() const {
   15118   // @@protoc_insertion_point(field_get:google.protobuf.GeneratedCodeInfo.Annotation.end)
   15119   return end_;
   15120 }
   15121  void GeneratedCodeInfo_Annotation::set_end(::google::protobuf::int32 value) {
   15122   set_has_end();
   15123   end_ = value;
   15124   // @@protoc_insertion_point(field_set:google.protobuf.GeneratedCodeInfo.Annotation.end)
   15125 }
   15126 
   15127 // -------------------------------------------------------------------
   15128 
   15129 // GeneratedCodeInfo
   15130 
   15131 // repeated .google.protobuf.GeneratedCodeInfo.Annotation annotation = 1;
   15132 int GeneratedCodeInfo::annotation_size() const {
   15133   return annotation_.size();
   15134 }
   15135 void GeneratedCodeInfo::clear_annotation() {
   15136   annotation_.Clear();
   15137 }
   15138 const ::google::protobuf::GeneratedCodeInfo_Annotation& GeneratedCodeInfo::annotation(int index) const {
   15139   // @@protoc_insertion_point(field_get:google.protobuf.GeneratedCodeInfo.annotation)
   15140   return annotation_.Get(index);
   15141 }
   15142 ::google::protobuf::GeneratedCodeInfo_Annotation* GeneratedCodeInfo::mutable_annotation(int index) {
   15143   // @@protoc_insertion_point(field_mutable:google.protobuf.GeneratedCodeInfo.annotation)
   15144   return annotation_.Mutable(index);
   15145 }
   15146 ::google::protobuf::GeneratedCodeInfo_Annotation* GeneratedCodeInfo::add_annotation() {
   15147   // @@protoc_insertion_point(field_add:google.protobuf.GeneratedCodeInfo.annotation)
   15148   return annotation_.Add();
   15149 }
   15150 ::google::protobuf::RepeatedPtrField< ::google::protobuf::GeneratedCodeInfo_Annotation >*
   15151 GeneratedCodeInfo::mutable_annotation() {
   15152   // @@protoc_insertion_point(field_mutable_list:google.protobuf.GeneratedCodeInfo.annotation)
   15153   return &annotation_;
   15154 }
   15155 const ::google::protobuf::RepeatedPtrField< ::google::protobuf::GeneratedCodeInfo_Annotation >&
   15156 GeneratedCodeInfo::annotation() const {
   15157   // @@protoc_insertion_point(field_list:google.protobuf.GeneratedCodeInfo.annotation)
   15158   return annotation_;
   15159 }
   15160 
   15161 #endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
   15162 
   15163 // @@protoc_insertion_point(namespace_scope)
   15164 
   15165 }  // namespace protobuf
   15166 }  // namespace google
   15167 
   15168 // @@protoc_insertion_point(global_scope)
   15169