// Protocol Buffers - Google's data interchange format
// Copyright 2008 Google Inc.  All rights reserved.
// https://developers.google.com/protocol-buffers/
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
// met:
//
//     * Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
//     * Redistributions in binary form must reproduce the above
// copyright notice, this list of conditions and the following disclaimer
// in the documentation and/or other materials provided with the
// distribution.
//     * Neither the name of Google Inc. nor the names of its
// contributors may be used to endorse or promote products derived from
// this software without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

// LINT: ALLOW_GROUPS

syntax = "proto2";

package benchmarks.google_message3;

import "datasets/google_message3/benchmark_message3_6.proto";
import "datasets/google_message3/benchmark_message3_7.proto";
import "datasets/google_message3/benchmark_message3_8.proto";

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;
}
