// Copyright (c) 2012, 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.

// @dart = 2.9

library libd;

import 'duplicate_import_liba.dart';
import 'duplicate_import_libb.dart';
import 'duplicate_import_libc.dart';

export '../duplicate_import_liba.dart';
export 'duplicate_import_libb.dart';
export 'duplicate_import_libc.dart';
