aboutsummaryrefslogblamecommitdiff
path: root/src/ProtocolBuffers.Test/TestProtos/UnitTestGoogleSizeProtoFile.cs
blob: 00485d618b1fdbe33019e80765cb76da37329963 (plain) (tree)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
2750
2751
2752
2753
2754
2755
2756
2757
2758
2759
2760
2761
2762
2763
2764
2765
2766
2767
2768
2769
2770
2771
2772
2773
2774
2775
2776
2777
2778
2779
2780
2781
2782
2783
2784
2785
2786
2787
2788
2789
2790
2791
2792
2793
2794
2795
2796
2797
2798
2799
2800
2801
2802
2803
2804
2805
2806
2807
2808
2809
2810
2811
2812
2813
2814
2815
2816
2817
2818
2819
2820
2821
2822
2823
2824
2825
2826
2827
2828
2829
2830
2831
2832
2833
2834
2835
2836
2837
2838
2839
2840
2841
2842
2843
2844
2845
2846
2847
2848
2849
2850
2851
2852
2853
2854
2855
2856
2857
2858
2859
2860
2861
2862
2863
2864
2865
2866
2867
2868
2869
2870
2871
2872
2873
2874
2875
2876
2877
2878
2879
2880
2881
2882
2883
2884
2885
2886
2887
2888
2889
2890
2891
2892
2893
2894
2895
2896
2897
2898
2899
2900
2901
2902
2903
2904
2905
2906
2907
2908
2909
2910
2911
2912
2913
2914
2915
2916
2917
2918
2919
2920
2921
2922
2923
2924
2925
2926
2927
2928
2929
2930
2931
2932
2933
2934
2935
2936
2937
2938
2939
2940
2941
2942
2943
2944
2945
2946
2947
2948
2949
2950
2951
2952
2953
2954
2955
2956
2957
2958
2959
2960
2961
2962
2963
2964
2965
2966
2967
2968
2969
2970
2971
2972
2973
2974
2975
2976
2977
2978
2979
2980
2981
2982
2983
2984
2985
2986
2987
2988
2989
2990
2991
2992
2993
2994
2995
2996
2997
2998
2999
3000
3001
3002
3003
3004
3005
3006
3007
3008
3009
3010
3011
3012
3013
3014
3015
3016
3017
3018
3019
3020
3021
3022
3023
3024
3025
3026
3027
3028
3029
3030
3031
3032
3033
3034
3035
3036
3037
3038
3039
3040
3041
3042
3043
3044
3045
3046
3047
3048
3049
3050
3051
3052
3053
3054
3055
3056
3057
3058
3059
3060
3061
3062
3063
3064
3065
3066
3067
3068
3069
3070
3071
3072
3073
3074
3075
3076
3077
3078
3079
3080
3081
3082
3083
3084
3085
3086
3087
3088
3089
3090
3091
3092
3093
3094
3095
3096
3097
3098
3099
3100
3101
3102
3103



















































































































































































































































































































































































































































































































































































































                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           
                                                                        

                                                                         
                                                                                                                 




















































                                                                                                                 
                                         

















                                                     
                                         

















                                                     
                                          

















                                                     
                                          
















                                              
                                          
















                                              
                                         
















                                            
                                         
















                                            
                                           
















                                              
                                         
















                                            
                                          
















                                              
                                         
















































                                                                      
                                          
















                                              
                                         

















                                                     
                                          
















                                             
                                           
















                                              
                                          
















                                              
                                          
















                                              
                                          
















                                              
                                          
















                                              
                                           
















                                              
                                           
















                                              
                                           
















                                              
                                           

















                                                     
                                           

















                                                     
                                          
















                                             
                                          
















                                              
                                          
















                                             
                                           
















                                              
                                           
















                                              
                                           
















                                              
                                          
















                                             
                                          
















                                              
                                          
















                                             
                                         


















                                                                                                                            
                                 














                                                                                                                                                               
                                          
















                                              
                                          
















                                             
                                          
















                                             
                                           
















                                              
                                           

















                                                     
                                           

















































































































































































































































































                                                                                                                                                                   
                                                                                  

                                                                         
                                                                                                                           



















































                                                                                                                 
                                         
















                                            
                                         
















                                            
                                         
















                                            
                                          

















                                                     
                                          
















                                              
                                          
















                                              
                                          
















                                              
                                          
















                                             
                                          
















                                             
                                          
















                                              
                                          
















                                              
                                          


















                                               
                                          
















                                             
                                          
















                                              
                                           
















                                               
                                           


















                                               
                                           
















                                              
                                           

















                                                     
                                           


















                                                
                                           












































































































































































































































































                                                                                                                                                                                      
                                                                      

                                                                             
                                                                                                               






















































                                                                                                                     
                                              
















                                                   
                                              
















                                                   
                                              

















                                                         
                                              













































                                                                            
                                              


















                                                   
                                             
















                                                
                                              

















                                                         
                                              
















                                                 
                                              

















                                                         
                                              







































































                                                                            
                                              
















                                                 
                                              

















                                                         
                                             


















                                                                                                                                    
                                     

































































































































































































































































































































































                                                                                                                                                                                                           
                                                                        

                                                                         
                                                                                                                 























































                                                                                                                 
                                         

















                                                     
                                         
















                                             
                                         
















                                             
                                          
















                                              
                                          
















                                              
                                         

















                                                     
                                         

















                                                       
                                          
















                                             
                                          
















                                             
                                          
















                                               
                                           
















                                              
                                           
















                                              
                                           
















                                              
                                           
















                                              
                                           
















                                              
                                           
















                                              
                                           
















                                              
                                           
















                                              
                                           
















                                              
                                           
















                                              
                                           
















                                                
                                          


















































































                                                                                                                                         
                                           












































                                                                         
                                           










































                                                                       
                                           
















                                               
                                           



















































































































































































                                                                                                                                                                       
                                                                                      

                                                                         
                                                                                                                               



















































                                                                                                                 
                                         
















                                              
                                         
















                                              
                                         
















                                              
                                         
















                                             
                                         
















                                             
                                         
















                                             
                                         
















                                             
                                         
















                                              
                                         
















                                             
                                          
















                                               
                                          























                                                                                                                      
// Generated by ProtoGen, Version=2.3.0.277, Culture=neutral, PublicKeyToken=17b3b1f090c3ea48.  DO NOT EDIT!

using pb = global::Google.ProtocolBuffers;
using pbc = global::Google.ProtocolBuffers.Collections;
using pbd = global::Google.ProtocolBuffers.Descriptors;
using scg = global::System.Collections.Generic;
namespace Google.ProtocolBuffers.TestProtos {
  
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
  [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]
  public static partial class UnitTestGoogleSizeProtoFile {
  
    #region Extension registration
    public static void RegisterAllExtensions(pb::ExtensionRegistry registry) {
    }
    #endregion
    #region Static variables
    internal static pbd::MessageDescriptor internal__static_benchmarks_SizeMessage1__Descriptor;
    internal static pb::FieldAccess.FieldAccessorTable<global::Google.ProtocolBuffers.TestProtos.SizeMessage1, global::Google.ProtocolBuffers.TestProtos.SizeMessage1.Builder> internal__static_benchmarks_SizeMessage1__FieldAccessorTable;
    internal static pbd::MessageDescriptor internal__static_benchmarks_SizeMessage1SubMessage__Descriptor;
    internal static pb::FieldAccess.FieldAccessorTable<global::Google.ProtocolBuffers.TestProtos.SizeMessage1SubMessage, global::Google.ProtocolBuffers.TestProtos.SizeMessage1SubMessage.Builder> internal__static_benchmarks_SizeMessage1SubMessage__FieldAccessorTable;
    internal static pbd::MessageDescriptor internal__static_benchmarks_SizeMessage2__Descriptor;
    internal static pb::FieldAccess.FieldAccessorTable<global::Google.ProtocolBuffers.TestProtos.SizeMessage2, global::Google.ProtocolBuffers.TestProtos.SizeMessage2.Builder> internal__static_benchmarks_SizeMessage2__FieldAccessorTable;
    internal static pbd::MessageDescriptor internal__static_benchmarks_SizeMessage2_Group1__Descriptor;
    internal static pb::FieldAccess.FieldAccessorTable<global::Google.ProtocolBuffers.TestProtos.SizeMessage2.Types.Group1, global::Google.ProtocolBuffers.TestProtos.SizeMessage2.Types.Group1.Builder> internal__static_benchmarks_SizeMessage2_Group1__FieldAccessorTable;
    internal static pbd::MessageDescriptor internal__static_benchmarks_SizeMessage2GroupedMessage__Descriptor;
    internal static pb::FieldAccess.FieldAccessorTable<global::Google.ProtocolBuffers.TestProtos.SizeMessage2GroupedMessage, global::Google.ProtocolBuffers.TestProtos.SizeMessage2GroupedMessage.Builder> internal__static_benchmarks_SizeMessage2GroupedMessage__FieldAccessorTable;
    #endregion
    #region Descriptor
    public static pbd::FileDescriptor Descriptor {
      get { return descriptor; }
    }
    private static pbd::FileDescriptor descriptor;
    
