// 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;
import "f17.proto";
import "f18.proto";
import "f12.proto";
message A210 {
  enum A211 {
    A212 = 0;
    A213 = 1;
    A214 = 2;
  }
  optional string a223 = 1;
  optional string a224 = 3;
  message A215 {
    repeated A216 a225 = 1;
  }
  optional A215 a226 = 2;
  optional A211 a227 = 4;
  optional bool a228 = 5;
}
message A217 {
  optional A218 a229 = 1;
  message A219 {
    repeated A216 a230 = 1;
  }
  optional A219 a231 = 2;
}
