Home | History | Annotate | Download | only in protobuf
      1 // Generated by the protocol buffer compiler.  DO NOT EDIT!
      2 
      3 #define INTERNAL_SUPPRESS_PROTOBUF_FIELD_DEPRECATION
      4 #include "google/protobuf/descriptor.pb.h"
      5 #include <google/protobuf/stubs/once.h>
      6 #include <google/protobuf/io/coded_stream.h>
      7 #include <google/protobuf/wire_format_lite_inl.h>
      8 #include <google/protobuf/descriptor.h>
      9 #include <google/protobuf/reflection_ops.h>
     10 #include <google/protobuf/wire_format.h>
     11 // @@protoc_insertion_point(includes)
     12 
     13 namespace google {
     14 namespace protobuf {
     15 
     16 namespace {
     17 
     18 const ::google::protobuf::Descriptor* FileDescriptorSet_descriptor_ = NULL;
     19 const ::google::protobuf::internal::GeneratedMessageReflection*
     20   FileDescriptorSet_reflection_ = NULL;
     21 const ::google::protobuf::Descriptor* FileDescriptorProto_descriptor_ = NULL;
     22 const ::google::protobuf::internal::GeneratedMessageReflection*
     23   FileDescriptorProto_reflection_ = NULL;
     24 const ::google::protobuf::Descriptor* DescriptorProto_descriptor_ = NULL;
     25 const ::google::protobuf::internal::GeneratedMessageReflection*
     26   DescriptorProto_reflection_ = NULL;
     27 const ::google::protobuf::Descriptor* DescriptorProto_ExtensionRange_descriptor_ = NULL;
     28 const ::google::protobuf::internal::GeneratedMessageReflection*
     29   DescriptorProto_ExtensionRange_reflection_ = NULL;
     30 const ::google::protobuf::Descriptor* FieldDescriptorProto_descriptor_ = NULL;
     31 const ::google::protobuf::internal::GeneratedMessageReflection*
     32   FieldDescriptorProto_reflection_ = NULL;
     33 const ::google::protobuf::EnumDescriptor* FieldDescriptorProto_Type_descriptor_ = NULL;
     34 const ::google::protobuf::EnumDescriptor* FieldDescriptorProto_Label_descriptor_ = NULL;
     35 const ::google::protobuf::Descriptor* EnumDescriptorProto_descriptor_ = NULL;
     36 const ::google::protobuf::internal::GeneratedMessageReflection*
     37   EnumDescriptorProto_reflection_ = NULL;
     38 const ::google::protobuf::Descriptor* EnumValueDescriptorProto_descriptor_ = NULL;
     39 const ::google::protobuf::internal::GeneratedMessageReflection*
     40   EnumValueDescriptorProto_reflection_ = NULL;
     41 const ::google::protobuf::Descriptor* ServiceDescriptorProto_descriptor_ = NULL;
     42 const ::google::protobuf::internal::GeneratedMessageReflection*
     43   ServiceDescriptorProto_reflection_ = NULL;
     44 const ::google::protobuf::Descriptor* MethodDescriptorProto_descriptor_ = NULL;
     45 const ::google::protobuf::internal::GeneratedMessageReflection*
     46   MethodDescriptorProto_reflection_ = NULL;
     47 const ::google::protobuf::Descriptor* FileOptions_descriptor_ = NULL;
     48 const ::google::protobuf::internal::GeneratedMessageReflection*
     49   FileOptions_reflection_ = NULL;
     50 const ::google::protobuf::EnumDescriptor* FileOptions_OptimizeMode_descriptor_ = NULL;
     51 const ::google::protobuf::Descriptor* MessageOptions_descriptor_ = NULL;
     52 const ::google::protobuf::internal::GeneratedMessageReflection*
     53   MessageOptions_reflection_ = NULL;
     54 const ::google::protobuf::Descriptor* FieldOptions_descriptor_ = NULL;
     55 const ::google::protobuf::internal::GeneratedMessageReflection*
     56   FieldOptions_reflection_ = NULL;
     57 const ::google::protobuf::EnumDescriptor* FieldOptions_CType_descriptor_ = NULL;
     58 const ::google::protobuf::Descriptor* EnumOptions_descriptor_ = NULL;
     59 const ::google::protobuf::internal::GeneratedMessageReflection*
     60   EnumOptions_reflection_ = NULL;
     61 const ::google::protobuf::Descriptor* EnumValueOptions_descriptor_ = NULL;
     62 const ::google::protobuf::internal::GeneratedMessageReflection*
     63   EnumValueOptions_reflection_ = NULL;
     64 const ::google::protobuf::Descriptor* ServiceOptions_descriptor_ = NULL;
     65 const ::google::protobuf::internal::GeneratedMessageReflection*
     66   ServiceOptions_reflection_ = NULL;
     67 const ::google::protobuf::Descriptor* MethodOptions_descriptor_ = NULL;
     68 const ::google::protobuf::internal::GeneratedMessageReflection*
     69   MethodOptions_reflection_ = NULL;
     70 const ::google::protobuf::Descriptor* UninterpretedOption_descriptor_ = NULL;
     71 const ::google::protobuf::internal::GeneratedMessageReflection*
     72   UninterpretedOption_reflection_ = NULL;
     73 const ::google::protobuf::Descriptor* UninterpretedOption_NamePart_descriptor_ = NULL;
     74 const ::google::protobuf::internal::GeneratedMessageReflection*
     75   UninterpretedOption_NamePart_reflection_ = NULL;
     76 
     77 }  // namespace
     78 
     79 
     80 void protobuf_AssignDesc_google_2fprotobuf_2fdescriptor_2eproto() {
     81   protobuf_AddDesc_google_2fprotobuf_2fdescriptor_2eproto();
     82   const ::google::protobuf::FileDescriptor* file =
     83     ::google::protobuf::DescriptorPool::generated_pool()->FindFileByName(
     84       "google/protobuf/descriptor.proto");
     85   GOOGLE_CHECK(file != NULL);
     86   FileDescriptorSet_descriptor_ = file->message_type(0);
     87   static const int FileDescriptorSet_offsets_[1] = {
     88     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileDescriptorSet, file_),
     89   };
     90   FileDescriptorSet_reflection_ =
     91     new ::google::protobuf::internal::GeneratedMessageReflection(
     92       FileDescriptorSet_descriptor_,
     93       FileDescriptorSet::default_instance_,
     94       FileDescriptorSet_offsets_,
     95       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileDescriptorSet, _has_bits_[0]),
     96       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileDescriptorSet, _unknown_fields_),
     97       -1,
     98       ::google::protobuf::DescriptorPool::generated_pool(),
     99       ::google::protobuf::MessageFactory::generated_factory(),
    100       sizeof(FileDescriptorSet));
    101   FileDescriptorProto_descriptor_ = file->message_type(1);
    102   static const int FileDescriptorProto_offsets_[8] = {
    103     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileDescriptorProto, name_),
    104     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileDescriptorProto, package_),
    105     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileDescriptorProto, dependency_),
    106     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileDescriptorProto, message_type_),
    107     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileDescriptorProto, enum_type_),
    108     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileDescriptorProto, service_),
    109     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileDescriptorProto, extension_),
    110     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileDescriptorProto, options_),
    111   };
    112   FileDescriptorProto_reflection_ =
    113     new ::google::protobuf::internal::GeneratedMessageReflection(
    114       FileDescriptorProto_descriptor_,
    115       FileDescriptorProto::default_instance_,
    116       FileDescriptorProto_offsets_,
    117       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileDescriptorProto, _has_bits_[0]),
    118       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileDescriptorProto, _unknown_fields_),
    119       -1,
    120       ::google::protobuf::DescriptorPool::generated_pool(),
    121       ::google::protobuf::MessageFactory::generated_factory(),
    122       sizeof(FileDescriptorProto));
    123   DescriptorProto_descriptor_ = file->message_type(2);
    124   static const int DescriptorProto_offsets_[7] = {
    125     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(DescriptorProto, name_),
    126     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(DescriptorProto, field_),
    127     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(DescriptorProto, extension_),
    128     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(DescriptorProto, nested_type_),
    129     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(DescriptorProto, enum_type_),
    130     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(DescriptorProto, extension_range_),
    131     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(DescriptorProto, options_),
    132   };
    133   DescriptorProto_reflection_ =
    134     new ::google::protobuf::internal::GeneratedMessageReflection(
    135       DescriptorProto_descriptor_,
    136       DescriptorProto::default_instance_,
    137       DescriptorProto_offsets_,
    138       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(DescriptorProto, _has_bits_[0]),
    139       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(DescriptorProto, _unknown_fields_),
    140       -1,
    141       ::google::protobuf::DescriptorPool::generated_pool(),
    142       ::google::protobuf::MessageFactory::generated_factory(),
    143       sizeof(DescriptorProto));
    144   DescriptorProto_ExtensionRange_descriptor_ = DescriptorProto_descriptor_->nested_type(0);
    145   static const int DescriptorProto_ExtensionRange_offsets_[2] = {
    146     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(DescriptorProto_ExtensionRange, start_),
    147     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(DescriptorProto_ExtensionRange, end_),
    148   };
    149   DescriptorProto_ExtensionRange_reflection_ =
    150     new ::google::protobuf::internal::GeneratedMessageReflection(
    151       DescriptorProto_ExtensionRange_descriptor_,
    152       DescriptorProto_ExtensionRange::default_instance_,
    153       DescriptorProto_ExtensionRange_offsets_,
    154       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(DescriptorProto_ExtensionRange, _has_bits_[0]),
    155       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(DescriptorProto_ExtensionRange, _unknown_fields_),
    156       -1,
    157       ::google::protobuf::DescriptorPool::generated_pool(),
    158       ::google::protobuf::MessageFactory::generated_factory(),
    159       sizeof(DescriptorProto_ExtensionRange));
    160   FieldDescriptorProto_descriptor_ = file->message_type(3);
    161   static const int FieldDescriptorProto_offsets_[8] = {
    162     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FieldDescriptorProto, name_),
    163     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FieldDescriptorProto, number_),
    164     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FieldDescriptorProto, label_),
    165     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FieldDescriptorProto, type_),
    166     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FieldDescriptorProto, type_name_),
    167     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FieldDescriptorProto, extendee_),
    168     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FieldDescriptorProto, default_value_),
    169     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FieldDescriptorProto, options_),
    170   };
    171   FieldDescriptorProto_reflection_ =
    172     new ::google::protobuf::internal::GeneratedMessageReflection(
    173       FieldDescriptorProto_descriptor_,
    174       FieldDescriptorProto::default_instance_,
    175       FieldDescriptorProto_offsets_,
    176       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FieldDescriptorProto, _has_bits_[0]),
    177       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FieldDescriptorProto, _unknown_fields_),
    178       -1,
    179       ::google::protobuf::DescriptorPool::generated_pool(),
    180       ::google::protobuf::MessageFactory::generated_factory(),
    181       sizeof(FieldDescriptorProto));
    182   FieldDescriptorProto_Type_descriptor_ = FieldDescriptorProto_descriptor_->enum_type(0);
    183   FieldDescriptorProto_Label_descriptor_ = FieldDescriptorProto_descriptor_->enum_type(1);
    184   EnumDescriptorProto_descriptor_ = file->message_type(4);
    185   static const int EnumDescriptorProto_offsets_[3] = {
    186     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(EnumDescriptorProto, name_),
    187     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(EnumDescriptorProto, value_),
    188     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(EnumDescriptorProto, options_),
    189   };
    190   EnumDescriptorProto_reflection_ =
    191     new ::google::protobuf::internal::GeneratedMessageReflection(
    192       EnumDescriptorProto_descriptor_,
    193       EnumDescriptorProto::default_instance_,
    194       EnumDescriptorProto_offsets_,
    195       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(EnumDescriptorProto, _has_bits_[0]),
    196       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(EnumDescriptorProto, _unknown_fields_),
    197       -1,
    198       ::google::protobuf::DescriptorPool::generated_pool(),
    199       ::google::protobuf::MessageFactory::generated_factory(),
    200       sizeof(EnumDescriptorProto));
    201   EnumValueDescriptorProto_descriptor_ = file->message_type(5);
    202   static const int EnumValueDescriptorProto_offsets_[3] = {
    203     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(EnumValueDescriptorProto, name_),
    204     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(EnumValueDescriptorProto, number_),
    205     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(EnumValueDescriptorProto, options_),
    206   };
    207   EnumValueDescriptorProto_reflection_ =
    208     new ::google::protobuf::internal::GeneratedMessageReflection(
    209       EnumValueDescriptorProto_descriptor_,
    210       EnumValueDescriptorProto::default_instance_,
    211       EnumValueDescriptorProto_offsets_,
    212       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(EnumValueDescriptorProto, _has_bits_[0]),
    213       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(EnumValueDescriptorProto, _unknown_fields_),
    214       -1,
    215       ::google::protobuf::DescriptorPool::generated_pool(),
    216       ::google::protobuf::MessageFactory::generated_factory(),
    217       sizeof(EnumValueDescriptorProto));
    218   ServiceDescriptorProto_descriptor_ = file->message_type(6);
    219   static const int ServiceDescriptorProto_offsets_[3] = {
    220     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ServiceDescriptorProto, name_),
    221     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ServiceDescriptorProto, method_),
    222     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ServiceDescriptorProto, options_),
    223   };
    224   ServiceDescriptorProto_reflection_ =
    225     new ::google::protobuf::internal::GeneratedMessageReflection(
    226       ServiceDescriptorProto_descriptor_,
    227       ServiceDescriptorProto::default_instance_,
    228       ServiceDescriptorProto_offsets_,
    229       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ServiceDescriptorProto, _has_bits_[0]),
    230       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ServiceDescriptorProto, _unknown_fields_),
    231       -1,
    232       ::google::protobuf::DescriptorPool::generated_pool(),
    233       ::google::protobuf::MessageFactory::generated_factory(),
    234       sizeof(ServiceDescriptorProto));
    235   MethodDescriptorProto_descriptor_ = file->message_type(7);
    236   static const int MethodDescriptorProto_offsets_[4] = {
    237     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(MethodDescriptorProto, name_),
    238     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(MethodDescriptorProto, input_type_),
    239     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(MethodDescriptorProto, output_type_),
    240     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(MethodDescriptorProto, options_),
    241   };
    242   MethodDescriptorProto_reflection_ =
    243     new ::google::protobuf::internal::GeneratedMessageReflection(
    244       MethodDescriptorProto_descriptor_,
    245       MethodDescriptorProto::default_instance_,
    246       MethodDescriptorProto_offsets_,
    247       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(MethodDescriptorProto, _has_bits_[0]),
    248       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(MethodDescriptorProto, _unknown_fields_),
    249       -1,
    250       ::google::protobuf::DescriptorPool::generated_pool(),
    251       ::google::protobuf::MessageFactory::generated_factory(),
    252       sizeof(MethodDescriptorProto));
    253   FileOptions_descriptor_ = file->message_type(8);
    254   static const int FileOptions_offsets_[8] = {
    255     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileOptions, java_package_),
    256     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileOptions, java_outer_classname_),
    257     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileOptions, java_multiple_files_),
    258     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileOptions, optimize_for_),
    259     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileOptions, cc_generic_services_),
    260     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileOptions, java_generic_services_),
    261     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileOptions, py_generic_services_),
    262     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileOptions, uninterpreted_option_),
    263   };
    264   FileOptions_reflection_ =
    265     new ::google::protobuf::internal::GeneratedMessageReflection(
    266       FileOptions_descriptor_,
    267       FileOptions::default_instance_,
    268       FileOptions_offsets_,
    269       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileOptions, _has_bits_[0]),
    270       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileOptions, _unknown_fields_),
    271       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileOptions, _extensions_),
    272       ::google::protobuf::DescriptorPool::generated_pool(),
    273       ::google::protobuf::MessageFactory::generated_factory(),
    274       sizeof(FileOptions));
    275   FileOptions_OptimizeMode_descriptor_ = FileOptions_descriptor_->enum_type(0);
    276   MessageOptions_descriptor_ = file->message_type(9);
    277   static const int MessageOptions_offsets_[3] = {
    278     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(MessageOptions, message_set_wire_format_),
    279     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(MessageOptions, no_standard_descriptor_accessor_),
    280     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(MessageOptions, uninterpreted_option_),
    281   };
    282   MessageOptions_reflection_ =
    283     new ::google::protobuf::internal::GeneratedMessageReflection(
    284       MessageOptions_descriptor_,
    285       MessageOptions::default_instance_,
    286       MessageOptions_offsets_,
    287       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(MessageOptions, _has_bits_[0]),
    288       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(MessageOptions, _unknown_fields_),
    289       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(MessageOptions, _extensions_),
    290       ::google::protobuf::DescriptorPool::generated_pool(),
    291       ::google::protobuf::MessageFactory::generated_factory(),
    292       sizeof(MessageOptions));
    293   FieldOptions_descriptor_ = file->message_type(10);
    294   static const int FieldOptions_offsets_[5] = {
    295     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FieldOptions, ctype_),
    296     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FieldOptions, packed_),
    297     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FieldOptions, deprecated_),
    298     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FieldOptions, experimental_map_key_),
    299     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FieldOptions, uninterpreted_option_),
    300   };
    301   FieldOptions_reflection_ =
    302     new ::google::protobuf::internal::GeneratedMessageReflection(
    303       FieldOptions_descriptor_,
    304       FieldOptions::default_instance_,
    305       FieldOptions_offsets_,
    306       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FieldOptions, _has_bits_[0]),
    307       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FieldOptions, _unknown_fields_),
    308       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FieldOptions, _extensions_),
    309       ::google::protobuf::DescriptorPool::generated_pool(),
    310       ::google::protobuf::MessageFactory::generated_factory(),
    311       sizeof(FieldOptions));
    312   FieldOptions_CType_descriptor_ = FieldOptions_descriptor_->enum_type(0);
    313   EnumOptions_descriptor_ = file->message_type(11);
    314   static const int EnumOptions_offsets_[1] = {
    315     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(EnumOptions, uninterpreted_option_),
    316   };
    317   EnumOptions_reflection_ =
    318     new ::google::protobuf::internal::GeneratedMessageReflection(
    319       EnumOptions_descriptor_,
    320       EnumOptions::default_instance_,
    321       EnumOptions_offsets_,
    322       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(EnumOptions, _has_bits_[0]),
    323       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(EnumOptions, _unknown_fields_),
    324       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(EnumOptions, _extensions_),
    325       ::google::protobuf::DescriptorPool::generated_pool(),
    326       ::google::protobuf::MessageFactory::generated_factory(),
    327       sizeof(EnumOptions));
    328   EnumValueOptions_descriptor_ = file->message_type(12);
    329   static const int EnumValueOptions_offsets_[1] = {
    330     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(EnumValueOptions, uninterpreted_option_),
    331   };
    332   EnumValueOptions_reflection_ =
    333     new ::google::protobuf::internal::GeneratedMessageReflection(
    334       EnumValueOptions_descriptor_,
    335       EnumValueOptions::default_instance_,
    336       EnumValueOptions_offsets_,
    337       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(EnumValueOptions, _has_bits_[0]),
    338       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(EnumValueOptions, _unknown_fields_),
    339       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(EnumValueOptions, _extensions_),
    340       ::google::protobuf::DescriptorPool::generated_pool(),
    341       ::google::protobuf::MessageFactory::generated_factory(),
    342       sizeof(EnumValueOptions));
    343   ServiceOptions_descriptor_ = file->message_type(13);
    344   static const int ServiceOptions_offsets_[1] = {
    345     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ServiceOptions, uninterpreted_option_),
    346   };
    347   ServiceOptions_reflection_ =
    348     new ::google::protobuf::internal::GeneratedMessageReflection(
    349       ServiceOptions_descriptor_,
    350       ServiceOptions::default_instance_,
    351       ServiceOptions_offsets_,
    352       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ServiceOptions, _has_bits_[0]),
    353       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ServiceOptions, _unknown_fields_),
    354       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ServiceOptions, _extensions_),
    355       ::google::protobuf::DescriptorPool::generated_pool(),
    356       ::google::protobuf::MessageFactory::generated_factory(),
    357       sizeof(ServiceOptions));
    358   MethodOptions_descriptor_ = file->message_type(14);
    359   static const int MethodOptions_offsets_[1] = {
    360     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(MethodOptions, uninterpreted_option_),
    361   };
    362   MethodOptions_reflection_ =
    363     new ::google::protobuf::internal::GeneratedMessageReflection(
    364       MethodOptions_descriptor_,
    365       MethodOptions::default_instance_,
    366       MethodOptions_offsets_,
    367       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(MethodOptions, _has_bits_[0]),
    368       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(MethodOptions, _unknown_fields_),
    369       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(MethodOptions, _extensions_),
    370       ::google::protobuf::DescriptorPool::generated_pool(),
    371       ::google::protobuf::MessageFactory::generated_factory(),
    372       sizeof(MethodOptions));
    373   UninterpretedOption_descriptor_ = file->message_type(15);
    374   static const int UninterpretedOption_offsets_[6] = {
    375     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(UninterpretedOption, name_),
    376     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(UninterpretedOption, identifier_value_),
    377     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(UninterpretedOption, positive_int_value_),
    378     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(UninterpretedOption, negative_int_value_),
    379     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(UninterpretedOption, double_value_),
    380     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(UninterpretedOption, string_value_),
    381   };
    382   UninterpretedOption_reflection_ =
    383     new ::google::protobuf::internal::GeneratedMessageReflection(
    384       UninterpretedOption_descriptor_,
    385       UninterpretedOption::default_instance_,
    386       UninterpretedOption_offsets_,
    387       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(UninterpretedOption, _has_bits_[0]),
    388       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(UninterpretedOption, _unknown_fields_),
    389       -1,
    390       ::google::protobuf::DescriptorPool::generated_pool(),
    391       ::google::protobuf::MessageFactory::generated_factory(),
    392       sizeof(UninterpretedOption));
    393   UninterpretedOption_NamePart_descriptor_ = UninterpretedOption_descriptor_->nested_type(0);
    394   static const int UninterpretedOption_NamePart_offsets_[2] = {
    395     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(UninterpretedOption_NamePart, name_part_),
    396     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(UninterpretedOption_NamePart, is_extension_),
    397   };
    398   UninterpretedOption_NamePart_reflection_ =
    399     new ::google::protobuf::internal::GeneratedMessageReflection(
    400       UninterpretedOption_NamePart_descriptor_,
    401       UninterpretedOption_NamePart::default_instance_,
    402       UninterpretedOption_NamePart_offsets_,
    403       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(UninterpretedOption_NamePart, _has_bits_[0]),
    404       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(UninterpretedOption_NamePart, _unknown_fields_),
    405       -1,
    406       ::google::protobuf::DescriptorPool::generated_pool(),
    407       ::google::protobuf::MessageFactory::generated_factory(),
    408       sizeof(UninterpretedOption_NamePart));
    409 }
    410 
    411 namespace {
    412 
    413 GOOGLE_PROTOBUF_DECLARE_ONCE(protobuf_AssignDescriptors_once_);
    414 inline void protobuf_AssignDescriptorsOnce() {
    415   ::google::protobuf::GoogleOnceInit(&protobuf_AssignDescriptors_once_,
    416                  &protobuf_AssignDesc_google_2fprotobuf_2fdescriptor_2eproto);
    417 }
    418 
    419 void protobuf_RegisterTypes(const ::std::string&) {
    420   protobuf_AssignDescriptorsOnce();
    421   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
    422     FileDescriptorSet_descriptor_, &FileDescriptorSet::default_instance());
    423   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
    424     FileDescriptorProto_descriptor_, &FileDescriptorProto::default_instance());
    425   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
    426     DescriptorProto_descriptor_, &DescriptorProto::default_instance());
    427   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
    428     DescriptorProto_ExtensionRange_descriptor_, &DescriptorProto_ExtensionRange::default_instance());
    429   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
    430     FieldDescriptorProto_descriptor_, &FieldDescriptorProto::default_instance());
    431   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
    432     EnumDescriptorProto_descriptor_, &EnumDescriptorProto::default_instance());
    433   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
    434     EnumValueDescriptorProto_descriptor_, &EnumValueDescriptorProto::default_instance());
    435   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
    436     ServiceDescriptorProto_descriptor_, &ServiceDescriptorProto::default_instance());
    437   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
    438     MethodDescriptorProto_descriptor_, &MethodDescriptorProto::default_instance());
    439   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
    440     FileOptions_descriptor_, &FileOptions::default_instance());
    441   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
    442     MessageOptions_descriptor_, &MessageOptions::default_instance());
    443   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
    444     FieldOptions_descriptor_, &FieldOptions::default_instance());
    445   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
    446     EnumOptions_descriptor_, &EnumOptions::default_instance());
    447   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
    448     EnumValueOptions_descriptor_, &EnumValueOptions::default_instance());
    449   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
    450     ServiceOptions_descriptor_, &ServiceOptions::default_instance());
    451   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
    452     MethodOptions_descriptor_, &MethodOptions::default_instance());
    453   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
    454     UninterpretedOption_descriptor_, &UninterpretedOption::default_instance());
    455   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
    456     UninterpretedOption_NamePart_descriptor_, &UninterpretedOption_NamePart::default_instance());
    457 }
    458 
    459 }  // namespace
    460 
    461 void protobuf_ShutdownFile_google_2fprotobuf_2fdescriptor_2eproto() {
    462   delete FileDescriptorSet::default_instance_;
    463   delete FileDescriptorSet_reflection_;
    464   delete FileDescriptorProto::default_instance_;
    465   delete FileDescriptorProto_reflection_;
    466   delete DescriptorProto::default_instance_;
    467   delete DescriptorProto_reflection_;
    468   delete DescriptorProto_ExtensionRange::default_instance_;
    469   delete DescriptorProto_ExtensionRange_reflection_;
    470   delete FieldDescriptorProto::default_instance_;
    471   delete FieldDescriptorProto_reflection_;
    472   delete EnumDescriptorProto::default_instance_;
    473   delete EnumDescriptorProto_reflection_;
    474   delete EnumValueDescriptorProto::default_instance_;
    475   delete EnumValueDescriptorProto_reflection_;
    476   delete ServiceDescriptorProto::default_instance_;
    477   delete ServiceDescriptorProto_reflection_;
    478   delete MethodDescriptorProto::default_instance_;
    479   delete MethodDescriptorProto_reflection_;
    480   delete FileOptions::default_instance_;
    481   delete FileOptions_reflection_;
    482   delete MessageOptions::default_instance_;
    483   delete MessageOptions_reflection_;
    484   delete FieldOptions::default_instance_;
    485   delete FieldOptions_reflection_;
    486   delete EnumOptions::default_instance_;
    487   delete EnumOptions_reflection_;
    488   delete EnumValueOptions::default_instance_;
    489   delete EnumValueOptions_reflection_;
    490   delete ServiceOptions::default_instance_;
    491   delete ServiceOptions_reflection_;
    492   delete MethodOptions::default_instance_;
    493   delete MethodOptions_reflection_;
    494   delete UninterpretedOption::default_instance_;
    495   delete UninterpretedOption_reflection_;
    496   delete UninterpretedOption_NamePart::default_instance_;
    497   delete UninterpretedOption_NamePart_reflection_;
    498 }
    499 
    500 void protobuf_AddDesc_google_2fprotobuf_2fdescriptor_2eproto() {
    501   static bool already_here = false;
    502   if (already_here) return;
    503   already_here = true;
    504   GOOGLE_PROTOBUF_VERIFY_VERSION;
    505 
    506   ::google::protobuf::DescriptorPool::InternalAddGeneratedFile(
    507     "\n google/protobuf/descriptor.proto\022\017goog"
    508     "le.protobuf\"G\n\021FileDescriptorSet\0222\n\004file"
    509     "\030\001 \003(\0132$.google.protobuf.FileDescriptorP"
    510     "roto\"\334\002\n\023FileDescriptorProto\022\014\n\004name\030\001 \001"
    511     "(\t\022\017\n\007package\030\002 \001(\t\022\022\n\ndependency\030\003 \003(\t\022"
    512     "6\n\014message_type\030\004 \003(\0132 .google.protobuf."
    513     "DescriptorProto\0227\n\tenum_type\030\005 \003(\0132$.goo"
    514     "gle.protobuf.EnumDescriptorProto\0228\n\007serv"
    515     "ice\030\006 \003(\0132\'.google.protobuf.ServiceDescr"
    516     "iptorProto\0228\n\textension\030\007 \003(\0132%.google.p"
    517     "rotobuf.FieldDescriptorProto\022-\n\007options\030"
    518     "\010 \001(\0132\034.google.protobuf.FileOptions\"\251\003\n\017"
    519     "DescriptorProto\022\014\n\004name\030\001 \001(\t\0224\n\005field\030\002"
    520     " \003(\0132%.google.protobuf.FieldDescriptorPr"
    521     "oto\0228\n\textension\030\006 \003(\0132%.google.protobuf"
    522     ".FieldDescriptorProto\0225\n\013nested_type\030\003 \003"
    523     "(\0132 .google.protobuf.DescriptorProto\0227\n\t"
    524     "enum_type\030\004 \003(\0132$.google.protobuf.EnumDe"
    525     "scriptorProto\022H\n\017extension_range\030\005 \003(\0132/"
    526     ".google.protobuf.DescriptorProto.Extensi"
    527     "onRange\0220\n\007options\030\007 \001(\0132\037.google.protob"
    528     "uf.MessageOptions\032,\n\016ExtensionRange\022\r\n\005s"
    529     "tart\030\001 \001(\005\022\013\n\003end\030\002 \001(\005\"\224\005\n\024FieldDescrip"
    530     "torProto\022\014\n\004name\030\001 \001(\t\022\016\n\006number\030\003 \001(\005\022:"
    531     "\n\005label\030\004 \001(\0162+.google.protobuf.FieldDes"
    532     "criptorProto.Label\0228\n\004type\030\005 \001(\0162*.googl"
    533     "e.protobuf.FieldDescriptorProto.Type\022\021\n\t"
    534     "type_name\030\006 \001(\t\022\020\n\010extendee\030\002 \001(\t\022\025\n\rdef"
    535     "ault_value\030\007 \001(\t\022.\n\007options\030\010 \001(\0132\035.goog"
    536     "le.protobuf.FieldOptions\"\266\002\n\004Type\022\017\n\013TYP"
    537     "E_DOUBLE\020\001\022\016\n\nTYPE_FLOAT\020\002\022\016\n\nTYPE_INT64"
    538     "\020\003\022\017\n\013TYPE_UINT64\020\004\022\016\n\nTYPE_INT32\020\005\022\020\n\014T"
    539     "YPE_FIXED64\020\006\022\020\n\014TYPE_FIXED32\020\007\022\r\n\tTYPE_"
    540     "BOOL\020\010\022\017\n\013TYPE_STRING\020\t\022\016\n\nTYPE_GROUP\020\n\022"
    541     "\020\n\014TYPE_MESSAGE\020\013\022\016\n\nTYPE_BYTES\020\014\022\017\n\013TYP"
    542     "E_UINT32\020\r\022\r\n\tTYPE_ENUM\020\016\022\021\n\rTYPE_SFIXED"
    543     "32\020\017\022\021\n\rTYPE_SFIXED64\020\020\022\017\n\013TYPE_SINT32\020\021"
    544     "\022\017\n\013TYPE_SINT64\020\022\"C\n\005Label\022\022\n\016LABEL_OPTI"
    545     "ONAL\020\001\022\022\n\016LABEL_REQUIRED\020\002\022\022\n\016LABEL_REPE"
    546     "ATED\020\003\"\214\001\n\023EnumDescriptorProto\022\014\n\004name\030\001"
    547     " \001(\t\0228\n\005value\030\002 \003(\0132).google.protobuf.En"
    548     "umValueDescriptorProto\022-\n\007options\030\003 \001(\0132"
    549     "\034.google.protobuf.EnumOptions\"l\n\030EnumVal"
    550     "ueDescriptorProto\022\014\n\004name\030\001 \001(\t\022\016\n\006numbe"
    551     "r\030\002 \001(\005\0222\n\007options\030\003 \001(\0132!.google.protob"
    552     "uf.EnumValueOptions\"\220\001\n\026ServiceDescripto"
    553     "rProto\022\014\n\004name\030\001 \001(\t\0226\n\006method\030\002 \003(\0132&.g"
    554     "oogle.protobuf.MethodDescriptorProto\0220\n\007"
    555     "options\030\003 \001(\0132\037.google.protobuf.ServiceO"
    556     "ptions\"\177\n\025MethodDescriptorProto\022\014\n\004name\030"
    557     "\001 \001(\t\022\022\n\ninput_type\030\002 \001(\t\022\023\n\013output_type"
    558     "\030\003 \001(\t\022/\n\007options\030\004 \001(\0132\036.google.protobu"
    559     "f.MethodOptions\"\244\003\n\013FileOptions\022\024\n\014java_"
    560     "package\030\001 \001(\t\022\034\n\024java_outer_classname\030\010 "
    561     "\001(\t\022\"\n\023java_multiple_files\030\n \001(\010:\005false\022"
    562     "F\n\014optimize_for\030\t \001(\0162).google.protobuf."
    563     "FileOptions.OptimizeMode:\005SPEED\022!\n\023cc_ge"
    564     "neric_services\030\020 \001(\010:\004true\022#\n\025java_gener"
    565     "ic_services\030\021 \001(\010:\004true\022!\n\023py_generic_se"
    566     "rvices\030\022 \001(\010:\004true\022C\n\024uninterpreted_opti"
    567     "on\030\347\007 \003(\0132$.google.protobuf.Uninterprete"
    568     "dOption\":\n\014OptimizeMode\022\t\n\005SPEED\020\001\022\r\n\tCO"
    569     "DE_SIZE\020\002\022\020\n\014LITE_RUNTIME\020\003*\t\010\350\007\020\200\200\200\200\002\"\270"
    570     "\001\n\016MessageOptions\022&\n\027message_set_wire_fo"
    571     "rmat\030\001 \001(\010:\005false\022.\n\037no_standard_descrip"
    572     "tor_accessor\030\002 \001(\010:\005false\022C\n\024uninterpret"
    573     "ed_option\030\347\007 \003(\0132$.google.protobuf.Unint"
    574     "erpretedOption*\t\010\350\007\020\200\200\200\200\002\"\224\002\n\014FieldOptio"
    575     "ns\022:\n\005ctype\030\001 \001(\0162#.google.protobuf.Fiel"
    576     "dOptions.CType:\006STRING\022\016\n\006packed\030\002 \001(\010\022\031"
    577     "\n\ndeprecated\030\003 \001(\010:\005false\022\034\n\024experimenta"
    578     "l_map_key\030\t \001(\t\022C\n\024uninterpreted_option\030"
    579     "\347\007 \003(\0132$.google.protobuf.UninterpretedOp"
    580     "tion\"/\n\005CType\022\n\n\006STRING\020\000\022\010\n\004CORD\020\001\022\020\n\014S"
    581     "TRING_PIECE\020\002*\t\010\350\007\020\200\200\200\200\002\"]\n\013EnumOptions\022"
    582     "C\n\024uninterpreted_option\030\347\007 \003(\0132$.google."
    583     "protobuf.UninterpretedOption*\t\010\350\007\020\200\200\200\200\002\""
    584     "b\n\020EnumValueOptions\022C\n\024uninterpreted_opt"
    585     "ion\030\347\007 \003(\0132$.google.protobuf.Uninterpret"
    586     "edOption*\t\010\350\007\020\200\200\200\200\002\"`\n\016ServiceOptions\022C\n"
    587     "\024uninterpreted_option\030\347\007 \003(\0132$.google.pr"
    588     "otobuf.UninterpretedOption*\t\010\350\007\020\200\200\200\200\002\"_\n"
    589     "\rMethodOptions\022C\n\024uninterpreted_option\030\347"
    590     "\007 \003(\0132$.google.protobuf.UninterpretedOpt"
    591     "ion*\t\010\350\007\020\200\200\200\200\002\"\205\002\n\023UninterpretedOption\022;"
    592     "\n\004name\030\002 \003(\0132-.google.protobuf.Uninterpr"
    593     "etedOption.NamePart\022\030\n\020identifier_value\030"
    594     "\003 \001(\t\022\032\n\022positive_int_value\030\004 \001(\004\022\032\n\022neg"
    595     "ative_int_value\030\005 \001(\003\022\024\n\014double_value\030\006 "
    596     "\001(\001\022\024\n\014string_value\030\007 \001(\014\0323\n\010NamePart\022\021\n"
    597     "\tname_part\030\001 \002(\t\022\024\n\014is_extension\030\002 \002(\010B)"
    598     "\n\023com.google.protobufB\020DescriptorProtosH"
    599     "\001", 3681);
    600   ::google::protobuf::MessageFactory::InternalRegisterGeneratedFile(
    601     "google/protobuf/descriptor.proto", &protobuf_RegisterTypes);
    602   FileDescriptorSet::default_instance_ = new FileDescriptorSet();
    603   FileDescriptorProto::default_instance_ = new FileDescriptorProto();
    604   DescriptorProto::default_instance_ = new DescriptorProto();
    605   DescriptorProto_ExtensionRange::default_instance_ = new DescriptorProto_ExtensionRange();
    606   FieldDescriptorProto::default_instance_ = new FieldDescriptorProto();
    607   EnumDescriptorProto::default_instance_ = new EnumDescriptorProto();
    608   EnumValueDescriptorProto::default_instance_ = new EnumValueDescriptorProto();
    609   ServiceDescriptorProto::default_instance_ = new ServiceDescriptorProto();
    610   MethodDescriptorProto::default_instance_ = new MethodDescriptorProto();
    611   FileOptions::default_instance_ = new FileOptions();
    612   MessageOptions::default_instance_ = new MessageOptions();
    613   FieldOptions::default_instance_ = new FieldOptions();
    614   EnumOptions::default_instance_ = new EnumOptions();
    615   EnumValueOptions::default_instance_ = new EnumValueOptions();
    616   ServiceOptions::default_instance_ = new ServiceOptions();
    617   MethodOptions::default_instance_ = new MethodOptions();
    618   UninterpretedOption::default_instance_ = new UninterpretedOption();
    619   UninterpretedOption_NamePart::default_instance_ = new UninterpretedOption_NamePart();
    620   FileDescriptorSet::default_instance_->InitAsDefaultInstance();
    621   FileDescriptorProto::default_instance_->InitAsDefaultInstance();
    622   DescriptorProto::default_instance_->InitAsDefaultInstance();
    623   DescriptorProto_ExtensionRange::default_instance_->InitAsDefaultInstance();
    624   FieldDescriptorProto::default_instance_->InitAsDefaultInstance();
    625   EnumDescriptorProto::default_instance_->InitAsDefaultInstance();
    626   EnumValueDescriptorProto::default_instance_->InitAsDefaultInstance();
    627   ServiceDescriptorProto::default_instance_->InitAsDefaultInstance();
    628   MethodDescriptorProto::default_instance_->InitAsDefaultInstance();
    629   FileOptions::default_instance_->InitAsDefaultInstance();
    630   MessageOptions::default_instance_->InitAsDefaultInstance();
    631   FieldOptions::default_instance_->InitAsDefaultInstance();
    632   EnumOptions::default_instance_->InitAsDefaultInstance();
    633   EnumValueOptions::default_instance_->InitAsDefaultInstance();
    634   ServiceOptions::default_instance_->InitAsDefaultInstance();
    635   MethodOptions::default_instance_->InitAsDefaultInstance();
    636   UninterpretedOption::default_instance_->InitAsDefaultInstance();
    637   UninterpretedOption_NamePart::default_instance_->InitAsDefaultInstance();
    638   ::google::protobuf::internal::OnShutdown(&protobuf_ShutdownFile_google_2fprotobuf_2fdescriptor_2eproto);
    639 }
    640 
    641 // Force AddDescriptors() to be called at static initialization time.
    642 struct StaticDescriptorInitializer_google_2fprotobuf_2fdescriptor_2eproto {
    643   StaticDescriptorInitializer_google_2fprotobuf_2fdescriptor_2eproto() {
    644     protobuf_AddDesc_google_2fprotobuf_2fdescriptor_2eproto();
    645   }
    646 } static_descriptor_initializer_google_2fprotobuf_2fdescriptor_2eproto_;
    647 
    648 
    649 // ===================================================================
    650 
    651 #ifndef _MSC_VER
    652 const int FileDescriptorSet::kFileFieldNumber;
    653 #endif  // !_MSC_VER
    654 
    655 FileDescriptorSet::FileDescriptorSet()
    656   : ::google::protobuf::Message() {
    657   SharedCtor();
    658 }
    659 
    660 void FileDescriptorSet::InitAsDefaultInstance() {
    661 }
    662 
    663 FileDescriptorSet::FileDescriptorSet(const FileDescriptorSet& from)
    664   : ::google::protobuf::Message() {
    665   SharedCtor();
    666   MergeFrom(from);
    667 }
    668 
    669 void FileDescriptorSet::SharedCtor() {
    670   _cached_size_ = 0;
    671   ::memset(_has_bits_, 0, sizeof(_has_bits_));
    672 }
    673 
    674 FileDescriptorSet::~FileDescriptorSet() {
    675   SharedDtor();
    676 }
    677 
    678 void FileDescriptorSet::SharedDtor() {
    679   if (this != default_instance_) {
    680   }
    681 }
    682 
    683 void FileDescriptorSet::SetCachedSize(int size) const {
    684   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
    685   _cached_size_ = size;
    686   GOOGLE_SAFE_CONCURRENT_WRITES_END();
    687 }
    688 const ::google::protobuf::Descriptor* FileDescriptorSet::descriptor() {
    689   protobuf_AssignDescriptorsOnce();
    690   return FileDescriptorSet_descriptor_;
    691 }
    692 
    693 const FileDescriptorSet& FileDescriptorSet::default_instance() {
    694   if (default_instance_ == NULL) protobuf_AddDesc_google_2fprotobuf_2fdescriptor_2eproto();  return *default_instance_;
    695 }
    696 
    697 FileDescriptorSet* FileDescriptorSet::default_instance_ = NULL;
    698 
    699 FileDescriptorSet* FileDescriptorSet::New() const {
    700   return new FileDescriptorSet;
    701 }
    702 
    703 void FileDescriptorSet::Clear() {
    704   file_.Clear();
    705   ::memset(_has_bits_, 0, sizeof(_has_bits_));
    706   mutable_unknown_fields()->Clear();
    707 }
    708 
    709 bool FileDescriptorSet::MergePartialFromCodedStream(
    710     ::google::protobuf::io::CodedInputStream* input) {
    711 #define DO_(EXPRESSION) if (!(EXPRESSION)) return false
    712   ::google::protobuf::uint32 tag;
    713   while ((tag = input->ReadTag()) != 0) {
    714     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
    715       // repeated .google.protobuf.FileDescriptorProto file = 1;
    716       case 1: {
    717         if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
    718             ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
    719          parse_file:
    720           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
    721                 input, add_file()));
    722         } else {
    723           goto handle_uninterpreted;
    724         }
    725         if (input->ExpectTag(10)) goto parse_file;
    726         if (input->ExpectAtEnd()) return true;
    727         break;
    728       }
    729 
    730       default: {
    731       handle_uninterpreted:
    732         if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
    733             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
    734           return true;
    735         }
    736         DO_(::google::protobuf::internal::WireFormat::SkipField(
    737               input, tag, mutable_unknown_fields()));
    738         break;
    739       }
    740     }
    741   }
    742   return true;
    743 #undef DO_
    744 }
    745 
    746 void FileDescriptorSet::SerializeWithCachedSizes(
    747     ::google::protobuf::io::CodedOutputStream* output) const {
    748   // repeated .google.protobuf.FileDescriptorProto file = 1;
    749   for (int i = 0; i < this->file_size(); i++) {
    750     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
    751       1, this->file(i), output);
    752   }
    753 
    754   if (!unknown_fields().empty()) {
    755     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
    756         unknown_fields(), output);
    757   }
    758 }
    759 
    760 ::google::protobuf::uint8* FileDescriptorSet::SerializeWithCachedSizesToArray(
    761     ::google::protobuf::uint8* target) const {
    762   // repeated .google.protobuf.FileDescriptorProto file = 1;
    763   for (int i = 0; i < this->file_size(); i++) {
    764     target = ::google::protobuf::internal::WireFormatLite::
    765       WriteMessageNoVirtualToArray(
    766         1, this->file(i), target);
    767   }
    768 
    769   if (!unknown_fields().empty()) {
    770     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
    771         unknown_fields(), target);
    772   }
    773   return target;
    774 }
    775 
    776 int FileDescriptorSet::ByteSize() const {
    777   int total_size = 0;
    778 
    779   // repeated .google.protobuf.FileDescriptorProto file = 1;
    780   total_size += 1 * this->file_size();
    781   for (int i = 0; i < this->file_size(); i++) {
    782     total_size +=
    783       ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
    784         this->file(i));
    785   }
    786 
    787   if (!unknown_fields().empty()) {
    788     total_size +=
    789       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
    790         unknown_fields());
    791   }
    792   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
    793   _cached_size_ = total_size;
    794   GOOGLE_SAFE_CONCURRENT_WRITES_END();
    795   return total_size;
    796 }
    797 
    798 void FileDescriptorSet::MergeFrom(const ::google::protobuf::Message& from) {
    799   GOOGLE_CHECK_NE(&from, this);
    800   const FileDescriptorSet* source =
    801     ::google::protobuf::internal::dynamic_cast_if_available<const FileDescriptorSet*>(
    802       &from);
    803   if (source == NULL) {
    804     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
    805   } else {
    806     MergeFrom(*source);
    807   }
    808 }
    809 
    810 void FileDescriptorSet::MergeFrom(const FileDescriptorSet& from) {
    811   GOOGLE_CHECK_NE(&from, this);
    812   file_.MergeFrom(from.file_);
    813   mutable_unknown_fields()->MergeFrom(from.unknown_fields());
    814 }
    815 
    816 void FileDescriptorSet::CopyFrom(const ::google::protobuf::Message& from) {
    817   if (&from == this) return;
    818   Clear();
    819   MergeFrom(from);
    820 }
    821 
    822 void FileDescriptorSet::CopyFrom(const FileDescriptorSet& from) {
    823   if (&from == this) return;
    824   Clear();
    825   MergeFrom(from);
    826 }
    827 
    828 bool FileDescriptorSet::IsInitialized() const {
    829 
    830   for (int i = 0; i < file_size(); i++) {
    831     if (!this->file(i).IsInitialized()) return false;
    832   }
    833   return true;
    834 }
    835 
    836 void FileDescriptorSet::Swap(FileDescriptorSet* other) {
    837   if (other != this) {
    838     file_.Swap(&other->file_);
    839     std::swap(_has_bits_[0], other->_has_bits_[0]);
    840     _unknown_fields_.Swap(&other->_unknown_fields_);
    841     std::swap(_cached_size_, other->_cached_size_);
    842   }
    843 }
    844 
    845 ::google::protobuf::Metadata FileDescriptorSet::GetMetadata() const {
    846   protobuf_AssignDescriptorsOnce();
    847   ::google::protobuf::Metadata metadata;
    848   metadata.descriptor = FileDescriptorSet_descriptor_;
    849   metadata.reflection = FileDescriptorSet_reflection_;
    850   return metadata;
    851 }
    852 
    853 
    854 // ===================================================================
    855 
    856 const ::std::string FileDescriptorProto::_default_name_;
    857 const ::std::string FileDescriptorProto::_default_package_;
    858 #ifndef _MSC_VER
    859 const int FileDescriptorProto::kNameFieldNumber;
    860 const int FileDescriptorProto::kPackageFieldNumber;
    861 const int FileDescriptorProto::kDependencyFieldNumber;
    862 const int FileDescriptorProto::kMessageTypeFieldNumber;
    863 const int FileDescriptorProto::kEnumTypeFieldNumber;
    864 const int FileDescriptorProto::kServiceFieldNumber;
    865 const int FileDescriptorProto::kExtensionFieldNumber;
    866 const int FileDescriptorProto::kOptionsFieldNumber;
    867 #endif  // !_MSC_VER
    868 
    869 FileDescriptorProto::FileDescriptorProto()
    870   : ::google::protobuf::Message() {
    871   SharedCtor();
    872 }
    873 
    874 void FileDescriptorProto::InitAsDefaultInstance() {
    875   options_ = const_cast< ::google::protobuf::FileOptions*>(&::google::protobuf::FileOptions::default_instance());
    876 }
    877 
    878 FileDescriptorProto::FileDescriptorProto(const FileDescriptorProto& from)
    879   : ::google::protobuf::Message() {
    880   SharedCtor();
    881   MergeFrom(from);
    882 }
    883 
    884 void FileDescriptorProto::SharedCtor() {
    885   _cached_size_ = 0;
    886   name_ = const_cast< ::std::string*>(&_default_name_);
    887   package_ = const_cast< ::std::string*>(&_default_package_);
    888   options_ = NULL;
    889   ::memset(_has_bits_, 0, sizeof(_has_bits_));
    890 }
    891 
    892 FileDescriptorProto::~FileDescriptorProto() {
    893   SharedDtor();
    894 }
    895 
    896 void FileDescriptorProto::SharedDtor() {
    897   if (name_ != &_default_name_) {
    898     delete name_;
    899   }
    900   if (package_ != &_default_package_) {
    901     delete package_;
    902   }
    903   if (this != default_instance_) {
    904     delete options_;
    905   }
    906 }
    907 
    908 void FileDescriptorProto::SetCachedSize(int size) const {
    909   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
    910   _cached_size_ = size;
    911   GOOGLE_SAFE_CONCURRENT_WRITES_END();
    912 }
    913 const ::google::protobuf::Descriptor* FileDescriptorProto::descriptor() {
    914   protobuf_AssignDescriptorsOnce();
    915   return FileDescriptorProto_descriptor_;
    916 }
    917 
    918 const FileDescriptorProto& FileDescriptorProto::default_instance() {
    919   if (default_instance_ == NULL) protobuf_AddDesc_google_2fprotobuf_2fdescriptor_2eproto();  return *default_instance_;
    920 }
    921 
    922 FileDescriptorProto* FileDescriptorProto::default_instance_ = NULL;
    923 
    924 FileDescriptorProto* FileDescriptorProto::New() const {
    925   return new FileDescriptorProto;
    926 }
    927 
    928 void FileDescriptorProto::Clear() {
    929   if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
    930     if (_has_bit(0)) {
    931       if (name_ != &_default_name_) {
    932         name_->clear();
    933       }
    934     }
    935     if (_has_bit(1)) {
    936       if (package_ != &_default_package_) {
    937         package_->clear();
    938       }
    939     }
    940     if (_has_bit(7)) {
    941       if (options_ != NULL) options_->::google::protobuf::FileOptions::Clear();
    942     }
    943   }
    944   dependency_.Clear();
    945   message_type_.Clear();
    946   enum_type_.Clear();
    947   service_.Clear();
    948   extension_.Clear();
    949   ::memset(_has_bits_, 0, sizeof(_has_bits_));
    950   mutable_unknown_fields()->Clear();
    951 }
    952 
    953 bool FileDescriptorProto::MergePartialFromCodedStream(
    954     ::google::protobuf::io::CodedInputStream* input) {
    955 #define DO_(EXPRESSION) if (!(EXPRESSION)) return false
    956   ::google::protobuf::uint32 tag;
    957   while ((tag = input->ReadTag()) != 0) {
    958     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
    959       // optional string name = 1;
    960       case 1: {
    961         if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
    962             ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
    963           DO_(::google::protobuf::internal::WireFormatLite::ReadString(
    964                 input, this->mutable_name()));
    965           ::google::protobuf::internal::WireFormat::VerifyUTF8String(
    966             this->name().data(), this->name().length(),
    967             ::google::protobuf::internal::WireFormat::PARSE);
    968         } else {
    969           goto handle_uninterpreted;
    970         }
    971         if (input->ExpectTag(18)) goto parse_package;
    972         break;
    973       }
    974 
    975       // optional string package = 2;
    976       case 2: {
    977         if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
    978             ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
    979          parse_package:
    980           DO_(::google::protobuf::internal::WireFormatLite::ReadString(
    981                 input, this->mutable_package()));
    982           ::google::protobuf::internal::WireFormat::VerifyUTF8String(
    983             this->package().data(), this->package().length(),
    984             ::google::protobuf::internal::WireFormat::PARSE);
    985         } else {
    986           goto handle_uninterpreted;
    987         }
    988         if (input->ExpectTag(26)) goto parse_dependency;
    989         break;
    990       }
    991 
    992       // repeated string dependency = 3;
    993       case 3: {
    994         if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
    995             ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
    996          parse_dependency:
    997           DO_(::google::protobuf::internal::WireFormatLite::ReadString(
    998                 input, this->add_dependency()));
    999           ::google::protobuf::internal::WireFormat::VerifyUTF8String(
   1000             this->dependency(0).data(), this->dependency(0).length(),
   1001             ::google::protobuf::internal::WireFormat::PARSE);
   1002         } else {
   1003           goto handle_uninterpreted;
   1004         }
   1005         if (input->ExpectTag(26)) goto parse_dependency;
   1006         if (input->ExpectTag(34)) goto parse_message_type;
   1007         break;
   1008       }
   1009 
   1010       // repeated .google.protobuf.DescriptorProto message_type = 4;
   1011       case 4: {
   1012         if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
   1013             ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
   1014          parse_message_type:
   1015           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
   1016                 input, add_message_type()));
   1017         } else {
   1018           goto handle_uninterpreted;
   1019         }
   1020         if (input->ExpectTag(34)) goto parse_message_type;
   1021         if (input->ExpectTag(42)) goto parse_enum_type;
   1022         break;
   1023       }
   1024 
   1025       // repeated .google.protobuf.EnumDescriptorProto enum_type = 5;
   1026       case 5: {
   1027         if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
   1028             ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
   1029          parse_enum_type:
   1030           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
   1031                 input, add_enum_type()));
   1032         } else {
   1033           goto handle_uninterpreted;
   1034         }
   1035         if (input->ExpectTag(42)) goto parse_enum_type;
   1036         if (input->ExpectTag(50)) goto parse_service;
   1037         break;
   1038       }
   1039 
   1040       // repeated .google.protobuf.ServiceDescriptorProto service = 6;
   1041       case 6: {
   1042         if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
   1043             ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
   1044          parse_service:
   1045           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
   1046                 input, add_service()));
   1047         } else {
   1048           goto handle_uninterpreted;
   1049         }
   1050         if (input->ExpectTag(50)) goto parse_service;
   1051         if (input->ExpectTag(58)) goto parse_extension;
   1052         break;
   1053       }
   1054 
   1055       // repeated .google.protobuf.FieldDescriptorProto extension = 7;
   1056       case 7: {
   1057         if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
   1058             ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
   1059          parse_extension:
   1060           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
   1061                 input, add_extension()));
   1062         } else {
   1063           goto handle_uninterpreted;
   1064         }
   1065         if (input->ExpectTag(58)) goto parse_extension;
   1066         if (input->ExpectTag(66)) goto parse_options;
   1067         break;
   1068       }
   1069 
   1070       // optional .google.protobuf.FileOptions options = 8;
   1071       case 8: {
   1072         if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
   1073             ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
   1074          parse_options:
   1075           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
   1076                input, mutable_options()));
   1077         } else {
   1078           goto handle_uninterpreted;
   1079         }
   1080         if (input->ExpectAtEnd()) return true;
   1081         break;
   1082       }
   1083 
   1084       default: {
   1085       handle_uninterpreted:
   1086         if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
   1087             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
   1088           return true;
   1089         }
   1090         DO_(::google::protobuf::internal::WireFormat::SkipField(
   1091               input, tag, mutable_unknown_fields()));
   1092         break;
   1093       }
   1094     }
   1095   }
   1096   return true;
   1097 #undef DO_
   1098 }
   1099 
   1100 void FileDescriptorProto::SerializeWithCachedSizes(
   1101     ::google::protobuf::io::CodedOutputStream* output) const {
   1102   // optional string name = 1;
   1103   if (_has_bit(0)) {
   1104     ::google::protobuf::internal::WireFormat::VerifyUTF8String(
   1105       this->name().data(), this->name().length(),
   1106       ::google::protobuf::internal::WireFormat::SERIALIZE);
   1107     ::google::protobuf::internal::WireFormatLite::WriteString(
   1108       1, this->name(), output);
   1109   }
   1110 
   1111   // optional string package = 2;
   1112   if (_has_bit(1)) {
   1113     ::google::protobuf::internal::WireFormat::VerifyUTF8String(
   1114       this->package().data(), this->package().length(),
   1115       ::google::protobuf::internal::WireFormat::SERIALIZE);
   1116     ::google::protobuf::internal::WireFormatLite::WriteString(
   1117       2, this->package(), output);
   1118   }
   1119 
   1120   // repeated string dependency = 3;
   1121   for (int i = 0; i < this->dependency_size(); i++) {
   1122   ::google::protobuf::internal::WireFormat::VerifyUTF8String(
   1123     this->dependency(i).data(), this->dependency(i).length(),
   1124     ::google::protobuf::internal::WireFormat::SERIALIZE);
   1125     ::google::protobuf::internal::WireFormatLite::WriteString(
   1126       3, this->dependency(i), output);
   1127   }
   1128 
   1129   // repeated .google.protobuf.DescriptorProto message_type = 4;
   1130   for (int i = 0; i < this->message_type_size(); i++) {
   1131     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
   1132       4, this->message_type(i), output);
   1133   }
   1134 
   1135   // repeated .google.protobuf.EnumDescriptorProto enum_type = 5;
   1136   for (int i = 0; i < this->enum_type_size(); i++) {
   1137     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
   1138       5, this->enum_type(i), output);
   1139   }
   1140 
   1141   // repeated .google.protobuf.ServiceDescriptorProto service = 6;
   1142   for (int i = 0; i < this->service_size(); i++) {
   1143     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
   1144       6, this->service(i), output);
   1145   }
   1146 
   1147   // repeated .google.protobuf.FieldDescriptorProto extension = 7;
   1148   for (int i = 0; i < this->extension_size(); i++) {
   1149     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
   1150       7, this->extension(i), output);
   1151   }
   1152 
   1153   // optional .google.protobuf.FileOptions options = 8;
   1154   if (_has_bit(7)) {
   1155     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
   1156       8, this->options(), output);
   1157   }
   1158 
   1159   if (!unknown_fields().empty()) {
   1160     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
   1161         unknown_fields(), output);
   1162   }
   1163 }
   1164 
   1165 ::google::protobuf::uint8* FileDescriptorProto::SerializeWithCachedSizesToArray(
   1166     ::google::protobuf::uint8* target) const {
   1167   // optional string name = 1;
   1168   if (_has_bit(0)) {
   1169     ::google::protobuf::internal::WireFormat::VerifyUTF8String(
   1170       this->name().data(), this->name().length(),
   1171       ::google::protobuf::internal::WireFormat::SERIALIZE);
   1172     target =
   1173       ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
   1174         1, this->name(), target);
   1175   }
   1176 
   1177   // optional string package = 2;
   1178   if (_has_bit(1)) {
   1179     ::google::protobuf::internal::WireFormat::VerifyUTF8String(
   1180       this->package().data(), this->package().length(),
   1181       ::google::protobuf::internal::WireFormat::SERIALIZE);
   1182     target =
   1183       ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
   1184         2, this->package(), target);
   1185   }
   1186 
   1187   // repeated string dependency = 3;
   1188   for (int i = 0; i < this->dependency_size(); i++) {
   1189     ::google::protobuf::internal::WireFormat::VerifyUTF8String(
   1190       this->dependency(i).data(), this->dependency(i).length(),
   1191       ::google::protobuf::internal::WireFormat::SERIALIZE);
   1192     target = ::google::protobuf::internal::WireFormatLite::
   1193       WriteStringToArray(3, this->dependency(i), target);
   1194   }
   1195 
   1196   // repeated .google.protobuf.DescriptorProto message_type = 4;
   1197   for (int i = 0; i < this->message_type_size(); i++) {
   1198     target = ::google::protobuf::internal::WireFormatLite::
   1199       WriteMessageNoVirtualToArray(
   1200         4, this->message_type(i), target);
   1201   }
   1202 
   1203   // repeated .google.protobuf.EnumDescriptorProto enum_type = 5;
   1204   for (int i = 0; i < this->enum_type_size(); i++) {
   1205     target = ::google::protobuf::internal::WireFormatLite::
   1206       WriteMessageNoVirtualToArray(
   1207         5, this->enum_type(i), target);
   1208   }
   1209 
   1210   // repeated .google.protobuf.ServiceDescriptorProto service = 6;
   1211   for (int i = 0; i < this->service_size(); i++) {
   1212     target = ::google::protobuf::internal::WireFormatLite::
   1213       WriteMessageNoVirtualToArray(
   1214         6, this->service(i), target);
   1215   }
   1216 
   1217   // repeated .google.protobuf.FieldDescriptorProto extension = 7;
   1218   for (int i = 0; i < this->extension_size(); i++) {
   1219     target = ::google::protobuf::internal::WireFormatLite::
   1220       WriteMessageNoVirtualToArray(
   1221         7, this->extension(i), target);
   1222   }
   1223 
   1224   // optional .google.protobuf.FileOptions options = 8;
   1225   if (_has_bit(7)) {
   1226     target = ::google::protobuf::internal::WireFormatLite::
   1227       WriteMessageNoVirtualToArray(
   1228         8, this->options(), target);
   1229   }
   1230 
   1231   if (!unknown_fields().empty()) {
   1232     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
   1233         unknown_fields(), target);
   1234   }
   1235   return target;
   1236 }
   1237 
   1238 int FileDescriptorProto::ByteSize() const {
   1239   int total_size = 0;
   1240 
   1241   if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
   1242     // optional string name = 1;
   1243     if (has_name()) {
   1244       total_size += 1 +
   1245         ::google::protobuf::internal::WireFormatLite::StringSize(
   1246           this->name());
   1247     }
   1248 
   1249     // optional string package = 2;
   1250     if (has_package()) {
   1251       total_size += 1 +
   1252         ::google::protobuf::internal::WireFormatLite::StringSize(
   1253           this->package());
   1254     }
   1255 
   1256     // optional .google.protobuf.FileOptions options = 8;
   1257     if (has_options()) {
   1258       total_size += 1 +
   1259         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
   1260           this->options());
   1261     }
   1262 
   1263   }
   1264   // repeated string dependency = 3;
   1265   total_size += 1 * this->dependency_size();
   1266   for (int i = 0; i < this->dependency_size(); i++) {
   1267     total_size += ::google::protobuf::internal::WireFormatLite::StringSize(
   1268       this->dependency(i));
   1269   }
   1270 
   1271   // repeated .google.protobuf.DescriptorProto message_type = 4;
   1272   total_size += 1 * this->message_type_size();
   1273   for (int i = 0; i < this->message_type_size(); i++) {
   1274     total_size +=
   1275       ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
   1276         this->message_type(i));
   1277   }
   1278 
   1279   // repeated .google.protobuf.EnumDescriptorProto enum_type = 5;
   1280   total_size += 1 * this->enum_type_size();
   1281   for (int i = 0; i < this->enum_type_size(); i++) {
   1282     total_size +=
   1283       ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
   1284         this->enum_type(i));
   1285   }
   1286 
   1287   // repeated .google.protobuf.ServiceDescriptorProto service = 6;
   1288   total_size += 1 * this->service_size();
   1289   for (int i = 0; i < this->service_size(); i++) {
   1290     total_size +=
   1291       ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
   1292         this->service(i));
   1293   }
   1294 
   1295   // repeated .google.protobuf.FieldDescriptorProto extension = 7;
   1296   total_size += 1 * this->extension_size();
   1297   for (int i = 0; i < this->extension_size(); i++) {
   1298     total_size +=
   1299       ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
   1300         this->extension(i));
   1301   }
   1302 
   1303   if (!unknown_fields().empty()) {
   1304     total_size +=
   1305       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
   1306         unknown_fields());
   1307   }
   1308   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   1309   _cached_size_ = total_size;
   1310   GOOGLE_SAFE_CONCURRENT_WRITES_END();
   1311   return total_size;
   1312 }
   1313 
   1314 void FileDescriptorProto::MergeFrom(const ::google::protobuf::Message& from) {
   1315   GOOGLE_CHECK_NE(&from, this);
   1316   const FileDescriptorProto* source =
   1317     ::google::protobuf::internal::dynamic_cast_if_available<const FileDescriptorProto*>(
   1318       &from);
   1319   if (source == NULL) {
   1320     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
   1321   } else {
   1322     MergeFrom(*source);
   1323   }
   1324 }
   1325 
   1326 void FileDescriptorProto::MergeFrom(const FileDescriptorProto& from) {
   1327   GOOGLE_CHECK_NE(&from, this);
   1328   dependency_.MergeFrom(from.dependency_);
   1329   message_type_.MergeFrom(from.message_type_);
   1330   enum_type_.MergeFrom(from.enum_type_);
   1331   service_.MergeFrom(from.service_);
   1332   extension_.MergeFrom(from.extension_);
   1333   if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
   1334     if (from._has_bit(0)) {
   1335       set_name(from.name());
   1336     }
   1337     if (from._has_bit(1)) {
   1338       set_package(from.package());
   1339     }
   1340     if (from._has_bit(7)) {
   1341       mutable_options()->::google::protobuf::FileOptions::MergeFrom(from.options());
   1342     }
   1343   }
   1344   mutable_unknown_fields()->MergeFrom(from.unknown_fields());
   1345 }
   1346 
   1347 void FileDescriptorProto::CopyFrom(const ::google::protobuf::Message& from) {
   1348   if (&from == this) return;
   1349   Clear();
   1350   MergeFrom(from);
   1351 }
   1352 
   1353 void FileDescriptorProto::CopyFrom(const FileDescriptorProto& from) {
   1354   if (&from == this) return;
   1355   Clear();
   1356   MergeFrom(from);
   1357 }
   1358 
   1359 bool FileDescriptorProto::IsInitialized() const {
   1360 
   1361   for (int i = 0; i < message_type_size(); i++) {
   1362     if (!this->message_type(i).IsInitialized()) return false;
   1363   }
   1364   for (int i = 0; i < enum_type_size(); i++) {
   1365     if (!this->enum_type(i).IsInitialized()) return false;
   1366   }
   1367   for (int i = 0; i < service_size(); i++) {
   1368     if (!this->service(i).IsInitialized()) return false;
   1369   }
   1370   for (int i = 0; i < extension_size(); i++) {
   1371     if (!this->extension(i).IsInitialized()) return false;
   1372   }
   1373   if (has_options()) {
   1374     if (!this->options().IsInitialized()) return false;
   1375   }
   1376   return true;
   1377 }
   1378 
   1379 void FileDescriptorProto::Swap(FileDescriptorProto* other) {
   1380   if (other != this) {
   1381     std::swap(name_, other->name_);
   1382     std::swap(package_, other->package_);
   1383     dependency_.Swap(&other->dependency_);
   1384     message_type_.Swap(&other->message_type_);
   1385     enum_type_.Swap(&other->enum_type_);
   1386     service_.Swap(&other->service_);
   1387     extension_.Swap(&other->extension_);
   1388     std::swap(options_, other->options_);
   1389     std::swap(_has_bits_[0], other->_has_bits_[0]);
   1390     _unknown_fields_.Swap(&other->_unknown_fields_);
   1391     std::swap(_cached_size_, other->_cached_size_);
   1392   }
   1393 }
   1394 
   1395 ::google::protobuf::Metadata FileDescriptorProto::GetMetadata() const {
   1396   protobuf_AssignDescriptorsOnce();
   1397   ::google::protobuf::Metadata metadata;
   1398   metadata.descriptor = FileDescriptorProto_descriptor_;
   1399   metadata.reflection = FileDescriptorProto_reflection_;
   1400   return metadata;
   1401 }
   1402 
   1403 
   1404 // ===================================================================
   1405 
   1406 #ifndef _MSC_VER
   1407 const int DescriptorProto_ExtensionRange::kStartFieldNumber;
   1408 const int DescriptorProto_ExtensionRange::kEndFieldNumber;
   1409 #endif  // !_MSC_VER
   1410 
   1411 DescriptorProto_ExtensionRange::DescriptorProto_ExtensionRange()
   1412   : ::google::protobuf::Message() {
   1413   SharedCtor();
   1414 }
   1415 
   1416 void DescriptorProto_ExtensionRange::InitAsDefaultInstance() {
   1417 }
   1418 
   1419 DescriptorProto_ExtensionRange::DescriptorProto_ExtensionRange(const DescriptorProto_ExtensionRange& from)
   1420   : ::google::protobuf::Message() {
   1421   SharedCtor();
   1422   MergeFrom(from);
   1423 }
   1424 
   1425 void DescriptorProto_ExtensionRange::SharedCtor() {
   1426   _cached_size_ = 0;
   1427   start_ = 0;
   1428   end_ = 0;
   1429   ::memset(_has_bits_, 0, sizeof(_has_bits_));
   1430 }
   1431 
   1432 DescriptorProto_ExtensionRange::~DescriptorProto_ExtensionRange() {
   1433   SharedDtor();
   1434 }
   1435 
   1436 void DescriptorProto_ExtensionRange::SharedDtor() {
   1437   if (this != default_instance_) {
   1438   }
   1439 }
   1440 
   1441 void DescriptorProto_ExtensionRange::SetCachedSize(int size) const {
   1442   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   1443   _cached_size_ = size;
   1444   GOOGLE_SAFE_CONCURRENT_WRITES_END();
   1445 }
   1446 const ::google::protobuf::Descriptor* DescriptorProto_ExtensionRange::descriptor() {
   1447   protobuf_AssignDescriptorsOnce();
   1448   return DescriptorProto_ExtensionRange_descriptor_;
   1449 }
   1450 
   1451 const DescriptorProto_ExtensionRange& DescriptorProto_ExtensionRange::default_instance() {
   1452   if (default_instance_ == NULL) protobuf_AddDesc_google_2fprotobuf_2fdescriptor_2eproto();  return *default_instance_;
   1453 }
   1454 
   1455 DescriptorProto_ExtensionRange* DescriptorProto_ExtensionRange::default_instance_ = NULL;
   1456 
   1457 DescriptorProto_ExtensionRange* DescriptorProto_ExtensionRange::New() const {
   1458   return new DescriptorProto_ExtensionRange;
   1459 }
   1460 
   1461 void DescriptorProto_ExtensionRange::Clear() {
   1462   if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
   1463     start_ = 0;
   1464     end_ = 0;
   1465   }
   1466   ::memset(_has_bits_, 0, sizeof(_has_bits_));
   1467   mutable_unknown_fields()->Clear();
   1468 }
   1469 
   1470 bool DescriptorProto_ExtensionRange::MergePartialFromCodedStream(
   1471     ::google::protobuf::io::CodedInputStream* input) {
   1472 #define DO_(EXPRESSION) if (!(EXPRESSION)) return false
   1473   ::google::protobuf::uint32 tag;
   1474   while ((tag = input->ReadTag()) != 0) {
   1475     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
   1476       // optional int32 start = 1;
   1477       case 1: {
   1478         if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
   1479             ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
   1480           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
   1481                    ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
   1482                  input, &start_)));
   1483           _set_bit(0);
   1484         } else {
   1485           goto handle_uninterpreted;
   1486         }
   1487         if (input->ExpectTag(16)) goto parse_end;
   1488         break;
   1489       }
   1490 
   1491       // optional int32 end = 2;
   1492       case 2: {
   1493         if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
   1494             ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
   1495          parse_end:
   1496           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
   1497                    ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
   1498                  input, &end_)));
   1499           _set_bit(1);
   1500         } else {
   1501           goto handle_uninterpreted;
   1502         }
   1503         if (input->ExpectAtEnd()) return true;
   1504         break;
   1505       }
   1506 
   1507       default: {
   1508       handle_uninterpreted:
   1509         if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
   1510             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
   1511           return true;
   1512         }
   1513         DO_(::google::protobuf::internal::WireFormat::SkipField(
   1514               input, tag, mutable_unknown_fields()));
   1515         break;
   1516       }
   1517     }
   1518   }
   1519   return true;
   1520 #undef DO_
   1521 }
   1522 
   1523 void DescriptorProto_ExtensionRange::SerializeWithCachedSizes(
   1524     ::google::protobuf::io::CodedOutputStream* output) const {
   1525   // optional int32 start = 1;
   1526   if (_has_bit(0)) {
   1527     ::google::protobuf::internal::WireFormatLite::WriteInt32(1, this->start(), output);
   1528   }
   1529 
   1530   // optional int32 end = 2;
   1531   if (_has_bit(1)) {
   1532     ::google::protobuf::internal::WireFormatLite::WriteInt32(2, this->end(), output);
   1533   }
   1534 
   1535   if (!unknown_fields().empty()) {
   1536     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
   1537         unknown_fields(), output);
   1538   }
   1539 }
   1540 
   1541 ::google::protobuf::uint8* DescriptorProto_ExtensionRange::SerializeWithCachedSizesToArray(
   1542     ::google::protobuf::uint8* target) const {
   1543   // optional int32 start = 1;
   1544   if (_has_bit(0)) {
   1545     target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(1, this->start(), target);
   1546   }
   1547 
   1548   // optional int32 end = 2;
   1549   if (_has_bit(1)) {
   1550     target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(2, this->end(), target);
   1551   }
   1552 
   1553   if (!unknown_fields().empty()) {
   1554     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
   1555         unknown_fields(), target);
   1556   }
   1557   return target;
   1558 }
   1559 
   1560 int DescriptorProto_ExtensionRange::ByteSize() const {
   1561   int total_size = 0;
   1562 
   1563   if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
   1564     // optional int32 start = 1;
   1565     if (has_start()) {
   1566       total_size += 1 +
   1567         ::google::protobuf::internal::WireFormatLite::Int32Size(
   1568           this->start());
   1569     }
   1570 
   1571     // optional int32 end = 2;
   1572     if (has_end()) {
   1573       total_size += 1 +
   1574         ::google::protobuf::internal::WireFormatLite::Int32Size(
   1575           this->end());
   1576     }
   1577 
   1578   }
   1579   if (!unknown_fields().empty()) {
   1580     total_size +=
   1581       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
   1582         unknown_fields());
   1583   }
   1584   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   1585   _cached_size_ = total_size;
   1586   GOOGLE_SAFE_CONCURRENT_WRITES_END();
   1587   return total_size;
   1588 }
   1589 
   1590 void DescriptorProto_ExtensionRange::MergeFrom(const ::google::protobuf::Message& from) {
   1591   GOOGLE_CHECK_NE(&from, this);
   1592   const DescriptorProto_ExtensionRange* source =
   1593     ::google::protobuf::internal::dynamic_cast_if_available<const DescriptorProto_ExtensionRange*>(
   1594       &from);
   1595   if (source == NULL) {
   1596     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
   1597   } else {
   1598     MergeFrom(*source);
   1599   }
   1600 }
   1601 
   1602 void DescriptorProto_ExtensionRange::MergeFrom(const DescriptorProto_ExtensionRange& from) {
   1603   GOOGLE_CHECK_NE(&from, this);
   1604   if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
   1605     if (from._has_bit(0)) {
   1606       set_start(from.start());
   1607     }
   1608     if (from._has_bit(1)) {
   1609       set_end(from.end());
   1610     }
   1611   }
   1612   mutable_unknown_fields()->MergeFrom(from.unknown_fields());
   1613 }
   1614 
   1615 void DescriptorProto_ExtensionRange::CopyFrom(const ::google::protobuf::Message& from) {
   1616   if (&from == this) return;
   1617   Clear();
   1618   MergeFrom(from);
   1619 }
   1620 
   1621 void DescriptorProto_ExtensionRange::CopyFrom(const DescriptorProto_ExtensionRange& from) {
   1622   if (&from == this) return;
   1623   Clear();
   1624   MergeFrom(from);
   1625 }
   1626 
   1627 bool DescriptorProto_ExtensionRange::IsInitialized() const {
   1628 
   1629   return true;
   1630 }
   1631 
   1632 void DescriptorProto_ExtensionRange::Swap(DescriptorProto_ExtensionRange* other) {
   1633   if (other != this) {
   1634     std::swap(start_, other->start_);
   1635     std::swap(end_, other->end_);
   1636     std::swap(_has_bits_[0], other->_has_bits_[0]);
   1637     _unknown_fields_.Swap(&other->_unknown_fields_);
   1638     std::swap(_cached_size_, other->_cached_size_);
   1639   }
   1640 }
   1641 
   1642 ::google::protobuf::Metadata DescriptorProto_ExtensionRange::GetMetadata() const {
   1643   protobuf_AssignDescriptorsOnce();
   1644   ::google::protobuf::Metadata metadata;
   1645   metadata.descriptor = DescriptorProto_ExtensionRange_descriptor_;
   1646   metadata.reflection = DescriptorProto_ExtensionRange_reflection_;
   1647   return metadata;
   1648 }
   1649 
   1650 
   1651 // -------------------------------------------------------------------
   1652 
   1653 const ::std::string DescriptorProto::_default_name_;
   1654 #ifndef _MSC_VER
   1655 const int DescriptorProto::kNameFieldNumber;
   1656 const int DescriptorProto::kFieldFieldNumber;
   1657 const int DescriptorProto::kExtensionFieldNumber;
   1658 const int DescriptorProto::kNestedTypeFieldNumber;
   1659 const int DescriptorProto::kEnumTypeFieldNumber;
   1660 const int DescriptorProto::kExtensionRangeFieldNumber;
   1661 const int DescriptorProto::kOptionsFieldNumber;
   1662 #endif  // !_MSC_VER
   1663 
   1664 DescriptorProto::DescriptorProto()
   1665   : ::google::protobuf::Message() {
   1666   SharedCtor();
   1667 }
   1668 
   1669 void DescriptorProto::InitAsDefaultInstance() {
   1670   options_ = const_cast< ::google::protobuf::MessageOptions*>(&::google::protobuf::MessageOptions::default_instance());
   1671 }
   1672 
   1673 DescriptorProto::DescriptorProto(const DescriptorProto& from)
   1674   : ::google::protobuf::Message() {
   1675   SharedCtor();
   1676   MergeFrom(from);
   1677 }
   1678 
   1679 void DescriptorProto::SharedCtor() {
   1680   _cached_size_ = 0;
   1681   name_ = const_cast< ::std::string*>(&_default_name_);
   1682   options_ = NULL;
   1683   ::memset(_has_bits_, 0, sizeof(_has_bits_));
   1684 }
   1685 
   1686 DescriptorProto::~DescriptorProto() {
   1687   SharedDtor();
   1688 }
   1689 
   1690 void DescriptorProto::SharedDtor() {
   1691   if (name_ != &_default_name_) {
   1692     delete name_;
   1693   }
   1694   if (this != default_instance_) {
   1695     delete options_;
   1696   }
   1697 }
   1698 
   1699 void DescriptorProto::SetCachedSize(int size) const {
   1700   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   1701   _cached_size_ = size;
   1702   GOOGLE_SAFE_CONCURRENT_WRITES_END();
   1703 }
   1704 const ::google::protobuf::Descriptor* DescriptorProto::descriptor() {
   1705   protobuf_AssignDescriptorsOnce();
   1706   return DescriptorProto_descriptor_;
   1707 }
   1708 
   1709 const DescriptorProto& DescriptorProto::default_instance() {
   1710   if (default_instance_ == NULL) protobuf_AddDesc_google_2fprotobuf_2fdescriptor_2eproto();  return *default_instance_;
   1711 }
   1712 
   1713 DescriptorProto* DescriptorProto::default_instance_ = NULL;
   1714 
   1715 DescriptorProto* DescriptorProto::New() const {
   1716   return new DescriptorProto;
   1717 }
   1718 
   1719 void DescriptorProto::Clear() {
   1720   if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
   1721     if (_has_bit(0)) {
   1722       if (name_ != &_default_name_) {
   1723         name_->clear();
   1724       }
   1725     }
   1726     if (_has_bit(6)) {
   1727       if (options_ != NULL) options_->::google::protobuf::MessageOptions::Clear();
   1728     }
   1729   }
   1730   field_.Clear();
   1731   extension_.Clear();
   1732   nested_type_.Clear();
   1733   enum_type_.Clear();
   1734   extension_range_.Clear();
   1735   ::memset(_has_bits_, 0, sizeof(_has_bits_));
   1736   mutable_unknown_fields()->Clear();
   1737 }
   1738 
   1739 bool DescriptorProto::MergePartialFromCodedStream(
   1740     ::google::protobuf::io::CodedInputStream* input) {
   1741 #define DO_(EXPRESSION) if (!(EXPRESSION)) return false
   1742   ::google::protobuf::uint32 tag;
   1743   while ((tag = input->ReadTag()) != 0) {
   1744     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
   1745       // optional string name = 1;
   1746       case 1: {
   1747         if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
   1748             ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
   1749           DO_(::google::protobuf::internal::WireFormatLite::ReadString(
   1750                 input, this->mutable_name()));
   1751           ::google::protobuf::internal::WireFormat::VerifyUTF8String(
   1752             this->name().data(), this->name().length(),
   1753             ::google::protobuf::internal::WireFormat::PARSE);
   1754         } else {
   1755           goto handle_uninterpreted;
   1756         }
   1757         if (input->ExpectTag(18)) goto parse_field;
   1758         break;
   1759       }
   1760 
   1761       // repeated .google.protobuf.FieldDescriptorProto field = 2;
   1762       case 2: {
   1763         if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
   1764             ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
   1765          parse_field:
   1766           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
   1767                 input, add_field()));
   1768         } else {
   1769           goto handle_uninterpreted;
   1770         }
   1771         if (input->ExpectTag(18)) goto parse_field;
   1772         if (input->ExpectTag(26)) goto parse_nested_type;
   1773         break;
   1774       }
   1775 
   1776       // repeated .google.protobuf.DescriptorProto nested_type = 3;
   1777       case 3: {
   1778         if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
   1779             ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
   1780          parse_nested_type:
   1781           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
   1782                 input, add_nested_type()));
   1783         } else {
   1784           goto handle_uninterpreted;
   1785         }
   1786         if (input->ExpectTag(26)) goto parse_nested_type;
   1787         if (input->ExpectTag(34)) goto parse_enum_type;
   1788         break;
   1789       }
   1790 
   1791       // repeated .google.protobuf.EnumDescriptorProto enum_type = 4;
   1792       case 4: {
   1793         if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
   1794             ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
   1795          parse_enum_type:
   1796           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
   1797                 input, add_enum_type()));
   1798         } else {
   1799           goto handle_uninterpreted;
   1800         }
   1801         if (input->ExpectTag(34)) goto parse_enum_type;
   1802         if (input->ExpectTag(42)) goto parse_extension_range;
   1803         break;
   1804       }
   1805 
   1806       // repeated .google.protobuf.DescriptorProto.ExtensionRange extension_range = 5;
   1807       case 5: {
   1808         if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
   1809             ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
   1810          parse_extension_range:
   1811           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
   1812                 input, add_extension_range()));
   1813         } else {
   1814           goto handle_uninterpreted;
   1815         }
   1816         if (input->ExpectTag(42)) goto parse_extension_range;
   1817         if (input->ExpectTag(50)) goto parse_extension;
   1818         break;
   1819       }
   1820 
   1821       // repeated .google.protobuf.FieldDescriptorProto extension = 6;
   1822       case 6: {
   1823         if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
   1824             ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
   1825          parse_extension:
   1826           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
   1827                 input, add_extension()));
   1828         } else {
   1829           goto handle_uninterpreted;
   1830         }
   1831         if (input->ExpectTag(50)) goto parse_extension;
   1832         if (input->ExpectTag(58)) goto parse_options;
   1833         break;
   1834       }
   1835 
   1836       // optional .google.protobuf.MessageOptions options = 7;
   1837       case 7: {
   1838         if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
   1839             ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
   1840          parse_options:
   1841           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
   1842                input, mutable_options()));
   1843         } else {
   1844           goto handle_uninterpreted;
   1845         }
   1846         if (input->ExpectAtEnd()) return true;
   1847         break;
   1848       }
   1849 
   1850       default: {
   1851       handle_uninterpreted:
   1852         if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
   1853             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
   1854           return true;
   1855         }
   1856         DO_(::google::protobuf::internal::WireFormat::SkipField(
   1857               input, tag, mutable_unknown_fields()));
   1858         break;
   1859       }
   1860     }
   1861   }
   1862   return true;
   1863 #undef DO_
   1864 }
   1865 
   1866 void DescriptorProto::SerializeWithCachedSizes(
   1867     ::google::protobuf::io::CodedOutputStream* output) const {
   1868   // optional string name = 1;
   1869   if (_has_bit(0)) {
   1870     ::google::protobuf::internal::WireFormat::VerifyUTF8String(
   1871       this->name().data(), this->name().length(),
   1872       ::google::protobuf::internal::WireFormat::SERIALIZE);
   1873     ::google::protobuf::internal::WireFormatLite::WriteString(
   1874       1, this->name(), output);
   1875   }
   1876 
   1877   // repeated .google.protobuf.FieldDescriptorProto field = 2;
   1878   for (int i = 0; i < this->field_size(); i++) {
   1879     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
   1880       2, this->field(i), output);
   1881   }
   1882 
   1883   // repeated .google.protobuf.DescriptorProto nested_type = 3;
   1884   for (int i = 0; i < this->nested_type_size(); i++) {
   1885     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
   1886       3, this->nested_type(i), output);
   1887   }
   1888 
   1889   // repeated .google.protobuf.EnumDescriptorProto enum_type = 4;
   1890   for (int i = 0; i < this->enum_type_size(); i++) {
   1891     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
   1892       4, this->enum_type(i), output);
   1893   }
   1894 
   1895   // repeated .google.protobuf.DescriptorProto.ExtensionRange extension_range = 5;
   1896   for (int i = 0; i < this->extension_range_size(); i++) {
   1897     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
   1898       5, this->extension_range(i), output);
   1899   }
   1900 
   1901   // repeated .google.protobuf.FieldDescriptorProto extension = 6;
   1902   for (int i = 0; i < this->extension_size(); i++) {
   1903     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
   1904       6, this->extension(i), output);
   1905   }
   1906 
   1907   // optional .google.protobuf.MessageOptions options = 7;
   1908   if (_has_bit(6)) {
   1909     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
   1910       7, this->options(), output);
   1911   }
   1912 
   1913   if (!unknown_fields().empty()) {
   1914     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
   1915         unknown_fields(), output);
   1916   }
   1917 }
   1918 
   1919 ::google::protobuf::uint8* DescriptorProto::SerializeWithCachedSizesToArray(
   1920     ::google::protobuf::uint8* target) const {
   1921   // optional string name = 1;
   1922   if (_has_bit(0)) {
   1923     ::google::protobuf::internal::WireFormat::VerifyUTF8String(
   1924       this->name().data(), this->name().length(),
   1925       ::google::protobuf::internal::WireFormat::SERIALIZE);
   1926     target =
   1927       ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
   1928         1, this->name(), target);
   1929   }
   1930 
   1931   // repeated .google.protobuf.FieldDescriptorProto field = 2;
   1932   for (int i = 0; i < this->field_size(); i++) {
   1933     target = ::google::protobuf::internal::WireFormatLite::
   1934       WriteMessageNoVirtualToArray(
   1935         2, this->field(i), target);
   1936   }
   1937 
   1938   // repeated .google.protobuf.DescriptorProto nested_type = 3;
   1939   for (int i = 0; i < this->nested_type_size(); i++) {
   1940     target = ::google::protobuf::internal::WireFormatLite::
   1941       WriteMessageNoVirtualToArray(
   1942         3, this->nested_type(i), target);
   1943   }
   1944 
   1945   // repeated .google.protobuf.EnumDescriptorProto enum_type = 4;
   1946   for (int i = 0; i < this->enum_type_size(); i++) {
   1947     target = ::google::protobuf::internal::WireFormatLite::
   1948       WriteMessageNoVirtualToArray(
   1949         4, this->enum_type(i), target);
   1950   }
   1951 
   1952   // repeated .google.protobuf.DescriptorProto.ExtensionRange extension_range = 5;
   1953   for (int i = 0; i < this->extension_range_size(); i++) {
   1954     target = ::google::protobuf::internal::WireFormatLite::
   1955       WriteMessageNoVirtualToArray(
   1956         5, this->extension_range(i), target);
   1957   }
   1958 
   1959   // repeated .google.protobuf.FieldDescriptorProto extension = 6;
   1960   for (int i = 0; i < this->extension_size(); i++) {
   1961     target = ::google::protobuf::internal::WireFormatLite::
   1962       WriteMessageNoVirtualToArray(
   1963         6, this->extension(i), target);
   1964   }
   1965 
   1966   // optional .google.protobuf.MessageOptions options = 7;
   1967   if (_has_bit(6)) {
   1968     target = ::google::protobuf::internal::WireFormatLite::
   1969       WriteMessageNoVirtualToArray(
   1970         7, this->options(), target);
   1971   }
   1972 
   1973   if (!unknown_fields().empty()) {
   1974     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
   1975         unknown_fields(), target);
   1976   }
   1977   return target;
   1978 }
   1979 
   1980 int DescriptorProto::ByteSize() const {
   1981   int total_size = 0;
   1982 
   1983   if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
   1984     // optional string name = 1;
   1985     if (has_name()) {
   1986       total_size += 1 +
   1987         ::google::protobuf::internal::WireFormatLite::StringSize(
   1988           this->name());
   1989     }
   1990 
   1991     // optional .google.protobuf.MessageOptions options = 7;
   1992     if (has_options()) {
   1993       total_size += 1 +
   1994         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
   1995           this->options());
   1996     }
   1997 
   1998   }
   1999   // repeated .google.protobuf.FieldDescriptorProto field = 2;
   2000   total_size += 1 * this->field_size();
   2001   for (int i = 0; i < this->field_size(); i++) {
   2002     total_size +=
   2003       ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
   2004         this->field(i));
   2005   }
   2006 
   2007   // repeated .google.protobuf.FieldDescriptorProto extension = 6;
   2008   total_size += 1 * this->extension_size();
   2009   for (int i = 0; i < this->extension_size(); i++) {
   2010     total_size +=
   2011       ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
   2012         this->extension(i));
   2013   }
   2014 
   2015   // repeated .google.protobuf.DescriptorProto nested_type = 3;
   2016   total_size += 1 * this->nested_type_size();
   2017   for (int i = 0; i < this->nested_type_size(); i++) {
   2018     total_size +=
   2019       ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
   2020         this->nested_type(i));
   2021   }
   2022 
   2023   // repeated .google.protobuf.EnumDescriptorProto enum_type = 4;
   2024   total_size += 1 * this->enum_type_size();
   2025   for (int i = 0; i < this->enum_type_size(); i++) {
   2026     total_size +=
   2027       ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
   2028         this->enum_type(i));
   2029   }
   2030 
   2031   // repeated .google.protobuf.DescriptorProto.ExtensionRange extension_range = 5;
   2032   total_size += 1 * this->extension_range_size();
   2033   for (int i = 0; i < this->extension_range_size(); i++) {
   2034     total_size +=
   2035       ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
   2036         this->extension_range(i));
   2037   }
   2038 
   2039   if (!unknown_fields().empty()) {
   2040     total_size +=
   2041       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
   2042         unknown_fields());
   2043   }
   2044   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   2045   _cached_size_ = total_size;
   2046   GOOGLE_SAFE_CONCURRENT_WRITES_END();
   2047   return total_size;
   2048 }
   2049 
   2050 void DescriptorProto::MergeFrom(const ::google::protobuf::Message& from) {
   2051   GOOGLE_CHECK_NE(&from, this);
   2052   const DescriptorProto* source =
   2053     ::google::protobuf::internal::dynamic_cast_if_available<const DescriptorProto*>(
   2054       &from);
   2055   if (source == NULL) {
   2056     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
   2057   } else {
   2058     MergeFrom(*source);
   2059   }
   2060 }
   2061 
   2062 void DescriptorProto::MergeFrom(const DescriptorProto& from) {
   2063   GOOGLE_CHECK_NE(&from, this);
   2064   field_.MergeFrom(from.field_);
   2065   extension_.MergeFrom(from.extension_);
   2066   nested_type_.MergeFrom(from.nested_type_);
   2067   enum_type_.MergeFrom(from.enum_type_);
   2068   extension_range_.MergeFrom(from.extension_range_);
   2069   if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
   2070     if (from._has_bit(0)) {
   2071       set_name(from.name());
   2072     }
   2073     if (from._has_bit(6)) {
   2074       mutable_options()->::google::protobuf::MessageOptions::MergeFrom(from.options());
   2075     }
   2076   }
   2077   mutable_unknown_fields()->MergeFrom(from.unknown_fields());
   2078 }
   2079 
   2080 void DescriptorProto::CopyFrom(const ::google::protobuf::Message& from) {
   2081   if (&from == this) return;
   2082   Clear();
   2083   MergeFrom(from);
   2084 }
   2085 
   2086 void DescriptorProto::CopyFrom(const DescriptorProto& from) {
   2087   if (&from == this) return;
   2088   Clear();
   2089   MergeFrom(from);
   2090 }
   2091 
   2092 bool DescriptorProto::IsInitialized() const {
   2093 
   2094   for (int i = 0; i < field_size(); i++) {
   2095     if (!this->field(i).IsInitialized()) return false;
   2096   }
   2097   for (int i = 0; i < extension_size(); i++) {
   2098     if (!this->extension(i).IsInitialized()) return false;
   2099   }
   2100   for (int i = 0; i < nested_type_size(); i++) {
   2101     if (!this->nested_type(i).IsInitialized()) return false;
   2102   }
   2103   for (int i = 0; i < enum_type_size(); i++) {
   2104     if (!this->enum_type(i).IsInitialized()) return false;
   2105   }
   2106   if (has_options()) {
   2107     if (!this->options().IsInitialized()) return false;
   2108   }
   2109   return true;
   2110 }
   2111 
   2112 void DescriptorProto::Swap(DescriptorProto* other) {
   2113   if (other != this) {
   2114     std::swap(name_, other->name_);
   2115     field_.Swap(&other->field_);
   2116     extension_.Swap(&other->extension_);
   2117     nested_type_.Swap(&other->nested_type_);
   2118     enum_type_.Swap(&other->enum_type_);
   2119     extension_range_.Swap(&other->extension_range_);
   2120     std::swap(options_, other->options_);
   2121     std::swap(_has_bits_[0], other->_has_bits_[0]);
   2122     _unknown_fields_.Swap(&other->_unknown_fields_);
   2123     std::swap(_cached_size_, other->_cached_size_);
   2124   }
   2125 }
   2126 
   2127 ::google::protobuf::Metadata DescriptorProto::GetMetadata() const {
   2128   protobuf_AssignDescriptorsOnce();
   2129   ::google::protobuf::Metadata metadata;
   2130   metadata.descriptor = DescriptorProto_descriptor_;
   2131   metadata.reflection = DescriptorProto_reflection_;
   2132   return metadata;
   2133 }
   2134 
   2135 
   2136 // ===================================================================
   2137 
   2138 const ::google::protobuf::EnumDescriptor* FieldDescriptorProto_Type_descriptor() {
   2139   protobuf_AssignDescriptorsOnce();
   2140   return FieldDescriptorProto_Type_descriptor_;
   2141 }
   2142 bool FieldDescriptorProto_Type_IsValid(int value) {
   2143   switch(value) {
   2144     case 1:
   2145     case 2:
   2146     case 3:
   2147     case 4:
   2148     case 5:
   2149     case 6:
   2150     case 7:
   2151     case 8:
   2152     case 9:
   2153     case 10:
   2154     case 11:
   2155     case 12:
   2156     case 13:
   2157     case 14:
   2158     case 15:
   2159     case 16:
   2160     case 17:
   2161     case 18:
   2162       return true;
   2163     default:
   2164       return false;
   2165   }
   2166 }
   2167 
   2168 #ifndef _MSC_VER
   2169 const FieldDescriptorProto_Type FieldDescriptorProto::TYPE_DOUBLE;
   2170 const FieldDescriptorProto_Type FieldDescriptorProto::TYPE_FLOAT;
   2171 const FieldDescriptorProto_Type FieldDescriptorProto::TYPE_INT64;
   2172 const FieldDescriptorProto_Type FieldDescriptorProto::TYPE_UINT64;
   2173 const FieldDescriptorProto_Type FieldDescriptorProto::TYPE_INT32;
   2174 const FieldDescriptorProto_Type FieldDescriptorProto::TYPE_FIXED64;
   2175 const FieldDescriptorProto_Type FieldDescriptorProto::TYPE_FIXED32;
   2176 const FieldDescriptorProto_Type FieldDescriptorProto::TYPE_BOOL;
   2177 const FieldDescriptorProto_Type FieldDescriptorProto::TYPE_STRING;
   2178 const FieldDescriptorProto_Type FieldDescriptorProto::TYPE_GROUP;
   2179 const FieldDescriptorProto_Type FieldDescriptorProto::TYPE_MESSAGE;
   2180 const FieldDescriptorProto_Type FieldDescriptorProto::TYPE_BYTES;
   2181 const FieldDescriptorProto_Type FieldDescriptorProto::TYPE_UINT32;
   2182 const FieldDescriptorProto_Type FieldDescriptorProto::TYPE_ENUM;
   2183 const FieldDescriptorProto_Type FieldDescriptorProto::TYPE_SFIXED32;
   2184 const FieldDescriptorProto_Type FieldDescriptorProto::TYPE_SFIXED64;
   2185 const FieldDescriptorProto_Type FieldDescriptorProto::TYPE_SINT32;
   2186 const FieldDescriptorProto_Type FieldDescriptorProto::TYPE_SINT64;
   2187 const FieldDescriptorProto_Type FieldDescriptorProto::Type_MIN;
   2188 const FieldDescriptorProto_Type FieldDescriptorProto::Type_MAX;
   2189 const int FieldDescriptorProto::Type_ARRAYSIZE;
   2190 #endif  // _MSC_VER
   2191 const ::google::protobuf::EnumDescriptor* FieldDescriptorProto_Label_descriptor() {
   2192   protobuf_AssignDescriptorsOnce();
   2193   return FieldDescriptorProto_Label_descriptor_;
   2194 }
   2195 bool FieldDescriptorProto_Label_IsValid(int value) {
   2196   switch(value) {
   2197     case 1:
   2198     case 2:
   2199     case 3:
   2200       return true;
   2201     default:
   2202       return false;
   2203   }
   2204 }
   2205 
   2206 #ifndef _MSC_VER
   2207 const FieldDescriptorProto_Label FieldDescriptorProto::LABEL_OPTIONAL;
   2208 const FieldDescriptorProto_Label FieldDescriptorProto::LABEL_REQUIRED;
   2209 const FieldDescriptorProto_Label FieldDescriptorProto::LABEL_REPEATED;
   2210 const FieldDescriptorProto_Label FieldDescriptorProto::Label_MIN;
   2211 const FieldDescriptorProto_Label FieldDescriptorProto::Label_MAX;
   2212 const int FieldDescriptorProto::Label_ARRAYSIZE;
   2213 #endif  // _MSC_VER
   2214 const ::std::string FieldDescriptorProto::_default_name_;
   2215 const ::std::string FieldDescriptorProto::_default_type_name_;
   2216 const ::std::string FieldDescriptorProto::_default_extendee_;
   2217 const ::std::string FieldDescriptorProto::_default_default_value_;
   2218 #ifndef _MSC_VER
   2219 const int FieldDescriptorProto::kNameFieldNumber;
   2220 const int FieldDescriptorProto::kNumberFieldNumber;
   2221 const int FieldDescriptorProto::kLabelFieldNumber;
   2222 const int FieldDescriptorProto::kTypeFieldNumber;
   2223 const int FieldDescriptorProto::kTypeNameFieldNumber;
   2224 const int FieldDescriptorProto::kExtendeeFieldNumber;
   2225 const int FieldDescriptorProto::kDefaultValueFieldNumber;
   2226 const int FieldDescriptorProto::kOptionsFieldNumber;
   2227 #endif  // !_MSC_VER
   2228 
   2229 FieldDescriptorProto::FieldDescriptorProto()
   2230   : ::google::protobuf::Message() {
   2231   SharedCtor();
   2232 }
   2233 
   2234 void FieldDescriptorProto::InitAsDefaultInstance() {
   2235   options_ = const_cast< ::google::protobuf::FieldOptions*>(&::google::protobuf::FieldOptions::default_instance());
   2236 }
   2237 
   2238 FieldDescriptorProto::FieldDescriptorProto(const FieldDescriptorProto& from)
   2239   : ::google::protobuf::Message() {
   2240   SharedCtor();
   2241   MergeFrom(from);
   2242 }
   2243 
   2244 void FieldDescriptorProto::SharedCtor() {
   2245   _cached_size_ = 0;
   2246   name_ = const_cast< ::std::string*>(&_default_name_);
   2247   number_ = 0;
   2248   label_ = 1;
   2249   type_ = 1;
   2250   type_name_ = const_cast< ::std::string*>(&_default_type_name_);
   2251   extendee_ = const_cast< ::std::string*>(&_default_extendee_);
   2252   default_value_ = const_cast< ::std::string*>(&_default_default_value_);
   2253   options_ = NULL;
   2254   ::memset(_has_bits_, 0, sizeof(_has_bits_));
   2255 }
   2256 
   2257 FieldDescriptorProto::~FieldDescriptorProto() {
   2258   SharedDtor();
   2259 }
   2260 
   2261 void FieldDescriptorProto::SharedDtor() {
   2262   if (name_ != &_default_name_) {
   2263     delete name_;
   2264   }
   2265   if (type_name_ != &_default_type_name_) {
   2266     delete type_name_;
   2267   }
   2268   if (extendee_ != &_default_extendee_) {
   2269     delete extendee_;
   2270   }
   2271   if (default_value_ != &_default_default_value_) {
   2272     delete default_value_;
   2273   }
   2274   if (this != default_instance_) {
   2275     delete options_;
   2276   }
   2277 }
   2278 
   2279 void FieldDescriptorProto::SetCachedSize(int size) const {
   2280   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   2281   _cached_size_ = size;
   2282   GOOGLE_SAFE_CONCURRENT_WRITES_END();
   2283 }
   2284 const ::google::protobuf::Descriptor* FieldDescriptorProto::descriptor() {
   2285   protobuf_AssignDescriptorsOnce();
   2286   return FieldDescriptorProto_descriptor_;
   2287 }
   2288 
   2289 const FieldDescriptorProto& FieldDescriptorProto::default_instance() {
   2290   if (default_instance_ == NULL) protobuf_AddDesc_google_2fprotobuf_2fdescriptor_2eproto();  return *default_instance_;
   2291 }
   2292 
   2293 FieldDescriptorProto* FieldDescriptorProto::default_instance_ = NULL;
   2294 
   2295 FieldDescriptorProto* FieldDescriptorProto::New() const {
   2296   return new FieldDescriptorProto;
   2297 }
   2298 
   2299 void FieldDescriptorProto::Clear() {
   2300   if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
   2301     if (_has_bit(0)) {
   2302       if (name_ != &_default_name_) {
   2303         name_->clear();
   2304       }
   2305     }
   2306     number_ = 0;
   2307     label_ = 1;
   2308     type_ = 1;
   2309     if (_has_bit(4)) {
   2310       if (type_name_ != &_default_type_name_) {
   2311         type_name_->clear();
   2312       }
   2313     }
   2314     if (_has_bit(5)) {
   2315       if (extendee_ != &_default_extendee_) {
   2316         extendee_->clear();
   2317       }
   2318     }
   2319     if (_has_bit(6)) {
   2320       if (default_value_ != &_default_default_value_) {
   2321         default_value_->clear();
   2322       }
   2323     }
   2324     if (_has_bit(7)) {
   2325       if (options_ != NULL) options_->::google::protobuf::FieldOptions::Clear();
   2326     }
   2327   }
   2328   ::memset(_has_bits_, 0, sizeof(_has_bits_));
   2329   mutable_unknown_fields()->Clear();
   2330 }
   2331 
   2332 bool FieldDescriptorProto::MergePartialFromCodedStream(
   2333     ::google::protobuf::io::CodedInputStream* input) {
   2334 #define DO_(EXPRESSION) if (!(EXPRESSION)) return false
   2335   ::google::protobuf::uint32 tag;
   2336   while ((tag = input->ReadTag()) != 0) {
   2337     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
   2338       // optional string name = 1;
   2339       case 1: {
   2340         if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
   2341             ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
   2342           DO_(::google::protobuf::internal::WireFormatLite::ReadString(
   2343                 input, this->mutable_name()));
   2344           ::google::protobuf::internal::WireFormat::VerifyUTF8String(
   2345             this->name().data(), this->name().length(),
   2346             ::google::protobuf::internal::WireFormat::PARSE);
   2347         } else {
   2348           goto handle_uninterpreted;
   2349         }
   2350         if (input->ExpectTag(18)) goto parse_extendee;
   2351         break;
   2352       }
   2353 
   2354       // optional string extendee = 2;
   2355       case 2: {
   2356         if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
   2357             ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
   2358          parse_extendee:
   2359           DO_(::google::protobuf::internal::WireFormatLite::ReadString(
   2360                 input, this->mutable_extendee()));
   2361           ::google::protobuf::internal::WireFormat::VerifyUTF8String(
   2362             this->extendee().data(), this->extendee().length(),
   2363             ::google::protobuf::internal::WireFormat::PARSE);
   2364         } else {
   2365           goto handle_uninterpreted;
   2366         }
   2367         if (input->ExpectTag(24)) goto parse_number;
   2368         break;
   2369       }
   2370 
   2371       // optional int32 number = 3;
   2372       case 3: {
   2373         if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
   2374             ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
   2375          parse_number:
   2376           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
   2377                    ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
   2378                  input, &number_)));
   2379           _set_bit(1);
   2380         } else {
   2381           goto handle_uninterpreted;
   2382         }
   2383         if (input->ExpectTag(32)) goto parse_label;
   2384         break;
   2385       }
   2386 
   2387       // optional .google.protobuf.FieldDescriptorProto.Label label = 4;
   2388       case 4: {
   2389         if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
   2390             ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
   2391          parse_label:
   2392           int value;
   2393           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
   2394                    int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>(
   2395                  input, &value)));
   2396           if (::google::protobuf::FieldDescriptorProto_Label_IsValid(value)) {
   2397             set_label(static_cast< ::google::protobuf::FieldDescriptorProto_Label >(value));
   2398           } else {
   2399             mutable_unknown_fields()->AddVarint(4, value);
   2400           }
   2401         } else {
   2402           goto handle_uninterpreted;
   2403         }
   2404         if (input->ExpectTag(40)) goto parse_type;
   2405         break;
   2406       }
   2407 
   2408       // optional .google.protobuf.FieldDescriptorProto.Type type = 5;
   2409       case 5: {
   2410         if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
   2411             ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
   2412          parse_type:
   2413           int value;
   2414           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
   2415                    int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>(
   2416                  input, &value)));
   2417           if (::google::protobuf::FieldDescriptorProto_Type_IsValid(value)) {
   2418             set_type(static_cast< ::google::protobuf::FieldDescriptorProto_Type >(value));
   2419           } else {
   2420             mutable_unknown_fields()->AddVarint(5, value);
   2421           }
   2422         } else {
   2423           goto handle_uninterpreted;
   2424         }
   2425         if (input->ExpectTag(50)) goto parse_type_name;
   2426         break;
   2427       }
   2428 
   2429       // optional string type_name = 6;
   2430       case 6: {
   2431         if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
   2432             ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
   2433          parse_type_name:
   2434           DO_(::google::protobuf::internal::WireFormatLite::ReadString(
   2435                 input, this->mutable_type_name()));
   2436           ::google::protobuf::internal::WireFormat::VerifyUTF8String(
   2437             this->type_name().data(), this->type_name().length(),
   2438             ::google::protobuf::internal::WireFormat::PARSE);
   2439         } else {
   2440           goto handle_uninterpreted;
   2441         }
   2442         if (input->ExpectTag(58)) goto parse_default_value;
   2443         break;
   2444       }
   2445 
   2446       // optional string default_value = 7;
   2447       case 7: {
   2448         if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
   2449             ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
   2450          parse_default_value:
   2451           DO_(::google::protobuf::internal::WireFormatLite::ReadString(
   2452                 input, this->mutable_default_value()));
   2453           ::google::protobuf::internal::WireFormat::VerifyUTF8String(
   2454             this->default_value().data(), this->default_value().length(),
   2455             ::google::protobuf::internal::WireFormat::PARSE);
   2456         } else {
   2457           goto handle_uninterpreted;
   2458         }
   2459         if (input->ExpectTag(66)) goto parse_options;
   2460         break;
   2461       }
   2462 
   2463       // optional .google.protobuf.FieldOptions options = 8;
   2464       case 8: {
   2465         if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
   2466             ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
   2467          parse_options:
   2468           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
   2469                input, mutable_options()));
   2470         } else {
   2471           goto handle_uninterpreted;
   2472         }
   2473         if (input->ExpectAtEnd()) return true;
   2474         break;
   2475       }
   2476 
   2477       default: {
   2478       handle_uninterpreted:
   2479         if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
   2480             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
   2481           return true;
   2482         }
   2483         DO_(::google::protobuf::internal::WireFormat::SkipField(
   2484               input, tag, mutable_unknown_fields()));
   2485         break;
   2486       }
   2487     }
   2488   }
   2489   return true;
   2490 #undef DO_
   2491 }
   2492 
   2493 void FieldDescriptorProto::SerializeWithCachedSizes(
   2494     ::google::protobuf::io::CodedOutputStream* output) const {
   2495   // optional string name = 1;
   2496   if (_has_bit(0)) {
   2497     ::google::protobuf::internal::WireFormat::VerifyUTF8String(
   2498       this->name().data(), this->name().length(),
   2499       ::google::protobuf::internal::WireFormat::SERIALIZE);
   2500     ::google::protobuf::internal::WireFormatLite::WriteString(
   2501       1, this->name(), output);
   2502   }
   2503 
   2504   // optional string extendee = 2;
   2505   if (_has_bit(5)) {
   2506     ::google::protobuf::internal::WireFormat::VerifyUTF8String(
   2507       this->extendee().data(), this->extendee().length(),
   2508       ::google::protobuf::internal::WireFormat::SERIALIZE);
   2509     ::google::protobuf::internal::WireFormatLite::WriteString(
   2510       2, this->extendee(), output);
   2511   }
   2512 
   2513   // optional int32 number = 3;
   2514   if (_has_bit(1)) {
   2515     ::google::protobuf::internal::WireFormatLite::WriteInt32(3, this->number(), output);
   2516   }
   2517 
   2518   // optional .google.protobuf.FieldDescriptorProto.Label label = 4;
   2519   if (_has_bit(2)) {
   2520     ::google::protobuf::internal::WireFormatLite::WriteEnum(
   2521       4, this->label(), output);
   2522   }
   2523 
   2524   // optional .google.protobuf.FieldDescriptorProto.Type type = 5;
   2525   if (_has_bit(3)) {
   2526     ::google::protobuf::internal::WireFormatLite::WriteEnum(
   2527       5, this->type(), output);
   2528   }
   2529 
   2530   // optional string type_name = 6;
   2531   if (_has_bit(4)) {
   2532     ::google::protobuf::internal::WireFormat::VerifyUTF8String(
   2533       this->type_name().data(), this->type_name().length(),
   2534       ::google::protobuf::internal::WireFormat::SERIALIZE);
   2535     ::google::protobuf::internal::WireFormatLite::WriteString(
   2536       6, this->type_name(), output);
   2537   }
   2538 
   2539   // optional string default_value = 7;
   2540   if (_has_bit(6)) {
   2541     ::google::protobuf::internal::WireFormat::VerifyUTF8String(
   2542       this->default_value().data(), this->default_value().length(),
   2543       ::google::protobuf::internal::WireFormat::SERIALIZE);
   2544     ::google::protobuf::internal::WireFormatLite::WriteString(
   2545       7, this->default_value(), output);
   2546   }
   2547 
   2548   // optional .google.protobuf.FieldOptions options = 8;
   2549   if (_has_bit(7)) {
   2550     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
   2551       8, this->options(), output);
   2552   }
   2553 
   2554   if (!unknown_fields().empty()) {
   2555     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
   2556         unknown_fields(), output);
   2557   }
   2558 }
   2559 
   2560 ::google::protobuf::uint8* FieldDescriptorProto::SerializeWithCachedSizesToArray(
   2561     ::google::protobuf::uint8* target) const {
   2562   // optional string name = 1;
   2563   if (_has_bit(0)) {
   2564     ::google::protobuf::internal::WireFormat::VerifyUTF8String(
   2565       this->name().data(), this->name().length(),
   2566       ::google::protobuf::internal::WireFormat::SERIALIZE);
   2567     target =
   2568       ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
   2569         1, this->name(), target);
   2570   }
   2571 
   2572   // optional string extendee = 2;
   2573   if (_has_bit(5)) {
   2574     ::google::protobuf::internal::WireFormat::VerifyUTF8String(
   2575       this->extendee().data(), this->extendee().length(),
   2576       ::google::protobuf::internal::WireFormat::SERIALIZE);
   2577     target =
   2578       ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
   2579         2, this->extendee(), target);
   2580   }
   2581 
   2582   // optional int32 number = 3;
   2583   if (_has_bit(1)) {
   2584     target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(3, this->number(), target);
   2585   }
   2586 
   2587   // optional .google.protobuf.FieldDescriptorProto.Label label = 4;
   2588   if (_has_bit(2)) {
   2589     target = ::google::protobuf::internal::WireFormatLite::WriteEnumToArray(
   2590       4, this->label(), target);
   2591   }
   2592 
   2593   // optional .google.protobuf.FieldDescriptorProto.Type type = 5;
   2594   if (_has_bit(3)) {
   2595     target = ::google::protobuf::internal::WireFormatLite::WriteEnumToArray(
   2596       5, this->type(), target);
   2597   }
   2598 
   2599   // optional string type_name = 6;
   2600   if (_has_bit(4)) {
   2601     ::google::protobuf::internal::WireFormat::VerifyUTF8String(
   2602       this->type_name().data(), this->type_name().length(),
   2603       ::google::protobuf::internal::WireFormat::SERIALIZE);
   2604     target =
   2605       ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
   2606         6, this->type_name(), target);
   2607   }
   2608 
   2609   // optional string default_value = 7;
   2610   if (_has_bit(6)) {
   2611     ::google::protobuf::internal::WireFormat::VerifyUTF8String(
   2612       this->default_value().data(), this->default_value().length(),
   2613       ::google::protobuf::internal::WireFormat::SERIALIZE);
   2614     target =
   2615       ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
   2616         7, this->default_value(), target);
   2617   }
   2618 
   2619   // optional .google.protobuf.FieldOptions options = 8;
   2620   if (_has_bit(7)) {
   2621     target = ::google::protobuf::internal::WireFormatLite::
   2622       WriteMessageNoVirtualToArray(
   2623         8, this->options(), target);
   2624   }
   2625 
   2626   if (!unknown_fields().empty()) {
   2627     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
   2628         unknown_fields(), target);
   2629   }
   2630   return target;
   2631 }
   2632 
   2633 int FieldDescriptorProto::ByteSize() const {
   2634   int total_size = 0;
   2635 
   2636   if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
   2637     // optional string name = 1;
   2638     if (has_name()) {
   2639       total_size += 1 +
   2640         ::google::protobuf::internal::WireFormatLite::StringSize(
   2641           this->name());
   2642     }
   2643 
   2644     // optional int32 number = 3;
   2645     if (has_number()) {
   2646       total_size += 1 +
   2647         ::google::protobuf::internal::WireFormatLite::Int32Size(
   2648           this->number());
   2649     }
   2650 
   2651     // optional .google.protobuf.FieldDescriptorProto.Label label = 4;
   2652     if (has_label()) {
   2653       total_size += 1 +
   2654         ::google::protobuf::internal::WireFormatLite::EnumSize(this->label());
   2655     }
   2656 
   2657     // optional .google.protobuf.FieldDescriptorProto.Type type = 5;
   2658     if (has_type()) {
   2659       total_size += 1 +
   2660         ::google::protobuf::internal::WireFormatLite::EnumSize(this->type());
   2661     }
   2662 
   2663     // optional string type_name = 6;
   2664     if (has_type_name()) {
   2665       total_size += 1 +
   2666         ::google::protobuf::internal::WireFormatLite::StringSize(
   2667           this->type_name());
   2668     }
   2669 
   2670     // optional string extendee = 2;
   2671     if (has_extendee()) {
   2672       total_size += 1 +
   2673         ::google::protobuf::internal::WireFormatLite::StringSize(
   2674           this->extendee());
   2675     }
   2676 
   2677     // optional string default_value = 7;
   2678     if (has_default_value()) {
   2679       total_size += 1 +
   2680         ::google::protobuf::internal::WireFormatLite::StringSize(
   2681           this->default_value());
   2682     }
   2683 
   2684     // optional .google.protobuf.FieldOptions options = 8;
   2685     if (has_options()) {
   2686       total_size += 1 +
   2687         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
   2688           this->options());
   2689     }
   2690 
   2691   }
   2692   if (!unknown_fields().empty()) {
   2693     total_size +=
   2694       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
   2695         unknown_fields());
   2696   }
   2697   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   2698   _cached_size_ = total_size;
   2699   GOOGLE_SAFE_CONCURRENT_WRITES_END();
   2700   return total_size;
   2701 }
   2702 
   2703 void FieldDescriptorProto::MergeFrom(const ::google::protobuf::Message& from) {
   2704   GOOGLE_CHECK_NE(&from, this);
   2705   const FieldDescriptorProto* source =
   2706     ::google::protobuf::internal::dynamic_cast_if_available<const FieldDescriptorProto*>(
   2707       &from);
   2708   if (source == NULL) {
   2709     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
   2710   } else {
   2711     MergeFrom(*source);
   2712   }
   2713 }
   2714 
   2715 void FieldDescriptorProto::MergeFrom(const FieldDescriptorProto& from) {
   2716   GOOGLE_CHECK_NE(&from, this);
   2717   if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
   2718     if (from._has_bit(0)) {
   2719       set_name(from.name());
   2720     }
   2721     if (from._has_bit(1)) {
   2722       set_number(from.number());
   2723     }
   2724     if (from._has_bit(2)) {
   2725       set_label(from.label());
   2726     }
   2727     if (from._has_bit(3)) {
   2728       set_type(from.type());
   2729     }
   2730     if (from._has_bit(4)) {
   2731       set_type_name(from.type_name());
   2732     }
   2733     if (from._has_bit(5)) {
   2734       set_extendee(from.extendee());
   2735     }
   2736     if (from._has_bit(6)) {
   2737       set_default_value(from.default_value());
   2738     }
   2739     if (from._has_bit(7)) {
   2740       mutable_options()->::google::protobuf::FieldOptions::MergeFrom(from.options());
   2741     }
   2742   }
   2743   mutable_unknown_fields()->MergeFrom(from.unknown_fields());
   2744 }
   2745 
   2746 void FieldDescriptorProto::CopyFrom(const ::google::protobuf::Message& from) {
   2747   if (&from == this) return;
   2748   Clear();
   2749   MergeFrom(from);
   2750 }
   2751 
   2752 void FieldDescriptorProto::CopyFrom(const FieldDescriptorProto& from) {
   2753   if (&from == this) return;
   2754   Clear();
   2755   MergeFrom(from);
   2756 }
   2757 
   2758 bool FieldDescriptorProto::IsInitialized() const {
   2759 
   2760   if (has_options()) {
   2761     if (!this->options().IsInitialized()) return false;
   2762   }
   2763   return true;
   2764 }
   2765 
   2766 void FieldDescriptorProto::Swap(FieldDescriptorProto* other) {
   2767   if (other != this) {
   2768     std::swap(name_, other->name_);
   2769     std::swap(number_, other->number_);
   2770     std::swap(label_, other->label_);
   2771     std::swap(type_, other->type_);
   2772     std::swap(type_name_, other->type_name_);
   2773     std::swap(extendee_, other->extendee_);
   2774     std::swap(default_value_, other->default_value_);
   2775     std::swap(options_, other->options_);
   2776     std::swap(_has_bits_[0], other->_has_bits_[0]);
   2777     _unknown_fields_.Swap(&other->_unknown_fields_);
   2778     std::swap(_cached_size_, other->_cached_size_);
   2779   }
   2780 }
   2781 
   2782 ::google::protobuf::Metadata FieldDescriptorProto::GetMetadata() const {
   2783   protobuf_AssignDescriptorsOnce();
   2784   ::google::protobuf::Metadata metadata;
   2785   metadata.descriptor = FieldDescriptorProto_descriptor_;
   2786   metadata.reflection = FieldDescriptorProto_reflection_;
   2787   return metadata;
   2788 }
   2789 
   2790 
   2791 // ===================================================================
   2792 
   2793 const ::std::string EnumDescriptorProto::_default_name_;
   2794 #ifndef _MSC_VER
   2795 const int EnumDescriptorProto::kNameFieldNumber;
   2796 const int EnumDescriptorProto::kValueFieldNumber;
   2797 const int EnumDescriptorProto::kOptionsFieldNumber;
   2798 #endif  // !_MSC_VER
   2799 
   2800 EnumDescriptorProto::EnumDescriptorProto()
   2801   : ::google::protobuf::Message() {
   2802   SharedCtor();
   2803 }
   2804 
   2805 void EnumDescriptorProto::InitAsDefaultInstance() {
   2806   options_ = const_cast< ::google::protobuf::EnumOptions*>(&::google::protobuf::EnumOptions::default_instance());
   2807 }
   2808 
   2809 EnumDescriptorProto::EnumDescriptorProto(const EnumDescriptorProto& from)
   2810   : ::google::protobuf::Message() {
   2811   SharedCtor();
   2812   MergeFrom(from);
   2813 }
   2814 
   2815 void EnumDescriptorProto::SharedCtor() {
   2816   _cached_size_ = 0;
   2817   name_ = const_cast< ::std::string*>(&_default_name_);
   2818   options_ = NULL;
   2819   ::memset(_has_bits_, 0, sizeof(_has_bits_));
   2820 }
   2821 
   2822 EnumDescriptorProto::~EnumDescriptorProto() {
   2823   SharedDtor();
   2824 }
   2825 
   2826 void EnumDescriptorProto::SharedDtor() {
   2827   if (name_ != &_default_name_) {
   2828     delete name_;
   2829   }
   2830   if (this != default_instance_) {
   2831     delete options_;
   2832   }
   2833 }
   2834 
   2835 void EnumDescriptorProto::SetCachedSize(int size) const {
   2836   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   2837   _cached_size_ = size;
   2838   GOOGLE_SAFE_CONCURRENT_WRITES_END();
   2839 }
   2840 const ::google::protobuf::Descriptor* EnumDescriptorProto::descriptor() {
   2841   protobuf_AssignDescriptorsOnce();
   2842   return EnumDescriptorProto_descriptor_;
   2843 }
   2844 
   2845 const EnumDescriptorProto& EnumDescriptorProto::default_instance() {
   2846   if (default_instance_ == NULL) protobuf_AddDesc_google_2fprotobuf_2fdescriptor_2eproto();  return *default_instance_;
   2847 }
   2848 
   2849 EnumDescriptorProto* EnumDescriptorProto::default_instance_ = NULL;
   2850 
   2851 EnumDescriptorProto* EnumDescriptorProto::New() const {
   2852   return new EnumDescriptorProto;
   2853 }
   2854 
   2855 void EnumDescriptorProto::Clear() {
   2856   if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
   2857     if (_has_bit(0)) {
   2858       if (name_ != &_default_name_) {
   2859         name_->clear();
   2860       }
   2861     }
   2862     if (_has_bit(2)) {
   2863       if (options_ != NULL) options_->::google::protobuf::EnumOptions::Clear();
   2864     }
   2865   }
   2866   value_.Clear();
   2867   ::memset(_has_bits_, 0, sizeof(_has_bits_));
   2868   mutable_unknown_fields()->Clear();
   2869 }
   2870 
   2871 bool EnumDescriptorProto::MergePartialFromCodedStream(
   2872     ::google::protobuf::io::CodedInputStream* input) {
   2873 #define DO_(EXPRESSION) if (!(EXPRESSION)) return false
   2874   ::google::protobuf::uint32 tag;
   2875   while ((tag = input->ReadTag()) != 0) {
   2876     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
   2877       // optional string name = 1;
   2878       case 1: {
   2879         if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
   2880             ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
   2881           DO_(::google::protobuf::internal::WireFormatLite::ReadString(
   2882                 input, this->mutable_name()));
   2883           ::google::protobuf::internal::WireFormat::VerifyUTF8String(
   2884             this->name().data(), this->name().length(),
   2885             ::google::protobuf::internal::WireFormat::PARSE);
   2886         } else {
   2887           goto handle_uninterpreted;
   2888         }
   2889         if (input->ExpectTag(18)) goto parse_value;
   2890         break;
   2891       }
   2892 
   2893       // repeated .google.protobuf.EnumValueDescriptorProto value = 2;
   2894       case 2: {
   2895         if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
   2896             ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
   2897          parse_value:
   2898           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
   2899                 input, add_value()));
   2900         } else {
   2901           goto handle_uninterpreted;
   2902         }
   2903         if (input->ExpectTag(18)) goto parse_value;
   2904         if (input->ExpectTag(26)) goto parse_options;
   2905         break;
   2906       }
   2907 
   2908       // optional .google.protobuf.EnumOptions options = 3;
   2909       case 3: {
   2910         if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
   2911             ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
   2912          parse_options:
   2913           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
   2914                input, mutable_options()));
   2915         } else {
   2916           goto handle_uninterpreted;
   2917         }
   2918         if (input->ExpectAtEnd()) return true;
   2919         break;
   2920       }
   2921 
   2922       default: {
   2923       handle_uninterpreted:
   2924         if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
   2925             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
   2926           return true;
   2927         }
   2928         DO_(::google::protobuf::internal::WireFormat::SkipField(
   2929               input, tag, mutable_unknown_fields()));
   2930         break;
   2931       }
   2932     }
   2933   }
   2934   return true;
   2935 #undef DO_
   2936 }
   2937 
   2938 void EnumDescriptorProto::SerializeWithCachedSizes(
   2939     ::google::protobuf::io::CodedOutputStream* output) const {
   2940   // optional string name = 1;
   2941   if (_has_bit(0)) {
   2942     ::google::protobuf::internal::WireFormat::VerifyUTF8String(
   2943       this->name().data(), this->name().length(),
   2944       ::google::protobuf::internal::WireFormat::SERIALIZE);
   2945     ::google::protobuf::internal::WireFormatLite::WriteString(
   2946       1, this->name(), output);
   2947   }
   2948 
   2949   // repeated .google.protobuf.EnumValueDescriptorProto value = 2;
   2950   for (int i = 0; i < this->value_size(); i++) {
   2951     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
   2952       2, this->value(i), output);
   2953   }
   2954 
   2955   // optional .google.protobuf.EnumOptions options = 3;
   2956   if (_has_bit(2)) {
   2957     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
   2958       3, this->options(), output);
   2959   }
   2960 
   2961   if (!unknown_fields().empty()) {
   2962     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
   2963         unknown_fields(), output);
   2964   }
   2965 }
   2966 
   2967 ::google::protobuf::uint8* EnumDescriptorProto::SerializeWithCachedSizesToArray(
   2968     ::google::protobuf::uint8* target) const {
   2969   // optional string name = 1;
   2970   if (_has_bit(0)) {
   2971     ::google::protobuf::internal::WireFormat::VerifyUTF8String(
   2972       this->name().data(), this->name().length(),
   2973       ::google::protobuf::internal::WireFormat::SERIALIZE);
   2974     target =
   2975       ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
   2976         1, this->name(), target);
   2977   }
   2978 
   2979   // repeated .google.protobuf.EnumValueDescriptorProto value = 2;
   2980   for (int i = 0; i < this->value_size(); i++) {
   2981     target = ::google::protobuf::internal::WireFormatLite::
   2982       WriteMessageNoVirtualToArray(
   2983         2, this->value(i), target);
   2984   }
   2985 
   2986   // optional .google.protobuf.EnumOptions options = 3;
   2987   if (_has_bit(2)) {
   2988     target = ::google::protobuf::internal::WireFormatLite::
   2989       WriteMessageNoVirtualToArray(
   2990         3, this->options(), target);
   2991   }
   2992 
   2993   if (!unknown_fields().empty()) {
   2994     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
   2995         unknown_fields(), target);
   2996   }
   2997   return target;
   2998 }
   2999 
   3000 int EnumDescriptorProto::ByteSize() const {
   3001   int total_size = 0;
   3002 
   3003   if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
   3004     // optional string name = 1;
   3005     if (has_name()) {
   3006       total_size += 1 +
   3007         ::google::protobuf::internal::WireFormatLite::StringSize(
   3008           this->name());
   3009     }
   3010 
   3011     // optional .google.protobuf.EnumOptions options = 3;
   3012     if (has_options()) {
   3013       total_size += 1 +
   3014         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
   3015           this->options());
   3016     }
   3017 
   3018   }
   3019   // repeated .google.protobuf.EnumValueDescriptorProto value = 2;
   3020   total_size += 1 * this->value_size();
   3021   for (int i = 0; i < this->value_size(); i++) {
   3022     total_size +=
   3023       ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
   3024         this->value(i));
   3025   }
   3026 
   3027   if (!unknown_fields().empty()) {
   3028     total_size +=
   3029       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
   3030         unknown_fields());
   3031   }
   3032   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   3033   _cached_size_ = total_size;
   3034   GOOGLE_SAFE_CONCURRENT_WRITES_END();
   3035   return total_size;
   3036 }
   3037 
   3038 void EnumDescriptorProto::MergeFrom(const ::google::protobuf::Message& from) {
   3039   GOOGLE_CHECK_NE(&from, this);
   3040   const EnumDescriptorProto* source =
   3041     ::google::protobuf::internal::dynamic_cast_if_available<const EnumDescriptorProto*>(
   3042       &from);
   3043   if (source == NULL) {
   3044     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
   3045   } else {
   3046     MergeFrom(*source);
   3047   }
   3048 }
   3049 
   3050 void EnumDescriptorProto::MergeFrom(const EnumDescriptorProto& from) {
   3051   GOOGLE_CHECK_NE(&from, this);
   3052   value_.MergeFrom(from.value_);
   3053   if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
   3054     if (from._has_bit(0)) {
   3055       set_name(from.name());
   3056     }
   3057     if (from._has_bit(2)) {
   3058       mutable_options()->::google::protobuf::EnumOptions::MergeFrom(from.options());
   3059     }
   3060   }
   3061   mutable_unknown_fields()->MergeFrom(from.unknown_fields());
   3062 }
   3063 
   3064 void EnumDescriptorProto::CopyFrom(const ::google::protobuf::Message& from) {
   3065   if (&from == this) return;
   3066   Clear();
   3067   MergeFrom(from);
   3068 }
   3069 
   3070 void EnumDescriptorProto::CopyFrom(const EnumDescriptorProto& from) {
   3071   if (&from == this) return;
   3072   Clear();
   3073   MergeFrom(from);
   3074 }
   3075 
   3076 bool EnumDescriptorProto::IsInitialized() const {
   3077 
   3078   for (int i = 0; i < value_size(); i++) {
   3079     if (!this->value(i).IsInitialized()) return false;
   3080   }
   3081   if (has_options()) {
   3082     if (!this->options().IsInitialized()) return false;
   3083   }
   3084   return true;
   3085 }
   3086 
   3087 void EnumDescriptorProto::Swap(EnumDescriptorProto* other) {
   3088   if (other != this) {
   3089     std::swap(name_, other->name_);
   3090     value_.Swap(&other->value_);
   3091     std::swap(options_, other->options_);
   3092     std::swap(_has_bits_[0], other->_has_bits_[0]);
   3093     _unknown_fields_.Swap(&other->_unknown_fields_);
   3094     std::swap(_cached_size_, other->_cached_size_);
   3095   }
   3096 }
   3097 
   3098 ::google::protobuf::Metadata EnumDescriptorProto::GetMetadata() const {
   3099   protobuf_AssignDescriptorsOnce();
   3100   ::google::protobuf::Metadata metadata;
   3101   metadata.descriptor = EnumDescriptorProto_descriptor_;
   3102   metadata.reflection = EnumDescriptorProto_reflection_;
   3103   return metadata;
   3104 }
   3105 
   3106 
   3107 // ===================================================================
   3108 
   3109 const ::std::string EnumValueDescriptorProto::_default_name_;
   3110 #ifndef _MSC_VER
   3111 const int EnumValueDescriptorProto::kNameFieldNumber;
   3112 const int EnumValueDescriptorProto::kNumberFieldNumber;
   3113 const int EnumValueDescriptorProto::kOptionsFieldNumber;
   3114 #endif  // !_MSC_VER
   3115 
   3116 EnumValueDescriptorProto::EnumValueDescriptorProto()
   3117   : ::google::protobuf::Message() {
   3118   SharedCtor();
   3119 }
   3120 
   3121 void EnumValueDescriptorProto::InitAsDefaultInstance() {
   3122   options_ = const_cast< ::google::protobuf::EnumValueOptions*>(&::google::protobuf::EnumValueOptions::default_instance());
   3123 }
   3124 
   3125 EnumValueDescriptorProto::EnumValueDescriptorProto(const EnumValueDescriptorProto& from)
   3126   : ::google::protobuf::Message() {
   3127   SharedCtor();
   3128   MergeFrom(from);
   3129 }
   3130 
   3131 void EnumValueDescriptorProto::SharedCtor() {
   3132   _cached_size_ = 0;
   3133   name_ = const_cast< ::std::string*>(&_default_name_);
   3134   number_ = 0;
   3135   options_ = NULL;
   3136   ::memset(_has_bits_, 0, sizeof(_has_bits_));
   3137 }
   3138 
   3139 EnumValueDescriptorProto::~EnumValueDescriptorProto() {
   3140   SharedDtor();
   3141 }
   3142 
   3143 void EnumValueDescriptorProto::SharedDtor() {
   3144   if (name_ != &_default_name_) {
   3145     delete name_;
   3146   }
   3147   if (this != default_instance_) {
   3148     delete options_;
   3149   }
   3150 }
   3151 
   3152 void EnumValueDescriptorProto::SetCachedSize(int size) const {
   3153   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   3154   _cached_size_ = size;
   3155   GOOGLE_SAFE_CONCURRENT_WRITES_END();
   3156 }
   3157 const ::google::protobuf::Descriptor* EnumValueDescriptorProto::descriptor() {
   3158   protobuf_AssignDescriptorsOnce();
   3159   return EnumValueDescriptorProto_descriptor_;
   3160 }
   3161 
   3162 const EnumValueDescriptorProto& EnumValueDescriptorProto::default_instance() {
   3163   if (default_instance_ == NULL) protobuf_AddDesc_google_2fprotobuf_2fdescriptor_2eproto();  return *default_instance_;
   3164 }
   3165 
   3166 EnumValueDescriptorProto* EnumValueDescriptorProto::default_instance_ = NULL;
   3167 
   3168 EnumValueDescriptorProto* EnumValueDescriptorProto::New() const {
   3169   return new EnumValueDescriptorProto;
   3170 }
   3171 
   3172 void EnumValueDescriptorProto::Clear() {
   3173   if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
   3174     if (_has_bit(0)) {
   3175       if (name_ != &_default_name_) {
   3176         name_->clear();
   3177       }
   3178     }
   3179     number_ = 0;
   3180     if (_has_bit(2)) {
   3181       if (options_ != NULL) options_->::google::protobuf::EnumValueOptions::Clear();
   3182     }
   3183   }
   3184   ::memset(_has_bits_, 0, sizeof(_has_bits_));
   3185   mutable_unknown_fields()->Clear();
   3186 }
   3187 
   3188 bool EnumValueDescriptorProto::MergePartialFromCodedStream(
   3189     ::google::protobuf::io::CodedInputStream* input) {
   3190 #define DO_(EXPRESSION) if (!(EXPRESSION)) return false
   3191   ::google::protobuf::uint32 tag;
   3192   while ((tag = input->ReadTag()) != 0) {
   3193     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
   3194       // optional string name = 1;
   3195       case 1: {
   3196         if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
   3197             ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
   3198           DO_(::google::protobuf::internal::WireFormatLite::ReadString(
   3199                 input, this->mutable_name()));
   3200           ::google::protobuf::internal::WireFormat::VerifyUTF8String(
   3201             this->name().data(), this->name().length(),
   3202             ::google::protobuf::internal::WireFormat::PARSE);
   3203         } else {
   3204           goto handle_uninterpreted;
   3205         }
   3206         if (input->ExpectTag(16)) goto parse_number;
   3207         break;
   3208       }
   3209 
   3210       // optional int32 number = 2;
   3211       case 2: {
   3212         if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
   3213             ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
   3214          parse_number:
   3215           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
   3216                    ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
   3217                  input, &number_)));
   3218           _set_bit(1);
   3219         } else {
   3220           goto handle_uninterpreted;
   3221         }
   3222         if (input->ExpectTag(26)) goto parse_options;
   3223         break;
   3224       }
   3225 
   3226       // optional .google.protobuf.EnumValueOptions options = 3;
   3227       case 3: {
   3228         if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
   3229             ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
   3230          parse_options:
   3231           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
   3232                input, mutable_options()));
   3233         } else {
   3234           goto handle_uninterpreted;
   3235         }
   3236         if (input->ExpectAtEnd()) return true;
   3237         break;
   3238       }
   3239 
   3240       default: {
   3241       handle_uninterpreted:
   3242         if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
   3243             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
   3244           return true;
   3245         }
   3246         DO_(::google::protobuf::internal::WireFormat::SkipField(
   3247               input, tag, mutable_unknown_fields()));
   3248         break;
   3249       }
   3250     }
   3251   }
   3252   return true;
   3253 #undef DO_
   3254 }
   3255 
   3256 void EnumValueDescriptorProto::SerializeWithCachedSizes(
   3257     ::google::protobuf::io::CodedOutputStream* output) const {
   3258   // optional string name = 1;
   3259   if (_has_bit(0)) {
   3260     ::google::protobuf::internal::WireFormat::VerifyUTF8String(
   3261       this->name().data(), this->name().length(),
   3262       ::google::protobuf::internal::WireFormat::SERIALIZE);
   3263     ::google::protobuf::internal::WireFormatLite::WriteString(
   3264       1, this->name(), output);
   3265   }
   3266 
   3267   // optional int32 number = 2;
   3268   if (_has_bit(1)) {
   3269     ::google::protobuf::internal::WireFormatLite::WriteInt32(2, this->number(), output);
   3270   }
   3271 
   3272   // optional .google.protobuf.EnumValueOptions options = 3;
   3273   if (_has_bit(2)) {
   3274     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
   3275       3, this->options(), output);
   3276   }
   3277 
   3278   if (!unknown_fields().empty()) {
   3279     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
   3280         unknown_fields(), output);
   3281   }
   3282 }
   3283 
   3284 ::google::protobuf::uint8* EnumValueDescriptorProto::SerializeWithCachedSizesToArray(
   3285     ::google::protobuf::uint8* target) const {
   3286   // optional string name = 1;
   3287   if (_has_bit(0)) {
   3288     ::google::protobuf::internal::WireFormat::VerifyUTF8String(
   3289       this->name().data(), this->name().length(),
   3290       ::google::protobuf::internal::WireFormat::SERIALIZE);
   3291     target =
   3292       ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
   3293         1, this->name(), target);
   3294   }
   3295 
   3296   // optional int32 number = 2;
   3297   if (_has_bit(1)) {
   3298     target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(2, this->number(), target);
   3299   }
   3300 
   3301   // optional .google.protobuf.EnumValueOptions options = 3;
   3302   if (_has_bit(2)) {
   3303     target = ::google::protobuf::internal::WireFormatLite::
   3304       WriteMessageNoVirtualToArray(
   3305         3, this->options(), target);
   3306   }
   3307 
   3308   if (!unknown_fields().empty()) {
   3309     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
   3310         unknown_fields(), target);
   3311   }
   3312   return target;
   3313 }
   3314 
   3315 int EnumValueDescriptorProto::ByteSize() const {
   3316   int total_size = 0;
   3317 
   3318   if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
   3319     // optional string name = 1;
   3320     if (has_name()) {
   3321       total_size += 1 +
   3322         ::google::protobuf::internal::WireFormatLite::StringSize(
   3323           this->name());
   3324     }
   3325 
   3326     // optional int32 number = 2;
   3327     if (has_number()) {
   3328       total_size += 1 +
   3329         ::google::protobuf::internal::WireFormatLite::Int32Size(
   3330           this->number());
   3331     }
   3332 
   3333     // optional .google.protobuf.EnumValueOptions options = 3;
   3334     if (has_options()) {
   3335       total_size += 1 +
   3336         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
   3337           this->options());
   3338     }
   3339 
   3340   }
   3341   if (!unknown_fields().empty()) {
   3342     total_size +=
   3343       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
   3344         unknown_fields());
   3345   }
   3346   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   3347   _cached_size_ = total_size;
   3348   GOOGLE_SAFE_CONCURRENT_WRITES_END();
   3349   return total_size;
   3350 }
   3351 
   3352 void EnumValueDescriptorProto::MergeFrom(const ::google::protobuf::Message& from) {
   3353   GOOGLE_CHECK_NE(&from, this);
   3354   const EnumValueDescriptorProto* source =
   3355     ::google::protobuf::internal::dynamic_cast_if_available<const EnumValueDescriptorProto*>(
   3356       &from);
   3357   if (source == NULL) {
   3358     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
   3359   } else {
   3360     MergeFrom(*source);
   3361   }
   3362 }
   3363 
   3364 void EnumValueDescriptorProto::MergeFrom(const EnumValueDescriptorProto& from) {
   3365   GOOGLE_CHECK_NE(&from, this);
   3366   if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
   3367     if (from._has_bit(0)) {
   3368       set_name(from.name());
   3369     }
   3370     if (from._has_bit(1)) {
   3371       set_number(from.number());
   3372     }
   3373     if (from._has_bit(2)) {
   3374       mutable_options()->::google::protobuf::EnumValueOptions::MergeFrom(from.options());
   3375     }
   3376   }
   3377   mutable_unknown_fields()->MergeFrom(from.unknown_fields());
   3378 }
   3379 
   3380 void EnumValueDescriptorProto::CopyFrom(const ::google::protobuf::Message& from) {
   3381   if (&from == this) return;
   3382   Clear();
   3383   MergeFrom(from);
   3384 }
   3385 
   3386 void EnumValueDescriptorProto::CopyFrom(const EnumValueDescriptorProto& from) {
   3387   if (&from == this) return;
   3388   Clear();
   3389   MergeFrom(from);
   3390 }
   3391 
   3392 bool EnumValueDescriptorProto::IsInitialized() const {
   3393 
   3394   if (has_options()) {
   3395     if (!this->options().IsInitialized()) return false;
   3396   }
   3397   return true;
   3398 }
   3399 
   3400 void EnumValueDescriptorProto::Swap(EnumValueDescriptorProto* other) {
   3401   if (other != this) {
   3402     std::swap(name_, other->name_);
   3403     std::swap(number_, other->number_);
   3404     std::swap(options_, other->options_);
   3405     std::swap(_has_bits_[0], other->_has_bits_[0]);
   3406     _unknown_fields_.Swap(&other->_unknown_fields_);
   3407     std::swap(_cached_size_, other->_cached_size_);
   3408   }
   3409 }
   3410 
   3411 ::google::protobuf::Metadata EnumValueDescriptorProto::GetMetadata() const {
   3412   protobuf_AssignDescriptorsOnce();
   3413   ::google::protobuf::Metadata metadata;
   3414   metadata.descriptor = EnumValueDescriptorProto_descriptor_;
   3415   metadata.reflection = EnumValueDescriptorProto_reflection_;
   3416   return metadata;
   3417 }
   3418 
   3419 
   3420 // ===================================================================
   3421 
   3422 const ::std::string ServiceDescriptorProto::_default_name_;
   3423 #ifndef _MSC_VER
   3424 const int ServiceDescriptorProto::kNameFieldNumber;
   3425 const int ServiceDescriptorProto::kMethodFieldNumber;
   3426 const int ServiceDescriptorProto::kOptionsFieldNumber;
   3427 #endif  // !_MSC_VER
   3428 
   3429 ServiceDescriptorProto::ServiceDescriptorProto()
   3430   : ::google::protobuf::Message() {
   3431   SharedCtor();
   3432 }
   3433 
   3434 void ServiceDescriptorProto::InitAsDefaultInstance() {
   3435   options_ = const_cast< ::google::protobuf::ServiceOptions*>(&::google::protobuf::ServiceOptions::default_instance());
   3436 }
   3437 
   3438 ServiceDescriptorProto::ServiceDescriptorProto(const ServiceDescriptorProto& from)
   3439   : ::google::protobuf::Message() {
   3440   SharedCtor();
   3441   MergeFrom(from);
   3442 }
   3443 
   3444 void ServiceDescriptorProto::SharedCtor() {
   3445   _cached_size_ = 0;
   3446   name_ = const_cast< ::std::string*>(&_default_name_);
   3447   options_ = NULL;
   3448   ::memset(_has_bits_, 0, sizeof(_has_bits_));
   3449 }
   3450 
   3451 ServiceDescriptorProto::~ServiceDescriptorProto() {
   3452   SharedDtor();
   3453 }
   3454 
   3455 void ServiceDescriptorProto::SharedDtor() {
   3456   if (name_ != &_default_name_) {
   3457     delete name_;
   3458   }
   3459   if (this != default_instance_) {
   3460     delete options_;
   3461   }
   3462 }
   3463 
   3464 void ServiceDescriptorProto::SetCachedSize(int size) const {
   3465   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   3466   _cached_size_ = size;
   3467   GOOGLE_SAFE_CONCURRENT_WRITES_END();
   3468 }
   3469 const ::google::protobuf::Descriptor* ServiceDescriptorProto::descriptor() {
   3470   protobuf_AssignDescriptorsOnce();
   3471   return ServiceDescriptorProto_descriptor_;
   3472 }
   3473 
   3474 const ServiceDescriptorProto& ServiceDescriptorProto::default_instance() {
   3475   if (default_instance_ == NULL) protobuf_AddDesc_google_2fprotobuf_2fdescriptor_2eproto();  return *default_instance_;
   3476 }
   3477 
   3478 ServiceDescriptorProto* ServiceDescriptorProto::default_instance_ = NULL;
   3479 
   3480 ServiceDescriptorProto* ServiceDescriptorProto::New() const {
   3481   return new ServiceDescriptorProto;
   3482 }
   3483 
   3484 void ServiceDescriptorProto::Clear() {
   3485   if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
   3486     if (_has_bit(0)) {
   3487       if (name_ != &_default_name_) {
   3488         name_->clear();
   3489       }
   3490     }
   3491     if (_has_bit(2)) {
   3492       if (options_ != NULL) options_->::google::protobuf::ServiceOptions::Clear();
   3493     }
   3494   }
   3495   method_.Clear();
   3496   ::memset(_has_bits_, 0, sizeof(_has_bits_));
   3497   mutable_unknown_fields()->Clear();
   3498 }
   3499 
   3500 bool ServiceDescriptorProto::MergePartialFromCodedStream(
   3501     ::google::protobuf::io::CodedInputStream* input) {
   3502 #define DO_(EXPRESSION) if (!(EXPRESSION)) return false
   3503   ::google::protobuf::uint32 tag;
   3504   while ((tag = input->ReadTag()) != 0) {
   3505     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
   3506       // optional string name = 1;
   3507       case 1: {
   3508         if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
   3509             ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
   3510           DO_(::google::protobuf::internal::WireFormatLite::ReadString(
   3511                 input, this->mutable_name()));
   3512           ::google::protobuf::internal::WireFormat::VerifyUTF8String(
   3513             this->name().data(), this->name().length(),
   3514             ::google::protobuf::internal::WireFormat::PARSE);
   3515         } else {
   3516           goto handle_uninterpreted;
   3517         }
   3518         if (input->ExpectTag(18)) goto parse_method;
   3519         break;
   3520       }
   3521 
   3522       // repeated .google.protobuf.MethodDescriptorProto method = 2;
   3523       case 2: {
   3524         if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
   3525             ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
   3526          parse_method:
   3527           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
   3528                 input, add_method()));
   3529         } else {
   3530           goto handle_uninterpreted;
   3531         }
   3532         if (input->ExpectTag(18)) goto parse_method;
   3533         if (input->ExpectTag(26)) goto parse_options;
   3534         break;
   3535       }
   3536 
   3537       // optional .google.protobuf.ServiceOptions options = 3;
   3538       case 3: {
   3539         if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
   3540             ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
   3541          parse_options:
   3542           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
   3543                input, mutable_options()));
   3544         } else {
   3545           goto handle_uninterpreted;
   3546         }
   3547         if (input->ExpectAtEnd()) return true;
   3548         break;
   3549       }
   3550 
   3551       default: {
   3552       handle_uninterpreted:
   3553         if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
   3554             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
   3555           return true;
   3556         }
   3557         DO_(::google::protobuf::internal::WireFormat::SkipField(
   3558               input, tag, mutable_unknown_fields()));
   3559         break;
   3560       }
   3561     }
   3562   }
   3563   return true;
   3564 #undef DO_
   3565 }
   3566 
   3567 void ServiceDescriptorProto::SerializeWithCachedSizes(
   3568     ::google::protobuf::io::CodedOutputStream* output) const {
   3569   // optional string name = 1;
   3570   if (_has_bit(0)) {
   3571     ::google::protobuf::internal::WireFormat::VerifyUTF8String(
   3572       this->name().data(), this->name().length(),
   3573       ::google::protobuf::internal::WireFormat::SERIALIZE);
   3574     ::google::protobuf::internal::WireFormatLite::WriteString(
   3575       1, this->name(), output);
   3576   }
   3577 
   3578   // repeated .google.protobuf.MethodDescriptorProto method = 2;
   3579   for (int i = 0; i < this->method_size(); i++) {
   3580     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
   3581       2, this->method(i), output);
   3582   }
   3583 
   3584   // optional .google.protobuf.ServiceOptions options = 3;
   3585   if (_has_bit(2)) {
   3586     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
   3587       3, this->options(), output);
   3588   }
   3589 
   3590   if (!unknown_fields().empty()) {
   3591     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
   3592         unknown_fields(), output);
   3593   }
   3594 }
   3595 
   3596 ::google::protobuf::uint8* ServiceDescriptorProto::SerializeWithCachedSizesToArray(
   3597     ::google::protobuf::uint8* target) const {
   3598   // optional string name = 1;
   3599   if (_has_bit(0)) {
   3600     ::google::protobuf::internal::WireFormat::VerifyUTF8String(
   3601       this->name().data(), this->name().length(),
   3602       ::google::protobuf::internal::WireFormat::SERIALIZE);
   3603     target =
   3604       ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
   3605         1, this->name(), target);
   3606   }
   3607 
   3608   // repeated .google.protobuf.MethodDescriptorProto method = 2;
   3609   for (int i = 0; i < this->method_size(); i++) {
   3610     target = ::google::protobuf::internal::WireFormatLite::
   3611       WriteMessageNoVirtualToArray(
   3612         2, this->method(i), target);
   3613   }
   3614 
   3615   // optional .google.protobuf.ServiceOptions options = 3;
   3616   if (_has_bit(2)) {
   3617     target = ::google::protobuf::internal::WireFormatLite::
   3618       WriteMessageNoVirtualToArray(
   3619         3, this->options(), target);
   3620   }
   3621 
   3622   if (!unknown_fields().empty()) {
   3623     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
   3624         unknown_fields(), target);
   3625   }
   3626   return target;
   3627 }
   3628 
   3629 int ServiceDescriptorProto::ByteSize() const {
   3630   int total_size = 0;
   3631 
   3632   if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
   3633     // optional string name = 1;
   3634     if (has_name()) {
   3635       total_size += 1 +
   3636         ::google::protobuf::internal::WireFormatLite::StringSize(
   3637           this->name());
   3638     }
   3639 
   3640     // optional .google.protobuf.ServiceOptions options = 3;
   3641     if (has_options()) {
   3642       total_size += 1 +
   3643         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
   3644           this->options());
   3645     }
   3646 
   3647   }
   3648   // repeated .google.protobuf.MethodDescriptorProto method = 2;
   3649   total_size += 1 * this->method_size();
   3650   for (int i = 0; i < this->method_size(); i++) {
   3651     total_size +=
   3652       ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
   3653         this->method(i));
   3654   }
   3655 
   3656   if (!unknown_fields().empty()) {
   3657     total_size +=
   3658       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
   3659         unknown_fields());
   3660   }
   3661   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   3662   _cached_size_ = total_size;
   3663   GOOGLE_SAFE_CONCURRENT_WRITES_END();
   3664   return total_size;
   3665 }
   3666 
   3667 void ServiceDescriptorProto::MergeFrom(const ::google::protobuf::Message& from) {
   3668   GOOGLE_CHECK_NE(&from, this);
   3669   const ServiceDescriptorProto* source =
   3670     ::google::protobuf::internal::dynamic_cast_if_available<const ServiceDescriptorProto*>(
   3671       &from);
   3672   if (source == NULL) {
   3673     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
   3674   } else {
   3675     MergeFrom(*source);
   3676   }
   3677 }
   3678 
   3679 void ServiceDescriptorProto::MergeFrom(const ServiceDescriptorProto& from) {
   3680   GOOGLE_CHECK_NE(&from, this);
   3681   method_.MergeFrom(from.method_);
   3682   if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
   3683     if (from._has_bit(0)) {
   3684       set_name(from.name());
   3685     }
   3686     if (from._has_bit(2)) {
   3687       mutable_options()->::google::protobuf::ServiceOptions::MergeFrom(from.options());
   3688     }
   3689   }
   3690   mutable_unknown_fields()->MergeFrom(from.unknown_fields());
   3691 }
   3692 
   3693 void ServiceDescriptorProto::CopyFrom(const ::google::protobuf::Message& from) {
   3694   if (&from == this) return;
   3695   Clear();
   3696   MergeFrom(from);
   3697 }
   3698 
   3699 void ServiceDescriptorProto::CopyFrom(const ServiceDescriptorProto& from) {
   3700   if (&from == this) return;
   3701   Clear();
   3702   MergeFrom(from);
   3703 }
   3704 
   3705 bool ServiceDescriptorProto::IsInitialized() const {
   3706 
   3707   for (int i = 0; i < method_size(); i++) {
   3708     if (!this->method(i).IsInitialized()) return false;
   3709   }
   3710   if (has_options()) {
   3711     if (!this->options().IsInitialized()) return false;
   3712   }
   3713   return true;
   3714 }
   3715 
   3716 void ServiceDescriptorProto::Swap(ServiceDescriptorProto* other) {
   3717   if (other != this) {
   3718     std::swap(name_, other->name_);
   3719     method_.Swap(&other->method_);
   3720     std::swap(options_, other->options_);
   3721     std::swap(_has_bits_[0], other->_has_bits_[0]);
   3722     _unknown_fields_.Swap(&other->_unknown_fields_);
   3723     std::swap(_cached_size_, other->_cached_size_);
   3724   }
   3725 }
   3726 
   3727 ::google::protobuf::Metadata ServiceDescriptorProto::GetMetadata() const {
   3728   protobuf_AssignDescriptorsOnce();
   3729   ::google::protobuf::Metadata metadata;
   3730   metadata.descriptor = ServiceDescriptorProto_descriptor_;
   3731   metadata.reflection = ServiceDescriptorProto_reflection_;
   3732   return metadata;
   3733 }
   3734 
   3735 
   3736 // ===================================================================
   3737 
   3738 const ::std::string MethodDescriptorProto::_default_name_;
   3739 const ::std::string MethodDescriptorProto::_default_input_type_;
   3740 const ::std::string MethodDescriptorProto::_default_output_type_;
   3741 #ifndef _MSC_VER
   3742 const int MethodDescriptorProto::kNameFieldNumber;
   3743 const int MethodDescriptorProto::kInputTypeFieldNumber;
   3744 const int MethodDescriptorProto::kOutputTypeFieldNumber;
   3745 const int MethodDescriptorProto::kOptionsFieldNumber;
   3746 #endif  // !_MSC_VER
   3747 
   3748 MethodDescriptorProto::MethodDescriptorProto()
   3749   : ::google::protobuf::Message() {
   3750   SharedCtor();
   3751 }
   3752 
   3753 void MethodDescriptorProto::InitAsDefaultInstance() {
   3754   options_ = const_cast< ::google::protobuf::MethodOptions*>(&::google::protobuf::MethodOptions::default_instance());
   3755 }
   3756 
   3757 MethodDescriptorProto::MethodDescriptorProto(const MethodDescriptorProto& from)
   3758   : ::google::protobuf::Message() {
   3759   SharedCtor();
   3760   MergeFrom(from);
   3761 }
   3762 
   3763 void MethodDescriptorProto::SharedCtor() {
   3764   _cached_size_ = 0;
   3765   name_ = const_cast< ::std::string*>(&_default_name_);
   3766   input_type_ = const_cast< ::std::string*>(&_default_input_type_);
   3767   output_type_ = const_cast< ::std::string*>(&_default_output_type_);
   3768   options_ = NULL;
   3769   ::memset(_has_bits_, 0, sizeof(_has_bits_));
   3770 }
   3771 
   3772 MethodDescriptorProto::~MethodDescriptorProto() {
   3773   SharedDtor();
   3774 }
   3775 
   3776 void MethodDescriptorProto::SharedDtor() {
   3777   if (name_ != &_default_name_) {
   3778     delete name_;
   3779   }
   3780   if (input_type_ != &_default_input_type_) {
   3781     delete input_type_;
   3782   }
   3783   if (output_type_ != &_default_output_type_) {
   3784     delete output_type_;
   3785   }
   3786   if (this != default_instance_) {
   3787     delete options_;
   3788   }
   3789 }
   3790 
   3791 void MethodDescriptorProto::SetCachedSize(int size) const {
   3792   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   3793   _cached_size_ = size;
   3794   GOOGLE_SAFE_CONCURRENT_WRITES_END();
   3795 }
   3796 const ::google::protobuf::Descriptor* MethodDescriptorProto::descriptor() {
   3797   protobuf_AssignDescriptorsOnce();
   3798   return MethodDescriptorProto_descriptor_;
   3799 }
   3800 
   3801 const MethodDescriptorProto& MethodDescriptorProto::default_instance() {
   3802   if (default_instance_ == NULL) protobuf_AddDesc_google_2fprotobuf_2fdescriptor_2eproto();  return *default_instance_;
   3803 }
   3804 
   3805 MethodDescriptorProto* MethodDescriptorProto::default_instance_ = NULL;
   3806 
   3807 MethodDescriptorProto* MethodDescriptorProto::New() const {
   3808   return new MethodDescriptorProto;
   3809 }
   3810 
   3811 void MethodDescriptorProto::Clear() {
   3812   if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
   3813     if (_has_bit(0)) {
   3814       if (name_ != &_default_name_) {
   3815         name_->clear();
   3816       }
   3817     }
   3818     if (_has_bit(1)) {
   3819       if (input_type_ != &_default_input_type_) {
   3820         input_type_->clear();
   3821       }
   3822     }
   3823     if (_has_bit(2)) {
   3824       if (output_type_ != &_default_output_type_) {
   3825         output_type_->clear();
   3826       }
   3827     }
   3828     if (_has_bit(3)) {
   3829       if (options_ != NULL) options_->::google::protobuf::MethodOptions::Clear();
   3830     }
   3831   }
   3832   ::memset(_has_bits_, 0, sizeof(_has_bits_));
   3833   mutable_unknown_fields()->Clear();
   3834 }
   3835 
   3836 bool MethodDescriptorProto::MergePartialFromCodedStream(
   3837     ::google::protobuf::io::CodedInputStream* input) {
   3838 #define DO_(EXPRESSION) if (!(EXPRESSION)) return false
   3839   ::google::protobuf::uint32 tag;
   3840   while ((tag = input->ReadTag()) != 0) {
   3841     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
   3842       // optional string name = 1;
   3843       case 1: {
   3844         if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
   3845             ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
   3846           DO_(::google::protobuf::internal::WireFormatLite::ReadString(
   3847                 input, this->mutable_name()));
   3848           ::google::protobuf::internal::WireFormat::VerifyUTF8String(
   3849             this->name().data(), this->name().length(),
   3850             ::google::protobuf::internal::WireFormat::PARSE);
   3851         } else {
   3852           goto handle_uninterpreted;
   3853         }
   3854         if (input->ExpectTag(18)) goto parse_input_type;
   3855         break;
   3856       }
   3857 
   3858       // optional string input_type = 2;
   3859       case 2: {
   3860         if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
   3861             ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
   3862          parse_input_type:
   3863           DO_(::google::protobuf::internal::WireFormatLite::ReadString(
   3864                 input, this->mutable_input_type()));
   3865           ::google::protobuf::internal::WireFormat::VerifyUTF8String(
   3866             this->input_type().data(), this->input_type().length(),
   3867             ::google::protobuf::internal::WireFormat::PARSE);
   3868         } else {
   3869           goto handle_uninterpreted;
   3870         }
   3871         if (input->ExpectTag(26)) goto parse_output_type;
   3872         break;
   3873       }
   3874 
   3875       // optional string output_type = 3;
   3876       case 3: {
   3877         if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
   3878             ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
   3879          parse_output_type:
   3880           DO_(::google::protobuf::internal::WireFormatLite::ReadString(
   3881                 input, this->mutable_output_type()));
   3882           ::google::protobuf::internal::WireFormat::VerifyUTF8String(
   3883             this->output_type().data(), this->output_type().length(),
   3884             ::google::protobuf::internal::WireFormat::PARSE);
   3885         } else {
   3886           goto handle_uninterpreted;
   3887         }
   3888         if (input->ExpectTag(34)) goto parse_options;
   3889         break;
   3890       }
   3891 
   3892       // optional .google.protobuf.MethodOptions options = 4;
   3893       case 4: {
   3894         if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
   3895             ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
   3896          parse_options:
   3897           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
   3898                input, mutable_options()));
   3899         } else {
   3900           goto handle_uninterpreted;
   3901         }
   3902         if (input->ExpectAtEnd()) return true;
   3903         break;
   3904       }
   3905 
   3906       default: {
   3907       handle_uninterpreted:
   3908         if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
   3909             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
   3910           return true;
   3911         }
   3912         DO_(::google::protobuf::internal::WireFormat::SkipField(
   3913               input, tag, mutable_unknown_fields()));
   3914         break;
   3915       }
   3916     }
   3917   }
   3918   return true;
   3919 #undef DO_
   3920 }
   3921 
   3922 void MethodDescriptorProto::SerializeWithCachedSizes(
   3923     ::google::protobuf::io::CodedOutputStream* output) const {
   3924   // optional string name = 1;
   3925   if (_has_bit(0)) {
   3926     ::google::protobuf::internal::WireFormat::VerifyUTF8String(
   3927       this->name().data(), this->name().length(),
   3928       ::google::protobuf::internal::WireFormat::SERIALIZE);
   3929     ::google::protobuf::internal::WireFormatLite::WriteString(
   3930       1, this->name(), output);
   3931   }
   3932 
   3933   // optional string input_type = 2;
   3934   if (_has_bit(1)) {
   3935     ::google::protobuf::internal::WireFormat::VerifyUTF8String(
   3936       this->input_type().data(), this->input_type().length(),
   3937       ::google::protobuf::internal::WireFormat::SERIALIZE);
   3938     ::google::protobuf::internal::WireFormatLite::WriteString(
   3939       2, this->input_type(), output);
   3940   }
   3941 
   3942   // optional string output_type = 3;
   3943   if (_has_bit(2)) {
   3944     ::google::protobuf::internal::WireFormat::VerifyUTF8String(
   3945       this->output_type().data(), this->output_type().length(),
   3946       ::google::protobuf::internal::WireFormat::SERIALIZE);
   3947     ::google::protobuf::internal::WireFormatLite::WriteString(
   3948       3, this->output_type(), output);
   3949   }
   3950 
   3951   // optional .google.protobuf.MethodOptions options = 4;
   3952   if (_has_bit(3)) {
   3953     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
   3954       4, this->options(), output);
   3955   }
   3956 
   3957   if (!unknown_fields().empty()) {
   3958     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
   3959         unknown_fields(), output);
   3960   }
   3961 }
   3962 
   3963 ::google::protobuf::uint8* MethodDescriptorProto::SerializeWithCachedSizesToArray(
   3964     ::google::protobuf::uint8* target) const {
   3965   // optional string name = 1;
   3966   if (_has_bit(0)) {
   3967     ::google::protobuf::internal::WireFormat::VerifyUTF8String(
   3968       this->name().data(), this->name().length(),
   3969       ::google::protobuf::internal::WireFormat::SERIALIZE);
   3970     target =
   3971       ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
   3972         1, this->name(), target);
   3973   }
   3974 
   3975   // optional string input_type = 2;
   3976   if (_has_bit(1)) {
   3977     ::google::protobuf::internal::WireFormat::VerifyUTF8String(
   3978       this->input_type().data(), this->input_type().length(),
   3979       ::google::protobuf::internal::WireFormat::SERIALIZE);
   3980     target =
   3981       ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
   3982         2, this->input_type(), target);
   3983   }
   3984 
   3985   // optional string output_type = 3;
   3986   if (_has_bit(2)) {
   3987     ::google::protobuf::internal::WireFormat::VerifyUTF8String(
   3988       this->output_type().data(), this->output_type().length(),
   3989       ::google::protobuf::internal::WireFormat::SERIALIZE);
   3990     target =
   3991       ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
   3992         3, this->output_type(), target);
   3993   }
   3994 
   3995   // optional .google.protobuf.MethodOptions options = 4;
   3996   if (_has_bit(3)) {
   3997     target = ::google::protobuf::internal::WireFormatLite::
   3998       WriteMessageNoVirtualToArray(
   3999         4, this->options(), target);
   4000   }
   4001 
   4002   if (!unknown_fields().empty()) {
   4003     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
   4004         unknown_fields(), target);
   4005   }
   4006   return target;
   4007 }
   4008 
   4009 int MethodDescriptorProto::ByteSize() const {
   4010   int total_size = 0;
   4011 
   4012   if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
   4013     // optional string name = 1;
   4014     if (has_name()) {
   4015       total_size += 1 +
   4016         ::google::protobuf::internal::WireFormatLite::StringSize(
   4017           this->name());
   4018     }
   4019 
   4020     // optional string input_type = 2;
   4021     if (has_input_type()) {
   4022       total_size += 1 +
   4023         ::google::protobuf::internal::WireFormatLite::StringSize(
   4024           this->input_type());
   4025     }
   4026 
   4027     // optional string output_type = 3;
   4028     if (has_output_type()) {
   4029       total_size += 1 +
   4030         ::google::protobuf::internal::WireFormatLite::StringSize(
   4031           this->output_type());
   4032     }
   4033 
   4034     // optional .google.protobuf.MethodOptions options = 4;
   4035     if (has_options()) {
   4036       total_size += 1 +
   4037         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
   4038           this->options());
   4039     }
   4040 
   4041   }
   4042   if (!unknown_fields().empty()) {
   4043     total_size +=
   4044       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
   4045         unknown_fields());
   4046   }
   4047   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   4048   _cached_size_ = total_size;
   4049   GOOGLE_SAFE_CONCURRENT_WRITES_END();
   4050   return total_size;
   4051 }
   4052 
   4053 void MethodDescriptorProto::MergeFrom(const ::google::protobuf::Message& from) {
   4054   GOOGLE_CHECK_NE(&from, this);
   4055   const MethodDescriptorProto* source =
   4056     ::google::protobuf::internal::dynamic_cast_if_available<const MethodDescriptorProto*>(
   4057       &from);
   4058   if (source == NULL) {
   4059     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
   4060   } else {
   4061     MergeFrom(*source);
   4062   }
   4063 }
   4064 
   4065 void MethodDescriptorProto::MergeFrom(const MethodDescriptorProto& from) {
   4066   GOOGLE_CHECK_NE(&from, this);
   4067   if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
   4068     if (from._has_bit(0)) {
   4069       set_name(from.name());
   4070     }
   4071     if (from._has_bit(1)) {
   4072       set_input_type(from.input_type());
   4073     }
   4074     if (from._has_bit(2)) {
   4075       set_output_type(from.output_type());
   4076     }
   4077     if (from._has_bit(3)) {
   4078       mutable_options()->::google::protobuf::MethodOptions::MergeFrom(from.options());
   4079     }
   4080   }
   4081   mutable_unknown_fields()->MergeFrom(from.unknown_fields());
   4082 }
   4083 
   4084 void MethodDescriptorProto::CopyFrom(const ::google::protobuf::Message& from) {
   4085   if (&from == this) return;
   4086   Clear();
   4087   MergeFrom(from);
   4088 }
   4089 
   4090 void MethodDescriptorProto::CopyFrom(const MethodDescriptorProto& from) {
   4091   if (&from == this) return;
   4092   Clear();
   4093   MergeFrom(from);
   4094 }
   4095 
   4096 bool MethodDescriptorProto::IsInitialized() const {
   4097 
   4098   if (has_options()) {
   4099     if (!this->options().IsInitialized()) return false;
   4100   }
   4101   return true;
   4102 }
   4103 
   4104 void MethodDescriptorProto::Swap(MethodDescriptorProto* other) {
   4105   if (other != this) {
   4106     std::swap(name_, other->name_);
   4107     std::swap(input_type_, other->input_type_);
   4108     std::swap(output_type_, other->output_type_);
   4109     std::swap(options_, other->options_);
   4110     std::swap(_has_bits_[0], other->_has_bits_[0]);
   4111     _unknown_fields_.Swap(&other->_unknown_fields_);
   4112     std::swap(_cached_size_, other->_cached_size_);
   4113   }
   4114 }
   4115 
   4116 ::google::protobuf::Metadata MethodDescriptorProto::GetMetadata() const {
   4117   protobuf_AssignDescriptorsOnce();
   4118   ::google::protobuf::Metadata metadata;
   4119   metadata.descriptor = MethodDescriptorProto_descriptor_;
   4120   metadata.reflection = MethodDescriptorProto_reflection_;
   4121   return metadata;
   4122 }
   4123 
   4124 
   4125 // ===================================================================
   4126 
   4127 const ::google::protobuf::EnumDescriptor* FileOptions_OptimizeMode_descriptor() {
   4128   protobuf_AssignDescriptorsOnce();
   4129   return FileOptions_OptimizeMode_descriptor_;
   4130 }
   4131 bool FileOptions_OptimizeMode_IsValid(int value) {
   4132   switch(value) {
   4133     case 1:
   4134     case 2:
   4135     case 3:
   4136       return true;
   4137     default:
   4138       return false;
   4139   }
   4140 }
   4141 
   4142 #ifndef _MSC_VER
   4143 const FileOptions_OptimizeMode FileOptions::SPEED;
   4144 const FileOptions_OptimizeMode FileOptions::CODE_SIZE;
   4145 const FileOptions_OptimizeMode FileOptions::LITE_RUNTIME;
   4146 const FileOptions_OptimizeMode FileOptions::OptimizeMode_MIN;
   4147 const FileOptions_OptimizeMode FileOptions::OptimizeMode_MAX;
   4148 const int FileOptions::OptimizeMode_ARRAYSIZE;
   4149 #endif  // _MSC_VER
   4150 const ::std::string FileOptions::_default_java_package_;
   4151 const ::std::string FileOptions::_default_java_outer_classname_;
   4152 #ifndef _MSC_VER
   4153 const int FileOptions::kJavaPackageFieldNumber;
   4154 const int FileOptions::kJavaOuterClassnameFieldNumber;
   4155 const int FileOptions::kJavaMultipleFilesFieldNumber;
   4156 const int FileOptions::kOptimizeForFieldNumber;
   4157 const int FileOptions::kCcGenericServicesFieldNumber;
   4158 const int FileOptions::kJavaGenericServicesFieldNumber;
   4159 const int FileOptions::kPyGenericServicesFieldNumber;
   4160 const int FileOptions::kUninterpretedOptionFieldNumber;
   4161 #endif  // !_MSC_VER
   4162 
   4163 FileOptions::FileOptions()
   4164   : ::google::protobuf::Message() {
   4165   SharedCtor();
   4166 }
   4167 
   4168 void FileOptions::InitAsDefaultInstance() {
   4169 }
   4170 
   4171 FileOptions::FileOptions(const FileOptions& from)
   4172   : ::google::protobuf::Message() {
   4173   SharedCtor();
   4174   MergeFrom(from);
   4175 }
   4176 
   4177 void FileOptions::SharedCtor() {
   4178   _cached_size_ = 0;
   4179   java_package_ = const_cast< ::std::string*>(&_default_java_package_);
   4180   java_outer_classname_ = const_cast< ::std::string*>(&_default_java_outer_classname_);
   4181   java_multiple_files_ = false;
   4182   optimize_for_ = 1;
   4183   cc_generic_services_ = true;
   4184   java_generic_services_ = true;
   4185   py_generic_services_ = true;
   4186   ::memset(_has_bits_, 0, sizeof(_has_bits_));
   4187 }
   4188 
   4189 FileOptions::~FileOptions() {
   4190   SharedDtor();
   4191 }
   4192 
   4193 void FileOptions::SharedDtor() {
   4194   if (java_package_ != &_default_java_package_) {
   4195     delete java_package_;
   4196   }
   4197   if (java_outer_classname_ != &_default_java_outer_classname_) {
   4198     delete java_outer_classname_;
   4199   }
   4200   if (this != default_instance_) {
   4201   }
   4202 }
   4203 
   4204 void FileOptions::SetCachedSize(int size) const {
   4205   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   4206   _cached_size_ = size;
   4207   GOOGLE_SAFE_CONCURRENT_WRITES_END();
   4208 }
   4209 const ::google::protobuf::Descriptor* FileOptions::descriptor() {
   4210   protobuf_AssignDescriptorsOnce();
   4211   return FileOptions_descriptor_;
   4212 }
   4213 
   4214 const FileOptions& FileOptions::default_instance() {
   4215   if (default_instance_ == NULL) protobuf_AddDesc_google_2fprotobuf_2fdescriptor_2eproto();  return *default_instance_;
   4216 }
   4217 
   4218 FileOptions* FileOptions::default_instance_ = NULL;
   4219 
   4220 FileOptions* FileOptions::New() const {
   4221   return new FileOptions;
   4222 }
   4223 
   4224 void FileOptions::Clear() {
   4225   _extensions_.Clear();
   4226   if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
   4227     if (_has_bit(0)) {
   4228       if (java_package_ != &_default_java_package_) {
   4229         java_package_->clear();
   4230       }
   4231     }
   4232     if (_has_bit(1)) {
   4233       if (java_outer_classname_ != &_default_java_outer_classname_) {
   4234         java_outer_classname_->clear();
   4235       }
   4236     }
   4237     java_multiple_files_ = false;
   4238     optimize_for_ = 1;
   4239     cc_generic_services_ = true;
   4240     java_generic_services_ = true;
   4241     py_generic_services_ = true;
   4242   }
   4243   uninterpreted_option_.Clear();
   4244   ::memset(_has_bits_, 0, sizeof(_has_bits_));
   4245   mutable_unknown_fields()->Clear();
   4246 }
   4247 
   4248 bool FileOptions::MergePartialFromCodedStream(
   4249     ::google::protobuf::io::CodedInputStream* input) {
   4250 #define DO_(EXPRESSION) if (!(EXPRESSION)) return false
   4251   ::google::protobuf::uint32 tag;
   4252   while ((tag = input->ReadTag()) != 0) {
   4253     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
   4254       // optional string java_package = 1;
   4255       case 1: {
   4256         if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
   4257             ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
   4258           DO_(::google::protobuf::internal::WireFormatLite::ReadString(
   4259                 input, this->mutable_java_package()));
   4260           ::google::protobuf::internal::WireFormat::VerifyUTF8String(
   4261             this->java_package().data(), this->java_package().length(),
   4262             ::google::protobuf::internal::WireFormat::PARSE);
   4263         } else {
   4264           goto handle_uninterpreted;
   4265         }
   4266         if (input->ExpectTag(66)) goto parse_java_outer_classname;
   4267         break;
   4268       }
   4269 
   4270       // optional string java_outer_classname = 8;
   4271       case 8: {
   4272         if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
   4273             ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
   4274          parse_java_outer_classname:
   4275           DO_(::google::protobuf::internal::WireFormatLite::ReadString(
   4276                 input, this->mutable_java_outer_classname()));
   4277           ::google::protobuf::internal::WireFormat::VerifyUTF8String(
   4278             this->java_outer_classname().data(), this->java_outer_classname().length(),
   4279             ::google::protobuf::internal::WireFormat::PARSE);
   4280         } else {
   4281           goto handle_uninterpreted;
   4282         }
   4283         if (input->ExpectTag(72)) goto parse_optimize_for;
   4284         break;
   4285       }
   4286 
   4287       // optional .google.protobuf.FileOptions.OptimizeMode optimize_for = 9 [default = SPEED];
   4288       case 9: {
   4289         if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
   4290             ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
   4291          parse_optimize_for:
   4292           int value;
   4293           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
   4294                    int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>(
   4295                  input, &value)));
   4296           if (::google::protobuf::FileOptions_OptimizeMode_IsValid(value)) {
   4297             set_optimize_for(static_cast< ::google::protobuf::FileOptions_OptimizeMode >(value));
   4298           } else {
   4299             mutable_unknown_fields()->AddVarint(9, value);
   4300           }
   4301         } else {
   4302           goto handle_uninterpreted;
   4303         }
   4304         if (input->ExpectTag(80)) goto parse_java_multiple_files;
   4305         break;
   4306       }
   4307 
   4308       // optional bool java_multiple_files = 10 [default = false];
   4309       case 10: {
   4310         if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
   4311             ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
   4312          parse_java_multiple_files:
   4313           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
   4314                    bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
   4315                  input, &java_multiple_files_)));
   4316           _set_bit(2);
   4317         } else {
   4318           goto handle_uninterpreted;
   4319         }
   4320         if (input->ExpectTag(128)) goto parse_cc_generic_services;
   4321         break;
   4322       }
   4323 
   4324       // optional bool cc_generic_services = 16 [default = true];
   4325       case 16: {
   4326         if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
   4327             ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
   4328          parse_cc_generic_services:
   4329           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
   4330                    bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
   4331                  input, &cc_generic_services_)));
   4332           _set_bit(4);
   4333         } else {
   4334           goto handle_uninterpreted;
   4335         }
   4336         if (input->ExpectTag(136)) goto parse_java_generic_services;
   4337         break;
   4338       }
   4339 
   4340       // optional bool java_generic_services = 17 [default = true];
   4341       case 17: {
   4342         if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
   4343             ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
   4344          parse_java_generic_services:
   4345           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
   4346                    bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
   4347                  input, &java_generic_services_)));
   4348           _set_bit(5);
   4349         } else {
   4350           goto handle_uninterpreted;
   4351         }
   4352         if (input->ExpectTag(144)) goto parse_py_generic_services;
   4353         break;
   4354       }
   4355 
   4356       // optional bool py_generic_services = 18 [default = true];
   4357       case 18: {
   4358         if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
   4359             ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
   4360          parse_py_generic_services:
   4361           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
   4362                    bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
   4363                  input, &py_generic_services_)));
   4364           _set_bit(6);
   4365         } else {
   4366           goto handle_uninterpreted;
   4367         }
   4368         if (input->ExpectTag(7994)) goto parse_uninterpreted_option;
   4369         break;
   4370       }
   4371 
   4372       // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
   4373       case 999: {
   4374         if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
   4375             ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
   4376          parse_uninterpreted_option:
   4377           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
   4378                 input, add_uninterpreted_option()));
   4379         } else {
   4380           goto handle_uninterpreted;
   4381         }
   4382         if (input->ExpectTag(7994)) goto parse_uninterpreted_option;
   4383         if (input->ExpectAtEnd()) return true;
   4384         break;
   4385       }
   4386 
   4387       default: {
   4388       handle_uninterpreted:
   4389         if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
   4390             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
   4391           return true;
   4392         }
   4393         if ((8000u <= tag)) {
   4394           DO_(_extensions_.ParseField(tag, input, default_instance_,
   4395                                       mutable_unknown_fields()));
   4396           continue;
   4397         }
   4398         DO_(::google::protobuf::internal::WireFormat::SkipField(
   4399               input, tag, mutable_unknown_fields()));
   4400         break;
   4401       }
   4402     }
   4403   }
   4404   return true;
   4405 #undef DO_
   4406 }
   4407 
   4408 void FileOptions::SerializeWithCachedSizes(
   4409     ::google::protobuf::io::CodedOutputStream* output) const {
   4410   // optional string java_package = 1;
   4411   if (_has_bit(0)) {
   4412     ::google::protobuf::internal::WireFormat::VerifyUTF8String(
   4413       this->java_package().data(), this->java_package().length(),
   4414       ::google::protobuf::internal::WireFormat::SERIALIZE);
   4415     ::google::protobuf::internal::WireFormatLite::WriteString(
   4416       1, this->java_package(), output);
   4417   }
   4418 
   4419   // optional string java_outer_classname = 8;
   4420   if (_has_bit(1)) {
   4421     ::google::protobuf::internal::WireFormat::VerifyUTF8String(
   4422       this->java_outer_classname().data(), this->java_outer_classname().length(),
   4423       ::google::protobuf::internal::WireFormat::SERIALIZE);
   4424     ::google::protobuf::internal::WireFormatLite::WriteString(
   4425       8, this->java_outer_classname(), output);
   4426   }
   4427 
   4428   // optional .google.protobuf.FileOptions.OptimizeMode optimize_for = 9 [default = SPEED];
   4429   if (_has_bit(3)) {
   4430     ::google::protobuf::internal::WireFormatLite::WriteEnum(
   4431       9, this->optimize_for(), output);
   4432   }
   4433 
   4434   // optional bool java_multiple_files = 10 [default = false];
   4435   if (_has_bit(2)) {
   4436     ::google::protobuf::internal::WireFormatLite::WriteBool(10, this->java_multiple_files(), output);
   4437   }
   4438 
   4439   // optional bool cc_generic_services = 16 [default = true];
   4440   if (_has_bit(4)) {
   4441     ::google::protobuf::internal::WireFormatLite::WriteBool(16, this->cc_generic_services(), output);
   4442   }
   4443 
   4444   // optional bool java_generic_services = 17 [default = true];
   4445   if (_has_bit(5)) {
   4446     ::google::protobuf::internal::WireFormatLite::WriteBool(17, this->java_generic_services(), output);
   4447   }
   4448 
   4449   // optional bool py_generic_services = 18 [default = true];
   4450   if (_has_bit(6)) {
   4451     ::google::protobuf::internal::WireFormatLite::WriteBool(18, this->py_generic_services(), output);
   4452   }
   4453 
   4454   // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
   4455   for (int i = 0; i < this->uninterpreted_option_size(); i++) {
   4456     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
   4457       999, this->uninterpreted_option(i), output);
   4458   }
   4459 
   4460   // Extension range [1000, 536870912)
   4461   _extensions_.SerializeWithCachedSizes(
   4462       1000, 536870912, output);
   4463 
   4464   if (!unknown_fields().empty()) {
   4465     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
   4466         unknown_fields(), output);
   4467   }
   4468 }
   4469 
   4470 ::google::protobuf::uint8* FileOptions::SerializeWithCachedSizesToArray(
   4471     ::google::protobuf::uint8* target) const {
   4472   // optional string java_package = 1;
   4473   if (_has_bit(0)) {
   4474     ::google::protobuf::internal::WireFormat::VerifyUTF8String(
   4475       this->java_package().data(), this->java_package().length(),
   4476       ::google::protobuf::internal::WireFormat::SERIALIZE);
   4477     target =
   4478       ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
   4479         1, this->java_package(), target);
   4480   }
   4481 
   4482   // optional string java_outer_classname = 8;
   4483   if (_has_bit(1)) {
   4484     ::google::protobuf::internal::WireFormat::VerifyUTF8String(
   4485       this->java_outer_classname().data(), this->java_outer_classname().length(),
   4486       ::google::protobuf::internal::WireFormat::SERIALIZE);
   4487     target =
   4488       ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
   4489         8, this->java_outer_classname(), target);
   4490   }
   4491 
   4492   // optional .google.protobuf.FileOptions.OptimizeMode optimize_for = 9 [default = SPEED];
   4493   if (_has_bit(3)) {
   4494     target = ::google::protobuf::internal::WireFormatLite::WriteEnumToArray(
   4495       9, this->optimize_for(), target);
   4496   }
   4497 
   4498   // optional bool java_multiple_files = 10 [default = false];
   4499   if (_has_bit(2)) {
   4500     target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(10, this->java_multiple_files(), target);
   4501   }
   4502 
   4503   // optional bool cc_generic_services = 16 [default = true];
   4504   if (_has_bit(4)) {
   4505     target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(16, this->cc_generic_services(), target);
   4506   }
   4507 
   4508   // optional bool java_generic_services = 17 [default = true];
   4509   if (_has_bit(5)) {
   4510     target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(17, this->java_generic_services(), target);
   4511   }
   4512 
   4513   // optional bool py_generic_services = 18 [default = true];
   4514   if (_has_bit(6)) {
   4515     target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(18, this->py_generic_services(), target);
   4516   }
   4517 
   4518   // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
   4519   for (int i = 0; i < this->uninterpreted_option_size(); i++) {
   4520     target = ::google::protobuf::internal::WireFormatLite::
   4521       WriteMessageNoVirtualToArray(
   4522         999, this->uninterpreted_option(i), target);
   4523   }
   4524 
   4525   // Extension range [1000, 536870912)
   4526   target = _extensions_.SerializeWithCachedSizesToArray(
   4527       1000, 536870912, target);
   4528 
   4529   if (!unknown_fields().empty()) {
   4530     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
   4531         unknown_fields(), target);
   4532   }
   4533   return target;
   4534 }
   4535 
   4536 int FileOptions::ByteSize() const {
   4537   int total_size = 0;
   4538 
   4539   if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
   4540     // optional string java_package = 1;
   4541     if (has_java_package()) {
   4542       total_size += 1 +
   4543         ::google::protobuf::internal::WireFormatLite::StringSize(
   4544           this->java_package());
   4545     }
   4546 
   4547     // optional string java_outer_classname = 8;
   4548     if (has_java_outer_classname()) {
   4549       total_size += 1 +
   4550         ::google::protobuf::internal::WireFormatLite::StringSize(
   4551           this->java_outer_classname());
   4552     }
   4553 
   4554     // optional bool java_multiple_files = 10 [default = false];
   4555     if (has_java_multiple_files()) {
   4556       total_size += 1 + 1;
   4557     }
   4558 
   4559     // optional .google.protobuf.FileOptions.OptimizeMode optimize_for = 9 [default = SPEED];
   4560     if (has_optimize_for()) {
   4561       total_size += 1 +
   4562         ::google::protobuf::internal::WireFormatLite::EnumSize(this->optimize_for());
   4563     }
   4564 
   4565     // optional bool cc_generic_services = 16 [default = true];
   4566     if (has_cc_generic_services()) {
   4567       total_size += 2 + 1;
   4568     }
   4569 
   4570     // optional bool java_generic_services = 17 [default = true];
   4571     if (has_java_generic_services()) {
   4572       total_size += 2 + 1;
   4573     }
   4574 
   4575     // optional bool py_generic_services = 18 [default = true];
   4576     if (has_py_generic_services()) {
   4577       total_size += 2 + 1;
   4578     }
   4579 
   4580   }
   4581   // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
   4582   total_size += 2 * this->uninterpreted_option_size();
   4583   for (int i = 0; i < this->uninterpreted_option_size(); i++) {
   4584     total_size +=
   4585       ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
   4586         this->uninterpreted_option(i));
   4587   }
   4588 
   4589   total_size += _extensions_.ByteSize();
   4590 
   4591   if (!unknown_fields().empty()) {
   4592     total_size +=
   4593       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
   4594         unknown_fields());
   4595   }
   4596   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   4597   _cached_size_ = total_size;
   4598   GOOGLE_SAFE_CONCURRENT_WRITES_END();
   4599   return total_size;
   4600 }
   4601 
   4602 void FileOptions::MergeFrom(const ::google::protobuf::Message& from) {
   4603   GOOGLE_CHECK_NE(&from, this);
   4604   const FileOptions* source =
   4605     ::google::protobuf::internal::dynamic_cast_if_available<const FileOptions*>(
   4606       &from);
   4607   if (source == NULL) {
   4608     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
   4609   } else {
   4610     MergeFrom(*source);
   4611   }
   4612 }
   4613 
   4614 void FileOptions::MergeFrom(const FileOptions& from) {
   4615   GOOGLE_CHECK_NE(&from, this);
   4616   uninterpreted_option_.MergeFrom(from.uninterpreted_option_);
   4617   if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
   4618     if (from._has_bit(0)) {
   4619       set_java_package(from.java_package());
   4620     }
   4621     if (from._has_bit(1)) {
   4622       set_java_outer_classname(from.java_outer_classname());
   4623     }
   4624     if (from._has_bit(2)) {
   4625       set_java_multiple_files(from.java_multiple_files());
   4626     }
   4627     if (from._has_bit(3)) {
   4628       set_optimize_for(from.optimize_for());
   4629     }
   4630     if (from._has_bit(4)) {
   4631       set_cc_generic_services(from.cc_generic_services());
   4632     }
   4633     if (from._has_bit(5)) {
   4634       set_java_generic_services(from.java_generic_services());
   4635     }
   4636     if (from._has_bit(6)) {
   4637       set_py_generic_services(from.py_generic_services());
   4638     }
   4639   }
   4640   _extensions_.MergeFrom(from._extensions_);
   4641   mutable_unknown_fields()->MergeFrom(from.unknown_fields());
   4642 }
   4643 
   4644 void FileOptions::CopyFrom(const ::google::protobuf::Message& from) {
   4645   if (&from == this) return;
   4646   Clear();
   4647   MergeFrom(from);
   4648 }
   4649 
   4650 void FileOptions::CopyFrom(const FileOptions& from) {
   4651   if (&from == this) return;
   4652   Clear();
   4653   MergeFrom(from);
   4654 }
   4655 
   4656 bool FileOptions::IsInitialized() const {
   4657 
   4658   for (int i = 0; i < uninterpreted_option_size(); i++) {
   4659     if (!this->uninterpreted_option(i).IsInitialized()) return false;
   4660   }
   4661 
   4662   if (!_extensions_.IsInitialized()) return false;  return true;
   4663 }
   4664 
   4665 void FileOptions::Swap(FileOptions* other) {
   4666   if (other != this) {
   4667     std::swap(java_package_, other->java_package_);
   4668     std::swap(java_outer_classname_, other->java_outer_classname_);
   4669     std::swap(java_multiple_files_, other->java_multiple_files_);
   4670     std::swap(optimize_for_, other->optimize_for_);
   4671     std::swap(cc_generic_services_, other->cc_generic_services_);
   4672     std::swap(java_generic_services_, other->java_generic_services_);
   4673     std::swap(py_generic_services_, other->py_generic_services_);
   4674     uninterpreted_option_.Swap(&other->uninterpreted_option_);
   4675     std::swap(_has_bits_[0], other->_has_bits_[0]);
   4676     _unknown_fields_.Swap(&other->_unknown_fields_);
   4677     std::swap(_cached_size_, other->_cached_size_);
   4678     _extensions_.Swap(&other->_extensions_);
   4679   }
   4680 }
   4681 
   4682 ::google::protobuf::Metadata FileOptions::GetMetadata() const {
   4683   protobuf_AssignDescriptorsOnce();
   4684   ::google::protobuf::Metadata metadata;
   4685   metadata.descriptor = FileOptions_descriptor_;
   4686   metadata.reflection = FileOptions_reflection_;
   4687   return metadata;
   4688 }
   4689 
   4690 
   4691 // ===================================================================
   4692 
   4693 #ifndef _MSC_VER
   4694 const int MessageOptions::kMessageSetWireFormatFieldNumber;
   4695 const int MessageOptions::kNoStandardDescriptorAccessorFieldNumber;
   4696 const int MessageOptions::kUninterpretedOptionFieldNumber;
   4697 #endif  // !_MSC_VER
   4698 
   4699 MessageOptions::MessageOptions()
   4700   : ::google::protobuf::Message() {
   4701   SharedCtor();
   4702 }
   4703 
   4704 void MessageOptions::InitAsDefaultInstance() {
   4705 }
   4706 
   4707 MessageOptions::MessageOptions(const MessageOptions& from)
   4708   : ::google::protobuf::Message() {
   4709   SharedCtor();
   4710   MergeFrom(from);
   4711 }
   4712 
   4713 void MessageOptions::SharedCtor() {
   4714   _cached_size_ = 0;
   4715   message_set_wire_format_ = false;
   4716   no_standard_descriptor_accessor_ = false;
   4717   ::memset(_has_bits_, 0, sizeof(_has_bits_));
   4718 }
   4719 
   4720 MessageOptions::~MessageOptions() {
   4721   SharedDtor();
   4722 }
   4723 
   4724 void MessageOptions::SharedDtor() {
   4725   if (this != default_instance_) {
   4726   }
   4727 }
   4728 
   4729 void MessageOptions::SetCachedSize(int size) const {
   4730   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   4731   _cached_size_ = size;
   4732   GOOGLE_SAFE_CONCURRENT_WRITES_END();
   4733 }
   4734 const ::google::protobuf::Descriptor* MessageOptions::descriptor() {
   4735   protobuf_AssignDescriptorsOnce();
   4736   return MessageOptions_descriptor_;
   4737 }
   4738 
   4739 const MessageOptions& MessageOptions::default_instance() {
   4740   if (default_instance_ == NULL) protobuf_AddDesc_google_2fprotobuf_2fdescriptor_2eproto();  return *default_instance_;
   4741 }
   4742 
   4743 MessageOptions* MessageOptions::default_instance_ = NULL;
   4744 
   4745 MessageOptions* MessageOptions::New() const {
   4746   return new MessageOptions;
   4747 }
   4748 
   4749 void MessageOptions::Clear() {
   4750   _extensions_.Clear();
   4751   if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
   4752     message_set_wire_format_ = false;
   4753     no_standard_descriptor_accessor_ = false;
   4754   }
   4755   uninterpreted_option_.Clear();
   4756   ::memset(_has_bits_, 0, sizeof(_has_bits_));
   4757   mutable_unknown_fields()->Clear();
   4758 }
   4759 
   4760 bool MessageOptions::MergePartialFromCodedStream(
   4761     ::google::protobuf::io::CodedInputStream* input) {
   4762 #define DO_(EXPRESSION) if (!(EXPRESSION)) return false
   4763   ::google::protobuf::uint32 tag;
   4764   while ((tag = input->ReadTag()) != 0) {
   4765     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
   4766       // optional bool message_set_wire_format = 1 [default = false];
   4767       case 1: {
   4768         if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
   4769             ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
   4770           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
   4771                    bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
   4772                  input, &message_set_wire_format_)));
   4773           _set_bit(0);
   4774         } else {
   4775           goto handle_uninterpreted;
   4776         }
   4777         if (input->ExpectTag(16)) goto parse_no_standard_descriptor_accessor;
   4778         break;
   4779       }
   4780 
   4781       // optional bool no_standard_descriptor_accessor = 2 [default = false];
   4782       case 2: {
   4783         if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
   4784             ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
   4785          parse_no_standard_descriptor_accessor:
   4786           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
   4787                    bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
   4788                  input, &no_standard_descriptor_accessor_)));
   4789           _set_bit(1);
   4790         } else {
   4791           goto handle_uninterpreted;
   4792         }
   4793         if (input->ExpectTag(7994)) goto parse_uninterpreted_option;
   4794         break;
   4795       }
   4796 
   4797       // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
   4798       case 999: {
   4799         if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
   4800             ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
   4801          parse_uninterpreted_option:
   4802           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
   4803                 input, add_uninterpreted_option()));
   4804         } else {
   4805           goto handle_uninterpreted;
   4806         }
   4807         if (input->ExpectTag(7994)) goto parse_uninterpreted_option;
   4808         if (input->ExpectAtEnd()) return true;
   4809         break;
   4810       }
   4811 
   4812       default: {
   4813       handle_uninterpreted:
   4814         if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
   4815             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
   4816           return true;
   4817         }
   4818         if ((8000u <= tag)) {
   4819           DO_(_extensions_.ParseField(tag, input, default_instance_,
   4820                                       mutable_unknown_fields()));
   4821           continue;
   4822         }
   4823         DO_(::google::protobuf::internal::WireFormat::SkipField(
   4824               input, tag, mutable_unknown_fields()));
   4825         break;
   4826       }
   4827     }
   4828   }
   4829   return true;
   4830 #undef DO_
   4831 }
   4832 
   4833 void MessageOptions::SerializeWithCachedSizes(
   4834     ::google::protobuf::io::CodedOutputStream* output) const {
   4835   // optional bool message_set_wire_format = 1 [default = false];
   4836   if (_has_bit(0)) {
   4837     ::google::protobuf::internal::WireFormatLite::WriteBool(1, this->message_set_wire_format(), output);
   4838   }
   4839 
   4840   // optional bool no_standard_descriptor_accessor = 2 [default = false];
   4841   if (_has_bit(1)) {
   4842     ::google::protobuf::internal::WireFormatLite::WriteBool(2, this->no_standard_descriptor_accessor(), output);
   4843   }
   4844 
   4845   // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
   4846   for (int i = 0; i < this->uninterpreted_option_size(); i++) {
   4847     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
   4848       999, this->uninterpreted_option(i), output);
   4849   }
   4850 
   4851   // Extension range [1000, 536870912)
   4852   _extensions_.SerializeWithCachedSizes(
   4853       1000, 536870912, output);
   4854 
   4855   if (!unknown_fields().empty()) {
   4856     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
   4857         unknown_fields(), output);
   4858   }
   4859 }
   4860 
   4861 ::google::protobuf::uint8* MessageOptions::SerializeWithCachedSizesToArray(
   4862     ::google::protobuf::uint8* target) const {
   4863   // optional bool message_set_wire_format = 1 [default = false];
   4864   if (_has_bit(0)) {
   4865     target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(1, this->message_set_wire_format(), target);
   4866   }
   4867 
   4868   // optional bool no_standard_descriptor_accessor = 2 [default = false];
   4869   if (_has_bit(1)) {
   4870     target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(2, this->no_standard_descriptor_accessor(), target);
   4871   }
   4872 
   4873   // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
   4874   for (int i = 0; i < this->uninterpreted_option_size(); i++) {
   4875     target = ::google::protobuf::internal::WireFormatLite::
   4876       WriteMessageNoVirtualToArray(
   4877         999, this->uninterpreted_option(i), target);
   4878   }
   4879 
   4880   // Extension range [1000, 536870912)
   4881   target = _extensions_.SerializeWithCachedSizesToArray(
   4882       1000, 536870912, target);
   4883 
   4884   if (!unknown_fields().empty()) {
   4885     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
   4886         unknown_fields(), target);
   4887   }
   4888   return target;
   4889 }
   4890 
   4891 int MessageOptions::ByteSize() const {
   4892   int total_size = 0;
   4893 
   4894   if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
   4895     // optional bool message_set_wire_format = 1 [default = false];
   4896     if (has_message_set_wire_format()) {
   4897       total_size += 1 + 1;
   4898     }
   4899 
   4900     // optional bool no_standard_descriptor_accessor = 2 [default = false];
   4901     if (has_no_standard_descriptor_accessor()) {
   4902       total_size += 1 + 1;
   4903     }
   4904 
   4905   }
   4906   // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
   4907   total_size += 2 * this->uninterpreted_option_size();
   4908   for (int i = 0; i < this->uninterpreted_option_size(); i++) {
   4909     total_size +=
   4910       ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
   4911         this->uninterpreted_option(i));
   4912   }
   4913 
   4914   total_size += _extensions_.ByteSize();
   4915 
   4916   if (!unknown_fields().empty()) {
   4917     total_size +=
   4918       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
   4919         unknown_fields());
   4920   }
   4921   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   4922   _cached_size_ = total_size;
   4923   GOOGLE_SAFE_CONCURRENT_WRITES_END();
   4924   return total_size;
   4925 }
   4926 
   4927 void MessageOptions::MergeFrom(const ::google::protobuf::Message& from) {
   4928   GOOGLE_CHECK_NE(&from, this);
   4929   const MessageOptions* source =
   4930     ::google::protobuf::internal::dynamic_cast_if_available<const MessageOptions*>(
   4931       &from);
   4932   if (source == NULL) {
   4933     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
   4934   } else {
   4935     MergeFrom(*source);
   4936   }
   4937 }
   4938 
   4939 void MessageOptions::MergeFrom(const MessageOptions& from) {
   4940   GOOGLE_CHECK_NE(&from, this);
   4941   uninterpreted_option_.MergeFrom(from.uninterpreted_option_);
   4942   if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
   4943     if (from._has_bit(0)) {
   4944       set_message_set_wire_format(from.message_set_wire_format());
   4945     }
   4946     if (from._has_bit(1)) {
   4947       set_no_standard_descriptor_accessor(from.no_standard_descriptor_accessor());
   4948     }
   4949   }
   4950   _extensions_.MergeFrom(from._extensions_);
   4951   mutable_unknown_fields()->MergeFrom(from.unknown_fields());
   4952 }
   4953 
   4954 void MessageOptions::CopyFrom(const ::google::protobuf::Message& from) {
   4955   if (&from == this) return;
   4956   Clear();
   4957   MergeFrom(from);
   4958 }
   4959 
   4960 void MessageOptions::CopyFrom(const MessageOptions& from) {
   4961   if (&from == this) return;
   4962   Clear();
   4963   MergeFrom(from);
   4964 }
   4965 
   4966 bool MessageOptions::IsInitialized() const {
   4967 
   4968   for (int i = 0; i < uninterpreted_option_size(); i++) {
   4969     if (!this->uninterpreted_option(i).IsInitialized()) return false;
   4970   }
   4971 
   4972   if (!_extensions_.IsInitialized()) return false;  return true;
   4973 }
   4974 
   4975 void MessageOptions::Swap(MessageOptions* other) {
   4976   if (other != this) {
   4977     std::swap(message_set_wire_format_, other->message_set_wire_format_);
   4978     std::swap(no_standard_descriptor_accessor_, other->no_standard_descriptor_accessor_);
   4979     uninterpreted_option_.Swap(&other->uninterpreted_option_);
   4980     std::swap(_has_bits_[0], other->_has_bits_[0]);
   4981     _unknown_fields_.Swap(&other->_unknown_fields_);
   4982     std::swap(_cached_size_, other->_cached_size_);
   4983     _extensions_.Swap(&other->_extensions_);
   4984   }
   4985 }
   4986 
   4987 ::google::protobuf::Metadata MessageOptions::GetMetadata() const {
   4988   protobuf_AssignDescriptorsOnce();
   4989   ::google::protobuf::Metadata metadata;
   4990   metadata.descriptor = MessageOptions_descriptor_;
   4991   metadata.reflection = MessageOptions_reflection_;
   4992   return metadata;
   4993 }
   4994 
   4995 
   4996 // ===================================================================
   4997 
   4998 const ::google::protobuf::EnumDescriptor* FieldOptions_CType_descriptor() {
   4999   protobuf_AssignDescriptorsOnce();
   5000   return FieldOptions_CType_descriptor_;
   5001 }
   5002 bool FieldOptions_CType_IsValid(int value) {
   5003   switch(value) {
   5004     case 0:
   5005     case 1:
   5006     case 2:
   5007       return true;
   5008     default:
   5009       return false;
   5010   }
   5011 }
   5012 
   5013 #ifndef _MSC_VER
   5014 const FieldOptions_CType FieldOptions::STRING;
   5015 const FieldOptions_CType FieldOptions::CORD;
   5016 const FieldOptions_CType FieldOptions::STRING_PIECE;
   5017 const FieldOptions_CType FieldOptions::CType_MIN;
   5018 const FieldOptions_CType FieldOptions::CType_MAX;
   5019 const int FieldOptions::CType_ARRAYSIZE;
   5020 #endif  // _MSC_VER
   5021 const ::std::string FieldOptions::_default_experimental_map_key_;
   5022 #ifndef _MSC_VER
   5023 const int FieldOptions::kCtypeFieldNumber;
   5024 const int FieldOptions::kPackedFieldNumber;
   5025 const int FieldOptions::kDeprecatedFieldNumber;
   5026 const int FieldOptions::kExperimentalMapKeyFieldNumber;
   5027 const int FieldOptions::kUninterpretedOptionFieldNumber;
   5028 #endif  // !_MSC_VER
   5029 
   5030 FieldOptions::FieldOptions()
   5031   : ::google::protobuf::Message() {
   5032   SharedCtor();
   5033 }
   5034 
   5035 void FieldOptions::InitAsDefaultInstance() {
   5036 }
   5037 
   5038 FieldOptions::FieldOptions(const FieldOptions& from)
   5039   : ::google::protobuf::Message() {
   5040   SharedCtor();
   5041   MergeFrom(from);
   5042 }
   5043 
   5044 void FieldOptions::SharedCtor() {
   5045   _cached_size_ = 0;
   5046   ctype_ = 0;
   5047   packed_ = false;
   5048   deprecated_ = false;
   5049   experimental_map_key_ = const_cast< ::std::string*>(&_default_experimental_map_key_);
   5050   ::memset(_has_bits_, 0, sizeof(_has_bits_));
   5051 }
   5052 
   5053 FieldOptions::~FieldOptions() {
   5054   SharedDtor();
   5055 }
   5056 
   5057 void FieldOptions::SharedDtor() {
   5058   if (experimental_map_key_ != &_default_experimental_map_key_) {
   5059     delete experimental_map_key_;
   5060   }
   5061   if (this != default_instance_) {
   5062   }
   5063 }
   5064 
   5065 void FieldOptions::SetCachedSize(int size) const {
   5066   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   5067   _cached_size_ = size;
   5068   GOOGLE_SAFE_CONCURRENT_WRITES_END();
   5069 }
   5070 const ::google::protobuf::Descriptor* FieldOptions::descriptor() {
   5071   protobuf_AssignDescriptorsOnce();
   5072   return FieldOptions_descriptor_;
   5073 }
   5074 
   5075 const FieldOptions& FieldOptions::default_instance() {
   5076   if (default_instance_ == NULL) protobuf_AddDesc_google_2fprotobuf_2fdescriptor_2eproto();  return *default_instance_;
   5077 }
   5078 
   5079 FieldOptions* FieldOptions::default_instance_ = NULL;
   5080 
   5081 FieldOptions* FieldOptions::New() const {
   5082   return new FieldOptions;
   5083 }
   5084 
   5085 void FieldOptions::Clear() {
   5086   _extensions_.Clear();
   5087   if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
   5088     ctype_ = 0;
   5089     packed_ = false;
   5090     deprecated_ = false;
   5091     if (_has_bit(3)) {
   5092       if (experimental_map_key_ != &_default_experimental_map_key_) {
   5093         experimental_map_key_->clear();
   5094       }
   5095     }
   5096   }
   5097   uninterpreted_option_.Clear();
   5098   ::memset(_has_bits_, 0, sizeof(_has_bits_));
   5099   mutable_unknown_fields()->Clear();
   5100 }
   5101 
   5102 bool FieldOptions::MergePartialFromCodedStream(
   5103     ::google::protobuf::io::CodedInputStream* input) {
   5104 #define DO_(EXPRESSION) if (!(EXPRESSION)) return false
   5105   ::google::protobuf::uint32 tag;
   5106   while ((tag = input->ReadTag()) != 0) {
   5107     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
   5108       // optional .google.protobuf.FieldOptions.CType ctype = 1 [default = STRING];
   5109       case 1: {
   5110         if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
   5111             ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
   5112           int value;
   5113           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
   5114                    int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>(
   5115                  input, &value)));
   5116           if (::google::protobuf::FieldOptions_CType_IsValid(value)) {
   5117             set_ctype(static_cast< ::google::protobuf::FieldOptions_CType >(value));
   5118           } else {
   5119             mutable_unknown_fields()->AddVarint(1, value);
   5120           }
   5121         } else {
   5122           goto handle_uninterpreted;
   5123         }
   5124         if (input->ExpectTag(16)) goto parse_packed;
   5125         break;
   5126       }
   5127 
   5128       // optional bool packed = 2;
   5129       case 2: {
   5130         if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
   5131             ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
   5132          parse_packed:
   5133           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
   5134                    bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
   5135                  input, &packed_)));
   5136           _set_bit(1);
   5137         } else {
   5138           goto handle_uninterpreted;
   5139         }
   5140         if (input->ExpectTag(24)) goto parse_deprecated;
   5141         break;
   5142       }
   5143 
   5144       // optional bool deprecated = 3 [default = false];
   5145       case 3: {
   5146         if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
   5147             ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
   5148          parse_deprecated:
   5149           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
   5150                    bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
   5151                  input, &deprecated_)));
   5152           _set_bit(2);
   5153         } else {
   5154           goto handle_uninterpreted;
   5155         }
   5156         if (input->ExpectTag(74)) goto parse_experimental_map_key;
   5157         break;
   5158       }
   5159 
   5160       // optional string experimental_map_key = 9;
   5161       case 9: {
   5162         if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
   5163             ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
   5164          parse_experimental_map_key:
   5165           DO_(::google::protobuf::internal::WireFormatLite::ReadString(
   5166                 input, this->mutable_experimental_map_key()));
   5167           ::google::protobuf::internal::WireFormat::VerifyUTF8String(
   5168             this->experimental_map_key().data(), this->experimental_map_key().length(),
   5169             ::google::protobuf::internal::WireFormat::PARSE);
   5170         } else {
   5171           goto handle_uninterpreted;
   5172         }
   5173         if (input->ExpectTag(7994)) goto parse_uninterpreted_option;
   5174         break;
   5175       }
   5176 
   5177       // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
   5178       case 999: {
   5179         if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
   5180             ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
   5181          parse_uninterpreted_option:
   5182           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
   5183                 input, add_uninterpreted_option()));
   5184         } else {
   5185           goto handle_uninterpreted;
   5186         }
   5187         if (input->ExpectTag(7994)) goto parse_uninterpreted_option;
   5188         if (input->ExpectAtEnd()) return true;
   5189         break;
   5190       }
   5191 
   5192       default: {
   5193       handle_uninterpreted:
   5194         if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
   5195             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
   5196           return true;
   5197         }
   5198         if ((8000u <= tag)) {
   5199           DO_(_extensions_.ParseField(tag, input, default_instance_,
   5200                                       mutable_unknown_fields()));
   5201           continue;
   5202         }
   5203         DO_(::google::protobuf::internal::WireFormat::SkipField(
   5204               input, tag, mutable_unknown_fields()));
   5205         break;
   5206       }
   5207     }
   5208   }
   5209   return true;
   5210 #undef DO_
   5211 }
   5212 
   5213 void FieldOptions::SerializeWithCachedSizes(
   5214     ::google::protobuf::io::CodedOutputStream* output) const {
   5215   // optional .google.protobuf.FieldOptions.CType ctype = 1 [default = STRING];
   5216   if (_has_bit(0)) {
   5217     ::google::protobuf::internal::WireFormatLite::WriteEnum(
   5218       1, this->ctype(), output);
   5219   }
   5220 
   5221   // optional bool packed = 2;
   5222   if (_has_bit(1)) {
   5223     ::google::protobuf::internal::WireFormatLite::WriteBool(2, this->packed(), output);
   5224   }
   5225 
   5226   // optional bool deprecated = 3 [default = false];
   5227   if (_has_bit(2)) {
   5228     ::google::protobuf::internal::WireFormatLite::WriteBool(3, this->deprecated(), output);
   5229   }
   5230 
   5231   // optional string experimental_map_key = 9;
   5232   if (_has_bit(3)) {
   5233     ::google::protobuf::internal::WireFormat::VerifyUTF8String(
   5234       this->experimental_map_key().data(), this->experimental_map_key().length(),
   5235       ::google::protobuf::internal::WireFormat::SERIALIZE);
   5236     ::google::protobuf::internal::WireFormatLite::WriteString(
   5237       9, this->experimental_map_key(), output);
   5238   }
   5239 
   5240   // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
   5241   for (int i = 0; i < this->uninterpreted_option_size(); i++) {
   5242     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
   5243       999, this->uninterpreted_option(i), output);
   5244   }
   5245 
   5246   // Extension range [1000, 536870912)
   5247   _extensions_.SerializeWithCachedSizes(
   5248       1000, 536870912, output);
   5249 
   5250   if (!unknown_fields().empty()) {
   5251     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
   5252         unknown_fields(), output);
   5253   }
   5254 }
   5255 
   5256 ::google::protobuf::uint8* FieldOptions::SerializeWithCachedSizesToArray(
   5257     ::google::protobuf::uint8* target) const {
   5258   // optional .google.protobuf.FieldOptions.CType ctype = 1 [default = STRING];
   5259   if (_has_bit(0)) {
   5260     target = ::google::protobuf::internal::WireFormatLite::WriteEnumToArray(
   5261       1, this->ctype(), target);
   5262   }
   5263 
   5264   // optional bool packed = 2;
   5265   if (_has_bit(1)) {
   5266     target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(2, this->packed(), target);
   5267   }
   5268 
   5269   // optional bool deprecated = 3 [default = false];
   5270   if (_has_bit(2)) {
   5271     target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(3, this->deprecated(), target);
   5272   }
   5273 
   5274   // optional string experimental_map_key = 9;
   5275   if (_has_bit(3)) {
   5276     ::google::protobuf::internal::WireFormat::VerifyUTF8String(
   5277       this->experimental_map_key().data(), this->experimental_map_key().length(),
   5278       ::google::protobuf::internal::WireFormat::SERIALIZE);
   5279     target =
   5280       ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
   5281         9, this->experimental_map_key(), target);
   5282   }
   5283 
   5284   // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
   5285   for (int i = 0; i < this->uninterpreted_option_size(); i++) {
   5286     target = ::google::protobuf::internal::WireFormatLite::
   5287       WriteMessageNoVirtualToArray(
   5288         999, this->uninterpreted_option(i), target);
   5289   }
   5290 
   5291   // Extension range [1000, 536870912)
   5292   target = _extensions_.SerializeWithCachedSizesToArray(
   5293       1000, 536870912, target);
   5294 
   5295   if (!unknown_fields().empty()) {
   5296     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
   5297         unknown_fields(), target);
   5298   }
   5299   return target;
   5300 }
   5301 
   5302 int FieldOptions::ByteSize() const {
   5303   int total_size = 0;
   5304 
   5305   if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
   5306     // optional .google.protobuf.FieldOptions.CType ctype = 1 [default = STRING];
   5307     if (has_ctype()) {
   5308       total_size += 1 +
   5309         ::google::protobuf::internal::WireFormatLite::EnumSize(this->ctype());
   5310     }
   5311 
   5312     // optional bool packed = 2;
   5313     if (has_packed()) {
   5314       total_size += 1 + 1;
   5315     }
   5316 
   5317     // optional bool deprecated = 3 [default = false];
   5318     if (has_deprecated()) {
   5319       total_size += 1 + 1;
   5320     }
   5321 
   5322     // optional string experimental_map_key = 9;
   5323     if (has_experimental_map_key()) {
   5324       total_size += 1 +
   5325         ::google::protobuf::internal::WireFormatLite::StringSize(
   5326           this->experimental_map_key());
   5327     }
   5328 
   5329   }
   5330   // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
   5331   total_size += 2 * this->uninterpreted_option_size();
   5332   for (int i = 0; i < this->uninterpreted_option_size(); i++) {
   5333     total_size +=
   5334       ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
   5335         this->uninterpreted_option(i));
   5336   }
   5337 
   5338   total_size += _extensions_.ByteSize();
   5339 
   5340   if (!unknown_fields().empty()) {
   5341     total_size +=
   5342       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
   5343         unknown_fields());
   5344   }
   5345   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   5346   _cached_size_ = total_size;
   5347   GOOGLE_SAFE_CONCURRENT_WRITES_END();
   5348   return total_size;
   5349 }
   5350 
   5351 void FieldOptions::MergeFrom(const ::google::protobuf::Message& from) {
   5352   GOOGLE_CHECK_NE(&from, this);
   5353   const FieldOptions* source =
   5354     ::google::protobuf::internal::dynamic_cast_if_available<const FieldOptions*>(
   5355       &from);
   5356   if (source == NULL) {
   5357     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
   5358   } else {
   5359     MergeFrom(*source);
   5360   }
   5361 }
   5362 
   5363 void FieldOptions::MergeFrom(const FieldOptions& from) {
   5364   GOOGLE_CHECK_NE(&from, this);
   5365   uninterpreted_option_.MergeFrom(from.uninterpreted_option_);
   5366   if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
   5367     if (from._has_bit(0)) {
   5368       set_ctype(from.ctype());
   5369     }
   5370     if (from._has_bit(1)) {
   5371       set_packed(from.packed());
   5372     }
   5373     if (from._has_bit(2)) {
   5374       set_deprecated(from.deprecated());
   5375     }
   5376     if (from._has_bit(3)) {
   5377       set_experimental_map_key(from.experimental_map_key());
   5378     }
   5379   }
   5380   _extensions_.MergeFrom(from._extensions_);
   5381   mutable_unknown_fields()->MergeFrom(from.unknown_fields());
   5382 }
   5383 
   5384 void FieldOptions::CopyFrom(const ::google::protobuf::Message& from) {
   5385   if (&from == this) return;
   5386   Clear();
   5387   MergeFrom(from);
   5388 }
   5389 
   5390 void FieldOptions::CopyFrom(const FieldOptions& from) {
   5391   if (&from == this) return;
   5392   Clear();
   5393   MergeFrom(from);
   5394 }
   5395 
   5396 bool FieldOptions::IsInitialized() const {
   5397 
   5398   for (int i = 0; i < uninterpreted_option_size(); i++) {
   5399     if (!this->uninterpreted_option(i).IsInitialized()) return false;
   5400   }
   5401 
   5402   if (!_extensions_.IsInitialized()) return false;  return true;
   5403 }
   5404 
   5405 void FieldOptions::Swap(FieldOptions* other) {
   5406   if (other != this) {
   5407     std::swap(ctype_, other->ctype_);
   5408     std::swap(packed_, other->packed_);
   5409     std::swap(deprecated_, other->deprecated_);
   5410     std::swap(experimental_map_key_, other->experimental_map_key_);
   5411     uninterpreted_option_.Swap(&other->uninterpreted_option_);
   5412     std::swap(_has_bits_[0], other->_has_bits_[0]);
   5413     _unknown_fields_.Swap(&other->_unknown_fields_);
   5414     std::swap(_cached_size_, other->_cached_size_);
   5415     _extensions_.Swap(&other->_extensions_);
   5416   }
   5417 }
   5418 
   5419 ::google::protobuf::Metadata FieldOptions::GetMetadata() const {
   5420   protobuf_AssignDescriptorsOnce();
   5421   ::google::protobuf::Metadata metadata;
   5422   metadata.descriptor = FieldOptions_descriptor_;
   5423   metadata.reflection = FieldOptions_reflection_;
   5424   return metadata;
   5425 }
   5426 
   5427 
   5428 // ===================================================================
   5429 
   5430 #ifndef _MSC_VER
   5431 const int EnumOptions::kUninterpretedOptionFieldNumber;
   5432 #endif  // !_MSC_VER
   5433 
   5434 EnumOptions::EnumOptions()
   5435   : ::google::protobuf::Message() {
   5436   SharedCtor();
   5437 }
   5438 
   5439 void EnumOptions::InitAsDefaultInstance() {
   5440 }
   5441 
   5442 EnumOptions::EnumOptions(const EnumOptions& from)
   5443   : ::google::protobuf::Message() {
   5444   SharedCtor();
   5445   MergeFrom(from);
   5446 }
   5447 
   5448 void EnumOptions::SharedCtor() {
   5449   _cached_size_ = 0;
   5450   ::memset(_has_bits_, 0, sizeof(_has_bits_));
   5451 }
   5452 
   5453 EnumOptions::~EnumOptions() {
   5454   SharedDtor();
   5455 }
   5456 
   5457 void EnumOptions::SharedDtor() {
   5458   if (this != default_instance_) {
   5459   }
   5460 }
   5461 
   5462 void EnumOptions::SetCachedSize(int size) const {
   5463   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   5464   _cached_size_ = size;
   5465   GOOGLE_SAFE_CONCURRENT_WRITES_END();
   5466 }
   5467 const ::google::protobuf::Descriptor* EnumOptions::descriptor() {
   5468   protobuf_AssignDescriptorsOnce();
   5469   return EnumOptions_descriptor_;
   5470 }
   5471 
   5472 const EnumOptions& EnumOptions::default_instance() {
   5473   if (default_instance_ == NULL) protobuf_AddDesc_google_2fprotobuf_2fdescriptor_2eproto();  return *default_instance_;
   5474 }
   5475 
   5476 EnumOptions* EnumOptions::default_instance_ = NULL;
   5477 
   5478 EnumOptions* EnumOptions::New() const {
   5479   return new EnumOptions;
   5480 }
   5481 
   5482 void EnumOptions::Clear() {
   5483   _extensions_.Clear();
   5484   uninterpreted_option_.Clear();
   5485   ::memset(_has_bits_, 0, sizeof(_has_bits_));
   5486   mutable_unknown_fields()->Clear();
   5487 }
   5488 
   5489 bool EnumOptions::MergePartialFromCodedStream(
   5490     ::google::protobuf::io::CodedInputStream* input) {
   5491 #define DO_(EXPRESSION) if (!(EXPRESSION)) return false
   5492   ::google::protobuf::uint32 tag;
   5493   while ((tag = input->ReadTag()) != 0) {
   5494     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
   5495       // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
   5496       case 999: {
   5497         if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
   5498             ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
   5499          parse_uninterpreted_option:
   5500           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
   5501                 input, add_uninterpreted_option()));
   5502         } else {
   5503           goto handle_uninterpreted;
   5504         }
   5505         if (input->ExpectTag(7994)) goto parse_uninterpreted_option;
   5506         if (input->ExpectAtEnd()) return true;
   5507         break;
   5508       }
   5509 
   5510       default: {
   5511       handle_uninterpreted:
   5512         if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
   5513             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
   5514           return true;
   5515         }
   5516         if ((8000u <= tag)) {
   5517           DO_(_extensions_.ParseField(tag, input, default_instance_,
   5518                                       mutable_unknown_fields()));
   5519           continue;
   5520         }
   5521         DO_(::google::protobuf::internal::WireFormat::SkipField(
   5522               input, tag, mutable_unknown_fields()));
   5523         break;
   5524       }
   5525     }
   5526   }
   5527   return true;
   5528 #undef DO_
   5529 }
   5530 
   5531 void EnumOptions::SerializeWithCachedSizes(
   5532     ::google::protobuf::io::CodedOutputStream* output) const {
   5533   // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
   5534   for (int i = 0; i < this->uninterpreted_option_size(); i++) {
   5535     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
   5536       999, this->uninterpreted_option(i), output);
   5537   }
   5538 
   5539   // Extension range [1000, 536870912)
   5540   _extensions_.SerializeWithCachedSizes(
   5541       1000, 536870912, output);
   5542 
   5543   if (!unknown_fields().empty()) {
   5544     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
   5545         unknown_fields(), output);
   5546   }
   5547 }
   5548 
   5549 ::google::protobuf::uint8* EnumOptions::SerializeWithCachedSizesToArray(
   5550     ::google::protobuf::uint8* target) const {
   5551   // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
   5552   for (int i = 0; i < this->uninterpreted_option_size(); i++) {
   5553     target = ::google::protobuf::internal::WireFormatLite::
   5554       WriteMessageNoVirtualToArray(
   5555         999, this->uninterpreted_option(i), target);
   5556   }
   5557 
   5558   // Extension range [1000, 536870912)
   5559   target = _extensions_.SerializeWithCachedSizesToArray(
   5560       1000, 536870912, target);
   5561 
   5562   if (!unknown_fields().empty()) {
   5563     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
   5564         unknown_fields(), target);
   5565   }
   5566   return target;
   5567 }
   5568 
   5569 int EnumOptions::ByteSize() const {
   5570   int total_size = 0;
   5571 
   5572   // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
   5573   total_size += 2 * this->uninterpreted_option_size();
   5574   for (int i = 0; i < this->uninterpreted_option_size(); i++) {
   5575     total_size +=
   5576       ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
   5577         this->uninterpreted_option(i));
   5578   }
   5579 
   5580   total_size += _extensions_.ByteSize();
   5581 
   5582   if (!unknown_fields().empty()) {
   5583     total_size +=
   5584       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
   5585         unknown_fields());
   5586   }
   5587   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   5588   _cached_size_ = total_size;
   5589   GOOGLE_SAFE_CONCURRENT_WRITES_END();
   5590   return total_size;
   5591 }
   5592 
   5593 void EnumOptions::MergeFrom(const ::google::protobuf::Message& from) {
   5594   GOOGLE_CHECK_NE(&from, this);
   5595   const EnumOptions* source =
   5596     ::google::protobuf::internal::dynamic_cast_if_available<const EnumOptions*>(
   5597       &from);
   5598   if (source == NULL) {
   5599     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
   5600   } else {
   5601     MergeFrom(*source);
   5602   }
   5603 }
   5604 
   5605 void EnumOptions::MergeFrom(const EnumOptions& from) {
   5606   GOOGLE_CHECK_NE(&from, this);
   5607   uninterpreted_option_.MergeFrom(from.uninterpreted_option_);
   5608   _extensions_.MergeFrom(from._extensions_);
   5609   mutable_unknown_fields()->MergeFrom(from.unknown_fields());
   5610 }
   5611 
   5612 void EnumOptions::CopyFrom(const ::google::protobuf::Message& from) {
   5613   if (&from == this) return;
   5614   Clear();
   5615   MergeFrom(from);
   5616 }
   5617 
   5618 void EnumOptions::CopyFrom(const EnumOptions& from) {
   5619   if (&from == this) return;
   5620   Clear();
   5621   MergeFrom(from);
   5622 }
   5623 
   5624 bool EnumOptions::IsInitialized() const {
   5625 
   5626   for (int i = 0; i < uninterpreted_option_size(); i++) {
   5627     if (!this->uninterpreted_option(i).IsInitialized()) return false;
   5628   }
   5629 
   5630   if (!_extensions_.IsInitialized()) return false;  return true;
   5631 }
   5632 
   5633 void EnumOptions::Swap(EnumOptions* other) {
   5634   if (other != this) {
   5635     uninterpreted_option_.Swap(&other->uninterpreted_option_);
   5636     std::swap(_has_bits_[0], other->_has_bits_[0]);
   5637     _unknown_fields_.Swap(&other->_unknown_fields_);
   5638     std::swap(_cached_size_, other->_cached_size_);
   5639     _extensions_.Swap(&other->_extensions_);
   5640   }
   5641 }
   5642 
   5643 ::google::protobuf::Metadata EnumOptions::GetMetadata() const {
   5644   protobuf_AssignDescriptorsOnce();
   5645   ::google::protobuf::Metadata metadata;
   5646   metadata.descriptor = EnumOptions_descriptor_;
   5647   metadata.reflection = EnumOptions_reflection_;
   5648   return metadata;
   5649 }
   5650 
   5651 
   5652 // ===================================================================
   5653 
   5654 #ifndef _MSC_VER
   5655 const int EnumValueOptions::kUninterpretedOptionFieldNumber;
   5656 #endif  // !_MSC_VER
   5657 
   5658 EnumValueOptions::EnumValueOptions()
   5659   : ::google::protobuf::Message() {
   5660   SharedCtor();
   5661 }
   5662 
   5663 void EnumValueOptions::InitAsDefaultInstance() {
   5664 }
   5665 
   5666 EnumValueOptions::EnumValueOptions(const EnumValueOptions& from)
   5667   : ::google::protobuf::Message() {
   5668   SharedCtor();
   5669   MergeFrom(from);
   5670 }
   5671 
   5672 void EnumValueOptions::SharedCtor() {
   5673   _cached_size_ = 0;
   5674   ::memset(_has_bits_, 0, sizeof(_has_bits_));
   5675 }
   5676 
   5677 EnumValueOptions::~EnumValueOptions() {
   5678   SharedDtor();
   5679 }
   5680 
   5681 void EnumValueOptions::SharedDtor() {
   5682   if (this != default_instance_) {
   5683   }
   5684 }
   5685 
   5686 void EnumValueOptions::SetCachedSize(int size) const {
   5687   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   5688   _cached_size_ = size;
   5689   GOOGLE_SAFE_CONCURRENT_WRITES_END();
   5690 }
   5691 const ::google::protobuf::Descriptor* EnumValueOptions::descriptor() {
   5692   protobuf_AssignDescriptorsOnce();
   5693   return EnumValueOptions_descriptor_;
   5694 }
   5695 
   5696 const EnumValueOptions& EnumValueOptions::default_instance() {
   5697   if (default_instance_ == NULL) protobuf_AddDesc_google_2fprotobuf_2fdescriptor_2eproto();  return *default_instance_;
   5698 }
   5699 
   5700 EnumValueOptions* EnumValueOptions::default_instance_ = NULL;
   5701 
   5702 EnumValueOptions* EnumValueOptions::New() const {
   5703   return new EnumValueOptions;
   5704 }
   5705 
   5706 void EnumValueOptions::Clear() {
   5707   _extensions_.Clear();
   5708   uninterpreted_option_.Clear();
   5709   ::memset(_has_bits_, 0, sizeof(_has_bits_));
   5710   mutable_unknown_fields()->Clear();
   5711 }
   5712 
   5713 bool EnumValueOptions::MergePartialFromCodedStream(
   5714     ::google::protobuf::io::CodedInputStream* input) {
   5715 #define DO_(EXPRESSION) if (!(EXPRESSION)) return false
   5716   ::google::protobuf::uint32 tag;
   5717   while ((tag = input->ReadTag()) != 0) {
   5718     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
   5719       // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
   5720       case 999: {
   5721         if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
   5722             ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
   5723          parse_uninterpreted_option:
   5724           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
   5725                 input, add_uninterpreted_option()));
   5726         } else {
   5727           goto handle_uninterpreted;
   5728         }
   5729         if (input->ExpectTag(7994)) goto parse_uninterpreted_option;
   5730         if (input->ExpectAtEnd()) return true;
   5731         break;
   5732       }
   5733 
   5734       default: {
   5735       handle_uninterpreted:
   5736         if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
   5737             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
   5738           return true;
   5739         }
   5740         if ((8000u <= tag)) {
   5741           DO_(_extensions_.ParseField(tag, input, default_instance_,
   5742                                       mutable_unknown_fields()));
   5743           continue;
   5744         }
   5745         DO_(::google::protobuf::internal::WireFormat::SkipField(
   5746               input, tag, mutable_unknown_fields()));
   5747         break;
   5748       }
   5749     }
   5750   }
   5751   return true;
   5752 #undef DO_
   5753 }
   5754 
   5755 void EnumValueOptions::SerializeWithCachedSizes(
   5756     ::google::protobuf::io::CodedOutputStream* output) const {
   5757   // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
   5758   for (int i = 0; i < this->uninterpreted_option_size(); i++) {
   5759     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
   5760       999, this->uninterpreted_option(i), output);
   5761   }
   5762 
   5763   // Extension range [1000, 536870912)
   5764   _extensions_.SerializeWithCachedSizes(
   5765       1000, 536870912, output);
   5766 
   5767   if (!unknown_fields().empty()) {
   5768     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
   5769         unknown_fields(), output);
   5770   }
   5771 }
   5772 
   5773 ::google::protobuf::uint8* EnumValueOptions::SerializeWithCachedSizesToArray(
   5774     ::google::protobuf::uint8* target) const {
   5775   // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
   5776   for (int i = 0; i < this->uninterpreted_option_size(); i++) {
   5777     target = ::google::protobuf::internal::WireFormatLite::
   5778       WriteMessageNoVirtualToArray(
   5779         999, this->uninterpreted_option(i), target);
   5780   }
   5781 
   5782   // Extension range [1000, 536870912)
   5783   target = _extensions_.SerializeWithCachedSizesToArray(
   5784       1000, 536870912, target);
   5785 
   5786   if (!unknown_fields().empty()) {
   5787     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
   5788         unknown_fields(), target);
   5789   }
   5790   return target;
   5791 }
   5792 
   5793 int EnumValueOptions::ByteSize() const {
   5794   int total_size = 0;
   5795 
   5796   // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
   5797   total_size += 2 * this->uninterpreted_option_size();
   5798   for (int i = 0; i < this->uninterpreted_option_size(); i++) {
   5799     total_size +=
   5800       ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
   5801         this->uninterpreted_option(i));
   5802   }
   5803 
   5804   total_size += _extensions_.ByteSize();
   5805 
   5806   if (!unknown_fields().empty()) {
   5807     total_size +=
   5808       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
   5809         unknown_fields());
   5810   }
   5811   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   5812   _cached_size_ = total_size;
   5813   GOOGLE_SAFE_CONCURRENT_WRITES_END();
   5814   return total_size;
   5815 }
   5816 
   5817 void EnumValueOptions::MergeFrom(const ::google::protobuf::Message& from) {
   5818   GOOGLE_CHECK_NE(&from, this);
   5819   const EnumValueOptions* source =
   5820     ::google::protobuf::internal::dynamic_cast_if_available<const EnumValueOptions*>(
   5821       &from);
   5822   if (source == NULL) {
   5823     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
   5824   } else {
   5825     MergeFrom(*source);
   5826   }
   5827 }
   5828 
   5829 void EnumValueOptions::MergeFrom(const EnumValueOptions& from) {
   5830   GOOGLE_CHECK_NE(&from, this);
   5831   uninterpreted_option_.MergeFrom(from.uninterpreted_option_);
   5832   _extensions_.MergeFrom(from._extensions_);
   5833   mutable_unknown_fields()->MergeFrom(from.unknown_fields());
   5834 }
   5835 
   5836 void EnumValueOptions::CopyFrom(const ::google::protobuf::Message& from) {
   5837   if (&from == this) return;
   5838   Clear();
   5839   MergeFrom(from);
   5840 }
   5841 
   5842 void EnumValueOptions::CopyFrom(const EnumValueOptions& from) {
   5843   if (&from == this) return;
   5844   Clear();
   5845   MergeFrom(from);
   5846 }
   5847 
   5848 bool EnumValueOptions::IsInitialized() const {
   5849 
   5850   for (int i = 0; i < uninterpreted_option_size(); i++) {
   5851     if (!this->uninterpreted_option(i).IsInitialized()) return false;
   5852   }
   5853 
   5854   if (!_extensions_.IsInitialized()) return false;  return true;
   5855 }
   5856 
   5857 void EnumValueOptions::Swap(EnumValueOptions* other) {
   5858   if (other != this) {
   5859     uninterpreted_option_.Swap(&other->uninterpreted_option_);
   5860     std::swap(_has_bits_[0], other->_has_bits_[0]);
   5861     _unknown_fields_.Swap(&other->_unknown_fields_);
   5862     std::swap(_cached_size_, other->_cached_size_);
   5863     _extensions_.Swap(&other->_extensions_);
   5864   }
   5865 }
   5866 
   5867 ::google::protobuf::Metadata EnumValueOptions::GetMetadata() const {
   5868   protobuf_AssignDescriptorsOnce();
   5869   ::google::protobuf::Metadata metadata;
   5870   metadata.descriptor = EnumValueOptions_descriptor_;
   5871   metadata.reflection = EnumValueOptions_reflection_;
   5872   return metadata;
   5873 }
   5874 
   5875 
   5876 // ===================================================================
   5877 
   5878 #ifndef _MSC_VER
   5879 const int ServiceOptions::kUninterpretedOptionFieldNumber;
   5880 #endif  // !_MSC_VER
   5881 
   5882 ServiceOptions::ServiceOptions()
   5883   : ::google::protobuf::Message() {
   5884   SharedCtor();
   5885 }
   5886 
   5887 void ServiceOptions::InitAsDefaultInstance() {
   5888 }
   5889 
   5890 ServiceOptions::ServiceOptions(const ServiceOptions& from)
   5891   : ::google::protobuf::Message() {
   5892   SharedCtor();
   5893   MergeFrom(from);
   5894 }
   5895 
   5896 void ServiceOptions::SharedCtor() {
   5897   _cached_size_ = 0;
   5898   ::memset(_has_bits_, 0, sizeof(_has_bits_));
   5899 }
   5900 
   5901 ServiceOptions::~ServiceOptions() {
   5902   SharedDtor();
   5903 }
   5904 
   5905 void ServiceOptions::SharedDtor() {
   5906   if (this != default_instance_) {
   5907   }
   5908 }
   5909 
   5910 void ServiceOptions::SetCachedSize(int size) const {
   5911   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   5912   _cached_size_ = size;
   5913   GOOGLE_SAFE_CONCURRENT_WRITES_END();
   5914 }
   5915 const ::google::protobuf::Descriptor* ServiceOptions::descriptor() {
   5916   protobuf_AssignDescriptorsOnce();
   5917   return ServiceOptions_descriptor_;
   5918 }
   5919 
   5920 const ServiceOptions& ServiceOptions::default_instance() {
   5921   if (default_instance_ == NULL) protobuf_AddDesc_google_2fprotobuf_2fdescriptor_2eproto();  return *default_instance_;
   5922 }
   5923 
   5924 ServiceOptions* ServiceOptions::default_instance_ = NULL;
   5925 
   5926 ServiceOptions* ServiceOptions::New() const {
   5927   return new ServiceOptions;
   5928 }
   5929 
   5930 void ServiceOptions::Clear() {
   5931   _extensions_.Clear();
   5932   uninterpreted_option_.Clear();
   5933   ::memset(_has_bits_, 0, sizeof(_has_bits_));
   5934   mutable_unknown_fields()->Clear();
   5935 }
   5936 
   5937 bool ServiceOptions::MergePartialFromCodedStream(
   5938     ::google::protobuf::io::CodedInputStream* input) {
   5939 #define DO_(EXPRESSION) if (!(EXPRESSION)) return false
   5940   ::google::protobuf::uint32 tag;
   5941   while ((tag = input->ReadTag()) != 0) {
   5942     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
   5943       // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
   5944       case 999: {
   5945         if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
   5946             ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
   5947          parse_uninterpreted_option:
   5948           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
   5949                 input, add_uninterpreted_option()));
   5950         } else {
   5951           goto handle_uninterpreted;
   5952         }
   5953         if (input->ExpectTag(7994)) goto parse_uninterpreted_option;
   5954         if (input->ExpectAtEnd()) return true;
   5955         break;
   5956       }
   5957 
   5958       default: {
   5959       handle_uninterpreted:
   5960         if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
   5961             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
   5962           return true;
   5963         }
   5964         if ((8000u <= tag)) {
   5965           DO_(_extensions_.ParseField(tag, input, default_instance_,
   5966                                       mutable_unknown_fields()));
   5967           continue;
   5968         }
   5969         DO_(::google::protobuf::internal::WireFormat::SkipField(
   5970               input, tag, mutable_unknown_fields()));
   5971         break;
   5972       }
   5973     }
   5974   }
   5975   return true;
   5976 #undef DO_
   5977 }
   5978 
   5979 void ServiceOptions::SerializeWithCachedSizes(
   5980     ::google::protobuf::io::CodedOutputStream* output) const {
   5981   // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
   5982   for (int i = 0; i < this->uninterpreted_option_size(); i++) {
   5983     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
   5984       999, this->uninterpreted_option(i), output);
   5985   }
   5986 
   5987   // Extension range [1000, 536870912)
   5988   _extensions_.SerializeWithCachedSizes(
   5989       1000, 536870912, output);
   5990 
   5991   if (!unknown_fields().empty()) {
   5992     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
   5993         unknown_fields(), output);
   5994   }
   5995 }
   5996 
   5997 ::google::protobuf::uint8* ServiceOptions::SerializeWithCachedSizesToArray(
   5998     ::google::protobuf::uint8* target) const {
   5999   // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
   6000   for (int i = 0; i < this->uninterpreted_option_size(); i++) {
   6001     target = ::google::protobuf::internal::WireFormatLite::
   6002       WriteMessageNoVirtualToArray(
   6003         999, this->uninterpreted_option(i), target);
   6004   }
   6005 
   6006   // Extension range [1000, 536870912)
   6007   target = _extensions_.SerializeWithCachedSizesToArray(
   6008       1000, 536870912, target);
   6009 
   6010   if (!unknown_fields().empty()) {
   6011     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
   6012         unknown_fields(), target);
   6013   }
   6014   return target;
   6015 }
   6016 
   6017 int ServiceOptions::ByteSize() const {
   6018   int total_size = 0;
   6019 
   6020   // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
   6021   total_size += 2 * this->uninterpreted_option_size();
   6022   for (int i = 0; i < this->uninterpreted_option_size(); i++) {
   6023     total_size +=
   6024       ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
   6025         this->uninterpreted_option(i));
   6026   }
   6027 
   6028   total_size += _extensions_.ByteSize();
   6029 
   6030   if (!unknown_fields().empty()) {
   6031     total_size +=
   6032       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
   6033         unknown_fields());
   6034   }
   6035   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   6036   _cached_size_ = total_size;
   6037   GOOGLE_SAFE_CONCURRENT_WRITES_END();
   6038   return total_size;
   6039 }
   6040 
   6041 void ServiceOptions::MergeFrom(const ::google::protobuf::Message& from) {
   6042   GOOGLE_CHECK_NE(&from, this);
   6043   const ServiceOptions* source =
   6044     ::google::protobuf::internal::dynamic_cast_if_available<const ServiceOptions*>(
   6045       &from);
   6046   if (source == NULL) {
   6047     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
   6048   } else {
   6049     MergeFrom(*source);
   6050   }
   6051 }
   6052 
   6053 void ServiceOptions::MergeFrom(const ServiceOptions& from) {
   6054   GOOGLE_CHECK_NE(&from, this);
   6055   uninterpreted_option_.MergeFrom(from.uninterpreted_option_);
   6056   _extensions_.MergeFrom(from._extensions_);
   6057   mutable_unknown_fields()->MergeFrom(from.unknown_fields());
   6058 }
   6059 
   6060 void ServiceOptions::CopyFrom(const ::google::protobuf::Message& from) {
   6061   if (&from == this) return;
   6062   Clear();
   6063   MergeFrom(from);
   6064 }
   6065 
   6066 void ServiceOptions::CopyFrom(const ServiceOptions& from) {
   6067   if (&from == this) return;
   6068   Clear();
   6069   MergeFrom(from);
   6070 }
   6071 
   6072 bool ServiceOptions::IsInitialized() const {
   6073 
   6074   for (int i = 0; i < uninterpreted_option_size(); i++) {
   6075     if (!this->uninterpreted_option(i).IsInitialized()) return false;
   6076   }
   6077 
   6078   if (!_extensions_.IsInitialized()) return false;  return true;
   6079 }
   6080 
   6081 void ServiceOptions::Swap(ServiceOptions* other) {
   6082   if (other != this) {
   6083     uninterpreted_option_.Swap(&other->uninterpreted_option_);
   6084     std::swap(_has_bits_[0], other->_has_bits_[0]);
   6085     _unknown_fields_.Swap(&other->_unknown_fields_);
   6086     std::swap(_cached_size_, other->_cached_size_);
   6087     _extensions_.Swap(&other->_extensions_);
   6088   }
   6089 }
   6090 
   6091 ::google::protobuf::Metadata ServiceOptions::GetMetadata() const {
   6092   protobuf_AssignDescriptorsOnce();
   6093   ::google::protobuf::Metadata metadata;
   6094   metadata.descriptor = ServiceOptions_descriptor_;
   6095   metadata.reflection = ServiceOptions_reflection_;
   6096   return metadata;
   6097 }
   6098 
   6099 
   6100 // ===================================================================
   6101 
   6102 #ifndef _MSC_VER
   6103 const int MethodOptions::kUninterpretedOptionFieldNumber;
   6104 #endif  // !_MSC_VER
   6105 
   6106 MethodOptions::MethodOptions()
   6107   : ::google::protobuf::Message() {
   6108   SharedCtor();
   6109 }
   6110 
   6111 void MethodOptions::InitAsDefaultInstance() {
   6112 }
   6113 
   6114 MethodOptions::MethodOptions(const MethodOptions& from)
   6115   : ::google::protobuf::Message() {
   6116   SharedCtor();
   6117   MergeFrom(from);
   6118 }
   6119 
   6120 void MethodOptions::SharedCtor() {
   6121   _cached_size_ = 0;
   6122   ::memset(_has_bits_, 0, sizeof(_has_bits_));
   6123 }
   6124 
   6125 MethodOptions::~MethodOptions() {
   6126   SharedDtor();
   6127 }
   6128 
   6129 void MethodOptions::SharedDtor() {
   6130   if (this != default_instance_) {
   6131   }
   6132 }
   6133 
   6134 void MethodOptions::SetCachedSize(int size) const {
   6135   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   6136   _cached_size_ = size;
   6137   GOOGLE_SAFE_CONCURRENT_WRITES_END();
   6138 }
   6139 const ::google::protobuf::Descriptor* MethodOptions::descriptor() {
   6140   protobuf_AssignDescriptorsOnce();
   6141   return MethodOptions_descriptor_;
   6142 }
   6143 
   6144 const MethodOptions& MethodOptions::default_instance() {
   6145   if (default_instance_ == NULL) protobuf_AddDesc_google_2fprotobuf_2fdescriptor_2eproto();  return *default_instance_;
   6146 }
   6147 
   6148 MethodOptions* MethodOptions::default_instance_ = NULL;
   6149 
   6150 MethodOptions* MethodOptions::New() const {
   6151   return new MethodOptions;
   6152 }
   6153 
   6154 void MethodOptions::Clear() {
   6155   _extensions_.Clear();
   6156   uninterpreted_option_.Clear();
   6157   ::memset(_has_bits_, 0, sizeof(_has_bits_));
   6158   mutable_unknown_fields()->Clear();
   6159 }
   6160 
   6161 bool MethodOptions::MergePartialFromCodedStream(
   6162     ::google::protobuf::io::CodedInputStream* input) {
   6163 #define DO_(EXPRESSION) if (!(EXPRESSION)) return false
   6164   ::google::protobuf::uint32 tag;
   6165   while ((tag = input->ReadTag()) != 0) {
   6166     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
   6167       // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
   6168       case 999: {
   6169         if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
   6170             ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
   6171          parse_uninterpreted_option:
   6172           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
   6173                 input, add_uninterpreted_option()));
   6174         } else {
   6175           goto handle_uninterpreted;
   6176         }
   6177         if (input->ExpectTag(7994)) goto parse_uninterpreted_option;
   6178         if (input->ExpectAtEnd()) return true;
   6179         break;
   6180       }
   6181 
   6182       default: {
   6183       handle_uninterpreted:
   6184         if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
   6185             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
   6186           return true;
   6187         }
   6188         if ((8000u <= tag)) {
   6189           DO_(_extensions_.ParseField(tag, input, default_instance_,
   6190                                       mutable_unknown_fields()));
   6191           continue;
   6192         }
   6193         DO_(::google::protobuf::internal::WireFormat::SkipField(
   6194               input, tag, mutable_unknown_fields()));
   6195         break;
   6196       }
   6197     }
   6198   }
   6199   return true;
   6200 #undef DO_
   6201 }
   6202 
   6203 void MethodOptions::SerializeWithCachedSizes(
   6204     ::google::protobuf::io::CodedOutputStream* output) const {
   6205   // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
   6206   for (int i = 0; i < this->uninterpreted_option_size(); i++) {
   6207     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
   6208       999, this->uninterpreted_option(i), output);
   6209   }
   6210 
   6211   // Extension range [1000, 536870912)
   6212   _extensions_.SerializeWithCachedSizes(
   6213       1000, 536870912, output);
   6214 
   6215   if (!unknown_fields().empty()) {
   6216     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
   6217         unknown_fields(), output);
   6218   }
   6219 }
   6220 
   6221 ::google::protobuf::uint8* MethodOptions::SerializeWithCachedSizesToArray(
   6222     ::google::protobuf::uint8* target) const {
   6223   // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
   6224   for (int i = 0; i < this->uninterpreted_option_size(); i++) {
   6225     target = ::google::protobuf::internal::WireFormatLite::
   6226       WriteMessageNoVirtualToArray(
   6227         999, this->uninterpreted_option(i), target);
   6228   }
   6229 
   6230   // Extension range [1000, 536870912)
   6231   target = _extensions_.SerializeWithCachedSizesToArray(
   6232       1000, 536870912, target);
   6233 
   6234   if (!unknown_fields().empty()) {
   6235     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
   6236         unknown_fields(), target);
   6237   }
   6238   return target;
   6239 }
   6240 
   6241 int MethodOptions::ByteSize() const {
   6242   int total_size = 0;
   6243 
   6244   // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
   6245   total_size += 2 * this->uninterpreted_option_size();
   6246   for (int i = 0; i < this->uninterpreted_option_size(); i++) {
   6247     total_size +=
   6248       ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
   6249         this->uninterpreted_option(i));
   6250   }
   6251 
   6252   total_size += _extensions_.ByteSize();
   6253 
   6254   if (!unknown_fields().empty()) {
   6255     total_size +=
   6256       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
   6257         unknown_fields());
   6258   }
   6259   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   6260   _cached_size_ = total_size;
   6261   GOOGLE_SAFE_CONCURRENT_WRITES_END();
   6262   return total_size;
   6263 }
   6264 
   6265 void MethodOptions::MergeFrom(const ::google::protobuf::Message& from) {
   6266   GOOGLE_CHECK_NE(&from, this);
   6267   const MethodOptions* source =
   6268     ::google::protobuf::internal::dynamic_cast_if_available<const MethodOptions*>(
   6269       &from);
   6270   if (source == NULL) {
   6271     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
   6272   } else {
   6273     MergeFrom(*source);
   6274   }
   6275 }
   6276 
   6277 void MethodOptions::MergeFrom(const MethodOptions& from) {
   6278   GOOGLE_CHECK_NE(&from, this);
   6279   uninterpreted_option_.MergeFrom(from.uninterpreted_option_);
   6280   _extensions_.MergeFrom(from._extensions_);
   6281   mutable_unknown_fields()->MergeFrom(from.unknown_fields());
   6282 }
   6283 
   6284 void MethodOptions::CopyFrom(const ::google::protobuf::Message& from) {
   6285   if (&from == this) return;
   6286   Clear();
   6287   MergeFrom(from);
   6288 }
   6289 
   6290 void MethodOptions::CopyFrom(const MethodOptions& from) {
   6291   if (&from == this) return;
   6292   Clear();
   6293   MergeFrom(from);
   6294 }
   6295 
   6296 bool MethodOptions::IsInitialized() const {
   6297 
   6298   for (int i = 0; i < uninterpreted_option_size(); i++) {
   6299     if (!this->uninterpreted_option(i).IsInitialized()) return false;
   6300   }
   6301 
   6302   if (!_extensions_.IsInitialized()) return false;  return true;
   6303 }
   6304 
   6305 void MethodOptions::Swap(MethodOptions* other) {
   6306   if (other != this) {
   6307     uninterpreted_option_.Swap(&other->uninterpreted_option_);
   6308     std::swap(_has_bits_[0], other->_has_bits_[0]);
   6309     _unknown_fields_.Swap(&other->_unknown_fields_);
   6310     std::swap(_cached_size_, other->_cached_size_);
   6311     _extensions_.Swap(&other->_extensions_);
   6312   }
   6313 }
   6314 
   6315 ::google::protobuf::Metadata MethodOptions::GetMetadata() const {
   6316   protobuf_AssignDescriptorsOnce();
   6317   ::google::protobuf::Metadata metadata;
   6318   metadata.descriptor = MethodOptions_descriptor_;
   6319   metadata.reflection = MethodOptions_reflection_;
   6320   return metadata;
   6321 }
   6322 
   6323 
   6324 // ===================================================================
   6325 
   6326 const ::std::string UninterpretedOption_NamePart::_default_name_part_;
   6327 #ifndef _MSC_VER
   6328 const int UninterpretedOption_NamePart::kNamePartFieldNumber;
   6329 const int UninterpretedOption_NamePart::kIsExtensionFieldNumber;
   6330 #endif  // !_MSC_VER
   6331 
   6332 UninterpretedOption_NamePart::UninterpretedOption_NamePart()
   6333   : ::google::protobuf::Message() {
   6334   SharedCtor();
   6335 }
   6336 
   6337 void UninterpretedOption_NamePart::InitAsDefaultInstance() {
   6338 }
   6339 
   6340 UninterpretedOption_NamePart::UninterpretedOption_NamePart(const UninterpretedOption_NamePart& from)
   6341   : ::google::protobuf::Message() {
   6342   SharedCtor();
   6343   MergeFrom(from);
   6344 }
   6345 
   6346 void UninterpretedOption_NamePart::SharedCtor() {
   6347   _cached_size_ = 0;
   6348   name_part_ = const_cast< ::std::string*>(&_default_name_part_);
   6349   is_extension_ = false;
   6350   ::memset(_has_bits_, 0, sizeof(_has_bits_));
   6351 }
   6352 
   6353 UninterpretedOption_NamePart::~UninterpretedOption_NamePart() {
   6354   SharedDtor();
   6355 }
   6356 
   6357 void UninterpretedOption_NamePart::SharedDtor() {
   6358   if (name_part_ != &_default_name_part_) {
   6359     delete name_part_;
   6360   }
   6361   if (this != default_instance_) {
   6362   }
   6363 }
   6364 
   6365 void UninterpretedOption_NamePart::SetCachedSize(int size) const {
   6366   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   6367   _cached_size_ = size;
   6368   GOOGLE_SAFE_CONCURRENT_WRITES_END();
   6369 }
   6370 const ::google::protobuf::Descriptor* UninterpretedOption_NamePart::descriptor() {
   6371   protobuf_AssignDescriptorsOnce();
   6372   return UninterpretedOption_NamePart_descriptor_;
   6373 }
   6374 
   6375 const UninterpretedOption_NamePart& UninterpretedOption_NamePart::default_instance() {
   6376   if (default_instance_ == NULL) protobuf_AddDesc_google_2fprotobuf_2fdescriptor_2eproto();  return *default_instance_;
   6377 }
   6378 
   6379 UninterpretedOption_NamePart* UninterpretedOption_NamePart::default_instance_ = NULL;
   6380 
   6381 UninterpretedOption_NamePart* UninterpretedOption_NamePart::New() const {
   6382   return new UninterpretedOption_NamePart;
   6383 }
   6384 
   6385 void UninterpretedOption_NamePart::Clear() {
   6386   if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
   6387     if (_has_bit(0)) {
   6388       if (name_part_ != &_default_name_part_) {
   6389         name_part_->clear();
   6390       }
   6391     }
   6392     is_extension_ = false;
   6393   }
   6394   ::memset(_has_bits_, 0, sizeof(_has_bits_));
   6395   mutable_unknown_fields()->Clear();
   6396 }
   6397 
   6398 bool UninterpretedOption_NamePart::MergePartialFromCodedStream(
   6399     ::google::protobuf::io::CodedInputStream* input) {
   6400 #define DO_(EXPRESSION) if (!(EXPRESSION)) return false
   6401   ::google::protobuf::uint32 tag;
   6402   while ((tag = input->ReadTag()) != 0) {
   6403     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
   6404       // required string name_part = 1;
   6405       case 1: {
   6406         if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
   6407             ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
   6408           DO_(::google::protobuf::internal::WireFormatLite::ReadString(
   6409                 input, this->mutable_name_part()));
   6410           ::google::protobuf::internal::WireFormat::VerifyUTF8String(
   6411             this->name_part().data(), this->name_part().length(),
   6412             ::google::protobuf::internal::WireFormat::PARSE);
   6413         } else {
   6414           goto handle_uninterpreted;
   6415         }
   6416         if (input->ExpectTag(16)) goto parse_is_extension;
   6417         break;
   6418       }
   6419 
   6420       // required bool is_extension = 2;
   6421       case 2: {
   6422         if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
   6423             ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
   6424          parse_is_extension:
   6425           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
   6426                    bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
   6427                  input, &is_extension_)));
   6428           _set_bit(1);
   6429         } else {
   6430           goto handle_uninterpreted;
   6431         }
   6432         if (input->ExpectAtEnd()) return true;
   6433         break;
   6434       }
   6435 
   6436       default: {
   6437       handle_uninterpreted:
   6438         if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
   6439             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
   6440           return true;
   6441         }
   6442         DO_(::google::protobuf::internal::WireFormat::SkipField(
   6443               input, tag, mutable_unknown_fields()));
   6444         break;
   6445       }
   6446     }
   6447   }
   6448   return true;
   6449 #undef DO_
   6450 }
   6451 
   6452 void UninterpretedOption_NamePart::SerializeWithCachedSizes(
   6453     ::google::protobuf::io::CodedOutputStream* output) const {
   6454   // required string name_part = 1;
   6455   if (_has_bit(0)) {
   6456     ::google::protobuf::internal::WireFormat::VerifyUTF8String(
   6457       this->name_part().data(), this->name_part().length(),
   6458       ::google::protobuf::internal::WireFormat::SERIALIZE);
   6459     ::google::protobuf::internal::WireFormatLite::WriteString(
   6460       1, this->name_part(), output);
   6461   }
   6462 
   6463   // required bool is_extension = 2;
   6464   if (_has_bit(1)) {
   6465     ::google::protobuf::internal::WireFormatLite::WriteBool(2, this->is_extension(), output);
   6466   }
   6467 
   6468   if (!unknown_fields().empty()) {
   6469     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
   6470         unknown_fields(), output);
   6471   }
   6472 }
   6473 
   6474 ::google::protobuf::uint8* UninterpretedOption_NamePart::SerializeWithCachedSizesToArray(
   6475     ::google::protobuf::uint8* target) const {
   6476   // required string name_part = 1;
   6477   if (_has_bit(0)) {
   6478     ::google::protobuf::internal::WireFormat::VerifyUTF8String(
   6479       this->name_part().data(), this->name_part().length(),
   6480       ::google::protobuf::internal::WireFormat::SERIALIZE);
   6481     target =
   6482       ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
   6483         1, this->name_part(), target);
   6484   }
   6485 
   6486   // required bool is_extension = 2;
   6487   if (_has_bit(1)) {
   6488     target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(2, this->is_extension(), target);
   6489   }
   6490 
   6491   if (!unknown_fields().empty()) {
   6492     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
   6493         unknown_fields(), target);
   6494   }
   6495   return target;
   6496 }
   6497 
   6498 int UninterpretedOption_NamePart::ByteSize() const {
   6499   int total_size = 0;
   6500 
   6501   if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
   6502     // required string name_part = 1;
   6503     if (has_name_part()) {
   6504       total_size += 1 +
   6505         ::google::protobuf::internal::WireFormatLite::StringSize(
   6506           this->name_part());
   6507     }
   6508 
   6509     // required bool is_extension = 2;
   6510     if (has_is_extension()) {
   6511       total_size += 1 + 1;
   6512     }
   6513 
   6514   }
   6515   if (!unknown_fields().empty()) {
   6516     total_size +=
   6517       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
   6518         unknown_fields());
   6519   }
   6520   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   6521   _cached_size_ = total_size;
   6522   GOOGLE_SAFE_CONCURRENT_WRITES_END();
   6523   return total_size;
   6524 }
   6525 
   6526 void UninterpretedOption_NamePart::MergeFrom(const ::google::protobuf::Message& from) {
   6527   GOOGLE_CHECK_NE(&from, this);
   6528   const UninterpretedOption_NamePart* source =
   6529     ::google::protobuf::internal::dynamic_cast_if_available<const UninterpretedOption_NamePart*>(
   6530       &from);
   6531   if (source == NULL) {
   6532     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
   6533   } else {
   6534     MergeFrom(*source);
   6535   }
   6536 }
   6537 
   6538 void UninterpretedOption_NamePart::MergeFrom(const UninterpretedOption_NamePart& from) {
   6539   GOOGLE_CHECK_NE(&from, this);
   6540   if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
   6541     if (from._has_bit(0)) {
   6542       set_name_part(from.name_part());
   6543     }
   6544     if (from._has_bit(1)) {
   6545       set_is_extension(from.is_extension());
   6546     }
   6547   }
   6548   mutable_unknown_fields()->MergeFrom(from.unknown_fields());
   6549 }
   6550 
   6551 void UninterpretedOption_NamePart::CopyFrom(const ::google::protobuf::Message& from) {
   6552   if (&from == this) return;
   6553   Clear();
   6554   MergeFrom(from);
   6555 }
   6556 
   6557 void UninterpretedOption_NamePart::CopyFrom(const UninterpretedOption_NamePart& from) {
   6558   if (&from == this) return;
   6559   Clear();
   6560   MergeFrom(from);
   6561 }
   6562 
   6563 bool UninterpretedOption_NamePart::IsInitialized() const {
   6564   if ((_has_bits_[0] & 0x00000003) != 0x00000003) return false;
   6565 
   6566   return true;
   6567 }
   6568 
   6569 void UninterpretedOption_NamePart::Swap(UninterpretedOption_NamePart* other) {
   6570   if (other != this) {
   6571     std::swap(name_part_, other->name_part_);
   6572     std::swap(is_extension_, other->is_extension_);
   6573     std::swap(_has_bits_[0], other->_has_bits_[0]);
   6574     _unknown_fields_.Swap(&other->_unknown_fields_);
   6575     std::swap(_cached_size_, other->_cached_size_);
   6576   }
   6577 }
   6578 
   6579 ::google::protobuf::Metadata UninterpretedOption_NamePart::GetMetadata() const {
   6580   protobuf_AssignDescriptorsOnce();
   6581   ::google::protobuf::Metadata metadata;
   6582   metadata.descriptor = UninterpretedOption_NamePart_descriptor_;
   6583   metadata.reflection = UninterpretedOption_NamePart_reflection_;
   6584   return metadata;
   6585 }
   6586 
   6587 
   6588 // -------------------------------------------------------------------
   6589 
   6590 const ::std::string UninterpretedOption::_default_identifier_value_;
   6591 const ::std::string UninterpretedOption::_default_string_value_;
   6592 #ifndef _MSC_VER
   6593 const int UninterpretedOption::kNameFieldNumber;
   6594 const int UninterpretedOption::kIdentifierValueFieldNumber;
   6595 const int UninterpretedOption::kPositiveIntValueFieldNumber;
   6596 const int UninterpretedOption::kNegativeIntValueFieldNumber;
   6597 const int UninterpretedOption::kDoubleValueFieldNumber;
   6598 const int UninterpretedOption::kStringValueFieldNumber;
   6599 #endif  // !_MSC_VER
   6600 
   6601 UninterpretedOption::UninterpretedOption()
   6602   : ::google::protobuf::Message() {
   6603   SharedCtor();
   6604 }
   6605 
   6606 void UninterpretedOption::InitAsDefaultInstance() {
   6607 }
   6608 
   6609 UninterpretedOption::UninterpretedOption(const UninterpretedOption& from)
   6610   : ::google::protobuf::Message() {
   6611   SharedCtor();
   6612   MergeFrom(from);
   6613 }
   6614 
   6615 void UninterpretedOption::SharedCtor() {
   6616   _cached_size_ = 0;
   6617   identifier_value_ = const_cast< ::std::string*>(&_default_identifier_value_);
   6618   positive_int_value_ = GOOGLE_ULONGLONG(0);
   6619   negative_int_value_ = GOOGLE_LONGLONG(0);
   6620   double_value_ = 0;
   6621   string_value_ = const_cast< ::std::string*>(&_default_string_value_);
   6622   ::memset(_has_bits_, 0, sizeof(_has_bits_));
   6623 }
   6624 
   6625 UninterpretedOption::~UninterpretedOption() {
   6626   SharedDtor();
   6627 }
   6628 
   6629 void UninterpretedOption::SharedDtor() {
   6630   if (identifier_value_ != &_default_identifier_value_) {
   6631     delete identifier_value_;
   6632   }
   6633   if (string_value_ != &_default_string_value_) {
   6634     delete string_value_;
   6635   }
   6636   if (this != default_instance_) {
   6637   }
   6638 }
   6639 
   6640 void UninterpretedOption::SetCachedSize(int size) const {
   6641   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   6642   _cached_size_ = size;
   6643   GOOGLE_SAFE_CONCURRENT_WRITES_END();
   6644 }
   6645 const ::google::protobuf::Descriptor* UninterpretedOption::descriptor() {
   6646   protobuf_AssignDescriptorsOnce();
   6647   return UninterpretedOption_descriptor_;
   6648 }
   6649 
   6650 const UninterpretedOption& UninterpretedOption::default_instance() {
   6651   if (default_instance_ == NULL) protobuf_AddDesc_google_2fprotobuf_2fdescriptor_2eproto();  return *default_instance_;
   6652 }
   6653 
   6654 UninterpretedOption* UninterpretedOption::default_instance_ = NULL;
   6655 
   6656 UninterpretedOption* UninterpretedOption::New() const {
   6657   return new UninterpretedOption;
   6658 }
   6659 
   6660 void UninterpretedOption::Clear() {
   6661   if (_has_bits_[1 / 32] & (0xffu << (1 % 32))) {
   6662     if (_has_bit(1)) {
   6663       if (identifier_value_ != &_default_identifier_value_) {
   6664         identifier_value_->clear();
   6665       }
   6666     }
   6667     positive_int_value_ = GOOGLE_ULONGLONG(0);
   6668     negative_int_value_ = GOOGLE_LONGLONG(0);
   6669     double_value_ = 0;
   6670     if (_has_bit(5)) {
   6671       if (string_value_ != &_default_string_value_) {
   6672         string_value_->clear();
   6673       }
   6674     }
   6675   }
   6676   name_.Clear();
   6677   ::memset(_has_bits_, 0, sizeof(_has_bits_));
   6678   mutable_unknown_fields()->Clear();
   6679 }
   6680 
   6681 bool UninterpretedOption::MergePartialFromCodedStream(
   6682     ::google::protobuf::io::CodedInputStream* input) {
   6683 #define DO_(EXPRESSION) if (!(EXPRESSION)) return false
   6684   ::google::protobuf::uint32 tag;
   6685   while ((tag = input->ReadTag()) != 0) {
   6686     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
   6687       // repeated .google.protobuf.UninterpretedOption.NamePart name = 2;
   6688       case 2: {
   6689         if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
   6690             ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
   6691          parse_name:
   6692           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
   6693                 input, add_name()));
   6694         } else {
   6695           goto handle_uninterpreted;
   6696         }
   6697         if (input->ExpectTag(18)) goto parse_name;
   6698         if (input->ExpectTag(26)) goto parse_identifier_value;
   6699         break;
   6700       }
   6701 
   6702       // optional string identifier_value = 3;
   6703       case 3: {
   6704         if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
   6705             ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
   6706          parse_identifier_value:
   6707           DO_(::google::protobuf::internal::WireFormatLite::ReadString(
   6708                 input, this->mutable_identifier_value()));
   6709           ::google::protobuf::internal::WireFormat::VerifyUTF8String(
   6710             this->identifier_value().data(), this->identifier_value().length(),
   6711             ::google::protobuf::internal::WireFormat::PARSE);
   6712         } else {
   6713           goto handle_uninterpreted;
   6714         }
   6715         if (input->ExpectTag(32)) goto parse_positive_int_value;
   6716         break;
   6717       }
   6718 
   6719       // optional uint64 positive_int_value = 4;
   6720       case 4: {
   6721         if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
   6722             ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
   6723          parse_positive_int_value:
   6724           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
   6725                    ::google::protobuf::uint64, ::google::protobuf::internal::WireFormatLite::TYPE_UINT64>(
   6726                  input, &positive_int_value_)));
   6727           _set_bit(2);
   6728         } else {
   6729           goto handle_uninterpreted;
   6730         }
   6731         if (input->ExpectTag(40)) goto parse_negative_int_value;
   6732         break;
   6733       }
   6734 
   6735       // optional int64 negative_int_value = 5;
   6736       case 5: {
   6737         if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
   6738             ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
   6739          parse_negative_int_value:
   6740           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
   6741                    ::google::protobuf::int64, ::google::protobuf::internal::WireFormatLite::TYPE_INT64>(
   6742                  input, &negative_int_value_)));
   6743           _set_bit(3);
   6744         } else {
   6745           goto handle_uninterpreted;
   6746         }
   6747         if (input->ExpectTag(49)) goto parse_double_value;
   6748         break;
   6749       }
   6750 
   6751       // optional double double_value = 6;
   6752       case 6: {
   6753         if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
   6754             ::google::protobuf::internal::WireFormatLite::WIRETYPE_FIXED64) {
   6755          parse_double_value:
   6756           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
   6757                    double, ::google::protobuf::internal::WireFormatLite::TYPE_DOUBLE>(
   6758                  input, &double_value_)));
   6759           _set_bit(4);
   6760         } else {
   6761           goto handle_uninterpreted;
   6762         }
   6763         if (input->ExpectTag(58)) goto parse_string_value;
   6764         break;
   6765       }
   6766 
   6767       // optional bytes string_value = 7;
   6768       case 7: {
   6769         if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
   6770             ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
   6771          parse_string_value:
   6772           DO_(::google::protobuf::internal::WireFormatLite::ReadBytes(
   6773                 input, this->mutable_string_value()));
   6774         } else {
   6775           goto handle_uninterpreted;
   6776         }
   6777         if (input->ExpectAtEnd()) return true;
   6778         break;
   6779       }
   6780 
   6781       default: {
   6782       handle_uninterpreted:
   6783         if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
   6784             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
   6785           return true;
   6786         }
   6787         DO_(::google::protobuf::internal::WireFormat::SkipField(
   6788               input, tag, mutable_unknown_fields()));
   6789         break;
   6790       }
   6791     }
   6792   }
   6793   return true;
   6794 #undef DO_
   6795 }
   6796 
   6797 void UninterpretedOption::SerializeWithCachedSizes(
   6798     ::google::protobuf::io::CodedOutputStream* output) const {
   6799   // repeated .google.protobuf.UninterpretedOption.NamePart name = 2;
   6800   for (int i = 0; i < this->name_size(); i++) {
   6801     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
   6802       2, this->name(i), output);
   6803   }
   6804 
   6805   // optional string identifier_value = 3;
   6806   if (_has_bit(1)) {
   6807     ::google::protobuf::internal::WireFormat::VerifyUTF8String(
   6808       this->identifier_value().data(), this->identifier_value().length(),
   6809       ::google::protobuf::internal::WireFormat::SERIALIZE);
   6810     ::google::protobuf::internal::WireFormatLite::WriteString(
   6811       3, this->identifier_value(), output);
   6812   }
   6813 
   6814   // optional uint64 positive_int_value = 4;
   6815   if (_has_bit(2)) {
   6816     ::google::protobuf::internal::WireFormatLite::WriteUInt64(4, this->positive_int_value(), output);
   6817   }
   6818 
   6819   // optional int64 negative_int_value = 5;
   6820   if (_has_bit(3)) {
   6821     ::google::protobuf::internal::WireFormatLite::WriteInt64(5, this->negative_int_value(), output);
   6822   }
   6823 
   6824   // optional double double_value = 6;
   6825   if (_has_bit(4)) {
   6826     ::google::protobuf::internal::WireFormatLite::WriteDouble(6, this->double_value(), output);
   6827   }
   6828 
   6829   // optional bytes string_value = 7;
   6830   if (_has_bit(5)) {
   6831     ::google::protobuf::internal::WireFormatLite::WriteBytes(
   6832       7, this->string_value(), output);
   6833   }
   6834 
   6835   if (!unknown_fields().empty()) {
   6836     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
   6837         unknown_fields(), output);
   6838   }
   6839 }
   6840 
   6841 ::google::protobuf::uint8* UninterpretedOption::SerializeWithCachedSizesToArray(
   6842     ::google::protobuf::uint8* target) const {
   6843   // repeated .google.protobuf.UninterpretedOption.NamePart name = 2;
   6844   for (int i = 0; i < this->name_size(); i++) {
   6845     target = ::google::protobuf::internal::WireFormatLite::
   6846       WriteMessageNoVirtualToArray(
   6847         2, this->name(i), target);
   6848   }
   6849 
   6850   // optional string identifier_value = 3;
   6851   if (_has_bit(1)) {
   6852     ::google::protobuf::internal::WireFormat::VerifyUTF8String(
   6853       this->identifier_value().data(), this->identifier_value().length(),
   6854       ::google::protobuf::internal::WireFormat::SERIALIZE);
   6855     target =
   6856       ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
   6857         3, this->identifier_value(), target);
   6858   }
   6859 
   6860   // optional uint64 positive_int_value = 4;
   6861   if (_has_bit(2)) {
   6862     target = ::google::protobuf::internal::WireFormatLite::WriteUInt64ToArray(4, this->positive_int_value(), target);
   6863   }
   6864 
   6865   // optional int64 negative_int_value = 5;
   6866   if (_has_bit(3)) {
   6867     target = ::google::protobuf::internal::WireFormatLite::WriteInt64ToArray(5, this->negative_int_value(), target);
   6868   }
   6869 
   6870   // optional double double_value = 6;
   6871   if (_has_bit(4)) {
   6872     target = ::google::protobuf::internal::WireFormatLite::WriteDoubleToArray(6, this->double_value(), target);
   6873   }
   6874 
   6875   // optional bytes string_value = 7;
   6876   if (_has_bit(5)) {
   6877     target =
   6878       ::google::protobuf::internal::WireFormatLite::WriteBytesToArray(
   6879         7, this->string_value(), target);
   6880   }
   6881 
   6882   if (!unknown_fields().empty()) {
   6883     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
   6884         unknown_fields(), target);
   6885   }
   6886   return target;
   6887 }
   6888 
   6889 int UninterpretedOption::ByteSize() const {
   6890   int total_size = 0;
   6891 
   6892   if (_has_bits_[1 / 32] & (0xffu << (1 % 32))) {
   6893     // optional string identifier_value = 3;
   6894     if (has_identifier_value()) {
   6895       total_size += 1 +
   6896         ::google::protobuf::internal::WireFormatLite::StringSize(
   6897           this->identifier_value());
   6898     }
   6899 
   6900     // optional uint64 positive_int_value = 4;
   6901     if (has_positive_int_value()) {
   6902       total_size += 1 +
   6903         ::google::protobuf::internal::WireFormatLite::UInt64Size(
   6904           this->positive_int_value());
   6905     }
   6906 
   6907     // optional int64 negative_int_value = 5;
   6908     if (has_negative_int_value()) {
   6909       total_size += 1 +
   6910         ::google::protobuf::internal::WireFormatLite::Int64Size(
   6911           this->negative_int_value());
   6912     }
   6913 
   6914     // optional double double_value = 6;
   6915     if (has_double_value()) {
   6916       total_size += 1 + 8;
   6917     }
   6918 
   6919     // optional bytes string_value = 7;
   6920     if (has_string_value()) {
   6921       total_size += 1 +
   6922         ::google::protobuf::internal::WireFormatLite::BytesSize(
   6923           this->string_value());
   6924     }
   6925 
   6926   }
   6927   // repeated .google.protobuf.UninterpretedOption.NamePart name = 2;
   6928   total_size += 1 * this->name_size();
   6929   for (int i = 0; i < this->name_size(); i++) {
   6930     total_size +=
   6931       ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
   6932         this->name(i));
   6933   }
   6934 
   6935   if (!unknown_fields().empty()) {
   6936     total_size +=
   6937       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
   6938         unknown_fields());
   6939   }
   6940   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   6941   _cached_size_ = total_size;
   6942   GOOGLE_SAFE_CONCURRENT_WRITES_END();
   6943   return total_size;
   6944 }
   6945 
   6946 void UninterpretedOption::MergeFrom(const ::google::protobuf::Message& from) {
   6947   GOOGLE_CHECK_NE(&from, this);
   6948   const UninterpretedOption* source =
   6949     ::google::protobuf::internal::dynamic_cast_if_available<const UninterpretedOption*>(
   6950       &from);
   6951   if (source == NULL) {
   6952     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
   6953   } else {
   6954     MergeFrom(*source);
   6955   }
   6956 }
   6957 
   6958 void UninterpretedOption::MergeFrom(const UninterpretedOption& from) {
   6959   GOOGLE_CHECK_NE(&from, this);
   6960   name_.MergeFrom(from.name_);
   6961   if (from._has_bits_[1 / 32] & (0xffu << (1 % 32))) {
   6962     if (from._has_bit(1)) {
   6963       set_identifier_value(from.identifier_value());
   6964     }
   6965     if (from._has_bit(2)) {
   6966       set_positive_int_value(from.positive_int_value());
   6967     }
   6968     if (from._has_bit(3)) {
   6969       set_negative_int_value(from.negative_int_value());
   6970     }
   6971     if (from._has_bit(4)) {
   6972       set_double_value(from.double_value());
   6973     }
   6974     if (from._has_bit(5)) {
   6975       set_string_value(from.string_value());
   6976     }
   6977   }
   6978   mutable_unknown_fields()->MergeFrom(from.unknown_fields());
   6979 }
   6980 
   6981 void UninterpretedOption::CopyFrom(const ::google::protobuf::Message& from) {
   6982   if (&from == this) return;
   6983   Clear();
   6984   MergeFrom(from);
   6985 }
   6986 
   6987 void UninterpretedOption::CopyFrom(const UninterpretedOption& from) {
   6988   if (&from == this) return;
   6989   Clear();
   6990   MergeFrom(from);
   6991 }
   6992 
   6993 bool UninterpretedOption::IsInitialized() const {
   6994 
   6995   for (int i = 0; i < name_size(); i++) {
   6996     if (!this->name(i).IsInitialized()) return false;
   6997   }
   6998   return true;
   6999 }
   7000 
   7001 void UninterpretedOption::Swap(UninterpretedOption* other) {
   7002   if (other != this) {
   7003     name_.Swap(&other->name_);
   7004     std::swap(identifier_value_, other->identifier_value_);
   7005     std::swap(positive_int_value_, other->positive_int_value_);
   7006     std::swap(negative_int_value_, other->negative_int_value_);
   7007     std::swap(double_value_, other->double_value_);
   7008     std::swap(string_value_, other->string_value_);
   7009     std::swap(_has_bits_[0], other->_has_bits_[0]);
   7010     _unknown_fields_.Swap(&other->_unknown_fields_);
   7011     std::swap(_cached_size_, other->_cached_size_);
   7012   }
   7013 }
   7014 
   7015 ::google::protobuf::Metadata UninterpretedOption::GetMetadata() const {
   7016   protobuf_AssignDescriptorsOnce();
   7017   ::google::protobuf::Metadata metadata;
   7018   metadata.descriptor = UninterpretedOption_descriptor_;
   7019   metadata.reflection = UninterpretedOption_reflection_;
   7020   return metadata;
   7021 }
   7022 
   7023 
   7024 // @@protoc_insertion_point(namespace_scope)
   7025 
   7026 }  // namespace protobuf
   7027 }  // namespace google
   7028 
   7029 // @@protoc_insertion_point(global_scope)
   7030