    static UnitTestGoogleSizeProtoFile() {
      byte[] descriptorData = global::System.Convert.FromBase64String(
          "Ch1nb29nbGUvdGVzdC9nb29nbGVfc2l6ZS5wcm90bxIKYmVuY2htYXJrcxok" + 
          "Z29vZ2xlL3Byb3RvYnVmL2NzaGFycF9vcHRpb25zLnByb3RvIvYGCgxTaXpl" + 
          "TWVzc2FnZTESDgoGZmllbGQxGAEgAigJEg4KBmZpZWxkORgJIAEoCRIPCgdm" + 
          "aWVsZDE4GBIgASgJEhYKB2ZpZWxkODAYUCABKAg6BWZhbHNlEhUKB2ZpZWxk" + 
          "ODEYUSABKAg6BHRydWUSDgoGZmllbGQyGAIgAigFEg4KBmZpZWxkMxgDIAIo" + 
          "BRIRCghmaWVsZDI4MBiYAiABKAUSEQoGZmllbGQ2GAYgASgFOgEwEg8KB2Zp" + 
          "ZWxkMjIYFiABKAMSDgoGZmllbGQ0GAQgASgJEg4KBmZpZWxkNRgFIAMoBhIW" + 
          "CgdmaWVsZDU5GDsgASgIOgVmYWxzZRIOCgZmaWVsZDcYByABKAkSDwoHZmll" + 
          "bGQxNhgQIAEoBRIUCghmaWVsZDEzMBiCASABKAU6ATASFQoHZmllbGQxMhgM" + 
          "IAEoCDoEdHJ1ZRIVCgdmaWVsZDE3GBEgASgIOgR0cnVlEhUKB2ZpZWxkMTMY" + 
          "DSABKAg6BHRydWUSFQoHZmllbGQxNBgOIAEoCDoEdHJ1ZRITCghmaWVsZDEw" + 
          "NBhoIAEoBToBMBITCghmaWVsZDEwMBhkIAEoBToBMBITCghmaWVsZDEwMRhl" + 
          "IAEoBToBMBIQCghmaWVsZDEwMhhmIAEoCRIQCghmaWVsZDEwMxhnIAEoCRIS" + 
          "CgdmaWVsZDI5GB0gASgFOgEwEhYKB2ZpZWxkMzAYHiABKAg6BWZhbHNlEhMK" + 
          "B2ZpZWxkNjAYPCABKAU6Ai0xEhUKCGZpZWxkMjcxGI8CIAEoBToCLTESFQoI" + 
          "ZmllbGQyNzIYkAIgASgFOgItMRIRCghmaWVsZDE1MBiWASABKAUSEgoHZmll" + 
          "bGQyMxgXIAEoBToBMBIWCgdmaWVsZDI0GBggASgIOgVmYWxzZRISCgdmaWVs" + 
          "ZDI1GBkgASgFOgEwEjMKB2ZpZWxkMTUYDyABKAsyIi5iZW5jaG1hcmtzLlNp" + 
          "emVNZXNzYWdlMVN1Yk1lc3NhZ2USDwoHZmllbGQ3OBhOIAEoCBISCgdmaWVs" + 
          "ZDY3GEMgASgFOgEwEg8KB2ZpZWxkNjgYRCABKAUSFAoIZmllbGQxMjgYgAEg" + 
          "ASgFOgEwEigKCGZpZWxkMTI5GIEBIAEoCToVeHh4eHh4eHh4eHh4eHh4eHh4" + 
          "eHh4EhQKCGZpZWxkMTMxGIMBIAEoBToBMCKhAwoWU2l6ZU1lc3NhZ2UxU3Vi" + 
          "TWVzc2FnZRIRCgZmaWVsZDEYASABKAU6ATASEQoGZmllbGQyGAIgASgFOgEw" + 
          "EhEKBmZpZWxkMxgDIAEoBToBMBIPCgdmaWVsZDE1GA8gASgJEhUKB2ZpZWxk" + 
          "MTIYDCABKAg6BHRydWUSDwoHZmllbGQxMxgNIAEoAxIPCgdmaWVsZDE0GA4g" + 
          "ASgDEg8KB2ZpZWxkMTYYECABKAUSEgoHZmllbGQxORgTIAEoBToBMhIVCgdm" + 
          "aWVsZDIwGBQgASgIOgR0cnVlEhUKB2ZpZWxkMjgYHCABKAg6BHRydWUSDwoH" + 
          "ZmllbGQyMRgVIAEoBhIPCgdmaWVsZDIyGBYgASgFEhYKB2ZpZWxkMjMYFyAB" + 
          "KAg6BWZhbHNlEhgKCGZpZWxkMjA2GM4BIAEoCDoFZmFsc2USEQoIZmllbGQy" + 
          "MDMYywEgASgHEhEKCGZpZWxkMjA0GMwBIAEoBRIRCghmaWVsZDIwNRjNASAB" + 
          "KAkSEQoIZmllbGQyMDcYzwEgASgEEhEKCGZpZWxkMzAwGKwCIAEoBCLHBwoM" + 
          "U2l6ZU1lc3NhZ2UyEg4KBmZpZWxkMRgBIAEoCRIOCgZmaWVsZDMYAyABKAMS" + 
          "DgoGZmllbGQ0GAQgASgDEg8KB2ZpZWxkMzAYHiABKAMSFgoHZmllbGQ3NRhL" + 
          "IAEoCDoFZmFsc2USDgoGZmllbGQ2GAYgASgJEg4KBmZpZWxkMhgCIAEoDBIS" + 
          "CgdmaWVsZDIxGBUgASgFOgEwEg8KB2ZpZWxkNzEYRyABKAUSDwoHZmllbGQy" + 
          "NRgZIAEoAhITCghmaWVsZDEwORhtIAEoBToBMBIUCghmaWVsZDIxMBjSASAB" + 
          "KAU6ATASFAoIZmllbGQyMTEY0wEgASgFOgEwEhQKCGZpZWxkMjEyGNQBIAEo" + 
          "BToBMBIUCghmaWVsZDIxMxjVASABKAU6ATASFAoIZmllbGQyMTYY2AEgASgF" + 
          "OgEwEhQKCGZpZWxkMjE3GNkBIAEoBToBMBIUCghmaWVsZDIxOBjaASABKAU6" + 
          "ATASFAoIZmllbGQyMjAY3AEgASgFOgEwEhQKCGZpZWxkMjIxGN0BIAEoBToB" + 
          "MBIUCghmaWVsZDIyMhjeASABKAI6ATASDwoHZmllbGQ2Mxg/IAEoBRIvCgZn" + 
          "cm91cDEYCiADKAoyHy5iZW5jaG1hcmtzLlNpemVNZXNzYWdlMi5Hcm91cDES" + 
          "EQoIZmllbGQxMjgYgAEgAygJEhEKCGZpZWxkMTMxGIMBIAEoAxIQCghmaWVs" + 
          "ZDEyNxh/IAMoCRIRCghmaWVsZDEyORiBASABKAUSEQoIZmllbGQxMzAYggEg" + 
          "AygDEhgKCGZpZWxkMjA1GM0BIAEoCDoFZmFsc2USGAoIZmllbGQyMDYYzgEg" + 
          "ASgIOgVmYWxzZRrCAgoGR3JvdXAxEg8KB2ZpZWxkMTEYCyACKAISDwoHZmll" + 
          "bGQyNhgaIAEoAhIPCgdmaWVsZDEyGAwgASgJEg8KB2ZpZWxkMTMYDSABKAkS" + 
          "DwoHZmllbGQxNBgOIAMoCRIPCgdmaWVsZDE1GA8gAigEEg4KBmZpZWxkNRgF" + 
          "IAEoBRIPCgdmaWVsZDI3GBsgASgJEg8KB2ZpZWxkMjgYHCABKAUSDwoHZmll" + 
          "bGQyORgdIAEoCRIPCgdmaWVsZDE2GBAgASgJEg8KB2ZpZWxkMjIYFiADKAkS" + 
          "DwoHZmllbGQ3MxhJIAMoBRISCgdmaWVsZDIwGBQgASgFOgEwEg8KB2ZpZWxk" + 
          "MjQYGCABKAkSNwoHZmllbGQzMRgfIAEoCzImLmJlbmNobWFya3MuU2l6ZU1l" + 
          "c3NhZ2UyR3JvdXBlZE1lc3NhZ2Ui3gEKGlNpemVNZXNzYWdlMkdyb3VwZWRN" + 
          "ZXNzYWdlEg4KBmZpZWxkMRgBIAEoAhIOCgZmaWVsZDIYAiABKAISEQoGZmll" + 
          "bGQzGAMgASgCOgEwEg4KBmZpZWxkNBgEIAEoCBIOCgZmaWVsZDUYBSABKAgS" + 
          "FAoGZmllbGQ2GAYgASgIOgR0cnVlEhUKBmZpZWxkNxgHIAEoCDoFZmFsc2US" + 
          "DgoGZmllbGQ4GAggASgCEg4KBmZpZWxkORgJIAEoCBIPCgdmaWVsZDEwGAog" + 
          "ASgCEg8KB2ZpZWxkMTEYCyABKANCUUIKR29vZ2xlU2l6ZUgCwj5ACiFHb29n" + 
          "bGUuUHJvdG9jb2xCdWZmZXJzLlRlc3RQcm90b3MSG1VuaXRUZXN0R29vZ2xl" + 
          "U2l6ZVByb3RvRmlsZQ==");
      pbd::FileDescriptor.InternalDescriptorAssigner assigner = delegate(pbd::FileDescriptor root) {
        descriptor = root;
        internal__static_benchmarks_SizeMessage1__Descriptor = Descriptor.MessageTypes[0];
        internal__static_benchmarks_SizeMessage1__FieldAccessorTable = 
            new pb::FieldAccess.FieldAccessorTable<global::Google.ProtocolBuffers.TestProtos.SizeMessage1, global::Google.ProtocolBuffers.TestProtos.SizeMessage1.Builder>(internal__static_benchmarks_SizeMessage1__Descriptor,
                new string[] { "Field1", "Field9", "Field18", "Field80", "Field81", "Field2", "Field3", "Field280", "Field6", "Field22", "Field4", "Field5", "Field59", "Field7", "Field16", "Field130", "Field12", "Field17", "Field13", "Field14", "Field104", "Field100", "Field101", "Field102", "Field103", "Field29", "Field30", "Field60", "Field271", "Field272", "Field150", "Field23", "Field24", "Field25", "Field15", "Field78", "Field67", "Field68", "Field128", "Field129", "Field131", });
        internal__static_benchmarks_SizeMessage1SubMessage__Descriptor = Descriptor.MessageTypes[1];
        internal__static_benchmarks_SizeMessage1SubMessage__FieldAccessorTable = 
            new pb::FieldAccess.FieldAccessorTable<global::Google.ProtocolBuffers.TestProtos.SizeMessage1SubMessage, global::Google.ProtocolBuffers.TestProtos.SizeMessage1SubMessage.Builder>(internal__static_benchmarks_SizeMessage1SubMessage__Descriptor,
                new string[] { "Field1", "Field2", "Field3", "Field15", "Field12", "Field13", "Field14", "Field16", "Field19", "Field20", "Field28", "Field21", "Field22", "Field23", "Field206", "Field203", "Field204", "Field205", "Field207", "Field300", });
        internal__static_benchmarks_SizeMessage2__Descriptor = Descriptor.MessageTypes[2];
        internal__static_benchmarks_SizeMessage2__FieldAccessorTable = 
            new pb::FieldAccess.FieldAccessorTable<global::Google.ProtocolBuffers.TestProtos.SizeMessage2, global::Google.ProtocolBuffers.TestProtos.SizeMessage2.Builder>(internal__static_benchmarks_SizeMessage2__Descriptor,
                new string[] { "Field1", "Field3", "Field4", "Field30", "Field75", "Field6", "Field2", "Field21", "Field71", "Field25", "Field109", "Field210", "Field211", "Field212", "Field213", "Field216", "Field217", "Field218", "Field220", "Field221", "Field222", "Field63", "Group1", "Field128", "Field131", "Field127", "Field129", "Field130", "Field205", "Field206", });
        internal__static_benchmarks_SizeMessage2_Group1__Descriptor = internal__static_benchmarks_SizeMessage2__Descriptor.NestedTypes[0];
        internal__static_benchmarks_SizeMessage2_Group1__FieldAccessorTable = 
            new pb::FieldAccess.FieldAccessorTable<global::Google.ProtocolBuffers.TestProtos.SizeMessage2.Types.Group1, global::Google.ProtocolBuffers.TestProtos.SizeMessage2.Types.Group1.Builder>(internal__static_benchmarks_SizeMessage2_Group1__Descriptor,
                new string[] { "Field11", "Field26", "Field12", "Field13", "Field14", "Field15", "Field5", "Field27", "Field28", "Field29", "Field16", "Field22", "Field73", "Field20", "Field24", "Field31", });
        internal__static_benchmarks_SizeMessage2GroupedMessage__Descriptor = Descriptor.MessageTypes[3];
        internal__static_benchmarks_SizeMessage2GroupedMessage__FieldAccessorTable = 
            new pb::FieldAccess.FieldAccessorTable<global::Google.ProtocolBuffers.TestProtos.SizeMessage2GroupedMessage, global::Google.ProtocolBuffers.TestProtos.SizeMessage2GroupedMessage.Builder>(internal__static_benchmarks_SizeMessage2GroupedMessage__Descriptor,
                new string[] { "Field1", "Field2", "Field3", "Field4", "Field5", "Field6", "Field7", "Field8", "Field9", "Field10", "Field11", });
        pb::ExtensionRegistry registry = pb::ExtensionRegistry.CreateInstance();
        RegisterAllExtensions(registry);
        global::Google.ProtocolBuffers.DescriptorProtos.CSharpOptions.RegisterAllExtensions(registry);
        return registry;
      };
      pbd::FileDescriptor.InternalBuildGeneratedFileFrom(descriptorData,
          new pbd::FileDescriptor[] {
          global::Google.ProtocolBuffers.DescriptorProtos.CSharpOptions.Descriptor, 
          }, assigner);
    }
    #endregion
    
  }
  #region Messages
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
  [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]
  public sealed partial class SizeMessage1 : pb::GeneratedMessage<SizeMessage1, SizeMessage1.Builder> {
    private static readonly SizeMessage1 defaultInstance = new Builder().BuildPartial();
    public static SizeMessage1 DefaultInstance {
      get { return defaultInstance; }
    }
    
    public override SizeMessage1 DefaultInstanceForType {
      get { return defaultInstance; }
    }
    
    protected override SizeMessage1 ThisMessage {
      get { return this; }
    }
    
    public static pbd::MessageDescriptor Descriptor {
      get { return global::Google.ProtocolBuffers.TestProtos.UnitTestGoogleSizeProtoFile.internal__static_benchmarks_SizeMessage1__Descriptor; }
    }
    
    protected override pb::FieldAccess.FieldAccessorTable<SizeMessage1, SizeMessage1.Builder> InternalFieldAccessors {
      get { return global::Google.ProtocolBuffers.TestProtos.UnitTestGoogleSizeProtoFile.internal__static_benchmarks_SizeMessage1__FieldAccessorTable; }
    }
    
    public const int Field1FieldNumber = 1;
    private bool hasField1;
    private string field1_ = "";
    public bool HasField1 {
      get { return hasField1; }
    }
    public string Field1 {
      get { return field1_; }
    }
    
    public const int Field9FieldNumber = 9;
    private bool hasField9;
    private string field9_ = "";
    public bool HasField9 {
      get { return hasField9; }
    }
    public string Field9 {
      get { return field9_; }
    }
    
    public const int Field18FieldNumber = 18;
    private bool hasField18;
    private string field18_ = "";
    public bool HasField18 {
      get { return hasField18; }
    }
    public string Field18 {
      get { return field18_; }
    }
    
    public const int Field80FieldNumber = 80;
    private bool hasField80;
    private bool field80_ = false;
    public bool HasField80 {
      get { return hasField80; }
    }
    public bool Field80 {
      get { return field80_; }
    }
    
    public const int Field81FieldNumber = 81;
    private bool hasField81;
    private bool field81_ = true;
    public bool HasField81 {
      get { return hasField81; }
    }
    public bool Field81 {
      get { return field81_; }
    }
    
    public const int Field2FieldNumber = 2;
    private bool hasField2;
    private int field2_ = 0;
    public bool HasField2 {
      get { return hasField2; }
    }
    public int Field2 {
      get { return field2_; }
    }
    
    public const int Field3FieldNumber = 3;
    private bool hasField3;
    private int field3_ = 0;
    public bool HasField3 {
      get { return hasField3; }
    }
    public int Field3 {
      get { return field3_; }
    }
    
    public const int Field280FieldNumber = 280;
    private bool hasField280;
    private int field280_ = 0;
    public bool HasField280 {
      get { return hasField280; }
    }
    public int Field280 {
      get { return field280_; }
    }
    
    public const int Field6FieldNumber = 6;
    private bool hasField6;
    private int field6_ = 0;
    public bool HasField6 {
      get { return hasField6; }
    }
    public int Field6 {
      get { return field6_; }
    }
    
    public const int Field22FieldNumber = 22;
    private bool hasField22;
    private long field22_ = 0L;
    public bool HasField22 {
      get { return hasField22; }
    }
    public long Field22 {
      get { return field22_; }
    }
    
    public const int Field4FieldNumber = 4;
    private bool hasField4;
    private string field4_ = "";
    public bool HasField4 {
      get { return hasField4; }
    }
    public string Field4 {
      get { return field4_; }
    }
    
    public const int Field5FieldNumber = 5;
    private pbc::PopsicleList<ulong> field5_ = new pbc::PopsicleList<ulong>();
    [global::System.CLSCompliant(false)]
    public scg::IList<ulong> Field5List {
      get { return pbc::Lists.AsReadOnly(field5_); }
    }
    public int Field5Count {
      get { return field5_.Count; }
    }
    [global::System.CLSCompliant(false)]
    public ulong GetField5(int index) {
      return field5_[index];
    }
    
    public const int Field59FieldNumber = 59;
    private bool hasField59;
    private bool field59_ = false;
    public bool HasField59 {
      get { return hasField59; }
    }
    public bool Field59 {
      get { return field59_; }
    }
    
    public const int Field7FieldNumber = 7;
    private bool hasField7;
    private string field7_ = "";
    public bool HasField7 {
      get { return hasField7; }
    }
    public string Field7 {
      get { return field7_; }
    }
    
    public const int Field16FieldNumber = 16;
    private bool hasField16;
    private int field16_ = 0;
    public bool HasField16 {
      get { return hasField16; }
    }
    public int Field16 {
      get { return field16_; }
    }
    
    public const int Field130FieldNumber = 130;
    private bool hasField130;
    private int field130_ = 0;
    public bool HasField130 {
      get { return hasField130; }
    }
    public int Field130 {
      get { return field130_; }
    }
    
    public const int Field12FieldNumber = 12;
    private bool hasField12;
    private bool field12_ = true;
    public bool HasField12 {
      get { return hasField12; }
    }
    public bool Field12 {
      get { return field12_; }
    }
    
    public const int Field17FieldNumber = 17;
    private bool hasField17;
    private bool field17_ = true;
    public bool HasField17 {
      get { return hasField17; }
    }
    public bool Field17 {
      get { return field17_; }
    }
    
    public const int Field13FieldNumber = 13;
    private bool hasField13;
    private bool field13_ = true;
    public bool HasField13 {
      get { return hasField13; }
    }
    public bool Field13 {
      get { return field13_; }
    }
    
    public const int Field14FieldNumber = 14;
    private bool hasField14;
    private bool field14_ = true;
    public bool HasField14 {
      get { return hasField14; }
    }
    public bool Field14 {
      get { return field14_; }
    }
    
    public const int Field104FieldNumber = 104;
    private bool hasField104;
    private int field104_ = 0;
    public bool HasField104 {
      get { return hasField104; }
    }
    public int Field104 {
      get { return field104_; }
    }
    
    public const int Field100FieldNumber = 100;
    private bool hasField100;
    private int field100_ = 0;
    public bool HasField100 {
      get { return hasField100; }
    }
    public int Field100 {
      get { return field100_; }
    }
    
    public const int Field101FieldNumber = 101;
    private bool hasField101;
    private int field101_ = 0;
    public bool HasField101 {
      get { return hasField101; }
    }
    public int Field101 {
      get { return field101_; }
    }
    
    public const int Field102FieldNumber = 102;
    private bool hasField102;
    private string field102_ = "";
    public bool HasField102 {
      get { return hasField102; }
    }
    public string Field102 {
      get { return field102_; }
    }
    
    public const int Field103FieldNumber = 103;
    private bool hasField103;
    private string field103_ = "";
    public bool HasField103 {
      get { return hasField103; }
    }
    public string Field103 {
      get { return field103_; }
    }
    
    public const int Field29FieldNumber = 29;
    private bool hasField29;
    private int field29_ = 0;
    public bool HasField29 {
      get { return hasField29; }
    }
    public int Field29 {
      get { return field29_; }
    }
    
    public const int Field30FieldNumber = 30;
    private bool hasField30;
    private bool field30_ = false;
    public bool HasField30 {
      get { return hasField30; }
    }
    public bool Field30 {
      get { return field30_; }
    }
    
    public const int Field60FieldNumber = 60;
    private bool hasField60;
    private int field60_ = -1;
    public bool HasField60 {
      get { return hasField60; }
    }
    public int Field60 {
      get { return field60_; }
    }
    
    public const int Field271FieldNumber = 271;
    private bool hasField271;
    private int field271_ = -1;
    public bool HasField271 {
      get { return hasField271; }
    }
    public int Field271 {
      get { return field271_; }
    }
    
    public const int Field272FieldNumber = 272;
    private bool hasField272;
    private int field272_ = -1;
    public bool HasField272 {
      get { return hasField272; }
    }
    public int Field272 {
      get { return field272_; }
    }
    
    public const int Field150FieldNumber = 150;
    private bool hasField150;
    private int field150_ = 0;
    public bool HasField150 {
      get { return hasField150; }
    }
    public int Field150 {
      get { return field150_; }
    }
    
    public const int Field23FieldNumber = 23;
    private bool hasField23;
    private int field23_ = 0;
    public bool HasField23 {
      get { return hasField23; }
    }
    public int Field23 {
      get { return field23_; }
    }
    
    public const int Field24FieldNumber = 24;
    private bool hasField24;
    private bool field24_ = false;
    public bool HasField24 {
      get { return hasField24; }
    }
    public bool Field24 {
      get { return field24_; }
    }
    
