// Copyright (c) 2018, the Dart project authors.  Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.

syntax = "proto2";
package a0.a1.a274;
import "f5.proto";
message A313 {
  optional int32 a90 = 1;
  optional int32 a275 = 2;
}
message A314 {
  repeated A313 a276 = 1;
}
message A315 {
  optional string a277 = 1;
  optional a10.A113.A59 a99 = 2;
  optional int64 a278 = 3;
  repeated string a279 = 4;
}
message A316 {
  optional string a280 = 1;
  optional int64 a281 = 2;
  repeated A315 a282 = 3;
}
message A317 {
  repeated A316 a283 = 1;
}
extend a10.A56 {
  repeated A313 a276 = 134096400;
  optional A314 a284 = 141473177;
}
message A318 {
  message A319 {
    optional int32 a285 = 1;
    optional string a54 = 2;
  }
  repeated A319 a286 = 1;
}
extend a10.A57 {
  optional int32 a287 = 134096400;
  optional A318 a288 = 185706300;
}
