protos/google_unittest.protoz *protos/google_unittest_import_public.protoprotobuf_unittest_import"# PublicImportMessage e (ReB com.google.protobuf.testJ  (   2 Protocol Buffers - Google's data interchange format Copyright 2008 Google Inc. All rights reserved. https://developers.google.com/protocol-buffers/ Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. * Neither the name of Google Inc. nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 2( Author: liujisi@google.com (Pherl Liu)  "  $1 $1 $ $  $ $0 &( & ' ' '  ' 'z #protos/google_unittest_import.protoprotobuf_unittest_import*protos/google_unittest_import_public.proto" ImportMessage d (Rd*< ImportEnum IMPORT_FOO IMPORT_BAR IMPORT_BAZ *1 ImportEnumForMap UNKNOWN FOO BARB com.google.protobuf.testHJ $H   $2 Protocol Buffers - Google's data interchange format Copyright 2008 Google Inc. All rights reserved. https://developers.google.com/protocol-buffers/ Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. * Neither the name of Google Inc. nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 2 Author: kenton@google.com (Kenton Varda) Based on original Protocol Buffers design by Sanjay Ghemawat, Jeff Dean, and others. A proto file which is imported by unittest.proto to test importing.  *  We don't put this in a package within proto2 because we need to make sure that the generated code doesn't depend on being in the proto2 namespace. In test_util.h we do "using namespace unittest_import = protobuf_unittest_import".  , , , ,  , ,  - - - -  - -  01 0 01# Exercise the java_package option. 0 0  0 00  6 s 6: Test public import 2R Do not set a java_outer_classname here to verify that Proto2 works without one. 8: 8 9 9 9  9 9 <@ < = = = > > > ? ? ? H DH< To use an enum in a map, it must has the first value as 0. D E E E F F F G G G Pẑ protos/google_unittest.protoprotobuf_unittest#protos/google_unittest_import.proto"" TestAllTypes% optional_int32 (R optionalInt32% optional_int64 (R optionalInt64' optional_uint32 ( RoptionalUint32' optional_uint64 (RoptionalUint64' optional_sint32 (RoptionalSint32' optional_sint64 (RoptionalSint64) optional_fixed32 (RoptionalFixed32) optional_fixed64 (RoptionalFixed64+ optional_sfixed32 (RoptionalSfixed32+ optional_sfixed64 (RoptionalSfixed64% optional_float (R optionalFloat' optional_double (RoptionalDouble# optional_bool (R optionalBool' optional_string ( RoptionalString% optional_bytes ( R optionalBytesS optionalgroup ( 2-.protobuf_unittest.TestAllTypes.OptionalGroupR optionalgroupe optional_nested_message ( 2-.protobuf_unittest.TestAllTypes.NestedMessageRoptionalNestedMessage[ optional_foreign_message ( 2!.protobuf_unittest.ForeignMessageRoptionalForeignMessage_ optional_import_message ( 2'.protobuf_unittest_import.ImportMessageRoptionalImportMessage\ optional_nested_enum (2*.protobuf_unittest.TestAllTypes.NestedEnumRoptionalNestedEnumR optional_foreign_enum (2.protobuf_unittest.ForeignEnumRoptionalForeignEnumV optional_import_enum (2$.protobuf_unittest_import.ImportEnumRoptionalImportEnum6 optional_string_piece ( BRoptionalStringPiece' optional_cord ( BR optionalCordr optional_public_import_message ( 2-.protobuf_unittest_import.PublicImportMessageRoptionalPublicImportMessagee optional_lazy_message ( 2-.protobuf_unittest.TestAllTypes.NestedMessageB(RoptionalLazyMessage% repeated_int32 (R repeatedInt32% repeated_int64 (R repeatedInt64' repeated_uint32! ( RrepeatedUint32' repeated_uint64" (RrepeatedUint64' repeated_sint32# (RrepeatedSint32' repeated_sint64$ (RrepeatedSint64) repeated_fixed32% (RrepeatedFixed32) repeated_fixed64& (RrepeatedFixed64+ repeated_sfixed32' (RrepeatedSfixed32+ repeated_sfixed64( (RrepeatedSfixed64% repeated_float) (R repeatedFloat' repeated_double* (RrepeatedDouble# repeated_bool+ (R repeatedBool' repeated_string, ( RrepeatedString% repeated_bytes- ( R repeatedBytesS repeatedgroup. ( 2-.protobuf_unittest.TestAllTypes.RepeatedGroupR repeatedgroupe repeated_nested_message0 ( 2-.protobuf_unittest.TestAllTypes.NestedMessageRrepeatedNestedMessage[ repeated_foreign_message1 ( 2!.protobuf_unittest.ForeignMessageRrepeatedForeignMessage_ repeated_import_message2 ( 2'.protobuf_unittest_import.ImportMessageRrepeatedImportMessage\ repeated_nested_enum3 (2*.protobuf_unittest.TestAllTypes.NestedEnumRrepeatedNestedEnumR repeated_foreign_enum4 (2.protobuf_unittest.ForeignEnumRrepeatedForeignEnumV repeated_import_enum5 (2$.protobuf_unittest_import.ImportEnumRrepeatedImportEnum6 repeated_string_piece6 ( BRrepeatedStringPiece' repeated_cord7 ( BR repeatedCorde repeated_lazy_message9 ( 2-.protobuf_unittest.TestAllTypes.NestedMessageB(RrepeatedLazyMessage' default_int32= (:41R defaultInt32' default_int64> (:42R defaultInt64) default_uint32? ( :43R defaultUint32) default_uint64@ (:44R defaultUint64* default_sint32A (:-45R defaultSint32) default_sint64B (:46R defaultSint64+ default_fixed32C (:47RdefaultFixed32+ default_fixed64D (:48RdefaultFixed64- default_sfixed32E (:49RdefaultSfixed32. default_sfixed64F (:-50RdefaultSfixed64) default_floatG (:51.5R defaultFloat, default_doubleH (:52000R defaultDouble' default_boolI (:trueR defaultBool, default_stringJ ( :helloR defaultString* default_bytesK ( :worldR defaultBytes_ default_nested_enumQ (2*.protobuf_unittest.TestAllTypes.NestedEnum:BARRdefaultNestedEnum] default_foreign_enumR (2.protobuf_unittest.ForeignEnum: FOREIGN_BARRdefaultForeignEnum` default_import_enumS (2$.protobuf_unittest_import.ImportEnum: IMPORT_BARRdefaultImportEnum9 default_string_pieceT ( :abcBRdefaultStringPiece* default_cordU ( :123BR defaultCord# oneof_uint32o ( HR oneofUint32a oneof_nested_messagep ( 2-.protobuf_unittest.TestAllTypes.NestedMessageHRoneofNestedMessage# oneof_stringq ( HR oneofString! oneof_bytesr ( HR oneofBytes NestedMessage bb (Rbb OptionalGroup a (Ra RepeatedGroup a/ (Ra"9 NestedEnum FOO BAR BAZ NEGB oneof_field" NestedTestAllTypes; child ( 2%.protobuf_unittest.NestedTestAllTypesRchild9 payload ( 2.protobuf_unittest.TestAllTypesRpayloadL repeated_child ( 2%.protobuf_unittest.NestedTestAllTypesR repeatedChild"E TestDeprecatedFields- deprecated_int32 (BRdeprecatedInt32" ForeignMessage c (Rc"0 TestReservedFieldsJJJ  RbarRbaz" TestAllExtensions*"' OptionalGroup_extension a (Ra"' RepeatedGroup_extension a/ (Ra" TestNestedExtension2? test$.protobuf_unittest.TestAllExtensions ( :testRtest2] nested_string_extension$.protobuf_unittest.TestAllExtensions ( RnestedStringExtension"f TestMoreNestedExtension2K test$.protobuf_unittest.TestAllExtensions ( :a different testRtest" TestRequired a (Ra dummy2 (Rdummy2 b (Rb dummy4 (Rdummy4 dummy5 (Rdummy5 dummy6 (Rdummy6 dummy7 (Rdummy7 dummy8 (Rdummy8 dummy9 (Rdummy9 dummy10 (Rdummy10 dummy11 (Rdummy11 dummy12 (Rdummy12 dummy13 (Rdummy13 dummy14 (Rdummy14 dummy15 (Rdummy15 dummy16 (Rdummy16 dummy17 (Rdummy17 dummy18 (Rdummy18 dummy19 (Rdummy19 dummy20 (Rdummy20 dummy21 (Rdummy21 dummy22 (Rdummy22 dummy23 (Rdummy23 dummy24 (Rdummy24 dummy25 (Rdummy25 dummy26 (Rdummy26 dummy27 (Rdummy27 dummy28 (Rdummy28 dummy29 (Rdummy29 dummy30 (Rdummy30 dummy31 (Rdummy31 dummy32 (Rdummy32 c! (Rc2^ single$.protobuf_unittest.TestAllExtensions ( 2.protobuf_unittest.TestRequiredRsingle2\ multi$.protobuf_unittest.TestAllExtensions ( 2.protobuf_unittest.TestRequiredRmulti" TestRequiredForeignJ optional_message ( 2.protobuf_unittest.TestRequiredRoptionalMessageJ repeated_message ( 2.protobuf_unittest.TestRequiredRrepeatedMessage dummy (Rdummy"i TestForeignNestedT foreign_nested ( 2-.protobuf_unittest.TestAllTypes.NestedMessageR foreignNested" TestEmptyMessage"* TestEmptyMessageWithExtensions*"7 TestMultipleExtensionRanges**+* !* "; TestReallyLargeTagNumber a (Ra bb (Rbb"[ TestRecursiveMessage5 a ( 2'.protobuf_unittest.TestRecursiveMessageRa i (Ri"O TestMutualRecursionA7 bb ( 2'.protobuf_unittest.TestMutualRecursionBRbb"t TestMutualRecursionB5 a ( 2'.protobuf_unittest.TestMutualRecursionARa% optional_int32 (R optionalInt32" TestDupFieldNumber a (Ra; foo ( 2).protobuf_unittest.TestDupFieldNumber.FooRfoo; bar ( 2).protobuf_unittest.TestDupFieldNumber.BarRbar Foo a (Ra Bar a (Ra"X TestEagerMessageD sub_message ( 2.protobuf_unittest.TestAllTypesB(R subMessage"W TestLazyMessageD sub_message ( 2.protobuf_unittest.TestAllTypesB(R subMessage" TestNestedMessageHasBitsq optional_nested_message ( 29.protobuf_unittest.TestNestedMessageHasBits.NestedMessageRoptionalNestedMessage NestedMessage@ nestedmessage_repeated_int32 (RnestedmessageRepeatedInt32u %nestedmessage_repeated_foreignmessage ( 2!.protobuf_unittest.ForeignMessageR#nestedmessageRepeatedForeignmessage" TestCamelCaseFieldNames& PrimitiveField (RprimitiveField StringField ( R stringField< EnumField (2.protobuf_unittest.ForeignEnumR enumFieldE MessageField ( 2!.protobuf_unittest.ForeignMessageR messageField. StringPieceField ( BRstringPieceField CordField ( BR cordField6 RepeatedPrimitiveField (RrepeatedPrimitiveField0 RepeatedStringField ( RrepeatedStringFieldL RepeatedEnumField (2.protobuf_unittest.ForeignEnumRrepeatedEnumFieldU RepeatedMessageField ( 2!.protobuf_unittest.ForeignMessageRrepeatedMessageField> RepeatedStringPieceField ( BRrepeatedStringPieceField0 RepeatedCordField ( BRrepeatedCordField" TestFieldOrderings my_string ( RmyString my_int (RmyInt my_floate (RmyFloatl optional_nested_message ( 23.protobuf_unittest.TestFieldOrderings.NestedMessageRoptionalNestedMessage/ NestedMessage oo (Roo bb (Rbb* * e" TestExtremeDefaultValuesM escaped_bytes ( :(\000\001\007\010\014\n\r\t\013\\\'\"\376R escapedBytes- large_uint32 ( : 4294967295R largeUint327 large_uint64 (:18446744073709551615R largeUint64, small_int32 (: -2147483647R smallInt325 small_int64 (:-9223372036854775807R smallInt649 really_small_int32 (: -2147483648RreallySmallInt32B really_small_int64 (:-9223372036854775808RreallySmallInt64$ utf8_string ( :ሴR utf8String zero_float (:0R zeroFloat one_float (:1RoneFloat$ small_float (:1.5R smallFloat0 negative_one_float (:-1RnegativeOneFloat+ negative_float (:-1.5R negativeFloat& large_float (:2e+08R largeFloat8 small_negative_float (:-8e-28RsmallNegativeFloat" inf_double (:infR infDouble* neg_inf_double (:-infR negInfDouble" nan_double (:nanR nanDouble inf_float (:infRinfFloat( neg_inf_float (:-infR negInfFloat nan_float (:nanRnanFloat8 cpp_trigraph ( :? ? ?? ?? ??? ??/ ??-R cppTrigraph0 string_with_zero ( :helloRstringWithZero1 bytes_with_zero ( : wor\000ldR bytesWithZero= string_piece_with_zero ( :abcBRstringPieceWithZero. cord_with_zero ( :123BR cordWithZero9 replacement_string ( : ${unknown}RreplacementString"W SparseEnumMessageB sparse_enum (2!.protobuf_unittest.TestSparseEnumR sparseEnum" OneString data ( Rdata" MoreString data ( Rdata" OneBytes data ( Rdata" MoreBytes data ( Rdata"" Int32Message data (Rdata"# Uint32Message data ( Rdata"" Int64Message data (Rdata"# Uint64Message data (Rdata"! BoolMessage data (Rdata" TestOneof foo_int (HRfooInt foo_string ( HR fooStringB foo_message ( 2.protobuf_unittest.TestAllTypesHR fooMessageC foogroup ( 2%.protobuf_unittest.TestOneof.FooGroupHRfoogroup& FooGroup a (Ra b ( RbB foo" TestOneofBackwardsCompatible foo_int (RfooInt foo_string ( R fooString@ foo_message ( 2.protobuf_unittest.TestAllTypesR fooMessageT foogroup ( 28.protobuf_unittest.TestOneofBackwardsCompatible.FooGroupRfoogroup& FooGroup a (Ra b ( Rb" TestOneof2 foo_int (HRfooInt foo_string ( HR fooString foo_cord ( BHRfooCord. foo_string_piece ( BHRfooStringPiece foo_bytes ( HRfooBytesE foo_enum (2(.protobuf_unittest.TestOneof2.NestedEnumHRfooEnumN foo_message ( 2+.protobuf_unittest.TestOneof2.NestedMessageHR fooMessageD foogroup ( 2&.protobuf_unittest.TestOneof2.FooGroupHRfoogroup[ foo_lazy_message ( 2+.protobuf_unittest.TestOneof2.NestedMessageB(HRfooLazyMessage bar_int (:5HRbarInt' bar_string ( :STRINGHR barString% bar_cord ( :CORDBHRbarCord6 bar_string_piece ( :SPIECEBHRbarStringPiece$ bar_bytes ( :BYTESHRbarBytesJ bar_enum (2(.protobuf_unittest.TestOneof2.NestedEnum:BARHRbarEnum baz_int (RbazInt" baz_string ( :BAZR bazString& FooGroup a (Ra b ( RbE NestedMessage qux_int (RquxInt corge_int (RcorgeInt"' NestedEnum FOO BAR BAZB fooB bar" TestRequiredOneof foo_int (HRfooInt foo_string ( HR fooStringU foo_message ( 22.protobuf_unittest.TestRequiredOneof.NestedMessageHR fooMessage8 NestedMessage' required_double (RrequiredDoubleB foo" TestPackedTypes% packed_int32Z (BR packedInt32% packed_int64[ (BR packedInt64' packed_uint32\ ( BR packedUint32' packed_uint64] (BR packedUint64' packed_sint32^ (BR packedSint32' packed_sint64_ (BR packedSint64) packed_fixed32` (BR packedFixed32) packed_fixed64a (BR packedFixed64+ packed_sfixed32b (BRpackedSfixed32+ packed_sfixed64c (BRpackedSfixed64% packed_floatd (BR packedFloat' packed_doublee (BR packedDouble# packed_boolf (BR packedBoolC packed_enumg (2.protobuf_unittest.ForeignEnumBR packedEnum" TestUnpackedTypes) unpacked_int32Z (BR unpackedInt32) unpacked_int64[ (BR unpackedInt64+ unpacked_uint32\ ( BRunpackedUint32+ unpacked_uint64] (BRunpackedUint64+ unpacked_sint32^ (BRunpackedSint32+ unpacked_sint64_ (BRunpackedSint64- unpacked_fixed32` (BRunpackedFixed32- unpacked_fixed64a (BRunpackedFixed64/ unpacked_sfixed32b (BRunpackedSfixed32/ unpacked_sfixed64c (BRunpackedSfixed64) unpacked_floatd (BR unpackedFloat+ unpacked_doublee (BRunpackedDouble' unpacked_boolf (BR unpackedBoolG unpacked_enumg (2.protobuf_unittest.ForeignEnumBR unpackedEnum" TestPackedExtensions*"" TestUnpackedExtensions*" TestDynamicExtensions* scalar_extension (RscalarExtensionF enum_extension (2.protobuf_unittest.ForeignEnumR enumExtensiono dynamic_enum_extension (28.protobuf_unittest.TestDynamicExtensions.DynamicEnumTypeRdynamicEnumExtensionO message_extension ( 2!.protobuf_unittest.ForeignMessageRmessageExtensionx dynamic_message_extension ( 2;.protobuf_unittest.TestDynamicExtensions.DynamicMessageTypeRdynamicMessageExtension. repeated_extension ( RrepeatedExtension. packed_extension (BRpackedExtension: DynamicMessageType$ dynamic_field (R dynamicField"G DynamicEnumType DYNAMIC_FOO DYNAMIC_BAR DYNAMIC_BAZ" #TestRepeatedScalarDifferentTagSizes) repeated_fixed32 (RrepeatedFixed32% repeated_int32 (R repeatedInt32* repeated_fixed64 (RrepeatedFixed64& repeated_int64 (R repeatedInt64' repeated_float (R repeatedFloat) repeated_uint64 (RrepeatedUint64" TestParsingMergeM required_all_types ( 2.protobuf_unittest.TestAllTypesRrequiredAllTypesM optional_all_types ( 2.protobuf_unittest.TestAllTypesRoptionalAllTypesM repeated_all_types ( 2.protobuf_unittest.TestAllTypesRrepeatedAllTypesW optionalgroup ( 21.protobuf_unittest.TestParsingMerge.OptionalGroupR optionalgroupW repeatedgroup ( 21.protobuf_unittest.TestParsingMerge.RepeatedGroupR repeatedgroup RepeatedFieldsGenerator7 field1 ( 2.protobuf_unittest.TestAllTypesRfield17 field2 ( 2.protobuf_unittest.TestAllTypesRfield27 field3 ( 2.protobuf_unittest.TestAllTypesRfield3Z group1 ( 2B.protobuf_unittest.TestParsingMerge.RepeatedFieldsGenerator.Group1Rgroup1Z group2 ( 2B.protobuf_unittest.TestParsingMerge.RepeatedFieldsGenerator.Group2Rgroup24 ext1 ( 2.protobuf_unittest.TestAllTypesRext14 ext2 ( 2.protobuf_unittest.TestAllTypesRext2A Group17 field1 ( 2.protobuf_unittest.TestAllTypesRfield1A Group27 field1 ( 2.protobuf_unittest.TestAllTypesRfield1i OptionalGroupX optional_group_all_types ( 2.protobuf_unittest.TestAllTypesRoptionalGroupAllTypesi RepeatedGroupX repeated_group_all_types ( 2.protobuf_unittest.TestAllTypesRrepeatedGroupAllTypes* 2h optional_ext#.protobuf_unittest.TestParsingMerge ( 2.protobuf_unittest.TestAllTypesR optionalExt2h repeated_ext#.protobuf_unittest.TestParsingMerge ( 2.protobuf_unittest.TestAllTypesR repeatedExt"G TestCommentInjectionMessage( a ( :*/ <- Neither should this.Ra" FooRequest" FooResponse" FooClientMessage" FooServerMessage" BarRequest" BarResponse*@ ForeignEnum FOREIGN_FOO FOREIGN_BAR FOREIGN_BAZ*K TestEnumWithDupValue FOO1 BAR1 BAZ FOO2 BAR2* TestSparseEnum SPARSE_A{ SPARSE_B SPARSE_C SPARSE_D SPARSE_E SPARSE_F SPARSE_G2 TestServiceD Foo.protobuf_unittest.FooRequest.protobuf_unittest.FooResponseD Bar.protobuf_unittest.BarRequest.protobuf_unittest.BarResponse:^ optional_int32_extension$.protobuf_unittest.TestAllExtensions (RoptionalInt32Extension:^ optional_int64_extension$.protobuf_unittest.TestAllExtensions (RoptionalInt64Extension:` optional_uint32_extension$.protobuf_unittest.TestAllExtensions ( RoptionalUint32Extension:` optional_uint64_extension$.protobuf_unittest.TestAllExtensions (RoptionalUint64Extension:` optional_sint32_extension$.protobuf_unittest.TestAllExtensions (RoptionalSint32Extension:` optional_sint64_extension$.protobuf_unittest.TestAllExtensions (RoptionalSint64Extension:b optional_fixed32_extension$.protobuf_unittest.TestAllExtensions (RoptionalFixed32Extension:b optional_fixed64_extension$.protobuf_unittest.TestAllExtensions (RoptionalFixed64Extension:d optional_sfixed32_extension$.protobuf_unittest.TestAllExtensions (RoptionalSfixed32Extension:d optional_sfixed64_extension$.protobuf_unittest.TestAllExtensions (RoptionalSfixed64Extension:^ optional_float_extension$.protobuf_unittest.TestAllExtensions (RoptionalFloatExtension:` optional_double_extension$.protobuf_unittest.TestAllExtensions (RoptionalDoubleExtension:\ optional_bool_extension$.protobuf_unittest.TestAllExtensions (RoptionalBoolExtension:` optional_string_extension$.protobuf_unittest.TestAllExtensions ( RoptionalStringExtension:^ optional_bytes_extension$.protobuf_unittest.TestAllExtensions ( RoptionalBytesExtension: optionalgroup_extension$.protobuf_unittest.TestAllExtensions ( 2*.protobuf_unittest.OptionalGroup_extensionRoptionalgroupExtension: !optional_nested_message_extension$.protobuf_unittest.TestAllExtensions ( 2-.protobuf_unittest.TestAllTypes.NestedMessageRoptionalNestedMessageExtension: "optional_foreign_message_extension$.protobuf_unittest.TestAllExtensions ( 2!.protobuf_unittest.ForeignMessageRoptionalForeignMessageExtension: !optional_import_message_extension$.protobuf_unittest.TestAllExtensions ( 2'.protobuf_unittest_import.ImportMessageRoptionalImportMessageExtension: optional_nested_enum_extension$.protobuf_unittest.TestAllExtensions (2*.protobuf_unittest.TestAllTypes.NestedEnumRoptionalNestedEnumExtension: optional_foreign_enum_extension$.protobuf_unittest.TestAllExtensions (2.protobuf_unittest.ForeignEnumRoptionalForeignEnumExtension: optional_import_enum_extension$.protobuf_unittest.TestAllExtensions (2$.protobuf_unittest_import.ImportEnumRoptionalImportEnumExtension:o optional_string_piece_extension$.protobuf_unittest.TestAllExtensions ( BRoptionalStringPieceExtension:` optional_cord_extension$.protobuf_unittest.TestAllExtensions ( BRoptionalCordExtension: (optional_public_import_message_extension$.protobuf_unittest.TestAllExtensions ( 2-.protobuf_unittest_import.PublicImportMessageR$optionalPublicImportMessageExtension: optional_lazy_message_extension$.protobuf_unittest.TestAllExtensions ( 2-.protobuf_unittest.TestAllTypes.NestedMessageB(RoptionalLazyMessageExtension:^ repeated_int32_extension$.protobuf_unittest.TestAllExtensions (RrepeatedInt32Extension:^ repeated_int64_extension$.protobuf_unittest.TestAllExtensions (RrepeatedInt64Extension:` repeated_uint32_extension$.protobuf_unittest.TestAllExtensions! ( RrepeatedUint32Extension:` repeated_uint64_extension$.protobuf_unittest.TestAllExtensions" (RrepeatedUint64Extension:` repeated_sint32_extension$.protobuf_unittest.TestAllExtensions# (RrepeatedSint32Extension:` repeated_sint64_extension$.protobuf_unittest.TestAllExtensions$ (RrepeatedSint64Extension:b repeated_fixed32_extension$.protobuf_unittest.TestAllExtensions% (RrepeatedFixed32Extension:b repeated_fixed64_extension$.protobuf_unittest.TestAllExtensions& (RrepeatedFixed64Extension:d repeated_sfixed32_extension$.protobuf_unittest.TestAllExtensions' (RrepeatedSfixed32Extension:d repeated_sfixed64_extension$.protobuf_unittest.TestAllExtensions( (RrepeatedSfixed64Extension:^ repeated_float_extension$.protobuf_unittest.TestAllExtensions) (RrepeatedFloatExtension:` repeated_double_extension$.protobuf_unittest.TestAllExtensions* (RrepeatedDoubleExtension:\ repeated_bool_extension$.protobuf_unittest.TestAllExtensions+ (RrepeatedBoolExtension:` repeated_string_extension$.protobuf_unittest.TestAllExtensions, ( RrepeatedStringExtension:^ repeated_bytes_extension$.protobuf_unittest.TestAllExtensions- ( RrepeatedBytesExtension: repeatedgroup_extension$.protobuf_unittest.TestAllExtensions. ( 2*.protobuf_unittest.RepeatedGroup_extensionRrepeatedgroupExtension: !repeated_nested_message_extension$.protobuf_unittest.TestAllExtensions0 ( 2-.protobuf_unittest.TestAllTypes.NestedMessageRrepeatedNestedMessageExtension: "repeated_foreign_message_extension$.protobuf_unittest.TestAllExtensions1 ( 2!.protobuf_unittest.ForeignMessageRrepeatedForeignMessageExtension: !repeated_import_message_extension$.protobuf_unittest.TestAllExtensions2 ( 2'.protobuf_unittest_import.ImportMessageRrepeatedImportMessageExtension: repeated_nested_enum_extension$.protobuf_unittest.TestAllExtensions3 (2*.protobuf_unittest.TestAllTypes.NestedEnumRrepeatedNestedEnumExtension: repeated_foreign_enum_extension$.protobuf_unittest.TestAllExtensions4 (2.protobuf_unittest.ForeignEnumRrepeatedForeignEnumExtension: repeated_import_enum_extension$.protobuf_unittest.TestAllExtensions5 (2$.protobuf_unittest_import.ImportEnumRrepeatedImportEnumExtension:o repeated_string_piece_extension$.protobuf_unittest.TestAllExtensions6 ( BRrepeatedStringPieceExtension:` repeated_cord_extension$.protobuf_unittest.TestAllExtensions7 ( BRrepeatedCordExtension: repeated_lazy_message_extension$.protobuf_unittest.TestAllExtensions9 ( 2-.protobuf_unittest.TestAllTypes.NestedMessageB(RrepeatedLazyMessageExtension:` default_int32_extension$.protobuf_unittest.TestAllExtensions= (:41RdefaultInt32Extension:` default_int64_extension$.protobuf_unittest.TestAllExtensions> (:42RdefaultInt64Extension:b default_uint32_extension$.protobuf_unittest.TestAllExtensions? ( :43RdefaultUint32Extension:b default_uint64_extension$.protobuf_unittest.TestAllExtensions@ (:44RdefaultUint64Extension:c default_sint32_extension$.protobuf_unittest.TestAllExtensionsA (:-45RdefaultSint32Extension:b default_sint64_extension$.protobuf_unittest.TestAllExtensionsB (:46RdefaultSint64Extension:d default_fixed32_extension$.protobuf_unittest.TestAllExtensionsC (:47RdefaultFixed32Extension:d default_fixed64_extension$.protobuf_unittest.TestAllExtensionsD (:48RdefaultFixed64Extension:f default_sfixed32_extension$.protobuf_unittest.TestAllExtensionsE (:49RdefaultSfixed32Extension:g default_sfixed64_extension$.protobuf_unittest.TestAllExtensionsF (:-50RdefaultSfixed64Extension:b default_float_extension$.protobuf_unittest.TestAllExtensionsG (:51.5RdefaultFloatExtension:e default_double_extension$.protobuf_unittest.TestAllExtensionsH (:52000RdefaultDoubleExtension:` default_bool_extension$.protobuf_unittest.TestAllExtensionsI (:trueRdefaultBoolExtension:e default_string_extension$.protobuf_unittest.TestAllExtensionsJ ( :helloRdefaultStringExtension:c default_bytes_extension$.protobuf_unittest.TestAllExtensionsK ( :worldRdefaultBytesExtension: default_nested_enum_extension$.protobuf_unittest.TestAllExtensionsQ (2*.protobuf_unittest.TestAllTypes.NestedEnum:BARRdefaultNestedEnumExtension: default_foreign_enum_extension$.protobuf_unittest.TestAllExtensionsR (2.protobuf_unittest.ForeignEnum: FOREIGN_BARRdefaultForeignEnumExtension: default_import_enum_extension$.protobuf_unittest.TestAllExtensionsS (2$.protobuf_unittest_import.ImportEnum: IMPORT_BARRdefaultImportEnumExtension:r default_string_piece_extension$.protobuf_unittest.TestAllExtensionsT ( :abcBRdefaultStringPieceExtension:c default_cord_extension$.protobuf_unittest.TestAllExtensionsU ( :123BRdefaultCordExtension:Z oneof_uint32_extension$.protobuf_unittest.TestAllExtensionso ( RoneofUint32Extension: oneof_nested_message_extension$.protobuf_unittest.TestAllExtensionsp ( 2-.protobuf_unittest.TestAllTypes.NestedMessageRoneofNestedMessageExtension:Z oneof_string_extension$.protobuf_unittest.TestAllExtensionsq ( RoneofStringExtension:X oneof_bytes_extension$.protobuf_unittest.TestAllExtensionsr ( RoneofBytesExtension:U my_extension_string%.protobuf_unittest.TestFieldOrderings2 ( RmyExtensionString:O my_extension_int%.protobuf_unittest.TestFieldOrderings (RmyExtensionInt:a packed_int32_extension'.protobuf_unittest.TestPackedExtensionsZ (BRpackedInt32Extension:a packed_int64_extension'.protobuf_unittest.TestPackedExtensions[ (BRpackedInt64Extension:c packed_uint32_extension'.protobuf_unittest.TestPackedExtensions\ ( BRpackedUint32Extension:c packed_uint64_extension'.protobuf_unittest.TestPackedExtensions] (BRpackedUint64Extension:c packed_sint32_extension'.protobuf_unittest.TestPackedExtensions^ (BRpackedSint32Extension:c packed_sint64_extension'.protobuf_unittest.TestPackedExtensions_ (BRpackedSint64Extension:e packed_fixed32_extension'.protobuf_unittest.TestPackedExtensions` (BRpackedFixed32Extension:e packed_fixed64_extension'.protobuf_unittest.TestPackedExtensionsa (BRpackedFixed64Extension:g packed_sfixed32_extension'.protobuf_unittest.TestPackedExtensionsb (BRpackedSfixed32Extension:g packed_sfixed64_extension'.protobuf_unittest.TestPackedExtensionsc (BRpackedSfixed64Extension:a packed_float_extension'.protobuf_unittest.TestPackedExtensionsd (BRpackedFloatExtension:c packed_double_extension'.protobuf_unittest.TestPackedExtensionse (BRpackedDoubleExtension:_ packed_bool_extension'.protobuf_unittest.TestPackedExtensionsf (BRpackedBoolExtension: packed_enum_extension'.protobuf_unittest.TestPackedExtensionsg (2.protobuf_unittest.ForeignEnumBRpackedEnumExtension:g unpacked_int32_extension).protobuf_unittest.TestUnpackedExtensionsZ (BRunpackedInt32Extension:g unpacked_int64_extension).protobuf_unittest.TestUnpackedExtensions[ (BRunpackedInt64Extension:i unpacked_uint32_extension).protobuf_unittest.TestUnpackedExtensions\ ( BRunpackedUint32Extension:i unpacked_uint64_extension).protobuf_unittest.TestUnpackedExtensions] (BRunpackedUint64Extension:i unpacked_sint32_extension).protobuf_unittest.TestUnpackedExtensions^ (BRunpackedSint32Extension:i unpacked_sint64_extension).protobuf_unittest.TestUnpackedExtensions_ (BRunpackedSint64Extension:k unpacked_fixed32_extension).protobuf_unittest.TestUnpackedExtensions` (BRunpackedFixed32Extension:k unpacked_fixed64_extension).protobuf_unittest.TestUnpackedExtensionsa (BRunpackedFixed64Extension:m unpacked_sfixed32_extension).protobuf_unittest.TestUnpackedExtensionsb (BRunpackedSfixed32Extension:m unpacked_sfixed64_extension).protobuf_unittest.TestUnpackedExtensionsc (BRunpackedSfixed64Extension:g unpacked_float_extension).protobuf_unittest.TestUnpackedExtensionsd (BRunpackedFloatExtension:i unpacked_double_extension).protobuf_unittest.TestUnpackedExtensionse (BRunpackedDoubleExtension:e unpacked_bool_extension).protobuf_unittest.TestUnpackedExtensionsf (BRunpackedBoolExtension: unpacked_enum_extension).protobuf_unittest.TestUnpackedExtensionsg (2.protobuf_unittest.ForeignEnumBRunpackedEnumExtensionBB UnittestProtoHJ $  $2 Protocol Buffers - Google's data interchange format Copyright 2008 Google Inc. All rights reserved. https://developers.google.com/protocol-buffers/ Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. * Neither the name of Google Inc. nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 2 Author: kenton@google.com (Kenton Varda) Based on original Protocol Buffers design by Sanjay Ghemawat, Jeff Dean, and others. A proto file we will use for unit testing.  ("  ("g Some generic_services option(s) added automatically. See: http://go/proto2-generic-services-default " auto-added ( (  ( (!  )$  )$" auto-added ) )  ) )#  *"  *"" auto-added * *  * *!  + + + +  + + -,  2 We don't put this in a package within proto2 because we need to make sure that the generated code doesn't depend on being in the proto2 namespace. In test_util.h we do "using namespace unittest = protobuf_unittest".  7  7 Protos optimized for SPEED use a strict superset of the generated code of equivalent ones optimized for CODE_SIZE, so we should optimize all our tests for speed unless explicitly testing code size optimization. 7 7  7 7  9. 9. 9 9  9 9- \ =O This proto includes every type of field in both singular and repeated forms. = >C >   B The field name "b" fails to compile in proto1 because it conflicts with a local variable named "b" in one of the generated methods. Doh. This file needs to compile in proto1 to test backwards-compatibility.  B  B   B  B EJ E F  F  F G  G  G H  H  H ( I " Intentionally negative.  I  I  M+ Singular M M M" M)* N+ N N N" N)* O+ O O  O# O)* P+ P P  P# P)* Q+ Q Q  Q# Q)* R+ R R  R# R)* S+ S S  S$ S)* T+ T T  T$ T)* U+ U U  U% U)*  V+  V  V   V%  V(*  W+  W  W  W"  W(*  X+  X  X   X#  X(*  Y+  Y  Y  Y!  Y(*  Z+  Z  Z   Z#  Z(* [+ [ [ [" [(* ]_ ] ]  ] ]!# ]_ ] ] ^  ^  ^   ^  ^ aN a a  a0G aKM bN b b  b0H bKM cP c c 1 c2I cMO eN e e  e0D eKM fN f f  f0E fKM gP g g . g2F gMO iB i i  i' i*, i-A  i.@  i.3  i.3  i.3  i4@ j2 j j  j j"$ j%1  j&0  j&+  j&+  j&+  j,0 7 mn*) Defined in unittest_import_public.proto m m 7 n$ n') p@ p p  p. p13 p4?  p5>  p59  p59  p59  p:>  s+ Repeated s s s" s(* t+ t t t" t(* u+ u u  u# u(* v+ v v  v# v(* w+ w w  w# w(* x+ x x  x# x(*  y+  y  y   y$  y(* !z+ !z !z  !z$ !z(* "{+ "{ "{  "{% "{(* #|+ #| #|  #|% #|(* $}+ $} $} $}" $}(* %~+ %~ %~  %~# %~(* &+ & & &! &(* '+ ' '  '# '(* (+ ( ( (" ((*  ) ) )  ) )!#    )            *N * *  *0G *KM +N + +  +0H +KM ,P , , 1 ,2I ,MO -N - -  -0D -KM .N . .  .0E .KM /P / / . /2F /MO 0B 0 0  0' 0*, 0-A  0.@  0.3  0.3  0.3  04@ 12 1 1  1 1"$ 1%1  1&0  1&+  1&+  1&+  1,0 2@ 2 2  2. 213 24?  25>  259  259  259  2:> & 3> Singular with defaults 3 3 3! 3') 3*= 368 4> 4 4 4! 4') 4*= 468 5> 5 5  5" 5') 5*= 568 6> 6 6  6" 6') 6*= 668 7> 7 7  7" 7') 7*= 758 8> 8 8  8" 8') 8*= 868 9> 9 9  9# 9') 9*= 968 :> : :  :# :') :*= :68 ;> ; ;  ;$ ;') ;*= ;68 <> < <  <$ <') <*= <58 => = = =! =') =*= =6: >> > >  >" >') >*= >6: ?> ? ? ? ?') ?*= ?59 @> @ @  @" @') @*= @5< A> A A A! A') A*= A5< BI B B  B* B.0 B1H B  F%/  F%*  F%*  F%*  F+/ F8=  For oneof test  G G G  G H- H H& H), I I I  I J J J  J @ 2 This proto includes a recusively nested message.  (    # &' $     "# 1    , /0   8    ! $% &7  '6  '1  '1  '1  26 [ M Define these after TestAllTypes to make sure the compiler can handle that.                                                            5 Singular    , 34 5    , 34 5     - 34 5     - 34 5     - 34 5     - 34 5     . 34 5     . 34 5     / 34  5         /  24  5        ,  24  5         -  24  5        +  24  5         -  24 5    , 24      ( +-  ( (       M    % &G JL B     < ?A +    1 % (* G    " #A DF <     6 9; (    . " %' L     1 46 7K  8J  8=  8=  8=  >J <     ) ,. /;  0:  05  05  05  6: 2    7 , /1 5    % # &( )4  *3  *.  *.  *.  /3  5 Repeated    , 24 5    , 24 5     - 24 5     - 24 5     - 24 5     - 24  5         .  24 !5 ! ! !  !. !24 "5 " " "  "/ "24 #5 # # #  #/ #24 $5 $ $ $ $, $24 %5 % % %  %- %24 &5 & & & &+ &24 '5 ' ' '  '- '24 (5 ( ( ( (, (24 ) ) ) )  )( )+-  ( )(       *M * * * % *&G *JL +B + + +  +< +?A ,+ , , , 1 ,% ,(* -G - - - " -#A -DF .< . . .  .6 .9; /( / / / . /" /%' 0L 0 0 0  01 046 07K  08J  08=  08=  08=  0>J 1< 1 1 1  1) 1,. 1/;  10:  105  105  105  16: 25 2 2 2 % 2# 2&( 2)4  2*3  2*.  2*.  2*.  2/3 $ 3H Singular with defaults 3 3 3 3+ 313 34G 3@B 4H 4 4 4 4+ 413 44G 4@B 5H 5 5 5  5, 513 54G 5@B 6H 6 6 6  6, 613 64G 6@B 7H 7 7 7  7, 713 74G 7?B 8H 8 8 8  8, 813 84G 8@B 9H 9 9 9  9- 913 94G 9@B :H : : :  :- :13 :4G :@B ;H ; ; ;  ;. ;13 ;4G ;@B <H < < <  <. <13 <4G <?B =H = = = =+ =13 =4G =@D >H > > >  >, >13 >4G >@D ?H ? ? ? ?* ?13 ?4G ??C @H @ @ @  @, @13 @4G @?F AH A A A A+ A13 A4G A?F B7 B B B " B! B$& B'6 B25 C@ C C C  C" C%' C(? C3> D> D D D . D! D$& D'= D2< EF E E E  E0 E35 E6E  E7I  E7<  E7<  E7<  E=I E?D FJ F F F  F( F+- F.I  F/9  F/4  F/4  F/4  F59 FCH  G/ For oneof test G G G  G( G+. HK H H H % H&D HGJ I/ I I I  I( I+. J- J J J  J& J),    ` 1R Check for bug where string extensions declared in tested scope did not compile.         0 )/ ` 3R Used to test if generated extension name is correct when there are underscores.      + .2       M  =? Check that duplicate field names in different namespaces work               <  );    We have separate messages for testing required fields because it's annoying to have to fill in required fields in TestProto in order to do anything with it. Note that we don't need to test every type of required filed because the code output is basically identical to optional fields for all types.                                       (            #'  (            #'   u Pad the field count to 32 so that we can test that IsInitialized() properly checks multiple elements of has_bits_.                                                                                                                                                                                                                                                                                                                                                                            -       (  +,  -       (  +,            M  ? Test that we can use NestedMessage from outside TestAllTypes.    9     %  &4  78 G  9 TestEmptyMessage is used to test unknown field support.     Like above, but declare all field numbers as potential extensions. No actual extensions should ever be defined for this type. &        #                    H : Test that really large tag numbers don't break anything.  } o The largest possible tag number is 2^28 - 1, since the wire format uses three bits to communicate wire type.              &     ! $%       1 # Test that mutual recursion works.  '     " %&   &     ! $% $     "#   Test that groups have disjoint field numbers from their siblings and parents. This is NOT possible in proto1; only google.protobuf. When attempting to compile with proto1, this will emit an error; so we only include it in protobuf_unittest_proto. " NO_PROTO1   " NO_PROTO1      2      2    0  #  $)  *+  ./ 2      2    0  #  $)  *+  ./ < . Additional messages for testing lazy fields.  5    # &' (4  )3  )-  )-  )-  .3   4    # &' (3  )2  )-  )-  )-  .2 )  Needed for a Python test.       4       /  23  F       A  DE 5    0 34 K = Test an enum that has multiple values with the same number.                               : , Test an enum with large, unordered values.                              h Z Test message with CamelCase field names. This violates Protocol Buffer standard style.  $     "# "      ! %     #$ +    & )* <    " %& ';  (:  (-  (-  (-  .: -       ,  !+  !&  !&  !&  '+ ,    ' *+ *    % () -    ( +,  4       .  13  E       *  -/  0D   1C   16   16   16   7C  6       #  &(  )5   *4   */   */   */   04  } We list fields out of order, to ensure that we're using field number and not field index to determine serialization order.  !                                               The field name "b" fails to compile in proto1 because it conflicts with a local variable named "b" in one of the generated methods. Doh. This file needs to compile in proto1 to test backwards-compatibility.          8    0 47  K+ K K K  K% K(* L& L L L  L! L$%   P     !" #O .N :     !" #9 .8 B     !" #A .@ ;     !" #: .9 C     !" #B .A B    $ ') *A 5@ J    $ ') *I 5H  = The default value here is UTF-8 for "\u1234". (We could also just type the UTF-8 text directly into this text file rather than escape it, but lots of people use editors that would be confused by this.)      ! "< -; A .3 Tests for single-precision floating-point values.       - +,  -           ,  *+  1           !0  ,/  8       #  &(  )7  46  6         "$  %5  04   2 Using exponents         !  "1  -0 >    % (* += 6< 9 2+ Text for nonfinite floating-point values.     ! "1 -0 7     #% &6 15 2     ! "1 -0 0       / +. 5     !# $4 /3 0       / +.  L Tests for C++ trigraphs. Trigraphs should be escaped in C++ generated files, but they should not be escaped for other languages. Note that in .proto file, "\?" is a valid way to escape ? in string literals.     !# $K /J ? F1 String defaults containing the character '\000'    " +- .E 9D F    ! +- .E 9D  B    ( +-  .A  /A  /4  /4  /4  5A 7@  B     +-  .A  /9  /4  /4  /4  59 7@ E    $ +- .D 7C   *    % () H : Test String and Bytes: string is for valid UTF-8 strings                                N  @ Test int32, uint32, int64, uint64, and bool are all compatible              ! ! ! ! !  ! ! " " " " "  " " # # # # #  # # $ $ $ $ $  $ $  % Test oneofs. %  % % % % %  % % % %  % %! % % %  % % %  %  % %  %   %  %  %  %  %  %  %  %  %  % & &$ & & &  & & &! & &  & & &( & &  &# &&'  & & &  & &  & & &  &  &  &   &  &  &  &  &   &  & ' '  ' ' ' ' '  ' ' ' '  ' '% ' '  ' '$  '#  '  '  '  '# '5 ' '  ' ' 4  '!3  '!&  '!&  '!&  ''3 ' ' '  ' ' ' ' ' '" ' ' ' !  ' ' '  '  ' '  '   '  '  '  '  '  '  '  '  '  ' '4 ' '" '%' '(3  ')2  ')-  ')-  ')-  '.2  ' ' ' % '  '   '  ' $ ' "# ' 0 '  '   '  ' / ' &. ' 8 '  '   '  ' 7  ' $  '   '   '   '  $ ' 06 ' J '  '   '  ' !I  ' "4  ' "'  ' "'  ' "'  ' (4 ' @H ' - '  '   '  ' , ' $+ '- ' ' ' ', '(+ ' ' '  ' ' '4 ' '  ' '! '"3 '-2  ' '   '  '  '   '  '  '!  '  '   '  '  ' '  '  '  '  '  '  '  '  '  ' ( (  ( ( ( ( (  ( ( ( (  ( (" ( ( ( !  ( (   ((  (  (   (#  (&' / )2! Test messages for packed fields ) ): ) ) ) )') )*9  )+8  )+1  )+1  )+1  )48 ): ) ) ) )') )*9  )+8  )+1  )+1  )+1  )48 ): ) )  )! )') )*9  )+8  )+1  )+1  )+1  )48 ): ) )  )! )') )*9  )+8  )+1  )+1  )+1  )48 ): ) )  )! )') )*9  )+8  )+1  )+1  )+1  )48 ): ) )  )! )') )*9  )+8  )+1  )+1  )+1  )48 ): ) )  )" )') )*9  )+8  )+1  )+1  )+1  )48 ): ) )  )" )') )*9  )+8  )+1  )+1  )+1  )48 ): ) )  )# )') )*9  )+8  )+1  )+1  )+1  )48 ) : )  )   ) # ) ') ) *9  ) +8  ) +1  ) +1  ) +1  ) 48 ) : )  )  )  ) &) ) *9  ) +8  ) +1  ) +1  ) +1  ) 48 ) : )  )   ) ! ) &) ) *9  ) +8  ) +1  ) +1  ) +1  ) 48 ) : )  )  )  ) &) ) *9  ) +8  ) +1  ) +1  ) +1  ) 48 ) : )  )   ) " ) &) ) *9  ) +8  ) +1  ) +1  ) +1  ) 48  * A message with the same fields as TestPackedTypes, but without packing. Used to test packed <-> unpacked wire compatibility. * *= * * *" *)+ *,<  *-;  *-3  *-3  *-3  *6; *= * * *" *)+ *,<  *-;  *-3  *-3  *-3  *6; *= * *  *# *)+ *,<  *-;  *-3  *-3  *-3  *6; *= * *  *# *)+ *,<  *-;  *-3  *-3  *-3  *6; *= * *  *# *)+ *,<  *-;  *-3  *-3  *-3  *6; *= * *  *# *)+ *,<  *-;  *-3  *-3  *-3  *6; *= * *  *$ *)+ *,<  *-;  *-3  *-3  *-3  *6; *= * *  *$ *)+ *,<  *-;  *-3  *-3  *-3  *6; *= * *  *% *)+ *,<  *-;  *-3  *-3  *-3  *6; * = *  *   * % * )+ * ,<  * -;  * -3  * -3  * -3  * 6; * = *  *  * " * (+ * ,<  * -;  * -3  * -3  * -3  * 6; * = *  *   * # * (+ * ,<  * -;  * -3  * -3  * -3  * 6; * = *  *  * ! * (+ * ,<  * -;  * -3  * -3  * -3  * 6; * = *  *   * $ * (+ * ,<  * -;  * -3  * -3  * -3  * 6; + + + +  +  +  MD M M M M* M13 M4C  M5B  M5;  M5;  M5;  M>B ND N N N N* N13 N4C  N5B  N5;  N5;  N5;  N>B OD O O O  O+ O13 O4C  O5B  O5;  O5;  O5;  O>B PD P P P  P+ P13 P4C  P5B  P5;  P5;  P5;  P>B QD Q Q Q  Q+ Q13 Q4C  Q5B  Q5;  Q5;  Q5;  Q>B RD R R R  R+ R13 R4C  R5B  R5;  R5;  R5;  R>B SD S S S  S, S13 S4C  S5B  S5;  S5;  S5;  S>B TD T T T  T, T13 T4C  T5B  T5;  T5;  T5;  T>B UD U U U  U- U13 U4C  U5B  U5;  U5;  U5;  U>B VD V V V  V- V13 V4C  V5B  V5;  V5;  V5;  V>B WD W W W W* W03 W4C  W5B  W5;  W5;  W5;  W>B XD X X X  X+ X03 X4C  X5B  X5;  X5;  X5;  X>B YD Y Y Y Y) Y03 Y4C  Y5B  Y5;  Y5;  Y5;  Y>B ZD Z Z Z  Z, Z03 Z4C  Z5B  Z5;  Z5;  Z5;  Z>B , , , ,  ,  ,  [G [ [ [ [, [35 [6F  [7E  [7=  [7=  [7=  [@E \G \ \ \ \, \35 \6F  \7E  \7=  \7=  \7=  \@E ]G ] ] ]  ]- ]35 ]6F  ]7E  ]7=  ]7=  ]7=  ]@E ^G ^ ^ ^  ^- ^35 ^6F  ^7E  ^7=  ^7=  ^7=  ^@E _G _ _ _  _- _35 _6F  _7E  _7=  _7=  _7=  _@E `G ` ` `  `- `35 `6F  `7E  `7=  `7=  `7=  `@E aG a a a  a. a35 a6F  a7E  a7=  a7=  a7=  a@E bG b b b  b. b35 b6F  b7E  b7=  b7=  b7=  b@E cG c c c  c/ c35 c6F  c7E  c7=  c7=  c7=  c@E dG d d d  d/ d35 d6F  d7E  d7=  d7=  d7=  d@E eG e e e e, e25 e6F  e7E  e7=  e7=  e7=  e@E fG f f f  f- f25 f6F  f7E  f7=  f7=  f7=  f@E gG g g g g+ g25 g6F  g7E  g7=  g7=  g7=  g@E hG h h h  h. h25 h6F  h7E  h7=  h7=  h7=  h@E  - Used by ExtensionSetTest/DynamicExtensions. The test actually builds a set of extensions to TestAllExtensions dynamically, based on the fields of this message type. -  - -  -  -  -  -  -  -  -  -  -  - -   -(  -  -   -  -#' -+ - -  -# -&* -- - -  -% -(, -9 - -  -1 -48 -3 - -  -+ -.2 -? - -  -7 -:> -, - -  -$ -'+ -: - -  -" -%) -*9  -+8  -+1  -+1  -+1  -48 . .+  .) Parsing repeated fixed size values used to fail. This message needs to be used in order to get a tag of the right size; all of the repeated fields in TestAllTypes didn't trigger the check. . .  .# .&( ? .)1 Check for a varint type, just for good measure. . .  .! .&( ) .+ These have two-byte tags. . .  .# .&* .+ . .  .! .&* .- Three byte tags. . .  .! .&, .- . .  ." .&,  /x Test that if an optional or required message/group field appears multiple times in the input, they need to be merged. /  / RepeatedFieldsGenerator defines matching field types as TestParsingMerge, except that all fields are repeated. In the tests, we will serialize the RepeatedFieldsGenerator to bytes, and parse the bytes to TestParsingMerge. Repeated fields in RepeatedFieldsGenerator are expected to be merged into the corresponding required/optional fields in TestParsingMerge. / !  /%  /  /   /  /#$  /%  /  /   /  /#$  /%  /  /   /  /#$  /  /  /   /  /  /  /  /  /(  /  /  /"  /%'  /  /  /   /  /  /  /  /  /(  /  /  /"  /%'  /&  /  /   /  /!%  /&  /  /   /  /!% // / /  /* /-. // / /  /* /-. // / /  /* /-.  / / /  / /!#  / / /  /8  /  /   /2  /57  / / /  / /!#  / / /  /8  /  /   /2  /57 / /  /  / / /. /  / /  /& /)- /. /  / /  /& /)- 0 0# E 0?7 */ <- This should not close the generated doc comment 0 0  0 0 0> 0!= * 1 Test that RPC services work. 1 2 2 3 3 4 4   ,    * ,    * 5 5 6 6