    public const int Field25FieldNumber = 25;
    private bool hasField25;
    private int field25_ = 0;
    public bool HasField25 {
      get { return hasField25; }
    }
    public int Field25 {
      get { return field25_; }
    }
    
    public const int Field15FieldNumber = 15;
    private bool hasField15;
    private global::Google.ProtocolBuffers.TestProtos.SizeMessage1SubMessage field15_ = global::Google.ProtocolBuffers.TestProtos.SizeMessage1SubMessage.DefaultInstance;
    public bool HasField15 {
      get { return hasField15; }
    }
    public global::Google.ProtocolBuffers.TestProtos.SizeMessage1SubMessage Field15 {
      get { return field15_; }
    }
    
    public const int Field78FieldNumber = 78;
    private bool hasField78;
    private bool field78_ = false;
    public bool HasField78 {
      get { return hasField78; }
    }
    public bool Field78 {
      get { return field78_; }
    }
    
    public const int Field67FieldNumber = 67;
    private bool hasField67;
    private int field67_ = 0;
    public bool HasField67 {
      get { return hasField67; }
    }
    public int Field67 {
      get { return field67_; }
    }
    
    public const int Field68FieldNumber = 68;
    private bool hasField68;
    private int field68_ = 0;
    public bool HasField68 {
      get { return hasField68; }
    }
    public int Field68 {
      get { return field68_; }
    }
    
    public const int Field128FieldNumber = 128;
    private bool hasField128;
    private int field128_ = 0;
    public bool HasField128 {
      get { return hasField128; }
    }
    public int Field128 {
      get { return field128_; }
    }
    
    public const int Field129FieldNumber = 129;
    private bool hasField129;
    private string field129_ = "xxxxxxxxxxxxxxxxxxxxx";
    public bool HasField129 {
      get { return hasField129; }
    }
    public string Field129 {
      get { return field129_; }
    }
    
    public const int Field131FieldNumber = 131;
    private bool hasField131;
    private int field131_ = 0;
    public bool HasField131 {
      get { return hasField131; }
    }
    public int Field131 {
      get { return field131_; }
    }
    
