// Application-level settings for the Runner target.
//
// This may be replaced with something auto-generated from metadata (e.g., pubspec.yaml) in the
// future. If not, the values below would default to using the project name when this becomes a
// 'flutter create' template.

// The application's name. By default this is also the title of the Flutter window.
PRODUCT_NAME = local

// The application's bundle identifier
PRODUCT_BUNDLE_IDENTIFIER = dev.flutter.rfw.examples.local

// The copyright displayed in application information
PRODUCT_COPYRIGHT = Copyright © 2021 dev.flutter.rfw.examples. All rights reserved.
