aboutsummaryrefslogtreecommitdiffhomepage
path: root/benchmarks/datasets
diff options
context:
space:
mode:
Diffstat (limited to 'benchmarks/datasets')
-rw-r--r--benchmarks/datasets/google_message1/proto2/benchmark_message1_proto2.proto78
-rw-r--r--benchmarks/datasets/google_message1/proto2/dataset.google_message1_proto2.pbbin0 -> 289 bytes
-rw-r--r--benchmarks/datasets/google_message1/proto3/benchmark_message1_proto3.proto78
-rw-r--r--benchmarks/datasets/google_message1/proto3/dataset.google_message1_proto3.pbbin0 -> 289 bytes
-rw-r--r--benchmarks/datasets/google_message2/benchmark_message2.proto76
-rw-r--r--benchmarks/datasets/google_message2/dataset.google_message2.pbbin0 -> 84625 bytes
-rw-r--r--benchmarks/datasets/google_message3/benchmark_message3.proto534
-rw-r--r--benchmarks/datasets/google_message3/benchmark_message3_1.proto1280
-rw-r--r--benchmarks/datasets/google_message3/benchmark_message3_2.proto499
-rw-r--r--benchmarks/datasets/google_message3/benchmark_message3_3.proto466
-rw-r--r--benchmarks/datasets/google_message3/benchmark_message3_4.proto491
-rw-r--r--benchmarks/datasets/google_message3/benchmark_message3_5.proto473
-rw-r--r--benchmarks/datasets/google_message3/benchmark_message3_6.proto454
-rw-r--r--benchmarks/datasets/google_message3/benchmark_message3_7.proto56
-rw-r--r--benchmarks/datasets/google_message3/benchmark_message3_8.proto1900
-rw-r--r--benchmarks/datasets/google_message4/benchmark_message4.proto454
-rw-r--r--benchmarks/datasets/google_message4/benchmark_message4_1.proto474
-rw-r--r--benchmarks/datasets/google_message4/benchmark_message4_2.proto292
-rw-r--r--benchmarks/datasets/google_message4/benchmark_message4_3.proto751
19 files changed, 8356 insertions, 0 deletions
diff --git a/benchmarks/datasets/google_message1/proto2/benchmark_message1_proto2.proto b/benchmarks/datasets/google_message1/proto2/benchmark_message1_proto2.proto
new file mode 100644
index 00000000..21261905
--- /dev/null
+++ b/benchmarks/datasets/google_message1/proto2/benchmark_message1_proto2.proto
@@ -0,0 +1,78 @@
+// Benchmark messages for proto2.
+
+syntax = "proto2";
+
+package benchmarks.proto2;
+option java_package = "com.google.protobuf.benchmarks";
+
+// This is the default, but we specify it here explicitly.
+option optimize_for = SPEED;
+
+option cc_enable_arenas = true;
+
+message GoogleMessage1 {
+ required string field1 = 1;
+ optional string field9 = 9;
+ optional string field18 = 18;
+ optional bool field80 = 80 [default = false];
+ optional bool field81 = 81 [default = true];
+ required int32 field2 = 2;
+ required int32 field3 = 3;
+ optional int32 field280 = 280;
+ optional int32 field6 = 6 [default = 0];
+ optional int64 field22 = 22;
+ optional string field4 = 4;
+ repeated fixed64 field5 = 5;
+ optional bool field59 = 59 [default = false];
+ optional string field7 = 7;
+ optional int32 field16 = 16;
+ optional int32 field130 = 130 [default = 0];
+ optional bool field12 = 12 [default = true];
+ optional bool field17 = 17 [default = true];
+ optional bool field13 = 13 [default = true];
+ optional bool field14 = 14 [default = true];
+ optional int32 field104 = 104 [default = 0];
+ optional int32 field100 = 100 [default = 0];
+ optional int32 field101 = 101 [default = 0];
+ optional string field102 = 102;
+ optional string field103 = 103;
+ optional int32 field29 = 29 [default = 0];
+ optional bool field30 = 30 [default = false];
+ optional int32 field60 = 60 [default = -1];
+ optional int32 field271 = 271 [default = -1];
+ optional int32 field272 = 272 [default = -1];
+ optional int32 field150 = 150;
+ optional int32 field23 = 23 [default = 0];
+ optional bool field24 = 24 [default = false];
+ optional int32 field25 = 25 [default = 0];
+ optional GoogleMessage1SubMessage field15 = 15;
+ optional bool field78 = 78;
+ optional int32 field67 = 67 [default = 0];
+ optional int32 field68 = 68;
+ optional int32 field128 = 128 [default = 0];
+ optional string field129 = 129 [default = "xxxxxxxxxxxxxxxxxxxxx"];
+ optional int32 field131 = 131 [default = 0];
+}
+
+message GoogleMessage1SubMessage {
+ optional int32 field1 = 1 [default = 0];
+ optional int32 field2 = 2 [default = 0];
+ optional int32 field3 = 3 [default = 0];
+ optional string field15 = 15;
+ optional bool field12 = 12 [default = true];
+ optional int64 field13 = 13;
+ optional int64 field14 = 14;
+ optional int32 field16 = 16;
+ optional int32 field19 = 19 [default = 2];
+ optional bool field20 = 20 [default = true];
+ optional bool field28 = 28 [default = true];
+ optional fixed64 field21 = 21;
+ optional int32 field22 = 22;
+ optional bool field23 = 23 [default = false];
+ optional bool field206 = 206 [default = false];
+ optional fixed32 field203 = 203;
+ optional int32 field204 = 204;
+ optional string field205 = 205;
+ optional uint64 field207 = 207;
+ optional uint64 field300 = 300;
+}
diff --git a/benchmarks/datasets/google_message1/proto2/dataset.google_message1_proto2.pb b/benchmarks/datasets/google_message1/proto2/dataset.google_message1_proto2.pb
new file mode 100644
index 00000000..f6fe7848
--- /dev/null
+++ b/benchmarks/datasets/google_message1/proto2/dataset.google_message1_proto2.pb
Binary files differ
diff --git a/benchmarks/datasets/google_message1/proto3/benchmark_message1_proto3.proto b/benchmarks/datasets/google_message1/proto3/benchmark_message1_proto3.proto
new file mode 100644
index 00000000..090b554b
--- /dev/null
+++ b/benchmarks/datasets/google_message1/proto3/benchmark_message1_proto3.proto
@@ -0,0 +1,78 @@
+// Benchmark messages for proto3.
+
+syntax = "proto3";
+
+package benchmarks.proto3;
+option java_package = "com.google.protobuf.benchmarks";
+
+// This is the default, but we specify it here explicitly.
+option optimize_for = SPEED;
+
+option cc_enable_arenas = true;
+
+message GoogleMessage1 {
+ string field1 = 1;
+ string field9 = 9;
+ string field18 = 18;
+ bool field80 = 80;
+ bool field81 = 81;
+ int32 field2 = 2;
+ int32 field3 = 3;
+ int32 field280 = 280;
+ int32 field6 = 6;
+ int64 field22 = 22;
+ string field4 = 4;
+ repeated fixed64 field5 = 5;
+ bool field59 = 59;
+ string field7 = 7;
+ int32 field16 = 16;
+ int32 field130 = 130;
+ bool field12 = 12;
+ bool field17 = 17;
+ bool field13 = 13;
+ bool field14 = 14;
+ int32 field104 = 104;
+ int32 field100 = 100;
+ int32 field101 = 101;
+ string field102 = 102;
+ string field103 = 103;
+ int32 field29 = 29;
+ bool field30 = 30;
+ int32 field60 = 60;
+ int32 field271 = 271;
+ int32 field272 = 272;
+ int32 field150 = 150;
+ int32 field23 = 23;
+ bool field24 = 24;
+ int32 field25 = 25;
+ GoogleMessage1SubMessage field15 = 15;
+ bool field78 = 78;
+ int32 field67 = 67;
+ int32 field68 = 68;
+ int32 field128 = 128;
+ string field129 = 129;
+ int32 field131 = 131;
+}
+
+message GoogleMessage1SubMessage {
+ int32 field1 = 1;
+ int32 field2 = 2;
+ int32 field3 = 3;
+ string field15 = 15;
+ bool field12 = 12;
+ int64 field13 = 13;
+ int64 field14 = 14;
+ int32 field16 = 16;
+ int32 field19 = 19;
+ bool field20 = 20;
+ bool field28 = 28;
+ fixed64 field21 = 21;
+ int32 field22 = 22;
+ bool field23 = 23;
+ bool field206 = 206;
+ fixed32 field203 = 203;
+ int32 field204 = 204;
+ string field205 = 205;
+ uint64 field207 = 207;
+ uint64 field300 = 300;
+}
diff --git a/benchmarks/datasets/google_message1/proto3/dataset.google_message1_proto3.pb b/benchmarks/datasets/google_message1/proto3/dataset.google_message1_proto3.pb
new file mode 100644
index 00000000..4955bed3
--- /dev/null
+++ b/benchmarks/datasets/google_message1/proto3/dataset.google_message1_proto3.pb
Binary files differ
diff --git a/benchmarks/datasets/google_message2/benchmark_message2.proto b/benchmarks/datasets/google_message2/benchmark_message2.proto
new file mode 100644
index 00000000..820630e4
--- /dev/null
+++ b/benchmarks/datasets/google_message2/benchmark_message2.proto
@@ -0,0 +1,76 @@
+// Benchmark messages for proto2.
+
+syntax = "proto2";
+
+package benchmarks.proto2;
+option java_package = "com.google.protobuf.benchmarks";
+
+// This is the default, but we specify it here explicitly.
+option optimize_for = SPEED;
+
+option cc_enable_arenas = true;
+
+message GoogleMessage2 {
+ optional string field1 = 1;
+ optional int64 field3 = 3;
+ optional int64 field4 = 4;
+ optional int64 field30 = 30;
+ optional bool field75 = 75 [default = false];
+ optional string field6 = 6;
+ optional bytes field2 = 2;
+ optional int32 field21 = 21 [default = 0];
+ optional int32 field71 = 71;
+ optional float field25 = 25;
+ optional int32 field109 = 109 [default = 0];
+ optional int32 field210 = 210 [default = 0];
+ optional int32 field211 = 211 [default = 0];
+ optional int32 field212 = 212 [default = 0];
+ optional int32 field213 = 213 [default = 0];
+ optional int32 field216 = 216 [default = 0];
+ optional int32 field217 = 217 [default = 0];
+ optional int32 field218 = 218 [default = 0];
+ optional int32 field220 = 220 [default = 0];
+ optional int32 field221 = 221 [default = 0];
+ optional float field222 = 222 [default = 0.0];
+ optional int32 field63 = 63;
+
+ repeated group Group1 = 10 {
+ required float field11 = 11;
+ optional float field26 = 26;
+ optional string field12 = 12;
+ optional string field13 = 13;
+ repeated string field14 = 14;
+ required uint64 field15 = 15;
+ optional int32 field5 = 5;
+ optional string field27 = 27;
+ optional int32 field28 = 28;
+ optional string field29 = 29;
+ optional string field16 = 16;
+ repeated string field22 = 22;
+ repeated int32 field73 = 73;
+ optional int32 field20 = 20 [default = 0];
+ optional string field24 = 24;
+ optional GoogleMessage2GroupedMessage field31 = 31;
+ }
+ repeated string field128 = 128;
+ optional int64 field131 = 131;
+ repeated string field127 = 127;
+ optional int32 field129 = 129;
+ repeated int64 field130 = 130;
+ optional bool field205 = 205 [default = false];
+ optional bool field206 = 206 [default = false];
+}
+
+message GoogleMessage2GroupedMessage {
+ optional float field1 = 1;
+ optional float field2 = 2;
+ optional float field3 = 3 [default = 0.0];
+ optional bool field4 = 4;
+ optional bool field5 = 5;
+ optional bool field6 = 6 [default = true];
+ optional bool field7 = 7 [default = false];
+ optional float field8 = 8;
+ optional bool field9 = 9;
+ optional float field10 = 10;
+ optional int64 field11 = 11;
+}
diff --git a/benchmarks/datasets/google_message2/dataset.google_message2.pb b/benchmarks/datasets/google_message2/dataset.google_message2.pb
new file mode 100644
index 00000000..3fa0e49e
--- /dev/null
+++ b/benchmarks/datasets/google_message2/dataset.google_message2.pb
Binary files differ
diff --git a/benchmarks/datasets/google_message3/benchmark_message3.proto b/benchmarks/datasets/google_message3/benchmark_message3.proto
new file mode 100644
index 00000000..d6f0d14e
--- /dev/null
+++ b/benchmarks/datasets/google_message3/benchmark_message3.proto
@@ -0,0 +1,534 @@
+syntax = "proto2";
+
+import "datasets/google_message3/benchmark_message3_1.proto";
+import "datasets/google_message3/benchmark_message3_2.proto";
+import "datasets/google_message3/benchmark_message3_3.proto";
+import "datasets/google_message3/benchmark_message3_4.proto";
+import "datasets/google_message3/benchmark_message3_5.proto";
+import "datasets/google_message3/benchmark_message3_7.proto";
+import "datasets/google_message3/benchmark_message3_8.proto";
+package benchmarks.google_message3;
+
+option cc_enable_arenas = true;
+option java_package = "com.google.protobuf.benchmarks";
+
+message GoogleMessage3 {
+ optional .benchmarks.google_message3.Message37487 field37519 = 2;
+ optional .benchmarks.google_message3.Message36876 field37520 = 3;
+ optional .benchmarks.google_message3.Message13062 field37521 = 4;
+ optional .benchmarks.google_message3.Message952 field37522 = 5;
+ optional .benchmarks.google_message3.UnusedEmptyMessage field37523 = 6;
+ optional .benchmarks.google_message3.UnusedEmptyMessage field37524 = 7;
+ optional .benchmarks.google_message3.UnusedEmptyMessage field37525 = 8;
+ optional .benchmarks.google_message3.UnusedEmptyMessage field37526 = 9;
+ optional .benchmarks.google_message3.UnusedEmptyMessage field37527 = 10;
+ optional .benchmarks.google_message3.UnusedEmptyMessage field37528 = 11;
+ optional .benchmarks.google_message3.UnusedEmptyMessage field37529 = 12;
+ optional .benchmarks.google_message3.UnusedEmptyMessage field37530 = 13;
+ optional .benchmarks.google_message3.UnusedEmptyMessage field37531 = 14;
+ optional .benchmarks.google_message3.UnusedEmptyMessage field37532 = 15;
+ optional .benchmarks.google_message3.UnusedEmptyMessage field37533 = 16;
+}
+
+message Message1327 {
+ repeated .benchmarks.google_message3.UnusedEmptyMessage field1369 = 1;
+ repeated .benchmarks.google_message3.Message1328 field1370 = 3;
+ repeated .benchmarks.google_message3.UnusedEmptyMessage field1371 = 5;
+ repeated .benchmarks.google_message3.UnusedEmptyMessage field1372 = 6;
+ extend .benchmarks.google_message3.Message0 {
+ optional .benchmarks.google_message3.Message1327 field1373 = 23104162;
+ }
+}
+
+message Message3672 {
+ optional .benchmarks.google_message3.Enum3476 field3727 = 1;
+ optional int32 field3728 = 11;
+ optional int32 field3729 = 2;
+ repeated group Message3673 = 3 {
+ required .benchmarks.google_message3.Enum3476 field3738 = 4;
+ required int32 field3739 = 5;
+ }
+ repeated group Message3674 = 6 {
+ required .benchmarks.google_message3.Enum3476 field3740 = 7;
+ required int32 field3741 = 8;
+ }
+ optional bool field3732 = 9;
+ optional int32 field3733 = 10;
+ optional .benchmarks.google_message3.Enum3476 field3734 = 20;
+ optional int32 field3735 = 21;
+ optional .benchmarks.google_message3.UnusedEmptyMessage field3736 = 50;
+ extend .benchmarks.google_message3.Message0 {
+ optional .benchmarks.google_message3.Message3672 field3737 = 3144435;
+ }
+}
+
+message Message3804 {
+ required int64 field3818 = 1;
+ required bool field3819 = 2;
+ repeated .benchmarks.google_message3.Enum3805 field3820 = 4;
+ optional int32 field3821 = 5;
+ optional bool field3822 = 6;
+ optional int64 field3823 = 7;
+ optional .benchmarks.google_message3.Enum3783 field3824 = 8;
+ extend .benchmarks.google_message3.Message0 {
+ optional .benchmarks.google_message3.Message3804 field3825 = 59241828;
+ }
+}
+
+message Message6849 {
+ repeated .benchmarks.google_message3.Message6850 field6910 = 1;
+ extend .benchmarks.google_message3.Message0 {
+ optional .benchmarks.google_message3.Message6849 field6911 = 107558455;
+ }
+}
+
+message Message6866 {
+ repeated .benchmarks.google_message3.Message6863 field6973 = 1;
+ extend .benchmarks.google_message3.Message0 {
+ optional .benchmarks.google_message3.Message6866 field6974 = 22259060;
+ }
+}
+
+message Message6870 {
+ repeated .benchmarks.google_message3.Message6871 field6991 = 1;
+ extend .benchmarks.google_message3.Message0 {
+ optional .benchmarks.google_message3.Message6870 field6992 = 90034652;
+ }
+}
+
+message Message7651 {
+ optional string field7685 = 1;
+ optional int64 field7686 = 2;
+ optional int64 field7687 = 3;
+ optional int64 field7688 = 4;
+ optional int32 field7689 = 5;
+ optional int32 field7690 = 6;
+ optional int32 field7691 = 7;
+ optional int32 field7692 = 8;
+ optional int32 field7693 = 9;
+ optional int32 field7694 = 10;
+ optional int32 field7695 = 11;
+ optional int32 field7696 = 12;
+ optional int32 field7697 = 13;
+ optional int32 field7698 = 14;
+ optional int32 field7699 = 15;
+ optional int32 field7700 = 16;
+ optional int32 field7701 = 17;
+ optional int32 field7702 = 18;
+ optional bool field7703 = 19;
+ repeated int32 field7704 = 20;
+ repeated int32 field7705 = 21;
+ repeated string field7706 = 22;
+ repeated string field7707 = 23;
+ optional .benchmarks.google_message3.UnusedEmptyMessage field7708 = 24;
+ optional int32 field7709 = 25;
+ optional int32 field7710 = 26;
+ optional int32 field7711 = 27;
+ optional int32 field7712 = 43;
+ optional int32 field7713 = 28;
+ optional int32 field7714 = 29;
+ repeated .benchmarks.google_message3.Message7547 field7715 = 30;
+ repeated .benchmarks.google_message3.Message7547 field7716 = 31;
+ repeated .benchmarks.google_message3.UnusedEmptyMessage field7717 = 32;
+ repeated string field7718 = 33;
+ repeated string field7719 = 34;
+ repeated .benchmarks.google_message3.Message7648 field7720 = 35;
+ optional bool field7721 = 36;
+ optional bool field7722 = 37;
+ optional bool field7723 = 38;
+ optional bool field7724 = 39;
+ optional .benchmarks.google_message3.UnusedEmptyMessage field7725 = 40;
+ optional .benchmarks.google_message3.UnusedEnum field7726 = 41;
+ optional .benchmarks.google_message3.Enum7654 field7727 = 42;
+ optional string field7728 = 44;
+ optional .benchmarks.google_message3.UnusedEmptyMessage field7729 = 45;
+ extend .benchmarks.google_message3.Message0 {
+ optional .benchmarks.google_message3.Message7651 field7730 = 55876009;
+ }
+}
+
+message Message7864 {
+ optional string field7866 = 1;
+ optional string field7867 = 2;
+ repeated .benchmarks.google_message3.Message7865 field7868 = 5;
+ repeated .benchmarks.google_message3.Message7865 field7869 = 6;
+ repeated .benchmarks.google_message3.Message7865 field7870 = 7;
+ repeated .benchmarks.google_message3.UnusedEmptyMessage field7871 = 8;
+ extend .benchmarks.google_message3.Message0 {
+ optional .benchmarks.google_message3.Message7864 field7872 = 44542730;
+ }
+}
+
+message Message7929 {
+ optional int64 field7942 = 1;
+ optional int64 field7943 = 4;
+ optional int64 field7944 = 5;
+ optional int64 field7945 = 12;
+ optional int64 field7946 = 13;
+ optional int64 field7947 = 18;
+ optional int64 field7948 = 6;
+ optional int64 field7949 = 7;
+ repeated .benchmarks.google_message3.Message7919 field7950 = 8;
+ repeated .benchmarks.google_message3.UnusedEmptyMessage field7951 = 20;
+ repeated .benchmarks.google_message3.Message7920 field7952 = 14;
+ repeated .benchmarks.google_message3.Message7921 field7953 = 15;
+ repeated .benchmarks.google_message3.Message7928 field7954 = 17;
+ optional int64 field7955 = 19;
+ optional bool field7956 = 2;
+ optional int64 field7957 = 3;
+ optional int64 field7958 = 9;
+ repeated .benchmarks.google_message3.UnusedEmptyMessage field7959 = 10;
+ repeated bytes field7960 = 11;
+ optional int64 field7961 = 16;
+ extend .benchmarks.google_message3.Message0 {
+ optional .benchmarks.google_message3.Message7929 field7962 = 53392238;
+ }
+}
+
+message Message8508 {
+ repeated .benchmarks.google_message3.Message8511 field8517 = 8;
+ repeated .benchmarks.google_message3.Message8512 field8518 = 9;
+ repeated .benchmarks.google_message3.Message8513 field8519 = 11;
+ optional bool field8520 = 13;
+ optional .benchmarks.google_message3.Message8514 field8521 = 14;
+ repeated .benchmarks.google_message3.UnusedEmptyMessage field8522 = 15;
+ repeated .benchmarks.google_message3.Message8515 field8523 = 16;
+ repeated .benchmarks.google_message3.UnusedEmptyMessage field8524 = 17;
+ optional int64 field8525 = 1;
+ optional float field8526 = 2;
+ optional int64 field8527 = 3;
+ optional int64 field8528 = 4;
+ optional int32 field8529 = 5;
+ optional bytes field8530 = 6;
+ repeated bytes field8531 = 7;
+ optional bool field8532 = 10;
+ optional bytes field8533 = 12;
+ extend .benchmarks.google_message3.Message0 {
+ optional .benchmarks.google_message3.Message8508 field8534 = 3811804;
+ }
+}
+
+message Message9122 {
+ optional float field9132 = 1;
+ optional float field9133 = 2;
+ extend .benchmarks.google_message3.Message0 {
+ optional .benchmarks.google_message3.Message9122 field9134 = 120398939;
+ }
+}
+
+message Message10177 {
+ repeated .benchmarks.google_message3.Message10155 field10270 = 1;
+ extend .benchmarks.google_message3.Message0 {
+ optional .benchmarks.google_message3.Message10177 field10271 = 26801105;
+ }
+}
+
+message Message10278 {
+ repeated int32 field10286 = 1 [packed = true];
+ repeated int32 field10287 = 2 [packed = true];
+ optional int32 field10288 = 3;
+ extend .benchmarks.google_message3.Message10155 {
+ optional .benchmarks.google_message3.Message10278 field10289 = 29374161;
+ }
+}
+
+message Message10323 {
+ repeated .benchmarks.google_message3.Message10320 field10360 = 1;
+ extend .benchmarks.google_message3.Message10155 {
+ optional .benchmarks.google_message3.Message10323 field10361 = 27922524;
+ }
+}
+
+message Message10324 {
+ repeated .benchmarks.google_message3.Message10322 field10362 = 1;
+ optional .benchmarks.google_message3.Message10321 field10363 = 2;
+ extend .benchmarks.google_message3.Message10155 {
+ optional .benchmarks.google_message3.Message10324 field10364 = 27832297;
+ }
+}
+
+message Message11990 {
+ repeated .benchmarks.google_message3.Message11988 field12030 = 1;
+ extend .benchmarks.google_message3.Message0 {
+ optional .benchmarks.google_message3.Message11990 field12031 = 21265426;
+ }
+}
+
+message Message12691 {
+ optional string field12713 = 1;
+ optional int32 field12714 = 2;
+ optional .benchmarks.google_message3.Message12668 field12715 = 3;
+ extend .benchmarks.google_message3.Message0 {
+ optional .benchmarks.google_message3.Message12691 field12716 = 28426536;
+ }
+}
+
+message Message12870 {
+ required int32 field12879 = 1;
+ optional int32 field12880 = 7;
+ required int32 field12881 = 2;
+ optional uint64 field12882 = 3;
+ optional string field12883 = 2001;
+ optional fixed64 field12884 = 4;
+ repeated fixed64 field12885 = 14;
+ optional int32 field12886 = 9;
+ optional int64 field12887 = 18;
+ repeated .benchmarks.google_message3.Message12870 field12888 = 8;
+ optional int32 field12889 = 5;
+ optional uint64 field12890 = 6;
+ optional int32 field12891 = 10;
+ optional int32 field12892 = 11;
+ optional double field12893 = 12;
+ optional .benchmarks.google_message3.Message12825 field12894 = 13;
+ optional double field12895 = 15;
+ optional string field12896 = 16;
+ optional .benchmarks.google_message3.Enum12871 field12897 = 17;
+ optional int32 field12898 = 19;
+ extend .benchmarks.google_message3.Message0 {
+ optional .benchmarks.google_message3.Message12870 field12899 = 5447656;
+ }
+}
+
+message Message13154 {
+ required float field13164 = 1;
+ required float field13165 = 2;
+ extend .benchmarks.google_message3.Message13145 {
+ optional .benchmarks.google_message3.Message13154 field13166 = 47301086;
+ }
+}
+
+message Message16507 {
+ optional bool field16510 = 3;
+ optional bool field16511 = 4;
+ optional bool field16512 = 14;
+ repeated string field16513 = 5;
+ repeated string field16514 = 6;
+ optional string field16515 = 8;
+ repeated int32 field16516 = 9;
+ repeated int32 field16517 = 10;
+ optional int32 field16518 = 7;
+ optional string field16519 = 15;
+ repeated string field16520 = 11;
+ repeated .benchmarks.google_message3.UnusedEmptyMessage field16521 = 27;
+ repeated .benchmarks.google_message3.UnusedEmptyMessage field16522 = 22;
+ repeated .benchmarks.google_message3.UnusedEmptyMessage field16523 = 28;
+ optional string field16524 = 18;
+ optional int32 field16525 = 19;
+ optional int32 field16526 = 20;
+ optional .benchmarks.google_message3.UnusedEmptyMessage field16527 = 23;
+ optional bool field16528 = 24;
+ repeated string field16529 = 25;
+ optional double field16530 = 26;
+ optional .benchmarks.google_message3.Message16478 field16531 = 30;
+ optional bool field16532 = 31;
+ optional string field16533 = 32;
+ optional bool field16534 = 33;
+ optional bool field16535 = 35;
+ optional bool field16536 = 36;
+ optional bool field16537 = 37;
+ optional bool field16538 = 38;
+ optional bool field16539 = 39;
+ optional bool field16540 = 40;
+ repeated string field16541 = 41;
+ extensions 21 to 21;
+ extend .benchmarks.google_message3.Message0 {
+ optional .benchmarks.google_message3.Message16507 field16542 = 5569941;
+ }
+}
+
+message Message16564 {
+ repeated .benchmarks.google_message3.Message16552 field16568 = 1;
+ extend .benchmarks.google_message3.Message0 {
+ optional .benchmarks.google_message3.Message16564 field16569 = 25830030;
+ }
+}
+
+message Message16661 {
+ repeated .benchmarks.google_message3.Message16660 field16671 = 1;
+ repeated uint64 field16672 = 2;
+ extend .benchmarks.google_message3.Message0 {
+ optional .benchmarks.google_message3.Message16661 field16673 = 31274398;
+ }
+}
+
+message Message16746 {
+ repeated .benchmarks.google_message3.Message16727 field16806 = 1;
+ optional bool field16807 = 2;
+ optional bool field16808 = 3;
+ repeated .benchmarks.google_message3.Message16725 field16809 = 4;
+ extend .benchmarks.google_message3.Message0 {
+ optional .benchmarks.google_message3.Message16746 field16810 = 28406765;
+ }
+}
+
+message Message17786 {
+ repeated group Message17787 = 1 {
+ required int32 field18177 = 2;
+ required int32 field18178 = 3;
+ optional .benchmarks.google_message3.Message17783 field18179 = 4;
+ optional .benchmarks.google_message3.UnusedEmptyMessage field18180 = 5;
+ optional .benchmarks.google_message3.UnusedEmptyMessage field18181 = 6;
+ repeated .benchmarks.google_message3.UnusedEmptyMessage field18182 = 8;
+ optional .benchmarks.google_message3.UnusedEmptyMessage field18183 = 9;
+ optional .benchmarks.google_message3.Message17726 field18184 = 10;
+ optional .benchmarks.google_message3.UnusedEmptyMessage field18185 = 11;
+ optional .benchmarks.google_message3.Message16945 field18186 = 102;
+ optional .benchmarks.google_message3.UnusedEmptyMessage field18187 = 12;
+ optional .benchmarks.google_message3.UnusedEmptyMessage field18188 = 13;
+ optional .benchmarks.google_message3.UnusedEmptyMessage field18189 = 7;
+ optional .benchmarks.google_message3.UnusedEmptyMessage field18190 = 100;
+ optional .benchmarks.google_message3.UnusedEmptyMessage field18191 = 101;
+ optional .benchmarks.google_message3.UnusedEmptyMessage field18192 = 14;
+ optional .benchmarks.google_message3.UnusedEmptyMessage field18193 = 19;
+ optional .benchmarks.google_message3.UnusedEmptyMessage field18194 = 22;
+ optional .benchmarks.google_message3.UnusedEmptyMessage field18195 = 24;
+ optional .benchmarks.google_message3.Enum16925 field18196 = 21;
+ optional bool field18197 = 18;
+ repeated .benchmarks.google_message3.UnusedEnum field18198 = 23;
+ optional .benchmarks.google_message3.UnusedEmptyMessage field18199 = 15;
+ optional string field18200 = 16;
+ optional string field18201 = 17;
+ optional bool field18202 = 99;
+ }
+ repeated .benchmarks.google_message3.Message17782 field18175 = 20;
+ extend .benchmarks.google_message3.Message0 {
+ optional .benchmarks.google_message3.Message17786 field18176 = 11823055;
+ }
+}
+
+message Message22857 {
+ repeated .benchmarks.google_message3.Message22853 field22874 = 1;
+ extend .benchmarks.google_message3.Message10155 {
+ optional .benchmarks.google_message3.Message22857 field22875 = 67799715;
+ }
+}
+
+message Message24404 {
+ repeated group Message24405 = 1 {
+ required int32 field24686 = 2;
+ required int32 field24687 = 3;
+ optional .benchmarks.google_message3.Message24317 field24688 = 4;
+ optional .benchmarks.google_message3.UnusedEmptyMessage field24689 = 5;
+ optional .benchmarks.google_message3.Message24376 field24690 = 6;
+ optional .benchmarks.google_message3.Message24345 field24691 = 7;
+ optional .benchmarks.google_message3.UnusedEmptyMessage field24692 = 8;
+ optional .benchmarks.google_message3.Message24379 field24693 = 9;
+ optional .benchmarks.google_message3.UnusedEmptyMessage field24694 = 10;
+ optional .benchmarks.google_message3.UnusedEmptyMessage field24695 = 11;
+ optional .benchmarks.google_message3.Message24391 field24696 = 12;
+ optional .benchmarks.google_message3.UnusedEmptyMessage field24697 = 13;
+ optional .benchmarks.google_message3.UnusedEmptyMessage field24698 = 14;
+ optional .benchmarks.google_message3.UnusedEmptyMessage field24699 = 22;
+ optional .benchmarks.google_message3.UnusedEmptyMessage field24700 = 23;
+ optional .benchmarks.google_message3.UnusedEmptyMessage field24701 = 25;
+ optional .benchmarks.google_message3.Enum16925 field24702 = 18;
+ optional float field24703 = 20;
+ optional bool field24704 = 19;
+ repeated .benchmarks.google_message3.Enum16891 field24705 = 24;
+ optional .benchmarks.google_message3.UnusedEmptyMessage field24706 = 15;
+ optional string field24707 = 16;
+ optional string field24708 = 17;
+ optional float field24709 = 21;
+ optional bool field24710 = 26;
+ optional .benchmarks.google_message3.UnusedEnum field24711 = 27;
+ optional bool field24712 = 28;
+ optional .benchmarks.google_message3.UnusedEnum field24713 = 29;
+ optional bool field24714 = 31;
+ optional bool field24715 = 99;
+ optional int64 field24716 = 32;
+ }
+ optional .benchmarks.google_message3.Message24403 field24684 = 30;
+ extend .benchmarks.google_message3.Message0 {
+ optional .benchmarks.google_message3.Message24404 field24685 = 9129287;
+ }
+}
+
+message Message27300 {
+ repeated .benchmarks.google_message3.UnusedEmptyMessage field27302 = 1;
+ optional string field27303 = 2;
+ extend .benchmarks.google_message3.Message0 {
+ optional .benchmarks.google_message3.Message27300 field27304 = 24956467;
+ }
+}
+
+message Message27453 {
+ optional string field27459 = 15;
+ repeated string field27460 = 1;
+ repeated float field27461 = 6;
+ repeated int32 field27462 = 27;
+ repeated int32 field27463 = 28;
+ repeated .benchmarks.google_message3.Message27454 field27464 = 24;
+ repeated string field27465 = 2;
+ repeated float field27466 = 7;
+ repeated string field27467 = 22;
+ repeated string field27468 = 23;
+ optional string field27469 = 26;
+ repeated .benchmarks.google_message3.Message27357 field27470 = 8;
+ optional .benchmarks.google_message3.Message27360 field27471 = 16;
+ optional string field27472 = 25;
+ optional string field27473 = 11;
+ optional bool field27474 = 13;
+ optional bool field27475 = 14;
+ optional bool field27476 = 17;
+ optional .benchmarks.google_message3.UnusedEmptyMessage field27477 = 12;
+ optional bool field27478 = 34268945;
+ optional bool field27479 = 20;
+ optional string field27480 = 21;
+ optional .benchmarks.google_message3.UnusedEmptyMessage field27481 = 10;
+ extend .benchmarks.google_message3.Message0 {
+ optional .benchmarks.google_message3.Message27453 field27482 = 8086204;
+ }
+}
+
+extend .benchmarks.google_message3.Message16945 {
+ optional string field17026 = 472;
+ repeated string field17027 = 818;
+ optional .benchmarks.google_message3.Message0 field17031 = 215;
+ repeated .benchmarks.google_message3.Message0 field17032 = 292;
+ repeated .benchmarks.google_message3.Message0 field17038 = 234;
+ repeated .benchmarks.google_message3.Message0 field17039 = 235;
+ optional .benchmarks.google_message3.Message0 field17042 = 246;
+ optional string field17043 = 224;
+ optional string field17044 = 225;
+ repeated string field17048 = 63;
+ repeated string field17049 = 64;
+ repeated .benchmarks.google_message3.Message0 field17052 = 233;
+ repeated .benchmarks.google_message3.Message0 field17053 = 66;
+ repeated string field17056 = 275;
+ optional string field17057 = 226;
+ repeated .benchmarks.google_message3.Message0 field17060 = 27;
+ repeated string field17073 = 75;
+ repeated .benchmarks.google_message3.Message0 field17076 = 77;
+ repeated string field17078 = 296;
+ repeated .benchmarks.google_message3.Message0 field17082 = 160;
+ repeated .benchmarks.google_message3.Message0 field17091 = 585;
+ repeated .benchmarks.google_message3.Message0 field17098 = 987;
+ repeated .benchmarks.google_message3.Message0 field17101 = 157;
+ repeated string field17102 = 158;
+ repeated string field17107 = 166;
+ repeated string field17133 = 567;
+ repeated string field17134 = 572;
+ repeated string field17160 = 49;
+ repeated string field17168 = 32;
+ repeated string field17170 = 34;
+ repeated .benchmarks.google_message3.Message0 field17172 = 509;
+ repeated string field17174 = 39;
+ repeated .benchmarks.google_message3.Message0 field17175 = 40;
+ repeated .benchmarks.google_message3.Message0 field17178 = 511;
+ repeated .benchmarks.google_message3.Message0 field17185 = 50;
+ repeated int32 field17207 = 1081;
+ repeated .benchmarks.google_message3.Message0 field17238 = 184;
+ repeated .benchmarks.google_message3.Message0 field17289 = 177;
+ repeated .benchmarks.google_message3.Message0 field17290 = 178;
+ repeated .benchmarks.google_message3.Message0 field17296 = 474;
+ repeated string field17298 = 44;
+ repeated .benchmarks.google_message3.Message0 field17301 = 47;
+ optional .benchmarks.google_message3.Message0 field17412 = 21;
+ repeated .benchmarks.google_message3.Message0 field17438 = 132;
+ repeated .benchmarks.google_message3.Message0 field17458 = 512;
+ repeated string field17460 = 560;
+ repeated string field17466 = 552;
+ repeated .benchmarks.google_message3.Message0 field17617 = 1080;
+ repeated int32 field17618 = 1084;
+}
+
diff --git a/benchmarks/datasets/google_message3/benchmark_message3_1.proto b/benchmarks/datasets/google_message3/benchmark_message3_1.proto
new file mode 100644
index 00000000..3219553c
--- /dev/null
+++ b/benchmarks/datasets/google_message3/benchmark_message3_1.proto
@@ -0,0 +1,1280 @@
+syntax = "proto2";
+
+import "datasets/google_message3/benchmark_message3_2.proto";
+import "datasets/google_message3/benchmark_message3_3.proto";
+import "datasets/google_message3/benchmark_message3_5.proto";
+import "datasets/google_message3/benchmark_message3_7.proto";
+import "datasets/google_message3/benchmark_message3_8.proto";
+package benchmarks.google_message3;
+
+option cc_enable_arenas = true;
+option java_package = "com.google.protobuf.benchmarks";
+
+message Message34390 {
+ repeated .benchmarks.google_message3.Message34387 field34452 = 1;
+ extend .benchmarks.google_message3.Message0 {
+ optional .benchmarks.google_message3.Message34390 field34453 = 92144610;
+ }
+}
+
+message Message34624 {
+ optional .benchmarks.google_message3.Message34621 field34683 = 1;
+ optional .benchmarks.google_message3.Message34621 field34684 = 2;
+ extend .benchmarks.google_message3.Message0 {
+ optional .benchmarks.google_message3.Message34624 field34685 = 18178548;
+ }
+}
+
+message Message34791 {
+ optional fixed64 field34793 = 1;
+ repeated group Message34792 = 2 {
+ required string field34808 = 3;
+ optional string field34809 = 4;
+ }
+ optional int32 field34795 = 5;
+ optional int32 field34796 = 6;
+ optional int32 field34797 = 7;
+ optional int32 field34798 = 8;
+ optional int32 field34799 = 9;
+ optional int32 field34800 = 10;
+ optional bool field34801 = 11;
+ optional float field34802 = 12;
+ optional int32 field34803 = 13;
+ optional string field34804 = 14;
+ optional int64 field34805 = 15;
+ repeated fixed64 field34806 = 17 [packed = true];
+ extend .benchmarks.google_message3.Message0 {
+ optional .benchmarks.google_message3.Message34791 field34807 = 6330340;
+ }
+}
+
+message Message35483 {
+ optional int32 field35499 = 1;
+ optional string field35500 = 2;
+ optional string field35501 = 3;
+ optional string field35502 = 4;
+ repeated .benchmarks.google_message3.Message35476 field35503 = 5;
+ optional .benchmarks.google_message3.UnusedEmptyMessage field35504 = 6;
+ extend .benchmarks.google_message3.Message0 {
+ optional .benchmarks.google_message3.Message35483 field35505 = 7913554;
+ }
+}
+
+message Message35807 {
+ optional int32 field35810 = 1;
+ optional int32 field35811 = 2;
+ optional int32 field35812 = 3;
+ optional int32 field35813 = 4;
+ optional int32 field35814 = 5;
+ optional int32 field35815 = 6;
+ optional int32 field35816 = 7;
+ optional int32 field35817 = 8;
+ extend .benchmarks.google_message3.Message0 {
+ optional .benchmarks.google_message3.Message35807 field35818 = 3803299;
+ }
+}
+
+message Message37487 {
+ optional bytes field37501 = 2;
+ optional bool field37502 = 3;
+}
+
+message Message13062 {
+ optional int64 field13075 = 1;
+ optional string field13076 = 2;
+ optional int32 field13077 = 3;
+ optional string field13078 = 4;
+ optional int32 field13079 = 5;
+}
+
+message Message952 {
+ repeated .benchmarks.google_message3.Message949 field963 = 1;
+}
+
+message Message36876 {
+ optional .benchmarks.google_message3.Message2356 field36980 = 1;
+ repeated group Message36877 = 111 {
+ required string field37044 = 112;
+ optional int32 field37045 = 113;
+ optional bytes field37046 = 114;
+ optional int32 field37047 = 115;
+ optional int32 field37048 = 157;
+ }
+ repeated group Message36878 = 168 {
+ }
+ repeated group Message36879 = 55 {
+ required string field37050 = 56;
+ optional int32 field37051 = 69;
+ }
+ repeated .benchmarks.google_message3.UnusedEmptyMessage field36984 = 78;
+ optional group Message36880 = 137 {
+ }
+ optional uint64 field36986 = 59;
+ optional bytes field36987 = 121;
+ optional .benchmarks.google_message3.UnusedEmptyMessage field36988 = 2;
+ optional .benchmarks.google_message3.Message7029 field36989 = 118;
+ optional .benchmarks.google_message3.Message35573 field36990 = 11;
+ optional .benchmarks.google_message3.UnusedEmptyMessage field36991 = 21;
+ optional .benchmarks.google_message3.UnusedEmptyMessage field36992 = 22;
+ optional float field36993 = 13;
+ optional int32 field36994 = 20;
+ optional bool field36995 = 51;
+ optional bool field36996 = 57;
+ repeated .benchmarks.google_message3.UnusedEmptyMessage field36997 = 100;
+ optional int32 field36998 = 47;
+ optional int32 field36999 = 48;
+ optional .benchmarks.google_message3.UnusedEmptyMessage field37000 = 68;
+ repeated group Message36881 = 23 {
+ }
+ optional .benchmarks.google_message3.Message4144 field37002 = 125;
+ repeated group Message36882 = 35 {
+ }
+ optional .benchmarks.google_message3.UnusedEmptyMessage field37004 = 49;
+ optional .benchmarks.google_message3.Message18921 field37005 = 52;
+ optional .benchmarks.google_message3.Message36858 field37006 = 46;
+ optional .benchmarks.google_message3.Message18831 field37007 = 54;
+ optional .benchmarks.google_message3.UnusedEmptyMessage field37008 = 58;
+ optional .benchmarks.google_message3.Message18283 field37009 = 10;
+ optional string field37010 = 44;
+ optional string field37011 = 103;
+ optional .benchmarks.google_message3.Message0 field37012 = 43;
+ optional .benchmarks.google_message3.Message0 field37013 = 143;
+ optional .benchmarks.google_message3.UnusedEmptyMessage field37014 = 53;
+ optional .benchmarks.google_message3.Message36869 field37015 = 15;
+ optional group Message36883 = 3 {
+ }
+ repeated group Message36884 = 16 {
+ }
+ repeated group Message36885 = 27 {
+ }
+ optional group Message36886 = 32 {
+ }
+ repeated .benchmarks.google_message3.UnusedEnum field37020 = 71;
+ repeated int32 field37021 = 70;
+ optional .benchmarks.google_message3.UnusedEmptyMessage field37022 = 66;
+ optional .benchmarks.google_message3.Message13090 field37023 = 67;
+ optional group Message36887 = 62 {
+ }
+ repeated .benchmarks.google_message3.Message10155 field37025 = 50;
+ repeated .benchmarks.google_message3.Message11874 field37026 = 151;
+ optional string field37027 = 12;
+ optional int64 field37028 = 72;
+ optional .benchmarks.google_message3.UnusedEmptyMessage field37029 = 73;
+ optional .benchmarks.google_message3.Message35546 field37030 = 108;
+ optional group Message36888 = 74 {
+ optional uint64 field37089 = 75;
+ optional bool field37090 = 76;
+ optional uint64 field37091 = 165;
+ optional double field37092 = 166;
+ optional uint64 field37093 = 109;
+ optional bytes field37094 = 122;
+ }
+ repeated .benchmarks.google_message3.Message19255 field37032 = 104;
+ optional .benchmarks.google_message3.Message33968 field37033 = 105;
+ optional bool field37034 = 106;
+ repeated .benchmarks.google_message3.UnusedEmptyMessage field37035 = 107;
+ optional .benchmarks.google_message3.Message6644 field37036 = 110;
+ optional bytes field37037 = 133;
+ optional group Message36889 = 116 {
+ optional int64 field37095 = 117;
+ optional string field37096 = 145;
+ optional int32 field37097 = 123;
+ optional bool field37098 = 163;
+ optional int32 field37099 = 164;
+ optional int32 field37100 = 149;
+ optional .benchmarks.google_message3.UnusedEmptyMessage field37101 = 129;
+ optional .benchmarks.google_message3.Message13174 field37102 = 124;
+ optional .benchmarks.google_message3.Message13169 field37103 = 128;
+ optional uint64 field37104 = 132;
+ repeated .benchmarks.google_message3.Enum36890 field37105 = 131;
+ optional bool field37106 = 134;
+ optional bool field37107 = 140;
+ optional .benchmarks.google_message3.UnusedEmptyMessage field37108 = 135;
+ optional float field37109 = 136;
+ optional float field37110 = 156;
+ optional bool field37111 = 142;
+ optional int64 field37112 = 167;
+ optional .benchmarks.google_message3.UnusedEmptyMessage field37113 = 146;
+ optional bool field37114 = 148;
+ optional .benchmarks.google_message3.UnusedEmptyMessage field37115 = 154;
+ optional .benchmarks.google_message3.UnusedEnum field37116 = 158;
+ repeated .benchmarks.google_message3.UnusedEnum field37117 = 159;
+ optional int32 field37118 = 160;
+ repeated string field37119 = 161;
+ }
+ repeated group Message36910 = 119 {
+ }
+ optional group Message36911 = 126 {
+ optional .benchmarks.google_message3.UnusedEmptyMessage field37121 = 127;
+ optional .benchmarks.google_message3.Message35538 field37122 = 130;
+ optional .benchmarks.google_message3.Message35540 field37123 = 144;
+ optional .benchmarks.google_message3.Message35542 field37124 = 150;
+ }
+ optional group Message36912 = 152 {
+ optional .benchmarks.google_message3.Message3901 field37125 = 153;
+ optional .benchmarks.google_message3.Message3901 field37126 = 162;
+ }
+ optional .benchmarks.google_message3.UnusedEmptyMessage field37042 = 155;
+}
+
+message Message1328 {
+}
+
+message Message6850 {
+}
+
+message Message6863 {
+ optional .benchmarks.google_message3.Enum6858 field6931 = 1;
+ optional .benchmarks.google_message3.Enum6858 field6932 = 2;
+ optional .benchmarks.google_message3.UnusedEnum field6933 = 36;
+ optional bool field6934 = 27;
+ optional .benchmarks.google_message3.Message6773 field6935 = 26;
+ optional int32 field6936 = 30;
+ optional int32 field6937 = 37;
+ optional .benchmarks.google_message3.Enum6815 field6938 = 31;
+ optional string field6939 = 3;
+ optional int32 field6940 = 4;
+ optional .benchmarks.google_message3.Enum6822 field6941 = 15;
+ optional bool field6942 = 10;
+ optional bool field6943 = 17;
+ optional float field6944 = 18;
+ optional float field6945 = 19;
+ optional int32 field6946 = 5;
+ optional int32 field6947 = 6;
+ optional bool field6948 = 7;
+ optional int32 field6949 = 12;
+ optional .benchmarks.google_message3.UnusedEmptyMessage field6950 = 8;
+ optional uint64 field6951 = 9;
+ optional string field6952 = 11;
+ optional bytes field6953 = 13;
+ optional int32 field6954 = 14;
+ optional .benchmarks.google_message3.UnusedEmptyMessage field6955 = 16;
+ optional .benchmarks.google_message3.UnusedEmptyMessage field6956 = 22;
+ optional .benchmarks.google_message3.Message3886 field6957 = 38;
+ optional string field6958 = 20;
+ optional uint32 field6959 = 21;
+ optional .benchmarks.google_message3.Message6743 field6960 = 23;
+ optional .benchmarks.google_message3.UnusedEmptyMessage field6961 = 29;
+ optional .benchmarks.google_message3.UnusedEmptyMessage field6962 = 33;
+ optional bool field6963 = 34;
+}
+
+message Message6871 {
+}
+
+message Message7547 {
+ required bytes field7549 = 1;
+ required int32 field7550 = 2;
+}
+
+message Message7648 {
+ optional string field7669 = 1;
+ optional int32 field7670 = 2;
+ optional int32 field7671 = 3;
+ optional int32 field7672 = 4;
+ optional int32 field7673 = 5;
+ optional int32 field7674 = 6;
+ optional float field7675 = 7;
+ optional bool field7676 = 8;
+ optional bool field7677 = 9;
+ optional bool field7678 = 10;
+ optional bool field7679 = 11;
+ optional bool field7680 = 12;
+}
+
+message Message7865 {
+}
+
+message Message7928 {
+ optional string field7940 = 1;
+ optional int64 field7941 = 2;
+}
+
+message Message7919 {
+ optional fixed64 field7931 = 1;
+ optional int64 field7932 = 2;
+ optional bytes field7933 = 3;
+}
+
+message Message7920 {
+ optional int64 field7934 = 1;
+ optional int64 field7935 = 2;
+}
+
+message Message7921 {
+ optional int32 field7936 = 1;
+ optional int64 field7937 = 2;
+ optional float field7938 = 3;
+ optional .benchmarks.google_message3.UnusedEnum field7939 = 4;
+}
+
+message Message8511 {
+ optional .benchmarks.google_message3.Message8224 field8539 = 1;
+ optional string field8540 = 2;
+ optional bool field8541 = 3;
+ optional int64 field8542 = 4;
+ optional string field8543 = 5;
+}
+
+message Message8512 {
+ optional .benchmarks.google_message3.Message8301 field8544 = 1;
+ optional .benchmarks.google_message3.Message8302 field8545 = 2;
+ optional string field8546 = 3;
+ optional bool field8547 = 4;
+ optional int64 field8548 = 5;
+ optional string field8549 = 6;
+}
+
+message Message8513 {
+ repeated .benchmarks.google_message3.Message8392 field8550 = 1;
+ optional string field8551 = 2;
+ optional bool field8552 = 3;
+ optional string field8553 = 4;
+}
+
+message Message8514 {
+ optional string field8554 = 1;
+ optional int64 field8555 = 2;
+ optional bool field8556 = 3;
+ repeated .benchmarks.google_message3.Message8130 field8557 = 4;
+ optional string field8558 = 5;
+}
+
+message Message8515 {
+ optional .benchmarks.google_message3.Message8479 field8559 = 1;
+ optional .benchmarks.google_message3.Message8478 field8560 = 2;
+ optional string field8561 = 3;
+}
+
+message Message10320 {
+ optional .benchmarks.google_message3.Enum10335 field10347 = 1;
+ repeated .benchmarks.google_message3.Message10319 field10348 = 2;
+ optional int32 field10349 = 3;
+ optional int32 field10350 = 4;
+ optional int32 field10351 = 5;
+ optional int32 field10352 = 6;
+ optional .benchmarks.google_message3.Enum10337 field10353 = 7;
+}
+
+message Message10321 {
+ optional int32 field10354 = 1;
+ optional int32 field10355 = 2;
+ optional uint64 field10356 = 3;
+}
+
+message Message10322 {
+ optional .benchmarks.google_message3.Message4016 field10357 = 1;
+ optional bool field10358 = 2;
+ optional bool field10359 = 3;
+}
+
+message Message11988 {
+ optional string field12021 = 1;
+ optional string field12022 = 2;
+ optional .benchmarks.google_message3.UnusedEmptyMessage field12023 = 3;
+ optional .benchmarks.google_message3.Message10155 field12024 = 4;
+}
+
+message Message12668 {
+ repeated .benchmarks.google_message3.Message12669 field12677 = 1;
+ optional int32 field12678 = 2;
+ optional int32 field12679 = 3;
+ optional int32 field12680 = 4;
+}
+
+message Message12825 {
+ repeated .benchmarks.google_message3.Message12818 field12862 = 1;
+ optional int32 field12863 = 2;
+ optional .benchmarks.google_message3.Message12819 field12864 = 3;
+ optional .benchmarks.google_message3.Message12820 field12865 = 4;
+ optional int32 field12866 = 5;
+ repeated .benchmarks.google_message3.Message12821 field12867 = 6;
+ repeated .benchmarks.google_message3.UnusedEmptyMessage field12868 = 7;
+}
+
+message Message16478 {
+ repeated .benchmarks.google_message3.Message16479 field16481 = 1;
+ optional bool field16482 = 3;
+ optional int32 field16483 = 2;
+}
+
+message Message16552 {
+ optional fixed64 field16565 = 1;
+ optional int32 field16566 = 2;
+ optional .benchmarks.google_message3.Enum16553 field16567 = 3;
+}
+
+message Message16660 {
+ optional string field16668 = 1;
+ optional string field16669 = 2;
+ optional int32 field16670 = 3;
+}
+
+message Message16727 {
+ required .benchmarks.google_message3.Enum16728 field16782 = 1;
+ required string field16783 = 2;
+ optional string field16784 = 3;
+ optional int32 field16785 = 23;
+ required string field16786 = 4;
+ optional string field16787 = 5;
+ optional string field16788 = 6;
+ required .benchmarks.google_message3.Enum16732 field16789 = 7;
+ optional string field16790 = 8;
+ optional string field16791 = 9;
+ optional string field16792 = 10;
+ optional .benchmarks.google_message3.Enum16738 field16793 = 11;
+ optional int32 field16794 = 12;
+ repeated .benchmarks.google_message3.Message16722 field16795 = 13;
+ optional bool field16796 = 19;
+ optional bool field16797 = 24;
+ optional string field16798 = 14;
+ optional int64 field16799 = 15;
+ optional bool field16800 = 16;
+ optional string field16801 = 17;
+ optional .benchmarks.google_message3.Enum16698 field16802 = 18;
+ optional .benchmarks.google_message3.Message16724 field16803 = 20;
+ optional bool field16804 = 22;
+ optional .benchmarks.google_message3.UnusedEmptyMessage field16805 = 25;
+ extensions 1000 to 536870911;
+}
+
+message Message16725 {
+ optional .benchmarks.google_message3.Enum16728 field16774 = 1;
+ repeated string field16775 = 2;
+}
+
+message Message17726 {
+ optional string field17801 = 1;
+ repeated string field17802 = 2;
+ optional string field17803 = 3;
+ repeated string field17804 = 4;
+ optional string field17805 = 5;
+ repeated string field17806 = 6;
+ optional string field17807 = 7;
+ optional string field17808 = 8;
+ repeated string field17809 = 15;
+ repeated string field17810 = 16;
+ repeated string field17811 = 17;
+ repeated .benchmarks.google_message3.UnusedEmptyMessage field17812 = 18;
+ optional string field17813 = 9;
+ optional string field17814 = 10;
+ optional string field17815 = 11;
+ optional string field17816 = 12;
+ optional string field17817 = 13;
+ optional string field17818 = 14;
+ optional string field17819 = 19;
+ repeated .benchmarks.google_message3.Message17728 field17820 = 20;
+ repeated .benchmarks.google_message3.Message17728 field17821 = 21;
+ repeated .benchmarks.google_message3.UnusedEmptyMessage field17822 = 30;
+}
+
+message Message17782 {
+ optional string field18153 = 1;
+ optional string field18154 = 2;
+}
+
+message Message17783 {
+ optional string field18155 = 1;
+ optional string field18156 = 2;
+ optional string field18157 = 3;
+ repeated group Message17784 = 4 {
+ optional string field18162 = 5;
+ optional string field18163 = 6;
+ optional string field18164 = 7;
+ repeated string field18165 = 8;
+ optional string field18166 = 17;
+ optional string field18167 = 18;
+ }
+ repeated group Message17785 = 9 {
+ optional string field18168 = 10;
+ optional string field18169 = 11;
+ optional .benchmarks.google_message3.Message17783 field18170 = 12;
+ optional string field18171 = 13;
+ optional string field18172 = 14;
+ repeated string field18173 = 15;
+ }
+ repeated string field18160 = 16;
+}
+
+message Message16945 {
+ optional string field16946 = 1;
+ optional string field16947 = 2;
+ optional string field16948 = 3;
+ optional string field16949 = 4;
+ optional string field16950 = 5;
+ optional .benchmarks.google_message3.UnusedEmptyMessage field16951 = 872;
+ repeated .benchmarks.google_message3.Message0 field16952 = 16;
+ repeated .benchmarks.google_message3.UnusedEmptyMessage field16953 = 54;
+ repeated .benchmarks.google_message3.Message0 field16954 = 55;
+ repeated string field16955 = 58;
+ repeated string field16956 = 59;
+ repeated string field16957 = 62;
+ repeated string field16958 = 37;
+ repeated string field16959 = 18;
+ repeated .benchmarks.google_message3.UnusedEmptyMessage field16960 = 38;
+ repeated .benchmarks.google_message3.Message0 field16961 = 67;
+ repeated .benchmarks.google_message3.Message0 field16962 = 130;
+ repeated .benchmarks.google_message3.UnusedEmptyMessage field16963 = 136;
+ repeated string field16964 = 138;
+ repeated .benchmarks.google_message3.UnusedEmptyMessage field16965 = 156;
+ repeated string field16966 = 139;
+ repeated .benchmarks.google_message3.UnusedEmptyMessage field16967 = 126;
+ repeated string field16968 = 152;
+ repeated .benchmarks.google_message3.Message0 field16969 = 183;
+ repeated string field16970 = 168;
+ repeated string field16971 = 212;
+ repeated string field16972 = 213;
+ repeated .benchmarks.google_message3.UnusedEmptyMessage field16973 = 189;
+ repeated .benchmarks.google_message3.UnusedEmptyMessage field16974 = 190;
+ repeated string field16975 = 191;
+ repeated string field16976 = 192;
+ repeated .benchmarks.google_message3.Message0 field16977 = 193;
+ repeated .benchmarks.google_message3.UnusedEmptyMessage field16978 = 194;
+ repeated .benchmarks.google_message3.UnusedEmptyMessage field16979 = 195;
+ repeated int32 field16980 = 196;
+ repeated .benchmarks.google_message3.UnusedEmptyMessage field16981 = 95;
+ repeated string field16982 = 96;
+ repeated .benchmarks.google_message3.UnusedEmptyMessage field16983 = 97;
+ repeated string field16984 = 1086;
+ repeated .benchmarks.google_message3.UnusedEmptyMessage field16985 = 98;
+ repeated string field16986 = 99;
+ repeated string field16987 = 100;
+ repeated string field16988 = 48;
+ optional string field16989 = 22;
+ repeated .benchmarks.google_message3.UnusedEmptyMessage field16990 = 51;
+ repeated string field16991 = 81;
+ repeated string field16992 = 85;
+ repeated string field16993 = 169;
+ optional .benchmarks.google_message3.UnusedEmptyMessage field16994 = 260;
+ optional int32 field16995 = 198;
+ optional int32 field16996 = 204;
+ optional string field16997 = 1087;
+ repeated string field16998 = 197;
+ repeated string field16999 = 206;
+ optional string field17000 = 211;
+ repeated string field17001 = 205;
+ repeated .benchmarks.google_message3.UnusedEmptyMessage field17002 = 68;
+ repeated .benchmarks.google_message3.UnusedEmptyMessage field17003 = 69;
+ repeated .benchmarks.google_message3.UnusedEmptyMessage field17004 = 70;
+ repeated .benchmarks.google_message3.UnusedEmptyMessage field17005 = 71;
+ repeated .benchmarks.google_message3.UnusedEmptyMessage field17006 = 72;
+ repeated .benchmarks.google_message3.UnusedEmptyMessage field17007 = 19;
+ repeated .benchmarks.google_message3.UnusedEmptyMessage field17008 = 24;
+ optional .benchmarks.google_message3.UnusedEmptyMessage field17009 = 23;
+ repeated .benchmarks.google_message3.Message0 field17010 = 131;
+ repeated string field17011 = 133;
+ repeated .benchmarks.google_message3.UnusedEmptyMessage field17012 = 142;
+ repeated string field17013 = 143;
+ repeated .benchmarks.google_message3.UnusedEmptyMessage field17014 = 153;
+ repeated .benchmarks.google_message3.Message0 field17015 = 170;
+ repeated string field17016 = 171;
+ repeated string field17017 = 172;
+ repeated string field17018 = 173;
+ repeated string field17019 = 174;
+ repeated string field17020 = 175;
+ repeated string field17021 = 186;
+ repeated string field17022 = 101;
+ repeated .benchmarks.google_message3.Message0 field17023 = 102;
+ repeated string field17024 = 274;
+ extensions 17 to 17;
+ extensions 21 to 21;
+ extensions 25 to 25;
+ extensions 27 to 27;
+ extensions 29 to 29;
+ extensions 30 to 30;
+ extensions 31 to 31;
+ extensions 32 to 32;
+ extensions 33 to 33;
+ extensions 34 to 34;
+ extensions 35 to 35;
+ extensions 36 to 36;
+ extensions 39 to 39;
+ extensions 40 to 40;
+ extensions 41 to 41;
+ extensions 42 to 42;
+ extensions 43 to 43;
+ extensions 44 to 44;
+ extensions 45 to 45;
+ extensions 46 to 46;
+ extensions 47 to 47;
+ extensions 49 to 49;
+ extensions 50 to 50;
+ extensions 52 to 52;
+ extensions 53 to 53;
+ extensions 56 to 56;
+ extensions 57 to 57;
+ extensions 60 to 60;
+ extensions 61 to 61;
+ extensions 63 to 63;
+ extensions 64 to 64;
+ extensions 65 to 65;
+ extensions 66 to 66;
+ extensions 73 to 73;
+ extensions 74 to 74;
+ extensions 75 to 75;
+ extensions 76 to 76;
+ extensions 77 to 77;
+ extensions 78 to 78;
+ extensions 79 to 79;
+ extensions 80 to 80;
+ extensions 82 to 82;
+ extensions 83 to 83;
+ extensions 84 to 84;
+ extensions 86 to 86;
+ extensions 87 to 87;
+ extensions 88 to 88;
+ extensions 89 to 89;
+ extensions 90 to 90;
+ extensions 91 to 91;
+ extensions 92 to 92;
+ extensions 93 to 93;
+ extensions 94 to 94;
+ extensions 103 to 103;
+ extensions 104 to 104;
+ extensions 105 to 105;
+ extensions 106 to 106;
+ extensions 107 to 107;
+ extensions 108 to 108;
+ extensions 109 to 109;
+ extensions 110 to 110;
+ extensions 111 to 111;
+ extensions 112 to 112;
+ extensions 113 to 113;
+ extensions 114 to 114;
+ extensions 115 to 115;
+ extensions 116 to 116;
+ extensions 117 to 117;
+ extensions 118 to 118;
+ extensions 119 to 119;
+ extensions 120 to 120;
+ extensions 121 to 121;
+ extensions 122 to 122;
+ extensions 123 to 123;
+ extensions 124 to 124;
+ extensions 125 to 125;
+ extensions 127 to 127;
+ extensions 128 to 128;
+ extensions 129 to 129;
+ extensions 132 to 132;
+ extensions 134 to 134;
+ extensions 135 to 135;
+ extensions 137 to 137;
+ extensions 140 to 140;
+ extensions 141 to 141;
+ extensions 144 to 144;
+ extensions 145 to 145;
+ extensions 146 to 146;
+ extensions 147 to 147;
+ extensions 148 to 148;
+ extensions 149 to 149;
+ extensions 150 to 150;
+ extensions 151 to 151;
+ extensions 154 to 154;
+ extensions 155 to 155;
+ extensions 157 to 157;
+ extensions 158 to 158;
+ extensions 159 to 159;
+ extensions 160 to 160;
+ extensions 161 to 161;
+ extensions 162 to 162;
+ extensions 163 to 163;
+ extensions 164 to 164;
+ extensions 165 to 165;
+ extensions 166 to 166;
+ extensions 167 to 167;
+ extensions 176 to 176;
+ extensions 177 to 177;
+ extensions 178 to 178;
+ extensions 179 to 179;
+ extensions 180 to 180;
+ extensions 181 to 181;
+ extensions 182 to 182;
+ extensions 184 to 184;
+ extensions 185 to 185;
+ extensions 187 to 187;
+ extensions 188 to 188;
+ extensions 199 to 199;
+ extensions 200 to 200;
+ extensions 201 to 201;
+ extensions 202 to 202;
+ extensions 203 to 203;
+ extensions 207 to 207;
+ extensions 208 to 208;
+ extensions 209 to 209;
+ extensions 210 to 210;
+ extensions 214 to 214;
+ extensions 215 to 215;
+ extensions 216 to 216;
+ extensions 217 to 217;
+ extensions 218 to 218;
+ extensions 219 to 219;
+ extensions 220 to 220;
+ extensions 221 to 221;
+ extensions 222 to 222;
+ extensions 223 to 223;
+ extensions 224 to 224;
+ extensions 225 to 225;
+ extensions 226 to 226;
+ extensions 227 to 227;
+ extensions 228 to 228;
+ extensions 229 to 229;
+ extensions 230 to 230;
+ extensions 231 to 231;
+ extensions 232 to 232;
+ extensions 233 to 233;
+ extensions 234 to 234;
+ extensions 235 to 235;
+ extensions 236 to 236;
+ extensions 237 to 237;
+ extensions 238 to 238;
+ extensions 239 to 239;
+ extensions 240 to 240;
+ extensions 241 to 241;
+ extensions 242 to 242;
+ extensions 243 to 243;
+ extensions 244 to 244;
+ extensions 245 to 245;
+ extensions 246 to 246;
+ extensions 247 to 247;
+ extensions 248 to 248;
+ extensions 249 to 249;
+ extensions 250 to 250;
+ extensions 251 to 251;
+ extensions 252 to 252;
+ extensions 253 to 253;
+ extensions 254 to 254;
+ extensions 255 to 255;
+ extensions 256 to 256;
+ extensions 257 to 257;
+ extensions 258 to 258;
+ extensions 259 to 259;
+ extensions 261 to 261;
+ extensions 262 to 262;
+ extensions 263 to 263;
+ extensions 264 to 264;
+ extensions 265 to 265;
+ extensions 266 to 266;
+ extensions 267 to 267;
+ extensions 268 to 268;
+ extensions 269 to 269;
+ extensions 270 to 270;
+ extensions 271 to 271;
+ extensions 272 to 272;
+ extensions 273 to 273;
+ extensions 275 to 275;
+ extensions 276 to 276;
+ extensions 277 to 277;
+ extensions 278 to 278;
+ extensions 279 to 279;
+ extensions 280 to 280;
+ extensions 281 to 281;
+ extensions 282 to 282;
+ extensions 283 to 283;
+ extensions 284 to 284;
+ extensions 285 to 285;
+ extensions 286 to 286;
+ extensions 290 to 290;
+ extensions 291 to 291;
+ extensions 292 to 292;
+ extensions 293 to 293;
+ extensions 294 to 294;
+ extensions 295 to 295;
+ extensions 296 to 296;
+ extensions 297 to 297;
+ extensions 298 to 298;
+ extensions 299 to 299;
+ extensions 300 to 300;
+ extensions 301 to 301;
+ extensions 302 to 302;
+ extensions 303 to 303;
+ extensions 304 to 304;
+ extensions 305 to 305;
+ extensions 306 to 306;
+ extensions 307 to 307;
+ extensions 308 to 308;
+ extensions 309 to 309;
+ extensions 310 to 310;
+ extensions 311 to 311;
+ extensions 312 to 312;
+ extensions 313 to 313;
+ extensions 314 to 314;
+ extensions 315 to 315;
+ extensions 316 to 316;
+ extensions 317 to 317;
+ extensions 318 to 318;
+ extensions 319 to 319;
+ extensions 320 to 320;
+ extensions 321 to 321;
+ extensions 322 to 322;
+ extensions 323 to 323;
+ extensions 324 to 324;
+ extensions 325 to 325;
+ extensions 326 to 326;
+ extensions 327 to 327;
+ extensions 328 to 328;
+ extensions 329 to 329;
+ extensions 330 to 330;
+ extensions 331 to 331;
+ extensions 332 to 332;
+ extensions 333 to 333;
+ extensions 334 to 334;
+ extensions 335 to 335;
+ extensions 336 to 336;
+ extensions 337 to 337;
+ extensions 338 to 338;
+ extensions 339 to 339;
+ extensions 340 to 340;
+ extensions 341 to 341;
+ extensions 342 to 342;
+ extensions 343 to 343;
+ extensions 344 to 344;
+ extensions 345 to 345;
+ extensions 346 to 346;
+ extensions 347 to 347;
+ extensions 348 to 348;
+ extensions 349 to 349;
+ extensions 350 to 350;
+ extensions 351 to 351;
+ extensions 352 to 352;
+ extensions 353 to 353;
+ extensions 354 to 354;
+ extensions 355 to 355;
+ extensions 356 to 356;
+ extensions 357 to 357;
+ extensions 358 to 358;
+ extensions 359 to 359;
+ extensions 360 to 360;
+ extensions 361 to 361;
+ extensions 362 to 362;
+ extensions 363 to 363;
+ extensions 364 to 364;
+ extensions 365 to 365;
+ extensions 366 to 366;
+ extensions 367 to 367;
+ extensions 368 to 368;
+ extensions 369 to 369;
+ extensions 370 to 370;
+ extensions 371 to 371;
+ extensions 372 to 372;
+ extensions 373 to 373;
+ extensions 374 to 374;
+ extensions 375 to 375;
+ extensions 376 to 376;
+ extensions 377 to 377;
+ extensions 378 to 378;
+ extensions 379 to 379;
+ extensions 380 to 380;
+ extensions 381 to 381;
+ extensions 382 to 382;
+ extensions 383 to 383;
+ extensions 384 to 384;
+ extensions 385 to 385;
+ extensions 386 to 386;
+ extensions 387 to 387;
+ extensions 388 to 388;
+ extensions 389 to 389;
+ extensions 390 to 390;
+ extensions 391 to 391;
+ extensions 392 to 392;
+ extensions 393 to 393;
+ extensions 394 to 394;
+ extensions 395 to 395;
+ extensions 396 to 396;
+ extensions 397 to 397;
+ extensions 398 to 398;
+ extensions 399 to 399;
+ extensions 400 to 400;
+ extensions 401 to 401;
+ extensions 402 to 402;
+ extensions 403 to 403;
+ extensions 404 to 404;
+ extensions 405 to 405;
+ extensions 406 to 406;
+ extensions 407 to 407;
+ extensions 408 to 408;
+ extensions 409 to 409;
+ extensions 410 to 410;
+ extensions 411 to 411;
+ extensions 412 to 412;
+ extensions 413 to 413;
+ extensions 414 to 414;
+ extensions 415 to 415;
+ extensions 416 to 416;
+ extensions 417 to 417;
+ extensions 418 to 418;
+ extensions 419 to 419;
+ extensions 420 to 420;
+ extensions 421 to 421;
+ extensions 422 to 422;
+ extensions 423 to 423;
+ extensions 424 to 424;
+ extensions 425 to 425;
+ extensions 426 to 426;
+ extensions 427 to 427;
+ extensions 428 to 428;
+ extensions 429 to 429;
+ extensions 430 to 430;
+ extensions 431 to 431;
+ extensions 432 to 432;
+ extensions 433 to 433;
+ extensions 434 to 434;
+ extensions 435 to 435;
+ extensions 436 to 436;
+ extensions 437 to 437;
+ extensions 438 to 438;
+ extensions 439 to 439;
+ extensions 440 to 440;
+ extensions 441 to 441;
+ extensions 442 to 442;
+ extensions 443 to 443;
+ extensions 444 to 444;
+ extensions 445 to 445;
+ extensions 446 to 446;
+ extensions 447 to 447;
+ extensions 448 to 448;
+ extensions 449 to 449;
+ extensions 450 to 450;
+ extensions 451 to 451;
+ extensions 452 to 452;
+ extensions 453 to 453;
+ extensions 454 to 454;
+ extensions 455 to 455;
+ extensions 456 to 456;
+ extensions 457 to 457;
+ extensions 458 to 458;
+ extensions 459 to 459;
+ extensions 460 to 460;
+ extensions 461 to 461;
+ extensions 462 to 462;
+ extensions 463 to 463;
+ extensions 464 to 464;
+ extensions 465 to 465;
+ extensions 466 to 466;
+ extensions 467 to 467;
+ extensions 468 to 468;
+ extensions 469 to 469;
+ extensions 470 to 470;
+ extensions 471 to 471;
+ extensions 472 to 472;
+ extensions 473 to 473;
+ extensions 474 to 474;
+ extensions 509 to 509;
+ extensions 511 to 511;
+ extensions 512 to 512;
+ extensions 513 to 513;
+ extensions 514 to 514;
+ extensions 515 to 515;
+ extensions 516 to 516;
+ extensions 517 to 517;
+ extensions 518 to 518;
+ extensions 519 to 519;
+ extensions 520 to 520;
+ extensions 521 to 521;
+ extensions 522 to 522;
+ extensions 523 to 523;
+ extensions 524 to 524;
+ extensions 525 to 525;
+ extensions 526 to 526;
+ extensions 527 to 527;
+ extensions 528 to 528;
+ extensions 529 to 529;
+ extensions 530 to 530;
+ extensions 531 to 531;
+ extensions 532 to 532;
+ extensions 533 to 533;
+ extensions 534 to 534;
+ extensions 535 to 535;
+ extensions 536 to 536;
+ extensions 537 to 537;
+ extensions 538 to 538;
+ extensions 539 to 539;
+ extensions 540 to 540;
+ extensions 541 to 541;
+ extensions 542 to 542;
+ extensions 543 to 543;
+ extensions 544 to 544;
+ extensions 545 to 545;
+ extensions 546 to 546;
+ extensions 547 to 547;
+ extensions 548 to 548;
+ extensions 549 to 549;
+ extensions 550 to 550;
+ extensions 551 to 551;
+ extensions 552 to 552;
+ extensions 553 to 553;
+ extensions 554 to 554;
+ extensions 555 to 555;
+ extensions 556 to 556;
+ extensions 557 to 557;
+ extensions 558 to 558;
+ extensions 559 to 559;
+ extensions 560 to 560;
+ extensions 561 to 561;
+ extensions 562 to 562;
+ extensions 563 to 563;
+ extensions 564 to 564;
+ extensions 565 to 565;
+ extensions 566 to 566;
+ extensions 567 to 567;
+ extensions 568 to 568;
+ extensions 569 to 569;
+ extensions 570 to 570;
+ extensions 571 to 571;
+ extensions 572 to 572;
+ extensions 573 to 573;
+ extensions 574 to 574;
+ extensions 575 to 575;
+ extensions 576 to 576;
+ extensions 577 to 577;
+ extensions 578 to 578;
+ extensions 579 to 579;
+ extensions 580 to 580;
+ extensions 581 to 581;
+ extensions 582 to 582;
+ extensions 583 to 583;
+ extensions 584 to 584;
+ extensions 585 to 585;
+ extensions 586 to 586;
+ extensions 587 to 587;
+ extensions 588 to 588;
+ extensions 589 to 589;
+ extensions 590 to 590;
+ extensions 604 to 604;
+ extensions 605 to 605;
+ extensions 606 to 606;
+ extensions 607 to 607;
+ extensions 608 to 608;
+ extensions 609 to 609;
+ extensions 610 to 610;
+ extensions 611 to 611;
+ extensions 612 to 612;
+ extensions 613 to 613;
+ extensions 614 to 614;
+ extensions 615 to 615;
+ extensions 616 to 616;
+ extensions 617 to 617;
+ extensions 618 to 618;
+ extensions 619 to 619;
+ extensions 620 to 620;
+ extensions 621 to 621;
+ extensions 622 to 622;
+ extensions 623 to 623;
+ extensions 624 to 624;
+ extensions 625 to 625;
+ extensions 626 to 626;
+ extensions 627 to 627;
+ extensions 628 to 628;
+ extensions 629 to 629;
+ extensions 813 to 813;
+ extensions 814 to 814;
+ extensions 815 to 815;
+ extensions 816 to 816;
+ extensions 817 to 817;
+ extensions 818 to 818;
+ extensions 819 to 819;
+ extensions 820 to 820;
+ extensions 821 to 821;
+ extensions 822 to 822;
+ extensions 823 to 823;
+ extensions 824 to 824;
+ extensions 827 to 827;
+ extensions 828 to 828;
+ extensions 829 to 829;
+ extensions 830 to 830;
+ extensions 831 to 831;
+ extensions 832 to 832;
+ extensions 833 to 833;
+ extensions 834 to 834;
+ extensions 835 to 835;
+ extensions 836 to 836;
+ extensions 837 to 837;
+ extensions 838 to 838;
+ extensions 839 to 839;
+ extensions 840 to 840;
+ extensions 841 to 841;
+ extensions 842 to 842;
+ extensions 843 to 843;
+ extensions 844 to 844;
+ extensions 845 to 845;
+ extensions 846 to 846;
+ extensions 847 to 847;
+ extensions 848 to 848;
+ extensions 849 to 849;
+ extensions 850 to 850;
+ extensions 851 to 851;
+ extensions 852 to 852;
+ extensions 853 to 853;
+ extensions 854 to 854;
+ extensions 855 to 855;
+ extensions 856 to 856;
+ extensions 857 to 857;
+ extensions 858 to 858;
+ extensions 859 to 859;
+ extensions 860 to 860;
+ extensions 861 to 861;
+ extensions 862 to 862;
+ extensions 863 to 863;
+ extensions 864 to 864;
+ extensions 865 to 865;
+ extensions 866 to 866;
+ extensions 867 to 867;
+ extensions 868 to 868;
+ extensions 869 to 869;
+ extensions 870 to 870;
+ extensions 871 to 871;
+ extensions 880 to 880;
+ extensions 881 to 881;
+ extensions 882 to 882;
+ extensions 883 to 883;
+ extensions 884 to 884;
+ extensions 885 to 885;
+ extensions 886 to 886;
+ extensions 887 to 887;
+ extensions 888 to 888;
+ extensions 890 to 890;
+ extensions 891 to 891;
+ extensions 892 to 892;
+ extensions 912 to 912;
+ extensions 914 to 914;
+ extensions 915 to 915;
+ extensions 916 to 916;
+ extensions 917 to 917;
+ extensions 918 to 918;
+ extensions 919 to 919;
+ extensions 920 to 920;
+ extensions 921 to 921;
+ extensions 922 to 922;
+ extensions 923 to 923;
+ extensions 924 to 924;
+ extensions 925 to 925;
+ extensions 926 to 926;
+ extensions 927 to 927;
+ extensions 928 to 928;
+ extensions 929 to 929;
+ extensions 930 to 930;
+ extensions 931 to 931;
+ extensions 932 to 932;
+ extensions 933 to 933;
+ extensions 934 to 934;
+ extensions 935 to 935;
+ extensions 936 to 936;
+ extensions 937 to 937;
+ extensions 938 to 938;
+ extensions 939 to 939;
+ extensions 940 to 940;
+ extensions 941 to 941;
+ extensions 942 to 942;
+ extensions 943 to 943;
+ extensions 944 to 944;
+ extensions 945 to 945;
+ extensions 946 to 946;
+ extensions 947 to 947;
+ extensions 949 to 949;
+ extensions 950 to 950;
+ extensions 951 to 951;
+ extensions 952 to 952;
+ extensions 954 to 954;
+ extensions 955 to 955;
+ extensions 956 to 956;
+ extensions 957 to 957;
+ extensions 958 to 958;
+ extensions 959 to 959;
+ extensions 960 to 960;
+ extensions 961 to 961;
+ extensions 962 to 962;
+ extensions 963 to 963;
+ extensions 964 to 964;
+ extensions 965 to 965;
+ extensions 966 to 966;
+ extensions 967 to 967;
+ extensions 968 to 968;
+ extensions 969 to 969;
+ extensions 970 to 970;
+ extensions 971 to 971;
+ extensions 972 to 972;
+ extensions 973 to 973;
+ extensions 974 to 974;
+ extensions 975 to 975;
+ extensions 976 to 976;
+ extensions 977 to 977;
+ extensions 978 to 978;
+ extensions 979 to 979;
+ extensions 980 to 980;
+ extensions 981 to 981;
+ extensions 982 to 982;
+ extensions 983 to 983;
+ extensions 984 to 984;
+ extensions 985 to 985;
+ extensions 987 to 987;
+ extensions 988 to 988;
+ extensions 1000 to 1000;
+ extensions 1001 to 1001;
+ extensions 1002 to 1002;
+ extensions 1003 to 1003;
+ extensions 1004 to 1004;
+ extensions 1005 to 1005;
+ extensions 1006 to 1006;
+ extensions 1007 to 1007;
+ extensions 1008 to 1008;
+ extensions 1009 to 1009;
+ extensions 1010 to 1010;
+ extensions 1011 to 1011;
+ extensions 1012 to 1012;
+ extensions 1013 to 1013;
+ extensions 1014 to 1014;
+ extensions 1015 to 1015;
+ extensions 1016 to 1016;
+ extensions 1017 to 1017;
+ extensions 1018 to 1018;
+ extensions 1019 to 1019;
+ extensions 1020 to 1020;
+ extensions 1021 to 1021;
+ extensions 1022 to 1022;
+ extensions 1023 to 1023;
+ extensions 1024 to 1024;
+ extensions 1025 to 1025;
+ extensions 1026 to 1026;
+ extensions 1027 to 1027;
+ extensions 1028 to 1028;
+ extensions 1029 to 1029;
+ extensions 1030 to 1030;
+ extensions 1031 to 1031;
+ extensions 1032 to 1032;
+ extensions 1033 to 1033;
+ extensions 1034 to 1034;
+ extensions 1035 to 1035;
+ extensions 1036 to 1036;
+ extensions 1037 to 1037;
+ extensions 1038 to 1038;
+ extensions 1039 to 1039;
+ extensions 1040 to 1040;
+ extensions 1041 to 1041;
+ extensions 1042 to 1042;
+ extensions 1043 to 1043;
+ extensions 1044 to 1044;
+ extensions 1045 to 1045;
+ extensions 1046 to 1046;
+ extensions 1047 to 1047;
+ extensions 1048 to 1048;
+ extensions 1049 to 1049;
+ extensions 1050 to 1050;
+ extensions 1051 to 1051;
+ extensions 1052 to 1052;
+ extensions 1053 to 1053;
+ extensions 1054 to 1054;
+ extensions 1055 to 1055;
+ extensions 1056 to 1056;
+ extensions 1057 to 1057;
+ extensions 1058 to 1058;
+ extensions 1079 to 1079;
+ extensions 1080 to 1080;
+ extensions 1081 to 1081;
+ extensions 1082 to 1082;
+ extensions 1083 to 1083;
+ extensions 1084 to 1084;
+ extensions 1085 to 1085;
+ extend .benchmarks.google_message3.Message0 {
+ optional .benchmarks.google_message3.Message16945 field17025 = 22068132;
+ }
+}
+
diff --git a/benchmarks/datasets/google_message3/benchmark_message3_2.proto b/benchmarks/datasets/google_message3/benchmark_message3_2.proto
new file mode 100644
index 00000000..7ab993ba
--- /dev/null
+++ b/benchmarks/datasets/google_message3/benchmark_message3_2.proto
@@ -0,0 +1,499 @@
+syntax = "proto2";
+
+import "datasets/google_message3/benchmark_message3_3.proto";
+import "datasets/google_message3/benchmark_message3_4.proto";
+import "datasets/google_message3/benchmark_message3_5.proto";
+import "datasets/google_message3/benchmark_message3_7.proto";
+import "datasets/google_message3/benchmark_message3_8.proto";
+package benchmarks.google_message3;
+
+option cc_enable_arenas = true;
+option java_package = "com.google.protobuf.benchmarks";
+
+message Message22853 {
+ optional .benchmarks.google_message3.Enum22854 field22869 = 1;
+ repeated uint32 field22870 = 2 [packed = true];
+ repeated float field22871 = 3 [packed = true];
+ repeated float field22872 = 5 [packed = true];
+ optional .benchmarks.google_message3.UnusedEmptyMessage field22873 = 4;
+}
+
+message Message24345 {
+ optional string field24533 = 1;
+ optional .benchmarks.google_message3.UnusedEnum field24534 = 22;
+ optional .benchmarks.google_message3.Message24346 field24535 = 2;
+ optional string field24536 = 3;
+ optional string field24537 = 4;
+ optional .benchmarks.google_message3.UnusedEnum field24538 = 23;
+ optional string field24539 = 5;
+ required string field24540 = 6;
+ optional string field24541 = 7;
+ optional string field24542 = 8;
+ optional .benchmarks.google_message3.Message24316 field24543 = 9;
+ optional .benchmarks.google_message3.Message24376 field24544 = 10;
+ optional string field24545 = 11;
+ optional string field24546 = 19;
+ optional string field24547 = 20;
+ optional string field24548 = 21;
+ optional .benchmarks.google_message3.UnusedEmptyMessage field24549 = 12;
+ optional .benchmarks.google_message3.UnusedEmptyMessage field24550 = 13;
+ repeated string field24551 = 14;
+ optional string field24552 = 15;
+ optional int32 field24553 = 18;
+ optional .benchmarks.google_message3.Message24379 field24554 = 16;
+ optional string field24555 = 17;
+ repeated .benchmarks.google_message3.Message24356 field24556 = 24;
+ repeated .benchmarks.google_message3.Message24366 field24557 = 25;
+}
+
+message Message24403 {
+ optional .benchmarks.google_message3.Message24401 field24681 = 1;
+ optional .benchmarks.google_message3.Message24402 field24682 = 2;
+}
+
+message Message24391 {
+ optional string field24631 = 1;
+ optional string field24632 = 2;
+ repeated string field24633 = 3;
+ optional string field24634 = 4;
+ repeated string field24635 = 5;
+ repeated string field24636 = 16;
+ optional string field24637 = 17;
+ optional .benchmarks.google_message3.UnusedEmptyMessage field24638 = 25;
+ optional string field24639 = 7;
+ optional string field24640 = 18;
+ optional string field24641 = 19;
+ optional string field24642 = 20;
+ optional int32 field24643 = 24;
+ optional .benchmarks.google_message3.Message24379 field24644 = 8;
+ repeated .benchmarks.google_message3.UnusedEmptyMessage field24645 = 9;
+ optional .benchmarks.google_message3.UnusedEmptyMessage field24646 = 10;
+ optional .benchmarks.google_message3.UnusedEmptyMessage field24647 = 11;
+ optional .benchmarks.google_message3.UnusedEmptyMessage field24648 = 12;
+ repeated .benchmarks.google_message3.UnusedEmptyMessage field24649 = 13;
+ optional .benchmarks.google_message3.UnusedEmptyMessage field24650 = 14;
+ optional string field24651 = 21;
+ optional int32 field24652 = 22;
+ optional int32 field24653 = 23;
+ repeated string field24654 = 15;
+ repeated string field24655 = 6;
+}
+
+message Message27454 {
+}
+
+message Message27357 {
+ optional string field27410 = 1;
+ optional float field27411 = 2;
+ optional string field27412 = 3;
+ optional bool field27413 = 4;
+ optional bool field27414 = 5;
+}
+
+message Message27360 {
+ optional .benchmarks.google_message3.Message27358 field27426 = 1;
+ optional .benchmarks.google_message3.Enum27361 field27427 = 2;
+ optional .benchmarks.google_message3.Message27358 field27428 = 3;
+ repeated .benchmarks.google_message3.UnusedEmptyMessage field27429 = 4;
+}
+
+message Message34387 {
+ optional string field34446 = 1;
+ repeated .benchmarks.google_message3.Message34381 field34447 = 2;
+ optional .benchmarks.google_message3.UnusedEnum field34448 = 3;
+ optional .benchmarks.google_message3.Enum34388 field34449 = 4;
+ optional int64 field34450 = 5;
+}
+
+message Message34621 {
+ optional double field34651 = 1;
+ optional double field34652 = 2;
+ optional double field34653 = 3;
+ optional double field34654 = 4;
+ optional double field34655 = 11;
+ optional .benchmarks.google_message3.UnusedEmptyMessage field34656 = 13;
+ optional .benchmarks.google_message3.Message34619 field34657 = 14;
+ optional string field34658 = 5;
+ optional string field34659 = 9;
+ optional double field34660 = 12;
+ optional bytes field34661 = 19;
+ optional string field34662 = 15;
+ optional string field34663 = 16;
+ optional string field34664 = 17;
+ optional .benchmarks.google_message3.UnusedEmptyMessage field34665 = 18;
+ optional .benchmarks.google_message3.Message34621 field34666 = 20;
+ repeated .benchmarks.google_message3.UnusedEmptyMessage field34667 = 100;
+ optional .benchmarks.google_message3.UnusedEmptyMessage field34668 = 101;
+ extend .benchmarks.google_message3.Message0 {
+ optional .benchmarks.google_message3.Message34621 field34669 = 17562023;
+ }
+}
+
+message Message35476 {
+ optional string field35484 = 1;
+ optional string field35485 = 2;
+ optional string field35486 = 3;
+ optional .benchmarks.google_message3.Enum35477 field35487 = 4;
+ optional float field35488 = 5;
+ optional float field35489 = 6;
+ optional float field35490 = 7;
+ optional float field35491 = 8;
+ optional .benchmarks.google_message3.UnusedEmptyMessage field35492 = 9;
+ optional int32 field35493 = 10;
+ optional int32 field35494 = 11;
+ optional int32 field35495 = 12;
+ optional string field35496 = 13;
+ optional string field35497 = 14;
+}
+
+message Message949 {
+ optional string field955 = 1;
+ optional int64 field956 = 2;
+ optional int64 field957 = 3;
+ optional .benchmarks.google_message3.Message730 field958 = 4;
+ repeated string field959 = 5;
+ optional string field960 = 6;
+ optional bool field961 = 7;
+}
+
+message Message36869 {
+ optional int32 field36970 = 1;
+ optional int32 field36971 = 2;
+}
+
+message Message33968 {
+ repeated group Message33969 = 1 {
+ }
+ repeated .benchmarks.google_message3.Message33958 field33989 = 3;
+ optional .benchmarks.google_message3.UnusedEmptyMessage field33990 = 106;
+ optional bool field33991 = 108;
+ optional .benchmarks.google_message3.UnusedEnum field33992 = 107;
+}
+
+message Message6644 {
+ optional .benchmarks.google_message3.UnusedEmptyMessage field6701 = 8;
+ optional string field6702 = 1;
+ optional double field6703 = 2;
+ optional .benchmarks.google_message3.UnusedEmptyMessage field6704 = 9;
+ optional bytes field6705 = 3;
+ optional bytes field6706 = 19;
+ optional .benchmarks.google_message3.Message6637 field6707 = 4;
+ repeated .benchmarks.google_message3.Message6126 field6708 = 18;
+ optional bool field6709 = 6;
+ optional .benchmarks.google_message3.Message6643 field6710 = 10;
+ optional string field6711 = 12;
+ optional .benchmarks.google_message3.UnusedEmptyMessage field6712 = 14;
+ optional .benchmarks.google_message3.UnusedEmptyMessage field6713 = 15;
+ optional .benchmarks.google_message3.UnusedEmptyMessage field6714 = 16;
+ optional int32 field6715 = 17;
+ optional .benchmarks.google_message3.UnusedEmptyMessage field6716 = 20;
+}
+
+message Message18831 {
+ repeated group Message18832 = 1 {
+ optional int32 field18836 = 2;
+ optional string field18837 = 5;
+ optional float field18838 = 3;
+ optional float field18839 = 9;
+ optional int32 field18840 = 11;
+ repeated uint64 field18841 = 4;
+ repeated group Message18833 = 6 {
+ required uint64 field18843 = 7;
+ optional string field18844 = 8;
+ optional float field18845 = 10;
+ optional int32 field18846 = 12;
+ optional bool field18847 = 13;
+ }
+ }
+}
+
+message Message13090 {
+ optional .benchmarks.google_message3.Message13083 field13141 = 1;
+ optional .benchmarks.google_message3.Message13088 field13142 = 2;
+}
+
+message Message11874 {
+ optional .benchmarks.google_message3.Message10391 field11888 = 3;
+ optional string field11889 = 4;
+ optional .benchmarks.google_message3.Message11873 field11890 = 6;
+ optional bool field11891 = 7;
+ extensions 1 to 1;
+ extensions 2 to 2;
+ extensions 5 to 5;
+}
+
+message Message4144 {
+ repeated group Message4145 = 1 {
+ required .benchmarks.google_message3.Enum4146 field4165 = 2;
+ required int32 field4166 = 3;
+ optional .benchmarks.google_message3.Enum4160 field4167 = 9;
+ optional bytes field4168 = 4;
+ optional .benchmarks.google_message3.Enum4152 field4169 = 5;
+ optional string field4170 = 6;
+ }
+}
+
+message Message35573 {
+ optional fixed64 field35695 = 16;
+ optional string field35696 = 1000;
+ optional string field35697 = 1004;
+ optional int32 field35698 = 1003;
+ repeated group Message35574 = 1012 {
+ }
+ optional int64 field35700 = 1011;
+ optional int64 field35701 = 1005;
+ optional int64 field35702 = 1006;
+ optional int64 field35703 = 1007;
+ optional int64 field35704 = 1008;
+ repeated group Message35575 = 1 {
+ optional int64 field35709 = 2;
+ optional string field35710 = 3;
+ optional string field35711 = 19;
+ optional int32 field35712 = 20;
+ optional int32 field35713 = 21;
+ optional int32 field35714 = 22;
+ optional bool field35715 = 23;
+ optional int32 field35716 = 47;
+ optional int32 field35717 = 48;
+ optional bool field35718 = 24;
+ optional fixed64 field35719 = 25;
+ optional bytes field35720 = 52;
+ optional int32 field35721 = 18;
+ optional fixed32 field35722 = 43;
+ optional bool field35723 = 26;
+ optional int32 field35724 = 27;
+ optional int32 field35725 = 17;
+ optional bool field35726 = 45;
+ repeated int32 field35727 = 33;
+ repeated int32 field35728 = 58;
+ optional float field35729 = 34;
+ optional float field35730 = 1009;
+ optional int32 field35731 = 28;
+ repeated fixed64 field35732 = 1001;
+ repeated fixed64 field35733 = 1002;
+ optional int32 field35734 = 44;
+ optional int32 field35735 = 50;
+ optional int32 field35736 = 36;
+ optional int32 field35737 = 40;
+ optional bool field35738 = 1016;
+ optional bool field35739 = 1010;
+ optional int32 field35740 = 37;
+ optional int32 field35741 = 38;
+ optional string field35742 = 46;
+ optional uint32 field35743 = 60;
+ repeated bytes field35744 = 56;
+ optional .benchmarks.google_message3.Message0 field35745 = 57;
+ required group Message35576 = 4 {
+ optional fixed64 field35747 = 5;
+ optional int32 field35748 = 6;
+ optional int32 field35749 = 49;
+ optional int32 field35750 = 7;
+ optional uint32 field35751 = 59;
+ optional int32 field35752 = 14;
+ optional int32 field35753 = 15;
+ optional int32 field35754 = 35;
+ optional bytes field35755 = 53;
+ optional int32 field35756 = 8;
+ optional string field35757 = 9;
+ optional fixed64 field35758 = 10;
+ optional int32 field35759 = 11;
+ optional int32 field35760 = 12;
+ optional int32 field35761 = 41;
+ optional int32 field35762 = 30;
+ optional int32 field35763 = 31;
+ optional int32 field35764 = 13;
+ optional bytes field35765 = 39;
+ optional string field35766 = 29;
+ optional int32 field35767 = 42;
+ repeated int32 field35768 = 32;
+ repeated int32 field35769 = 51;
+ optional int64 field35770 = 54;
+ optional .benchmarks.google_message3.Message0 field35771 = 55;
+ }
+ }
+}
+
+message Message36858 {
+ repeated int32 field36956 = 1;
+ repeated string field36957 = 2;
+ repeated string field36958 = 12;
+ optional int32 field36959 = 3;
+ optional int32 field36960 = 4;
+ optional int32 field36961 = 14;
+ optional string field36962 = 11;
+ optional bool field36963 = 5;
+ optional bool field36964 = 13;
+ optional int64 field36965 = 6;
+ optional .benchmarks.google_message3.Message35506 field36966 = 7;
+ repeated group Message36859 = 8 {
+ required .benchmarks.google_message3.Enum36860 field36968 = 9;
+ optional float field36969 = 10;
+ }
+}
+
+message Message13174 {
+ required int32 field13237 = 6;
+ optional int32 field13238 = 3;
+ required int32 field13239 = 4;
+ optional int32 field13240 = 8;
+ optional double field13241 = 5;
+ optional double field13242 = 7;
+ optional int32 field13243 = 17;
+ optional int32 field13244 = 19;
+ optional double field13245 = 20;
+ optional int32 field13246 = 9;
+ optional double field13247 = 10;
+ optional int32 field13248 = 11;
+ optional .benchmarks.google_message3.Message13151 field13249 = 21;
+ optional int32 field13250 = 1;
+ optional double field13251 = 2;
+ optional double field13252 = 15;
+ optional double field13253 = 16;
+ optional double field13254 = 12;
+ optional double field13255 = 13;
+ optional double field13256 = 14;
+ optional int32 field13257 = 18;
+}
+
+message Message18283 {
+ optional .benchmarks.google_message3.UnusedEmptyMessage field18478 = 1;
+ optional int32 field18479 = 4;
+ optional int32 field18480 = 106;
+ optional int32 field18481 = 107;
+ optional int32 field18482 = 108;
+ optional int32 field18483 = 109;
+ optional int32 field18484 = 105;
+ optional int32 field18485 = 113;
+ optional int32 field18486 = 114;
+ optional int32 field18487 = 124;
+ optional int32 field18488 = 125;
+ optional int32 field18489 = 128;
+ optional int32 field18490 = 135;
+ optional bool field18491 = 166;
+ optional bool field18492 = 136;
+ optional int32 field18493 = 140;
+ optional int32 field18494 = 171;
+ optional int32 field18495 = 148;
+ optional int32 field18496 = 145;
+ optional float field18497 = 117;
+ optional int32 field18498 = 146;
+ optional string field18499 = 3;
+ optional .benchmarks.google_message3.UnusedEmptyMessage field18500 = 5;
+ optional .benchmarks.google_message3.UnusedEmptyMessage field18501 = 6;
+ optional .benchmarks.google_message3.UnusedEmptyMessage field18502 = 9;
+ optional .benchmarks.google_message3.Message18253 field18503 = 155;
+ optional .benchmarks.google_message3.UnusedEmptyMessage field18504 = 184;
+ optional .benchmarks.google_message3.UnusedEmptyMessage field18505 = 163;
+ optional .benchmarks.google_message3.UnusedEmptyMessage field18506 = 16;
+ repeated int32 field18507 = 20;
+ repeated int32 field18508 = 7;
+ repeated string field18509 = 194;
+ optional bytes field18510 = 30;
+ optional int32 field18511 = 31;
+ optional .benchmarks.google_message3.UnusedEmptyMessage field18512 = 178;
+ optional string field18513 = 8;
+ optional float field18514 = 2;
+ optional float field18515 = 100;
+ optional float field18516 = 101;
+ optional float field18517 = 102;
+ optional int32 field18518 = 103;
+ repeated .benchmarks.google_message3.UnusedEmptyMessage field18519 = 104;
+ optional int32 field18520 = 110;
+ optional int32 field18521 = 112;
+ optional .benchmarks.google_message3.UnusedEmptyMessage field18522 = 111;
+ optional .benchmarks.google_message3.UnusedEmptyMessage field18523 = 115;
+ optional .benchmarks.google_message3.UnusedEmptyMessage field18524 = 119;
+ optional .benchmarks.google_message3.UnusedEmptyMessage field18525 = 127;
+ optional .benchmarks.google_message3.UnusedEmptyMessage field18526 = 185;
+ optional int32 field18527 = 120;
+ optional int32 field18528 = 132;
+ optional .benchmarks.google_message3.UnusedEmptyMessage field18529 = 126;
+ optional .benchmarks.google_message3.UnusedEmptyMessage field18530 = 129;
+ optional .benchmarks.google_message3.UnusedEmptyMessage field18531 = 131;
+ optional fixed64 field18532 = 150;
+ optional int32 field18533 = 133;
+ optional int32 field18534 = 134;
+ optional int32 field18535 = 139;
+ optional fixed64 field18536 = 137;
+ optional fixed64 field18537 = 138;
+ optional .benchmarks.google_message3.UnusedEmptyMessage field18538 = 141;
+ optional int32 field18539 = 142;
+ optional int32 field18540 = 181;
+ optional .benchmarks.google_message3.Message16816 field18541 = 143;
+ optional .benchmarks.google_message3.Message16685 field18542 = 154;
+ optional int32 field18543 = 144;
+ optional int64 field18544 = 147;
+ optional int64 field18545 = 149;
+ optional int32 field18546 = 151;
+ optional int32 field18547 = 152;
+ optional int32 field18548 = 153;
+ optional float field18549 = 161;
+ optional .benchmarks.google_message3.Message0 field18550 = 123;
+ repeated int64 field18551 = 156;
+ optional int32 field18552 = 157;
+ repeated fixed64 field18553 = 188;
+ optional int32 field18554 = 158;
+ optional .benchmarks.google_message3.UnusedEmptyMessage field18555 = 159;
+ optional bool field18556 = 160;
+ optional uint64 field18557 = 162;
+ optional int32 field18558 = 164;
+ optional .benchmarks.google_message3.UnusedEmptyMessage field18559 = 10;
+ optional .benchmarks.google_message3.UnusedEmptyMessage field18560 = 167;
+ optional int32 field18561 = 168;
+ repeated fixed64 field18562 = 169;
+ repeated string field18563 = 170;
+ optional .benchmarks.google_message3.UnusedEmptyMessage field18564 = 172;
+ optional int64 field18565 = 173;
+ optional .benchmarks.google_message3.UnusedEmptyMessage field18566 = 174;
+ optional int64 field18567 = 175;
+ optional uint32 field18568 = 189;
+ optional .benchmarks.google_message3.UnusedEmptyMessage field18569 = 176;
+ optional .benchmarks.google_message3.UnusedEmptyMessage field18570 = 177;
+ optional uint32 field18571 = 179;
+ optional uint32 field18572 = 180;
+ optional .benchmarks.google_message3.UnusedEmptyMessage field18573 = 182;
+ optional .benchmarks.google_message3.UnusedEmptyMessage field18574 = 183;
+ optional .benchmarks.google_message3.UnusedEmptyMessage field18575 = 121;
+ optional .benchmarks.google_message3.UnusedEmptyMessage field18576 = 186;
+ optional .benchmarks.google_message3.UnusedEmptyMessage field18577 = 187;
+ optional .benchmarks.google_message3.UnusedEmptyMessage field18578 = 190;
+ optional int32 field18579 = 191;
+ optional float field18580 = 192;
+ optional bool field18581 = 193;
+ extensions 116 to 116;
+ extensions 118 to 118;
+ extensions 130 to 130;
+ extensions 165 to 165;
+}
+
+message Message13169 {
+ repeated .benchmarks.google_message3.Message13168 field13223 = 1;
+ required .benchmarks.google_message3.Message13167 field13224 = 2;
+ optional string field13225 = 3;
+}
+
+message Message19255 {
+ optional string field19257 = 1;
+}
+
+message Message35542 {
+ optional bool field35543 = 1;
+ optional bool field35544 = 2;
+ optional bool field35545 = 3;
+}
+
+message Message3901 {
+ optional int32 field3990 = 1;
+ optional int32 field3991 = 2;
+ optional int32 field3992 = 3;
+ optional int32 field3993 = 4;
+ optional int32 field3994 = 7;
+ optional int32 field3995 = 8;
+ optional int32 field3996 = 9;
+ optional int32 field3997 = 10;
+ optional int32 field3998 = 11;
+ optional int32 field3999 = 12;
+ optional .benchmarks.google_message3.UnusedEnum field4000 = 6;
+ optional int32 field4001 = 5;
+}
+
diff --git a/benchmarks/datasets/google_message3/benchmark_message3_3.proto b/benchmarks/datasets/google_message3/benchmark_message3_3.proto
new file mode 100644
index 00000000..e71d2661
--- /dev/null
+++ b/benchmarks/datasets/google_message3/benchmark_message3_3.proto
@@ -0,0 +1,466 @@
+syntax = "proto2";
+
+import "datasets/google_message3/benchmark_message3_4.proto";
+import "datasets/google_message3/benchmark_message3_5.proto";
+import "datasets/google_message3/benchmark_message3_7.proto";
+import "datasets/google_message3/benchmark_message3_8.proto";
+package benchmarks.google_message3;
+
+option cc_enable_arenas = true;
+option java_package = "com.google.protobuf.benchmarks";
+
+message Message35546 {
+ optional int64 field35556 = 1;
+ optional int32 field35557 = 2;
+ optional bool field35558 = 3;
+ optional int64 field35559 = 13;
+ optional group Message35547 = 4 {
+ required int32 field35569 = 5;
+ required int32 field35570 = 6;
+ }
+ optional group Message35548 = 10 {
+ required int64 field35571 = 11;
+ required int64 field35572 = 12;
+ }
+ optional bool field35562 = 14;
+ optional bool field35563 = 15;
+ optional int32 field35564 = 16;
+ optional bool field35565 = 17;
+ optional bool field35566 = 18;
+ optional string field35567 = 100;
+}
+
+message Message2356 {
+ optional .benchmarks.google_message3.Message1374 field2368 = 121;
+ optional uint64 field2369 = 1;
+ optional int32 field2370 = 2;
+ optional int32 field2371 = 17;
+ required string field2372 = 3;
+ optional int32 field2373 = 7;
+ optional bytes field2374 = 8;
+ optional string field2375 = 4;
+ optional string field2376 = 101;
+ optional int32 field2377 = 102;
+ optional int32 field2378 = 103;
+ optional int32 field2379 = 104;
+ optional int32 field2380 = 113;
+ optional int32 field2381 = 114;
+ optional int32 field2382 = 115;
+ optional int32 field2383 = 117;
+ optional int32 field2384 = 118;
+ optional int32 field2385 = 119;
+ optional int32 field2386 = 105;
+ optional bytes field2387 = 5;
+ optional group Message2357 = 6 {
+ optional int64 field2399 = 9;
+ optional int32 field2400 = 10;
+ optional int32 field2401 = 11;
+ optional int32 field2402 = 12;
+ optional int32 field2403 = 13;
+ optional int32 field2404 = 116;
+ optional int32 field2405 = 106;
+ required bytes field2406 = 14;
+ optional int32 field2407 = 45;
+ optional int32 field2408 = 112;
+ optional bool field2409 = 122;
+ optional bytes field2410 = 124;
+ }
+ optional string field2389 = 120;
+ optional group Message2358 = 107 {
+ }
+ repeated group Message2359 = 40 {
+ optional string field2413 = 41;
+ optional string field2414 = 42;
+ optional string field2415 = 43;
+ optional string field2416 = 44;
+ optional int32 field2417 = 46;
+ optional string field2418 = 47;
+ optional float field2419 = 110;
+ optional float field2420 = 111;
+ }
+ optional int32 field2392 = 50;
+ optional .benchmarks.google_message3.UnusedEmptyMessage field2393 = 60;
+ optional .benchmarks.google_message3.UnusedEmptyMessage field2394 = 70;
+ optional .benchmarks.google_message3.UnusedEmptyMessage field2395 = 80;
+ optional .benchmarks.google_message3.UnusedEmptyMessage field2396 = 90;
+ optional string field2397 = 100;
+ optional string field2398 = 123;
+}
+
+message Message7029 {
+ required int32 field7183 = 1;
+ optional int32 field7184 = 2;
+ optional int32 field7185 = 3;
+ optional int32 field7186 = 4;
+ optional int32 field7187 = 5;
+ optional int32 field7188 = 6;
+ optional int32 field7189 = 17;
+ optional int32 field7190 = 18;
+ optional int32 field7191 = 49;
+ optional int32 field7192 = 28;
+ optional int32 field7193 = 33;
+ optional int32 field7194 = 25;
+ optional int32 field7195 = 26;
+ optional int32 field7196 = 40;
+ optional int32 field7197 = 41;
+ optional int32 field7198 = 42;
+ optional int32 field7199 = 43;
+ optional int32 field7200 = 19;
+ optional int32 field7201 = 7;
+ optional int32 field7202 = 8;
+ optional int32 field7203 = 9;
+ optional int32 field7204 = 10;
+ optional int32 field7205 = 11;
+ optional int32 field7206 = 12;
+ repeated group Message7030 = 13 {
+ optional string field7226 = 14;
+ optional string field7227 = 15;
+ optional int64 field7228 = 16;
+ }
+ repeated group Message7031 = 21 {
+ optional string field7229 = 22;
+ optional int32 field7230 = 23;
+ optional int32 field7231 = 24;
+ optional int32 field7232 = 30;
+ optional int32 field7233 = 31;
+ optional int32 field7234 = 35;
+ }
+ optional int32 field7209 = 20;
+ optional float field7210 = 27;
+ optional int32 field7211 = 29;
+ optional int32 field7212 = 32;
+ optional string field7213 = 48;
+ optional bool field7214 = 34;
+ optional int32 field7215 = 36;
+ optional float field7216 = 37;
+ optional bool field7217 = 38;
+ optional bool field7218 = 39;
+ optional .benchmarks.google_message3.UnusedEmptyMessage field7219 = 44;
+ optional int32 field7220 = 45;
+ optional int32 field7221 = 46;
+ optional int32 field7222 = 47;
+ optional .benchmarks.google_message3.UnusedEmptyMessage field7223 = 50;
+ optional int32 field7224 = 51;
+}
+
+message Message35538 {
+ required int64 field35539 = 1;
+}
+
+message Message18921 {
+ optional string field18946 = 1;
+ optional fixed64 field18947 = 2;
+ optional int32 field18948 = 3;
+ optional double field18949 = 4;
+ optional bool field18950 = 17;
+ optional bool field18951 = 23;
+ optional .benchmarks.google_message3.UnusedEmptyMessage field18952 = 24;
+ repeated group Message18922 = 5 {
+ optional uint64 field18959 = 6;
+ optional string field18960 = 13;
+ optional bool field18961 = 21;
+ optional bool field18962 = 33;
+ optional int32 field18963 = 7;
+ optional int32 field18964 = 8;
+ optional string field18965 = 9;
+ optional .benchmarks.google_message3.Message18856 field18966 = 10;
+ optional uint64 field18967 = 34;
+ optional .benchmarks.google_message3.UnusedEmptyMessage field18968 = 11;
+ optional uint64 field18969 = 35;
+ optional float field18970 = 12;
+ repeated string field18971 = 14;
+ optional bool field18972 = 15;
+ optional bool field18973 = 16;
+ optional float field18974 = 22;
+ optional int32 field18975 = 18;
+ optional int32 field18976 = 19;
+ optional int32 field18977 = 20;
+ optional .benchmarks.google_message3.UnusedEmptyMessage field18978 = 25;
+ optional .benchmarks.google_message3.UnusedEnum field18979 = 26;
+ repeated string field18980 = 27;
+ optional float field18981 = 28;
+ }
+ repeated .benchmarks.google_message3.UnusedEmptyMessage field18954 = 29;
+ repeated .benchmarks.google_message3.Message18943 field18955 = 30;
+ repeated .benchmarks.google_message3.Message18944 field18956 = 31;
+ repeated .benchmarks.google_message3.UnusedEmptyMessage field18957 = 32;
+}
+
+message Message35540 {
+ optional bool field35541 = 1;
+}
+
+message Message3886 {
+ repeated group Message3887 = 1 {
+ required string field3932 = 2;
+ optional string field3933 = 9;
+ optional .benchmarks.google_message3.Message3850 field3934 = 3;
+ optional bytes field3935 = 8;
+ }
+}
+
+message Message6743 {
+ optional .benchmarks.google_message3.Message6721 field6759 = 1;
+ optional .benchmarks.google_message3.Message6723 field6760 = 2;
+ optional .benchmarks.google_message3.Message6723 field6761 = 8;
+ optional .benchmarks.google_message3.Message6725 field6762 = 3;
+ optional .benchmarks.google_message3.Message6726 field6763 = 4;
+ optional .benchmarks.google_message3.Message6733 field6764 = 5;
+ optional .benchmarks.google_message3.Message6734 field6765 = 6;
+ optional .benchmarks.google_message3.Message6742 field6766 = 7;
+}
+
+message Message6773 {
+ optional .benchmarks.google_message3.Enum6769 field6794 = 1;
+ optional int32 field6795 = 9;
+ optional .benchmarks.google_message3.UnusedEnum field6796 = 10;
+ optional int32 field6797 = 11;
+ optional int32 field6798 = 2;
+ optional .benchmarks.google_message3.Enum6774 field6799 = 3;
+ optional double field6800 = 5;
+ optional double field6801 = 7;
+ optional double field6802 = 8;
+ optional .benchmarks.google_message3.Enum6782 field6803 = 6;
+}
+
+message Message8224 {
+ optional .benchmarks.google_message3.UnusedEmptyMessage field8255 = 1;
+ optional .benchmarks.google_message3.Message8184 field8256 = 2;
+ optional .benchmarks.google_message3.Message7966 field8257 = 3;
+ optional string field8258 = 4;
+ optional string field8259 = 5;
+ optional bool field8260 = 6;
+ optional int64 field8261 = 7;
+ optional string field8262 = 8;
+ optional int64 field8263 = 9;
+ optional double field8264 = 10;
+ optional int64 field8265 = 11;
+ repeated string field8266 = 12;
+ optional int64 field8267 = 13;
+ optional int32 field8268 = 14;
+ optional int32 field8269 = 15;
+ optional int64 field8270 = 16;
+ optional double field8271 = 17;
+ optional .benchmarks.google_message3.UnusedEmptyMessage field8272 = 18;
+ optional .benchmarks.google_message3.UnusedEmptyMessage field8273 = 19;
+ repeated .benchmarks.google_message3.UnusedEmptyMessage field8274 = 20;
+ optional bool field8275 = 21;
+ optional .benchmarks.google_message3.UnusedEmptyMessage field8276 = 22;
+ optional .benchmarks.google_message3.UnusedEmptyMessage field8277 = 23;
+ repeated .benchmarks.google_message3.UnusedEmptyMessage field8278 = 24;
+ optional .benchmarks.google_message3.UnusedEmptyMessage field8279 = 25;
+ optional bool field8280 = 26;
+ repeated .benchmarks.google_message3.UnusedEmptyMessage field8281 = 27;
+}
+
+message Message8392 {
+ optional string field8395 = 1;
+ optional string field8396 = 2;
+ optional .benchmarks.google_message3.Message7966 field8397 = 3;
+ optional string field8398 = 4;
+ optional string field8399 = 5;
+ optional string field8400 = 6;
+ optional string field8401 = 7;
+ optional string field8402 = 8;
+ optional string field8403 = 9;
+}
+
+message Message8130 {
+ optional string field8156 = 1;
+ optional string field8157 = 2;
+ optional string field8158 = 4;
+ optional .benchmarks.google_message3.UnusedEmptyMessage field8159 = 6;
+ repeated string field8160 = 7;
+ optional int64 field8161 = 8;
+ optional .benchmarks.google_message3.UnusedEmptyMessage field8162 = 9;
+ optional string field8163 = 10;
+ optional string field8164 = 11;
+ optional string field8165 = 12;
+ optional string field8166 = 13;
+ optional .benchmarks.google_message3.UnusedEmptyMessage field8167 = 14;
+ optional .benchmarks.google_message3.UnusedEmptyMessage field8168 = 15;
+ optional string field8169 = 16;
+ optional .benchmarks.google_message3.UnusedEnum field8170 = 17;
+ optional .benchmarks.google_message3.UnusedEnum field8171 = 18;
+ optional bool field8172 = 19;
+ optional bool field8173 = 20;
+ optional double field8174 = 21;
+ optional int32 field8175 = 22;
+ optional int32 field8176 = 23;
+ optional .benchmarks.google_message3.UnusedEmptyMessage field8177 = 24;
+ repeated .benchmarks.google_message3.UnusedEmptyMessage field8178 = 25;
+ repeated .benchmarks.google_message3.UnusedEmptyMessage field8179 = 26;
+}
+
+message Message8478 {
+ optional string field8489 = 7;
+ optional .benchmarks.google_message3.Message7966 field8490 = 1;
+ optional .benchmarks.google_message3.Message8476 field8491 = 2;
+ optional int64 field8492 = 3;
+ optional .benchmarks.google_message3.Message8476 field8493 = 4;
+ repeated .benchmarks.google_message3.Message8477 field8494 = 5;
+ optional .benchmarks.google_message3.Message8454 field8495 = 6;
+ optional .benchmarks.google_message3.UnusedEmptyMessage field8496 = 8;
+}
+
+message Message8479 {
+ optional .benchmarks.google_message3.Message8475 field8497 = 1;
+ optional .benchmarks.google_message3.Message7966 field8498 = 2;
+ optional .benchmarks.google_message3.Message8476 field8499 = 3;
+ optional .benchmarks.google_message3.Message8476 field8500 = 4;
+ optional string field8501 = 6;
+ optional string field8502 = 7;
+ optional .benchmarks.google_message3.Message7966 field8503 = 8;
+ optional .benchmarks.google_message3.Message8455 field8504 = 5;
+ optional .benchmarks.google_message3.UnusedEmptyMessage field8505 = 9;
+}
+
+message Message10319 {
+ optional .benchmarks.google_message3.Enum10325 field10340 = 1;
+ optional int32 field10341 = 4;
+ optional int32 field10342 = 5;
+ optional bytes field10343 = 3;
+ optional string field10344 = 2;
+ optional string field10345 = 6;
+ optional string field10346 = 7;
+}
+
+message Message4016 {
+ required int32 field4017 = 1;
+ required int32 field4018 = 2;
+ required int32 field4019 = 3;
+ required int32 field4020 = 4;
+}
+
+message Message12669 {
+ optional .benchmarks.google_message3.Message12559 field12681 = 1;
+ optional float field12682 = 2;
+ optional bool field12683 = 3;
+ optional .benchmarks.google_message3.Enum12670 field12684 = 4;
+}
+
+message Message12819 {
+ optional double field12834 = 1;
+ optional double field12835 = 2;
+ optional double field12836 = 3;
+ optional double field12837 = 4;
+ optional double field12838 = 5;
+ optional double field12839 = 6;
+}
+
+message Message12820 {
+ optional int32 field12840 = 1;
+ optional int32 field12841 = 2;
+ optional int32 field12842 = 3;
+ optional int32 field12843 = 8;
+ optional int32 field12844 = 4;
+ optional int32 field12845 = 5;
+ optional int32 field12846 = 6;
+ optional int32 field12847 = 7;
+}
+
+message Message12821 {
+ optional int32 field12848 = 1;
+ optional int32 field12849 = 2;
+ optional int32 field12850 = 3;
+ optional int32 field12851 = 4;
+ optional int32 field12852 = 5;
+}
+
+message Message12818 {
+ optional uint64 field12829 = 1;
+ optional int32 field12830 = 2;
+ optional int32 field12831 = 3;
+ optional int32 field12832 = 5;
+ repeated .benchmarks.google_message3.Message12817 field12833 = 4;
+}
+
+message Message16479 {
+ optional .benchmarks.google_message3.Message16480 field16484 = 1;
+ optional int32 field16485 = 5;
+ optional float field16486 = 2;
+ optional uint32 field16487 = 4;
+ optional bool field16488 = 3;
+ optional uint32 field16489 = 6;
+}
+
+message Message16722 {
+ optional string field16752 = 1;
+ optional string field16753 = 2;
+ optional string field16754 = 3;
+ optional int32 field16755 = 5;
+ optional string field16756 = 4;
+}
+
+message Message16724 {
+ optional int64 field16761 = 1;
+ optional float field16762 = 2;
+ optional int64 field16763 = 3;
+ optional int64 field16764 = 4;
+ optional bool field16765 = 5;
+ repeated string field16766 = 6;
+ repeated string field16767 = 7;
+ optional .benchmarks.google_message3.UnusedEmptyMessage field16768 = 8;
+ optional bool field16769 = 9;
+ optional uint32 field16770 = 10;
+ optional .benchmarks.google_message3.Enum16728 field16771 = 11;
+ repeated int32 field16772 = 12;
+ optional bool field16773 = 13;
+}
+
+message Message17728 {
+}
+
+message Message24356 {
+ optional string field24559 = 1;
+ optional string field24560 = 2;
+ optional int32 field24561 = 14;
+ optional string field24562 = 3;
+ optional string field24563 = 4;
+ optional string field24564 = 5;
+ optional .benchmarks.google_message3.UnusedEnum field24565 = 13;
+ optional string field24566 = 6;
+ optional .benchmarks.google_message3.Enum24361 field24567 = 12;
+ optional string field24568 = 7;
+ optional string field24569 = 8;
+ optional string field24570 = 9;
+ repeated .benchmarks.google_message3.UnusedEmptyMessage field24571 = 10;
+ repeated string field24572 = 11;
+ repeated string field24573 = 15;
+}
+
+message Message24376 {
+ optional string field24589 = 1;
+ optional string field24590 = 2;
+ optional string field24591 = 3;
+ required .benchmarks.google_message3.Message24377 field24592 = 4;
+ optional .benchmarks.google_message3.Message24317 field24593 = 5;
+ optional string field24594 = 6;
+ optional .benchmarks.google_message3.Message24378 field24595 = 7;
+ repeated string field24596 = 8;
+ repeated .benchmarks.google_message3.UnusedEmptyMessage field24597 = 14;
+ repeated string field24598 = 9;
+ repeated string field24599 = 10;
+ repeated string field24600 = 11;
+ optional string field24601 = 12;
+ repeated string field24602 = 13;
+}
+
+message Message24366 {
+ optional string field24574 = 1;
+ optional string field24575 = 2;
+ optional string field24576 = 3;
+ optional int32 field24577 = 10;
+ optional string field24578 = 13;
+ optional string field24579 = 4;
+ optional string field24580 = 5;
+ optional .benchmarks.google_message3.UnusedEnum field24581 = 9;
+ optional string field24582 = 14;
+ optional .benchmarks.google_message3.UnusedEnum field24583 = 15;
+ optional string field24584 = 6;
+ optional string field24585 = 12;
+ repeated .benchmarks.google_message3.UnusedEmptyMessage field24586 = 7;
+ repeated string field24587 = 8;
+ repeated string field24588 = 11;
+}
+
diff --git a/benchmarks/datasets/google_message3/benchmark_message3_4.proto b/benchmarks/datasets/google_message3/benchmark_message3_4.proto
new file mode 100644
index 00000000..597cec6d
--- /dev/null
+++ b/benchmarks/datasets/google_message3/benchmark_message3_4.proto
@@ -0,0 +1,491 @@
+syntax = "proto2";
+
+import "datasets/google_message3/benchmark_message3_5.proto";
+import "datasets/google_message3/benchmark_message3_6.proto";
+import "datasets/google_message3/benchmark_message3_7.proto";
+import "datasets/google_message3/benchmark_message3_8.proto";
+package benchmarks.google_message3;
+
+option cc_enable_arenas = true;
+option java_package = "com.google.protobuf.benchmarks";
+
+message Message24346 {
+}
+
+message Message24401 {
+ optional .benchmarks.google_message3.Message24400 field24679 = 1;
+}
+
+message Message24402 {
+ optional .benchmarks.google_message3.Message24400 field24680 = 1;
+}
+
+message Message24379 {
+ optional string field24603 = 1;
+ optional string field24604 = 2;
+ optional string field24605 = 3;
+ required .benchmarks.google_message3.Message24380 field24606 = 4;
+ optional .benchmarks.google_message3.UnusedEmptyMessage field24607 = 5;
+ optional string field24608 = 6;
+ optional .benchmarks.google_message3.Message24381 field24609 = 7;
+ repeated string field24610 = 8;
+ repeated .benchmarks.google_message3.UnusedEmptyMessage field24611 = 17;
+ repeated string field24612 = 9;
+ repeated string field24613 = 10;
+ repeated string field24614 = 11;
+ optional string field24615 = 14;
+ optional string field24616 = 12;
+ optional string field24617 = 16;
+ repeated .benchmarks.google_message3.UnusedEmptyMessage field24618 = 13;
+ repeated string field24619 = 15;
+ repeated string field24620 = 18;
+}
+
+message Message27358 {
+ optional int32 field27415 = 1;
+ optional int32 field27416 = 2;
+}
+
+message Message34381 {
+ optional string field34398 = 1;
+ optional .benchmarks.google_message3.UnusedEmptyMessage field34399 = 2;
+ optional .benchmarks.google_message3.UnusedEmptyMessage field34400 = 3;
+ optional .benchmarks.google_message3.UnusedEmptyMessage field34401 = 4;
+ optional .benchmarks.google_message3.UnusedEmptyMessage field34402 = 5;
+ optional bool field34403 = 6;
+ optional bool field34404 = 7;
+ optional .benchmarks.google_message3.UnusedEmptyMessage field34405 = 8;
+ optional bool field34406 = 9;
+ optional .benchmarks.google_message3.UnusedEmptyMessage field34407 = 10;
+}
+
+message Message34619 {
+ optional double field34641 = 1;
+ optional double field34642 = 2;
+ optional double field34643 = 3;
+ optional double field34644 = 4;
+ optional double field34645 = 11;
+ optional double field34646 = 5;
+ optional .benchmarks.google_message3.UnusedEmptyMessage field34647 = 100;
+}
+
+message Message730 {
+ optional string field897 = 19;
+ repeated string field898 = 27;
+ repeated string field899 = 28;
+ repeated string field900 = 21;
+ optional string field901 = 30;
+ repeated uint32 field902 = 20;
+ repeated uint32 field903 = 32;
+ repeated string field904 = 16;
+ repeated .benchmarks.google_message3.Message697 field905 = 6;
+ repeated .benchmarks.google_message3.Message704 field906 = 7;
+ repeated string field907 = 18;
+ repeated .benchmarks.google_message3.Message703 field908 = 8;
+ repeated string field909 = 9;
+ optional .benchmarks.google_message3.Message716 field910 = 10;
+ optional .benchmarks.google_message3.Message718 field911 = 11;
+ optional bool field912 = 14;
+ repeated .benchmarks.google_message3.Message715 field913 = 4;
+ repeated string field914 = 17;
+ repeated string field915 = 23;
+ repeated .benchmarks.google_message3.Message719 field916 = 24;
+ repeated .benchmarks.google_message3.Message728 field917 = 26;
+ repeated .benchmarks.google_message3.Message702 field918 = 35;
+ optional string field919 = 36;
+ repeated string field920 = 37;
+ optional int64 field921 = 38;
+ repeated .benchmarks.google_message3.UnusedEmptyMessage field922 = 39;
+ repeated .benchmarks.google_message3.UnusedEmptyMessage field923 = 1;
+ optional .benchmarks.google_message3.UnusedEmptyMessage field924 = 2;
+ optional .benchmarks.google_message3.UnusedEmptyMessage field925 = 3;
+ optional .benchmarks.google_message3.UnusedEmptyMessage field926 = 5;
+ optional .benchmarks.google_message3.UnusedEmptyMessage field927 = 13;
+ repeated string field928 = 22;
+ optional bytes field929 = 31;
+ extensions 25 to 25;
+ extensions 29 to 29;
+ extensions 34 to 34;
+ extensions 15 to 15;
+}
+
+message Message33958 {
+ optional string field33977 = 1;
+ optional string field33978 = 9;
+ repeated group Message33959 = 2 {
+ required string field33982 = 3;
+ optional string field33983 = 4;
+ optional string field33984 = 5;
+ optional fixed64 field33985 = 8;
+ optional bool field33986 = 10;
+ optional .benchmarks.google_message3.Message0 field33987 = 6;
+ }
+ optional .benchmarks.google_message3.Enum33960 field33980 = 7;
+ extend .benchmarks.google_message3.Message0 {
+ optional .benchmarks.google_message3.Message33958 field33981 = 10747482;
+ }
+}
+
+message Message6637 {
+ optional .benchmarks.google_message3.UnusedEmptyMessage field6670 = 2;
+ repeated .benchmarks.google_message3.UnusedEmptyMessage field6671 = 1;
+ optional int32 field6672 = 3;
+ repeated string field6673 = 4;
+ optional .benchmarks.google_message3.UnusedEmptyMessage field6674 = 5;
+}
+
+message Message6643 {
+ optional .benchmarks.google_message3.UnusedEmptyMessage field6683 = 3;
+ optional .benchmarks.google_message3.UnusedEmptyMessage field6684 = 4;
+ optional double field6685 = 5;
+ optional double field6686 = 6;
+ optional int32 field6687 = 1;
+ optional int32 field6688 = 2;
+ optional double field6689 = 9;
+ optional bytes field6690 = 10;
+ optional int32 field6691 = 11;
+ optional bool field6692 = 12;
+ optional bool field6693 = 13;
+ optional .benchmarks.google_message3.Message6578 field6694 = 15;
+ optional .benchmarks.google_message3.UnusedEnum field6695 = 16;
+ optional int64 field6696 = 17;
+ repeated .benchmarks.google_message3.UnusedEmptyMessage field6697 = 22;
+ optional .benchmarks.google_message3.UnusedEmptyMessage field6698 = 19;
+ optional .benchmarks.google_message3.UnusedEmptyMessage field6699 = 20;
+ optional int32 field6700 = 21;
+}
+
+message Message6126 {
+ required string field6152 = 1;
+ repeated .benchmarks.google_message3.UnusedEmptyMessage field6153 = 9;
+ optional int32 field6154 = 14;
+ optional bytes field6155 = 10;
+ optional .benchmarks.google_message3.Message6024 field6156 = 12;
+ optional int32 field6157 = 4;
+ optional string field6158 = 5;
+ optional int32 field6159 = 6;
+ repeated int32 field6160 = 2;
+ repeated int32 field6161 = 3;
+ repeated .benchmarks.google_message3.Message6052 field6162 = 7;
+ repeated .benchmarks.google_message3.UnusedEmptyMessage field6163 = 11;
+ optional .benchmarks.google_message3.Enum6065 field6164 = 15;
+ repeated .benchmarks.google_message3.UnusedEmptyMessage field6165 = 8;
+ optional bool field6166 = 13;
+ optional bool field6167 = 16;
+ optional bool field6168 = 18;
+ repeated .benchmarks.google_message3.Message6054 field6169 = 17;
+ optional int32 field6170 = 19;
+}
+
+message Message13083 {
+ optional float field13096 = 1;
+ repeated group Message13084 = 2 {
+ required float field13107 = 3;
+ required int32 field13108 = 4;
+ optional float field13109 = 5;
+ repeated .benchmarks.google_message3.Enum13092 field13110 = 6;
+ }
+ optional float field13098 = 44;
+ optional float field13099 = 45;
+ optional uint64 field13100 = 46;
+ optional float field13101 = 47;
+ optional group Message13085 = 16 {
+ }
+ repeated group Message13086 = 23 {
+ }
+ repeated group Message13087 = 29 {
+ }
+ optional .benchmarks.google_message3.UnusedEmptyMessage field13105 = 43;
+}
+
+message Message13088 {
+ repeated group Message13089 = 1 {
+ required string field13139 = 2;
+ optional float field13140 = 3;
+ }
+ optional int64 field13136 = 4;
+ optional bool field13137 = 5;
+}
+
+message Message10391 {
+ optional .benchmarks.google_message3.Enum10392 field10411 = 1;
+ optional .benchmarks.google_message3.UnusedEnum field10412 = 2;
+ optional int64 field10413 = 3;
+ optional string field10414 = 4;
+ optional string field10415 = 5;
+ optional bytes field10416 = 6;
+ optional bool field10417 = 8;
+ optional .benchmarks.google_message3.UnusedEmptyMessage field10418 = 9;
+ optional bool field10419 = 10;
+}
+
+message Message11873 {
+ optional string field11876 = 1;
+ optional string field11877 = 4;
+ optional .benchmarks.google_message3.Message10573 field11878 = 5;
+ optional .benchmarks.google_message3.Message10582 field11879 = 6;
+ optional .benchmarks.google_message3.Message10824 field11880 = 7;
+ optional .benchmarks.google_message3.Message10773 field11881 = 12;
+ optional .benchmarks.google_message3.Message11866 field11882 = 8;
+ optional .benchmarks.google_message3.Message10818 field11883 = 13;
+ optional .benchmarks.google_message3.UnusedEmptyMessage field11884 = 16;
+ optional .benchmarks.google_message3.Message10155 field11885 = 11;
+ optional .benchmarks.google_message3.Message10469 field11886 = 14;
+ optional .benchmarks.google_message3.UnusedEmptyMessage field11887 = 15;
+ extensions 9 to 9;
+ extensions 10 to 10;
+}
+
+message Message35506 {
+ optional int32 field35524 = 1;
+ optional string field35525 = 2;
+ optional .benchmarks.google_message3.Enum35507 field35526 = 3;
+ repeated .benchmarks.google_message3.UnusedEmptyMessage field35527 = 4;
+}
+
+message Message13151 {
+ repeated .benchmarks.google_message3.Message13145 field13158 = 1;
+}
+
+message Message18253 {
+ repeated group Message18254 = 1 {
+ required fixed64 field18362 = 2;
+ required double field18363 = 3;
+ }
+}
+
+message Message16685 {
+ repeated .benchmarks.google_message3.Message16686 field16694 = 2;
+}
+
+message Message16816 {
+ optional float field16826 = 1;
+ optional .benchmarks.google_message3.Enum16819 field16827 = 2;
+ optional float field16828 = 3;
+ repeated group Message16817 = 4 {
+ }
+ optional bool field16830 = 7;
+ optional bool field16831 = 8;
+ repeated group Message16818 = 12 {
+ }
+ optional string field16833 = 10;
+ optional bool field16834 = 13;
+ optional bool field16835 = 14;
+}
+
+message Message13168 {
+ required int32 field13212 = 1;
+ optional fixed64 field13213 = 7;
+ optional bool field13214 = 8;
+ optional fixed64 field13215 = 10;
+ optional bool field13216 = 11;
+ optional .benchmarks.google_message3.Message12796 field13217 = 9;
+ required double field13218 = 2;
+ required bool field13219 = 3;
+ optional int32 field13220 = 4;
+ required bool field13221 = 5;
+ optional int32 field13222 = 6;
+}
+
+message Message13167 {
+ required int32 field13199 = 1;
+ optional int32 field13200 = 2;
+ optional int32 field13201 = 3;
+ optional bool field13202 = 8;
+ optional fixed64 field13203 = 12;
+ optional bool field13204 = 13;
+ optional .benchmarks.google_message3.Message12796 field13205 = 11;
+ optional fixed64 field13206 = 9;
+ optional bool field13207 = 10;
+ repeated int32 field13208 = 4;
+ optional int32 field13209 = 5;
+ optional int32 field13210 = 6;
+ optional int32 field13211 = 7;
+}
+
+message Message1374 {
+ required string field1375 = 1;
+ optional string field1376 = 2;
+}
+
+message Message18943 {
+}
+
+message Message18944 {
+}
+
+message Message18856 {
+ optional string field18857 = 1;
+ optional string field18858 = 2;
+ optional bool field18859 = 31;
+ optional string field18860 = 26;
+ optional string field18861 = 3;
+ optional string field18862 = 4;
+ optional string field18863 = 5;
+ optional string field18864 = 17;
+ optional string field18865 = 6;
+ optional string field18866 = 7;
+ optional string field18867 = 8;
+ optional string field18868 = 9;
+ optional string field18869 = 10;
+ optional string field18870 = 11;
+ optional string field18871 = 21;
+ optional string field18872 = 18;
+ optional string field18873 = 19;
+ optional string field18874 = 20;
+ optional string field18875 = 22;
+ optional string field18876 = 23;
+ optional string field18877 = 24;
+ optional string field18878 = 25;
+ optional string field18879 = 12;
+ optional string field18880 = 13;
+ optional string field18881 = 29;
+ optional string field18882 = 30;
+ optional string field18883 = 15;
+ optional string field18884 = 16;
+ repeated string field18885 = 14;
+ optional string field18886 = 27;
+ optional string field18887 = 28;
+}
+
+message Message3850 {
+ optional .benchmarks.google_message3.Enum3851 field3924 = 2;
+ optional bool field3925 = 12;
+ optional int32 field3926 = 4;
+ optional bool field3927 = 10;
+ optional bool field3928 = 13;
+ optional bool field3929 = 14;
+}
+
+message Message6721 {
+ optional .benchmarks.google_message3.Message6722 field6744 = 1;
+ optional bool field6745 = 2;
+ optional bool field6746 = 3;
+ optional bool field6747 = 4;
+}
+
+message Message6742 {
+ optional bool field6758 = 1;
+}
+
+message Message6726 {
+ optional int64 field6752 = 1;
+ repeated .benchmarks.google_message3.Message6727 field6753 = 2;
+}
+
+message Message6733 {
+ optional int64 field6754 = 1;
+ optional int64 field6755 = 2;
+ optional bool field6756 = 3;
+}
+
+message Message6723 {
+ optional int64 field6748 = 1;
+ repeated .benchmarks.google_message3.Message6724 field6749 = 2;
+}
+
+message Message6725 {
+ optional int32 field6750 = 1;
+ optional int32 field6751 = 2;
+}
+
+message Message6734 {
+ repeated .benchmarks.google_message3.Message6735 field6757 = 1;
+}
+
+message Message8184 {
+ optional .benchmarks.google_message3.Message7966 field8228 = 1;
+ optional bool field8229 = 2;
+ repeated .benchmarks.google_message3.Message8183 field8230 = 3;
+}
+
+message Message8477 {
+ optional .benchmarks.google_message3.Message7966 field8486 = 1;
+ optional int64 field8487 = 2;
+ optional string field8488 = 3;
+}
+
+message Message8454 {
+ optional .benchmarks.google_message3.Message8449 field8465 = 1;
+ optional int64 field8466 = 3;
+ optional int32 field8467 = 4;
+ optional bool field8468 = 5;
+ extend .benchmarks.google_message3.Message8301 {
+ optional .benchmarks.google_message3.Message8454 field8469 = 66;
+ }
+}
+
+message Message8476 {
+ optional string field8483 = 1;
+ optional string field8484 = 2;
+ optional string field8485 = 3;
+}
+
+message Message8455 {
+ optional .benchmarks.google_message3.Message8449 field8470 = 1;
+ repeated .benchmarks.google_message3.Message8456 field8471 = 2;
+ optional .benchmarks.google_message3.Message8457 field8472 = 5;
+ optional .benchmarks.google_message3.UnusedEmptyMessage field8473 = 6;
+ extend .benchmarks.google_message3.Message8302 {
+ optional .benchmarks.google_message3.Message8455 field8474 = 66;
+ }
+}
+
+message Message8475 {
+ optional string field8481 = 1;
+ optional int64 field8482 = 2;
+}
+
+message Message12559 {
+}
+
+message Message12817 {
+ optional int32 field12826 = 1;
+ optional int32 field12827 = 2;
+ optional int32 field12828 = 3;
+}
+
+message Message16480 {
+ optional .benchmarks.google_message3.Message13358 field16490 = 1;
+ optional .benchmarks.google_message3.Enum16042 field16491 = 2;
+ optional .benchmarks.google_message3.Message13912 field16492 = 3;
+ optional string field16493 = 4;
+ optional string field16494 = 5;
+ optional string field16495 = 6;
+ optional string field16496 = 7;
+ optional .benchmarks.google_message3.Message13358 field16497 = 8;
+ optional fixed32 field16498 = 9;
+}
+
+message Message24317 {
+ optional string field24446 = 1;
+ optional .benchmarks.google_message3.Message24312 field24447 = 2;
+ repeated .benchmarks.google_message3.Message24315 field24448 = 3;
+ repeated .benchmarks.google_message3.Message24313 field24449 = 4;
+ repeated .benchmarks.google_message3.Message24316 field24450 = 5;
+ repeated .benchmarks.google_message3.UnusedEmptyMessage field24451 = 6;
+ optional .benchmarks.google_message3.UnusedEmptyMessage field24452 = 7;
+ repeated string field24453 = 8;
+ repeated string field24454 = 9;
+ repeated string field24455 = 10;
+ repeated string field24456 = 28;
+ optional string field24457 = 11;
+ optional string field24458 = 12;
+ optional string field24459 = 13;
+ optional string field24460 = 14;
+ repeated string field24461 = 15;
+ optional string field24462 = 16;
+ repeated string field24463 = 17;
+ repeated string field24464 = 18;
+ repeated string field24465 = 19;
+ repeated string field24466 = 20;
+ repeated string field24467 = 21;
+ repeated string field24468 = 22;
+ repeated string field24469 = 23;
+ repeated string field24470 = 24;
+ optional string field24471 = 25;
+ optional string field24472 = 26;
+ repeated string field24473 = 27;
+ optional bool field24474 = 40;
+}
+
diff --git a/benchmarks/datasets/google_message3/benchmark_message3_5.proto b/benchmarks/datasets/google_message3/benchmark_message3_5.proto
new file mode 100644
index 00000000..bc6cbc1c
--- /dev/null
+++ b/benchmarks/datasets/google_message3/benchmark_message3_5.proto
@@ -0,0 +1,473 @@
+syntax = "proto2";
+
+import "datasets/google_message3/benchmark_message3_6.proto";
+import "datasets/google_message3/benchmark_message3_7.proto";
+import "datasets/google_message3/benchmark_message3_8.proto";
+package benchmarks.google_message3;
+
+option cc_enable_arenas = true;
+option java_package = "com.google.protobuf.benchmarks";
+
+message Message24377 {
+}
+
+message Message24378 {
+}
+
+message Message24400 {
+ optional int32 field24674 = 1;
+ optional int32 field24675 = 2;
+ optional int32 field24676 = 3;
+ optional int32 field24677 = 4;
+ optional int32 field24678 = 5;
+}
+
+message Message24380 {
+}
+
+message Message24381 {
+}
+
+message Message719 {
+ repeated string field881 = 1;
+ repeated string field882 = 2;
+ repeated string field883 = 3;
+ optional .benchmarks.google_message3.Enum720 field884 = 4;
+}
+
+message Message728 {
+ required string field887 = 1;
+ repeated string field888 = 2;
+ repeated .benchmarks.google_message3.Message703 field889 = 3;
+ repeated .benchmarks.google_message3.Message715 field890 = 4;
+ repeated string field891 = 5;
+ repeated string field892 = 6;
+ optional .benchmarks.google_message3.Message718 field893 = 7;
+ optional .benchmarks.google_message3.Message716 field894 = 8;
+ repeated string field895 = 9;
+ extensions 10 to 10;
+ extensions 11 to 11;
+ extensions 12 to 12;
+}
+
+message Message704 {
+ optional string field800 = 1;
+ optional string field801 = 7;
+ optional string field802 = 2;
+ optional string field803 = 3;
+ optional string field804 = 4;
+ optional string field805 = 5;
+ optional .benchmarks.google_message3.UnusedEmptyMessage field806 = 6;
+}
+
+message Message697 {
+ optional string field743 = 7;
+ repeated string field744 = 1;
+ repeated string field745 = 2;
+ repeated string field746 = 33;
+ repeated string field747 = 29;
+ repeated string field748 = 30;
+ repeated string field749 = 31;
+ repeated string field750 = 32;
+ repeated string field751 = 13;
+ repeated string field752 = 6;
+ repeated string field753 = 3;
+ repeated string field754 = 14;
+ repeated string field755 = 15;
+ repeated string field756 = 16;
+ repeated string field757 = 4;
+ repeated string field758 = 34;
+ repeated string field759 = 35;
+ repeated string field760 = 5;
+ repeated string field761 = 17;
+ repeated string field762 = 18;
+ repeated string field763 = 19;
+ optional bool field764 = 36;
+ repeated string field765 = 8;
+ repeated string field766 = 9;
+ optional string field767 = 27;
+ optional bool field768 = 25;
+ optional .benchmarks.google_message3.Message700 field769 = 10;
+ optional bool field770 = 11;
+ optional bool field771 = 24;
+ repeated string field772 = 12;
+ repeated string field773 = 20;
+ repeated string field774 = 21;
+ repeated string field775 = 22;
+ repeated .benchmarks.google_message3.Message699 field776 = 23;
+ repeated .benchmarks.google_message3.Message698 field777 = 37;
+ optional int64 field778 = 38;
+ extensions 28 to 28;
+ extensions 26 to 26;
+}
+
+message Message0 {
+ option message_set_wire_format = true;
+ extensions 4 to 2147483646;
+}
+
+message Message6578 {
+ optional .benchmarks.google_message3.Enum6579 field6632 = 1;
+ optional .benchmarks.google_message3.Enum6588 field6633 = 2;
+}
+
+message Message6024 {
+ optional .benchmarks.google_message3.Enum6025 field6048 = 1;
+ optional string field6049 = 2;
+ optional .benchmarks.google_message3.UnusedEmptyMessage field6050 = 3;
+}
+
+message Message6052 {
+ required string field6084 = 1;
+ required bytes field6085 = 2;
+}
+
+message Message6054 {
+ required string field6089 = 1;
+ optional string field6090 = 2;
+}
+
+message Message10573 {
+ repeated .benchmarks.google_message3.Message10576 field10580 = 1;
+ optional string field10581 = 2;
+ extensions 10000 to 536870911;
+}
+
+message Message10824 {
+ required string field10825 = 1;
+ optional int32 field10826 = 2;
+}
+
+message Message10582 {
+ required bool field10583 = 1;
+ required double field10584 = 2;
+ optional bool field10585 = 3;
+ optional double field10586 = 4;
+ optional double field10587 = 5;
+ optional bool field10588 = 6;
+}
+
+message Message10155 {
+ required int32 field10195 = 1;
+ required int32 field10196 = 2;
+ optional .benchmarks.google_message3.Enum10157 field10197 = 59;
+ optional int32 field10198 = 18;
+ optional int32 field10199 = 19;
+ optional int32 field10200 = 21;
+ repeated group Message10156 = 50 {
+ optional .benchmarks.google_message3.Enum8862 field10266 = 51;
+ optional int32 field10267 = 52;
+ optional int32 field10268 = 53;
+ optional int32 field10269 = 54;
+ }
+ optional int32 field10202 = 3;
+ optional int32 field10203 = 4;
+ optional int32 field10204 = 5;
+ optional bool field10205 = 84;
+ optional bool field10206 = 33;
+ optional int32 field10207 = 75;
+ optional float field10208 = 26;
+ optional int32 field10209 = 27;
+ optional int32 field10210 = 49;
+ optional int32 field10211 = 10;
+ optional float field10212 = 78;
+ optional .benchmarks.google_message3.Message9151 field10213 = 91;
+ optional int32 field10214 = 11;
+ optional int32 field10215 = 12;
+ optional float field10216 = 41;
+ optional .benchmarks.google_message3.Message10154 field10217 = 61;
+ optional int32 field10218 = 23;
+ optional bytes field10219 = 24;
+ optional int32 field10220 = 65;
+ repeated bytes field10221 = 66;
+ optional int32 field10222 = 70;
+ optional bytes field10223 = 71;
+ repeated fixed64 field10224 = 73;
+ optional float field10225 = 29;
+ optional int32 field10226 = 30;
+ optional float field10227 = 31;
+ optional int32 field10228 = 32;
+ optional float field10229 = 34;
+ optional int32 field10230 = 35;
+ optional string field10231 = 22;
+ optional fixed64 field10232 = 13;
+ optional fixed64 field10233 = 20;
+ optional bool field10234 = 79;
+ repeated .benchmarks.google_message3.Enum10167 field10235 = 80 [packed = true];
+ optional int32 field10236 = 14;
+ optional int32 field10237 = 15;
+ optional int32 field10238 = 28;
+ repeated string field10239 = 16;
+ optional .benchmarks.google_message3.Message9182 field10240 = 17;
+ optional int32 field10241 = 63;
+ optional float field10242 = 64;
+ optional float field10243 = 37;
+ repeated float field10244 = 43;
+ optional int32 field10245 = 44;
+ optional .benchmarks.google_message3.Message9242 field10246 = 45;
+ optional .benchmarks.google_message3.UnusedEmptyMessage field10247 = 46;
+ optional .benchmarks.google_message3.UnusedEmptyMessage field10248 = 62;
+ optional .benchmarks.google_message3.Message8944 field10249 = 48;
+ optional .benchmarks.google_message3.UnusedEmptyMessage field10250 = 87;
+ optional int32 field10251 = 58;
+ optional int32 field10252 = 92;
+ optional .benchmarks.google_message3.Message9123 field10253 = 93;
+ optional .benchmarks.google_message3.Message9160 field10254 = 60;
+ optional .benchmarks.google_message3.Message8890 field10255 = 67;
+ optional string field10256 = 69;
+ optional int64 field10257 = 74;
+ optional float field10258 = 82;
+ optional float field10259 = 85;
+ optional float field10260 = 86;
+ optional int64 field10261 = 83;
+ optional string field10262 = 77;
+ optional bool field10263 = 88;
+ repeated .benchmarks.google_message3.Message9628 field10264 = 94;
+ extensions 57 to 57;
+ extensions 1000 to 536870911;
+}
+
+message Message11866 {
+ required .benchmarks.google_message3.Message11014 field11868 = 1;
+ optional bool field11869 = 2;
+ optional double field11870 = 3;
+ optional double field11871 = 4;
+ repeated .benchmarks.google_message3.UnusedEmptyMessage field11872 = 5;
+}
+
+message Message10469 {
+ optional string field10473 = 1;
+ optional float field10474 = 2;
+ optional int32 field10475 = 3;
+ optional int32 field10476 = 4;
+ optional int32 field10477 = 5;
+ optional bool field10478 = 6;
+ optional bool field10479 = 7;
+ optional int32 field10480 = 8;
+ optional float field10481 = 9;
+}
+
+message Message10818 {
+ optional .benchmarks.google_message3.Message10800 field10819 = 1;
+ optional .benchmarks.google_message3.Message10801 field10820 = 2;
+}
+
+message Message10773 {
+ optional bool field10774 = 9;
+ optional bool field10775 = 1;
+ optional bool field10776 = 23;
+ optional bool field10777 = 2;
+ optional bool field10778 = 3;
+ optional int32 field10779 = 4;
+ optional int32 field10780 = 5;
+ optional int32 field10781 = 6;
+ optional int32 field10782 = 7;
+ optional int32 field10783 = 8;
+ optional int32 field10784 = 10;
+ optional .benchmarks.google_message3.Message10749 field10785 = 11;
+ repeated .benchmarks.google_message3.UnusedEmptyMessage field10786 = 12;
+ optional bool field10787 = 13;
+ optional bool field10788 = 15;
+ optional bool field10789 = 16;
+ optional int32 field10790 = 17;
+ optional int32 field10791 = 18;
+ optional bool field10792 = 19;
+ optional bool field10793 = 20;
+ optional bool field10794 = 21;
+ optional .benchmarks.google_message3.UnusedEnum field10795 = 14;
+ optional .benchmarks.google_message3.UnusedEnum field10796 = 22;
+}
+
+message Message13145 {
+ required .benchmarks.google_message3.Enum13146 field13155 = 1;
+ optional float field13156 = 2;
+ optional float field13157 = 3;
+ extensions 1000 to 536870911;
+}
+
+message Message16686 {
+}
+
+message Message12796 {
+ repeated fixed64 field12800 = 1;
+ optional uint64 field12801 = 2;
+}
+
+message Message6722 {
+}
+
+message Message6727 {
+}
+
+message Message6724 {
+}
+
+message Message6735 {
+}
+
+message Message8183 {
+ optional string field8226 = 1;
+ optional string field8227 = 2;
+}
+
+message Message8301 {
+ optional string field8328 = 1;
+ optional .benchmarks.google_message3.Message7966 field8329 = 2;
+ optional string field8330 = 3;
+ optional string field8331 = 4;
+ repeated .benchmarks.google_message3.Message8290 field8332 = 5;
+ optional .benchmarks.google_message3.Message7966 field8333 = 6;
+ repeated .benchmarks.google_message3.Message8298 field8334 = 7;
+ optional .benchmarks.google_message3.Message8300 field8335 = 8;
+ optional int64 field8336 = 9;
+ optional .benchmarks.google_message3.UnusedEmptyMessage field8337 = 10;
+ optional .benchmarks.google_message3.Message7965 field8338 = 11;
+ extensions 64 to 536870911;
+}
+
+message Message8456 {
+}
+
+message Message8302 {
+ optional string field8339 = 1;
+ optional .benchmarks.google_message3.Message7966 field8340 = 2;
+ optional string field8341 = 3;
+ optional string field8342 = 4;
+ optional string field8343 = 5;
+ optional string field8344 = 6;
+ optional string field8345 = 7;
+ optional int64 field8346 = 8;
+ optional int64 field8347 = 9;
+ repeated .benchmarks.google_message3.Message8290 field8348 = 10;
+ optional string field8349 = 11;
+ optional .benchmarks.google_message3.UnusedEmptyMessage field8350 = 12;
+ optional .benchmarks.google_message3.Message8291 field8351 = 13;
+ optional int64 field8352 = 14;
+ optional .benchmarks.google_message3.Message8296 field8353 = 15;
+ optional string field8354 = 16;
+ optional .benchmarks.google_message3.UnusedEmptyMessage field8355 = 17;
+ repeated int32 field8356 = 18;
+ repeated int32 field8357 = 19;
+ repeated .benchmarks.google_message3.UnusedEmptyMessage field8358 = 20;
+ optional .benchmarks.google_message3.Message7965 field8359 = 21;
+ extensions 64 to 536870911;
+}
+
+message Message8457 {
+}
+
+message Message8449 {
+ optional string field8458 = 1;
+ optional bool field8459 = 2;
+ optional .benchmarks.google_message3.Enum8450 field8460 = 3;
+ repeated string field8461 = 4;
+ optional string field8462 = 5;
+ optional string field8463 = 6;
+ optional .benchmarks.google_message3.Message7966 field8464 = 7;
+}
+
+message Message13358 {
+ required fixed64 field13359 = 1;
+ required fixed64 field13360 = 2;
+ optional .benchmarks.google_message3.UnusedEmptyMessage field13361 = 3;
+}
+
+message Message13912 {
+ required fixed32 field13913 = 1;
+ required fixed32 field13914 = 2;
+ optional .benchmarks.google_message3.UnusedEmptyMessage field13915 = 500;
+ optional .benchmarks.google_message3.UnusedEmptyMessage field13916 = 15;
+}
+
+message Message24316 {
+ repeated string field24443 = 1;
+ repeated string field24444 = 2;
+ repeated string field24445 = 3;
+}
+
+message Message24312 {
+ optional string field24421 = 1;
+ optional string field24422 = 2;
+ repeated string field24423 = 3;
+ repeated string field24424 = 4;
+ repeated string field24425 = 5;
+ repeated string field24426 = 6;
+}
+
+message Message24313 {
+ optional string field24427 = 1;
+ optional string field24428 = 2;
+ repeated string field24429 = 3;
+ optional string field24430 = 4;
+ optional string field24431 = 5;
+ optional string field24432 = 6;
+ optional string field24433 = 7;
+ repeated string field24434 = 8;
+ optional string field24435 = 9;
+ repeated string field24436 = 10;
+}
+
+message Message24315 {
+ required string field24440 = 1;
+ repeated string field24441 = 2;
+ repeated string field24442 = 3;
+}
+
+message Message716 {
+ required string field872 = 1;
+ required int32 field873 = 2;
+ optional bool field874 = 3;
+ optional .benchmarks.google_message3.Message717 field875 = 4;
+}
+
+message Message718 {
+ repeated string field878 = 1;
+ repeated string field879 = 2;
+ optional string field880 = 3;
+}
+
+message Message703 {
+ required string field795 = 1;
+ repeated string field796 = 2;
+ repeated string field797 = 3;
+ optional string field798 = 4;
+ repeated string field799 = 5;
+}
+
+message Message715 {
+ required string field859 = 1;
+ optional string field860 = 7;
+ repeated .benchmarks.google_message3.Message707 field861 = 2;
+ repeated .benchmarks.google_message3.Message708 field862 = 3;
+ repeated .benchmarks.google_message3.Message711 field863 = 4;
+ repeated .benchmarks.google_message3.Message712 field864 = 5;
+ repeated .benchmarks.google_message3.Message713 field865 = 6;
+ repeated .benchmarks.google_message3.Message714 field866 = 8;
+ repeated .benchmarks.google_message3.Message710 field867 = 9;
+ repeated .benchmarks.google_message3.Message709 field868 = 10;
+ repeated .benchmarks.google_message3.Message705 field869 = 11;
+ repeated .benchmarks.google_message3.Message702 field870 = 12;
+ repeated .benchmarks.google_message3.Message706 field871 = 13;
+}
+
+message Message700 {
+ repeated string field789 = 1;
+ repeated string field790 = 2;
+}
+
+message Message699 {
+ required string field787 = 1;
+ repeated string field788 = 2;
+}
+
+message Message698 {
+ optional string field779 = 1;
+ optional string field780 = 2;
+ optional string field781 = 3;
+ optional string field782 = 4;
+ optional uint64 field783 = 5;
+ optional uint32 field784 = 6;
+ optional int64 field785 = 7;
+ repeated string field786 = 8;
+}
+
diff --git a/benchmarks/datasets/google_message3/benchmark_message3_6.proto b/benchmarks/datasets/google_message3/benchmark_message3_6.proto
new file mode 100644
index 00000000..98e1529e
--- /dev/null
+++ b/benchmarks/datasets/google_message3/benchmark_message3_6.proto
@@ -0,0 +1,454 @@
+syntax = "proto2";
+
+import "datasets/google_message3/benchmark_message3_7.proto";
+import "datasets/google_message3/benchmark_message3_8.proto";
+package benchmarks.google_message3;
+
+option cc_enable_arenas = true;
+option java_package = "com.google.protobuf.benchmarks";
+
+message Message10576 {
+}
+
+message Message10154 {
+ optional bytes field10192 = 1;
+ optional int32 field10193 = 2;
+}
+
+message Message8944 {
+ optional string field9045 = 2;
+ optional string field9046 = 3;
+ optional string field9047 = 23;
+ optional string field9048 = 52;
+ optional int32 field9049 = 53;
+ optional int32 field9050 = 54;
+ optional float field9051 = 55;
+ optional float field9052 = 56;
+ optional string field9053 = 57;
+ optional int64 field9054 = 1;
+ optional bool field9055 = 4;
+ optional int32 field9056 = 5;
+ optional int32 field9057 = 6;
+ optional int32 field9058 = 7;
+ optional float field9059 = 8;
+ optional float field9060 = 11;
+ optional float field9061 = 9;
+ optional float field9062 = 10;
+ optional float field9063 = 13;
+ optional bool field9064 = 14;
+ optional float field9065 = 70;
+ optional int32 field9066 = 71;
+ optional .benchmarks.google_message3.Enum8945 field9067 = 15;
+ optional int32 field9068 = 16;
+ optional int32 field9069 = 17;
+ optional float field9070 = 18;
+ optional float field9071 = 19;
+ optional int32 field9072 = 28;
+ optional int32 field9073 = 29;
+ optional float field9074 = 60;
+ optional float field9075 = 61;
+ optional int32 field9076 = 72;
+ optional int32 field9077 = 73;
+ optional .benchmarks.google_message3.Enum8951 field9078 = 62;
+ optional string field9079 = 20;
+ optional string field9080 = 21;
+ optional string field9081 = 22;
+ optional double field9082 = 31;
+ optional double field9083 = 32;
+ optional double field9084 = 33;
+ optional double field9085 = 36;
+ optional .benchmarks.google_message3.UnusedEnum field9086 = 37;
+ optional double field9087 = 38;
+ optional double field9088 = 39;
+ optional double field9089 = 63;
+ optional double field9090 = 64;
+ optional double field9091 = 65;
+ optional double field9092 = 34;
+ optional .benchmarks.google_message3.UnusedEnum field9093 = 35;
+ optional .benchmarks.google_message3.UnusedEnum field9094 = 66;
+ optional string field9095 = 40;
+ optional string field9096 = 41;
+ optional string field9097 = 42;
+ optional string field9098 = 43;
+ optional string field9099 = 44;
+ optional string field9100 = 45;
+ optional string field9101 = 46;
+ optional string field9102 = 47;
+ optional string field9103 = 48;
+ optional string field9104 = 49;
+ optional .benchmarks.google_message3.Message8939 field9105 = 100;
+ optional int64 field9106 = 101;
+}
+
+message Message9182 {
+ optional string field9205 = 1;
+ optional string field9206 = 2;
+ optional float field9207 = 16;
+ optional int32 field9208 = 17;
+ optional int32 field9209 = 27;
+ optional int32 field9210 = 7;
+ optional int32 field9211 = 8;
+ optional float field9212 = 26;
+ optional float field9213 = 22;
+ optional bool field9214 = 28;
+ repeated .benchmarks.google_message3.UnusedEmptyMessage field9215 = 21;
+ repeated .benchmarks.google_message3.UnusedEmptyMessage field9216 = 25;
+ repeated .benchmarks.google_message3.Message9181 field9217 = 29;
+ optional bool field9218 = 18;
+ optional bool field9219 = 19;
+ optional bool field9220 = 20;
+ optional .benchmarks.google_message3.Message9164 field9221 = 30;
+ optional .benchmarks.google_message3.Message9165 field9222 = 31;
+ optional .benchmarks.google_message3.Message9166 field9223 = 32;
+ optional float field9224 = 33;
+ optional .benchmarks.google_message3.Message9151 field9225 = 34;
+ optional float field9226 = 35;
+ optional float field9227 = 36;
+ optional float field9228 = 37;
+ optional float field9229 = 38;
+ optional float field9230 = 39;
+ extensions 3 to 6;
+ extensions 9 to 15;
+ extensions 23 to 23;
+ extensions 24 to 24;
+ extensions 1000 to 536870911;
+}
+
+message Message9160 {
+ optional int32 field9161 = 1;
+ optional bytes field9162 = 2;
+}
+
+message Message9242 {
+ repeated .benchmarks.google_message3.Enum9243 field9327 = 1;
+}
+
+message Message8890 {
+ repeated .benchmarks.google_message3.Message8888 field8916 = 1;
+}
+
+message Message9123 {
+ optional float field9135 = 1;
+}
+
+message Message9628 {
+ optional .benchmarks.google_message3.Message9627 field9673 = 1;
+ optional string field9674 = 2;
+ repeated int32 field9675 = 3;
+ optional int32 field9676 = 4;
+}
+
+message Message11014 {
+ optional int32 field11780 = 40;
+ optional string field11781 = 46;
+ optional bool field11782 = 47;
+ optional .benchmarks.google_message3.Enum11107 field11783 = 1;
+ optional int32 field11784 = 2;
+ optional double field11785 = 4;
+ optional int32 field11786 = 5;
+ optional int32 field11787 = 6;
+ optional double field11788 = 7;
+ optional double field11789 = 8;
+ optional int64 field11790 = 9;
+ optional bool field11791 = 10;
+ optional int64 field11792 = 28;
+ optional bool field11793 = 37;
+ optional .benchmarks.google_message3.Enum11541 field11794 = 44;
+ optional double field11795 = 49;
+ optional double field11796 = 51;
+ optional int64 field11797 = 54;
+ optional int64 field11798 = 55;
+ optional .benchmarks.google_message3.UnusedEnum field11799 = 57;
+ optional .benchmarks.google_message3.Enum11468 field11800 = 58;
+ optional int32 field11801 = 59;
+ optional .benchmarks.google_message3.UnusedEnum field11802 = 60;
+ optional int32 field11803 = 61;
+ optional int32 field11804 = 62;
+ optional int32 field11805 = 69;
+ optional .benchmarks.google_message3.UnusedEmptyMessage field11806 = 68;
+ repeated .benchmarks.google_message3.Message11018 field11807 = 71;
+ optional bool field11808 = 50;
+ optional bool field11809 = 56;
+ optional bool field11810 = 66;
+ optional bool field11811 = 63;
+ optional bool field11812 = 64;
+ optional bool field11813 = 65;
+ optional bool field11814 = 67;
+ optional .benchmarks.google_message3.Enum11107 field11815 = 15;
+ optional int64 field11816 = 16;
+ optional double field11817 = 17;
+ optional int64 field11818 = 18;
+ optional int32 field11819 = 19;
+ optional int64 field11820 = 20;
+ optional int32 field11821 = 42;
+ optional int64 field11822 = 52;
+ optional int64 field11823 = 53;
+ optional int64 field11824 = 41;
+ optional double field11825 = 48;
+ repeated .benchmarks.google_message3.Message11020 field11826 = 70;
+ repeated .benchmarks.google_message3.UnusedEmptyMessage field11827 = 72;
+ optional double field11828 = 25;
+ optional string field11829 = 26;
+ optional int64 field11830 = 27;
+ optional int64 field11831 = 32;
+ optional uint64 field11832 = 33;
+ optional bool field11833 = 29;
+ optional bool field11834 = 34;
+ optional string field11835 = 30;
+ optional int32 field11836 = 3;
+ optional int32 field11837 = 31;
+ optional int32 field11838 = 73;
+ optional int32 field11839 = 35;
+ optional .benchmarks.google_message3.Enum11022 field11840 = 36;
+ optional .benchmarks.google_message3.Message11013 field11841 = 38;
+ optional double field11842 = 39;
+ optional int32 field11843 = 45;
+ optional bool field11844 = 74;
+}
+
+message Message10801 {
+ optional .benchmarks.google_message3.Message10800 field10812 = 1;
+ repeated .benchmarks.google_message3.Message10802 field10813 = 2;
+ optional int32 field10814 = 3;
+}
+
+message Message10749 {
+ repeated .benchmarks.google_message3.Message10748 field10754 = 1;
+}
+
+message Message8298 {
+ optional .benchmarks.google_message3.Message7966 field8321 = 1;
+ optional int64 field8322 = 2;
+ optional string field8323 = 3;
+}
+
+message Message8300 {
+ optional string field8326 = 1;
+ optional .benchmarks.google_message3.Message7966 field8327 = 2;
+}
+
+message Message8291 {
+ optional string field8306 = 1;
+ optional int32 field8307 = 2;
+ optional string field8308 = 3;
+ optional string field8309 = 4;
+ optional .benchmarks.google_message3.Enum8292 field8310 = 5;
+}
+
+message Message8296 {
+ optional .benchmarks.google_message3.Message7966 field8311 = 1;
+ optional string field8312 = 2;
+ optional .benchmarks.google_message3.Message7966 field8313 = 3;
+ optional int32 field8314 = 4;
+ optional int32 field8315 = 5;
+ optional string field8316 = 6;
+}
+
+message Message7965 {
+ optional int32 field7967 = 1;
+ optional int32 field7968 = 2;
+}
+
+message Message8290 {
+ optional string field8304 = 1;
+ optional string field8305 = 2;
+}
+
+message Message717 {
+ repeated string field876 = 1;
+ optional double field877 = 2;
+}
+
+message Message713 {
+ required .benchmarks.google_message3.Message708 field852 = 1;
+ repeated string field853 = 2;
+}
+
+message Message705 {
+ required string field807 = 1;
+ optional string field808 = 2;
+ optional string field809 = 3;
+ optional bool field810 = 4;
+ optional string field811 = 5;
+ optional string field812 = 6;
+ repeated string field813 = 7;
+}
+
+message Message709 {
+ repeated string field829 = 1;
+ repeated string field830 = 2;
+ repeated string field831 = 3;
+ repeated string field832 = 4;
+ repeated string field833 = 5;
+}
+
+message Message702 {
+ optional string field793 = 1;
+ optional string field794 = 2;
+}
+
+message Message714 {
+ optional string field854 = 1;
+ optional string field855 = 2;
+ optional string field856 = 3;
+ optional string field857 = 4;
+ optional uint32 field858 = 5;
+}
+
+message Message710 {
+ repeated string field834 = 1;
+ optional string field835 = 2;
+ optional string field836 = 3;
+ repeated string field837 = 4;
+ repeated string field838 = 5;
+}
+
+message Message706 {
+ repeated string field814 = 1;
+ optional string field815 = 2;
+ repeated string field816 = 3;
+ repeated string field817 = 4;
+}
+
+message Message707 {
+ required string field818 = 1;
+ required string field819 = 2;
+ required string field820 = 3;
+ optional bool field821 = 4;
+ repeated string field822 = 5;
+}
+
+message Message711 {
+ optional .benchmarks.google_message3.UnusedEmptyMessage field839 = 1;
+ repeated string field840 = 4;
+ repeated string field841 = 2;
+ repeated string field842 = 3;
+}
+
+message Message712 {
+ repeated string field843 = 1;
+ required string field844 = 2;
+ optional string field845 = 3;
+ repeated string field846 = 4;
+ repeated string field847 = 5;
+ optional string field848 = 6;
+ repeated string field849 = 7;
+ optional string field850 = 8;
+ optional string field851 = 9;
+}
+
+message Message8939 {
+ optional string field9010 = 1;
+ optional string field9011 = 2;
+ optional string field9012 = 3;
+ repeated string field9013 = 4;
+ optional string field9014 = 5;
+ repeated group Message8940 = 11 {
+ }
+ optional int64 field9016 = 21;
+ optional int64 field9017 = 22;
+ optional int64 field9018 = 23;
+ optional group Message8941 = 31 {
+ optional string field9033 = 32;
+ optional string field9034 = 33;
+ optional string field9035 = 34;
+ optional string field9036 = 35;
+ optional string field9037 = 36;
+ optional string field9038 = 37;
+ }
+ optional .benchmarks.google_message3.Message8942 field9020 = 38;
+ repeated .benchmarks.google_message3.UnusedEmptyMessage field9021 = 39;
+ repeated string field9022 = 41;
+ optional string field9023 = 42;
+ optional string field9024 = 43;
+ optional string field9025 = 44;
+ optional string field9026 = 45;
+ optional string field9027 = 46;
+ optional string field9028 = 47;
+ optional .benchmarks.google_message3.UnusedEnum field9029 = 48;
+ optional .benchmarks.google_message3.UnusedEnum field9030 = 49;
+ optional group Message8943 = 51 {
+ optional string field9039 = 1;
+ optional string field9040 = 2;
+ optional string field9041 = 3;
+ optional string field9042 = 4;
+ optional string field9043 = 5;
+ optional string field9044 = 6;
+ }
+}
+
+message Message9181 {
+ optional string field9204 = 1;
+}
+
+message Message9164 {
+ optional int32 field9168 = 1;
+ optional int32 field9169 = 2;
+ optional int32 field9170 = 3;
+}
+
+message Message9165 {
+ optional float field9171 = 1;
+ optional float field9172 = 2;
+}
+
+message Message9166 {
+ optional float field9173 = 1;
+ optional int32 field9174 = 2;
+}
+
+message Message9151 {
+ optional double field9152 = 1;
+ optional double field9153 = 2;
+ optional float field9154 = 3;
+ optional float field9155 = 4;
+ optional float field9156 = 5;
+ optional float field9157 = 6;
+ optional float field9158 = 7;
+ optional float field9159 = 8;
+}
+
+message Message8888 {
+ optional int32 field8908 = 1;
+ optional .benchmarks.google_message3.Enum8900 field8909 = 4;
+ repeated int32 field8910 = 2 [packed = true];
+ optional bytes field8911 = 3;
+}
+
+message Message9627 {
+ required int32 field9668 = 1;
+ required int32 field9669 = 2;
+ required int32 field9670 = 3;
+ required int32 field9671 = 4;
+ optional float field9672 = 5;
+}
+
+message Message11020 {
+}
+
+message Message11013 {
+ optional bytes field11757 = 19;
+ optional bytes field11758 = 1;
+ optional bytes field11759 = 2;
+ optional bytes field11760 = 3;
+ optional bytes field11761 = 4;
+ optional bytes field11762 = 5;
+ optional bytes field11763 = 6;
+ optional bytes field11764 = 7;
+ optional bytes field11765 = 8;
+ optional bytes field11766 = 9;
+ optional bytes field11767 = 10;
+ optional bytes field11768 = 11;
+ optional bytes field11769 = 12;
+ optional bytes field11770 = 13;
+ optional bytes field11771 = 14;
+ optional bytes field11772 = 15;
+ optional bytes field11773 = 16;
+ optional bytes field11774 = 17;
+ optional bytes field11775 = 18;
+ optional bytes field11776 = 20;
+ optional bytes field11777 = 21;
+ optional .benchmarks.google_message3.UnusedEmptyMessage field11778 = 23;
+ repeated .benchmarks.google_message3.Message11011 field11779 = 22;
+}
+
diff --git a/benchmarks/datasets/google_message3/benchmark_message3_7.proto b/benchmarks/datasets/google_message3/benchmark_message3_7.proto
new file mode 100644
index 00000000..2497db5e
--- /dev/null
+++ b/benchmarks/datasets/google_message3/benchmark_message3_7.proto
@@ -0,0 +1,56 @@
+syntax = "proto2";
+
+package benchmarks.google_message3;
+
+option cc_enable_arenas = true;
+option java_package = "com.google.protobuf.benchmarks";
+
+message Message11018 {
+}
+
+message Message10800 {
+ optional string field10808 = 1;
+ optional int64 field10809 = 2;
+ optional bool field10810 = 3;
+ optional float field10811 = 4;
+}
+
+message Message10802 {
+}
+
+message Message10748 {
+ optional string field10750 = 1;
+ optional int32 field10751 = 2;
+ optional int32 field10752 = 3;
+ optional int32 field10753 = 4;
+}
+
+message Message7966 {
+ optional string field7969 = 1;
+ optional bool field7970 = 2;
+}
+
+message Message708 {
+ optional .benchmarks.google_message3.Message741 field823 = 1;
+ repeated string field824 = 6;
+ optional string field825 = 2;
+ optional string field826 = 3;
+ repeated string field827 = 4;
+ repeated string field828 = 5;
+}
+
+message Message8942 {
+}
+
+message Message11011 {
+ required bytes field11752 = 1;
+ required bytes field11753 = 2;
+}
+
+message UnusedEmptyMessage {
+}
+
+message Message741 {
+ repeated string field936 = 1;
+}
+
diff --git a/benchmarks/datasets/google_message3/benchmark_message3_8.proto b/benchmarks/datasets/google_message3/benchmark_message3_8.proto
new file mode 100644
index 00000000..1d2b1472
--- /dev/null
+++ b/benchmarks/datasets/google_message3/benchmark_message3_8.proto
@@ -0,0 +1,1900 @@
+syntax = "proto2";
+
+package benchmarks.google_message3;
+
+option cc_enable_arenas = true;
+option java_package = "com.google.protobuf.benchmarks";
+
+enum Enum720 {
+ ENUM_VALUE721 = 1;
+ ENUM_VALUE722 = 2;
+}
+
+enum Enum3476 {
+ ENUM_VALUE3477 = 0;
+ ENUM_VALUE3478 = 1;
+ ENUM_VALUE3479 = 2;
+ ENUM_VALUE3480 = 3;
+ ENUM_VALUE3481 = 4;
+ ENUM_VALUE3482 = 5;
+ ENUM_VALUE3483 = 6;
+ ENUM_VALUE3484 = 7;
+ ENUM_VALUE3485 = 8;
+ ENUM_VALUE3486 = 9;
+ ENUM_VALUE3487 = 10;
+ ENUM_VALUE3488 = 11;
+ ENUM_VALUE3489 = 12;
+ ENUM_VALUE3490 = 13;
+ ENUM_VALUE3491 = 14;
+ ENUM_VALUE3492 = 15;
+ ENUM_VALUE3493 = 16;
+ ENUM_VALUE3494 = 17;
+ ENUM_VALUE3495 = 18;
+ ENUM_VALUE3496 = 19;
+ ENUM_VALUE3497 = 20;
+ ENUM_VALUE3498 = 21;
+ ENUM_VALUE3499 = 22;
+ ENUM_VALUE3500 = 23;
+ ENUM_VALUE3501 = 24;
+ ENUM_VALUE3502 = 25;
+ ENUM_VALUE3503 = 26;
+ ENUM_VALUE3504 = 27;
+ ENUM_VALUE3505 = 28;
+ ENUM_VALUE3506 = 29;
+ ENUM_VALUE3507 = 30;
+ ENUM_VALUE3508 = 31;
+ ENUM_VALUE3509 = 32;
+ ENUM_VALUE3510 = 33;
+ ENUM_VALUE3511 = 34;
+ ENUM_VALUE3512 = 35;
+ ENUM_VALUE3513 = 36;
+ ENUM_VALUE3514 = 37;
+ ENUM_VALUE3515 = 38;
+ ENUM_VALUE3516 = 39;
+ ENUM_VALUE3517 = 40;
+ ENUM_VALUE3518 = 41;
+ ENUM_VALUE3519 = 42;
+ ENUM_VALUE3520 = 43;
+ ENUM_VALUE3521 = 44;
+ ENUM_VALUE3522 = 45;
+ ENUM_VALUE3523 = 46;
+ ENUM_VALUE3524 = 47;
+ ENUM_VALUE3525 = 48;
+ ENUM_VALUE3526 = 49;
+ ENUM_VALUE3527 = 50;
+ ENUM_VALUE3528 = 51;
+ ENUM_VALUE3529 = 52;
+ ENUM_VALUE3530 = 53;
+ ENUM_VALUE3531 = 54;
+ ENUM_VALUE3532 = 55;
+ ENUM_VALUE3533 = 56;
+ ENUM_VALUE3534 = 57;
+ ENUM_VALUE3535 = 58;
+ ENUM_VALUE3536 = 59;
+ ENUM_VALUE3537 = 60;
+ ENUM_VALUE3538 = 61;
+ ENUM_VALUE3539 = 62;
+ ENUM_VALUE3540 = 63;
+ ENUM_VALUE3541 = 64;
+ ENUM_VALUE3542 = 65;
+ ENUM_VALUE3543 = 66;
+ ENUM_VALUE3544 = 67;
+ ENUM_VALUE3545 = 68;
+ ENUM_VALUE3546 = 69;
+ ENUM_VALUE3547 = 70;
+ ENUM_VALUE3548 = 71;
+ ENUM_VALUE3549 = 72;
+ ENUM_VALUE3550 = 73;
+ ENUM_VALUE3551 = 74;
+ ENUM_VALUE3552 = 75;
+ ENUM_VALUE3553 = 76;
+ ENUM_VALUE3554 = 77;
+ ENUM_VALUE3555 = 78;
+ ENUM_VALUE3556 = 79;
+ ENUM_VALUE3557 = 80;
+ ENUM_VALUE3558 = 81;
+ ENUM_VALUE3559 = 82;
+ ENUM_VALUE3560 = 83;
+ ENUM_VALUE3561 = 84;
+ ENUM_VALUE3562 = 85;
+ ENUM_VALUE3563 = 86;
+ ENUM_VALUE3564 = 87;
+ ENUM_VALUE3565 = 88;
+ ENUM_VALUE3566 = 89;
+ ENUM_VALUE3567 = 90;
+ ENUM_VALUE3568 = 91;
+ ENUM_VALUE3569 = 92;
+ ENUM_VALUE3570 = 93;
+ ENUM_VALUE3571 = 94;
+ ENUM_VALUE3572 = 95;
+ ENUM_VALUE3573 = 96;
+ ENUM_VALUE3574 = 97;
+ ENUM_VALUE3575 = 98;
+ ENUM_VALUE3576 = 99;
+ ENUM_VALUE3577 = 100;
+ ENUM_VALUE3578 = 101;
+ ENUM_VALUE3579 = 102;
+ ENUM_VALUE3580 = 103;
+ ENUM_VALUE3581 = 104;
+ ENUM_VALUE3582 = 105;
+ ENUM_VALUE3583 = 106;
+ ENUM_VALUE3584 = 107;
+ ENUM_VALUE3585 = 108;
+ ENUM_VALUE3586 = 109;
+ ENUM_VALUE3587 = 110;
+ ENUM_VALUE3588 = 111;
+ ENUM_VALUE3589 = 112;
+ ENUM_VALUE3590 = 113;
+ ENUM_VALUE3591 = 114;
+ ENUM_VALUE3592 = 115;
+ ENUM_VALUE3593 = 116;
+ ENUM_VALUE3594 = 117;
+ ENUM_VALUE3595 = 118;
+ ENUM_VALUE3596 = 119;
+ ENUM_VALUE3597 = 120;
+ ENUM_VALUE3598 = 121;
+ ENUM_VALUE3599 = 122;
+ ENUM_VALUE3600 = 123;
+ ENUM_VALUE3601 = 124;
+ ENUM_VALUE3602 = 125;
+ ENUM_VALUE3603 = 126;
+ ENUM_VALUE3604 = 127;
+ ENUM_VALUE3605 = 128;
+ ENUM_VALUE3606 = 129;
+ ENUM_VALUE3607 = 130;
+ ENUM_VALUE3608 = 131;
+ ENUM_VALUE3609 = 132;
+ ENUM_VALUE3610 = 133;
+ ENUM_VALUE3611 = 134;
+ ENUM_VALUE3612 = 135;
+ ENUM_VALUE3613 = 136;
+ ENUM_VALUE3614 = 137;
+ ENUM_VALUE3615 = 138;
+ ENUM_VALUE3616 = 139;
+ ENUM_VALUE3617 = 140;
+ ENUM_VALUE3618 = 141;
+ ENUM_VALUE3619 = 142;
+ ENUM_VALUE3620 = 143;
+ ENUM_VALUE3621 = 144;
+ ENUM_VALUE3622 = 145;
+ ENUM_VALUE3623 = 146;
+ ENUM_VALUE3624 = 147;
+ ENUM_VALUE3625 = 148;
+ ENUM_VALUE3626 = 149;
+ ENUM_VALUE3627 = 150;
+ ENUM_VALUE3628 = 151;
+ ENUM_VALUE3629 = 152;
+ ENUM_VALUE3630 = 153;
+ ENUM_VALUE3631 = 154;
+ ENUM_VALUE3632 = 155;
+ ENUM_VALUE3633 = 156;
+ ENUM_VALUE3634 = 157;
+ ENUM_VALUE3635 = 158;
+ ENUM_VALUE3636 = 159;
+ ENUM_VALUE3637 = 160;
+ ENUM_VALUE3638 = 161;
+ ENUM_VALUE3639 = 162;
+ ENUM_VALUE3640 = 163;
+ ENUM_VALUE3641 = 164;
+ ENUM_VALUE3642 = 165;
+ ENUM_VALUE3643 = 166;
+ ENUM_VALUE3644 = 167;
+ ENUM_VALUE3645 = 168;
+ ENUM_VALUE3646 = 169;
+ ENUM_VALUE3647 = 170;
+ ENUM_VALUE3648 = 171;
+ ENUM_VALUE3649 = 172;
+ ENUM_VALUE3650 = 173;
+ ENUM_VALUE3651 = 174;
+ ENUM_VALUE3652 = 175;
+ ENUM_VALUE3653 = 176;
+ ENUM_VALUE3654 = 177;
+ ENUM_VALUE3655 = 178;
+ ENUM_VALUE3656 = 179;
+ ENUM_VALUE3657 = 180;
+ ENUM_VALUE3658 = 181;
+ ENUM_VALUE3659 = 182;
+ ENUM_VALUE3660 = 183;
+}
+
+enum Enum3805 {
+ ENUM_VALUE3806 = 0;
+ ENUM_VALUE3807 = 1;
+ ENUM_VALUE3808 = 2;
+ ENUM_VALUE3809 = 3;
+ ENUM_VALUE3810 = 4;
+ ENUM_VALUE3811 = 5;
+ ENUM_VALUE3812 = 6;
+ ENUM_VALUE3813 = 7;
+ ENUM_VALUE3814 = 8;
+ ENUM_VALUE3815 = 9;
+ ENUM_VALUE3816 = 11;
+ ENUM_VALUE3817 = 10;
+}
+
+enum Enum3783 {
+ ENUM_VALUE3784 = 0;
+ ENUM_VALUE3785 = 1;
+ ENUM_VALUE3786 = 2;
+ ENUM_VALUE3787 = 3;
+ ENUM_VALUE3788 = 4;
+ ENUM_VALUE3789 = 5;
+ ENUM_VALUE3790 = 6;
+ ENUM_VALUE3791 = 7;
+ ENUM_VALUE3792 = 8;
+ ENUM_VALUE3793 = 9;
+ ENUM_VALUE3794 = 10;
+ ENUM_VALUE3795 = 11;
+ ENUM_VALUE3796 = 12;
+ ENUM_VALUE3797 = 13;
+ ENUM_VALUE3798 = 14;
+ ENUM_VALUE3799 = 15;
+ ENUM_VALUE3800 = 16;
+ ENUM_VALUE3801 = 20;
+ ENUM_VALUE3802 = 21;
+ ENUM_VALUE3803 = 50;
+}
+
+enum Enum3851 {
+ ENUM_VALUE3852 = 0;
+ ENUM_VALUE3853 = 1;
+ ENUM_VALUE3854 = 2;
+ ENUM_VALUE3855 = 3;
+ ENUM_VALUE3856 = 4;
+ ENUM_VALUE3857 = 5;
+ ENUM_VALUE3858 = 6;
+ ENUM_VALUE3859 = 7;
+ ENUM_VALUE3860 = 8;
+ ENUM_VALUE3861 = 9;
+ ENUM_VALUE3862 = 10;
+ ENUM_VALUE3863 = 11;
+ ENUM_VALUE3864 = 12;
+ ENUM_VALUE3865 = 13;
+ ENUM_VALUE3866 = 14;
+ ENUM_VALUE3867 = 15;
+ ENUM_VALUE3868 = 16;
+ ENUM_VALUE3869 = 17;
+}
+
+enum UnusedEnum {
+ UNUSED_ENUM_VALUE1 = 0;
+ UNUSED_ENUM_VALUE2 = 1;
+}
+
+enum Enum4146 {
+ ENUM_VALUE4147 = 0;
+ ENUM_VALUE4148 = 1;
+ ENUM_VALUE4149 = 2;
+ ENUM_VALUE4150 = 3;
+ ENUM_VALUE4151 = 4;
+}
+
+enum Enum4160 {
+ ENUM_VALUE4161 = 0;
+ ENUM_VALUE4162 = 1;
+}
+
+enum Enum4152 {
+ ENUM_VALUE4153 = 0;
+ ENUM_VALUE4154 = 1;
+ ENUM_VALUE4155 = 2;
+ ENUM_VALUE4156 = 3;
+ ENUM_VALUE4157 = 4;
+ ENUM_VALUE4158 = 5;
+ ENUM_VALUE4159 = 6;
+}
+
+enum Enum6025 {
+ ENUM_VALUE6026 = 0;
+ ENUM_VALUE6027 = 1;
+ ENUM_VALUE6028 = 2;
+ ENUM_VALUE6029 = 3;
+ ENUM_VALUE6030 = 4;
+ ENUM_VALUE6031 = 5;
+ ENUM_VALUE6032 = 6;
+ ENUM_VALUE6033 = 7;
+ ENUM_VALUE6034 = 8;
+ ENUM_VALUE6035 = 9;
+ ENUM_VALUE6036 = 10;
+ ENUM_VALUE6037 = 11;
+ ENUM_VALUE6038 = 12;
+ ENUM_VALUE6039 = 13;
+ ENUM_VALUE6040 = 14;
+ ENUM_VALUE6041 = 15;
+ ENUM_VALUE6042 = 16;
+ ENUM_VALUE6043 = 17;
+ ENUM_VALUE6044 = 18;
+ ENUM_VALUE6045 = 19;
+ ENUM_VALUE6046 = 20;
+ ENUM_VALUE6047 = 21;
+}
+
+enum Enum6065 {
+ ENUM_VALUE6066 = 0;
+ ENUM_VALUE6067 = 1;
+ ENUM_VALUE6068 = 2;
+ ENUM_VALUE6069 = 3;
+ ENUM_VALUE6070 = 4;
+ ENUM_VALUE6071 = 5;
+ ENUM_VALUE6072 = 6;
+ ENUM_VALUE6073 = 7;
+ ENUM_VALUE6074 = 8;
+ ENUM_VALUE6075 = 9;
+ ENUM_VALUE6076 = 10;
+ ENUM_VALUE6077 = 11;
+ ENUM_VALUE6078 = 12;
+ ENUM_VALUE6079 = 13;
+ ENUM_VALUE6080 = 14;
+}
+
+enum Enum6579 {
+ ENUM_VALUE6580 = 0;
+ ENUM_VALUE6581 = 2;
+ ENUM_VALUE6582 = 3;
+ ENUM_VALUE6583 = 5;
+ ENUM_VALUE6584 = 10;
+ ENUM_VALUE6585 = 15;
+ ENUM_VALUE6586 = 25;
+ ENUM_VALUE6587 = 30;
+}
+
+enum Enum6588 {
+ ENUM_VALUE6589 = 0;
+ ENUM_VALUE6590 = 1;
+ ENUM_VALUE6591 = 2;
+ ENUM_VALUE6592 = 3;
+ ENUM_VALUE6593 = 4;
+ ENUM_VALUE6594 = 5;
+ ENUM_VALUE6595 = 6;
+ ENUM_VALUE6596 = 7;
+ ENUM_VALUE6597 = 8;
+ ENUM_VALUE6598 = 9;
+ ENUM_VALUE6599 = 10;
+ ENUM_VALUE6600 = 11;
+ ENUM_VALUE6601 = 12;
+ ENUM_VALUE6602 = 13;
+ ENUM_VALUE6603 = 14;
+ ENUM_VALUE6604 = 15;
+ ENUM_VALUE6605 = 16;
+ ENUM_VALUE6606 = 17;
+ ENUM_VALUE6607 = 19;
+ ENUM_VALUE6608 = 20;
+ ENUM_VALUE6609 = 21;
+ ENUM_VALUE6610 = 22;
+ ENUM_VALUE6611 = 23;
+ ENUM_VALUE6612 = 24;
+ ENUM_VALUE6613 = 25;
+ ENUM_VALUE6614 = 26;
+ ENUM_VALUE6615 = 27;
+ ENUM_VALUE6616 = 28;
+ ENUM_VALUE6617 = 29;
+ ENUM_VALUE6618 = 30;
+ ENUM_VALUE6619 = 31;
+ ENUM_VALUE6620 = 32;
+ ENUM_VALUE6621 = 33;
+ ENUM_VALUE6622 = 34;
+}
+
+enum Enum6769 {
+ ENUM_VALUE6770 = 0;
+ ENUM_VALUE6771 = 1;
+ ENUM_VALUE6772 = 2;
+}
+
+enum Enum6774 {
+ ENUM_VALUE6775 = 0;
+ ENUM_VALUE6776 = 1;
+ ENUM_VALUE6777 = 2;
+ ENUM_VALUE6778 = 3;
+ ENUM_VALUE6779 = 4;
+ ENUM_VALUE6780 = 5;
+ ENUM_VALUE6781 = 6;
+}
+
+enum Enum6782 {
+ ENUM_VALUE6783 = 0;
+ ENUM_VALUE6784 = 1;
+ ENUM_VALUE6785 = 2;
+ ENUM_VALUE6786 = 3;
+ ENUM_VALUE6787 = 4;
+ ENUM_VALUE6788 = 5;
+}
+
+enum Enum6858 {
+ ENUM_VALUE6859 = 1;
+ ENUM_VALUE6860 = 2;
+ ENUM_VALUE6861 = 3;
+ ENUM_VALUE6862 = 4;
+}
+
+enum Enum6815 {
+ ENUM_VALUE6816 = 0;
+ ENUM_VALUE6817 = 1;
+ ENUM_VALUE6818 = 2;
+ ENUM_VALUE6819 = 3;
+ ENUM_VALUE6820 = 4;
+ ENUM_VALUE6821 = 5;
+}
+
+enum Enum6822 {
+ ENUM_VALUE6823 = 0;
+ ENUM_VALUE6824 = 1;
+ ENUM_VALUE6825 = 2;
+ ENUM_VALUE6826 = 3;
+}
+
+enum Enum7654 {
+ ENUM_VALUE7655 = 1;
+ ENUM_VALUE7656 = 2;
+ ENUM_VALUE7657 = 3;
+}
+
+enum Enum8292 {
+ ENUM_VALUE8293 = 0;
+ ENUM_VALUE8294 = 1;
+ ENUM_VALUE8295 = 2;
+}
+
+enum Enum8450 {
+ ENUM_VALUE8451 = 0;
+ ENUM_VALUE8452 = 1;
+ ENUM_VALUE8453 = 2;
+}
+
+enum Enum8900 {
+ ENUM_VALUE8901 = 0;
+ ENUM_VALUE8902 = 1;
+ ENUM_VALUE8903 = 2;
+ ENUM_VALUE8904 = 3;
+ ENUM_VALUE8905 = 4;
+}
+
+enum Enum8945 {
+ ENUM_VALUE8946 = 0;
+ ENUM_VALUE8947 = 1;
+ ENUM_VALUE8948 = 2;
+ ENUM_VALUE8949 = 3;
+ ENUM_VALUE8950 = 4;
+}
+
+enum Enum8951 {
+ ENUM_VALUE8952 = 1;
+ ENUM_VALUE8953 = 2;
+ ENUM_VALUE8954 = 3;
+ ENUM_VALUE8955 = 4;
+ ENUM_VALUE8956 = 5;
+ ENUM_VALUE8957 = 6;
+ ENUM_VALUE8958 = 7;
+ ENUM_VALUE8959 = 8;
+}
+
+enum Enum9243 {
+ ENUM_VALUE9244 = -1;
+ ENUM_VALUE9245 = 0;
+ ENUM_VALUE9246 = 1;
+ ENUM_VALUE9247 = 2;
+ ENUM_VALUE9248 = 3;
+ ENUM_VALUE9249 = 4;
+ ENUM_VALUE9250 = 5;
+ ENUM_VALUE9251 = 6;
+ ENUM_VALUE9252 = 7;
+ ENUM_VALUE9253 = 8;
+ ENUM_VALUE9254 = 9;
+ ENUM_VALUE9255 = 10;
+ ENUM_VALUE9256 = 11;
+ ENUM_VALUE9257 = 12;
+ ENUM_VALUE9258 = 13;
+ ENUM_VALUE9259 = 14;
+ ENUM_VALUE9260 = 15;
+ ENUM_VALUE9261 = 16;
+ ENUM_VALUE9262 = 17;
+ ENUM_VALUE9263 = 71;
+ ENUM_VALUE9264 = 72;
+ ENUM_VALUE9265 = 73;
+ ENUM_VALUE9266 = 74;
+ ENUM_VALUE9267 = 18;
+ ENUM_VALUE9268 = 20;
+ ENUM_VALUE9269 = 21;
+ ENUM_VALUE9270 = 22;
+ ENUM_VALUE9271 = 23;
+ ENUM_VALUE9272 = 61;
+ ENUM_VALUE9273 = 62;
+ ENUM_VALUE9274 = 63;
+ ENUM_VALUE9275 = 64;
+ ENUM_VALUE9276 = 66;
+ ENUM_VALUE9277 = 67;
+ ENUM_VALUE9278 = 24;
+ ENUM_VALUE9279 = 25;
+ ENUM_VALUE9280 = 26;
+ ENUM_VALUE9281 = 27;
+ ENUM_VALUE9282 = 28;
+ ENUM_VALUE9283 = 29;
+ ENUM_VALUE9284 = 30;
+ ENUM_VALUE9285 = 31;
+ ENUM_VALUE9286 = 32;
+ ENUM_VALUE9287 = 33;
+ ENUM_VALUE9288 = 34;
+ ENUM_VALUE9289 = 35;
+ ENUM_VALUE9290 = 36;
+ ENUM_VALUE9291 = 37;
+ ENUM_VALUE9292 = 38;
+ ENUM_VALUE9293 = 39;
+ ENUM_VALUE9294 = 40;
+ ENUM_VALUE9295 = 41;
+ ENUM_VALUE9296 = 42;
+ ENUM_VALUE9297 = 43;
+ ENUM_VALUE9298 = 44;
+ ENUM_VALUE9299 = 45;
+ ENUM_VALUE9300 = 46;
+ ENUM_VALUE9301 = 47;
+ ENUM_VALUE9302 = 48;
+ ENUM_VALUE9303 = 49;
+ ENUM_VALUE9304 = 50;
+ ENUM_VALUE9305 = 51;
+ ENUM_VALUE9306 = 52;
+ ENUM_VALUE9307 = 53;
+ ENUM_VALUE9308 = 54;
+ ENUM_VALUE9309 = 55;
+ ENUM_VALUE9310 = 56;
+ ENUM_VALUE9311 = 57;
+ ENUM_VALUE9312 = 58;
+ ENUM_VALUE9313 = 59;
+ ENUM_VALUE9314 = 60;
+ ENUM_VALUE9315 = 68;
+ ENUM_VALUE9316 = 69;
+ ENUM_VALUE9317 = 70;
+ ENUM_VALUE9318 = 1000;
+ ENUM_VALUE9319 = 1001;
+ ENUM_VALUE9320 = 1002;
+ ENUM_VALUE9321 = 1003;
+ ENUM_VALUE9322 = 1004;
+ ENUM_VALUE9323 = 1005;
+ ENUM_VALUE9324 = 1006;
+ ENUM_VALUE9325 = 1007;
+ ENUM_VALUE9326 = 65;
+}
+
+enum Enum10157 {
+ ENUM_VALUE10158 = 0;
+ ENUM_VALUE10159 = 1;
+ ENUM_VALUE10160 = 2;
+ ENUM_VALUE10161 = 3;
+ ENUM_VALUE10162 = 4;
+ ENUM_VALUE10163 = 5;
+ ENUM_VALUE10164 = 6;
+ ENUM_VALUE10165 = 7;
+ ENUM_VALUE10166 = 8;
+}
+
+enum Enum10167 {
+ ENUM_VALUE10168 = 0;
+ ENUM_VALUE10169 = 1;
+ ENUM_VALUE10170 = 2;
+ ENUM_VALUE10171 = 3;
+ ENUM_VALUE10172 = 4;
+ ENUM_VALUE10173 = 5;
+ ENUM_VALUE10174 = 6;
+ ENUM_VALUE10175 = 7;
+ ENUM_VALUE10176 = 8;
+}
+
+enum Enum8862 {
+ ENUM_VALUE8863 = 0;
+ ENUM_VALUE8864 = 1;
+ ENUM_VALUE8865 = 2;
+ ENUM_VALUE8866 = 3;
+ ENUM_VALUE8867 = 4;
+ ENUM_VALUE8868 = 5;
+ ENUM_VALUE8869 = 6;
+ ENUM_VALUE8870 = 7;
+ ENUM_VALUE8871 = 13;
+ ENUM_VALUE8872 = 14;
+ ENUM_VALUE8873 = 8;
+ ENUM_VALUE8874 = 9;
+ ENUM_VALUE8875 = 10;
+ ENUM_VALUE8876 = 11;
+ ENUM_VALUE8877 = 12;
+ ENUM_VALUE8878 = 15;
+}
+
+enum Enum10325 {
+ ENUM_VALUE10326 = 0;
+ ENUM_VALUE10327 = 1;
+ ENUM_VALUE10328 = 2;
+ ENUM_VALUE10329 = 3;
+ ENUM_VALUE10330 = 4;
+ ENUM_VALUE10331 = 5;
+ ENUM_VALUE10332 = 6;
+ ENUM_VALUE10333 = 7;
+ ENUM_VALUE10334 = 8;
+}
+
+enum Enum10335 {
+ ENUM_VALUE10336 = 0;
+}
+
+enum Enum10337 {
+ ENUM_VALUE10338 = 0;
+ ENUM_VALUE10339 = 1;
+}
+
+enum Enum10392 {
+ ENUM_VALUE10393 = 0;
+ ENUM_VALUE10394 = 1;
+ ENUM_VALUE10395 = 2;
+ ENUM_VALUE10396 = 3;
+ ENUM_VALUE10397 = 4;
+ ENUM_VALUE10398 = 5;
+ ENUM_VALUE10399 = 6;
+ ENUM_VALUE10400 = 7;
+ ENUM_VALUE10401 = 8;
+ ENUM_VALUE10402 = 15;
+ ENUM_VALUE10403 = 9;
+ ENUM_VALUE10404 = 10;
+ ENUM_VALUE10405 = 11;
+ ENUM_VALUE10406 = 12;
+ ENUM_VALUE10407 = 13;
+ ENUM_VALUE10408 = 14;
+ ENUM_VALUE10409 = 101;
+ ENUM_VALUE10410 = 102;
+}
+
+enum Enum11107 {
+ ENUM_VALUE11108 = 0;
+ ENUM_VALUE11109 = 1;
+ ENUM_VALUE11110 = 2;
+ ENUM_VALUE11111 = 3;
+ ENUM_VALUE11112 = 4;
+ ENUM_VALUE11113 = 5;
+ ENUM_VALUE11114 = 6;
+ ENUM_VALUE11115 = 7;
+ ENUM_VALUE11116 = 8;
+ ENUM_VALUE11117 = 9;
+ ENUM_VALUE11118 = 10;
+ ENUM_VALUE11119 = 11;
+ ENUM_VALUE11120 = 12;
+ ENUM_VALUE11121 = 13;
+ ENUM_VALUE11122 = 14;
+ ENUM_VALUE11123 = 15;
+ ENUM_VALUE11124 = 16;
+ ENUM_VALUE11125 = 17;
+ ENUM_VALUE11126 = 18;
+ ENUM_VALUE11127 = 19;
+ ENUM_VALUE11128 = 20;
+ ENUM_VALUE11129 = 21;
+ ENUM_VALUE11130 = 22;
+ ENUM_VALUE11131 = 23;
+ ENUM_VALUE11132 = 24;
+ ENUM_VALUE11133 = 25;
+ ENUM_VALUE11134 = 26;
+ ENUM_VALUE11135 = 27;
+ ENUM_VALUE11136 = 28;
+ ENUM_VALUE11137 = 29;
+ ENUM_VALUE11138 = 30;
+ ENUM_VALUE11139 = 31;
+ ENUM_VALUE11140 = 32;
+ ENUM_VALUE11141 = 33;
+ ENUM_VALUE11142 = 34;
+ ENUM_VALUE11143 = 35;
+ ENUM_VALUE11144 = 36;
+ ENUM_VALUE11145 = 37;
+ ENUM_VALUE11146 = 38;
+ ENUM_VALUE11147 = 39;
+ ENUM_VALUE11148 = 40;
+ ENUM_VALUE11149 = 41;
+ ENUM_VALUE11150 = 42;
+ ENUM_VALUE11151 = 43;
+ ENUM_VALUE11152 = 44;
+ ENUM_VALUE11153 = 45;
+ ENUM_VALUE11154 = 46;
+ ENUM_VALUE11155 = 47;
+ ENUM_VALUE11156 = 48;
+ ENUM_VALUE11157 = 49;
+ ENUM_VALUE11158 = 50;
+ ENUM_VALUE11159 = 51;
+ ENUM_VALUE11160 = 52;
+ ENUM_VALUE11161 = 53;
+ ENUM_VALUE11162 = 54;
+ ENUM_VALUE11163 = 55;
+ ENUM_VALUE11164 = 56;
+ ENUM_VALUE11165 = 57;
+ ENUM_VALUE11166 = 58;
+ ENUM_VALUE11167 = 59;
+ ENUM_VALUE11168 = 60;
+ ENUM_VALUE11169 = 61;
+ ENUM_VALUE11170 = 62;
+ ENUM_VALUE11171 = 63;
+ ENUM_VALUE11172 = 64;
+ ENUM_VALUE11173 = 65;
+ ENUM_VALUE11174 = 66;
+ ENUM_VALUE11175 = 67;
+ ENUM_VALUE11176 = 68;
+ ENUM_VALUE11177 = 69;
+ ENUM_VALUE11178 = 70;
+ ENUM_VALUE11179 = 71;
+ ENUM_VALUE11180 = 72;
+ ENUM_VALUE11181 = 73;
+ ENUM_VALUE11182 = 74;
+ ENUM_VALUE11183 = 75;
+ ENUM_VALUE11184 = 76;
+ ENUM_VALUE11185 = 77;
+ ENUM_VALUE11186 = 78;
+ ENUM_VALUE11187 = 79;
+ ENUM_VALUE11188 = 80;
+ ENUM_VALUE11189 = 81;
+ ENUM_VALUE11190 = 82;
+ ENUM_VALUE11191 = 83;
+ ENUM_VALUE11192 = 84;
+ ENUM_VALUE11193 = 85;
+ ENUM_VALUE11194 = 86;
+ ENUM_VALUE11195 = 87;
+ ENUM_VALUE11196 = 88;
+ ENUM_VALUE11197 = 89;
+ ENUM_VALUE11198 = 90;
+ ENUM_VALUE11199 = 91;
+ ENUM_VALUE11200 = 92;
+ ENUM_VALUE11201 = 93;
+ ENUM_VALUE11202 = 94;
+ ENUM_VALUE11203 = 95;
+ ENUM_VALUE11204 = 96;
+ ENUM_VALUE11205 = 97;
+ ENUM_VALUE11206 = 98;
+ ENUM_VALUE11207 = 99;
+ ENUM_VALUE11208 = 100;
+ ENUM_VALUE11209 = 101;
+ ENUM_VALUE11210 = 102;
+ ENUM_VALUE11211 = 103;
+ ENUM_VALUE11212 = 104;
+ ENUM_VALUE11213 = 105;
+ ENUM_VALUE11214 = 106;
+ ENUM_VALUE11215 = 107;
+ ENUM_VALUE11216 = 108;
+ ENUM_VALUE11217 = 109;
+ ENUM_VALUE11218 = 110;
+ ENUM_VALUE11219 = 111;
+ ENUM_VALUE11220 = 112;
+ ENUM_VALUE11221 = 113;
+ ENUM_VALUE11222 = 114;
+ ENUM_VALUE11223 = 115;
+ ENUM_VALUE11224 = 116;
+ ENUM_VALUE11225 = 117;
+ ENUM_VALUE11226 = 118;
+ ENUM_VALUE11227 = 119;
+ ENUM_VALUE11228 = 120;
+ ENUM_VALUE11229 = 121;
+ ENUM_VALUE11230 = 122;
+ ENUM_VALUE11231 = 123;
+ ENUM_VALUE11232 = 124;
+ ENUM_VALUE11233 = 125;
+ ENUM_VALUE11234 = 126;
+ ENUM_VALUE11235 = 127;
+ ENUM_VALUE11236 = 128;
+ ENUM_VALUE11237 = 129;
+ ENUM_VALUE11238 = 130;
+ ENUM_VALUE11239 = 131;
+ ENUM_VALUE11240 = 132;
+ ENUM_VALUE11241 = 133;
+ ENUM_VALUE11242 = 134;
+ ENUM_VALUE11243 = 135;
+ ENUM_VALUE11244 = 136;
+ ENUM_VALUE11245 = 137;
+ ENUM_VALUE11246 = 138;
+ ENUM_VALUE11247 = 139;
+ ENUM_VALUE11248 = 140;
+ ENUM_VALUE11249 = 141;
+ ENUM_VALUE11250 = 142;
+ ENUM_VALUE11251 = 143;
+ ENUM_VALUE11252 = 144;
+ ENUM_VALUE11253 = 145;
+ ENUM_VALUE11254 = 146;
+ ENUM_VALUE11255 = 147;
+ ENUM_VALUE11256 = 148;
+ ENUM_VALUE11257 = 149;
+ ENUM_VALUE11258 = 150;
+ ENUM_VALUE11259 = 151;
+ ENUM_VALUE11260 = 152;
+ ENUM_VALUE11261 = 153;
+ ENUM_VALUE11262 = 154;
+ ENUM_VALUE11263 = 155;
+ ENUM_VALUE11264 = 156;
+ ENUM_VALUE11265 = 157;
+ ENUM_VALUE11266 = 158;
+ ENUM_VALUE11267 = 159;
+ ENUM_VALUE11268 = 160;
+ ENUM_VALUE11269 = 161;
+ ENUM_VALUE11270 = 163;
+ ENUM_VALUE11271 = 164;
+ ENUM_VALUE11272 = 165;
+ ENUM_VALUE11273 = 166;
+ ENUM_VALUE11274 = 167;
+ ENUM_VALUE11275 = 168;
+ ENUM_VALUE11276 = 169;
+ ENUM_VALUE11277 = 170;
+ ENUM_VALUE11278 = 171;
+ ENUM_VALUE11279 = 172;
+ ENUM_VALUE11280 = 173;
+ ENUM_VALUE11281 = 174;
+ ENUM_VALUE11282 = 175;
+ ENUM_VALUE11283 = 176;
+ ENUM_VALUE11284 = 177;
+ ENUM_VALUE11285 = 178;
+ ENUM_VALUE11286 = 179;
+ ENUM_VALUE11287 = 180;
+ ENUM_VALUE11288 = 181;
+ ENUM_VALUE11289 = 182;
+ ENUM_VALUE11290 = 183;
+ ENUM_VALUE11291 = 184;
+ ENUM_VALUE11292 = 185;
+ ENUM_VALUE11293 = 187;
+ ENUM_VALUE11294 = 188;
+ ENUM_VALUE11295 = 189;
+ ENUM_VALUE11296 = 190;
+ ENUM_VALUE11297 = 191;
+ ENUM_VALUE11298 = 192;
+ ENUM_VALUE11299 = 193;
+ ENUM_VALUE11300 = 194;
+ ENUM_VALUE11301 = 195;
+ ENUM_VALUE11302 = 196;
+ ENUM_VALUE11303 = 197;
+ ENUM_VALUE11304 = 198;
+ ENUM_VALUE11305 = 65535;
+ ENUM_VALUE11306 = 65536;
+ ENUM_VALUE11307 = 65537;
+ ENUM_VALUE11308 = 65538;
+ ENUM_VALUE11309 = 65539;
+ ENUM_VALUE11310 = 65540;
+ ENUM_VALUE11311 = 65541;
+ ENUM_VALUE11312 = 65542;
+ ENUM_VALUE11313 = 65543;
+ ENUM_VALUE11314 = 65544;
+ ENUM_VALUE11315 = 65545;
+ ENUM_VALUE11316 = 65546;
+ ENUM_VALUE11317 = 65547;
+ ENUM_VALUE11318 = 65548;
+ ENUM_VALUE11319 = 65549;
+ ENUM_VALUE11320 = 65550;
+ ENUM_VALUE11321 = 65551;
+ ENUM_VALUE11322 = 65552;
+ ENUM_VALUE11323 = 65553;
+ ENUM_VALUE11324 = 65554;
+ ENUM_VALUE11325 = 65555;
+ ENUM_VALUE11326 = 65556;
+ ENUM_VALUE11327 = 65557;
+ ENUM_VALUE11328 = 65558;
+ ENUM_VALUE11329 = 65559;
+ ENUM_VALUE11330 = 65560;
+ ENUM_VALUE11331 = 65561;
+ ENUM_VALUE11332 = 65562;
+ ENUM_VALUE11333 = 65563;
+ ENUM_VALUE11334 = 69632;
+ ENUM_VALUE11335 = 69633;
+ ENUM_VALUE11336 = 69634;
+ ENUM_VALUE11337 = 69635;
+ ENUM_VALUE11338 = 69636;
+ ENUM_VALUE11339 = 69637;
+ ENUM_VALUE11340 = 69638;
+ ENUM_VALUE11341 = 69639;
+ ENUM_VALUE11342 = 69640;
+ ENUM_VALUE11343 = 69641;
+ ENUM_VALUE11344 = 69642;
+ ENUM_VALUE11345 = 69643;
+ ENUM_VALUE11346 = 69644;
+ ENUM_VALUE11347 = 69645;
+ ENUM_VALUE11348 = 69646;
+ ENUM_VALUE11349 = 69647;
+ ENUM_VALUE11350 = 69648;
+ ENUM_VALUE11351 = 69649;
+ ENUM_VALUE11352 = 69650;
+ ENUM_VALUE11353 = 69651;
+ ENUM_VALUE11354 = 69652;
+ ENUM_VALUE11355 = 69653;
+ ENUM_VALUE11356 = 69654;
+ ENUM_VALUE11357 = 69655;
+ ENUM_VALUE11358 = 69656;
+ ENUM_VALUE11359 = 69657;
+ ENUM_VALUE11360 = 69658;
+ ENUM_VALUE11361 = 69659;
+ ENUM_VALUE11362 = 69660;
+ ENUM_VALUE11363 = 69661;
+ ENUM_VALUE11364 = 69662;
+ ENUM_VALUE11365 = 73728;
+ ENUM_VALUE11366 = 73729;
+ ENUM_VALUE11367 = 77824;
+ ENUM_VALUE11368 = 77825;
+ ENUM_VALUE11369 = 81920;
+ ENUM_VALUE11370 = 81921;
+ ENUM_VALUE11371 = 81922;
+ ENUM_VALUE11372 = 81923;
+ ENUM_VALUE11373 = 86016;
+ ENUM_VALUE11374 = 86017;
+ ENUM_VALUE11375 = 86018;
+ ENUM_VALUE11376 = 86019;
+ ENUM_VALUE11377 = 86020;
+ ENUM_VALUE11378 = 86021;
+ ENUM_VALUE11379 = 86022;
+ ENUM_VALUE11380 = 86023;
+ ENUM_VALUE11381 = 86024;
+ ENUM_VALUE11382 = 86025;
+ ENUM_VALUE11383 = 86026;
+ ENUM_VALUE11384 = 86027;
+ ENUM_VALUE11385 = 86028;
+ ENUM_VALUE11386 = 86029;
+ ENUM_VALUE11387 = 86030;
+ ENUM_VALUE11388 = 86031;
+ ENUM_VALUE11389 = 86032;
+ ENUM_VALUE11390 = 86033;
+ ENUM_VALUE11391 = 86034;
+ ENUM_VALUE11392 = 86035;
+ ENUM_VALUE11393 = 86036;
+ ENUM_VALUE11394 = 86037;
+ ENUM_VALUE11395 = 86038;
+ ENUM_VALUE11396 = 86039;
+ ENUM_VALUE11397 = 86040;
+ ENUM_VALUE11398 = 86041;
+ ENUM_VALUE11399 = 86042;
+ ENUM_VALUE11400 = 86043;
+ ENUM_VALUE11401 = 86044;
+ ENUM_VALUE11402 = 86045;
+ ENUM_VALUE11403 = 86046;
+ ENUM_VALUE11404 = 86047;
+ ENUM_VALUE11405 = 86048;
+ ENUM_VALUE11406 = 86049;
+ ENUM_VALUE11407 = 86050;
+ ENUM_VALUE11408 = 86051;
+ ENUM_VALUE11409 = 86052;
+ ENUM_VALUE11410 = 86053;
+ ENUM_VALUE11411 = 86054;
+ ENUM_VALUE11412 = 86055;
+ ENUM_VALUE11413 = 86056;
+ ENUM_VALUE11414 = 86057;
+ ENUM_VALUE11415 = 86058;
+ ENUM_VALUE11416 = 86059;
+ ENUM_VALUE11417 = 86060;
+ ENUM_VALUE11418 = 86061;
+ ENUM_VALUE11419 = 86062;
+ ENUM_VALUE11420 = 86063;
+ ENUM_VALUE11421 = 86064;
+ ENUM_VALUE11422 = 86065;
+ ENUM_VALUE11423 = 86066;
+ ENUM_VALUE11424 = 86067;
+ ENUM_VALUE11425 = 86068;
+ ENUM_VALUE11426 = 86069;
+ ENUM_VALUE11427 = 86070;
+ ENUM_VALUE11428 = 86071;
+ ENUM_VALUE11429 = 86072;
+ ENUM_VALUE11430 = 86073;
+ ENUM_VALUE11431 = 86074;
+ ENUM_VALUE11432 = 86077;
+ ENUM_VALUE11433 = 86078;
+ ENUM_VALUE11434 = 86079;
+ ENUM_VALUE11435 = 86080;
+ ENUM_VALUE11436 = 86081;
+ ENUM_VALUE11437 = 86082;
+ ENUM_VALUE11438 = 86083;
+ ENUM_VALUE11439 = 86084;
+ ENUM_VALUE11440 = 90112;
+ ENUM_VALUE11441 = 94208;
+ ENUM_VALUE11442 = 94209;
+ ENUM_VALUE11443 = 94210;
+ ENUM_VALUE11444 = 94211;
+ ENUM_VALUE11445 = 94212;
+ ENUM_VALUE11446 = 94213;
+ ENUM_VALUE11447 = 94214;
+ ENUM_VALUE11448 = 94215;
+ ENUM_VALUE11449 = 94216;
+ ENUM_VALUE11450 = 94217;
+ ENUM_VALUE11451 = 94218;
+ ENUM_VALUE11452 = 94219;
+ ENUM_VALUE11453 = 94220;
+ ENUM_VALUE11454 = 94221;
+ ENUM_VALUE11455 = 94222;
+ ENUM_VALUE11456 = 94223;
+ ENUM_VALUE11457 = 94224;
+ ENUM_VALUE11458 = 98304;
+ ENUM_VALUE11459 = 98305;
+ ENUM_VALUE11460 = 98306;
+ ENUM_VALUE11461 = 98307;
+ ENUM_VALUE11462 = 98308;
+ ENUM_VALUE11463 = 102400;
+ ENUM_VALUE11464 = 131072;
+ ENUM_VALUE11465 = 131073;
+ ENUM_VALUE11466 = 135168;
+ ENUM_VALUE11467 = 9439507;
+}
+
+enum Enum11541 {
+ ENUM_VALUE11542 = -1;
+ ENUM_VALUE11543 = 0;
+ ENUM_VALUE11544 = 1;
+ ENUM_VALUE11545 = 2;
+ ENUM_VALUE11546 = 3;
+ ENUM_VALUE11547 = 4;
+ ENUM_VALUE11548 = 5;
+ ENUM_VALUE11549 = 6;
+ ENUM_VALUE11550 = 7;
+ ENUM_VALUE11551 = 8;
+ ENUM_VALUE11552 = 9;
+ ENUM_VALUE11553 = 10;
+ ENUM_VALUE11554 = 11;
+ ENUM_VALUE11555 = 12;
+ ENUM_VALUE11556 = 13;
+ ENUM_VALUE11557 = 14;
+ ENUM_VALUE11558 = 15;
+ ENUM_VALUE11559 = 16;
+ ENUM_VALUE11560 = 17;
+ ENUM_VALUE11561 = 18;
+ ENUM_VALUE11562 = 19;
+ ENUM_VALUE11563 = 20;
+ ENUM_VALUE11564 = 21;
+ ENUM_VALUE11565 = 22;
+ ENUM_VALUE11566 = 23;
+ ENUM_VALUE11567 = 24;
+ ENUM_VALUE11568 = 25;
+ ENUM_VALUE11569 = 26;
+ ENUM_VALUE11570 = 27;
+ ENUM_VALUE11571 = 28;
+ ENUM_VALUE11572 = 29;
+ ENUM_VALUE11573 = 30;
+ ENUM_VALUE11574 = 31;
+ ENUM_VALUE11575 = 32;
+ ENUM_VALUE11576 = 33;
+ ENUM_VALUE11577 = 34;
+ ENUM_VALUE11578 = 35;
+ ENUM_VALUE11579 = 36;
+ ENUM_VALUE11580 = 37;
+ ENUM_VALUE11581 = 38;
+ ENUM_VALUE11582 = 39;
+ ENUM_VALUE11583 = 40;
+ ENUM_VALUE11584 = 41;
+ ENUM_VALUE11585 = 42;
+ ENUM_VALUE11586 = 43;
+ ENUM_VALUE11587 = 44;
+ ENUM_VALUE11588 = 45;
+ ENUM_VALUE11589 = 46;
+ ENUM_VALUE11590 = 47;
+ ENUM_VALUE11591 = 48;
+ ENUM_VALUE11592 = 49;
+ ENUM_VALUE11593 = 50;
+ ENUM_VALUE11594 = 51;
+ ENUM_VALUE11595 = 52;
+ ENUM_VALUE11596 = 53;
+ ENUM_VALUE11597 = 54;
+ ENUM_VALUE11598 = 55;
+ ENUM_VALUE11599 = 56;
+ ENUM_VALUE11600 = 57;
+ ENUM_VALUE11601 = 58;
+ ENUM_VALUE11602 = 59;
+ ENUM_VALUE11603 = 60;
+ ENUM_VALUE11604 = 61;
+ ENUM_VALUE11605 = 62;
+ ENUM_VALUE11606 = 63;
+ ENUM_VALUE11607 = 64;
+ ENUM_VALUE11608 = 65;
+ ENUM_VALUE11609 = 66;
+ ENUM_VALUE11610 = 67;
+ ENUM_VALUE11611 = 68;
+ ENUM_VALUE11612 = 69;
+ ENUM_VALUE11613 = 70;
+ ENUM_VALUE11614 = 71;
+ ENUM_VALUE11615 = 72;
+ ENUM_VALUE11616 = 73;
+ ENUM_VALUE11617 = 74;
+ ENUM_VALUE11618 = 75;
+ ENUM_VALUE11619 = 76;
+ ENUM_VALUE11620 = 77;
+ ENUM_VALUE11621 = 78;
+ ENUM_VALUE11622 = 79;
+ ENUM_VALUE11623 = 80;
+ ENUM_VALUE11624 = 81;
+ ENUM_VALUE11625 = 82;
+ ENUM_VALUE11626 = 83;
+ ENUM_VALUE11627 = 84;
+ ENUM_VALUE11628 = 85;
+ ENUM_VALUE11629 = 86;
+ ENUM_VALUE11630 = 87;
+ ENUM_VALUE11631 = 88;
+ ENUM_VALUE11632 = 89;
+ ENUM_VALUE11633 = 90;
+ ENUM_VALUE11634 = 91;
+ ENUM_VALUE11635 = 92;
+ ENUM_VALUE11636 = 93;
+ ENUM_VALUE11637 = 94;
+ ENUM_VALUE11638 = 95;
+ ENUM_VALUE11639 = 96;
+ ENUM_VALUE11640 = 97;
+ ENUM_VALUE11641 = 98;
+ ENUM_VALUE11642 = 99;
+ ENUM_VALUE11643 = 100;
+ ENUM_VALUE11644 = 101;
+ ENUM_VALUE11645 = 102;
+ ENUM_VALUE11646 = 103;
+ ENUM_VALUE11647 = 104;
+ ENUM_VALUE11648 = 105;
+ ENUM_VALUE11649 = 106;
+ ENUM_VALUE11650 = 107;
+ ENUM_VALUE11651 = 108;
+ ENUM_VALUE11652 = 109;
+ ENUM_VALUE11653 = 110;
+ ENUM_VALUE11654 = 111;
+ ENUM_VALUE11655 = 112;
+ ENUM_VALUE11656 = 113;
+ ENUM_VALUE11657 = 114;
+ ENUM_VALUE11658 = 115;
+ ENUM_VALUE11659 = 116;
+ ENUM_VALUE11660 = 117;
+ ENUM_VALUE11661 = 118;
+ ENUM_VALUE11662 = 119;
+ ENUM_VALUE11663 = 120;
+ ENUM_VALUE11664 = 121;
+ ENUM_VALUE11665 = 122;
+ ENUM_VALUE11666 = 123;
+ ENUM_VALUE11667 = 124;
+ ENUM_VALUE11668 = 125;
+ ENUM_VALUE11669 = 126;
+ ENUM_VALUE11670 = 127;
+ ENUM_VALUE11671 = 128;
+ ENUM_VALUE11672 = 129;
+ ENUM_VALUE11673 = 130;
+ ENUM_VALUE11674 = 131;
+ ENUM_VALUE11675 = 132;
+ ENUM_VALUE11676 = 133;
+ ENUM_VALUE11677 = 134;
+ ENUM_VALUE11678 = 135;
+ ENUM_VALUE11679 = 136;
+ ENUM_VALUE11680 = 137;
+ ENUM_VALUE11681 = 138;
+ ENUM_VALUE11682 = 139;
+ ENUM_VALUE11683 = 140;
+ ENUM_VALUE11684 = 141;
+ ENUM_VALUE11685 = 142;
+ ENUM_VALUE11686 = 143;
+ ENUM_VALUE11687 = 144;
+ ENUM_VALUE11688 = 145;
+ ENUM_VALUE11689 = 146;
+ ENUM_VALUE11690 = 147;
+ ENUM_VALUE11691 = 148;
+ ENUM_VALUE11692 = 149;
+ ENUM_VALUE11693 = 150;
+ ENUM_VALUE11694 = 151;
+ ENUM_VALUE11695 = 152;
+ ENUM_VALUE11696 = 153;
+ ENUM_VALUE11697 = 154;
+ ENUM_VALUE11698 = 155;
+ ENUM_VALUE11699 = 156;
+ ENUM_VALUE11700 = 157;
+ ENUM_VALUE11701 = 158;
+ ENUM_VALUE11702 = 159;
+ ENUM_VALUE11703 = 160;
+ ENUM_VALUE11704 = 161;
+ ENUM_VALUE11705 = 162;
+ ENUM_VALUE11706 = 163;
+ ENUM_VALUE11707 = 164;
+ ENUM_VALUE11708 = 165;
+ ENUM_VALUE11709 = 166;
+ ENUM_VALUE11710 = 167;
+ ENUM_VALUE11711 = 168;
+ ENUM_VALUE11712 = 169;
+ ENUM_VALUE11713 = 170;
+ ENUM_VALUE11714 = 171;
+ ENUM_VALUE11715 = 172;
+ ENUM_VALUE11716 = 173;
+ ENUM_VALUE11717 = 174;
+ ENUM_VALUE11718 = 175;
+ ENUM_VALUE11719 = 176;
+ ENUM_VALUE11720 = 177;
+ ENUM_VALUE11721 = 178;
+ ENUM_VALUE11722 = 179;
+ ENUM_VALUE11723 = 180;
+ ENUM_VALUE11724 = 181;
+ ENUM_VALUE11725 = 182;
+ ENUM_VALUE11726 = 183;
+ ENUM_VALUE11727 = 184;
+ ENUM_VALUE11728 = 185;
+ ENUM_VALUE11729 = 186;
+ ENUM_VALUE11730 = 187;
+ ENUM_VALUE11731 = 188;
+ ENUM_VALUE11732 = 16777215;
+}
+
+enum Enum11468 {
+ ENUM_VALUE11469 = -99;
+ ENUM_VALUE11470 = 0;
+ ENUM_VALUE11471 = 1;
+ ENUM_VALUE11472 = 2;
+ ENUM_VALUE11473 = 3;
+ ENUM_VALUE11474 = 4;
+ ENUM_VALUE11475 = 28;
+ ENUM_VALUE11476 = 22;
+ ENUM_VALUE11477 = 38;
+ ENUM_VALUE11478 = 512;
+ ENUM_VALUE11479 = 2048;
+ ENUM_VALUE11480 = 66;
+ ENUM_VALUE11481 = 578;
+ ENUM_VALUE11482 = 77;
+ ENUM_VALUE11483 = 88;
+ ENUM_VALUE11484 = 100;
+ ENUM_VALUE11485 = 110;
+ ENUM_VALUE11486 = 2158;
+ ENUM_VALUE11487 = 122;
+ ENUM_VALUE11488 = 2170;
+ ENUM_VALUE11489 = 144;
+ ENUM_VALUE11490 = 244;
+ ENUM_VALUE11491 = 2292;
+ ENUM_VALUE11492 = 44;
+}
+
+enum Enum11022 {
+ ENUM_VALUE11023 = 0;
+ ENUM_VALUE11024 = 1;
+ ENUM_VALUE11025 = 2;
+ ENUM_VALUE11026 = 3;
+ ENUM_VALUE11027 = 4;
+ ENUM_VALUE11028 = 5;
+ ENUM_VALUE11029 = 6;
+ ENUM_VALUE11030 = 7;
+ ENUM_VALUE11031 = 8;
+ ENUM_VALUE11032 = 9;
+ ENUM_VALUE11033 = 10;
+ ENUM_VALUE11034 = 11;
+ ENUM_VALUE11035 = 12;
+ ENUM_VALUE11036 = 13;
+ ENUM_VALUE11037 = 14;
+ ENUM_VALUE11038 = 15;
+ ENUM_VALUE11039 = 16;
+ ENUM_VALUE11040 = 17;
+ ENUM_VALUE11041 = 18;
+ ENUM_VALUE11042 = 19;
+ ENUM_VALUE11043 = 20;
+ ENUM_VALUE11044 = 21;
+ ENUM_VALUE11045 = 22;
+ ENUM_VALUE11046 = 23;
+ ENUM_VALUE11047 = 24;
+ ENUM_VALUE11048 = 25;
+ ENUM_VALUE11049 = 26;
+ ENUM_VALUE11050 = 27;
+ ENUM_VALUE11051 = 28;
+ ENUM_VALUE11052 = 29;
+ ENUM_VALUE11053 = 30;
+ ENUM_VALUE11054 = 31;
+ ENUM_VALUE11055 = 32;
+ ENUM_VALUE11056 = 33;
+ ENUM_VALUE11057 = 34;
+ ENUM_VALUE11058 = 35;
+ ENUM_VALUE11059 = 36;
+ ENUM_VALUE11060 = 37;
+ ENUM_VALUE11061 = 38;
+ ENUM_VALUE11062 = 39;
+ ENUM_VALUE11063 = 40;
+ ENUM_VALUE11064 = 41;
+ ENUM_VALUE11065 = 42;
+ ENUM_VALUE11066 = 43;
+ ENUM_VALUE11067 = 44;
+ ENUM_VALUE11068 = 45;
+ ENUM_VALUE11069 = 46;
+ ENUM_VALUE11070 = 47;
+ ENUM_VALUE11071 = 48;
+ ENUM_VALUE11072 = 49;
+ ENUM_VALUE11073 = 50;
+ ENUM_VALUE11074 = 51;
+ ENUM_VALUE11075 = 52;
+ ENUM_VALUE11076 = 53;
+ ENUM_VALUE11077 = 54;
+ ENUM_VALUE11078 = 55;
+ ENUM_VALUE11079 = 56;
+ ENUM_VALUE11080 = 57;
+ ENUM_VALUE11081 = 58;
+ ENUM_VALUE11082 = 59;
+ ENUM_VALUE11083 = 60;
+ ENUM_VALUE11084 = 61;
+ ENUM_VALUE11085 = 62;
+ ENUM_VALUE11086 = 63;
+ ENUM_VALUE11087 = 64;
+ ENUM_VALUE11088 = 65;
+ ENUM_VALUE11089 = 66;
+ ENUM_VALUE11090 = 67;
+ ENUM_VALUE11091 = 68;
+ ENUM_VALUE11092 = 69;
+ ENUM_VALUE11093 = 70;
+ ENUM_VALUE11094 = 71;
+ ENUM_VALUE11095 = 72;
+ ENUM_VALUE11096 = 73;
+ ENUM_VALUE11097 = 74;
+ ENUM_VALUE11098 = 75;
+ ENUM_VALUE11099 = 76;
+ ENUM_VALUE11100 = 77;
+ ENUM_VALUE11101 = 78;
+ ENUM_VALUE11102 = 79;
+ ENUM_VALUE11103 = 80;
+ ENUM_VALUE11104 = 81;
+ ENUM_VALUE11105 = 82;
+ ENUM_VALUE11106 = 83;
+}
+
+enum Enum12670 {
+ ENUM_VALUE12671 = 0;
+ ENUM_VALUE12672 = 1;
+ ENUM_VALUE12673 = 2;
+}
+
+enum Enum12871 {
+ ENUM_VALUE12872 = 1;
+ ENUM_VALUE12873 = 2;
+ ENUM_VALUE12874 = 3;
+ ENUM_VALUE12875 = 4;
+ ENUM_VALUE12876 = 5;
+ ENUM_VALUE12877 = 6;
+}
+
+enum Enum13092 {
+ ENUM_VALUE13093 = 1;
+ ENUM_VALUE13094 = 2;
+ ENUM_VALUE13095 = 3;
+}
+
+enum Enum13146 {
+ ENUM_VALUE13147 = 0;
+ ENUM_VALUE13148 = 1;
+ ENUM_VALUE13149 = 2;
+ ENUM_VALUE13150 = 3;
+}
+
+enum Enum16042 {
+ ENUM_VALUE16043 = 0;
+ ENUM_VALUE16044 = 1;
+ ENUM_VALUE16045 = 17;
+ ENUM_VALUE16046 = 273;
+ ENUM_VALUE16047 = 274;
+ ENUM_VALUE16048 = 4385;
+ ENUM_VALUE16049 = 4386;
+ ENUM_VALUE16050 = 4387;
+ ENUM_VALUE16051 = 4388;
+ ENUM_VALUE16052 = 4389;
+ ENUM_VALUE16053 = 4390;
+ ENUM_VALUE16054 = 4391;
+ ENUM_VALUE16055 = 4392;
+ ENUM_VALUE16056 = 4393;
+ ENUM_VALUE16057 = 276;
+ ENUM_VALUE16058 = 277;
+ ENUM_VALUE16059 = 18;
+ ENUM_VALUE16060 = 289;
+ ENUM_VALUE16061 = 291;
+ ENUM_VALUE16062 = 4657;
+ ENUM_VALUE16063 = 74513;
+ ENUM_VALUE16064 = 4658;
+ ENUM_VALUE16065 = 4659;
+ ENUM_VALUE16066 = 4660;
+ ENUM_VALUE16067 = 4661;
+ ENUM_VALUE16068 = 4662;
+ ENUM_VALUE16069 = 4663;
+ ENUM_VALUE16070 = 4664;
+ ENUM_VALUE16071 = 292;
+ ENUM_VALUE16072 = 4673;
+ ENUM_VALUE16073 = 4674;
+ ENUM_VALUE16074 = 293;
+ ENUM_VALUE16075 = 19;
+ ENUM_VALUE16076 = 20;
+ ENUM_VALUE16077 = 321;
+ ENUM_VALUE16078 = 5137;
+ ENUM_VALUE16079 = 5138;
+ ENUM_VALUE16080 = 5139;
+ ENUM_VALUE16081 = 5140;
+ ENUM_VALUE16082 = 5141;
+ ENUM_VALUE16083 = 5142;
+ ENUM_VALUE16084 = 82273;
+ ENUM_VALUE16085 = 82274;
+ ENUM_VALUE16086 = 82275;
+ ENUM_VALUE16087 = 82276;
+ ENUM_VALUE16088 = 82277;
+ ENUM_VALUE16089 = 82278;
+ ENUM_VALUE16090 = 5143;
+ ENUM_VALUE16091 = 5144;
+ ENUM_VALUE16092 = 5145;
+ ENUM_VALUE16093 = 5146;
+ ENUM_VALUE16094 = 82337;
+ ENUM_VALUE16095 = 5147;
+ ENUM_VALUE16096 = 5148;
+ ENUM_VALUE16097 = 322;
+ ENUM_VALUE16098 = 323;
+ ENUM_VALUE16099 = 324;
+ ENUM_VALUE16100 = 325;
+ ENUM_VALUE16101 = 326;
+ ENUM_VALUE16102 = 327;
+ ENUM_VALUE16103 = 328;
+ ENUM_VALUE16104 = 21;
+ ENUM_VALUE16105 = 337;
+ ENUM_VALUE16106 = 22;
+ ENUM_VALUE16107 = 23;
+ ENUM_VALUE16108 = 24;
+ ENUM_VALUE16109 = 2;
+ ENUM_VALUE16110 = 33;
+ ENUM_VALUE16111 = 34;
+ ENUM_VALUE16112 = 545;
+ ENUM_VALUE16113 = 8721;
+ ENUM_VALUE16114 = 8723;
+ ENUM_VALUE16115 = 8724;
+ ENUM_VALUE16116 = 546;
+ ENUM_VALUE16117 = 8739;
+ ENUM_VALUE16118 = 8740;
+ ENUM_VALUE16119 = 547;
+ ENUM_VALUE16120 = 548;
+ ENUM_VALUE16121 = 549;
+ ENUM_VALUE16122 = 550;
+ ENUM_VALUE16123 = 551;
+ ENUM_VALUE16124 = 552;
+ ENUM_VALUE16125 = 553;
+ ENUM_VALUE16126 = 35;
+ ENUM_VALUE16127 = 36;
+ ENUM_VALUE16128 = 37;
+ ENUM_VALUE16129 = 593;
+ ENUM_VALUE16130 = 594;
+ ENUM_VALUE16131 = 595;
+ ENUM_VALUE16132 = 596;
+ ENUM_VALUE16133 = 597;
+ ENUM_VALUE16134 = 38;
+ ENUM_VALUE16135 = 609;
+ ENUM_VALUE16136 = 610;
+ ENUM_VALUE16137 = 617;
+ ENUM_VALUE16138 = 614;
+ ENUM_VALUE16139 = 615;
+ ENUM_VALUE16140 = 616;
+ ENUM_VALUE16141 = 618;
+ ENUM_VALUE16142 = 620;
+ ENUM_VALUE16143 = 9937;
+ ENUM_VALUE16144 = 9938;
+ ENUM_VALUE16145 = 9939;
+ ENUM_VALUE16146 = 9940;
+ ENUM_VALUE16147 = 9941;
+ ENUM_VALUE16148 = 39;
+ ENUM_VALUE16149 = 40;
+ ENUM_VALUE16150 = 41;
+ ENUM_VALUE16151 = 42;
+ ENUM_VALUE16152 = 43;
+ ENUM_VALUE16153 = 44;
+ ENUM_VALUE16154 = 45;
+ ENUM_VALUE16155 = 11793;
+ ENUM_VALUE16156 = 3;
+ ENUM_VALUE16157 = 49;
+ ENUM_VALUE16158 = 50;
+ ENUM_VALUE16159 = 51;
+ ENUM_VALUE16160 = 817;
+ ENUM_VALUE16161 = 818;
+ ENUM_VALUE16162 = 819;
+ ENUM_VALUE16163 = 52;
+ ENUM_VALUE16164 = 833;
+ ENUM_VALUE16165 = 53;
+ ENUM_VALUE16166 = 54;
+ ENUM_VALUE16167 = 4;
+ ENUM_VALUE16168 = 1041;
+ ENUM_VALUE16169 = 16657;
+ ENUM_VALUE16170 = 16658;
+ ENUM_VALUE16171 = 16659;
+ ENUM_VALUE16172 = 16660;
+ ENUM_VALUE16173 = 16661;
+ ENUM_VALUE16174 = 1042;
+ ENUM_VALUE16175 = 16673;
+ ENUM_VALUE16176 = 1043;
+ ENUM_VALUE16177 = 16689;
+ ENUM_VALUE16178 = 16690;
+ ENUM_VALUE16179 = 16691;
+ ENUM_VALUE16180 = 16692;
+ ENUM_VALUE16181 = 16693;
+ ENUM_VALUE16182 = 16694;
+ ENUM_VALUE16183 = 16695;
+ ENUM_VALUE16184 = 1044;
+ ENUM_VALUE16185 = 16705;
+ ENUM_VALUE16186 = 16706;
+ ENUM_VALUE16187 = 16707;
+ ENUM_VALUE16188 = 16708;
+ ENUM_VALUE16189 = 16709;
+ ENUM_VALUE16190 = 16710;
+ ENUM_VALUE16191 = 16711;
+ ENUM_VALUE16192 = 16712;
+ ENUM_VALUE16193 = 16713;
+ ENUM_VALUE16194 = 1046;
+ ENUM_VALUE16195 = 16737;
+ ENUM_VALUE16196 = 1047;
+ ENUM_VALUE16197 = 16753;
+ ENUM_VALUE16198 = 268049;
+ ENUM_VALUE16199 = 268050;
+ ENUM_VALUE16200 = 268051;
+ ENUM_VALUE16201 = 268052;
+ ENUM_VALUE16202 = 1048;
+ ENUM_VALUE16203 = 16769;
+ ENUM_VALUE16204 = 16770;
+ ENUM_VALUE16205 = 16771;
+ ENUM_VALUE16206 = 16772;
+ ENUM_VALUE16207 = 16773;
+ ENUM_VALUE16208 = 1049;
+ ENUM_VALUE16209 = 1056;
+ ENUM_VALUE16210 = 1058;
+ ENUM_VALUE16211 = 1059;
+ ENUM_VALUE16212 = 1060;
+ ENUM_VALUE16213 = 1061;
+ ENUM_VALUE16214 = 5;
+ ENUM_VALUE16215 = 6;
+ ENUM_VALUE16216 = 97;
+ ENUM_VALUE16217 = 98;
+ ENUM_VALUE16218 = 99;
+ ENUM_VALUE16219 = 100;
+ ENUM_VALUE16220 = 101;
+ ENUM_VALUE16221 = 102;
+ ENUM_VALUE16222 = 103;
+ ENUM_VALUE16223 = 104;
+ ENUM_VALUE16224 = 105;
+ ENUM_VALUE16225 = 106;
+ ENUM_VALUE16226 = 108;
+ ENUM_VALUE16227 = 1729;
+ ENUM_VALUE16228 = 1730;
+ ENUM_VALUE16229 = 1731;
+ ENUM_VALUE16230 = 7;
+ ENUM_VALUE16231 = 8;
+ ENUM_VALUE16232 = 9;
+ ENUM_VALUE16233 = 10;
+ ENUM_VALUE16234 = 161;
+ ENUM_VALUE16235 = 2577;
+ ENUM_VALUE16236 = 41233;
+ ENUM_VALUE16237 = 41234;
+ ENUM_VALUE16238 = 2578;
+ ENUM_VALUE16239 = 2579;
+ ENUM_VALUE16240 = 41265;
+ ENUM_VALUE16241 = 2580;
+ ENUM_VALUE16242 = 2581;
+ ENUM_VALUE16243 = 41297;
+ ENUM_VALUE16244 = 41298;
+ ENUM_VALUE16245 = 41299;
+ ENUM_VALUE16246 = 41300;
+ ENUM_VALUE16247 = 2582;
+ ENUM_VALUE16248 = 2583;
+ ENUM_VALUE16249 = 2584;
+ ENUM_VALUE16250 = 162;
+ ENUM_VALUE16251 = 2593;
+ ENUM_VALUE16252 = 41489;
+ ENUM_VALUE16253 = 663825;
+ ENUM_VALUE16254 = 663826;
+ ENUM_VALUE16255 = 41490;
+ ENUM_VALUE16256 = 41491;
+ ENUM_VALUE16257 = 41492;
+ ENUM_VALUE16258 = 663873;
+ ENUM_VALUE16259 = 2594;
+ ENUM_VALUE16260 = 41505;
+ ENUM_VALUE16261 = 41506;
+ ENUM_VALUE16262 = 41507;
+ ENUM_VALUE16263 = 2595;
+ ENUM_VALUE16264 = 41521;
+ ENUM_VALUE16265 = 41522;
+ ENUM_VALUE16266 = 41523;
+ ENUM_VALUE16267 = 41524;
+ ENUM_VALUE16268 = 41525;
+ ENUM_VALUE16269 = 664401;
+ ENUM_VALUE16270 = 664402;
+ ENUM_VALUE16271 = 41526;
+ ENUM_VALUE16272 = 41527;
+ ENUM_VALUE16273 = 2596;
+ ENUM_VALUE16274 = 2597;
+ ENUM_VALUE16275 = 2598;
+ ENUM_VALUE16276 = 41569;
+ ENUM_VALUE16277 = 41570;
+ ENUM_VALUE16278 = 41571;
+ ENUM_VALUE16279 = 41572;
+ ENUM_VALUE16280 = 41573;
+ ENUM_VALUE16281 = 665169;
+ ENUM_VALUE16282 = 665170;
+ ENUM_VALUE16283 = 665171;
+ ENUM_VALUE16284 = 665172;
+ ENUM_VALUE16285 = 2599;
+ ENUM_VALUE16286 = 2600;
+ ENUM_VALUE16287 = 2601;
+ ENUM_VALUE16288 = 2603;
+ ENUM_VALUE16289 = 2604;
+ ENUM_VALUE16290 = 163;
+ ENUM_VALUE16291 = 2608;
+ ENUM_VALUE16292 = 2609;
+ ENUM_VALUE16293 = 2610;
+ ENUM_VALUE16294 = 2611;
+ ENUM_VALUE16295 = 2612;
+ ENUM_VALUE16296 = 164;
+ ENUM_VALUE16297 = 2625;
+ ENUM_VALUE16298 = 2626;
+ ENUM_VALUE16299 = 42017;
+ ENUM_VALUE16300 = 42018;
+ ENUM_VALUE16301 = 42019;
+ ENUM_VALUE16302 = 2627;
+ ENUM_VALUE16303 = 2628;
+ ENUM_VALUE16304 = 165;
+ ENUM_VALUE16305 = 2641;
+ ENUM_VALUE16306 = 42257;
+ ENUM_VALUE16307 = 42258;
+ ENUM_VALUE16308 = 2642;
+ ENUM_VALUE16309 = 2643;
+ ENUM_VALUE16310 = 2644;
+ ENUM_VALUE16311 = 2646;
+ ENUM_VALUE16312 = 2647;
+ ENUM_VALUE16313 = 42353;
+ ENUM_VALUE16314 = 2648;
+ ENUM_VALUE16315 = 2649;
+ ENUM_VALUE16316 = 2650;
+ ENUM_VALUE16317 = 2651;
+ ENUM_VALUE16318 = 2652;
+ ENUM_VALUE16319 = 2653;
+ ENUM_VALUE16320 = 2654;
+ ENUM_VALUE16321 = 42481;
+ ENUM_VALUE16322 = 42482;
+ ENUM_VALUE16323 = 42483;
+ ENUM_VALUE16324 = 166;
+ ENUM_VALUE16325 = 2657;
+ ENUM_VALUE16326 = 2658;
+ ENUM_VALUE16327 = 42529;
+ ENUM_VALUE16328 = 2659;
+ ENUM_VALUE16329 = 2660;
+ ENUM_VALUE16330 = 2661;
+ ENUM_VALUE16331 = 2662;
+ ENUM_VALUE16332 = 2663;
+ ENUM_VALUE16333 = 42609;
+ ENUM_VALUE16334 = 2664;
+ ENUM_VALUE16335 = 2665;
+ ENUM_VALUE16336 = 42753;
+ ENUM_VALUE16337 = 42754;
+ ENUM_VALUE16338 = 42755;
+ ENUM_VALUE16339 = 11;
+ ENUM_VALUE16340 = 177;
+ ENUM_VALUE16341 = 2833;
+ ENUM_VALUE16342 = 179;
+ ENUM_VALUE16343 = 180;
+ ENUM_VALUE16344 = 2881;
+ ENUM_VALUE16345 = 182;
+ ENUM_VALUE16346 = 183;
+ ENUM_VALUE16347 = 12;
+ ENUM_VALUE16348 = 3089;
+ ENUM_VALUE16349 = 194;
+ ENUM_VALUE16350 = 195;
+ ENUM_VALUE16351 = 196;
+ ENUM_VALUE16352 = 198;
+ ENUM_VALUE16353 = 3169;
+ ENUM_VALUE16354 = 199;
+ ENUM_VALUE16355 = 200;
+ ENUM_VALUE16356 = 208;
+ ENUM_VALUE16357 = 3329;
+ ENUM_VALUE16358 = 3330;
+ ENUM_VALUE16359 = 3331;
+ ENUM_VALUE16360 = 209;
+ ENUM_VALUE16361 = 210;
+ ENUM_VALUE16362 = 211;
+ ENUM_VALUE16363 = 3377;
+ ENUM_VALUE16364 = 3378;
+ ENUM_VALUE16365 = 3379;
+ ENUM_VALUE16366 = 3380;
+ ENUM_VALUE16367 = 3381;
+ ENUM_VALUE16368 = 865809;
+ ENUM_VALUE16369 = 865810;
+ ENUM_VALUE16370 = 865811;
+ ENUM_VALUE16371 = 865812;
+ ENUM_VALUE16372 = 865813;
+ ENUM_VALUE16373 = 865814;
+ ENUM_VALUE16374 = 865815;
+ ENUM_VALUE16375 = 865816;
+ ENUM_VALUE16376 = 865817;
+ ENUM_VALUE16377 = 865818;
+ ENUM_VALUE16378 = 865819;
+ ENUM_VALUE16379 = 865820;
+ ENUM_VALUE16380 = 865821;
+ ENUM_VALUE16381 = 865822;
+ ENUM_VALUE16382 = 865823;
+ ENUM_VALUE16383 = 865824;
+ ENUM_VALUE16384 = 865825;
+ ENUM_VALUE16385 = 865826;
+ ENUM_VALUE16386 = 865827;
+ ENUM_VALUE16387 = 865828;
+ ENUM_VALUE16388 = 865829;
+ ENUM_VALUE16389 = 212;
+ ENUM_VALUE16390 = 3393;
+ ENUM_VALUE16391 = 3394;
+ ENUM_VALUE16392 = 3395;
+ ENUM_VALUE16393 = 213;
+ ENUM_VALUE16394 = 214;
+ ENUM_VALUE16395 = 215;
+ ENUM_VALUE16396 = 3441;
+ ENUM_VALUE16397 = 3442;
+ ENUM_VALUE16398 = 216;
+ ENUM_VALUE16399 = 217;
+ ENUM_VALUE16400 = 3473;
+ ENUM_VALUE16401 = 3474;
+ ENUM_VALUE16402 = 3475;
+ ENUM_VALUE16403 = 254;
+ ENUM_VALUE16404 = 255;
+}
+
+enum Enum16553 {
+ ENUM_VALUE16554 = 0;
+ ENUM_VALUE16555 = 1;
+ ENUM_VALUE16556 = 2;
+ ENUM_VALUE16557 = 3;
+ ENUM_VALUE16558 = 4;
+ ENUM_VALUE16559 = 5;
+ ENUM_VALUE16560 = 6;
+ ENUM_VALUE16561 = 7;
+ ENUM_VALUE16562 = 8;
+ ENUM_VALUE16563 = 9;
+}
+
+enum Enum16728 {
+ ENUM_VALUE16729 = 1;
+ ENUM_VALUE16730 = 2;
+ ENUM_VALUE16731 = 3;
+}
+
+enum Enum16732 {
+ ENUM_VALUE16733 = 1;
+ ENUM_VALUE16734 = 2;
+ ENUM_VALUE16735 = 3;
+ ENUM_VALUE16736 = 4;
+ ENUM_VALUE16737 = 5;
+}
+
+enum Enum16738 {
+ ENUM_VALUE16739 = 1;
+ ENUM_VALUE16740 = 2;
+ ENUM_VALUE16741 = 3;
+ ENUM_VALUE16742 = 4;
+ ENUM_VALUE16743 = 5;
+ ENUM_VALUE16744 = 6;
+ ENUM_VALUE16745 = 7;
+}
+
+enum Enum16698 {
+ ENUM_VALUE16699 = -1;
+ ENUM_VALUE16700 = 100;
+ ENUM_VALUE16701 = 2;
+ ENUM_VALUE16702 = 0;
+ ENUM_VALUE16703 = 1;
+ ENUM_VALUE16704 = 4;
+ ENUM_VALUE16705 = 11;
+ ENUM_VALUE16706 = 12;
+ ENUM_VALUE16707 = 3;
+ ENUM_VALUE16708 = 5;
+ ENUM_VALUE16709 = 6;
+ ENUM_VALUE16710 = 7;
+ ENUM_VALUE16711 = 8;
+ ENUM_VALUE16712 = 9;
+ ENUM_VALUE16713 = 10;
+ ENUM_VALUE16714 = 13;
+ ENUM_VALUE16715 = 14;
+ ENUM_VALUE16716 = 15;
+ ENUM_VALUE16717 = 16;
+ ENUM_VALUE16718 = 18;
+ ENUM_VALUE16719 = 17;
+ ENUM_VALUE16720 = 19;
+ ENUM_VALUE16721 = 20;
+}
+
+enum Enum16819 {
+ ENUM_VALUE16820 = 0;
+ ENUM_VALUE16821 = 1;
+ ENUM_VALUE16822 = 2;
+ ENUM_VALUE16823 = 3;
+ ENUM_VALUE16824 = 4;
+ ENUM_VALUE16825 = 5;
+}
+
+enum Enum16925 {
+ ENUM_VALUE16926 = 0;
+ ENUM_VALUE16927 = 1;
+ ENUM_VALUE16928 = 2;
+ ENUM_VALUE16929 = 3;
+ ENUM_VALUE16930 = 4;
+ ENUM_VALUE16931 = 5;
+ ENUM_VALUE16932 = 6;
+ ENUM_VALUE16933 = 7;
+ ENUM_VALUE16934 = 8;
+ ENUM_VALUE16935 = 9;
+ ENUM_VALUE16936 = 10;
+ ENUM_VALUE16937 = 11;
+ ENUM_VALUE16938 = 12;
+ ENUM_VALUE16939 = 13;
+}
+
+enum Enum22854 {
+ ENUM_VALUE22855 = 0;
+ ENUM_VALUE22856 = 1;
+}
+
+enum Enum24361 {
+ ENUM_VALUE24362 = 0;
+ ENUM_VALUE24363 = 1;
+ ENUM_VALUE24364 = 2;
+ ENUM_VALUE24365 = 3;
+}
+
+enum Enum16891 {
+ ENUM_VALUE16892 = 0;
+ ENUM_VALUE16893 = 1;
+ ENUM_VALUE16894 = 2;
+ ENUM_VALUE16895 = 3;
+ ENUM_VALUE16896 = 4;
+ ENUM_VALUE16897 = 5;
+ ENUM_VALUE16898 = 6;
+ ENUM_VALUE16899 = 7;
+ ENUM_VALUE16900 = 8;
+ ENUM_VALUE16901 = 9;
+ ENUM_VALUE16902 = 10;
+ ENUM_VALUE16903 = 11;
+ ENUM_VALUE16904 = 12;
+ ENUM_VALUE16905 = 13;
+ ENUM_VALUE16906 = 14;
+ ENUM_VALUE16907 = 15;
+ ENUM_VALUE16908 = 16;
+ ENUM_VALUE16909 = 17;
+ ENUM_VALUE16910 = 18;
+ ENUM_VALUE16911 = 19;
+ ENUM_VALUE16912 = 20;
+ ENUM_VALUE16913 = 21;
+ ENUM_VALUE16914 = 22;
+ ENUM_VALUE16915 = 23;
+ ENUM_VALUE16916 = 24;
+ ENUM_VALUE16917 = 25;
+ ENUM_VALUE16918 = 26;
+ ENUM_VALUE16919 = 27;
+ ENUM_VALUE16920 = 28;
+ ENUM_VALUE16921 = 29;
+ ENUM_VALUE16922 = 30;
+ ENUM_VALUE16923 = 31;
+}
+
+enum Enum27361 {
+ ENUM_VALUE27362 = 0;
+ ENUM_VALUE27363 = 1;
+ ENUM_VALUE27364 = 2;
+ ENUM_VALUE27365 = 3;
+ ENUM_VALUE27366 = 4;
+}
+
+enum Enum33960 {
+ ENUM_VALUE33961 = 0;
+ ENUM_VALUE33962 = 1;
+ ENUM_VALUE33963 = 2;
+ ENUM_VALUE33964 = 3;
+ ENUM_VALUE33965 = 4;
+ ENUM_VALUE33966 = 5;
+ ENUM_VALUE33967 = 6;
+}
+
+enum Enum34388 {
+ ENUM_VALUE34389 = 1;
+}
+
+enum Enum35477 {
+ ENUM_VALUE35478 = 4;
+ ENUM_VALUE35479 = 3;
+ ENUM_VALUE35480 = 2;
+ ENUM_VALUE35481 = 1;
+ ENUM_VALUE35482 = 0;
+}
+
+enum Enum35507 {
+ ENUM_VALUE35508 = 0;
+ ENUM_VALUE35509 = 1;
+ ENUM_VALUE35510 = 2;
+ ENUM_VALUE35511 = 3;
+ ENUM_VALUE35512 = 4;
+ ENUM_VALUE35513 = 5;
+ ENUM_VALUE35514 = 6;
+ ENUM_VALUE35515 = 7;
+ ENUM_VALUE35516 = 8;
+ ENUM_VALUE35517 = 9;
+}
+
+enum Enum36860 {
+ ENUM_VALUE36861 = 0;
+ ENUM_VALUE36862 = 1;
+ ENUM_VALUE36863 = 2;
+ ENUM_VALUE36864 = 3;
+ ENUM_VALUE36865 = 4;
+ ENUM_VALUE36866 = 5;
+ ENUM_VALUE36867 = 6;
+ ENUM_VALUE36868 = 7;
+}
+
+enum Enum36890 {
+ ENUM_VALUE36891 = 0;
+ ENUM_VALUE36892 = 1;
+}
+
diff --git a/benchmarks/datasets/google_message4/benchmark_message4.proto b/benchmarks/datasets/google_message4/benchmark_message4.proto
new file mode 100644
index 00000000..21613939
--- /dev/null
+++ b/benchmarks/datasets/google_message4/benchmark_message4.proto
@@ -0,0 +1,454 @@
+syntax = "proto2";
+
+import "datasets/google_message4/benchmark_message4_1.proto";
+import "datasets/google_message4/benchmark_message4_2.proto";
+import "datasets/google_message4/benchmark_message4_3.proto";
+package benchmarks.google_message4;
+
+option cc_enable_arenas = true;
+option java_package = "com.google.protobuf.benchmarks";
+
+message GoogleMessage4 {
+ optional int32 field37503 = 1;
+ optional .benchmarks.google_message4.UnusedEmptyMessage field37504 = 2;
+ optional .benchmarks.google_message4.UnusedEmptyMessage field37505 = 3;
+ optional .benchmarks.google_message4.UnusedEmptyMessage field37506 = 4;
+ optional .benchmarks.google_message4.UnusedEmptyMessage field37507 = 5;
+ optional .benchmarks.google_message4.Message37489 field37508 = 6;
+ optional .benchmarks.google_message4.UnusedEmptyMessage field37509 = 7;
+ optional .benchmarks.google_message4.UnusedEmptyMessage field37510 = 8;
+ optional .benchmarks.google_message4.UnusedEmptyMessage field37511 = 9;
+ optional .benchmarks.google_message4.UnusedEmptyMessage field37512 = 10;
+ optional .benchmarks.google_message4.UnusedEmptyMessage field37513 = 11;
+ optional .benchmarks.google_message4.UnusedEmptyMessage field37514 = 12;
+ optional .benchmarks.google_message4.UnusedEmptyMessage field37515 = 13;
+ optional .benchmarks.google_message4.UnusedEmptyMessage field37516 = 14;
+ optional .benchmarks.google_message4.UnusedEmptyMessage field37517 = 15;
+ optional .benchmarks.google_message4.UnusedEmptyMessage field37518 = 16;
+}
+
+message Message37489 {
+ optional .benchmarks.google_message4.Message2517 field37534 = 3;
+ optional .benchmarks.google_message4.Message7330 field37535 = 4;
+ optional .benchmarks.google_message4.Message8815 field37536 = 6;
+ optional .benchmarks.google_message4.Message8817 field37537 = 7;
+ optional .benchmarks.google_message4.Message8835 field37538 = 8;
+ optional .benchmarks.google_message4.Message8848 field37539 = 9;
+ optional .benchmarks.google_message4.Message8856 field37540 = 11;
+ optional .benchmarks.google_message4.Message12717 field37541 = 15;
+ optional .benchmarks.google_message4.Message12748 field37542 = 20;
+ optional .benchmarks.google_message4.Message7319 field37543 = 22;
+ optional .benchmarks.google_message4.Message12908 field37544 = 24;
+ optional .benchmarks.google_message4.Message12910 field37545 = 25;
+ optional .benchmarks.google_message4.Message12960 field37546 = 30;
+ optional .benchmarks.google_message4.Message176 field37547 = 33;
+ optional .benchmarks.google_message4.Message13000 field37548 = 34;
+ optional .benchmarks.google_message4.Message13035 field37549 = 35;
+ optional .benchmarks.google_message4.Message37331 field37550 = 36;
+ optional .benchmarks.google_message4.Message37329 field37551 = 37;
+ optional .benchmarks.google_message4.Message37327 field37552 = 38;
+ optional .benchmarks.google_message4.Message37333 field37553 = 39;
+ optional .benchmarks.google_message4.Message37335 field37554 = 40;
+}
+
+message Message7319 {
+ optional .benchmarks.google_message4.UnusedEmptyMessage field7321 = 1;
+ optional .benchmarks.google_message4.UnusedEmptyMessage field7322 = 7;
+}
+
+message Message12717 {
+ optional .benchmarks.google_message4.UnusedEmptyMessage field12719 = 1;
+ optional string field12720 = 2;
+ optional uint32 field12721 = 3;
+ optional .benchmarks.google_message4.Message11976 field12722 = 4;
+ repeated .benchmarks.google_message4.Message11948 field12723 = 5;
+ optional .benchmarks.google_message4.Message11947 field12724 = 6;
+ optional .benchmarks.google_message4.Message12687 field12725 = 7;
+ repeated .benchmarks.google_message4.Message11948 field12726 = 8;
+ optional int64 field12727 = 9;
+}
+
+message Message37331 {
+ optional .benchmarks.google_message4.UnusedEmptyMessage field37367 = 4;
+ required .benchmarks.google_message4.Message37326 field37368 = 1;
+ required int64 field37369 = 2;
+ required bytes field37370 = 3;
+}
+
+message Message8815 {
+ optional .benchmarks.google_message4.UnusedEmptyMessage field8819 = 1;
+ repeated .benchmarks.google_message4.Message8768 field8820 = 2;
+ optional bool field8821 = 3;
+}
+
+message Message7330 {
+ optional .benchmarks.google_message4.UnusedEmptyMessage field7332 = 1;
+ optional .benchmarks.google_message4.Message3069 field7333 = 2;
+ optional .benchmarks.google_message4.Message7320 field7334 = 3;
+ optional .benchmarks.google_message4.UnusedEmptyMessage field7335 = 4;
+ optional bool field7336 = 5;
+ optional int64 field7337 = 6;
+}
+
+message Message12960 {
+ optional .benchmarks.google_message4.UnusedEmptyMessage field12962 = 1;
+ optional .benchmarks.google_message4.Message12948 field12963 = 2;
+}
+
+message Message176 {
+ required string field408 = 1;
+ optional int32 field409 = 4;
+ optional string field410 = 50;
+ optional int32 field411 = 2;
+ optional uint64 field412 = 47;
+ optional string field413 = 56;
+ optional int32 field414 = 24;
+ optional string field415 = 21;
+ optional bytes field416 = 3;
+ optional string field417 = 57;
+ optional int32 field418 = 51;
+ optional float field419 = 7;
+ optional bool field420 = 5;
+ optional bool field421 = 28;
+ optional int32 field422 = 6;
+ repeated int32 field423 = 40;
+ optional .benchmarks.google_message4.UnusedEmptyMessage field424 = 41;
+ optional bool field425 = 25;
+ optional uint64 field426 = 26;
+ optional int32 field427 = 38;
+ optional bytes field428 = 15;
+ optional bytes field429 = 55;
+ optional bytes field430 = 16;
+ optional bytes field431 = 23;
+ optional bool field432 = 33;
+ optional bytes field433 = 31;
+ optional bytes field434 = 32;
+ optional int32 field435 = 36;
+ optional uint64 field436 = 17;
+ optional int32 field437 = 45;
+ optional uint64 field438 = 18;
+ optional string field439 = 46;
+ optional .benchmarks.google_message4.UnusedEmptyMessage field440 = 64;
+ optional int32 field441 = 39;
+ optional uint64 field442 = 48;
+ optional bytes field443 = 19;
+ optional bytes field444 = 42;
+ optional bytes field445 = 43;
+ optional string field446 = 44;
+ optional string field447 = 49;
+ optional int64 field448 = 20;
+ optional bool field449 = 53;
+ optional .benchmarks.google_message4.UnusedEmptyMessage field450 = 54;
+ repeated .benchmarks.google_message4.UnusedEmptyMessage field451 = 22;
+ optional .benchmarks.google_message4.UnusedEnum field452 = 27;
+ optional int32 field453 = 29;
+ optional int32 field454 = 30;
+ optional .benchmarks.google_message4.UnusedEnum field455 = 37;
+ optional .benchmarks.google_message4.UnusedEnum field456 = 34;
+ optional int32 field457 = 35;
+ repeated group Message178 = 101 {
+ }
+ optional bool field459 = 52;
+ optional uint64 field460 = 58;
+ optional uint64 field461 = 59;
+ optional .benchmarks.google_message4.UnusedEmptyMessage field462 = 60;
+ optional .benchmarks.google_message4.UnusedEmptyMessage field463 = 61;
+ optional .benchmarks.google_message4.UnusedEnum field464 = 62;
+ repeated string field465 = 63;
+ optional .benchmarks.google_message4.UnusedEmptyMessage field466 = 65;
+}
+
+message Message8817 {
+ optional .benchmarks.google_message4.UnusedEmptyMessage field8825 = 1;
+ repeated .benchmarks.google_message4.Message8768 field8826 = 2;
+ optional string field8827 = 3;
+}
+
+message Message8835 {
+ optional .benchmarks.google_message4.UnusedEmptyMessage field8837 = 1;
+ repeated string field8838 = 2;
+ optional .benchmarks.google_message4.UnusedEnum field8839 = 3;
+}
+
+message Message37333 {
+ optional .benchmarks.google_message4.UnusedEmptyMessage field37372 = 3;
+ required .benchmarks.google_message4.Message37326 field37373 = 1;
+ optional uint64 field37374 = 2;
+}
+
+message Message13000 {
+ optional int64 field13015 = 1;
+ repeated .benchmarks.google_message4.Message12979 field13016 = 2;
+}
+
+message Message37335 {
+ optional .benchmarks.google_message4.UnusedEmptyMessage field37376 = 4;
+ required .benchmarks.google_message4.Message37326 field37377 = 1;
+ required .benchmarks.google_message4.Message37173 field37378 = 2;
+ optional uint64 field37379 = 3;
+}
+
+message Message8848 {
+ optional .benchmarks.google_message4.UnusedEmptyMessage field8850 = 1;
+ optional string field8851 = 2;
+ optional bytes field8852 = 3;
+}
+
+message Message13035 {
+ optional int64 field13058 = 1;
+ repeated int64 field13059 = 2;
+}
+
+message Message8856 {
+ optional .benchmarks.google_message4.UnusedEmptyMessage field8858 = 1;
+ optional string field8859 = 2;
+}
+
+message Message12908 {
+ optional .benchmarks.google_message4.UnusedEmptyMessage field12912 = 1;
+ optional string field12913 = 2;
+ optional .benchmarks.google_message4.Message12799 field12914 = 3;
+ optional int64 field12915 = 4;
+ optional .benchmarks.google_message4.Message3804 field12916 = 5;
+ optional .benchmarks.google_message4.Message12870 field12917 = 6;
+}
+
+message Message12910 {
+ optional .benchmarks.google_message4.UnusedEmptyMessage field12920 = 1;
+ optional .benchmarks.google_message4.Message12818 field12921 = 2;
+ repeated .benchmarks.google_message4.Message12903 field12922 = 3;
+}
+
+message Message37327 {
+ optional .benchmarks.google_message4.UnusedEmptyMessage field37347 = 11;
+ required .benchmarks.google_message4.Message37326 field37348 = 1;
+ optional bool field37349 = 2;
+ optional bool field37350 = 3;
+ optional bool field37351 = 4;
+ optional bool field37352 = 5;
+ optional bool field37353 = 6;
+ optional .benchmarks.google_message4.UnusedEmptyMessage field37354 = 7;
+ optional uint64 field37355 = 8;
+ optional bool field37356 = 9;
+ optional bool field37357 = 10;
+}
+
+message Message37329 {
+ optional .benchmarks.google_message4.UnusedEmptyMessage field37359 = 6;
+ required .benchmarks.google_message4.Message37326 field37360 = 1;
+ required int64 field37361 = 2;
+ required int64 field37362 = 3;
+ optional bool field37363 = 4;
+}
+
+message Message2517 {
+ optional .benchmarks.google_message4.UnusedEmptyMessage field2519 = 1;
+ optional .benchmarks.google_message4.Message2356 field2520 = 2;
+ optional .benchmarks.google_message4.Message0 field2521 = 3;
+ optional .benchmarks.google_message4.Message2463 field2522 = 4;
+ repeated .benchmarks.google_message4.Message971 field2523 = 5;
+}
+
+message Message12748 {
+ optional .benchmarks.google_message4.UnusedEmptyMessage field12754 = 1;
+ optional string field12755 = 2;
+ optional string field12756 = 3;
+ optional .benchmarks.google_message4.Enum12735 field12757 = 4;
+}
+
+message Message12687 {
+ repeated .benchmarks.google_message4.Message12686 field12701 = 1;
+}
+
+message Message11948 {
+ optional string field11954 = 1;
+ repeated .benchmarks.google_message4.Message11949 field11955 = 2;
+ optional bool field11956 = 3;
+}
+
+message Message11976 {
+ repeated .benchmarks.google_message4.Message11975 field12002 = 1;
+}
+
+message Message7320 {
+ optional .benchmarks.google_message4.UnusedEmptyMessage field7323 = 1;
+ optional .benchmarks.google_message4.Message7287 field7324 = 8;
+}
+
+message Message3069 {
+ optional .benchmarks.google_message4.Message3061 field3374 = 1;
+ optional bytes field3375 = 2;
+ repeated group Message3070 = 3 {
+ required .benchmarks.google_message4.Enum3071 field3378 = 4;
+ required bytes field3379 = 5;
+ }
+ extensions 10000 to 536870911;
+}
+
+message Message12948 {
+ repeated .benchmarks.google_message4.Message12949 field12958 = 1;
+}
+
+message Message8768 {
+ optional string field8782 = 1;
+ optional .benchmarks.google_message4.Message8572 field8783 = 2;
+ optional bool field8784 = 3;
+ repeated .benchmarks.google_message4.Message8774 field8785 = 4;
+ optional int64 field8786 = 5;
+ optional .benchmarks.google_message4.UnusedEmptyMessage field8787 = 6;
+ optional string field8788 = 7;
+}
+
+message Message12979 {
+ required bytes field12981 = 1;
+ repeated string field12982 = 2;
+ optional .benchmarks.google_message4.UnusedEmptyMessage field12983 = 3;
+ optional int64 field12984 = 4;
+ optional string field12985 = 5;
+ optional int32 field12986 = 6;
+ optional .benchmarks.google_message4.UnusedEmptyMessage field12987 = 7;
+}
+
+message Message37173 {
+ optional string field37252 = 1;
+ optional int64 field37253 = 2;
+ optional .benchmarks.google_message4.UnusedEnum field37254 = 4;
+ optional bool field37255 = 5;
+ optional bool field37256 = 6;
+ optional bool field37257 = 7;
+ optional string field37258 = 8;
+ optional string field37259 = 9;
+ optional uint32 field37260 = 10;
+ optional fixed32 field37261 = 11;
+ optional string field37262 = 12;
+ optional string field37263 = 13;
+ optional string field37264 = 14;
+ optional int32 field37265 = 15;
+ optional int64 field37266 = 16;
+ optional int64 field37267 = 17;
+ optional int32 field37268 = 18;
+ optional int32 field37269 = 19;
+ optional .benchmarks.google_message4.UnusedEmptyMessage field37270 = 20;
+ optional .benchmarks.google_message4.UnusedEmptyMessage field37271 = 21;
+ optional .benchmarks.google_message4.UnusedEmptyMessage field37272 = 22;
+ optional .benchmarks.google_message4.UnusedEmptyMessage field37273 = 23;
+ optional .benchmarks.google_message4.UnusedEmptyMessage field37274 = 24;
+ optional string field37275 = 25;
+ optional bool field37276 = 26;
+}
+
+message Message12799 {
+ required string field12809 = 1;
+ repeated fixed64 field12810 = 2;
+ repeated .benchmarks.google_message4.Message12776 field12811 = 8;
+ repeated int32 field12812 = 4;
+ repeated .benchmarks.google_message4.Message12798 field12813 = 5;
+ required int32 field12814 = 3;
+ optional int32 field12815 = 6;
+ optional .benchmarks.google_message4.Message12797 field12816 = 7;
+}
+
+message Message12870 {
+ required int32 field12879 = 1;
+ optional int32 field12880 = 7;
+ required int32 field12881 = 2;
+ optional uint64 field12882 = 3;
+ optional string field12883 = 2001;
+ optional fixed64 field12884 = 4;
+ repeated fixed64 field12885 = 14;
+ optional int32 field12886 = 9;
+ optional int64 field12887 = 18;
+ repeated .benchmarks.google_message4.Message12870 field12888 = 8;
+ optional int32 field12889 = 5;
+ optional uint64 field12890 = 6;
+ optional int32 field12891 = 10;
+ optional int32 field12892 = 11;
+ optional double field12893 = 12;
+ optional .benchmarks.google_message4.Message12825 field12894 = 13;
+ optional double field12895 = 15;
+ optional string field12896 = 16;
+ optional .benchmarks.google_message4.Enum12871 field12897 = 17;
+ optional int32 field12898 = 19;
+}
+
+message Message3804 {
+ required int64 field3818 = 1;
+ required bool field3819 = 2;
+ repeated .benchmarks.google_message4.Enum3805 field3820 = 4;
+ optional int32 field3821 = 5;
+ optional bool field3822 = 6;
+ optional int64 field3823 = 7;
+ optional .benchmarks.google_message4.Enum3783 field3824 = 8;
+}
+
+message Message12903 {
+ optional string field12905 = 1;
+ optional .benchmarks.google_message4.Message8587 field12906 = 2;
+ repeated .benchmarks.google_message4.Message8590 field12907 = 3;
+}
+
+message Message37326 {
+ required string field37345 = 1;
+ optional string field37346 = 2;
+}
+
+message Message2356 {
+ optional .benchmarks.google_message4.Message1374 field2368 = 121;
+ optional uint64 field2369 = 1;
+ optional int32 field2370 = 2;
+ optional int32 field2371 = 17;
+ required string field2372 = 3;
+ optional int32 field2373 = 7;
+ optional bytes field2374 = 8;
+ optional string field2375 = 4;
+ optional string field2376 = 101;
+ optional int32 field2377 = 102;
+ optional int32 field2378 = 103;
+ optional int32 field2379 = 104;
+ optional int32 field2380 = 113;
+ optional int32 field2381 = 114;
+ optional int32 field2382 = 115;
+ optional int32 field2383 = 117;
+ optional int32 field2384 = 118;
+ optional int32 field2385 = 119;
+ optional int32 field2386 = 105;
+ optional bytes field2387 = 5;
+ optional group Message2357 = 6 {
+ optional int64 field2399 = 9;
+ optional int32 field2400 = 10;
+ optional int32 field2401 = 11;
+ optional int32 field2402 = 12;
+ optional int32 field2403 = 13;
+ optional int32 field2404 = 116;
+ optional int32 field2405 = 106;
+ required bytes field2406 = 14;
+ optional int32 field2407 = 45;
+ optional int32 field2408 = 112;
+ optional bool field2409 = 122;
+ optional bytes field2410 = 124;
+ }
+ optional string field2389 = 120;
+ optional group Message2358 = 107 {
+ }
+ repeated group Message2359 = 40 {
+ }
+ optional int32 field2392 = 50;
+ optional .benchmarks.google_message4.UnusedEmptyMessage field2393 = 60;
+ optional .benchmarks.google_message4.UnusedEmptyMessage field2394 = 70;
+ optional .benchmarks.google_message4.UnusedEmptyMessage field2395 = 80;
+ optional .benchmarks.google_message4.UnusedEmptyMessage field2396 = 90;
+ optional string field2397 = 100;
+ optional string field2398 = 123;
+}
+
+message Message0 {
+ option message_set_wire_format = true;
+ extensions 4 to 2147483646;
+}
+
+message Message971 {
+ optional string field972 = 1;
+ optional int32 field973 = 2;
+ optional bool field974 = 3;
+}
+
diff --git a/benchmarks/datasets/google_message4/benchmark_message4_1.proto b/benchmarks/datasets/google_message4/benchmark_message4_1.proto
new file mode 100644
index 00000000..e7697480
--- /dev/null
+++ b/benchmarks/datasets/google_message4/benchmark_message4_1.proto
@@ -0,0 +1,474 @@
+syntax = "proto2";
+
+import "datasets/google_message4/benchmark_message4_2.proto";
+import "datasets/google_message4/benchmark_message4_3.proto";
+package benchmarks.google_message4;
+
+option cc_enable_arenas = true;
+option java_package = "com.google.protobuf.benchmarks";
+
+message Message2463 {
+ repeated .benchmarks.google_message4.Message2462 field2498 = 1;
+}
+
+message Message12686 {
+ optional string field12699 = 1;
+ optional .benchmarks.google_message4.Message12685 field12700 = 2;
+}
+
+message Message11949 {
+}
+
+message Message11975 {
+ optional string field11992 = 1;
+ optional int32 field11993 = 2;
+ repeated .benchmarks.google_message4.Message10320 field11994 = 3;
+ optional .benchmarks.google_message4.Message11947 field11995 = 4;
+ optional .benchmarks.google_message4.Message11920 field11996 = 5;
+ optional bool field11997 = 6;
+ repeated string field11998 = 7;
+ optional float field11999 = 8;
+ repeated .benchmarks.google_message4.UnusedEnum field12000 = 9;
+ optional int32 field12001 = 11;
+}
+
+message Message7287 {
+ optional .benchmarks.google_message4.Message6133 field7311 = 1;
+ optional .benchmarks.google_message4.UnusedEmptyMessage field7312 = 8;
+ optional string field7313 = 3;
+ optional .benchmarks.google_message4.Message6643 field7314 = 4;
+ optional .benchmarks.google_message4.Enum7288 field7315 = 5;
+ optional bytes field7316 = 6;
+ optional .benchmarks.google_message4.UnusedEmptyMessage field7317 = 7;
+ optional .benchmarks.google_message4.UnusedEmptyMessage field7318 = 9;
+}
+
+message Message3061 {
+ optional string field3286 = 2;
+ optional int32 field3287 = 77;
+ optional string field3288 = 49;
+ required .benchmarks.google_message4.Message3046 field3289 = 3;
+ optional .benchmarks.google_message4.Message3046 field3290 = 58;
+ optional group Message3062 = 4 {
+ required int32 field3335 = 5;
+ optional int32 field3336 = 6;
+ optional int32 field3337 = 7;
+ }
+ optional .benchmarks.google_message4.Message3060 field3292 = 104;
+ optional int64 field3293 = 32;
+ optional int32 field3294 = 41;
+ optional group Message3063 = 13 {
+ required int32 field3338 = 14;
+ optional .benchmarks.google_message4.Enum2851 field3339 = 18;
+ optional int64 field3340 = 15;
+ optional int64 field3341 = 23;
+ }
+ optional .benchmarks.google_message4.Enum2834 field3296 = 94;
+ optional bool field3297 = 25;
+ optional bool field3298 = 50;
+ optional string field3299 = 89;
+ optional string field3300 = 91;
+ optional string field3301 = 105;
+ optional .benchmarks.google_message4.Message3050 field3302 = 53;
+ optional fixed64 field3303 = 51;
+ optional fixed64 field3304 = 106;
+ optional int32 field3305 = 60;
+ optional string field3306 = 44;
+ optional bytes field3307 = 81;
+ optional string field3308 = 70;
+ optional bytes field3309 = 45;
+ optional .benchmarks.google_message4.Enum2806 field3310 = 71;
+ optional int32 field3311 = 72;
+ optional bytes field3312 = 78;
+ optional int32 field3313 = 20;
+ repeated group Message3064 = 8 {
+ required .benchmarks.google_message4.Enum2602 field3342 = 9;
+ optional int32 field3343 = 92;
+ optional string field3344 = 10;
+ optional bytes field3345 = 11;
+ optional int32 field3346 = 12;
+ optional .benchmarks.google_message4.Message3060 field3347 = 98;
+ optional .benchmarks.google_message4.UnusedEmptyMessage field3348 = 82;
+ optional .benchmarks.google_message4.Message3050 field3349 = 80;
+ optional fixed64 field3350 = 52;
+ optional int32 field3351 = 33;
+ optional string field3352 = 42;
+ optional string field3353 = 69;
+ optional bytes field3354 = 43;
+ optional .benchmarks.google_message4.Enum2806 field3355 = 73;
+ optional int32 field3356 = 74;
+ optional int32 field3357 = 90;
+ optional bytes field3358 = 79;
+ optional int32 field3359 = 19;
+ optional .benchmarks.google_message4.Enum2834 field3360 = 95;
+ }
+ optional .benchmarks.google_message4.UnusedEmptyMessage field3315 = 39;
+ optional int32 field3316 = 76;
+ optional group Message3065 = 63 {
+ }
+ optional .benchmarks.google_message4.Enum2806 field3318 = 54;
+ optional int32 field3319 = 46;
+ repeated string field3320 = 24;
+ optional fixed32 field3321 = 38;
+ optional bytes field3322 = 99;
+ optional fixed64 field3323 = 1;
+ optional fixed64 field3324 = 97;
+ repeated .benchmarks.google_message4.Message3040 field3325 = 16;
+ repeated .benchmarks.google_message4.Message3041 field3326 = 61;
+ optional group Message3066 = 21 {
+ optional int32 field3366 = 22;
+ optional int32 field3367 = 55;
+ optional int32 field3368 = 88;
+ optional int32 field3369 = 56;
+ optional int32 field3370 = 75;
+ optional int32 field3371 = 57;
+ optional .benchmarks.google_message4.UnusedEmptyMessage field3372 = 85;
+ optional .benchmarks.google_message4.UnusedEmptyMessage field3373 = 96;
+ }
+ optional .benchmarks.google_message4.UnusedEmptyMessage field3328 = 47;
+ optional .benchmarks.google_message4.UnusedEmptyMessage field3329 = 48;
+ optional fixed64 field3330 = 40;
+ optional .benchmarks.google_message4.UnusedEmptyMessage field3331 = 86;
+ optional .benchmarks.google_message4.UnusedEmptyMessage field3332 = 59;
+ optional int32 field3333 = 17;
+}
+
+message Message12949 {
+}
+
+message Message8572 {
+ optional bytes field8647 = 1;
+ optional bytes field8648 = 3;
+ optional .benchmarks.google_message4.Message3886 field8649 = 4;
+ optional .benchmarks.google_message4.Message3919 field8650 = 57;
+ optional bool field8651 = 5;
+ optional int32 field8652 = 6;
+ optional int32 field8653 = 49;
+ optional .benchmarks.google_message4.Message7905 field8654 = 7;
+ optional int32 field8655 = 10;
+ optional .benchmarks.google_message4.UnusedEmptyMessage field8656 = 11;
+ optional bool field8657 = 35;
+ optional bytes field8658 = 12;
+ optional string field8659 = 14;
+ optional .benchmarks.google_message4.UnusedEmptyMessage field8660 = 13;
+ optional bytes field8661 = 15;
+ optional .benchmarks.google_message4.UnusedEmptyMessage field8662 = 17;
+ optional int32 field8663 = 18;
+ optional int32 field8664 = 19;
+ optional bool field8665 = 20;
+ optional .benchmarks.google_message4.Enum3476 field8666 = 31;
+ optional bool field8667 = 36;
+ optional .benchmarks.google_message4.UnusedEmptyMessage field8668 = 39;
+ optional bytes field8669 = 22;
+ optional int32 field8670 = 24;
+ optional .benchmarks.google_message4.Message3052 field8671 = 25;
+ optional bytes field8672 = 26;
+ optional bytes field8673 = 28;
+ optional int32 field8674 = 29;
+ optional bytes field8675 = 30;
+ optional bytes field8676 = 32;
+ optional string field8677 = 33;
+ optional int32 field8678 = 34;
+ optional int32 field8679 = 37;
+ optional double field8680 = 38;
+ optional double field8681 = 42;
+ optional .benchmarks.google_message4.Message3922 field8682 = 40;
+ optional .benchmarks.google_message4.UnusedEmptyMessage field8683 = 43;
+ optional int64 field8684 = 44;
+ optional .benchmarks.google_message4.Message7929 field8685 = 45;
+ optional uint64 field8686 = 46;
+ optional uint32 field8687 = 48;
+ optional .benchmarks.google_message4.Message7843 field8688 = 47;
+ optional .benchmarks.google_message4.Message7864 field8689 = 50;
+ optional .benchmarks.google_message4.UnusedEmptyMessage field8690 = 52;
+ optional bool field8691 = 58;
+ optional bool field8692 = 54;
+ optional string field8693 = 55;
+ optional .benchmarks.google_message4.UnusedEmptyMessage field8694 = 41;
+ optional .benchmarks.google_message4.UnusedEmptyMessage field8695 = 53;
+ optional .benchmarks.google_message4.Message8575 field8696 = 61;
+}
+
+message Message8774 {
+ optional string field8810 = 1;
+ optional string field8811 = 2;
+ optional string field8812 = 3;
+ optional string field8813 = 4;
+ optional string field8814 = 5;
+}
+
+message Message12776 {
+ optional string field12786 = 1;
+ optional fixed64 field12787 = 11;
+ optional int32 field12788 = 6;
+ optional int32 field12789 = 13;
+ optional int32 field12790 = 14;
+ optional int32 field12791 = 15;
+ optional int32 field12792 = 16;
+ optional .benchmarks.google_message4.UnusedEmptyMessage field12793 = 8;
+ optional .benchmarks.google_message4.Message12774 field12794 = 10;
+ optional .benchmarks.google_message4.UnusedEmptyMessage field12795 = 12;
+ extensions 2 to 2;
+ extensions 3 to 3;
+ extensions 4 to 4;
+ extensions 5 to 5;
+ extensions 7 to 7;
+ extensions 9 to 9;
+}
+
+message Message12798 {
+ optional int32 field12805 = 1;
+ optional int32 field12806 = 2;
+ optional .benchmarks.google_message4.Message12774 field12807 = 6;
+ optional bool field12808 = 7;
+}
+
+message Message12797 {
+ optional .benchmarks.google_message4.Message12796 field12802 = 1;
+ repeated .benchmarks.google_message4.Message12796 field12803 = 2;
+ optional string field12804 = 3;
+}
+
+message Message12825 {
+ repeated .benchmarks.google_message4.Message12818 field12862 = 1;
+ optional int32 field12863 = 2;
+ optional .benchmarks.google_message4.Message12819 field12864 = 3;
+ optional .benchmarks.google_message4.Message12820 field12865 = 4;
+ optional int32 field12866 = 5;
+ repeated .benchmarks.google_message4.Message12821 field12867 = 6;
+ repeated .benchmarks.google_message4.UnusedEmptyMessage field12868 = 7;
+}
+
+message Message8590 {
+}
+
+message Message8587 {
+}
+
+message Message1374 {
+ required string field1375 = 1;
+ optional string field1376 = 2;
+}
+
+message Message2462 {
+ required bytes field2496 = 1;
+ required double field2497 = 2;
+}
+
+message Message12685 {
+ repeated string field12692 = 1;
+ repeated string field12693 = 2;
+ optional int64 field12694 = 3;
+ optional uint32 field12695 = 4;
+ repeated string field12696 = 5;
+ optional string field12697 = 6;
+ optional string field12698 = 7;
+}
+
+message Message10320 {
+ optional .benchmarks.google_message4.Enum10335 field10347 = 1;
+ repeated .benchmarks.google_message4.Message10319 field10348 = 2;
+ optional int32 field10349 = 3;
+ optional int32 field10350 = 4;
+ optional int32 field10351 = 5;
+ optional int32 field10352 = 6;
+ optional .benchmarks.google_message4.Enum10337 field10353 = 7;
+}
+
+message Message11947 {
+ optional uint32 field11951 = 1;
+ optional bool field11952 = 2;
+ optional int32 field11953 = 3;
+}
+
+message Message11920 {
+ optional .benchmarks.google_message4.Enum11901 field11945 = 1;
+ optional .benchmarks.google_message4.UnusedEnum field11946 = 2;
+}
+
+message Message6643 {
+ optional .benchmarks.google_message4.UnusedEmptyMessage field6683 = 3;
+ optional .benchmarks.google_message4.UnusedEmptyMessage field6684 = 4;
+ optional double field6685 = 5;
+ optional double field6686 = 6;
+ optional int32 field6687 = 1;
+ optional int32 field6688 = 2;
+ optional double field6689 = 9;
+ optional bytes field6690 = 10;
+ optional int32 field6691 = 11;
+ optional bool field6692 = 12;
+ optional bool field6693 = 13;
+ optional .benchmarks.google_message4.Message6578 field6694 = 15;
+ optional .benchmarks.google_message4.UnusedEnum field6695 = 16;
+ optional int64 field6696 = 17;
+ repeated .benchmarks.google_message4.UnusedEmptyMessage field6697 = 22;
+ optional .benchmarks.google_message4.UnusedEmptyMessage field6698 = 19;
+ optional .benchmarks.google_message4.UnusedEmptyMessage field6699 = 20;
+ optional int32 field6700 = 21;
+}
+
+message Message6133 {
+ optional .benchmarks.google_message4.Message4016 field6173 = 12;
+ optional double field6174 = 16;
+ required string field6175 = 1;
+ required string field6176 = 2;
+ required string field6177 = 3;
+ optional string field6178 = 4;
+ optional string field6179 = 8;
+ repeated .benchmarks.google_message4.Message6109 field6180 = 5;
+ repeated .benchmarks.google_message4.Message5908 field6181 = 13;
+ repeated .benchmarks.google_message4.Message6107 field6182 = 7;
+ repeated .benchmarks.google_message4.Message6126 field6183 = 9;
+ repeated .benchmarks.google_message4.Message6129 field6184 = 15;
+ optional int32 field6185 = 10;
+ optional int32 field6186 = 11;
+ optional .benchmarks.google_message4.Message4016 field6187 = 17;
+ optional double field6188 = 14;
+ optional double field6189 = 18;
+ optional string field6190 = 19;
+ optional string field6191 = 20;
+ repeated .benchmarks.google_message4.Message5881 field6192 = 21;
+}
+
+message Message6109 {
+ optional string field6140 = 1;
+ required .benchmarks.google_message4.Enum6111 field6141 = 2;
+ optional int32 field6142 = 9;
+ optional string field6143 = 3;
+ repeated .benchmarks.google_message4.Message6110 field6144 = 4;
+ repeated int32 field6145 = 7;
+ repeated int32 field6146 = 8;
+ optional .benchmarks.google_message4.Message6133 field6147 = 10;
+ repeated int32 field6148 = 11;
+ optional string field6149 = 12;
+ optional string field6150 = 13;
+ optional bool field6151 = 14;
+ extensions 1000 to 536870911;
+}
+
+message Message3046 {
+ required .benchmarks.google_message4.Enum2593 field3222 = 1;
+ optional int32 field3223 = 4;
+}
+
+message Message3060 {
+ optional int64 field3283 = 1;
+ optional int64 field3284 = 2;
+ optional int64 field3285 = 3;
+}
+
+message Message3041 {
+ optional string field3214 = 1;
+ optional int32 field3215 = 2;
+}
+
+message Message3040 {
+ required fixed64 field3209 = 1;
+ repeated fixed64 field3210 = 4;
+ optional int32 field3211 = 5;
+ optional fixed64 field3212 = 2;
+ required string field3213 = 3;
+}
+
+message Message3050 {
+ optional bytes field3245 = 5;
+ optional int32 field3246 = 2;
+ optional bytes field3247 = 6;
+ optional int32 field3248 = 4;
+ optional fixed32 field3249 = 1;
+ optional fixed32 field3250 = 3;
+}
+
+message Message7905 {
+ optional int32 field7911 = 1;
+ optional bool field7912 = 2;
+ optional bytes field7913 = 3;
+ optional int32 field7914 = 4;
+ optional int32 field7915 = 5;
+ optional bytes field7916 = 6;
+ optional int32 field7917 = 7;
+}
+
+message Message3886 {
+ repeated group Message3887 = 1 {
+ required string field3932 = 2;
+ optional string field3933 = 9;
+ optional .benchmarks.google_message4.Message3850 field3934 = 3;
+ optional bytes field3935 = 8;
+ }
+}
+
+message Message7864 {
+ optional string field7866 = 1;
+ optional string field7867 = 2;
+ repeated .benchmarks.google_message4.Message7865 field7868 = 5;
+ repeated .benchmarks.google_message4.Message7865 field7869 = 6;
+ repeated .benchmarks.google_message4.Message7865 field7870 = 7;
+ repeated .benchmarks.google_message4.UnusedEmptyMessage field7871 = 8;
+}
+
+message Message3922 {
+ optional uint64 field4012 = 1;
+}
+
+message Message3052 {
+ repeated string field3254 = 1;
+ repeated string field3255 = 2;
+ repeated bytes field3256 = 3;
+ repeated string field3257 = 4;
+ optional bool field3258 = 5;
+ optional int32 field3259 = 6;
+ optional int32 field3260 = 7;
+ optional string field3261 = 8;
+ optional string field3262 = 9;
+}
+
+message Message8575 {
+}
+
+message Message7843 {
+ optional bool field7844 = 5;
+ optional int32 field7845 = 1;
+ optional .benchmarks.google_message4.UnusedEmptyMessage field7846 = 22;
+ repeated int32 field7847 = 3;
+ repeated string field7848 = 11;
+ optional .benchmarks.google_message4.UnusedEnum field7849 = 15;
+ optional .benchmarks.google_message4.UnusedEmptyMessage field7850 = 6;
+ optional .benchmarks.google_message4.UnusedEmptyMessage field7851 = 14;
+ optional .benchmarks.google_message4.UnusedEmptyMessage field7852 = 10;
+ optional .benchmarks.google_message4.Message7511 field7853 = 13;
+ optional .benchmarks.google_message4.UnusedEmptyMessage field7854 = 16;
+ optional .benchmarks.google_message4.UnusedEmptyMessage field7855 = 17;
+ optional .benchmarks.google_message4.UnusedEmptyMessage field7856 = 19;
+ optional .benchmarks.google_message4.UnusedEmptyMessage field7857 = 18;
+ optional .benchmarks.google_message4.UnusedEnum field7858 = 20;
+ optional int32 field7859 = 2;
+}
+
+message Message3919 {
+ repeated .benchmarks.google_message4.Message3920 field4009 = 1;
+}
+
+message Message7929 {
+ optional int64 field7942 = 1;
+ optional int64 field7943 = 4;
+ optional int64 field7944 = 5;
+ optional int64 field7945 = 12;
+ optional int64 field7946 = 13;
+ optional int64 field7947 = 18;
+ optional int64 field7948 = 6;
+ optional int64 field7949 = 7;
+ repeated .benchmarks.google_message4.Message7919 field7950 = 8;
+ repeated .benchmarks.google_message4.UnusedEmptyMessage field7951 = 20;
+ repeated .benchmarks.google_message4.Message7920 field7952 = 14;
+ repeated .benchmarks.google_message4.Message7921 field7953 = 15;
+ repeated .benchmarks.google_message4.Message7928 field7954 = 17;
+ optional int64 field7955 = 19;
+ optional bool field7956 = 2;
+ optional int64 field7957 = 3;
+ optional int64 field7958 = 9;
+ repeated .benchmarks.google_message4.UnusedEmptyMessage field7959 = 10;
+ repeated bytes field7960 = 11;
+ optional int64 field7961 = 16;
+}
+
diff --git a/benchmarks/datasets/google_message4/benchmark_message4_2.proto b/benchmarks/datasets/google_message4/benchmark_message4_2.proto
new file mode 100644
index 00000000..d5e9da5a
--- /dev/null
+++ b/benchmarks/datasets/google_message4/benchmark_message4_2.proto
@@ -0,0 +1,292 @@
+syntax = "proto2";
+
+import "datasets/google_message4/benchmark_message4_3.proto";
+package benchmarks.google_message4;
+
+option cc_enable_arenas = true;
+option java_package = "com.google.protobuf.benchmarks";
+
+message Message12774 {
+ optional uint32 field12777 = 1;
+ optional uint32 field12778 = 2;
+ optional uint32 field12779 = 3;
+ optional uint32 field12780 = 4;
+ optional uint32 field12781 = 5;
+ optional bool field12782 = 6;
+}
+
+message Message12796 {
+ repeated fixed64 field12800 = 1;
+ optional uint64 field12801 = 2;
+}
+
+message Message12821 {
+ optional int32 field12848 = 1;
+ optional int32 field12849 = 2;
+ optional int32 field12850 = 3;
+ optional int32 field12851 = 4;
+ optional int32 field12852 = 5;
+}
+
+message Message12820 {
+ optional int32 field12840 = 1;
+ optional int32 field12841 = 2;
+ optional int32 field12842 = 3;
+ optional int32 field12843 = 8;
+ optional int32 field12844 = 4;
+ optional int32 field12845 = 5;
+ optional int32 field12846 = 6;
+ optional int32 field12847 = 7;
+}
+
+message Message12819 {
+ optional double field12834 = 1;
+ optional double field12835 = 2;
+ optional double field12836 = 3;
+ optional double field12837 = 4;
+ optional double field12838 = 5;
+ optional double field12839 = 6;
+}
+
+message Message12818 {
+ optional uint64 field12829 = 1;
+ optional int32 field12830 = 2;
+ optional int32 field12831 = 3;
+ optional int32 field12832 = 5;
+ repeated .benchmarks.google_message4.Message12817 field12833 = 4;
+}
+
+message Message10319 {
+ optional .benchmarks.google_message4.Enum10325 field10340 = 1;
+ optional int32 field10341 = 4;
+ optional int32 field10342 = 5;
+ optional bytes field10343 = 3;
+ optional string field10344 = 2;
+ optional string field10345 = 6;
+ optional string field10346 = 7;
+}
+
+message Message6578 {
+ optional .benchmarks.google_message4.Enum6579 field6632 = 1;
+ optional .benchmarks.google_message4.Enum6588 field6633 = 2;
+}
+
+message Message6126 {
+ required string field6152 = 1;
+ repeated .benchmarks.google_message4.Message6127 field6153 = 9;
+ optional int32 field6154 = 14;
+ optional bytes field6155 = 10;
+ optional .benchmarks.google_message4.Message6024 field6156 = 12;
+ optional int32 field6157 = 4;
+ optional string field6158 = 5;
+ optional int32 field6159 = 6;
+ repeated int32 field6160 = 2;
+ repeated int32 field6161 = 3;
+ repeated .benchmarks.google_message4.Message6052 field6162 = 7;
+ repeated .benchmarks.google_message4.UnusedEmptyMessage field6163 = 11;
+ optional .benchmarks.google_message4.Enum6065 field6164 = 15;
+ repeated .benchmarks.google_message4.Message6127 field6165 = 8;
+ optional bool field6166 = 13;
+ optional bool field6167 = 16;
+ optional bool field6168 = 18;
+ repeated .benchmarks.google_message4.Message6054 field6169 = 17;
+ optional int32 field6170 = 19;
+}
+
+message Message5881 {
+ required double field5897 = 1;
+ optional string field5898 = 5;
+ optional .benchmarks.google_message4.Message5861 field5899 = 2;
+ optional .benchmarks.google_message4.UnusedEmptyMessage field5900 = 3;
+ optional .benchmarks.google_message4.Message5867 field5901 = 4;
+ optional .benchmarks.google_message4.Message5880 field5902 = 6;
+}
+
+message Message6110 {
+}
+
+message Message6107 {
+ optional .benchmarks.google_message4.Message4016 field6134 = 1;
+ optional int32 field6135 = 2;
+ optional string field6136 = 3;
+ repeated int32 field6137 = 4;
+ optional int32 field6138 = 5;
+ repeated .benchmarks.google_message4.Message6108 field6139 = 6;
+}
+
+message Message6129 {
+ required .benchmarks.google_message4.Enum6130 field6171 = 1;
+ required string field6172 = 2;
+}
+
+message Message5908 {
+ optional string field5971 = 1;
+ optional int32 field5972 = 2;
+ optional int32 field5973 = 3;
+ optional .benchmarks.google_message4.Enum5909 field5974 = 45;
+ optional .benchmarks.google_message4.Enum5912 field5975 = 4;
+ optional fixed32 field5976 = 50;
+ optional fixed32 field5977 = 5;
+ optional fixed32 field5978 = 6;
+ optional string field5979 = 7;
+ optional .benchmarks.google_message4.Enum5915 field5980 = 8;
+ optional .benchmarks.google_message4.Message5903 field5981 = 9;
+ optional .benchmarks.google_message4.Message5903 field5982 = 10;
+ optional .benchmarks.google_message4.Enum5920 field5983 = 11;
+ optional .benchmarks.google_message4.Enum5923 field5984 = 40;
+ optional .benchmarks.google_message4.Message5903 field5985 = 41;
+ optional .benchmarks.google_message4.Message5903 field5986 = 42;
+ optional .benchmarks.google_message4.Enum5928 field5987 = 47;
+ optional bool field5988 = 48;
+ repeated fixed32 field5989 = 49;
+ optional string field5990 = 12;
+ optional .benchmarks.google_message4.Message5903 field5991 = 13;
+ optional .benchmarks.google_message4.Message5903 field5992 = 14;
+ optional .benchmarks.google_message4.Message5903 field5993 = 15;
+ optional .benchmarks.google_message4.Message5903 field5994 = 16;
+ optional .benchmarks.google_message4.Message5903 field5995 = 32;
+ optional .benchmarks.google_message4.Message5903 field5996 = 33;
+ optional .benchmarks.google_message4.Message5903 field5997 = 34;
+ optional .benchmarks.google_message4.Message5903 field5998 = 35;
+ optional .benchmarks.google_message4.Enum5931 field5999 = 17;
+ optional .benchmarks.google_message4.Enum5935 field6000 = 18;
+ optional .benchmarks.google_message4.Enum5939 field6001 = 36;
+ optional .benchmarks.google_message4.Enum5939 field6002 = 37;
+ repeated int32 field6003 = 19;
+ optional uint32 field6004 = 20;
+ optional uint32 field6005 = 21;
+ optional uint32 field6006 = 22;
+ optional uint32 field6007 = 23;
+ optional .benchmarks.google_message4.Enum5946 field6008 = 24;
+ optional .benchmarks.google_message4.Enum5946 field6009 = 25;
+ optional .benchmarks.google_message4.Enum5946 field6010 = 26;
+ optional .benchmarks.google_message4.Enum5946 field6011 = 27;
+ optional fixed32 field6012 = 28;
+ optional fixed32 field6013 = 29;
+ optional fixed32 field6014 = 30;
+ optional fixed32 field6015 = 31;
+ optional int32 field6016 = 38;
+ optional float field6017 = 39;
+ optional .benchmarks.google_message4.Enum5957 field6018 = 43;
+ optional .benchmarks.google_message4.Message5907 field6019 = 44;
+ optional .benchmarks.google_message4.Enum5962 field6020 = 46;
+}
+
+message Message3850 {
+ optional .benchmarks.google_message4.Enum3851 field3924 = 2;
+ optional bool field3925 = 12;
+ optional int32 field3926 = 4;
+ optional bool field3927 = 10;
+ optional bool field3928 = 13;
+ optional bool field3929 = 14;
+}
+
+message Message7865 {
+}
+
+message Message7511 {
+ optional bool field7523 = 1;
+ optional .benchmarks.google_message4.Enum7512 field7524 = 2;
+ optional int32 field7525 = 3;
+ optional int32 field7526 = 4;
+ optional bool field7527 = 5;
+ optional int32 field7528 = 6;
+ optional int32 field7529 = 7;
+}
+
+message Message3920 {
+}
+
+message Message7928 {
+ optional string field7940 = 1;
+ optional int64 field7941 = 2;
+}
+
+message Message7921 {
+ optional int32 field7936 = 1;
+ optional int64 field7937 = 2;
+ optional float field7938 = 3;
+ optional .benchmarks.google_message4.Enum7922 field7939 = 4;
+}
+
+message Message7920 {
+ optional int64 field7934 = 1;
+ optional int64 field7935 = 2;
+}
+
+message Message7919 {
+ optional fixed64 field7931 = 1;
+ optional int64 field7932 = 2;
+ optional bytes field7933 = 3;
+}
+
+message Message12817 {
+ optional int32 field12826 = 1;
+ optional int32 field12827 = 2;
+ optional int32 field12828 = 3;
+}
+
+message Message6054 {
+ required string field6089 = 1;
+ optional string field6090 = 2;
+}
+
+message Message6127 {
+}
+
+message Message6052 {
+ required string field6084 = 1;
+ required bytes field6085 = 2;
+}
+
+message Message6024 {
+ optional .benchmarks.google_message4.Enum6025 field6048 = 1;
+ optional string field6049 = 2;
+ optional .benchmarks.google_message4.UnusedEmptyMessage field6050 = 3;
+}
+
+message Message5861 {
+ required .benchmarks.google_message4.Enum5862 field5882 = 1;
+ required string field5883 = 2;
+ optional bool field5884 = 3;
+ optional string field5885 = 4;
+}
+
+message Message5880 {
+ optional string field5896 = 1;
+}
+
+message Message5867 {
+ optional .benchmarks.google_message4.Enum5868 field5890 = 1;
+ optional string field5891 = 2;
+ optional .benchmarks.google_message4.Enum5873 field5892 = 3;
+ optional int32 field5893 = 4;
+ optional .benchmarks.google_message4.UnusedEnum field5894 = 5;
+ optional bool field5895 = 6;
+}
+
+message Message4016 {
+ required int32 field4017 = 1;
+ required int32 field4018 = 2;
+ required int32 field4019 = 3;
+ required int32 field4020 = 4;
+}
+
+message Message6108 {
+}
+
+message Message5907 {
+ optional .benchmarks.google_message4.Message5903 field5967 = 1;
+ optional .benchmarks.google_message4.Message5903 field5968 = 2;
+ optional .benchmarks.google_message4.Message5903 field5969 = 3;
+ optional .benchmarks.google_message4.Message5903 field5970 = 4;
+}
+
+message UnusedEmptyMessage {
+}
+
+message Message5903 {
+ required int32 field5965 = 1;
+ optional .benchmarks.google_message4.Enum5904 field5966 = 2;
+}
+
diff --git a/benchmarks/datasets/google_message4/benchmark_message4_3.proto b/benchmarks/datasets/google_message4/benchmark_message4_3.proto
new file mode 100644
index 00000000..544fad20
--- /dev/null
+++ b/benchmarks/datasets/google_message4/benchmark_message4_3.proto
@@ -0,0 +1,751 @@
+syntax = "proto2";
+
+package benchmarks.google_message4;
+
+option cc_enable_arenas = true;
+option java_package = "com.google.protobuf.benchmarks";
+
+enum UnusedEnum {
+ UNUSED_ENUM_VALUE1 = 0;
+ UNUSED_ENUM_VALUE2 = 1;
+}
+
+enum Enum2593 {
+ ENUM_VALUE2594 = 0;
+ ENUM_VALUE2595 = 1;
+ ENUM_VALUE2596 = 2;
+ ENUM_VALUE2597 = 3;
+ ENUM_VALUE2598 = 4;
+ ENUM_VALUE2599 = 5;
+ ENUM_VALUE2600 = 6;
+ ENUM_VALUE2601 = 7;
+}
+
+enum Enum2834 {
+ ENUM_VALUE2835 = 0;
+ ENUM_VALUE2836 = 1;
+ ENUM_VALUE2837 = 2;
+}
+
+enum Enum2806 {
+ ENUM_VALUE2807 = 0;
+ ENUM_VALUE2808 = 1;
+ ENUM_VALUE2809 = 2;
+ ENUM_VALUE2810 = 3;
+ ENUM_VALUE2811 = 4;
+ ENUM_VALUE2812 = 5;
+ ENUM_VALUE2813 = 6;
+ ENUM_VALUE2814 = 7;
+ ENUM_VALUE2815 = 8;
+ ENUM_VALUE2816 = 9;
+ ENUM_VALUE2817 = 10;
+ ENUM_VALUE2818 = 11;
+ ENUM_VALUE2819 = 12;
+ ENUM_VALUE2820 = 13;
+ ENUM_VALUE2821 = 14;
+}
+
+enum Enum2851 {
+ option allow_alias = true;
+ ENUM_VALUE2852 = 0;
+ ENUM_VALUE2853 = 0;
+ ENUM_VALUE2854 = 1;
+ ENUM_VALUE2855 = 2;
+ ENUM_VALUE2856 = 3;
+ ENUM_VALUE2857 = 4;
+ ENUM_VALUE2858 = 5;
+ ENUM_VALUE2859 = 6;
+ ENUM_VALUE2860 = 7;
+ ENUM_VALUE2861 = 8;
+ ENUM_VALUE2862 = 9;
+ ENUM_VALUE2863 = 10;
+ ENUM_VALUE2864 = 11;
+ ENUM_VALUE2865 = 12;
+ ENUM_VALUE2866 = 13;
+ ENUM_VALUE2867 = 14;
+ ENUM_VALUE2868 = 15;
+ ENUM_VALUE2869 = 16;
+ ENUM_VALUE2870 = 17;
+ ENUM_VALUE2871 = 18;
+ ENUM_VALUE2872 = 19;
+ ENUM_VALUE2873 = 20;
+ ENUM_VALUE2874 = 21;
+ ENUM_VALUE2875 = 22;
+ ENUM_VALUE2876 = 23;
+ ENUM_VALUE2877 = 24;
+ ENUM_VALUE2878 = 25;
+ ENUM_VALUE2879 = 26;
+ ENUM_VALUE2880 = 27;
+ ENUM_VALUE2881 = 28;
+ ENUM_VALUE2882 = 29;
+ ENUM_VALUE2883 = 30;
+ ENUM_VALUE2884 = 31;
+ ENUM_VALUE2885 = 32;
+ ENUM_VALUE2886 = 33;
+ ENUM_VALUE2887 = 34;
+ ENUM_VALUE2888 = 35;
+ ENUM_VALUE2889 = 36;
+ ENUM_VALUE2890 = 37;
+ ENUM_VALUE2891 = 38;
+ ENUM_VALUE2892 = 39;
+ ENUM_VALUE2893 = 40;
+ ENUM_VALUE2894 = 41;
+ ENUM_VALUE2895 = 42;
+ ENUM_VALUE2896 = 43;
+ ENUM_VALUE2897 = 44;
+ ENUM_VALUE2898 = 45;
+ ENUM_VALUE2899 = 46;
+ ENUM_VALUE2900 = 47;
+ ENUM_VALUE2901 = 48;
+ ENUM_VALUE2902 = 49;
+ ENUM_VALUE2903 = 50;
+ ENUM_VALUE2904 = 51;
+ ENUM_VALUE2905 = 52;
+ ENUM_VALUE2906 = 53;
+ ENUM_VALUE2907 = 54;
+ ENUM_VALUE2908 = 55;
+ ENUM_VALUE2909 = 56;
+ ENUM_VALUE2910 = 57;
+ ENUM_VALUE2911 = 58;
+ ENUM_VALUE2912 = 59;
+ ENUM_VALUE2913 = 60;
+ ENUM_VALUE2914 = 61;
+ ENUM_VALUE2915 = 62;
+ ENUM_VALUE2916 = 63;
+ ENUM_VALUE2917 = 64;
+ ENUM_VALUE2918 = 65;
+ ENUM_VALUE2919 = 66;
+ ENUM_VALUE2920 = 67;
+ ENUM_VALUE2921 = 68;
+ ENUM_VALUE2922 = 69;
+ ENUM_VALUE2923 = 70;
+ ENUM_VALUE2924 = 71;
+ ENUM_VALUE2925 = 72;
+ ENUM_VALUE2926 = 73;
+ ENUM_VALUE2927 = 74;
+ ENUM_VALUE2928 = 75;
+ ENUM_VALUE2929 = 76;
+ ENUM_VALUE2930 = 77;
+ ENUM_VALUE2931 = 78;
+ ENUM_VALUE2932 = 79;
+ ENUM_VALUE2933 = 80;
+ ENUM_VALUE2934 = 81;
+ ENUM_VALUE2935 = 82;
+ ENUM_VALUE2936 = 83;
+ ENUM_VALUE2937 = 84;
+ ENUM_VALUE2938 = 85;
+ ENUM_VALUE2939 = 86;
+ ENUM_VALUE2940 = 87;
+ ENUM_VALUE2941 = 88;
+ ENUM_VALUE2942 = 89;
+ ENUM_VALUE2943 = 90;
+ ENUM_VALUE2944 = 91;
+ ENUM_VALUE2945 = 92;
+ ENUM_VALUE2946 = 93;
+ ENUM_VALUE2947 = 94;
+ ENUM_VALUE2948 = 95;
+ ENUM_VALUE2949 = 96;
+ ENUM_VALUE2950 = 97;
+ ENUM_VALUE2951 = 98;
+ ENUM_VALUE2952 = 99;
+ ENUM_VALUE2953 = 100;
+ ENUM_VALUE2954 = 101;
+ ENUM_VALUE2955 = 102;
+ ENUM_VALUE2956 = 103;
+ ENUM_VALUE2957 = 104;
+ ENUM_VALUE2958 = 105;
+ ENUM_VALUE2959 = 106;
+ ENUM_VALUE2960 = 107;
+ ENUM_VALUE2961 = 108;
+ ENUM_VALUE2962 = 109;
+ ENUM_VALUE2963 = 110;
+ ENUM_VALUE2964 = 111;
+ ENUM_VALUE2965 = 112;
+ ENUM_VALUE2966 = 113;
+ ENUM_VALUE2967 = 114;
+ ENUM_VALUE2968 = 115;
+ ENUM_VALUE2969 = 116;
+ ENUM_VALUE2970 = 117;
+ ENUM_VALUE2971 = 118;
+ ENUM_VALUE2972 = 119;
+}
+
+enum Enum2602 {
+ ENUM_VALUE2603 = 0;
+ ENUM_VALUE2604 = 1;
+ ENUM_VALUE2605 = 2;
+ ENUM_VALUE2606 = 3;
+ ENUM_VALUE2607 = 4;
+ ENUM_VALUE2608 = 5;
+ ENUM_VALUE2609 = 6;
+ ENUM_VALUE2610 = 7;
+ ENUM_VALUE2611 = 8;
+ ENUM_VALUE2612 = 9;
+ ENUM_VALUE2613 = 10;
+ ENUM_VALUE2614 = 11;
+}
+
+enum Enum3071 {
+ ENUM_VALUE3072 = 1;
+ ENUM_VALUE3073 = 2;
+ ENUM_VALUE3074 = 3;
+ ENUM_VALUE3075 = 4;
+ ENUM_VALUE3076 = 5;
+ ENUM_VALUE3077 = 6;
+ ENUM_VALUE3078 = 7;
+ ENUM_VALUE3079 = 8;
+ ENUM_VALUE3080 = 9;
+ ENUM_VALUE3081 = 10;
+ ENUM_VALUE3082 = 11;
+ ENUM_VALUE3083 = 12;
+ ENUM_VALUE3084 = 13;
+ ENUM_VALUE3085 = 14;
+ ENUM_VALUE3086 = 15;
+ ENUM_VALUE3087 = 16;
+ ENUM_VALUE3088 = 17;
+ ENUM_VALUE3089 = 18;
+ ENUM_VALUE3090 = 19;
+ ENUM_VALUE3091 = 20;
+ ENUM_VALUE3092 = 21;
+ ENUM_VALUE3093 = 22;
+ ENUM_VALUE3094 = 23;
+ ENUM_VALUE3095 = 24;
+ ENUM_VALUE3096 = 25;
+ ENUM_VALUE3097 = 26;
+ ENUM_VALUE3098 = 27;
+ ENUM_VALUE3099 = 28;
+}
+
+enum Enum3805 {
+ ENUM_VALUE3806 = 0;
+ ENUM_VALUE3807 = 1;
+ ENUM_VALUE3808 = 2;
+ ENUM_VALUE3809 = 3;
+ ENUM_VALUE3810 = 4;
+ ENUM_VALUE3811 = 5;
+ ENUM_VALUE3812 = 6;
+ ENUM_VALUE3813 = 7;
+ ENUM_VALUE3814 = 8;
+ ENUM_VALUE3815 = 9;
+ ENUM_VALUE3816 = 11;
+ ENUM_VALUE3817 = 10;
+}
+
+enum Enum3783 {
+ ENUM_VALUE3784 = 0;
+ ENUM_VALUE3785 = 1;
+ ENUM_VALUE3786 = 2;
+ ENUM_VALUE3787 = 3;
+ ENUM_VALUE3788 = 4;
+ ENUM_VALUE3789 = 5;
+ ENUM_VALUE3790 = 6;
+ ENUM_VALUE3791 = 7;
+ ENUM_VALUE3792 = 8;
+ ENUM_VALUE3793 = 9;
+ ENUM_VALUE3794 = 10;
+ ENUM_VALUE3795 = 11;
+ ENUM_VALUE3796 = 12;
+ ENUM_VALUE3797 = 13;
+ ENUM_VALUE3798 = 14;
+ ENUM_VALUE3799 = 15;
+ ENUM_VALUE3800 = 16;
+ ENUM_VALUE3801 = 20;
+ ENUM_VALUE3802 = 21;
+ ENUM_VALUE3803 = 50;
+}
+
+enum Enum3851 {
+ ENUM_VALUE3852 = 0;
+ ENUM_VALUE3853 = 1;
+ ENUM_VALUE3854 = 2;
+ ENUM_VALUE3855 = 3;
+ ENUM_VALUE3856 = 4;
+ ENUM_VALUE3857 = 5;
+ ENUM_VALUE3858 = 6;
+ ENUM_VALUE3859 = 7;
+ ENUM_VALUE3860 = 8;
+ ENUM_VALUE3861 = 9;
+ ENUM_VALUE3862 = 10;
+ ENUM_VALUE3863 = 11;
+ ENUM_VALUE3864 = 12;
+ ENUM_VALUE3865 = 13;
+ ENUM_VALUE3866 = 14;
+ ENUM_VALUE3867 = 15;
+ ENUM_VALUE3868 = 16;
+ ENUM_VALUE3869 = 17;
+}
+
+enum Enum5862 {
+ ENUM_VALUE5863 = 1;
+ ENUM_VALUE5864 = 2;
+ ENUM_VALUE5865 = 3;
+}
+
+enum Enum5868 {
+ ENUM_VALUE5869 = 0;
+ ENUM_VALUE5870 = 1;
+ ENUM_VALUE5871 = 2;
+ ENUM_VALUE5872 = 3;
+}
+
+enum Enum5873 {
+ ENUM_VALUE5874 = 0;
+ ENUM_VALUE5875 = 1;
+ ENUM_VALUE5876 = 2;
+}
+
+enum Enum5904 {
+ ENUM_VALUE5905 = 0;
+ ENUM_VALUE5906 = 1;
+}
+
+enum Enum5909 {
+ ENUM_VALUE5910 = 0;
+ ENUM_VALUE5911 = 1;
+}
+
+enum Enum5912 {
+ ENUM_VALUE5913 = 0;
+ ENUM_VALUE5914 = 1;
+}
+
+enum Enum5915 {
+ ENUM_VALUE5916 = 0;
+ ENUM_VALUE5917 = 1;
+ ENUM_VALUE5918 = 2;
+ ENUM_VALUE5919 = 3;
+}
+
+enum Enum5920 {
+ ENUM_VALUE5921 = 0;
+ ENUM_VALUE5922 = 1;
+}
+
+enum Enum5923 {
+ ENUM_VALUE5924 = 0;
+ ENUM_VALUE5925 = 1;
+ ENUM_VALUE5926 = 2;
+ ENUM_VALUE5927 = 3;
+}
+
+enum Enum5928 {
+ ENUM_VALUE5929 = 0;
+ ENUM_VALUE5930 = 1;
+}
+
+enum Enum5931 {
+ ENUM_VALUE5932 = 0;
+ ENUM_VALUE5933 = 1;
+ ENUM_VALUE5934 = 2;
+}
+
+enum Enum5935 {
+ ENUM_VALUE5936 = 0;
+ ENUM_VALUE5937 = 1;
+ ENUM_VALUE5938 = 2;
+}
+
+enum Enum5939 {
+ ENUM_VALUE5940 = 0;
+ ENUM_VALUE5941 = 1;
+ ENUM_VALUE5942 = 2;
+ ENUM_VALUE5943 = 3;
+ ENUM_VALUE5944 = 4;
+ ENUM_VALUE5945 = 5;
+}
+
+enum Enum5946 {
+ ENUM_VALUE5947 = 0;
+ ENUM_VALUE5948 = 1;
+ ENUM_VALUE5949 = 2;
+ ENUM_VALUE5950 = 3;
+ ENUM_VALUE5951 = 4;
+ ENUM_VALUE5952 = 5;
+ ENUM_VALUE5953 = 6;
+ ENUM_VALUE5954 = 7;
+ ENUM_VALUE5955 = 8;
+ ENUM_VALUE5956 = 9;
+}
+
+enum Enum5957 {
+ ENUM_VALUE5958 = 0;
+ ENUM_VALUE5959 = 1;
+ ENUM_VALUE5960 = 2;
+ ENUM_VALUE5961 = 3;
+}
+
+enum Enum5962 {
+ ENUM_VALUE5963 = 0;
+ ENUM_VALUE5964 = 1;
+}
+
+enum Enum6025 {
+ ENUM_VALUE6026 = 0;
+ ENUM_VALUE6027 = 1;
+ ENUM_VALUE6028 = 2;
+ ENUM_VALUE6029 = 3;
+ ENUM_VALUE6030 = 4;
+ ENUM_VALUE6031 = 5;
+ ENUM_VALUE6032 = 6;
+ ENUM_VALUE6033 = 7;
+ ENUM_VALUE6034 = 8;
+ ENUM_VALUE6035 = 9;
+ ENUM_VALUE6036 = 10;
+ ENUM_VALUE6037 = 11;
+ ENUM_VALUE6038 = 12;
+ ENUM_VALUE6039 = 13;
+ ENUM_VALUE6040 = 14;
+ ENUM_VALUE6041 = 15;
+ ENUM_VALUE6042 = 16;
+ ENUM_VALUE6043 = 17;
+ ENUM_VALUE6044 = 18;
+ ENUM_VALUE6045 = 19;
+ ENUM_VALUE6046 = 20;
+ ENUM_VALUE6047 = 21;
+}
+
+enum Enum6111 {
+ ENUM_VALUE6112 = 1;
+ ENUM_VALUE6113 = 2;
+ ENUM_VALUE6114 = 3;
+ ENUM_VALUE6115 = 4;
+ ENUM_VALUE6116 = 5;
+ ENUM_VALUE6117 = 6;
+ ENUM_VALUE6118 = 7;
+ ENUM_VALUE6119 = 8;
+ ENUM_VALUE6120 = 9;
+ ENUM_VALUE6121 = 10;
+ ENUM_VALUE6122 = 11;
+ ENUM_VALUE6123 = 12;
+ ENUM_VALUE6124 = 13;
+ ENUM_VALUE6125 = 14;
+}
+
+enum Enum6065 {
+ ENUM_VALUE6066 = 0;
+ ENUM_VALUE6067 = 1;
+ ENUM_VALUE6068 = 2;
+ ENUM_VALUE6069 = 3;
+ ENUM_VALUE6070 = 4;
+ ENUM_VALUE6071 = 5;
+ ENUM_VALUE6072 = 6;
+ ENUM_VALUE6073 = 7;
+ ENUM_VALUE6074 = 8;
+ ENUM_VALUE6075 = 9;
+ ENUM_VALUE6076 = 10;
+ ENUM_VALUE6077 = 11;
+ ENUM_VALUE6078 = 12;
+ ENUM_VALUE6079 = 13;
+ ENUM_VALUE6080 = 14;
+}
+
+enum Enum6130 {
+ ENUM_VALUE6131 = 0;
+ ENUM_VALUE6132 = 1;
+}
+
+enum Enum6579 {
+ ENUM_VALUE6580 = 0;
+ ENUM_VALUE6581 = 2;
+ ENUM_VALUE6582 = 3;
+ ENUM_VALUE6583 = 5;
+ ENUM_VALUE6584 = 10;
+ ENUM_VALUE6585 = 15;
+ ENUM_VALUE6586 = 25;
+ ENUM_VALUE6587 = 30;
+}
+
+enum Enum6588 {
+ ENUM_VALUE6589 = 0;
+ ENUM_VALUE6590 = 1;
+ ENUM_VALUE6591 = 2;
+ ENUM_VALUE6592 = 3;
+ ENUM_VALUE6593 = 4;
+ ENUM_VALUE6594 = 5;
+ ENUM_VALUE6595 = 6;
+ ENUM_VALUE6596 = 7;
+ ENUM_VALUE6597 = 8;
+ ENUM_VALUE6598 = 9;
+ ENUM_VALUE6599 = 10;
+ ENUM_VALUE6600 = 11;
+ ENUM_VALUE6601 = 12;
+ ENUM_VALUE6602 = 13;
+ ENUM_VALUE6603 = 14;
+ ENUM_VALUE6604 = 15;
+ ENUM_VALUE6605 = 16;
+ ENUM_VALUE6606 = 17;
+ ENUM_VALUE6607 = 19;
+ ENUM_VALUE6608 = 20;
+ ENUM_VALUE6609 = 21;
+ ENUM_VALUE6610 = 22;
+ ENUM_VALUE6611 = 23;
+ ENUM_VALUE6612 = 24;
+ ENUM_VALUE6613 = 25;
+ ENUM_VALUE6614 = 26;
+ ENUM_VALUE6615 = 27;
+ ENUM_VALUE6616 = 28;
+ ENUM_VALUE6617 = 29;
+ ENUM_VALUE6618 = 30;
+ ENUM_VALUE6619 = 31;
+ ENUM_VALUE6620 = 32;
+ ENUM_VALUE6621 = 33;
+ ENUM_VALUE6622 = 34;
+}
+
+enum Enum7288 {
+ ENUM_VALUE7289 = 0;
+ ENUM_VALUE7290 = 1;
+ ENUM_VALUE7291 = 2;
+ ENUM_VALUE7292 = 3;
+}
+
+enum Enum7512 {
+ ENUM_VALUE7513 = 0;
+ ENUM_VALUE7514 = 1;
+ ENUM_VALUE7515 = 2;
+ ENUM_VALUE7516 = 3;
+ ENUM_VALUE7517 = 4;
+ ENUM_VALUE7518 = 5;
+ ENUM_VALUE7519 = 6;
+ ENUM_VALUE7520 = 7;
+}
+
+enum Enum7922 {
+ ENUM_VALUE7923 = 1;
+ ENUM_VALUE7924 = 2;
+ ENUM_VALUE7925 = 3;
+ ENUM_VALUE7926 = 4;
+ ENUM_VALUE7927 = 5;
+}
+
+enum Enum3476 {
+ ENUM_VALUE3477 = 0;
+ ENUM_VALUE3478 = 1;
+ ENUM_VALUE3479 = 2;
+ ENUM_VALUE3480 = 3;
+ ENUM_VALUE3481 = 4;
+ ENUM_VALUE3482 = 5;
+ ENUM_VALUE3483 = 6;
+ ENUM_VALUE3484 = 7;
+ ENUM_VALUE3485 = 8;
+ ENUM_VALUE3486 = 9;
+ ENUM_VALUE3487 = 10;
+ ENUM_VALUE3488 = 11;
+ ENUM_VALUE3489 = 12;
+ ENUM_VALUE3490 = 13;
+ ENUM_VALUE3491 = 14;
+ ENUM_VALUE3492 = 15;
+ ENUM_VALUE3493 = 16;
+ ENUM_VALUE3494 = 17;
+ ENUM_VALUE3495 = 18;
+ ENUM_VALUE3496 = 19;
+ ENUM_VALUE3497 = 20;
+ ENUM_VALUE3498 = 21;
+ ENUM_VALUE3499 = 22;
+ ENUM_VALUE3500 = 23;
+ ENUM_VALUE3501 = 24;
+ ENUM_VALUE3502 = 25;
+ ENUM_VALUE3503 = 26;
+ ENUM_VALUE3504 = 27;
+ ENUM_VALUE3505 = 28;
+ ENUM_VALUE3506 = 29;
+ ENUM_VALUE3507 = 30;
+ ENUM_VALUE3508 = 31;
+ ENUM_VALUE3509 = 32;
+ ENUM_VALUE3510 = 33;
+ ENUM_VALUE3511 = 34;
+ ENUM_VALUE3512 = 35;
+ ENUM_VALUE3513 = 36;
+ ENUM_VALUE3514 = 37;
+ ENUM_VALUE3515 = 38;
+ ENUM_VALUE3516 = 39;
+ ENUM_VALUE3517 = 40;
+ ENUM_VALUE3518 = 41;
+ ENUM_VALUE3519 = 42;
+ ENUM_VALUE3520 = 43;
+ ENUM_VALUE3521 = 44;
+ ENUM_VALUE3522 = 45;
+ ENUM_VALUE3523 = 46;
+ ENUM_VALUE3524 = 47;
+ ENUM_VALUE3525 = 48;
+ ENUM_VALUE3526 = 49;
+ ENUM_VALUE3527 = 50;
+ ENUM_VALUE3528 = 51;
+ ENUM_VALUE3529 = 52;
+ ENUM_VALUE3530 = 53;
+ ENUM_VALUE3531 = 54;
+ ENUM_VALUE3532 = 55;
+ ENUM_VALUE3533 = 56;
+ ENUM_VALUE3534 = 57;
+ ENUM_VALUE3535 = 58;
+ ENUM_VALUE3536 = 59;
+ ENUM_VALUE3537 = 60;
+ ENUM_VALUE3538 = 61;
+ ENUM_VALUE3539 = 62;
+ ENUM_VALUE3540 = 63;
+ ENUM_VALUE3541 = 64;
+ ENUM_VALUE3542 = 65;
+ ENUM_VALUE3543 = 66;
+ ENUM_VALUE3544 = 67;
+ ENUM_VALUE3545 = 68;
+ ENUM_VALUE3546 = 69;
+ ENUM_VALUE3547 = 70;
+ ENUM_VALUE3548 = 71;
+ ENUM_VALUE3549 = 72;
+ ENUM_VALUE3550 = 73;
+ ENUM_VALUE3551 = 74;
+ ENUM_VALUE3552 = 75;
+ ENUM_VALUE3553 = 76;
+ ENUM_VALUE3554 = 77;
+ ENUM_VALUE3555 = 78;
+ ENUM_VALUE3556 = 79;
+ ENUM_VALUE3557 = 80;
+ ENUM_VALUE3558 = 81;
+ ENUM_VALUE3559 = 82;
+ ENUM_VALUE3560 = 83;
+ ENUM_VALUE3561 = 84;
+ ENUM_VALUE3562 = 85;
+ ENUM_VALUE3563 = 86;
+ ENUM_VALUE3564 = 87;
+ ENUM_VALUE3565 = 88;
+ ENUM_VALUE3566 = 89;
+ ENUM_VALUE3567 = 90;
+ ENUM_VALUE3568 = 91;
+ ENUM_VALUE3569 = 92;
+ ENUM_VALUE3570 = 93;
+ ENUM_VALUE3571 = 94;
+ ENUM_VALUE3572 = 95;
+ ENUM_VALUE3573 = 96;
+ ENUM_VALUE3574 = 97;
+ ENUM_VALUE3575 = 98;
+ ENUM_VALUE3576 = 99;
+ ENUM_VALUE3577 = 100;
+ ENUM_VALUE3578 = 101;
+ ENUM_VALUE3579 = 102;
+ ENUM_VALUE3580 = 103;
+ ENUM_VALUE3581 = 104;
+ ENUM_VALUE3582 = 105;
+ ENUM_VALUE3583 = 106;
+ ENUM_VALUE3584 = 107;
+ ENUM_VALUE3585 = 108;
+ ENUM_VALUE3586 = 109;
+ ENUM_VALUE3587 = 110;
+ ENUM_VALUE3588 = 111;
+ ENUM_VALUE3589 = 112;
+ ENUM_VALUE3590 = 113;
+ ENUM_VALUE3591 = 114;
+ ENUM_VALUE3592 = 115;
+ ENUM_VALUE3593 = 116;
+ ENUM_VALUE3594 = 117;
+ ENUM_VALUE3595 = 118;
+ ENUM_VALUE3596 = 119;
+ ENUM_VALUE3597 = 120;
+ ENUM_VALUE3598 = 121;
+ ENUM_VALUE3599 = 122;
+ ENUM_VALUE3600 = 123;
+ ENUM_VALUE3601 = 124;
+ ENUM_VALUE3602 = 125;
+ ENUM_VALUE3603 = 126;
+ ENUM_VALUE3604 = 127;
+ ENUM_VALUE3605 = 128;
+ ENUM_VALUE3606 = 129;
+ ENUM_VALUE3607 = 130;
+ ENUM_VALUE3608 = 131;
+ ENUM_VALUE3609 = 132;
+ ENUM_VALUE3610 = 133;
+ ENUM_VALUE3611 = 134;
+ ENUM_VALUE3612 = 135;
+ ENUM_VALUE3613 = 136;
+ ENUM_VALUE3614 = 137;
+ ENUM_VALUE3615 = 138;
+ ENUM_VALUE3616 = 139;
+ ENUM_VALUE3617 = 140;
+ ENUM_VALUE3618 = 141;
+ ENUM_VALUE3619 = 142;
+ ENUM_VALUE3620 = 143;
+ ENUM_VALUE3621 = 144;
+ ENUM_VALUE3622 = 145;
+ ENUM_VALUE3623 = 146;
+ ENUM_VALUE3624 = 147;
+ ENUM_VALUE3625 = 148;
+ ENUM_VALUE3626 = 149;
+ ENUM_VALUE3627 = 150;
+ ENUM_VALUE3628 = 151;
+ ENUM_VALUE3629 = 152;
+ ENUM_VALUE3630 = 153;
+ ENUM_VALUE3631 = 154;
+ ENUM_VALUE3632 = 155;
+ ENUM_VALUE3633 = 156;
+ ENUM_VALUE3634 = 157;
+ ENUM_VALUE3635 = 158;
+ ENUM_VALUE3636 = 159;
+ ENUM_VALUE3637 = 160;
+ ENUM_VALUE3638 = 161;
+ ENUM_VALUE3639 = 162;
+ ENUM_VALUE3640 = 163;
+ ENUM_VALUE3641 = 164;
+ ENUM_VALUE3642 = 165;
+ ENUM_VALUE3643 = 166;
+ ENUM_VALUE3644 = 167;
+ ENUM_VALUE3645 = 168;
+ ENUM_VALUE3646 = 169;
+ ENUM_VALUE3647 = 170;
+ ENUM_VALUE3648 = 171;
+ ENUM_VALUE3649 = 172;
+ ENUM_VALUE3650 = 173;
+ ENUM_VALUE3651 = 174;
+ ENUM_VALUE3652 = 175;
+ ENUM_VALUE3653 = 176;
+ ENUM_VALUE3654 = 177;
+ ENUM_VALUE3655 = 178;
+ ENUM_VALUE3656 = 179;
+ ENUM_VALUE3657 = 180;
+ ENUM_VALUE3658 = 181;
+ ENUM_VALUE3659 = 182;
+ ENUM_VALUE3660 = 183;
+}
+
+enum Enum10325 {
+ ENUM_VALUE10326 = 0;
+ ENUM_VALUE10327 = 1;
+ ENUM_VALUE10328 = 2;
+ ENUM_VALUE10329 = 3;
+ ENUM_VALUE10330 = 4;
+ ENUM_VALUE10331 = 5;
+ ENUM_VALUE10332 = 6;
+ ENUM_VALUE10333 = 7;
+ ENUM_VALUE10334 = 8;
+}
+
+enum Enum10335 {
+ ENUM_VALUE10336 = 0;
+}
+
+enum Enum10337 {
+ ENUM_VALUE10338 = 0;
+ ENUM_VALUE10339 = 1;
+}
+
+enum Enum11901 {
+ ENUM_VALUE11902 = 0;
+ ENUM_VALUE11903 = 1;
+ ENUM_VALUE11904 = 2;
+ ENUM_VALUE11905 = 3;
+}
+
+enum Enum12735 {
+ ENUM_VALUE12736 = 0;
+ ENUM_VALUE12737 = 1;
+ ENUM_VALUE12738 = 2;
+ ENUM_VALUE12739 = 3;
+}
+
+enum Enum12871 {
+ ENUM_VALUE12872 = 1;
+ ENUM_VALUE12873 = 2;
+ ENUM_VALUE12874 = 3;
+ ENUM_VALUE12875 = 4;
+ ENUM_VALUE12876 = 5;
+ ENUM_VALUE12877 = 6;
+}
+