    public static SizeMessage1 ParseFrom(pb::ByteString data) {
      return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();
    }
    public static SizeMessage1 ParseFrom(pb::ByteString data, pb::ExtensionRegistry extensionRegistry) {
      return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry)).BuildParsed();
    }
    public static SizeMessage1 ParseFrom(byte[] data) {
      return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();
    }
    public static SizeMessage1 ParseFrom(byte[] data, pb::ExtensionRegistry extensionRegistry) {
      return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry)).BuildParsed();
    }
    public static SizeMessage1 ParseFrom(global::System.IO.Stream input) {
      return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();
    }
    public static SizeMessage1 ParseFrom(global::System.IO.Stream input, pb::ExtensionRegistry extensionRegistry) {
      return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry)).BuildParsed();
    }
    public static SizeMessage1 ParseDelimitedFrom(global::System.IO.Stream input) {
      return CreateBuilder().MergeDelimitedFrom(input).BuildParsed();
    }
    public static SizeMessage1 ParseDelimitedFrom(global::System.IO.Stream input, pb::ExtensionRegistry extensionRegistry) {
      return CreateBuilder().MergeDelimitedFrom(input, extensionRegistry).BuildParsed();
    }
    public static SizeMessage1 ParseFrom(pb::ICodedInputStream input) {
      return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();
    }
    public static SizeMessage1 ParseFrom(pb::ICodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
      return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry)).BuildParsed();
    }
    public static Builder CreateBuilder() { return new Builder(); }
    public override Builder ToBuilder() { return CreateBuilder(this); }
    public override Builder CreateBuilderForType() { return new Builder(); }
    public static Builder CreateBuilder(SizeMessage1 prototype) {
      return (Builder) new Builder().MergeFrom(prototype);
    }
    
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]
    public sealed partial class Builder : pb::GeneratedBuilder<SizeMessage1, Builder> {
      protected override Builder ThisBuilder {
        get { return this; }
      }
      public Builder() {}
      
      SizeMessage1 result = new SizeMessage1();
      
      protected override SizeMessage1 MessageBeingBuilt {
        get { return result; }
      }
      
      public override Builder Clear() {
        result = new SizeMessage1();
        return this;
      }
      
      public override Builder Clone() {
        return new Builder().MergeFrom(result);
      }
      
      public override pbd::MessageDescriptor DescriptorForType {
        get { return global::Google.ProtocolBuffers.TestProtos.SizeMessage1.Descriptor; }
      }
      
      public override SizeMessage1 DefaultInstanceForType {
        get { return global::Google.ProtocolBuffers.TestProtos.SizeMessage1.DefaultInstance; }
      }
      
      public override SizeMessage1 BuildPartial() {
        if (result == null) {
          throw new global::System.InvalidOperationException("build() has already been called on this Builder");
        }
        result.field5_.MakeReadOnly();
        SizeMessage1 returnMe = result;
        result = null;
        return returnMe;
      }
      
      
      public bool HasField1 {
        get { return result.hasField1; }
      }
      public string Field1 {
        get { return result.Field1; }
        set { SetField1(value); }
      }
      public Builder SetField1(string value) {
        pb::ThrowHelper.ThrowIfNull(value, "value");
        result.hasField1 = true;
        result.field1_ = value;
        return this;
      }
      public Builder ClearField1() {
        result.hasField1 = false;
        result.field1_ = "";
        return this;
      }
      
      public bool HasField9 {
        get { return result.hasField9; }
      }
      public string Field9 {
        get { return result.Field9; }
        set { SetField9(value); }
      }
      public Builder SetField9(string value) {
        pb::ThrowHelper.ThrowIfNull(value, "value");
        result.hasField9 = true;
        result.field9_ = value;
        return this;
      }
      public Builder ClearField9() {
        result.hasField9 = false;
        result.field9_ = "";
        return this;
      }
      
      public bool HasField18 {
        get { return result.hasField18; }
      }
      public string Field18 {
        get { return result.Field18; }
        set { SetField18(value); }
      }
      public Builder SetField18(string value) {
        pb::ThrowHelper.ThrowIfNull(value, "value");
        result.hasField18 = true;
        result.field18_ = value;
        return this;
      }
      public Builder ClearField18() {
        result.hasField18 = false;
        result.field18_ = "";
        return this;
      }
      
      public bool HasField80 {
        get { return result.hasField80; }
      }
      public bool Field80 {
        get { return result.Field80; }
        set { SetField80(value); }
      }
      public Builder SetField80(bool value) {
        result.hasField80 = true;
        result.field80_ = value;
        return this;
      }
      public Builder ClearField80() {
        result.hasField80 = false;
        result.field80_ = false;
        return this;
      }
      
      public bool HasField81 {
        get { return result.hasField81; }
      }
      public bool Field81 {
        get { return result.Field81; }
        set { SetField81(value); }
      }
      public Builder SetField81(bool value) {
        result.hasField81 = true;
        result.field81_ = value;
        return this;
      }
      public Builder ClearField81() {
        result.hasField81 = false;
        result.field81_ = true;
        return this;
      }
      
      public bool HasField2 {
        get { return result.hasField2; }
      }
      public int Field2 {
        get { return result.Field2; }
        set { SetField2(value); }
      }
      public Builder SetField2(int value) {
        result.hasField2 = true;
        result.field2_ = value;
        return this;
      }
      public Builder ClearField2() {
        result.hasField2 = false;
        result.field2_ = 0;
        return this;
      }
      
      public bool HasField3 {
        get { return result.hasField3; }
      }
      public int Field3 {
        get { return result.Field3; }
        set { SetField3(value); }
      }
      public Builder SetField3(int value) {
        result.hasField3 = true;
        result.field3_ = value;
        return this;
      }
      public Builder ClearField3() {
        result.hasField3 = false;
        result.field3_ = 0;
        return this;
      }
      
      public bool HasField280 {
        get { return result.hasField280; }
      }
      public int Field280 {
        get { return result.Field280; }
        set { SetField280(value); }
      }
      public Builder SetField280(int value) {
        result.hasField280 = true;
        result.field280_ = value;
        return this;
      }
      public Builder ClearField280() {
        result.hasField280 = false;
        result.field280_ = 0;
        return this;
      }
      
      public bool HasField6 {
        get { return result.hasField6; }
      }
      public int Field6 {
        get { return result.Field6; }
        set { SetField6(value); }
      }
      public Builder SetField6(int value) {
        result.hasField6 = true;
        result.field6_ = value;
        return this;
      }
      public Builder ClearField6() {
        result.hasField6 = false;
        result.field6_ = 0;
        return this;
      }
      
      public bool HasField22 {
        get { return result.hasField22; }
      }
      public long Field22 {
        get { return result.Field22; }
        set { SetField22(value); }
      }
      public Builder SetField22(long value) {
        result.hasField22 = true;
        result.field22_ = value;
        return this;
      }
      public Builder ClearField22() {
        result.hasField22 = false;
        result.field22_ = 0L;
        return this;
      }
      
      public bool HasField4 {
        get { return result.hasField4; }
      }
      public string Field4 {
        get { return result.Field4; }
        set { SetField4(value); }
      }
      public Builder SetField4(string value) {
        pb::ThrowHelper.ThrowIfNull(value, "value");
        result.hasField4 = true;
        result.field4_ = value;
        return this;
      }
      public Builder ClearField4() {
        result.hasField4 = false;
        result.field4_ = "";
        return this;
      }
      
      [global::System.CLSCompliant(false)]
      public pbc::IPopsicleList<ulong> Field5List {
        get { return result.field5_; }
      }
      public int Field5Count {
        get { return result.Field5Count; }
      }
      [global::System.CLSCompliant(false)]
      public ulong GetField5(int index) {
        return result.GetField5(index);
      }
      [global::System.CLSCompliant(false)]
      public Builder SetField5(int index, ulong value) {
        result.field5_[index] = value;
        return this;
      }
      [global::System.CLSCompliant(false)]
      public Builder AddField5(ulong value) {
        result.field5_.Add(value);
        return this;
      }
      [global::System.CLSCompliant(false)]
      public Builder AddRangeField5(scg::IEnumerable<ulong> values) {
        base.AddRange(values, result.field5_);
        return this;
      }
      public Builder ClearField5() {
        result.field5_.Clear();
        return this;
      }
      
      public bool HasField59 {
        get { return result.hasField59; }
      }
      public bool Field59 {
        get { return result.Field59; }
        set { SetField59(value); }
      }
      public Builder SetField59(bool value) {
        result.hasField59 = true;
        result.field59_ = value;
        return this;
      }
      public Builder ClearField59() {
        result.hasField59 = false;
        result.field59_ = false;
        return this;
      }
      
      public bool HasField7 {
        get { return result.hasField7; }
      }
      public string Field7 {
        get { return result.Field7; }
        set { SetField7(value); }
      }
      public Builder SetField7(string value) {
        pb::ThrowHelper.ThrowIfNull(value, "value");
        result.hasField7 = true;
        result.field7_ = value;
        return this;
      }
      public Builder ClearField7() {
        result.hasField7 = false;
        result.field7_ = "";
        return this;
      }
      
      public bool HasField16 {
        get { return result.hasField16; }
      }
      public int Field16 {
        get { return result.Field16; }
        set { SetField16(value); }
      }
      public Builder SetField16(int value) {
        result.hasField16 = true;
        result.field16_ = value;
        return this;
      }
      public Builder ClearField16() {
        result.hasField16 = false;
        result.field16_ = 0;
        return this;
      }
      
      public bool HasField130 {
        get { return result.hasField130; }
      }
      public int Field130 {
        get { return result.Field130; }
        set { SetField130(value); }
      }
      public Builder SetField130(int value) {
        result.hasField130 = true;
        result.field130_ = value;
        return this;
      }
      public Builder ClearField130() {
        result.hasField130 = false;
        result.field130_ = 0;
        return this;
      }
      
      public bool HasField12 {
        get { return result.hasField12; }
      }
      public bool Field12 {
        get { return result.Field12; }
        set { SetField12(value); }
      }
      public Builder SetField12(bool value) {
        result.hasField12 = true;
        result.field12_ = value;
        return this;
      }
      public Builder ClearField12() {
        result.hasField12 = false;
        result.field12_ = true;
        return this;
      }
      
      public bool HasField17 {
        get { return result.hasField17; }
      }
      public bool Field17 {
        get { return result.Field17; }
        set { SetField17(value); }
      }
      public Builder SetField17(bool value) {
        result.hasField17 = true;
        result.field17_ = value;
        return this;
      }
      public Builder ClearField17() {
        result.hasField17 = false;
        result.field17_ = true;
        return this;
      }
      
      public bool HasField13 {
        get { return result.hasField13; }
      }
      public bool Field13 {
        get { return result.Field13; }
        set { SetField13(value); }
      }
      public Builder SetField13(bool value) {
        result.hasField13 = true;
        result.field13_ = value;
        return this;
      }
      public Builder ClearField13() {
        result.hasField13 = false;
        result.field13_ = true;
        return this;
      }
      
      public bool HasField14 {
        get { return result.hasField14; }
      }
      public bool Field14 {
        get { return result.Field14; }
        set { SetField14(value); }
      }
      public Builder SetField14(bool value) {
        result.hasField14 = true;
        result.field14_ = value;
        return this;
      }
      public Builder ClearField14() {
        result.hasField14 = false;
        result.field14_ = true;
        return this;
      }
      
      public bool HasField104 {
        get { return result.hasField104; }
      }
      public int Field104 {
        get { return result.Field104; }
        set { SetField104(value); }
      }
      public Builder SetField104(int value) {
        result.hasField104 = true;
        result.field104_ = value;
        return this;
      }
      public Builder ClearField104() {
        result.hasField104 = false;
        result.field104_ = 0;
        return this;
      }
      
      public bool HasField100 {
        get { return result.hasField100; }
      }
      public int Field100 {
        get { return result.Field100; }
        set { SetField100(value); }
      }
      public Builder SetField100(int value) {
        result.hasField100 = true;
        result.field100_ = value;
        return this;
      }
      public Builder ClearField100() {
        result.hasField100 = false;
        result.field100_ = 0;
        return this;
      }
      
      public bool HasField101 {
        get { return result.hasField101; }
      }
      public int Field101 {
        get { return result.Field101; }
        set { SetField101(value); }
      }
      public Builder SetField101(int value) {
        result.hasField101 = true;
        result.field101_ = value;
        return this;
      }
      public Builder ClearField101() {
        result.hasField101 = false;
        result.field101_ = 0;
        return this;
      }
      
      public bool HasField102 {
        get { return result.hasField102; }
      }
      public string Field102 {
        get { return result.Field102; }
        set { SetField102(value); }
      }
      public Builder SetField102(string value) {
        pb::ThrowHelper.ThrowIfNull(value, "value");
        result.hasField102 = true;
        result.field102_ = value;
        return this;
      }
      public Builder ClearField102() {
        result.hasField102 = false;
        result.field102_ = "";
        return this;
      }
      
      public bool HasField103 {
        get { return result.hasField103; }
      }
      public string Field103 {
        get { return result.Field103; }
        set { SetField103(value); }
      }
      public Builder SetField103(string value) {
        pb::ThrowHelper.ThrowIfNull(value, "value");
        result.hasField103 = true;
        result.field103_ = value;
        return this;
      }
      public Builder ClearField103() {
        result.hasField103 = false;
        result.field103_ = "";
        return this;
      }
      
      public bool HasField29 {
        get { return result.hasField29; }
      }
      public int Field29 {
        get { return result.Field29; }
        set { SetField29(value); }
      }
      public Builder SetField29(int value) {
        result.hasField29 = true;
        result.field29_ = value;
        return this;
      }
      public Builder ClearField29() {
        result.hasField29 = false;
        result.field29_ = 0;
        return this;
      }
      
      public bool HasField30 {
        get { return result.hasField30; }
      }
      public bool Field30 {
        get { return result.Field30; }
        set { SetField30(value); }
      }
      public Builder SetField30(bool value) {
        result.hasField30 = true;
        result.field30_ = value;
        return this;
      }
      public Builder ClearField30() {
        result.hasField30 = false;
        result.field30_ = false;
        return this;
      }
      
      public bool HasField60 {
        get { return result.hasField60; }
      }
      public int Field60 {
        get { return result.Field60; }
        set { SetField60(value); }
      }
      public Builder SetField60(int value) {
        result.hasField60 = true;
        result.field60_ = value;
        return this;
      }
      public Builder ClearField60() {
        result.hasField60 = false;
        result.field60_ = -1;
        return this;
      }
      
      public bool HasField271 {
        get { return result.hasField271; }
      }
      public int Field271 {
        get { return result.Field271; }
        set { SetField271(value); }
      }
      public Builder SetField271(int value) {
        result.hasField271 = true;
        result.field271_ = value;
        return this;
      }
      public Builder ClearField271() {
        result.hasField271 = false;
        result.field271_ = -1;
        return this;
      }
      
      public bool HasField272 {
        get { return result.hasField272; }
      }
      public int Field272 {
        get { return result.Field272; }
        set { SetField272(value); }
      }
      public Builder SetField272(int value) {
        result.hasField272 = true;
        result.field272_ = value;
        return this;
      }
      public Builder ClearField272() {
        result.hasField272 = false;
        result.field272_ = -1;
        return this;
      }
      
      public bool HasField150 {
        get { return result.hasField150; }
      }
      public int Field150 {
        get { return result.Field150; }
        set { SetField150(value); }
      }
      public Builder SetField150(int value) {
        result.hasField150 = true;
        result.field150_ = value;
        return this;
      }
      public Builder ClearField150() {
        result.hasField150 = false;
        result.field150_ = 0;
        return this;
      }
      
      public bool HasField23 {
        get { return result.hasField23; }
      }
      public int Field23 {
        get { return result.Field23; }
        set { SetField23(value); }
      }
      public Builder SetField23(int value) {
        result.hasField23 = true;
        result.field23_ = value;
        return this;
      }
      public Builder ClearField23() {
        result.hasField23 = false;
        result.field23_ = 0;
        return this;
      }
      
      public bool HasField24 {
        get { return result.hasField24; }
      }
      public bool Field24 {
        get { return result.Field24; }
        set { SetField24(value); }
      }
      public Builder SetField24(bool value) {
        result.hasField24 = true;
        result.field24_ = value;
        return this;
      }
      public Builder ClearField24() {
        result.hasField24 = false;
        result.field24_ = false;
        return this;
      }
      
      public bool HasField25 {
        get { return result.hasField25; }
      }
      public int Field25 {
        get { return result.Field25; }
        set { SetField25(value); }
      }
      public Builder SetField25(int value) {
        result.hasField25 = true;
        result.field25_ = value;
        return this;
      }
      public Builder ClearField25() {
        result.hasField25 = false;
        result.field25_ = 0;
        return this;
      }
      
      public bool HasField15 {
       get { return result.hasField15; }
      }
      public global::Google.ProtocolBuffers.TestProtos.SizeMessage1SubMessage Field15 {
        get { return result.Field15; }
        set { SetField15(value); }
      }
      public Builder SetField15(global::Google.ProtocolBuffers.TestProtos.SizeMessage1SubMessage value) {
        pb::ThrowHelper.ThrowIfNull(value, "value");
        result.hasField15 = true;
        result.field15_ = value;
        return this;
      }
      public Builder SetField15(global::Google.ProtocolBuffers.TestProtos.SizeMessage1SubMessage.Builder builderForValue) {
        pb::ThrowHelper.ThrowIfNull(builderForValue, "builderForValue");
        result.hasField15 = true;
        result.field15_ = builderForValue.Build();
        return this;
      }
      public Builder MergeField15(global::Google.ProtocolBuffers.TestProtos.SizeMessage1SubMessage value) {
        pb::ThrowHelper.ThrowIfNull(value, "value");
        if (result.hasField15 &&
            result.field15_ != global::Google.ProtocolBuffers.TestProtos.SizeMessage1SubMessage.DefaultInstance) {
            result.field15_ = global::Google.ProtocolBuffers.TestProtos.SizeMessage1SubMessage.CreateBuilder(result.field15_).MergeFrom(value).BuildPartial();
        } else {
          result.field15_ = value;
        }
        result.hasField15 = true;
        return this;
      }
      public Builder ClearField15() {
        result.hasField15 = false;
        result.field15_ = global::Google.ProtocolBuffers.TestProtos.SizeMessage1SubMessage.DefaultInstance;
        return this;
      }
      
      public bool HasField78 {
        get { return result.hasField78; }
      }
      public bool Field78 {
        get { return result.Field78; }
        set { SetField78(value); }
      }
      public Builder SetField78(bool value) {
        result.hasField78 = true;
        result.field78_ = value;
        return this;
      }
      public Builder ClearField78() {
        result.hasField78 = false;
        result.field78_ = false;
        return this;
      }
      
      public bool HasField67 {
        get { return result.hasField67; }
      }
      public int Field67 {
        get { return result.Field67; }
        set { SetField67(value); }
      }
      public Builder SetField67(int value) {
        result.hasField67 = true;
        result.field67_ = value;
        return this;
      }
      public Builder ClearField67() {
        result.hasField67 = false;
        result.field67_ = 0;
        return this;
      }
      
      public bool HasField68 {
        get { return result.hasField68; }
      }
      public int Field68 {
        get { return result.Field68; }
        set { SetField68(value); }
      }
      public Builder SetField68(int value) {
        result.hasField68 = true;
        result.field68_ = value;
        return this;
      }
      public Builder ClearField68() {
        result.hasField68 = false;
        result.field68_ = 0;
        return this;
      }
      
      public bool HasField128 {
        get { return result.hasField128; }
      }
      public int Field128 {
        get { return result.Field128; }
        set { SetField128(value); }
      }
      public Builder SetField128(int value) {
        result.hasField128 = true;
        result.field128_ = value;
        return this;
      }
      public Builder ClearField128() {
        result.hasField128 = false;
        result.field128_ = 0;
        return this;
      }
      
      public bool HasField129 {
        get { return result.hasField129; }
      }
      public string Field129 {
        get { return result.Field129; }
        set { SetField129(value); }
      }
      public Builder SetField129(string value) {
        pb::ThrowHelper.ThrowIfNull(value, "value");
        result.hasField129 = true;
        result.field129_ = value;
        return this;
      }
      public Builder ClearField129() {
        result.hasField129 = false;
        result.field129_ = "xxxxxxxxxxxxxxxxxxxxx";
        return this;
      }
      
      public bool HasField131 {
        get { return result.hasField131; }
      }
      public int Field131 {
        get { return result.Field131; }
        set { SetField131(value); }
      }
      public Builder SetField131(int value) {
        result.hasField131 = true;
        result.field131_ = value;
        return this;
      }
      public Builder ClearField131() {
        result.hasField131 = false;
        result.field131_ = 0;
        return this;
      }
    }
    static SizeMessage1() {
      object.ReferenceEquals(global::Google.ProtocolBuffers.TestProtos.UnitTestGoogleSizeProtoFile.Descriptor, null);
    }
  }
  
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
  [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]
  public sealed partial class SizeMessage1SubMessage : pb::GeneratedMessage<SizeMessage1SubMessage, SizeMessage1SubMessage.Builder> {
    private static readonly SizeMessage1SubMessage defaultInstance = new Builder().BuildPartial();
    public static SizeMessage1SubMessage DefaultInstance {
      get { return defaultInstance; }
    }
    
    public override SizeMessage1SubMessage DefaultInstanceForType {
      get { return defaultInstance; }
    }
    
    protected override SizeMessage1SubMessage ThisMessage {
      get { return this; }
    }
    
    public static pbd::MessageDescriptor Descriptor {
      get { return global::Google.ProtocolBuffers.TestProtos.UnitTestGoogleSizeProtoFile.internal__static_benchmarks_SizeMessage1SubMessage__Descriptor; }
    }
    
    protected override pb::FieldAccess.FieldAccessorTable<SizeMessage1SubMessage, SizeMessage1SubMessage.Builder> InternalFieldAccessors {
      get { return global::Google.ProtocolBuffers.TestProtos.UnitTestGoogleSizeProtoFile.internal__static_benchmarks_SizeMessage1SubMessage__FieldAccessorTable; }
    }
    
    public const int Field1FieldNumber = 1;
    private bool hasField1;
    private int field1_ = 0;
    public bool HasField1 {
      get { return hasField1; }
    }
    public int Field1 {
      get { return field1_; }
    }
    
    public const int Field2FieldNumber = 2;
    private bool hasField2;
    private int field2_ = 0;
    public bool HasField2 {
      get { return hasField2; }
    }
    public int Field2 {
      get { return field2_; }
    }
    
    public const int Field3FieldNumber = 3;
    private bool hasField3;
    private int field3_ = 0;
    public bool HasField3 {
      get { return hasField3; }
    }
    public int Field3 {
      get { return field3_; }
    }
    
    public const int Field15FieldNumber = 15;
    private bool hasField15;
    private string field15_ = "";
    public bool HasField15 {
      get { return hasField15; }
    }
    public string Field15 {
      get { return field15_; }
    }
    
    public const int Field12FieldNumber = 12;
    private bool hasField12;
    private bool field12_ = true;
    public bool HasField12 {
      get { return hasField12; }
    }
    public bool Field12 {
      get { return field12_; }
    }
    
    public const int Field13FieldNumber = 13;
    private bool hasField13;
    private long field13_ = 0L;
    public bool HasField13 {
      get { return hasField13; }
    }
    public long Field13 {
      get { return field13_; }
    }
    
    public const int Field14FieldNumber = 14;
    private bool hasField14;
    private long field14_ = 0L;
    public bool HasField14 {
      get { return hasField14; }
    }
    public long Field14 {
      get { return field14_; }
    }
    
    public const int Field16FieldNumber = 16;
    private bool hasField16;
    private int field16_ = 0;
    public bool HasField16 {
      get { return hasField16; }
    }
    public int Field16 {
      get { return field16_; }
    }
    
    public const int Field19FieldNumber = 19;
    private bool hasField19;
    private int field19_ = 2;
    public bool HasField19 {
      get { return hasField19; }
    }
    public int Field19 {
      get { return field19_; }
    }
    
    public const int Field20FieldNumber = 20;
    private bool hasField20;
    private bool field20_ = true;
    public bool HasField20 {
      get { return hasField20; }
    }
    public bool Field20 {
      get { return field20_; }
    }
    
    public const int Field28FieldNumber = 28;
    private bool hasField28;
    private bool field28_ = true;
    public bool HasField28 {
      get { return hasField28; }
    }
    public bool Field28 {
      get { return field28_; }
    }
    
    public const int Field21FieldNumber = 21;
    private bool hasField21;
    private ulong field21_ = 0;
    public bool HasField21 {
      get { return hasField21; }
    }
    [global::System.CLSCompliant(false)]
    public ulong Field21 {
      get { return field21_; }
    }
    
    public const int Field22FieldNumber = 22;
    private bool hasField22;
    private int field22_ = 0;
    public bool HasField22 {
      get { return hasField22; }
    }
    public int Field22 {
      get { return field22_; }
    }
    
    public const int Field23FieldNumber = 23;
    private bool hasField23;
    private bool field23_ = false;
    public bool HasField23 {
      get { return hasField23; }
    }
    public bool Field23 {
      get { return field23_; }
    }
    
    public const int Field206FieldNumber = 206;
    private bool hasField206;
    private bool field206_ = false;
    public bool HasField206 {
      get { return hasField206; }
    }
    public bool Field206 {
      get { return field206_; }
    }
    
    public const int Field203FieldNumber = 203;
    private bool hasField203;
    private uint field203_ = 0;
    public bool HasField203 {
      get { return hasField203; }
    }
    [global::System.CLSCompliant(false)]
    public uint Field203 {
      get { return field203_; }
    }
    
    public const int Field204FieldNumber = 204;
    private bool hasField204;
    private int field204_ = 0;
    public bool HasField204 {
      get { return hasField204; }
    }
    public int Field204 {
      get { return field204_; }
    }
    
    public const int Field205FieldNumber = 205;
    private bool hasField205;
    private string field205_ = "";
    public bool HasField205 {
      get { return hasField205; }
    }
    public string Field205 {
      get { return field205_; }
    }
    
    public const int Field207FieldNumber = 207;
    private bool hasField207;
    private ulong field207_ = 0UL;
    public bool HasField207 {
      get { return hasField207; }
    }
    [global::System.CLSCompliant(false)]
    public ulong Field207 {
      get { return field207_; }
    }
    
    public const int Field300FieldNumber = 300;
    private bool hasField300;
    private ulong field300_ = 0UL;
    public bool HasField300 {
      get { return hasField300; }
    }
    [global::System.CLSCompliant(false)]
    public ulong Field300 {
      get { return field300_; }
    }
    
    public static SizeMessage1SubMessage ParseFrom(pb::ByteString data) {
      return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();
    }
    public static SizeMessage1SubMessage ParseFrom(pb::ByteString data, pb::ExtensionRegistry extensionRegistry) {
      return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry)).BuildParsed();
    }
    public static SizeMessage1SubMessage ParseFrom(byte[] data) {
      return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();
    }
    public static SizeMessage1SubMessage ParseFrom(byte[] data, pb::ExtensionRegistry extensionRegistry) {
      return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry)).BuildParsed();
    }
    public static SizeMessage1SubMessage ParseFrom(global::System.IO.Stream input) {
      return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();
    }
    public static SizeMessage1SubMessage ParseFrom(global::System.IO.Stream input, pb::ExtensionRegistry extensionRegistry) {
      return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry)).BuildParsed();
    }
    public static SizeMessage1SubMessage ParseDelimitedFrom(global::System.IO.Stream input) {
      return CreateBuilder().MergeDelimitedFrom(input).BuildParsed();
    }
    public static SizeMessage1SubMessage ParseDelimitedFrom(global::System.IO.Stream input, pb::ExtensionRegistry extensionRegistry) {
      return CreateBuilder().MergeDelimitedFrom(input, extensionRegistry).BuildParsed();
    }
    public static SizeMessage1SubMessage ParseFrom(pb::ICodedInputStream input) {
      return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();
    }
    public static SizeMessage1SubMessage ParseFrom(pb::ICodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
      return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry)).BuildParsed();
    }
    public static Builder CreateBuilder() { return new Builder(); }
    public override Builder ToBuilder() { return CreateBuilder(this); }
    public override Builder CreateBuilderForType() { return new Builder(); }
    public static Builder CreateBuilder(SizeMessage1SubMessage prototype) {
      return (Builder) new Builder().MergeFrom(prototype);
    }
    
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]
    public sealed partial class Builder : pb::GeneratedBuilder<SizeMessage1SubMessage, Builder> {
      protected override Builder ThisBuilder {
        get { return this; }
      }
      public Builder() {}
      
      SizeMessage1SubMessage result = new SizeMessage1SubMessage();
      
      protected override SizeMessage1SubMessage MessageBeingBuilt {
        get { return result; }
      }
      
      public override Builder Clear() {
        result = new SizeMessage1SubMessage();
        return this;
      }
      
      public override Builder Clone() {
        return new Builder().MergeFrom(result);
      }
      
      public override pbd::MessageDescriptor DescriptorForType {
        get { return global::Google.ProtocolBuffers.TestProtos.SizeMessage1SubMessage.Descriptor; }
      }
      
      public override SizeMessage1SubMessage DefaultInstanceForType {
        get { return global::Google.ProtocolBuffers.TestProtos.SizeMessage1SubMessage.DefaultInstance; }
      }
      
      public override SizeMessage1SubMessage BuildPartial() {
        if (result == null) {
          throw new global::System.InvalidOperationException("build() has already been called on this Builder");
        }
        SizeMessage1SubMessage returnMe = result;
        result = null;
        return returnMe;
      }
      
      
      public bool HasField1 {
        get { return result.hasField1; }
      }
      public int Field1 {
        get { return result.Field1; }
        set { SetField1(value); }
      }
      public Builder SetField1(int value) {
        result.hasField1 = true;
        result.field1_ = value;
        return this;
      }
      public Builder ClearField1() {
        result.hasField1 = false;
        result.field1_ = 0;
        return this;
      }
      
      public bool HasField2 {
        get { return result.hasField2; }
      }
      public int Field2 {
        get { return result.Field2; }
        set { SetField2(value); }
      }
      public Builder SetField2(int value) {
        result.hasField2 = true;
        result.field2_ = value;
        return this;
      }
      public Builder ClearField2() {
        result.hasField2 = false;
        result.field2_ = 0;
        return this;
      }
      
      public bool HasField3 {
        get { return result.hasField3; }
      }
      public int Field3 {
        get { return result.Field3; }
        set { SetField3(value); }
      }
      public Builder SetField3(int value) {
        result.hasField3 = true;
        result.field3_ = value;
        return this;
      }
      public Builder ClearField3() {
        result.hasField3 = false;
        result.field3_ = 0;
        return this;
      }
      
      public bool HasField15 {
        get { return result.hasField15; }
      }
      public string Field15 {
        get { return result.Field15; }
        set { SetField15(value); }
      }
      public Builder SetField15(string value) {
        pb::ThrowHelper.ThrowIfNull(value, "value");
        result.hasField15 = true;
        result.field15_ = value;
        return this;
      }
      public Builder ClearField15() {
        result.hasField15 = false;
        result.field15_ = "";
        return this;
      }
      
      public bool HasField12 {
        get { return result.hasField12; }
      }
      public bool Field12 {
        get { return result.Field12; }
        set { SetField12(value); }
      }
      public Builder SetField12(bool value) {
        result.hasField12 = true;
        result.field12_ = value;
        return this;
      }
      public Builder ClearField12() {
        result.hasField12 = false;
        result.field12_ = true;
        return this;
      }
      
      public bool HasField13 {
        get { return result.hasField13; }
      }
      public long Field13 {
        get { return result.Field13; }
        set { SetField13(value); }
      }
      public Builder SetField13(long value) {
        result.hasField13 = true;
        result.field13_ = value;
        return this;
      }
      public Builder ClearField13() {
        result.hasField13 = false;
        result.field13_ = 0L;
        return this;
      }
      
      public bool HasField14 {
        get { return result.hasField14; }
      }
      public long Field14 {
        get { return result.Field14; }
        set { SetField14(value); }
      }
      public Builder SetField14(long value) {
        result.hasField14 = true;
        result.field14_ = value;
        return this;
      }
      public Builder ClearField14() {
        result.hasField14 = false;
        result.field14_ = 0L;
        return this;
      }
      
      public bool HasField16 {
        get { return result.hasField16; }
      }
      public int Field16 {
        get { return result.Field16; }
        set { SetField16(value); }
      }
      public Builder SetField16(int value) {
        result.hasField16 = true;
        result.field16_ = value;
        return this;
      }
      public Builder ClearField16() {
        result.hasField16 = false;
        result.field16_ = 0;
        return this;
      }
      
      public bool HasField19 {
        get { return result.hasField19; }
      }
      public int Field19 {
        get { return result.Field19; }
        set { SetField19(value); }
      }
      public Builder SetField19(int value) {
        result.hasField19 = true;
        result.field19_ = value;
        return this;
      }
      public Builder ClearField19() {
        result.hasField19 = false;
        result.field19_ = 2;
        return this;
      }
      
      public bool HasField20 {
        get { return result.hasField20; }
      }
      public bool Field20 {
        get { return result.Field20; }
        set { SetField20(value); }
      }
      public Builder SetField20(bool value) {
        result.hasField20 = true;
        result.field20_ = value;
        return this;
      }
      public Builder ClearField20() {
        result.hasField20 = false;
        result.field20_ = true;
        return this;
      }
      
      public bool HasField28 {
        get { return result.hasField28; }
      }
      public bool Field28 {
        get { return result.Field28; }
        set { SetField28(value); }
      }
      public Builder SetField28(bool value) {
        result.hasField28 = true;
        result.field28_ = value;
        return this;
      }
      public Builder ClearField28() {
        result.hasField28 = false;
        result.field28_ = true;
        return this;
      }
      
      public bool HasField21 {
        get { return result.hasField21; }
      }
      [global::System.CLSCompliant(false)]
      public ulong Field21 {
        get { return result.Field21; }
        set { SetField21(value); }
      }
      [global::System.CLSCompliant(false)]
      public Builder SetField21(ulong value) {
        result.hasField21 = true;
        result.field21_ = value;
        return this;
      }
      public Builder ClearField21() {
        result.hasField21 = false;
        result.field21_ = 0;
        return this;
      }
      
      public bool HasField22 {
        get { return result.hasField22; }
      }
      public int Field22 {
        get { return result.Field22; }
        set { SetField22(value); }
      }
      public Builder SetField22(int value) {
        result.hasField22 = true;
        result.field22_ = value;
        return this;
      }
      public Builder ClearField22() {
        result.hasField22 = false;
        result.field22_ = 0;
        return this;
      }
      
      public bool HasField23 {
        get { return result.hasField23; }
      }
      public bool Field23 {
        get { return result.Field23; }
        set { SetField23(value); }
      }
      public Builder SetField23(bool value) {
        result.hasField23 = true;
        result.field23_ = value;
        return this;
      }
      public Builder ClearField23() {
        result.hasField23 = false;
        result.field23_ = false;
        return this;
      }
      
      public bool HasField206 {
        get { return result.hasField206; }
      }
      public bool Field206 {
        get { return result.Field206; }
        set { SetField206(value); }
      }
      public Builder SetField206(bool value) {
        result.hasField206 = true;
        result.field206_ = value;
        return this;
      }
      public Builder ClearField206() {
        result.hasField206 = false;
        result.field206_ = false;
        return this;
      }
      
      public bool HasField203 {
        get { return result.hasField203; }
      }
      [global::System.CLSCompliant(false)]
      public uint Field203 {
        get { return result.Field203; }
        set { SetField203(value); }
      }
      [global::System.CLSCompliant(false)]
      public Builder SetField203(uint value) {
        result.hasField203 = true;
        result.field203_ = value;
        return this;
      }
      public Builder ClearField203() {
        result.hasField203 = false;
        result.field203_ = 0;
        return this;
      }
      
      public bool HasField204 {
        get { return result.hasField204; }
      }
      public int Field204 {
        get { return result.Field204; }
        set { SetField204(value); }
      }
      public Builder SetField204(int value) {
        result.hasField204 = true;
        result.field204_ = value;
        return this;
      }
      public Builder ClearField204() {
        result.hasField204 = false;
        result.field204_ = 0;
        return this;
      }
      
      public bool HasField205 {
        get { return result.hasField205; }
      }
      public string Field205 {
        get { return result.Field205; }
        set { SetField205(value); }
      }
      public Builder SetField205(string value) {
        pb::ThrowHelper.ThrowIfNull(value, "value");
        result.hasField205 = true;
        result.field205_ = value;
        return this;
      }
      public Builder ClearField205() {
        result.hasField205 = false;
        result.field205_ = "";
        return this;
      }
      
      public bool HasField207 {
        get { return result.hasField207; }
      }
      [global::System.CLSCompliant(false)]
      public ulong Field207 {
        get { return result.Field207; }
        set { SetField207(value); }
      }
      [global::System.CLSCompliant(false)]
      public Builder SetField207(ulong value) {
        result.hasField207 = true;
        result.field207_ = value;
        return this;
      }
      public Builder ClearField207() {
        result.hasField207 = false;
        result.field207_ = 0UL;
        return this;
      }
      
      public bool HasField300 {
        get { return result.hasField300; }
      }
      [global::System.CLSCompliant(false)]
      public ulong Field300 {
        get { return result.Field300; }
        set { SetField300(value); }
      }
      [global::System.CLSCompliant(false)]
      public Builder SetField300(ulong value) {
        result.hasField300 = true;
        result.field300_ = value;
        return this;
      }
      public Builder ClearField300() {
        result.hasField300 = false;
        result.field300_ = 0UL;
        return this;
      }
    }
    static SizeMessage1SubMessage() {
      object.ReferenceEquals(global::Google.ProtocolBuffers.TestProtos.UnitTestGoogleSizeProtoFile.Descriptor, null);
    }
  }
  
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
  [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]
  public sealed partial class SizeMessage2 : pb::GeneratedMessage<SizeMessage2, SizeMessage2.Builder> {
    private static readonly SizeMessage2 defaultInstance = new Builder().BuildPartial();
    public static SizeMessage2 DefaultInstance {
      get { return defaultInstance; }
    }
    
    public override SizeMessage2 DefaultInstanceForType {
      get { return defaultInstance; }
    }
    
    protected override SizeMessage2 ThisMessage {
      get { return this; }
    }
    
    public static pbd::MessageDescriptor Descriptor {
      get { return global::Google.ProtocolBuffers.TestProtos.UnitTestGoogleSizeProtoFile.internal__static_benchmarks_SizeMessage2__Descriptor; }
    }
    
    protected override pb::FieldAccess.FieldAccessorTable<SizeMessage2, SizeMessage2.Builder> InternalFieldAccessors {
      get { return global::Google.ProtocolBuffers.TestProtos.UnitTestGoogleSizeProtoFile.internal__static_benchmarks_SizeMessage2__FieldAccessorTable; }
    }
    
    #region Nested types
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]
    public static class Types {
      [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
      [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
      [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]
      public sealed partial class Group1 : pb::GeneratedMessage<Group1, Group1.Builder> {
        private static readonly Group1 defaultInstance = new Builder().BuildPartial();
        public static Group1 DefaultInstance {
          get { return defaultInstance; }
        }
        
        public override Group1 DefaultInstanceForType {
          get { return defaultInstance; }
        }
        
        protected override Group1 ThisMessage {
          get { return this; }
        }
        
        public static pbd::MessageDescriptor Descriptor {
          get { return global::Google.ProtocolBuffers.TestProtos.UnitTestGoogleSizeProtoFile.internal__static_benchmarks_SizeMessage2_Group1__Descriptor; }
        }
        
        protected override pb::FieldAccess.FieldAccessorTable<Group1, Group1.Builder> InternalFieldAccessors {
          get { return global::Google.ProtocolBuffers.TestProtos.UnitTestGoogleSizeProtoFile.internal__static_benchmarks_SizeMessage2_Group1__FieldAccessorTable; }
        }
        
        public const int Field11FieldNumber = 11;
        private bool hasField11;
        private float field11_ = 0F;
        public bool HasField11 {
          get { return hasField11; }
        }
        public float Field11 {
          get { return field11_; }
        }
        
        public const int Field26FieldNumber = 26;
        private bool hasField26;
        private float field26_ = 0F;
        public bool HasField26 {
          get { return hasField26; }
        }
        public float Field26 {
          get { return field26_; }
        }
        
        public const int Field12FieldNumber = 12;
        private bool hasField12;
        private string field12_ = "";
        public bool HasField12 {
          get { return hasField12; }
        }
        public string Field12 {
          get { return field12_; }
        }
        
        public const int Field13FieldNumber = 13;
        private bool hasField13;
        private string field13_ = "";
        public bool HasField13 {
          get { return hasField13; }
        }
        public string Field13 {
          get { return field13_; }
        }
        
        public const int Field14FieldNumber = 14;
        private pbc::PopsicleList<string> field14_ = new pbc::PopsicleList<string>();
        public scg::IList<string> Field14List {
          get { return pbc::Lists.AsReadOnly(field14_); }
        }
        public int Field14Count {
          get { return field14_.Count; }
        }
        public string GetField14(int index) {
          return field14_[index];
        }
        
        public const int Field15FieldNumber = 15;
        private bool hasField15;
        private ulong field15_ = 0UL;
        public bool HasField15 {
          get { return hasField15; }
        }
        [global::System.CLSCompliant(false)]
        public ulong Field15 {
          get { return field15_; }
        }
        
        public const int Field5FieldNumber = 5;
        private bool hasField5;
        private int field5_ = 0;
        public bool HasField5 {
          get { return hasField5; }
        }
        public int Field5 {
          get { return field5_; }
        }
        
        public const int Field27FieldNumber = 27;
        private bool hasField27;
        private string field27_ = "";
        public bool HasField27 {
          get { return hasField27; }
        }
        public string Field27 {
          get { return field27_; }
        }
        
        public const int Field28FieldNumber = 28;
        private bool hasField28;
        private int field28_ = 0;
        public bool HasField28 {
          get { return hasField28; }
        }
        public int Field28 {
          get { return field28_; }
        }
        
        public const int Field29FieldNumber = 29;
        private bool hasField29;
        private string field29_ = "";
        public bool HasField29 {
          get { return hasField29; }
        }
        public string Field29 {
          get { return field29_; }
        }
        
        public const int Field16FieldNumber = 16;
        private bool hasField16;
        private string field16_ = "";
        public bool HasField16 {
          get { return hasField16; }
        }
        public string Field16 {
          get { return field16_; }
        }
        
        public const int Field22FieldNumber = 22;
        private pbc::PopsicleList<string> field22_ = new pbc::PopsicleList<string>();
        public scg::IList<string> Field22List {
          get { return pbc::Lists.AsReadOnly(field22_); }
        }
        public int Field22Count {
          get { return field22_.Count; }
        }
        public string GetField22(int index) {
          return field22_[index];
        }
        
        public const int Field73FieldNumber = 73;
        private pbc::PopsicleList<int> field73_ = new pbc::PopsicleList<int>();
        public scg::IList<int> Field73List {
          get { return pbc::Lists.AsReadOnly(field73_); }
        }
        public int Field73Count {
          get { return field73_.Count; }
        }
        public int GetField73(int index) {
          return field73_[index];
        }
        
        public const int Field20FieldNumber = 20;
        private bool hasField20;
        private int field20_ = 0;
        public bool HasField20 {
          get { return hasField20; }
        }
        public int Field20 {
          get { return field20_; }
        }
        
        public const int Field24FieldNumber = 24;
        private bool hasField24;
        private string field24_ = "";
        public bool HasField24 {
          get { return hasField24; }
        }
        public string Field24 {
          get { return field24_; }
        }
        
        public const int Field31FieldNumber = 31;
        private bool hasField31;
        private global::Google.ProtocolBuffers.TestProtos.SizeMessage2GroupedMessage field31_ = global::Google.ProtocolBuffers.TestProtos.SizeMessage2GroupedMessage.DefaultInstance;
        public bool HasField31 {
          get { return hasField31; }
        }
        public global::Google.ProtocolBuffers.TestProtos.SizeMessage2GroupedMessage Field31 {
          get { return field31_; }
        }
        
        public static Group1 ParseFrom(pb::ByteString data) {
          return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();
        }
        public static Group1 ParseFrom(pb::ByteString data, pb::ExtensionRegistry extensionRegistry) {
          return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry)).BuildParsed();
        }
        public static Group1 ParseFrom(byte[] data) {
          return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();
        }
        public static Group1 ParseFrom(byte[] data, pb::ExtensionRegistry extensionRegistry) {
          return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry)).BuildParsed();
        }
        public static Group1 ParseFrom(global::System.IO.Stream input) {
          return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();
        }
        public static Group1 ParseFrom(global::System.IO.Stream input, pb::ExtensionRegistry extensionRegistry) {
          return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry)).BuildParsed();
        }
        public static Group1 ParseDelimitedFrom(global::System.IO.Stream input) {
          return CreateBuilder().MergeDelimitedFrom(input).BuildParsed();
        }
        public static Group1 ParseDelimitedFrom(global::System.IO.Stream input, pb::ExtensionRegistry extensionRegistry) {
          return CreateBuilder().MergeDelimitedFrom(input, extensionRegistry).BuildParsed();
        }
        public static Group1 ParseFrom(pb::ICodedInputStream input) {
          return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();
        }
        public static Group1 ParseFrom(pb::ICodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
          return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry)).BuildParsed();
        }
        public static Builder CreateBuilder() { return new Builder(); }
        public override Builder ToBuilder() { return CreateBuilder(this); }
        public override Builder CreateBuilderForType() { return new Builder(); }
        public static Builder CreateBuilder(Group1 prototype) {
          return (Builder) new Builder().MergeFrom(prototype);
        }
        
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
        [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]
        public sealed partial class Builder : pb::GeneratedBuilder<Group1, Builder> {
          protected override Builder ThisBuilder {
            get { return this; }
          }
          public Builder() {}
          
          Group1 result = new Group1();
          
          protected override Group1 MessageBeingBuilt {
            get { return result; }
          }
          
          public override Builder Clear() {
            result = new Group1();
            return this;
          }
          
          public override Builder Clone() {
            return new Builder().MergeFrom(result);
          }
          
          public override pbd::MessageDescriptor DescriptorForType {
            get { return global::Google.ProtocolBuffers.TestProtos.SizeMessage2.Types.Group1.Descriptor; }
          }
          
          public override Group1 DefaultInstanceForType {
            get { return global::Google.ProtocolBuffers.TestProtos.SizeMessage2.Types.Group1.DefaultInstance; }
          }
          
          public override Group1 BuildPartial() {
            if (result == null) {
              throw new global::System.InvalidOperationException("build() has already been called on this Builder");
            }
            result.field14_.MakeReadOnly();
            result.field22_.MakeReadOnly();
            result.field73_.MakeReadOnly();
            Group1 returnMe = result;
            result = null;
            return returnMe;
          }
          
          
          public bool HasField11 {
            get { return result.hasField11; }
          }
          public float Field11 {
            get { return result.Field11; }
            set { SetField11(value); }
          }
          public Builder SetField11(float value) {
            result.hasField11 = true;
            result.field11_ = value;
            return this;
          }
          public Builder ClearField11() {
            result.hasField11 = false;
            result.field11_ = 0F;
            return this;
          }
          
          public bool HasField26 {
            get { return result.hasField26; }
          }
          public float Field26 {
            get { return result.Field26; }
            set { SetField26(value); }
          }
          public Builder SetField26(float value) {
            result.hasField26 = true;
            result.field26_ = value;
            return this;
          }
          public Builder ClearField26() {
            result.hasField26 = false;
            result.field26_ = 0F;
            return this;
          }
          
          public bool HasField12 {
            get { return result.hasField12; }
          }
          public string Field12 {
            get { return result.Field12; }
            set { SetField12(value); }
          }
          public Builder SetField12(string value) {
            pb::ThrowHelper.ThrowIfNull(value, "value");
            result.hasField12 = true;
            result.field12_ = value;
            return this;
          }
          public Builder ClearField12() {
            result.hasField12 = false;
            result.field12_ = "";
            return this;
          }
          
          public bool HasField13 {
            get { return result.hasField13; }
          }
          public string Field13 {
            get { return result.Field13; }
            set { SetField13(value); }
          }
          public Builder SetField13(string value) {
            pb::ThrowHelper.ThrowIfNull(value, "value");
            result.hasField13 = true;
            result.field13_ = value;
            return this;
          }
          public Builder ClearField13() {
            result.hasField13 = false;
            result.field13_ = "";
            return this;
          }
          
          public pbc::IPopsicleList<string> Field14List {
            get { return result.field14_; }
          }
          public int Field14Count {
            get { return result.Field14Count; }
          }
          public string GetField14(int index) {
            return result.GetField14(index);
          }
          public Builder SetField14(int index, string value) {
            pb::ThrowHelper.ThrowIfNull(value, "value");
            result.field14_[index] = value;
            return this;
          }
          public Builder AddField14(string value) {
            pb::ThrowHelper.ThrowIfNull(value, "value");
            result.field14_.Add(value);
            return this;
          }
          public Builder AddRangeField14(scg::IEnumerable<string> values) {
            base.AddRange(values, result.field14_);
            return this;
          }
          public Builder ClearField14() {
            result.field14_.Clear();
            return this;
          }
          
          public bool HasField15 {
            get { return result.hasField15; }
          }
          [global::System.CLSCompliant(false)]
          public ulong Field15 {
            get { return result.Field15; }
            set { SetField15(value); }
          }
          [global::System.CLSCompliant(false)]
          public Builder SetField15(ulong value) {
            result.hasField15 = true;
            result.field15_ = value;
            return this;
          }
          public Builder ClearField15() {
            result.hasField15 = false;
            result.field15_ = 0UL;
            return this;
          }
          
          public bool HasField5 {
            get { return result.hasField5; }
          }
          public int Field5 {
            get { return result.Field5; }
            set { SetField5(value); }
          }
          public Builder SetField5(int value) {
            result.hasField5 = true;
            result.field5_ = value;
            return this;
          }
          public Builder ClearField5() {
            result.hasField5 = false;
            result.field5_ = 0;
            return this;
          }
          
          public bool HasField27 {
            get { return result.hasField27; }
          }
          public string Field27 {
            get { return result.Field27; }
            set { SetField27(value); }
          }
          public Builder SetField27(string value) {
            pb::ThrowHelper.ThrowIfNull(value, "value");
            result.hasField27 = true;
            result.field27_ = value;
            return this;
          }
          public Builder ClearField27() {
            result.hasField27 = false;
            result.field27_ = "";
            return this;
          }
          
          public bool HasField28 {
            get { return result.hasField28; }
          }
          public int Field28 {
            get { return result.Field28; }
            set { SetField28(value); }
          }
          public Builder SetField28(int value) {
            result.hasField28 = true;
            result.field28_ = value;
            return this;
          }
          public Builder ClearField28() {
            result.hasField28 = false;
            result.field28_ = 0;
            return this;
          }
          
          public bool HasField29 {
            get { return result.hasField29; }
          }
          public string Field29 {
            get { return result.Field29; }
            set { SetField29(value); }
          }
          public Builder SetField29(string value) {
            pb::ThrowHelper.ThrowIfNull(value, "value");
            result.hasField29 = true;
            result.field29_ = value;
            return this;
          }
          public Builder ClearField29() {
            result.hasField29 = false;
            result.field29_ = "";
            return this;
          }
          
          public bool HasField16 {
            get { return result.hasField16; }
          }
          public string Field16 {
            get { return result.Field16; }
            set { SetField16(value); }
          }
          public Builder SetField16(string value) {
            pb::ThrowHelper.ThrowIfNull(value, "value");
            result.hasField16 = true;
            result.field16_ = value;
            return this;
          }
          public Builder ClearField16() {
            result.hasField16 = false;
            result.field16_ = "";
            return this;
          }
          
          public pbc::IPopsicleList<string> Field22List {
            get { return result.field22_; }
          }
          public int Field22Count {
            get { return result.Field22Count; }
          }
          public string GetField22(int index) {
            return result.GetField22(index);
          }
          public Builder SetField22(int index, string value) {
            pb::ThrowHelper.ThrowIfNull(value, "value");
            result.field22_[index] = value;
            return this;
          }
          public Builder AddField22(string value) {
            pb::ThrowHelper.ThrowIfNull(value, "value");
            result.field22_.Add(value);
            return this;
          }
          public Builder AddRangeField22(scg::IEnumerable<string> values) {
            base.AddRange(values, result.field22_);
            return this;
          }
          public Builder ClearField22() {
            result.field22_.Clear();
            return this;
          }
          
          public pbc::IPopsicleList<int> Field73List {
            get { return result.field73_; }
          }
          public int Field73Count {
            get { return result.Field73Count; }
          }
          public int GetField73(int index) {
            return result.GetField73(index);
          }
          public Builder SetField73(int index, int value) {
            result.field73_[index] = value;
            return this;
          }
          public Builder AddField73(int value) {
            result.field73_.Add(value);
            return this;
          }
          public Builder AddRangeField73(scg::IEnumerable<int> values) {
            base.AddRange(values, result.field73_);
            return this;
          }
          public Builder ClearField73() {
            result.field73_.Clear();
            return this;
          }
          
          public bool HasField20 {
            get { return result.hasField20; }
          }
          public int Field20 {
            get { return result.Field20; }
            set { SetField20(value); }
          }
          public Builder SetField20(int value) {
            result.hasField20 = true;
            result.field20_ = value;
            return this;
          }
          public Builder ClearField20() {
            result.hasField20 = false;
            result.field20_ = 0;
            return this;
          }
          
          public bool HasField24 {
            get { return result.hasField24; }
          }
          public string Field24 {
            get { return result.Field24; }
            set { SetField24(value); }
          }
          public Builder SetField24(string value) {
            pb::ThrowHelper.ThrowIfNull(value, "value");
            result.hasField24 = true;
            result.field24_ = value;
            return this;
          }
          public Builder ClearField24() {
            result.hasField24 = false;
            result.field24_ = "";
            return this;
          }
          
          public bool HasField31 {
           get { return result.hasField31; }
          }
          public global::Google.ProtocolBuffers.TestProtos.SizeMessage2GroupedMessage Field31 {
            get { return result.Field31; }
            set { SetField31(value); }
          }
          public Builder SetField31(global::Google.ProtocolBuffers.TestProtos.SizeMessage2GroupedMessage value) {
            pb::ThrowHelper.ThrowIfNull(value, "value");
            result.hasField31 = true;
            result.field31_ = value;
            return this;
          }
          public Builder SetField31(global::Google.ProtocolBuffers.TestProtos.SizeMessage2GroupedMessage.Builder builderForValue) {
            pb::ThrowHelper.ThrowIfNull(builderForValue, "builderForValue");
            result.hasField31 = true;
            result.field31_ = builderForValue.Build();
            return this;
          }
          public Builder MergeField31(global::Google.ProtocolBuffers.TestProtos.SizeMessage2GroupedMessage value) {
            pb::ThrowHelper.ThrowIfNull(value, "value");
            if (result.hasField31 &&
                result.field31_ != global::Google.ProtocolBuffers.TestProtos.SizeMessage2GroupedMessage.DefaultInstance) {
                result.field31_ = global::Google.ProtocolBuffers.TestProtos.SizeMessage2GroupedMessage.CreateBuilder(result.field31_).MergeFrom(value).BuildPartial();
            } else {
              result.field31_ = value;
            }
            result.hasField31 = true;
            return this;
          }
          public Builder ClearField31() {
            result.hasField31 = false;
            result.field31_ = global::Google.ProtocolBuffers.TestProtos.SizeMessage2GroupedMessage.DefaultInstance;
            return this;
          }
        }
        static Group1() {
          object.ReferenceEquals(global::Google.ProtocolBuffers.TestProtos.UnitTestGoogleSizeProtoFile.Descriptor, null);
        }
      }
      
    }
    #endregion
    
    public const int Field1FieldNumber = 1;
    private bool hasField1;
    private string field1_ = "";
    public bool HasField1 {
      get { return hasField1; }
    }
    public string Field1 {
      get { return field1_; }
    }
    
    public const int Field3FieldNumber = 3;
    private bool hasField3;
    private long field3_ = 0L;
    public bool HasField3 {
      get { return hasField3; }
    }
    public long Field3 {
      get { return field3_; }
    }
    
    public const int Field4FieldNumber = 4;
    private bool hasField4;
    private long field4_ = 0L;
    public bool HasField4 {
      get { return hasField4; }
    }
    public long Field4 {
      get { return field4_; }
    }
    
    public const int Field30FieldNumber = 30;
    private bool hasField30;
    private long field30_ = 0L;
    public bool HasField30 {
      get { return hasField30; }
    }
    public long Field30 {
      get { return field30_; }
    }
    
    public const int Field75FieldNumber = 75;
    private bool hasField75;
    private bool field75_ = false;
    public bool HasField75 {
      get { return hasField75; }
    }
    public bool Field75 {
      get { return field75_; }
    }
    
    public const int Field6FieldNumber = 6;
    private bool hasField6;
    private string field6_ = "";
    public bool HasField6 {
      get { return hasField6; }
    }
    public string Field6 {
      get { return field6_; }
    }
    
    public const int Field2FieldNumber = 2;
    private bool hasField2;
    private pb::ByteString field2_ = pb::ByteString.Empty;
    public bool HasField2 {
      get { return hasField2; }
    }
    public pb::ByteString Field2 {
      get { return field2_; }
    }
    
    public const int Field21FieldNumber = 21;
    private bool hasField21;
    private int field21_ = 0;
    public bool HasField21 {
      get { return hasField21; }
    }
    public int Field21 {
      get { return field21_; }
    }
    
    public const int Field71FieldNumber = 71;
    private bool hasField71;
    private int field71_ = 0;
    public bool HasField71 {
      get { return hasField71; }
    }
    public int Field71 {
      get { return field71_; }
    }
    
    public const int Field25FieldNumber = 25;
    private bool hasField25;
    private float field25_ = 0F;
    public bool HasField25 {
      get { return hasField25; }
    }
    public float Field25 {
      get { return field25_; }
    }
    
    public const int Field109FieldNumber = 109;
    private bool hasField109;
    private int field109_ = 0;
    public bool HasField109 {
      get { return hasField109; }
    }
    public int Field109 {
      get { return field109_; }
    }
    
    public const int Field210FieldNumber = 210;
    private bool hasField210;
    private int field210_ = 0;
    public bool HasField210 {
      get { return hasField210; }
    }
    public int Field210 {
      get { return field210_; }
    }
    
    public const int Field211FieldNumber = 211;
    private bool hasField211;
    private int field211_ = 0;
    public bool HasField211 {
      get { return hasField211; }
    }
    public int Field211 {
      get { return field211_; }
    }
    
    public const int Field212FieldNumber = 212;
    private bool hasField212;
    private int field212_ = 0;
    public bool HasField212 {
      get { return hasField212; }
    }
    public int Field212 {
      get { return field212_; }
    }
    
    public const int Field213FieldNumber = 213;
    private bool hasField213;
    private int field213_ = 0;
    public bool HasField213 {
      get { return hasField213; }
    }
    public int Field213 {
      get { return field213_; }
    }
    
    public const int Field216FieldNumber = 216;
    private bool hasField216;
    private int field216_ = 0;
    public bool HasField216 {
      get { return hasField216; }
    }
    public int Field216 {
      get { return field216_; }
    }
    
    public const int Field217FieldNumber = 217;
    private bool hasField217;
    private int field217_ = 0;
    public bool HasField217 {
      get { return hasField217; }
    }
    public int Field217 {
      get { return field217_; }
    }
    
    public const int Field218FieldNumber = 218;
    private bool hasField218;
    private int field218_ = 0;
    public bool HasField218 {
      get { return hasField218; }
    }
    public int Field218 {
      get { return field218_; }
    }
    
    public const int Field220FieldNumber = 220;
    private bool hasField220;
    private int field220_ = 0;
    public bool HasField220 {
      get { return hasField220; }
    }
    public int Field220 {
      get { return field220_; }
    }
    
    public const int Field221FieldNumber = 221;
    private bool hasField221;
    private int field221_ = 0;
    public bool HasField221 {
      get { return hasField221; }
    }
    public int Field221 {
      get { return field221_; }
    }
    
    public const int Field222FieldNumber = 222;
    private bool hasField222;
    private float field222_ = 0F;
    public bool HasField222 {
      get { return hasField222; }
    }
    public float Field222 {
      get { return field222_; }
    }
    
    public const int Field63FieldNumber = 63;
    private bool hasField63;
    private int field63_ = 0;
    public bool HasField63 {
      get { return hasField63; }
    }
    public int Field63 {
      get { return field63_; }
    }
    
    public const int Group1FieldNumber = 10;
    private pbc::PopsicleList<global::Google.ProtocolBuffers.TestProtos.SizeMessage2.Types.Group1> group1_ = new pbc::PopsicleList<global::Google.ProtocolBuffers.TestProtos.SizeMessage2.Types.Group1>();
    public scg::IList<global::Google.ProtocolBuffers.TestProtos.SizeMessage2.Types.Group1> Group1List {
      get { return group1_; }
    }
    public int Group1Count {
      get { return group1_.Count; }
    }
    public global::Google.ProtocolBuffers.TestProtos.SizeMessage2.Types.Group1 GetGroup1(int index) {
      return group1_[index];
    }
    
    public const int Field128FieldNumber = 128;
    private pbc::PopsicleList<string> field128_ = new pbc::PopsicleList<string>();
    public scg::IList<string> Field128List {
      get { return pbc::Lists.AsReadOnly(field128_); }
    }
    public int Field128Count {
      get { return field128_.Count; }
    }
    public string GetField128(int index) {
      return field128_[index];
    }
    
    public const int Field131FieldNumber = 131;
    private bool hasField131;
    private long field131_ = 0L;
    public bool HasField131 {
      get { return hasField131; }
    }
    public long Field131 {
      get { return field131_; }
    }
    
    public const int Field127FieldNumber = 127;
    private pbc::PopsicleList<string> field127_ = new pbc::PopsicleList<string>();
    public scg::IList<string> Field127List {
      get { return pbc::Lists.AsReadOnly(field127_); }
    }
    public int Field127Count {
      get { return field127_.Count; }
    }
    public string GetField127(int index) {
      return field127_[index];
    }
    
    public const int Field129FieldNumber = 129;
    private bool hasField129;
    private int field129_ = 0;
    public bool HasField129 {
      get { return hasField129; }
    }
    public int Field129 {
      get { return field129_; }
    }
    
    public const int Field130FieldNumber = 130;
    private pbc::PopsicleList<long> field130_ = new pbc::PopsicleList<long>();
    public scg::IList<long> Field130List {
      get { return pbc::Lists.AsReadOnly(field130_); }
    }
    public int Field130Count {
      get { return field130_.Count; }
    }
    public long GetField130(int index) {
      return field130_[index];
    }
    
    public const int Field205FieldNumber = 205;
    private bool hasField205;
    private bool field205_ = false;
    public bool HasField205 {
      get { return hasField205; }
    }
    public bool Field205 {
      get { return field205_; }
    }
    
    public const int Field206FieldNumber = 206;
    private bool hasField206;
    private bool field206_ = false;
    public bool HasField206 {
      get { return hasField206; }
    }
    public bool Field206 {
      get { return field206_; }
    }
    
    public static SizeMessage2 ParseFrom(pb::ByteString data) {
      return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();
    }
    public static SizeMessage2 ParseFrom(pb::ByteString data, pb::ExtensionRegistry extensionRegistry) {
      return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry)).BuildParsed();
    }
    public static SizeMessage2 ParseFrom(byte[] data) {
      return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();
    }
    public static SizeMessage2 ParseFrom(byte[] data, pb::ExtensionRegistry extensionRegistry) {
      return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry)).BuildParsed();
    }
    public static SizeMessage2 ParseFrom(global::System.IO.Stream input) {
      return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();
    }
    public static SizeMessage2 ParseFrom(global::System.IO.Stream input, pb::ExtensionRegistry extensionRegistry) {
      return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry)).BuildParsed();
    }
    public static SizeMessage2 ParseDelimitedFrom(global::System.IO.Stream input) {
      return CreateBuilder().MergeDelimitedFrom(input).BuildParsed();
    }
    public static SizeMessage2 ParseDelimitedFrom(global::System.IO.Stream input, pb::ExtensionRegistry extensionRegistry) {
      return CreateBuilder().MergeDelimitedFrom(input, extensionRegistry).BuildParsed();
    }
    public static SizeMessage2 ParseFrom(pb::ICodedInputStream input) {
      return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();
    }
    public static SizeMessage2 ParseFrom(pb::ICodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
      return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry)).BuildParsed();
    }
    public static Builder CreateBuilder() { return new Builder(); }
    public override Builder ToBuilder() { return CreateBuilder(this); }
    public override Builder CreateBuilderForType() { return new Builder(); }
    public static Builder CreateBuilder(SizeMessage2 prototype) {
      return (Builder) new Builder().MergeFrom(prototype);
    }
    
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]
    public sealed partial class Builder : pb::GeneratedBuilder<SizeMessage2, Builder> {
      protected override Builder ThisBuilder {
        get { return this; }
      }
      public Builder() {}
      
      SizeMessage2 result = new SizeMessage2();
      
      protected override SizeMessage2 MessageBeingBuilt {
        get { return result; }
      }
      
      public override Builder Clear() {
        result = new SizeMessage2();
        return this;
      }
      
      public override Builder Clone() {
        return new Builder().MergeFrom(result);
      }
      
      public override pbd::MessageDescriptor DescriptorForType {
        get { return global::Google.ProtocolBuffers.TestProtos.SizeMessage2.Descriptor; }
      }
      
      public override SizeMessage2 DefaultInstanceForType {
        get { return global::Google.ProtocolBuffers.TestProtos.SizeMessage2.DefaultInstance; }
      }
      
      public override SizeMessage2 BuildPartial() {
        if (result == null) {
          throw new global::System.InvalidOperationException("build() has already been called on this Builder");
        }
        result.group1_.MakeReadOnly();
        result.field128_.MakeReadOnly();
        result.field127_.MakeReadOnly();
        result.field130_.MakeReadOnly();
        SizeMessage2 returnMe = result;
        result = null;
        return returnMe;
      }
      
      
      public bool HasField1 {
        get { return result.hasField1; }
      }
      public string Field1 {
        get { return result.Field1; }
        set { SetField1(value); }
      }
      public Builder SetField1(string value) {
        pb::ThrowHelper.ThrowIfNull(value, "value");
        result.hasField1 = true;
        result.field1_ = value;
        return this;
      }
      public Builder ClearField1() {
        result.hasField1 = false;
        result.field1_ = "";
        return this;
      }
      
      public bool HasField3 {
        get { return result.hasField3; }
      }
      public long Field3 {
        get { return result.Field3; }
        set { SetField3(value); }
      }
      public Builder SetField3(long value) {
        result.hasField3 = true;
        result.field3_ = value;
        return this;
      }
      public Builder ClearField3() {
        result.hasField3 = false;
        result.field3_ = 0L;
        return this;
      }
      
      public bool HasField4 {
        get { return result.hasField4; }
      }
      public long Field4 {
        get { return result.Field4; }
        set { SetField4(value); }
      }
      public Builder SetField4(long value) {
        result.hasField4 = true;
        result.field4_ = value;
        return this;
      }
      public Builder ClearField4() {
        result.hasField4 = false;
        result.field4_ = 0L;
        return this;
      }
      
      public bool HasField30 {
        get { return result.hasField30; }
      }
      public long Field30 {
        get { return result.Field30; }
        set { SetField30(value); }
      }
      public Builder SetField30(long value) {
        result.hasField30 = true;
        result.field30_ = value;
        return this;
      }
      public Builder ClearField30() {
        result.hasField30 = false;
        result.field30_ = 0L;
        return this;
      }
      
      public bool HasField75 {
        get { return result.hasField75; }
      }
      public bool Field75 {
        get { return result.Field75; }
        set { SetField75(value); }
      }
      public Builder SetField75(bool value) {
        result.hasField75 = true;
        result.field75_ = value;
        return this;
      }
      public Builder ClearField75() {
        result.hasField75 = false;
        result.field75_ = false;
        return this;
      }
      
      public bool HasField6 {
        get { return result.hasField6; }
      }
      public string Field6 {
        get { return result.Field6; }
        set { SetField6(value); }
      }
      public Builder SetField6(string value) {
        pb::ThrowHelper.ThrowIfNull(value, "value");
        result.hasField6 = true;
        result.field6_ = value;
        return this;
      }
      public Builder ClearField6() {
        result.hasField6 = false;
        result.field6_ = "";
        return this;
      }
      
      public bool HasField2 {
        get { return result.hasField2; }
      }
      public pb::ByteString Field2 {
        get { return result.Field2; }
        set { SetField2(value); }
      }
      public Builder SetField2(pb::ByteString value) {
        pb::ThrowHelper.ThrowIfNull(value, "value");
        result.hasField2 = true;
        result.field2_ = value;
        return this;
      }
      public Builder ClearField2() {
        result.hasField2 = false;
        result.field2_ = pb::ByteString.Empty;
        return this;
      }
      
      public bool HasField21 {
        get { return result.hasField21; }
      }
      public int Field21 {
        get { return result.Field21; }
        set { SetField21(value); }
      }
      public Builder SetField21(int value) {
        result.hasField21 = true;
        result.field21_ = value;
        return this;
      }
      public Builder ClearField21() {
        result.hasField21 = false;
        result.field21_ = 0;
        return this;
      }
      
      public bool HasField71 {
        get { return result.hasField71; }
      }
      public int Field71 {
        get { return result.Field71; }
        set { SetField71(value); }
      }
      public Builder SetField71(int value) {
        result.hasField71 = true;
        result.field71_ = value;
        return this;
      }
      public Builder ClearField71() {
        result.hasField71 = false;
        result.field71_ = 0;
        return this;
      }
      
      public bool HasField25 {
        get { return result.hasField25; }
      }
      public float Field25 {
        get { return result.Field25; }
        set { SetField25(value); }
      }
      public Builder SetField25(float value) {
        result.hasField25 = true;
        result.field25_ = value;
        return this;
      }
      public Builder ClearField25() {
        result.hasField25 = false;
        result.field25_ = 0F;
        return this;
      }
      
      public bool HasField109 {
        get { return result.hasField109; }
      }
      public int Field109 {
        get { return result.Field109; }
        set { SetField109(value); }
      }
      public Builder SetField109(int value) {
        result.hasField109 = true;
        result.field109_ = value;
        return this;
      }
      public Builder ClearField109() {
        result.hasField109 = false;
        result.field109_ = 0;
        return this;
      }
      
      public bool HasField210 {
        get { return result.hasField210; }
      }
      public int Field210 {
        get { return result.Field210; }
        set { SetField210(value); }
      }
      public Builder SetField210(int value) {
        result.hasField210 = true;
        result.field210_ = value;
        return this;
      }
      public Builder ClearField210() {
        result.hasField210 = false;
        result.field210_ = 0;
        return this;
      }
      
      public bool HasField211 {
        get { return result.hasField211; }
      }
      public int Field211 {
        get { return result.Field211; }
        set { SetField211(value); }
      }
      public Builder SetField211(int value) {
        result.hasField211 = true;
        result.field211_ = value;
        return this;
      }
      public Builder ClearField211() {
        result.hasField211 = false;
        result.field211_ = 0;
        return this;
      }
      
      public bool HasField212 {
        get { return result.hasField212; }
      }
      public int Field212 {
        get { return result.Field212; }
        set { SetField212(value); }
      }
      public Builder SetField212(int value) {
        result.hasField212 = true;
        result.field212_ = value;
        return this;
      }
      public Builder ClearField212() {
        result.hasField212 = false;
        result.field212_ = 0;
        return this;
      }
      
      public bool HasField213 {
        get { return result.hasField213; }
      }
      public int Field213 {
        get { return result.Field213; }
        set { SetField213(value); }
      }
      public Builder SetField213(int value) {
        result.hasField213 = true;
        result.field213_ = value;
        return this;
      }
      public Builder ClearField213() {
        result.hasField213 = false;
        result.field213_ = 0;
        return this;
      }
      
      public bool HasField216 {
        get { return result.hasField216; }
      }
      public int Field216 {
        get { return result.Field216; }
        set { SetField216(value); }
      }
      public Builder SetField216(int value) {
        result.hasField216 = true;
        result.field216_ = value;
        return this;
      }
      public Builder ClearField216() {
        result.hasField216 = false;
        result.field216_ = 0;
        return this;
      }
      
      public bool HasField217 {
        get { return result.hasField217; }
      }
      public int Field217 {
        get { return result.Field217; }
        set { SetField217(value); }
      }
      public Builder SetField217(int value) {
        result.hasField217 = true;
        result.field217_ = value;
        return this;
      }
      public Builder ClearField217() {
        result.hasField217 = false;
        result.field217_ = 0;
        return this;
      }
      
      public bool HasField218 {
        get { return result.hasField218; }
      }
      public int Field218 {
        get { return result.Field218; }
        set { SetField218(value); }
      }
      public Builder SetField218(int value) {
        result.hasField218 = true;
        result.field218_ = value;
        return this;
      }
      public Builder ClearField218() {
        result.hasField218 = false;
        result.field218_ = 0;
        return this;
      }
      
      public bool HasField220 {
        get { return result.hasField220; }
      }
      public int Field220 {
        get { return result.Field220; }
        set { SetField220(value); }
      }
      public Builder SetField220(int value) {
        result.hasField220 = true;
        result.field220_ = value;
        return this;
      }
      public Builder ClearField220() {
        result.hasField220 = false;
        result.field220_ = 0;
        return this;
      }
      
      public bool HasField221 {
        get { return result.hasField221; }
      }
      public int Field221 {
        get { return result.Field221; }
        set { SetField221(value); }
      }
      public Builder SetField221(int value) {
        result.hasField221 = true;
        result.field221_ = value;
        return this;
      }
      public Builder ClearField221() {
        result.hasField221 = false;
        result.field221_ = 0;
        return this;
      }
      
      public bool HasField222 {
        get { return result.hasField222; }
      }
      public float Field222 {
        get { return result.Field222; }
        set { SetField222(value); }
      }
      public Builder SetField222(float value) {
        result.hasField222 = true;
        result.field222_ = value;
        return this;
      }
      public Builder ClearField222() {
        result.hasField222 = false;
        result.field222_ = 0F;
        return this;
      }
      
      public bool HasField63 {
        get { return result.hasField63; }
      }
      public int Field63 {
        get { return result.Field63; }
        set { SetField63(value); }
      }
      public Builder SetField63(int value) {
        result.hasField63 = true;
        result.field63_ = value;
        return this;
      }
      public Builder ClearField63() {
        result.hasField63 = false;
        result.field63_ = 0;
        return this;
      }
      
      public pbc::IPopsicleList<global::Google.ProtocolBuffers.TestProtos.SizeMessage2.Types.Group1> Group1List {
        get { return result.group1_; }
      }
      public int Group1Count {
        get { return result.Group1Count; }
      }
      public global::Google.ProtocolBuffers.TestProtos.SizeMessage2.Types.Group1 GetGroup1(int index) {
        return result.GetGroup1(index);
      }
      public Builder SetGroup1(int index, global::Google.ProtocolBuffers.TestProtos.SizeMessage2.Types.Group1 value) {
        pb::ThrowHelper.ThrowIfNull(value, "value");
        result.group1_[index] = value;
        return this;
      }
      public Builder SetGroup1(int index, global::Google.ProtocolBuffers.TestProtos.SizeMessage2.Types.Group1.Builder builderForValue) {
        pb::ThrowHelper.ThrowIfNull(builderForValue, "builderForValue");
        result.group1_[index] = builderForValue.Build();
        return this;
      }
      public Builder AddGroup1(global::Google.ProtocolBuffers.TestProtos.SizeMessage2.Types.Group1 value) {
        pb::ThrowHelper.ThrowIfNull(value, "value");
        result.group1_.Add(value);
        return this;
      }
      public Builder AddGroup1(global::Google.ProtocolBuffers.TestProtos.SizeMessage2.Types.Group1.Builder builderForValue) {
        pb::ThrowHelper.ThrowIfNull(builderForValue, "builderForValue");
        result.group1_.Add(builderForValue.Build());
        return this;
      }
      public Builder AddRangeGroup1(scg::IEnumerable<global::Google.ProtocolBuffers.TestProtos.SizeMessage2.Types.Group1> values) {
        base.AddRange(values, result.group1_);
        return this;
      }
      public Builder ClearGroup1() {
        result.group1_.Clear();
        return this;
      }
      
      public pbc::IPopsicleList<string> Field128List {
        get { return result.field128_; }
      }
      public int Field128Count {
        get { return result.Field128Count; }
      }
      public string GetField128(int index) {
        return result.GetField128(index);
      }
      public Builder SetField128(int index, string value) {
        pb::ThrowHelper.ThrowIfNull(value, "value");
        result.field128_[index] = value;
        return this;
      }
      public Builder AddField128(string value) {
        pb::ThrowHelper.ThrowIfNull(value, "value");
        result.field128_.Add(value);
        return this;
      }
      public Builder AddRangeField128(scg::IEnumerable<string> values) {
        base.AddRange(values, result.field128_);
        return this;
      }
      public Builder ClearField128() {
        result.field128_.Clear();
        return this;
      }
      
      public bool HasField131 {
        get { return result.hasField131; }
      }
      public long Field131 {
        get { return result.Field131; }
        set { SetField131(value); }
      }
      public Builder SetField131(long value) {
        result.hasField131 = true;
        result.field131_ = value;
        return this;
      }
      public Builder ClearField131() {
        result.hasField131 = false;
        result.field131_ = 0L;
        return this;
      }
      
      public pbc::IPopsicleList<string> Field127List {
        get { return result.field127_; }
      }
      public int Field127Count {
        get { return result.Field127Count; }
      }
      public string GetField127(int index) {
        return result.GetField127(index);
      }
      public Builder SetField127(int index, string value) {
        pb::ThrowHelper.ThrowIfNull(value, "value");
        result.field127_[index] = value;
        return this;
      }
      public Builder AddField127(string value) {
        pb::ThrowHelper.ThrowIfNull(value, "value");
        result.field127_.Add(value);
        return this;
      }
      public Builder AddRangeField127(scg::IEnumerable<string> values) {
        base.AddRange(values, result.field127_);
        return this;
      }
      public Builder ClearField127() {
        result.field127_.Clear();
        return this;
      }
      
      public bool HasField129 {
        get { return result.hasField129; }
      }
      public int Field129 {
        get { return result.Field129; }
        set { SetField129(value); }
      }
      public Builder SetField129(int value) {
        result.hasField129 = true;
        result.field129_ = value;
        return this;
      }
      public Builder ClearField129() {
        result.hasField129 = false;
        result.field129_ = 0;
        return this;
      }
      
      public pbc::IPopsicleList<long> Field130List {
        get { return result.field130_; }
      }
      public int Field130Count {
        get { return result.Field130Count; }
      }
      public long GetField130(int index) {
        return result.GetField130(index);
      }
      public Builder SetField130(int index, long value) {
        result.field130_[index] = value;
        return this;
      }
      public Builder AddField130(long value) {
        result.field130_.Add(value);
        return this;
      }
      public Builder AddRangeField130(scg::IEnumerable<long> values) {
        base.AddRange(values, result.field130_);
        return this;
      }
      public Builder ClearField130() {
        result.field130_.Clear();
        return this;
      }
      
      public bool HasField205 {
        get { return result.hasField205; }
      }
      public bool Field205 {
        get { return result.Field205; }
        set { SetField205(value); }
      }
      public Builder SetField205(bool value) {
        result.hasField205 = true;
        result.field205_ = value;
        return this;
      }
      public Builder ClearField205() {
        result.hasField205 = false;
        result.field205_ = false;
        return this;
      }
      
      public bool HasField206 {
        get { return result.hasField206; }
      }
      public bool Field206 {
        get { return result.Field206; }
        set { SetField206(value); }
      }
      public Builder SetField206(bool value) {
        result.hasField206 = true;
        result.field206_ = value;
        return this;
      }
      public Builder ClearField206() {
        result.hasField206 = false;
        result.field206_ = false;
        return this;
      }
    }
    static SizeMessage2() {
      object.ReferenceEquals(global::Google.ProtocolBuffers.TestProtos.UnitTestGoogleSizeProtoFile.Descriptor, null);
    }
  }
  
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
  [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]
  public sealed partial class SizeMessage2GroupedMessage : pb::GeneratedMessage<SizeMessage2GroupedMessage, SizeMessage2GroupedMessage.Builder> {
    private static readonly SizeMessage2GroupedMessage defaultInstance = new Builder().BuildPartial();
    public static SizeMessage2GroupedMessage DefaultInstance {
      get { return defaultInstance; }
    }
    
    public override SizeMessage2GroupedMessage DefaultInstanceForType {
      get { return defaultInstance; }
    }
    
    protected override SizeMessage2GroupedMessage ThisMessage {
      get { return this; }
    }
    
    public static pbd::MessageDescriptor Descriptor {
      get { return global::Google.ProtocolBuffers.TestProtos.UnitTestGoogleSizeProtoFile.internal__static_benchmarks_SizeMessage2GroupedMessage__Descriptor; }
    }
    
    protected override pb::FieldAccess.FieldAccessorTable<SizeMessage2GroupedMessage, SizeMessage2GroupedMessage.Builder> InternalFieldAccessors {
      get { return global::Google.ProtocolBuffers.TestProtos.UnitTestGoogleSizeProtoFile.internal__static_benchmarks_SizeMessage2GroupedMessage__FieldAccessorTable; }
    }
    
    public const int Field1FieldNumber = 1;
    private bool hasField1;
    private float field1_ = 0F;
    public bool HasField1 {
      get { return hasField1; }
    }
    public float Field1 {
      get { return field1_; }
    }
    
    public const int Field2FieldNumber = 2;
    private bool hasField2;
    private float field2_ = 0F;
    public bool HasField2 {
      get { return hasField2; }
    }
    public float Field2 {
      get { return field2_; }
    }
    
    public const int Field3FieldNumber = 3;
    private bool hasField3;
    private float field3_ = 0F;
    public bool HasField3 {
      get { return hasField3; }
    }
    public float Field3 {
      get { return field3_; }
    }
    
    public const int Field4FieldNumber = 4;
    private bool hasField4;
    private bool field4_ = false;
    public bool HasField4 {
      get { return hasField4; }
    }
    public bool Field4 {
      get { return field4_; }
    }
    
    public const int Field5FieldNumber = 5;
    private bool hasField5;
    private bool field5_ = false;
    public bool HasField5 {
      get { return hasField5; }
    }
    public bool Field5 {
      get { return field5_; }
    }
    
    public const int Field6FieldNumber = 6;
    private bool hasField6;
    private bool field6_ = true;
    public bool HasField6 {
      get { return hasField6; }
    }
    public bool Field6 {
      get { return field6_; }
    }
    
    public const int Field7FieldNumber = 7;
    private bool hasField7;
    private bool field7_ = false;
    public bool HasField7 {
      get { return hasField7; }
    }
    public bool Field7 {
      get { return field7_; }
    }
    
    public const int Field8FieldNumber = 8;
    private bool hasField8;
    private float field8_ = 0F;
    public bool HasField8 {
      get { return hasField8; }
    }
    public float Field8 {
      get { return field8_; }
    }
    
    public const int Field9FieldNumber = 9;
    private bool hasField9;
    private bool field9_ = false;
    public bool HasField9 {
      get { return hasField9; }
    }
    public bool Field9 {
      get { return field9_; }
    }
    
    public const int Field10FieldNumber = 10;
    private bool hasField10;
    private float field10_ = 0F;
    public bool HasField10 {
      get { return hasField10; }
    }
    public float Field10 {
      get { return field10_; }
    }
    
    public const int Field11FieldNumber = 11;
    private bool hasField11;
    private long field11_ = 0L;
    public bool HasField11 {
      get { return hasField11; }
    }
    public long Field11 {
      get { return field11_; }
    }
    
    public static SizeMessage2GroupedMessage ParseFrom(pb::ByteString data) {
      return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();
    }
    public static SizeMessage2GroupedMessage ParseFrom(pb::ByteString data, pb::ExtensionRegistry extensionRegistry) {
      return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry)).BuildParsed();
    }
    public static SizeMessage2GroupedMessage ParseFrom(byte[] data) {
      return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();
    }
    public static SizeMessage2GroupedMessage ParseFrom(byte[] data, pb::ExtensionRegistry extensionRegistry) {
      return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry)).BuildParsed();
    }
    public static SizeMessage2GroupedMessage ParseFrom(global::System.IO.Stream input) {
      return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();
    }
    public static SizeMessage2GroupedMessage ParseFrom(global::System.IO.Stream input, pb::ExtensionRegistry extensionRegistry) {
      return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry)).BuildParsed();
    }
    public static SizeMessage2GroupedMessage ParseDelimitedFrom(global::System.IO.Stream input) {
      return CreateBuilder().MergeDelimitedFrom(input).BuildParsed();
    }
    public static SizeMessage2GroupedMessage ParseDelimitedFrom(global::System.IO.Stream input, pb::ExtensionRegistry extensionRegistry) {
      return CreateBuilder().MergeDelimitedFrom(input, extensionRegistry).BuildParsed();
    }
    public static SizeMessage2GroupedMessage ParseFrom(pb::ICodedInputStream input) {
      return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();
    }
    public static SizeMessage2GroupedMessage ParseFrom(pb::ICodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
      return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry)).BuildParsed();
    }
    public static Builder CreateBuilder() { return new Builder(); }
    public override Builder ToBuilder() { return CreateBuilder(this); }
    public override Builder CreateBuilderForType() { return new Builder(); }
    public static Builder CreateBuilder(SizeMessage2GroupedMessage prototype) {
      return (Builder) new Builder().MergeFrom(prototype);
    }
    
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]
    public sealed partial class Builder : pb::GeneratedBuilder<SizeMessage2GroupedMessage, Builder> {
      protected override Builder ThisBuilder {
        get { return this; }
      }
      public Builder() {}
      
      SizeMessage2GroupedMessage result = new SizeMessage2GroupedMessage();
      
      protected override SizeMessage2GroupedMessage MessageBeingBuilt {
        get { return result; }
      }
      
      public override Builder Clear() {
        result = new SizeMessage2GroupedMessage();
        return this;
      }
      
      public override Builder Clone() {
        return new Builder().MergeFrom(result);
      }
      
      public override pbd::MessageDescriptor DescriptorForType {
        get { return global::Google.ProtocolBuffers.TestProtos.SizeMessage2GroupedMessage.Descriptor; }
      }
      
      public override SizeMessage2GroupedMessage DefaultInstanceForType {
        get { return global::Google.ProtocolBuffers.TestProtos.SizeMessage2GroupedMessage.DefaultInstance; }
      }
      
      public override SizeMessage2GroupedMessage BuildPartial() {
        if (result == null) {
          throw new global::System.InvalidOperationException("build() has already been called on this Builder");
        }
        SizeMessage2GroupedMessage returnMe = result;
        result = null;
        return returnMe;
      }
      
      
      public bool HasField1 {
        get { return result.hasField1; }
      }
      public float Field1 {
        get { return result.Field1; }
        set { SetField1(value); }
      }
      public Builder SetField1(float value) {
        result.hasField1 = true;
        result.field1_ = value;
        return this;
      }
      public Builder ClearField1() {
        result.hasField1 = false;
        result.field1_ = 0F;
        return this;
      }
      
      public bool HasField2 {
        get { return result.hasField2; }
      }
      public float Field2 {
        get { return result.Field2; }
        set { SetField2(value); }
      }
      public Builder SetField2(float value) {
        result.hasField2 = true;
        result.field2_ = value;
        return this;
      }
      public Builder ClearField2() {
        result.hasField2 = false;
        result.field2_ = 0F;
        return this;
      }
      
      public bool HasField3 {
        get { return result.hasField3; }
      }
      public float Field3 {
        get { return result.Field3; }
        set { SetField3(value); }
      }
      public Builder SetField3(float value) {
        result.hasField3 = true;
        result.field3_ = value;
        return this;
      }
      public Builder ClearField3() {
        result.hasField3 = false;
        result.field3_ = 0F;
        return this;
      }
      
      public bool HasField4 {
        get { return result.hasField4; }
      }
      public bool Field4 {
        get { return result.Field4; }
        set { SetField4(value); }
      }
      public Builder SetField4(bool value) {
        result.hasField4 = true;
        result.field4_ = value;
        return this;
      }
      public Builder ClearField4() {
        result.hasField4 = false;
        result.field4_ = false;
        return this;
      }
      
      public bool HasField5 {
        get { return result.hasField5; }
      }
      public bool Field5 {
        get { return result.Field5; }
        set { SetField5(value); }
      }
      public Builder SetField5(bool value) {
        result.hasField5 = true;
        result.field5_ = value;
        return this;
      }
      public Builder ClearField5() {
        result.hasField5 = false;
        result.field5_ = false;
        return this;
      }
      
      public bool HasField6 {
        get { return result.hasField6; }
      }
      public bool Field6 {
        get { return result.Field6; }
        set { SetField6(value); }
      }
      public Builder SetField6(bool value) {
        result.hasField6 = true;
        result.field6_ = value;
        return this;
      }
      public Builder ClearField6() {
        result.hasField6 = false;
        result.field6_ = true;
        return this;
      }
      
      public bool HasField7 {
        get { return result.hasField7; }
      }
      public bool Field7 {
        get { return result.Field7; }
        set { SetField7(value); }
      }
      public Builder SetField7(bool value) {
        result.hasField7 = true;
        result.field7_ = value;
        return this;
      }
      public Builder ClearField7() {
        result.hasField7 = false;
        result.field7_ = false;
        return this;
      }
      
      public bool HasField8 {
        get { return result.hasField8; }
      }
      public float Field8 {
        get { return result.Field8; }
        set { SetField8(value); }
      }
      public Builder SetField8(float value) {
        result.hasField8 = true;
        result.field8_ = value;
        return this;
      }
      public Builder ClearField8() {
        result.hasField8 = false;
        result.field8_ = 0F;
        return this;
      }
      
      public bool HasField9 {
        get { return result.hasField9; }
      }
      public bool Field9 {
        get { return result.Field9; }
        set { SetField9(value); }
      }
      public Builder SetField9(bool value) {
        result.hasField9 = true;
        result.field9_ = value;
        return this;
      }
      public Builder ClearField9() {
        result.hasField9 = false;
        result.field9_ = false;
        return this;
      }
      
      public bool HasField10 {
        get { return result.hasField10; }
      }
      public float Field10 {
        get { return result.Field10; }
        set { SetField10(value); }
      }
      public Builder SetField10(float value) {
        result.hasField10 = true;
        result.field10_ = value;
        return this;
      }
      public Builder ClearField10() {
        result.hasField10 = false;
        result.field10_ = 0F;
        return this;
      }
      
      public bool HasField11 {
        get { return result.hasField11; }
      }
      public long Field11 {
        get { return result.Field11; }
        set { SetField11(value); }
      }
      public Builder SetField11(long value) {
        result.hasField11 = true;
        result.field11_ = value;
        return this;
      }
      public Builder ClearField11() {
        result.hasField11 = false;
        result.field11_ = 0L;
        return this;
      }
    }
    static SizeMessage2GroupedMessage() {
      object.ReferenceEquals(global::Google.ProtocolBuffers.TestProtos.UnitTestGoogleSizeProtoFile.Descriptor, null);
    }
  }
  
  #endregion
  
}