// Copyright 2013 The Flutter Authors. 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

import 'sound_main.dart' as m;

// TODO(dnfield): Migrate the deps in pubspec.yaml to null-safety versions.
// In particular see the ongoing work on package:args here:
// https://github.com/flutter/flutter/issues/72542
Future<void> main(List<String> args) => m.main(args);
