From ac9647e5e7c779d78a863eeb4e7dec84096bb812 Mon Sep 17 00:00:00 2001 From: jtdLab <72231111+jtdLab@users.noreply.github.com> Date: Sat, 26 Aug 2023 00:58:23 +0200 Subject: [PATCH] chore: improve docs + templates part 1 --- bricks/di_package/__brick__/.gitignore | 5 - bricks/di_package/__brick__/CHANGELOG.md | 2 +- bricks/di_package/__brick__/README.md | 40 +----- .../__brick__/analysis_options.yaml | 5 - bricks/di_package/__brick__/pubspec.yaml | 2 +- bricks/domain_package/__brick__/.gitignore | 5 - bricks/domain_package/__brick__/CHANGELOG.md | 2 +- bricks/domain_package/__brick__/README.md | 44 +++---- .../__brick__/analysis_options.yaml | 5 - bricks/domain_package/__brick__/pubspec.yaml | 5 +- .../__brick__/.gitignore | 5 - .../__brick__/CHANGELOG.md | 2 +- .../__brick__/README.md | 42 ++----- .../__brick__/analysis_options.yaml | 5 - .../__brick__/pubspec.yaml | 10 +- bricks/logging_package/__brick__/.gitignore | 5 - bricks/logging_package/__brick__/CHANGELOG.md | 2 +- bricks/logging_package/__brick__/README.md | 40 +----- .../__brick__/analysis_options.yaml | 5 - bricks/logging_package/__brick__/pubspec.yaml | 10 +- .../__brick__/.gitignore | 5 - .../__brick__/CHANGELOG.md | 2 +- .../__brick__/LICENSE | 1 - .../__brick__/README.md | 39 ------ .../__brick__/analysis_options.yaml | 5 - .../__brick__/lib/src/presentation/app.dart | 14 +-- .../__brick__/pubspec.yaml | 21 ++-- .../__brick__/.gitignore | 5 - .../__brick__/CHANGELOG.md | 2 +- .../__brick__/LICENSE | 1 - .../__brick__/README.md | 39 ------ .../__brick__/analysis_options.yaml | 5 - .../__brick__/pubspec.yaml | 24 ++-- .../__brick__/.gitignore | 5 - .../__brick__/CHANGELOG.md | 2 +- .../__brick__/README.md | 17 +-- .../__brick__/analysis_options.yaml | 5 - .../__brick__/pubspec.yaml | 2 +- .../__brick__/.gitignore | 5 - .../__brick__/CHANGELOG.md | 2 +- .../__brick__/README.md | 18 ++- .../__brick__/analysis_options.yaml | 5 - .../__brick__/pubspec.yaml | 4 +- .../__brick__/.gitignore | 5 - .../__brick__/CHANGELOG.md | 2 +- .../__brick__/LICENSE | 1 - .../__brick__/README.md | 39 ------ .../__brick__/analysis_options.yaml | 5 - .../__brick__/pubspec.yaml | 23 ++-- .../__brick__/.gitignore | 5 - .../platform_root_package/__brick__/README.md | 18 ++- .../__brick__/analysis_options.yaml | 5 - .../__brick__/pubspec.yaml | 116 +++++++++--------- .../__brick__/test/bloc_observer_test.dart | 2 +- .../__brick__/.gitignore | 5 - .../__brick__/CHANGELOG.md | 2 +- .../__brick__/LICENSE | 1 - .../__brick__/README.md | 39 ------ .../__brick__/analysis_options.yaml | 5 - .../__brick__/pubspec.yaml | 23 ++-- .../platform_ui_package/__brick__/.gitignore | 5 - .../__brick__/CHANGELOG.md | 2 +- bricks/platform_ui_package/__brick__/LICENSE | 1 - .../platform_ui_package/__brick__/README.md | 41 ++----- .../__brick__/analysis_options.yaml | 5 - .../__brick__/pubspec.yaml | 87 ++++++------- .../__brick__/.gitignore | 5 - .../__brick__/CHANGELOG.md | 2 +- .../__brick__/LICENSE | 1 - .../__brick__/README.md | 39 ------ .../__brick__/analysis_options.yaml | 5 - .../__brick__/pubspec.yaml | 19 ++- bricks/root_package/__brick__/.gitignore | 13 -- bricks/root_package/__brick__/README.md | 4 +- bricks/ui_package/README.md | 2 - bricks/ui_package/__brick__/.gitignore | 5 - bricks/ui_package/__brick__/CHANGELOG.md | 2 +- bricks/ui_package/__brick__/LICENSE | 1 - bricks/ui_package/__brick__/README.md | 41 ++----- .../__brick__/analysis_options.yaml | 5 - bricks/ui_package/__brick__/pubspec.yaml | 15 ++- docs/architecture/app-module.mdx | 13 +- docs/architecture/ui-module.mdx | 8 +- docs/getting-started.mdx | 9 +- packages/rapid_cli/example/README.md | 6 - .../project/bundles/di_package_bundle.dart | 16 +-- .../bundles/domain_package_bundle.dart | 16 +-- .../infrastructure_package_bundle.dart | 16 +-- .../bundles/logging_package_bundle.dart | 16 +-- .../platform_app_feature_package_bundle.dart | 22 +--- .../platform_flow_feature_package_bundle.dart | 20 +-- .../platform_localization_package_bundle.dart | 12 +- .../platform_navigation_package_bundle.dart | 16 +-- .../platform_page_feature_package_bundle.dart | 20 +-- .../bundles/platform_root_package_bundle.dart | 11 +- ...tform_tab_flow_feature_package_bundle.dart | 20 +-- .../bundles/platform_ui_package_bundle.dart | 21 +--- ...latform_widget_feature_package_bundle.dart | 20 +-- .../project/bundles/root_package_bundle.dart | 4 +- .../project/bundles/ui_package_bundle.dart | 23 +--- packages/rapid_cli/test/e2e/common.dart | 1 + 101 files changed, 366 insertions(+), 989 deletions(-) delete mode 100644 bricks/platform_app_feature_package/__brick__/LICENSE delete mode 100644 bricks/platform_flow_feature_package/__brick__/LICENSE delete mode 100644 bricks/platform_page_feature_package/__brick__/LICENSE delete mode 100644 bricks/platform_tab_flow_feature_package/__brick__/LICENSE delete mode 100644 bricks/platform_ui_package/__brick__/LICENSE delete mode 100644 bricks/platform_widget_feature_package/__brick__/LICENSE delete mode 100644 bricks/ui_package/__brick__/LICENSE diff --git a/bricks/di_package/__brick__/.gitignore b/bricks/di_package/__brick__/.gitignore index 3c6eba126..072ec7214 100644 --- a/bricks/di_package/__brick__/.gitignore +++ b/bricks/di_package/__brick__/.gitignore @@ -16,11 +16,6 @@ migrate_working_dir/ *.iws .idea/ -# The .vscode folder contains launch configuration and tasks you configure in -# VS Code which you may wish to be included in version control, so this line -# is commented out by default. -#.vscode/ - # Files and directories created by pub. .dart_tool/ .packages diff --git a/bricks/di_package/__brick__/CHANGELOG.md b/bricks/di_package/__brick__/CHANGELOG.md index effe43c82..a0712a79e 100644 --- a/bricks/di_package/__brick__/CHANGELOG.md +++ b/bricks/di_package/__brick__/CHANGELOG.md @@ -1,3 +1,3 @@ -## 1.0.0 +## 0.1.0 - Initial version. diff --git a/bricks/di_package/__brick__/README.md b/bricks/di_package/__brick__/README.md index 8b55e735b..2b6e449b6 100644 --- a/bricks/di_package/__brick__/README.md +++ b/bricks/di_package/__brick__/README.md @@ -1,39 +1,11 @@ - +🎯 Provide a dependency injection container. -TODO: Put a short description of the package here that helps potential users -know whether this package might be useful for them. +🎯 Provide platform annotations for dependency injection. -## Features +For more information click [here][1]. -TODO: List what your package can do. Maybe include images, gifs, or videos. - -## Getting started - -TODO: List prerequisites and provide or point to information on how to -start using the package. - -## Usage - -TODO: Include short and useful examples for package users. Add longer examples -to `/example` folder. - -```dart -const like = 'sample'; -``` - -## Additional information - -TODO: Tell users more about the package: where to find more information, how to -contribute to the package, how to file issues, what response they can expect -from the package authors, and more. +[1]: https://docs.page/jtdLab/rapid/architecture/app-module#dependency-injection-package diff --git a/bricks/di_package/__brick__/analysis_options.yaml b/bricks/di_package/__brick__/analysis_options.yaml index a6b7f36fc..e2badd73e 100644 --- a/bricks/di_package/__brick__/analysis_options.yaml +++ b/bricks/di_package/__brick__/analysis_options.yaml @@ -1,6 +1 @@ include: ../../../analysis_options.yaml -# Uncomment the following section to specify additional rules. - -# linter: -# rules: -# - camel_case_types diff --git a/bricks/di_package/__brick__/pubspec.yaml b/bricks/di_package/__brick__/pubspec.yaml index 5087b9d19..da773efda 100644 --- a/bricks/di_package/__brick__/pubspec.yaml +++ b/bricks/di_package/__brick__/pubspec.yaml @@ -1,6 +1,6 @@ name: {{ project_name }}_di description: Dependency injection of {{project_name.titleCase()}}. -version: 0.0.1 +version: 0.1.0 publish_to: none environment: diff --git a/bricks/domain_package/__brick__/.gitignore b/bricks/domain_package/__brick__/.gitignore index 3c6eba126..072ec7214 100644 --- a/bricks/domain_package/__brick__/.gitignore +++ b/bricks/domain_package/__brick__/.gitignore @@ -16,11 +16,6 @@ migrate_working_dir/ *.iws .idea/ -# The .vscode folder contains launch configuration and tasks you configure in -# VS Code which you may wish to be included in version control, so this line -# is commented out by default. -#.vscode/ - # Files and directories created by pub. .dart_tool/ .packages diff --git a/bricks/domain_package/__brick__/CHANGELOG.md b/bricks/domain_package/__brick__/CHANGELOG.md index effe43c82..a0712a79e 100644 --- a/bricks/domain_package/__brick__/CHANGELOG.md +++ b/bricks/domain_package/__brick__/CHANGELOG.md @@ -1,3 +1,3 @@ -## 1.0.0 +## 0.1.0 - Initial version. diff --git a/bricks/domain_package/__brick__/README.md b/bricks/domain_package/__brick__/README.md index 8b55e735b..d36342dba 100644 --- a/bricks/domain_package/__brick__/README.md +++ b/bricks/domain_package/__brick__/README.md @@ -1,39 +1,23 @@ - +🎯 Represent a domain. -TODO: Put a short description of the package here that helps potential users -know whether this package might be useful for them. +### Components -## Features +📦 [Entity][2] -TODO: List what your package can do. Maybe include images, gifs, or videos. +📦 [Value Object][3] -## Getting started +📦 [Service Interface][4] -TODO: List prerequisites and provide or point to information on how to -start using the package. +📦 [Failure][5] -## Usage +For more information click [here][1]. -TODO: Include short and useful examples for package users. Add longer examples -to `/example` folder. - -```dart -const like = 'sample'; -``` - -## Additional information - -TODO: Tell users more about the package: where to find more information, how to -contribute to the package, how to file issues, what response they can expect -from the package authors, and more. +[1]: https://docs.page/jtdLab/rapid/architecture/app-module#domain-package +[2]: https://docs.page/jtdLab/rapid/architecture/app-module#entity +[3]: https://docs.page/jtdLab/rapid/architecture/app-module#value-object +[4]: https://docs.page/jtdLab/rapid/architecture/app-module#service-interface +[5]: https://docs.page/jtdLab/rapid/architecture/app-module#failure diff --git a/bricks/domain_package/__brick__/analysis_options.yaml b/bricks/domain_package/__brick__/analysis_options.yaml index 8afdd648b..ec0637968 100644 --- a/bricks/domain_package/__brick__/analysis_options.yaml +++ b/bricks/domain_package/__brick__/analysis_options.yaml @@ -1,6 +1 @@ include: ../../../../analysis_options.yaml -# Uncomment the following section to specify additional rules. - -# linter: -# rules: -# - camel_case_types diff --git a/bricks/domain_package/__brick__/pubspec.yaml b/bricks/domain_package/__brick__/pubspec.yaml index 1d465f9ab..e0d706a57 100644 --- a/bricks/domain_package/__brick__/pubspec.yaml +++ b/bricks/domain_package/__brick__/pubspec.yaml @@ -1,6 +1,6 @@ name: {{project_name}}_domain{{#has_name}}_{{name}}{{/has_name}} description: TODO -version: 0.0.1 +version: 0.1.0 publish_to: none environment: @@ -13,5 +13,6 @@ dependencies: dev_dependencies: test: ^1.24.6 build_runner: ^2.4.6 - freezed: ^2.4.1 build_verify: ^3.1.0 + freezed: ^2.4.1 + diff --git a/bricks/infrastructure_package/__brick__/.gitignore b/bricks/infrastructure_package/__brick__/.gitignore index 3c6eba126..072ec7214 100644 --- a/bricks/infrastructure_package/__brick__/.gitignore +++ b/bricks/infrastructure_package/__brick__/.gitignore @@ -16,11 +16,6 @@ migrate_working_dir/ *.iws .idea/ -# The .vscode folder contains launch configuration and tasks you configure in -# VS Code which you may wish to be included in version control, so this line -# is commented out by default. -#.vscode/ - # Files and directories created by pub. .dart_tool/ .packages diff --git a/bricks/infrastructure_package/__brick__/CHANGELOG.md b/bricks/infrastructure_package/__brick__/CHANGELOG.md index effe43c82..a0712a79e 100644 --- a/bricks/infrastructure_package/__brick__/CHANGELOG.md +++ b/bricks/infrastructure_package/__brick__/CHANGELOG.md @@ -1,3 +1,3 @@ -## 1.0.0 +## 0.1.0 - Initial version. diff --git a/bricks/infrastructure_package/__brick__/README.md b/bricks/infrastructure_package/__brick__/README.md index 8b55e735b..c23d9b68d 100644 --- a/bricks/infrastructure_package/__brick__/README.md +++ b/bricks/infrastructure_package/__brick__/README.md @@ -1,39 +1,17 @@ - +🎯 Implement a domain. -TODO: Put a short description of the package here that helps potential users -know whether this package might be useful for them. +### Components -## Features +📦 [Data Transfer Object][2] -TODO: List what your package can do. Maybe include images, gifs, or videos. +📦 [Service Implementation][3] -## Getting started +For more information click [here][1]. -TODO: List prerequisites and provide or point to information on how to -start using the package. - -## Usage - -TODO: Include short and useful examples for package users. Add longer examples -to `/example` folder. - -```dart -const like = 'sample'; -``` - -## Additional information - -TODO: Tell users more about the package: where to find more information, how to -contribute to the package, how to file issues, what response they can expect -from the package authors, and more. +[1]: https://docs.page/jtdLab/rapid/architecture/app-module#infrastructure-package +[2]: https://docs.page/jtdLab/rapid/architecture/app-module#data-transfer-object +[3]: https://docs.page/jtdLab/rapid/architecture/app-module#service-implementation diff --git a/bricks/infrastructure_package/__brick__/analysis_options.yaml b/bricks/infrastructure_package/__brick__/analysis_options.yaml index 8afdd648b..ec0637968 100644 --- a/bricks/infrastructure_package/__brick__/analysis_options.yaml +++ b/bricks/infrastructure_package/__brick__/analysis_options.yaml @@ -1,6 +1 @@ include: ../../../../analysis_options.yaml -# Uncomment the following section to specify additional rules. - -# linter: -# rules: -# - camel_case_types diff --git a/bricks/infrastructure_package/__brick__/pubspec.yaml b/bricks/infrastructure_package/__brick__/pubspec.yaml index 57683309e..ccaec75bd 100644 --- a/bricks/infrastructure_package/__brick__/pubspec.yaml +++ b/bricks/infrastructure_package/__brick__/pubspec.yaml @@ -1,6 +1,6 @@ name: {{project_name}}_infrastructure{{#has_name}}_{{name}}{{/has_name}} description: TODO -version: 0.0.1 +version: 0.1.0 publish_to: none environment: @@ -8,16 +8,16 @@ environment: dependencies: freezed_annotation: ^2.4.1 - json_annotation: ^4.8.1 injectable: ^2.3.0 + json_annotation: ^4.8.1 {{project_name}}_logging: {{project_name}}_domain{{#has_name}}_{{name}}{{/has_name}}: dev_dependencies: - test: ^1.24.6 - mocktail: ^1.0.0 build_runner: ^2.4.6 + build_verify: ^3.1.0 freezed: ^2.4.1 injectable_generator: ^2.4.0 json_serializable: ^6.7.1 - build_verify: ^3.1.0 + mocktail: ^1.0.0 + test: ^1.24.6 diff --git a/bricks/logging_package/__brick__/.gitignore b/bricks/logging_package/__brick__/.gitignore index 3c6eba126..072ec7214 100644 --- a/bricks/logging_package/__brick__/.gitignore +++ b/bricks/logging_package/__brick__/.gitignore @@ -16,11 +16,6 @@ migrate_working_dir/ *.iws .idea/ -# The .vscode folder contains launch configuration and tasks you configure in -# VS Code which you may wish to be included in version control, so this line -# is commented out by default. -#.vscode/ - # Files and directories created by pub. .dart_tool/ .packages diff --git a/bricks/logging_package/__brick__/CHANGELOG.md b/bricks/logging_package/__brick__/CHANGELOG.md index effe43c82..a0712a79e 100644 --- a/bricks/logging_package/__brick__/CHANGELOG.md +++ b/bricks/logging_package/__brick__/CHANGELOG.md @@ -1,3 +1,3 @@ -## 1.0.0 +## 0.1.0 - Initial version. diff --git a/bricks/logging_package/__brick__/README.md b/bricks/logging_package/__brick__/README.md index 8b55e735b..10efdd56d 100644 --- a/bricks/logging_package/__brick__/README.md +++ b/bricks/logging_package/__brick__/README.md @@ -1,39 +1,9 @@ - +🎯 Provide a logger. -TODO: Put a short description of the package here that helps potential users -know whether this package might be useful for them. +For more information click [here][1]. -## Features - -TODO: List what your package can do. Maybe include images, gifs, or videos. - -## Getting started - -TODO: List prerequisites and provide or point to information on how to -start using the package. - -## Usage - -TODO: Include short and useful examples for package users. Add longer examples -to `/example` folder. - -```dart -const like = 'sample'; -``` - -## Additional information - -TODO: Tell users more about the package: where to find more information, how to -contribute to the package, how to file issues, what response they can expect -from the package authors, and more. +[1]: https://docs.page/jtdLab/rapid/architecture/app-module#logging-package diff --git a/bricks/logging_package/__brick__/analysis_options.yaml b/bricks/logging_package/__brick__/analysis_options.yaml index a6b7f36fc..e2badd73e 100644 --- a/bricks/logging_package/__brick__/analysis_options.yaml +++ b/bricks/logging_package/__brick__/analysis_options.yaml @@ -1,6 +1 @@ include: ../../../analysis_options.yaml -# Uncomment the following section to specify additional rules. - -# linter: -# rules: -# - camel_case_types diff --git a/bricks/logging_package/__brick__/pubspec.yaml b/bricks/logging_package/__brick__/pubspec.yaml index 20478e116..a3635fef0 100644 --- a/bricks/logging_package/__brick__/pubspec.yaml +++ b/bricks/logging_package/__brick__/pubspec.yaml @@ -1,18 +1,18 @@ name: {{project_name}}_logging description: Logging of {{project_name.titleCase()}}. -version: 0.0.1 +version: 0.1.0 publish_to: none environment: sdk: ">=3.1.0 <4.0.0" dependencies: - meta: ^1.9.1 injectable: ^2.3.0 + meta: ^1.9.1 dev_dependencies: - test: ^1.24.6 - mocktail: ^1.0.0 build_runner: ^2.4.6 + build_verify: ^3.1.0 injectable_generator: ^2.4.0 - build_verify: ^3.1.0 \ No newline at end of file + mocktail: ^1.0.0 + test: ^1.24.6 diff --git a/bricks/platform_app_feature_package/__brick__/.gitignore b/bricks/platform_app_feature_package/__brick__/.gitignore index 309c72103..8ed80d9e7 100644 --- a/bricks/platform_app_feature_package/__brick__/.gitignore +++ b/bricks/platform_app_feature_package/__brick__/.gitignore @@ -16,11 +16,6 @@ migrate_working_dir/ *.iws .idea/ -# The .vscode folder contains launch configuration and tasks you configure in -# VS Code which you may wish to be included in version control, so this line -# is commented out by default. -#.vscode/ - # Flutter/Dart/Pub related **/doc/api/ **/ios/Flutter/.last_build_id diff --git a/bricks/platform_app_feature_package/__brick__/CHANGELOG.md b/bricks/platform_app_feature_package/__brick__/CHANGELOG.md index 41cc7d819..67b5cb312 100644 --- a/bricks/platform_app_feature_package/__brick__/CHANGELOG.md +++ b/bricks/platform_app_feature_package/__brick__/CHANGELOG.md @@ -1,3 +1,3 @@ -## 0.0.1 +## 0.1.0 * TODO: Describe initial release. diff --git a/bricks/platform_app_feature_package/__brick__/LICENSE b/bricks/platform_app_feature_package/__brick__/LICENSE deleted file mode 100644 index ba75c69f7..000000000 --- a/bricks/platform_app_feature_package/__brick__/LICENSE +++ /dev/null @@ -1 +0,0 @@ -TODO: Add your license here. diff --git a/bricks/platform_app_feature_package/__brick__/README.md b/bricks/platform_app_feature_package/__brick__/README.md index 02fe8ecab..e69de29bb 100644 --- a/bricks/platform_app_feature_package/__brick__/README.md +++ b/bricks/platform_app_feature_package/__brick__/README.md @@ -1,39 +0,0 @@ - - -TODO: Put a short description of the package here that helps potential users -know whether this package might be useful for them. - -## Features - -TODO: List what your package can do. Maybe include images, gifs, or videos. - -## Getting started - -TODO: List prerequisites and provide or point to information on how to -start using the package. - -## Usage - -TODO: Include short and useful examples for package users. Add longer examples -to `/example` folder. - -```dart -const like = 'sample'; -``` - -## Additional information - -TODO: Tell users more about the package: where to find more information, how to -contribute to the package, how to file issues, what response they can expect -from the package authors, and more. diff --git a/bricks/platform_app_feature_package/__brick__/analysis_options.yaml b/bricks/platform_app_feature_package/__brick__/analysis_options.yaml index f8892ad5d..2dd4362ad 100644 --- a/bricks/platform_app_feature_package/__brick__/analysis_options.yaml +++ b/bricks/platform_app_feature_package/__brick__/analysis_options.yaml @@ -1,6 +1 @@ include: ../../../../../analysis_options.yaml -# Uncomment the following section to specify additional rules. - -# linter: -# rules: -# - camel_case_types diff --git a/bricks/platform_app_feature_package/__brick__/lib/src/presentation/app.dart b/bricks/platform_app_feature_package/__brick__/lib/src/presentation/app.dart index 2fd606f9a..0be3dbe88 100644 --- a/bricks/platform_app_feature_package/__brick__/lib/src/presentation/app.dart +++ b/bricks/platform_app_feature_package/__brick__/lib/src/presentation/app.dart @@ -32,7 +32,7 @@ abstract class App extends StatelessWidget { this.router, }) : supportedLocales = {{project_name.pascalCase()}}Localizations.supportedLocales, localizationsDelegates = const [ - {{project_name.pascalCase()}}Localizations.delegate + {{project_name.pascalCase()}}Localizations.delegate, ]; final List supportedLocales; @@ -159,7 +159,7 @@ abstract class App extends StatelessWidget { this.router, }) : supportedLocales = {{project_name.pascalCase()}}Localizations.supportedLocales, localizationsDelegates = const [ - {{project_name.pascalCase()}}Localizations.delegate + {{project_name.pascalCase()}}Localizations.delegate, ]; final List supportedLocales; @@ -286,7 +286,7 @@ abstract class App extends StatelessWidget { this.router, }) : supportedLocales = {{project_name.pascalCase()}}Localizations.supportedLocales, localizationsDelegates = const [ - {{project_name.pascalCase()}}Localizations.delegate + {{project_name.pascalCase()}}Localizations.delegate, ]; final List supportedLocales; @@ -413,7 +413,7 @@ abstract class App extends StatelessWidget { this.router, }) : supportedLocales = {{project_name.pascalCase()}}Localizations.supportedLocales, localizationsDelegates = const [ - {{project_name.pascalCase()}}Localizations.delegate + {{project_name.pascalCase()}}Localizations.delegate, ]; final List supportedLocales; @@ -540,7 +540,7 @@ abstract class App extends StatelessWidget { this.router, }) : supportedLocales = {{project_name.pascalCase()}}Localizations.supportedLocales, localizationsDelegates = const [ - {{project_name.pascalCase()}}Localizations.delegate + {{project_name.pascalCase()}}Localizations.delegate, ]; final List supportedLocales; @@ -667,7 +667,7 @@ abstract class App extends StatelessWidget { this.router, }) : supportedLocales = {{project_name.pascalCase()}}Localizations.supportedLocales, localizationsDelegates = const [ - {{project_name.pascalCase()}}Localizations.delegate + {{project_name.pascalCase()}}Localizations.delegate, ]; final List supportedLocales; @@ -794,7 +794,7 @@ abstract class App extends StatelessWidget { this.router, }) : supportedLocales = {{project_name.pascalCase()}}Localizations.supportedLocales, localizationsDelegates = const [ - {{project_name.pascalCase()}}Localizations.delegate + {{project_name.pascalCase()}}Localizations.delegate, ]; final List supportedLocales; diff --git a/bricks/platform_app_feature_package/__brick__/pubspec.yaml b/bricks/platform_app_feature_package/__brick__/pubspec.yaml index 4073b0adf..516419b98 100644 --- a/bricks/platform_app_feature_package/__brick__/pubspec.yaml +++ b/bricks/platform_app_feature_package/__brick__/pubspec.yaml @@ -1,6 +1,6 @@ name: {{project_name}}_{{platform}}_app description: The App feature. -version: 0.0.1 +version: 0.1.0 publish_to: none environment: @@ -8,29 +8,29 @@ environment: flutter: ">=3.13.0" dependencies: + auto_route: ^7.8.2 + bloc: ^8.1.2 flutter: sdk: flutter - meta: ^1.9.1 - bloc: ^8.1.2 - freezed_annotation: ^2.4.1 flutter_bloc: ^8.1.3 + freezed_annotation: ^2.4.1 injectable: ^2.3.0 - auto_route: ^7.8.2 + meta: ^1.9.1 {{project_name}}_di: {{project_name}}_domain: {{project_name}}_ui_{{platform}}: {{project_name}}_{{platform}}_localization: dev_dependencies: - flutter_test: - sdk: flutter bloc_test: ^9.1.4 - mocktail: ^1.0.0 build_runner: ^2.4.6 + build_verify: ^3.1.0 + flutter_gen_runner: ^5.3.1 + flutter_test: + sdk: flutter freezed: ^2.4.1 injectable_generator: ^2.4.0 - flutter_gen_runner: ^5.3.1 - build_verify: ^3.1.0 + mocktail: ^1.0.0 # The following section is specific to the FlutterGen package. # See: https://pub.dev/packages/flutter_gen#configuration-file @@ -39,7 +39,6 @@ flutter_gen: # To add support for svg via flutter_svg package # integrations: # flutter_svg: true - assets: outputs: package_parameter_enabled: true diff --git a/bricks/platform_flow_feature_package/__brick__/.gitignore b/bricks/platform_flow_feature_package/__brick__/.gitignore index 58ddca681..f6a289c74 100644 --- a/bricks/platform_flow_feature_package/__brick__/.gitignore +++ b/bricks/platform_flow_feature_package/__brick__/.gitignore @@ -16,11 +16,6 @@ migrate_working_dir/ *.iws .idea/ -# The .vscode folder contains launch configuration and tasks you configure in -# VS Code which you may wish to be included in version control, so this line -# is commented out by default. -#.vscode/ - # Flutter/Dart/Pub related **/doc/api/ **/ios/Flutter/.last_build_id diff --git a/bricks/platform_flow_feature_package/__brick__/CHANGELOG.md b/bricks/platform_flow_feature_package/__brick__/CHANGELOG.md index 41cc7d819..67b5cb312 100644 --- a/bricks/platform_flow_feature_package/__brick__/CHANGELOG.md +++ b/bricks/platform_flow_feature_package/__brick__/CHANGELOG.md @@ -1,3 +1,3 @@ -## 0.0.1 +## 0.1.0 * TODO: Describe initial release. diff --git a/bricks/platform_flow_feature_package/__brick__/LICENSE b/bricks/platform_flow_feature_package/__brick__/LICENSE deleted file mode 100644 index ba75c69f7..000000000 --- a/bricks/platform_flow_feature_package/__brick__/LICENSE +++ /dev/null @@ -1 +0,0 @@ -TODO: Add your license here. diff --git a/bricks/platform_flow_feature_package/__brick__/README.md b/bricks/platform_flow_feature_package/__brick__/README.md index 02fe8ecab..e69de29bb 100644 --- a/bricks/platform_flow_feature_package/__brick__/README.md +++ b/bricks/platform_flow_feature_package/__brick__/README.md @@ -1,39 +0,0 @@ - - -TODO: Put a short description of the package here that helps potential users -know whether this package might be useful for them. - -## Features - -TODO: List what your package can do. Maybe include images, gifs, or videos. - -## Getting started - -TODO: List prerequisites and provide or point to information on how to -start using the package. - -## Usage - -TODO: Include short and useful examples for package users. Add longer examples -to `/example` folder. - -```dart -const like = 'sample'; -``` - -## Additional information - -TODO: Tell users more about the package: where to find more information, how to -contribute to the package, how to file issues, what response they can expect -from the package authors, and more. diff --git a/bricks/platform_flow_feature_package/__brick__/analysis_options.yaml b/bricks/platform_flow_feature_package/__brick__/analysis_options.yaml index f8892ad5d..2dd4362ad 100644 --- a/bricks/platform_flow_feature_package/__brick__/analysis_options.yaml +++ b/bricks/platform_flow_feature_package/__brick__/analysis_options.yaml @@ -1,6 +1 @@ include: ../../../../../analysis_options.yaml -# Uncomment the following section to specify additional rules. - -# linter: -# rules: -# - camel_case_types diff --git a/bricks/platform_flow_feature_package/__brick__/pubspec.yaml b/bricks/platform_flow_feature_package/__brick__/pubspec.yaml index 6794b6862..b34df6225 100644 --- a/bricks/platform_flow_feature_package/__brick__/pubspec.yaml +++ b/bricks/platform_flow_feature_package/__brick__/pubspec.yaml @@ -1,6 +1,6 @@ name: {{project_name}}_{{platform}}_{{name}} description: {{description}} -version: 0.0.1 +version: 0.1.0 publish_to: none environment: @@ -8,14 +8,14 @@ environment: flutter: ">=3.13.0" dependencies: + auto_route: ^7.8.2 + bloc: ^8.1.2 flutter: sdk: flutter - meta: ^1.9.1 - bloc: ^8.1.2 - freezed_annotation: ^2.4.1 flutter_bloc: ^8.1.3 - auto_route: ^7.8.2 + freezed_annotation: ^2.4.1 injectable: ^2.3.0 + meta: ^1.9.1 {{project_name}}_di: {{project_name}}_domain: {{project_name}}_ui_{{platform}}: @@ -23,17 +23,17 @@ dependencies: {{project_name}}_{{platform}}_navigation: dev_dependencies: - flutter_test: - sdk: flutter alchemist: ^0.6.1 + auto_route_generator: ^7.3.1 bloc_test: ^9.1.4 - mocktail: ^1.0.0 build_runner: ^2.4.6 + build_verify: ^3.1.0 + flutter_gen_runner: ^5.3.1 + flutter_test: + sdk: flutter freezed: ^2.4.1 - auto_route_generator: ^7.3.1 injectable_generator: ^2.4.0 - flutter_gen_runner: ^5.3.1 - build_verify: ^3.1.0 + mocktail: ^1.0.0 {{project_name}}_{{platform}}_app: # The following section is specific to the FlutterGen package. @@ -43,12 +43,10 @@ flutter_gen: # To add support for svg via flutter_svg package # integrations: # flutter_svg: true - assets: outputs: package_parameter_enabled: true - # The following section is specific to Flutter packages. flutter: {{^ios}}{{^macos}} # The following line ensures that the Material Icons font is diff --git a/bricks/platform_localization_package/__brick__/.gitignore b/bricks/platform_localization_package/__brick__/.gitignore index 0437a8637..a3a85f4da 100644 --- a/bricks/platform_localization_package/__brick__/.gitignore +++ b/bricks/platform_localization_package/__brick__/.gitignore @@ -16,11 +16,6 @@ migrate_working_dir/ *.iws .idea/ -# The .vscode folder contains launch configuration and tasks you configure in -# VS Code which you may wish to be included in version control, so this line -# is commented out by default. -#.vscode/ - # Flutter/Dart/Pub related **/doc/api/ **/ios/Flutter/.last_build_id diff --git a/bricks/platform_localization_package/__brick__/CHANGELOG.md b/bricks/platform_localization_package/__brick__/CHANGELOG.md index effe43c82..a0712a79e 100644 --- a/bricks/platform_localization_package/__brick__/CHANGELOG.md +++ b/bricks/platform_localization_package/__brick__/CHANGELOG.md @@ -1,3 +1,3 @@ -## 1.0.0 +## 0.1.0 - Initial version. diff --git a/bricks/platform_localization_package/__brick__/README.md b/bricks/platform_localization_package/__brick__/README.md index 2e47bb4a3..7492e379f 100644 --- a/bricks/platform_localization_package/__brick__/README.md +++ b/bricks/platform_localization_package/__brick__/README.md @@ -1,16 +1,9 @@ -# {{project_name}}_{{platform}}_localization +## Localization Package ({{platform.titleCase()}}) -A new Flutter project. +### Responsibilities -## Getting Started +🎯 Provide translations for different languages. -This project is a starting point for a Flutter application. +For more information click [here][1]. -A few resources to get you started if this is your first Flutter project: - -- [Lab: Write your first Flutter app](https://docs.flutter.dev/get-started/codelab) -- [Cookbook: Useful Flutter samples](https://docs.flutter.dev/cookbook) - -For help getting started with Flutter development, view the -[online documentation](https://docs.flutter.dev/), which offers tutorials, -samples, guidance on mobile development, and a full API reference. +[1]: https://docs.page/jtdLab/rapid/architecture/app-module#platform-localization-package diff --git a/bricks/platform_localization_package/__brick__/analysis_options.yaml b/bricks/platform_localization_package/__brick__/analysis_options.yaml index 8afdd648b..ec0637968 100644 --- a/bricks/platform_localization_package/__brick__/analysis_options.yaml +++ b/bricks/platform_localization_package/__brick__/analysis_options.yaml @@ -1,6 +1 @@ include: ../../../../analysis_options.yaml -# Uncomment the following section to specify additional rules. - -# linter: -# rules: -# - camel_case_types diff --git a/bricks/platform_localization_package/__brick__/pubspec.yaml b/bricks/platform_localization_package/__brick__/pubspec.yaml index 318fcff41..4d9962a52 100644 --- a/bricks/platform_localization_package/__brick__/pubspec.yaml +++ b/bricks/platform_localization_package/__brick__/pubspec.yaml @@ -1,7 +1,7 @@ name: {{project_name}}_{{platform}}_localization description: Localization of {{project_name.titleCase()}}. publish_to: none -version: 1.0.0 +version: 0.1.0 environment: sdk: ">=3.1.0 <4.0.0" diff --git a/bricks/platform_navigation_package/__brick__/.gitignore b/bricks/platform_navigation_package/__brick__/.gitignore index 309c72103..8ed80d9e7 100644 --- a/bricks/platform_navigation_package/__brick__/.gitignore +++ b/bricks/platform_navigation_package/__brick__/.gitignore @@ -16,11 +16,6 @@ migrate_working_dir/ *.iws .idea/ -# The .vscode folder contains launch configuration and tasks you configure in -# VS Code which you may wish to be included in version control, so this line -# is commented out by default. -#.vscode/ - # Flutter/Dart/Pub related **/doc/api/ **/ios/Flutter/.last_build_id diff --git a/bricks/platform_navigation_package/__brick__/CHANGELOG.md b/bricks/platform_navigation_package/__brick__/CHANGELOG.md index effe43c82..a0712a79e 100644 --- a/bricks/platform_navigation_package/__brick__/CHANGELOG.md +++ b/bricks/platform_navigation_package/__brick__/CHANGELOG.md @@ -1,3 +1,3 @@ -## 1.0.0 +## 0.1.0 - Initial version. diff --git a/bricks/platform_navigation_package/__brick__/README.md b/bricks/platform_navigation_package/__brick__/README.md index 8d9161bd4..97fec4822 100644 --- a/bricks/platform_navigation_package/__brick__/README.md +++ b/bricks/platform_navigation_package/__brick__/README.md @@ -1,16 +1,14 @@ -# tinker_io_macos_navigation +## Navigation Package ({{platform.titleCase()}}) -A new Flutter project. +### Responsibilities -## Getting Started +🎯 Provide Navigator Interfaces to navigate between Platform Feature Packages. -This project is a starting point for a Flutter application. +### Components -A few resources to get you started if this is your first Flutter project: +📦 [Navigator Interface][2] -- [Lab: Write your first Flutter app](https://docs.flutter.dev/get-started/codelab) -- [Cookbook: Useful Flutter samples](https://docs.flutter.dev/cookbook) +For more information click [here][1]. -For help getting started with Flutter development, view the -[online documentation](https://docs.flutter.dev/), which offers tutorials, -samples, guidance on mobile development, and a full API reference. +[1]: https://docs.page/jtdLab/rapid/architecture/app-module#platform-navigation-package +[2]: https://docs.page/jtdLab/rapid/architecture/app-module#navigator-interface diff --git a/bricks/platform_navigation_package/__brick__/analysis_options.yaml b/bricks/platform_navigation_package/__brick__/analysis_options.yaml index 8afdd648b..ec0637968 100644 --- a/bricks/platform_navigation_package/__brick__/analysis_options.yaml +++ b/bricks/platform_navigation_package/__brick__/analysis_options.yaml @@ -1,6 +1 @@ include: ../../../../analysis_options.yaml -# Uncomment the following section to specify additional rules. - -# linter: -# rules: -# - camel_case_types diff --git a/bricks/platform_navigation_package/__brick__/pubspec.yaml b/bricks/platform_navigation_package/__brick__/pubspec.yaml index 719c825b0..5ae420998 100644 --- a/bricks/platform_navigation_package/__brick__/pubspec.yaml +++ b/bricks/platform_navigation_package/__brick__/pubspec.yaml @@ -1,16 +1,16 @@ name: {{project_name}}_{{platform}}_navigation description: Navigation of {{project_name.titleCase()}}. publish_to: none -version: 1.0.0 +version: 0.1.0 environment: sdk: ">=3.1.0 <4.0.0" flutter: ">=3.13.0" dependencies: + auto_route: ^7.8.2 flutter: sdk: flutter - auto_route: ^7.8.2 dev_dependencies: test: ^1.24.6 diff --git a/bricks/platform_page_feature_package/__brick__/.gitignore b/bricks/platform_page_feature_package/__brick__/.gitignore index 58ddca681..f6a289c74 100644 --- a/bricks/platform_page_feature_package/__brick__/.gitignore +++ b/bricks/platform_page_feature_package/__brick__/.gitignore @@ -16,11 +16,6 @@ migrate_working_dir/ *.iws .idea/ -# The .vscode folder contains launch configuration and tasks you configure in -# VS Code which you may wish to be included in version control, so this line -# is commented out by default. -#.vscode/ - # Flutter/Dart/Pub related **/doc/api/ **/ios/Flutter/.last_build_id diff --git a/bricks/platform_page_feature_package/__brick__/CHANGELOG.md b/bricks/platform_page_feature_package/__brick__/CHANGELOG.md index 41cc7d819..67b5cb312 100644 --- a/bricks/platform_page_feature_package/__brick__/CHANGELOG.md +++ b/bricks/platform_page_feature_package/__brick__/CHANGELOG.md @@ -1,3 +1,3 @@ -## 0.0.1 +## 0.1.0 * TODO: Describe initial release. diff --git a/bricks/platform_page_feature_package/__brick__/LICENSE b/bricks/platform_page_feature_package/__brick__/LICENSE deleted file mode 100644 index ba75c69f7..000000000 --- a/bricks/platform_page_feature_package/__brick__/LICENSE +++ /dev/null @@ -1 +0,0 @@ -TODO: Add your license here. diff --git a/bricks/platform_page_feature_package/__brick__/README.md b/bricks/platform_page_feature_package/__brick__/README.md index 02fe8ecab..e69de29bb 100644 --- a/bricks/platform_page_feature_package/__brick__/README.md +++ b/bricks/platform_page_feature_package/__brick__/README.md @@ -1,39 +0,0 @@ - - -TODO: Put a short description of the package here that helps potential users -know whether this package might be useful for them. - -## Features - -TODO: List what your package can do. Maybe include images, gifs, or videos. - -## Getting started - -TODO: List prerequisites and provide or point to information on how to -start using the package. - -## Usage - -TODO: Include short and useful examples for package users. Add longer examples -to `/example` folder. - -```dart -const like = 'sample'; -``` - -## Additional information - -TODO: Tell users more about the package: where to find more information, how to -contribute to the package, how to file issues, what response they can expect -from the package authors, and more. diff --git a/bricks/platform_page_feature_package/__brick__/analysis_options.yaml b/bricks/platform_page_feature_package/__brick__/analysis_options.yaml index f8892ad5d..2dd4362ad 100644 --- a/bricks/platform_page_feature_package/__brick__/analysis_options.yaml +++ b/bricks/platform_page_feature_package/__brick__/analysis_options.yaml @@ -1,6 +1 @@ include: ../../../../../analysis_options.yaml -# Uncomment the following section to specify additional rules. - -# linter: -# rules: -# - camel_case_types diff --git a/bricks/platform_page_feature_package/__brick__/pubspec.yaml b/bricks/platform_page_feature_package/__brick__/pubspec.yaml index 4dda0f88d..b34df6225 100644 --- a/bricks/platform_page_feature_package/__brick__/pubspec.yaml +++ b/bricks/platform_page_feature_package/__brick__/pubspec.yaml @@ -1,6 +1,6 @@ name: {{project_name}}_{{platform}}_{{name}} description: {{description}} -version: 0.0.1 +version: 0.1.0 publish_to: none environment: @@ -8,14 +8,14 @@ environment: flutter: ">=3.13.0" dependencies: + auto_route: ^7.8.2 + bloc: ^8.1.2 flutter: sdk: flutter - meta: ^1.9.1 - bloc: ^8.1.2 - freezed_annotation: ^2.4.1 flutter_bloc: ^8.1.3 - auto_route: ^7.8.2 + freezed_annotation: ^2.4.1 injectable: ^2.3.0 + meta: ^1.9.1 {{project_name}}_di: {{project_name}}_domain: {{project_name}}_ui_{{platform}}: @@ -23,17 +23,17 @@ dependencies: {{project_name}}_{{platform}}_navigation: dev_dependencies: - flutter_test: - sdk: flutter alchemist: ^0.6.1 + auto_route_generator: ^7.3.1 bloc_test: ^9.1.4 - mocktail: ^1.0.0 build_runner: ^2.4.6 + build_verify: ^3.1.0 + flutter_gen_runner: ^5.3.1 + flutter_test: + sdk: flutter freezed: ^2.4.1 - auto_route_generator: ^7.3.1 injectable_generator: ^2.4.0 - flutter_gen_runner: ^5.3.1 - build_verify: ^3.1.0 + mocktail: ^1.0.0 {{project_name}}_{{platform}}_app: # The following section is specific to the FlutterGen package. @@ -43,7 +43,6 @@ flutter_gen: # To add support for svg via flutter_svg package # integrations: # flutter_svg: true - assets: outputs: package_parameter_enabled: true diff --git a/bricks/platform_root_package/__brick__/.gitignore b/bricks/platform_root_package/__brick__/.gitignore index 2fc58bab1..6189624ed 100644 --- a/bricks/platform_root_package/__brick__/.gitignore +++ b/bricks/platform_root_package/__brick__/.gitignore @@ -16,11 +16,6 @@ migrate_working_dir/ *.iws .idea/ -# The .vscode folder contains launch configuration and tasks you configure in -# VS Code which you may wish to be included in version control, so this line -# is commented out by default. -#.vscode/ - # Flutter/Dart/Pub related **/doc/api/ **/ios/Flutter/.last_build_id diff --git a/bricks/platform_root_package/__brick__/README.md b/bricks/platform_root_package/__brick__/README.md index 1333ed77b..97d3ec56b 100644 --- a/bricks/platform_root_package/__brick__/README.md +++ b/bricks/platform_root_package/__brick__/README.md @@ -1 +1,17 @@ -TODO +## Root Package ({{platform.titleCase()}}) + +### Responsibilities + +🎯 Provide entrypoints to run the application in different environments. + +🎯 Setup Dependency Injection. + +🎯 Setup Routing. + +🎯 Provide a BlocObserver. + +🎯 Provide a RouterObserver. + +For more information click [here][1]. + +[1]: https://docs.page/jtdLab/rapid/architecture/app-module#platform-root-package diff --git a/bricks/platform_root_package/__brick__/analysis_options.yaml b/bricks/platform_root_package/__brick__/analysis_options.yaml index 8afdd648b..ec0637968 100644 --- a/bricks/platform_root_package/__brick__/analysis_options.yaml +++ b/bricks/platform_root_package/__brick__/analysis_options.yaml @@ -1,6 +1 @@ include: ../../../../analysis_options.yaml -# Uncomment the following section to specify additional rules. - -# linter: -# rules: -# - camel_case_types diff --git a/bricks/platform_root_package/__brick__/pubspec.yaml b/bricks/platform_root_package/__brick__/pubspec.yaml index bae84afef..d21d09660 100644 --- a/bricks/platform_root_package/__brick__/pubspec.yaml +++ b/bricks/platform_root_package/__brick__/pubspec.yaml @@ -13,7 +13,7 @@ description: {{ description }} # https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html # In Windows, build-name is used as the major, minor, and patch parts # of the product and file versions while build-number is used as the build suffix. -version: 0.0.1 +version: 0.1.0 publish_to: none environment: @@ -27,13 +27,13 @@ environment: # the latest version available on pub.dev. To see which dependencies have newer # versions available, run `flutter pub outdated`. dependencies: + auto_route: ^7.8.2 + bloc: ^8.1.2 + bloc_concurrency: ^0.2.2 flutter: sdk: flutter get_it: ^7.6.0 injectable: ^2.3.0 - auto_route: ^7.8.2 - bloc: ^8.1.2 - bloc_concurrency: ^0.2.2 {{project_name}}_di: {{project_name}}_logging: {{project_name}}_infrastructure: @@ -41,15 +41,15 @@ dependencies: {{project_name}}_android_home_page: dev_dependencies: + auto_route_generator: ^7.3.1 + build_runner: ^2.4.6 + build_verify: ^3.1.0 flutter_test: sdk: flutter + injectable_generator: ^2.4.0 integration_test: sdk: flutter mocktail: ^1.0.0 - build_runner: ^2.4.6 - injectable_generator: ^2.4.0 - auto_route_generator: ^7.3.1 - build_verify: ^3.1.0 # For information on the generic Dart part of this file, see the # following page: https://dart.dev/tools/pub/pubspec @@ -75,7 +75,7 @@ description: {{ description }} # https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html # In Windows, build-name is used as the major, minor, and patch parts # of the product and file versions while build-number is used as the build suffix. -version: 0.0.1 +version: 0.1.0 publish_to: none environment: @@ -89,14 +89,14 @@ environment: # the latest version available on pub.dev. To see which dependencies have newer # versions available, run `flutter pub outdated`. dependencies: - flutter: - sdk: flutter - get_it: ^7.6.0 - injectable: ^2.3.0 auto_route: ^7.8.2 bloc: ^8.1.2 bloc_concurrency: ^0.2.2 cupertino_icons: ^1.0.5 + flutter: + sdk: flutter + get_it: ^7.6.0 + injectable: ^2.3.0 {{project_name}}_di: {{project_name}}_logging: {{project_name}}_infrastructure: @@ -104,15 +104,15 @@ dependencies: {{project_name}}_ios_home_page: dev_dependencies: + auto_route_generator: ^7.3.1 + build_runner: ^2.4.6 + build_verify: ^3.1.0 flutter_test: sdk: flutter + injectable_generator: ^2.4.0 integration_test: sdk: flutter mocktail: ^1.0.0 - build_runner: ^2.4.6 - injectable_generator: ^2.4.0 - auto_route_generator: ^7.3.1 - build_verify: ^3.1.0 # For information on the generic Dart part of this file, see the # following page: https://dart.dev/tools/pub/pubspec @@ -134,7 +134,7 @@ description: {{ description }} # https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html # In Windows, build-name is used as the major, minor, and patch parts # of the product and file versions while build-number is used as the build suffix. -version: 0.0.1 +version: 0.1.0 publish_to: none environment: @@ -148,13 +148,13 @@ environment: # the latest version available on pub.dev. To see which dependencies have newer # versions available, run `flutter pub outdated`. dependencies: + auto_route: ^7.8.2 + bloc: ^8.1.2 + bloc_concurrency: ^0.2.2 flutter: sdk: flutter get_it: ^7.6.0 injectable: ^2.3.0 - auto_route: ^7.8.2 - bloc: ^8.1.2 - bloc_concurrency: ^0.2.2 {{project_name}}_di: {{project_name}}_logging: {{project_name}}_infrastructure: @@ -162,15 +162,15 @@ dependencies: {{project_name}}_linux_home_page: dev_dependencies: + auto_route_generator: ^7.3.1 + build_runner: ^2.4.6 + build_verify: ^3.1.0 flutter_test: sdk: flutter + injectable_generator: ^2.4.0 integration_test: sdk: flutter mocktail: ^1.0.0 - build_runner: ^2.4.6 - injectable_generator: ^2.4.0 - auto_route_generator: ^7.3.1 - build_verify: ^3.1.0 # For information on the generic Dart part of this file, see the # following page: https://dart.dev/tools/pub/pubspec @@ -196,7 +196,7 @@ description: {{ description }} # https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html # In Windows, build-name is used as the major, minor, and patch parts # of the product and file versions while build-number is used as the build suffix. -version: 0.0.1 +version: 0.1.0 publish_to: none environment: @@ -210,14 +210,14 @@ environment: # the latest version available on pub.dev. To see which dependencies have newer # versions available, run `flutter pub outdated`. dependencies: - flutter: - sdk: flutter - get_it: ^7.6.0 - injectable: ^2.3.0 auto_route: ^7.8.2 bloc: ^8.1.2 bloc_concurrency: ^0.2.2 cupertino_icons: ^1.0.5 + flutter: + sdk: flutter + get_it: ^7.6.0 + injectable: ^2.3.0 {{project_name}}_di: {{project_name}}_logging: {{project_name}}_infrastructure: @@ -225,15 +225,15 @@ dependencies: {{project_name}}_macos_home_page: dev_dependencies: + auto_route_generator: ^7.3.1 + build_runner: ^2.4.6 + build_verify: ^3.1.0 flutter_test: sdk: flutter + injectable_generator: ^2.4.0 integration_test: sdk: flutter mocktail: ^1.0.0 - build_runner: ^2.4.6 - injectable_generator: ^2.4.0 - auto_route_generator: ^7.3.1 - build_verify: ^3.1.0 # For information on the generic Dart part of this file, see the # following page: https://dart.dev/tools/pub/pubspec @@ -255,7 +255,7 @@ description: {{ description }} # https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html # In Windows, build-name is used as the major, minor, and patch parts # of the product and file versions while build-number is used as the build suffix. -version: 0.0.1 +version: 0.1.0 publish_to: none environment: @@ -269,15 +269,15 @@ environment: # the latest version available on pub.dev. To see which dependencies have newer # versions available, run `flutter pub outdated`. dependencies: + auto_route: ^7.8.2 + bloc: ^8.1.2 + bloc_concurrency: ^0.2.2 flutter: sdk: flutter flutter_web_plugins: sdk: flutter get_it: ^7.6.0 injectable: ^2.3.0 - auto_route: ^7.8.2 - bloc: ^8.1.2 - bloc_concurrency: ^0.2.2 {{project_name}}_di: {{project_name}}_logging: {{project_name}}_infrastructure: @@ -285,15 +285,15 @@ dependencies: {{project_name}}_web_home_page: dev_dependencies: + auto_route_generator: ^7.3.1 + build_runner: ^2.4.6 + build_verify: ^3.1.0 flutter_test: sdk: flutter + injectable_generator: ^2.4.0 integration_test: sdk: flutter mocktail: ^1.0.0 - build_runner: ^2.4.6 - injectable_generator: ^2.4.0 - auto_route_generator: ^7.3.1 - build_verify: ^3.1.0 # For information on the generic Dart part of this file, see the # following page: https://dart.dev/tools/pub/pubspec @@ -319,7 +319,7 @@ description: {{ description }} # https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html # In Windows, build-name is used as the major, minor, and patch parts # of the product and file versions while build-number is used as the build suffix. -version: 0.0.1 +version: 0.1.0 publish_to: none environment: @@ -333,13 +333,13 @@ environment: # the latest version available on pub.dev. To see which dependencies have newer # versions available, run `flutter pub outdated`. dependencies: + auto_route: ^7.8.2 + bloc: ^8.1.2 + bloc_concurrency: ^0.2.2 flutter: sdk: flutter get_it: ^7.6.0 injectable: ^2.3.0 - auto_route: ^7.8.2 - bloc: ^8.1.2 - bloc_concurrency: ^0.2.2 {{project_name}}_di: {{project_name}}_logging: {{project_name}}_infrastructure: @@ -347,15 +347,15 @@ dependencies: {{project_name}}_windows_home_page: dev_dependencies: + auto_route_generator: ^7.3.1 + build_runner: ^2.4.6 + build_verify: ^3.1.0 flutter_test: sdk: flutter + injectable_generator: ^2.4.0 integration_test: sdk: flutter mocktail: ^1.0.0 - build_runner: ^2.4.6 - injectable_generator: ^2.4.0 - auto_route_generator: ^7.3.1 - build_verify: ^3.1.0 # For information on the generic Dart part of this file, see the # following page: https://dart.dev/tools/pub/pubspec @@ -381,7 +381,7 @@ description: {{ description }} # https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html # In Windows, build-name is used as the major, minor, and patch parts # of the product and file versions while build-number is used as the build suffix. -version: 0.0.1 +version: 0.1.0 publish_to: none environment: @@ -395,13 +395,13 @@ environment: # the latest version available on pub.dev. To see which dependencies have newer # versions available, run `flutter pub outdated`. dependencies: + auto_route: ^7.8.2 + bloc: ^8.1.2 + bloc_concurrency: ^0.2.2 flutter: sdk: flutter get_it: ^7.6.0 injectable: ^2.3.0 - auto_route: ^7.8.2 - bloc: ^8.1.2 - bloc_concurrency: ^0.2.2 {{project_name}}_di: {{project_name}}_logging: {{project_name}}_infrastructure: @@ -409,15 +409,15 @@ dependencies: {{project_name}}_mobile_home_page: dev_dependencies: + auto_route_generator: ^7.3.1 + build_runner: ^2.4.6 + build_verify: ^3.1.0 flutter_test: sdk: flutter + injectable_generator: ^2.4.0 integration_test: sdk: flutter mocktail: ^1.0.0 - build_runner: ^2.4.6 - injectable_generator: ^2.4.0 - auto_route_generator: ^7.3.1 - build_verify: ^3.1.0 # For information on the generic Dart part of this file, see the # following page: https://dart.dev/tools/pub/pubspec diff --git a/bricks/platform_root_package/__brick__/test/bloc_observer_test.dart b/bricks/platform_root_package/__brick__/test/bloc_observer_test.dart index 1eb8b96a8..05b594561 100644 --- a/bricks/platform_root_package/__brick__/test/bloc_observer_test.dart +++ b/bricks/platform_root_package/__brick__/test/bloc_observer_test.dart @@ -80,7 +80,7 @@ void main() { final {{project_name.camelCase()}}BlocObserver = _get{{project_name.pascalCase()}}BlocObserver(logger); // Act - {{project_name.camelCase()}}BlocObserver.onError(MockBloc(), Error(), StackTrace.empty); + {{project_name.camelCase()}}BlocObserver.onError(MockBloc(), Error(), StackTrace.empty,); // Assert verify( diff --git a/bricks/platform_tab_flow_feature_package/__brick__/.gitignore b/bricks/platform_tab_flow_feature_package/__brick__/.gitignore index 58ddca681..f6a289c74 100644 --- a/bricks/platform_tab_flow_feature_package/__brick__/.gitignore +++ b/bricks/platform_tab_flow_feature_package/__brick__/.gitignore @@ -16,11 +16,6 @@ migrate_working_dir/ *.iws .idea/ -# The .vscode folder contains launch configuration and tasks you configure in -# VS Code which you may wish to be included in version control, so this line -# is commented out by default. -#.vscode/ - # Flutter/Dart/Pub related **/doc/api/ **/ios/Flutter/.last_build_id diff --git a/bricks/platform_tab_flow_feature_package/__brick__/CHANGELOG.md b/bricks/platform_tab_flow_feature_package/__brick__/CHANGELOG.md index 41cc7d819..67b5cb312 100644 --- a/bricks/platform_tab_flow_feature_package/__brick__/CHANGELOG.md +++ b/bricks/platform_tab_flow_feature_package/__brick__/CHANGELOG.md @@ -1,3 +1,3 @@ -## 0.0.1 +## 0.1.0 * TODO: Describe initial release. diff --git a/bricks/platform_tab_flow_feature_package/__brick__/LICENSE b/bricks/platform_tab_flow_feature_package/__brick__/LICENSE deleted file mode 100644 index ba75c69f7..000000000 --- a/bricks/platform_tab_flow_feature_package/__brick__/LICENSE +++ /dev/null @@ -1 +0,0 @@ -TODO: Add your license here. diff --git a/bricks/platform_tab_flow_feature_package/__brick__/README.md b/bricks/platform_tab_flow_feature_package/__brick__/README.md index 02fe8ecab..e69de29bb 100644 --- a/bricks/platform_tab_flow_feature_package/__brick__/README.md +++ b/bricks/platform_tab_flow_feature_package/__brick__/README.md @@ -1,39 +0,0 @@ - - -TODO: Put a short description of the package here that helps potential users -know whether this package might be useful for them. - -## Features - -TODO: List what your package can do. Maybe include images, gifs, or videos. - -## Getting started - -TODO: List prerequisites and provide or point to information on how to -start using the package. - -## Usage - -TODO: Include short and useful examples for package users. Add longer examples -to `/example` folder. - -```dart -const like = 'sample'; -``` - -## Additional information - -TODO: Tell users more about the package: where to find more information, how to -contribute to the package, how to file issues, what response they can expect -from the package authors, and more. diff --git a/bricks/platform_tab_flow_feature_package/__brick__/analysis_options.yaml b/bricks/platform_tab_flow_feature_package/__brick__/analysis_options.yaml index f8892ad5d..2dd4362ad 100644 --- a/bricks/platform_tab_flow_feature_package/__brick__/analysis_options.yaml +++ b/bricks/platform_tab_flow_feature_package/__brick__/analysis_options.yaml @@ -1,6 +1 @@ include: ../../../../../analysis_options.yaml -# Uncomment the following section to specify additional rules. - -# linter: -# rules: -# - camel_case_types diff --git a/bricks/platform_tab_flow_feature_package/__brick__/pubspec.yaml b/bricks/platform_tab_flow_feature_package/__brick__/pubspec.yaml index 18f068f97..f4c4186e7 100644 --- a/bricks/platform_tab_flow_feature_package/__brick__/pubspec.yaml +++ b/bricks/platform_tab_flow_feature_package/__brick__/pubspec.yaml @@ -1,6 +1,6 @@ name: {{project_name}}_{{platform}}_{{name}} description: {{description}} -version: 0.0.1 +version: 0.1.0 publish_to: none environment: @@ -8,14 +8,14 @@ environment: flutter: ">=3.13.0" dependencies: + auto_route: ^7.8.2 + bloc: ^8.1.2 flutter: sdk: flutter - meta: ^1.9.1 - bloc: ^8.1.2 - freezed_annotation: ^2.4.1 flutter_bloc: ^8.1.3 - auto_route: ^7.8.2 + freezed_annotation: ^2.4.1 injectable: ^2.3.0 + meta: ^1.9.1 {{#subRoutes}} {{project_name}}_{{platform}}_{{name.snakeCase()}}: {{/subRoutes}} @@ -26,17 +26,17 @@ dependencies: {{project_name}}_{{platform}}_navigation: dev_dependencies: - flutter_test: - sdk: flutter alchemist: ^0.6.1 + auto_route_generator: ^7.3.1 bloc_test: ^9.1.4 - mocktail: ^1.0.0 build_runner: ^2.4.6 + build_verify: ^3.1.0 + flutter_gen_runner: ^5.3.1 + flutter_test: + sdk: flutter freezed: ^2.4.1 - auto_route_generator: ^7.3.1 injectable_generator: ^2.4.0 - flutter_gen_runner: ^5.3.1 - build_verify: ^3.1.0 + mocktail: ^1.0.0 {{project_name}}_{{platform}}_app: # The following section is specific to the FlutterGen package. @@ -46,7 +46,6 @@ flutter_gen: # To add support for svg via flutter_svg package # integrations: # flutter_svg: true - assets: outputs: package_parameter_enabled: true diff --git a/bricks/platform_ui_package/__brick__/.gitignore b/bricks/platform_ui_package/__brick__/.gitignore index 309c72103..8ed80d9e7 100644 --- a/bricks/platform_ui_package/__brick__/.gitignore +++ b/bricks/platform_ui_package/__brick__/.gitignore @@ -16,11 +16,6 @@ migrate_working_dir/ *.iws .idea/ -# The .vscode folder contains launch configuration and tasks you configure in -# VS Code which you may wish to be included in version control, so this line -# is commented out by default. -#.vscode/ - # Flutter/Dart/Pub related **/doc/api/ **/ios/Flutter/.last_build_id diff --git a/bricks/platform_ui_package/__brick__/CHANGELOG.md b/bricks/platform_ui_package/__brick__/CHANGELOG.md index 41cc7d819..67b5cb312 100644 --- a/bricks/platform_ui_package/__brick__/CHANGELOG.md +++ b/bricks/platform_ui_package/__brick__/CHANGELOG.md @@ -1,3 +1,3 @@ -## 0.0.1 +## 0.1.0 * TODO: Describe initial release. diff --git a/bricks/platform_ui_package/__brick__/LICENSE b/bricks/platform_ui_package/__brick__/LICENSE deleted file mode 100644 index ba75c69f7..000000000 --- a/bricks/platform_ui_package/__brick__/LICENSE +++ /dev/null @@ -1 +0,0 @@ -TODO: Add your license here. diff --git a/bricks/platform_ui_package/__brick__/README.md b/bricks/platform_ui_package/__brick__/README.md index 02fe8ecab..e6a7a9294 100644 --- a/bricks/platform_ui_package/__brick__/README.md +++ b/bricks/platform_ui_package/__brick__/README.md @@ -1,39 +1,14 @@ - +🎯 Provide platform dependent design language. -TODO: Put a short description of the package here that helps potential users -know whether this package might be useful for them. +### Components -## Features +📦 [Widget][2] -TODO: List what your package can do. Maybe include images, gifs, or videos. +For more information click [here][1]. -## Getting started - -TODO: List prerequisites and provide or point to information on how to -start using the package. - -## Usage - -TODO: Include short and useful examples for package users. Add longer examples -to `/example` folder. - -```dart -const like = 'sample'; -``` - -## Additional information - -TODO: Tell users more about the package: where to find more information, how to -contribute to the package, how to file issues, what response they can expect -from the package authors, and more. +[1]: https://docs.page/jtdLab/rapid/architecture/ui-module#platform-ui-package +[2]: https://docs.page/jtdLab/rapid/architecture/ui-module#widget-1 diff --git a/bricks/platform_ui_package/__brick__/analysis_options.yaml b/bricks/platform_ui_package/__brick__/analysis_options.yaml index a6b7f36fc..e2badd73e 100644 --- a/bricks/platform_ui_package/__brick__/analysis_options.yaml +++ b/bricks/platform_ui_package/__brick__/analysis_options.yaml @@ -1,6 +1 @@ include: ../../../analysis_options.yaml -# Uncomment the following section to specify additional rules. - -# linter: -# rules: -# - camel_case_types diff --git a/bricks/platform_ui_package/__brick__/pubspec.yaml b/bricks/platform_ui_package/__brick__/pubspec.yaml index 2e6e55569..572435a47 100644 --- a/bricks/platform_ui_package/__brick__/pubspec.yaml +++ b/bricks/platform_ui_package/__brick__/pubspec.yaml @@ -1,6 +1,6 @@ {{#android}}name: {{project_name}}_ui_android description: Widgets and themes implementing {{project_name.titleCase()}} design language for Android. -version: 0.0.1 +version: 0.1.0 publish_to: none environment: @@ -16,13 +16,13 @@ dependencies: {{project_name}}_ui: dev_dependencies: - flutter_test: - sdk: flutter alchemist: ^0.6.1 build_runner: ^2.4.6 - theme_tailor: ^2.0.0 - flutter_gen_runner: ^5.3.1 build_verify: ^3.1.0 + flutter_gen_runner: ^5.3.1 + flutter_test: + sdk: flutter + theme_tailor: ^2.0.0 # The following section is specific to the FlutterGen package. # See: https://pub.dev/packages/flutter_gen#configuration-file @@ -31,7 +31,6 @@ flutter_gen: # To add support for svg via flutter_svg package # integrations: # flutter_svg: true - assets: outputs: package_parameter_enabled: true @@ -74,7 +73,7 @@ flutter: # https://flutter.dev/custom-fonts/#from-packages {{/android}}{{#ios}}name: {{project_name}}_ui_ios description: Widgets and themes implementing {{project_name.titleCase()}} design language for iOS. -version: 0.0.1 +version: 0.1.0 publish_to: none environment: @@ -82,22 +81,22 @@ environment: flutter: ">=3.13.0" dependencies: + cupertino_icons: ^1.0.5 flutter: sdk: flutter flutter_localizations: sdk: flutter theme_tailor_annotation: ^2.0.0 - cupertino_icons: ^1.0.5 {{project_name}}_ui: dev_dependencies: - flutter_test: - sdk: flutter alchemist: ^0.6.1 build_runner: ^2.4.6 - theme_tailor: ^2.0.0 - flutter_gen_runner: ^5.3.1 build_verify: ^3.1.0 + flutter_gen_runner: ^5.3.1 + flutter_test: + sdk: flutter + theme_tailor: ^2.0.0 # The following section is specific to the FlutterGen package. # See: https://pub.dev/packages/flutter_gen#configuration-file @@ -106,14 +105,12 @@ flutter_gen: # To add support for svg via flutter_svg package # integrations: # flutter_svg: true - assets: outputs: package_parameter_enabled: true # The following section is specific to Flutter packages. flutter: - # To add assets to your package, add an assets section, like this: # assets: # - images/a_dot_burr.jpeg @@ -146,7 +143,7 @@ flutter: # https://flutter.dev/custom-fonts/#from-packages {{/ios}}{{#linux}}name: {{project_name}}_ui_linux description: Widgets and themes implementing {{project_name.titleCase()}} design language for Linux. -version: 0.0.1 +version: 0.1.0 publish_to: none environment: @@ -164,13 +161,13 @@ dependencies: {{project_name}}_ui: dev_dependencies: - flutter_test: - sdk: flutter alchemist: ^0.6.1 build_runner: ^2.4.6 - theme_tailor: ^2.0.0 - flutter_gen_runner: ^5.3.1 build_verify: ^3.1.0 + flutter_gen_runner: ^5.3.1 + flutter_test: + sdk: flutter + theme_tailor: ^2.0.0 # The following section is specific to the FlutterGen package. # See: https://pub.dev/packages/flutter_gen#configuration-file @@ -179,7 +176,6 @@ flutter_gen: # To add support for svg via flutter_svg package # integrations: # flutter_svg: true - assets: outputs: package_parameter_enabled: true @@ -222,7 +218,7 @@ flutter: # https://flutter.dev/custom-fonts/#from-packages {{/linux}}{{#macos}}name: {{project_name}}_ui_macos description: Widgets and themes implementing {{project_name.titleCase()}} design language for macOS. -version: 0.0.1 +version: 0.1.0 publish_to: none environment: @@ -230,23 +226,23 @@ environment: flutter: ">=3.13.0" dependencies: + cupertino_icons: ^1.0.5 flutter: sdk: flutter flutter_localizations: sdk: flutter - theme_tailor_annotation: ^2.0.0 - cupertino_icons: ^1.0.5 macos_ui: ^2.0.0 + theme_tailor_annotation: ^2.0.0 {{project_name}}_ui: dev_dependencies: - flutter_test: - sdk: flutter alchemist: ^0.6.1 build_runner: ^2.4.6 - theme_tailor: ^2.0.0 - flutter_gen_runner: ^5.3.1 build_verify: ^3.1.0 + flutter_gen_runner: ^5.3.1 + flutter_test: + sdk: flutter + theme_tailor: ^2.0.0 # The following section is specific to the FlutterGen package. # See: https://pub.dev/packages/flutter_gen#configuration-file @@ -255,14 +251,12 @@ flutter_gen: # To add support for svg via flutter_svg package # integrations: # flutter_svg: true - assets: outputs: package_parameter_enabled: true # The following section is specific to Flutter packages. flutter: - # To add assets to your package, add an assets section, like this: # assets: # - images/a_dot_burr.jpeg @@ -295,7 +289,7 @@ flutter: # https://flutter.dev/custom-fonts/#from-packages {{/macos}}{{#web}}name: {{project_name}}_ui_web description: Widgets and themes implementing {{project_name.titleCase()}} design language for Web. -version: 0.0.1 +version: 0.1.0 publish_to: none environment: @@ -311,13 +305,13 @@ dependencies: {{project_name}}_ui: dev_dependencies: - flutter_test: - sdk: flutter alchemist: ^0.6.1 build_runner: ^2.4.6 - theme_tailor: ^2.0.0 - flutter_gen_runner: ^5.3.1 build_verify: ^3.1.0 + flutter_gen_runner: ^5.3.1 + flutter_test: + sdk: flutter + theme_tailor: ^2.0.0 # The following section is specific to the FlutterGen package. # See: https://pub.dev/packages/flutter_gen#configuration-file @@ -326,7 +320,6 @@ flutter_gen: # To add support for svg via flutter_svg package # integrations: # flutter_svg: true - assets: outputs: package_parameter_enabled: true @@ -369,7 +362,7 @@ flutter: # https://flutter.dev/custom-fonts/#from-packages {{/web}}{{#windows}}name: {{project_name}}_ui_windows description: Widgets and themes implementing {{project_name.titleCase()}} design language for Windows. -version: 0.0.1 +version: 0.1.0 publish_to: none environment: @@ -377,22 +370,22 @@ environment: flutter: ">=3.13.0" dependencies: + fluent_ui: ^4.7.3 flutter: sdk: flutter flutter_localizations: sdk: flutter theme_tailor_annotation: ^2.0.0 - fluent_ui: ^4.7.3 {{project_name}}_ui: dev_dependencies: - flutter_test: - sdk: flutter alchemist: ^0.6.1 build_runner: ^2.4.6 - theme_tailor: ^2.0.0 - flutter_gen_runner: ^5.3.1 build_verify: ^3.1.0 + flutter_gen_runner: ^5.3.1 + flutter_test: + sdk: flutter + theme_tailor: ^2.0.0 # The following section is specific to the FlutterGen package. # See: https://pub.dev/packages/flutter_gen#configuration-file @@ -401,7 +394,6 @@ flutter_gen: # To add support for svg via flutter_svg package # integrations: # flutter_svg: true - assets: outputs: package_parameter_enabled: true @@ -444,7 +436,7 @@ flutter: # https://flutter.dev/custom-fonts/#from-packages {{/windows}}{{#mobile}}name: {{project_name}}_ui_mobile description: Widgets and themes implementing {{project_name.titleCase()}} design language for Mobile. -version: 0.0.1 +version: 0.1.0 publish_to: none environment: @@ -460,13 +452,13 @@ dependencies: {{project_name}}_ui: dev_dependencies: - flutter_test: - sdk: flutter alchemist: ^0.6.1 build_runner: ^2.4.6 - theme_tailor: ^2.0.0 - flutter_gen_runner: ^5.3.1 build_verify: ^3.1.0 + flutter_gen_runner: ^5.3.1 + flutter_test: + sdk: flutter + theme_tailor: ^2.0.0 # The following section is specific to the FlutterGen package. # See: https://pub.dev/packages/flutter_gen#configuration-file @@ -475,7 +467,6 @@ flutter_gen: # To add support for svg via flutter_svg package # integrations: # flutter_svg: true - assets: outputs: package_parameter_enabled: true diff --git a/bricks/platform_widget_feature_package/__brick__/.gitignore b/bricks/platform_widget_feature_package/__brick__/.gitignore index 58ddca681..f6a289c74 100644 --- a/bricks/platform_widget_feature_package/__brick__/.gitignore +++ b/bricks/platform_widget_feature_package/__brick__/.gitignore @@ -16,11 +16,6 @@ migrate_working_dir/ *.iws .idea/ -# The .vscode folder contains launch configuration and tasks you configure in -# VS Code which you may wish to be included in version control, so this line -# is commented out by default. -#.vscode/ - # Flutter/Dart/Pub related **/doc/api/ **/ios/Flutter/.last_build_id diff --git a/bricks/platform_widget_feature_package/__brick__/CHANGELOG.md b/bricks/platform_widget_feature_package/__brick__/CHANGELOG.md index 41cc7d819..67b5cb312 100644 --- a/bricks/platform_widget_feature_package/__brick__/CHANGELOG.md +++ b/bricks/platform_widget_feature_package/__brick__/CHANGELOG.md @@ -1,3 +1,3 @@ -## 0.0.1 +## 0.1.0 * TODO: Describe initial release. diff --git a/bricks/platform_widget_feature_package/__brick__/LICENSE b/bricks/platform_widget_feature_package/__brick__/LICENSE deleted file mode 100644 index ba75c69f7..000000000 --- a/bricks/platform_widget_feature_package/__brick__/LICENSE +++ /dev/null @@ -1 +0,0 @@ -TODO: Add your license here. diff --git a/bricks/platform_widget_feature_package/__brick__/README.md b/bricks/platform_widget_feature_package/__brick__/README.md index 02fe8ecab..e69de29bb 100644 --- a/bricks/platform_widget_feature_package/__brick__/README.md +++ b/bricks/platform_widget_feature_package/__brick__/README.md @@ -1,39 +0,0 @@ - - -TODO: Put a short description of the package here that helps potential users -know whether this package might be useful for them. - -## Features - -TODO: List what your package can do. Maybe include images, gifs, or videos. - -## Getting started - -TODO: List prerequisites and provide or point to information on how to -start using the package. - -## Usage - -TODO: Include short and useful examples for package users. Add longer examples -to `/example` folder. - -```dart -const like = 'sample'; -``` - -## Additional information - -TODO: Tell users more about the package: where to find more information, how to -contribute to the package, how to file issues, what response they can expect -from the package authors, and more. diff --git a/bricks/platform_widget_feature_package/__brick__/analysis_options.yaml b/bricks/platform_widget_feature_package/__brick__/analysis_options.yaml index f8892ad5d..2dd4362ad 100644 --- a/bricks/platform_widget_feature_package/__brick__/analysis_options.yaml +++ b/bricks/platform_widget_feature_package/__brick__/analysis_options.yaml @@ -1,6 +1 @@ include: ../../../../../analysis_options.yaml -# Uncomment the following section to specify additional rules. - -# linter: -# rules: -# - camel_case_types diff --git a/bricks/platform_widget_feature_package/__brick__/pubspec.yaml b/bricks/platform_widget_feature_package/__brick__/pubspec.yaml index 414e96c1c..052325bb2 100644 --- a/bricks/platform_widget_feature_package/__brick__/pubspec.yaml +++ b/bricks/platform_widget_feature_package/__brick__/pubspec.yaml @@ -1,6 +1,6 @@ name: {{project_name}}_{{platform}}_{{name}} description: {{description}} -version: 0.0.1 +version: 0.1.0 publish_to: none environment: @@ -8,13 +8,13 @@ environment: flutter: ">=3.13.0" dependencies: + bloc: ^8.1.2 flutter: sdk: flutter - meta: ^1.9.1 - bloc: ^8.1.2 - freezed_annotation: ^2.4.1 flutter_bloc: ^8.1.3 + freezed_annotation: ^2.4.1 injectable: ^2.3.0 + meta: ^1.9.1 {{project_name}}_di: {{project_name}}_domain: {{project_name}}_ui_{{platform}}: @@ -22,17 +22,17 @@ dependencies: {{project_name}}_{{platform}}_navigation: dev_dependencies: - flutter_test: - sdk: flutter alchemist: ^0.6.1 auto_route: ^7.8.2 bloc_test: ^9.1.4 - mocktail: ^1.0.0 build_runner: ^2.4.6 + build_verify: ^3.1.0 + flutter_gen_runner: ^5.3.1 + flutter_test: + sdk: flutter freezed: ^2.4.1 injectable_generator: ^2.4.0 - flutter_gen_runner: ^5.3.1 - build_verify: ^3.1.0 + mocktail: ^1.0.0 {{project_name}}_{{platform}}_app: # The following section is specific to the FlutterGen package. @@ -42,7 +42,6 @@ flutter_gen: # To add support for svg via flutter_svg package # integrations: # flutter_svg: true - assets: outputs: package_parameter_enabled: true diff --git a/bricks/root_package/__brick__/.gitignore b/bricks/root_package/__brick__/.gitignore index 9057bacf2..175b0ab07 100644 --- a/bricks/root_package/__brick__/.gitignore +++ b/bricks/root_package/__brick__/.gitignore @@ -16,21 +16,8 @@ migrate_working_dir/ *.iws .idea/ -# The .vscode folder contains launch configuration and tasks you configure in -# VS Code which you may wish to be included in version control, so this line -# is commented out by default. -#.vscode/ - # Flutter/Dart/Pub related .dart_tool/ -# Node -node_modules/ -package-lock.json -package.json - -# Commitlint -commitlint.config.js - # Rapid .rapid_tool/ diff --git a/bricks/root_package/__brick__/README.md b/bricks/root_package/__brick__/README.md index 1333ed77b..100267866 100644 --- a/bricks/root_package/__brick__/README.md +++ b/bricks/root_package/__brick__/README.md @@ -1 +1,3 @@ -TODO +## {{project_name.titleCase()}} + +TODO: Add all relevant information about the project here. diff --git a/bricks/ui_package/README.md b/bricks/ui_package/README.md index 3a8f77a56..74db23598 100644 --- a/bricks/ui_package/README.md +++ b/bricks/ui_package/README.md @@ -1,3 +1 @@ # ui_package - -TODO diff --git a/bricks/ui_package/__brick__/.gitignore b/bricks/ui_package/__brick__/.gitignore index 309c72103..8ed80d9e7 100644 --- a/bricks/ui_package/__brick__/.gitignore +++ b/bricks/ui_package/__brick__/.gitignore @@ -16,11 +16,6 @@ migrate_working_dir/ *.iws .idea/ -# The .vscode folder contains launch configuration and tasks you configure in -# VS Code which you may wish to be included in version control, so this line -# is commented out by default. -#.vscode/ - # Flutter/Dart/Pub related **/doc/api/ **/ios/Flutter/.last_build_id diff --git a/bricks/ui_package/__brick__/CHANGELOG.md b/bricks/ui_package/__brick__/CHANGELOG.md index 41cc7d819..67b5cb312 100644 --- a/bricks/ui_package/__brick__/CHANGELOG.md +++ b/bricks/ui_package/__brick__/CHANGELOG.md @@ -1,3 +1,3 @@ -## 0.0.1 +## 0.1.0 * TODO: Describe initial release. diff --git a/bricks/ui_package/__brick__/LICENSE b/bricks/ui_package/__brick__/LICENSE deleted file mode 100644 index ba75c69f7..000000000 --- a/bricks/ui_package/__brick__/LICENSE +++ /dev/null @@ -1 +0,0 @@ -TODO: Add your license here. diff --git a/bricks/ui_package/__brick__/README.md b/bricks/ui_package/__brick__/README.md index 02fe8ecab..bbbe21f4f 100644 --- a/bricks/ui_package/__brick__/README.md +++ b/bricks/ui_package/__brick__/README.md @@ -1,39 +1,14 @@ - +🎯 Provide platform independent design language. -TODO: Put a short description of the package here that helps potential users -know whether this package might be useful for them. +### Components -## Features +📦 [Widget][2] -TODO: List what your package can do. Maybe include images, gifs, or videos. +For more information click [here][1]. -## Getting started - -TODO: List prerequisites and provide or point to information on how to -start using the package. - -## Usage - -TODO: Include short and useful examples for package users. Add longer examples -to `/example` folder. - -```dart -const like = 'sample'; -``` - -## Additional information - -TODO: Tell users more about the package: where to find more information, how to -contribute to the package, how to file issues, what response they can expect -from the package authors, and more. +[1]: https://docs.page/jtdLab/rapid/architecture/ui-module#ui-package +[2]: https://docs.page/jtdLab/rapid/architecture/ui-module#widget diff --git a/bricks/ui_package/__brick__/analysis_options.yaml b/bricks/ui_package/__brick__/analysis_options.yaml index a6b7f36fc..e2badd73e 100644 --- a/bricks/ui_package/__brick__/analysis_options.yaml +++ b/bricks/ui_package/__brick__/analysis_options.yaml @@ -1,6 +1 @@ include: ../../../analysis_options.yaml -# Uncomment the following section to specify additional rules. - -# linter: -# rules: -# - camel_case_types diff --git a/bricks/ui_package/__brick__/pubspec.yaml b/bricks/ui_package/__brick__/pubspec.yaml index ddf5aa221..9e364c7c7 100644 --- a/bricks/ui_package/__brick__/pubspec.yaml +++ b/bricks/ui_package/__brick__/pubspec.yaml @@ -1,6 +1,7 @@ name: {{project_name}}_ui -description: Widgets and themes implementing platform independent {{project_name.titleCase()}} design language. -version: 0.0.1 +description: Widgets and themes implementing platform independent + {{project_name.titleCase()}} design language. +version: 0.1.0 publish_to: none environment: @@ -13,13 +14,13 @@ dependencies: theme_tailor_annotation: ^2.0.0 dev_dependencies: - flutter_test: - sdk: flutter alchemist: ^0.6.1 build_runner: ^2.4.6 - theme_tailor: ^2.0.0 - flutter_gen_runner: ^5.3.1 build_verify: ^3.1.0 + flutter_gen_runner: ^5.3.1 + flutter_test: + sdk: flutter + theme_tailor: ^2.0.0 # The following section is specific to the FlutterGen package. # See: https://pub.dev/packages/flutter_gen#configuration-file @@ -28,14 +29,12 @@ flutter_gen: # To add support for svg via flutter_svg package # integrations: # flutter_svg: true - assets: outputs: package_parameter_enabled: true # The following section is specific to Flutter packages. flutter: - # To add assets to your package, add an assets section, like this: # assets: # - images/a_dot_burr.jpeg diff --git a/docs/architecture/app-module.mdx b/docs/architecture/app-module.mdx index 24330c99e..394f94450 100644 --- a/docs/architecture/app-module.mdx +++ b/docs/architecture/app-module.mdx @@ -13,20 +13,23 @@ 🎯 Provide platform annotations for dependency injection. +This package uses [get_it](https://pub.dev/packages/get_it) to offer the applications central dependency injection container. Other packages will retrieve dependencies from it and use [injectable](https://pub.dev/packages/injectable) to register them beforehand. +In addition to providing the dependency container, this package introduces annotations that enable the registration of specific dependencies for particular platforms. + ## Logging Package 🎯 Provide a logger. +The primary goal of this package is to offer a single, dedicated logger that can be effortlessly employed throughout the entire application. By default, an implementation is provided, yet developers have the freedom to either create their own customized logger or use existing solutions like for example [logger](https://pub.dev/packages/logger) or [logging](https://pub.dev/packages/logging). + ## Platform Root Package -🎯 Provide entrypoints to run the application in diffrent environments. +🎯 Provide entrypoints to run the application in different environments. 🎯 Setup Dependency Injection. 🎯 Setup Routing. -🎯 Setup Localization. - 🎯 Provide a BlocObserver. 🎯 Provide a RouterObserver. @@ -43,6 +46,10 @@ More information about testing a [Platform Root Package](/architecture/app-modul TODO ``` +## Platform Localization Package + +🎯 Provide translations for different languages. + ## Platform Feature Package 🎯 Implement states and user interface of a feature. diff --git a/docs/architecture/ui-module.mdx b/docs/architecture/ui-module.mdx index 9bc8c0a7f..9f484a85a 100644 --- a/docs/architecture/ui-module.mdx +++ b/docs/architecture/ui-module.mdx @@ -9,9 +9,7 @@ ## UI Package -🎯 Provide platform independent [Widgets](/architecture/ui-module#widget). - -🎯 Provide platform independent colors and other design language. +🎯 Provide platform independent design language. ### Widget @@ -23,9 +21,7 @@ More information about testing the [UI Package](/architecture/ui-module#ui-packa ## Platform UI Package -🎯 Provide platform dependent [Widgets](/architecture/ui-module#widget-1). - -🎯 Provide platform dependent colors and other design language. +🎯 Provide platform dependent design language. ### Widget diff --git a/docs/getting-started.mdx b/docs/getting-started.mdx index a371fc478..0b376aa9a 100644 --- a/docs/getting-started.mdx +++ b/docs/getting-started.mdx @@ -21,8 +21,7 @@ Rapid is based on multiple popular Flutter community packages. Make sure you are | Localization | [flutter_localizations](https://docs.flutter.dev/development/accessibility-and-localization/internationalization), [intl](https://pub.dev/packages/intl) | | State Management | [bloc](https://pub.dev/packages/bloc) | | Immutability | [freezed](https://pub.dev/packages/freezed) | -| (De-)Serialization | [json_serializable](https://pub.dev/packages/json_serializable) | -| Explicit Error Handling | [dartz](https://pub.dev/packages/dartz) | +| (De-)Serialization | [json_serializable](https://pub.dev/packages/json_serializable) | | | Stringless APIs | [flutter_gen](https://pub.dev/packages/flutter_gen) | | Testing | [mocktail](https://pub.dev/packages/mocktail), [bloc_test](https://pub.dev/packages/bloc_test), [alchemist](https://pub.dev/packages/alchemist) | @@ -39,12 +38,6 @@ via [pub.dev](https://pub.dev/) so it can be used from anywhere on your system: flutter pub global activate melos ``` -```bash -# required to generated clean coverage reports -flutter pub global activate test_cov_console -flutter pub global activate remove_from_coverage -``` - ```bash flutter pub global activate -sgit https://github.com/jtdLab/rapid.git --git-path packages/rapid_cli/ ``` diff --git a/packages/rapid_cli/example/README.md b/packages/rapid_cli/example/README.md index 0c8eed82a..72affb99a 100644 --- a/packages/rapid_cli/example/README.md +++ b/packages/rapid_cli/example/README.md @@ -5,12 +5,6 @@ flutter pub global activate melos ``` -```sh -# required to generated clean coverage reports -flutter pub global activate test_cov_console -flutter pub global activate remove_from_coverage -``` - ```sh flutter pub global activate -sgit https://github.com/jtdLab/rapid.git --git-path packages/rapid_cli/ ``` diff --git a/packages/rapid_cli/lib/src/project/bundles/di_package_bundle.dart b/packages/rapid_cli/lib/src/project/bundles/di_package_bundle.dart index e1c8107ba..b7c668d7c 100644 --- a/packages/rapid_cli/lib/src/project/bundles/di_package_bundle.dart +++ b/packages/rapid_cli/lib/src/project/bundles/di_package_bundle.dart @@ -8,18 +8,17 @@ final diPackageBundle = MasonBundle.fromJson({ { "path": ".gitignore", "data": - "IyBNaXNjZWxsYW5lb3VzCiouY2xhc3MKKi5sb2cKKi5weWMKKi5zd3AKLkRTX1N0b3JlCi5hdG9tLwouYnVpbGRsb2cvCi5oaXN0b3J5Ci5zdm4vCm1pZ3JhdGVfd29ya2luZ19kaXIvCgojIEludGVsbGlKIHJlbGF0ZWQKKi5pbWwKKi5pcHIKKi5pd3MKLmlkZWEvCgojIFRoZSAudnNjb2RlIGZvbGRlciBjb250YWlucyBsYXVuY2ggY29uZmlndXJhdGlvbiBhbmQgdGFza3MgeW91IGNvbmZpZ3VyZSBpbgojIFZTIENvZGUgd2hpY2ggeW91IG1heSB3aXNoIHRvIGJlIGluY2x1ZGVkIGluIHZlcnNpb24gY29udHJvbCwgc28gdGhpcyBsaW5lCiMgaXMgY29tbWVudGVkIG91dCBieSBkZWZhdWx0LgojLnZzY29kZS8KCiMgRmlsZXMgYW5kIGRpcmVjdG9yaWVzIGNyZWF0ZWQgYnkgcHViLgouZGFydF90b29sLwoucGFja2FnZXMKCiMgQ29udmVudGlvbmFsIGRpcmVjdG9yeSBmb3IgYnVpbGQgb3V0cHV0cy4KYnVpbGQvCgojIENvbnZlbnRpb25hbCBkaXJlY3RvcnkgZm9yIGNvdmVyYWdlIG91dHB1dHMuCi9jb3ZlcmFnZQo=", + "IyBNaXNjZWxsYW5lb3VzCiouY2xhc3MKKi5sb2cKKi5weWMKKi5zd3AKLkRTX1N0b3JlCi5hdG9tLwouYnVpbGRsb2cvCi5oaXN0b3J5Ci5zdm4vCm1pZ3JhdGVfd29ya2luZ19kaXIvCgojIEludGVsbGlKIHJlbGF0ZWQKKi5pbWwKKi5pcHIKKi5pd3MKLmlkZWEvCgojIEZpbGVzIGFuZCBkaXJlY3RvcmllcyBjcmVhdGVkIGJ5IHB1Yi4KLmRhcnRfdG9vbC8KLnBhY2thZ2VzCgojIENvbnZlbnRpb25hbCBkaXJlY3RvcnkgZm9yIGJ1aWxkIG91dHB1dHMuCmJ1aWxkLwoKIyBDb252ZW50aW9uYWwgZGlyZWN0b3J5IGZvciBjb3ZlcmFnZSBvdXRwdXRzLgovY292ZXJhZ2UK", "type": "text" }, { "path": "analysis_options.yaml", - "data": - "aW5jbHVkZTogLi4vLi4vLi4vYW5hbHlzaXNfb3B0aW9ucy55YW1sCiMgVW5jb21tZW50IHRoZSBmb2xsb3dpbmcgc2VjdGlvbiB0byBzcGVjaWZ5IGFkZGl0aW9uYWwgcnVsZXMuCgojIGxpbnRlcjoKIyAgIHJ1bGVzOgojICAgICAtIGNhbWVsX2Nhc2VfdHlwZXMK", + "data": "aW5jbHVkZTogLi4vLi4vLi4vYW5hbHlzaXNfb3B0aW9ucy55YW1sCg==", "type": "text" }, { "path": "CHANGELOG.md", - "data": "IyMgMS4wLjAKCi0gSW5pdGlhbCB2ZXJzaW9uLgo=", + "data": "IyMgMC4xLjAKCi0gSW5pdGlhbCB2ZXJzaW9uLgo=", "type": "text" }, { @@ -43,15 +42,10 @@ final diPackageBundle = MasonBundle.fromJson({ { "path": "pubspec.yaml", "data": - "bmFtZToge3sgcHJvamVjdF9uYW1lIH19X2RpCmRlc2NyaXB0aW9uOiBEZXBlbmRlbmN5IGluamVjdGlvbiBvZiB7e3Byb2plY3RfbmFtZS50aXRsZUNhc2UoKX19Lgp2ZXJzaW9uOiAwLjAuMQpwdWJsaXNoX3RvOiBub25lCgplbnZpcm9ubWVudDoKICBzZGs6ICI+PTMuMS4wIDw0LjAuMCIKCmRlcGVuZGVuY2llczoKICBnZXRfaXQ6IF43LjYuMAogIGluamVjdGFibGU6IF4yLjMuMAoKZGV2X2RlcGVuZGVuY2llczoKICB0ZXN0OiBeMS4yNC42Cg==", - "type": "text" - }, - { - "path": "README.md", - "data": - "PCEtLSAKVGhpcyBSRUFETUUgZGVzY3JpYmVzIHRoZSBwYWNrYWdlLiBJZiB5b3UgcHVibGlzaCB0aGlzIHBhY2thZ2UgdG8gcHViLmRldiwKdGhpcyBSRUFETUUncyBjb250ZW50cyBhcHBlYXIgb24gdGhlIGxhbmRpbmcgcGFnZSBmb3IgeW91ciBwYWNrYWdlLgoKRm9yIGluZm9ybWF0aW9uIGFib3V0IGhvdyB0byB3cml0ZSBhIGdvb2QgcGFja2FnZSBSRUFETUUsIHNlZSB0aGUgZ3VpZGUgZm9yClt3cml0aW5nIHBhY2thZ2UgcGFnZXNdKGh0dHBzOi8vZGFydC5kZXYvZ3VpZGVzL2xpYnJhcmllcy93cml0aW5nLXBhY2thZ2UtcGFnZXMpLiAKCkZvciBnZW5lcmFsIGluZm9ybWF0aW9uIGFib3V0IGRldmVsb3BpbmcgcGFja2FnZXMsIHNlZSB0aGUgRGFydCBndWlkZSBmb3IKW2NyZWF0aW5nIHBhY2thZ2VzXShodHRwczovL2RhcnQuZGV2L2d1aWRlcy9saWJyYXJpZXMvY3JlYXRlLWxpYnJhcnktcGFja2FnZXMpCmFuZCB0aGUgRmx1dHRlciBndWlkZSBmb3IKW2RldmVsb3BpbmcgcGFja2FnZXMgYW5kIHBsdWdpbnNdKGh0dHBzOi8vZmx1dHRlci5kZXYvZGV2ZWxvcGluZy1wYWNrYWdlcykuIAotLT4KClRPRE86IFB1dCBhIHNob3J0IGRlc2NyaXB0aW9uIG9mIHRoZSBwYWNrYWdlIGhlcmUgdGhhdCBoZWxwcyBwb3RlbnRpYWwgdXNlcnMKa25vdyB3aGV0aGVyIHRoaXMgcGFja2FnZSBtaWdodCBiZSB1c2VmdWwgZm9yIHRoZW0uCgojIyBGZWF0dXJlcwoKVE9ETzogTGlzdCB3aGF0IHlvdXIgcGFja2FnZSBjYW4gZG8uIE1heWJlIGluY2x1ZGUgaW1hZ2VzLCBnaWZzLCBvciB2aWRlb3MuCgojIyBHZXR0aW5nIHN0YXJ0ZWQKClRPRE86IExpc3QgcHJlcmVxdWlzaXRlcyBhbmQgcHJvdmlkZSBvciBwb2ludCB0byBpbmZvcm1hdGlvbiBvbiBob3cgdG8Kc3RhcnQgdXNpbmcgdGhlIHBhY2thZ2UuCgojIyBVc2FnZQoKVE9ETzogSW5jbHVkZSBzaG9ydCBhbmQgdXNlZnVsIGV4YW1wbGVzIGZvciBwYWNrYWdlIHVzZXJzLiBBZGQgbG9uZ2VyIGV4YW1wbGVzCnRvIGAvZXhhbXBsZWAgZm9sZGVyLiAKCmBgYGRhcnQKY29uc3QgbGlrZSA9ICdzYW1wbGUnOwpgYGAKCiMjIEFkZGl0aW9uYWwgaW5mb3JtYXRpb24KClRPRE86IFRlbGwgdXNlcnMgbW9yZSBhYm91dCB0aGUgcGFja2FnZTogd2hlcmUgdG8gZmluZCBtb3JlIGluZm9ybWF0aW9uLCBob3cgdG8gCmNvbnRyaWJ1dGUgdG8gdGhlIHBhY2thZ2UsIGhvdyB0byBmaWxlIGlzc3Vlcywgd2hhdCByZXNwb25zZSB0aGV5IGNhbiBleHBlY3QgCmZyb20gdGhlIHBhY2thZ2UgYXV0aG9ycywgYW5kIG1vcmUuCg==", + "bmFtZToge3sgcHJvamVjdF9uYW1lIH19X2RpCmRlc2NyaXB0aW9uOiBEZXBlbmRlbmN5IGluamVjdGlvbiBvZiB7e3Byb2plY3RfbmFtZS50aXRsZUNhc2UoKX19Lgp2ZXJzaW9uOiAwLjEuMApwdWJsaXNoX3RvOiBub25lCgplbnZpcm9ubWVudDoKICBzZGs6ICI+PTMuMS4wIDw0LjAuMCIKCmRlcGVuZGVuY2llczoKICBnZXRfaXQ6IF43LjYuMAogIGluamVjdGFibGU6IF4yLjMuMAoKZGV2X2RlcGVuZGVuY2llczoKICB0ZXN0OiBeMS4yNC42Cg==", "type": "text" }, + {"path": "README.md", "data": "", "type": "text"}, { "path": "test/src/annotations_test.dart", "data": diff --git a/packages/rapid_cli/lib/src/project/bundles/domain_package_bundle.dart b/packages/rapid_cli/lib/src/project/bundles/domain_package_bundle.dart index 4ed638884..eb27c6480 100644 --- a/packages/rapid_cli/lib/src/project/bundles/domain_package_bundle.dart +++ b/packages/rapid_cli/lib/src/project/bundles/domain_package_bundle.dart @@ -8,18 +8,17 @@ final domainPackageBundle = MasonBundle.fromJson({ { "path": ".gitignore", "data": - "IyBNaXNjZWxsYW5lb3VzCiouY2xhc3MKKi5sb2cKKi5weWMKKi5zd3AKLkRTX1N0b3JlCi5hdG9tLwouYnVpbGRsb2cvCi5oaXN0b3J5Ci5zdm4vCm1pZ3JhdGVfd29ya2luZ19kaXIvCgojIEludGVsbGlKIHJlbGF0ZWQKKi5pbWwKKi5pcHIKKi5pd3MKLmlkZWEvCgojIFRoZSAudnNjb2RlIGZvbGRlciBjb250YWlucyBsYXVuY2ggY29uZmlndXJhdGlvbiBhbmQgdGFza3MgeW91IGNvbmZpZ3VyZSBpbgojIFZTIENvZGUgd2hpY2ggeW91IG1heSB3aXNoIHRvIGJlIGluY2x1ZGVkIGluIHZlcnNpb24gY29udHJvbCwgc28gdGhpcyBsaW5lCiMgaXMgY29tbWVudGVkIG91dCBieSBkZWZhdWx0LgojLnZzY29kZS8KCiMgRmlsZXMgYW5kIGRpcmVjdG9yaWVzIGNyZWF0ZWQgYnkgcHViLgouZGFydF90b29sLwoucGFja2FnZXMKCiMgQ29udmVudGlvbmFsIGRpcmVjdG9yeSBmb3IgYnVpbGQgb3V0cHV0cy4KYnVpbGQvCgojIENvbnZlbnRpb25hbCBkaXJlY3RvcnkgZm9yIGNvdmVyYWdlIG91dHB1dHMuCi9jb3ZlcmFnZQo=", + "IyBNaXNjZWxsYW5lb3VzCiouY2xhc3MKKi5sb2cKKi5weWMKKi5zd3AKLkRTX1N0b3JlCi5hdG9tLwouYnVpbGRsb2cvCi5oaXN0b3J5Ci5zdm4vCm1pZ3JhdGVfd29ya2luZ19kaXIvCgojIEludGVsbGlKIHJlbGF0ZWQKKi5pbWwKKi5pcHIKKi5pd3MKLmlkZWEvCgojIEZpbGVzIGFuZCBkaXJlY3RvcmllcyBjcmVhdGVkIGJ5IHB1Yi4KLmRhcnRfdG9vbC8KLnBhY2thZ2VzCgojIENvbnZlbnRpb25hbCBkaXJlY3RvcnkgZm9yIGJ1aWxkIG91dHB1dHMuCmJ1aWxkLwoKIyBDb252ZW50aW9uYWwgZGlyZWN0b3J5IGZvciBjb3ZlcmFnZSBvdXRwdXRzLgovY292ZXJhZ2UK", "type": "text" }, { "path": "analysis_options.yaml", - "data": - "aW5jbHVkZTogLi4vLi4vLi4vLi4vYW5hbHlzaXNfb3B0aW9ucy55YW1sCiMgVW5jb21tZW50IHRoZSBmb2xsb3dpbmcgc2VjdGlvbiB0byBzcGVjaWZ5IGFkZGl0aW9uYWwgcnVsZXMuCgojIGxpbnRlcjoKIyAgIHJ1bGVzOgojICAgICAtIGNhbWVsX2Nhc2VfdHlwZXMK", + "data": "aW5jbHVkZTogLi4vLi4vLi4vLi4vYW5hbHlzaXNfb3B0aW9ucy55YW1sCg==", "type": "text" }, { "path": "CHANGELOG.md", - "data": "IyMgMS4wLjAKCi0gSW5pdGlhbCB2ZXJzaW9uLgo=", + "data": "IyMgMC4xLjAKCi0gSW5pdGlhbCB2ZXJzaW9uLgo=", "type": "text" }, { @@ -38,15 +37,10 @@ final domainPackageBundle = MasonBundle.fromJson({ { "path": "pubspec.yaml", "data": - "bmFtZToge3twcm9qZWN0X25hbWV9fV9kb21haW57eyNoYXNfbmFtZX19X3t7bmFtZX19e3svaGFzX25hbWV9fQpkZXNjcmlwdGlvbjogVE9ETwp2ZXJzaW9uOiAwLjAuMQpwdWJsaXNoX3RvOiBub25lCgplbnZpcm9ubWVudDoKICBzZGs6ICI+PTMuMS4wIDw0LjAuMCIKCmRlcGVuZGVuY2llczoKICBmYWtlcjogXjIuMS4wCiAgZnJlZXplZF9hbm5vdGF0aW9uOiBeMi40LjEKCmRldl9kZXBlbmRlbmNpZXM6CiAgdGVzdDogXjEuMjQuNgogIGJ1aWxkX3J1bm5lcjogXjIuNC42CiAgZnJlZXplZDogXjIuNC4xCiAgYnVpbGRfdmVyaWZ5OiBeMy4xLjAK", - "type": "text" - }, - { - "path": "README.md", - "data": - "PCEtLSAKVGhpcyBSRUFETUUgZGVzY3JpYmVzIHRoZSBwYWNrYWdlLiBJZiB5b3UgcHVibGlzaCB0aGlzIHBhY2thZ2UgdG8gcHViLmRldiwKdGhpcyBSRUFETUUncyBjb250ZW50cyBhcHBlYXIgb24gdGhlIGxhbmRpbmcgcGFnZSBmb3IgeW91ciBwYWNrYWdlLgoKRm9yIGluZm9ybWF0aW9uIGFib3V0IGhvdyB0byB3cml0ZSBhIGdvb2QgcGFja2FnZSBSRUFETUUsIHNlZSB0aGUgZ3VpZGUgZm9yClt3cml0aW5nIHBhY2thZ2UgcGFnZXNdKGh0dHBzOi8vZGFydC5kZXYvZ3VpZGVzL2xpYnJhcmllcy93cml0aW5nLXBhY2thZ2UtcGFnZXMpLiAKCkZvciBnZW5lcmFsIGluZm9ybWF0aW9uIGFib3V0IGRldmVsb3BpbmcgcGFja2FnZXMsIHNlZSB0aGUgRGFydCBndWlkZSBmb3IKW2NyZWF0aW5nIHBhY2thZ2VzXShodHRwczovL2RhcnQuZGV2L2d1aWRlcy9saWJyYXJpZXMvY3JlYXRlLWxpYnJhcnktcGFja2FnZXMpCmFuZCB0aGUgRmx1dHRlciBndWlkZSBmb3IKW2RldmVsb3BpbmcgcGFja2FnZXMgYW5kIHBsdWdpbnNdKGh0dHBzOi8vZmx1dHRlci5kZXYvZGV2ZWxvcGluZy1wYWNrYWdlcykuIAotLT4KClRPRE86IFB1dCBhIHNob3J0IGRlc2NyaXB0aW9uIG9mIHRoZSBwYWNrYWdlIGhlcmUgdGhhdCBoZWxwcyBwb3RlbnRpYWwgdXNlcnMKa25vdyB3aGV0aGVyIHRoaXMgcGFja2FnZSBtaWdodCBiZSB1c2VmdWwgZm9yIHRoZW0uCgojIyBGZWF0dXJlcwoKVE9ETzogTGlzdCB3aGF0IHlvdXIgcGFja2FnZSBjYW4gZG8uIE1heWJlIGluY2x1ZGUgaW1hZ2VzLCBnaWZzLCBvciB2aWRlb3MuCgojIyBHZXR0aW5nIHN0YXJ0ZWQKClRPRE86IExpc3QgcHJlcmVxdWlzaXRlcyBhbmQgcHJvdmlkZSBvciBwb2ludCB0byBpbmZvcm1hdGlvbiBvbiBob3cgdG8Kc3RhcnQgdXNpbmcgdGhlIHBhY2thZ2UuCgojIyBVc2FnZQoKVE9ETzogSW5jbHVkZSBzaG9ydCBhbmQgdXNlZnVsIGV4YW1wbGVzIGZvciBwYWNrYWdlIHVzZXJzLiBBZGQgbG9uZ2VyIGV4YW1wbGVzCnRvIGAvZXhhbXBsZWAgZm9sZGVyLiAKCmBgYGRhcnQKY29uc3QgbGlrZSA9ICdzYW1wbGUnOwpgYGAKCiMjIEFkZGl0aW9uYWwgaW5mb3JtYXRpb24KClRPRE86IFRlbGwgdXNlcnMgbW9yZSBhYm91dCB0aGUgcGFja2FnZTogd2hlcmUgdG8gZmluZCBtb3JlIGluZm9ybWF0aW9uLCBob3cgdG8gCmNvbnRyaWJ1dGUgdG8gdGhlIHBhY2thZ2UsIGhvdyB0byBmaWxlIGlzc3Vlcywgd2hhdCByZXNwb25zZSB0aGV5IGNhbiBleHBlY3QgCmZyb20gdGhlIHBhY2thZ2UgYXV0aG9ycywgYW5kIG1vcmUuCg==", + "bmFtZToge3twcm9qZWN0X25hbWV9fV9kb21haW57eyNoYXNfbmFtZX19X3t7bmFtZX19e3svaGFzX25hbWV9fQpkZXNjcmlwdGlvbjogVE9ETwp2ZXJzaW9uOiAwLjEuMApwdWJsaXNoX3RvOiBub25lCgplbnZpcm9ubWVudDoKICBzZGs6ICI+PTMuMS4wIDw0LjAuMCIKCmRlcGVuZGVuY2llczoKICBmYWtlcjogXjIuMS4wCiAgZnJlZXplZF9hbm5vdGF0aW9uOiBeMi40LjEKCmRldl9kZXBlbmRlbmNpZXM6CiAgdGVzdDogXjEuMjQuNgogIGJ1aWxkX3J1bm5lcjogXjIuNC42CiAgYnVpbGRfdmVyaWZ5OiBeMy4xLjAKICBmcmVlemVkOiBeMi40LjEKIAo=", "type": "text" }, + {"path": "README.md", "data": "", "type": "text"}, { "path": "test/ensure_build_test.dart", "data": diff --git a/packages/rapid_cli/lib/src/project/bundles/infrastructure_package_bundle.dart b/packages/rapid_cli/lib/src/project/bundles/infrastructure_package_bundle.dart index da37e7f3b..afc9d6fae 100644 --- a/packages/rapid_cli/lib/src/project/bundles/infrastructure_package_bundle.dart +++ b/packages/rapid_cli/lib/src/project/bundles/infrastructure_package_bundle.dart @@ -8,13 +8,12 @@ final infrastructurePackageBundle = MasonBundle.fromJson({ { "path": ".gitignore", "data": - "IyBNaXNjZWxsYW5lb3VzCiouY2xhc3MKKi5sb2cKKi5weWMKKi5zd3AKLkRTX1N0b3JlCi5hdG9tLwouYnVpbGRsb2cvCi5oaXN0b3J5Ci5zdm4vCm1pZ3JhdGVfd29ya2luZ19kaXIvCgojIEludGVsbGlKIHJlbGF0ZWQKKi5pbWwKKi5pcHIKKi5pd3MKLmlkZWEvCgojIFRoZSAudnNjb2RlIGZvbGRlciBjb250YWlucyBsYXVuY2ggY29uZmlndXJhdGlvbiBhbmQgdGFza3MgeW91IGNvbmZpZ3VyZSBpbgojIFZTIENvZGUgd2hpY2ggeW91IG1heSB3aXNoIHRvIGJlIGluY2x1ZGVkIGluIHZlcnNpb24gY29udHJvbCwgc28gdGhpcyBsaW5lCiMgaXMgY29tbWVudGVkIG91dCBieSBkZWZhdWx0LgojLnZzY29kZS8KCiMgRmlsZXMgYW5kIGRpcmVjdG9yaWVzIGNyZWF0ZWQgYnkgcHViLgouZGFydF90b29sLwoucGFja2FnZXMKCiMgQ29udmVudGlvbmFsIGRpcmVjdG9yeSBmb3IgYnVpbGQgb3V0cHV0cy4KYnVpbGQvCgojIENvbnZlbnRpb25hbCBkaXJlY3RvcnkgZm9yIGNvdmVyYWdlIG91dHB1dHMuCi9jb3ZlcmFnZQo=", + "IyBNaXNjZWxsYW5lb3VzCiouY2xhc3MKKi5sb2cKKi5weWMKKi5zd3AKLkRTX1N0b3JlCi5hdG9tLwouYnVpbGRsb2cvCi5oaXN0b3J5Ci5zdm4vCm1pZ3JhdGVfd29ya2luZ19kaXIvCgojIEludGVsbGlKIHJlbGF0ZWQKKi5pbWwKKi5pcHIKKi5pd3MKLmlkZWEvCgojIEZpbGVzIGFuZCBkaXJlY3RvcmllcyBjcmVhdGVkIGJ5IHB1Yi4KLmRhcnRfdG9vbC8KLnBhY2thZ2VzCgojIENvbnZlbnRpb25hbCBkaXJlY3RvcnkgZm9yIGJ1aWxkIG91dHB1dHMuCmJ1aWxkLwoKIyBDb252ZW50aW9uYWwgZGlyZWN0b3J5IGZvciBjb3ZlcmFnZSBvdXRwdXRzLgovY292ZXJhZ2UK", "type": "text" }, { "path": "analysis_options.yaml", - "data": - "aW5jbHVkZTogLi4vLi4vLi4vLi4vYW5hbHlzaXNfb3B0aW9ucy55YW1sCiMgVW5jb21tZW50IHRoZSBmb2xsb3dpbmcgc2VjdGlvbiB0byBzcGVjaWZ5IGFkZGl0aW9uYWwgcnVsZXMuCgojIGxpbnRlcjoKIyAgIHJ1bGVzOgojICAgICAtIGNhbWVsX2Nhc2VfdHlwZXMK", + "data": "aW5jbHVkZTogLi4vLi4vLi4vLi4vYW5hbHlzaXNfb3B0aW9ucy55YW1sCg==", "type": "text" }, { @@ -25,7 +24,7 @@ final infrastructurePackageBundle = MasonBundle.fromJson({ }, { "path": "CHANGELOG.md", - "data": "IyMgMS4wLjAKCi0gSW5pdGlhbCB2ZXJzaW9uLgo=", + "data": "IyMgMC4xLjAKCi0gSW5pdGlhbCB2ZXJzaW9uLgo=", "type": "text" }, { @@ -56,7 +55,7 @@ final infrastructurePackageBundle = MasonBundle.fromJson({ { "path": "pubspec.yaml", "data": - "bmFtZToge3twcm9qZWN0X25hbWV9fV9pbmZyYXN0cnVjdHVyZXt7I2hhc19uYW1lfX1fe3tuYW1lfX17ey9oYXNfbmFtZX19CmRlc2NyaXB0aW9uOiBUT0RPCnZlcnNpb246IDAuMC4xCnB1Ymxpc2hfdG86IG5vbmUKCmVudmlyb25tZW50OgogIHNkazogIj49My4xLjAgPDQuMC4wIgoKZGVwZW5kZW5jaWVzOgogIGZyZWV6ZWRfYW5ub3RhdGlvbjogXjIuNC4xCiAganNvbl9hbm5vdGF0aW9uOiBeNC44LjEKICBpbmplY3RhYmxlOiBeMi4zLjAKICB7e3Byb2plY3RfbmFtZX19X2xvZ2dpbmc6CiAge3twcm9qZWN0X25hbWV9fV9kb21haW57eyNoYXNfbmFtZX19X3t7bmFtZX19e3svaGFzX25hbWV9fToKCmRldl9kZXBlbmRlbmNpZXM6CiAgdGVzdDogXjEuMjQuNgogIG1vY2t0YWlsOiBeMS4wLjAKICBidWlsZF9ydW5uZXI6IF4yLjQuNgogIGZyZWV6ZWQ6IF4yLjQuMQogIGluamVjdGFibGVfZ2VuZXJhdG9yOiBeMi40LjAKICBqc29uX3NlcmlhbGl6YWJsZTogXjYuNy4xCiAgYnVpbGRfdmVyaWZ5OiBeMy4xLjAK", + "bmFtZToge3twcm9qZWN0X25hbWV9fV9pbmZyYXN0cnVjdHVyZXt7I2hhc19uYW1lfX1fe3tuYW1lfX17ey9oYXNfbmFtZX19CmRlc2NyaXB0aW9uOiBUT0RPCnZlcnNpb246IDAuMS4wCnB1Ymxpc2hfdG86IG5vbmUKCmVudmlyb25tZW50OgogIHNkazogIj49My4xLjAgPDQuMC4wIgoKZGVwZW5kZW5jaWVzOgogIGZyZWV6ZWRfYW5ub3RhdGlvbjogXjIuNC4xCiAgaW5qZWN0YWJsZTogXjIuMy4wCiAganNvbl9hbm5vdGF0aW9uOiBeNC44LjEKICB7e3Byb2plY3RfbmFtZX19X2xvZ2dpbmc6CiAge3twcm9qZWN0X25hbWV9fV9kb21haW57eyNoYXNfbmFtZX19X3t7bmFtZX19e3svaGFzX25hbWV9fToKCmRldl9kZXBlbmRlbmNpZXM6CiAgYnVpbGRfcnVubmVyOiBeMi40LjYKICBidWlsZF92ZXJpZnk6IF4zLjEuMAogIGZyZWV6ZWQ6IF4yLjQuMQogIGluamVjdGFibGVfZ2VuZXJhdG9yOiBeMi40LjAKICBqc29uX3NlcmlhbGl6YWJsZTogXjYuNy4xCiAgbW9ja3RhaWw6IF4xLjAuMAogIHRlc3Q6IF4xLjI0LjYK", "type": "text" }, { @@ -65,12 +64,7 @@ final infrastructurePackageBundle = MasonBundle.fromJson({ "IyBtZWxvc19tYW5hZ2VkX2RlcGVuZGVuY3lfb3ZlcnJpZGVzOiB7e3Byb2plY3RfbmFtZX19X2RvbWFpbix7e3Byb2plY3RfbmFtZX19X2xvZ2dpbmcKZGVwZW5kZW5jeV9vdmVycmlkZXM6CiAge3twcm9qZWN0X25hbWV9fV9kb21haW46CiAgICBwYXRoOiAuLi8uLi97e3Byb2plY3RfbmFtZX19X2RvbWFpbi97e3Byb2plY3RfbmFtZX19X2RvbWFpbgogIHt7cHJvamVjdF9uYW1lfX1fbG9nZ2luZzoKICAgIHBhdGg6IC4uLy4uL3t7cHJvamVjdF9uYW1lfX1fbG9nZ2luZwo=", "type": "text" }, - { - "path": "README.md", - "data": - "PCEtLSAKVGhpcyBSRUFETUUgZGVzY3JpYmVzIHRoZSBwYWNrYWdlLiBJZiB5b3UgcHVibGlzaCB0aGlzIHBhY2thZ2UgdG8gcHViLmRldiwKdGhpcyBSRUFETUUncyBjb250ZW50cyBhcHBlYXIgb24gdGhlIGxhbmRpbmcgcGFnZSBmb3IgeW91ciBwYWNrYWdlLgoKRm9yIGluZm9ybWF0aW9uIGFib3V0IGhvdyB0byB3cml0ZSBhIGdvb2QgcGFja2FnZSBSRUFETUUsIHNlZSB0aGUgZ3VpZGUgZm9yClt3cml0aW5nIHBhY2thZ2UgcGFnZXNdKGh0dHBzOi8vZGFydC5kZXYvZ3VpZGVzL2xpYnJhcmllcy93cml0aW5nLXBhY2thZ2UtcGFnZXMpLiAKCkZvciBnZW5lcmFsIGluZm9ybWF0aW9uIGFib3V0IGRldmVsb3BpbmcgcGFja2FnZXMsIHNlZSB0aGUgRGFydCBndWlkZSBmb3IKW2NyZWF0aW5nIHBhY2thZ2VzXShodHRwczovL2RhcnQuZGV2L2d1aWRlcy9saWJyYXJpZXMvY3JlYXRlLWxpYnJhcnktcGFja2FnZXMpCmFuZCB0aGUgRmx1dHRlciBndWlkZSBmb3IKW2RldmVsb3BpbmcgcGFja2FnZXMgYW5kIHBsdWdpbnNdKGh0dHBzOi8vZmx1dHRlci5kZXYvZGV2ZWxvcGluZy1wYWNrYWdlcykuIAotLT4KClRPRE86IFB1dCBhIHNob3J0IGRlc2NyaXB0aW9uIG9mIHRoZSBwYWNrYWdlIGhlcmUgdGhhdCBoZWxwcyBwb3RlbnRpYWwgdXNlcnMKa25vdyB3aGV0aGVyIHRoaXMgcGFja2FnZSBtaWdodCBiZSB1c2VmdWwgZm9yIHRoZW0uCgojIyBGZWF0dXJlcwoKVE9ETzogTGlzdCB3aGF0IHlvdXIgcGFja2FnZSBjYW4gZG8uIE1heWJlIGluY2x1ZGUgaW1hZ2VzLCBnaWZzLCBvciB2aWRlb3MuCgojIyBHZXR0aW5nIHN0YXJ0ZWQKClRPRE86IExpc3QgcHJlcmVxdWlzaXRlcyBhbmQgcHJvdmlkZSBvciBwb2ludCB0byBpbmZvcm1hdGlvbiBvbiBob3cgdG8Kc3RhcnQgdXNpbmcgdGhlIHBhY2thZ2UuCgojIyBVc2FnZQoKVE9ETzogSW5jbHVkZSBzaG9ydCBhbmQgdXNlZnVsIGV4YW1wbGVzIGZvciBwYWNrYWdlIHVzZXJzLiBBZGQgbG9uZ2VyIGV4YW1wbGVzCnRvIGAvZXhhbXBsZWAgZm9sZGVyLiAKCmBgYGRhcnQKY29uc3QgbGlrZSA9ICdzYW1wbGUnOwpgYGAKCiMjIEFkZGl0aW9uYWwgaW5mb3JtYXRpb24KClRPRE86IFRlbGwgdXNlcnMgbW9yZSBhYm91dCB0aGUgcGFja2FnZTogd2hlcmUgdG8gZmluZCBtb3JlIGluZm9ybWF0aW9uLCBob3cgdG8gCmNvbnRyaWJ1dGUgdG8gdGhlIHBhY2thZ2UsIGhvdyB0byBmaWxlIGlzc3Vlcywgd2hhdCByZXNwb25zZSB0aGV5IGNhbiBleHBlY3QgCmZyb20gdGhlIHBhY2thZ2UgYXV0aG9ycywgYW5kIG1vcmUuCg==", - "type": "text" - }, + {"path": "README.md", "data": "", "type": "text"}, { "path": "test/ensure_build_test.dart", "data": diff --git a/packages/rapid_cli/lib/src/project/bundles/logging_package_bundle.dart b/packages/rapid_cli/lib/src/project/bundles/logging_package_bundle.dart index 8c6b33a7e..44aea5ea4 100644 --- a/packages/rapid_cli/lib/src/project/bundles/logging_package_bundle.dart +++ b/packages/rapid_cli/lib/src/project/bundles/logging_package_bundle.dart @@ -8,18 +8,17 @@ final loggingPackageBundle = MasonBundle.fromJson({ { "path": ".gitignore", "data": - "IyBNaXNjZWxsYW5lb3VzCiouY2xhc3MKKi5sb2cKKi5weWMKKi5zd3AKLkRTX1N0b3JlCi5hdG9tLwouYnVpbGRsb2cvCi5oaXN0b3J5Ci5zdm4vCm1pZ3JhdGVfd29ya2luZ19kaXIvCgojIEludGVsbGlKIHJlbGF0ZWQKKi5pbWwKKi5pcHIKKi5pd3MKLmlkZWEvCgojIFRoZSAudnNjb2RlIGZvbGRlciBjb250YWlucyBsYXVuY2ggY29uZmlndXJhdGlvbiBhbmQgdGFza3MgeW91IGNvbmZpZ3VyZSBpbgojIFZTIENvZGUgd2hpY2ggeW91IG1heSB3aXNoIHRvIGJlIGluY2x1ZGVkIGluIHZlcnNpb24gY29udHJvbCwgc28gdGhpcyBsaW5lCiMgaXMgY29tbWVudGVkIG91dCBieSBkZWZhdWx0LgojLnZzY29kZS8KCiMgRmlsZXMgYW5kIGRpcmVjdG9yaWVzIGNyZWF0ZWQgYnkgcHViLgouZGFydF90b29sLwoucGFja2FnZXMKCiMgQ29udmVudGlvbmFsIGRpcmVjdG9yeSBmb3IgYnVpbGQgb3V0cHV0cy4KYnVpbGQvCgojIENvbnZlbnRpb25hbCBkaXJlY3RvcnkgZm9yIGNvdmVyYWdlIG91dHB1dHMuCi9jb3ZlcmFnZQo=", + "IyBNaXNjZWxsYW5lb3VzCiouY2xhc3MKKi5sb2cKKi5weWMKKi5zd3AKLkRTX1N0b3JlCi5hdG9tLwouYnVpbGRsb2cvCi5oaXN0b3J5Ci5zdm4vCm1pZ3JhdGVfd29ya2luZ19kaXIvCgojIEludGVsbGlKIHJlbGF0ZWQKKi5pbWwKKi5pcHIKKi5pd3MKLmlkZWEvCgojIEZpbGVzIGFuZCBkaXJlY3RvcmllcyBjcmVhdGVkIGJ5IHB1Yi4KLmRhcnRfdG9vbC8KLnBhY2thZ2VzCgojIENvbnZlbnRpb25hbCBkaXJlY3RvcnkgZm9yIGJ1aWxkIG91dHB1dHMuCmJ1aWxkLwoKIyBDb252ZW50aW9uYWwgZGlyZWN0b3J5IGZvciBjb3ZlcmFnZSBvdXRwdXRzLgovY292ZXJhZ2UK", "type": "text" }, { "path": "analysis_options.yaml", - "data": - "aW5jbHVkZTogLi4vLi4vLi4vYW5hbHlzaXNfb3B0aW9ucy55YW1sCiMgVW5jb21tZW50IHRoZSBmb2xsb3dpbmcgc2VjdGlvbiB0byBzcGVjaWZ5IGFkZGl0aW9uYWwgcnVsZXMuCgojIGxpbnRlcjoKIyAgIHJ1bGVzOgojICAgICAtIGNhbWVsX2Nhc2VfdHlwZXMK", + "data": "aW5jbHVkZTogLi4vLi4vLi4vYW5hbHlzaXNfb3B0aW9ucy55YW1sCg==", "type": "text" }, { "path": "CHANGELOG.md", - "data": "IyMgMS4wLjAKCi0gSW5pdGlhbCB2ZXJzaW9uLgo=", + "data": "IyMgMC4xLjAKCi0gSW5pdGlhbCB2ZXJzaW9uLgo=", "type": "text" }, { @@ -55,15 +54,10 @@ final loggingPackageBundle = MasonBundle.fromJson({ { "path": "pubspec.yaml", "data": - "bmFtZToge3twcm9qZWN0X25hbWV9fV9sb2dnaW5nCmRlc2NyaXB0aW9uOiBMb2dnaW5nIG9mIHt7cHJvamVjdF9uYW1lLnRpdGxlQ2FzZSgpfX0uCnZlcnNpb246IDAuMC4xCnB1Ymxpc2hfdG86IG5vbmUKCmVudmlyb25tZW50OgogIHNkazogIj49My4xLjAgPDQuMC4wIgoKZGVwZW5kZW5jaWVzOgogIG1ldGE6IF4xLjkuMQogIGluamVjdGFibGU6IF4yLjMuMAoKZGV2X2RlcGVuZGVuY2llczoKICB0ZXN0OiBeMS4yNC42CiAgbW9ja3RhaWw6IF4xLjAuMAogIGJ1aWxkX3J1bm5lcjogXjIuNC42CiAgaW5qZWN0YWJsZV9nZW5lcmF0b3I6IF4yLjQuMAogIGJ1aWxkX3ZlcmlmeTogXjMuMS4w", - "type": "text" - }, - { - "path": "README.md", - "data": - "PCEtLSAKVGhpcyBSRUFETUUgZGVzY3JpYmVzIHRoZSBwYWNrYWdlLiBJZiB5b3UgcHVibGlzaCB0aGlzIHBhY2thZ2UgdG8gcHViLmRldiwKdGhpcyBSRUFETUUncyBjb250ZW50cyBhcHBlYXIgb24gdGhlIGxhbmRpbmcgcGFnZSBmb3IgeW91ciBwYWNrYWdlLgoKRm9yIGluZm9ybWF0aW9uIGFib3V0IGhvdyB0byB3cml0ZSBhIGdvb2QgcGFja2FnZSBSRUFETUUsIHNlZSB0aGUgZ3VpZGUgZm9yClt3cml0aW5nIHBhY2thZ2UgcGFnZXNdKGh0dHBzOi8vZGFydC5kZXYvZ3VpZGVzL2xpYnJhcmllcy93cml0aW5nLXBhY2thZ2UtcGFnZXMpLiAKCkZvciBnZW5lcmFsIGluZm9ybWF0aW9uIGFib3V0IGRldmVsb3BpbmcgcGFja2FnZXMsIHNlZSB0aGUgRGFydCBndWlkZSBmb3IKW2NyZWF0aW5nIHBhY2thZ2VzXShodHRwczovL2RhcnQuZGV2L2d1aWRlcy9saWJyYXJpZXMvY3JlYXRlLWxpYnJhcnktcGFja2FnZXMpCmFuZCB0aGUgRmx1dHRlciBndWlkZSBmb3IKW2RldmVsb3BpbmcgcGFja2FnZXMgYW5kIHBsdWdpbnNdKGh0dHBzOi8vZmx1dHRlci5kZXYvZGV2ZWxvcGluZy1wYWNrYWdlcykuIAotLT4KClRPRE86IFB1dCBhIHNob3J0IGRlc2NyaXB0aW9uIG9mIHRoZSBwYWNrYWdlIGhlcmUgdGhhdCBoZWxwcyBwb3RlbnRpYWwgdXNlcnMKa25vdyB3aGV0aGVyIHRoaXMgcGFja2FnZSBtaWdodCBiZSB1c2VmdWwgZm9yIHRoZW0uCgojIyBGZWF0dXJlcwoKVE9ETzogTGlzdCB3aGF0IHlvdXIgcGFja2FnZSBjYW4gZG8uIE1heWJlIGluY2x1ZGUgaW1hZ2VzLCBnaWZzLCBvciB2aWRlb3MuCgojIyBHZXR0aW5nIHN0YXJ0ZWQKClRPRE86IExpc3QgcHJlcmVxdWlzaXRlcyBhbmQgcHJvdmlkZSBvciBwb2ludCB0byBpbmZvcm1hdGlvbiBvbiBob3cgdG8Kc3RhcnQgdXNpbmcgdGhlIHBhY2thZ2UuCgojIyBVc2FnZQoKVE9ETzogSW5jbHVkZSBzaG9ydCBhbmQgdXNlZnVsIGV4YW1wbGVzIGZvciBwYWNrYWdlIHVzZXJzLiBBZGQgbG9uZ2VyIGV4YW1wbGVzCnRvIGAvZXhhbXBsZWAgZm9sZGVyLiAKCmBgYGRhcnQKY29uc3QgbGlrZSA9ICdzYW1wbGUnOwpgYGAKCiMjIEFkZGl0aW9uYWwgaW5mb3JtYXRpb24KClRPRE86IFRlbGwgdXNlcnMgbW9yZSBhYm91dCB0aGUgcGFja2FnZTogd2hlcmUgdG8gZmluZCBtb3JlIGluZm9ybWF0aW9uLCBob3cgdG8gCmNvbnRyaWJ1dGUgdG8gdGhlIHBhY2thZ2UsIGhvdyB0byBmaWxlIGlzc3Vlcywgd2hhdCByZXNwb25zZSB0aGV5IGNhbiBleHBlY3QgCmZyb20gdGhlIHBhY2thZ2UgYXV0aG9ycywgYW5kIG1vcmUuCg==", + "bmFtZToge3twcm9qZWN0X25hbWV9fV9sb2dnaW5nCmRlc2NyaXB0aW9uOiBMb2dnaW5nIG9mIHt7cHJvamVjdF9uYW1lLnRpdGxlQ2FzZSgpfX0uCnZlcnNpb246IDAuMS4wCnB1Ymxpc2hfdG86IG5vbmUKCmVudmlyb25tZW50OgogIHNkazogIj49My4xLjAgPDQuMC4wIgoKZGVwZW5kZW5jaWVzOgogIGluamVjdGFibGU6IF4yLjMuMAogIG1ldGE6IF4xLjkuMQoKZGV2X2RlcGVuZGVuY2llczoKICBidWlsZF9ydW5uZXI6IF4yLjQuNgogIGJ1aWxkX3ZlcmlmeTogXjMuMS4wCiAgaW5qZWN0YWJsZV9nZW5lcmF0b3I6IF4yLjQuMAogIG1vY2t0YWlsOiBeMS4wLjAKICB0ZXN0OiBeMS4yNC42Cg==", "type": "text" }, + {"path": "README.md", "data": "", "type": "text"}, { "path": "test/ensure_build_test.dart", "data": diff --git a/packages/rapid_cli/lib/src/project/bundles/platform_app_feature_package_bundle.dart b/packages/rapid_cli/lib/src/project/bundles/platform_app_feature_package_bundle.dart index bc7f21552..684e2fda6 100644 --- a/packages/rapid_cli/lib/src/project/bundles/platform_app_feature_package_bundle.dart +++ b/packages/rapid_cli/lib/src/project/bundles/platform_app_feature_package_bundle.dart @@ -8,18 +8,18 @@ final platformAppFeaturePackageBundle = MasonBundle.fromJson({ { "path": ".gitignore", "data": - "IyBNaXNjZWxsYW5lb3VzCiouY2xhc3MKKi5sb2cKKi5weWMKKi5zd3AKLkRTX1N0b3JlCi5hdG9tLwouYnVpbGRsb2cvCi5oaXN0b3J5Ci5zdm4vCm1pZ3JhdGVfd29ya2luZ19kaXIvCgojIEludGVsbGlKIHJlbGF0ZWQKKi5pbWwKKi5pcHIKKi5pd3MKLmlkZWEvCgojIFRoZSAudnNjb2RlIGZvbGRlciBjb250YWlucyBsYXVuY2ggY29uZmlndXJhdGlvbiBhbmQgdGFza3MgeW91IGNvbmZpZ3VyZSBpbgojIFZTIENvZGUgd2hpY2ggeW91IG1heSB3aXNoIHRvIGJlIGluY2x1ZGVkIGluIHZlcnNpb24gY29udHJvbCwgc28gdGhpcyBsaW5lCiMgaXMgY29tbWVudGVkIG91dCBieSBkZWZhdWx0LgojLnZzY29kZS8KCiMgRmx1dHRlci9EYXJ0L1B1YiByZWxhdGVkCioqL2RvYy9hcGkvCioqL2lvcy9GbHV0dGVyLy5sYXN0X2J1aWxkX2lkCi5kYXJ0X3Rvb2wvCi5mbHV0dGVyLXBsdWdpbnMKLmZsdXR0ZXItcGx1Z2lucy1kZXBlbmRlbmNpZXMKLnBhY2thZ2VzCi5wdWItY2FjaGUvCi5wdWIvCi9idWlsZC8KL2NvdmVyYWdlCg==", + "IyBNaXNjZWxsYW5lb3VzCiouY2xhc3MKKi5sb2cKKi5weWMKKi5zd3AKLkRTX1N0b3JlCi5hdG9tLwouYnVpbGRsb2cvCi5oaXN0b3J5Ci5zdm4vCm1pZ3JhdGVfd29ya2luZ19kaXIvCgojIEludGVsbGlKIHJlbGF0ZWQKKi5pbWwKKi5pcHIKKi5pd3MKLmlkZWEvCgojIEZsdXR0ZXIvRGFydC9QdWIgcmVsYXRlZAoqKi9kb2MvYXBpLwoqKi9pb3MvRmx1dHRlci8ubGFzdF9idWlsZF9pZAouZGFydF90b29sLwouZmx1dHRlci1wbHVnaW5zCi5mbHV0dGVyLXBsdWdpbnMtZGVwZW5kZW5jaWVzCi5wYWNrYWdlcwoucHViLWNhY2hlLwoucHViLwovYnVpbGQvCi9jb3ZlcmFnZQo=", "type": "text" }, { "path": "analysis_options.yaml", "data": - "aW5jbHVkZTogLi4vLi4vLi4vLi4vLi4vYW5hbHlzaXNfb3B0aW9ucy55YW1sCiMgVW5jb21tZW50IHRoZSBmb2xsb3dpbmcgc2VjdGlvbiB0byBzcGVjaWZ5IGFkZGl0aW9uYWwgcnVsZXMuCgojIGxpbnRlcjoKIyAgIHJ1bGVzOgojICAgICAtIGNhbWVsX2Nhc2VfdHlwZXMK", + "aW5jbHVkZTogLi4vLi4vLi4vLi4vLi4vYW5hbHlzaXNfb3B0aW9ucy55YW1sCg==", "type": "text" }, { "path": "CHANGELOG.md", - "data": "IyMgMC4wLjEKCiogVE9ETzogRGVzY3JpYmUgaW5pdGlhbCByZWxlYXNlLgo=", + "data": "IyMgMC4xLjAKCiogVE9ETzogRGVzY3JpYmUgaW5pdGlhbCByZWxlYXNlLgo=", "type": "text" }, { @@ -43,7 +43,7 @@ final platformAppFeaturePackageBundle = MasonBundle.fromJson({ { "path": "lib/src/presentation/app.dart", "data": - "e3sjYW5kcm9pZH19aW1wb3J0ICdwYWNrYWdlOmF1dG9fcm91dGUvYXV0b19yb3V0ZS5kYXJ0JzsKaW1wb3J0ICdwYWNrYWdlOnt7cHJvamVjdF9uYW1lfX1fYW5kcm9pZF9sb2NhbGl6YXRpb24ve3twcm9qZWN0X25hbWV9fV9hbmRyb2lkX2xvY2FsaXphdGlvbi5kYXJ0JzsKaW1wb3J0ICdwYWNrYWdlOnt7cHJvamVjdF9uYW1lfX1fdWlfYW5kcm9pZC97e3Byb2plY3RfbmFtZX19X3VpX2FuZHJvaWQuZGFydCc7CgphYnN0cmFjdCBjbGFzcyBBcHAgZXh0ZW5kcyBTdGF0ZWxlc3NXaWRnZXQgewogIGNvbnN0IGZhY3RvcnkgQXBwKHsKICAgIEtleT8ga2V5LAogICAgcmVxdWlyZWQgUm9vdFN0YWNrUm91dGVyIHJvdXRlciwKICAgIExpc3Q8TmF2aWdhdG9yT2JzZXJ2ZXI+IEZ1bmN0aW9uKCk/IG5hdmlnYXRvck9ic2VydmVyQnVpbGRlciwKICB9KSA9IF9BcHA7CgogIEB2aXNpYmxlRm9yVGVzdGluZwogIGNvbnN0IGZhY3RvcnkgQXBwLnRlc3QoewogICAgS2V5PyBrZXksCiAgICBMb2NhbGU/IGxvY2FsZSwKICAgIHJlcXVpcmVkIFJvb3RTdGFja1JvdXRlciByb3V0ZXIsCiAgICBMaXN0PFBhZ2VSb3V0ZUluZm88ZHluYW1pYz4+PyBpbml0aWFsUm91dGVzLAogICAgTmF2aWdhdG9yT2JzZXJ2ZXI/IG5hdmlnYXRvck9ic2VydmVyLAogICAgVGhlbWVNb2RlPyB0aGVtZU1vZGUsCiAgfSkgPSBfQXBwVGVzdDsKCiAgQHZpc2libGVGb3JUZXN0aW5nCiAgY29uc3QgZmFjdG9yeSBBcHAudGVzdFdpZGdldCh7CiAgICBLZXk/IGtleSwKICAgIHJlcXVpcmVkIFdpZGdldCB3aWRnZXQsCiAgICBMb2NhbGU/IGxvY2FsZSwKICAgIFRoZW1lTW9kZT8gdGhlbWVNb2RlLAogIH0pID0gX0FwcFRlc3RXaWRnZXQ7CgogIGNvbnN0IEFwcC5fKHsKICAgIHN1cGVyLmtleSwKICAgIHRoaXMucm91dGVyLAogIH0pICA6IHN1cHBvcnRlZExvY2FsZXMgPSB7e3Byb2plY3RfbmFtZS5wYXNjYWxDYXNlKCl9fUxvY2FsaXphdGlvbnMuc3VwcG9ydGVkTG9jYWxlcywKICAgICAgICBsb2NhbGl6YXRpb25zRGVsZWdhdGVzID0gY29uc3QgWwogICAgICAgICAge3twcm9qZWN0X25hbWUucGFzY2FsQ2FzZSgpfX1Mb2NhbGl6YXRpb25zLmRlbGVnYXRlCiAgICAgICAgXTsKCiAgZmluYWwgTGlzdDxMb2NhbGU+IHN1cHBvcnRlZExvY2FsZXM7CgogIGZpbmFsIExpc3Q8TG9jYWxpemF0aW9uc0RlbGVnYXRlPGR5bmFtaWM+PiBsb2NhbGl6YXRpb25zRGVsZWdhdGVzOwoKICBmaW5hbCBSb290U3RhY2tSb3V0ZXI/IHJvdXRlcjsKfQoKY2xhc3MgX0FwcCBleHRlbmRzIEFwcCB7CiAgY29uc3QgX0FwcCh7CiAgICBzdXBlci5rZXksCiAgICByZXF1aXJlZCBSb290U3RhY2tSb3V0ZXIgc3VwZXIucm91dGVyLAogICAgdGhpcy5uYXZpZ2F0b3JPYnNlcnZlckJ1aWxkZXIsCiAgfSkgOiBzdXBlci5fKCk7CgogIGZpbmFsIExpc3Q8TmF2aWdhdG9yT2JzZXJ2ZXI+IEZ1bmN0aW9uKCk/IG5hdmlnYXRvck9ic2VydmVyQnVpbGRlcjsKCiAgQG92ZXJyaWRlCiAgV2lkZ2V0IGJ1aWxkKEJ1aWxkQ29udGV4dCBjb250ZXh0KSB7CiAgICByZXR1cm4ge3twcm9qZWN0X25hbWUucGFzY2FsQ2FzZSgpfX1BcHAoCiAgICAgIHN1cHBvcnRlZExvY2FsZXM6IHN1cHBvcnRlZExvY2FsZXMsCiAgICAgIGxvY2FsaXphdGlvbnNEZWxlZ2F0ZXM6IGxvY2FsaXphdGlvbnNEZWxlZ2F0ZXMsCiAgICAgIHJvdXRlckNvbmZpZzogcm91dGVyIS5jb25maWcoCiAgICAgICAgbmF2aWdhdG9yT2JzZXJ2ZXJzOiBuYXZpZ2F0b3JPYnNlcnZlckJ1aWxkZXIgPz8KICAgICAgICAgICAgQXV0b1JvdXRlckRlbGVnYXRlLmRlZmF1bHROYXZpZ2F0b3JPYnNlcnZlcnNCdWlsZGVyLAogICAgICApLAogICAgKTsKICB9Cn0KCmNsYXNzIF9BcHBUZXN0IGV4dGVuZHMgQXBwIHsKICBjb25zdCBfQXBwVGVzdCh7CiAgICBzdXBlci5rZXksCiAgICB0aGlzLmxvY2FsZSwKICAgIHJlcXVpcmVkIFJvb3RTdGFja1JvdXRlciBzdXBlci5yb3V0ZXIsCiAgICB0aGlzLmluaXRpYWxSb3V0ZXMsCiAgICB0aGlzLm5hdmlnYXRvck9ic2VydmVyLAogICAgdGhpcy50aGVtZU1vZGUsCiAgfSkgOiBzdXBlci5fKCk7CgogIGZpbmFsIExvY2FsZT8gbG9jYWxlOwoKICBmaW5hbCBMaXN0PFBhZ2VSb3V0ZUluZm88ZHluYW1pYz4+PyBpbml0aWFsUm91dGVzOwoKICBmaW5hbCBOYXZpZ2F0b3JPYnNlcnZlcj8gbmF2aWdhdG9yT2JzZXJ2ZXI7CgogIGZpbmFsIFRoZW1lTW9kZT8gdGhlbWVNb2RlOwoKICBAb3ZlcnJpZGUKICBXaWRnZXQgYnVpbGQoQnVpbGRDb250ZXh0IGNvbnRleHQpIHsKICAgIHJldHVybiB7e3Byb2plY3RfbmFtZS5wYXNjYWxDYXNlKCl9fUFwcCgKICAgICAgbG9jYWxlOiBsb2NhbGUsCiAgICAgIHN1cHBvcnRlZExvY2FsZXM6IHN1cHBvcnRlZExvY2FsZXMsCiAgICAgIGxvY2FsaXphdGlvbnNEZWxlZ2F0ZXM6IGxvY2FsaXphdGlvbnNEZWxlZ2F0ZXMsCiAgICAgIHJvdXRlckNvbmZpZzogcm91dGVyIS5jb25maWcoCiAgICAgICAgZGVlcExpbmtCdWlsZGVyOgogICAgICAgICAgICBpbml0aWFsUm91dGVzICE9IG51bGwgPyAoXykgPT4gRGVlcExpbmsoaW5pdGlhbFJvdXRlcyEpIDogbnVsbCwKICAgICAgICBuYXZpZ2F0b3JPYnNlcnZlcnM6IG5hdmlnYXRvck9ic2VydmVyIT0gbnVsbAogICAgICAgICAgICA/ICgpID0+IFtuYXZpZ2F0b3JPYnNlcnZlciFdCiAgICAgICAgICAgIDogQXV0b1JvdXRlckRlbGVnYXRlLmRlZmF1bHROYXZpZ2F0b3JPYnNlcnZlcnNCdWlsZGVyLAogICAgICApLAogICAgICB0aGVtZU1vZGU6IHRoZW1lTW9kZSwKICAgICk7CiAgfQp9CgpjbGFzcyBfQXBwVGVzdFdpZGdldCBleHRlbmRzIEFwcCB7CiAgY29uc3QgX0FwcFRlc3RXaWRnZXQoewogICAgc3VwZXIua2V5LAogICAgcmVxdWlyZWQgdGhpcy53aWRnZXQsCiAgICB0aGlzLmxvY2FsZSwKICAgIHRoaXMudGhlbWVNb2RlLAogIH0pIDogc3VwZXIuXygpOwoKICBmaW5hbCBMb2NhbGU/IGxvY2FsZTsKCiAgZmluYWwgV2lkZ2V0IHdpZGdldDsKCiAgZmluYWwgVGhlbWVNb2RlPyB0aGVtZU1vZGU7CgogIEBvdmVycmlkZQogIFdpZGdldCBidWlsZChCdWlsZENvbnRleHQgY29udGV4dCkgewogICAgLy8gaWdub3JlOiBpbnZhbGlkX3VzZV9vZl92aXNpYmxlX2Zvcl90ZXN0aW5nX21lbWJlcgogICAgcmV0dXJuIHt7cHJvamVjdF9uYW1lLnBhc2NhbENhc2UoKX19QXBwLnRlc3QoCiAgICAgIGxvY2FsZTogbG9jYWxlLAogICAgICBsb2NhbGl6YXRpb25zRGVsZWdhdGVzOiBsb2NhbGl6YXRpb25zRGVsZWdhdGVzLAogICAgICBob21lOiB3aWRnZXQsCiAgICAgIHRoZW1lTW9kZTogdGhlbWVNb2RlLAogICAgKTsKICB9Cn0Ke3svYW5kcm9pZH19e3sjaW9zfX1pbXBvcnQgJ3BhY2thZ2U6YXV0b19yb3V0ZS9hdXRvX3JvdXRlLmRhcnQnOwppbXBvcnQgJ3BhY2thZ2U6e3twcm9qZWN0X25hbWV9fV91aV9pb3Mve3twcm9qZWN0X25hbWV9fV91aV9pb3MuZGFydCc7CmltcG9ydCAncGFja2FnZTp7e3Byb2plY3RfbmFtZX19X2lvc19sb2NhbGl6YXRpb24ve3twcm9qZWN0X25hbWV9fV9pb3NfbG9jYWxpemF0aW9uLmRhcnQnOwoKYWJzdHJhY3QgY2xhc3MgQXBwIGV4dGVuZHMgU3RhdGVsZXNzV2lkZ2V0IHsKICBjb25zdCBmYWN0b3J5IEFwcCh7CiAgICBLZXk/IGtleSwKICAgIHJlcXVpcmVkIFJvb3RTdGFja1JvdXRlciByb3V0ZXIsCiAgICBMaXN0PE5hdmlnYXRvck9ic2VydmVyPiBGdW5jdGlvbigpPyBuYXZpZ2F0b3JPYnNlcnZlckJ1aWxkZXIsCiAgfSkgPSBfQXBwOwoKICBAdmlzaWJsZUZvclRlc3RpbmcKICBjb25zdCBmYWN0b3J5IEFwcC50ZXN0KHsKICAgIEtleT8ga2V5LAogICAgTG9jYWxlPyBsb2NhbGUsCiAgICByZXF1aXJlZCBSb290U3RhY2tSb3V0ZXIgcm91dGVyLAogICAgTGlzdDxQYWdlUm91dGVJbmZvPGR5bmFtaWM+Pj8gaW5pdGlhbFJvdXRlcywKICAgIE5hdmlnYXRvck9ic2VydmVyPyBuYXZpZ2F0b3JPYnNlcnZlciwKICAgIEJyaWdodG5lc3M/IGJyaWdodG5lc3MsCiAgfSkgPSBfQXBwVGVzdDsKCiAgQHZpc2libGVGb3JUZXN0aW5nCiAgY29uc3QgZmFjdG9yeSBBcHAudGVzdFdpZGdldCh7CiAgICBLZXk/IGtleSwKICAgIHJlcXVpcmVkIFdpZGdldCB3aWRnZXQsCiAgICBMb2NhbGU/IGxvY2FsZSwKICAgIEJyaWdodG5lc3M/IGJyaWdodG5lc3MsCiAgfSkgPSBfQXBwVGVzdFdpZGdldDsKCiAgY29uc3QgQXBwLl8oewogICAgc3VwZXIua2V5LAogICAgdGhpcy5yb3V0ZXIsCiAgfSkgIDogc3VwcG9ydGVkTG9jYWxlcyA9IHt7cHJvamVjdF9uYW1lLnBhc2NhbENhc2UoKX19TG9jYWxpemF0aW9ucy5zdXBwb3J0ZWRMb2NhbGVzLAogICAgICAgIGxvY2FsaXphdGlvbnNEZWxlZ2F0ZXMgPSBjb25zdCBbCiAgICAgICAgICB7e3Byb2plY3RfbmFtZS5wYXNjYWxDYXNlKCl9fUxvY2FsaXphdGlvbnMuZGVsZWdhdGUKICAgICAgICBdOwoKICBmaW5hbCBMaXN0PExvY2FsZT4gc3VwcG9ydGVkTG9jYWxlczsKCiAgZmluYWwgTGlzdDxMb2NhbGl6YXRpb25zRGVsZWdhdGU8ZHluYW1pYz4+IGxvY2FsaXphdGlvbnNEZWxlZ2F0ZXM7CgogIGZpbmFsIFJvb3RTdGFja1JvdXRlcj8gcm91dGVyOwp9CgpjbGFzcyBfQXBwIGV4dGVuZHMgQXBwIHsKICBjb25zdCBfQXBwKHsKICAgIHN1cGVyLmtleSwKICAgIHJlcXVpcmVkIFJvb3RTdGFja1JvdXRlciBzdXBlci5yb3V0ZXIsCiAgICB0aGlzLm5hdmlnYXRvck9ic2VydmVyQnVpbGRlciwKICB9KSA6IHN1cGVyLl8oKTsKCiAgZmluYWwgTGlzdDxOYXZpZ2F0b3JPYnNlcnZlcj4gRnVuY3Rpb24oKT8gbmF2aWdhdG9yT2JzZXJ2ZXJCdWlsZGVyOwoKICBAb3ZlcnJpZGUKICBXaWRnZXQgYnVpbGQoQnVpbGRDb250ZXh0IGNvbnRleHQpIHsKICAgIHJldHVybiB7e3Byb2plY3RfbmFtZS5wYXNjYWxDYXNlKCl9fUFwcCgKICAgICAgc3VwcG9ydGVkTG9jYWxlczogc3VwcG9ydGVkTG9jYWxlcywKICAgICAgbG9jYWxpemF0aW9uc0RlbGVnYXRlczogbG9jYWxpemF0aW9uc0RlbGVnYXRlcywKICAgICAgcm91dGVyQ29uZmlnOiByb3V0ZXIhLmNvbmZpZygKICAgICAgICBuYXZpZ2F0b3JPYnNlcnZlcnM6IG5hdmlnYXRvck9ic2VydmVyQnVpbGRlciA/PwogICAgICAgICAgICBBdXRvUm91dGVyRGVsZWdhdGUuZGVmYXVsdE5hdmlnYXRvck9ic2VydmVyc0J1aWxkZXIsCiAgICAgICksCiAgICApOwogIH0KfQoKY2xhc3MgX0FwcFRlc3QgZXh0ZW5kcyBBcHAgewogIGNvbnN0IF9BcHBUZXN0KHsKICAgIHN1cGVyLmtleSwKICAgIHRoaXMubG9jYWxlLAogICAgcmVxdWlyZWQgUm9vdFN0YWNrUm91dGVyIHN1cGVyLnJvdXRlciwKICAgIHRoaXMuaW5pdGlhbFJvdXRlcywKICAgIHRoaXMubmF2aWdhdG9yT2JzZXJ2ZXIsCiAgICB0aGlzLmJyaWdodG5lc3MsCiAgfSkgOiBzdXBlci5fKCk7CgogIGZpbmFsIExvY2FsZT8gbG9jYWxlOwoKICBmaW5hbCBMaXN0PFBhZ2VSb3V0ZUluZm88ZHluYW1pYz4+PyBpbml0aWFsUm91dGVzOwoKICBmaW5hbCBOYXZpZ2F0b3JPYnNlcnZlcj8gbmF2aWdhdG9yT2JzZXJ2ZXI7CgogIGZpbmFsIEJyaWdodG5lc3M/IGJyaWdodG5lc3M7CgogIEBvdmVycmlkZQogIFdpZGdldCBidWlsZChCdWlsZENvbnRleHQgY29udGV4dCkgewogICAgcmV0dXJuIHt7cHJvamVjdF9uYW1lLnBhc2NhbENhc2UoKX19QXBwKAogICAgICBsb2NhbGU6IGxvY2FsZSwKICAgICAgc3VwcG9ydGVkTG9jYWxlczogc3VwcG9ydGVkTG9jYWxlcywKICAgICAgbG9jYWxpemF0aW9uc0RlbGVnYXRlczogbG9jYWxpemF0aW9uc0RlbGVnYXRlcywKICAgICAgcm91dGVyQ29uZmlnOiByb3V0ZXIhLmNvbmZpZygKICAgICAgICBkZWVwTGlua0J1aWxkZXI6CiAgICAgICAgICAgIGluaXRpYWxSb3V0ZXMgIT0gbnVsbCA/IChfKSA9PiBEZWVwTGluayhpbml0aWFsUm91dGVzISkgOiBudWxsLAogICAgICAgIG5hdmlnYXRvck9ic2VydmVyczogbmF2aWdhdG9yT2JzZXJ2ZXIhPSBudWxsCiAgICAgICAgICAgID8gKCkgPT4gW25hdmlnYXRvck9ic2VydmVyIV0KICAgICAgICAgICAgOiBBdXRvUm91dGVyRGVsZWdhdGUuZGVmYXVsdE5hdmlnYXRvck9ic2VydmVyc0J1aWxkZXIsCiAgICAgICksCiAgICAgIGJyaWdodG5lc3M6IGJyaWdodG5lc3MsCiAgICApOwogIH0KfQoKY2xhc3MgX0FwcFRlc3RXaWRnZXQgZXh0ZW5kcyBBcHAgewogIGNvbnN0IF9BcHBUZXN0V2lkZ2V0KHsKICAgIHN1cGVyLmtleSwKICAgIHJlcXVpcmVkIHRoaXMud2lkZ2V0LAogICAgdGhpcy5sb2NhbGUsCiAgICB0aGlzLmJyaWdodG5lc3MsCiAgfSkgOiBzdXBlci5fKCk7CgogIGZpbmFsIExvY2FsZT8gbG9jYWxlOwoKICBmaW5hbCBXaWRnZXQgd2lkZ2V0OwoKICBmaW5hbCBCcmlnaHRuZXNzPyBicmlnaHRuZXNzOwoKICBAb3ZlcnJpZGUKICBXaWRnZXQgYnVpbGQoQnVpbGRDb250ZXh0IGNvbnRleHQpIHsKICAgIC8vIGlnbm9yZTogaW52YWxpZF91c2Vfb2ZfdmlzaWJsZV9mb3JfdGVzdGluZ19tZW1iZXIKICAgIHJldHVybiB7e3Byb2plY3RfbmFtZS5wYXNjYWxDYXNlKCl9fUFwcC50ZXN0KAogICAgICBsb2NhbGU6IGxvY2FsZSwKICAgICAgbG9jYWxpemF0aW9uc0RlbGVnYXRlczogbG9jYWxpemF0aW9uc0RlbGVnYXRlcywKICAgICAgaG9tZTogd2lkZ2V0LAogICAgICBicmlnaHRuZXNzOiBicmlnaHRuZXNzLAogICAgKTsKICB9Cn0Ke3svaW9zfX17eyNsaW51eH19aW1wb3J0ICdwYWNrYWdlOmF1dG9fcm91dGUvYXV0b19yb3V0ZS5kYXJ0JzsKaW1wb3J0ICdwYWNrYWdlOnt7cHJvamVjdF9uYW1lfX1fdWlfbGludXgve3twcm9qZWN0X25hbWV9fV91aV9saW51eC5kYXJ0JzsKaW1wb3J0ICdwYWNrYWdlOnt7cHJvamVjdF9uYW1lfX1fbGludXhfbG9jYWxpemF0aW9uL3t7cHJvamVjdF9uYW1lfX1fbGludXhfbG9jYWxpemF0aW9uLmRhcnQnOwoKYWJzdHJhY3QgY2xhc3MgQXBwIGV4dGVuZHMgU3RhdGVsZXNzV2lkZ2V0IHsKICBjb25zdCBmYWN0b3J5IEFwcCh7CiAgICBLZXk/IGtleSwKICAgIHJlcXVpcmVkIFJvb3RTdGFja1JvdXRlciByb3V0ZXIsCiAgICBMaXN0PE5hdmlnYXRvck9ic2VydmVyPiBGdW5jdGlvbigpPyBuYXZpZ2F0b3JPYnNlcnZlckJ1aWxkZXIsCiAgfSkgPSBfQXBwOwoKICBAdmlzaWJsZUZvclRlc3RpbmcKICBjb25zdCBmYWN0b3J5IEFwcC50ZXN0KHsKICAgIEtleT8ga2V5LAogICAgTG9jYWxlPyBsb2NhbGUsCiAgICByZXF1aXJlZCBSb290U3RhY2tSb3V0ZXIgcm91dGVyLAogICAgTGlzdDxQYWdlUm91dGVJbmZvPGR5bmFtaWM+Pj8gaW5pdGlhbFJvdXRlcywKICAgIE5hdmlnYXRvck9ic2VydmVyPyBuYXZpZ2F0b3JPYnNlcnZlciwKICAgIFRoZW1lTW9kZT8gdGhlbWVNb2RlLAogIH0pID0gX0FwcFRlc3Q7CgogIEB2aXNpYmxlRm9yVGVzdGluZwogIGNvbnN0IGZhY3RvcnkgQXBwLnRlc3RXaWRnZXQoewogICAgS2V5PyBrZXksCiAgICByZXF1aXJlZCBXaWRnZXQgd2lkZ2V0LAogICAgTG9jYWxlPyBsb2NhbGUsCiAgICBUaGVtZU1vZGU/IHRoZW1lTW9kZSwKICB9KSA9IF9BcHBUZXN0V2lkZ2V0OwoKICBjb25zdCBBcHAuXyh7CiAgICBzdXBlci5rZXksCiAgICB0aGlzLnJvdXRlciwKICB9KSAgOiBzdXBwb3J0ZWRMb2NhbGVzID0ge3twcm9qZWN0X25hbWUucGFzY2FsQ2FzZSgpfX1Mb2NhbGl6YXRpb25zLnN1cHBvcnRlZExvY2FsZXMsCiAgICAgICAgbG9jYWxpemF0aW9uc0RlbGVnYXRlcyA9IGNvbnN0IFsKICAgICAgICAgIHt7cHJvamVjdF9uYW1lLnBhc2NhbENhc2UoKX19TG9jYWxpemF0aW9ucy5kZWxlZ2F0ZQogICAgICAgIF07CgogIGZpbmFsIExpc3Q8TG9jYWxlPiBzdXBwb3J0ZWRMb2NhbGVzOwoKICBmaW5hbCBMaXN0PExvY2FsaXphdGlvbnNEZWxlZ2F0ZTxkeW5hbWljPj4gbG9jYWxpemF0aW9uc0RlbGVnYXRlczsKCiAgZmluYWwgUm9vdFN0YWNrUm91dGVyPyByb3V0ZXI7Cn0KCmNsYXNzIF9BcHAgZXh0ZW5kcyBBcHAgewogIGNvbnN0IF9BcHAoewogICAgc3VwZXIua2V5LAogICAgcmVxdWlyZWQgUm9vdFN0YWNrUm91dGVyIHN1cGVyLnJvdXRlciwKICAgIHRoaXMubmF2aWdhdG9yT2JzZXJ2ZXJCdWlsZGVyLAogIH0pIDogc3VwZXIuXygpOwoKICBmaW5hbCBMaXN0PE5hdmlnYXRvck9ic2VydmVyPiBGdW5jdGlvbigpPyBuYXZpZ2F0b3JPYnNlcnZlckJ1aWxkZXI7CgogIEBvdmVycmlkZQogIFdpZGdldCBidWlsZChCdWlsZENvbnRleHQgY29udGV4dCkgewogICAgcmV0dXJuIHt7cHJvamVjdF9uYW1lLnBhc2NhbENhc2UoKX19QXBwKAogICAgICBzdXBwb3J0ZWRMb2NhbGVzOiBzdXBwb3J0ZWRMb2NhbGVzLAogICAgICBsb2NhbGl6YXRpb25zRGVsZWdhdGVzOiBsb2NhbGl6YXRpb25zRGVsZWdhdGVzLAogICAgICByb3V0ZXJDb25maWc6IHJvdXRlciEuY29uZmlnKAogICAgICAgIG5hdmlnYXRvck9ic2VydmVyczogbmF2aWdhdG9yT2JzZXJ2ZXJCdWlsZGVyID8/CiAgICAgICAgICAgIEF1dG9Sb3V0ZXJEZWxlZ2F0ZS5kZWZhdWx0TmF2aWdhdG9yT2JzZXJ2ZXJzQnVpbGRlciwKICAgICAgKSwKICAgICk7CiAgfQp9CgpjbGFzcyBfQXBwVGVzdCBleHRlbmRzIEFwcCB7CiAgY29uc3QgX0FwcFRlc3QoewogICAgc3VwZXIua2V5LAogICAgdGhpcy5sb2NhbGUsCiAgICByZXF1aXJlZCBSb290U3RhY2tSb3V0ZXIgc3VwZXIucm91dGVyLAogICAgdGhpcy5pbml0aWFsUm91dGVzLAogICAgdGhpcy5uYXZpZ2F0b3JPYnNlcnZlciwKICAgIHRoaXMudGhlbWVNb2RlLAogIH0pIDogc3VwZXIuXygpOwoKICBmaW5hbCBMb2NhbGU/IGxvY2FsZTsKCiAgZmluYWwgTGlzdDxQYWdlUm91dGVJbmZvPGR5bmFtaWM+Pj8gaW5pdGlhbFJvdXRlczsKCiAgZmluYWwgTmF2aWdhdG9yT2JzZXJ2ZXI/IG5hdmlnYXRvck9ic2VydmVyOwoKICBmaW5hbCBUaGVtZU1vZGU/IHRoZW1lTW9kZTsKCiAgQG92ZXJyaWRlCiAgV2lkZ2V0IGJ1aWxkKEJ1aWxkQ29udGV4dCBjb250ZXh0KSB7CiAgICByZXR1cm4ge3twcm9qZWN0X25hbWUucGFzY2FsQ2FzZSgpfX1BcHAoCiAgICAgIGxvY2FsZTogbG9jYWxlLAogICAgICBzdXBwb3J0ZWRMb2NhbGVzOiBzdXBwb3J0ZWRMb2NhbGVzLAogICAgICBsb2NhbGl6YXRpb25zRGVsZWdhdGVzOiBsb2NhbGl6YXRpb25zRGVsZWdhdGVzLAogICAgICByb3V0ZXJDb25maWc6IHJvdXRlciEuY29uZmlnKAogICAgICAgIGRlZXBMaW5rQnVpbGRlcjoKICAgICAgICAgICAgaW5pdGlhbFJvdXRlcyAhPSBudWxsID8gKF8pID0+IERlZXBMaW5rKGluaXRpYWxSb3V0ZXMhKSA6IG51bGwsCiAgICAgICAgbmF2aWdhdG9yT2JzZXJ2ZXJzOiBuYXZpZ2F0b3JPYnNlcnZlciE9IG51bGwKICAgICAgICAgICAgPyAoKSA9PiBbbmF2aWdhdG9yT2JzZXJ2ZXIhXQogICAgICAgICAgICA6IEF1dG9Sb3V0ZXJEZWxlZ2F0ZS5kZWZhdWx0TmF2aWdhdG9yT2JzZXJ2ZXJzQnVpbGRlciwKICAgICAgKSwKICAgICAgdGhlbWVNb2RlOiB0aGVtZU1vZGUsCiAgICApOwogIH0KfQoKY2xhc3MgX0FwcFRlc3RXaWRnZXQgZXh0ZW5kcyBBcHAgewogIGNvbnN0IF9BcHBUZXN0V2lkZ2V0KHsKICAgIHN1cGVyLmtleSwKICAgIHJlcXVpcmVkIHRoaXMud2lkZ2V0LAogICAgdGhpcy5sb2NhbGUsCiAgICB0aGlzLnRoZW1lTW9kZSwKICB9KSA6IHN1cGVyLl8oKTsKCiAgZmluYWwgTG9jYWxlPyBsb2NhbGU7CgogIGZpbmFsIFdpZGdldCB3aWRnZXQ7CgogIGZpbmFsIFRoZW1lTW9kZT8gdGhlbWVNb2RlOwoKICBAb3ZlcnJpZGUKICBXaWRnZXQgYnVpbGQoQnVpbGRDb250ZXh0IGNvbnRleHQpIHsKICAgIC8vIGlnbm9yZTogaW52YWxpZF91c2Vfb2ZfdmlzaWJsZV9mb3JfdGVzdGluZ19tZW1iZXIKICAgIHJldHVybiB7e3Byb2plY3RfbmFtZS5wYXNjYWxDYXNlKCl9fUFwcC50ZXN0KAogICAgICBsb2NhbGU6IGxvY2FsZSwKICAgICAgbG9jYWxpemF0aW9uc0RlbGVnYXRlczogbG9jYWxpemF0aW9uc0RlbGVnYXRlcywKICAgICAgaG9tZTogd2lkZ2V0LAogICAgICB0aGVtZU1vZGU6IHRoZW1lTW9kZSwKICAgICk7CiAgfQp9Cnt7L2xpbnV4fX17eyNtYWNvc319aW1wb3J0ICdwYWNrYWdlOmF1dG9fcm91dGUvYXV0b19yb3V0ZS5kYXJ0JzsKaW1wb3J0ICdwYWNrYWdlOnt7cHJvamVjdF9uYW1lfX1fdWlfbWFjb3Mve3twcm9qZWN0X25hbWV9fV91aV9tYWNvcy5kYXJ0JzsKaW1wb3J0ICdwYWNrYWdlOnt7cHJvamVjdF9uYW1lfX1fbWFjb3NfbG9jYWxpemF0aW9uL3t7cHJvamVjdF9uYW1lfX1fbWFjb3NfbG9jYWxpemF0aW9uLmRhcnQnOwoKYWJzdHJhY3QgY2xhc3MgQXBwIGV4dGVuZHMgU3RhdGVsZXNzV2lkZ2V0IHsKICBjb25zdCBmYWN0b3J5IEFwcCh7CiAgICBLZXk/IGtleSwKICAgIHJlcXVpcmVkIFJvb3RTdGFja1JvdXRlciByb3V0ZXIsCiAgICBMaXN0PE5hdmlnYXRvck9ic2VydmVyPiBGdW5jdGlvbigpPyBuYXZpZ2F0b3JPYnNlcnZlckJ1aWxkZXIsCiAgfSkgPSBfQXBwOwoKICBAdmlzaWJsZUZvclRlc3RpbmcKICBjb25zdCBmYWN0b3J5IEFwcC50ZXN0KHsKICAgIEtleT8ga2V5LAogICAgTG9jYWxlPyBsb2NhbGUsCiAgICByZXF1aXJlZCBSb290U3RhY2tSb3V0ZXIgcm91dGVyLAogICAgTGlzdDxQYWdlUm91dGVJbmZvPGR5bmFtaWM+Pj8gaW5pdGlhbFJvdXRlcywKICAgIE5hdmlnYXRvck9ic2VydmVyPyBuYXZpZ2F0b3JPYnNlcnZlciwKICAgIFRoZW1lTW9kZT8gdGhlbWVNb2RlLAogIH0pID0gX0FwcFRlc3Q7CgogIEB2aXNpYmxlRm9yVGVzdGluZwogIGNvbnN0IGZhY3RvcnkgQXBwLnRlc3RXaWRnZXQoewogICAgS2V5PyBrZXksCiAgICByZXF1aXJlZCBXaWRnZXQgd2lkZ2V0LAogICAgTG9jYWxlPyBsb2NhbGUsCiAgICBUaGVtZU1vZGU/IHRoZW1lTW9kZSwKICB9KSA9IF9BcHBUZXN0V2lkZ2V0OwoKICBjb25zdCBBcHAuXyh7CiAgICBzdXBlci5rZXksCiAgICB0aGlzLnJvdXRlciwKICB9KSAgOiBzdXBwb3J0ZWRMb2NhbGVzID0ge3twcm9qZWN0X25hbWUucGFzY2FsQ2FzZSgpfX1Mb2NhbGl6YXRpb25zLnN1cHBvcnRlZExvY2FsZXMsCiAgICAgICAgbG9jYWxpemF0aW9uc0RlbGVnYXRlcyA9IGNvbnN0IFsKICAgICAgICAgIHt7cHJvamVjdF9uYW1lLnBhc2NhbENhc2UoKX19TG9jYWxpemF0aW9ucy5kZWxlZ2F0ZQogICAgICAgIF07CgogIGZpbmFsIExpc3Q8TG9jYWxlPiBzdXBwb3J0ZWRMb2NhbGVzOwoKICBmaW5hbCBMaXN0PExvY2FsaXphdGlvbnNEZWxlZ2F0ZTxkeW5hbWljPj4gbG9jYWxpemF0aW9uc0RlbGVnYXRlczsKCiAgZmluYWwgUm9vdFN0YWNrUm91dGVyPyByb3V0ZXI7Cn0KCmNsYXNzIF9BcHAgZXh0ZW5kcyBBcHAgewogIGNvbnN0IF9BcHAoewogICAgc3VwZXIua2V5LAogICAgcmVxdWlyZWQgUm9vdFN0YWNrUm91dGVyIHN1cGVyLnJvdXRlciwKICAgIHRoaXMubmF2aWdhdG9yT2JzZXJ2ZXJCdWlsZGVyLAogIH0pIDogc3VwZXIuXygpOwoKICBmaW5hbCBMaXN0PE5hdmlnYXRvck9ic2VydmVyPiBGdW5jdGlvbigpPyBuYXZpZ2F0b3JPYnNlcnZlckJ1aWxkZXI7CgogIEBvdmVycmlkZQogIFdpZGdldCBidWlsZChCdWlsZENvbnRleHQgY29udGV4dCkgewogICAgcmV0dXJuIHt7cHJvamVjdF9uYW1lLnBhc2NhbENhc2UoKX19QXBwKAogICAgICBzdXBwb3J0ZWRMb2NhbGVzOiBzdXBwb3J0ZWRMb2NhbGVzLAogICAgICBsb2NhbGl6YXRpb25zRGVsZWdhdGVzOiBsb2NhbGl6YXRpb25zRGVsZWdhdGVzLAogICAgICByb3V0ZXJDb25maWc6IHJvdXRlciEuY29uZmlnKAogICAgICAgIG5hdmlnYXRvck9ic2VydmVyczogbmF2aWdhdG9yT2JzZXJ2ZXJCdWlsZGVyID8/CiAgICAgICAgICAgIEF1dG9Sb3V0ZXJEZWxlZ2F0ZS5kZWZhdWx0TmF2aWdhdG9yT2JzZXJ2ZXJzQnVpbGRlciwKICAgICAgKSwKICAgICk7CiAgfQp9CgpjbGFzcyBfQXBwVGVzdCBleHRlbmRzIEFwcCB7CiAgY29uc3QgX0FwcFRlc3QoewogICAgc3VwZXIua2V5LAogICAgdGhpcy5sb2NhbGUsCiAgICByZXF1aXJlZCBSb290U3RhY2tSb3V0ZXIgc3VwZXIucm91dGVyLAogICAgdGhpcy5pbml0aWFsUm91dGVzLAogICAgdGhpcy5uYXZpZ2F0b3JPYnNlcnZlciwKICAgIHRoaXMudGhlbWVNb2RlLAogIH0pIDogc3VwZXIuXygpOwoKICBmaW5hbCBMb2NhbGU/IGxvY2FsZTsKCiAgZmluYWwgTGlzdDxQYWdlUm91dGVJbmZvPGR5bmFtaWM+Pj8gaW5pdGlhbFJvdXRlczsKCiAgZmluYWwgTmF2aWdhdG9yT2JzZXJ2ZXI/IG5hdmlnYXRvck9ic2VydmVyOwoKICBmaW5hbCBUaGVtZU1vZGU/IHRoZW1lTW9kZTsKCiAgQG92ZXJyaWRlCiAgV2lkZ2V0IGJ1aWxkKEJ1aWxkQ29udGV4dCBjb250ZXh0KSB7CiAgICByZXR1cm4ge3twcm9qZWN0X25hbWUucGFzY2FsQ2FzZSgpfX1BcHAoCiAgICAgIGxvY2FsZTogbG9jYWxlLAogICAgICBzdXBwb3J0ZWRMb2NhbGVzOiBzdXBwb3J0ZWRMb2NhbGVzLAogICAgICBsb2NhbGl6YXRpb25zRGVsZWdhdGVzOiBsb2NhbGl6YXRpb25zRGVsZWdhdGVzLAogICAgICByb3V0ZXJDb25maWc6IHJvdXRlciEuY29uZmlnKAogICAgICAgIGRlZXBMaW5rQnVpbGRlcjoKICAgICAgICAgICAgaW5pdGlhbFJvdXRlcyAhPSBudWxsID8gKF8pID0+IERlZXBMaW5rKGluaXRpYWxSb3V0ZXMhKSA6IG51bGwsCiAgICAgICAgbmF2aWdhdG9yT2JzZXJ2ZXJzOiBuYXZpZ2F0b3JPYnNlcnZlciE9IG51bGwKICAgICAgICAgICAgPyAoKSA9PiBbbmF2aWdhdG9yT2JzZXJ2ZXIhXQogICAgICAgICAgICA6IEF1dG9Sb3V0ZXJEZWxlZ2F0ZS5kZWZhdWx0TmF2aWdhdG9yT2JzZXJ2ZXJzQnVpbGRlciwKICAgICAgKSwKICAgICAgdGhlbWVNb2RlOiB0aGVtZU1vZGUsCiAgICApOwogIH0KfQoKY2xhc3MgX0FwcFRlc3RXaWRnZXQgZXh0ZW5kcyBBcHAgewogIGNvbnN0IF9BcHBUZXN0V2lkZ2V0KHsKICAgIHN1cGVyLmtleSwKICAgIHJlcXVpcmVkIHRoaXMud2lkZ2V0LAogICAgdGhpcy5sb2NhbGUsCiAgICB0aGlzLnRoZW1lTW9kZSwKICB9KSA6IHN1cGVyLl8oKTsKCiAgZmluYWwgTG9jYWxlPyBsb2NhbGU7CgogIGZpbmFsIFdpZGdldCB3aWRnZXQ7CgogIGZpbmFsIFRoZW1lTW9kZT8gdGhlbWVNb2RlOwoKICBAb3ZlcnJpZGUKICBXaWRnZXQgYnVpbGQoQnVpbGRDb250ZXh0IGNvbnRleHQpIHsKICAgIC8vIGlnbm9yZTogaW52YWxpZF91c2Vfb2ZfdmlzaWJsZV9mb3JfdGVzdGluZ19tZW1iZXIKICAgIHJldHVybiB7e3Byb2plY3RfbmFtZS5wYXNjYWxDYXNlKCl9fUFwcC50ZXN0KAogICAgICBsb2NhbGU6IGxvY2FsZSwKICAgICAgbG9jYWxpemF0aW9uc0RlbGVnYXRlczogbG9jYWxpemF0aW9uc0RlbGVnYXRlcywKICAgICAgaG9tZTogd2lkZ2V0LAogICAgICB0aGVtZU1vZGU6IHRoZW1lTW9kZSwKICAgICk7CiAgfQp9Cnt7L21hY29zfX17eyN3ZWJ9fWltcG9ydCAncGFja2FnZTphdXRvX3JvdXRlL2F1dG9fcm91dGUuZGFydCc7CmltcG9ydCAncGFja2FnZTp7e3Byb2plY3RfbmFtZX19X3VpX3dlYi97e3Byb2plY3RfbmFtZX19X3VpX3dlYi5kYXJ0JzsKaW1wb3J0ICdwYWNrYWdlOnt7cHJvamVjdF9uYW1lfX1fd2ViX2xvY2FsaXphdGlvbi97e3Byb2plY3RfbmFtZX19X3dlYl9sb2NhbGl6YXRpb24uZGFydCc7CgphYnN0cmFjdCBjbGFzcyBBcHAgZXh0ZW5kcyBTdGF0ZWxlc3NXaWRnZXQgewogIGNvbnN0IGZhY3RvcnkgQXBwKHsKICAgIEtleT8ga2V5LAogICAgcmVxdWlyZWQgUm9vdFN0YWNrUm91dGVyIHJvdXRlciwKICAgIExpc3Q8TmF2aWdhdG9yT2JzZXJ2ZXI+IEZ1bmN0aW9uKCk/IG5hdmlnYXRvck9ic2VydmVyQnVpbGRlciwKICB9KSA9IF9BcHA7CgogIEB2aXNpYmxlRm9yVGVzdGluZwogIGNvbnN0IGZhY3RvcnkgQXBwLnRlc3QoewogICAgS2V5PyBrZXksCiAgICBMb2NhbGU/IGxvY2FsZSwKICAgIHJlcXVpcmVkIFJvb3RTdGFja1JvdXRlciByb3V0ZXIsCiAgICBMaXN0PFBhZ2VSb3V0ZUluZm88ZHluYW1pYz4+PyBpbml0aWFsUm91dGVzLAogICAgTmF2aWdhdG9yT2JzZXJ2ZXI/IG5hdmlnYXRvck9ic2VydmVyLAogICAgVGhlbWVNb2RlPyB0aGVtZU1vZGUsCiAgfSkgPSBfQXBwVGVzdDsKCiAgQHZpc2libGVGb3JUZXN0aW5nCiAgY29uc3QgZmFjdG9yeSBBcHAudGVzdFdpZGdldCh7CiAgICBLZXk/IGtleSwKICAgIHJlcXVpcmVkIFdpZGdldCB3aWRnZXQsCiAgICBMb2NhbGU/IGxvY2FsZSwKICAgIFRoZW1lTW9kZT8gdGhlbWVNb2RlLAogIH0pID0gX0FwcFRlc3RXaWRnZXQ7CgogIGNvbnN0IEFwcC5fKHsKICAgIHN1cGVyLmtleSwKICAgIHRoaXMucm91dGVyLAogIH0pICA6IHN1cHBvcnRlZExvY2FsZXMgPSB7e3Byb2plY3RfbmFtZS5wYXNjYWxDYXNlKCl9fUxvY2FsaXphdGlvbnMuc3VwcG9ydGVkTG9jYWxlcywKICAgICAgICBsb2NhbGl6YXRpb25zRGVsZWdhdGVzID0gY29uc3QgWwogICAgICAgICAge3twcm9qZWN0X25hbWUucGFzY2FsQ2FzZSgpfX1Mb2NhbGl6YXRpb25zLmRlbGVnYXRlCiAgICAgICAgXTsKCiAgZmluYWwgTGlzdDxMb2NhbGU+IHN1cHBvcnRlZExvY2FsZXM7CgogIGZpbmFsIExpc3Q8TG9jYWxpemF0aW9uc0RlbGVnYXRlPGR5bmFtaWM+PiBsb2NhbGl6YXRpb25zRGVsZWdhdGVzOwoKICBmaW5hbCBSb290U3RhY2tSb3V0ZXI/IHJvdXRlcjsKfQoKY2xhc3MgX0FwcCBleHRlbmRzIEFwcCB7CiAgY29uc3QgX0FwcCh7CiAgICBzdXBlci5rZXksCiAgICByZXF1aXJlZCBSb290U3RhY2tSb3V0ZXIgc3VwZXIucm91dGVyLAogICAgdGhpcy5uYXZpZ2F0b3JPYnNlcnZlckJ1aWxkZXIsCiAgfSkgOiBzdXBlci5fKCk7CgogIGZpbmFsIExpc3Q8TmF2aWdhdG9yT2JzZXJ2ZXI+IEZ1bmN0aW9uKCk/IG5hdmlnYXRvck9ic2VydmVyQnVpbGRlcjsKCiAgQG92ZXJyaWRlCiAgV2lkZ2V0IGJ1aWxkKEJ1aWxkQ29udGV4dCBjb250ZXh0KSB7CiAgICByZXR1cm4ge3twcm9qZWN0X25hbWUucGFzY2FsQ2FzZSgpfX1BcHAoCiAgICAgIHN1cHBvcnRlZExvY2FsZXM6IHN1cHBvcnRlZExvY2FsZXMsCiAgICAgIGxvY2FsaXphdGlvbnNEZWxlZ2F0ZXM6IGxvY2FsaXphdGlvbnNEZWxlZ2F0ZXMsCiAgICAgIHJvdXRlckNvbmZpZzogcm91dGVyIS5jb25maWcoCiAgICAgICAgbmF2aWdhdG9yT2JzZXJ2ZXJzOiBuYXZpZ2F0b3JPYnNlcnZlckJ1aWxkZXIgPz8KICAgICAgICAgICAgQXV0b1JvdXRlckRlbGVnYXRlLmRlZmF1bHROYXZpZ2F0b3JPYnNlcnZlcnNCdWlsZGVyLAogICAgICApLAogICAgKTsKICB9Cn0KCmNsYXNzIF9BcHBUZXN0IGV4dGVuZHMgQXBwIHsKICBjb25zdCBfQXBwVGVzdCh7CiAgICBzdXBlci5rZXksCiAgICB0aGlzLmxvY2FsZSwKICAgIHJlcXVpcmVkIFJvb3RTdGFja1JvdXRlciBzdXBlci5yb3V0ZXIsCiAgICB0aGlzLmluaXRpYWxSb3V0ZXMsCiAgICB0aGlzLm5hdmlnYXRvck9ic2VydmVyLAogICAgdGhpcy50aGVtZU1vZGUsCiAgfSkgOiBzdXBlci5fKCk7CgogIGZpbmFsIExvY2FsZT8gbG9jYWxlOwoKICBmaW5hbCBMaXN0PFBhZ2VSb3V0ZUluZm88ZHluYW1pYz4+PyBpbml0aWFsUm91dGVzOwoKICBmaW5hbCBOYXZpZ2F0b3JPYnNlcnZlcj8gbmF2aWdhdG9yT2JzZXJ2ZXI7CgogIGZpbmFsIFRoZW1lTW9kZT8gdGhlbWVNb2RlOwoKICBAb3ZlcnJpZGUKICBXaWRnZXQgYnVpbGQoQnVpbGRDb250ZXh0IGNvbnRleHQpIHsKICAgIHJldHVybiB7e3Byb2plY3RfbmFtZS5wYXNjYWxDYXNlKCl9fUFwcCgKICAgICAgbG9jYWxlOiBsb2NhbGUsCiAgICAgIHN1cHBvcnRlZExvY2FsZXM6IHN1cHBvcnRlZExvY2FsZXMsCiAgICAgIGxvY2FsaXphdGlvbnNEZWxlZ2F0ZXM6IGxvY2FsaXphdGlvbnNEZWxlZ2F0ZXMsCiAgICAgIHJvdXRlckNvbmZpZzogcm91dGVyIS5jb25maWcoCiAgICAgICAgZGVlcExpbmtCdWlsZGVyOgogICAgICAgICAgICBpbml0aWFsUm91dGVzICE9IG51bGwgPyAoXykgPT4gRGVlcExpbmsoaW5pdGlhbFJvdXRlcyEpIDogbnVsbCwKICAgICAgICBuYXZpZ2F0b3JPYnNlcnZlcnM6IG5hdmlnYXRvck9ic2VydmVyIT0gbnVsbAogICAgICAgICAgICA/ICgpID0+IFtuYXZpZ2F0b3JPYnNlcnZlciFdCiAgICAgICAgICAgIDogQXV0b1JvdXRlckRlbGVnYXRlLmRlZmF1bHROYXZpZ2F0b3JPYnNlcnZlcnNCdWlsZGVyLAogICAgICApLAogICAgICB0aGVtZU1vZGU6IHRoZW1lTW9kZSwKICAgICk7CiAgfQp9CgpjbGFzcyBfQXBwVGVzdFdpZGdldCBleHRlbmRzIEFwcCB7CiAgY29uc3QgX0FwcFRlc3RXaWRnZXQoewogICAgc3VwZXIua2V5LAogICAgcmVxdWlyZWQgdGhpcy53aWRnZXQsCiAgICB0aGlzLmxvY2FsZSwKICAgIHRoaXMudGhlbWVNb2RlLAogIH0pIDogc3VwZXIuXygpOwoKICBmaW5hbCBMb2NhbGU/IGxvY2FsZTsKCiAgZmluYWwgV2lkZ2V0IHdpZGdldDsKCiAgZmluYWwgVGhlbWVNb2RlPyB0aGVtZU1vZGU7CgogIEBvdmVycmlkZQogIFdpZGdldCBidWlsZChCdWlsZENvbnRleHQgY29udGV4dCkgewogICAgLy8gaWdub3JlOiBpbnZhbGlkX3VzZV9vZl92aXNpYmxlX2Zvcl90ZXN0aW5nX21lbWJlcgogICAgcmV0dXJuIHt7cHJvamVjdF9uYW1lLnBhc2NhbENhc2UoKX19QXBwLnRlc3QoCiAgICAgIGxvY2FsZTogbG9jYWxlLAogICAgICBsb2NhbGl6YXRpb25zRGVsZWdhdGVzOiBsb2NhbGl6YXRpb25zRGVsZWdhdGVzLAogICAgICBob21lOiB3aWRnZXQsCiAgICAgIHRoZW1lTW9kZTogdGhlbWVNb2RlLAogICAgKTsKICB9Cn0Ke3svd2VifX17eyN3aW5kb3dzfX1pbXBvcnQgJ3BhY2thZ2U6YXV0b19yb3V0ZS9hdXRvX3JvdXRlLmRhcnQnOwppbXBvcnQgJ3BhY2thZ2U6e3twcm9qZWN0X25hbWV9fV91aV93aW5kb3dzL3t7cHJvamVjdF9uYW1lfX1fdWlfd2luZG93cy5kYXJ0JzsKaW1wb3J0ICdwYWNrYWdlOnt7cHJvamVjdF9uYW1lfX1fd2luZG93c19sb2NhbGl6YXRpb24ve3twcm9qZWN0X25hbWV9fV93aW5kb3dzX2xvY2FsaXphdGlvbi5kYXJ0JzsKCmFic3RyYWN0IGNsYXNzIEFwcCBleHRlbmRzIFN0YXRlbGVzc1dpZGdldCB7CiAgY29uc3QgZmFjdG9yeSBBcHAoewogICAgS2V5PyBrZXksCiAgICByZXF1aXJlZCBSb290U3RhY2tSb3V0ZXIgcm91dGVyLAogICAgTGlzdDxOYXZpZ2F0b3JPYnNlcnZlcj4gRnVuY3Rpb24oKT8gbmF2aWdhdG9yT2JzZXJ2ZXJCdWlsZGVyLAogIH0pID0gX0FwcDsKCiAgQHZpc2libGVGb3JUZXN0aW5nCiAgY29uc3QgZmFjdG9yeSBBcHAudGVzdCh7CiAgICBLZXk/IGtleSwKICAgIExvY2FsZT8gbG9jYWxlLAogICAgcmVxdWlyZWQgUm9vdFN0YWNrUm91dGVyIHJvdXRlciwKICAgIExpc3Q8UGFnZVJvdXRlSW5mbzxkeW5hbWljPj4/IGluaXRpYWxSb3V0ZXMsCiAgICBOYXZpZ2F0b3JPYnNlcnZlcj8gbmF2aWdhdG9yT2JzZXJ2ZXIsCiAgICBUaGVtZU1vZGU/IHRoZW1lTW9kZSwKICB9KSA9IF9BcHBUZXN0OwoKICBAdmlzaWJsZUZvclRlc3RpbmcKICBjb25zdCBmYWN0b3J5IEFwcC50ZXN0V2lkZ2V0KHsKICAgIEtleT8ga2V5LAogICAgcmVxdWlyZWQgV2lkZ2V0IHdpZGdldCwKICAgIExvY2FsZT8gbG9jYWxlLAogICAgVGhlbWVNb2RlPyB0aGVtZU1vZGUsCiAgfSkgPSBfQXBwVGVzdFdpZGdldDsKCiAgY29uc3QgQXBwLl8oewogICAgc3VwZXIua2V5LAogICAgdGhpcy5yb3V0ZXIsCiAgfSkgIDogc3VwcG9ydGVkTG9jYWxlcyA9IHt7cHJvamVjdF9uYW1lLnBhc2NhbENhc2UoKX19TG9jYWxpemF0aW9ucy5zdXBwb3J0ZWRMb2NhbGVzLAogICAgICAgIGxvY2FsaXphdGlvbnNEZWxlZ2F0ZXMgPSBjb25zdCBbCiAgICAgICAgICB7e3Byb2plY3RfbmFtZS5wYXNjYWxDYXNlKCl9fUxvY2FsaXphdGlvbnMuZGVsZWdhdGUKICAgICAgICBdOwoKICBmaW5hbCBMaXN0PExvY2FsZT4gc3VwcG9ydGVkTG9jYWxlczsKCiAgZmluYWwgTGlzdDxMb2NhbGl6YXRpb25zRGVsZWdhdGU8ZHluYW1pYz4+IGxvY2FsaXphdGlvbnNEZWxlZ2F0ZXM7CgogIGZpbmFsIFJvb3RTdGFja1JvdXRlcj8gcm91dGVyOwp9CgpjbGFzcyBfQXBwIGV4dGVuZHMgQXBwIHsKICBjb25zdCBfQXBwKHsKICAgIHN1cGVyLmtleSwKICAgIHJlcXVpcmVkIFJvb3RTdGFja1JvdXRlciBzdXBlci5yb3V0ZXIsCiAgICB0aGlzLm5hdmlnYXRvck9ic2VydmVyQnVpbGRlciwKICB9KSA6IHN1cGVyLl8oKTsKCiAgZmluYWwgTGlzdDxOYXZpZ2F0b3JPYnNlcnZlcj4gRnVuY3Rpb24oKT8gbmF2aWdhdG9yT2JzZXJ2ZXJCdWlsZGVyOwoKICBAb3ZlcnJpZGUKICBXaWRnZXQgYnVpbGQoQnVpbGRDb250ZXh0IGNvbnRleHQpIHsKICAgIHJldHVybiB7e3Byb2plY3RfbmFtZS5wYXNjYWxDYXNlKCl9fUFwcCgKICAgICAgc3VwcG9ydGVkTG9jYWxlczogc3VwcG9ydGVkTG9jYWxlcywKICAgICAgbG9jYWxpemF0aW9uc0RlbGVnYXRlczogbG9jYWxpemF0aW9uc0RlbGVnYXRlcywKICAgICAgcm91dGVyQ29uZmlnOiByb3V0ZXIhLmNvbmZpZygKICAgICAgICBuYXZpZ2F0b3JPYnNlcnZlcnM6IG5hdmlnYXRvck9ic2VydmVyQnVpbGRlciA/PwogICAgICAgICAgICBBdXRvUm91dGVyRGVsZWdhdGUuZGVmYXVsdE5hdmlnYXRvck9ic2VydmVyc0J1aWxkZXIsCiAgICAgICksCiAgICApOwogIH0KfQoKY2xhc3MgX0FwcFRlc3QgZXh0ZW5kcyBBcHAgewogIGNvbnN0IF9BcHBUZXN0KHsKICAgIHN1cGVyLmtleSwKICAgIHRoaXMubG9jYWxlLAogICAgcmVxdWlyZWQgUm9vdFN0YWNrUm91dGVyIHN1cGVyLnJvdXRlciwKICAgIHRoaXMuaW5pdGlhbFJvdXRlcywKICAgIHRoaXMubmF2aWdhdG9yT2JzZXJ2ZXIsCiAgICB0aGlzLnRoZW1lTW9kZSwKICB9KSA6IHN1cGVyLl8oKTsKCiAgZmluYWwgTG9jYWxlPyBsb2NhbGU7CgogIGZpbmFsIExpc3Q8UGFnZVJvdXRlSW5mbzxkeW5hbWljPj4/IGluaXRpYWxSb3V0ZXM7CgogIGZpbmFsIE5hdmlnYXRvck9ic2VydmVyPyBuYXZpZ2F0b3JPYnNlcnZlcjsKCiAgZmluYWwgVGhlbWVNb2RlPyB0aGVtZU1vZGU7CgogIEBvdmVycmlkZQogIFdpZGdldCBidWlsZChCdWlsZENvbnRleHQgY29udGV4dCkgewogICAgcmV0dXJuIHt7cHJvamVjdF9uYW1lLnBhc2NhbENhc2UoKX19QXBwKAogICAgICBsb2NhbGU6IGxvY2FsZSwKICAgICAgc3VwcG9ydGVkTG9jYWxlczogc3VwcG9ydGVkTG9jYWxlcywKICAgICAgbG9jYWxpemF0aW9uc0RlbGVnYXRlczogbG9jYWxpemF0aW9uc0RlbGVnYXRlcywKICAgICAgcm91dGVyQ29uZmlnOiByb3V0ZXIhLmNvbmZpZygKICAgICAgICBkZWVwTGlua0J1aWxkZXI6CiAgICAgICAgICAgIGluaXRpYWxSb3V0ZXMgIT0gbnVsbCA/IChfKSA9PiBEZWVwTGluayhpbml0aWFsUm91dGVzISkgOiBudWxsLAogICAgICAgIG5hdmlnYXRvck9ic2VydmVyczogbmF2aWdhdG9yT2JzZXJ2ZXIhPSBudWxsCiAgICAgICAgICAgID8gKCkgPT4gW25hdmlnYXRvck9ic2VydmVyIV0KICAgICAgICAgICAgOiBBdXRvUm91dGVyRGVsZWdhdGUuZGVmYXVsdE5hdmlnYXRvck9ic2VydmVyc0J1aWxkZXIsCiAgICAgICksCiAgICAgIHRoZW1lTW9kZTogdGhlbWVNb2RlLAogICAgKTsKICB9Cn0KCmNsYXNzIF9BcHBUZXN0V2lkZ2V0IGV4dGVuZHMgQXBwIHsKICBjb25zdCBfQXBwVGVzdFdpZGdldCh7CiAgICBzdXBlci5rZXksCiAgICByZXF1aXJlZCB0aGlzLndpZGdldCwKICAgIHRoaXMubG9jYWxlLAogICAgdGhpcy50aGVtZU1vZGUsCiAgfSkgOiBzdXBlci5fKCk7CgogIGZpbmFsIExvY2FsZT8gbG9jYWxlOwoKICBmaW5hbCBXaWRnZXQgd2lkZ2V0OwoKICBmaW5hbCBUaGVtZU1vZGU/IHRoZW1lTW9kZTsKCiAgQG92ZXJyaWRlCiAgV2lkZ2V0IGJ1aWxkKEJ1aWxkQ29udGV4dCBjb250ZXh0KSB7CiAgICAvLyBpZ25vcmU6IGludmFsaWRfdXNlX29mX3Zpc2libGVfZm9yX3Rlc3RpbmdfbWVtYmVyCiAgICByZXR1cm4ge3twcm9qZWN0X25hbWUucGFzY2FsQ2FzZSgpfX1BcHAudGVzdCgKICAgICAgbG9jYWxlOiBsb2NhbGUsCiAgICAgIGxvY2FsaXphdGlvbnNEZWxlZ2F0ZXM6IGxvY2FsaXphdGlvbnNEZWxlZ2F0ZXMsCiAgICAgIGhvbWU6IHdpZGdldCwKICAgICAgdGhlbWVNb2RlOiB0aGVtZU1vZGUsCiAgICApOwogIH0KfQp7ey93aW5kb3dzfX17eyNtb2JpbGV9fWltcG9ydCAncGFja2FnZTphdXRvX3JvdXRlL2F1dG9fcm91dGUuZGFydCc7CmltcG9ydCAncGFja2FnZTp7e3Byb2plY3RfbmFtZX19X3VpX21vYmlsZS97e3Byb2plY3RfbmFtZX19X3VpX21vYmlsZS5kYXJ0JzsKaW1wb3J0ICdwYWNrYWdlOnt7cHJvamVjdF9uYW1lfX1fbW9iaWxlX2xvY2FsaXphdGlvbi97e3Byb2plY3RfbmFtZX19X21vYmlsZV9sb2NhbGl6YXRpb24uZGFydCc7CgphYnN0cmFjdCBjbGFzcyBBcHAgZXh0ZW5kcyBTdGF0ZWxlc3NXaWRnZXQgewogIGNvbnN0IGZhY3RvcnkgQXBwKHsKICAgIEtleT8ga2V5LAogICAgcmVxdWlyZWQgUm9vdFN0YWNrUm91dGVyIHJvdXRlciwKICAgIExpc3Q8TmF2aWdhdG9yT2JzZXJ2ZXI+IEZ1bmN0aW9uKCk/IG5hdmlnYXRvck9ic2VydmVyQnVpbGRlciwKICB9KSA9IF9BcHA7CgogIEB2aXNpYmxlRm9yVGVzdGluZwogIGNvbnN0IGZhY3RvcnkgQXBwLnRlc3QoewogICAgS2V5PyBrZXksCiAgICBMb2NhbGU/IGxvY2FsZSwKICAgIHJlcXVpcmVkIFJvb3RTdGFja1JvdXRlciByb3V0ZXIsCiAgICBMaXN0PFBhZ2VSb3V0ZUluZm88ZHluYW1pYz4+PyBpbml0aWFsUm91dGVzLAogICAgTmF2aWdhdG9yT2JzZXJ2ZXI/IG5hdmlnYXRvck9ic2VydmVyLAogICAgVGhlbWVNb2RlPyB0aGVtZU1vZGUsCiAgfSkgPSBfQXBwVGVzdDsKCiAgQHZpc2libGVGb3JUZXN0aW5nCiAgY29uc3QgZmFjdG9yeSBBcHAudGVzdFdpZGdldCh7CiAgICBLZXk/IGtleSwKICAgIHJlcXVpcmVkIFdpZGdldCB3aWRnZXQsCiAgICBMb2NhbGU/IGxvY2FsZSwKICAgIFRoZW1lTW9kZT8gdGhlbWVNb2RlLAogIH0pID0gX0FwcFRlc3RXaWRnZXQ7CgogIGNvbnN0IEFwcC5fKHsKICAgIHN1cGVyLmtleSwKICAgIHRoaXMucm91dGVyLAogIH0pICA6IHN1cHBvcnRlZExvY2FsZXMgPSB7e3Byb2plY3RfbmFtZS5wYXNjYWxDYXNlKCl9fUxvY2FsaXphdGlvbnMuc3VwcG9ydGVkTG9jYWxlcywKICAgICAgICBsb2NhbGl6YXRpb25zRGVsZWdhdGVzID0gY29uc3QgWwogICAgICAgICAge3twcm9qZWN0X25hbWUucGFzY2FsQ2FzZSgpfX1Mb2NhbGl6YXRpb25zLmRlbGVnYXRlCiAgICAgICAgXTsKCiAgZmluYWwgTGlzdDxMb2NhbGU+IHN1cHBvcnRlZExvY2FsZXM7CgogIGZpbmFsIExpc3Q8TG9jYWxpemF0aW9uc0RlbGVnYXRlPGR5bmFtaWM+PiBsb2NhbGl6YXRpb25zRGVsZWdhdGVzOwoKICBmaW5hbCBSb290U3RhY2tSb3V0ZXI/IHJvdXRlcjsKfQoKY2xhc3MgX0FwcCBleHRlbmRzIEFwcCB7CiAgY29uc3QgX0FwcCh7CiAgICBzdXBlci5rZXksCiAgICByZXF1aXJlZCBSb290U3RhY2tSb3V0ZXIgc3VwZXIucm91dGVyLAogICAgdGhpcy5uYXZpZ2F0b3JPYnNlcnZlckJ1aWxkZXIsCiAgfSkgOiBzdXBlci5fKCk7CgogIGZpbmFsIExpc3Q8TmF2aWdhdG9yT2JzZXJ2ZXI+IEZ1bmN0aW9uKCk/IG5hdmlnYXRvck9ic2VydmVyQnVpbGRlcjsKCiAgQG92ZXJyaWRlCiAgV2lkZ2V0IGJ1aWxkKEJ1aWxkQ29udGV4dCBjb250ZXh0KSB7CiAgICByZXR1cm4ge3twcm9qZWN0X25hbWUucGFzY2FsQ2FzZSgpfX1BcHAoCiAgICAgIHN1cHBvcnRlZExvY2FsZXM6IHN1cHBvcnRlZExvY2FsZXMsCiAgICAgIGxvY2FsaXphdGlvbnNEZWxlZ2F0ZXM6IGxvY2FsaXphdGlvbnNEZWxlZ2F0ZXMsCiAgICAgIHJvdXRlckNvbmZpZzogcm91dGVyIS5jb25maWcoCiAgICAgICAgbmF2aWdhdG9yT2JzZXJ2ZXJzOiBuYXZpZ2F0b3JPYnNlcnZlckJ1aWxkZXIgPz8KICAgICAgICAgICAgQXV0b1JvdXRlckRlbGVnYXRlLmRlZmF1bHROYXZpZ2F0b3JPYnNlcnZlcnNCdWlsZGVyLAogICAgICApLAogICAgKTsKICB9Cn0KCmNsYXNzIF9BcHBUZXN0IGV4dGVuZHMgQXBwIHsKICBjb25zdCBfQXBwVGVzdCh7CiAgICBzdXBlci5rZXksCiAgICB0aGlzLmxvY2FsZSwKICAgIHJlcXVpcmVkIFJvb3RTdGFja1JvdXRlciBzdXBlci5yb3V0ZXIsCiAgICB0aGlzLmluaXRpYWxSb3V0ZXMsCiAgICB0aGlzLm5hdmlnYXRvck9ic2VydmVyLAogICAgdGhpcy50aGVtZU1vZGUsCiAgfSkgOiBzdXBlci5fKCk7CgogIGZpbmFsIExvY2FsZT8gbG9jYWxlOwoKICBmaW5hbCBMaXN0PFBhZ2VSb3V0ZUluZm88ZHluYW1pYz4+PyBpbml0aWFsUm91dGVzOwoKICBmaW5hbCBOYXZpZ2F0b3JPYnNlcnZlcj8gbmF2aWdhdG9yT2JzZXJ2ZXI7CgogIGZpbmFsIFRoZW1lTW9kZT8gdGhlbWVNb2RlOwoKICBAb3ZlcnJpZGUKICBXaWRnZXQgYnVpbGQoQnVpbGRDb250ZXh0IGNvbnRleHQpIHsKICAgIHJldHVybiB7e3Byb2plY3RfbmFtZS5wYXNjYWxDYXNlKCl9fUFwcCgKICAgICAgbG9jYWxlOiBsb2NhbGUsCiAgICAgIHN1cHBvcnRlZExvY2FsZXM6IHN1cHBvcnRlZExvY2FsZXMsCiAgICAgIGxvY2FsaXphdGlvbnNEZWxlZ2F0ZXM6IGxvY2FsaXphdGlvbnNEZWxlZ2F0ZXMsCiAgICAgIHJvdXRlckNvbmZpZzogcm91dGVyIS5jb25maWcoCiAgICAgICAgZGVlcExpbmtCdWlsZGVyOgogICAgICAgICAgICBpbml0aWFsUm91dGVzICE9IG51bGwgPyAoXykgPT4gRGVlcExpbmsoaW5pdGlhbFJvdXRlcyEpIDogbnVsbCwKICAgICAgICBuYXZpZ2F0b3JPYnNlcnZlcnM6IG5hdmlnYXRvck9ic2VydmVyIT0gbnVsbAogICAgICAgICAgICA/ICgpID0+IFtuYXZpZ2F0b3JPYnNlcnZlciFdCiAgICAgICAgICAgIDogQXV0b1JvdXRlckRlbGVnYXRlLmRlZmF1bHROYXZpZ2F0b3JPYnNlcnZlcnNCdWlsZGVyLAogICAgICApLAogICAgICB0aGVtZU1vZGU6IHRoZW1lTW9kZSwKICAgICk7CiAgfQp9CgpjbGFzcyBfQXBwVGVzdFdpZGdldCBleHRlbmRzIEFwcCB7CiAgY29uc3QgX0FwcFRlc3RXaWRnZXQoewogICAgc3VwZXIua2V5LAogICAgcmVxdWlyZWQgdGhpcy53aWRnZXQsCiAgICB0aGlzLmxvY2FsZSwKICAgIHRoaXMudGhlbWVNb2RlLAogIH0pIDogc3VwZXIuXygpOwoKICBmaW5hbCBMb2NhbGU/IGxvY2FsZTsKCiAgZmluYWwgV2lkZ2V0IHdpZGdldDsKCiAgZmluYWwgVGhlbWVNb2RlPyB0aGVtZU1vZGU7CgogIEBvdmVycmlkZQogIFdpZGdldCBidWlsZChCdWlsZENvbnRleHQgY29udGV4dCkgewogICAgLy8gaWdub3JlOiBpbnZhbGlkX3VzZV9vZl92aXNpYmxlX2Zvcl90ZXN0aW5nX21lbWJlcgogICAgcmV0dXJuIHt7cHJvamVjdF9uYW1lLnBhc2NhbENhc2UoKX19QXBwLnRlc3QoCiAgICAgIGxvY2FsZTogbG9jYWxlLAogICAgICBsb2NhbGl6YXRpb25zRGVsZWdhdGVzOiBsb2NhbGl6YXRpb25zRGVsZWdhdGVzLAogICAgICBob21lOiB3aWRnZXQsCiAgICAgIHRoZW1lTW9kZTogdGhlbWVNb2RlLAogICAgKTsKICB9Cn0Ke3svbW9iaWxlfX0=", + "e3sjYW5kcm9pZH19aW1wb3J0ICdwYWNrYWdlOmF1dG9fcm91dGUvYXV0b19yb3V0ZS5kYXJ0JzsKaW1wb3J0ICdwYWNrYWdlOnt7cHJvamVjdF9uYW1lfX1fYW5kcm9pZF9sb2NhbGl6YXRpb24ve3twcm9qZWN0X25hbWV9fV9hbmRyb2lkX2xvY2FsaXphdGlvbi5kYXJ0JzsKaW1wb3J0ICdwYWNrYWdlOnt7cHJvamVjdF9uYW1lfX1fdWlfYW5kcm9pZC97e3Byb2plY3RfbmFtZX19X3VpX2FuZHJvaWQuZGFydCc7CgphYnN0cmFjdCBjbGFzcyBBcHAgZXh0ZW5kcyBTdGF0ZWxlc3NXaWRnZXQgewogIGNvbnN0IGZhY3RvcnkgQXBwKHsKICAgIEtleT8ga2V5LAogICAgcmVxdWlyZWQgUm9vdFN0YWNrUm91dGVyIHJvdXRlciwKICAgIExpc3Q8TmF2aWdhdG9yT2JzZXJ2ZXI+IEZ1bmN0aW9uKCk/IG5hdmlnYXRvck9ic2VydmVyQnVpbGRlciwKICB9KSA9IF9BcHA7CgogIEB2aXNpYmxlRm9yVGVzdGluZwogIGNvbnN0IGZhY3RvcnkgQXBwLnRlc3QoewogICAgS2V5PyBrZXksCiAgICBMb2NhbGU/IGxvY2FsZSwKICAgIHJlcXVpcmVkIFJvb3RTdGFja1JvdXRlciByb3V0ZXIsCiAgICBMaXN0PFBhZ2VSb3V0ZUluZm88ZHluYW1pYz4+PyBpbml0aWFsUm91dGVzLAogICAgTmF2aWdhdG9yT2JzZXJ2ZXI/IG5hdmlnYXRvck9ic2VydmVyLAogICAgVGhlbWVNb2RlPyB0aGVtZU1vZGUsCiAgfSkgPSBfQXBwVGVzdDsKCiAgQHZpc2libGVGb3JUZXN0aW5nCiAgY29uc3QgZmFjdG9yeSBBcHAudGVzdFdpZGdldCh7CiAgICBLZXk/IGtleSwKICAgIHJlcXVpcmVkIFdpZGdldCB3aWRnZXQsCiAgICBMb2NhbGU/IGxvY2FsZSwKICAgIFRoZW1lTW9kZT8gdGhlbWVNb2RlLAogIH0pID0gX0FwcFRlc3RXaWRnZXQ7CgogIGNvbnN0IEFwcC5fKHsKICAgIHN1cGVyLmtleSwKICAgIHRoaXMucm91dGVyLAogIH0pICA6IHN1cHBvcnRlZExvY2FsZXMgPSB7e3Byb2plY3RfbmFtZS5wYXNjYWxDYXNlKCl9fUxvY2FsaXphdGlvbnMuc3VwcG9ydGVkTG9jYWxlcywKICAgICAgICBsb2NhbGl6YXRpb25zRGVsZWdhdGVzID0gY29uc3QgWwogICAgICAgICAge3twcm9qZWN0X25hbWUucGFzY2FsQ2FzZSgpfX1Mb2NhbGl6YXRpb25zLmRlbGVnYXRlLAogICAgICAgIF07CgogIGZpbmFsIExpc3Q8TG9jYWxlPiBzdXBwb3J0ZWRMb2NhbGVzOwoKICBmaW5hbCBMaXN0PExvY2FsaXphdGlvbnNEZWxlZ2F0ZTxkeW5hbWljPj4gbG9jYWxpemF0aW9uc0RlbGVnYXRlczsKCiAgZmluYWwgUm9vdFN0YWNrUm91dGVyPyByb3V0ZXI7Cn0KCmNsYXNzIF9BcHAgZXh0ZW5kcyBBcHAgewogIGNvbnN0IF9BcHAoewogICAgc3VwZXIua2V5LAogICAgcmVxdWlyZWQgUm9vdFN0YWNrUm91dGVyIHN1cGVyLnJvdXRlciwKICAgIHRoaXMubmF2aWdhdG9yT2JzZXJ2ZXJCdWlsZGVyLAogIH0pIDogc3VwZXIuXygpOwoKICBmaW5hbCBMaXN0PE5hdmlnYXRvck9ic2VydmVyPiBGdW5jdGlvbigpPyBuYXZpZ2F0b3JPYnNlcnZlckJ1aWxkZXI7CgogIEBvdmVycmlkZQogIFdpZGdldCBidWlsZChCdWlsZENvbnRleHQgY29udGV4dCkgewogICAgcmV0dXJuIHt7cHJvamVjdF9uYW1lLnBhc2NhbENhc2UoKX19QXBwKAogICAgICBzdXBwb3J0ZWRMb2NhbGVzOiBzdXBwb3J0ZWRMb2NhbGVzLAogICAgICBsb2NhbGl6YXRpb25zRGVsZWdhdGVzOiBsb2NhbGl6YXRpb25zRGVsZWdhdGVzLAogICAgICByb3V0ZXJDb25maWc6IHJvdXRlciEuY29uZmlnKAogICAgICAgIG5hdmlnYXRvck9ic2VydmVyczogbmF2aWdhdG9yT2JzZXJ2ZXJCdWlsZGVyID8/CiAgICAgICAgICAgIEF1dG9Sb3V0ZXJEZWxlZ2F0ZS5kZWZhdWx0TmF2aWdhdG9yT2JzZXJ2ZXJzQnVpbGRlciwKICAgICAgKSwKICAgICk7CiAgfQp9CgpjbGFzcyBfQXBwVGVzdCBleHRlbmRzIEFwcCB7CiAgY29uc3QgX0FwcFRlc3QoewogICAgc3VwZXIua2V5LAogICAgdGhpcy5sb2NhbGUsCiAgICByZXF1aXJlZCBSb290U3RhY2tSb3V0ZXIgc3VwZXIucm91dGVyLAogICAgdGhpcy5pbml0aWFsUm91dGVzLAogICAgdGhpcy5uYXZpZ2F0b3JPYnNlcnZlciwKICAgIHRoaXMudGhlbWVNb2RlLAogIH0pIDogc3VwZXIuXygpOwoKICBmaW5hbCBMb2NhbGU/IGxvY2FsZTsKCiAgZmluYWwgTGlzdDxQYWdlUm91dGVJbmZvPGR5bmFtaWM+Pj8gaW5pdGlhbFJvdXRlczsKCiAgZmluYWwgTmF2aWdhdG9yT2JzZXJ2ZXI/IG5hdmlnYXRvck9ic2VydmVyOwoKICBmaW5hbCBUaGVtZU1vZGU/IHRoZW1lTW9kZTsKCiAgQG92ZXJyaWRlCiAgV2lkZ2V0IGJ1aWxkKEJ1aWxkQ29udGV4dCBjb250ZXh0KSB7CiAgICByZXR1cm4ge3twcm9qZWN0X25hbWUucGFzY2FsQ2FzZSgpfX1BcHAoCiAgICAgIGxvY2FsZTogbG9jYWxlLAogICAgICBzdXBwb3J0ZWRMb2NhbGVzOiBzdXBwb3J0ZWRMb2NhbGVzLAogICAgICBsb2NhbGl6YXRpb25zRGVsZWdhdGVzOiBsb2NhbGl6YXRpb25zRGVsZWdhdGVzLAogICAgICByb3V0ZXJDb25maWc6IHJvdXRlciEuY29uZmlnKAogICAgICAgIGRlZXBMaW5rQnVpbGRlcjoKICAgICAgICAgICAgaW5pdGlhbFJvdXRlcyAhPSBudWxsID8gKF8pID0+IERlZXBMaW5rKGluaXRpYWxSb3V0ZXMhKSA6IG51bGwsCiAgICAgICAgbmF2aWdhdG9yT2JzZXJ2ZXJzOiBuYXZpZ2F0b3JPYnNlcnZlciE9IG51bGwKICAgICAgICAgICAgPyAoKSA9PiBbbmF2aWdhdG9yT2JzZXJ2ZXIhXQogICAgICAgICAgICA6IEF1dG9Sb3V0ZXJEZWxlZ2F0ZS5kZWZhdWx0TmF2aWdhdG9yT2JzZXJ2ZXJzQnVpbGRlciwKICAgICAgKSwKICAgICAgdGhlbWVNb2RlOiB0aGVtZU1vZGUsCiAgICApOwogIH0KfQoKY2xhc3MgX0FwcFRlc3RXaWRnZXQgZXh0ZW5kcyBBcHAgewogIGNvbnN0IF9BcHBUZXN0V2lkZ2V0KHsKICAgIHN1cGVyLmtleSwKICAgIHJlcXVpcmVkIHRoaXMud2lkZ2V0LAogICAgdGhpcy5sb2NhbGUsCiAgICB0aGlzLnRoZW1lTW9kZSwKICB9KSA6IHN1cGVyLl8oKTsKCiAgZmluYWwgTG9jYWxlPyBsb2NhbGU7CgogIGZpbmFsIFdpZGdldCB3aWRnZXQ7CgogIGZpbmFsIFRoZW1lTW9kZT8gdGhlbWVNb2RlOwoKICBAb3ZlcnJpZGUKICBXaWRnZXQgYnVpbGQoQnVpbGRDb250ZXh0IGNvbnRleHQpIHsKICAgIC8vIGlnbm9yZTogaW52YWxpZF91c2Vfb2ZfdmlzaWJsZV9mb3JfdGVzdGluZ19tZW1iZXIKICAgIHJldHVybiB7e3Byb2plY3RfbmFtZS5wYXNjYWxDYXNlKCl9fUFwcC50ZXN0KAogICAgICBsb2NhbGU6IGxvY2FsZSwKICAgICAgbG9jYWxpemF0aW9uc0RlbGVnYXRlczogbG9jYWxpemF0aW9uc0RlbGVnYXRlcywKICAgICAgaG9tZTogd2lkZ2V0LAogICAgICB0aGVtZU1vZGU6IHRoZW1lTW9kZSwKICAgICk7CiAgfQp9Cnt7L2FuZHJvaWR9fXt7I2lvc319aW1wb3J0ICdwYWNrYWdlOmF1dG9fcm91dGUvYXV0b19yb3V0ZS5kYXJ0JzsKaW1wb3J0ICdwYWNrYWdlOnt7cHJvamVjdF9uYW1lfX1fdWlfaW9zL3t7cHJvamVjdF9uYW1lfX1fdWlfaW9zLmRhcnQnOwppbXBvcnQgJ3BhY2thZ2U6e3twcm9qZWN0X25hbWV9fV9pb3NfbG9jYWxpemF0aW9uL3t7cHJvamVjdF9uYW1lfX1faW9zX2xvY2FsaXphdGlvbi5kYXJ0JzsKCmFic3RyYWN0IGNsYXNzIEFwcCBleHRlbmRzIFN0YXRlbGVzc1dpZGdldCB7CiAgY29uc3QgZmFjdG9yeSBBcHAoewogICAgS2V5PyBrZXksCiAgICByZXF1aXJlZCBSb290U3RhY2tSb3V0ZXIgcm91dGVyLAogICAgTGlzdDxOYXZpZ2F0b3JPYnNlcnZlcj4gRnVuY3Rpb24oKT8gbmF2aWdhdG9yT2JzZXJ2ZXJCdWlsZGVyLAogIH0pID0gX0FwcDsKCiAgQHZpc2libGVGb3JUZXN0aW5nCiAgY29uc3QgZmFjdG9yeSBBcHAudGVzdCh7CiAgICBLZXk/IGtleSwKICAgIExvY2FsZT8gbG9jYWxlLAogICAgcmVxdWlyZWQgUm9vdFN0YWNrUm91dGVyIHJvdXRlciwKICAgIExpc3Q8UGFnZVJvdXRlSW5mbzxkeW5hbWljPj4/IGluaXRpYWxSb3V0ZXMsCiAgICBOYXZpZ2F0b3JPYnNlcnZlcj8gbmF2aWdhdG9yT2JzZXJ2ZXIsCiAgICBCcmlnaHRuZXNzPyBicmlnaHRuZXNzLAogIH0pID0gX0FwcFRlc3Q7CgogIEB2aXNpYmxlRm9yVGVzdGluZwogIGNvbnN0IGZhY3RvcnkgQXBwLnRlc3RXaWRnZXQoewogICAgS2V5PyBrZXksCiAgICByZXF1aXJlZCBXaWRnZXQgd2lkZ2V0LAogICAgTG9jYWxlPyBsb2NhbGUsCiAgICBCcmlnaHRuZXNzPyBicmlnaHRuZXNzLAogIH0pID0gX0FwcFRlc3RXaWRnZXQ7CgogIGNvbnN0IEFwcC5fKHsKICAgIHN1cGVyLmtleSwKICAgIHRoaXMucm91dGVyLAogIH0pICA6IHN1cHBvcnRlZExvY2FsZXMgPSB7e3Byb2plY3RfbmFtZS5wYXNjYWxDYXNlKCl9fUxvY2FsaXphdGlvbnMuc3VwcG9ydGVkTG9jYWxlcywKICAgICAgICBsb2NhbGl6YXRpb25zRGVsZWdhdGVzID0gY29uc3QgWwogICAgICAgICAge3twcm9qZWN0X25hbWUucGFzY2FsQ2FzZSgpfX1Mb2NhbGl6YXRpb25zLmRlbGVnYXRlLAogICAgICAgIF07CgogIGZpbmFsIExpc3Q8TG9jYWxlPiBzdXBwb3J0ZWRMb2NhbGVzOwoKICBmaW5hbCBMaXN0PExvY2FsaXphdGlvbnNEZWxlZ2F0ZTxkeW5hbWljPj4gbG9jYWxpemF0aW9uc0RlbGVnYXRlczsKCiAgZmluYWwgUm9vdFN0YWNrUm91dGVyPyByb3V0ZXI7Cn0KCmNsYXNzIF9BcHAgZXh0ZW5kcyBBcHAgewogIGNvbnN0IF9BcHAoewogICAgc3VwZXIua2V5LAogICAgcmVxdWlyZWQgUm9vdFN0YWNrUm91dGVyIHN1cGVyLnJvdXRlciwKICAgIHRoaXMubmF2aWdhdG9yT2JzZXJ2ZXJCdWlsZGVyLAogIH0pIDogc3VwZXIuXygpOwoKICBmaW5hbCBMaXN0PE5hdmlnYXRvck9ic2VydmVyPiBGdW5jdGlvbigpPyBuYXZpZ2F0b3JPYnNlcnZlckJ1aWxkZXI7CgogIEBvdmVycmlkZQogIFdpZGdldCBidWlsZChCdWlsZENvbnRleHQgY29udGV4dCkgewogICAgcmV0dXJuIHt7cHJvamVjdF9uYW1lLnBhc2NhbENhc2UoKX19QXBwKAogICAgICBzdXBwb3J0ZWRMb2NhbGVzOiBzdXBwb3J0ZWRMb2NhbGVzLAogICAgICBsb2NhbGl6YXRpb25zRGVsZWdhdGVzOiBsb2NhbGl6YXRpb25zRGVsZWdhdGVzLAogICAgICByb3V0ZXJDb25maWc6IHJvdXRlciEuY29uZmlnKAogICAgICAgIG5hdmlnYXRvck9ic2VydmVyczogbmF2aWdhdG9yT2JzZXJ2ZXJCdWlsZGVyID8/CiAgICAgICAgICAgIEF1dG9Sb3V0ZXJEZWxlZ2F0ZS5kZWZhdWx0TmF2aWdhdG9yT2JzZXJ2ZXJzQnVpbGRlciwKICAgICAgKSwKICAgICk7CiAgfQp9CgpjbGFzcyBfQXBwVGVzdCBleHRlbmRzIEFwcCB7CiAgY29uc3QgX0FwcFRlc3QoewogICAgc3VwZXIua2V5LAogICAgdGhpcy5sb2NhbGUsCiAgICByZXF1aXJlZCBSb290U3RhY2tSb3V0ZXIgc3VwZXIucm91dGVyLAogICAgdGhpcy5pbml0aWFsUm91dGVzLAogICAgdGhpcy5uYXZpZ2F0b3JPYnNlcnZlciwKICAgIHRoaXMuYnJpZ2h0bmVzcywKICB9KSA6IHN1cGVyLl8oKTsKCiAgZmluYWwgTG9jYWxlPyBsb2NhbGU7CgogIGZpbmFsIExpc3Q8UGFnZVJvdXRlSW5mbzxkeW5hbWljPj4/IGluaXRpYWxSb3V0ZXM7CgogIGZpbmFsIE5hdmlnYXRvck9ic2VydmVyPyBuYXZpZ2F0b3JPYnNlcnZlcjsKCiAgZmluYWwgQnJpZ2h0bmVzcz8gYnJpZ2h0bmVzczsKCiAgQG92ZXJyaWRlCiAgV2lkZ2V0IGJ1aWxkKEJ1aWxkQ29udGV4dCBjb250ZXh0KSB7CiAgICByZXR1cm4ge3twcm9qZWN0X25hbWUucGFzY2FsQ2FzZSgpfX1BcHAoCiAgICAgIGxvY2FsZTogbG9jYWxlLAogICAgICBzdXBwb3J0ZWRMb2NhbGVzOiBzdXBwb3J0ZWRMb2NhbGVzLAogICAgICBsb2NhbGl6YXRpb25zRGVsZWdhdGVzOiBsb2NhbGl6YXRpb25zRGVsZWdhdGVzLAogICAgICByb3V0ZXJDb25maWc6IHJvdXRlciEuY29uZmlnKAogICAgICAgIGRlZXBMaW5rQnVpbGRlcjoKICAgICAgICAgICAgaW5pdGlhbFJvdXRlcyAhPSBudWxsID8gKF8pID0+IERlZXBMaW5rKGluaXRpYWxSb3V0ZXMhKSA6IG51bGwsCiAgICAgICAgbmF2aWdhdG9yT2JzZXJ2ZXJzOiBuYXZpZ2F0b3JPYnNlcnZlciE9IG51bGwKICAgICAgICAgICAgPyAoKSA9PiBbbmF2aWdhdG9yT2JzZXJ2ZXIhXQogICAgICAgICAgICA6IEF1dG9Sb3V0ZXJEZWxlZ2F0ZS5kZWZhdWx0TmF2aWdhdG9yT2JzZXJ2ZXJzQnVpbGRlciwKICAgICAgKSwKICAgICAgYnJpZ2h0bmVzczogYnJpZ2h0bmVzcywKICAgICk7CiAgfQp9CgpjbGFzcyBfQXBwVGVzdFdpZGdldCBleHRlbmRzIEFwcCB7CiAgY29uc3QgX0FwcFRlc3RXaWRnZXQoewogICAgc3VwZXIua2V5LAogICAgcmVxdWlyZWQgdGhpcy53aWRnZXQsCiAgICB0aGlzLmxvY2FsZSwKICAgIHRoaXMuYnJpZ2h0bmVzcywKICB9KSA6IHN1cGVyLl8oKTsKCiAgZmluYWwgTG9jYWxlPyBsb2NhbGU7CgogIGZpbmFsIFdpZGdldCB3aWRnZXQ7CgogIGZpbmFsIEJyaWdodG5lc3M/IGJyaWdodG5lc3M7CgogIEBvdmVycmlkZQogIFdpZGdldCBidWlsZChCdWlsZENvbnRleHQgY29udGV4dCkgewogICAgLy8gaWdub3JlOiBpbnZhbGlkX3VzZV9vZl92aXNpYmxlX2Zvcl90ZXN0aW5nX21lbWJlcgogICAgcmV0dXJuIHt7cHJvamVjdF9uYW1lLnBhc2NhbENhc2UoKX19QXBwLnRlc3QoCiAgICAgIGxvY2FsZTogbG9jYWxlLAogICAgICBsb2NhbGl6YXRpb25zRGVsZWdhdGVzOiBsb2NhbGl6YXRpb25zRGVsZWdhdGVzLAogICAgICBob21lOiB3aWRnZXQsCiAgICAgIGJyaWdodG5lc3M6IGJyaWdodG5lc3MsCiAgICApOwogIH0KfQp7ey9pb3N9fXt7I2xpbnV4fX1pbXBvcnQgJ3BhY2thZ2U6YXV0b19yb3V0ZS9hdXRvX3JvdXRlLmRhcnQnOwppbXBvcnQgJ3BhY2thZ2U6e3twcm9qZWN0X25hbWV9fV91aV9saW51eC97e3Byb2plY3RfbmFtZX19X3VpX2xpbnV4LmRhcnQnOwppbXBvcnQgJ3BhY2thZ2U6e3twcm9qZWN0X25hbWV9fV9saW51eF9sb2NhbGl6YXRpb24ve3twcm9qZWN0X25hbWV9fV9saW51eF9sb2NhbGl6YXRpb24uZGFydCc7CgphYnN0cmFjdCBjbGFzcyBBcHAgZXh0ZW5kcyBTdGF0ZWxlc3NXaWRnZXQgewogIGNvbnN0IGZhY3RvcnkgQXBwKHsKICAgIEtleT8ga2V5LAogICAgcmVxdWlyZWQgUm9vdFN0YWNrUm91dGVyIHJvdXRlciwKICAgIExpc3Q8TmF2aWdhdG9yT2JzZXJ2ZXI+IEZ1bmN0aW9uKCk/IG5hdmlnYXRvck9ic2VydmVyQnVpbGRlciwKICB9KSA9IF9BcHA7CgogIEB2aXNpYmxlRm9yVGVzdGluZwogIGNvbnN0IGZhY3RvcnkgQXBwLnRlc3QoewogICAgS2V5PyBrZXksCiAgICBMb2NhbGU/IGxvY2FsZSwKICAgIHJlcXVpcmVkIFJvb3RTdGFja1JvdXRlciByb3V0ZXIsCiAgICBMaXN0PFBhZ2VSb3V0ZUluZm88ZHluYW1pYz4+PyBpbml0aWFsUm91dGVzLAogICAgTmF2aWdhdG9yT2JzZXJ2ZXI/IG5hdmlnYXRvck9ic2VydmVyLAogICAgVGhlbWVNb2RlPyB0aGVtZU1vZGUsCiAgfSkgPSBfQXBwVGVzdDsKCiAgQHZpc2libGVGb3JUZXN0aW5nCiAgY29uc3QgZmFjdG9yeSBBcHAudGVzdFdpZGdldCh7CiAgICBLZXk/IGtleSwKICAgIHJlcXVpcmVkIFdpZGdldCB3aWRnZXQsCiAgICBMb2NhbGU/IGxvY2FsZSwKICAgIFRoZW1lTW9kZT8gdGhlbWVNb2RlLAogIH0pID0gX0FwcFRlc3RXaWRnZXQ7CgogIGNvbnN0IEFwcC5fKHsKICAgIHN1cGVyLmtleSwKICAgIHRoaXMucm91dGVyLAogIH0pICA6IHN1cHBvcnRlZExvY2FsZXMgPSB7e3Byb2plY3RfbmFtZS5wYXNjYWxDYXNlKCl9fUxvY2FsaXphdGlvbnMuc3VwcG9ydGVkTG9jYWxlcywKICAgICAgICBsb2NhbGl6YXRpb25zRGVsZWdhdGVzID0gY29uc3QgWwogICAgICAgICAge3twcm9qZWN0X25hbWUucGFzY2FsQ2FzZSgpfX1Mb2NhbGl6YXRpb25zLmRlbGVnYXRlLAogICAgICAgIF07CgogIGZpbmFsIExpc3Q8TG9jYWxlPiBzdXBwb3J0ZWRMb2NhbGVzOwoKICBmaW5hbCBMaXN0PExvY2FsaXphdGlvbnNEZWxlZ2F0ZTxkeW5hbWljPj4gbG9jYWxpemF0aW9uc0RlbGVnYXRlczsKCiAgZmluYWwgUm9vdFN0YWNrUm91dGVyPyByb3V0ZXI7Cn0KCmNsYXNzIF9BcHAgZXh0ZW5kcyBBcHAgewogIGNvbnN0IF9BcHAoewogICAgc3VwZXIua2V5LAogICAgcmVxdWlyZWQgUm9vdFN0YWNrUm91dGVyIHN1cGVyLnJvdXRlciwKICAgIHRoaXMubmF2aWdhdG9yT2JzZXJ2ZXJCdWlsZGVyLAogIH0pIDogc3VwZXIuXygpOwoKICBmaW5hbCBMaXN0PE5hdmlnYXRvck9ic2VydmVyPiBGdW5jdGlvbigpPyBuYXZpZ2F0b3JPYnNlcnZlckJ1aWxkZXI7CgogIEBvdmVycmlkZQogIFdpZGdldCBidWlsZChCdWlsZENvbnRleHQgY29udGV4dCkgewogICAgcmV0dXJuIHt7cHJvamVjdF9uYW1lLnBhc2NhbENhc2UoKX19QXBwKAogICAgICBzdXBwb3J0ZWRMb2NhbGVzOiBzdXBwb3J0ZWRMb2NhbGVzLAogICAgICBsb2NhbGl6YXRpb25zRGVsZWdhdGVzOiBsb2NhbGl6YXRpb25zRGVsZWdhdGVzLAogICAgICByb3V0ZXJDb25maWc6IHJvdXRlciEuY29uZmlnKAogICAgICAgIG5hdmlnYXRvck9ic2VydmVyczogbmF2aWdhdG9yT2JzZXJ2ZXJCdWlsZGVyID8/CiAgICAgICAgICAgIEF1dG9Sb3V0ZXJEZWxlZ2F0ZS5kZWZhdWx0TmF2aWdhdG9yT2JzZXJ2ZXJzQnVpbGRlciwKICAgICAgKSwKICAgICk7CiAgfQp9CgpjbGFzcyBfQXBwVGVzdCBleHRlbmRzIEFwcCB7CiAgY29uc3QgX0FwcFRlc3QoewogICAgc3VwZXIua2V5LAogICAgdGhpcy5sb2NhbGUsCiAgICByZXF1aXJlZCBSb290U3RhY2tSb3V0ZXIgc3VwZXIucm91dGVyLAogICAgdGhpcy5pbml0aWFsUm91dGVzLAogICAgdGhpcy5uYXZpZ2F0b3JPYnNlcnZlciwKICAgIHRoaXMudGhlbWVNb2RlLAogIH0pIDogc3VwZXIuXygpOwoKICBmaW5hbCBMb2NhbGU/IGxvY2FsZTsKCiAgZmluYWwgTGlzdDxQYWdlUm91dGVJbmZvPGR5bmFtaWM+Pj8gaW5pdGlhbFJvdXRlczsKCiAgZmluYWwgTmF2aWdhdG9yT2JzZXJ2ZXI/IG5hdmlnYXRvck9ic2VydmVyOwoKICBmaW5hbCBUaGVtZU1vZGU/IHRoZW1lTW9kZTsKCiAgQG92ZXJyaWRlCiAgV2lkZ2V0IGJ1aWxkKEJ1aWxkQ29udGV4dCBjb250ZXh0KSB7CiAgICByZXR1cm4ge3twcm9qZWN0X25hbWUucGFzY2FsQ2FzZSgpfX1BcHAoCiAgICAgIGxvY2FsZTogbG9jYWxlLAogICAgICBzdXBwb3J0ZWRMb2NhbGVzOiBzdXBwb3J0ZWRMb2NhbGVzLAogICAgICBsb2NhbGl6YXRpb25zRGVsZWdhdGVzOiBsb2NhbGl6YXRpb25zRGVsZWdhdGVzLAogICAgICByb3V0ZXJDb25maWc6IHJvdXRlciEuY29uZmlnKAogICAgICAgIGRlZXBMaW5rQnVpbGRlcjoKICAgICAgICAgICAgaW5pdGlhbFJvdXRlcyAhPSBudWxsID8gKF8pID0+IERlZXBMaW5rKGluaXRpYWxSb3V0ZXMhKSA6IG51bGwsCiAgICAgICAgbmF2aWdhdG9yT2JzZXJ2ZXJzOiBuYXZpZ2F0b3JPYnNlcnZlciE9IG51bGwKICAgICAgICAgICAgPyAoKSA9PiBbbmF2aWdhdG9yT2JzZXJ2ZXIhXQogICAgICAgICAgICA6IEF1dG9Sb3V0ZXJEZWxlZ2F0ZS5kZWZhdWx0TmF2aWdhdG9yT2JzZXJ2ZXJzQnVpbGRlciwKICAgICAgKSwKICAgICAgdGhlbWVNb2RlOiB0aGVtZU1vZGUsCiAgICApOwogIH0KfQoKY2xhc3MgX0FwcFRlc3RXaWRnZXQgZXh0ZW5kcyBBcHAgewogIGNvbnN0IF9BcHBUZXN0V2lkZ2V0KHsKICAgIHN1cGVyLmtleSwKICAgIHJlcXVpcmVkIHRoaXMud2lkZ2V0LAogICAgdGhpcy5sb2NhbGUsCiAgICB0aGlzLnRoZW1lTW9kZSwKICB9KSA6IHN1cGVyLl8oKTsKCiAgZmluYWwgTG9jYWxlPyBsb2NhbGU7CgogIGZpbmFsIFdpZGdldCB3aWRnZXQ7CgogIGZpbmFsIFRoZW1lTW9kZT8gdGhlbWVNb2RlOwoKICBAb3ZlcnJpZGUKICBXaWRnZXQgYnVpbGQoQnVpbGRDb250ZXh0IGNvbnRleHQpIHsKICAgIC8vIGlnbm9yZTogaW52YWxpZF91c2Vfb2ZfdmlzaWJsZV9mb3JfdGVzdGluZ19tZW1iZXIKICAgIHJldHVybiB7e3Byb2plY3RfbmFtZS5wYXNjYWxDYXNlKCl9fUFwcC50ZXN0KAogICAgICBsb2NhbGU6IGxvY2FsZSwKICAgICAgbG9jYWxpemF0aW9uc0RlbGVnYXRlczogbG9jYWxpemF0aW9uc0RlbGVnYXRlcywKICAgICAgaG9tZTogd2lkZ2V0LAogICAgICB0aGVtZU1vZGU6IHRoZW1lTW9kZSwKICAgICk7CiAgfQp9Cnt7L2xpbnV4fX17eyNtYWNvc319aW1wb3J0ICdwYWNrYWdlOmF1dG9fcm91dGUvYXV0b19yb3V0ZS5kYXJ0JzsKaW1wb3J0ICdwYWNrYWdlOnt7cHJvamVjdF9uYW1lfX1fdWlfbWFjb3Mve3twcm9qZWN0X25hbWV9fV91aV9tYWNvcy5kYXJ0JzsKaW1wb3J0ICdwYWNrYWdlOnt7cHJvamVjdF9uYW1lfX1fbWFjb3NfbG9jYWxpemF0aW9uL3t7cHJvamVjdF9uYW1lfX1fbWFjb3NfbG9jYWxpemF0aW9uLmRhcnQnOwoKYWJzdHJhY3QgY2xhc3MgQXBwIGV4dGVuZHMgU3RhdGVsZXNzV2lkZ2V0IHsKICBjb25zdCBmYWN0b3J5IEFwcCh7CiAgICBLZXk/IGtleSwKICAgIHJlcXVpcmVkIFJvb3RTdGFja1JvdXRlciByb3V0ZXIsCiAgICBMaXN0PE5hdmlnYXRvck9ic2VydmVyPiBGdW5jdGlvbigpPyBuYXZpZ2F0b3JPYnNlcnZlckJ1aWxkZXIsCiAgfSkgPSBfQXBwOwoKICBAdmlzaWJsZUZvclRlc3RpbmcKICBjb25zdCBmYWN0b3J5IEFwcC50ZXN0KHsKICAgIEtleT8ga2V5LAogICAgTG9jYWxlPyBsb2NhbGUsCiAgICByZXF1aXJlZCBSb290U3RhY2tSb3V0ZXIgcm91dGVyLAogICAgTGlzdDxQYWdlUm91dGVJbmZvPGR5bmFtaWM+Pj8gaW5pdGlhbFJvdXRlcywKICAgIE5hdmlnYXRvck9ic2VydmVyPyBuYXZpZ2F0b3JPYnNlcnZlciwKICAgIFRoZW1lTW9kZT8gdGhlbWVNb2RlLAogIH0pID0gX0FwcFRlc3Q7CgogIEB2aXNpYmxlRm9yVGVzdGluZwogIGNvbnN0IGZhY3RvcnkgQXBwLnRlc3RXaWRnZXQoewogICAgS2V5PyBrZXksCiAgICByZXF1aXJlZCBXaWRnZXQgd2lkZ2V0LAogICAgTG9jYWxlPyBsb2NhbGUsCiAgICBUaGVtZU1vZGU/IHRoZW1lTW9kZSwKICB9KSA9IF9BcHBUZXN0V2lkZ2V0OwoKICBjb25zdCBBcHAuXyh7CiAgICBzdXBlci5rZXksCiAgICB0aGlzLnJvdXRlciwKICB9KSAgOiBzdXBwb3J0ZWRMb2NhbGVzID0ge3twcm9qZWN0X25hbWUucGFzY2FsQ2FzZSgpfX1Mb2NhbGl6YXRpb25zLnN1cHBvcnRlZExvY2FsZXMsCiAgICAgICAgbG9jYWxpemF0aW9uc0RlbGVnYXRlcyA9IGNvbnN0IFsKICAgICAgICAgIHt7cHJvamVjdF9uYW1lLnBhc2NhbENhc2UoKX19TG9jYWxpemF0aW9ucy5kZWxlZ2F0ZSwKICAgICAgICBdOwoKICBmaW5hbCBMaXN0PExvY2FsZT4gc3VwcG9ydGVkTG9jYWxlczsKCiAgZmluYWwgTGlzdDxMb2NhbGl6YXRpb25zRGVsZWdhdGU8ZHluYW1pYz4+IGxvY2FsaXphdGlvbnNEZWxlZ2F0ZXM7CgogIGZpbmFsIFJvb3RTdGFja1JvdXRlcj8gcm91dGVyOwp9CgpjbGFzcyBfQXBwIGV4dGVuZHMgQXBwIHsKICBjb25zdCBfQXBwKHsKICAgIHN1cGVyLmtleSwKICAgIHJlcXVpcmVkIFJvb3RTdGFja1JvdXRlciBzdXBlci5yb3V0ZXIsCiAgICB0aGlzLm5hdmlnYXRvck9ic2VydmVyQnVpbGRlciwKICB9KSA6IHN1cGVyLl8oKTsKCiAgZmluYWwgTGlzdDxOYXZpZ2F0b3JPYnNlcnZlcj4gRnVuY3Rpb24oKT8gbmF2aWdhdG9yT2JzZXJ2ZXJCdWlsZGVyOwoKICBAb3ZlcnJpZGUKICBXaWRnZXQgYnVpbGQoQnVpbGRDb250ZXh0IGNvbnRleHQpIHsKICAgIHJldHVybiB7e3Byb2plY3RfbmFtZS5wYXNjYWxDYXNlKCl9fUFwcCgKICAgICAgc3VwcG9ydGVkTG9jYWxlczogc3VwcG9ydGVkTG9jYWxlcywKICAgICAgbG9jYWxpemF0aW9uc0RlbGVnYXRlczogbG9jYWxpemF0aW9uc0RlbGVnYXRlcywKICAgICAgcm91dGVyQ29uZmlnOiByb3V0ZXIhLmNvbmZpZygKICAgICAgICBuYXZpZ2F0b3JPYnNlcnZlcnM6IG5hdmlnYXRvck9ic2VydmVyQnVpbGRlciA/PwogICAgICAgICAgICBBdXRvUm91dGVyRGVsZWdhdGUuZGVmYXVsdE5hdmlnYXRvck9ic2VydmVyc0J1aWxkZXIsCiAgICAgICksCiAgICApOwogIH0KfQoKY2xhc3MgX0FwcFRlc3QgZXh0ZW5kcyBBcHAgewogIGNvbnN0IF9BcHBUZXN0KHsKICAgIHN1cGVyLmtleSwKICAgIHRoaXMubG9jYWxlLAogICAgcmVxdWlyZWQgUm9vdFN0YWNrUm91dGVyIHN1cGVyLnJvdXRlciwKICAgIHRoaXMuaW5pdGlhbFJvdXRlcywKICAgIHRoaXMubmF2aWdhdG9yT2JzZXJ2ZXIsCiAgICB0aGlzLnRoZW1lTW9kZSwKICB9KSA6IHN1cGVyLl8oKTsKCiAgZmluYWwgTG9jYWxlPyBsb2NhbGU7CgogIGZpbmFsIExpc3Q8UGFnZVJvdXRlSW5mbzxkeW5hbWljPj4/IGluaXRpYWxSb3V0ZXM7CgogIGZpbmFsIE5hdmlnYXRvck9ic2VydmVyPyBuYXZpZ2F0b3JPYnNlcnZlcjsKCiAgZmluYWwgVGhlbWVNb2RlPyB0aGVtZU1vZGU7CgogIEBvdmVycmlkZQogIFdpZGdldCBidWlsZChCdWlsZENvbnRleHQgY29udGV4dCkgewogICAgcmV0dXJuIHt7cHJvamVjdF9uYW1lLnBhc2NhbENhc2UoKX19QXBwKAogICAgICBsb2NhbGU6IGxvY2FsZSwKICAgICAgc3VwcG9ydGVkTG9jYWxlczogc3VwcG9ydGVkTG9jYWxlcywKICAgICAgbG9jYWxpemF0aW9uc0RlbGVnYXRlczogbG9jYWxpemF0aW9uc0RlbGVnYXRlcywKICAgICAgcm91dGVyQ29uZmlnOiByb3V0ZXIhLmNvbmZpZygKICAgICAgICBkZWVwTGlua0J1aWxkZXI6CiAgICAgICAgICAgIGluaXRpYWxSb3V0ZXMgIT0gbnVsbCA/IChfKSA9PiBEZWVwTGluayhpbml0aWFsUm91dGVzISkgOiBudWxsLAogICAgICAgIG5hdmlnYXRvck9ic2VydmVyczogbmF2aWdhdG9yT2JzZXJ2ZXIhPSBudWxsCiAgICAgICAgICAgID8gKCkgPT4gW25hdmlnYXRvck9ic2VydmVyIV0KICAgICAgICAgICAgOiBBdXRvUm91dGVyRGVsZWdhdGUuZGVmYXVsdE5hdmlnYXRvck9ic2VydmVyc0J1aWxkZXIsCiAgICAgICksCiAgICAgIHRoZW1lTW9kZTogdGhlbWVNb2RlLAogICAgKTsKICB9Cn0KCmNsYXNzIF9BcHBUZXN0V2lkZ2V0IGV4dGVuZHMgQXBwIHsKICBjb25zdCBfQXBwVGVzdFdpZGdldCh7CiAgICBzdXBlci5rZXksCiAgICByZXF1aXJlZCB0aGlzLndpZGdldCwKICAgIHRoaXMubG9jYWxlLAogICAgdGhpcy50aGVtZU1vZGUsCiAgfSkgOiBzdXBlci5fKCk7CgogIGZpbmFsIExvY2FsZT8gbG9jYWxlOwoKICBmaW5hbCBXaWRnZXQgd2lkZ2V0OwoKICBmaW5hbCBUaGVtZU1vZGU/IHRoZW1lTW9kZTsKCiAgQG92ZXJyaWRlCiAgV2lkZ2V0IGJ1aWxkKEJ1aWxkQ29udGV4dCBjb250ZXh0KSB7CiAgICAvLyBpZ25vcmU6IGludmFsaWRfdXNlX29mX3Zpc2libGVfZm9yX3Rlc3RpbmdfbWVtYmVyCiAgICByZXR1cm4ge3twcm9qZWN0X25hbWUucGFzY2FsQ2FzZSgpfX1BcHAudGVzdCgKICAgICAgbG9jYWxlOiBsb2NhbGUsCiAgICAgIGxvY2FsaXphdGlvbnNEZWxlZ2F0ZXM6IGxvY2FsaXphdGlvbnNEZWxlZ2F0ZXMsCiAgICAgIGhvbWU6IHdpZGdldCwKICAgICAgdGhlbWVNb2RlOiB0aGVtZU1vZGUsCiAgICApOwogIH0KfQp7ey9tYWNvc319e3sjd2VifX1pbXBvcnQgJ3BhY2thZ2U6YXV0b19yb3V0ZS9hdXRvX3JvdXRlLmRhcnQnOwppbXBvcnQgJ3BhY2thZ2U6e3twcm9qZWN0X25hbWV9fV91aV93ZWIve3twcm9qZWN0X25hbWV9fV91aV93ZWIuZGFydCc7CmltcG9ydCAncGFja2FnZTp7e3Byb2plY3RfbmFtZX19X3dlYl9sb2NhbGl6YXRpb24ve3twcm9qZWN0X25hbWV9fV93ZWJfbG9jYWxpemF0aW9uLmRhcnQnOwoKYWJzdHJhY3QgY2xhc3MgQXBwIGV4dGVuZHMgU3RhdGVsZXNzV2lkZ2V0IHsKICBjb25zdCBmYWN0b3J5IEFwcCh7CiAgICBLZXk/IGtleSwKICAgIHJlcXVpcmVkIFJvb3RTdGFja1JvdXRlciByb3V0ZXIsCiAgICBMaXN0PE5hdmlnYXRvck9ic2VydmVyPiBGdW5jdGlvbigpPyBuYXZpZ2F0b3JPYnNlcnZlckJ1aWxkZXIsCiAgfSkgPSBfQXBwOwoKICBAdmlzaWJsZUZvclRlc3RpbmcKICBjb25zdCBmYWN0b3J5IEFwcC50ZXN0KHsKICAgIEtleT8ga2V5LAogICAgTG9jYWxlPyBsb2NhbGUsCiAgICByZXF1aXJlZCBSb290U3RhY2tSb3V0ZXIgcm91dGVyLAogICAgTGlzdDxQYWdlUm91dGVJbmZvPGR5bmFtaWM+Pj8gaW5pdGlhbFJvdXRlcywKICAgIE5hdmlnYXRvck9ic2VydmVyPyBuYXZpZ2F0b3JPYnNlcnZlciwKICAgIFRoZW1lTW9kZT8gdGhlbWVNb2RlLAogIH0pID0gX0FwcFRlc3Q7CgogIEB2aXNpYmxlRm9yVGVzdGluZwogIGNvbnN0IGZhY3RvcnkgQXBwLnRlc3RXaWRnZXQoewogICAgS2V5PyBrZXksCiAgICByZXF1aXJlZCBXaWRnZXQgd2lkZ2V0LAogICAgTG9jYWxlPyBsb2NhbGUsCiAgICBUaGVtZU1vZGU/IHRoZW1lTW9kZSwKICB9KSA9IF9BcHBUZXN0V2lkZ2V0OwoKICBjb25zdCBBcHAuXyh7CiAgICBzdXBlci5rZXksCiAgICB0aGlzLnJvdXRlciwKICB9KSAgOiBzdXBwb3J0ZWRMb2NhbGVzID0ge3twcm9qZWN0X25hbWUucGFzY2FsQ2FzZSgpfX1Mb2NhbGl6YXRpb25zLnN1cHBvcnRlZExvY2FsZXMsCiAgICAgICAgbG9jYWxpemF0aW9uc0RlbGVnYXRlcyA9IGNvbnN0IFsKICAgICAgICAgIHt7cHJvamVjdF9uYW1lLnBhc2NhbENhc2UoKX19TG9jYWxpemF0aW9ucy5kZWxlZ2F0ZSwKICAgICAgICBdOwoKICBmaW5hbCBMaXN0PExvY2FsZT4gc3VwcG9ydGVkTG9jYWxlczsKCiAgZmluYWwgTGlzdDxMb2NhbGl6YXRpb25zRGVsZWdhdGU8ZHluYW1pYz4+IGxvY2FsaXphdGlvbnNEZWxlZ2F0ZXM7CgogIGZpbmFsIFJvb3RTdGFja1JvdXRlcj8gcm91dGVyOwp9CgpjbGFzcyBfQXBwIGV4dGVuZHMgQXBwIHsKICBjb25zdCBfQXBwKHsKICAgIHN1cGVyLmtleSwKICAgIHJlcXVpcmVkIFJvb3RTdGFja1JvdXRlciBzdXBlci5yb3V0ZXIsCiAgICB0aGlzLm5hdmlnYXRvck9ic2VydmVyQnVpbGRlciwKICB9KSA6IHN1cGVyLl8oKTsKCiAgZmluYWwgTGlzdDxOYXZpZ2F0b3JPYnNlcnZlcj4gRnVuY3Rpb24oKT8gbmF2aWdhdG9yT2JzZXJ2ZXJCdWlsZGVyOwoKICBAb3ZlcnJpZGUKICBXaWRnZXQgYnVpbGQoQnVpbGRDb250ZXh0IGNvbnRleHQpIHsKICAgIHJldHVybiB7e3Byb2plY3RfbmFtZS5wYXNjYWxDYXNlKCl9fUFwcCgKICAgICAgc3VwcG9ydGVkTG9jYWxlczogc3VwcG9ydGVkTG9jYWxlcywKICAgICAgbG9jYWxpemF0aW9uc0RlbGVnYXRlczogbG9jYWxpemF0aW9uc0RlbGVnYXRlcywKICAgICAgcm91dGVyQ29uZmlnOiByb3V0ZXIhLmNvbmZpZygKICAgICAgICBuYXZpZ2F0b3JPYnNlcnZlcnM6IG5hdmlnYXRvck9ic2VydmVyQnVpbGRlciA/PwogICAgICAgICAgICBBdXRvUm91dGVyRGVsZWdhdGUuZGVmYXVsdE5hdmlnYXRvck9ic2VydmVyc0J1aWxkZXIsCiAgICAgICksCiAgICApOwogIH0KfQoKY2xhc3MgX0FwcFRlc3QgZXh0ZW5kcyBBcHAgewogIGNvbnN0IF9BcHBUZXN0KHsKICAgIHN1cGVyLmtleSwKICAgIHRoaXMubG9jYWxlLAogICAgcmVxdWlyZWQgUm9vdFN0YWNrUm91dGVyIHN1cGVyLnJvdXRlciwKICAgIHRoaXMuaW5pdGlhbFJvdXRlcywKICAgIHRoaXMubmF2aWdhdG9yT2JzZXJ2ZXIsCiAgICB0aGlzLnRoZW1lTW9kZSwKICB9KSA6IHN1cGVyLl8oKTsKCiAgZmluYWwgTG9jYWxlPyBsb2NhbGU7CgogIGZpbmFsIExpc3Q8UGFnZVJvdXRlSW5mbzxkeW5hbWljPj4/IGluaXRpYWxSb3V0ZXM7CgogIGZpbmFsIE5hdmlnYXRvck9ic2VydmVyPyBuYXZpZ2F0b3JPYnNlcnZlcjsKCiAgZmluYWwgVGhlbWVNb2RlPyB0aGVtZU1vZGU7CgogIEBvdmVycmlkZQogIFdpZGdldCBidWlsZChCdWlsZENvbnRleHQgY29udGV4dCkgewogICAgcmV0dXJuIHt7cHJvamVjdF9uYW1lLnBhc2NhbENhc2UoKX19QXBwKAogICAgICBsb2NhbGU6IGxvY2FsZSwKICAgICAgc3VwcG9ydGVkTG9jYWxlczogc3VwcG9ydGVkTG9jYWxlcywKICAgICAgbG9jYWxpemF0aW9uc0RlbGVnYXRlczogbG9jYWxpemF0aW9uc0RlbGVnYXRlcywKICAgICAgcm91dGVyQ29uZmlnOiByb3V0ZXIhLmNvbmZpZygKICAgICAgICBkZWVwTGlua0J1aWxkZXI6CiAgICAgICAgICAgIGluaXRpYWxSb3V0ZXMgIT0gbnVsbCA/IChfKSA9PiBEZWVwTGluayhpbml0aWFsUm91dGVzISkgOiBudWxsLAogICAgICAgIG5hdmlnYXRvck9ic2VydmVyczogbmF2aWdhdG9yT2JzZXJ2ZXIhPSBudWxsCiAgICAgICAgICAgID8gKCkgPT4gW25hdmlnYXRvck9ic2VydmVyIV0KICAgICAgICAgICAgOiBBdXRvUm91dGVyRGVsZWdhdGUuZGVmYXVsdE5hdmlnYXRvck9ic2VydmVyc0J1aWxkZXIsCiAgICAgICksCiAgICAgIHRoZW1lTW9kZTogdGhlbWVNb2RlLAogICAgKTsKICB9Cn0KCmNsYXNzIF9BcHBUZXN0V2lkZ2V0IGV4dGVuZHMgQXBwIHsKICBjb25zdCBfQXBwVGVzdFdpZGdldCh7CiAgICBzdXBlci5rZXksCiAgICByZXF1aXJlZCB0aGlzLndpZGdldCwKICAgIHRoaXMubG9jYWxlLAogICAgdGhpcy50aGVtZU1vZGUsCiAgfSkgOiBzdXBlci5fKCk7CgogIGZpbmFsIExvY2FsZT8gbG9jYWxlOwoKICBmaW5hbCBXaWRnZXQgd2lkZ2V0OwoKICBmaW5hbCBUaGVtZU1vZGU/IHRoZW1lTW9kZTsKCiAgQG92ZXJyaWRlCiAgV2lkZ2V0IGJ1aWxkKEJ1aWxkQ29udGV4dCBjb250ZXh0KSB7CiAgICAvLyBpZ25vcmU6IGludmFsaWRfdXNlX29mX3Zpc2libGVfZm9yX3Rlc3RpbmdfbWVtYmVyCiAgICByZXR1cm4ge3twcm9qZWN0X25hbWUucGFzY2FsQ2FzZSgpfX1BcHAudGVzdCgKICAgICAgbG9jYWxlOiBsb2NhbGUsCiAgICAgIGxvY2FsaXphdGlvbnNEZWxlZ2F0ZXM6IGxvY2FsaXphdGlvbnNEZWxlZ2F0ZXMsCiAgICAgIGhvbWU6IHdpZGdldCwKICAgICAgdGhlbWVNb2RlOiB0aGVtZU1vZGUsCiAgICApOwogIH0KfQp7ey93ZWJ9fXt7I3dpbmRvd3N9fWltcG9ydCAncGFja2FnZTphdXRvX3JvdXRlL2F1dG9fcm91dGUuZGFydCc7CmltcG9ydCAncGFja2FnZTp7e3Byb2plY3RfbmFtZX19X3VpX3dpbmRvd3Mve3twcm9qZWN0X25hbWV9fV91aV93aW5kb3dzLmRhcnQnOwppbXBvcnQgJ3BhY2thZ2U6e3twcm9qZWN0X25hbWV9fV93aW5kb3dzX2xvY2FsaXphdGlvbi97e3Byb2plY3RfbmFtZX19X3dpbmRvd3NfbG9jYWxpemF0aW9uLmRhcnQnOwoKYWJzdHJhY3QgY2xhc3MgQXBwIGV4dGVuZHMgU3RhdGVsZXNzV2lkZ2V0IHsKICBjb25zdCBmYWN0b3J5IEFwcCh7CiAgICBLZXk/IGtleSwKICAgIHJlcXVpcmVkIFJvb3RTdGFja1JvdXRlciByb3V0ZXIsCiAgICBMaXN0PE5hdmlnYXRvck9ic2VydmVyPiBGdW5jdGlvbigpPyBuYXZpZ2F0b3JPYnNlcnZlckJ1aWxkZXIsCiAgfSkgPSBfQXBwOwoKICBAdmlzaWJsZUZvclRlc3RpbmcKICBjb25zdCBmYWN0b3J5IEFwcC50ZXN0KHsKICAgIEtleT8ga2V5LAogICAgTG9jYWxlPyBsb2NhbGUsCiAgICByZXF1aXJlZCBSb290U3RhY2tSb3V0ZXIgcm91dGVyLAogICAgTGlzdDxQYWdlUm91dGVJbmZvPGR5bmFtaWM+Pj8gaW5pdGlhbFJvdXRlcywKICAgIE5hdmlnYXRvck9ic2VydmVyPyBuYXZpZ2F0b3JPYnNlcnZlciwKICAgIFRoZW1lTW9kZT8gdGhlbWVNb2RlLAogIH0pID0gX0FwcFRlc3Q7CgogIEB2aXNpYmxlRm9yVGVzdGluZwogIGNvbnN0IGZhY3RvcnkgQXBwLnRlc3RXaWRnZXQoewogICAgS2V5PyBrZXksCiAgICByZXF1aXJlZCBXaWRnZXQgd2lkZ2V0LAogICAgTG9jYWxlPyBsb2NhbGUsCiAgICBUaGVtZU1vZGU/IHRoZW1lTW9kZSwKICB9KSA9IF9BcHBUZXN0V2lkZ2V0OwoKICBjb25zdCBBcHAuXyh7CiAgICBzdXBlci5rZXksCiAgICB0aGlzLnJvdXRlciwKICB9KSAgOiBzdXBwb3J0ZWRMb2NhbGVzID0ge3twcm9qZWN0X25hbWUucGFzY2FsQ2FzZSgpfX1Mb2NhbGl6YXRpb25zLnN1cHBvcnRlZExvY2FsZXMsCiAgICAgICAgbG9jYWxpemF0aW9uc0RlbGVnYXRlcyA9IGNvbnN0IFsKICAgICAgICAgIHt7cHJvamVjdF9uYW1lLnBhc2NhbENhc2UoKX19TG9jYWxpemF0aW9ucy5kZWxlZ2F0ZSwKICAgICAgICBdOwoKICBmaW5hbCBMaXN0PExvY2FsZT4gc3VwcG9ydGVkTG9jYWxlczsKCiAgZmluYWwgTGlzdDxMb2NhbGl6YXRpb25zRGVsZWdhdGU8ZHluYW1pYz4+IGxvY2FsaXphdGlvbnNEZWxlZ2F0ZXM7CgogIGZpbmFsIFJvb3RTdGFja1JvdXRlcj8gcm91dGVyOwp9CgpjbGFzcyBfQXBwIGV4dGVuZHMgQXBwIHsKICBjb25zdCBfQXBwKHsKICAgIHN1cGVyLmtleSwKICAgIHJlcXVpcmVkIFJvb3RTdGFja1JvdXRlciBzdXBlci5yb3V0ZXIsCiAgICB0aGlzLm5hdmlnYXRvck9ic2VydmVyQnVpbGRlciwKICB9KSA6IHN1cGVyLl8oKTsKCiAgZmluYWwgTGlzdDxOYXZpZ2F0b3JPYnNlcnZlcj4gRnVuY3Rpb24oKT8gbmF2aWdhdG9yT2JzZXJ2ZXJCdWlsZGVyOwoKICBAb3ZlcnJpZGUKICBXaWRnZXQgYnVpbGQoQnVpbGRDb250ZXh0IGNvbnRleHQpIHsKICAgIHJldHVybiB7e3Byb2plY3RfbmFtZS5wYXNjYWxDYXNlKCl9fUFwcCgKICAgICAgc3VwcG9ydGVkTG9jYWxlczogc3VwcG9ydGVkTG9jYWxlcywKICAgICAgbG9jYWxpemF0aW9uc0RlbGVnYXRlczogbG9jYWxpemF0aW9uc0RlbGVnYXRlcywKICAgICAgcm91dGVyQ29uZmlnOiByb3V0ZXIhLmNvbmZpZygKICAgICAgICBuYXZpZ2F0b3JPYnNlcnZlcnM6IG5hdmlnYXRvck9ic2VydmVyQnVpbGRlciA/PwogICAgICAgICAgICBBdXRvUm91dGVyRGVsZWdhdGUuZGVmYXVsdE5hdmlnYXRvck9ic2VydmVyc0J1aWxkZXIsCiAgICAgICksCiAgICApOwogIH0KfQoKY2xhc3MgX0FwcFRlc3QgZXh0ZW5kcyBBcHAgewogIGNvbnN0IF9BcHBUZXN0KHsKICAgIHN1cGVyLmtleSwKICAgIHRoaXMubG9jYWxlLAogICAgcmVxdWlyZWQgUm9vdFN0YWNrUm91dGVyIHN1cGVyLnJvdXRlciwKICAgIHRoaXMuaW5pdGlhbFJvdXRlcywKICAgIHRoaXMubmF2aWdhdG9yT2JzZXJ2ZXIsCiAgICB0aGlzLnRoZW1lTW9kZSwKICB9KSA6IHN1cGVyLl8oKTsKCiAgZmluYWwgTG9jYWxlPyBsb2NhbGU7CgogIGZpbmFsIExpc3Q8UGFnZVJvdXRlSW5mbzxkeW5hbWljPj4/IGluaXRpYWxSb3V0ZXM7CgogIGZpbmFsIE5hdmlnYXRvck9ic2VydmVyPyBuYXZpZ2F0b3JPYnNlcnZlcjsKCiAgZmluYWwgVGhlbWVNb2RlPyB0aGVtZU1vZGU7CgogIEBvdmVycmlkZQogIFdpZGdldCBidWlsZChCdWlsZENvbnRleHQgY29udGV4dCkgewogICAgcmV0dXJuIHt7cHJvamVjdF9uYW1lLnBhc2NhbENhc2UoKX19QXBwKAogICAgICBsb2NhbGU6IGxvY2FsZSwKICAgICAgc3VwcG9ydGVkTG9jYWxlczogc3VwcG9ydGVkTG9jYWxlcywKICAgICAgbG9jYWxpemF0aW9uc0RlbGVnYXRlczogbG9jYWxpemF0aW9uc0RlbGVnYXRlcywKICAgICAgcm91dGVyQ29uZmlnOiByb3V0ZXIhLmNvbmZpZygKICAgICAgICBkZWVwTGlua0J1aWxkZXI6CiAgICAgICAgICAgIGluaXRpYWxSb3V0ZXMgIT0gbnVsbCA/IChfKSA9PiBEZWVwTGluayhpbml0aWFsUm91dGVzISkgOiBudWxsLAogICAgICAgIG5hdmlnYXRvck9ic2VydmVyczogbmF2aWdhdG9yT2JzZXJ2ZXIhPSBudWxsCiAgICAgICAgICAgID8gKCkgPT4gW25hdmlnYXRvck9ic2VydmVyIV0KICAgICAgICAgICAgOiBBdXRvUm91dGVyRGVsZWdhdGUuZGVmYXVsdE5hdmlnYXRvck9ic2VydmVyc0J1aWxkZXIsCiAgICAgICksCiAgICAgIHRoZW1lTW9kZTogdGhlbWVNb2RlLAogICAgKTsKICB9Cn0KCmNsYXNzIF9BcHBUZXN0V2lkZ2V0IGV4dGVuZHMgQXBwIHsKICBjb25zdCBfQXBwVGVzdFdpZGdldCh7CiAgICBzdXBlci5rZXksCiAgICByZXF1aXJlZCB0aGlzLndpZGdldCwKICAgIHRoaXMubG9jYWxlLAogICAgdGhpcy50aGVtZU1vZGUsCiAgfSkgOiBzdXBlci5fKCk7CgogIGZpbmFsIExvY2FsZT8gbG9jYWxlOwoKICBmaW5hbCBXaWRnZXQgd2lkZ2V0OwoKICBmaW5hbCBUaGVtZU1vZGU/IHRoZW1lTW9kZTsKCiAgQG92ZXJyaWRlCiAgV2lkZ2V0IGJ1aWxkKEJ1aWxkQ29udGV4dCBjb250ZXh0KSB7CiAgICAvLyBpZ25vcmU6IGludmFsaWRfdXNlX29mX3Zpc2libGVfZm9yX3Rlc3RpbmdfbWVtYmVyCiAgICByZXR1cm4ge3twcm9qZWN0X25hbWUucGFzY2FsQ2FzZSgpfX1BcHAudGVzdCgKICAgICAgbG9jYWxlOiBsb2NhbGUsCiAgICAgIGxvY2FsaXphdGlvbnNEZWxlZ2F0ZXM6IGxvY2FsaXphdGlvbnNEZWxlZ2F0ZXMsCiAgICAgIGhvbWU6IHdpZGdldCwKICAgICAgdGhlbWVNb2RlOiB0aGVtZU1vZGUsCiAgICApOwogIH0KfQp7ey93aW5kb3dzfX17eyNtb2JpbGV9fWltcG9ydCAncGFja2FnZTphdXRvX3JvdXRlL2F1dG9fcm91dGUuZGFydCc7CmltcG9ydCAncGFja2FnZTp7e3Byb2plY3RfbmFtZX19X3VpX21vYmlsZS97e3Byb2plY3RfbmFtZX19X3VpX21vYmlsZS5kYXJ0JzsKaW1wb3J0ICdwYWNrYWdlOnt7cHJvamVjdF9uYW1lfX1fbW9iaWxlX2xvY2FsaXphdGlvbi97e3Byb2plY3RfbmFtZX19X21vYmlsZV9sb2NhbGl6YXRpb24uZGFydCc7CgphYnN0cmFjdCBjbGFzcyBBcHAgZXh0ZW5kcyBTdGF0ZWxlc3NXaWRnZXQgewogIGNvbnN0IGZhY3RvcnkgQXBwKHsKICAgIEtleT8ga2V5LAogICAgcmVxdWlyZWQgUm9vdFN0YWNrUm91dGVyIHJvdXRlciwKICAgIExpc3Q8TmF2aWdhdG9yT2JzZXJ2ZXI+IEZ1bmN0aW9uKCk/IG5hdmlnYXRvck9ic2VydmVyQnVpbGRlciwKICB9KSA9IF9BcHA7CgogIEB2aXNpYmxlRm9yVGVzdGluZwogIGNvbnN0IGZhY3RvcnkgQXBwLnRlc3QoewogICAgS2V5PyBrZXksCiAgICBMb2NhbGU/IGxvY2FsZSwKICAgIHJlcXVpcmVkIFJvb3RTdGFja1JvdXRlciByb3V0ZXIsCiAgICBMaXN0PFBhZ2VSb3V0ZUluZm88ZHluYW1pYz4+PyBpbml0aWFsUm91dGVzLAogICAgTmF2aWdhdG9yT2JzZXJ2ZXI/IG5hdmlnYXRvck9ic2VydmVyLAogICAgVGhlbWVNb2RlPyB0aGVtZU1vZGUsCiAgfSkgPSBfQXBwVGVzdDsKCiAgQHZpc2libGVGb3JUZXN0aW5nCiAgY29uc3QgZmFjdG9yeSBBcHAudGVzdFdpZGdldCh7CiAgICBLZXk/IGtleSwKICAgIHJlcXVpcmVkIFdpZGdldCB3aWRnZXQsCiAgICBMb2NhbGU/IGxvY2FsZSwKICAgIFRoZW1lTW9kZT8gdGhlbWVNb2RlLAogIH0pID0gX0FwcFRlc3RXaWRnZXQ7CgogIGNvbnN0IEFwcC5fKHsKICAgIHN1cGVyLmtleSwKICAgIHRoaXMucm91dGVyLAogIH0pICA6IHN1cHBvcnRlZExvY2FsZXMgPSB7e3Byb2plY3RfbmFtZS5wYXNjYWxDYXNlKCl9fUxvY2FsaXphdGlvbnMuc3VwcG9ydGVkTG9jYWxlcywKICAgICAgICBsb2NhbGl6YXRpb25zRGVsZWdhdGVzID0gY29uc3QgWwogICAgICAgICAge3twcm9qZWN0X25hbWUucGFzY2FsQ2FzZSgpfX1Mb2NhbGl6YXRpb25zLmRlbGVnYXRlLAogICAgICAgIF07CgogIGZpbmFsIExpc3Q8TG9jYWxlPiBzdXBwb3J0ZWRMb2NhbGVzOwoKICBmaW5hbCBMaXN0PExvY2FsaXphdGlvbnNEZWxlZ2F0ZTxkeW5hbWljPj4gbG9jYWxpemF0aW9uc0RlbGVnYXRlczsKCiAgZmluYWwgUm9vdFN0YWNrUm91dGVyPyByb3V0ZXI7Cn0KCmNsYXNzIF9BcHAgZXh0ZW5kcyBBcHAgewogIGNvbnN0IF9BcHAoewogICAgc3VwZXIua2V5LAogICAgcmVxdWlyZWQgUm9vdFN0YWNrUm91dGVyIHN1cGVyLnJvdXRlciwKICAgIHRoaXMubmF2aWdhdG9yT2JzZXJ2ZXJCdWlsZGVyLAogIH0pIDogc3VwZXIuXygpOwoKICBmaW5hbCBMaXN0PE5hdmlnYXRvck9ic2VydmVyPiBGdW5jdGlvbigpPyBuYXZpZ2F0b3JPYnNlcnZlckJ1aWxkZXI7CgogIEBvdmVycmlkZQogIFdpZGdldCBidWlsZChCdWlsZENvbnRleHQgY29udGV4dCkgewogICAgcmV0dXJuIHt7cHJvamVjdF9uYW1lLnBhc2NhbENhc2UoKX19QXBwKAogICAgICBzdXBwb3J0ZWRMb2NhbGVzOiBzdXBwb3J0ZWRMb2NhbGVzLAogICAgICBsb2NhbGl6YXRpb25zRGVsZWdhdGVzOiBsb2NhbGl6YXRpb25zRGVsZWdhdGVzLAogICAgICByb3V0ZXJDb25maWc6IHJvdXRlciEuY29uZmlnKAogICAgICAgIG5hdmlnYXRvck9ic2VydmVyczogbmF2aWdhdG9yT2JzZXJ2ZXJCdWlsZGVyID8/CiAgICAgICAgICAgIEF1dG9Sb3V0ZXJEZWxlZ2F0ZS5kZWZhdWx0TmF2aWdhdG9yT2JzZXJ2ZXJzQnVpbGRlciwKICAgICAgKSwKICAgICk7CiAgfQp9CgpjbGFzcyBfQXBwVGVzdCBleHRlbmRzIEFwcCB7CiAgY29uc3QgX0FwcFRlc3QoewogICAgc3VwZXIua2V5LAogICAgdGhpcy5sb2NhbGUsCiAgICByZXF1aXJlZCBSb290U3RhY2tSb3V0ZXIgc3VwZXIucm91dGVyLAogICAgdGhpcy5pbml0aWFsUm91dGVzLAogICAgdGhpcy5uYXZpZ2F0b3JPYnNlcnZlciwKICAgIHRoaXMudGhlbWVNb2RlLAogIH0pIDogc3VwZXIuXygpOwoKICBmaW5hbCBMb2NhbGU/IGxvY2FsZTsKCiAgZmluYWwgTGlzdDxQYWdlUm91dGVJbmZvPGR5bmFtaWM+Pj8gaW5pdGlhbFJvdXRlczsKCiAgZmluYWwgTmF2aWdhdG9yT2JzZXJ2ZXI/IG5hdmlnYXRvck9ic2VydmVyOwoKICBmaW5hbCBUaGVtZU1vZGU/IHRoZW1lTW9kZTsKCiAgQG92ZXJyaWRlCiAgV2lkZ2V0IGJ1aWxkKEJ1aWxkQ29udGV4dCBjb250ZXh0KSB7CiAgICByZXR1cm4ge3twcm9qZWN0X25hbWUucGFzY2FsQ2FzZSgpfX1BcHAoCiAgICAgIGxvY2FsZTogbG9jYWxlLAogICAgICBzdXBwb3J0ZWRMb2NhbGVzOiBzdXBwb3J0ZWRMb2NhbGVzLAogICAgICBsb2NhbGl6YXRpb25zRGVsZWdhdGVzOiBsb2NhbGl6YXRpb25zRGVsZWdhdGVzLAogICAgICByb3V0ZXJDb25maWc6IHJvdXRlciEuY29uZmlnKAogICAgICAgIGRlZXBMaW5rQnVpbGRlcjoKICAgICAgICAgICAgaW5pdGlhbFJvdXRlcyAhPSBudWxsID8gKF8pID0+IERlZXBMaW5rKGluaXRpYWxSb3V0ZXMhKSA6IG51bGwsCiAgICAgICAgbmF2aWdhdG9yT2JzZXJ2ZXJzOiBuYXZpZ2F0b3JPYnNlcnZlciE9IG51bGwKICAgICAgICAgICAgPyAoKSA9PiBbbmF2aWdhdG9yT2JzZXJ2ZXIhXQogICAgICAgICAgICA6IEF1dG9Sb3V0ZXJEZWxlZ2F0ZS5kZWZhdWx0TmF2aWdhdG9yT2JzZXJ2ZXJzQnVpbGRlciwKICAgICAgKSwKICAgICAgdGhlbWVNb2RlOiB0aGVtZU1vZGUsCiAgICApOwogIH0KfQoKY2xhc3MgX0FwcFRlc3RXaWRnZXQgZXh0ZW5kcyBBcHAgewogIGNvbnN0IF9BcHBUZXN0V2lkZ2V0KHsKICAgIHN1cGVyLmtleSwKICAgIHJlcXVpcmVkIHRoaXMud2lkZ2V0LAogICAgdGhpcy5sb2NhbGUsCiAgICB0aGlzLnRoZW1lTW9kZSwKICB9KSA6IHN1cGVyLl8oKTsKCiAgZmluYWwgTG9jYWxlPyBsb2NhbGU7CgogIGZpbmFsIFdpZGdldCB3aWRnZXQ7CgogIGZpbmFsIFRoZW1lTW9kZT8gdGhlbWVNb2RlOwoKICBAb3ZlcnJpZGUKICBXaWRnZXQgYnVpbGQoQnVpbGRDb250ZXh0IGNvbnRleHQpIHsKICAgIC8vIGlnbm9yZTogaW52YWxpZF91c2Vfb2ZfdmlzaWJsZV9mb3JfdGVzdGluZ19tZW1iZXIKICAgIHJldHVybiB7e3Byb2plY3RfbmFtZS5wYXNjYWxDYXNlKCl9fUFwcC50ZXN0KAogICAgICBsb2NhbGU6IGxvY2FsZSwKICAgICAgbG9jYWxpemF0aW9uc0RlbGVnYXRlczogbG9jYWxpemF0aW9uc0RlbGVnYXRlcywKICAgICAgaG9tZTogd2lkZ2V0LAogICAgICB0aGVtZU1vZGU6IHRoZW1lTW9kZSwKICAgICk7CiAgfQp9Cnt7L21vYmlsZX19", "type": "text" }, { @@ -57,15 +57,10 @@ final platformAppFeaturePackageBundle = MasonBundle.fromJson({ "Ly8vIFRoZSBBcHAgZmVhdHVyZSBvZiB7e3Byb2plY3RfbmFtZS50aXRsZUNhc2UoKX19IGZvciB7eyNhbmRyb2lkfX1BbmRyb2lke3svYW5kcm9pZH19e3sjaW9zfX1pT1N7ey9pb3N9fXt7I2xpbnV4fX1MaW51eHt7L2xpbnV4fX17eyNtYWNvc319bWFjT1N7ey9tYWNvc319e3sjd2VifX1XZWJ7ey93ZWJ9fXt7I3dpbmRvd3N9fVdpbmRvd3N7ey93aW5kb3dzfX17eyNtb2JpbGV9fU1vYmlsZXt7L21vYmlsZX19LgovLy8KLy8vIFRvIHVzZSwgaW1wb3J0IGBwYWNrYWdlOnt7cHJvamVjdF9uYW1lfX1fe3twbGF0Zm9ybX19X2FwcC97e3Byb2plY3RfbmFtZX19X3t7cGxhdGZvcm19fV9hcHAuZGFydGAuCmxpYnJhcnkge3twcm9qZWN0X25hbWV9fV97e3BsYXRmb3JtfX1fYXBwOwoKZXhwb3J0ICdzcmMvaW5qZWN0aW9uLm1vZHVsZS5kYXJ0JzsKZXhwb3J0ICdzcmMvcHJlc2VudGF0aW9uL3ByZXNlbnRhdGlvbi5kYXJ0JzsK", "type": "text" }, - { - "path": "LICENSE", - "data": "VE9ETzogQWRkIHlvdXIgbGljZW5zZSBoZXJlLgo=", - "type": "text" - }, { "path": "pubspec.yaml", "data": - "bmFtZToge3twcm9qZWN0X25hbWV9fV97e3BsYXRmb3JtfX1fYXBwCmRlc2NyaXB0aW9uOiBUaGUgQXBwIGZlYXR1cmUuCnZlcnNpb246IDAuMC4xCnB1Ymxpc2hfdG86IG5vbmUKCmVudmlyb25tZW50OgogIHNkazogIj49My4xLjAgPDQuMC4wIgogIGZsdXR0ZXI6ICI+PTMuMTMuMCIKCmRlcGVuZGVuY2llczoKICBmbHV0dGVyOgogICAgc2RrOiBmbHV0dGVyCiAgbWV0YTogXjEuOS4xCiAgYmxvYzogXjguMS4yCiAgZnJlZXplZF9hbm5vdGF0aW9uOiBeMi40LjEKICBmbHV0dGVyX2Jsb2M6IF44LjEuMwogIGluamVjdGFibGU6IF4yLjMuMAogIGF1dG9fcm91dGU6IF43LjguMgogIHt7cHJvamVjdF9uYW1lfX1fZGk6CiAge3twcm9qZWN0X25hbWV9fV9kb21haW46CiAge3twcm9qZWN0X25hbWV9fV91aV97e3BsYXRmb3JtfX06CiAge3twcm9qZWN0X25hbWV9fV97e3BsYXRmb3JtfX1fbG9jYWxpemF0aW9uOgoKZGV2X2RlcGVuZGVuY2llczoKICBmbHV0dGVyX3Rlc3Q6CiAgICBzZGs6IGZsdXR0ZXIKICBibG9jX3Rlc3Q6IF45LjEuNAogIG1vY2t0YWlsOiBeMS4wLjAKICBidWlsZF9ydW5uZXI6IF4yLjQuNgogIGZyZWV6ZWQ6IF4yLjQuMQogIGluamVjdGFibGVfZ2VuZXJhdG9yOiBeMi40LjAKICBmbHV0dGVyX2dlbl9ydW5uZXI6IF41LjMuMQogIGJ1aWxkX3ZlcmlmeTogXjMuMS4wCgojIFRoZSBmb2xsb3dpbmcgc2VjdGlvbiBpcyBzcGVjaWZpYyB0byB0aGUgRmx1dHRlckdlbiBwYWNrYWdlLgojIFNlZTogaHR0cHM6Ly9wdWIuZGV2L3BhY2thZ2VzL2ZsdXR0ZXJfZ2VuI2NvbmZpZ3VyYXRpb24tZmlsZQpmbHV0dGVyX2dlbjoKICBvdXRwdXQ6IGxpYi9zcmMvCiAgIyBUbyBhZGQgc3VwcG9ydCBmb3Igc3ZnIHZpYSBmbHV0dGVyX3N2ZyBwYWNrYWdlCiAgIyBpbnRlZ3JhdGlvbnM6CiAgIyAgIGZsdXR0ZXJfc3ZnOiB0cnVlCgogIGFzc2V0czoKICAgIG91dHB1dHM6CiAgICAgIHBhY2thZ2VfcGFyYW1ldGVyX2VuYWJsZWQ6IHRydWUKCiMgVGhlIGZvbGxvd2luZyBzZWN0aW9uIGlzIHNwZWNpZmljIHRvIEZsdXR0ZXIgcGFja2FnZXMuCmZsdXR0ZXI6Cnt7Xmlvc319e3tebWFjb3N9fSAgIyBUaGUgZm9sbG93aW5nIGxpbmUgZW5zdXJlcyB0aGF0IHRoZSBNYXRlcmlhbCBJY29ucyBmb250IGlzCiAgIyBpbmNsdWRlZCB3aXRoIHlvdXIgYXBwbGljYXRpb24sIHNvIHRoYXQgeW91IGNhbiB1c2UgdGhlIGljb25zIGluCiAgIyB0aGUgbWF0ZXJpYWwgSWNvbnMgY2xhc3MuCiAgdXNlcy1tYXRlcmlhbC1kZXNpZ246IHRydWUKe3svbWFjb3N9fXt7L2lvc319ICAjIFRvIGFkZCBhc3NldHMgdG8geW91ciBwYWNrYWdlLCBhZGQgYW4gYXNzZXRzIHNlY3Rpb24sIGxpa2UgdGhpczoKICAjIGFzc2V0czoKICAjICAgLSBpbWFnZXMvYV9kb3RfYnVyci5qcGVnCiAgIyAgIC0gaW1hZ2VzL2FfZG90X2hhbS5qcGVnCiAgIwogICMgRm9yIGRldGFpbHMgcmVnYXJkaW5nIGFzc2V0cyBpbiBwYWNrYWdlcywgc2VlCiAgIyBodHRwczovL2ZsdXR0ZXIuZGV2L2Fzc2V0cy1hbmQtaW1hZ2VzLyNmcm9tLXBhY2thZ2VzCiAgIwogICMgQW4gaW1hZ2UgYXNzZXQgY2FuIHJlZmVyIHRvIG9uZSBvciBtb3JlIHJlc29sdXRpb24tc3BlY2lmaWMgInZhcmlhbnRzIiwgc2VlCiAgIyBodHRwczovL2ZsdXR0ZXIuZGV2L2Fzc2V0cy1hbmQtaW1hZ2VzLyNyZXNvbHV0aW9uLWF3YXJlCgogICMgVG8gYWRkIGN1c3RvbSBmb250cyB0byB5b3VyIHBhY2thZ2UsIGFkZCBhIGZvbnRzIHNlY3Rpb24gaGVyZSwKICAjIGluIHRoaXMgImZsdXR0ZXIiIHNlY3Rpb24uIEVhY2ggZW50cnkgaW4gdGhpcyBsaXN0IHNob3VsZCBoYXZlIGEKICAjICJmYW1pbHkiIGtleSB3aXRoIHRoZSBmb250IGZhbWlseSBuYW1lLCBhbmQgYSAiZm9udHMiIGtleSB3aXRoIGEKICAjIGxpc3QgZ2l2aW5nIHRoZSBhc3NldCBhbmQgb3RoZXIgZGVzY3JpcHRvcnMgZm9yIHRoZSBmb250LiBGb3IKICAjIGV4YW1wbGU6CiAgIyBmb250czoKICAjICAgLSBmYW1pbHk6IFNjaHlsZXIKICAjICAgICBmb250czoKICAjICAgICAgIC0gYXNzZXQ6IGZvbnRzL1NjaHlsZXItUmVndWxhci50dGYKICAjICAgICAgIC0gYXNzZXQ6IGZvbnRzL1NjaHlsZXItSXRhbGljLnR0ZgogICMgICAgICAgICBzdHlsZTogaXRhbGljCiAgIyAgIC0gZmFtaWx5OiBUcmFqYW4gUHJvCiAgIyAgICAgZm9udHM6CiAgIyAgICAgICAtIGFzc2V0OiBmb250cy9UcmFqYW5Qcm8udHRmCiAgIyAgICAgICAtIGFzc2V0OiBmb250cy9UcmFqYW5Qcm9fQm9sZC50dGYKICAjICAgICAgICAgd2VpZ2h0OiA3MDAKICAjCiAgIyBGb3IgZGV0YWlscyByZWdhcmRpbmcgZm9udHMgaW4gcGFja2FnZXMsIHNlZQogICMgaHR0cHM6Ly9mbHV0dGVyLmRldi9jdXN0b20tZm9udHMvI2Zyb20tcGFja2FnZXMK", + "bmFtZToge3twcm9qZWN0X25hbWV9fV97e3BsYXRmb3JtfX1fYXBwCmRlc2NyaXB0aW9uOiBUaGUgQXBwIGZlYXR1cmUuCnZlcnNpb246IDAuMS4wCnB1Ymxpc2hfdG86IG5vbmUKCmVudmlyb25tZW50OgogIHNkazogIj49My4xLjAgPDQuMC4wIgogIGZsdXR0ZXI6ICI+PTMuMTMuMCIKCmRlcGVuZGVuY2llczoKICBhdXRvX3JvdXRlOiBeNy44LjIKICBibG9jOiBeOC4xLjIKICBmbHV0dGVyOgogICAgc2RrOiBmbHV0dGVyCiAgZmx1dHRlcl9ibG9jOiBeOC4xLjMKICBmcmVlemVkX2Fubm90YXRpb246IF4yLjQuMQogIGluamVjdGFibGU6IF4yLjMuMAogIG1ldGE6IF4xLjkuMQogIHt7cHJvamVjdF9uYW1lfX1fZGk6CiAge3twcm9qZWN0X25hbWV9fV9kb21haW46CiAge3twcm9qZWN0X25hbWV9fV91aV97e3BsYXRmb3JtfX06CiAge3twcm9qZWN0X25hbWV9fV97e3BsYXRmb3JtfX1fbG9jYWxpemF0aW9uOgoKZGV2X2RlcGVuZGVuY2llczoKICBibG9jX3Rlc3Q6IF45LjEuNAogIGJ1aWxkX3J1bm5lcjogXjIuNC42CiAgYnVpbGRfdmVyaWZ5OiBeMy4xLjAKICBmbHV0dGVyX2dlbl9ydW5uZXI6IF41LjMuMQogIGZsdXR0ZXJfdGVzdDoKICAgIHNkazogZmx1dHRlcgogIGZyZWV6ZWQ6IF4yLjQuMQogIGluamVjdGFibGVfZ2VuZXJhdG9yOiBeMi40LjAKICBtb2NrdGFpbDogXjEuMC4wCgojIFRoZSBmb2xsb3dpbmcgc2VjdGlvbiBpcyBzcGVjaWZpYyB0byB0aGUgRmx1dHRlckdlbiBwYWNrYWdlLgojIFNlZTogaHR0cHM6Ly9wdWIuZGV2L3BhY2thZ2VzL2ZsdXR0ZXJfZ2VuI2NvbmZpZ3VyYXRpb24tZmlsZQpmbHV0dGVyX2dlbjoKICBvdXRwdXQ6IGxpYi9zcmMvCiAgIyBUbyBhZGQgc3VwcG9ydCBmb3Igc3ZnIHZpYSBmbHV0dGVyX3N2ZyBwYWNrYWdlCiAgIyBpbnRlZ3JhdGlvbnM6CiAgIyAgIGZsdXR0ZXJfc3ZnOiB0cnVlCiAgYXNzZXRzOgogICAgb3V0cHV0czoKICAgICAgcGFja2FnZV9wYXJhbWV0ZXJfZW5hYmxlZDogdHJ1ZQoKIyBUaGUgZm9sbG93aW5nIHNlY3Rpb24gaXMgc3BlY2lmaWMgdG8gRmx1dHRlciBwYWNrYWdlcy4KZmx1dHRlcjoKe3teaW9zfX17e15tYWNvc319ICAjIFRoZSBmb2xsb3dpbmcgbGluZSBlbnN1cmVzIHRoYXQgdGhlIE1hdGVyaWFsIEljb25zIGZvbnQgaXMKICAjIGluY2x1ZGVkIHdpdGggeW91ciBhcHBsaWNhdGlvbiwgc28gdGhhdCB5b3UgY2FuIHVzZSB0aGUgaWNvbnMgaW4KICAjIHRoZSBtYXRlcmlhbCBJY29ucyBjbGFzcy4KICB1c2VzLW1hdGVyaWFsLWRlc2lnbjogdHJ1ZQp7ey9tYWNvc319e3svaW9zfX0gICMgVG8gYWRkIGFzc2V0cyB0byB5b3VyIHBhY2thZ2UsIGFkZCBhbiBhc3NldHMgc2VjdGlvbiwgbGlrZSB0aGlzOgogICMgYXNzZXRzOgogICMgICAtIGltYWdlcy9hX2RvdF9idXJyLmpwZWcKICAjICAgLSBpbWFnZXMvYV9kb3RfaGFtLmpwZWcKICAjCiAgIyBGb3IgZGV0YWlscyByZWdhcmRpbmcgYXNzZXRzIGluIHBhY2thZ2VzLCBzZWUKICAjIGh0dHBzOi8vZmx1dHRlci5kZXYvYXNzZXRzLWFuZC1pbWFnZXMvI2Zyb20tcGFja2FnZXMKICAjCiAgIyBBbiBpbWFnZSBhc3NldCBjYW4gcmVmZXIgdG8gb25lIG9yIG1vcmUgcmVzb2x1dGlvbi1zcGVjaWZpYyAidmFyaWFudHMiLCBzZWUKICAjIGh0dHBzOi8vZmx1dHRlci5kZXYvYXNzZXRzLWFuZC1pbWFnZXMvI3Jlc29sdXRpb24tYXdhcmUKCiAgIyBUbyBhZGQgY3VzdG9tIGZvbnRzIHRvIHlvdXIgcGFja2FnZSwgYWRkIGEgZm9udHMgc2VjdGlvbiBoZXJlLAogICMgaW4gdGhpcyAiZmx1dHRlciIgc2VjdGlvbi4gRWFjaCBlbnRyeSBpbiB0aGlzIGxpc3Qgc2hvdWxkIGhhdmUgYQogICMgImZhbWlseSIga2V5IHdpdGggdGhlIGZvbnQgZmFtaWx5IG5hbWUsIGFuZCBhICJmb250cyIga2V5IHdpdGggYQogICMgbGlzdCBnaXZpbmcgdGhlIGFzc2V0IGFuZCBvdGhlciBkZXNjcmlwdG9ycyBmb3IgdGhlIGZvbnQuIEZvcgogICMgZXhhbXBsZToKICAjIGZvbnRzOgogICMgICAtIGZhbWlseTogU2NoeWxlcgogICMgICAgIGZvbnRzOgogICMgICAgICAgLSBhc3NldDogZm9udHMvU2NoeWxlci1SZWd1bGFyLnR0ZgogICMgICAgICAgLSBhc3NldDogZm9udHMvU2NoeWxlci1JdGFsaWMudHRmCiAgIyAgICAgICAgIHN0eWxlOiBpdGFsaWMKICAjICAgLSBmYW1pbHk6IFRyYWphbiBQcm8KICAjICAgICBmb250czoKICAjICAgICAgIC0gYXNzZXQ6IGZvbnRzL1RyYWphblByby50dGYKICAjICAgICAgIC0gYXNzZXQ6IGZvbnRzL1RyYWphblByb19Cb2xkLnR0ZgogICMgICAgICAgICB3ZWlnaHQ6IDcwMAogICMKICAjIEZvciBkZXRhaWxzIHJlZ2FyZGluZyBmb250cyBpbiBwYWNrYWdlcywgc2VlCiAgIyBodHRwczovL2ZsdXR0ZXIuZGV2L2N1c3RvbS1mb250cy8jZnJvbS1wYWNrYWdlcwo=", "type": "text" }, { @@ -74,12 +69,7 @@ final platformAppFeaturePackageBundle = MasonBundle.fromJson({ "IyBtZWxvc19tYW5hZ2VkX2RlcGVuZGVuY3lfb3ZlcnJpZGVzOiB7e3Byb2plY3RfbmFtZX19X2RpLHt7cHJvamVjdF9uYW1lfX1fZG9tYWluLHt7cHJvamVjdF9uYW1lfX1fdWkse3twcm9qZWN0X25hbWV9fV91aV97e3BsYXRmb3JtfX0se3twcm9qZWN0X25hbWV9fV97e3BsYXRmb3JtfX1fbG9jYWxpemF0aW9uCmRlcGVuZGVuY3lfb3ZlcnJpZGVzOgogIHt7cHJvamVjdF9uYW1lfX1fZGk6CiAgICBwYXRoOiAuLi8uLi8uLi97e3Byb2plY3RfbmFtZX19X2RpCiAge3twcm9qZWN0X25hbWV9fV9kb21haW46CiAgICBwYXRoOiAuLi8uLi8uLi97e3Byb2plY3RfbmFtZX19X2RvbWFpbi97e3Byb2plY3RfbmFtZX19X2RvbWFpbgogIHt7cHJvamVjdF9uYW1lfX1fdWk6CiAgICBwYXRoOiAuLi8uLi8uLi8uLi97e3Byb2plY3RfbmFtZX19X3VpL3t7cHJvamVjdF9uYW1lfX1fdWkKICB7e3Byb2plY3RfbmFtZX19X3VpX3t7cGxhdGZvcm19fToKICAgIHBhdGg6IC4uLy4uLy4uLy4uL3t7cHJvamVjdF9uYW1lfX1fdWkve3twcm9qZWN0X25hbWV9fV91aV97e3BsYXRmb3JtfX0KICB7e3Byb2plY3RfbmFtZX19X3t7cGxhdGZvcm19fV9sb2NhbGl6YXRpb246CiAgICBwYXRoOiAuLi8uLi97e3Byb2plY3RfbmFtZX19X3t7cGxhdGZvcm19fV9sb2NhbGl6YXRpb24K", "type": "text" }, - { - "path": "README.md", - "data": - "PCEtLQpUaGlzIFJFQURNRSBkZXNjcmliZXMgdGhlIHBhY2thZ2UuIElmIHlvdSBwdWJsaXNoIHRoaXMgcGFja2FnZSB0byBwdWIuZGV2LAp0aGlzIFJFQURNRSdzIGNvbnRlbnRzIGFwcGVhciBvbiB0aGUgbGFuZGluZyBwYWdlIGZvciB5b3VyIHBhY2thZ2UuCgpGb3IgaW5mb3JtYXRpb24gYWJvdXQgaG93IHRvIHdyaXRlIGEgZ29vZCBwYWNrYWdlIFJFQURNRSwgc2VlIHRoZSBndWlkZSBmb3IKW3dyaXRpbmcgcGFja2FnZSBwYWdlc10oaHR0cHM6Ly9kYXJ0LmRldi9ndWlkZXMvbGlicmFyaWVzL3dyaXRpbmctcGFja2FnZS1wYWdlcykuCgpGb3IgZ2VuZXJhbCBpbmZvcm1hdGlvbiBhYm91dCBkZXZlbG9waW5nIHBhY2thZ2VzLCBzZWUgdGhlIERhcnQgZ3VpZGUgZm9yCltjcmVhdGluZyBwYWNrYWdlc10oaHR0cHM6Ly9kYXJ0LmRldi9ndWlkZXMvbGlicmFyaWVzL2NyZWF0ZS1saWJyYXJ5LXBhY2thZ2VzKQphbmQgdGhlIEZsdXR0ZXIgZ3VpZGUgZm9yCltkZXZlbG9waW5nIHBhY2thZ2VzIGFuZCBwbHVnaW5zXShodHRwczovL2ZsdXR0ZXIuZGV2L2RldmVsb3BpbmctcGFja2FnZXMpLgotLT4KClRPRE86IFB1dCBhIHNob3J0IGRlc2NyaXB0aW9uIG9mIHRoZSBwYWNrYWdlIGhlcmUgdGhhdCBoZWxwcyBwb3RlbnRpYWwgdXNlcnMKa25vdyB3aGV0aGVyIHRoaXMgcGFja2FnZSBtaWdodCBiZSB1c2VmdWwgZm9yIHRoZW0uCgojIyBGZWF0dXJlcwoKVE9ETzogTGlzdCB3aGF0IHlvdXIgcGFja2FnZSBjYW4gZG8uIE1heWJlIGluY2x1ZGUgaW1hZ2VzLCBnaWZzLCBvciB2aWRlb3MuCgojIyBHZXR0aW5nIHN0YXJ0ZWQKClRPRE86IExpc3QgcHJlcmVxdWlzaXRlcyBhbmQgcHJvdmlkZSBvciBwb2ludCB0byBpbmZvcm1hdGlvbiBvbiBob3cgdG8Kc3RhcnQgdXNpbmcgdGhlIHBhY2thZ2UuCgojIyBVc2FnZQoKVE9ETzogSW5jbHVkZSBzaG9ydCBhbmQgdXNlZnVsIGV4YW1wbGVzIGZvciBwYWNrYWdlIHVzZXJzLiBBZGQgbG9uZ2VyIGV4YW1wbGVzCnRvIGAvZXhhbXBsZWAgZm9sZGVyLgoKYGBgZGFydApjb25zdCBsaWtlID0gJ3NhbXBsZSc7CmBgYAoKIyMgQWRkaXRpb25hbCBpbmZvcm1hdGlvbgoKVE9ETzogVGVsbCB1c2VycyBtb3JlIGFib3V0IHRoZSBwYWNrYWdlOiB3aGVyZSB0byBmaW5kIG1vcmUgaW5mb3JtYXRpb24sIGhvdyB0bwpjb250cmlidXRlIHRvIHRoZSBwYWNrYWdlLCBob3cgdG8gZmlsZSBpc3N1ZXMsIHdoYXQgcmVzcG9uc2UgdGhleSBjYW4gZXhwZWN0CmZyb20gdGhlIHBhY2thZ2UgYXV0aG9ycywgYW5kIG1vcmUuCg==", - "type": "text" - }, + {"path": "README.md", "data": "", "type": "text"}, { "path": "test/ensure_build_test.dart", "data": diff --git a/packages/rapid_cli/lib/src/project/bundles/platform_flow_feature_package_bundle.dart b/packages/rapid_cli/lib/src/project/bundles/platform_flow_feature_package_bundle.dart index c3124a4d6..14af62f90 100644 --- a/packages/rapid_cli/lib/src/project/bundles/platform_flow_feature_package_bundle.dart +++ b/packages/rapid_cli/lib/src/project/bundles/platform_flow_feature_package_bundle.dart @@ -8,18 +8,18 @@ final platformFlowFeaturePackageBundle = MasonBundle.fromJson({ { "path": ".gitignore", "data": - "IyBNaXNjZWxsYW5lb3VzCiouY2xhc3MKKi5sb2cKKi5weWMKKi5zd3AKLkRTX1N0b3JlCi5hdG9tLwouYnVpbGRsb2cvCi5oaXN0b3J5Ci5zdm4vCm1pZ3JhdGVfd29ya2luZ19kaXIvCgojIEludGVsbGlKIHJlbGF0ZWQKKi5pbWwKKi5pcHIKKi5pd3MKLmlkZWEvCgojIFRoZSAudnNjb2RlIGZvbGRlciBjb250YWlucyBsYXVuY2ggY29uZmlndXJhdGlvbiBhbmQgdGFza3MgeW91IGNvbmZpZ3VyZSBpbgojIFZTIENvZGUgd2hpY2ggeW91IG1heSB3aXNoIHRvIGJlIGluY2x1ZGVkIGluIHZlcnNpb24gY29udHJvbCwgc28gdGhpcyBsaW5lCiMgaXMgY29tbWVudGVkIG91dCBieSBkZWZhdWx0LgojLnZzY29kZS8KCiMgRmx1dHRlci9EYXJ0L1B1YiByZWxhdGVkCioqL2RvYy9hcGkvCioqL2lvcy9GbHV0dGVyLy5sYXN0X2J1aWxkX2lkCi5kYXJ0X3Rvb2wvCi5mbHV0dGVyLXBsdWdpbnMKLmZsdXR0ZXItcGx1Z2lucy1kZXBlbmRlbmNpZXMKLnBhY2thZ2VzCi5wdWItY2FjaGUvCi5wdWIvCi9idWlsZC8KL2NvdmVyYWdlCgojIEFsY2hlbWlzdAp0ZXN0LyoqL2dvbGRlbnMvKiovKi4qCnRlc3QvKiovZmFpbHVyZXMvKiovKi4qCiF0ZXN0LyoqL2dvbGRlbnMvY2kvKi4q", + "IyBNaXNjZWxsYW5lb3VzCiouY2xhc3MKKi5sb2cKKi5weWMKKi5zd3AKLkRTX1N0b3JlCi5hdG9tLwouYnVpbGRsb2cvCi5oaXN0b3J5Ci5zdm4vCm1pZ3JhdGVfd29ya2luZ19kaXIvCgojIEludGVsbGlKIHJlbGF0ZWQKKi5pbWwKKi5pcHIKKi5pd3MKLmlkZWEvCgojIEZsdXR0ZXIvRGFydC9QdWIgcmVsYXRlZAoqKi9kb2MvYXBpLwoqKi9pb3MvRmx1dHRlci8ubGFzdF9idWlsZF9pZAouZGFydF90b29sLwouZmx1dHRlci1wbHVnaW5zCi5mbHV0dGVyLXBsdWdpbnMtZGVwZW5kZW5jaWVzCi5wYWNrYWdlcwoucHViLWNhY2hlLwoucHViLwovYnVpbGQvCi9jb3ZlcmFnZQoKIyBBbGNoZW1pc3QKdGVzdC8qKi9nb2xkZW5zLyoqLyouKgp0ZXN0LyoqL2ZhaWx1cmVzLyoqLyouKgohdGVzdC8qKi9nb2xkZW5zL2NpLyouKg==", "type": "text" }, { "path": "analysis_options.yaml", "data": - "aW5jbHVkZTogLi4vLi4vLi4vLi4vLi4vYW5hbHlzaXNfb3B0aW9ucy55YW1sCiMgVW5jb21tZW50IHRoZSBmb2xsb3dpbmcgc2VjdGlvbiB0byBzcGVjaWZ5IGFkZGl0aW9uYWwgcnVsZXMuCgojIGxpbnRlcjoKIyAgIHJ1bGVzOgojICAgICAtIGNhbWVsX2Nhc2VfdHlwZXMK", + "aW5jbHVkZTogLi4vLi4vLi4vLi4vLi4vYW5hbHlzaXNfb3B0aW9ucy55YW1sCg==", "type": "text" }, { "path": "CHANGELOG.md", - "data": "IyMgMC4wLjEKCiogVE9ETzogRGVzY3JpYmUgaW5pdGlhbCByZWxlYXNlLgo=", + "data": "IyMgMC4xLjAKCiogVE9ETzogRGVzY3JpYmUgaW5pdGlhbCByZWxlYXNlLgo=", "type": "text" }, { @@ -70,15 +70,10 @@ final platformFlowFeaturePackageBundle = MasonBundle.fromJson({ "Ly8vIFRoZSB7e25hbWUudGl0bGVDYXNlKCl9fSBmZWF0dXJlIG9mIHt7cHJvamVjdF9uYW1lLnRpdGxlQ2FzZSgpfX0gZm9yIHt7I2FuZHJvaWR9fUFuZHJvaWR7ey9hbmRyb2lkfX17eyNpb3N9fWlPU3t7L2lvc319e3sjbGludXh9fUxpbnV4e3svbGludXh9fXt7I21hY29zfX1tYWNPU3t7L21hY29zfX17eyN3ZWJ9fVdlYnt7L3dlYn19e3sjd2luZG93c319V2luZG93c3t7L3dpbmRvd3N9fXt7I21vYmlsZX19TW9iaWxle3svbW9iaWxlfX0uCi8vLwovLy8gVG8gdXNlLCBpbXBvcnQgYHBhY2thZ2U6e3twcm9qZWN0X25hbWV9fV97e3BsYXRmb3JtfX1fe3tuYW1lfX0ve3twcm9qZWN0X25hbWV9fV97e3BsYXRmb3JtfX1fe3tuYW1lfX0uZGFydGAuCmxpYnJhcnkge3twcm9qZWN0X25hbWV9fV97e3BsYXRmb3JtfX1fe3tuYW1lfX07CgpleHBvcnQgJ3NyYy9pbmplY3Rpb24ubW9kdWxlLmRhcnQnOwpleHBvcnQgJ3NyYy9wcmVzZW50YXRpb24vcHJlc2VudGF0aW9uLmRhcnQnOwo=", "type": "text" }, - { - "path": "LICENSE", - "data": "VE9ETzogQWRkIHlvdXIgbGljZW5zZSBoZXJlLgo=", - "type": "text" - }, { "path": "pubspec.yaml", "data": - "bmFtZToge3twcm9qZWN0X25hbWV9fV97e3BsYXRmb3JtfX1fe3tuYW1lfX0KZGVzY3JpcHRpb246IHt7ZGVzY3JpcHRpb259fQp2ZXJzaW9uOiAwLjAuMQpwdWJsaXNoX3RvOiBub25lCgplbnZpcm9ubWVudDoKICBzZGs6ICI+PTMuMS4wIDw0LjAuMCIKICBmbHV0dGVyOiAiPj0zLjEzLjAiCgpkZXBlbmRlbmNpZXM6CiAgZmx1dHRlcjoKICAgIHNkazogZmx1dHRlcgogIG1ldGE6IF4xLjkuMQogIGJsb2M6IF44LjEuMgogIGZyZWV6ZWRfYW5ub3RhdGlvbjogXjIuNC4xCiAgZmx1dHRlcl9ibG9jOiBeOC4xLjMKICBhdXRvX3JvdXRlOiBeNy44LjIKICBpbmplY3RhYmxlOiBeMi4zLjAKICB7e3Byb2plY3RfbmFtZX19X2RpOgogIHt7cHJvamVjdF9uYW1lfX1fZG9tYWluOgogIHt7cHJvamVjdF9uYW1lfX1fdWlfe3twbGF0Zm9ybX19OgogIHt7cHJvamVjdF9uYW1lfX1fe3twbGF0Zm9ybX19X2xvY2FsaXphdGlvbjoKICB7e3Byb2plY3RfbmFtZX19X3t7cGxhdGZvcm19fV9uYXZpZ2F0aW9uOgoKZGV2X2RlcGVuZGVuY2llczoKICBmbHV0dGVyX3Rlc3Q6CiAgICBzZGs6IGZsdXR0ZXIKICBhbGNoZW1pc3Q6IF4wLjYuMQogIGJsb2NfdGVzdDogXjkuMS40CiAgbW9ja3RhaWw6IF4xLjAuMAogIGJ1aWxkX3J1bm5lcjogXjIuNC42CiAgZnJlZXplZDogXjIuNC4xCiAgYXV0b19yb3V0ZV9nZW5lcmF0b3I6IF43LjMuMQogIGluamVjdGFibGVfZ2VuZXJhdG9yOiBeMi40LjAKICBmbHV0dGVyX2dlbl9ydW5uZXI6IF41LjMuMQogIGJ1aWxkX3ZlcmlmeTogXjMuMS4wCiAge3twcm9qZWN0X25hbWV9fV97e3BsYXRmb3JtfX1fYXBwOgoKIyBUaGUgZm9sbG93aW5nIHNlY3Rpb24gaXMgc3BlY2lmaWMgdG8gdGhlIEZsdXR0ZXJHZW4gcGFja2FnZS4KIyBTZWU6IGh0dHBzOi8vcHViLmRldi9wYWNrYWdlcy9mbHV0dGVyX2dlbiNjb25maWd1cmF0aW9uLWZpbGUKZmx1dHRlcl9nZW46CiAgb3V0cHV0OiBsaWIvc3JjLwogICMgVG8gYWRkIHN1cHBvcnQgZm9yIHN2ZyB2aWEgZmx1dHRlcl9zdmcgcGFja2FnZQogICMgaW50ZWdyYXRpb25zOgogICMgICBmbHV0dGVyX3N2ZzogdHJ1ZQoKICBhc3NldHM6CiAgICBvdXRwdXRzOgogICAgICBwYWNrYWdlX3BhcmFtZXRlcl9lbmFibGVkOiB0cnVlCgoKIyBUaGUgZm9sbG93aW5nIHNlY3Rpb24gaXMgc3BlY2lmaWMgdG8gRmx1dHRlciBwYWNrYWdlcy4KZmx1dHRlcjoKe3teaW9zfX17e15tYWNvc319ICAjIFRoZSBmb2xsb3dpbmcgbGluZSBlbnN1cmVzIHRoYXQgdGhlIE1hdGVyaWFsIEljb25zIGZvbnQgaXMKICAjIGluY2x1ZGVkIHdpdGggeW91ciBhcHBsaWNhdGlvbiwgc28gdGhhdCB5b3UgY2FuIHVzZSB0aGUgaWNvbnMgaW4KICAjIHRoZSBtYXRlcmlhbCBJY29ucyBjbGFzcy4KICB1c2VzLW1hdGVyaWFsLWRlc2lnbjogdHJ1ZQp7ey9tYWNvc319e3svaW9zfX0gICMgVG8gYWRkIGFzc2V0cyB0byB5b3VyIHBhY2thZ2UsIGFkZCBhbiBhc3NldHMgc2VjdGlvbiwgbGlrZSB0aGlzOgogICMgYXNzZXRzOgogICMgICAtIGltYWdlcy9hX2RvdF9idXJyLmpwZWcKICAjICAgLSBpbWFnZXMvYV9kb3RfaGFtLmpwZWcKICAjCiAgIyBGb3IgZGV0YWlscyByZWdhcmRpbmcgYXNzZXRzIGluIHBhY2thZ2VzLCBzZWUKICAjIGh0dHBzOi8vZmx1dHRlci5kZXYvYXNzZXRzLWFuZC1pbWFnZXMvI2Zyb20tcGFja2FnZXMKICAjCiAgIyBBbiBpbWFnZSBhc3NldCBjYW4gcmVmZXIgdG8gb25lIG9yIG1vcmUgcmVzb2x1dGlvbi1zcGVjaWZpYyAidmFyaWFudHMiLCBzZWUKICAjIGh0dHBzOi8vZmx1dHRlci5kZXYvYXNzZXRzLWFuZC1pbWFnZXMvI3Jlc29sdXRpb24tYXdhcmUKCiAgIyBUbyBhZGQgY3VzdG9tIGZvbnRzIHRvIHlvdXIgcGFja2FnZSwgYWRkIGEgZm9udHMgc2VjdGlvbiBoZXJlLAogICMgaW4gdGhpcyAiZmx1dHRlciIgc2VjdGlvbi4gRWFjaCBlbnRyeSBpbiB0aGlzIGxpc3Qgc2hvdWxkIGhhdmUgYQogICMgImZhbWlseSIga2V5IHdpdGggdGhlIGZvbnQgZmFtaWx5IG5hbWUsIGFuZCBhICJmb250cyIga2V5IHdpdGggYQogICMgbGlzdCBnaXZpbmcgdGhlIGFzc2V0IGFuZCBvdGhlciBkZXNjcmlwdG9ycyBmb3IgdGhlIGZvbnQuIEZvcgogICMgZXhhbXBsZToKICAjIGZvbnRzOgogICMgICAtIGZhbWlseTogU2NoeWxlcgogICMgICAgIGZvbnRzOgogICMgICAgICAgLSBhc3NldDogZm9udHMvU2NoeWxlci1SZWd1bGFyLnR0ZgogICMgICAgICAgLSBhc3NldDogZm9udHMvU2NoeWxlci1JdGFsaWMudHRmCiAgIyAgICAgICAgIHN0eWxlOiBpdGFsaWMKICAjICAgLSBmYW1pbHk6IFRyYWphbiBQcm8KICAjICAgICBmb250czoKICAjICAgICAgIC0gYXNzZXQ6IGZvbnRzL1RyYWphblByby50dGYKICAjICAgICAgIC0gYXNzZXQ6IGZvbnRzL1RyYWphblByb19Cb2xkLnR0ZgogICMgICAgICAgICB3ZWlnaHQ6IDcwMAogICMKICAjIEZvciBkZXRhaWxzIHJlZ2FyZGluZyBmb250cyBpbiBwYWNrYWdlcywgc2VlCiAgIyBodHRwczovL2ZsdXR0ZXIuZGV2L2N1c3RvbS1mb250cy8jZnJvbS1wYWNrYWdlcwo=", + "bmFtZToge3twcm9qZWN0X25hbWV9fV97e3BsYXRmb3JtfX1fe3tuYW1lfX0KZGVzY3JpcHRpb246IHt7ZGVzY3JpcHRpb259fQp2ZXJzaW9uOiAwLjEuMApwdWJsaXNoX3RvOiBub25lCgplbnZpcm9ubWVudDoKICBzZGs6ICI+PTMuMS4wIDw0LjAuMCIKICBmbHV0dGVyOiAiPj0zLjEzLjAiCgpkZXBlbmRlbmNpZXM6CiAgYXV0b19yb3V0ZTogXjcuOC4yCiAgYmxvYzogXjguMS4yCiAgZmx1dHRlcjoKICAgIHNkazogZmx1dHRlcgogIGZsdXR0ZXJfYmxvYzogXjguMS4zCiAgZnJlZXplZF9hbm5vdGF0aW9uOiBeMi40LjEKICBpbmplY3RhYmxlOiBeMi4zLjAKICBtZXRhOiBeMS45LjEKICB7e3Byb2plY3RfbmFtZX19X2RpOgogIHt7cHJvamVjdF9uYW1lfX1fZG9tYWluOgogIHt7cHJvamVjdF9uYW1lfX1fdWlfe3twbGF0Zm9ybX19OgogIHt7cHJvamVjdF9uYW1lfX1fe3twbGF0Zm9ybX19X2xvY2FsaXphdGlvbjoKICB7e3Byb2plY3RfbmFtZX19X3t7cGxhdGZvcm19fV9uYXZpZ2F0aW9uOgoKZGV2X2RlcGVuZGVuY2llczoKICBhbGNoZW1pc3Q6IF4wLjYuMQogIGF1dG9fcm91dGVfZ2VuZXJhdG9yOiBeNy4zLjEKICBibG9jX3Rlc3Q6IF45LjEuNAogIGJ1aWxkX3J1bm5lcjogXjIuNC42CiAgYnVpbGRfdmVyaWZ5OiBeMy4xLjAKICBmbHV0dGVyX2dlbl9ydW5uZXI6IF41LjMuMQogIGZsdXR0ZXJfdGVzdDoKICAgIHNkazogZmx1dHRlcgogIGZyZWV6ZWQ6IF4yLjQuMQogIGluamVjdGFibGVfZ2VuZXJhdG9yOiBeMi40LjAKICBtb2NrdGFpbDogXjEuMC4wCiAge3twcm9qZWN0X25hbWV9fV97e3BsYXRmb3JtfX1fYXBwOgoKIyBUaGUgZm9sbG93aW5nIHNlY3Rpb24gaXMgc3BlY2lmaWMgdG8gdGhlIEZsdXR0ZXJHZW4gcGFja2FnZS4KIyBTZWU6IGh0dHBzOi8vcHViLmRldi9wYWNrYWdlcy9mbHV0dGVyX2dlbiNjb25maWd1cmF0aW9uLWZpbGUKZmx1dHRlcl9nZW46CiAgb3V0cHV0OiBsaWIvc3JjLwogICMgVG8gYWRkIHN1cHBvcnQgZm9yIHN2ZyB2aWEgZmx1dHRlcl9zdmcgcGFja2FnZQogICMgaW50ZWdyYXRpb25zOgogICMgICBmbHV0dGVyX3N2ZzogdHJ1ZQogIGFzc2V0czoKICAgIG91dHB1dHM6CiAgICAgIHBhY2thZ2VfcGFyYW1ldGVyX2VuYWJsZWQ6IHRydWUKCiMgVGhlIGZvbGxvd2luZyBzZWN0aW9uIGlzIHNwZWNpZmljIHRvIEZsdXR0ZXIgcGFja2FnZXMuCmZsdXR0ZXI6Cnt7Xmlvc319e3tebWFjb3N9fSAgIyBUaGUgZm9sbG93aW5nIGxpbmUgZW5zdXJlcyB0aGF0IHRoZSBNYXRlcmlhbCBJY29ucyBmb250IGlzCiAgIyBpbmNsdWRlZCB3aXRoIHlvdXIgYXBwbGljYXRpb24sIHNvIHRoYXQgeW91IGNhbiB1c2UgdGhlIGljb25zIGluCiAgIyB0aGUgbWF0ZXJpYWwgSWNvbnMgY2xhc3MuCiAgdXNlcy1tYXRlcmlhbC1kZXNpZ246IHRydWUKe3svbWFjb3N9fXt7L2lvc319ICAjIFRvIGFkZCBhc3NldHMgdG8geW91ciBwYWNrYWdlLCBhZGQgYW4gYXNzZXRzIHNlY3Rpb24sIGxpa2UgdGhpczoKICAjIGFzc2V0czoKICAjICAgLSBpbWFnZXMvYV9kb3RfYnVyci5qcGVnCiAgIyAgIC0gaW1hZ2VzL2FfZG90X2hhbS5qcGVnCiAgIwogICMgRm9yIGRldGFpbHMgcmVnYXJkaW5nIGFzc2V0cyBpbiBwYWNrYWdlcywgc2VlCiAgIyBodHRwczovL2ZsdXR0ZXIuZGV2L2Fzc2V0cy1hbmQtaW1hZ2VzLyNmcm9tLXBhY2thZ2VzCiAgIwogICMgQW4gaW1hZ2UgYXNzZXQgY2FuIHJlZmVyIHRvIG9uZSBvciBtb3JlIHJlc29sdXRpb24tc3BlY2lmaWMgInZhcmlhbnRzIiwgc2VlCiAgIyBodHRwczovL2ZsdXR0ZXIuZGV2L2Fzc2V0cy1hbmQtaW1hZ2VzLyNyZXNvbHV0aW9uLWF3YXJlCgogICMgVG8gYWRkIGN1c3RvbSBmb250cyB0byB5b3VyIHBhY2thZ2UsIGFkZCBhIGZvbnRzIHNlY3Rpb24gaGVyZSwKICAjIGluIHRoaXMgImZsdXR0ZXIiIHNlY3Rpb24uIEVhY2ggZW50cnkgaW4gdGhpcyBsaXN0IHNob3VsZCBoYXZlIGEKICAjICJmYW1pbHkiIGtleSB3aXRoIHRoZSBmb250IGZhbWlseSBuYW1lLCBhbmQgYSAiZm9udHMiIGtleSB3aXRoIGEKICAjIGxpc3QgZ2l2aW5nIHRoZSBhc3NldCBhbmQgb3RoZXIgZGVzY3JpcHRvcnMgZm9yIHRoZSBmb250LiBGb3IKICAjIGV4YW1wbGU6CiAgIyBmb250czoKICAjICAgLSBmYW1pbHk6IFNjaHlsZXIKICAjICAgICBmb250czoKICAjICAgICAgIC0gYXNzZXQ6IGZvbnRzL1NjaHlsZXItUmVndWxhci50dGYKICAjICAgICAgIC0gYXNzZXQ6IGZvbnRzL1NjaHlsZXItSXRhbGljLnR0ZgogICMgICAgICAgICBzdHlsZTogaXRhbGljCiAgIyAgIC0gZmFtaWx5OiBUcmFqYW4gUHJvCiAgIyAgICAgZm9udHM6CiAgIyAgICAgICAtIGFzc2V0OiBmb250cy9UcmFqYW5Qcm8udHRmCiAgIyAgICAgICAtIGFzc2V0OiBmb250cy9UcmFqYW5Qcm9fQm9sZC50dGYKICAjICAgICAgICAgd2VpZ2h0OiA3MDAKICAjCiAgIyBGb3IgZGV0YWlscyByZWdhcmRpbmcgZm9udHMgaW4gcGFja2FnZXMsIHNlZQogICMgaHR0cHM6Ly9mbHV0dGVyLmRldi9jdXN0b20tZm9udHMvI2Zyb20tcGFja2FnZXMK", "type": "text" }, { @@ -87,12 +82,7 @@ final platformFlowFeaturePackageBundle = MasonBundle.fromJson({ "IyBtZWxvc19tYW5hZ2VkX2RlcGVuZGVuY3lfb3ZlcnJpZGVzOiB7e3Byb2plY3RfbmFtZX19X3t7cGxhdGZvcm19fV9hcHAse3twcm9qZWN0X25hbWV9fV97e3BsYXRmb3JtfX1fbmF2aWdhdGlvbix7e3Byb2plY3RfbmFtZX19X3t7cGxhdGZvcm19fV9sb2NhbGl6YXRpb24se3twcm9qZWN0X25hbWV9fV9kaSx7e3Byb2plY3RfbmFtZX19X2RvbWFpbix7e3Byb2plY3RfbmFtZX19X3VpLHt7cHJvamVjdF9uYW1lfX1fdWlfe3twbGF0Zm9ybX19CmRlcGVuZGVuY3lfb3ZlcnJpZGVzOgogIHt7cHJvamVjdF9uYW1lfX1fe3twbGF0Zm9ybX19X2FwcDoKICAgIHBhdGg6IC4uL3t7cHJvamVjdF9uYW1lfX1fe3twbGF0Zm9ybX19X2FwcAogIHt7cHJvamVjdF9uYW1lfX1fe3twbGF0Zm9ybX19X2xvY2FsaXphdGlvbjoKICAgIHBhdGg6IC4uLy4uL3t7cHJvamVjdF9uYW1lfX1fe3twbGF0Zm9ybX19X2xvY2FsaXphdGlvbgogIHt7cHJvamVjdF9uYW1lfX1fe3twbGF0Zm9ybX19X25hdmlnYXRpb246CiAgICBwYXRoOiAuLi8uLi97e3Byb2plY3RfbmFtZX19X3t7cGxhdGZvcm19fV9uYXZpZ2F0aW9uCiAge3twcm9qZWN0X25hbWV9fV9kaToKICAgIHBhdGg6IC4uLy4uLy4uL3t7cHJvamVjdF9uYW1lfX1fZGkKICB7e3Byb2plY3RfbmFtZX19X2RvbWFpbjoKICAgIHBhdGg6IC4uLy4uLy4uL3t7cHJvamVjdF9uYW1lfX1fZG9tYWluL3t7cHJvamVjdF9uYW1lfX1fZG9tYWluCiAge3twcm9qZWN0X25hbWV9fV91aToKICAgIHBhdGg6IC4uLy4uLy4uLy4uL3t7cHJvamVjdF9uYW1lfX1fdWkve3twcm9qZWN0X25hbWV9fV91aQogIHt7cHJvamVjdF9uYW1lfX1fdWlfe3twbGF0Zm9ybX19OgogICAgcGF0aDogLi4vLi4vLi4vLi4ve3twcm9qZWN0X25hbWV9fV91aS97e3Byb2plY3RfbmFtZX19X3VpX3t7cGxhdGZvcm19fQo=", "type": "text" }, - { - "path": "README.md", - "data": - "PCEtLQpUaGlzIFJFQURNRSBkZXNjcmliZXMgdGhlIHBhY2thZ2UuIElmIHlvdSBwdWJsaXNoIHRoaXMgcGFja2FnZSB0byBwdWIuZGV2LAp0aGlzIFJFQURNRSdzIGNvbnRlbnRzIGFwcGVhciBvbiB0aGUgbGFuZGluZyBwYWdlIGZvciB5b3VyIHBhY2thZ2UuCgpGb3IgaW5mb3JtYXRpb24gYWJvdXQgaG93IHRvIHdyaXRlIGEgZ29vZCBwYWNrYWdlIFJFQURNRSwgc2VlIHRoZSBndWlkZSBmb3IKW3dyaXRpbmcgcGFja2FnZSBwYWdlc10oaHR0cHM6Ly9kYXJ0LmRldi9ndWlkZXMvbGlicmFyaWVzL3dyaXRpbmctcGFja2FnZS1wYWdlcykuCgpGb3IgZ2VuZXJhbCBpbmZvcm1hdGlvbiBhYm91dCBkZXZlbG9waW5nIHBhY2thZ2VzLCBzZWUgdGhlIERhcnQgZ3VpZGUgZm9yCltjcmVhdGluZyBwYWNrYWdlc10oaHR0cHM6Ly9kYXJ0LmRldi9ndWlkZXMvbGlicmFyaWVzL2NyZWF0ZS1saWJyYXJ5LXBhY2thZ2VzKQphbmQgdGhlIEZsdXR0ZXIgZ3VpZGUgZm9yCltkZXZlbG9waW5nIHBhY2thZ2VzIGFuZCBwbHVnaW5zXShodHRwczovL2ZsdXR0ZXIuZGV2L2RldmVsb3BpbmctcGFja2FnZXMpLgotLT4KClRPRE86IFB1dCBhIHNob3J0IGRlc2NyaXB0aW9uIG9mIHRoZSBwYWNrYWdlIGhlcmUgdGhhdCBoZWxwcyBwb3RlbnRpYWwgdXNlcnMKa25vdyB3aGV0aGVyIHRoaXMgcGFja2FnZSBtaWdodCBiZSB1c2VmdWwgZm9yIHRoZW0uCgojIyBGZWF0dXJlcwoKVE9ETzogTGlzdCB3aGF0IHlvdXIgcGFja2FnZSBjYW4gZG8uIE1heWJlIGluY2x1ZGUgaW1hZ2VzLCBnaWZzLCBvciB2aWRlb3MuCgojIyBHZXR0aW5nIHN0YXJ0ZWQKClRPRE86IExpc3QgcHJlcmVxdWlzaXRlcyBhbmQgcHJvdmlkZSBvciBwb2ludCB0byBpbmZvcm1hdGlvbiBvbiBob3cgdG8Kc3RhcnQgdXNpbmcgdGhlIHBhY2thZ2UuCgojIyBVc2FnZQoKVE9ETzogSW5jbHVkZSBzaG9ydCBhbmQgdXNlZnVsIGV4YW1wbGVzIGZvciBwYWNrYWdlIHVzZXJzLiBBZGQgbG9uZ2VyIGV4YW1wbGVzCnRvIGAvZXhhbXBsZWAgZm9sZGVyLgoKYGBgZGFydApjb25zdCBsaWtlID0gJ3NhbXBsZSc7CmBgYAoKIyMgQWRkaXRpb25hbCBpbmZvcm1hdGlvbgoKVE9ETzogVGVsbCB1c2VycyBtb3JlIGFib3V0IHRoZSBwYWNrYWdlOiB3aGVyZSB0byBmaW5kIG1vcmUgaW5mb3JtYXRpb24sIGhvdyB0bwpjb250cmlidXRlIHRvIHRoZSBwYWNrYWdlLCBob3cgdG8gZmlsZSBpc3N1ZXMsIHdoYXQgcmVzcG9uc2UgdGhleSBjYW4gZXhwZWN0CmZyb20gdGhlIHBhY2thZ2UgYXV0aG9ycywgYW5kIG1vcmUuCg==", - "type": "text" - }, + {"path": "README.md", "data": "", "type": "text"}, { "path": "test/ensure_build_test.dart", "data": diff --git a/packages/rapid_cli/lib/src/project/bundles/platform_localization_package_bundle.dart b/packages/rapid_cli/lib/src/project/bundles/platform_localization_package_bundle.dart index 859d7baa1..ce820a21f 100644 --- a/packages/rapid_cli/lib/src/project/bundles/platform_localization_package_bundle.dart +++ b/packages/rapid_cli/lib/src/project/bundles/platform_localization_package_bundle.dart @@ -9,18 +9,17 @@ final platformLocalizationPackageBundle = { "path": ".gitignore", "data": - "IyBNaXNjZWxsYW5lb3VzCiouY2xhc3MKKi5sb2cKKi5weWMKKi5zd3AKLkRTX1N0b3JlCi5hdG9tLwouYnVpbGRsb2cvCi5oaXN0b3J5Ci5zdm4vCm1pZ3JhdGVfd29ya2luZ19kaXIvCgojIEludGVsbGlKIHJlbGF0ZWQKKi5pbWwKKi5pcHIKKi5pd3MKLmlkZWEvCgojIFRoZSAudnNjb2RlIGZvbGRlciBjb250YWlucyBsYXVuY2ggY29uZmlndXJhdGlvbiBhbmQgdGFza3MgeW91IGNvbmZpZ3VyZSBpbgojIFZTIENvZGUgd2hpY2ggeW91IG1heSB3aXNoIHRvIGJlIGluY2x1ZGVkIGluIHZlcnNpb24gY29udHJvbCwgc28gdGhpcyBsaW5lCiMgaXMgY29tbWVudGVkIG91dCBieSBkZWZhdWx0LgojLnZzY29kZS8KCiMgRmx1dHRlci9EYXJ0L1B1YiByZWxhdGVkCioqL2RvYy9hcGkvCioqL2lvcy9GbHV0dGVyLy5sYXN0X2J1aWxkX2lkCi5kYXJ0X3Rvb2wvCi5mbHV0dGVyLXBsdWdpbnMKLmZsdXR0ZXItcGx1Z2lucy1kZXBlbmRlbmNpZXMKLnBhY2thZ2VzCi5wdWItY2FjaGUvCi5wdWIvCi9idWlsZC8KL2NvdmVyYWdl", + "IyBNaXNjZWxsYW5lb3VzCiouY2xhc3MKKi5sb2cKKi5weWMKKi5zd3AKLkRTX1N0b3JlCi5hdG9tLwouYnVpbGRsb2cvCi5oaXN0b3J5Ci5zdm4vCm1pZ3JhdGVfd29ya2luZ19kaXIvCgojIEludGVsbGlKIHJlbGF0ZWQKKi5pbWwKKi5pcHIKKi5pd3MKLmlkZWEvCgojIEZsdXR0ZXIvRGFydC9QdWIgcmVsYXRlZAoqKi9kb2MvYXBpLwoqKi9pb3MvRmx1dHRlci8ubGFzdF9idWlsZF9pZAouZGFydF90b29sLwouZmx1dHRlci1wbHVnaW5zCi5mbHV0dGVyLXBsdWdpbnMtZGVwZW5kZW5jaWVzCi5wYWNrYWdlcwoucHViLWNhY2hlLwoucHViLwovYnVpbGQvCi9jb3ZlcmFnZQ==", "type": "text" }, { "path": "analysis_options.yaml", - "data": - "aW5jbHVkZTogLi4vLi4vLi4vLi4vYW5hbHlzaXNfb3B0aW9ucy55YW1sCiMgVW5jb21tZW50IHRoZSBmb2xsb3dpbmcgc2VjdGlvbiB0byBzcGVjaWZ5IGFkZGl0aW9uYWwgcnVsZXMuCgojIGxpbnRlcjoKIyAgIHJ1bGVzOgojICAgICAtIGNhbWVsX2Nhc2VfdHlwZXMK", + "data": "aW5jbHVkZTogLi4vLi4vLi4vLi4vYW5hbHlzaXNfb3B0aW9ucy55YW1sCg==", "type": "text" }, { "path": "CHANGELOG.md", - "data": "IyMgMS4wLjAKCi0gSW5pdGlhbCB2ZXJzaW9uLgo=", + "data": "IyMgMC4xLjAKCi0gSW5pdGlhbCB2ZXJzaW9uLgo=", "type": "text" }, { @@ -44,13 +43,12 @@ final platformLocalizationPackageBundle = { "path": "pubspec.yaml", "data": - "bmFtZToge3twcm9qZWN0X25hbWV9fV97e3BsYXRmb3JtfX1fbG9jYWxpemF0aW9uCmRlc2NyaXB0aW9uOiBMb2NhbGl6YXRpb24gb2Yge3twcm9qZWN0X25hbWUudGl0bGVDYXNlKCl9fS4KcHVibGlzaF90bzogbm9uZQp2ZXJzaW9uOiAxLjAuMAoKZW52aXJvbm1lbnQ6CiAgc2RrOiAiPj0zLjEuMCA8NC4wLjAiCiAgZmx1dHRlcjogIj49My4xMy4wIgoKZGVwZW5kZW5jaWVzOgogIGZsdXR0ZXI6CiAgICBzZGs6IGZsdXR0ZXIKICBmbHV0dGVyX2xvY2FsaXphdGlvbnM6CiAgICBzZGs6IGZsdXR0ZXIKICBpbnRsOiBhbnkKCmRldl9kZXBlbmRlbmNpZXM6CiAgZmx1dHRlcl90ZXN0OgogICAgc2RrOiBmbHV0dGVyCg==", + "bmFtZToge3twcm9qZWN0X25hbWV9fV97e3BsYXRmb3JtfX1fbG9jYWxpemF0aW9uCmRlc2NyaXB0aW9uOiBMb2NhbGl6YXRpb24gb2Yge3twcm9qZWN0X25hbWUudGl0bGVDYXNlKCl9fS4KcHVibGlzaF90bzogbm9uZQp2ZXJzaW9uOiAwLjEuMAoKZW52aXJvbm1lbnQ6CiAgc2RrOiAiPj0zLjEuMCA8NC4wLjAiCiAgZmx1dHRlcjogIj49My4xMy4wIgoKZGVwZW5kZW5jaWVzOgogIGZsdXR0ZXI6CiAgICBzZGs6IGZsdXR0ZXIKICBmbHV0dGVyX2xvY2FsaXphdGlvbnM6CiAgICBzZGs6IGZsdXR0ZXIKICBpbnRsOiBhbnkKCmRldl9kZXBlbmRlbmNpZXM6CiAgZmx1dHRlcl90ZXN0OgogICAgc2RrOiBmbHV0dGVyCg==", "type": "text" }, { "path": "README.md", - "data": - "IyB7e3Byb2plY3RfbmFtZX19X3t7cGxhdGZvcm19fV9sb2NhbGl6YXRpb24KCkEgbmV3IEZsdXR0ZXIgcHJvamVjdC4KCiMjIEdldHRpbmcgU3RhcnRlZAoKVGhpcyBwcm9qZWN0IGlzIGEgc3RhcnRpbmcgcG9pbnQgZm9yIGEgRmx1dHRlciBhcHBsaWNhdGlvbi4KCkEgZmV3IHJlc291cmNlcyB0byBnZXQgeW91IHN0YXJ0ZWQgaWYgdGhpcyBpcyB5b3VyIGZpcnN0IEZsdXR0ZXIgcHJvamVjdDoKCi0gW0xhYjogV3JpdGUgeW91ciBmaXJzdCBGbHV0dGVyIGFwcF0oaHR0cHM6Ly9kb2NzLmZsdXR0ZXIuZGV2L2dldC1zdGFydGVkL2NvZGVsYWIpCi0gW0Nvb2tib29rOiBVc2VmdWwgRmx1dHRlciBzYW1wbGVzXShodHRwczovL2RvY3MuZmx1dHRlci5kZXYvY29va2Jvb2spCgpGb3IgaGVscCBnZXR0aW5nIHN0YXJ0ZWQgd2l0aCBGbHV0dGVyIGRldmVsb3BtZW50LCB2aWV3IHRoZQpbb25saW5lIGRvY3VtZW50YXRpb25dKGh0dHBzOi8vZG9jcy5mbHV0dGVyLmRldi8pLCB3aGljaCBvZmZlcnMgdHV0b3JpYWxzLApzYW1wbGVzLCBndWlkYW5jZSBvbiBtb2JpbGUgZGV2ZWxvcG1lbnQsIGFuZCBhIGZ1bGwgQVBJIHJlZmVyZW5jZS4K", + "data": "IyB7e3Byb2plY3RfbmFtZX19X3t7cGxhdGZvcm19fV9sb2NhbGl6YXRpb24K", "type": "text" } ], diff --git a/packages/rapid_cli/lib/src/project/bundles/platform_navigation_package_bundle.dart b/packages/rapid_cli/lib/src/project/bundles/platform_navigation_package_bundle.dart index 176676c8e..aa77a71b5 100644 --- a/packages/rapid_cli/lib/src/project/bundles/platform_navigation_package_bundle.dart +++ b/packages/rapid_cli/lib/src/project/bundles/platform_navigation_package_bundle.dart @@ -8,18 +8,17 @@ final platformNavigationPackageBundle = MasonBundle.fromJson({ { "path": ".gitignore", "data": - "IyBNaXNjZWxsYW5lb3VzCiouY2xhc3MKKi5sb2cKKi5weWMKKi5zd3AKLkRTX1N0b3JlCi5hdG9tLwouYnVpbGRsb2cvCi5oaXN0b3J5Ci5zdm4vCm1pZ3JhdGVfd29ya2luZ19kaXIvCgojIEludGVsbGlKIHJlbGF0ZWQKKi5pbWwKKi5pcHIKKi5pd3MKLmlkZWEvCgojIFRoZSAudnNjb2RlIGZvbGRlciBjb250YWlucyBsYXVuY2ggY29uZmlndXJhdGlvbiBhbmQgdGFza3MgeW91IGNvbmZpZ3VyZSBpbgojIFZTIENvZGUgd2hpY2ggeW91IG1heSB3aXNoIHRvIGJlIGluY2x1ZGVkIGluIHZlcnNpb24gY29udHJvbCwgc28gdGhpcyBsaW5lCiMgaXMgY29tbWVudGVkIG91dCBieSBkZWZhdWx0LgojLnZzY29kZS8KCiMgRmx1dHRlci9EYXJ0L1B1YiByZWxhdGVkCioqL2RvYy9hcGkvCioqL2lvcy9GbHV0dGVyLy5sYXN0X2J1aWxkX2lkCi5kYXJ0X3Rvb2wvCi5mbHV0dGVyLXBsdWdpbnMKLmZsdXR0ZXItcGx1Z2lucy1kZXBlbmRlbmNpZXMKLnBhY2thZ2VzCi5wdWItY2FjaGUvCi5wdWIvCi9idWlsZC8KL2NvdmVyYWdlCg==", + "IyBNaXNjZWxsYW5lb3VzCiouY2xhc3MKKi5sb2cKKi5weWMKKi5zd3AKLkRTX1N0b3JlCi5hdG9tLwouYnVpbGRsb2cvCi5oaXN0b3J5Ci5zdm4vCm1pZ3JhdGVfd29ya2luZ19kaXIvCgojIEludGVsbGlKIHJlbGF0ZWQKKi5pbWwKKi5pcHIKKi5pd3MKLmlkZWEvCgojIEZsdXR0ZXIvRGFydC9QdWIgcmVsYXRlZAoqKi9kb2MvYXBpLwoqKi9pb3MvRmx1dHRlci8ubGFzdF9idWlsZF9pZAouZGFydF90b29sLwouZmx1dHRlci1wbHVnaW5zCi5mbHV0dGVyLXBsdWdpbnMtZGVwZW5kZW5jaWVzCi5wYWNrYWdlcwoucHViLWNhY2hlLwoucHViLwovYnVpbGQvCi9jb3ZlcmFnZQo=", "type": "text" }, { "path": "analysis_options.yaml", - "data": - "aW5jbHVkZTogLi4vLi4vLi4vLi4vYW5hbHlzaXNfb3B0aW9ucy55YW1sCiMgVW5jb21tZW50IHRoZSBmb2xsb3dpbmcgc2VjdGlvbiB0byBzcGVjaWZ5IGFkZGl0aW9uYWwgcnVsZXMuCgojIGxpbnRlcjoKIyAgIHJ1bGVzOgojICAgICAtIGNhbWVsX2Nhc2VfdHlwZXMK", + "data": "aW5jbHVkZTogLi4vLi4vLi4vLi4vYW5hbHlzaXNfb3B0aW9ucy55YW1sCg==", "type": "text" }, { "path": "CHANGELOG.md", - "data": "IyMgMS4wLjAKCi0gSW5pdGlhbCB2ZXJzaW9uLgo=", + "data": "IyMgMC4xLjAKCi0gSW5pdGlhbCB2ZXJzaW9uLgo=", "type": "text" }, { @@ -31,15 +30,10 @@ final platformNavigationPackageBundle = MasonBundle.fromJson({ { "path": "pubspec.yaml", "data": - "bmFtZToge3twcm9qZWN0X25hbWV9fV97e3BsYXRmb3JtfX1fbmF2aWdhdGlvbgpkZXNjcmlwdGlvbjogTmF2aWdhdGlvbiBvZiB7e3Byb2plY3RfbmFtZS50aXRsZUNhc2UoKX19LgpwdWJsaXNoX3RvOiBub25lCnZlcnNpb246IDEuMC4wCgplbnZpcm9ubWVudDoKICBzZGs6ICI+PTMuMS4wIDw0LjAuMCIKICBmbHV0dGVyOiAiPj0zLjEzLjAiCgpkZXBlbmRlbmNpZXM6CiAgZmx1dHRlcjoKICAgIHNkazogZmx1dHRlcgogIGF1dG9fcm91dGU6IF43LjguMgoKZGV2X2RlcGVuZGVuY2llczoKICB0ZXN0OiBeMS4yNC42Cg==", + "bmFtZToge3twcm9qZWN0X25hbWV9fV97e3BsYXRmb3JtfX1fbmF2aWdhdGlvbgpkZXNjcmlwdGlvbjogTmF2aWdhdGlvbiBvZiB7e3Byb2plY3RfbmFtZS50aXRsZUNhc2UoKX19LgpwdWJsaXNoX3RvOiBub25lCnZlcnNpb246IDAuMS4wCgplbnZpcm9ubWVudDoKICBzZGs6ICI+PTMuMS4wIDw0LjAuMCIKICBmbHV0dGVyOiAiPj0zLjEzLjAiCgpkZXBlbmRlbmNpZXM6CiAgYXV0b19yb3V0ZTogXjcuOC4yCiAgZmx1dHRlcjoKICAgIHNkazogZmx1dHRlcgoKZGV2X2RlcGVuZGVuY2llczoKICB0ZXN0OiBeMS4yNC42Cg==", "type": "text" }, - { - "path": "README.md", - "data": - "IyB0aW5rZXJfaW9fbWFjb3NfbmF2aWdhdGlvbgoKQSBuZXcgRmx1dHRlciBwcm9qZWN0LgoKIyMgR2V0dGluZyBTdGFydGVkCgpUaGlzIHByb2plY3QgaXMgYSBzdGFydGluZyBwb2ludCBmb3IgYSBGbHV0dGVyIGFwcGxpY2F0aW9uLgoKQSBmZXcgcmVzb3VyY2VzIHRvIGdldCB5b3Ugc3RhcnRlZCBpZiB0aGlzIGlzIHlvdXIgZmlyc3QgRmx1dHRlciBwcm9qZWN0OgoKLSBbTGFiOiBXcml0ZSB5b3VyIGZpcnN0IEZsdXR0ZXIgYXBwXShodHRwczovL2RvY3MuZmx1dHRlci5kZXYvZ2V0LXN0YXJ0ZWQvY29kZWxhYikKLSBbQ29va2Jvb2s6IFVzZWZ1bCBGbHV0dGVyIHNhbXBsZXNdKGh0dHBzOi8vZG9jcy5mbHV0dGVyLmRldi9jb29rYm9vaykKCkZvciBoZWxwIGdldHRpbmcgc3RhcnRlZCB3aXRoIEZsdXR0ZXIgZGV2ZWxvcG1lbnQsIHZpZXcgdGhlCltvbmxpbmUgZG9jdW1lbnRhdGlvbl0oaHR0cHM6Ly9kb2NzLmZsdXR0ZXIuZGV2LyksIHdoaWNoIG9mZmVycyB0dXRvcmlhbHMsCnNhbXBsZXMsIGd1aWRhbmNlIG9uIG1vYmlsZSBkZXZlbG9wbWVudCwgYW5kIGEgZnVsbCBBUEkgcmVmZXJlbmNlLgo=", - "type": "text" - } + {"path": "README.md", "data": "", "type": "text"} ], "hooks": [], "name": "platform_navigation_package", diff --git a/packages/rapid_cli/lib/src/project/bundles/platform_page_feature_package_bundle.dart b/packages/rapid_cli/lib/src/project/bundles/platform_page_feature_package_bundle.dart index 51e059bb5..ed9b99b60 100644 --- a/packages/rapid_cli/lib/src/project/bundles/platform_page_feature_package_bundle.dart +++ b/packages/rapid_cli/lib/src/project/bundles/platform_page_feature_package_bundle.dart @@ -8,18 +8,18 @@ final platformPageFeaturePackageBundle = MasonBundle.fromJson({ { "path": ".gitignore", "data": - "IyBNaXNjZWxsYW5lb3VzCiouY2xhc3MKKi5sb2cKKi5weWMKKi5zd3AKLkRTX1N0b3JlCi5hdG9tLwouYnVpbGRsb2cvCi5oaXN0b3J5Ci5zdm4vCm1pZ3JhdGVfd29ya2luZ19kaXIvCgojIEludGVsbGlKIHJlbGF0ZWQKKi5pbWwKKi5pcHIKKi5pd3MKLmlkZWEvCgojIFRoZSAudnNjb2RlIGZvbGRlciBjb250YWlucyBsYXVuY2ggY29uZmlndXJhdGlvbiBhbmQgdGFza3MgeW91IGNvbmZpZ3VyZSBpbgojIFZTIENvZGUgd2hpY2ggeW91IG1heSB3aXNoIHRvIGJlIGluY2x1ZGVkIGluIHZlcnNpb24gY29udHJvbCwgc28gdGhpcyBsaW5lCiMgaXMgY29tbWVudGVkIG91dCBieSBkZWZhdWx0LgojLnZzY29kZS8KCiMgRmx1dHRlci9EYXJ0L1B1YiByZWxhdGVkCioqL2RvYy9hcGkvCioqL2lvcy9GbHV0dGVyLy5sYXN0X2J1aWxkX2lkCi5kYXJ0X3Rvb2wvCi5mbHV0dGVyLXBsdWdpbnMKLmZsdXR0ZXItcGx1Z2lucy1kZXBlbmRlbmNpZXMKLnBhY2thZ2VzCi5wdWItY2FjaGUvCi5wdWIvCi9idWlsZC8KL2NvdmVyYWdlCgojIEFsY2hlbWlzdAp0ZXN0LyoqL2dvbGRlbnMvKiovKi4qCnRlc3QvKiovZmFpbHVyZXMvKiovKi4qCiF0ZXN0LyoqL2dvbGRlbnMvY2kvKi4q", + "IyBNaXNjZWxsYW5lb3VzCiouY2xhc3MKKi5sb2cKKi5weWMKKi5zd3AKLkRTX1N0b3JlCi5hdG9tLwouYnVpbGRsb2cvCi5oaXN0b3J5Ci5zdm4vCm1pZ3JhdGVfd29ya2luZ19kaXIvCgojIEludGVsbGlKIHJlbGF0ZWQKKi5pbWwKKi5pcHIKKi5pd3MKLmlkZWEvCgojIEZsdXR0ZXIvRGFydC9QdWIgcmVsYXRlZAoqKi9kb2MvYXBpLwoqKi9pb3MvRmx1dHRlci8ubGFzdF9idWlsZF9pZAouZGFydF90b29sLwouZmx1dHRlci1wbHVnaW5zCi5mbHV0dGVyLXBsdWdpbnMtZGVwZW5kZW5jaWVzCi5wYWNrYWdlcwoucHViLWNhY2hlLwoucHViLwovYnVpbGQvCi9jb3ZlcmFnZQoKIyBBbGNoZW1pc3QKdGVzdC8qKi9nb2xkZW5zLyoqLyouKgp0ZXN0LyoqL2ZhaWx1cmVzLyoqLyouKgohdGVzdC8qKi9nb2xkZW5zL2NpLyouKg==", "type": "text" }, { "path": "analysis_options.yaml", "data": - "aW5jbHVkZTogLi4vLi4vLi4vLi4vLi4vYW5hbHlzaXNfb3B0aW9ucy55YW1sCiMgVW5jb21tZW50IHRoZSBmb2xsb3dpbmcgc2VjdGlvbiB0byBzcGVjaWZ5IGFkZGl0aW9uYWwgcnVsZXMuCgojIGxpbnRlcjoKIyAgIHJ1bGVzOgojICAgICAtIGNhbWVsX2Nhc2VfdHlwZXMK", + "aW5jbHVkZTogLi4vLi4vLi4vLi4vLi4vYW5hbHlzaXNfb3B0aW9ucy55YW1sCg==", "type": "text" }, { "path": "CHANGELOG.md", - "data": "IyMgMC4wLjEKCiogVE9ETzogRGVzY3JpYmUgaW5pdGlhbCByZWxlYXNlLgo=", + "data": "IyMgMC4xLjAKCiogVE9ETzogRGVzY3JpYmUgaW5pdGlhbCByZWxlYXNlLgo=", "type": "text" }, { @@ -70,15 +70,10 @@ final platformPageFeaturePackageBundle = MasonBundle.fromJson({ "Ly8vIFRoZSB7e25hbWUudGl0bGVDYXNlKCl9fSBmZWF0dXJlIG9mIHt7cHJvamVjdF9uYW1lLnRpdGxlQ2FzZSgpfX0gZm9yIHt7I2FuZHJvaWR9fUFuZHJvaWR7ey9hbmRyb2lkfX17eyNpb3N9fWlPU3t7L2lvc319e3sjbGludXh9fUxpbnV4e3svbGludXh9fXt7I21hY29zfX1tYWNPU3t7L21hY29zfX17eyN3ZWJ9fVdlYnt7L3dlYn19e3sjd2luZG93c319V2luZG93c3t7L3dpbmRvd3N9fXt7I21vYmlsZX19TW9iaWxle3svbW9iaWxlfX0uCi8vLwovLy8gVG8gdXNlLCBpbXBvcnQgYHBhY2thZ2U6e3twcm9qZWN0X25hbWV9fV97e3BsYXRmb3JtfX1fe3tuYW1lfX0ve3twcm9qZWN0X25hbWV9fV97e3BsYXRmb3JtfX1fe3tuYW1lfX0uZGFydGAuCmxpYnJhcnkge3twcm9qZWN0X25hbWV9fV97e3BsYXRmb3JtfX1fe3tuYW1lfX07CgpleHBvcnQgJ3NyYy9pbmplY3Rpb24ubW9kdWxlLmRhcnQnOwpleHBvcnQgJ3NyYy9wcmVzZW50YXRpb24vcHJlc2VudGF0aW9uLmRhcnQnOwo=", "type": "text" }, - { - "path": "LICENSE", - "data": "VE9ETzogQWRkIHlvdXIgbGljZW5zZSBoZXJlLgo=", - "type": "text" - }, { "path": "pubspec.yaml", "data": - "bmFtZToge3twcm9qZWN0X25hbWV9fV97e3BsYXRmb3JtfX1fe3tuYW1lfX0KZGVzY3JpcHRpb246IHt7ZGVzY3JpcHRpb259fQp2ZXJzaW9uOiAwLjAuMQpwdWJsaXNoX3RvOiBub25lCgplbnZpcm9ubWVudDoKICBzZGs6ICI+PTMuMS4wIDw0LjAuMCIKICBmbHV0dGVyOiAiPj0zLjEzLjAiCgpkZXBlbmRlbmNpZXM6CiAgZmx1dHRlcjoKICAgIHNkazogZmx1dHRlcgogIG1ldGE6IF4xLjkuMQogIGJsb2M6IF44LjEuMgogIGZyZWV6ZWRfYW5ub3RhdGlvbjogXjIuNC4xCiAgZmx1dHRlcl9ibG9jOiBeOC4xLjMKICBhdXRvX3JvdXRlOiBeNy44LjIKICBpbmplY3RhYmxlOiBeMi4zLjAKICB7e3Byb2plY3RfbmFtZX19X2RpOgogIHt7cHJvamVjdF9uYW1lfX1fZG9tYWluOgogIHt7cHJvamVjdF9uYW1lfX1fdWlfe3twbGF0Zm9ybX19OgogIHt7cHJvamVjdF9uYW1lfX1fe3twbGF0Zm9ybX19X2xvY2FsaXphdGlvbjoKICB7e3Byb2plY3RfbmFtZX19X3t7cGxhdGZvcm19fV9uYXZpZ2F0aW9uOgoKZGV2X2RlcGVuZGVuY2llczoKICBmbHV0dGVyX3Rlc3Q6CiAgICBzZGs6IGZsdXR0ZXIKICBhbGNoZW1pc3Q6IF4wLjYuMQogIGJsb2NfdGVzdDogXjkuMS40CiAgbW9ja3RhaWw6IF4xLjAuMAogIGJ1aWxkX3J1bm5lcjogXjIuNC42CiAgZnJlZXplZDogXjIuNC4xCiAgYXV0b19yb3V0ZV9nZW5lcmF0b3I6IF43LjMuMQogIGluamVjdGFibGVfZ2VuZXJhdG9yOiBeMi40LjAKICBmbHV0dGVyX2dlbl9ydW5uZXI6IF41LjMuMQogIGJ1aWxkX3ZlcmlmeTogXjMuMS4wCiAge3twcm9qZWN0X25hbWV9fV97e3BsYXRmb3JtfX1fYXBwOgoKIyBUaGUgZm9sbG93aW5nIHNlY3Rpb24gaXMgc3BlY2lmaWMgdG8gdGhlIEZsdXR0ZXJHZW4gcGFja2FnZS4KIyBTZWU6IGh0dHBzOi8vcHViLmRldi9wYWNrYWdlcy9mbHV0dGVyX2dlbiNjb25maWd1cmF0aW9uLWZpbGUKZmx1dHRlcl9nZW46CiAgb3V0cHV0OiBsaWIvc3JjLwogICMgVG8gYWRkIHN1cHBvcnQgZm9yIHN2ZyB2aWEgZmx1dHRlcl9zdmcgcGFja2FnZQogICMgaW50ZWdyYXRpb25zOgogICMgICBmbHV0dGVyX3N2ZzogdHJ1ZQoKICBhc3NldHM6CiAgICBvdXRwdXRzOgogICAgICBwYWNrYWdlX3BhcmFtZXRlcl9lbmFibGVkOiB0cnVlCgojIFRoZSBmb2xsb3dpbmcgc2VjdGlvbiBpcyBzcGVjaWZpYyB0byBGbHV0dGVyIHBhY2thZ2VzLgpmbHV0dGVyOgp7e15pb3N9fXt7Xm1hY29zfX0gICMgVGhlIGZvbGxvd2luZyBsaW5lIGVuc3VyZXMgdGhhdCB0aGUgTWF0ZXJpYWwgSWNvbnMgZm9udCBpcwogICMgaW5jbHVkZWQgd2l0aCB5b3VyIGFwcGxpY2F0aW9uLCBzbyB0aGF0IHlvdSBjYW4gdXNlIHRoZSBpY29ucyBpbgogICMgdGhlIG1hdGVyaWFsIEljb25zIGNsYXNzLgogIHVzZXMtbWF0ZXJpYWwtZGVzaWduOiB0cnVlCnt7L21hY29zfX17ey9pb3N9fSAgIyBUbyBhZGQgYXNzZXRzIHRvIHlvdXIgcGFja2FnZSwgYWRkIGFuIGFzc2V0cyBzZWN0aW9uLCBsaWtlIHRoaXM6CiAgIyBhc3NldHM6CiAgIyAgIC0gaW1hZ2VzL2FfZG90X2J1cnIuanBlZwogICMgICAtIGltYWdlcy9hX2RvdF9oYW0uanBlZwogICMKICAjIEZvciBkZXRhaWxzIHJlZ2FyZGluZyBhc3NldHMgaW4gcGFja2FnZXMsIHNlZQogICMgaHR0cHM6Ly9mbHV0dGVyLmRldi9hc3NldHMtYW5kLWltYWdlcy8jZnJvbS1wYWNrYWdlcwogICMKICAjIEFuIGltYWdlIGFzc2V0IGNhbiByZWZlciB0byBvbmUgb3IgbW9yZSByZXNvbHV0aW9uLXNwZWNpZmljICJ2YXJpYW50cyIsIHNlZQogICMgaHR0cHM6Ly9mbHV0dGVyLmRldi9hc3NldHMtYW5kLWltYWdlcy8jcmVzb2x1dGlvbi1hd2FyZQoKICAjIFRvIGFkZCBjdXN0b20gZm9udHMgdG8geW91ciBwYWNrYWdlLCBhZGQgYSBmb250cyBzZWN0aW9uIGhlcmUsCiAgIyBpbiB0aGlzICJmbHV0dGVyIiBzZWN0aW9uLiBFYWNoIGVudHJ5IGluIHRoaXMgbGlzdCBzaG91bGQgaGF2ZSBhCiAgIyAiZmFtaWx5IiBrZXkgd2l0aCB0aGUgZm9udCBmYW1pbHkgbmFtZSwgYW5kIGEgImZvbnRzIiBrZXkgd2l0aCBhCiAgIyBsaXN0IGdpdmluZyB0aGUgYXNzZXQgYW5kIG90aGVyIGRlc2NyaXB0b3JzIGZvciB0aGUgZm9udC4gRm9yCiAgIyBleGFtcGxlOgogICMgZm9udHM6CiAgIyAgIC0gZmFtaWx5OiBTY2h5bGVyCiAgIyAgICAgZm9udHM6CiAgIyAgICAgICAtIGFzc2V0OiBmb250cy9TY2h5bGVyLVJlZ3VsYXIudHRmCiAgIyAgICAgICAtIGFzc2V0OiBmb250cy9TY2h5bGVyLUl0YWxpYy50dGYKICAjICAgICAgICAgc3R5bGU6IGl0YWxpYwogICMgICAtIGZhbWlseTogVHJhamFuIFBybwogICMgICAgIGZvbnRzOgogICMgICAgICAgLSBhc3NldDogZm9udHMvVHJhamFuUHJvLnR0ZgogICMgICAgICAgLSBhc3NldDogZm9udHMvVHJhamFuUHJvX0JvbGQudHRmCiAgIyAgICAgICAgIHdlaWdodDogNzAwCiAgIwogICMgRm9yIGRldGFpbHMgcmVnYXJkaW5nIGZvbnRzIGluIHBhY2thZ2VzLCBzZWUKICAjIGh0dHBzOi8vZmx1dHRlci5kZXYvY3VzdG9tLWZvbnRzLyNmcm9tLXBhY2thZ2VzCg==", + "bmFtZToge3twcm9qZWN0X25hbWV9fV97e3BsYXRmb3JtfX1fe3tuYW1lfX0KZGVzY3JpcHRpb246IHt7ZGVzY3JpcHRpb259fQp2ZXJzaW9uOiAwLjEuMApwdWJsaXNoX3RvOiBub25lCgplbnZpcm9ubWVudDoKICBzZGs6ICI+PTMuMS4wIDw0LjAuMCIKICBmbHV0dGVyOiAiPj0zLjEzLjAiCgpkZXBlbmRlbmNpZXM6CiAgYXV0b19yb3V0ZTogXjcuOC4yCiAgYmxvYzogXjguMS4yCiAgZmx1dHRlcjoKICAgIHNkazogZmx1dHRlcgogIGZsdXR0ZXJfYmxvYzogXjguMS4zCiAgZnJlZXplZF9hbm5vdGF0aW9uOiBeMi40LjEKICBpbmplY3RhYmxlOiBeMi4zLjAKICBtZXRhOiBeMS45LjEKICB7e3Byb2plY3RfbmFtZX19X2RpOgogIHt7cHJvamVjdF9uYW1lfX1fZG9tYWluOgogIHt7cHJvamVjdF9uYW1lfX1fdWlfe3twbGF0Zm9ybX19OgogIHt7cHJvamVjdF9uYW1lfX1fe3twbGF0Zm9ybX19X2xvY2FsaXphdGlvbjoKICB7e3Byb2plY3RfbmFtZX19X3t7cGxhdGZvcm19fV9uYXZpZ2F0aW9uOgoKZGV2X2RlcGVuZGVuY2llczoKICBhbGNoZW1pc3Q6IF4wLjYuMQogIGF1dG9fcm91dGVfZ2VuZXJhdG9yOiBeNy4zLjEKICBibG9jX3Rlc3Q6IF45LjEuNAogIGJ1aWxkX3J1bm5lcjogXjIuNC42CiAgYnVpbGRfdmVyaWZ5OiBeMy4xLjAKICBmbHV0dGVyX2dlbl9ydW5uZXI6IF41LjMuMQogIGZsdXR0ZXJfdGVzdDoKICAgIHNkazogZmx1dHRlcgogIGZyZWV6ZWQ6IF4yLjQuMQogIGluamVjdGFibGVfZ2VuZXJhdG9yOiBeMi40LjAKICBtb2NrdGFpbDogXjEuMC4wCiAge3twcm9qZWN0X25hbWV9fV97e3BsYXRmb3JtfX1fYXBwOgoKIyBUaGUgZm9sbG93aW5nIHNlY3Rpb24gaXMgc3BlY2lmaWMgdG8gdGhlIEZsdXR0ZXJHZW4gcGFja2FnZS4KIyBTZWU6IGh0dHBzOi8vcHViLmRldi9wYWNrYWdlcy9mbHV0dGVyX2dlbiNjb25maWd1cmF0aW9uLWZpbGUKZmx1dHRlcl9nZW46CiAgb3V0cHV0OiBsaWIvc3JjLwogICMgVG8gYWRkIHN1cHBvcnQgZm9yIHN2ZyB2aWEgZmx1dHRlcl9zdmcgcGFja2FnZQogICMgaW50ZWdyYXRpb25zOgogICMgICBmbHV0dGVyX3N2ZzogdHJ1ZQogIGFzc2V0czoKICAgIG91dHB1dHM6CiAgICAgIHBhY2thZ2VfcGFyYW1ldGVyX2VuYWJsZWQ6IHRydWUKCiMgVGhlIGZvbGxvd2luZyBzZWN0aW9uIGlzIHNwZWNpZmljIHRvIEZsdXR0ZXIgcGFja2FnZXMuCmZsdXR0ZXI6Cnt7Xmlvc319e3tebWFjb3N9fSAgIyBUaGUgZm9sbG93aW5nIGxpbmUgZW5zdXJlcyB0aGF0IHRoZSBNYXRlcmlhbCBJY29ucyBmb250IGlzCiAgIyBpbmNsdWRlZCB3aXRoIHlvdXIgYXBwbGljYXRpb24sIHNvIHRoYXQgeW91IGNhbiB1c2UgdGhlIGljb25zIGluCiAgIyB0aGUgbWF0ZXJpYWwgSWNvbnMgY2xhc3MuCiAgdXNlcy1tYXRlcmlhbC1kZXNpZ246IHRydWUKe3svbWFjb3N9fXt7L2lvc319ICAjIFRvIGFkZCBhc3NldHMgdG8geW91ciBwYWNrYWdlLCBhZGQgYW4gYXNzZXRzIHNlY3Rpb24sIGxpa2UgdGhpczoKICAjIGFzc2V0czoKICAjICAgLSBpbWFnZXMvYV9kb3RfYnVyci5qcGVnCiAgIyAgIC0gaW1hZ2VzL2FfZG90X2hhbS5qcGVnCiAgIwogICMgRm9yIGRldGFpbHMgcmVnYXJkaW5nIGFzc2V0cyBpbiBwYWNrYWdlcywgc2VlCiAgIyBodHRwczovL2ZsdXR0ZXIuZGV2L2Fzc2V0cy1hbmQtaW1hZ2VzLyNmcm9tLXBhY2thZ2VzCiAgIwogICMgQW4gaW1hZ2UgYXNzZXQgY2FuIHJlZmVyIHRvIG9uZSBvciBtb3JlIHJlc29sdXRpb24tc3BlY2lmaWMgInZhcmlhbnRzIiwgc2VlCiAgIyBodHRwczovL2ZsdXR0ZXIuZGV2L2Fzc2V0cy1hbmQtaW1hZ2VzLyNyZXNvbHV0aW9uLWF3YXJlCgogICMgVG8gYWRkIGN1c3RvbSBmb250cyB0byB5b3VyIHBhY2thZ2UsIGFkZCBhIGZvbnRzIHNlY3Rpb24gaGVyZSwKICAjIGluIHRoaXMgImZsdXR0ZXIiIHNlY3Rpb24uIEVhY2ggZW50cnkgaW4gdGhpcyBsaXN0IHNob3VsZCBoYXZlIGEKICAjICJmYW1pbHkiIGtleSB3aXRoIHRoZSBmb250IGZhbWlseSBuYW1lLCBhbmQgYSAiZm9udHMiIGtleSB3aXRoIGEKICAjIGxpc3QgZ2l2aW5nIHRoZSBhc3NldCBhbmQgb3RoZXIgZGVzY3JpcHRvcnMgZm9yIHRoZSBmb250LiBGb3IKICAjIGV4YW1wbGU6CiAgIyBmb250czoKICAjICAgLSBmYW1pbHk6IFNjaHlsZXIKICAjICAgICBmb250czoKICAjICAgICAgIC0gYXNzZXQ6IGZvbnRzL1NjaHlsZXItUmVndWxhci50dGYKICAjICAgICAgIC0gYXNzZXQ6IGZvbnRzL1NjaHlsZXItSXRhbGljLnR0ZgogICMgICAgICAgICBzdHlsZTogaXRhbGljCiAgIyAgIC0gZmFtaWx5OiBUcmFqYW4gUHJvCiAgIyAgICAgZm9udHM6CiAgIyAgICAgICAtIGFzc2V0OiBmb250cy9UcmFqYW5Qcm8udHRmCiAgIyAgICAgICAtIGFzc2V0OiBmb250cy9UcmFqYW5Qcm9fQm9sZC50dGYKICAjICAgICAgICAgd2VpZ2h0OiA3MDAKICAjCiAgIyBGb3IgZGV0YWlscyByZWdhcmRpbmcgZm9udHMgaW4gcGFja2FnZXMsIHNlZQogICMgaHR0cHM6Ly9mbHV0dGVyLmRldi9jdXN0b20tZm9udHMvI2Zyb20tcGFja2FnZXMK", "type": "text" }, { @@ -87,12 +82,7 @@ final platformPageFeaturePackageBundle = MasonBundle.fromJson({ "IyBtZWxvc19tYW5hZ2VkX2RlcGVuZGVuY3lfb3ZlcnJpZGVzOiB7e3Byb2plY3RfbmFtZX19X3t7cGxhdGZvcm19fV9hcHAse3twcm9qZWN0X25hbWV9fV97e3BsYXRmb3JtfX1fbG9jYWxpemF0aW9uLHt7cHJvamVjdF9uYW1lfX1fe3twbGF0Zm9ybX19X25hdmlnYXRpb24se3twcm9qZWN0X25hbWV9fV9kaSx7e3Byb2plY3RfbmFtZX19X2RvbWFpbix7e3Byb2plY3RfbmFtZX19X3VpLHt7cHJvamVjdF9uYW1lfX1fdWlfe3twbGF0Zm9ybX19CmRlcGVuZGVuY3lfb3ZlcnJpZGVzOgogIHt7cHJvamVjdF9uYW1lfX1fe3twbGF0Zm9ybX19X2FwcDoKICAgIHBhdGg6IC4uL3t7cHJvamVjdF9uYW1lfX1fe3twbGF0Zm9ybX19X2FwcAogIHt7cHJvamVjdF9uYW1lfX1fe3twbGF0Zm9ybX19X2xvY2FsaXphdGlvbjoKICAgIHBhdGg6IC4uLy4uL3t7cHJvamVjdF9uYW1lfX1fe3twbGF0Zm9ybX19X2xvY2FsaXphdGlvbgogIHt7cHJvamVjdF9uYW1lfX1fe3twbGF0Zm9ybX19X25hdmlnYXRpb246CiAgICBwYXRoOiAuLi8uLi97e3Byb2plY3RfbmFtZX19X3t7cGxhdGZvcm19fV9uYXZpZ2F0aW9uCiAge3twcm9qZWN0X25hbWV9fV9kaToKICAgIHBhdGg6IC4uLy4uLy4uL3t7cHJvamVjdF9uYW1lfX1fZGkKICB7e3Byb2plY3RfbmFtZX19X2RvbWFpbjoKICAgIHBhdGg6IC4uLy4uLy4uL3t7cHJvamVjdF9uYW1lfX1fZG9tYWluL3t7cHJvamVjdF9uYW1lfX1fZG9tYWluCiAge3twcm9qZWN0X25hbWV9fV91aToKICAgIHBhdGg6IC4uLy4uLy4uLy4uL3t7cHJvamVjdF9uYW1lfX1fdWkve3twcm9qZWN0X25hbWV9fV91aQogIHt7cHJvamVjdF9uYW1lfX1fdWlfe3twbGF0Zm9ybX19OgogICAgcGF0aDogLi4vLi4vLi4vLi4ve3twcm9qZWN0X25hbWV9fV91aS97e3Byb2plY3RfbmFtZX19X3VpX3t7cGxhdGZvcm19fQo=", "type": "text" }, - { - "path": "README.md", - "data": - "PCEtLQpUaGlzIFJFQURNRSBkZXNjcmliZXMgdGhlIHBhY2thZ2UuIElmIHlvdSBwdWJsaXNoIHRoaXMgcGFja2FnZSB0byBwdWIuZGV2LAp0aGlzIFJFQURNRSdzIGNvbnRlbnRzIGFwcGVhciBvbiB0aGUgbGFuZGluZyBwYWdlIGZvciB5b3VyIHBhY2thZ2UuCgpGb3IgaW5mb3JtYXRpb24gYWJvdXQgaG93IHRvIHdyaXRlIGEgZ29vZCBwYWNrYWdlIFJFQURNRSwgc2VlIHRoZSBndWlkZSBmb3IKW3dyaXRpbmcgcGFja2FnZSBwYWdlc10oaHR0cHM6Ly9kYXJ0LmRldi9ndWlkZXMvbGlicmFyaWVzL3dyaXRpbmctcGFja2FnZS1wYWdlcykuCgpGb3IgZ2VuZXJhbCBpbmZvcm1hdGlvbiBhYm91dCBkZXZlbG9waW5nIHBhY2thZ2VzLCBzZWUgdGhlIERhcnQgZ3VpZGUgZm9yCltjcmVhdGluZyBwYWNrYWdlc10oaHR0cHM6Ly9kYXJ0LmRldi9ndWlkZXMvbGlicmFyaWVzL2NyZWF0ZS1saWJyYXJ5LXBhY2thZ2VzKQphbmQgdGhlIEZsdXR0ZXIgZ3VpZGUgZm9yCltkZXZlbG9waW5nIHBhY2thZ2VzIGFuZCBwbHVnaW5zXShodHRwczovL2ZsdXR0ZXIuZGV2L2RldmVsb3BpbmctcGFja2FnZXMpLgotLT4KClRPRE86IFB1dCBhIHNob3J0IGRlc2NyaXB0aW9uIG9mIHRoZSBwYWNrYWdlIGhlcmUgdGhhdCBoZWxwcyBwb3RlbnRpYWwgdXNlcnMKa25vdyB3aGV0aGVyIHRoaXMgcGFja2FnZSBtaWdodCBiZSB1c2VmdWwgZm9yIHRoZW0uCgojIyBGZWF0dXJlcwoKVE9ETzogTGlzdCB3aGF0IHlvdXIgcGFja2FnZSBjYW4gZG8uIE1heWJlIGluY2x1ZGUgaW1hZ2VzLCBnaWZzLCBvciB2aWRlb3MuCgojIyBHZXR0aW5nIHN0YXJ0ZWQKClRPRE86IExpc3QgcHJlcmVxdWlzaXRlcyBhbmQgcHJvdmlkZSBvciBwb2ludCB0byBpbmZvcm1hdGlvbiBvbiBob3cgdG8Kc3RhcnQgdXNpbmcgdGhlIHBhY2thZ2UuCgojIyBVc2FnZQoKVE9ETzogSW5jbHVkZSBzaG9ydCBhbmQgdXNlZnVsIGV4YW1wbGVzIGZvciBwYWNrYWdlIHVzZXJzLiBBZGQgbG9uZ2VyIGV4YW1wbGVzCnRvIGAvZXhhbXBsZWAgZm9sZGVyLgoKYGBgZGFydApjb25zdCBsaWtlID0gJ3NhbXBsZSc7CmBgYAoKIyMgQWRkaXRpb25hbCBpbmZvcm1hdGlvbgoKVE9ETzogVGVsbCB1c2VycyBtb3JlIGFib3V0IHRoZSBwYWNrYWdlOiB3aGVyZSB0byBmaW5kIG1vcmUgaW5mb3JtYXRpb24sIGhvdyB0bwpjb250cmlidXRlIHRvIHRoZSBwYWNrYWdlLCBob3cgdG8gZmlsZSBpc3N1ZXMsIHdoYXQgcmVzcG9uc2UgdGhleSBjYW4gZXhwZWN0CmZyb20gdGhlIHBhY2thZ2UgYXV0aG9ycywgYW5kIG1vcmUuCg==", - "type": "text" - }, + {"path": "README.md", "data": "", "type": "text"}, { "path": "test/ensure_build_test.dart", "data": diff --git a/packages/rapid_cli/lib/src/project/bundles/platform_root_package_bundle.dart b/packages/rapid_cli/lib/src/project/bundles/platform_root_package_bundle.dart index f158d4f33..3fd297c8f 100644 --- a/packages/rapid_cli/lib/src/project/bundles/platform_root_package_bundle.dart +++ b/packages/rapid_cli/lib/src/project/bundles/platform_root_package_bundle.dart @@ -8,13 +8,12 @@ final platformRootPackageBundle = MasonBundle.fromJson({ { "path": ".gitignore", "data": - "IyBNaXNjZWxsYW5lb3VzCiouY2xhc3MKKi5sb2cKKi5weWMKKi5zd3AKLkRTX1N0b3JlCi5hdG9tLwouYnVpbGRsb2cvCi5oaXN0b3J5Ci5zdm4vCm1pZ3JhdGVfd29ya2luZ19kaXIvCgojIEludGVsbGlKIHJlbGF0ZWQKKi5pbWwKKi5pcHIKKi5pd3MKLmlkZWEvCgojIFRoZSAudnNjb2RlIGZvbGRlciBjb250YWlucyBsYXVuY2ggY29uZmlndXJhdGlvbiBhbmQgdGFza3MgeW91IGNvbmZpZ3VyZSBpbgojIFZTIENvZGUgd2hpY2ggeW91IG1heSB3aXNoIHRvIGJlIGluY2x1ZGVkIGluIHZlcnNpb24gY29udHJvbCwgc28gdGhpcyBsaW5lCiMgaXMgY29tbWVudGVkIG91dCBieSBkZWZhdWx0LgojLnZzY29kZS8KCiMgRmx1dHRlci9EYXJ0L1B1YiByZWxhdGVkCioqL2RvYy9hcGkvCioqL2lvcy9GbHV0dGVyLy5sYXN0X2J1aWxkX2lkCi5kYXJ0X3Rvb2wvCi5mbHV0dGVyLXBsdWdpbnMKLmZsdXR0ZXItcGx1Z2lucy1kZXBlbmRlbmNpZXMKLnBhY2thZ2VzCi5wdWItY2FjaGUvCi5wdWIvCi9idWlsZC8KL2NvdmVyYWdlCgojIFN5bWJvbGljYXRpb24gcmVsYXRlZAphcHAuKi5zeW1ib2xzCgojIE9iZnVzY2F0aW9uIHJlbGF0ZWQKYXBwLioubWFwLmpzb24KCiMgQW5kcm9pZCBTdHVkaW8gd2lsbCBwbGFjZSBidWlsZCBhcnRpZmFjdHMgaGVyZQovYW5kcm9pZC9hcHAvZGVidWcKL2FuZHJvaWQvYXBwL3Byb2ZpbGUKL2FuZHJvaWQvYXBwL3JlbGVhc2UK", + "IyBNaXNjZWxsYW5lb3VzCiouY2xhc3MKKi5sb2cKKi5weWMKKi5zd3AKLkRTX1N0b3JlCi5hdG9tLwouYnVpbGRsb2cvCi5oaXN0b3J5Ci5zdm4vCm1pZ3JhdGVfd29ya2luZ19kaXIvCgojIEludGVsbGlKIHJlbGF0ZWQKKi5pbWwKKi5pcHIKKi5pd3MKLmlkZWEvCgojIEZsdXR0ZXIvRGFydC9QdWIgcmVsYXRlZAoqKi9kb2MvYXBpLwoqKi9pb3MvRmx1dHRlci8ubGFzdF9idWlsZF9pZAouZGFydF90b29sLwouZmx1dHRlci1wbHVnaW5zCi5mbHV0dGVyLXBsdWdpbnMtZGVwZW5kZW5jaWVzCi5wYWNrYWdlcwoucHViLWNhY2hlLwoucHViLwovYnVpbGQvCi9jb3ZlcmFnZQoKIyBTeW1ib2xpY2F0aW9uIHJlbGF0ZWQKYXBwLiouc3ltYm9scwoKIyBPYmZ1c2NhdGlvbiByZWxhdGVkCmFwcC4qLm1hcC5qc29uCgojIEFuZHJvaWQgU3R1ZGlvIHdpbGwgcGxhY2UgYnVpbGQgYXJ0aWZhY3RzIGhlcmUKL2FuZHJvaWQvYXBwL2RlYnVnCi9hbmRyb2lkL2FwcC9wcm9maWxlCi9hbmRyb2lkL2FwcC9yZWxlYXNlCg==", "type": "text" }, { "path": "analysis_options.yaml", - "data": - "aW5jbHVkZTogLi4vLi4vLi4vLi4vYW5hbHlzaXNfb3B0aW9ucy55YW1sCiMgVW5jb21tZW50IHRoZSBmb2xsb3dpbmcgc2VjdGlvbiB0byBzcGVjaWZ5IGFkZGl0aW9uYWwgcnVsZXMuCgojIGxpbnRlcjoKIyAgIHJ1bGVzOgojICAgICAtIGNhbWVsX2Nhc2VfdHlwZXMK", + "data": "aW5jbHVkZTogLi4vLi4vLi4vLi4vYW5hbHlzaXNfb3B0aW9ucy55YW1sCg==", "type": "text" }, { @@ -152,7 +151,7 @@ final platformRootPackageBundle = MasonBundle.fromJson({ { "path": "pubspec.yaml", "data": - "e3sjYW5kcm9pZH19bmFtZToge3twcm9qZWN0X25hbWV9fV9hbmRyb2lkCmRlc2NyaXB0aW9uOiB7eyBkZXNjcmlwdGlvbiB9fQoKIyBUaGUgZm9sbG93aW5nIGRlZmluZXMgdGhlIHZlcnNpb24gYW5kIGJ1aWxkIG51bWJlciBmb3IgeW91ciBhcHBsaWNhdGlvbi4KIyBBIHZlcnNpb24gbnVtYmVyIGlzIHRocmVlIG51bWJlcnMgc2VwYXJhdGVkIGJ5IGRvdHMsIGxpa2UgMS4yLjQzCiMgZm9sbG93ZWQgYnkgYW4gb3B0aW9uYWwgYnVpbGQgbnVtYmVyIHNlcGFyYXRlZCBieSBhICsuCiMgQm90aCB0aGUgdmVyc2lvbiBhbmQgdGhlIGJ1aWxkZXIgbnVtYmVyIG1heSBiZSBvdmVycmlkZGVuIGluIGZsdXR0ZXIKIyBidWlsZCBieSBzcGVjaWZ5aW5nIC0tYnVpbGQtbmFtZSBhbmQgLS1idWlsZC1udW1iZXIsIHJlc3BlY3RpdmVseS4KIyBJbiBBbmRyb2lkLCBidWlsZC1uYW1lIGlzIHVzZWQgYXMgdmVyc2lvbk5hbWUgd2hpbGUgYnVpbGQtbnVtYmVyIHVzZWQgYXMgdmVyc2lvbkNvZGUuCiMgUmVhZCBtb3JlIGFib3V0IEFuZHJvaWQgdmVyc2lvbmluZyBhdCBodHRwczovL2RldmVsb3Blci5hbmRyb2lkLmNvbS9zdHVkaW8vcHVibGlzaC92ZXJzaW9uaW5nCiMgSW4gaU9TLCBidWlsZC1uYW1lIGlzIHVzZWQgYXMgQ0ZCdW5kbGVTaG9ydFZlcnNpb25TdHJpbmcgd2hpbGUgYnVpbGQtbnVtYmVyIGlzIHVzZWQgYXMgQ0ZCdW5kbGVWZXJzaW9uLgojIFJlYWQgbW9yZSBhYm91dCBpT1MgdmVyc2lvbmluZyBhdAojIGh0dHBzOi8vZGV2ZWxvcGVyLmFwcGxlLmNvbS9saWJyYXJ5L2FyY2hpdmUvZG9jdW1lbnRhdGlvbi9HZW5lcmFsL1JlZmVyZW5jZS9JbmZvUGxpc3RLZXlSZWZlcmVuY2UvQXJ0aWNsZXMvQ29yZUZvdW5kYXRpb25LZXlzLmh0bWwKIyBJbiBXaW5kb3dzLCBidWlsZC1uYW1lIGlzIHVzZWQgYXMgdGhlIG1ham9yLCBtaW5vciwgYW5kIHBhdGNoIHBhcnRzCiMgb2YgdGhlIHByb2R1Y3QgYW5kIGZpbGUgdmVyc2lvbnMgd2hpbGUgYnVpbGQtbnVtYmVyIGlzIHVzZWQgYXMgdGhlIGJ1aWxkIHN1ZmZpeC4KdmVyc2lvbjogMC4wLjEKcHVibGlzaF90bzogbm9uZQoKZW52aXJvbm1lbnQ6CiAgc2RrOiAiPj0zLjEuMCA8NC4wLjAiCiAgZmx1dHRlcjogIj49My4xMy4wIgoKIyBEZXBlbmRlbmNpZXMgc3BlY2lmeSBvdGhlciBwYWNrYWdlcyB0aGF0IHlvdXIgcGFja2FnZSBuZWVkcyBpbiBvcmRlciB0byB3b3JrLgojIFRvIGF1dG9tYXRpY2FsbHkgdXBncmFkZSB5b3VyIHBhY2thZ2UgZGVwZW5kZW5jaWVzIHRvIHRoZSBsYXRlc3QgdmVyc2lvbnMKIyBjb25zaWRlciBydW5uaW5nIGBmbHV0dGVyIHB1YiB1cGdyYWRlIC0tbWFqb3ItdmVyc2lvbnNgLiBBbHRlcm5hdGl2ZWx5LAojIGRlcGVuZGVuY2llcyBjYW4gYmUgbWFudWFsbHkgdXBkYXRlZCBieSBjaGFuZ2luZyB0aGUgdmVyc2lvbiBudW1iZXJzIGJlbG93IHRvCiMgdGhlIGxhdGVzdCB2ZXJzaW9uIGF2YWlsYWJsZSBvbiBwdWIuZGV2LiBUbyBzZWUgd2hpY2ggZGVwZW5kZW5jaWVzIGhhdmUgbmV3ZXIKIyB2ZXJzaW9ucyBhdmFpbGFibGUsIHJ1biBgZmx1dHRlciBwdWIgb3V0ZGF0ZWRgLgpkZXBlbmRlbmNpZXM6CiAgZmx1dHRlcjoKICAgIHNkazogZmx1dHRlcgogIGdldF9pdDogXjcuNi4wCiAgaW5qZWN0YWJsZTogXjIuMy4wCiAgYXV0b19yb3V0ZTogXjcuOC4yCiAgYmxvYzogXjguMS4yCiAgYmxvY19jb25jdXJyZW5jeTogXjAuMi4yCiAge3twcm9qZWN0X25hbWV9fV9kaToKICB7e3Byb2plY3RfbmFtZX19X2xvZ2dpbmc6CiAge3twcm9qZWN0X25hbWV9fV9pbmZyYXN0cnVjdHVyZToKICB7e3Byb2plY3RfbmFtZX19X2FuZHJvaWRfYXBwOgogIHt7cHJvamVjdF9uYW1lfX1fYW5kcm9pZF9ob21lX3BhZ2U6CgpkZXZfZGVwZW5kZW5jaWVzOgogIGZsdXR0ZXJfdGVzdDoKICAgIHNkazogZmx1dHRlcgogIGludGVncmF0aW9uX3Rlc3Q6CiAgICBzZGs6IGZsdXR0ZXIKICBtb2NrdGFpbDogXjEuMC4wCiAgYnVpbGRfcnVubmVyOiBeMi40LjYKICBpbmplY3RhYmxlX2dlbmVyYXRvcjogXjIuNC4wCiAgYXV0b19yb3V0ZV9nZW5lcmF0b3I6IF43LjMuMQogIGJ1aWxkX3ZlcmlmeTogXjMuMS4wCgojIEZvciBpbmZvcm1hdGlvbiBvbiB0aGUgZ2VuZXJpYyBEYXJ0IHBhcnQgb2YgdGhpcyBmaWxlLCBzZWUgdGhlCiMgZm9sbG93aW5nIHBhZ2U6IGh0dHBzOi8vZGFydC5kZXYvdG9vbHMvcHViL3B1YnNwZWMKCiMgVGhlIGZvbGxvd2luZyBzZWN0aW9uIGlzIHNwZWNpZmljIHRvIEZsdXR0ZXIgcGFja2FnZXMuCmZsdXR0ZXI6CiAgIyBUaGUgZm9sbG93aW5nIGxpbmUgZW5zdXJlcyB0aGF0IHRoZSBNYXRlcmlhbCBJY29ucyBmb250IGlzCiAgIyBpbmNsdWRlZCB3aXRoIHlvdXIgYXBwbGljYXRpb24sIHNvIHRoYXQgeW91IGNhbiB1c2UgdGhlIGljb25zIGluCiAgIyB0aGUgbWF0ZXJpYWwgSWNvbnMgY2xhc3MuCiAgdXNlcy1tYXRlcmlhbC1kZXNpZ246IHRydWUKe3svYW5kcm9pZH19e3sjaW9zfX1uYW1lOiB7e3Byb2plY3RfbmFtZX19X2lvcwpkZXNjcmlwdGlvbjoge3sgZGVzY3JpcHRpb24gfX0KCiMgVGhlIGZvbGxvd2luZyBkZWZpbmVzIHRoZSB2ZXJzaW9uIGFuZCBidWlsZCBudW1iZXIgZm9yIHlvdXIgYXBwbGljYXRpb24uCiMgQSB2ZXJzaW9uIG51bWJlciBpcyB0aHJlZSBudW1iZXJzIHNlcGFyYXRlZCBieSBkb3RzLCBsaWtlIDEuMi40MwojIGZvbGxvd2VkIGJ5IGFuIG9wdGlvbmFsIGJ1aWxkIG51bWJlciBzZXBhcmF0ZWQgYnkgYSArLgojIEJvdGggdGhlIHZlcnNpb24gYW5kIHRoZSBidWlsZGVyIG51bWJlciBtYXkgYmUgb3ZlcnJpZGRlbiBpbiBmbHV0dGVyCiMgYnVpbGQgYnkgc3BlY2lmeWluZyAtLWJ1aWxkLW5hbWUgYW5kIC0tYnVpbGQtbnVtYmVyLCByZXNwZWN0aXZlbHkuCiMgSW4gQW5kcm9pZCwgYnVpbGQtbmFtZSBpcyB1c2VkIGFzIHZlcnNpb25OYW1lIHdoaWxlIGJ1aWxkLW51bWJlciB1c2VkIGFzIHZlcnNpb25Db2RlLgojIFJlYWQgbW9yZSBhYm91dCBBbmRyb2lkIHZlcnNpb25pbmcgYXQgaHR0cHM6Ly9kZXZlbG9wZXIuYW5kcm9pZC5jb20vc3R1ZGlvL3B1Ymxpc2gvdmVyc2lvbmluZwojIEluIGlPUywgYnVpbGQtbmFtZSBpcyB1c2VkIGFzIENGQnVuZGxlU2hvcnRWZXJzaW9uU3RyaW5nIHdoaWxlIGJ1aWxkLW51bWJlciBpcyB1c2VkIGFzIENGQnVuZGxlVmVyc2lvbi4KIyBSZWFkIG1vcmUgYWJvdXQgaU9TIHZlcnNpb25pbmcgYXQKIyBodHRwczovL2RldmVsb3Blci5hcHBsZS5jb20vbGlicmFyeS9hcmNoaXZlL2RvY3VtZW50YXRpb24vR2VuZXJhbC9SZWZlcmVuY2UvSW5mb1BsaXN0S2V5UmVmZXJlbmNlL0FydGljbGVzL0NvcmVGb3VuZGF0aW9uS2V5cy5odG1sCiMgSW4gV2luZG93cywgYnVpbGQtbmFtZSBpcyB1c2VkIGFzIHRoZSBtYWpvciwgbWlub3IsIGFuZCBwYXRjaCBwYXJ0cwojIG9mIHRoZSBwcm9kdWN0IGFuZCBmaWxlIHZlcnNpb25zIHdoaWxlIGJ1aWxkLW51bWJlciBpcyB1c2VkIGFzIHRoZSBidWlsZCBzdWZmaXguCnZlcnNpb246IDAuMC4xCnB1Ymxpc2hfdG86IG5vbmUKCmVudmlyb25tZW50OgogIHNkazogIj49My4xLjAgPDQuMC4wIgogIGZsdXR0ZXI6ICI+PTMuMTMuMCIKCiMgRGVwZW5kZW5jaWVzIHNwZWNpZnkgb3RoZXIgcGFja2FnZXMgdGhhdCB5b3VyIHBhY2thZ2UgbmVlZHMgaW4gb3JkZXIgdG8gd29yay4KIyBUbyBhdXRvbWF0aWNhbGx5IHVwZ3JhZGUgeW91ciBwYWNrYWdlIGRlcGVuZGVuY2llcyB0byB0aGUgbGF0ZXN0IHZlcnNpb25zCiMgY29uc2lkZXIgcnVubmluZyBgZmx1dHRlciBwdWIgdXBncmFkZSAtLW1ham9yLXZlcnNpb25zYC4gQWx0ZXJuYXRpdmVseSwKIyBkZXBlbmRlbmNpZXMgY2FuIGJlIG1hbnVhbGx5IHVwZGF0ZWQgYnkgY2hhbmdpbmcgdGhlIHZlcnNpb24gbnVtYmVycyBiZWxvdyB0bwojIHRoZSBsYXRlc3QgdmVyc2lvbiBhdmFpbGFibGUgb24gcHViLmRldi4gVG8gc2VlIHdoaWNoIGRlcGVuZGVuY2llcyBoYXZlIG5ld2VyCiMgdmVyc2lvbnMgYXZhaWxhYmxlLCBydW4gYGZsdXR0ZXIgcHViIG91dGRhdGVkYC4KZGVwZW5kZW5jaWVzOgogIGZsdXR0ZXI6CiAgICBzZGs6IGZsdXR0ZXIKICBnZXRfaXQ6IF43LjYuMAogIGluamVjdGFibGU6IF4yLjMuMAogIGF1dG9fcm91dGU6IF43LjguMgogIGJsb2M6IF44LjEuMgogIGJsb2NfY29uY3VycmVuY3k6IF4wLjIuMgogIGN1cGVydGlub19pY29uczogXjEuMC41CiAge3twcm9qZWN0X25hbWV9fV9kaToKICB7e3Byb2plY3RfbmFtZX19X2xvZ2dpbmc6CiAge3twcm9qZWN0X25hbWV9fV9pbmZyYXN0cnVjdHVyZToKICB7e3Byb2plY3RfbmFtZX19X2lvc19hcHA6CiAge3twcm9qZWN0X25hbWV9fV9pb3NfaG9tZV9wYWdlOgoKZGV2X2RlcGVuZGVuY2llczoKICBmbHV0dGVyX3Rlc3Q6CiAgICBzZGs6IGZsdXR0ZXIKICBpbnRlZ3JhdGlvbl90ZXN0OgogICAgc2RrOiBmbHV0dGVyCiAgbW9ja3RhaWw6IF4xLjAuMAogIGJ1aWxkX3J1bm5lcjogXjIuNC42CiAgaW5qZWN0YWJsZV9nZW5lcmF0b3I6IF4yLjQuMAogIGF1dG9fcm91dGVfZ2VuZXJhdG9yOiBeNy4zLjEKICBidWlsZF92ZXJpZnk6IF4zLjEuMAoKIyBGb3IgaW5mb3JtYXRpb24gb24gdGhlIGdlbmVyaWMgRGFydCBwYXJ0IG9mIHRoaXMgZmlsZSwgc2VlIHRoZQojIGZvbGxvd2luZyBwYWdlOiBodHRwczovL2RhcnQuZGV2L3Rvb2xzL3B1Yi9wdWJzcGVjCgojIFRoZSBmb2xsb3dpbmcgc2VjdGlvbiBpcyBzcGVjaWZpYyB0byBGbHV0dGVyIHBhY2thZ2VzLgpmbHV0dGVyOgp7ey9pb3N9fXt7I2xpbnV4fX1uYW1lOiB7e3Byb2plY3RfbmFtZX19X2xpbnV4CmRlc2NyaXB0aW9uOiB7eyBkZXNjcmlwdGlvbiB9fQoKIyBUaGUgZm9sbG93aW5nIGRlZmluZXMgdGhlIHZlcnNpb24gYW5kIGJ1aWxkIG51bWJlciBmb3IgeW91ciBhcHBsaWNhdGlvbi4KIyBBIHZlcnNpb24gbnVtYmVyIGlzIHRocmVlIG51bWJlcnMgc2VwYXJhdGVkIGJ5IGRvdHMsIGxpa2UgMS4yLjQzCiMgZm9sbG93ZWQgYnkgYW4gb3B0aW9uYWwgYnVpbGQgbnVtYmVyIHNlcGFyYXRlZCBieSBhICsuCiMgQm90aCB0aGUgdmVyc2lvbiBhbmQgdGhlIGJ1aWxkZXIgbnVtYmVyIG1heSBiZSBvdmVycmlkZGVuIGluIGZsdXR0ZXIKIyBidWlsZCBieSBzcGVjaWZ5aW5nIC0tYnVpbGQtbmFtZSBhbmQgLS1idWlsZC1udW1iZXIsIHJlc3BlY3RpdmVseS4KIyBJbiBBbmRyb2lkLCBidWlsZC1uYW1lIGlzIHVzZWQgYXMgdmVyc2lvbk5hbWUgd2hpbGUgYnVpbGQtbnVtYmVyIHVzZWQgYXMgdmVyc2lvbkNvZGUuCiMgUmVhZCBtb3JlIGFib3V0IEFuZHJvaWQgdmVyc2lvbmluZyBhdCBodHRwczovL2RldmVsb3Blci5hbmRyb2lkLmNvbS9zdHVkaW8vcHVibGlzaC92ZXJzaW9uaW5nCiMgSW4gaU9TLCBidWlsZC1uYW1lIGlzIHVzZWQgYXMgQ0ZCdW5kbGVTaG9ydFZlcnNpb25TdHJpbmcgd2hpbGUgYnVpbGQtbnVtYmVyIGlzIHVzZWQgYXMgQ0ZCdW5kbGVWZXJzaW9uLgojIFJlYWQgbW9yZSBhYm91dCBpT1MgdmVyc2lvbmluZyBhdAojIGh0dHBzOi8vZGV2ZWxvcGVyLmFwcGxlLmNvbS9saWJyYXJ5L2FyY2hpdmUvZG9jdW1lbnRhdGlvbi9HZW5lcmFsL1JlZmVyZW5jZS9JbmZvUGxpc3RLZXlSZWZlcmVuY2UvQXJ0aWNsZXMvQ29yZUZvdW5kYXRpb25LZXlzLmh0bWwKIyBJbiBXaW5kb3dzLCBidWlsZC1uYW1lIGlzIHVzZWQgYXMgdGhlIG1ham9yLCBtaW5vciwgYW5kIHBhdGNoIHBhcnRzCiMgb2YgdGhlIHByb2R1Y3QgYW5kIGZpbGUgdmVyc2lvbnMgd2hpbGUgYnVpbGQtbnVtYmVyIGlzIHVzZWQgYXMgdGhlIGJ1aWxkIHN1ZmZpeC4KdmVyc2lvbjogMC4wLjEKcHVibGlzaF90bzogbm9uZQoKZW52aXJvbm1lbnQ6CiAgc2RrOiAiPj0zLjEuMCA8NC4wLjAiCiAgZmx1dHRlcjogIj49My4xMy4wIgoKIyBEZXBlbmRlbmNpZXMgc3BlY2lmeSBvdGhlciBwYWNrYWdlcyB0aGF0IHlvdXIgcGFja2FnZSBuZWVkcyBpbiBvcmRlciB0byB3b3JrLgojIFRvIGF1dG9tYXRpY2FsbHkgdXBncmFkZSB5b3VyIHBhY2thZ2UgZGVwZW5kZW5jaWVzIHRvIHRoZSBsYXRlc3QgdmVyc2lvbnMKIyBjb25zaWRlciBydW5uaW5nIGBmbHV0dGVyIHB1YiB1cGdyYWRlIC0tbWFqb3ItdmVyc2lvbnNgLiBBbHRlcm5hdGl2ZWx5LAojIGRlcGVuZGVuY2llcyBjYW4gYmUgbWFudWFsbHkgdXBkYXRlZCBieSBjaGFuZ2luZyB0aGUgdmVyc2lvbiBudW1iZXJzIGJlbG93IHRvCiMgdGhlIGxhdGVzdCB2ZXJzaW9uIGF2YWlsYWJsZSBvbiBwdWIuZGV2LiBUbyBzZWUgd2hpY2ggZGVwZW5kZW5jaWVzIGhhdmUgbmV3ZXIKIyB2ZXJzaW9ucyBhdmFpbGFibGUsIHJ1biBgZmx1dHRlciBwdWIgb3V0ZGF0ZWRgLgpkZXBlbmRlbmNpZXM6CiAgZmx1dHRlcjoKICAgIHNkazogZmx1dHRlcgogIGdldF9pdDogXjcuNi4wCiAgaW5qZWN0YWJsZTogXjIuMy4wCiAgYXV0b19yb3V0ZTogXjcuOC4yCiAgYmxvYzogXjguMS4yCiAgYmxvY19jb25jdXJyZW5jeTogXjAuMi4yCiAge3twcm9qZWN0X25hbWV9fV9kaToKICB7e3Byb2plY3RfbmFtZX19X2xvZ2dpbmc6CiAge3twcm9qZWN0X25hbWV9fV9pbmZyYXN0cnVjdHVyZToKICB7e3Byb2plY3RfbmFtZX19X2xpbnV4X2FwcDoKICB7e3Byb2plY3RfbmFtZX19X2xpbnV4X2hvbWVfcGFnZToKCmRldl9kZXBlbmRlbmNpZXM6CiAgZmx1dHRlcl90ZXN0OgogICAgc2RrOiBmbHV0dGVyCiAgaW50ZWdyYXRpb25fdGVzdDoKICAgIHNkazogZmx1dHRlcgogIG1vY2t0YWlsOiBeMS4wLjAKICBidWlsZF9ydW5uZXI6IF4yLjQuNgogIGluamVjdGFibGVfZ2VuZXJhdG9yOiBeMi40LjAKICBhdXRvX3JvdXRlX2dlbmVyYXRvcjogXjcuMy4xCiAgYnVpbGRfdmVyaWZ5OiBeMy4xLjAKCiMgRm9yIGluZm9ybWF0aW9uIG9uIHRoZSBnZW5lcmljIERhcnQgcGFydCBvZiB0aGlzIGZpbGUsIHNlZSB0aGUKIyBmb2xsb3dpbmcgcGFnZTogaHR0cHM6Ly9kYXJ0LmRldi90b29scy9wdWIvcHVic3BlYwoKIyBUaGUgZm9sbG93aW5nIHNlY3Rpb24gaXMgc3BlY2lmaWMgdG8gRmx1dHRlciBwYWNrYWdlcy4KZmx1dHRlcjoKICAjIFRoZSBmb2xsb3dpbmcgbGluZSBlbnN1cmVzIHRoYXQgdGhlIE1hdGVyaWFsIEljb25zIGZvbnQgaXMKICAjIGluY2x1ZGVkIHdpdGggeW91ciBhcHBsaWNhdGlvbiwgc28gdGhhdCB5b3UgY2FuIHVzZSB0aGUgaWNvbnMgaW4KICAjIHRoZSBtYXRlcmlhbCBJY29ucyBjbGFzcy4KICB1c2VzLW1hdGVyaWFsLWRlc2lnbjogdHJ1ZQp7ey9saW51eH19e3sjbWFjb3N9fW5hbWU6IHt7cHJvamVjdF9uYW1lfX1fbWFjb3MKZGVzY3JpcHRpb246IHt7IGRlc2NyaXB0aW9uIH19CgojIFRoZSBmb2xsb3dpbmcgZGVmaW5lcyB0aGUgdmVyc2lvbiBhbmQgYnVpbGQgbnVtYmVyIGZvciB5b3VyIGFwcGxpY2F0aW9uLgojIEEgdmVyc2lvbiBudW1iZXIgaXMgdGhyZWUgbnVtYmVycyBzZXBhcmF0ZWQgYnkgZG90cywgbGlrZSAxLjIuNDMKIyBmb2xsb3dlZCBieSBhbiBvcHRpb25hbCBidWlsZCBudW1iZXIgc2VwYXJhdGVkIGJ5IGEgKy4KIyBCb3RoIHRoZSB2ZXJzaW9uIGFuZCB0aGUgYnVpbGRlciBudW1iZXIgbWF5IGJlIG92ZXJyaWRkZW4gaW4gZmx1dHRlcgojIGJ1aWxkIGJ5IHNwZWNpZnlpbmcgLS1idWlsZC1uYW1lIGFuZCAtLWJ1aWxkLW51bWJlciwgcmVzcGVjdGl2ZWx5LgojIEluIEFuZHJvaWQsIGJ1aWxkLW5hbWUgaXMgdXNlZCBhcyB2ZXJzaW9uTmFtZSB3aGlsZSBidWlsZC1udW1iZXIgdXNlZCBhcyB2ZXJzaW9uQ29kZS4KIyBSZWFkIG1vcmUgYWJvdXQgQW5kcm9pZCB2ZXJzaW9uaW5nIGF0IGh0dHBzOi8vZGV2ZWxvcGVyLmFuZHJvaWQuY29tL3N0dWRpby9wdWJsaXNoL3ZlcnNpb25pbmcKIyBJbiBpT1MsIGJ1aWxkLW5hbWUgaXMgdXNlZCBhcyBDRkJ1bmRsZVNob3J0VmVyc2lvblN0cmluZyB3aGlsZSBidWlsZC1udW1iZXIgaXMgdXNlZCBhcyBDRkJ1bmRsZVZlcnNpb24uCiMgUmVhZCBtb3JlIGFib3V0IGlPUyB2ZXJzaW9uaW5nIGF0CiMgaHR0cHM6Ly9kZXZlbG9wZXIuYXBwbGUuY29tL2xpYnJhcnkvYXJjaGl2ZS9kb2N1bWVudGF0aW9uL0dlbmVyYWwvUmVmZXJlbmNlL0luZm9QbGlzdEtleVJlZmVyZW5jZS9BcnRpY2xlcy9Db3JlRm91bmRhdGlvbktleXMuaHRtbAojIEluIFdpbmRvd3MsIGJ1aWxkLW5hbWUgaXMgdXNlZCBhcyB0aGUgbWFqb3IsIG1pbm9yLCBhbmQgcGF0Y2ggcGFydHMKIyBvZiB0aGUgcHJvZHVjdCBhbmQgZmlsZSB2ZXJzaW9ucyB3aGlsZSBidWlsZC1udW1iZXIgaXMgdXNlZCBhcyB0aGUgYnVpbGQgc3VmZml4Lgp2ZXJzaW9uOiAwLjAuMQpwdWJsaXNoX3RvOiBub25lCgplbnZpcm9ubWVudDoKICBzZGs6ICI+PTMuMS4wIDw0LjAuMCIKICBmbHV0dGVyOiAiPj0zLjEzLjAiCgojIERlcGVuZGVuY2llcyBzcGVjaWZ5IG90aGVyIHBhY2thZ2VzIHRoYXQgeW91ciBwYWNrYWdlIG5lZWRzIGluIG9yZGVyIHRvIHdvcmsuCiMgVG8gYXV0b21hdGljYWxseSB1cGdyYWRlIHlvdXIgcGFja2FnZSBkZXBlbmRlbmNpZXMgdG8gdGhlIGxhdGVzdCB2ZXJzaW9ucwojIGNvbnNpZGVyIHJ1bm5pbmcgYGZsdXR0ZXIgcHViIHVwZ3JhZGUgLS1tYWpvci12ZXJzaW9uc2AuIEFsdGVybmF0aXZlbHksCiMgZGVwZW5kZW5jaWVzIGNhbiBiZSBtYW51YWxseSB1cGRhdGVkIGJ5IGNoYW5naW5nIHRoZSB2ZXJzaW9uIG51bWJlcnMgYmVsb3cgdG8KIyB0aGUgbGF0ZXN0IHZlcnNpb24gYXZhaWxhYmxlIG9uIHB1Yi5kZXYuIFRvIHNlZSB3aGljaCBkZXBlbmRlbmNpZXMgaGF2ZSBuZXdlcgojIHZlcnNpb25zIGF2YWlsYWJsZSwgcnVuIGBmbHV0dGVyIHB1YiBvdXRkYXRlZGAuCmRlcGVuZGVuY2llczoKICBmbHV0dGVyOgogICAgc2RrOiBmbHV0dGVyCiAgZ2V0X2l0OiBeNy42LjAKICBpbmplY3RhYmxlOiBeMi4zLjAKICBhdXRvX3JvdXRlOiBeNy44LjIKICBibG9jOiBeOC4xLjIKICBibG9jX2NvbmN1cnJlbmN5OiBeMC4yLjIKICBjdXBlcnRpbm9faWNvbnM6IF4xLjAuNQogIHt7cHJvamVjdF9uYW1lfX1fZGk6CiAge3twcm9qZWN0X25hbWV9fV9sb2dnaW5nOgogIHt7cHJvamVjdF9uYW1lfX1faW5mcmFzdHJ1Y3R1cmU6CiAge3twcm9qZWN0X25hbWV9fV9tYWNvc19hcHA6CiAge3twcm9qZWN0X25hbWV9fV9tYWNvc19ob21lX3BhZ2U6CgpkZXZfZGVwZW5kZW5jaWVzOgogIGZsdXR0ZXJfdGVzdDoKICAgIHNkazogZmx1dHRlcgogIGludGVncmF0aW9uX3Rlc3Q6CiAgICBzZGs6IGZsdXR0ZXIKICBtb2NrdGFpbDogXjEuMC4wCiAgYnVpbGRfcnVubmVyOiBeMi40LjYKICBpbmplY3RhYmxlX2dlbmVyYXRvcjogXjIuNC4wCiAgYXV0b19yb3V0ZV9nZW5lcmF0b3I6IF43LjMuMQogIGJ1aWxkX3ZlcmlmeTogXjMuMS4wCgojIEZvciBpbmZvcm1hdGlvbiBvbiB0aGUgZ2VuZXJpYyBEYXJ0IHBhcnQgb2YgdGhpcyBmaWxlLCBzZWUgdGhlCiMgZm9sbG93aW5nIHBhZ2U6IGh0dHBzOi8vZGFydC5kZXYvdG9vbHMvcHViL3B1YnNwZWMKCiMgVGhlIGZvbGxvd2luZyBzZWN0aW9uIGlzIHNwZWNpZmljIHRvIEZsdXR0ZXIgcGFja2FnZXMuCmZsdXR0ZXI6Cnt7L21hY29zfX17eyN3ZWJ9fW5hbWU6IHt7cHJvamVjdF9uYW1lfX1fd2ViCmRlc2NyaXB0aW9uOiB7eyBkZXNjcmlwdGlvbiB9fQoKIyBUaGUgZm9sbG93aW5nIGRlZmluZXMgdGhlIHZlcnNpb24gYW5kIGJ1aWxkIG51bWJlciBmb3IgeW91ciBhcHBsaWNhdGlvbi4KIyBBIHZlcnNpb24gbnVtYmVyIGlzIHRocmVlIG51bWJlcnMgc2VwYXJhdGVkIGJ5IGRvdHMsIGxpa2UgMS4yLjQzCiMgZm9sbG93ZWQgYnkgYW4gb3B0aW9uYWwgYnVpbGQgbnVtYmVyIHNlcGFyYXRlZCBieSBhICsuCiMgQm90aCB0aGUgdmVyc2lvbiBhbmQgdGhlIGJ1aWxkZXIgbnVtYmVyIG1heSBiZSBvdmVycmlkZGVuIGluIGZsdXR0ZXIKIyBidWlsZCBieSBzcGVjaWZ5aW5nIC0tYnVpbGQtbmFtZSBhbmQgLS1idWlsZC1udW1iZXIsIHJlc3BlY3RpdmVseS4KIyBJbiBBbmRyb2lkLCBidWlsZC1uYW1lIGlzIHVzZWQgYXMgdmVyc2lvbk5hbWUgd2hpbGUgYnVpbGQtbnVtYmVyIHVzZWQgYXMgdmVyc2lvbkNvZGUuCiMgUmVhZCBtb3JlIGFib3V0IEFuZHJvaWQgdmVyc2lvbmluZyBhdCBodHRwczovL2RldmVsb3Blci5hbmRyb2lkLmNvbS9zdHVkaW8vcHVibGlzaC92ZXJzaW9uaW5nCiMgSW4gaU9TLCBidWlsZC1uYW1lIGlzIHVzZWQgYXMgQ0ZCdW5kbGVTaG9ydFZlcnNpb25TdHJpbmcgd2hpbGUgYnVpbGQtbnVtYmVyIGlzIHVzZWQgYXMgQ0ZCdW5kbGVWZXJzaW9uLgojIFJlYWQgbW9yZSBhYm91dCBpT1MgdmVyc2lvbmluZyBhdAojIGh0dHBzOi8vZGV2ZWxvcGVyLmFwcGxlLmNvbS9saWJyYXJ5L2FyY2hpdmUvZG9jdW1lbnRhdGlvbi9HZW5lcmFsL1JlZmVyZW5jZS9JbmZvUGxpc3RLZXlSZWZlcmVuY2UvQXJ0aWNsZXMvQ29yZUZvdW5kYXRpb25LZXlzLmh0bWwKIyBJbiBXaW5kb3dzLCBidWlsZC1uYW1lIGlzIHVzZWQgYXMgdGhlIG1ham9yLCBtaW5vciwgYW5kIHBhdGNoIHBhcnRzCiMgb2YgdGhlIHByb2R1Y3QgYW5kIGZpbGUgdmVyc2lvbnMgd2hpbGUgYnVpbGQtbnVtYmVyIGlzIHVzZWQgYXMgdGhlIGJ1aWxkIHN1ZmZpeC4KdmVyc2lvbjogMC4wLjEKcHVibGlzaF90bzogbm9uZQoKZW52aXJvbm1lbnQ6CiAgc2RrOiAiPj0zLjEuMCA8NC4wLjAiCiAgZmx1dHRlcjogIj49My4xMy4wIgoKIyBEZXBlbmRlbmNpZXMgc3BlY2lmeSBvdGhlciBwYWNrYWdlcyB0aGF0IHlvdXIgcGFja2FnZSBuZWVkcyBpbiBvcmRlciB0byB3b3JrLgojIFRvIGF1dG9tYXRpY2FsbHkgdXBncmFkZSB5b3VyIHBhY2thZ2UgZGVwZW5kZW5jaWVzIHRvIHRoZSBsYXRlc3QgdmVyc2lvbnMKIyBjb25zaWRlciBydW5uaW5nIGBmbHV0dGVyIHB1YiB1cGdyYWRlIC0tbWFqb3ItdmVyc2lvbnNgLiBBbHRlcm5hdGl2ZWx5LAojIGRlcGVuZGVuY2llcyBjYW4gYmUgbWFudWFsbHkgdXBkYXRlZCBieSBjaGFuZ2luZyB0aGUgdmVyc2lvbiBudW1iZXJzIGJlbG93IHRvCiMgdGhlIGxhdGVzdCB2ZXJzaW9uIGF2YWlsYWJsZSBvbiBwdWIuZGV2LiBUbyBzZWUgd2hpY2ggZGVwZW5kZW5jaWVzIGhhdmUgbmV3ZXIKIyB2ZXJzaW9ucyBhdmFpbGFibGUsIHJ1biBgZmx1dHRlciBwdWIgb3V0ZGF0ZWRgLgpkZXBlbmRlbmNpZXM6CiAgZmx1dHRlcjoKICAgIHNkazogZmx1dHRlcgogIGZsdXR0ZXJfd2ViX3BsdWdpbnM6CiAgICBzZGs6IGZsdXR0ZXIKICBnZXRfaXQ6IF43LjYuMAogIGluamVjdGFibGU6IF4yLjMuMAogIGF1dG9fcm91dGU6IF43LjguMgogIGJsb2M6IF44LjEuMgogIGJsb2NfY29uY3VycmVuY3k6IF4wLjIuMgogIHt7cHJvamVjdF9uYW1lfX1fZGk6CiAge3twcm9qZWN0X25hbWV9fV9sb2dnaW5nOgogIHt7cHJvamVjdF9uYW1lfX1faW5mcmFzdHJ1Y3R1cmU6CiAge3twcm9qZWN0X25hbWV9fV93ZWJfYXBwOgogIHt7cHJvamVjdF9uYW1lfX1fd2ViX2hvbWVfcGFnZToKCmRldl9kZXBlbmRlbmNpZXM6CiAgZmx1dHRlcl90ZXN0OgogICAgc2RrOiBmbHV0dGVyCiAgaW50ZWdyYXRpb25fdGVzdDoKICAgIHNkazogZmx1dHRlcgogIG1vY2t0YWlsOiBeMS4wLjAKICBidWlsZF9ydW5uZXI6IF4yLjQuNgogIGluamVjdGFibGVfZ2VuZXJhdG9yOiBeMi40LjAKICBhdXRvX3JvdXRlX2dlbmVyYXRvcjogXjcuMy4xCiAgYnVpbGRfdmVyaWZ5OiBeMy4xLjAKCiMgRm9yIGluZm9ybWF0aW9uIG9uIHRoZSBnZW5lcmljIERhcnQgcGFydCBvZiB0aGlzIGZpbGUsIHNlZSB0aGUKIyBmb2xsb3dpbmcgcGFnZTogaHR0cHM6Ly9kYXJ0LmRldi90b29scy9wdWIvcHVic3BlYwoKIyBUaGUgZm9sbG93aW5nIHNlY3Rpb24gaXMgc3BlY2lmaWMgdG8gRmx1dHRlciBwYWNrYWdlcy4KZmx1dHRlcjoKICAjIFRoZSBmb2xsb3dpbmcgbGluZSBlbnN1cmVzIHRoYXQgdGhlIE1hdGVyaWFsIEljb25zIGZvbnQgaXMKICAjIGluY2x1ZGVkIHdpdGggeW91ciBhcHBsaWNhdGlvbiwgc28gdGhhdCB5b3UgY2FuIHVzZSB0aGUgaWNvbnMgaW4KICAjIHRoZSBtYXRlcmlhbCBJY29ucyBjbGFzcy4KICB1c2VzLW1hdGVyaWFsLWRlc2lnbjogdHJ1ZQp7ey93ZWJ9fXt7I3dpbmRvd3N9fW5hbWU6IHt7cHJvamVjdF9uYW1lfX1fd2luZG93cwpkZXNjcmlwdGlvbjoge3sgZGVzY3JpcHRpb24gfX0KCiMgVGhlIGZvbGxvd2luZyBkZWZpbmVzIHRoZSB2ZXJzaW9uIGFuZCBidWlsZCBudW1iZXIgZm9yIHlvdXIgYXBwbGljYXRpb24uCiMgQSB2ZXJzaW9uIG51bWJlciBpcyB0aHJlZSBudW1iZXJzIHNlcGFyYXRlZCBieSBkb3RzLCBsaWtlIDEuMi40MwojIGZvbGxvd2VkIGJ5IGFuIG9wdGlvbmFsIGJ1aWxkIG51bWJlciBzZXBhcmF0ZWQgYnkgYSArLgojIEJvdGggdGhlIHZlcnNpb24gYW5kIHRoZSBidWlsZGVyIG51bWJlciBtYXkgYmUgb3ZlcnJpZGRlbiBpbiBmbHV0dGVyCiMgYnVpbGQgYnkgc3BlY2lmeWluZyAtLWJ1aWxkLW5hbWUgYW5kIC0tYnVpbGQtbnVtYmVyLCByZXNwZWN0aXZlbHkuCiMgSW4gQW5kcm9pZCwgYnVpbGQtbmFtZSBpcyB1c2VkIGFzIHZlcnNpb25OYW1lIHdoaWxlIGJ1aWxkLW51bWJlciB1c2VkIGFzIHZlcnNpb25Db2RlLgojIFJlYWQgbW9yZSBhYm91dCBBbmRyb2lkIHZlcnNpb25pbmcgYXQgaHR0cHM6Ly9kZXZlbG9wZXIuYW5kcm9pZC5jb20vc3R1ZGlvL3B1Ymxpc2gvdmVyc2lvbmluZwojIEluIGlPUywgYnVpbGQtbmFtZSBpcyB1c2VkIGFzIENGQnVuZGxlU2hvcnRWZXJzaW9uU3RyaW5nIHdoaWxlIGJ1aWxkLW51bWJlciBpcyB1c2VkIGFzIENGQnVuZGxlVmVyc2lvbi4KIyBSZWFkIG1vcmUgYWJvdXQgaU9TIHZlcnNpb25pbmcgYXQKIyBodHRwczovL2RldmVsb3Blci5hcHBsZS5jb20vbGlicmFyeS9hcmNoaXZlL2RvY3VtZW50YXRpb24vR2VuZXJhbC9SZWZlcmVuY2UvSW5mb1BsaXN0S2V5UmVmZXJlbmNlL0FydGljbGVzL0NvcmVGb3VuZGF0aW9uS2V5cy5odG1sCiMgSW4gV2luZG93cywgYnVpbGQtbmFtZSBpcyB1c2VkIGFzIHRoZSBtYWpvciwgbWlub3IsIGFuZCBwYXRjaCBwYXJ0cwojIG9mIHRoZSBwcm9kdWN0IGFuZCBmaWxlIHZlcnNpb25zIHdoaWxlIGJ1aWxkLW51bWJlciBpcyB1c2VkIGFzIHRoZSBidWlsZCBzdWZmaXguCnZlcnNpb246IDAuMC4xCnB1Ymxpc2hfdG86IG5vbmUKCmVudmlyb25tZW50OgogIHNkazogIj49My4xLjAgPDQuMC4wIgogIGZsdXR0ZXI6ICI+PTMuMTMuMCIKCiMgRGVwZW5kZW5jaWVzIHNwZWNpZnkgb3RoZXIgcGFja2FnZXMgdGhhdCB5b3VyIHBhY2thZ2UgbmVlZHMgaW4gb3JkZXIgdG8gd29yay4KIyBUbyBhdXRvbWF0aWNhbGx5IHVwZ3JhZGUgeW91ciBwYWNrYWdlIGRlcGVuZGVuY2llcyB0byB0aGUgbGF0ZXN0IHZlcnNpb25zCiMgY29uc2lkZXIgcnVubmluZyBgZmx1dHRlciBwdWIgdXBncmFkZSAtLW1ham9yLXZlcnNpb25zYC4gQWx0ZXJuYXRpdmVseSwKIyBkZXBlbmRlbmNpZXMgY2FuIGJlIG1hbnVhbGx5IHVwZGF0ZWQgYnkgY2hhbmdpbmcgdGhlIHZlcnNpb24gbnVtYmVycyBiZWxvdyB0bwojIHRoZSBsYXRlc3QgdmVyc2lvbiBhdmFpbGFibGUgb24gcHViLmRldi4gVG8gc2VlIHdoaWNoIGRlcGVuZGVuY2llcyBoYXZlIG5ld2VyCiMgdmVyc2lvbnMgYXZhaWxhYmxlLCBydW4gYGZsdXR0ZXIgcHViIG91dGRhdGVkYC4KZGVwZW5kZW5jaWVzOgogIGZsdXR0ZXI6CiAgICBzZGs6IGZsdXR0ZXIKICBnZXRfaXQ6IF43LjYuMAogIGluamVjdGFibGU6IF4yLjMuMAogIGF1dG9fcm91dGU6IF43LjguMgogIGJsb2M6IF44LjEuMgogIGJsb2NfY29uY3VycmVuY3k6IF4wLjIuMgogIHt7cHJvamVjdF9uYW1lfX1fZGk6CiAge3twcm9qZWN0X25hbWV9fV9sb2dnaW5nOgogIHt7cHJvamVjdF9uYW1lfX1faW5mcmFzdHJ1Y3R1cmU6CiAge3twcm9qZWN0X25hbWV9fV93aW5kb3dzX2FwcDoKICB7e3Byb2plY3RfbmFtZX19X3dpbmRvd3NfaG9tZV9wYWdlOgoKZGV2X2RlcGVuZGVuY2llczoKICBmbHV0dGVyX3Rlc3Q6CiAgICBzZGs6IGZsdXR0ZXIKICBpbnRlZ3JhdGlvbl90ZXN0OgogICAgc2RrOiBmbHV0dGVyCiAgbW9ja3RhaWw6IF4xLjAuMAogIGJ1aWxkX3J1bm5lcjogXjIuNC42CiAgaW5qZWN0YWJsZV9nZW5lcmF0b3I6IF4yLjQuMAogIGF1dG9fcm91dGVfZ2VuZXJhdG9yOiBeNy4zLjEKICBidWlsZF92ZXJpZnk6IF4zLjEuMAoKIyBGb3IgaW5mb3JtYXRpb24gb24gdGhlIGdlbmVyaWMgRGFydCBwYXJ0IG9mIHRoaXMgZmlsZSwgc2VlIHRoZQojIGZvbGxvd2luZyBwYWdlOiBodHRwczovL2RhcnQuZGV2L3Rvb2xzL3B1Yi9wdWJzcGVjCgojIFRoZSBmb2xsb3dpbmcgc2VjdGlvbiBpcyBzcGVjaWZpYyB0byBGbHV0dGVyIHBhY2thZ2VzLgpmbHV0dGVyOgogICMgVGhlIGZvbGxvd2luZyBsaW5lIGVuc3VyZXMgdGhhdCB0aGUgTWF0ZXJpYWwgSWNvbnMgZm9udCBpcwogICMgaW5jbHVkZWQgd2l0aCB5b3VyIGFwcGxpY2F0aW9uLCBzbyB0aGF0IHlvdSBjYW4gdXNlIHRoZSBpY29ucyBpbgogICMgdGhlIG1hdGVyaWFsIEljb25zIGNsYXNzLgogIHVzZXMtbWF0ZXJpYWwtZGVzaWduOiB0cnVlCnt7L3dpbmRvd3N9fXt7I21vYmlsZX19bmFtZToge3twcm9qZWN0X25hbWV9fV9tb2JpbGUKZGVzY3JpcHRpb246IHt7IGRlc2NyaXB0aW9uIH19CgojIFRoZSBmb2xsb3dpbmcgZGVmaW5lcyB0aGUgdmVyc2lvbiBhbmQgYnVpbGQgbnVtYmVyIGZvciB5b3VyIGFwcGxpY2F0aW9uLgojIEEgdmVyc2lvbiBudW1iZXIgaXMgdGhyZWUgbnVtYmVycyBzZXBhcmF0ZWQgYnkgZG90cywgbGlrZSAxLjIuNDMKIyBmb2xsb3dlZCBieSBhbiBvcHRpb25hbCBidWlsZCBudW1iZXIgc2VwYXJhdGVkIGJ5IGEgKy4KIyBCb3RoIHRoZSB2ZXJzaW9uIGFuZCB0aGUgYnVpbGRlciBudW1iZXIgbWF5IGJlIG92ZXJyaWRkZW4gaW4gZmx1dHRlcgojIGJ1aWxkIGJ5IHNwZWNpZnlpbmcgLS1idWlsZC1uYW1lIGFuZCAtLWJ1aWxkLW51bWJlciwgcmVzcGVjdGl2ZWx5LgojIEluIEFuZHJvaWQsIGJ1aWxkLW5hbWUgaXMgdXNlZCBhcyB2ZXJzaW9uTmFtZSB3aGlsZSBidWlsZC1udW1iZXIgdXNlZCBhcyB2ZXJzaW9uQ29kZS4KIyBSZWFkIG1vcmUgYWJvdXQgQW5kcm9pZCB2ZXJzaW9uaW5nIGF0IGh0dHBzOi8vZGV2ZWxvcGVyLmFuZHJvaWQuY29tL3N0dWRpby9wdWJsaXNoL3ZlcnNpb25pbmcKIyBJbiBpT1MsIGJ1aWxkLW5hbWUgaXMgdXNlZCBhcyBDRkJ1bmRsZVNob3J0VmVyc2lvblN0cmluZyB3aGlsZSBidWlsZC1udW1iZXIgaXMgdXNlZCBhcyBDRkJ1bmRsZVZlcnNpb24uCiMgUmVhZCBtb3JlIGFib3V0IGlPUyB2ZXJzaW9uaW5nIGF0CiMgaHR0cHM6Ly9kZXZlbG9wZXIuYXBwbGUuY29tL2xpYnJhcnkvYXJjaGl2ZS9kb2N1bWVudGF0aW9uL0dlbmVyYWwvUmVmZXJlbmNlL0luZm9QbGlzdEtleVJlZmVyZW5jZS9BcnRpY2xlcy9Db3JlRm91bmRhdGlvbktleXMuaHRtbAojIEluIFdpbmRvd3MsIGJ1aWxkLW5hbWUgaXMgdXNlZCBhcyB0aGUgbWFqb3IsIG1pbm9yLCBhbmQgcGF0Y2ggcGFydHMKIyBvZiB0aGUgcHJvZHVjdCBhbmQgZmlsZSB2ZXJzaW9ucyB3aGlsZSBidWlsZC1udW1iZXIgaXMgdXNlZCBhcyB0aGUgYnVpbGQgc3VmZml4Lgp2ZXJzaW9uOiAwLjAuMQpwdWJsaXNoX3RvOiBub25lCgplbnZpcm9ubWVudDoKICBzZGs6ICI+PTMuMS4wIDw0LjAuMCIKICBmbHV0dGVyOiAiPj0zLjEzLjAiCgojIERlcGVuZGVuY2llcyBzcGVjaWZ5IG90aGVyIHBhY2thZ2VzIHRoYXQgeW91ciBwYWNrYWdlIG5lZWRzIGluIG9yZGVyIHRvIHdvcmsuCiMgVG8gYXV0b21hdGljYWxseSB1cGdyYWRlIHlvdXIgcGFja2FnZSBkZXBlbmRlbmNpZXMgdG8gdGhlIGxhdGVzdCB2ZXJzaW9ucwojIGNvbnNpZGVyIHJ1bm5pbmcgYGZsdXR0ZXIgcHViIHVwZ3JhZGUgLS1tYWpvci12ZXJzaW9uc2AuIEFsdGVybmF0aXZlbHksCiMgZGVwZW5kZW5jaWVzIGNhbiBiZSBtYW51YWxseSB1cGRhdGVkIGJ5IGNoYW5naW5nIHRoZSB2ZXJzaW9uIG51bWJlcnMgYmVsb3cgdG8KIyB0aGUgbGF0ZXN0IHZlcnNpb24gYXZhaWxhYmxlIG9uIHB1Yi5kZXYuIFRvIHNlZSB3aGljaCBkZXBlbmRlbmNpZXMgaGF2ZSBuZXdlcgojIHZlcnNpb25zIGF2YWlsYWJsZSwgcnVuIGBmbHV0dGVyIHB1YiBvdXRkYXRlZGAuCmRlcGVuZGVuY2llczoKICBmbHV0dGVyOgogICAgc2RrOiBmbHV0dGVyCiAgZ2V0X2l0OiBeNy42LjAKICBpbmplY3RhYmxlOiBeMi4zLjAKICBhdXRvX3JvdXRlOiBeNy44LjIKICBibG9jOiBeOC4xLjIKICBibG9jX2NvbmN1cnJlbmN5OiBeMC4yLjIKICB7e3Byb2plY3RfbmFtZX19X2RpOgogIHt7cHJvamVjdF9uYW1lfX1fbG9nZ2luZzoKICB7e3Byb2plY3RfbmFtZX19X2luZnJhc3RydWN0dXJlOgogIHt7cHJvamVjdF9uYW1lfX1fbW9iaWxlX2FwcDoKICB7e3Byb2plY3RfbmFtZX19X21vYmlsZV9ob21lX3BhZ2U6CgpkZXZfZGVwZW5kZW5jaWVzOgogIGZsdXR0ZXJfdGVzdDoKICAgIHNkazogZmx1dHRlcgogIGludGVncmF0aW9uX3Rlc3Q6CiAgICBzZGs6IGZsdXR0ZXIKICBtb2NrdGFpbDogXjEuMC4wCiAgYnVpbGRfcnVubmVyOiBeMi40LjYKICBpbmplY3RhYmxlX2dlbmVyYXRvcjogXjIuNC4wCiAgYXV0b19yb3V0ZV9nZW5lcmF0b3I6IF43LjMuMQogIGJ1aWxkX3ZlcmlmeTogXjMuMS4wCgojIEZvciBpbmZvcm1hdGlvbiBvbiB0aGUgZ2VuZXJpYyBEYXJ0IHBhcnQgb2YgdGhpcyBmaWxlLCBzZWUgdGhlCiMgZm9sbG93aW5nIHBhZ2U6IGh0dHBzOi8vZGFydC5kZXYvdG9vbHMvcHViL3B1YnNwZWMKCiMgVGhlIGZvbGxvd2luZyBzZWN0aW9uIGlzIHNwZWNpZmljIHRvIEZsdXR0ZXIgcGFja2FnZXMuCmZsdXR0ZXI6CiAgIyBUaGUgZm9sbG93aW5nIGxpbmUgZW5zdXJlcyB0aGF0IHRoZSBNYXRlcmlhbCBJY29ucyBmb250IGlzCiAgIyBpbmNsdWRlZCB3aXRoIHlvdXIgYXBwbGljYXRpb24sIHNvIHRoYXQgeW91IGNhbiB1c2UgdGhlIGljb25zIGluCiAgIyB0aGUgbWF0ZXJpYWwgSWNvbnMgY2xhc3MuCiAgdXNlcy1tYXRlcmlhbC1kZXNpZ246IHRydWUKe3svbW9iaWxlfX0=", + "e3sjYW5kcm9pZH19bmFtZToge3twcm9qZWN0X25hbWV9fV9hbmRyb2lkCmRlc2NyaXB0aW9uOiB7eyBkZXNjcmlwdGlvbiB9fQoKIyBUaGUgZm9sbG93aW5nIGRlZmluZXMgdGhlIHZlcnNpb24gYW5kIGJ1aWxkIG51bWJlciBmb3IgeW91ciBhcHBsaWNhdGlvbi4KIyBBIHZlcnNpb24gbnVtYmVyIGlzIHRocmVlIG51bWJlcnMgc2VwYXJhdGVkIGJ5IGRvdHMsIGxpa2UgMS4yLjQzCiMgZm9sbG93ZWQgYnkgYW4gb3B0aW9uYWwgYnVpbGQgbnVtYmVyIHNlcGFyYXRlZCBieSBhICsuCiMgQm90aCB0aGUgdmVyc2lvbiBhbmQgdGhlIGJ1aWxkZXIgbnVtYmVyIG1heSBiZSBvdmVycmlkZGVuIGluIGZsdXR0ZXIKIyBidWlsZCBieSBzcGVjaWZ5aW5nIC0tYnVpbGQtbmFtZSBhbmQgLS1idWlsZC1udW1iZXIsIHJlc3BlY3RpdmVseS4KIyBJbiBBbmRyb2lkLCBidWlsZC1uYW1lIGlzIHVzZWQgYXMgdmVyc2lvbk5hbWUgd2hpbGUgYnVpbGQtbnVtYmVyIHVzZWQgYXMgdmVyc2lvbkNvZGUuCiMgUmVhZCBtb3JlIGFib3V0IEFuZHJvaWQgdmVyc2lvbmluZyBhdCBodHRwczovL2RldmVsb3Blci5hbmRyb2lkLmNvbS9zdHVkaW8vcHVibGlzaC92ZXJzaW9uaW5nCiMgSW4gaU9TLCBidWlsZC1uYW1lIGlzIHVzZWQgYXMgQ0ZCdW5kbGVTaG9ydFZlcnNpb25TdHJpbmcgd2hpbGUgYnVpbGQtbnVtYmVyIGlzIHVzZWQgYXMgQ0ZCdW5kbGVWZXJzaW9uLgojIFJlYWQgbW9yZSBhYm91dCBpT1MgdmVyc2lvbmluZyBhdAojIGh0dHBzOi8vZGV2ZWxvcGVyLmFwcGxlLmNvbS9saWJyYXJ5L2FyY2hpdmUvZG9jdW1lbnRhdGlvbi9HZW5lcmFsL1JlZmVyZW5jZS9JbmZvUGxpc3RLZXlSZWZlcmVuY2UvQXJ0aWNsZXMvQ29yZUZvdW5kYXRpb25LZXlzLmh0bWwKIyBJbiBXaW5kb3dzLCBidWlsZC1uYW1lIGlzIHVzZWQgYXMgdGhlIG1ham9yLCBtaW5vciwgYW5kIHBhdGNoIHBhcnRzCiMgb2YgdGhlIHByb2R1Y3QgYW5kIGZpbGUgdmVyc2lvbnMgd2hpbGUgYnVpbGQtbnVtYmVyIGlzIHVzZWQgYXMgdGhlIGJ1aWxkIHN1ZmZpeC4KdmVyc2lvbjogMC4xLjAKcHVibGlzaF90bzogbm9uZQoKZW52aXJvbm1lbnQ6CiAgc2RrOiAiPj0zLjEuMCA8NC4wLjAiCiAgZmx1dHRlcjogIj49My4xMy4wIgoKIyBEZXBlbmRlbmNpZXMgc3BlY2lmeSBvdGhlciBwYWNrYWdlcyB0aGF0IHlvdXIgcGFja2FnZSBuZWVkcyBpbiBvcmRlciB0byB3b3JrLgojIFRvIGF1dG9tYXRpY2FsbHkgdXBncmFkZSB5b3VyIHBhY2thZ2UgZGVwZW5kZW5jaWVzIHRvIHRoZSBsYXRlc3QgdmVyc2lvbnMKIyBjb25zaWRlciBydW5uaW5nIGBmbHV0dGVyIHB1YiB1cGdyYWRlIC0tbWFqb3ItdmVyc2lvbnNgLiBBbHRlcm5hdGl2ZWx5LAojIGRlcGVuZGVuY2llcyBjYW4gYmUgbWFudWFsbHkgdXBkYXRlZCBieSBjaGFuZ2luZyB0aGUgdmVyc2lvbiBudW1iZXJzIGJlbG93IHRvCiMgdGhlIGxhdGVzdCB2ZXJzaW9uIGF2YWlsYWJsZSBvbiBwdWIuZGV2LiBUbyBzZWUgd2hpY2ggZGVwZW5kZW5jaWVzIGhhdmUgbmV3ZXIKIyB2ZXJzaW9ucyBhdmFpbGFibGUsIHJ1biBgZmx1dHRlciBwdWIgb3V0ZGF0ZWRgLgpkZXBlbmRlbmNpZXM6CiAgYXV0b19yb3V0ZTogXjcuOC4yCiAgYmxvYzogXjguMS4yCiAgYmxvY19jb25jdXJyZW5jeTogXjAuMi4yCiAgZmx1dHRlcjoKICAgIHNkazogZmx1dHRlcgogIGdldF9pdDogXjcuNi4wCiAgaW5qZWN0YWJsZTogXjIuMy4wCiAge3twcm9qZWN0X25hbWV9fV9kaToKICB7e3Byb2plY3RfbmFtZX19X2xvZ2dpbmc6CiAge3twcm9qZWN0X25hbWV9fV9pbmZyYXN0cnVjdHVyZToKICB7e3Byb2plY3RfbmFtZX19X2FuZHJvaWRfYXBwOgogIHt7cHJvamVjdF9uYW1lfX1fYW5kcm9pZF9ob21lX3BhZ2U6CgpkZXZfZGVwZW5kZW5jaWVzOgogIGF1dG9fcm91dGVfZ2VuZXJhdG9yOiBeNy4zLjEKICBidWlsZF9ydW5uZXI6IF4yLjQuNgogIGJ1aWxkX3ZlcmlmeTogXjMuMS4wCiAgZmx1dHRlcl90ZXN0OgogICAgc2RrOiBmbHV0dGVyCiAgaW5qZWN0YWJsZV9nZW5lcmF0b3I6IF4yLjQuMAogIGludGVncmF0aW9uX3Rlc3Q6CiAgICBzZGs6IGZsdXR0ZXIKICBtb2NrdGFpbDogXjEuMC4wCgojIEZvciBpbmZvcm1hdGlvbiBvbiB0aGUgZ2VuZXJpYyBEYXJ0IHBhcnQgb2YgdGhpcyBmaWxlLCBzZWUgdGhlCiMgZm9sbG93aW5nIHBhZ2U6IGh0dHBzOi8vZGFydC5kZXYvdG9vbHMvcHViL3B1YnNwZWMKCiMgVGhlIGZvbGxvd2luZyBzZWN0aW9uIGlzIHNwZWNpZmljIHRvIEZsdXR0ZXIgcGFja2FnZXMuCmZsdXR0ZXI6CiAgIyBUaGUgZm9sbG93aW5nIGxpbmUgZW5zdXJlcyB0aGF0IHRoZSBNYXRlcmlhbCBJY29ucyBmb250IGlzCiAgIyBpbmNsdWRlZCB3aXRoIHlvdXIgYXBwbGljYXRpb24sIHNvIHRoYXQgeW91IGNhbiB1c2UgdGhlIGljb25zIGluCiAgIyB0aGUgbWF0ZXJpYWwgSWNvbnMgY2xhc3MuCiAgdXNlcy1tYXRlcmlhbC1kZXNpZ246IHRydWUKe3svYW5kcm9pZH19e3sjaW9zfX1uYW1lOiB7e3Byb2plY3RfbmFtZX19X2lvcwpkZXNjcmlwdGlvbjoge3sgZGVzY3JpcHRpb24gfX0KCiMgVGhlIGZvbGxvd2luZyBkZWZpbmVzIHRoZSB2ZXJzaW9uIGFuZCBidWlsZCBudW1iZXIgZm9yIHlvdXIgYXBwbGljYXRpb24uCiMgQSB2ZXJzaW9uIG51bWJlciBpcyB0aHJlZSBudW1iZXJzIHNlcGFyYXRlZCBieSBkb3RzLCBsaWtlIDEuMi40MwojIGZvbGxvd2VkIGJ5IGFuIG9wdGlvbmFsIGJ1aWxkIG51bWJlciBzZXBhcmF0ZWQgYnkgYSArLgojIEJvdGggdGhlIHZlcnNpb24gYW5kIHRoZSBidWlsZGVyIG51bWJlciBtYXkgYmUgb3ZlcnJpZGRlbiBpbiBmbHV0dGVyCiMgYnVpbGQgYnkgc3BlY2lmeWluZyAtLWJ1aWxkLW5hbWUgYW5kIC0tYnVpbGQtbnVtYmVyLCByZXNwZWN0aXZlbHkuCiMgSW4gQW5kcm9pZCwgYnVpbGQtbmFtZSBpcyB1c2VkIGFzIHZlcnNpb25OYW1lIHdoaWxlIGJ1aWxkLW51bWJlciB1c2VkIGFzIHZlcnNpb25Db2RlLgojIFJlYWQgbW9yZSBhYm91dCBBbmRyb2lkIHZlcnNpb25pbmcgYXQgaHR0cHM6Ly9kZXZlbG9wZXIuYW5kcm9pZC5jb20vc3R1ZGlvL3B1Ymxpc2gvdmVyc2lvbmluZwojIEluIGlPUywgYnVpbGQtbmFtZSBpcyB1c2VkIGFzIENGQnVuZGxlU2hvcnRWZXJzaW9uU3RyaW5nIHdoaWxlIGJ1aWxkLW51bWJlciBpcyB1c2VkIGFzIENGQnVuZGxlVmVyc2lvbi4KIyBSZWFkIG1vcmUgYWJvdXQgaU9TIHZlcnNpb25pbmcgYXQKIyBodHRwczovL2RldmVsb3Blci5hcHBsZS5jb20vbGlicmFyeS9hcmNoaXZlL2RvY3VtZW50YXRpb24vR2VuZXJhbC9SZWZlcmVuY2UvSW5mb1BsaXN0S2V5UmVmZXJlbmNlL0FydGljbGVzL0NvcmVGb3VuZGF0aW9uS2V5cy5odG1sCiMgSW4gV2luZG93cywgYnVpbGQtbmFtZSBpcyB1c2VkIGFzIHRoZSBtYWpvciwgbWlub3IsIGFuZCBwYXRjaCBwYXJ0cwojIG9mIHRoZSBwcm9kdWN0IGFuZCBmaWxlIHZlcnNpb25zIHdoaWxlIGJ1aWxkLW51bWJlciBpcyB1c2VkIGFzIHRoZSBidWlsZCBzdWZmaXguCnZlcnNpb246IDAuMS4wCnB1Ymxpc2hfdG86IG5vbmUKCmVudmlyb25tZW50OgogIHNkazogIj49My4xLjAgPDQuMC4wIgogIGZsdXR0ZXI6ICI+PTMuMTMuMCIKCiMgRGVwZW5kZW5jaWVzIHNwZWNpZnkgb3RoZXIgcGFja2FnZXMgdGhhdCB5b3VyIHBhY2thZ2UgbmVlZHMgaW4gb3JkZXIgdG8gd29yay4KIyBUbyBhdXRvbWF0aWNhbGx5IHVwZ3JhZGUgeW91ciBwYWNrYWdlIGRlcGVuZGVuY2llcyB0byB0aGUgbGF0ZXN0IHZlcnNpb25zCiMgY29uc2lkZXIgcnVubmluZyBgZmx1dHRlciBwdWIgdXBncmFkZSAtLW1ham9yLXZlcnNpb25zYC4gQWx0ZXJuYXRpdmVseSwKIyBkZXBlbmRlbmNpZXMgY2FuIGJlIG1hbnVhbGx5IHVwZGF0ZWQgYnkgY2hhbmdpbmcgdGhlIHZlcnNpb24gbnVtYmVycyBiZWxvdyB0bwojIHRoZSBsYXRlc3QgdmVyc2lvbiBhdmFpbGFibGUgb24gcHViLmRldi4gVG8gc2VlIHdoaWNoIGRlcGVuZGVuY2llcyBoYXZlIG5ld2VyCiMgdmVyc2lvbnMgYXZhaWxhYmxlLCBydW4gYGZsdXR0ZXIgcHViIG91dGRhdGVkYC4KZGVwZW5kZW5jaWVzOgogIGF1dG9fcm91dGU6IF43LjguMgogIGJsb2M6IF44LjEuMgogIGJsb2NfY29uY3VycmVuY3k6IF4wLjIuMgogIGN1cGVydGlub19pY29uczogXjEuMC41CiAgZmx1dHRlcjoKICAgIHNkazogZmx1dHRlcgogIGdldF9pdDogXjcuNi4wCiAgaW5qZWN0YWJsZTogXjIuMy4wCiAge3twcm9qZWN0X25hbWV9fV9kaToKICB7e3Byb2plY3RfbmFtZX19X2xvZ2dpbmc6CiAge3twcm9qZWN0X25hbWV9fV9pbmZyYXN0cnVjdHVyZToKICB7e3Byb2plY3RfbmFtZX19X2lvc19hcHA6CiAge3twcm9qZWN0X25hbWV9fV9pb3NfaG9tZV9wYWdlOgoKZGV2X2RlcGVuZGVuY2llczoKICBhdXRvX3JvdXRlX2dlbmVyYXRvcjogXjcuMy4xCiAgYnVpbGRfcnVubmVyOiBeMi40LjYKICBidWlsZF92ZXJpZnk6IF4zLjEuMAogIGZsdXR0ZXJfdGVzdDoKICAgIHNkazogZmx1dHRlcgogIGluamVjdGFibGVfZ2VuZXJhdG9yOiBeMi40LjAKICBpbnRlZ3JhdGlvbl90ZXN0OgogICAgc2RrOiBmbHV0dGVyCiAgbW9ja3RhaWw6IF4xLjAuMAoKIyBGb3IgaW5mb3JtYXRpb24gb24gdGhlIGdlbmVyaWMgRGFydCBwYXJ0IG9mIHRoaXMgZmlsZSwgc2VlIHRoZQojIGZvbGxvd2luZyBwYWdlOiBodHRwczovL2RhcnQuZGV2L3Rvb2xzL3B1Yi9wdWJzcGVjCgojIFRoZSBmb2xsb3dpbmcgc2VjdGlvbiBpcyBzcGVjaWZpYyB0byBGbHV0dGVyIHBhY2thZ2VzLgpmbHV0dGVyOgp7ey9pb3N9fXt7I2xpbnV4fX1uYW1lOiB7e3Byb2plY3RfbmFtZX19X2xpbnV4CmRlc2NyaXB0aW9uOiB7eyBkZXNjcmlwdGlvbiB9fQoKIyBUaGUgZm9sbG93aW5nIGRlZmluZXMgdGhlIHZlcnNpb24gYW5kIGJ1aWxkIG51bWJlciBmb3IgeW91ciBhcHBsaWNhdGlvbi4KIyBBIHZlcnNpb24gbnVtYmVyIGlzIHRocmVlIG51bWJlcnMgc2VwYXJhdGVkIGJ5IGRvdHMsIGxpa2UgMS4yLjQzCiMgZm9sbG93ZWQgYnkgYW4gb3B0aW9uYWwgYnVpbGQgbnVtYmVyIHNlcGFyYXRlZCBieSBhICsuCiMgQm90aCB0aGUgdmVyc2lvbiBhbmQgdGhlIGJ1aWxkZXIgbnVtYmVyIG1heSBiZSBvdmVycmlkZGVuIGluIGZsdXR0ZXIKIyBidWlsZCBieSBzcGVjaWZ5aW5nIC0tYnVpbGQtbmFtZSBhbmQgLS1idWlsZC1udW1iZXIsIHJlc3BlY3RpdmVseS4KIyBJbiBBbmRyb2lkLCBidWlsZC1uYW1lIGlzIHVzZWQgYXMgdmVyc2lvbk5hbWUgd2hpbGUgYnVpbGQtbnVtYmVyIHVzZWQgYXMgdmVyc2lvbkNvZGUuCiMgUmVhZCBtb3JlIGFib3V0IEFuZHJvaWQgdmVyc2lvbmluZyBhdCBodHRwczovL2RldmVsb3Blci5hbmRyb2lkLmNvbS9zdHVkaW8vcHVibGlzaC92ZXJzaW9uaW5nCiMgSW4gaU9TLCBidWlsZC1uYW1lIGlzIHVzZWQgYXMgQ0ZCdW5kbGVTaG9ydFZlcnNpb25TdHJpbmcgd2hpbGUgYnVpbGQtbnVtYmVyIGlzIHVzZWQgYXMgQ0ZCdW5kbGVWZXJzaW9uLgojIFJlYWQgbW9yZSBhYm91dCBpT1MgdmVyc2lvbmluZyBhdAojIGh0dHBzOi8vZGV2ZWxvcGVyLmFwcGxlLmNvbS9saWJyYXJ5L2FyY2hpdmUvZG9jdW1lbnRhdGlvbi9HZW5lcmFsL1JlZmVyZW5jZS9JbmZvUGxpc3RLZXlSZWZlcmVuY2UvQXJ0aWNsZXMvQ29yZUZvdW5kYXRpb25LZXlzLmh0bWwKIyBJbiBXaW5kb3dzLCBidWlsZC1uYW1lIGlzIHVzZWQgYXMgdGhlIG1ham9yLCBtaW5vciwgYW5kIHBhdGNoIHBhcnRzCiMgb2YgdGhlIHByb2R1Y3QgYW5kIGZpbGUgdmVyc2lvbnMgd2hpbGUgYnVpbGQtbnVtYmVyIGlzIHVzZWQgYXMgdGhlIGJ1aWxkIHN1ZmZpeC4KdmVyc2lvbjogMC4xLjAKcHVibGlzaF90bzogbm9uZQoKZW52aXJvbm1lbnQ6CiAgc2RrOiAiPj0zLjEuMCA8NC4wLjAiCiAgZmx1dHRlcjogIj49My4xMy4wIgoKIyBEZXBlbmRlbmNpZXMgc3BlY2lmeSBvdGhlciBwYWNrYWdlcyB0aGF0IHlvdXIgcGFja2FnZSBuZWVkcyBpbiBvcmRlciB0byB3b3JrLgojIFRvIGF1dG9tYXRpY2FsbHkgdXBncmFkZSB5b3VyIHBhY2thZ2UgZGVwZW5kZW5jaWVzIHRvIHRoZSBsYXRlc3QgdmVyc2lvbnMKIyBjb25zaWRlciBydW5uaW5nIGBmbHV0dGVyIHB1YiB1cGdyYWRlIC0tbWFqb3ItdmVyc2lvbnNgLiBBbHRlcm5hdGl2ZWx5LAojIGRlcGVuZGVuY2llcyBjYW4gYmUgbWFudWFsbHkgdXBkYXRlZCBieSBjaGFuZ2luZyB0aGUgdmVyc2lvbiBudW1iZXJzIGJlbG93IHRvCiMgdGhlIGxhdGVzdCB2ZXJzaW9uIGF2YWlsYWJsZSBvbiBwdWIuZGV2LiBUbyBzZWUgd2hpY2ggZGVwZW5kZW5jaWVzIGhhdmUgbmV3ZXIKIyB2ZXJzaW9ucyBhdmFpbGFibGUsIHJ1biBgZmx1dHRlciBwdWIgb3V0ZGF0ZWRgLgpkZXBlbmRlbmNpZXM6CiAgYXV0b19yb3V0ZTogXjcuOC4yCiAgYmxvYzogXjguMS4yCiAgYmxvY19jb25jdXJyZW5jeTogXjAuMi4yCiAgZmx1dHRlcjoKICAgIHNkazogZmx1dHRlcgogIGdldF9pdDogXjcuNi4wCiAgaW5qZWN0YWJsZTogXjIuMy4wCiAge3twcm9qZWN0X25hbWV9fV9kaToKICB7e3Byb2plY3RfbmFtZX19X2xvZ2dpbmc6CiAge3twcm9qZWN0X25hbWV9fV9pbmZyYXN0cnVjdHVyZToKICB7e3Byb2plY3RfbmFtZX19X2xpbnV4X2FwcDoKICB7e3Byb2plY3RfbmFtZX19X2xpbnV4X2hvbWVfcGFnZToKCmRldl9kZXBlbmRlbmNpZXM6CiAgYXV0b19yb3V0ZV9nZW5lcmF0b3I6IF43LjMuMQogIGJ1aWxkX3J1bm5lcjogXjIuNC42CiAgYnVpbGRfdmVyaWZ5OiBeMy4xLjAKICBmbHV0dGVyX3Rlc3Q6CiAgICBzZGs6IGZsdXR0ZXIKICBpbmplY3RhYmxlX2dlbmVyYXRvcjogXjIuNC4wCiAgaW50ZWdyYXRpb25fdGVzdDoKICAgIHNkazogZmx1dHRlcgogIG1vY2t0YWlsOiBeMS4wLjAKCiMgRm9yIGluZm9ybWF0aW9uIG9uIHRoZSBnZW5lcmljIERhcnQgcGFydCBvZiB0aGlzIGZpbGUsIHNlZSB0aGUKIyBmb2xsb3dpbmcgcGFnZTogaHR0cHM6Ly9kYXJ0LmRldi90b29scy9wdWIvcHVic3BlYwoKIyBUaGUgZm9sbG93aW5nIHNlY3Rpb24gaXMgc3BlY2lmaWMgdG8gRmx1dHRlciBwYWNrYWdlcy4KZmx1dHRlcjoKICAjIFRoZSBmb2xsb3dpbmcgbGluZSBlbnN1cmVzIHRoYXQgdGhlIE1hdGVyaWFsIEljb25zIGZvbnQgaXMKICAjIGluY2x1ZGVkIHdpdGggeW91ciBhcHBsaWNhdGlvbiwgc28gdGhhdCB5b3UgY2FuIHVzZSB0aGUgaWNvbnMgaW4KICAjIHRoZSBtYXRlcmlhbCBJY29ucyBjbGFzcy4KICB1c2VzLW1hdGVyaWFsLWRlc2lnbjogdHJ1ZQp7ey9saW51eH19e3sjbWFjb3N9fW5hbWU6IHt7cHJvamVjdF9uYW1lfX1fbWFjb3MKZGVzY3JpcHRpb246IHt7IGRlc2NyaXB0aW9uIH19CgojIFRoZSBmb2xsb3dpbmcgZGVmaW5lcyB0aGUgdmVyc2lvbiBhbmQgYnVpbGQgbnVtYmVyIGZvciB5b3VyIGFwcGxpY2F0aW9uLgojIEEgdmVyc2lvbiBudW1iZXIgaXMgdGhyZWUgbnVtYmVycyBzZXBhcmF0ZWQgYnkgZG90cywgbGlrZSAxLjIuNDMKIyBmb2xsb3dlZCBieSBhbiBvcHRpb25hbCBidWlsZCBudW1iZXIgc2VwYXJhdGVkIGJ5IGEgKy4KIyBCb3RoIHRoZSB2ZXJzaW9uIGFuZCB0aGUgYnVpbGRlciBudW1iZXIgbWF5IGJlIG92ZXJyaWRkZW4gaW4gZmx1dHRlcgojIGJ1aWxkIGJ5IHNwZWNpZnlpbmcgLS1idWlsZC1uYW1lIGFuZCAtLWJ1aWxkLW51bWJlciwgcmVzcGVjdGl2ZWx5LgojIEluIEFuZHJvaWQsIGJ1aWxkLW5hbWUgaXMgdXNlZCBhcyB2ZXJzaW9uTmFtZSB3aGlsZSBidWlsZC1udW1iZXIgdXNlZCBhcyB2ZXJzaW9uQ29kZS4KIyBSZWFkIG1vcmUgYWJvdXQgQW5kcm9pZCB2ZXJzaW9uaW5nIGF0IGh0dHBzOi8vZGV2ZWxvcGVyLmFuZHJvaWQuY29tL3N0dWRpby9wdWJsaXNoL3ZlcnNpb25pbmcKIyBJbiBpT1MsIGJ1aWxkLW5hbWUgaXMgdXNlZCBhcyBDRkJ1bmRsZVNob3J0VmVyc2lvblN0cmluZyB3aGlsZSBidWlsZC1udW1iZXIgaXMgdXNlZCBhcyBDRkJ1bmRsZVZlcnNpb24uCiMgUmVhZCBtb3JlIGFib3V0IGlPUyB2ZXJzaW9uaW5nIGF0CiMgaHR0cHM6Ly9kZXZlbG9wZXIuYXBwbGUuY29tL2xpYnJhcnkvYXJjaGl2ZS9kb2N1bWVudGF0aW9uL0dlbmVyYWwvUmVmZXJlbmNlL0luZm9QbGlzdEtleVJlZmVyZW5jZS9BcnRpY2xlcy9Db3JlRm91bmRhdGlvbktleXMuaHRtbAojIEluIFdpbmRvd3MsIGJ1aWxkLW5hbWUgaXMgdXNlZCBhcyB0aGUgbWFqb3IsIG1pbm9yLCBhbmQgcGF0Y2ggcGFydHMKIyBvZiB0aGUgcHJvZHVjdCBhbmQgZmlsZSB2ZXJzaW9ucyB3aGlsZSBidWlsZC1udW1iZXIgaXMgdXNlZCBhcyB0aGUgYnVpbGQgc3VmZml4Lgp2ZXJzaW9uOiAwLjEuMApwdWJsaXNoX3RvOiBub25lCgplbnZpcm9ubWVudDoKICBzZGs6ICI+PTMuMS4wIDw0LjAuMCIKICBmbHV0dGVyOiAiPj0zLjEzLjAiCgojIERlcGVuZGVuY2llcyBzcGVjaWZ5IG90aGVyIHBhY2thZ2VzIHRoYXQgeW91ciBwYWNrYWdlIG5lZWRzIGluIG9yZGVyIHRvIHdvcmsuCiMgVG8gYXV0b21hdGljYWxseSB1cGdyYWRlIHlvdXIgcGFja2FnZSBkZXBlbmRlbmNpZXMgdG8gdGhlIGxhdGVzdCB2ZXJzaW9ucwojIGNvbnNpZGVyIHJ1bm5pbmcgYGZsdXR0ZXIgcHViIHVwZ3JhZGUgLS1tYWpvci12ZXJzaW9uc2AuIEFsdGVybmF0aXZlbHksCiMgZGVwZW5kZW5jaWVzIGNhbiBiZSBtYW51YWxseSB1cGRhdGVkIGJ5IGNoYW5naW5nIHRoZSB2ZXJzaW9uIG51bWJlcnMgYmVsb3cgdG8KIyB0aGUgbGF0ZXN0IHZlcnNpb24gYXZhaWxhYmxlIG9uIHB1Yi5kZXYuIFRvIHNlZSB3aGljaCBkZXBlbmRlbmNpZXMgaGF2ZSBuZXdlcgojIHZlcnNpb25zIGF2YWlsYWJsZSwgcnVuIGBmbHV0dGVyIHB1YiBvdXRkYXRlZGAuCmRlcGVuZGVuY2llczoKICBhdXRvX3JvdXRlOiBeNy44LjIKICBibG9jOiBeOC4xLjIKICBibG9jX2NvbmN1cnJlbmN5OiBeMC4yLjIKICBjdXBlcnRpbm9faWNvbnM6IF4xLjAuNQogIGZsdXR0ZXI6CiAgICBzZGs6IGZsdXR0ZXIKICBnZXRfaXQ6IF43LjYuMAogIGluamVjdGFibGU6IF4yLjMuMAogIHt7cHJvamVjdF9uYW1lfX1fZGk6CiAge3twcm9qZWN0X25hbWV9fV9sb2dnaW5nOgogIHt7cHJvamVjdF9uYW1lfX1faW5mcmFzdHJ1Y3R1cmU6CiAge3twcm9qZWN0X25hbWV9fV9tYWNvc19hcHA6CiAge3twcm9qZWN0X25hbWV9fV9tYWNvc19ob21lX3BhZ2U6CgpkZXZfZGVwZW5kZW5jaWVzOgogIGF1dG9fcm91dGVfZ2VuZXJhdG9yOiBeNy4zLjEKICBidWlsZF9ydW5uZXI6IF4yLjQuNgogIGJ1aWxkX3ZlcmlmeTogXjMuMS4wCiAgZmx1dHRlcl90ZXN0OgogICAgc2RrOiBmbHV0dGVyCiAgaW5qZWN0YWJsZV9nZW5lcmF0b3I6IF4yLjQuMAogIGludGVncmF0aW9uX3Rlc3Q6CiAgICBzZGs6IGZsdXR0ZXIKICBtb2NrdGFpbDogXjEuMC4wCgojIEZvciBpbmZvcm1hdGlvbiBvbiB0aGUgZ2VuZXJpYyBEYXJ0IHBhcnQgb2YgdGhpcyBmaWxlLCBzZWUgdGhlCiMgZm9sbG93aW5nIHBhZ2U6IGh0dHBzOi8vZGFydC5kZXYvdG9vbHMvcHViL3B1YnNwZWMKCiMgVGhlIGZvbGxvd2luZyBzZWN0aW9uIGlzIHNwZWNpZmljIHRvIEZsdXR0ZXIgcGFja2FnZXMuCmZsdXR0ZXI6Cnt7L21hY29zfX17eyN3ZWJ9fW5hbWU6IHt7cHJvamVjdF9uYW1lfX1fd2ViCmRlc2NyaXB0aW9uOiB7eyBkZXNjcmlwdGlvbiB9fQoKIyBUaGUgZm9sbG93aW5nIGRlZmluZXMgdGhlIHZlcnNpb24gYW5kIGJ1aWxkIG51bWJlciBmb3IgeW91ciBhcHBsaWNhdGlvbi4KIyBBIHZlcnNpb24gbnVtYmVyIGlzIHRocmVlIG51bWJlcnMgc2VwYXJhdGVkIGJ5IGRvdHMsIGxpa2UgMS4yLjQzCiMgZm9sbG93ZWQgYnkgYW4gb3B0aW9uYWwgYnVpbGQgbnVtYmVyIHNlcGFyYXRlZCBieSBhICsuCiMgQm90aCB0aGUgdmVyc2lvbiBhbmQgdGhlIGJ1aWxkZXIgbnVtYmVyIG1heSBiZSBvdmVycmlkZGVuIGluIGZsdXR0ZXIKIyBidWlsZCBieSBzcGVjaWZ5aW5nIC0tYnVpbGQtbmFtZSBhbmQgLS1idWlsZC1udW1iZXIsIHJlc3BlY3RpdmVseS4KIyBJbiBBbmRyb2lkLCBidWlsZC1uYW1lIGlzIHVzZWQgYXMgdmVyc2lvbk5hbWUgd2hpbGUgYnVpbGQtbnVtYmVyIHVzZWQgYXMgdmVyc2lvbkNvZGUuCiMgUmVhZCBtb3JlIGFib3V0IEFuZHJvaWQgdmVyc2lvbmluZyBhdCBodHRwczovL2RldmVsb3Blci5hbmRyb2lkLmNvbS9zdHVkaW8vcHVibGlzaC92ZXJzaW9uaW5nCiMgSW4gaU9TLCBidWlsZC1uYW1lIGlzIHVzZWQgYXMgQ0ZCdW5kbGVTaG9ydFZlcnNpb25TdHJpbmcgd2hpbGUgYnVpbGQtbnVtYmVyIGlzIHVzZWQgYXMgQ0ZCdW5kbGVWZXJzaW9uLgojIFJlYWQgbW9yZSBhYm91dCBpT1MgdmVyc2lvbmluZyBhdAojIGh0dHBzOi8vZGV2ZWxvcGVyLmFwcGxlLmNvbS9saWJyYXJ5L2FyY2hpdmUvZG9jdW1lbnRhdGlvbi9HZW5lcmFsL1JlZmVyZW5jZS9JbmZvUGxpc3RLZXlSZWZlcmVuY2UvQXJ0aWNsZXMvQ29yZUZvdW5kYXRpb25LZXlzLmh0bWwKIyBJbiBXaW5kb3dzLCBidWlsZC1uYW1lIGlzIHVzZWQgYXMgdGhlIG1ham9yLCBtaW5vciwgYW5kIHBhdGNoIHBhcnRzCiMgb2YgdGhlIHByb2R1Y3QgYW5kIGZpbGUgdmVyc2lvbnMgd2hpbGUgYnVpbGQtbnVtYmVyIGlzIHVzZWQgYXMgdGhlIGJ1aWxkIHN1ZmZpeC4KdmVyc2lvbjogMC4xLjAKcHVibGlzaF90bzogbm9uZQoKZW52aXJvbm1lbnQ6CiAgc2RrOiAiPj0zLjEuMCA8NC4wLjAiCiAgZmx1dHRlcjogIj49My4xMy4wIgoKIyBEZXBlbmRlbmNpZXMgc3BlY2lmeSBvdGhlciBwYWNrYWdlcyB0aGF0IHlvdXIgcGFja2FnZSBuZWVkcyBpbiBvcmRlciB0byB3b3JrLgojIFRvIGF1dG9tYXRpY2FsbHkgdXBncmFkZSB5b3VyIHBhY2thZ2UgZGVwZW5kZW5jaWVzIHRvIHRoZSBsYXRlc3QgdmVyc2lvbnMKIyBjb25zaWRlciBydW5uaW5nIGBmbHV0dGVyIHB1YiB1cGdyYWRlIC0tbWFqb3ItdmVyc2lvbnNgLiBBbHRlcm5hdGl2ZWx5LAojIGRlcGVuZGVuY2llcyBjYW4gYmUgbWFudWFsbHkgdXBkYXRlZCBieSBjaGFuZ2luZyB0aGUgdmVyc2lvbiBudW1iZXJzIGJlbG93IHRvCiMgdGhlIGxhdGVzdCB2ZXJzaW9uIGF2YWlsYWJsZSBvbiBwdWIuZGV2LiBUbyBzZWUgd2hpY2ggZGVwZW5kZW5jaWVzIGhhdmUgbmV3ZXIKIyB2ZXJzaW9ucyBhdmFpbGFibGUsIHJ1biBgZmx1dHRlciBwdWIgb3V0ZGF0ZWRgLgpkZXBlbmRlbmNpZXM6CiAgYXV0b19yb3V0ZTogXjcuOC4yCiAgYmxvYzogXjguMS4yCiAgYmxvY19jb25jdXJyZW5jeTogXjAuMi4yCiAgZmx1dHRlcjoKICAgIHNkazogZmx1dHRlcgogIGZsdXR0ZXJfd2ViX3BsdWdpbnM6CiAgICBzZGs6IGZsdXR0ZXIKICBnZXRfaXQ6IF43LjYuMAogIGluamVjdGFibGU6IF4yLjMuMAogIHt7cHJvamVjdF9uYW1lfX1fZGk6CiAge3twcm9qZWN0X25hbWV9fV9sb2dnaW5nOgogIHt7cHJvamVjdF9uYW1lfX1faW5mcmFzdHJ1Y3R1cmU6CiAge3twcm9qZWN0X25hbWV9fV93ZWJfYXBwOgogIHt7cHJvamVjdF9uYW1lfX1fd2ViX2hvbWVfcGFnZToKCmRldl9kZXBlbmRlbmNpZXM6CiAgYXV0b19yb3V0ZV9nZW5lcmF0b3I6IF43LjMuMQogIGJ1aWxkX3J1bm5lcjogXjIuNC42CiAgYnVpbGRfdmVyaWZ5OiBeMy4xLjAKICBmbHV0dGVyX3Rlc3Q6CiAgICBzZGs6IGZsdXR0ZXIKICBpbmplY3RhYmxlX2dlbmVyYXRvcjogXjIuNC4wCiAgaW50ZWdyYXRpb25fdGVzdDoKICAgIHNkazogZmx1dHRlcgogIG1vY2t0YWlsOiBeMS4wLjAKCiMgRm9yIGluZm9ybWF0aW9uIG9uIHRoZSBnZW5lcmljIERhcnQgcGFydCBvZiB0aGlzIGZpbGUsIHNlZSB0aGUKIyBmb2xsb3dpbmcgcGFnZTogaHR0cHM6Ly9kYXJ0LmRldi90b29scy9wdWIvcHVic3BlYwoKIyBUaGUgZm9sbG93aW5nIHNlY3Rpb24gaXMgc3BlY2lmaWMgdG8gRmx1dHRlciBwYWNrYWdlcy4KZmx1dHRlcjoKICAjIFRoZSBmb2xsb3dpbmcgbGluZSBlbnN1cmVzIHRoYXQgdGhlIE1hdGVyaWFsIEljb25zIGZvbnQgaXMKICAjIGluY2x1ZGVkIHdpdGggeW91ciBhcHBsaWNhdGlvbiwgc28gdGhhdCB5b3UgY2FuIHVzZSB0aGUgaWNvbnMgaW4KICAjIHRoZSBtYXRlcmlhbCBJY29ucyBjbGFzcy4KICB1c2VzLW1hdGVyaWFsLWRlc2lnbjogdHJ1ZQp7ey93ZWJ9fXt7I3dpbmRvd3N9fW5hbWU6IHt7cHJvamVjdF9uYW1lfX1fd2luZG93cwpkZXNjcmlwdGlvbjoge3sgZGVzY3JpcHRpb24gfX0KCiMgVGhlIGZvbGxvd2luZyBkZWZpbmVzIHRoZSB2ZXJzaW9uIGFuZCBidWlsZCBudW1iZXIgZm9yIHlvdXIgYXBwbGljYXRpb24uCiMgQSB2ZXJzaW9uIG51bWJlciBpcyB0aHJlZSBudW1iZXJzIHNlcGFyYXRlZCBieSBkb3RzLCBsaWtlIDEuMi40MwojIGZvbGxvd2VkIGJ5IGFuIG9wdGlvbmFsIGJ1aWxkIG51bWJlciBzZXBhcmF0ZWQgYnkgYSArLgojIEJvdGggdGhlIHZlcnNpb24gYW5kIHRoZSBidWlsZGVyIG51bWJlciBtYXkgYmUgb3ZlcnJpZGRlbiBpbiBmbHV0dGVyCiMgYnVpbGQgYnkgc3BlY2lmeWluZyAtLWJ1aWxkLW5hbWUgYW5kIC0tYnVpbGQtbnVtYmVyLCByZXNwZWN0aXZlbHkuCiMgSW4gQW5kcm9pZCwgYnVpbGQtbmFtZSBpcyB1c2VkIGFzIHZlcnNpb25OYW1lIHdoaWxlIGJ1aWxkLW51bWJlciB1c2VkIGFzIHZlcnNpb25Db2RlLgojIFJlYWQgbW9yZSBhYm91dCBBbmRyb2lkIHZlcnNpb25pbmcgYXQgaHR0cHM6Ly9kZXZlbG9wZXIuYW5kcm9pZC5jb20vc3R1ZGlvL3B1Ymxpc2gvdmVyc2lvbmluZwojIEluIGlPUywgYnVpbGQtbmFtZSBpcyB1c2VkIGFzIENGQnVuZGxlU2hvcnRWZXJzaW9uU3RyaW5nIHdoaWxlIGJ1aWxkLW51bWJlciBpcyB1c2VkIGFzIENGQnVuZGxlVmVyc2lvbi4KIyBSZWFkIG1vcmUgYWJvdXQgaU9TIHZlcnNpb25pbmcgYXQKIyBodHRwczovL2RldmVsb3Blci5hcHBsZS5jb20vbGlicmFyeS9hcmNoaXZlL2RvY3VtZW50YXRpb24vR2VuZXJhbC9SZWZlcmVuY2UvSW5mb1BsaXN0S2V5UmVmZXJlbmNlL0FydGljbGVzL0NvcmVGb3VuZGF0aW9uS2V5cy5odG1sCiMgSW4gV2luZG93cywgYnVpbGQtbmFtZSBpcyB1c2VkIGFzIHRoZSBtYWpvciwgbWlub3IsIGFuZCBwYXRjaCBwYXJ0cwojIG9mIHRoZSBwcm9kdWN0IGFuZCBmaWxlIHZlcnNpb25zIHdoaWxlIGJ1aWxkLW51bWJlciBpcyB1c2VkIGFzIHRoZSBidWlsZCBzdWZmaXguCnZlcnNpb246IDAuMS4wCnB1Ymxpc2hfdG86IG5vbmUKCmVudmlyb25tZW50OgogIHNkazogIj49My4xLjAgPDQuMC4wIgogIGZsdXR0ZXI6ICI+PTMuMTMuMCIKCiMgRGVwZW5kZW5jaWVzIHNwZWNpZnkgb3RoZXIgcGFja2FnZXMgdGhhdCB5b3VyIHBhY2thZ2UgbmVlZHMgaW4gb3JkZXIgdG8gd29yay4KIyBUbyBhdXRvbWF0aWNhbGx5IHVwZ3JhZGUgeW91ciBwYWNrYWdlIGRlcGVuZGVuY2llcyB0byB0aGUgbGF0ZXN0IHZlcnNpb25zCiMgY29uc2lkZXIgcnVubmluZyBgZmx1dHRlciBwdWIgdXBncmFkZSAtLW1ham9yLXZlcnNpb25zYC4gQWx0ZXJuYXRpdmVseSwKIyBkZXBlbmRlbmNpZXMgY2FuIGJlIG1hbnVhbGx5IHVwZGF0ZWQgYnkgY2hhbmdpbmcgdGhlIHZlcnNpb24gbnVtYmVycyBiZWxvdyB0bwojIHRoZSBsYXRlc3QgdmVyc2lvbiBhdmFpbGFibGUgb24gcHViLmRldi4gVG8gc2VlIHdoaWNoIGRlcGVuZGVuY2llcyBoYXZlIG5ld2VyCiMgdmVyc2lvbnMgYXZhaWxhYmxlLCBydW4gYGZsdXR0ZXIgcHViIG91dGRhdGVkYC4KZGVwZW5kZW5jaWVzOgogIGF1dG9fcm91dGU6IF43LjguMgogIGJsb2M6IF44LjEuMgogIGJsb2NfY29uY3VycmVuY3k6IF4wLjIuMgogIGZsdXR0ZXI6CiAgICBzZGs6IGZsdXR0ZXIKICBnZXRfaXQ6IF43LjYuMAogIGluamVjdGFibGU6IF4yLjMuMAogIHt7cHJvamVjdF9uYW1lfX1fZGk6CiAge3twcm9qZWN0X25hbWV9fV9sb2dnaW5nOgogIHt7cHJvamVjdF9uYW1lfX1faW5mcmFzdHJ1Y3R1cmU6CiAge3twcm9qZWN0X25hbWV9fV93aW5kb3dzX2FwcDoKICB7e3Byb2plY3RfbmFtZX19X3dpbmRvd3NfaG9tZV9wYWdlOgoKZGV2X2RlcGVuZGVuY2llczoKICBhdXRvX3JvdXRlX2dlbmVyYXRvcjogXjcuMy4xCiAgYnVpbGRfcnVubmVyOiBeMi40LjYKICBidWlsZF92ZXJpZnk6IF4zLjEuMAogIGZsdXR0ZXJfdGVzdDoKICAgIHNkazogZmx1dHRlcgogIGluamVjdGFibGVfZ2VuZXJhdG9yOiBeMi40LjAKICBpbnRlZ3JhdGlvbl90ZXN0OgogICAgc2RrOiBmbHV0dGVyCiAgbW9ja3RhaWw6IF4xLjAuMAoKIyBGb3IgaW5mb3JtYXRpb24gb24gdGhlIGdlbmVyaWMgRGFydCBwYXJ0IG9mIHRoaXMgZmlsZSwgc2VlIHRoZQojIGZvbGxvd2luZyBwYWdlOiBodHRwczovL2RhcnQuZGV2L3Rvb2xzL3B1Yi9wdWJzcGVjCgojIFRoZSBmb2xsb3dpbmcgc2VjdGlvbiBpcyBzcGVjaWZpYyB0byBGbHV0dGVyIHBhY2thZ2VzLgpmbHV0dGVyOgogICMgVGhlIGZvbGxvd2luZyBsaW5lIGVuc3VyZXMgdGhhdCB0aGUgTWF0ZXJpYWwgSWNvbnMgZm9udCBpcwogICMgaW5jbHVkZWQgd2l0aCB5b3VyIGFwcGxpY2F0aW9uLCBzbyB0aGF0IHlvdSBjYW4gdXNlIHRoZSBpY29ucyBpbgogICMgdGhlIG1hdGVyaWFsIEljb25zIGNsYXNzLgogIHVzZXMtbWF0ZXJpYWwtZGVzaWduOiB0cnVlCnt7L3dpbmRvd3N9fXt7I21vYmlsZX19bmFtZToge3twcm9qZWN0X25hbWV9fV9tb2JpbGUKZGVzY3JpcHRpb246IHt7IGRlc2NyaXB0aW9uIH19CgojIFRoZSBmb2xsb3dpbmcgZGVmaW5lcyB0aGUgdmVyc2lvbiBhbmQgYnVpbGQgbnVtYmVyIGZvciB5b3VyIGFwcGxpY2F0aW9uLgojIEEgdmVyc2lvbiBudW1iZXIgaXMgdGhyZWUgbnVtYmVycyBzZXBhcmF0ZWQgYnkgZG90cywgbGlrZSAxLjIuNDMKIyBmb2xsb3dlZCBieSBhbiBvcHRpb25hbCBidWlsZCBudW1iZXIgc2VwYXJhdGVkIGJ5IGEgKy4KIyBCb3RoIHRoZSB2ZXJzaW9uIGFuZCB0aGUgYnVpbGRlciBudW1iZXIgbWF5IGJlIG92ZXJyaWRkZW4gaW4gZmx1dHRlcgojIGJ1aWxkIGJ5IHNwZWNpZnlpbmcgLS1idWlsZC1uYW1lIGFuZCAtLWJ1aWxkLW51bWJlciwgcmVzcGVjdGl2ZWx5LgojIEluIEFuZHJvaWQsIGJ1aWxkLW5hbWUgaXMgdXNlZCBhcyB2ZXJzaW9uTmFtZSB3aGlsZSBidWlsZC1udW1iZXIgdXNlZCBhcyB2ZXJzaW9uQ29kZS4KIyBSZWFkIG1vcmUgYWJvdXQgQW5kcm9pZCB2ZXJzaW9uaW5nIGF0IGh0dHBzOi8vZGV2ZWxvcGVyLmFuZHJvaWQuY29tL3N0dWRpby9wdWJsaXNoL3ZlcnNpb25pbmcKIyBJbiBpT1MsIGJ1aWxkLW5hbWUgaXMgdXNlZCBhcyBDRkJ1bmRsZVNob3J0VmVyc2lvblN0cmluZyB3aGlsZSBidWlsZC1udW1iZXIgaXMgdXNlZCBhcyBDRkJ1bmRsZVZlcnNpb24uCiMgUmVhZCBtb3JlIGFib3V0IGlPUyB2ZXJzaW9uaW5nIGF0CiMgaHR0cHM6Ly9kZXZlbG9wZXIuYXBwbGUuY29tL2xpYnJhcnkvYXJjaGl2ZS9kb2N1bWVudGF0aW9uL0dlbmVyYWwvUmVmZXJlbmNlL0luZm9QbGlzdEtleVJlZmVyZW5jZS9BcnRpY2xlcy9Db3JlRm91bmRhdGlvbktleXMuaHRtbAojIEluIFdpbmRvd3MsIGJ1aWxkLW5hbWUgaXMgdXNlZCBhcyB0aGUgbWFqb3IsIG1pbm9yLCBhbmQgcGF0Y2ggcGFydHMKIyBvZiB0aGUgcHJvZHVjdCBhbmQgZmlsZSB2ZXJzaW9ucyB3aGlsZSBidWlsZC1udW1iZXIgaXMgdXNlZCBhcyB0aGUgYnVpbGQgc3VmZml4Lgp2ZXJzaW9uOiAwLjEuMApwdWJsaXNoX3RvOiBub25lCgplbnZpcm9ubWVudDoKICBzZGs6ICI+PTMuMS4wIDw0LjAuMCIKICBmbHV0dGVyOiAiPj0zLjEzLjAiCgojIERlcGVuZGVuY2llcyBzcGVjaWZ5IG90aGVyIHBhY2thZ2VzIHRoYXQgeW91ciBwYWNrYWdlIG5lZWRzIGluIG9yZGVyIHRvIHdvcmsuCiMgVG8gYXV0b21hdGljYWxseSB1cGdyYWRlIHlvdXIgcGFja2FnZSBkZXBlbmRlbmNpZXMgdG8gdGhlIGxhdGVzdCB2ZXJzaW9ucwojIGNvbnNpZGVyIHJ1bm5pbmcgYGZsdXR0ZXIgcHViIHVwZ3JhZGUgLS1tYWpvci12ZXJzaW9uc2AuIEFsdGVybmF0aXZlbHksCiMgZGVwZW5kZW5jaWVzIGNhbiBiZSBtYW51YWxseSB1cGRhdGVkIGJ5IGNoYW5naW5nIHRoZSB2ZXJzaW9uIG51bWJlcnMgYmVsb3cgdG8KIyB0aGUgbGF0ZXN0IHZlcnNpb24gYXZhaWxhYmxlIG9uIHB1Yi5kZXYuIFRvIHNlZSB3aGljaCBkZXBlbmRlbmNpZXMgaGF2ZSBuZXdlcgojIHZlcnNpb25zIGF2YWlsYWJsZSwgcnVuIGBmbHV0dGVyIHB1YiBvdXRkYXRlZGAuCmRlcGVuZGVuY2llczoKICBhdXRvX3JvdXRlOiBeNy44LjIKICBibG9jOiBeOC4xLjIKICBibG9jX2NvbmN1cnJlbmN5OiBeMC4yLjIKICBmbHV0dGVyOgogICAgc2RrOiBmbHV0dGVyCiAgZ2V0X2l0OiBeNy42LjAKICBpbmplY3RhYmxlOiBeMi4zLjAKICB7e3Byb2plY3RfbmFtZX19X2RpOgogIHt7cHJvamVjdF9uYW1lfX1fbG9nZ2luZzoKICB7e3Byb2plY3RfbmFtZX19X2luZnJhc3RydWN0dXJlOgogIHt7cHJvamVjdF9uYW1lfX1fbW9iaWxlX2FwcDoKICB7e3Byb2plY3RfbmFtZX19X21vYmlsZV9ob21lX3BhZ2U6CgpkZXZfZGVwZW5kZW5jaWVzOgogIGF1dG9fcm91dGVfZ2VuZXJhdG9yOiBeNy4zLjEKICBidWlsZF9ydW5uZXI6IF4yLjQuNgogIGJ1aWxkX3ZlcmlmeTogXjMuMS4wCiAgZmx1dHRlcl90ZXN0OgogICAgc2RrOiBmbHV0dGVyCiAgaW5qZWN0YWJsZV9nZW5lcmF0b3I6IF4yLjQuMAogIGludGVncmF0aW9uX3Rlc3Q6CiAgICBzZGs6IGZsdXR0ZXIKICBtb2NrdGFpbDogXjEuMC4wCgojIEZvciBpbmZvcm1hdGlvbiBvbiB0aGUgZ2VuZXJpYyBEYXJ0IHBhcnQgb2YgdGhpcyBmaWxlLCBzZWUgdGhlCiMgZm9sbG93aW5nIHBhZ2U6IGh0dHBzOi8vZGFydC5kZXYvdG9vbHMvcHViL3B1YnNwZWMKCiMgVGhlIGZvbGxvd2luZyBzZWN0aW9uIGlzIHNwZWNpZmljIHRvIEZsdXR0ZXIgcGFja2FnZXMuCmZsdXR0ZXI6CiAgIyBUaGUgZm9sbG93aW5nIGxpbmUgZW5zdXJlcyB0aGF0IHRoZSBNYXRlcmlhbCBJY29ucyBmb250IGlzCiAgIyBpbmNsdWRlZCB3aXRoIHlvdXIgYXBwbGljYXRpb24sIHNvIHRoYXQgeW91IGNhbiB1c2UgdGhlIGljb25zIGluCiAgIyB0aGUgbWF0ZXJpYWwgSWNvbnMgY2xhc3MuCiAgdXNlcy1tYXRlcmlhbC1kZXNpZ246IHRydWUKe3svbW9iaWxlfX0=", "type": "text" }, { @@ -161,11 +160,11 @@ final platformRootPackageBundle = MasonBundle.fromJson({ "e3sjYW5kcm9pZH19IyBtZWxvc19tYW5hZ2VkX2RlcGVuZGVuY3lfb3ZlcnJpZGVzOiB7e3Byb2plY3RfbmFtZX19X2FuZHJvaWRfYXBwLHt7cHJvamVjdF9uYW1lfX1fYW5kcm9pZF9ob21lX3BhZ2Use3twcm9qZWN0X25hbWV9fV9hbmRyb2lkX2xvY2FsaXphdGlvbix7e3Byb2plY3RfbmFtZX19X2FuZHJvaWRfbmF2aWdhdGlvbix7e3Byb2plY3RfbmFtZX19X2RpLHt7cHJvamVjdF9uYW1lfX1fZG9tYWluLHt7cHJvamVjdF9uYW1lfX1faW5mcmFzdHJ1Y3R1cmUse3twcm9qZWN0X25hbWV9fV9sb2dnaW5nLHt7cHJvamVjdF9uYW1lfX1fdWkse3twcm9qZWN0X25hbWV9fV91aV9hbmRyb2lkCmRlcGVuZGVuY3lfb3ZlcnJpZGVzOgogIHt7cHJvamVjdF9uYW1lfX1fYW5kcm9pZF9hcHA6CiAgICBwYXRoOiAuLi97e3Byb2plY3RfbmFtZX19X2FuZHJvaWRfZmVhdHVyZXMve3twcm9qZWN0X25hbWV9fV9hbmRyb2lkX2FwcAogIHt7cHJvamVjdF9uYW1lfX1fYW5kcm9pZF9ob21lX3BhZ2U6CiAgICBwYXRoOiAuLi97e3Byb2plY3RfbmFtZX19X2FuZHJvaWRfZmVhdHVyZXMve3twcm9qZWN0X25hbWV9fV9hbmRyb2lkX2hvbWVfcGFnZQogIHt7cHJvamVjdF9uYW1lfX1fYW5kcm9pZF9sb2NhbGl6YXRpb246CiAgICBwYXRoOiAuLi97e3Byb2plY3RfbmFtZX19X2FuZHJvaWRfbG9jYWxpemF0aW9uCiAge3twcm9qZWN0X25hbWV9fV9hbmRyb2lkX25hdmlnYXRpb246CiAgICBwYXRoOiAuLi97e3Byb2plY3RfbmFtZX19X2FuZHJvaWRfbmF2aWdhdGlvbgogIHt7cHJvamVjdF9uYW1lfX1fZGk6CiAgICBwYXRoOiAuLi8uLi97e3Byb2plY3RfbmFtZX19X2RpCiAge3twcm9qZWN0X25hbWV9fV9kb21haW46CiAgICBwYXRoOiAuLi8uLi97e3Byb2plY3RfbmFtZX19X2RvbWFpbi97e3Byb2plY3RfbmFtZX19X2RvbWFpbgogIHt7cHJvamVjdF9uYW1lfX1faW5mcmFzdHJ1Y3R1cmU6CiAgICBwYXRoOiAuLi8uLi97e3Byb2plY3RfbmFtZX19X2luZnJhc3RydWN0dXJlL3t7cHJvamVjdF9uYW1lfX1faW5mcmFzdHJ1Y3R1cmUKICB7e3Byb2plY3RfbmFtZX19X2xvZ2dpbmc6CiAgICBwYXRoOiAuLi8uLi97e3Byb2plY3RfbmFtZX19X2xvZ2dpbmcKICB7e3Byb2plY3RfbmFtZX19X3VpOgogICAgcGF0aDogLi4vLi4vLi4ve3twcm9qZWN0X25hbWV9fV91aS97e3Byb2plY3RfbmFtZX19X3VpCiAge3twcm9qZWN0X25hbWV9fV91aV9hbmRyb2lkOgogICAgcGF0aDogLi4vLi4vLi4ve3twcm9qZWN0X25hbWV9fV91aS97e3Byb2plY3RfbmFtZX19X3VpX2FuZHJvaWQKe3svYW5kcm9pZH19e3sjaW9zfX0jIG1lbG9zX21hbmFnZWRfZGVwZW5kZW5jeV9vdmVycmlkZXM6IHt7cHJvamVjdF9uYW1lfX1fZGkse3twcm9qZWN0X25hbWV9fV9kb21haW4se3twcm9qZWN0X25hbWV9fV9pbmZyYXN0cnVjdHVyZSx7e3Byb2plY3RfbmFtZX19X2lvc19hcHAse3twcm9qZWN0X25hbWV9fV9pb3NfaG9tZV9wYWdlLHt7cHJvamVjdF9uYW1lfX1faW9zX2xvY2FsaXphdGlvbix7e3Byb2plY3RfbmFtZX19X2lvc19uYXZpZ2F0aW9uLHt7cHJvamVjdF9uYW1lfX1fbG9nZ2luZyx7e3Byb2plY3RfbmFtZX19X3VpLHt7cHJvamVjdF9uYW1lfX1fdWlfaW9zCmRlcGVuZGVuY3lfb3ZlcnJpZGVzOgogIHt7cHJvamVjdF9uYW1lfX1fZGk6CiAgICBwYXRoOiAuLi8uLi97e3Byb2plY3RfbmFtZX19X2RpCiAge3twcm9qZWN0X25hbWV9fV9kb21haW46CiAgICBwYXRoOiAuLi8uLi97e3Byb2plY3RfbmFtZX19X2RvbWFpbi97e3Byb2plY3RfbmFtZX19X2RvbWFpbgogIHt7cHJvamVjdF9uYW1lfX1faW5mcmFzdHJ1Y3R1cmU6CiAgICBwYXRoOiAuLi8uLi97e3Byb2plY3RfbmFtZX19X2luZnJhc3RydWN0dXJlL3t7cHJvamVjdF9uYW1lfX1faW5mcmFzdHJ1Y3R1cmUKICB7e3Byb2plY3RfbmFtZX19X2lvc19hcHA6CiAgICBwYXRoOiAuLi97e3Byb2plY3RfbmFtZX19X2lvc19mZWF0dXJlcy97e3Byb2plY3RfbmFtZX19X2lvc19hcHAKICB7e3Byb2plY3RfbmFtZX19X2lvc19ob21lX3BhZ2U6CiAgICBwYXRoOiAuLi97e3Byb2plY3RfbmFtZX19X2lvc19mZWF0dXJlcy97e3Byb2plY3RfbmFtZX19X2lvc19ob21lX3BhZ2UKICB7e3Byb2plY3RfbmFtZX19X2lvc19sb2NhbGl6YXRpb246CiAgICBwYXRoOiAuLi97e3Byb2plY3RfbmFtZX19X2lvc19sb2NhbGl6YXRpb24KICB7e3Byb2plY3RfbmFtZX19X2lvc19uYXZpZ2F0aW9uOgogICAgcGF0aDogLi4ve3twcm9qZWN0X25hbWV9fV9pb3NfbmF2aWdhdGlvbgogIHt7cHJvamVjdF9uYW1lfX1fbG9nZ2luZzoKICAgIHBhdGg6IC4uLy4uL3t7cHJvamVjdF9uYW1lfX1fbG9nZ2luZwogIHt7cHJvamVjdF9uYW1lfX1fdWk6CiAgICBwYXRoOiAuLi8uLi8uLi97e3Byb2plY3RfbmFtZX19X3VpL3t7cHJvamVjdF9uYW1lfX1fdWkKICB7e3Byb2plY3RfbmFtZX19X3VpX2lvczoKICAgIHBhdGg6IC4uLy4uLy4uL3t7cHJvamVjdF9uYW1lfX1fdWkve3twcm9qZWN0X25hbWV9fV91aV9pb3MKe3svaW9zfX17eyNsaW51eH19IyBtZWxvc19tYW5hZ2VkX2RlcGVuZGVuY3lfb3ZlcnJpZGVzOiB7e3Byb2plY3RfbmFtZX19X2RpLHt7cHJvamVjdF9uYW1lfX1fZG9tYWluLHt7cHJvamVjdF9uYW1lfX1faW5mcmFzdHJ1Y3R1cmUse3twcm9qZWN0X25hbWV9fV9saW51eF9hcHAse3twcm9qZWN0X25hbWV9fV9saW51eF9ob21lX3BhZ2Use3twcm9qZWN0X25hbWV9fV9saW51eF9sb2NhbGl6YXRpb24se3twcm9qZWN0X25hbWV9fV9saW51eF9uYXZpZ2F0aW9uLHt7cHJvamVjdF9uYW1lfX1fbG9nZ2luZyx7e3Byb2plY3RfbmFtZX19X3VpLHt7cHJvamVjdF9uYW1lfX1fdWlfbGludXgKZGVwZW5kZW5jeV9vdmVycmlkZXM6CiAge3twcm9qZWN0X25hbWV9fV9kaToKICAgIHBhdGg6IC4uLy4uL3t7cHJvamVjdF9uYW1lfX1fZGkKICB7e3Byb2plY3RfbmFtZX19X2RvbWFpbjoKICAgIHBhdGg6IC4uLy4uL3t7cHJvamVjdF9uYW1lfX1fZG9tYWluL3t7cHJvamVjdF9uYW1lfX1fZG9tYWluCiAge3twcm9qZWN0X25hbWV9fV9pbmZyYXN0cnVjdHVyZToKICAgIHBhdGg6IC4uLy4uL3t7cHJvamVjdF9uYW1lfX1faW5mcmFzdHJ1Y3R1cmUve3twcm9qZWN0X25hbWV9fV9pbmZyYXN0cnVjdHVyZQogIHt7cHJvamVjdF9uYW1lfX1fbGludXhfYXBwOgogICAgcGF0aDogLi4ve3twcm9qZWN0X25hbWV9fV9saW51eF9mZWF0dXJlcy97e3Byb2plY3RfbmFtZX19X2xpbnV4X2FwcAogIHt7cHJvamVjdF9uYW1lfX1fbGludXhfaG9tZV9wYWdlOgogICAgcGF0aDogLi4ve3twcm9qZWN0X25hbWV9fV9saW51eF9mZWF0dXJlcy97e3Byb2plY3RfbmFtZX19X2xpbnV4X2hvbWVfcGFnZQogIHt7cHJvamVjdF9uYW1lfX1fbGludXhfbG9jYWxpemF0aW9uOgogICAgcGF0aDogLi4ve3twcm9qZWN0X25hbWV9fV9saW51eF9sb2NhbGl6YXRpb24KICB7e3Byb2plY3RfbmFtZX19X2xpbnV4X25hdmlnYXRpb246CiAgICBwYXRoOiAuLi97e3Byb2plY3RfbmFtZX19X2xpbnV4X25hdmlnYXRpb24KICB7e3Byb2plY3RfbmFtZX19X2xvZ2dpbmc6CiAgICBwYXRoOiAuLi8uLi97e3Byb2plY3RfbmFtZX19X2xvZ2dpbmcKICB7e3Byb2plY3RfbmFtZX19X3VpOgogICAgcGF0aDogLi4vLi4vLi4ve3twcm9qZWN0X25hbWV9fV91aS97e3Byb2plY3RfbmFtZX19X3VpCiAge3twcm9qZWN0X25hbWV9fV91aV9saW51eDoKICAgIHBhdGg6IC4uLy4uLy4uL3t7cHJvamVjdF9uYW1lfX1fdWkve3twcm9qZWN0X25hbWV9fV91aV9saW51eAp7ey9saW51eH19e3sjbWFjb3N9fSMgbWVsb3NfbWFuYWdlZF9kZXBlbmRlbmN5X292ZXJyaWRlczoge3twcm9qZWN0X25hbWV9fV9kaSx7e3Byb2plY3RfbmFtZX19X2RvbWFpbix7e3Byb2plY3RfbmFtZX19X2luZnJhc3RydWN0dXJlLHt7cHJvamVjdF9uYW1lfX1fbG9nZ2luZyx7e3Byb2plY3RfbmFtZX19X21hY29zX2FwcCx7e3Byb2plY3RfbmFtZX19X21hY29zX2hvbWVfcGFnZSx7e3Byb2plY3RfbmFtZX19X21hY29zX2xvY2FsaXphdGlvbix7e3Byb2plY3RfbmFtZX19X21hY29zX25hdmlnYXRpb24se3twcm9qZWN0X25hbWV9fV91aSx7e3Byb2plY3RfbmFtZX19X3VpX21hY29zCmRlcGVuZGVuY3lfb3ZlcnJpZGVzOgogIHt7cHJvamVjdF9uYW1lfX1fZGk6CiAgICBwYXRoOiAuLi8uLi97e3Byb2plY3RfbmFtZX19X2RpCiAge3twcm9qZWN0X25hbWV9fV9kb21haW46CiAgICBwYXRoOiAuLi8uLi97e3Byb2plY3RfbmFtZX19X2RvbWFpbi97e3Byb2plY3RfbmFtZX19X2RvbWFpbgogIHt7cHJvamVjdF9uYW1lfX1faW5mcmFzdHJ1Y3R1cmU6CiAgICBwYXRoOiAuLi8uLi97e3Byb2plY3RfbmFtZX19X2luZnJhc3RydWN0dXJlL3t7cHJvamVjdF9uYW1lfX1faW5mcmFzdHJ1Y3R1cmUKICB7e3Byb2plY3RfbmFtZX19X2xvZ2dpbmc6CiAgICBwYXRoOiAuLi8uLi97e3Byb2plY3RfbmFtZX19X2xvZ2dpbmcKICB7e3Byb2plY3RfbmFtZX19X21hY29zX2FwcDoKICAgIHBhdGg6IC4uL3t7cHJvamVjdF9uYW1lfX1fbWFjb3NfZmVhdHVyZXMve3twcm9qZWN0X25hbWV9fV9tYWNvc19hcHAKICB7e3Byb2plY3RfbmFtZX19X21hY29zX2hvbWVfcGFnZToKICAgIHBhdGg6IC4uL3t7cHJvamVjdF9uYW1lfX1fbWFjb3NfZmVhdHVyZXMve3twcm9qZWN0X25hbWV9fV9tYWNvc19ob21lX3BhZ2UKICB7e3Byb2plY3RfbmFtZX19X21hY29zX2xvY2FsaXphdGlvbjoKICAgIHBhdGg6IC4uL3t7cHJvamVjdF9uYW1lfX1fbWFjb3NfbG9jYWxpemF0aW9uCiAge3twcm9qZWN0X25hbWV9fV9tYWNvc19uYXZpZ2F0aW9uOgogICAgcGF0aDogLi4ve3twcm9qZWN0X25hbWV9fV9tYWNvc19uYXZpZ2F0aW9uCiAge3twcm9qZWN0X25hbWV9fV91aToKICAgIHBhdGg6IC4uLy4uLy4uL3t7cHJvamVjdF9uYW1lfX1fdWkve3twcm9qZWN0X25hbWV9fV91aQogIHt7cHJvamVjdF9uYW1lfX1fdWlfbWFjb3M6CiAgICBwYXRoOiAuLi8uLi8uLi97e3Byb2plY3RfbmFtZX19X3VpL3t7cHJvamVjdF9uYW1lfX1fdWlfbWFjb3MKe3svbWFjb3N9fXt7I3dlYn19IyBtZWxvc19tYW5hZ2VkX2RlcGVuZGVuY3lfb3ZlcnJpZGVzOiB7e3Byb2plY3RfbmFtZX19X2RpLHt7cHJvamVjdF9uYW1lfX1fZG9tYWluLHt7cHJvamVjdF9uYW1lfX1faW5mcmFzdHJ1Y3R1cmUse3twcm9qZWN0X25hbWV9fV9sb2dnaW5nLHt7cHJvamVjdF9uYW1lfX1fdWkse3twcm9qZWN0X25hbWV9fV91aV93ZWIse3twcm9qZWN0X25hbWV9fV93ZWJfYXBwLHt7cHJvamVjdF9uYW1lfX1fd2ViX2hvbWVfcGFnZSx7e3Byb2plY3RfbmFtZX19X3dlYl9sb2NhbGl6YXRpb24se3twcm9qZWN0X25hbWV9fV93ZWJfbmF2aWdhdGlvbgpkZXBlbmRlbmN5X292ZXJyaWRlczoKICB7e3Byb2plY3RfbmFtZX19X2RpOgogICAgcGF0aDogLi4vLi4ve3twcm9qZWN0X25hbWV9fV9kaQogIHt7cHJvamVjdF9uYW1lfX1fZG9tYWluOgogICAgcGF0aDogLi4vLi4ve3twcm9qZWN0X25hbWV9fV9kb21haW4ve3twcm9qZWN0X25hbWV9fV9kb21haW4KICB7e3Byb2plY3RfbmFtZX19X2luZnJhc3RydWN0dXJlOgogICAgcGF0aDogLi4vLi4ve3twcm9qZWN0X25hbWV9fV9pbmZyYXN0cnVjdHVyZS97e3Byb2plY3RfbmFtZX19X2luZnJhc3RydWN0dXJlCiAge3twcm9qZWN0X25hbWV9fV9sb2dnaW5nOgogICAgcGF0aDogLi4vLi4ve3twcm9qZWN0X25hbWV9fV9sb2dnaW5nCiAge3twcm9qZWN0X25hbWV9fV91aToKICAgIHBhdGg6IC4uLy4uLy4uL3t7cHJvamVjdF9uYW1lfX1fdWkve3twcm9qZWN0X25hbWV9fV91aQogIHt7cHJvamVjdF9uYW1lfX1fdWlfd2ViOgogICAgcGF0aDogLi4vLi4vLi4ve3twcm9qZWN0X25hbWV9fV91aS97e3Byb2plY3RfbmFtZX19X3VpX3dlYgogIHt7cHJvamVjdF9uYW1lfX1fd2ViX2FwcDoKICAgIHBhdGg6IC4uL3t7cHJvamVjdF9uYW1lfX1fd2ViX2ZlYXR1cmVzL3t7cHJvamVjdF9uYW1lfX1fd2ViX2FwcAogIHt7cHJvamVjdF9uYW1lfX1fd2ViX2hvbWVfcGFnZToKICAgIHBhdGg6IC4uL3t7cHJvamVjdF9uYW1lfX1fd2ViX2ZlYXR1cmVzL3t7cHJvamVjdF9uYW1lfX1fd2ViX2hvbWVfcGFnZQogIHt7cHJvamVjdF9uYW1lfX1fd2ViX2xvY2FsaXphdGlvbjoKICAgIHBhdGg6IC4uL3t7cHJvamVjdF9uYW1lfX1fd2ViX2xvY2FsaXphdGlvbgogIHt7cHJvamVjdF9uYW1lfX1fd2ViX25hdmlnYXRpb246CiAgICBwYXRoOiAuLi97e3Byb2plY3RfbmFtZX19X3dlYl9uYXZpZ2F0aW9uCnt7L3dlYn19e3sjd2luZG93c319IyBtZWxvc19tYW5hZ2VkX2RlcGVuZGVuY3lfb3ZlcnJpZGVzOiB7e3Byb2plY3RfbmFtZX19X2RpLHt7cHJvamVjdF9uYW1lfX1fZG9tYWluLHt7cHJvamVjdF9uYW1lfX1faW5mcmFzdHJ1Y3R1cmUse3twcm9qZWN0X25hbWV9fV9sb2dnaW5nLHt7cHJvamVjdF9uYW1lfX1fdWkse3twcm9qZWN0X25hbWV9fV91aV93aW5kb3dzLHt7cHJvamVjdF9uYW1lfX1fd2luZG93c19hcHAse3twcm9qZWN0X25hbWV9fV93aW5kb3dzX2hvbWVfcGFnZSx7e3Byb2plY3RfbmFtZX19X3dpbmRvd3NfbG9jYWxpemF0aW9uLHt7cHJvamVjdF9uYW1lfX1fd2luZG93c19uYXZpZ2F0aW9uCmRlcGVuZGVuY3lfb3ZlcnJpZGVzOgogIHt7cHJvamVjdF9uYW1lfX1fZGk6CiAgICBwYXRoOiAuLi8uLi97e3Byb2plY3RfbmFtZX19X2RpCiAge3twcm9qZWN0X25hbWV9fV9kb21haW46CiAgICBwYXRoOiAuLi8uLi97e3Byb2plY3RfbmFtZX19X2RvbWFpbi97e3Byb2plY3RfbmFtZX19X2RvbWFpbgogIHt7cHJvamVjdF9uYW1lfX1faW5mcmFzdHJ1Y3R1cmU6CiAgICBwYXRoOiAuLi8uLi97e3Byb2plY3RfbmFtZX19X2luZnJhc3RydWN0dXJlL3t7cHJvamVjdF9uYW1lfX1faW5mcmFzdHJ1Y3R1cmUKICB7e3Byb2plY3RfbmFtZX19X2xvZ2dpbmc6CiAgICBwYXRoOiAuLi8uLi97e3Byb2plY3RfbmFtZX19X2xvZ2dpbmcKICB7e3Byb2plY3RfbmFtZX19X3VpOgogICAgcGF0aDogLi4vLi4vLi4ve3twcm9qZWN0X25hbWV9fV91aS97e3Byb2plY3RfbmFtZX19X3VpCiAge3twcm9qZWN0X25hbWV9fV91aV93aW5kb3dzOgogICAgcGF0aDogLi4vLi4vLi4ve3twcm9qZWN0X25hbWV9fV91aS97e3Byb2plY3RfbmFtZX19X3VpX3dpbmRvd3MKICB7e3Byb2plY3RfbmFtZX19X3dpbmRvd3NfYXBwOgogICAgcGF0aDogLi4ve3twcm9qZWN0X25hbWV9fV93aW5kb3dzX2ZlYXR1cmVzL3t7cHJvamVjdF9uYW1lfX1fd2luZG93c19hcHAKICB7e3Byb2plY3RfbmFtZX19X3dpbmRvd3NfaG9tZV9wYWdlOgogICAgcGF0aDogLi4ve3twcm9qZWN0X25hbWV9fV93aW5kb3dzX2ZlYXR1cmVzL3t7cHJvamVjdF9uYW1lfX1fd2luZG93c19ob21lX3BhZ2UKICB7e3Byb2plY3RfbmFtZX19X3dpbmRvd3NfbG9jYWxpemF0aW9uOgogICAgcGF0aDogLi4ve3twcm9qZWN0X25hbWV9fV93aW5kb3dzX2xvY2FsaXphdGlvbgogIHt7cHJvamVjdF9uYW1lfX1fd2luZG93c19uYXZpZ2F0aW9uOgogICAgcGF0aDogLi4ve3twcm9qZWN0X25hbWV9fV93aW5kb3dzX25hdmlnYXRpb24Ke3svd2luZG93c319e3sjbW9iaWxlfX0jIG1lbG9zX21hbmFnZWRfZGVwZW5kZW5jeV9vdmVycmlkZXM6IHt7cHJvamVjdF9uYW1lfX1fZGkse3twcm9qZWN0X25hbWV9fV9kb21haW4se3twcm9qZWN0X25hbWV9fV9pbmZyYXN0cnVjdHVyZSx7e3Byb2plY3RfbmFtZX19X2xvZ2dpbmcse3twcm9qZWN0X25hbWV9fV9tb2JpbGVfYXBwLHt7cHJvamVjdF9uYW1lfX1fbW9iaWxlX2hvbWVfcGFnZSx7e3Byb2plY3RfbmFtZX19X21vYmlsZV9sb2NhbGl6YXRpb24se3twcm9qZWN0X25hbWV9fV9tb2JpbGVfbmF2aWdhdGlvbix7e3Byb2plY3RfbmFtZX19X3VpLHt7cHJvamVjdF9uYW1lfX1fdWlfbW9iaWxlCmRlcGVuZGVuY3lfb3ZlcnJpZGVzOgogIHt7cHJvamVjdF9uYW1lfX1fZGk6CiAgICBwYXRoOiAuLi8uLi97e3Byb2plY3RfbmFtZX19X2RpCiAge3twcm9qZWN0X25hbWV9fV9kb21haW46CiAgICBwYXRoOiAuLi8uLi97e3Byb2plY3RfbmFtZX19X2RvbWFpbi97e3Byb2plY3RfbmFtZX19X2RvbWFpbgogIHt7cHJvamVjdF9uYW1lfX1faW5mcmFzdHJ1Y3R1cmU6CiAgICBwYXRoOiAuLi8uLi97e3Byb2plY3RfbmFtZX19X2luZnJhc3RydWN0dXJlL3t7cHJvamVjdF9uYW1lfX1faW5mcmFzdHJ1Y3R1cmUKICB7e3Byb2plY3RfbmFtZX19X2xvZ2dpbmc6CiAgICBwYXRoOiAuLi8uLi97e3Byb2plY3RfbmFtZX19X2xvZ2dpbmcKICB7e3Byb2plY3RfbmFtZX19X21vYmlsZV9hcHA6CiAgICBwYXRoOiAuLi97e3Byb2plY3RfbmFtZX19X21vYmlsZV9mZWF0dXJlcy97e3Byb2plY3RfbmFtZX19X21vYmlsZV9hcHAKICB7e3Byb2plY3RfbmFtZX19X21vYmlsZV9ob21lX3BhZ2U6CiAgICBwYXRoOiAuLi97e3Byb2plY3RfbmFtZX19X21vYmlsZV9mZWF0dXJlcy97e3Byb2plY3RfbmFtZX19X21vYmlsZV9ob21lX3BhZ2UKICB7e3Byb2plY3RfbmFtZX19X21vYmlsZV9sb2NhbGl6YXRpb246CiAgICBwYXRoOiAuLi97e3Byb2plY3RfbmFtZX19X21vYmlsZV9sb2NhbGl6YXRpb24KICB7e3Byb2plY3RfbmFtZX19X21vYmlsZV9uYXZpZ2F0aW9uOgogICAgcGF0aDogLi4ve3twcm9qZWN0X25hbWV9fV9tb2JpbGVfbmF2aWdhdGlvbgogIHt7cHJvamVjdF9uYW1lfX1fdWk6CiAgICBwYXRoOiAuLi8uLi8uLi97e3Byb2plY3RfbmFtZX19X3VpL3t7cHJvamVjdF9uYW1lfX1fdWkKICB7e3Byb2plY3RfbmFtZX19X3VpX21vYmlsZToKICAgIHBhdGg6IC4uLy4uLy4uL3t7cHJvamVjdF9uYW1lfX1fdWkve3twcm9qZWN0X25hbWV9fV91aV9tb2JpbGUKe3svbW9iaWxlfX0=", "type": "text" }, - {"path": "README.md", "data": "VE9ETwo=", "type": "text"}, + {"path": "README.md", "data": "", "type": "text"}, { "path": "test/bloc_observer_test.dart", "data": - "aW1wb3J0ICdwYWNrYWdlOmZsdXR0ZXJfdGVzdC9mbHV0dGVyX3Rlc3QuZGFydCc7CmltcG9ydCAncGFja2FnZTp7e3Byb2plY3RfbmFtZX19X3t7I2FuZHJvaWR9fWFuZHJvaWR7ey9hbmRyb2lkfX17eyNpb3N9fWlvc3t7L2lvc319e3sjbGludXh9fWxpbnV4e3svbGludXh9fXt7I21hY29zfX1tYWNvc3t7L21hY29zfX17eyN3ZWJ9fXdlYnt7L3dlYn19e3sjd2luZG93c319d2luZG93c3t7L3dpbmRvd3N9fXt7I21vYmlsZX19bW9iaWxle3svbW9iaWxlfX0vYmxvY19vYnNlcnZlci5kYXJ0JzsKaW1wb3J0ICdwYWNrYWdlOnt7cHJvamVjdF9uYW1lfX1fbG9nZ2luZy97e3Byb2plY3RfbmFtZX19X2xvZ2dpbmcuZGFydCc7CmltcG9ydCAncGFja2FnZTptb2NrdGFpbC9tb2NrdGFpbC5kYXJ0JzsKCmltcG9ydCAnbW9ja3MuZGFydCc7Cgp7e3Byb2plY3RfbmFtZS5wYXNjYWxDYXNlKCl9fUJsb2NPYnNlcnZlciBfZ2V0e3twcm9qZWN0X25hbWUucGFzY2FsQ2FzZSgpfX1CbG9jT2JzZXJ2ZXIoe3twcm9qZWN0X25hbWUucGFzY2FsQ2FzZSgpfX1Mb2dnZXIgbG9nZ2VyLCkgewogIHJldHVybiB7e3Byb2plY3RfbmFtZS5wYXNjYWxDYXNlKCl9fUJsb2NPYnNlcnZlcihsb2dnZXIpOwp9Cgp2b2lkIG1haW4oKSB7CiAgZ3JvdXAoJ3t7cHJvamVjdF9uYW1lLnBhc2NhbENhc2UoKX19QmxvY09ic2VydmVyJywgKCkgewogICAgdGVzdCgnLigpJywgKCkgewogICAgICAvLyBBcnJhbmdlCiAgICAgIGZpbmFsIGxvZ2dlciA9IE1vY2t7e3Byb2plY3RfbmFtZS5wYXNjYWxDYXNlKCl9fUxvZ2dlcigpOwoKICAgICAgLy8gQWN0CiAgICAgIGZpbmFsIHt7cHJvamVjdF9uYW1lLmNhbWVsQ2FzZSgpfX1CbG9jT2JzZXJ2ZXIgPSBfZ2V0e3twcm9qZWN0X25hbWUucGFzY2FsQ2FzZSgpfX1CbG9jT2JzZXJ2ZXIobG9nZ2VyKTsKCiAgICAgIC8vIEFjdAogICAgICBleHBlY3Qoe3twcm9qZWN0X25hbWUuY2FtZWxDYXNlKCl9fUJsb2NPYnNlcnZlci5sb2dnZXIsIGxvZ2dlcik7CiAgICB9KTsKCiAgICB0ZXN0KCcub25DcmVhdGUoKScsICgpIHsKICAgICAgLy8gQXJyYW5nZQogICAgICBmaW5hbCBsb2dnZXIgPSBNb2Nre3twcm9qZWN0X25hbWUucGFzY2FsQ2FzZSgpfX1Mb2dnZXIoKTsKICAgICAgZmluYWwge3twcm9qZWN0X25hbWUuY2FtZWxDYXNlKCl9fUJsb2NPYnNlcnZlciA9IF9nZXR7e3Byb2plY3RfbmFtZS5wYXNjYWxDYXNlKCl9fUJsb2NPYnNlcnZlcihsb2dnZXIpOwoKICAgICAgLy8gQWN0CiAgICAgIHt7cHJvamVjdF9uYW1lLmNhbWVsQ2FzZSgpfX1CbG9jT2JzZXJ2ZXIub25DcmVhdGUoTW9ja0Jsb2MoKSk7CgogICAgICAvLyBBc3NlcnQKICAgICAgdmVyaWZ5KCgpID0+IGxvZ2dlci5kZWJ1Zygnb25DcmVhdGUgLS0gTW9ja0Jsb2MnKSkuY2FsbGVkKDEpOwogICAgfSk7CgogICAgdGVzdCgnLm9uRXZlbnQoKScsICgpIHsKICAgICAgLy8gQXJyYW5nZQogICAgICBmaW5hbCBsb2dnZXIgPSBNb2Nre3twcm9qZWN0X25hbWUucGFzY2FsQ2FzZSgpfX1Mb2dnZXIoKTsKICAgICAgZmluYWwge3twcm9qZWN0X25hbWUuY2FtZWxDYXNlKCl9fUJsb2NPYnNlcnZlciA9IF9nZXR7e3Byb2plY3RfbmFtZS5wYXNjYWxDYXNlKCl9fUJsb2NPYnNlcnZlcihsb2dnZXIpOwoKICAgICAgLy8gQWN0CiAgICAgIHt7cHJvamVjdF9uYW1lLmNhbWVsQ2FzZSgpfX1CbG9jT2JzZXJ2ZXIub25FdmVudChNb2NrQmxvYygpLCA4OCk7CgogICAgICAvLyBBc3NlcnQKICAgICAgdmVyaWZ5KAogICAgICAgICgpID0+IGxvZ2dlci5kZWJ1ZygKICAgICAgICAgICdvbkV2ZW50IC0tIE1vY2tCbG9jXG4nCiAgICAgICAgICAnXG4nCiAgICAgICAgICAnODgnLAogICAgICAgICksCiAgICAgICkuY2FsbGVkKDEpOwogICAgfSk7CgogICAgdGVzdCgnLm9uQ2hhbmdlKCknLCAoKSB7CiAgICAgIC8vIEFycmFuZ2UKICAgICAgZmluYWwgbG9nZ2VyID0gTW9ja3t7cHJvamVjdF9uYW1lLnBhc2NhbENhc2UoKX19TG9nZ2VyKCk7CiAgICAgIGZpbmFsIHt7cHJvamVjdF9uYW1lLmNhbWVsQ2FzZSgpfX1CbG9jT2JzZXJ2ZXIgPSBfZ2V0e3twcm9qZWN0X25hbWUucGFzY2FsQ2FzZSgpfX1CbG9jT2JzZXJ2ZXIobG9nZ2VyKTsKCiAgICAgIC8vIEFjdAogICAgICBmaW5hbCBjaGFuZ2UgPSBNb2NrQ2hhbmdlKCk7CiAgICAgIHdoZW4oKCkgPT4gY2hhbmdlLmN1cnJlbnRTdGF0ZSkudGhlblJldHVybig4OCk7CiAgICAgIHdoZW4oKCkgPT4gY2hhbmdlLm5leHRTdGF0ZSkudGhlblJldHVybig4ODgpOwogICAgICB7e3Byb2plY3RfbmFtZS5jYW1lbENhc2UoKX19QmxvY09ic2VydmVyLm9uQ2hhbmdlKE1vY2tCbG9jKCksIGNoYW5nZSk7CgogICAgICAvLyBBc3NlcnQKICAgICAgdmVyaWZ5KAogICAgICAgICgpID0+IGxvZ2dlci5kZWJ1ZygKICAgICAgICAgICdvbkNoYW5nZSAtLSBNb2NrQmxvY1xuJwogICAgICAgICAgJ1xuJwogICAgICAgICAgJ2N1cnJlbnRTdGF0ZTogODhcbicKICAgICAgICAgICduZXh0U3RhdGU6IDg4OCcsCiAgICAgICAgKSwKICAgICAgKS5jYWxsZWQoMSk7CiAgICB9KTsKCiAgICB0ZXN0KCcub25FcnJvcigpJywgKCkgewogICAgICAvLyBBcnJhbmdlCiAgICAgIGZpbmFsIGxvZ2dlciA9IE1vY2t7e3Byb2plY3RfbmFtZS5wYXNjYWxDYXNlKCl9fUxvZ2dlcigpOwogICAgICBmaW5hbCB7e3Byb2plY3RfbmFtZS5jYW1lbENhc2UoKX19QmxvY09ic2VydmVyID0gX2dldHt7cHJvamVjdF9uYW1lLnBhc2NhbENhc2UoKX19QmxvY09ic2VydmVyKGxvZ2dlcik7CgogICAgICAvLyBBY3QKICAgICAge3twcm9qZWN0X25hbWUuY2FtZWxDYXNlKCl9fUJsb2NPYnNlcnZlci5vbkVycm9yKE1vY2tCbG9jKCksIEVycm9yKCksIFN0YWNrVHJhY2UuZW1wdHkpOwoKICAgICAgLy8gQXNzZXJ0CiAgICAgIHZlcmlmeSgKICAgICAgICAoKSA9PiBsb2dnZXIuZGVidWcoCiAgICAgICAgICAnb25FcnJvciAtLSBNb2NrQmxvY1xuJwogICAgICAgICAgJ1xuJwogICAgICAgICAgIkluc3RhbmNlIG9mICdFcnJvciciLAogICAgICAgICksCiAgICAgICkuY2FsbGVkKDEpOwogICAgfSk7CgogICAgdGVzdCgnLm9uQ2xvc2UoKScsICgpIHsKICAgICAgLy8gQXJyYW5nZQogICAgICBmaW5hbCBsb2dnZXIgPSBNb2Nre3twcm9qZWN0X25hbWUucGFzY2FsQ2FzZSgpfX1Mb2dnZXIoKTsKICAgICAgZmluYWwge3twcm9qZWN0X25hbWUuY2FtZWxDYXNlKCl9fUJsb2NPYnNlcnZlciA9IF9nZXR7e3Byb2plY3RfbmFtZS5wYXNjYWxDYXNlKCl9fUJsb2NPYnNlcnZlcihsb2dnZXIpOwoKICAgICAgLy8gQWN0CiAgICAgIHt7cHJvamVjdF9uYW1lLmNhbWVsQ2FzZSgpfX1CbG9jT2JzZXJ2ZXIub25DbG9zZShNb2NrQmxvYygpKTsKCiAgICAgIC8vIEFzc2VydAogICAgICB2ZXJpZnkoKCkgPT4gbG9nZ2VyLmRlYnVnKCdvbkNsb3NlIC0tIE1vY2tCbG9jJykpLmNhbGxlZCgxKTsKICAgIH0pOwogIH0pOwp9Cg==", + "aW1wb3J0ICdwYWNrYWdlOmZsdXR0ZXJfdGVzdC9mbHV0dGVyX3Rlc3QuZGFydCc7CmltcG9ydCAncGFja2FnZTp7e3Byb2plY3RfbmFtZX19X3t7I2FuZHJvaWR9fWFuZHJvaWR7ey9hbmRyb2lkfX17eyNpb3N9fWlvc3t7L2lvc319e3sjbGludXh9fWxpbnV4e3svbGludXh9fXt7I21hY29zfX1tYWNvc3t7L21hY29zfX17eyN3ZWJ9fXdlYnt7L3dlYn19e3sjd2luZG93c319d2luZG93c3t7L3dpbmRvd3N9fXt7I21vYmlsZX19bW9iaWxle3svbW9iaWxlfX0vYmxvY19vYnNlcnZlci5kYXJ0JzsKaW1wb3J0ICdwYWNrYWdlOnt7cHJvamVjdF9uYW1lfX1fbG9nZ2luZy97e3Byb2plY3RfbmFtZX19X2xvZ2dpbmcuZGFydCc7CmltcG9ydCAncGFja2FnZTptb2NrdGFpbC9tb2NrdGFpbC5kYXJ0JzsKCmltcG9ydCAnbW9ja3MuZGFydCc7Cgp7e3Byb2plY3RfbmFtZS5wYXNjYWxDYXNlKCl9fUJsb2NPYnNlcnZlciBfZ2V0e3twcm9qZWN0X25hbWUucGFzY2FsQ2FzZSgpfX1CbG9jT2JzZXJ2ZXIoe3twcm9qZWN0X25hbWUucGFzY2FsQ2FzZSgpfX1Mb2dnZXIgbG9nZ2VyLCkgewogIHJldHVybiB7e3Byb2plY3RfbmFtZS5wYXNjYWxDYXNlKCl9fUJsb2NPYnNlcnZlcihsb2dnZXIpOwp9Cgp2b2lkIG1haW4oKSB7CiAgZ3JvdXAoJ3t7cHJvamVjdF9uYW1lLnBhc2NhbENhc2UoKX19QmxvY09ic2VydmVyJywgKCkgewogICAgdGVzdCgnLigpJywgKCkgewogICAgICAvLyBBcnJhbmdlCiAgICAgIGZpbmFsIGxvZ2dlciA9IE1vY2t7e3Byb2plY3RfbmFtZS5wYXNjYWxDYXNlKCl9fUxvZ2dlcigpOwoKICAgICAgLy8gQWN0CiAgICAgIGZpbmFsIHt7cHJvamVjdF9uYW1lLmNhbWVsQ2FzZSgpfX1CbG9jT2JzZXJ2ZXIgPSBfZ2V0e3twcm9qZWN0X25hbWUucGFzY2FsQ2FzZSgpfX1CbG9jT2JzZXJ2ZXIobG9nZ2VyKTsKCiAgICAgIC8vIEFjdAogICAgICBleHBlY3Qoe3twcm9qZWN0X25hbWUuY2FtZWxDYXNlKCl9fUJsb2NPYnNlcnZlci5sb2dnZXIsIGxvZ2dlcik7CiAgICB9KTsKCiAgICB0ZXN0KCcub25DcmVhdGUoKScsICgpIHsKICAgICAgLy8gQXJyYW5nZQogICAgICBmaW5hbCBsb2dnZXIgPSBNb2Nre3twcm9qZWN0X25hbWUucGFzY2FsQ2FzZSgpfX1Mb2dnZXIoKTsKICAgICAgZmluYWwge3twcm9qZWN0X25hbWUuY2FtZWxDYXNlKCl9fUJsb2NPYnNlcnZlciA9IF9nZXR7e3Byb2plY3RfbmFtZS5wYXNjYWxDYXNlKCl9fUJsb2NPYnNlcnZlcihsb2dnZXIpOwoKICAgICAgLy8gQWN0CiAgICAgIHt7cHJvamVjdF9uYW1lLmNhbWVsQ2FzZSgpfX1CbG9jT2JzZXJ2ZXIub25DcmVhdGUoTW9ja0Jsb2MoKSk7CgogICAgICAvLyBBc3NlcnQKICAgICAgdmVyaWZ5KCgpID0+IGxvZ2dlci5kZWJ1Zygnb25DcmVhdGUgLS0gTW9ja0Jsb2MnKSkuY2FsbGVkKDEpOwogICAgfSk7CgogICAgdGVzdCgnLm9uRXZlbnQoKScsICgpIHsKICAgICAgLy8gQXJyYW5nZQogICAgICBmaW5hbCBsb2dnZXIgPSBNb2Nre3twcm9qZWN0X25hbWUucGFzY2FsQ2FzZSgpfX1Mb2dnZXIoKTsKICAgICAgZmluYWwge3twcm9qZWN0X25hbWUuY2FtZWxDYXNlKCl9fUJsb2NPYnNlcnZlciA9IF9nZXR7e3Byb2plY3RfbmFtZS5wYXNjYWxDYXNlKCl9fUJsb2NPYnNlcnZlcihsb2dnZXIpOwoKICAgICAgLy8gQWN0CiAgICAgIHt7cHJvamVjdF9uYW1lLmNhbWVsQ2FzZSgpfX1CbG9jT2JzZXJ2ZXIub25FdmVudChNb2NrQmxvYygpLCA4OCk7CgogICAgICAvLyBBc3NlcnQKICAgICAgdmVyaWZ5KAogICAgICAgICgpID0+IGxvZ2dlci5kZWJ1ZygKICAgICAgICAgICdvbkV2ZW50IC0tIE1vY2tCbG9jXG4nCiAgICAgICAgICAnXG4nCiAgICAgICAgICAnODgnLAogICAgICAgICksCiAgICAgICkuY2FsbGVkKDEpOwogICAgfSk7CgogICAgdGVzdCgnLm9uQ2hhbmdlKCknLCAoKSB7CiAgICAgIC8vIEFycmFuZ2UKICAgICAgZmluYWwgbG9nZ2VyID0gTW9ja3t7cHJvamVjdF9uYW1lLnBhc2NhbENhc2UoKX19TG9nZ2VyKCk7CiAgICAgIGZpbmFsIHt7cHJvamVjdF9uYW1lLmNhbWVsQ2FzZSgpfX1CbG9jT2JzZXJ2ZXIgPSBfZ2V0e3twcm9qZWN0X25hbWUucGFzY2FsQ2FzZSgpfX1CbG9jT2JzZXJ2ZXIobG9nZ2VyKTsKCiAgICAgIC8vIEFjdAogICAgICBmaW5hbCBjaGFuZ2UgPSBNb2NrQ2hhbmdlKCk7CiAgICAgIHdoZW4oKCkgPT4gY2hhbmdlLmN1cnJlbnRTdGF0ZSkudGhlblJldHVybig4OCk7CiAgICAgIHdoZW4oKCkgPT4gY2hhbmdlLm5leHRTdGF0ZSkudGhlblJldHVybig4ODgpOwogICAgICB7e3Byb2plY3RfbmFtZS5jYW1lbENhc2UoKX19QmxvY09ic2VydmVyLm9uQ2hhbmdlKE1vY2tCbG9jKCksIGNoYW5nZSk7CgogICAgICAvLyBBc3NlcnQKICAgICAgdmVyaWZ5KAogICAgICAgICgpID0+IGxvZ2dlci5kZWJ1ZygKICAgICAgICAgICdvbkNoYW5nZSAtLSBNb2NrQmxvY1xuJwogICAgICAgICAgJ1xuJwogICAgICAgICAgJ2N1cnJlbnRTdGF0ZTogODhcbicKICAgICAgICAgICduZXh0U3RhdGU6IDg4OCcsCiAgICAgICAgKSwKICAgICAgKS5jYWxsZWQoMSk7CiAgICB9KTsKCiAgICB0ZXN0KCcub25FcnJvcigpJywgKCkgewogICAgICAvLyBBcnJhbmdlCiAgICAgIGZpbmFsIGxvZ2dlciA9IE1vY2t7e3Byb2plY3RfbmFtZS5wYXNjYWxDYXNlKCl9fUxvZ2dlcigpOwogICAgICBmaW5hbCB7e3Byb2plY3RfbmFtZS5jYW1lbENhc2UoKX19QmxvY09ic2VydmVyID0gX2dldHt7cHJvamVjdF9uYW1lLnBhc2NhbENhc2UoKX19QmxvY09ic2VydmVyKGxvZ2dlcik7CgogICAgICAvLyBBY3QKICAgICAge3twcm9qZWN0X25hbWUuY2FtZWxDYXNlKCl9fUJsb2NPYnNlcnZlci5vbkVycm9yKE1vY2tCbG9jKCksIEVycm9yKCksIFN0YWNrVHJhY2UuZW1wdHksKTsKCiAgICAgIC8vIEFzc2VydAogICAgICB2ZXJpZnkoCiAgICAgICAgKCkgPT4gbG9nZ2VyLmRlYnVnKAogICAgICAgICAgJ29uRXJyb3IgLS0gTW9ja0Jsb2NcbicKICAgICAgICAgICdcbicKICAgICAgICAgICJJbnN0YW5jZSBvZiAnRXJyb3InIiwKICAgICAgICApLAogICAgICApLmNhbGxlZCgxKTsKICAgIH0pOwoKICAgIHRlc3QoJy5vbkNsb3NlKCknLCAoKSB7CiAgICAgIC8vIEFycmFuZ2UKICAgICAgZmluYWwgbG9nZ2VyID0gTW9ja3t7cHJvamVjdF9uYW1lLnBhc2NhbENhc2UoKX19TG9nZ2VyKCk7CiAgICAgIGZpbmFsIHt7cHJvamVjdF9uYW1lLmNhbWVsQ2FzZSgpfX1CbG9jT2JzZXJ2ZXIgPSBfZ2V0e3twcm9qZWN0X25hbWUucGFzY2FsQ2FzZSgpfX1CbG9jT2JzZXJ2ZXIobG9nZ2VyKTsKCiAgICAgIC8vIEFjdAogICAgICB7e3Byb2plY3RfbmFtZS5jYW1lbENhc2UoKX19QmxvY09ic2VydmVyLm9uQ2xvc2UoTW9ja0Jsb2MoKSk7CgogICAgICAvLyBBc3NlcnQKICAgICAgdmVyaWZ5KCgpID0+IGxvZ2dlci5kZWJ1Zygnb25DbG9zZSAtLSBNb2NrQmxvYycpKS5jYWxsZWQoMSk7CiAgICB9KTsKICB9KTsKfQo=", "type": "text" }, { diff --git a/packages/rapid_cli/lib/src/project/bundles/platform_tab_flow_feature_package_bundle.dart b/packages/rapid_cli/lib/src/project/bundles/platform_tab_flow_feature_package_bundle.dart index 9d51777ac..9eaa82a24 100644 --- a/packages/rapid_cli/lib/src/project/bundles/platform_tab_flow_feature_package_bundle.dart +++ b/packages/rapid_cli/lib/src/project/bundles/platform_tab_flow_feature_package_bundle.dart @@ -9,18 +9,18 @@ final platformTabFlowFeaturePackageBundle = { "path": ".gitignore", "data": - "IyBNaXNjZWxsYW5lb3VzCiouY2xhc3MKKi5sb2cKKi5weWMKKi5zd3AKLkRTX1N0b3JlCi5hdG9tLwouYnVpbGRsb2cvCi5oaXN0b3J5Ci5zdm4vCm1pZ3JhdGVfd29ya2luZ19kaXIvCgojIEludGVsbGlKIHJlbGF0ZWQKKi5pbWwKKi5pcHIKKi5pd3MKLmlkZWEvCgojIFRoZSAudnNjb2RlIGZvbGRlciBjb250YWlucyBsYXVuY2ggY29uZmlndXJhdGlvbiBhbmQgdGFza3MgeW91IGNvbmZpZ3VyZSBpbgojIFZTIENvZGUgd2hpY2ggeW91IG1heSB3aXNoIHRvIGJlIGluY2x1ZGVkIGluIHZlcnNpb24gY29udHJvbCwgc28gdGhpcyBsaW5lCiMgaXMgY29tbWVudGVkIG91dCBieSBkZWZhdWx0LgojLnZzY29kZS8KCiMgRmx1dHRlci9EYXJ0L1B1YiByZWxhdGVkCioqL2RvYy9hcGkvCioqL2lvcy9GbHV0dGVyLy5sYXN0X2J1aWxkX2lkCi5kYXJ0X3Rvb2wvCi5mbHV0dGVyLXBsdWdpbnMKLmZsdXR0ZXItcGx1Z2lucy1kZXBlbmRlbmNpZXMKLnBhY2thZ2VzCi5wdWItY2FjaGUvCi5wdWIvCi9idWlsZC8KL2NvdmVyYWdlCgojIEFsY2hlbWlzdAp0ZXN0LyoqL2dvbGRlbnMvKiovKi4qCnRlc3QvKiovZmFpbHVyZXMvKiovKi4qCiF0ZXN0LyoqL2dvbGRlbnMvY2kvKi4q", + "IyBNaXNjZWxsYW5lb3VzCiouY2xhc3MKKi5sb2cKKi5weWMKKi5zd3AKLkRTX1N0b3JlCi5hdG9tLwouYnVpbGRsb2cvCi5oaXN0b3J5Ci5zdm4vCm1pZ3JhdGVfd29ya2luZ19kaXIvCgojIEludGVsbGlKIHJlbGF0ZWQKKi5pbWwKKi5pcHIKKi5pd3MKLmlkZWEvCgojIEZsdXR0ZXIvRGFydC9QdWIgcmVsYXRlZAoqKi9kb2MvYXBpLwoqKi9pb3MvRmx1dHRlci8ubGFzdF9idWlsZF9pZAouZGFydF90b29sLwouZmx1dHRlci1wbHVnaW5zCi5mbHV0dGVyLXBsdWdpbnMtZGVwZW5kZW5jaWVzCi5wYWNrYWdlcwoucHViLWNhY2hlLwoucHViLwovYnVpbGQvCi9jb3ZlcmFnZQoKIyBBbGNoZW1pc3QKdGVzdC8qKi9nb2xkZW5zLyoqLyouKgp0ZXN0LyoqL2ZhaWx1cmVzLyoqLyouKgohdGVzdC8qKi9nb2xkZW5zL2NpLyouKg==", "type": "text" }, { "path": "analysis_options.yaml", "data": - "aW5jbHVkZTogLi4vLi4vLi4vLi4vLi4vYW5hbHlzaXNfb3B0aW9ucy55YW1sCiMgVW5jb21tZW50IHRoZSBmb2xsb3dpbmcgc2VjdGlvbiB0byBzcGVjaWZ5IGFkZGl0aW9uYWwgcnVsZXMuCgojIGxpbnRlcjoKIyAgIHJ1bGVzOgojICAgICAtIGNhbWVsX2Nhc2VfdHlwZXMK", + "aW5jbHVkZTogLi4vLi4vLi4vLi4vLi4vYW5hbHlzaXNfb3B0aW9ucy55YW1sCg==", "type": "text" }, { "path": "CHANGELOG.md", - "data": "IyMgMC4wLjEKCiogVE9ETzogRGVzY3JpYmUgaW5pdGlhbCByZWxlYXNlLgo=", + "data": "IyMgMC4xLjAKCiogVE9ETzogRGVzY3JpYmUgaW5pdGlhbCByZWxlYXNlLgo=", "type": "text" }, { @@ -71,15 +71,10 @@ final platformTabFlowFeaturePackageBundle = "Ly8vIFRoZSB7e25hbWUudGl0bGVDYXNlKCl9fSBmZWF0dXJlIG9mIHt7cHJvamVjdF9uYW1lLnRpdGxlQ2FzZSgpfX0gZm9yIHt7I2FuZHJvaWR9fUFuZHJvaWR7ey9hbmRyb2lkfX17eyNpb3N9fWlPU3t7L2lvc319e3sjbGludXh9fUxpbnV4e3svbGludXh9fXt7I21hY29zfX1tYWNPU3t7L21hY29zfX17eyN3ZWJ9fVdlYnt7L3dlYn19e3sjd2luZG93c319V2luZG93c3t7L3dpbmRvd3N9fXt7I21vYmlsZX19TW9iaWxle3svbW9iaWxlfX0uCi8vLwovLy8gVG8gdXNlLCBpbXBvcnQgYHBhY2thZ2U6e3twcm9qZWN0X25hbWV9fV97e3BsYXRmb3JtfX1fe3tuYW1lfX0ve3twcm9qZWN0X25hbWV9fV97e3BsYXRmb3JtfX1fe3tuYW1lfX0uZGFydGAuCmxpYnJhcnkge3twcm9qZWN0X25hbWV9fV97e3BsYXRmb3JtfX1fe3tuYW1lfX07CgpleHBvcnQgJ3NyYy9pbmplY3Rpb24ubW9kdWxlLmRhcnQnOwpleHBvcnQgJ3NyYy9wcmVzZW50YXRpb24vcHJlc2VudGF0aW9uLmRhcnQnOwo=", "type": "text" }, - { - "path": "LICENSE", - "data": "VE9ETzogQWRkIHlvdXIgbGljZW5zZSBoZXJlLgo=", - "type": "text" - }, { "path": "pubspec.yaml", "data": - "bmFtZToge3twcm9qZWN0X25hbWV9fV97e3BsYXRmb3JtfX1fe3tuYW1lfX0KZGVzY3JpcHRpb246IHt7ZGVzY3JpcHRpb259fQp2ZXJzaW9uOiAwLjAuMQpwdWJsaXNoX3RvOiBub25lCgplbnZpcm9ubWVudDoKICBzZGs6ICI+PTMuMS4wIDw0LjAuMCIKICBmbHV0dGVyOiAiPj0zLjEzLjAiCgpkZXBlbmRlbmNpZXM6CiAgZmx1dHRlcjoKICAgIHNkazogZmx1dHRlcgogIG1ldGE6IF4xLjkuMQogIGJsb2M6IF44LjEuMgogIGZyZWV6ZWRfYW5ub3RhdGlvbjogXjIuNC4xCiAgZmx1dHRlcl9ibG9jOiBeOC4xLjMKICBhdXRvX3JvdXRlOiBeNy44LjIKICBpbmplY3RhYmxlOiBeMi4zLjAKe3sjc3ViUm91dGVzfX0gIAogIHt7cHJvamVjdF9uYW1lfX1fe3twbGF0Zm9ybX19X3t7bmFtZS5zbmFrZUNhc2UoKX19Ogp7ey9zdWJSb3V0ZXN9fQogIHt7cHJvamVjdF9uYW1lfX1fZGk6CiAge3twcm9qZWN0X25hbWV9fV9kb21haW46CiAge3twcm9qZWN0X25hbWV9fV91aV97e3BsYXRmb3JtfX06CiAge3twcm9qZWN0X25hbWV9fV97e3BsYXRmb3JtfX1fbG9jYWxpemF0aW9uOgogIHt7cHJvamVjdF9uYW1lfX1fe3twbGF0Zm9ybX19X25hdmlnYXRpb246CgpkZXZfZGVwZW5kZW5jaWVzOgogIGZsdXR0ZXJfdGVzdDoKICAgIHNkazogZmx1dHRlcgogIGFsY2hlbWlzdDogXjAuNi4xCiAgYmxvY190ZXN0OiBeOS4xLjQKICBtb2NrdGFpbDogXjEuMC4wCiAgYnVpbGRfcnVubmVyOiBeMi40LjYKICBmcmVlemVkOiBeMi40LjEKICBhdXRvX3JvdXRlX2dlbmVyYXRvcjogXjcuMy4xCiAgaW5qZWN0YWJsZV9nZW5lcmF0b3I6IF4yLjQuMAogIGZsdXR0ZXJfZ2VuX3J1bm5lcjogXjUuMy4xCiAgYnVpbGRfdmVyaWZ5OiBeMy4xLjAKICB7e3Byb2plY3RfbmFtZX19X3t7cGxhdGZvcm19fV9hcHA6CgojIFRoZSBmb2xsb3dpbmcgc2VjdGlvbiBpcyBzcGVjaWZpYyB0byB0aGUgRmx1dHRlckdlbiBwYWNrYWdlLgojIFNlZTogaHR0cHM6Ly9wdWIuZGV2L3BhY2thZ2VzL2ZsdXR0ZXJfZ2VuI2NvbmZpZ3VyYXRpb24tZmlsZQpmbHV0dGVyX2dlbjoKICBvdXRwdXQ6IGxpYi9zcmMvCiAgIyBUbyBhZGQgc3VwcG9ydCBmb3Igc3ZnIHZpYSBmbHV0dGVyX3N2ZyBwYWNrYWdlCiAgIyBpbnRlZ3JhdGlvbnM6CiAgIyAgIGZsdXR0ZXJfc3ZnOiB0cnVlCgogIGFzc2V0czoKICAgIG91dHB1dHM6CiAgICAgIHBhY2thZ2VfcGFyYW1ldGVyX2VuYWJsZWQ6IHRydWUKCiMgVGhlIGZvbGxvd2luZyBzZWN0aW9uIGlzIHNwZWNpZmljIHRvIEZsdXR0ZXIgcGFja2FnZXMuCmZsdXR0ZXI6Cnt7Xmlvc319e3tebWFjb3N9fSAgIyBUaGUgZm9sbG93aW5nIGxpbmUgZW5zdXJlcyB0aGF0IHRoZSBNYXRlcmlhbCBJY29ucyBmb250IGlzCiAgIyBpbmNsdWRlZCB3aXRoIHlvdXIgYXBwbGljYXRpb24sIHNvIHRoYXQgeW91IGNhbiB1c2UgdGhlIGljb25zIGluCiAgIyB0aGUgbWF0ZXJpYWwgSWNvbnMgY2xhc3MuCiAgdXNlcy1tYXRlcmlhbC1kZXNpZ246IHRydWUKe3svbWFjb3N9fXt7L2lvc319ICAjIFRvIGFkZCBhc3NldHMgdG8geW91ciBwYWNrYWdlLCBhZGQgYW4gYXNzZXRzIHNlY3Rpb24sIGxpa2UgdGhpczoKICAjIGFzc2V0czoKICAjICAgLSBpbWFnZXMvYV9kb3RfYnVyci5qcGVnCiAgIyAgIC0gaW1hZ2VzL2FfZG90X2hhbS5qcGVnCiAgIwogICMgRm9yIGRldGFpbHMgcmVnYXJkaW5nIGFzc2V0cyBpbiBwYWNrYWdlcywgc2VlCiAgIyBodHRwczovL2ZsdXR0ZXIuZGV2L2Fzc2V0cy1hbmQtaW1hZ2VzLyNmcm9tLXBhY2thZ2VzCiAgIwogICMgQW4gaW1hZ2UgYXNzZXQgY2FuIHJlZmVyIHRvIG9uZSBvciBtb3JlIHJlc29sdXRpb24tc3BlY2lmaWMgInZhcmlhbnRzIiwgc2VlCiAgIyBodHRwczovL2ZsdXR0ZXIuZGV2L2Fzc2V0cy1hbmQtaW1hZ2VzLyNyZXNvbHV0aW9uLWF3YXJlCgogICMgVG8gYWRkIGN1c3RvbSBmb250cyB0byB5b3VyIHBhY2thZ2UsIGFkZCBhIGZvbnRzIHNlY3Rpb24gaGVyZSwKICAjIGluIHRoaXMgImZsdXR0ZXIiIHNlY3Rpb24uIEVhY2ggZW50cnkgaW4gdGhpcyBsaXN0IHNob3VsZCBoYXZlIGEKICAjICJmYW1pbHkiIGtleSB3aXRoIHRoZSBmb250IGZhbWlseSBuYW1lLCBhbmQgYSAiZm9udHMiIGtleSB3aXRoIGEKICAjIGxpc3QgZ2l2aW5nIHRoZSBhc3NldCBhbmQgb3RoZXIgZGVzY3JpcHRvcnMgZm9yIHRoZSBmb250LiBGb3IKICAjIGV4YW1wbGU6CiAgIyBmb250czoKICAjICAgLSBmYW1pbHk6IFNjaHlsZXIKICAjICAgICBmb250czoKICAjICAgICAgIC0gYXNzZXQ6IGZvbnRzL1NjaHlsZXItUmVndWxhci50dGYKICAjICAgICAgIC0gYXNzZXQ6IGZvbnRzL1NjaHlsZXItSXRhbGljLnR0ZgogICMgICAgICAgICBzdHlsZTogaXRhbGljCiAgIyAgIC0gZmFtaWx5OiBUcmFqYW4gUHJvCiAgIyAgICAgZm9udHM6CiAgIyAgICAgICAtIGFzc2V0OiBmb250cy9UcmFqYW5Qcm8udHRmCiAgIyAgICAgICAtIGFzc2V0OiBmb250cy9UcmFqYW5Qcm9fQm9sZC50dGYKICAjICAgICAgICAgd2VpZ2h0OiA3MDAKICAjCiAgIyBGb3IgZGV0YWlscyByZWdhcmRpbmcgZm9udHMgaW4gcGFja2FnZXMsIHNlZQogICMgaHR0cHM6Ly9mbHV0dGVyLmRldi9jdXN0b20tZm9udHMvI2Zyb20tcGFja2FnZXMK", + "bmFtZToge3twcm9qZWN0X25hbWV9fV97e3BsYXRmb3JtfX1fe3tuYW1lfX0KZGVzY3JpcHRpb246IHt7ZGVzY3JpcHRpb259fQp2ZXJzaW9uOiAwLjEuMApwdWJsaXNoX3RvOiBub25lCgplbnZpcm9ubWVudDoKICBzZGs6ICI+PTMuMS4wIDw0LjAuMCIKICBmbHV0dGVyOiAiPj0zLjEzLjAiCgpkZXBlbmRlbmNpZXM6CiAgYXV0b19yb3V0ZTogXjcuOC4yCiAgYmxvYzogXjguMS4yCiAgZmx1dHRlcjoKICAgIHNkazogZmx1dHRlcgogIGZsdXR0ZXJfYmxvYzogXjguMS4zCiAgZnJlZXplZF9hbm5vdGF0aW9uOiBeMi40LjEKICBpbmplY3RhYmxlOiBeMi4zLjAKICBtZXRhOiBeMS45LjEKe3sjc3ViUm91dGVzfX0gIAogIHt7cHJvamVjdF9uYW1lfX1fe3twbGF0Zm9ybX19X3t7bmFtZS5zbmFrZUNhc2UoKX19Ogp7ey9zdWJSb3V0ZXN9fQogIHt7cHJvamVjdF9uYW1lfX1fZGk6CiAge3twcm9qZWN0X25hbWV9fV9kb21haW46CiAge3twcm9qZWN0X25hbWV9fV91aV97e3BsYXRmb3JtfX06CiAge3twcm9qZWN0X25hbWV9fV97e3BsYXRmb3JtfX1fbG9jYWxpemF0aW9uOgogIHt7cHJvamVjdF9uYW1lfX1fe3twbGF0Zm9ybX19X25hdmlnYXRpb246CgpkZXZfZGVwZW5kZW5jaWVzOgogIGFsY2hlbWlzdDogXjAuNi4xCiAgYXV0b19yb3V0ZV9nZW5lcmF0b3I6IF43LjMuMQogIGJsb2NfdGVzdDogXjkuMS40CiAgYnVpbGRfcnVubmVyOiBeMi40LjYKICBidWlsZF92ZXJpZnk6IF4zLjEuMAogIGZsdXR0ZXJfZ2VuX3J1bm5lcjogXjUuMy4xCiAgZmx1dHRlcl90ZXN0OgogICAgc2RrOiBmbHV0dGVyCiAgZnJlZXplZDogXjIuNC4xCiAgaW5qZWN0YWJsZV9nZW5lcmF0b3I6IF4yLjQuMAogIG1vY2t0YWlsOiBeMS4wLjAKICB7e3Byb2plY3RfbmFtZX19X3t7cGxhdGZvcm19fV9hcHA6CgojIFRoZSBmb2xsb3dpbmcgc2VjdGlvbiBpcyBzcGVjaWZpYyB0byB0aGUgRmx1dHRlckdlbiBwYWNrYWdlLgojIFNlZTogaHR0cHM6Ly9wdWIuZGV2L3BhY2thZ2VzL2ZsdXR0ZXJfZ2VuI2NvbmZpZ3VyYXRpb24tZmlsZQpmbHV0dGVyX2dlbjoKICBvdXRwdXQ6IGxpYi9zcmMvCiAgIyBUbyBhZGQgc3VwcG9ydCBmb3Igc3ZnIHZpYSBmbHV0dGVyX3N2ZyBwYWNrYWdlCiAgIyBpbnRlZ3JhdGlvbnM6CiAgIyAgIGZsdXR0ZXJfc3ZnOiB0cnVlCiAgYXNzZXRzOgogICAgb3V0cHV0czoKICAgICAgcGFja2FnZV9wYXJhbWV0ZXJfZW5hYmxlZDogdHJ1ZQoKIyBUaGUgZm9sbG93aW5nIHNlY3Rpb24gaXMgc3BlY2lmaWMgdG8gRmx1dHRlciBwYWNrYWdlcy4KZmx1dHRlcjoKe3teaW9zfX17e15tYWNvc319ICAjIFRoZSBmb2xsb3dpbmcgbGluZSBlbnN1cmVzIHRoYXQgdGhlIE1hdGVyaWFsIEljb25zIGZvbnQgaXMKICAjIGluY2x1ZGVkIHdpdGggeW91ciBhcHBsaWNhdGlvbiwgc28gdGhhdCB5b3UgY2FuIHVzZSB0aGUgaWNvbnMgaW4KICAjIHRoZSBtYXRlcmlhbCBJY29ucyBjbGFzcy4KICB1c2VzLW1hdGVyaWFsLWRlc2lnbjogdHJ1ZQp7ey9tYWNvc319e3svaW9zfX0gICMgVG8gYWRkIGFzc2V0cyB0byB5b3VyIHBhY2thZ2UsIGFkZCBhbiBhc3NldHMgc2VjdGlvbiwgbGlrZSB0aGlzOgogICMgYXNzZXRzOgogICMgICAtIGltYWdlcy9hX2RvdF9idXJyLmpwZWcKICAjICAgLSBpbWFnZXMvYV9kb3RfaGFtLmpwZWcKICAjCiAgIyBGb3IgZGV0YWlscyByZWdhcmRpbmcgYXNzZXRzIGluIHBhY2thZ2VzLCBzZWUKICAjIGh0dHBzOi8vZmx1dHRlci5kZXYvYXNzZXRzLWFuZC1pbWFnZXMvI2Zyb20tcGFja2FnZXMKICAjCiAgIyBBbiBpbWFnZSBhc3NldCBjYW4gcmVmZXIgdG8gb25lIG9yIG1vcmUgcmVzb2x1dGlvbi1zcGVjaWZpYyAidmFyaWFudHMiLCBzZWUKICAjIGh0dHBzOi8vZmx1dHRlci5kZXYvYXNzZXRzLWFuZC1pbWFnZXMvI3Jlc29sdXRpb24tYXdhcmUKCiAgIyBUbyBhZGQgY3VzdG9tIGZvbnRzIHRvIHlvdXIgcGFja2FnZSwgYWRkIGEgZm9udHMgc2VjdGlvbiBoZXJlLAogICMgaW4gdGhpcyAiZmx1dHRlciIgc2VjdGlvbi4gRWFjaCBlbnRyeSBpbiB0aGlzIGxpc3Qgc2hvdWxkIGhhdmUgYQogICMgImZhbWlseSIga2V5IHdpdGggdGhlIGZvbnQgZmFtaWx5IG5hbWUsIGFuZCBhICJmb250cyIga2V5IHdpdGggYQogICMgbGlzdCBnaXZpbmcgdGhlIGFzc2V0IGFuZCBvdGhlciBkZXNjcmlwdG9ycyBmb3IgdGhlIGZvbnQuIEZvcgogICMgZXhhbXBsZToKICAjIGZvbnRzOgogICMgICAtIGZhbWlseTogU2NoeWxlcgogICMgICAgIGZvbnRzOgogICMgICAgICAgLSBhc3NldDogZm9udHMvU2NoeWxlci1SZWd1bGFyLnR0ZgogICMgICAgICAgLSBhc3NldDogZm9udHMvU2NoeWxlci1JdGFsaWMudHRmCiAgIyAgICAgICAgIHN0eWxlOiBpdGFsaWMKICAjICAgLSBmYW1pbHk6IFRyYWphbiBQcm8KICAjICAgICBmb250czoKICAjICAgICAgIC0gYXNzZXQ6IGZvbnRzL1RyYWphblByby50dGYKICAjICAgICAgIC0gYXNzZXQ6IGZvbnRzL1RyYWphblByb19Cb2xkLnR0ZgogICMgICAgICAgICB3ZWlnaHQ6IDcwMAogICMKICAjIEZvciBkZXRhaWxzIHJlZ2FyZGluZyBmb250cyBpbiBwYWNrYWdlcywgc2VlCiAgIyBodHRwczovL2ZsdXR0ZXIuZGV2L2N1c3RvbS1mb250cy8jZnJvbS1wYWNrYWdlcwo=", "type": "text" }, { @@ -88,12 +83,7 @@ final platformTabFlowFeaturePackageBundle = "IyBtZWxvc19tYW5hZ2VkX2RlcGVuZGVuY3lfb3ZlcnJpZGVzOiB7e3Byb2plY3RfbmFtZX19X3t7cGxhdGZvcm19fV9hcHAse3twcm9qZWN0X25hbWV9fV97e3BsYXRmb3JtfX1fbmF2aWdhdGlvbix7e3Byb2plY3RfbmFtZX19X3t7cGxhdGZvcm19fV9sb2NhbGl6YXRpb24se3twcm9qZWN0X25hbWV9fV9kaSx7e3Byb2plY3RfbmFtZX19X2RvbWFpbix7e3Byb2plY3RfbmFtZX19X3VpLHt7cHJvamVjdF9uYW1lfX1fdWlfe3twbGF0Zm9ybX19CmRlcGVuZGVuY3lfb3ZlcnJpZGVzOgogIHt7cHJvamVjdF9uYW1lfX1fe3twbGF0Zm9ybX19X2FwcDoKICAgIHBhdGg6IC4uL3t7cHJvamVjdF9uYW1lfX1fe3twbGF0Zm9ybX19X2FwcAogIHt7cHJvamVjdF9uYW1lfX1fe3twbGF0Zm9ybX19X2xvY2FsaXphdGlvbjoKICAgIHBhdGg6IC4uLy4uL3t7cHJvamVjdF9uYW1lfX1fe3twbGF0Zm9ybX19X2xvY2FsaXphdGlvbgogIHt7cHJvamVjdF9uYW1lfX1fe3twbGF0Zm9ybX19X25hdmlnYXRpb246CiAgICBwYXRoOiAuLi8uLi97e3Byb2plY3RfbmFtZX19X3t7cGxhdGZvcm19fV9uYXZpZ2F0aW9uCiAge3twcm9qZWN0X25hbWV9fV9kaToKICAgIHBhdGg6IC4uLy4uLy4uL3t7cHJvamVjdF9uYW1lfX1fZGkKICB7e3Byb2plY3RfbmFtZX19X2RvbWFpbjoKICAgIHBhdGg6IC4uLy4uLy4uL3t7cHJvamVjdF9uYW1lfX1fZG9tYWluL3t7cHJvamVjdF9uYW1lfX1fZG9tYWluCiAge3twcm9qZWN0X25hbWV9fV91aToKICAgIHBhdGg6IC4uLy4uLy4uLy4uL3t7cHJvamVjdF9uYW1lfX1fdWkve3twcm9qZWN0X25hbWV9fV91aQogIHt7cHJvamVjdF9uYW1lfX1fdWlfe3twbGF0Zm9ybX19OgogICAgcGF0aDogLi4vLi4vLi4vLi4ve3twcm9qZWN0X25hbWV9fV91aS97e3Byb2plY3RfbmFtZX19X3VpX3t7cGxhdGZvcm19fQo=", "type": "text" }, - { - "path": "README.md", - "data": - "PCEtLQpUaGlzIFJFQURNRSBkZXNjcmliZXMgdGhlIHBhY2thZ2UuIElmIHlvdSBwdWJsaXNoIHRoaXMgcGFja2FnZSB0byBwdWIuZGV2LAp0aGlzIFJFQURNRSdzIGNvbnRlbnRzIGFwcGVhciBvbiB0aGUgbGFuZGluZyBwYWdlIGZvciB5b3VyIHBhY2thZ2UuCgpGb3IgaW5mb3JtYXRpb24gYWJvdXQgaG93IHRvIHdyaXRlIGEgZ29vZCBwYWNrYWdlIFJFQURNRSwgc2VlIHRoZSBndWlkZSBmb3IKW3dyaXRpbmcgcGFja2FnZSBwYWdlc10oaHR0cHM6Ly9kYXJ0LmRldi9ndWlkZXMvbGlicmFyaWVzL3dyaXRpbmctcGFja2FnZS1wYWdlcykuCgpGb3IgZ2VuZXJhbCBpbmZvcm1hdGlvbiBhYm91dCBkZXZlbG9waW5nIHBhY2thZ2VzLCBzZWUgdGhlIERhcnQgZ3VpZGUgZm9yCltjcmVhdGluZyBwYWNrYWdlc10oaHR0cHM6Ly9kYXJ0LmRldi9ndWlkZXMvbGlicmFyaWVzL2NyZWF0ZS1saWJyYXJ5LXBhY2thZ2VzKQphbmQgdGhlIEZsdXR0ZXIgZ3VpZGUgZm9yCltkZXZlbG9waW5nIHBhY2thZ2VzIGFuZCBwbHVnaW5zXShodHRwczovL2ZsdXR0ZXIuZGV2L2RldmVsb3BpbmctcGFja2FnZXMpLgotLT4KClRPRE86IFB1dCBhIHNob3J0IGRlc2NyaXB0aW9uIG9mIHRoZSBwYWNrYWdlIGhlcmUgdGhhdCBoZWxwcyBwb3RlbnRpYWwgdXNlcnMKa25vdyB3aGV0aGVyIHRoaXMgcGFja2FnZSBtaWdodCBiZSB1c2VmdWwgZm9yIHRoZW0uCgojIyBGZWF0dXJlcwoKVE9ETzogTGlzdCB3aGF0IHlvdXIgcGFja2FnZSBjYW4gZG8uIE1heWJlIGluY2x1ZGUgaW1hZ2VzLCBnaWZzLCBvciB2aWRlb3MuCgojIyBHZXR0aW5nIHN0YXJ0ZWQKClRPRE86IExpc3QgcHJlcmVxdWlzaXRlcyBhbmQgcHJvdmlkZSBvciBwb2ludCB0byBpbmZvcm1hdGlvbiBvbiBob3cgdG8Kc3RhcnQgdXNpbmcgdGhlIHBhY2thZ2UuCgojIyBVc2FnZQoKVE9ETzogSW5jbHVkZSBzaG9ydCBhbmQgdXNlZnVsIGV4YW1wbGVzIGZvciBwYWNrYWdlIHVzZXJzLiBBZGQgbG9uZ2VyIGV4YW1wbGVzCnRvIGAvZXhhbXBsZWAgZm9sZGVyLgoKYGBgZGFydApjb25zdCBsaWtlID0gJ3NhbXBsZSc7CmBgYAoKIyMgQWRkaXRpb25hbCBpbmZvcm1hdGlvbgoKVE9ETzogVGVsbCB1c2VycyBtb3JlIGFib3V0IHRoZSBwYWNrYWdlOiB3aGVyZSB0byBmaW5kIG1vcmUgaW5mb3JtYXRpb24sIGhvdyB0bwpjb250cmlidXRlIHRvIHRoZSBwYWNrYWdlLCBob3cgdG8gZmlsZSBpc3N1ZXMsIHdoYXQgcmVzcG9uc2UgdGhleSBjYW4gZXhwZWN0CmZyb20gdGhlIHBhY2thZ2UgYXV0aG9ycywgYW5kIG1vcmUuCg==", - "type": "text" - }, + {"path": "README.md", "data": "", "type": "text"}, { "path": "test/ensure_build_test.dart", "data": diff --git a/packages/rapid_cli/lib/src/project/bundles/platform_ui_package_bundle.dart b/packages/rapid_cli/lib/src/project/bundles/platform_ui_package_bundle.dart index 71b5da269..883eff18c 100644 --- a/packages/rapid_cli/lib/src/project/bundles/platform_ui_package_bundle.dart +++ b/packages/rapid_cli/lib/src/project/bundles/platform_ui_package_bundle.dart @@ -8,18 +8,17 @@ final platformUiPackageBundle = MasonBundle.fromJson({ { "path": ".gitignore", "data": - "IyBNaXNjZWxsYW5lb3VzCiouY2xhc3MKKi5sb2cKKi5weWMKKi5zd3AKLkRTX1N0b3JlCi5hdG9tLwouYnVpbGRsb2cvCi5oaXN0b3J5Ci5zdm4vCm1pZ3JhdGVfd29ya2luZ19kaXIvCgojIEludGVsbGlKIHJlbGF0ZWQKKi5pbWwKKi5pcHIKKi5pd3MKLmlkZWEvCgojIFRoZSAudnNjb2RlIGZvbGRlciBjb250YWlucyBsYXVuY2ggY29uZmlndXJhdGlvbiBhbmQgdGFza3MgeW91IGNvbmZpZ3VyZSBpbgojIFZTIENvZGUgd2hpY2ggeW91IG1heSB3aXNoIHRvIGJlIGluY2x1ZGVkIGluIHZlcnNpb24gY29udHJvbCwgc28gdGhpcyBsaW5lCiMgaXMgY29tbWVudGVkIG91dCBieSBkZWZhdWx0LgojLnZzY29kZS8KCiMgRmx1dHRlci9EYXJ0L1B1YiByZWxhdGVkCioqL2RvYy9hcGkvCioqL2lvcy9GbHV0dGVyLy5sYXN0X2J1aWxkX2lkCi5kYXJ0X3Rvb2wvCi5mbHV0dGVyLXBsdWdpbnMKLmZsdXR0ZXItcGx1Z2lucy1kZXBlbmRlbmNpZXMKLnBhY2thZ2VzCi5wdWItY2FjaGUvCi5wdWIvCi9idWlsZC8KL2NvdmVyYWdlCg==", + "IyBNaXNjZWxsYW5lb3VzCiouY2xhc3MKKi5sb2cKKi5weWMKKi5zd3AKLkRTX1N0b3JlCi5hdG9tLwouYnVpbGRsb2cvCi5oaXN0b3J5Ci5zdm4vCm1pZ3JhdGVfd29ya2luZ19kaXIvCgojIEludGVsbGlKIHJlbGF0ZWQKKi5pbWwKKi5pcHIKKi5pd3MKLmlkZWEvCgojIEZsdXR0ZXIvRGFydC9QdWIgcmVsYXRlZAoqKi9kb2MvYXBpLwoqKi9pb3MvRmx1dHRlci8ubGFzdF9idWlsZF9pZAouZGFydF90b29sLwouZmx1dHRlci1wbHVnaW5zCi5mbHV0dGVyLXBsdWdpbnMtZGVwZW5kZW5jaWVzCi5wYWNrYWdlcwoucHViLWNhY2hlLwoucHViLwovYnVpbGQvCi9jb3ZlcmFnZQo=", "type": "text" }, { "path": "analysis_options.yaml", - "data": - "aW5jbHVkZTogLi4vLi4vLi4vYW5hbHlzaXNfb3B0aW9ucy55YW1sCiMgVW5jb21tZW50IHRoZSBmb2xsb3dpbmcgc2VjdGlvbiB0byBzcGVjaWZ5IGFkZGl0aW9uYWwgcnVsZXMuCgojIGxpbnRlcjoKIyAgIHJ1bGVzOgojICAgICAtIGNhbWVsX2Nhc2VfdHlwZXMK", + "data": "aW5jbHVkZTogLi4vLi4vLi4vYW5hbHlzaXNfb3B0aW9ucy55YW1sCg==", "type": "text" }, { "path": "CHANGELOG.md", - "data": "IyMgMC4wLjEKCiogVE9ETzogRGVzY3JpYmUgaW5pdGlhbCByZWxlYXNlLgo=", + "data": "IyMgMC4xLjAKCiogVE9ETzogRGVzY3JpYmUgaW5pdGlhbCByZWxlYXNlLgo=", "type": "text" }, { @@ -64,15 +63,10 @@ final platformUiPackageBundle = MasonBundle.fromJson({ "Ly8vIFdpZGdldHMgYW5kIHRoZW1lcyBpbXBsZW1lbnRpbmcge3twcm9qZWN0X25hbWUudGl0bGVDYXNlKCl9fSBkZXNpZ24gbGFuZ3VhZ2UgZm9yIHt7I2FuZHJvaWR9fUFuZHJvaWR7ey9hbmRyb2lkfX17eyNpb3N9fWlPU3t7L2lvc319e3sjbGludXh9fUxpbnV4e3svbGludXh9fXt7I21hY29zfX1tYWNPU3t7L21hY29zfX17eyN3ZWJ9fVdlYnt7L3dlYn19e3sjd2luZG93c319V2luZG93c3t7L3dpbmRvd3N9fXt7I21vYmlsZX19TW9iaWxle3svbW9iaWxlfX0uCi8vLwovLy8gVG8gdXNlLCBpbXBvcnQgYHBhY2thZ2U6e3twcm9qZWN0X25hbWV9fV91aV97e3BsYXRmb3JtfX0ve3twcm9qZWN0X25hbWV9fV91aV97e3BsYXRmb3JtfX0uZGFydGAuCmxpYnJhcnkge3twcm9qZWN0X25hbWV9fV91aV97e3BsYXRmb3JtfX07Cgp7eyNhbmRyb2lkfX1leHBvcnQgJ3BhY2thZ2U6Zmx1dHRlci9tYXRlcmlhbC5kYXJ0JyBoaWRlIFJvdXRlcjt7ey9hbmRyb2lkfX0Ke3sjaW9zfX1leHBvcnQgJ3BhY2thZ2U6Zmx1dHRlci9jdXBlcnRpbm8uZGFydCcgaGlkZSBSb3V0ZXI7CmV4cG9ydCAncGFja2FnZTpjdXBlcnRpbm9faWNvbnMvY3VwZXJ0aW5vX2ljb25zLmRhcnQnO3t7L2lvc319Cnt7I2xpbnV4fX1leHBvcnQgJ3BhY2thZ2U6Zmx1dHRlci9tYXRlcmlhbC5kYXJ0JyBoaWRlIFJvdXRlcjsKZXhwb3J0ICdwYWNrYWdlOnlhcnUveWFydS5kYXJ0JzsKZXhwb3J0ICdwYWNrYWdlOnlhcnVfaWNvbnMveWFydV9pY29ucy5kYXJ0Jzt7ey9saW51eH19Cnt7I21hY29zfX1leHBvcnQgJ3BhY2thZ2U6Y3VwZXJ0aW5vX2ljb25zL2N1cGVydGlub19pY29ucy5kYXJ0JzsKZXhwb3J0ICdwYWNrYWdlOmZsdXR0ZXIvbWF0ZXJpYWwuZGFydCcgc2hvdyBUaGVtZU1vZGU7CmV4cG9ydCAncGFja2FnZTpmbHV0dGVyL3dpZGdldHMuZGFydCcgaGlkZSBSb3V0ZXI7CmV4cG9ydCAncGFja2FnZTptYWNvc191aS9tYWNvc191aS5kYXJ0Jzt7ey9tYWNvc319Cnt7I3dlYn19ZXhwb3J0ICdwYWNrYWdlOmZsdXR0ZXIvbWF0ZXJpYWwuZGFydCcgaGlkZSBSb3V0ZXI7e3svd2VifX0Ke3sjd2luZG93c319ZXhwb3J0ICdwYWNrYWdlOmZsdWVudF91aS9mbHVlbnRfdWkuZGFydCcgaGlkZSBSb3V0ZXI7e3svd2luZG93c319Cnt7I21vYmlsZX19ZXhwb3J0ICdwYWNrYWdlOmZsdXR0ZXIvbWF0ZXJpYWwuZGFydCcgaGlkZSBSb3V0ZXI7e3svbW9iaWxlfX0KCmV4cG9ydCAncGFja2FnZTp7e3Byb2plY3RfbmFtZX19X3VpL3t7cHJvamVjdF9uYW1lfX1fdWkuZGFydCc7CgpleHBvcnQgJ3NyYy9hcHAuZGFydCc7CmV4cG9ydCAnc3JjL3NjYWZmb2xkLmRhcnQnOwpleHBvcnQgJ3NyYy9zY2FmZm9sZF90aGVtZS5kYXJ0JzsK", "type": "text" }, - { - "path": "LICENSE", - "data": "VE9ETzogQWRkIHlvdXIgbGljZW5zZSBoZXJlLgo=", - "type": "text" - }, { "path": "pubspec.yaml", "data": - "e3sjYW5kcm9pZH19bmFtZToge3twcm9qZWN0X25hbWV9fV91aV9hbmRyb2lkCmRlc2NyaXB0aW9uOiBXaWRnZXRzIGFuZCB0aGVtZXMgaW1wbGVtZW50aW5nIHt7cHJvamVjdF9uYW1lLnRpdGxlQ2FzZSgpfX0gZGVzaWduIGxhbmd1YWdlIGZvciBBbmRyb2lkLgp2ZXJzaW9uOiAwLjAuMQpwdWJsaXNoX3RvOiBub25lCgplbnZpcm9ubWVudDoKICBzZGs6ICI+PTMuMS4wIDw0LjAuMCIKICBmbHV0dGVyOiAiPj0zLjEzLjAiCgpkZXBlbmRlbmNpZXM6CiAgZmx1dHRlcjoKICAgIHNkazogZmx1dHRlcgogIGZsdXR0ZXJfbG9jYWxpemF0aW9uczoKICAgIHNkazogZmx1dHRlcgogIHRoZW1lX3RhaWxvcl9hbm5vdGF0aW9uOiBeMi4wLjAKICB7e3Byb2plY3RfbmFtZX19X3VpOgoKZGV2X2RlcGVuZGVuY2llczoKICBmbHV0dGVyX3Rlc3Q6CiAgICBzZGs6IGZsdXR0ZXIKICBhbGNoZW1pc3Q6IF4wLjYuMQogIGJ1aWxkX3J1bm5lcjogXjIuNC42CiAgdGhlbWVfdGFpbG9yOiBeMi4wLjAKICBmbHV0dGVyX2dlbl9ydW5uZXI6IF41LjMuMQogIGJ1aWxkX3ZlcmlmeTogXjMuMS4wCgojIFRoZSBmb2xsb3dpbmcgc2VjdGlvbiBpcyBzcGVjaWZpYyB0byB0aGUgRmx1dHRlckdlbiBwYWNrYWdlLgojIFNlZTogaHR0cHM6Ly9wdWIuZGV2L3BhY2thZ2VzL2ZsdXR0ZXJfZ2VuI2NvbmZpZ3VyYXRpb24tZmlsZQpmbHV0dGVyX2dlbjoKICBvdXRwdXQ6IGxpYi9zcmMvCiAgIyBUbyBhZGQgc3VwcG9ydCBmb3Igc3ZnIHZpYSBmbHV0dGVyX3N2ZyBwYWNrYWdlCiAgIyBpbnRlZ3JhdGlvbnM6CiAgIyAgIGZsdXR0ZXJfc3ZnOiB0cnVlCgogIGFzc2V0czoKICAgIG91dHB1dHM6CiAgICAgIHBhY2thZ2VfcGFyYW1ldGVyX2VuYWJsZWQ6IHRydWUKCiMgVGhlIGZvbGxvd2luZyBzZWN0aW9uIGlzIHNwZWNpZmljIHRvIEZsdXR0ZXIgcGFja2FnZXMuCmZsdXR0ZXI6CiAgIyBUaGUgZm9sbG93aW5nIGxpbmUgZW5zdXJlcyB0aGF0IHRoZSBNYXRlcmlhbCBJY29ucyBmb250IGlzCiAgIyBpbmNsdWRlZCB3aXRoIHlvdXIgYXBwbGljYXRpb24sIHNvIHRoYXQgeW91IGNhbiB1c2UgdGhlIGljb25zIGluCiAgIyB0aGUgbWF0ZXJpYWwgSWNvbnMgY2xhc3MuCiAgdXNlcy1tYXRlcmlhbC1kZXNpZ246IHRydWUKICAjIFRvIGFkZCBhc3NldHMgdG8geW91ciBwYWNrYWdlLCBhZGQgYW4gYXNzZXRzIHNlY3Rpb24sIGxpa2UgdGhpczoKICAjIGFzc2V0czoKICAjICAgLSBpbWFnZXMvYV9kb3RfYnVyci5qcGVnCiAgIyAgIC0gaW1hZ2VzL2FfZG90X2hhbS5qcGVnCiAgIwogICMgRm9yIGRldGFpbHMgcmVnYXJkaW5nIGFzc2V0cyBpbiBwYWNrYWdlcywgc2VlCiAgIyBodHRwczovL2ZsdXR0ZXIuZGV2L2Fzc2V0cy1hbmQtaW1hZ2VzLyNmcm9tLXBhY2thZ2VzCiAgIwogICMgQW4gaW1hZ2UgYXNzZXQgY2FuIHJlZmVyIHRvIG9uZSBvciBtb3JlIHJlc29sdXRpb24tc3BlY2lmaWMgInZhcmlhbnRzIiwgc2VlCiAgIyBodHRwczovL2ZsdXR0ZXIuZGV2L2Fzc2V0cy1hbmQtaW1hZ2VzLyNyZXNvbHV0aW9uLWF3YXJlCgogICMgVG8gYWRkIGN1c3RvbSBmb250cyB0byB5b3VyIHBhY2thZ2UsIGFkZCBhIGZvbnRzIHNlY3Rpb24gaGVyZSwKICAjIGluIHRoaXMgImZsdXR0ZXIiIHNlY3Rpb24uIEVhY2ggZW50cnkgaW4gdGhpcyBsaXN0IHNob3VsZCBoYXZlIGEKICAjICJmYW1pbHkiIGtleSB3aXRoIHRoZSBmb250IGZhbWlseSBuYW1lLCBhbmQgYSAiZm9udHMiIGtleSB3aXRoIGEKICAjIGxpc3QgZ2l2aW5nIHRoZSBhc3NldCBhbmQgb3RoZXIgZGVzY3JpcHRvcnMgZm9yIHRoZSBmb250LiBGb3IKICAjIGV4YW1wbGU6CiAgIyBmb250czoKICAjICAgLSBmYW1pbHk6IFNjaHlsZXIKICAjICAgICBmb250czoKICAjICAgICAgIC0gYXNzZXQ6IGZvbnRzL1NjaHlsZXItUmVndWxhci50dGYKICAjICAgICAgIC0gYXNzZXQ6IGZvbnRzL1NjaHlsZXItSXRhbGljLnR0ZgogICMgICAgICAgICBzdHlsZTogaXRhbGljCiAgIyAgIC0gZmFtaWx5OiBUcmFqYW4gUHJvCiAgIyAgICAgZm9udHM6CiAgIyAgICAgICAtIGFzc2V0OiBmb250cy9UcmFqYW5Qcm8udHRmCiAgIyAgICAgICAtIGFzc2V0OiBmb250cy9UcmFqYW5Qcm9fQm9sZC50dGYKICAjICAgICAgICAgd2VpZ2h0OiA3MDAKICAjCiAgIyBGb3IgZGV0YWlscyByZWdhcmRpbmcgZm9udHMgaW4gcGFja2FnZXMsIHNlZQogICMgaHR0cHM6Ly9mbHV0dGVyLmRldi9jdXN0b20tZm9udHMvI2Zyb20tcGFja2FnZXMKe3svYW5kcm9pZH19e3sjaW9zfX1uYW1lOiB7e3Byb2plY3RfbmFtZX19X3VpX2lvcwpkZXNjcmlwdGlvbjogV2lkZ2V0cyBhbmQgdGhlbWVzIGltcGxlbWVudGluZyB7e3Byb2plY3RfbmFtZS50aXRsZUNhc2UoKX19IGRlc2lnbiBsYW5ndWFnZSBmb3IgaU9TLgp2ZXJzaW9uOiAwLjAuMQpwdWJsaXNoX3RvOiBub25lCgplbnZpcm9ubWVudDoKICBzZGs6ICI+PTMuMS4wIDw0LjAuMCIKICBmbHV0dGVyOiAiPj0zLjEzLjAiCgpkZXBlbmRlbmNpZXM6CiAgZmx1dHRlcjoKICAgIHNkazogZmx1dHRlcgogIGZsdXR0ZXJfbG9jYWxpemF0aW9uczoKICAgIHNkazogZmx1dHRlcgogIHRoZW1lX3RhaWxvcl9hbm5vdGF0aW9uOiBeMi4wLjAKICBjdXBlcnRpbm9faWNvbnM6IF4xLjAuNQogIHt7cHJvamVjdF9uYW1lfX1fdWk6CgpkZXZfZGVwZW5kZW5jaWVzOgogIGZsdXR0ZXJfdGVzdDoKICAgIHNkazogZmx1dHRlcgogIGFsY2hlbWlzdDogXjAuNi4xCiAgYnVpbGRfcnVubmVyOiBeMi40LjYKICB0aGVtZV90YWlsb3I6IF4yLjAuMAogIGZsdXR0ZXJfZ2VuX3J1bm5lcjogXjUuMy4xCiAgYnVpbGRfdmVyaWZ5OiBeMy4xLjAKCiMgVGhlIGZvbGxvd2luZyBzZWN0aW9uIGlzIHNwZWNpZmljIHRvIHRoZSBGbHV0dGVyR2VuIHBhY2thZ2UuCiMgU2VlOiBodHRwczovL3B1Yi5kZXYvcGFja2FnZXMvZmx1dHRlcl9nZW4jY29uZmlndXJhdGlvbi1maWxlCmZsdXR0ZXJfZ2VuOgogIG91dHB1dDogbGliL3NyYy8KICAjIFRvIGFkZCBzdXBwb3J0IGZvciBzdmcgdmlhIGZsdXR0ZXJfc3ZnIHBhY2thZ2UKICAjIGludGVncmF0aW9uczoKICAjICAgZmx1dHRlcl9zdmc6IHRydWUKCiAgYXNzZXRzOgogICAgb3V0cHV0czoKICAgICAgcGFja2FnZV9wYXJhbWV0ZXJfZW5hYmxlZDogdHJ1ZQoKIyBUaGUgZm9sbG93aW5nIHNlY3Rpb24gaXMgc3BlY2lmaWMgdG8gRmx1dHRlciBwYWNrYWdlcy4KZmx1dHRlcjoKCiAgIyBUbyBhZGQgYXNzZXRzIHRvIHlvdXIgcGFja2FnZSwgYWRkIGFuIGFzc2V0cyBzZWN0aW9uLCBsaWtlIHRoaXM6CiAgIyBhc3NldHM6CiAgIyAgIC0gaW1hZ2VzL2FfZG90X2J1cnIuanBlZwogICMgICAtIGltYWdlcy9hX2RvdF9oYW0uanBlZwogICMKICAjIEZvciBkZXRhaWxzIHJlZ2FyZGluZyBhc3NldHMgaW4gcGFja2FnZXMsIHNlZQogICMgaHR0cHM6Ly9mbHV0dGVyLmRldi9hc3NldHMtYW5kLWltYWdlcy8jZnJvbS1wYWNrYWdlcwogICMKICAjIEFuIGltYWdlIGFzc2V0IGNhbiByZWZlciB0byBvbmUgb3IgbW9yZSByZXNvbHV0aW9uLXNwZWNpZmljICJ2YXJpYW50cyIsIHNlZQogICMgaHR0cHM6Ly9mbHV0dGVyLmRldi9hc3NldHMtYW5kLWltYWdlcy8jcmVzb2x1dGlvbi1hd2FyZQoKICAjIFRvIGFkZCBjdXN0b20gZm9udHMgdG8geW91ciBwYWNrYWdlLCBhZGQgYSBmb250cyBzZWN0aW9uIGhlcmUsCiAgIyBpbiB0aGlzICJmbHV0dGVyIiBzZWN0aW9uLiBFYWNoIGVudHJ5IGluIHRoaXMgbGlzdCBzaG91bGQgaGF2ZSBhCiAgIyAiZmFtaWx5IiBrZXkgd2l0aCB0aGUgZm9udCBmYW1pbHkgbmFtZSwgYW5kIGEgImZvbnRzIiBrZXkgd2l0aCBhCiAgIyBsaXN0IGdpdmluZyB0aGUgYXNzZXQgYW5kIG90aGVyIGRlc2NyaXB0b3JzIGZvciB0aGUgZm9udC4gRm9yCiAgIyBleGFtcGxlOgogICMgZm9udHM6CiAgIyAgIC0gZmFtaWx5OiBTY2h5bGVyCiAgIyAgICAgZm9udHM6CiAgIyAgICAgICAtIGFzc2V0OiBmb250cy9TY2h5bGVyLVJlZ3VsYXIudHRmCiAgIyAgICAgICAtIGFzc2V0OiBmb250cy9TY2h5bGVyLUl0YWxpYy50dGYKICAjICAgICAgICAgc3R5bGU6IGl0YWxpYwogICMgICAtIGZhbWlseTogVHJhamFuIFBybwogICMgICAgIGZvbnRzOgogICMgICAgICAgLSBhc3NldDogZm9udHMvVHJhamFuUHJvLnR0ZgogICMgICAgICAgLSBhc3NldDogZm9udHMvVHJhamFuUHJvX0JvbGQudHRmCiAgIyAgICAgICAgIHdlaWdodDogNzAwCiAgIwogICMgRm9yIGRldGFpbHMgcmVnYXJkaW5nIGZvbnRzIGluIHBhY2thZ2VzLCBzZWUKICAjIGh0dHBzOi8vZmx1dHRlci5kZXYvY3VzdG9tLWZvbnRzLyNmcm9tLXBhY2thZ2VzCnt7L2lvc319e3sjbGludXh9fW5hbWU6IHt7cHJvamVjdF9uYW1lfX1fdWlfbGludXgKZGVzY3JpcHRpb246IFdpZGdldHMgYW5kIHRoZW1lcyBpbXBsZW1lbnRpbmcge3twcm9qZWN0X25hbWUudGl0bGVDYXNlKCl9fSBkZXNpZ24gbGFuZ3VhZ2UgZm9yIExpbnV4Lgp2ZXJzaW9uOiAwLjAuMQpwdWJsaXNoX3RvOiBub25lCgplbnZpcm9ubWVudDoKICBzZGs6ICI+PTMuMS4wIDw0LjAuMCIKICBmbHV0dGVyOiAiPj0zLjEzLjAiCgpkZXBlbmRlbmNpZXM6CiAgZmx1dHRlcjoKICAgIHNkazogZmx1dHRlcgogIGZsdXR0ZXJfbG9jYWxpemF0aW9uczoKICAgIHNkazogZmx1dHRlcgogIHRoZW1lX3RhaWxvcl9hbm5vdGF0aW9uOiBeMi4wLjAKICB5YXJ1OiBeMS4wLjAKICB5YXJ1X2ljb25zOiBeMi4yLjEKICB7e3Byb2plY3RfbmFtZX19X3VpOgoKZGV2X2RlcGVuZGVuY2llczoKICBmbHV0dGVyX3Rlc3Q6CiAgICBzZGs6IGZsdXR0ZXIKICBhbGNoZW1pc3Q6IF4wLjYuMQogIGJ1aWxkX3J1bm5lcjogXjIuNC42CiAgdGhlbWVfdGFpbG9yOiBeMi4wLjAKICBmbHV0dGVyX2dlbl9ydW5uZXI6IF41LjMuMQogIGJ1aWxkX3ZlcmlmeTogXjMuMS4wCgojIFRoZSBmb2xsb3dpbmcgc2VjdGlvbiBpcyBzcGVjaWZpYyB0byB0aGUgRmx1dHRlckdlbiBwYWNrYWdlLgojIFNlZTogaHR0cHM6Ly9wdWIuZGV2L3BhY2thZ2VzL2ZsdXR0ZXJfZ2VuI2NvbmZpZ3VyYXRpb24tZmlsZQpmbHV0dGVyX2dlbjoKICBvdXRwdXQ6IGxpYi9zcmMvCiAgIyBUbyBhZGQgc3VwcG9ydCBmb3Igc3ZnIHZpYSBmbHV0dGVyX3N2ZyBwYWNrYWdlCiAgIyBpbnRlZ3JhdGlvbnM6CiAgIyAgIGZsdXR0ZXJfc3ZnOiB0cnVlCgogIGFzc2V0czoKICAgIG91dHB1dHM6CiAgICAgIHBhY2thZ2VfcGFyYW1ldGVyX2VuYWJsZWQ6IHRydWUKCiMgVGhlIGZvbGxvd2luZyBzZWN0aW9uIGlzIHNwZWNpZmljIHRvIEZsdXR0ZXIgcGFja2FnZXMuCmZsdXR0ZXI6CiAgIyBUaGUgZm9sbG93aW5nIGxpbmUgZW5zdXJlcyB0aGF0IHRoZSBNYXRlcmlhbCBJY29ucyBmb250IGlzCiAgIyBpbmNsdWRlZCB3aXRoIHlvdXIgYXBwbGljYXRpb24sIHNvIHRoYXQgeW91IGNhbiB1c2UgdGhlIGljb25zIGluCiAgIyB0aGUgbWF0ZXJpYWwgSWNvbnMgY2xhc3MuCiAgdXNlcy1tYXRlcmlhbC1kZXNpZ246IHRydWUKICAjIFRvIGFkZCBhc3NldHMgdG8geW91ciBwYWNrYWdlLCBhZGQgYW4gYXNzZXRzIHNlY3Rpb24sIGxpa2UgdGhpczoKICAjIGFzc2V0czoKICAjICAgLSBpbWFnZXMvYV9kb3RfYnVyci5qcGVnCiAgIyAgIC0gaW1hZ2VzL2FfZG90X2hhbS5qcGVnCiAgIwogICMgRm9yIGRldGFpbHMgcmVnYXJkaW5nIGFzc2V0cyBpbiBwYWNrYWdlcywgc2VlCiAgIyBodHRwczovL2ZsdXR0ZXIuZGV2L2Fzc2V0cy1hbmQtaW1hZ2VzLyNmcm9tLXBhY2thZ2VzCiAgIwogICMgQW4gaW1hZ2UgYXNzZXQgY2FuIHJlZmVyIHRvIG9uZSBvciBtb3JlIHJlc29sdXRpb24tc3BlY2lmaWMgInZhcmlhbnRzIiwgc2VlCiAgIyBodHRwczovL2ZsdXR0ZXIuZGV2L2Fzc2V0cy1hbmQtaW1hZ2VzLyNyZXNvbHV0aW9uLWF3YXJlCgogICMgVG8gYWRkIGN1c3RvbSBmb250cyB0byB5b3VyIHBhY2thZ2UsIGFkZCBhIGZvbnRzIHNlY3Rpb24gaGVyZSwKICAjIGluIHRoaXMgImZsdXR0ZXIiIHNlY3Rpb24uIEVhY2ggZW50cnkgaW4gdGhpcyBsaXN0IHNob3VsZCBoYXZlIGEKICAjICJmYW1pbHkiIGtleSB3aXRoIHRoZSBmb250IGZhbWlseSBuYW1lLCBhbmQgYSAiZm9udHMiIGtleSB3aXRoIGEKICAjIGxpc3QgZ2l2aW5nIHRoZSBhc3NldCBhbmQgb3RoZXIgZGVzY3JpcHRvcnMgZm9yIHRoZSBmb250LiBGb3IKICAjIGV4YW1wbGU6CiAgIyBmb250czoKICAjICAgLSBmYW1pbHk6IFNjaHlsZXIKICAjICAgICBmb250czoKICAjICAgICAgIC0gYXNzZXQ6IGZvbnRzL1NjaHlsZXItUmVndWxhci50dGYKICAjICAgICAgIC0gYXNzZXQ6IGZvbnRzL1NjaHlsZXItSXRhbGljLnR0ZgogICMgICAgICAgICBzdHlsZTogaXRhbGljCiAgIyAgIC0gZmFtaWx5OiBUcmFqYW4gUHJvCiAgIyAgICAgZm9udHM6CiAgIyAgICAgICAtIGFzc2V0OiBmb250cy9UcmFqYW5Qcm8udHRmCiAgIyAgICAgICAtIGFzc2V0OiBmb250cy9UcmFqYW5Qcm9fQm9sZC50dGYKICAjICAgICAgICAgd2VpZ2h0OiA3MDAKICAjCiAgIyBGb3IgZGV0YWlscyByZWdhcmRpbmcgZm9udHMgaW4gcGFja2FnZXMsIHNlZQogICMgaHR0cHM6Ly9mbHV0dGVyLmRldi9jdXN0b20tZm9udHMvI2Zyb20tcGFja2FnZXMKe3svbGludXh9fXt7I21hY29zfX1uYW1lOiB7e3Byb2plY3RfbmFtZX19X3VpX21hY29zCmRlc2NyaXB0aW9uOiBXaWRnZXRzIGFuZCB0aGVtZXMgaW1wbGVtZW50aW5nIHt7cHJvamVjdF9uYW1lLnRpdGxlQ2FzZSgpfX0gZGVzaWduIGxhbmd1YWdlIGZvciBtYWNPUy4KdmVyc2lvbjogMC4wLjEKcHVibGlzaF90bzogbm9uZQoKZW52aXJvbm1lbnQ6CiAgc2RrOiAiPj0zLjEuMCA8NC4wLjAiCiAgZmx1dHRlcjogIj49My4xMy4wIgoKZGVwZW5kZW5jaWVzOgogIGZsdXR0ZXI6CiAgICBzZGs6IGZsdXR0ZXIKICBmbHV0dGVyX2xvY2FsaXphdGlvbnM6CiAgICBzZGs6IGZsdXR0ZXIKICB0aGVtZV90YWlsb3JfYW5ub3RhdGlvbjogXjIuMC4wCiAgY3VwZXJ0aW5vX2ljb25zOiBeMS4wLjUKICBtYWNvc191aTogXjIuMC4wCiAge3twcm9qZWN0X25hbWV9fV91aToKCmRldl9kZXBlbmRlbmNpZXM6CiAgZmx1dHRlcl90ZXN0OgogICAgc2RrOiBmbHV0dGVyCiAgYWxjaGVtaXN0OiBeMC42LjEKICBidWlsZF9ydW5uZXI6IF4yLjQuNgogIHRoZW1lX3RhaWxvcjogXjIuMC4wCiAgZmx1dHRlcl9nZW5fcnVubmVyOiBeNS4zLjEKICBidWlsZF92ZXJpZnk6IF4zLjEuMAoKIyBUaGUgZm9sbG93aW5nIHNlY3Rpb24gaXMgc3BlY2lmaWMgdG8gdGhlIEZsdXR0ZXJHZW4gcGFja2FnZS4KIyBTZWU6IGh0dHBzOi8vcHViLmRldi9wYWNrYWdlcy9mbHV0dGVyX2dlbiNjb25maWd1cmF0aW9uLWZpbGUKZmx1dHRlcl9nZW46CiAgb3V0cHV0OiBsaWIvc3JjLwogICMgVG8gYWRkIHN1cHBvcnQgZm9yIHN2ZyB2aWEgZmx1dHRlcl9zdmcgcGFja2FnZQogICMgaW50ZWdyYXRpb25zOgogICMgICBmbHV0dGVyX3N2ZzogdHJ1ZQoKICBhc3NldHM6CiAgICBvdXRwdXRzOgogICAgICBwYWNrYWdlX3BhcmFtZXRlcl9lbmFibGVkOiB0cnVlCgojIFRoZSBmb2xsb3dpbmcgc2VjdGlvbiBpcyBzcGVjaWZpYyB0byBGbHV0dGVyIHBhY2thZ2VzLgpmbHV0dGVyOgoKICAjIFRvIGFkZCBhc3NldHMgdG8geW91ciBwYWNrYWdlLCBhZGQgYW4gYXNzZXRzIHNlY3Rpb24sIGxpa2UgdGhpczoKICAjIGFzc2V0czoKICAjICAgLSBpbWFnZXMvYV9kb3RfYnVyci5qcGVnCiAgIyAgIC0gaW1hZ2VzL2FfZG90X2hhbS5qcGVnCiAgIwogICMgRm9yIGRldGFpbHMgcmVnYXJkaW5nIGFzc2V0cyBpbiBwYWNrYWdlcywgc2VlCiAgIyBodHRwczovL2ZsdXR0ZXIuZGV2L2Fzc2V0cy1hbmQtaW1hZ2VzLyNmcm9tLXBhY2thZ2VzCiAgIwogICMgQW4gaW1hZ2UgYXNzZXQgY2FuIHJlZmVyIHRvIG9uZSBvciBtb3JlIHJlc29sdXRpb24tc3BlY2lmaWMgInZhcmlhbnRzIiwgc2VlCiAgIyBodHRwczovL2ZsdXR0ZXIuZGV2L2Fzc2V0cy1hbmQtaW1hZ2VzLyNyZXNvbHV0aW9uLWF3YXJlCgogICMgVG8gYWRkIGN1c3RvbSBmb250cyB0byB5b3VyIHBhY2thZ2UsIGFkZCBhIGZvbnRzIHNlY3Rpb24gaGVyZSwKICAjIGluIHRoaXMgImZsdXR0ZXIiIHNlY3Rpb24uIEVhY2ggZW50cnkgaW4gdGhpcyBsaXN0IHNob3VsZCBoYXZlIGEKICAjICJmYW1pbHkiIGtleSB3aXRoIHRoZSBmb250IGZhbWlseSBuYW1lLCBhbmQgYSAiZm9udHMiIGtleSB3aXRoIGEKICAjIGxpc3QgZ2l2aW5nIHRoZSBhc3NldCBhbmQgb3RoZXIgZGVzY3JpcHRvcnMgZm9yIHRoZSBmb250LiBGb3IKICAjIGV4YW1wbGU6CiAgIyBmb250czoKICAjICAgLSBmYW1pbHk6IFNjaHlsZXIKICAjICAgICBmb250czoKICAjICAgICAgIC0gYXNzZXQ6IGZvbnRzL1NjaHlsZXItUmVndWxhci50dGYKICAjICAgICAgIC0gYXNzZXQ6IGZvbnRzL1NjaHlsZXItSXRhbGljLnR0ZgogICMgICAgICAgICBzdHlsZTogaXRhbGljCiAgIyAgIC0gZmFtaWx5OiBUcmFqYW4gUHJvCiAgIyAgICAgZm9udHM6CiAgIyAgICAgICAtIGFzc2V0OiBmb250cy9UcmFqYW5Qcm8udHRmCiAgIyAgICAgICAtIGFzc2V0OiBmb250cy9UcmFqYW5Qcm9fQm9sZC50dGYKICAjICAgICAgICAgd2VpZ2h0OiA3MDAKICAjCiAgIyBGb3IgZGV0YWlscyByZWdhcmRpbmcgZm9udHMgaW4gcGFja2FnZXMsIHNlZQogICMgaHR0cHM6Ly9mbHV0dGVyLmRldi9jdXN0b20tZm9udHMvI2Zyb20tcGFja2FnZXMKe3svbWFjb3N9fXt7I3dlYn19bmFtZToge3twcm9qZWN0X25hbWV9fV91aV93ZWIKZGVzY3JpcHRpb246IFdpZGdldHMgYW5kIHRoZW1lcyBpbXBsZW1lbnRpbmcge3twcm9qZWN0X25hbWUudGl0bGVDYXNlKCl9fSBkZXNpZ24gbGFuZ3VhZ2UgZm9yIFdlYi4KdmVyc2lvbjogMC4wLjEKcHVibGlzaF90bzogbm9uZQoKZW52aXJvbm1lbnQ6CiAgc2RrOiAiPj0zLjEuMCA8NC4wLjAiCiAgZmx1dHRlcjogIj49My4xMy4wIgoKZGVwZW5kZW5jaWVzOgogIGZsdXR0ZXI6CiAgICBzZGs6IGZsdXR0ZXIKICBmbHV0dGVyX2xvY2FsaXphdGlvbnM6CiAgICBzZGs6IGZsdXR0ZXIKICB0aGVtZV90YWlsb3JfYW5ub3RhdGlvbjogXjIuMC4wCiAge3twcm9qZWN0X25hbWV9fV91aToKCmRldl9kZXBlbmRlbmNpZXM6CiAgZmx1dHRlcl90ZXN0OgogICAgc2RrOiBmbHV0dGVyCiAgYWxjaGVtaXN0OiBeMC42LjEKICBidWlsZF9ydW5uZXI6IF4yLjQuNgogIHRoZW1lX3RhaWxvcjogXjIuMC4wCiAgZmx1dHRlcl9nZW5fcnVubmVyOiBeNS4zLjEKICBidWlsZF92ZXJpZnk6IF4zLjEuMAoKIyBUaGUgZm9sbG93aW5nIHNlY3Rpb24gaXMgc3BlY2lmaWMgdG8gdGhlIEZsdXR0ZXJHZW4gcGFja2FnZS4KIyBTZWU6IGh0dHBzOi8vcHViLmRldi9wYWNrYWdlcy9mbHV0dGVyX2dlbiNjb25maWd1cmF0aW9uLWZpbGUKZmx1dHRlcl9nZW46CiAgb3V0cHV0OiBsaWIvc3JjLwogICMgVG8gYWRkIHN1cHBvcnQgZm9yIHN2ZyB2aWEgZmx1dHRlcl9zdmcgcGFja2FnZQogICMgaW50ZWdyYXRpb25zOgogICMgICBmbHV0dGVyX3N2ZzogdHJ1ZQoKICBhc3NldHM6CiAgICBvdXRwdXRzOgogICAgICBwYWNrYWdlX3BhcmFtZXRlcl9lbmFibGVkOiB0cnVlCgojIFRoZSBmb2xsb3dpbmcgc2VjdGlvbiBpcyBzcGVjaWZpYyB0byBGbHV0dGVyIHBhY2thZ2VzLgpmbHV0dGVyOgogICMgVGhlIGZvbGxvd2luZyBsaW5lIGVuc3VyZXMgdGhhdCB0aGUgTWF0ZXJpYWwgSWNvbnMgZm9udCBpcwogICMgaW5jbHVkZWQgd2l0aCB5b3VyIGFwcGxpY2F0aW9uLCBzbyB0aGF0IHlvdSBjYW4gdXNlIHRoZSBpY29ucyBpbgogICMgdGhlIG1hdGVyaWFsIEljb25zIGNsYXNzLgogIHVzZXMtbWF0ZXJpYWwtZGVzaWduOiB0cnVlCiAgIyBUbyBhZGQgYXNzZXRzIHRvIHlvdXIgcGFja2FnZSwgYWRkIGFuIGFzc2V0cyBzZWN0aW9uLCBsaWtlIHRoaXM6CiAgIyBhc3NldHM6CiAgIyAgIC0gaW1hZ2VzL2FfZG90X2J1cnIuanBlZwogICMgICAtIGltYWdlcy9hX2RvdF9oYW0uanBlZwogICMKICAjIEZvciBkZXRhaWxzIHJlZ2FyZGluZyBhc3NldHMgaW4gcGFja2FnZXMsIHNlZQogICMgaHR0cHM6Ly9mbHV0dGVyLmRldi9hc3NldHMtYW5kLWltYWdlcy8jZnJvbS1wYWNrYWdlcwogICMKICAjIEFuIGltYWdlIGFzc2V0IGNhbiByZWZlciB0byBvbmUgb3IgbW9yZSByZXNvbHV0aW9uLXNwZWNpZmljICJ2YXJpYW50cyIsIHNlZQogICMgaHR0cHM6Ly9mbHV0dGVyLmRldi9hc3NldHMtYW5kLWltYWdlcy8jcmVzb2x1dGlvbi1hd2FyZQoKICAjIFRvIGFkZCBjdXN0b20gZm9udHMgdG8geW91ciBwYWNrYWdlLCBhZGQgYSBmb250cyBzZWN0aW9uIGhlcmUsCiAgIyBpbiB0aGlzICJmbHV0dGVyIiBzZWN0aW9uLiBFYWNoIGVudHJ5IGluIHRoaXMgbGlzdCBzaG91bGQgaGF2ZSBhCiAgIyAiZmFtaWx5IiBrZXkgd2l0aCB0aGUgZm9udCBmYW1pbHkgbmFtZSwgYW5kIGEgImZvbnRzIiBrZXkgd2l0aCBhCiAgIyBsaXN0IGdpdmluZyB0aGUgYXNzZXQgYW5kIG90aGVyIGRlc2NyaXB0b3JzIGZvciB0aGUgZm9udC4gRm9yCiAgIyBleGFtcGxlOgogICMgZm9udHM6CiAgIyAgIC0gZmFtaWx5OiBTY2h5bGVyCiAgIyAgICAgZm9udHM6CiAgIyAgICAgICAtIGFzc2V0OiBmb250cy9TY2h5bGVyLVJlZ3VsYXIudHRmCiAgIyAgICAgICAtIGFzc2V0OiBmb250cy9TY2h5bGVyLUl0YWxpYy50dGYKICAjICAgICAgICAgc3R5bGU6IGl0YWxpYwogICMgICAtIGZhbWlseTogVHJhamFuIFBybwogICMgICAgIGZvbnRzOgogICMgICAgICAgLSBhc3NldDogZm9udHMvVHJhamFuUHJvLnR0ZgogICMgICAgICAgLSBhc3NldDogZm9udHMvVHJhamFuUHJvX0JvbGQudHRmCiAgIyAgICAgICAgIHdlaWdodDogNzAwCiAgIwogICMgRm9yIGRldGFpbHMgcmVnYXJkaW5nIGZvbnRzIGluIHBhY2thZ2VzLCBzZWUKICAjIGh0dHBzOi8vZmx1dHRlci5kZXYvY3VzdG9tLWZvbnRzLyNmcm9tLXBhY2thZ2VzCnt7L3dlYn19e3sjd2luZG93c319bmFtZToge3twcm9qZWN0X25hbWV9fV91aV93aW5kb3dzCmRlc2NyaXB0aW9uOiBXaWRnZXRzIGFuZCB0aGVtZXMgaW1wbGVtZW50aW5nIHt7cHJvamVjdF9uYW1lLnRpdGxlQ2FzZSgpfX0gZGVzaWduIGxhbmd1YWdlIGZvciBXaW5kb3dzLgp2ZXJzaW9uOiAwLjAuMQpwdWJsaXNoX3RvOiBub25lCgplbnZpcm9ubWVudDoKICBzZGs6ICI+PTMuMS4wIDw0LjAuMCIKICBmbHV0dGVyOiAiPj0zLjEzLjAiCgpkZXBlbmRlbmNpZXM6CiAgZmx1dHRlcjoKICAgIHNkazogZmx1dHRlcgogIGZsdXR0ZXJfbG9jYWxpemF0aW9uczoKICAgIHNkazogZmx1dHRlcgogIHRoZW1lX3RhaWxvcl9hbm5vdGF0aW9uOiBeMi4wLjAKICBmbHVlbnRfdWk6IF40LjcuMwogIHt7cHJvamVjdF9uYW1lfX1fdWk6CgpkZXZfZGVwZW5kZW5jaWVzOgogIGZsdXR0ZXJfdGVzdDoKICAgIHNkazogZmx1dHRlcgogIGFsY2hlbWlzdDogXjAuNi4xCiAgYnVpbGRfcnVubmVyOiBeMi40LjYKICB0aGVtZV90YWlsb3I6IF4yLjAuMAogIGZsdXR0ZXJfZ2VuX3J1bm5lcjogXjUuMy4xCiAgYnVpbGRfdmVyaWZ5OiBeMy4xLjAKCiMgVGhlIGZvbGxvd2luZyBzZWN0aW9uIGlzIHNwZWNpZmljIHRvIHRoZSBGbHV0dGVyR2VuIHBhY2thZ2UuCiMgU2VlOiBodHRwczovL3B1Yi5kZXYvcGFja2FnZXMvZmx1dHRlcl9nZW4jY29uZmlndXJhdGlvbi1maWxlCmZsdXR0ZXJfZ2VuOgogIG91dHB1dDogbGliL3NyYy8KICAjIFRvIGFkZCBzdXBwb3J0IGZvciBzdmcgdmlhIGZsdXR0ZXJfc3ZnIHBhY2thZ2UKICAjIGludGVncmF0aW9uczoKICAjICAgZmx1dHRlcl9zdmc6IHRydWUKCiAgYXNzZXRzOgogICAgb3V0cHV0czoKICAgICAgcGFja2FnZV9wYXJhbWV0ZXJfZW5hYmxlZDogdHJ1ZQoKIyBUaGUgZm9sbG93aW5nIHNlY3Rpb24gaXMgc3BlY2lmaWMgdG8gRmx1dHRlciBwYWNrYWdlcy4KZmx1dHRlcjoKICAjIFRoZSBmb2xsb3dpbmcgbGluZSBlbnN1cmVzIHRoYXQgdGhlIE1hdGVyaWFsIEljb25zIGZvbnQgaXMKICAjIGluY2x1ZGVkIHdpdGggeW91ciBhcHBsaWNhdGlvbiwgc28gdGhhdCB5b3UgY2FuIHVzZSB0aGUgaWNvbnMgaW4KICAjIHRoZSBtYXRlcmlhbCBJY29ucyBjbGFzcy4KICB1c2VzLW1hdGVyaWFsLWRlc2lnbjogdHJ1ZQogICMgVG8gYWRkIGFzc2V0cyB0byB5b3VyIHBhY2thZ2UsIGFkZCBhbiBhc3NldHMgc2VjdGlvbiwgbGlrZSB0aGlzOgogICMgYXNzZXRzOgogICMgICAtIGltYWdlcy9hX2RvdF9idXJyLmpwZWcKICAjICAgLSBpbWFnZXMvYV9kb3RfaGFtLmpwZWcKICAjCiAgIyBGb3IgZGV0YWlscyByZWdhcmRpbmcgYXNzZXRzIGluIHBhY2thZ2VzLCBzZWUKICAjIGh0dHBzOi8vZmx1dHRlci5kZXYvYXNzZXRzLWFuZC1pbWFnZXMvI2Zyb20tcGFja2FnZXMKICAjCiAgIyBBbiBpbWFnZSBhc3NldCBjYW4gcmVmZXIgdG8gb25lIG9yIG1vcmUgcmVzb2x1dGlvbi1zcGVjaWZpYyAidmFyaWFudHMiLCBzZWUKICAjIGh0dHBzOi8vZmx1dHRlci5kZXYvYXNzZXRzLWFuZC1pbWFnZXMvI3Jlc29sdXRpb24tYXdhcmUKCiAgIyBUbyBhZGQgY3VzdG9tIGZvbnRzIHRvIHlvdXIgcGFja2FnZSwgYWRkIGEgZm9udHMgc2VjdGlvbiBoZXJlLAogICMgaW4gdGhpcyAiZmx1dHRlciIgc2VjdGlvbi4gRWFjaCBlbnRyeSBpbiB0aGlzIGxpc3Qgc2hvdWxkIGhhdmUgYQogICMgImZhbWlseSIga2V5IHdpdGggdGhlIGZvbnQgZmFtaWx5IG5hbWUsIGFuZCBhICJmb250cyIga2V5IHdpdGggYQogICMgbGlzdCBnaXZpbmcgdGhlIGFzc2V0IGFuZCBvdGhlciBkZXNjcmlwdG9ycyBmb3IgdGhlIGZvbnQuIEZvcgogICMgZXhhbXBsZToKICAjIGZvbnRzOgogICMgICAtIGZhbWlseTogU2NoeWxlcgogICMgICAgIGZvbnRzOgogICMgICAgICAgLSBhc3NldDogZm9udHMvU2NoeWxlci1SZWd1bGFyLnR0ZgogICMgICAgICAgLSBhc3NldDogZm9udHMvU2NoeWxlci1JdGFsaWMudHRmCiAgIyAgICAgICAgIHN0eWxlOiBpdGFsaWMKICAjICAgLSBmYW1pbHk6IFRyYWphbiBQcm8KICAjICAgICBmb250czoKICAjICAgICAgIC0gYXNzZXQ6IGZvbnRzL1RyYWphblByby50dGYKICAjICAgICAgIC0gYXNzZXQ6IGZvbnRzL1RyYWphblByb19Cb2xkLnR0ZgogICMgICAgICAgICB3ZWlnaHQ6IDcwMAogICMKICAjIEZvciBkZXRhaWxzIHJlZ2FyZGluZyBmb250cyBpbiBwYWNrYWdlcywgc2VlCiAgIyBodHRwczovL2ZsdXR0ZXIuZGV2L2N1c3RvbS1mb250cy8jZnJvbS1wYWNrYWdlcwp7ey93aW5kb3dzfX17eyNtb2JpbGV9fW5hbWU6IHt7cHJvamVjdF9uYW1lfX1fdWlfbW9iaWxlCmRlc2NyaXB0aW9uOiBXaWRnZXRzIGFuZCB0aGVtZXMgaW1wbGVtZW50aW5nIHt7cHJvamVjdF9uYW1lLnRpdGxlQ2FzZSgpfX0gZGVzaWduIGxhbmd1YWdlIGZvciBNb2JpbGUuCnZlcnNpb246IDAuMC4xCnB1Ymxpc2hfdG86IG5vbmUKCmVudmlyb25tZW50OgogIHNkazogIj49My4xLjAgPDQuMC4wIgogIGZsdXR0ZXI6ICI+PTMuMTMuMCIKCmRlcGVuZGVuY2llczoKICBmbHV0dGVyOgogICAgc2RrOiBmbHV0dGVyCiAgZmx1dHRlcl9sb2NhbGl6YXRpb25zOgogICAgc2RrOiBmbHV0dGVyCiAgdGhlbWVfdGFpbG9yX2Fubm90YXRpb246IF4yLjAuMAogIHt7cHJvamVjdF9uYW1lfX1fdWk6CgpkZXZfZGVwZW5kZW5jaWVzOgogIGZsdXR0ZXJfdGVzdDoKICAgIHNkazogZmx1dHRlcgogIGFsY2hlbWlzdDogXjAuNi4xCiAgYnVpbGRfcnVubmVyOiBeMi40LjYKICB0aGVtZV90YWlsb3I6IF4yLjAuMAogIGZsdXR0ZXJfZ2VuX3J1bm5lcjogXjUuMy4xCiAgYnVpbGRfdmVyaWZ5OiBeMy4xLjAKCiMgVGhlIGZvbGxvd2luZyBzZWN0aW9uIGlzIHNwZWNpZmljIHRvIHRoZSBGbHV0dGVyR2VuIHBhY2thZ2UuCiMgU2VlOiBodHRwczovL3B1Yi5kZXYvcGFja2FnZXMvZmx1dHRlcl9nZW4jY29uZmlndXJhdGlvbi1maWxlCmZsdXR0ZXJfZ2VuOgogIG91dHB1dDogbGliL3NyYy8KICAjIFRvIGFkZCBzdXBwb3J0IGZvciBzdmcgdmlhIGZsdXR0ZXJfc3ZnIHBhY2thZ2UKICAjIGludGVncmF0aW9uczoKICAjICAgZmx1dHRlcl9zdmc6IHRydWUKCiAgYXNzZXRzOgogICAgb3V0cHV0czoKICAgICAgcGFja2FnZV9wYXJhbWV0ZXJfZW5hYmxlZDogdHJ1ZQoKIyBUaGUgZm9sbG93aW5nIHNlY3Rpb24gaXMgc3BlY2lmaWMgdG8gRmx1dHRlciBwYWNrYWdlcy4KZmx1dHRlcjoKICAjIFRoZSBmb2xsb3dpbmcgbGluZSBlbnN1cmVzIHRoYXQgdGhlIE1hdGVyaWFsIEljb25zIGZvbnQgaXMKICAjIGluY2x1ZGVkIHdpdGggeW91ciBhcHBsaWNhdGlvbiwgc28gdGhhdCB5b3UgY2FuIHVzZSB0aGUgaWNvbnMgaW4KICAjIHRoZSBtYXRlcmlhbCBJY29ucyBjbGFzcy4KICB1c2VzLW1hdGVyaWFsLWRlc2lnbjogdHJ1ZQogICMgVG8gYWRkIGFzc2V0cyB0byB5b3VyIHBhY2thZ2UsIGFkZCBhbiBhc3NldHMgc2VjdGlvbiwgbGlrZSB0aGlzOgogICMgYXNzZXRzOgogICMgICAtIGltYWdlcy9hX2RvdF9idXJyLmpwZWcKICAjICAgLSBpbWFnZXMvYV9kb3RfaGFtLmpwZWcKICAjCiAgIyBGb3IgZGV0YWlscyByZWdhcmRpbmcgYXNzZXRzIGluIHBhY2thZ2VzLCBzZWUKICAjIGh0dHBzOi8vZmx1dHRlci5kZXYvYXNzZXRzLWFuZC1pbWFnZXMvI2Zyb20tcGFja2FnZXMKICAjCiAgIyBBbiBpbWFnZSBhc3NldCBjYW4gcmVmZXIgdG8gb25lIG9yIG1vcmUgcmVzb2x1dGlvbi1zcGVjaWZpYyAidmFyaWFudHMiLCBzZWUKICAjIGh0dHBzOi8vZmx1dHRlci5kZXYvYXNzZXRzLWFuZC1pbWFnZXMvI3Jlc29sdXRpb24tYXdhcmUKCiAgIyBUbyBhZGQgY3VzdG9tIGZvbnRzIHRvIHlvdXIgcGFja2FnZSwgYWRkIGEgZm9udHMgc2VjdGlvbiBoZXJlLAogICMgaW4gdGhpcyAiZmx1dHRlciIgc2VjdGlvbi4gRWFjaCBlbnRyeSBpbiB0aGlzIGxpc3Qgc2hvdWxkIGhhdmUgYQogICMgImZhbWlseSIga2V5IHdpdGggdGhlIGZvbnQgZmFtaWx5IG5hbWUsIGFuZCBhICJmb250cyIga2V5IHdpdGggYQogICMgbGlzdCBnaXZpbmcgdGhlIGFzc2V0IGFuZCBvdGhlciBkZXNjcmlwdG9ycyBmb3IgdGhlIGZvbnQuIEZvcgogICMgZXhhbXBsZToKICAjIGZvbnRzOgogICMgICAtIGZhbWlseTogU2NoeWxlcgogICMgICAgIGZvbnRzOgogICMgICAgICAgLSBhc3NldDogZm9udHMvU2NoeWxlci1SZWd1bGFyLnR0ZgogICMgICAgICAgLSBhc3NldDogZm9udHMvU2NoeWxlci1JdGFsaWMudHRmCiAgIyAgICAgICAgIHN0eWxlOiBpdGFsaWMKICAjICAgLSBmYW1pbHk6IFRyYWphbiBQcm8KICAjICAgICBmb250czoKICAjICAgICAgIC0gYXNzZXQ6IGZvbnRzL1RyYWphblByby50dGYKICAjICAgICAgIC0gYXNzZXQ6IGZvbnRzL1RyYWphblByb19Cb2xkLnR0ZgogICMgICAgICAgICB3ZWlnaHQ6IDcwMAogICMKICAjIEZvciBkZXRhaWxzIHJlZ2FyZGluZyBmb250cyBpbiBwYWNrYWdlcywgc2VlCiAgIyBodHRwczovL2ZsdXR0ZXIuZGV2L2N1c3RvbS1mb250cy8jZnJvbS1wYWNrYWdlcwp7ey9tb2JpbGV9fQ==", + "e3sjYW5kcm9pZH19bmFtZToge3twcm9qZWN0X25hbWV9fV91aV9hbmRyb2lkCmRlc2NyaXB0aW9uOiBXaWRnZXRzIGFuZCB0aGVtZXMgaW1wbGVtZW50aW5nIHt7cHJvamVjdF9uYW1lLnRpdGxlQ2FzZSgpfX0gZGVzaWduIGxhbmd1YWdlIGZvciBBbmRyb2lkLgp2ZXJzaW9uOiAwLjEuMApwdWJsaXNoX3RvOiBub25lCgplbnZpcm9ubWVudDoKICBzZGs6ICI+PTMuMS4wIDw0LjAuMCIKICBmbHV0dGVyOiAiPj0zLjEzLjAiCgpkZXBlbmRlbmNpZXM6CiAgZmx1dHRlcjoKICAgIHNkazogZmx1dHRlcgogIGZsdXR0ZXJfbG9jYWxpemF0aW9uczoKICAgIHNkazogZmx1dHRlcgogIHRoZW1lX3RhaWxvcl9hbm5vdGF0aW9uOiBeMi4wLjAKICB7e3Byb2plY3RfbmFtZX19X3VpOgoKZGV2X2RlcGVuZGVuY2llczoKICBhbGNoZW1pc3Q6IF4wLjYuMQogIGJ1aWxkX3J1bm5lcjogXjIuNC42CiAgYnVpbGRfdmVyaWZ5OiBeMy4xLjAKICBmbHV0dGVyX2dlbl9ydW5uZXI6IF41LjMuMQogIGZsdXR0ZXJfdGVzdDoKICAgIHNkazogZmx1dHRlcgogIHRoZW1lX3RhaWxvcjogXjIuMC4wCgojIFRoZSBmb2xsb3dpbmcgc2VjdGlvbiBpcyBzcGVjaWZpYyB0byB0aGUgRmx1dHRlckdlbiBwYWNrYWdlLgojIFNlZTogaHR0cHM6Ly9wdWIuZGV2L3BhY2thZ2VzL2ZsdXR0ZXJfZ2VuI2NvbmZpZ3VyYXRpb24tZmlsZQpmbHV0dGVyX2dlbjoKICBvdXRwdXQ6IGxpYi9zcmMvCiAgIyBUbyBhZGQgc3VwcG9ydCBmb3Igc3ZnIHZpYSBmbHV0dGVyX3N2ZyBwYWNrYWdlCiAgIyBpbnRlZ3JhdGlvbnM6CiAgIyAgIGZsdXR0ZXJfc3ZnOiB0cnVlCiAgYXNzZXRzOgogICAgb3V0cHV0czoKICAgICAgcGFja2FnZV9wYXJhbWV0ZXJfZW5hYmxlZDogdHJ1ZQoKIyBUaGUgZm9sbG93aW5nIHNlY3Rpb24gaXMgc3BlY2lmaWMgdG8gRmx1dHRlciBwYWNrYWdlcy4KZmx1dHRlcjoKICAjIFRoZSBmb2xsb3dpbmcgbGluZSBlbnN1cmVzIHRoYXQgdGhlIE1hdGVyaWFsIEljb25zIGZvbnQgaXMKICAjIGluY2x1ZGVkIHdpdGggeW91ciBhcHBsaWNhdGlvbiwgc28gdGhhdCB5b3UgY2FuIHVzZSB0aGUgaWNvbnMgaW4KICAjIHRoZSBtYXRlcmlhbCBJY29ucyBjbGFzcy4KICB1c2VzLW1hdGVyaWFsLWRlc2lnbjogdHJ1ZQogICMgVG8gYWRkIGFzc2V0cyB0byB5b3VyIHBhY2thZ2UsIGFkZCBhbiBhc3NldHMgc2VjdGlvbiwgbGlrZSB0aGlzOgogICMgYXNzZXRzOgogICMgICAtIGltYWdlcy9hX2RvdF9idXJyLmpwZWcKICAjICAgLSBpbWFnZXMvYV9kb3RfaGFtLmpwZWcKICAjCiAgIyBGb3IgZGV0YWlscyByZWdhcmRpbmcgYXNzZXRzIGluIHBhY2thZ2VzLCBzZWUKICAjIGh0dHBzOi8vZmx1dHRlci5kZXYvYXNzZXRzLWFuZC1pbWFnZXMvI2Zyb20tcGFja2FnZXMKICAjCiAgIyBBbiBpbWFnZSBhc3NldCBjYW4gcmVmZXIgdG8gb25lIG9yIG1vcmUgcmVzb2x1dGlvbi1zcGVjaWZpYyAidmFyaWFudHMiLCBzZWUKICAjIGh0dHBzOi8vZmx1dHRlci5kZXYvYXNzZXRzLWFuZC1pbWFnZXMvI3Jlc29sdXRpb24tYXdhcmUKCiAgIyBUbyBhZGQgY3VzdG9tIGZvbnRzIHRvIHlvdXIgcGFja2FnZSwgYWRkIGEgZm9udHMgc2VjdGlvbiBoZXJlLAogICMgaW4gdGhpcyAiZmx1dHRlciIgc2VjdGlvbi4gRWFjaCBlbnRyeSBpbiB0aGlzIGxpc3Qgc2hvdWxkIGhhdmUgYQogICMgImZhbWlseSIga2V5IHdpdGggdGhlIGZvbnQgZmFtaWx5IG5hbWUsIGFuZCBhICJmb250cyIga2V5IHdpdGggYQogICMgbGlzdCBnaXZpbmcgdGhlIGFzc2V0IGFuZCBvdGhlciBkZXNjcmlwdG9ycyBmb3IgdGhlIGZvbnQuIEZvcgogICMgZXhhbXBsZToKICAjIGZvbnRzOgogICMgICAtIGZhbWlseTogU2NoeWxlcgogICMgICAgIGZvbnRzOgogICMgICAgICAgLSBhc3NldDogZm9udHMvU2NoeWxlci1SZWd1bGFyLnR0ZgogICMgICAgICAgLSBhc3NldDogZm9udHMvU2NoeWxlci1JdGFsaWMudHRmCiAgIyAgICAgICAgIHN0eWxlOiBpdGFsaWMKICAjICAgLSBmYW1pbHk6IFRyYWphbiBQcm8KICAjICAgICBmb250czoKICAjICAgICAgIC0gYXNzZXQ6IGZvbnRzL1RyYWphblByby50dGYKICAjICAgICAgIC0gYXNzZXQ6IGZvbnRzL1RyYWphblByb19Cb2xkLnR0ZgogICMgICAgICAgICB3ZWlnaHQ6IDcwMAogICMKICAjIEZvciBkZXRhaWxzIHJlZ2FyZGluZyBmb250cyBpbiBwYWNrYWdlcywgc2VlCiAgIyBodHRwczovL2ZsdXR0ZXIuZGV2L2N1c3RvbS1mb250cy8jZnJvbS1wYWNrYWdlcwp7ey9hbmRyb2lkfX17eyNpb3N9fW5hbWU6IHt7cHJvamVjdF9uYW1lfX1fdWlfaW9zCmRlc2NyaXB0aW9uOiBXaWRnZXRzIGFuZCB0aGVtZXMgaW1wbGVtZW50aW5nIHt7cHJvamVjdF9uYW1lLnRpdGxlQ2FzZSgpfX0gZGVzaWduIGxhbmd1YWdlIGZvciBpT1MuCnZlcnNpb246IDAuMS4wCnB1Ymxpc2hfdG86IG5vbmUKCmVudmlyb25tZW50OgogIHNkazogIj49My4xLjAgPDQuMC4wIgogIGZsdXR0ZXI6ICI+PTMuMTMuMCIKCmRlcGVuZGVuY2llczoKICBjdXBlcnRpbm9faWNvbnM6IF4xLjAuNQogIGZsdXR0ZXI6CiAgICBzZGs6IGZsdXR0ZXIKICBmbHV0dGVyX2xvY2FsaXphdGlvbnM6CiAgICBzZGs6IGZsdXR0ZXIKICB0aGVtZV90YWlsb3JfYW5ub3RhdGlvbjogXjIuMC4wCiAge3twcm9qZWN0X25hbWV9fV91aToKCmRldl9kZXBlbmRlbmNpZXM6CiAgYWxjaGVtaXN0OiBeMC42LjEKICBidWlsZF9ydW5uZXI6IF4yLjQuNgogIGJ1aWxkX3ZlcmlmeTogXjMuMS4wCiAgZmx1dHRlcl9nZW5fcnVubmVyOiBeNS4zLjEKICBmbHV0dGVyX3Rlc3Q6CiAgICBzZGs6IGZsdXR0ZXIKICB0aGVtZV90YWlsb3I6IF4yLjAuMAoKIyBUaGUgZm9sbG93aW5nIHNlY3Rpb24gaXMgc3BlY2lmaWMgdG8gdGhlIEZsdXR0ZXJHZW4gcGFja2FnZS4KIyBTZWU6IGh0dHBzOi8vcHViLmRldi9wYWNrYWdlcy9mbHV0dGVyX2dlbiNjb25maWd1cmF0aW9uLWZpbGUKZmx1dHRlcl9nZW46CiAgb3V0cHV0OiBsaWIvc3JjLwogICMgVG8gYWRkIHN1cHBvcnQgZm9yIHN2ZyB2aWEgZmx1dHRlcl9zdmcgcGFja2FnZQogICMgaW50ZWdyYXRpb25zOgogICMgICBmbHV0dGVyX3N2ZzogdHJ1ZQogIGFzc2V0czoKICAgIG91dHB1dHM6CiAgICAgIHBhY2thZ2VfcGFyYW1ldGVyX2VuYWJsZWQ6IHRydWUKCiMgVGhlIGZvbGxvd2luZyBzZWN0aW9uIGlzIHNwZWNpZmljIHRvIEZsdXR0ZXIgcGFja2FnZXMuCmZsdXR0ZXI6CiAgIyBUbyBhZGQgYXNzZXRzIHRvIHlvdXIgcGFja2FnZSwgYWRkIGFuIGFzc2V0cyBzZWN0aW9uLCBsaWtlIHRoaXM6CiAgIyBhc3NldHM6CiAgIyAgIC0gaW1hZ2VzL2FfZG90X2J1cnIuanBlZwogICMgICAtIGltYWdlcy9hX2RvdF9oYW0uanBlZwogICMKICAjIEZvciBkZXRhaWxzIHJlZ2FyZGluZyBhc3NldHMgaW4gcGFja2FnZXMsIHNlZQogICMgaHR0cHM6Ly9mbHV0dGVyLmRldi9hc3NldHMtYW5kLWltYWdlcy8jZnJvbS1wYWNrYWdlcwogICMKICAjIEFuIGltYWdlIGFzc2V0IGNhbiByZWZlciB0byBvbmUgb3IgbW9yZSByZXNvbHV0aW9uLXNwZWNpZmljICJ2YXJpYW50cyIsIHNlZQogICMgaHR0cHM6Ly9mbHV0dGVyLmRldi9hc3NldHMtYW5kLWltYWdlcy8jcmVzb2x1dGlvbi1hd2FyZQoKICAjIFRvIGFkZCBjdXN0b20gZm9udHMgdG8geW91ciBwYWNrYWdlLCBhZGQgYSBmb250cyBzZWN0aW9uIGhlcmUsCiAgIyBpbiB0aGlzICJmbHV0dGVyIiBzZWN0aW9uLiBFYWNoIGVudHJ5IGluIHRoaXMgbGlzdCBzaG91bGQgaGF2ZSBhCiAgIyAiZmFtaWx5IiBrZXkgd2l0aCB0aGUgZm9udCBmYW1pbHkgbmFtZSwgYW5kIGEgImZvbnRzIiBrZXkgd2l0aCBhCiAgIyBsaXN0IGdpdmluZyB0aGUgYXNzZXQgYW5kIG90aGVyIGRlc2NyaXB0b3JzIGZvciB0aGUgZm9udC4gRm9yCiAgIyBleGFtcGxlOgogICMgZm9udHM6CiAgIyAgIC0gZmFtaWx5OiBTY2h5bGVyCiAgIyAgICAgZm9udHM6CiAgIyAgICAgICAtIGFzc2V0OiBmb250cy9TY2h5bGVyLVJlZ3VsYXIudHRmCiAgIyAgICAgICAtIGFzc2V0OiBmb250cy9TY2h5bGVyLUl0YWxpYy50dGYKICAjICAgICAgICAgc3R5bGU6IGl0YWxpYwogICMgICAtIGZhbWlseTogVHJhamFuIFBybwogICMgICAgIGZvbnRzOgogICMgICAgICAgLSBhc3NldDogZm9udHMvVHJhamFuUHJvLnR0ZgogICMgICAgICAgLSBhc3NldDogZm9udHMvVHJhamFuUHJvX0JvbGQudHRmCiAgIyAgICAgICAgIHdlaWdodDogNzAwCiAgIwogICMgRm9yIGRldGFpbHMgcmVnYXJkaW5nIGZvbnRzIGluIHBhY2thZ2VzLCBzZWUKICAjIGh0dHBzOi8vZmx1dHRlci5kZXYvY3VzdG9tLWZvbnRzLyNmcm9tLXBhY2thZ2VzCnt7L2lvc319e3sjbGludXh9fW5hbWU6IHt7cHJvamVjdF9uYW1lfX1fdWlfbGludXgKZGVzY3JpcHRpb246IFdpZGdldHMgYW5kIHRoZW1lcyBpbXBsZW1lbnRpbmcge3twcm9qZWN0X25hbWUudGl0bGVDYXNlKCl9fSBkZXNpZ24gbGFuZ3VhZ2UgZm9yIExpbnV4Lgp2ZXJzaW9uOiAwLjEuMApwdWJsaXNoX3RvOiBub25lCgplbnZpcm9ubWVudDoKICBzZGs6ICI+PTMuMS4wIDw0LjAuMCIKICBmbHV0dGVyOiAiPj0zLjEzLjAiCgpkZXBlbmRlbmNpZXM6CiAgZmx1dHRlcjoKICAgIHNkazogZmx1dHRlcgogIGZsdXR0ZXJfbG9jYWxpemF0aW9uczoKICAgIHNkazogZmx1dHRlcgogIHRoZW1lX3RhaWxvcl9hbm5vdGF0aW9uOiBeMi4wLjAKICB5YXJ1OiBeMS4wLjAKICB5YXJ1X2ljb25zOiBeMi4yLjEKICB7e3Byb2plY3RfbmFtZX19X3VpOgoKZGV2X2RlcGVuZGVuY2llczoKICBhbGNoZW1pc3Q6IF4wLjYuMQogIGJ1aWxkX3J1bm5lcjogXjIuNC42CiAgYnVpbGRfdmVyaWZ5OiBeMy4xLjAKICBmbHV0dGVyX2dlbl9ydW5uZXI6IF41LjMuMQogIGZsdXR0ZXJfdGVzdDoKICAgIHNkazogZmx1dHRlcgogIHRoZW1lX3RhaWxvcjogXjIuMC4wCgojIFRoZSBmb2xsb3dpbmcgc2VjdGlvbiBpcyBzcGVjaWZpYyB0byB0aGUgRmx1dHRlckdlbiBwYWNrYWdlLgojIFNlZTogaHR0cHM6Ly9wdWIuZGV2L3BhY2thZ2VzL2ZsdXR0ZXJfZ2VuI2NvbmZpZ3VyYXRpb24tZmlsZQpmbHV0dGVyX2dlbjoKICBvdXRwdXQ6IGxpYi9zcmMvCiAgIyBUbyBhZGQgc3VwcG9ydCBmb3Igc3ZnIHZpYSBmbHV0dGVyX3N2ZyBwYWNrYWdlCiAgIyBpbnRlZ3JhdGlvbnM6CiAgIyAgIGZsdXR0ZXJfc3ZnOiB0cnVlCiAgYXNzZXRzOgogICAgb3V0cHV0czoKICAgICAgcGFja2FnZV9wYXJhbWV0ZXJfZW5hYmxlZDogdHJ1ZQoKIyBUaGUgZm9sbG93aW5nIHNlY3Rpb24gaXMgc3BlY2lmaWMgdG8gRmx1dHRlciBwYWNrYWdlcy4KZmx1dHRlcjoKICAjIFRoZSBmb2xsb3dpbmcgbGluZSBlbnN1cmVzIHRoYXQgdGhlIE1hdGVyaWFsIEljb25zIGZvbnQgaXMKICAjIGluY2x1ZGVkIHdpdGggeW91ciBhcHBsaWNhdGlvbiwgc28gdGhhdCB5b3UgY2FuIHVzZSB0aGUgaWNvbnMgaW4KICAjIHRoZSBtYXRlcmlhbCBJY29ucyBjbGFzcy4KICB1c2VzLW1hdGVyaWFsLWRlc2lnbjogdHJ1ZQogICMgVG8gYWRkIGFzc2V0cyB0byB5b3VyIHBhY2thZ2UsIGFkZCBhbiBhc3NldHMgc2VjdGlvbiwgbGlrZSB0aGlzOgogICMgYXNzZXRzOgogICMgICAtIGltYWdlcy9hX2RvdF9idXJyLmpwZWcKICAjICAgLSBpbWFnZXMvYV9kb3RfaGFtLmpwZWcKICAjCiAgIyBGb3IgZGV0YWlscyByZWdhcmRpbmcgYXNzZXRzIGluIHBhY2thZ2VzLCBzZWUKICAjIGh0dHBzOi8vZmx1dHRlci5kZXYvYXNzZXRzLWFuZC1pbWFnZXMvI2Zyb20tcGFja2FnZXMKICAjCiAgIyBBbiBpbWFnZSBhc3NldCBjYW4gcmVmZXIgdG8gb25lIG9yIG1vcmUgcmVzb2x1dGlvbi1zcGVjaWZpYyAidmFyaWFudHMiLCBzZWUKICAjIGh0dHBzOi8vZmx1dHRlci5kZXYvYXNzZXRzLWFuZC1pbWFnZXMvI3Jlc29sdXRpb24tYXdhcmUKCiAgIyBUbyBhZGQgY3VzdG9tIGZvbnRzIHRvIHlvdXIgcGFja2FnZSwgYWRkIGEgZm9udHMgc2VjdGlvbiBoZXJlLAogICMgaW4gdGhpcyAiZmx1dHRlciIgc2VjdGlvbi4gRWFjaCBlbnRyeSBpbiB0aGlzIGxpc3Qgc2hvdWxkIGhhdmUgYQogICMgImZhbWlseSIga2V5IHdpdGggdGhlIGZvbnQgZmFtaWx5IG5hbWUsIGFuZCBhICJmb250cyIga2V5IHdpdGggYQogICMgbGlzdCBnaXZpbmcgdGhlIGFzc2V0IGFuZCBvdGhlciBkZXNjcmlwdG9ycyBmb3IgdGhlIGZvbnQuIEZvcgogICMgZXhhbXBsZToKICAjIGZvbnRzOgogICMgICAtIGZhbWlseTogU2NoeWxlcgogICMgICAgIGZvbnRzOgogICMgICAgICAgLSBhc3NldDogZm9udHMvU2NoeWxlci1SZWd1bGFyLnR0ZgogICMgICAgICAgLSBhc3NldDogZm9udHMvU2NoeWxlci1JdGFsaWMudHRmCiAgIyAgICAgICAgIHN0eWxlOiBpdGFsaWMKICAjICAgLSBmYW1pbHk6IFRyYWphbiBQcm8KICAjICAgICBmb250czoKICAjICAgICAgIC0gYXNzZXQ6IGZvbnRzL1RyYWphblByby50dGYKICAjICAgICAgIC0gYXNzZXQ6IGZvbnRzL1RyYWphblByb19Cb2xkLnR0ZgogICMgICAgICAgICB3ZWlnaHQ6IDcwMAogICMKICAjIEZvciBkZXRhaWxzIHJlZ2FyZGluZyBmb250cyBpbiBwYWNrYWdlcywgc2VlCiAgIyBodHRwczovL2ZsdXR0ZXIuZGV2L2N1c3RvbS1mb250cy8jZnJvbS1wYWNrYWdlcwp7ey9saW51eH19e3sjbWFjb3N9fW5hbWU6IHt7cHJvamVjdF9uYW1lfX1fdWlfbWFjb3MKZGVzY3JpcHRpb246IFdpZGdldHMgYW5kIHRoZW1lcyBpbXBsZW1lbnRpbmcge3twcm9qZWN0X25hbWUudGl0bGVDYXNlKCl9fSBkZXNpZ24gbGFuZ3VhZ2UgZm9yIG1hY09TLgp2ZXJzaW9uOiAwLjEuMApwdWJsaXNoX3RvOiBub25lCgplbnZpcm9ubWVudDoKICBzZGs6ICI+PTMuMS4wIDw0LjAuMCIKICBmbHV0dGVyOiAiPj0zLjEzLjAiCgpkZXBlbmRlbmNpZXM6CiAgY3VwZXJ0aW5vX2ljb25zOiBeMS4wLjUKICBmbHV0dGVyOgogICAgc2RrOiBmbHV0dGVyCiAgZmx1dHRlcl9sb2NhbGl6YXRpb25zOgogICAgc2RrOiBmbHV0dGVyCiAgbWFjb3NfdWk6IF4yLjAuMAogIHRoZW1lX3RhaWxvcl9hbm5vdGF0aW9uOiBeMi4wLjAKICB7e3Byb2plY3RfbmFtZX19X3VpOgoKZGV2X2RlcGVuZGVuY2llczoKICBhbGNoZW1pc3Q6IF4wLjYuMQogIGJ1aWxkX3J1bm5lcjogXjIuNC42CiAgYnVpbGRfdmVyaWZ5OiBeMy4xLjAKICBmbHV0dGVyX2dlbl9ydW5uZXI6IF41LjMuMQogIGZsdXR0ZXJfdGVzdDoKICAgIHNkazogZmx1dHRlcgogIHRoZW1lX3RhaWxvcjogXjIuMC4wCgojIFRoZSBmb2xsb3dpbmcgc2VjdGlvbiBpcyBzcGVjaWZpYyB0byB0aGUgRmx1dHRlckdlbiBwYWNrYWdlLgojIFNlZTogaHR0cHM6Ly9wdWIuZGV2L3BhY2thZ2VzL2ZsdXR0ZXJfZ2VuI2NvbmZpZ3VyYXRpb24tZmlsZQpmbHV0dGVyX2dlbjoKICBvdXRwdXQ6IGxpYi9zcmMvCiAgIyBUbyBhZGQgc3VwcG9ydCBmb3Igc3ZnIHZpYSBmbHV0dGVyX3N2ZyBwYWNrYWdlCiAgIyBpbnRlZ3JhdGlvbnM6CiAgIyAgIGZsdXR0ZXJfc3ZnOiB0cnVlCiAgYXNzZXRzOgogICAgb3V0cHV0czoKICAgICAgcGFja2FnZV9wYXJhbWV0ZXJfZW5hYmxlZDogdHJ1ZQoKIyBUaGUgZm9sbG93aW5nIHNlY3Rpb24gaXMgc3BlY2lmaWMgdG8gRmx1dHRlciBwYWNrYWdlcy4KZmx1dHRlcjoKICAjIFRvIGFkZCBhc3NldHMgdG8geW91ciBwYWNrYWdlLCBhZGQgYW4gYXNzZXRzIHNlY3Rpb24sIGxpa2UgdGhpczoKICAjIGFzc2V0czoKICAjICAgLSBpbWFnZXMvYV9kb3RfYnVyci5qcGVnCiAgIyAgIC0gaW1hZ2VzL2FfZG90X2hhbS5qcGVnCiAgIwogICMgRm9yIGRldGFpbHMgcmVnYXJkaW5nIGFzc2V0cyBpbiBwYWNrYWdlcywgc2VlCiAgIyBodHRwczovL2ZsdXR0ZXIuZGV2L2Fzc2V0cy1hbmQtaW1hZ2VzLyNmcm9tLXBhY2thZ2VzCiAgIwogICMgQW4gaW1hZ2UgYXNzZXQgY2FuIHJlZmVyIHRvIG9uZSBvciBtb3JlIHJlc29sdXRpb24tc3BlY2lmaWMgInZhcmlhbnRzIiwgc2VlCiAgIyBodHRwczovL2ZsdXR0ZXIuZGV2L2Fzc2V0cy1hbmQtaW1hZ2VzLyNyZXNvbHV0aW9uLWF3YXJlCgogICMgVG8gYWRkIGN1c3RvbSBmb250cyB0byB5b3VyIHBhY2thZ2UsIGFkZCBhIGZvbnRzIHNlY3Rpb24gaGVyZSwKICAjIGluIHRoaXMgImZsdXR0ZXIiIHNlY3Rpb24uIEVhY2ggZW50cnkgaW4gdGhpcyBsaXN0IHNob3VsZCBoYXZlIGEKICAjICJmYW1pbHkiIGtleSB3aXRoIHRoZSBmb250IGZhbWlseSBuYW1lLCBhbmQgYSAiZm9udHMiIGtleSB3aXRoIGEKICAjIGxpc3QgZ2l2aW5nIHRoZSBhc3NldCBhbmQgb3RoZXIgZGVzY3JpcHRvcnMgZm9yIHRoZSBmb250LiBGb3IKICAjIGV4YW1wbGU6CiAgIyBmb250czoKICAjICAgLSBmYW1pbHk6IFNjaHlsZXIKICAjICAgICBmb250czoKICAjICAgICAgIC0gYXNzZXQ6IGZvbnRzL1NjaHlsZXItUmVndWxhci50dGYKICAjICAgICAgIC0gYXNzZXQ6IGZvbnRzL1NjaHlsZXItSXRhbGljLnR0ZgogICMgICAgICAgICBzdHlsZTogaXRhbGljCiAgIyAgIC0gZmFtaWx5OiBUcmFqYW4gUHJvCiAgIyAgICAgZm9udHM6CiAgIyAgICAgICAtIGFzc2V0OiBmb250cy9UcmFqYW5Qcm8udHRmCiAgIyAgICAgICAtIGFzc2V0OiBmb250cy9UcmFqYW5Qcm9fQm9sZC50dGYKICAjICAgICAgICAgd2VpZ2h0OiA3MDAKICAjCiAgIyBGb3IgZGV0YWlscyByZWdhcmRpbmcgZm9udHMgaW4gcGFja2FnZXMsIHNlZQogICMgaHR0cHM6Ly9mbHV0dGVyLmRldi9jdXN0b20tZm9udHMvI2Zyb20tcGFja2FnZXMKe3svbWFjb3N9fXt7I3dlYn19bmFtZToge3twcm9qZWN0X25hbWV9fV91aV93ZWIKZGVzY3JpcHRpb246IFdpZGdldHMgYW5kIHRoZW1lcyBpbXBsZW1lbnRpbmcge3twcm9qZWN0X25hbWUudGl0bGVDYXNlKCl9fSBkZXNpZ24gbGFuZ3VhZ2UgZm9yIFdlYi4KdmVyc2lvbjogMC4xLjAKcHVibGlzaF90bzogbm9uZQoKZW52aXJvbm1lbnQ6CiAgc2RrOiAiPj0zLjEuMCA8NC4wLjAiCiAgZmx1dHRlcjogIj49My4xMy4wIgoKZGVwZW5kZW5jaWVzOgogIGZsdXR0ZXI6CiAgICBzZGs6IGZsdXR0ZXIKICBmbHV0dGVyX2xvY2FsaXphdGlvbnM6CiAgICBzZGs6IGZsdXR0ZXIKICB0aGVtZV90YWlsb3JfYW5ub3RhdGlvbjogXjIuMC4wCiAge3twcm9qZWN0X25hbWV9fV91aToKCmRldl9kZXBlbmRlbmNpZXM6CiAgYWxjaGVtaXN0OiBeMC42LjEKICBidWlsZF9ydW5uZXI6IF4yLjQuNgogIGJ1aWxkX3ZlcmlmeTogXjMuMS4wCiAgZmx1dHRlcl9nZW5fcnVubmVyOiBeNS4zLjEKICBmbHV0dGVyX3Rlc3Q6CiAgICBzZGs6IGZsdXR0ZXIKICB0aGVtZV90YWlsb3I6IF4yLjAuMAoKIyBUaGUgZm9sbG93aW5nIHNlY3Rpb24gaXMgc3BlY2lmaWMgdG8gdGhlIEZsdXR0ZXJHZW4gcGFja2FnZS4KIyBTZWU6IGh0dHBzOi8vcHViLmRldi9wYWNrYWdlcy9mbHV0dGVyX2dlbiNjb25maWd1cmF0aW9uLWZpbGUKZmx1dHRlcl9nZW46CiAgb3V0cHV0OiBsaWIvc3JjLwogICMgVG8gYWRkIHN1cHBvcnQgZm9yIHN2ZyB2aWEgZmx1dHRlcl9zdmcgcGFja2FnZQogICMgaW50ZWdyYXRpb25zOgogICMgICBmbHV0dGVyX3N2ZzogdHJ1ZQogIGFzc2V0czoKICAgIG91dHB1dHM6CiAgICAgIHBhY2thZ2VfcGFyYW1ldGVyX2VuYWJsZWQ6IHRydWUKCiMgVGhlIGZvbGxvd2luZyBzZWN0aW9uIGlzIHNwZWNpZmljIHRvIEZsdXR0ZXIgcGFja2FnZXMuCmZsdXR0ZXI6CiAgIyBUaGUgZm9sbG93aW5nIGxpbmUgZW5zdXJlcyB0aGF0IHRoZSBNYXRlcmlhbCBJY29ucyBmb250IGlzCiAgIyBpbmNsdWRlZCB3aXRoIHlvdXIgYXBwbGljYXRpb24sIHNvIHRoYXQgeW91IGNhbiB1c2UgdGhlIGljb25zIGluCiAgIyB0aGUgbWF0ZXJpYWwgSWNvbnMgY2xhc3MuCiAgdXNlcy1tYXRlcmlhbC1kZXNpZ246IHRydWUKICAjIFRvIGFkZCBhc3NldHMgdG8geW91ciBwYWNrYWdlLCBhZGQgYW4gYXNzZXRzIHNlY3Rpb24sIGxpa2UgdGhpczoKICAjIGFzc2V0czoKICAjICAgLSBpbWFnZXMvYV9kb3RfYnVyci5qcGVnCiAgIyAgIC0gaW1hZ2VzL2FfZG90X2hhbS5qcGVnCiAgIwogICMgRm9yIGRldGFpbHMgcmVnYXJkaW5nIGFzc2V0cyBpbiBwYWNrYWdlcywgc2VlCiAgIyBodHRwczovL2ZsdXR0ZXIuZGV2L2Fzc2V0cy1hbmQtaW1hZ2VzLyNmcm9tLXBhY2thZ2VzCiAgIwogICMgQW4gaW1hZ2UgYXNzZXQgY2FuIHJlZmVyIHRvIG9uZSBvciBtb3JlIHJlc29sdXRpb24tc3BlY2lmaWMgInZhcmlhbnRzIiwgc2VlCiAgIyBodHRwczovL2ZsdXR0ZXIuZGV2L2Fzc2V0cy1hbmQtaW1hZ2VzLyNyZXNvbHV0aW9uLWF3YXJlCgogICMgVG8gYWRkIGN1c3RvbSBmb250cyB0byB5b3VyIHBhY2thZ2UsIGFkZCBhIGZvbnRzIHNlY3Rpb24gaGVyZSwKICAjIGluIHRoaXMgImZsdXR0ZXIiIHNlY3Rpb24uIEVhY2ggZW50cnkgaW4gdGhpcyBsaXN0IHNob3VsZCBoYXZlIGEKICAjICJmYW1pbHkiIGtleSB3aXRoIHRoZSBmb250IGZhbWlseSBuYW1lLCBhbmQgYSAiZm9udHMiIGtleSB3aXRoIGEKICAjIGxpc3QgZ2l2aW5nIHRoZSBhc3NldCBhbmQgb3RoZXIgZGVzY3JpcHRvcnMgZm9yIHRoZSBmb250LiBGb3IKICAjIGV4YW1wbGU6CiAgIyBmb250czoKICAjICAgLSBmYW1pbHk6IFNjaHlsZXIKICAjICAgICBmb250czoKICAjICAgICAgIC0gYXNzZXQ6IGZvbnRzL1NjaHlsZXItUmVndWxhci50dGYKICAjICAgICAgIC0gYXNzZXQ6IGZvbnRzL1NjaHlsZXItSXRhbGljLnR0ZgogICMgICAgICAgICBzdHlsZTogaXRhbGljCiAgIyAgIC0gZmFtaWx5OiBUcmFqYW4gUHJvCiAgIyAgICAgZm9udHM6CiAgIyAgICAgICAtIGFzc2V0OiBmb250cy9UcmFqYW5Qcm8udHRmCiAgIyAgICAgICAtIGFzc2V0OiBmb250cy9UcmFqYW5Qcm9fQm9sZC50dGYKICAjICAgICAgICAgd2VpZ2h0OiA3MDAKICAjCiAgIyBGb3IgZGV0YWlscyByZWdhcmRpbmcgZm9udHMgaW4gcGFja2FnZXMsIHNlZQogICMgaHR0cHM6Ly9mbHV0dGVyLmRldi9jdXN0b20tZm9udHMvI2Zyb20tcGFja2FnZXMKe3svd2VifX17eyN3aW5kb3dzfX1uYW1lOiB7e3Byb2plY3RfbmFtZX19X3VpX3dpbmRvd3MKZGVzY3JpcHRpb246IFdpZGdldHMgYW5kIHRoZW1lcyBpbXBsZW1lbnRpbmcge3twcm9qZWN0X25hbWUudGl0bGVDYXNlKCl9fSBkZXNpZ24gbGFuZ3VhZ2UgZm9yIFdpbmRvd3MuCnZlcnNpb246IDAuMS4wCnB1Ymxpc2hfdG86IG5vbmUKCmVudmlyb25tZW50OgogIHNkazogIj49My4xLjAgPDQuMC4wIgogIGZsdXR0ZXI6ICI+PTMuMTMuMCIKCmRlcGVuZGVuY2llczoKICBmbHVlbnRfdWk6IF40LjcuMwogIGZsdXR0ZXI6CiAgICBzZGs6IGZsdXR0ZXIKICBmbHV0dGVyX2xvY2FsaXphdGlvbnM6CiAgICBzZGs6IGZsdXR0ZXIKICB0aGVtZV90YWlsb3JfYW5ub3RhdGlvbjogXjIuMC4wCiAge3twcm9qZWN0X25hbWV9fV91aToKCmRldl9kZXBlbmRlbmNpZXM6CiAgYWxjaGVtaXN0OiBeMC42LjEKICBidWlsZF9ydW5uZXI6IF4yLjQuNgogIGJ1aWxkX3ZlcmlmeTogXjMuMS4wCiAgZmx1dHRlcl9nZW5fcnVubmVyOiBeNS4zLjEKICBmbHV0dGVyX3Rlc3Q6CiAgICBzZGs6IGZsdXR0ZXIKICB0aGVtZV90YWlsb3I6IF4yLjAuMAoKIyBUaGUgZm9sbG93aW5nIHNlY3Rpb24gaXMgc3BlY2lmaWMgdG8gdGhlIEZsdXR0ZXJHZW4gcGFja2FnZS4KIyBTZWU6IGh0dHBzOi8vcHViLmRldi9wYWNrYWdlcy9mbHV0dGVyX2dlbiNjb25maWd1cmF0aW9uLWZpbGUKZmx1dHRlcl9nZW46CiAgb3V0cHV0OiBsaWIvc3JjLwogICMgVG8gYWRkIHN1cHBvcnQgZm9yIHN2ZyB2aWEgZmx1dHRlcl9zdmcgcGFja2FnZQogICMgaW50ZWdyYXRpb25zOgogICMgICBmbHV0dGVyX3N2ZzogdHJ1ZQogIGFzc2V0czoKICAgIG91dHB1dHM6CiAgICAgIHBhY2thZ2VfcGFyYW1ldGVyX2VuYWJsZWQ6IHRydWUKCiMgVGhlIGZvbGxvd2luZyBzZWN0aW9uIGlzIHNwZWNpZmljIHRvIEZsdXR0ZXIgcGFja2FnZXMuCmZsdXR0ZXI6CiAgIyBUaGUgZm9sbG93aW5nIGxpbmUgZW5zdXJlcyB0aGF0IHRoZSBNYXRlcmlhbCBJY29ucyBmb250IGlzCiAgIyBpbmNsdWRlZCB3aXRoIHlvdXIgYXBwbGljYXRpb24sIHNvIHRoYXQgeW91IGNhbiB1c2UgdGhlIGljb25zIGluCiAgIyB0aGUgbWF0ZXJpYWwgSWNvbnMgY2xhc3MuCiAgdXNlcy1tYXRlcmlhbC1kZXNpZ246IHRydWUKICAjIFRvIGFkZCBhc3NldHMgdG8geW91ciBwYWNrYWdlLCBhZGQgYW4gYXNzZXRzIHNlY3Rpb24sIGxpa2UgdGhpczoKICAjIGFzc2V0czoKICAjICAgLSBpbWFnZXMvYV9kb3RfYnVyci5qcGVnCiAgIyAgIC0gaW1hZ2VzL2FfZG90X2hhbS5qcGVnCiAgIwogICMgRm9yIGRldGFpbHMgcmVnYXJkaW5nIGFzc2V0cyBpbiBwYWNrYWdlcywgc2VlCiAgIyBodHRwczovL2ZsdXR0ZXIuZGV2L2Fzc2V0cy1hbmQtaW1hZ2VzLyNmcm9tLXBhY2thZ2VzCiAgIwogICMgQW4gaW1hZ2UgYXNzZXQgY2FuIHJlZmVyIHRvIG9uZSBvciBtb3JlIHJlc29sdXRpb24tc3BlY2lmaWMgInZhcmlhbnRzIiwgc2VlCiAgIyBodHRwczovL2ZsdXR0ZXIuZGV2L2Fzc2V0cy1hbmQtaW1hZ2VzLyNyZXNvbHV0aW9uLWF3YXJlCgogICMgVG8gYWRkIGN1c3RvbSBmb250cyB0byB5b3VyIHBhY2thZ2UsIGFkZCBhIGZvbnRzIHNlY3Rpb24gaGVyZSwKICAjIGluIHRoaXMgImZsdXR0ZXIiIHNlY3Rpb24uIEVhY2ggZW50cnkgaW4gdGhpcyBsaXN0IHNob3VsZCBoYXZlIGEKICAjICJmYW1pbHkiIGtleSB3aXRoIHRoZSBmb250IGZhbWlseSBuYW1lLCBhbmQgYSAiZm9udHMiIGtleSB3aXRoIGEKICAjIGxpc3QgZ2l2aW5nIHRoZSBhc3NldCBhbmQgb3RoZXIgZGVzY3JpcHRvcnMgZm9yIHRoZSBmb250LiBGb3IKICAjIGV4YW1wbGU6CiAgIyBmb250czoKICAjICAgLSBmYW1pbHk6IFNjaHlsZXIKICAjICAgICBmb250czoKICAjICAgICAgIC0gYXNzZXQ6IGZvbnRzL1NjaHlsZXItUmVndWxhci50dGYKICAjICAgICAgIC0gYXNzZXQ6IGZvbnRzL1NjaHlsZXItSXRhbGljLnR0ZgogICMgICAgICAgICBzdHlsZTogaXRhbGljCiAgIyAgIC0gZmFtaWx5OiBUcmFqYW4gUHJvCiAgIyAgICAgZm9udHM6CiAgIyAgICAgICAtIGFzc2V0OiBmb250cy9UcmFqYW5Qcm8udHRmCiAgIyAgICAgICAtIGFzc2V0OiBmb250cy9UcmFqYW5Qcm9fQm9sZC50dGYKICAjICAgICAgICAgd2VpZ2h0OiA3MDAKICAjCiAgIyBGb3IgZGV0YWlscyByZWdhcmRpbmcgZm9udHMgaW4gcGFja2FnZXMsIHNlZQogICMgaHR0cHM6Ly9mbHV0dGVyLmRldi9jdXN0b20tZm9udHMvI2Zyb20tcGFja2FnZXMKe3svd2luZG93c319e3sjbW9iaWxlfX1uYW1lOiB7e3Byb2plY3RfbmFtZX19X3VpX21vYmlsZQpkZXNjcmlwdGlvbjogV2lkZ2V0cyBhbmQgdGhlbWVzIGltcGxlbWVudGluZyB7e3Byb2plY3RfbmFtZS50aXRsZUNhc2UoKX19IGRlc2lnbiBsYW5ndWFnZSBmb3IgTW9iaWxlLgp2ZXJzaW9uOiAwLjEuMApwdWJsaXNoX3RvOiBub25lCgplbnZpcm9ubWVudDoKICBzZGs6ICI+PTMuMS4wIDw0LjAuMCIKICBmbHV0dGVyOiAiPj0zLjEzLjAiCgpkZXBlbmRlbmNpZXM6CiAgZmx1dHRlcjoKICAgIHNkazogZmx1dHRlcgogIGZsdXR0ZXJfbG9jYWxpemF0aW9uczoKICAgIHNkazogZmx1dHRlcgogIHRoZW1lX3RhaWxvcl9hbm5vdGF0aW9uOiBeMi4wLjAKICB7e3Byb2plY3RfbmFtZX19X3VpOgoKZGV2X2RlcGVuZGVuY2llczoKICBhbGNoZW1pc3Q6IF4wLjYuMQogIGJ1aWxkX3J1bm5lcjogXjIuNC42CiAgYnVpbGRfdmVyaWZ5OiBeMy4xLjAKICBmbHV0dGVyX2dlbl9ydW5uZXI6IF41LjMuMQogIGZsdXR0ZXJfdGVzdDoKICAgIHNkazogZmx1dHRlcgogIHRoZW1lX3RhaWxvcjogXjIuMC4wCgojIFRoZSBmb2xsb3dpbmcgc2VjdGlvbiBpcyBzcGVjaWZpYyB0byB0aGUgRmx1dHRlckdlbiBwYWNrYWdlLgojIFNlZTogaHR0cHM6Ly9wdWIuZGV2L3BhY2thZ2VzL2ZsdXR0ZXJfZ2VuI2NvbmZpZ3VyYXRpb24tZmlsZQpmbHV0dGVyX2dlbjoKICBvdXRwdXQ6IGxpYi9zcmMvCiAgIyBUbyBhZGQgc3VwcG9ydCBmb3Igc3ZnIHZpYSBmbHV0dGVyX3N2ZyBwYWNrYWdlCiAgIyBpbnRlZ3JhdGlvbnM6CiAgIyAgIGZsdXR0ZXJfc3ZnOiB0cnVlCiAgYXNzZXRzOgogICAgb3V0cHV0czoKICAgICAgcGFja2FnZV9wYXJhbWV0ZXJfZW5hYmxlZDogdHJ1ZQoKIyBUaGUgZm9sbG93aW5nIHNlY3Rpb24gaXMgc3BlY2lmaWMgdG8gRmx1dHRlciBwYWNrYWdlcy4KZmx1dHRlcjoKICAjIFRoZSBmb2xsb3dpbmcgbGluZSBlbnN1cmVzIHRoYXQgdGhlIE1hdGVyaWFsIEljb25zIGZvbnQgaXMKICAjIGluY2x1ZGVkIHdpdGggeW91ciBhcHBsaWNhdGlvbiwgc28gdGhhdCB5b3UgY2FuIHVzZSB0aGUgaWNvbnMgaW4KICAjIHRoZSBtYXRlcmlhbCBJY29ucyBjbGFzcy4KICB1c2VzLW1hdGVyaWFsLWRlc2lnbjogdHJ1ZQogICMgVG8gYWRkIGFzc2V0cyB0byB5b3VyIHBhY2thZ2UsIGFkZCBhbiBhc3NldHMgc2VjdGlvbiwgbGlrZSB0aGlzOgogICMgYXNzZXRzOgogICMgICAtIGltYWdlcy9hX2RvdF9idXJyLmpwZWcKICAjICAgLSBpbWFnZXMvYV9kb3RfaGFtLmpwZWcKICAjCiAgIyBGb3IgZGV0YWlscyByZWdhcmRpbmcgYXNzZXRzIGluIHBhY2thZ2VzLCBzZWUKICAjIGh0dHBzOi8vZmx1dHRlci5kZXYvYXNzZXRzLWFuZC1pbWFnZXMvI2Zyb20tcGFja2FnZXMKICAjCiAgIyBBbiBpbWFnZSBhc3NldCBjYW4gcmVmZXIgdG8gb25lIG9yIG1vcmUgcmVzb2x1dGlvbi1zcGVjaWZpYyAidmFyaWFudHMiLCBzZWUKICAjIGh0dHBzOi8vZmx1dHRlci5kZXYvYXNzZXRzLWFuZC1pbWFnZXMvI3Jlc29sdXRpb24tYXdhcmUKCiAgIyBUbyBhZGQgY3VzdG9tIGZvbnRzIHRvIHlvdXIgcGFja2FnZSwgYWRkIGEgZm9udHMgc2VjdGlvbiBoZXJlLAogICMgaW4gdGhpcyAiZmx1dHRlciIgc2VjdGlvbi4gRWFjaCBlbnRyeSBpbiB0aGlzIGxpc3Qgc2hvdWxkIGhhdmUgYQogICMgImZhbWlseSIga2V5IHdpdGggdGhlIGZvbnQgZmFtaWx5IG5hbWUsIGFuZCBhICJmb250cyIga2V5IHdpdGggYQogICMgbGlzdCBnaXZpbmcgdGhlIGFzc2V0IGFuZCBvdGhlciBkZXNjcmlwdG9ycyBmb3IgdGhlIGZvbnQuIEZvcgogICMgZXhhbXBsZToKICAjIGZvbnRzOgogICMgICAtIGZhbWlseTogU2NoeWxlcgogICMgICAgIGZvbnRzOgogICMgICAgICAgLSBhc3NldDogZm9udHMvU2NoeWxlci1SZWd1bGFyLnR0ZgogICMgICAgICAgLSBhc3NldDogZm9udHMvU2NoeWxlci1JdGFsaWMudHRmCiAgIyAgICAgICAgIHN0eWxlOiBpdGFsaWMKICAjICAgLSBmYW1pbHk6IFRyYWphbiBQcm8KICAjICAgICBmb250czoKICAjICAgICAgIC0gYXNzZXQ6IGZvbnRzL1RyYWphblByby50dGYKICAjICAgICAgIC0gYXNzZXQ6IGZvbnRzL1RyYWphblByb19Cb2xkLnR0ZgogICMgICAgICAgICB3ZWlnaHQ6IDcwMAogICMKICAjIEZvciBkZXRhaWxzIHJlZ2FyZGluZyBmb250cyBpbiBwYWNrYWdlcywgc2VlCiAgIyBodHRwczovL2ZsdXR0ZXIuZGV2L2N1c3RvbS1mb250cy8jZnJvbS1wYWNrYWdlcwp7ey9tb2JpbGV9fQ==", "type": "text" }, { @@ -81,12 +75,7 @@ final platformUiPackageBundle = MasonBundle.fromJson({ "e3sjYW5kcm9pZH19IyBtZWxvc19tYW5hZ2VkX2RlcGVuZGVuY3lfb3ZlcnJpZGVzOiB7e3Byb2plY3RfbmFtZX19X3VpCmRlcGVuZGVuY3lfb3ZlcnJpZGVzOgogIHt7cHJvamVjdF9uYW1lfX1fdWk6CiAgICBwYXRoOiAuLi97e3Byb2plY3RfbmFtZX19X3VpCnt7L2FuZHJvaWR9fXt7I2lvc319IyBtZWxvc19tYW5hZ2VkX2RlcGVuZGVuY3lfb3ZlcnJpZGVzOiB7e3Byb2plY3RfbmFtZX19X3VpCmRlcGVuZGVuY3lfb3ZlcnJpZGVzOgogIHt7cHJvamVjdF9uYW1lfX1fdWk6CiAgICBwYXRoOiAuLi97e3Byb2plY3RfbmFtZX19X3VpCnt7L2lvc319e3sjbGludXh9fSMgbWVsb3NfbWFuYWdlZF9kZXBlbmRlbmN5X292ZXJyaWRlczoge3twcm9qZWN0X25hbWV9fV91aQpkZXBlbmRlbmN5X292ZXJyaWRlczoKICB7e3Byb2plY3RfbmFtZX19X3VpOgogICAgcGF0aDogLi4ve3twcm9qZWN0X25hbWV9fV91aQp7ey9saW51eH19e3sjbWFjb3N9fSMgbWVsb3NfbWFuYWdlZF9kZXBlbmRlbmN5X292ZXJyaWRlczoge3twcm9qZWN0X25hbWV9fV91aQpkZXBlbmRlbmN5X292ZXJyaWRlczoKICB7e3Byb2plY3RfbmFtZX19X3VpOgogICAgcGF0aDogLi4ve3twcm9qZWN0X25hbWV9fV91aQp7ey9tYWNvc319e3sjd2VifX0jIG1lbG9zX21hbmFnZWRfZGVwZW5kZW5jeV9vdmVycmlkZXM6IHt7cHJvamVjdF9uYW1lfX1fdWkKZGVwZW5kZW5jeV9vdmVycmlkZXM6CiAge3twcm9qZWN0X25hbWV9fV91aToKICAgIHBhdGg6IC4uL3t7cHJvamVjdF9uYW1lfX1fdWkKe3svd2VifX17eyN3aW5kb3dzfX0jIG1lbG9zX21hbmFnZWRfZGVwZW5kZW5jeV9vdmVycmlkZXM6IHt7cHJvamVjdF9uYW1lfX1fdWkKZGVwZW5kZW5jeV9vdmVycmlkZXM6CiAge3twcm9qZWN0X25hbWV9fV91aToKICAgIHBhdGg6IC4uL3t7cHJvamVjdF9uYW1lfX1fdWkKe3svd2luZG93c319e3sjbW9iaWxlfX0jIG1lbG9zX21hbmFnZWRfZGVwZW5kZW5jeV9vdmVycmlkZXM6IHt7cHJvamVjdF9uYW1lfX1fdWkKZGVwZW5kZW5jeV9vdmVycmlkZXM6CiAge3twcm9qZWN0X25hbWV9fV91aToKICAgIHBhdGg6IC4uL3t7cHJvamVjdF9uYW1lfX1fdWkKe3svbW9iaWxlfX0=", "type": "text" }, - { - "path": "README.md", - "data": - "PCEtLQpUaGlzIFJFQURNRSBkZXNjcmliZXMgdGhlIHBhY2thZ2UuIElmIHlvdSBwdWJsaXNoIHRoaXMgcGFja2FnZSB0byBwdWIuZGV2LAp0aGlzIFJFQURNRSdzIGNvbnRlbnRzIGFwcGVhciBvbiB0aGUgbGFuZGluZyBwYWdlIGZvciB5b3VyIHBhY2thZ2UuCgpGb3IgaW5mb3JtYXRpb24gYWJvdXQgaG93IHRvIHdyaXRlIGEgZ29vZCBwYWNrYWdlIFJFQURNRSwgc2VlIHRoZSBndWlkZSBmb3IKW3dyaXRpbmcgcGFja2FnZSBwYWdlc10oaHR0cHM6Ly9kYXJ0LmRldi9ndWlkZXMvbGlicmFyaWVzL3dyaXRpbmctcGFja2FnZS1wYWdlcykuCgpGb3IgZ2VuZXJhbCBpbmZvcm1hdGlvbiBhYm91dCBkZXZlbG9waW5nIHBhY2thZ2VzLCBzZWUgdGhlIERhcnQgZ3VpZGUgZm9yCltjcmVhdGluZyBwYWNrYWdlc10oaHR0cHM6Ly9kYXJ0LmRldi9ndWlkZXMvbGlicmFyaWVzL2NyZWF0ZS1saWJyYXJ5LXBhY2thZ2VzKQphbmQgdGhlIEZsdXR0ZXIgZ3VpZGUgZm9yCltkZXZlbG9waW5nIHBhY2thZ2VzIGFuZCBwbHVnaW5zXShodHRwczovL2ZsdXR0ZXIuZGV2L2RldmVsb3BpbmctcGFja2FnZXMpLgotLT4KClRPRE86IFB1dCBhIHNob3J0IGRlc2NyaXB0aW9uIG9mIHRoZSBwYWNrYWdlIGhlcmUgdGhhdCBoZWxwcyBwb3RlbnRpYWwgdXNlcnMKa25vdyB3aGV0aGVyIHRoaXMgcGFja2FnZSBtaWdodCBiZSB1c2VmdWwgZm9yIHRoZW0uCgojIyBGZWF0dXJlcwoKVE9ETzogTGlzdCB3aGF0IHlvdXIgcGFja2FnZSBjYW4gZG8uIE1heWJlIGluY2x1ZGUgaW1hZ2VzLCBnaWZzLCBvciB2aWRlb3MuCgojIyBHZXR0aW5nIHN0YXJ0ZWQKClRPRE86IExpc3QgcHJlcmVxdWlzaXRlcyBhbmQgcHJvdmlkZSBvciBwb2ludCB0byBpbmZvcm1hdGlvbiBvbiBob3cgdG8Kc3RhcnQgdXNpbmcgdGhlIHBhY2thZ2UuCgojIyBVc2FnZQoKVE9ETzogSW5jbHVkZSBzaG9ydCBhbmQgdXNlZnVsIGV4YW1wbGVzIGZvciBwYWNrYWdlIHVzZXJzLiBBZGQgbG9uZ2VyIGV4YW1wbGVzCnRvIGAvZXhhbXBsZWAgZm9sZGVyLgoKYGBgZGFydApjb25zdCBsaWtlID0gJ3NhbXBsZSc7CmBgYAoKIyMgQWRkaXRpb25hbCBpbmZvcm1hdGlvbgoKVE9ETzogVGVsbCB1c2VycyBtb3JlIGFib3V0IHRoZSBwYWNrYWdlOiB3aGVyZSB0byBmaW5kIG1vcmUgaW5mb3JtYXRpb24sIGhvdyB0bwpjb250cmlidXRlIHRvIHRoZSBwYWNrYWdlLCBob3cgdG8gZmlsZSBpc3N1ZXMsIHdoYXQgcmVzcG9uc2UgdGhleSBjYW4gZXhwZWN0CmZyb20gdGhlIHBhY2thZ2UgYXV0aG9ycywgYW5kIG1vcmUuCg==", - "type": "text" - }, + {"path": "README.md", "data": "", "type": "text"}, { "path": "test/ensure_build_test.dart", "data": diff --git a/packages/rapid_cli/lib/src/project/bundles/platform_widget_feature_package_bundle.dart b/packages/rapid_cli/lib/src/project/bundles/platform_widget_feature_package_bundle.dart index 16cb8ecc0..186cf1fc2 100644 --- a/packages/rapid_cli/lib/src/project/bundles/platform_widget_feature_package_bundle.dart +++ b/packages/rapid_cli/lib/src/project/bundles/platform_widget_feature_package_bundle.dart @@ -9,18 +9,18 @@ final platformWidgetFeaturePackageBundle = { "path": ".gitignore", "data": - "IyBNaXNjZWxsYW5lb3VzCiouY2xhc3MKKi5sb2cKKi5weWMKKi5zd3AKLkRTX1N0b3JlCi5hdG9tLwouYnVpbGRsb2cvCi5oaXN0b3J5Ci5zdm4vCm1pZ3JhdGVfd29ya2luZ19kaXIvCgojIEludGVsbGlKIHJlbGF0ZWQKKi5pbWwKKi5pcHIKKi5pd3MKLmlkZWEvCgojIFRoZSAudnNjb2RlIGZvbGRlciBjb250YWlucyBsYXVuY2ggY29uZmlndXJhdGlvbiBhbmQgdGFza3MgeW91IGNvbmZpZ3VyZSBpbgojIFZTIENvZGUgd2hpY2ggeW91IG1heSB3aXNoIHRvIGJlIGluY2x1ZGVkIGluIHZlcnNpb24gY29udHJvbCwgc28gdGhpcyBsaW5lCiMgaXMgY29tbWVudGVkIG91dCBieSBkZWZhdWx0LgojLnZzY29kZS8KCiMgRmx1dHRlci9EYXJ0L1B1YiByZWxhdGVkCioqL2RvYy9hcGkvCioqL2lvcy9GbHV0dGVyLy5sYXN0X2J1aWxkX2lkCi5kYXJ0X3Rvb2wvCi5mbHV0dGVyLXBsdWdpbnMKLmZsdXR0ZXItcGx1Z2lucy1kZXBlbmRlbmNpZXMKLnBhY2thZ2VzCi5wdWItY2FjaGUvCi5wdWIvCi9idWlsZC8KL2NvdmVyYWdlCgojIEFsY2hlbWlzdAp0ZXN0LyoqL2dvbGRlbnMvKiovKi4qCnRlc3QvKiovZmFpbHVyZXMvKiovKi4qCiF0ZXN0LyoqL2dvbGRlbnMvY2kvKi4q", + "IyBNaXNjZWxsYW5lb3VzCiouY2xhc3MKKi5sb2cKKi5weWMKKi5zd3AKLkRTX1N0b3JlCi5hdG9tLwouYnVpbGRsb2cvCi5oaXN0b3J5Ci5zdm4vCm1pZ3JhdGVfd29ya2luZ19kaXIvCgojIEludGVsbGlKIHJlbGF0ZWQKKi5pbWwKKi5pcHIKKi5pd3MKLmlkZWEvCgojIEZsdXR0ZXIvRGFydC9QdWIgcmVsYXRlZAoqKi9kb2MvYXBpLwoqKi9pb3MvRmx1dHRlci8ubGFzdF9idWlsZF9pZAouZGFydF90b29sLwouZmx1dHRlci1wbHVnaW5zCi5mbHV0dGVyLXBsdWdpbnMtZGVwZW5kZW5jaWVzCi5wYWNrYWdlcwoucHViLWNhY2hlLwoucHViLwovYnVpbGQvCi9jb3ZlcmFnZQoKIyBBbGNoZW1pc3QKdGVzdC8qKi9nb2xkZW5zLyoqLyouKgp0ZXN0LyoqL2ZhaWx1cmVzLyoqLyouKgohdGVzdC8qKi9nb2xkZW5zL2NpLyouKg==", "type": "text" }, { "path": "analysis_options.yaml", "data": - "aW5jbHVkZTogLi4vLi4vLi4vLi4vLi4vYW5hbHlzaXNfb3B0aW9ucy55YW1sCiMgVW5jb21tZW50IHRoZSBmb2xsb3dpbmcgc2VjdGlvbiB0byBzcGVjaWZ5IGFkZGl0aW9uYWwgcnVsZXMuCgojIGxpbnRlcjoKIyAgIHJ1bGVzOgojICAgICAtIGNhbWVsX2Nhc2VfdHlwZXMK", + "aW5jbHVkZTogLi4vLi4vLi4vLi4vLi4vYW5hbHlzaXNfb3B0aW9ucy55YW1sCg==", "type": "text" }, { "path": "CHANGELOG.md", - "data": "IyMgMC4wLjEKCiogVE9ETzogRGVzY3JpYmUgaW5pdGlhbCByZWxlYXNlLgo=", + "data": "IyMgMC4xLjAKCiogVE9ETzogRGVzY3JpYmUgaW5pdGlhbCByZWxlYXNlLgo=", "type": "text" }, { @@ -58,15 +58,10 @@ final platformWidgetFeaturePackageBundle = "Ly8vIFRoZSB7e25hbWUudGl0bGVDYXNlKCl9fSBmZWF0dXJlIG9mIHt7cHJvamVjdF9uYW1lLnRpdGxlQ2FzZSgpfX0gZm9yIHt7I2FuZHJvaWR9fUFuZHJvaWR7ey9hbmRyb2lkfX17eyNpb3N9fWlPU3t7L2lvc319e3sjbGludXh9fUxpbnV4e3svbGludXh9fXt7I21hY29zfX1tYWNPU3t7L21hY29zfX17eyN3ZWJ9fVdlYnt7L3dlYn19e3sjd2luZG93c319V2luZG93c3t7L3dpbmRvd3N9fXt7I21vYmlsZX19TW9iaWxle3svbW9iaWxlfX0uCi8vLwovLy8gVG8gdXNlLCBpbXBvcnQgYHBhY2thZ2U6e3twcm9qZWN0X25hbWV9fV97e3BsYXRmb3JtfX1fe3tuYW1lfX0ve3twcm9qZWN0X25hbWV9fV97e3BsYXRmb3JtfX1fe3tuYW1lfX0uZGFydGAuCmxpYnJhcnkge3twcm9qZWN0X25hbWV9fV97e3BsYXRmb3JtfX1fe3tuYW1lfX07CgpleHBvcnQgJ3NyYy9pbmplY3Rpb24ubW9kdWxlLmRhcnQnOwpleHBvcnQgJ3NyYy9wcmVzZW50YXRpb24vcHJlc2VudGF0aW9uLmRhcnQnOwo=", "type": "text" }, - { - "path": "LICENSE", - "data": "VE9ETzogQWRkIHlvdXIgbGljZW5zZSBoZXJlLgo=", - "type": "text" - }, { "path": "pubspec.yaml", "data": - "bmFtZToge3twcm9qZWN0X25hbWV9fV97e3BsYXRmb3JtfX1fe3tuYW1lfX0KZGVzY3JpcHRpb246IHt7ZGVzY3JpcHRpb259fQp2ZXJzaW9uOiAwLjAuMQpwdWJsaXNoX3RvOiBub25lCgplbnZpcm9ubWVudDoKICBzZGs6ICI+PTMuMS4wIDw0LjAuMCIKICBmbHV0dGVyOiAiPj0zLjEzLjAiCgpkZXBlbmRlbmNpZXM6CiAgZmx1dHRlcjoKICAgIHNkazogZmx1dHRlcgogIG1ldGE6IF4xLjkuMQogIGJsb2M6IF44LjEuMgogIGZyZWV6ZWRfYW5ub3RhdGlvbjogXjIuNC4xCiAgZmx1dHRlcl9ibG9jOiBeOC4xLjMKICBpbmplY3RhYmxlOiBeMi4zLjAKICB7e3Byb2plY3RfbmFtZX19X2RpOgogIHt7cHJvamVjdF9uYW1lfX1fZG9tYWluOgogIHt7cHJvamVjdF9uYW1lfX1fdWlfe3twbGF0Zm9ybX19OgogIHt7cHJvamVjdF9uYW1lfX1fe3twbGF0Zm9ybX19X2xvY2FsaXphdGlvbjoKICB7e3Byb2plY3RfbmFtZX19X3t7cGxhdGZvcm19fV9uYXZpZ2F0aW9uOgoKZGV2X2RlcGVuZGVuY2llczoKICBmbHV0dGVyX3Rlc3Q6CiAgICBzZGs6IGZsdXR0ZXIKICBhbGNoZW1pc3Q6IF4wLjYuMQogIGF1dG9fcm91dGU6IF43LjguMgogIGJsb2NfdGVzdDogXjkuMS40CiAgbW9ja3RhaWw6IF4xLjAuMAogIGJ1aWxkX3J1bm5lcjogXjIuNC42CiAgZnJlZXplZDogXjIuNC4xCiAgaW5qZWN0YWJsZV9nZW5lcmF0b3I6IF4yLjQuMAogIGZsdXR0ZXJfZ2VuX3J1bm5lcjogXjUuMy4xCiAgYnVpbGRfdmVyaWZ5OiBeMy4xLjAKICB7e3Byb2plY3RfbmFtZX19X3t7cGxhdGZvcm19fV9hcHA6CgojIFRoZSBmb2xsb3dpbmcgc2VjdGlvbiBpcyBzcGVjaWZpYyB0byB0aGUgRmx1dHRlckdlbiBwYWNrYWdlLgojIFNlZTogaHR0cHM6Ly9wdWIuZGV2L3BhY2thZ2VzL2ZsdXR0ZXJfZ2VuI2NvbmZpZ3VyYXRpb24tZmlsZQpmbHV0dGVyX2dlbjoKICBvdXRwdXQ6IGxpYi9zcmMvCiAgIyBUbyBhZGQgc3VwcG9ydCBmb3Igc3ZnIHZpYSBmbHV0dGVyX3N2ZyBwYWNrYWdlCiAgIyBpbnRlZ3JhdGlvbnM6CiAgIyAgIGZsdXR0ZXJfc3ZnOiB0cnVlCgogIGFzc2V0czoKICAgIG91dHB1dHM6CiAgICAgIHBhY2thZ2VfcGFyYW1ldGVyX2VuYWJsZWQ6IHRydWUKCiMgVGhlIGZvbGxvd2luZyBzZWN0aW9uIGlzIHNwZWNpZmljIHRvIEZsdXR0ZXIgcGFja2FnZXMuCmZsdXR0ZXI6Cnt7Xmlvc319e3tebWFjb3N9fSAgIyBUaGUgZm9sbG93aW5nIGxpbmUgZW5zdXJlcyB0aGF0IHRoZSBNYXRlcmlhbCBJY29ucyBmb250IGlzCiAgIyBpbmNsdWRlZCB3aXRoIHlvdXIgYXBwbGljYXRpb24sIHNvIHRoYXQgeW91IGNhbiB1c2UgdGhlIGljb25zIGluCiAgIyB0aGUgbWF0ZXJpYWwgSWNvbnMgY2xhc3MuCiAgdXNlcy1tYXRlcmlhbC1kZXNpZ246IHRydWUKe3svbWFjb3N9fXt7L2lvc319ICAjIFRvIGFkZCBhc3NldHMgdG8geW91ciBwYWNrYWdlLCBhZGQgYW4gYXNzZXRzIHNlY3Rpb24sIGxpa2UgdGhpczoKICAjIGFzc2V0czoKICAjICAgLSBpbWFnZXMvYV9kb3RfYnVyci5qcGVnCiAgIyAgIC0gaW1hZ2VzL2FfZG90X2hhbS5qcGVnCiAgIwogICMgRm9yIGRldGFpbHMgcmVnYXJkaW5nIGFzc2V0cyBpbiBwYWNrYWdlcywgc2VlCiAgIyBodHRwczovL2ZsdXR0ZXIuZGV2L2Fzc2V0cy1hbmQtaW1hZ2VzLyNmcm9tLXBhY2thZ2VzCiAgIwogICMgQW4gaW1hZ2UgYXNzZXQgY2FuIHJlZmVyIHRvIG9uZSBvciBtb3JlIHJlc29sdXRpb24tc3BlY2lmaWMgInZhcmlhbnRzIiwgc2VlCiAgIyBodHRwczovL2ZsdXR0ZXIuZGV2L2Fzc2V0cy1hbmQtaW1hZ2VzLyNyZXNvbHV0aW9uLWF3YXJlCgogICMgVG8gYWRkIGN1c3RvbSBmb250cyB0byB5b3VyIHBhY2thZ2UsIGFkZCBhIGZvbnRzIHNlY3Rpb24gaGVyZSwKICAjIGluIHRoaXMgImZsdXR0ZXIiIHNlY3Rpb24uIEVhY2ggZW50cnkgaW4gdGhpcyBsaXN0IHNob3VsZCBoYXZlIGEKICAjICJmYW1pbHkiIGtleSB3aXRoIHRoZSBmb250IGZhbWlseSBuYW1lLCBhbmQgYSAiZm9udHMiIGtleSB3aXRoIGEKICAjIGxpc3QgZ2l2aW5nIHRoZSBhc3NldCBhbmQgb3RoZXIgZGVzY3JpcHRvcnMgZm9yIHRoZSBmb250LiBGb3IKICAjIGV4YW1wbGU6CiAgIyBmb250czoKICAjICAgLSBmYW1pbHk6IFNjaHlsZXIKICAjICAgICBmb250czoKICAjICAgICAgIC0gYXNzZXQ6IGZvbnRzL1NjaHlsZXItUmVndWxhci50dGYKICAjICAgICAgIC0gYXNzZXQ6IGZvbnRzL1NjaHlsZXItSXRhbGljLnR0ZgogICMgICAgICAgICBzdHlsZTogaXRhbGljCiAgIyAgIC0gZmFtaWx5OiBUcmFqYW4gUHJvCiAgIyAgICAgZm9udHM6CiAgIyAgICAgICAtIGFzc2V0OiBmb250cy9UcmFqYW5Qcm8udHRmCiAgIyAgICAgICAtIGFzc2V0OiBmb250cy9UcmFqYW5Qcm9fQm9sZC50dGYKICAjICAgICAgICAgd2VpZ2h0OiA3MDAKICAjCiAgIyBGb3IgZGV0YWlscyByZWdhcmRpbmcgZm9udHMgaW4gcGFja2FnZXMsIHNlZQogICMgaHR0cHM6Ly9mbHV0dGVyLmRldi9jdXN0b20tZm9udHMvI2Zyb20tcGFja2FnZXMK", + "bmFtZToge3twcm9qZWN0X25hbWV9fV97e3BsYXRmb3JtfX1fe3tuYW1lfX0KZGVzY3JpcHRpb246IHt7ZGVzY3JpcHRpb259fQp2ZXJzaW9uOiAwLjEuMApwdWJsaXNoX3RvOiBub25lCgplbnZpcm9ubWVudDoKICBzZGs6ICI+PTMuMS4wIDw0LjAuMCIKICBmbHV0dGVyOiAiPj0zLjEzLjAiCgpkZXBlbmRlbmNpZXM6CiAgYmxvYzogXjguMS4yCiAgZmx1dHRlcjoKICAgIHNkazogZmx1dHRlcgogIGZsdXR0ZXJfYmxvYzogXjguMS4zCiAgZnJlZXplZF9hbm5vdGF0aW9uOiBeMi40LjEKICBpbmplY3RhYmxlOiBeMi4zLjAKICBtZXRhOiBeMS45LjEKICB7e3Byb2plY3RfbmFtZX19X2RpOgogIHt7cHJvamVjdF9uYW1lfX1fZG9tYWluOgogIHt7cHJvamVjdF9uYW1lfX1fdWlfe3twbGF0Zm9ybX19OgogIHt7cHJvamVjdF9uYW1lfX1fe3twbGF0Zm9ybX19X2xvY2FsaXphdGlvbjoKICB7e3Byb2plY3RfbmFtZX19X3t7cGxhdGZvcm19fV9uYXZpZ2F0aW9uOgoKZGV2X2RlcGVuZGVuY2llczoKICBhbGNoZW1pc3Q6IF4wLjYuMQogIGF1dG9fcm91dGU6IF43LjguMgogIGJsb2NfdGVzdDogXjkuMS40CiAgYnVpbGRfcnVubmVyOiBeMi40LjYKICBidWlsZF92ZXJpZnk6IF4zLjEuMAogIGZsdXR0ZXJfZ2VuX3J1bm5lcjogXjUuMy4xCiAgZmx1dHRlcl90ZXN0OgogICAgc2RrOiBmbHV0dGVyCiAgZnJlZXplZDogXjIuNC4xCiAgaW5qZWN0YWJsZV9nZW5lcmF0b3I6IF4yLjQuMAogIG1vY2t0YWlsOiBeMS4wLjAKICB7e3Byb2plY3RfbmFtZX19X3t7cGxhdGZvcm19fV9hcHA6CgojIFRoZSBmb2xsb3dpbmcgc2VjdGlvbiBpcyBzcGVjaWZpYyB0byB0aGUgRmx1dHRlckdlbiBwYWNrYWdlLgojIFNlZTogaHR0cHM6Ly9wdWIuZGV2L3BhY2thZ2VzL2ZsdXR0ZXJfZ2VuI2NvbmZpZ3VyYXRpb24tZmlsZQpmbHV0dGVyX2dlbjoKICBvdXRwdXQ6IGxpYi9zcmMvCiAgIyBUbyBhZGQgc3VwcG9ydCBmb3Igc3ZnIHZpYSBmbHV0dGVyX3N2ZyBwYWNrYWdlCiAgIyBpbnRlZ3JhdGlvbnM6CiAgIyAgIGZsdXR0ZXJfc3ZnOiB0cnVlCiAgYXNzZXRzOgogICAgb3V0cHV0czoKICAgICAgcGFja2FnZV9wYXJhbWV0ZXJfZW5hYmxlZDogdHJ1ZQoKIyBUaGUgZm9sbG93aW5nIHNlY3Rpb24gaXMgc3BlY2lmaWMgdG8gRmx1dHRlciBwYWNrYWdlcy4KZmx1dHRlcjoKe3teaW9zfX17e15tYWNvc319ICAjIFRoZSBmb2xsb3dpbmcgbGluZSBlbnN1cmVzIHRoYXQgdGhlIE1hdGVyaWFsIEljb25zIGZvbnQgaXMKICAjIGluY2x1ZGVkIHdpdGggeW91ciBhcHBsaWNhdGlvbiwgc28gdGhhdCB5b3UgY2FuIHVzZSB0aGUgaWNvbnMgaW4KICAjIHRoZSBtYXRlcmlhbCBJY29ucyBjbGFzcy4KICB1c2VzLW1hdGVyaWFsLWRlc2lnbjogdHJ1ZQp7ey9tYWNvc319e3svaW9zfX0gICMgVG8gYWRkIGFzc2V0cyB0byB5b3VyIHBhY2thZ2UsIGFkZCBhbiBhc3NldHMgc2VjdGlvbiwgbGlrZSB0aGlzOgogICMgYXNzZXRzOgogICMgICAtIGltYWdlcy9hX2RvdF9idXJyLmpwZWcKICAjICAgLSBpbWFnZXMvYV9kb3RfaGFtLmpwZWcKICAjCiAgIyBGb3IgZGV0YWlscyByZWdhcmRpbmcgYXNzZXRzIGluIHBhY2thZ2VzLCBzZWUKICAjIGh0dHBzOi8vZmx1dHRlci5kZXYvYXNzZXRzLWFuZC1pbWFnZXMvI2Zyb20tcGFja2FnZXMKICAjCiAgIyBBbiBpbWFnZSBhc3NldCBjYW4gcmVmZXIgdG8gb25lIG9yIG1vcmUgcmVzb2x1dGlvbi1zcGVjaWZpYyAidmFyaWFudHMiLCBzZWUKICAjIGh0dHBzOi8vZmx1dHRlci5kZXYvYXNzZXRzLWFuZC1pbWFnZXMvI3Jlc29sdXRpb24tYXdhcmUKCiAgIyBUbyBhZGQgY3VzdG9tIGZvbnRzIHRvIHlvdXIgcGFja2FnZSwgYWRkIGEgZm9udHMgc2VjdGlvbiBoZXJlLAogICMgaW4gdGhpcyAiZmx1dHRlciIgc2VjdGlvbi4gRWFjaCBlbnRyeSBpbiB0aGlzIGxpc3Qgc2hvdWxkIGhhdmUgYQogICMgImZhbWlseSIga2V5IHdpdGggdGhlIGZvbnQgZmFtaWx5IG5hbWUsIGFuZCBhICJmb250cyIga2V5IHdpdGggYQogICMgbGlzdCBnaXZpbmcgdGhlIGFzc2V0IGFuZCBvdGhlciBkZXNjcmlwdG9ycyBmb3IgdGhlIGZvbnQuIEZvcgogICMgZXhhbXBsZToKICAjIGZvbnRzOgogICMgICAtIGZhbWlseTogU2NoeWxlcgogICMgICAgIGZvbnRzOgogICMgICAgICAgLSBhc3NldDogZm9udHMvU2NoeWxlci1SZWd1bGFyLnR0ZgogICMgICAgICAgLSBhc3NldDogZm9udHMvU2NoeWxlci1JdGFsaWMudHRmCiAgIyAgICAgICAgIHN0eWxlOiBpdGFsaWMKICAjICAgLSBmYW1pbHk6IFRyYWphbiBQcm8KICAjICAgICBmb250czoKICAjICAgICAgIC0gYXNzZXQ6IGZvbnRzL1RyYWphblByby50dGYKICAjICAgICAgIC0gYXNzZXQ6IGZvbnRzL1RyYWphblByb19Cb2xkLnR0ZgogICMgICAgICAgICB3ZWlnaHQ6IDcwMAogICMKICAjIEZvciBkZXRhaWxzIHJlZ2FyZGluZyBmb250cyBpbiBwYWNrYWdlcywgc2VlCiAgIyBodHRwczovL2ZsdXR0ZXIuZGV2L2N1c3RvbS1mb250cy8jZnJvbS1wYWNrYWdlcwo=", "type": "text" }, { @@ -75,12 +70,7 @@ final platformWidgetFeaturePackageBundle = "IyBtZWxvc19tYW5hZ2VkX2RlcGVuZGVuY3lfb3ZlcnJpZGVzOiB7e3Byb2plY3RfbmFtZX19X3t7cGxhdGZvcm19fV9hcHAse3twcm9qZWN0X25hbWV9fV97e3BsYXRmb3JtfX1fbG9jYWxpemF0aW9uLHt7cHJvamVjdF9uYW1lfX1fe3twbGF0Zm9ybX19X25hdmlnYXRpb24se3twcm9qZWN0X25hbWV9fV9kaSx7e3Byb2plY3RfbmFtZX19X2RvbWFpbix7e3Byb2plY3RfbmFtZX19X3VpLHt7cHJvamVjdF9uYW1lfX1fdWlfe3twbGF0Zm9ybX19CmRlcGVuZGVuY3lfb3ZlcnJpZGVzOgogIHt7cHJvamVjdF9uYW1lfX1fe3twbGF0Zm9ybX19X2FwcDoKICAgIHBhdGg6IC4uL3t7cHJvamVjdF9uYW1lfX1fe3twbGF0Zm9ybX19X2FwcAogIHt7cHJvamVjdF9uYW1lfX1fe3twbGF0Zm9ybX19X2xvY2FsaXphdGlvbjoKICAgIHBhdGg6IC4uLy4uL3t7cHJvamVjdF9uYW1lfX1fe3twbGF0Zm9ybX19X2xvY2FsaXphdGlvbgogIHt7cHJvamVjdF9uYW1lfX1fe3twbGF0Zm9ybX19X25hdmlnYXRpb246CiAgICBwYXRoOiAuLi8uLi97e3Byb2plY3RfbmFtZX19X3t7cGxhdGZvcm19fV9uYXZpZ2F0aW9uCiAge3twcm9qZWN0X25hbWV9fV9kaToKICAgIHBhdGg6IC4uLy4uLy4uL3t7cHJvamVjdF9uYW1lfX1fZGkKICB7e3Byb2plY3RfbmFtZX19X2RvbWFpbjoKICAgIHBhdGg6IC4uLy4uLy4uL3t7cHJvamVjdF9uYW1lfX1fZG9tYWluL3t7cHJvamVjdF9uYW1lfX1fZG9tYWluCiAge3twcm9qZWN0X25hbWV9fV91aToKICAgIHBhdGg6IC4uLy4uLy4uLy4uL3t7cHJvamVjdF9uYW1lfX1fdWkve3twcm9qZWN0X25hbWV9fV91aQogIHt7cHJvamVjdF9uYW1lfX1fdWlfe3twbGF0Zm9ybX19OgogICAgcGF0aDogLi4vLi4vLi4vLi4ve3twcm9qZWN0X25hbWV9fV91aS97e3Byb2plY3RfbmFtZX19X3VpX3t7cGxhdGZvcm19fQo=", "type": "text" }, - { - "path": "README.md", - "data": - "PCEtLQpUaGlzIFJFQURNRSBkZXNjcmliZXMgdGhlIHBhY2thZ2UuIElmIHlvdSBwdWJsaXNoIHRoaXMgcGFja2FnZSB0byBwdWIuZGV2LAp0aGlzIFJFQURNRSdzIGNvbnRlbnRzIGFwcGVhciBvbiB0aGUgbGFuZGluZyBwYWdlIGZvciB5b3VyIHBhY2thZ2UuCgpGb3IgaW5mb3JtYXRpb24gYWJvdXQgaG93IHRvIHdyaXRlIGEgZ29vZCBwYWNrYWdlIFJFQURNRSwgc2VlIHRoZSBndWlkZSBmb3IKW3dyaXRpbmcgcGFja2FnZSBwYWdlc10oaHR0cHM6Ly9kYXJ0LmRldi9ndWlkZXMvbGlicmFyaWVzL3dyaXRpbmctcGFja2FnZS1wYWdlcykuCgpGb3IgZ2VuZXJhbCBpbmZvcm1hdGlvbiBhYm91dCBkZXZlbG9waW5nIHBhY2thZ2VzLCBzZWUgdGhlIERhcnQgZ3VpZGUgZm9yCltjcmVhdGluZyBwYWNrYWdlc10oaHR0cHM6Ly9kYXJ0LmRldi9ndWlkZXMvbGlicmFyaWVzL2NyZWF0ZS1saWJyYXJ5LXBhY2thZ2VzKQphbmQgdGhlIEZsdXR0ZXIgZ3VpZGUgZm9yCltkZXZlbG9waW5nIHBhY2thZ2VzIGFuZCBwbHVnaW5zXShodHRwczovL2ZsdXR0ZXIuZGV2L2RldmVsb3BpbmctcGFja2FnZXMpLgotLT4KClRPRE86IFB1dCBhIHNob3J0IGRlc2NyaXB0aW9uIG9mIHRoZSBwYWNrYWdlIGhlcmUgdGhhdCBoZWxwcyBwb3RlbnRpYWwgdXNlcnMKa25vdyB3aGV0aGVyIHRoaXMgcGFja2FnZSBtaWdodCBiZSB1c2VmdWwgZm9yIHRoZW0uCgojIyBGZWF0dXJlcwoKVE9ETzogTGlzdCB3aGF0IHlvdXIgcGFja2FnZSBjYW4gZG8uIE1heWJlIGluY2x1ZGUgaW1hZ2VzLCBnaWZzLCBvciB2aWRlb3MuCgojIyBHZXR0aW5nIHN0YXJ0ZWQKClRPRE86IExpc3QgcHJlcmVxdWlzaXRlcyBhbmQgcHJvdmlkZSBvciBwb2ludCB0byBpbmZvcm1hdGlvbiBvbiBob3cgdG8Kc3RhcnQgdXNpbmcgdGhlIHBhY2thZ2UuCgojIyBVc2FnZQoKVE9ETzogSW5jbHVkZSBzaG9ydCBhbmQgdXNlZnVsIGV4YW1wbGVzIGZvciBwYWNrYWdlIHVzZXJzLiBBZGQgbG9uZ2VyIGV4YW1wbGVzCnRvIGAvZXhhbXBsZWAgZm9sZGVyLgoKYGBgZGFydApjb25zdCBsaWtlID0gJ3NhbXBsZSc7CmBgYAoKIyMgQWRkaXRpb25hbCBpbmZvcm1hdGlvbgoKVE9ETzogVGVsbCB1c2VycyBtb3JlIGFib3V0IHRoZSBwYWNrYWdlOiB3aGVyZSB0byBmaW5kIG1vcmUgaW5mb3JtYXRpb24sIGhvdyB0bwpjb250cmlidXRlIHRvIHRoZSBwYWNrYWdlLCBob3cgdG8gZmlsZSBpc3N1ZXMsIHdoYXQgcmVzcG9uc2UgdGhleSBjYW4gZXhwZWN0CmZyb20gdGhlIHBhY2thZ2UgYXV0aG9ycywgYW5kIG1vcmUuCg==", - "type": "text" - }, + {"path": "README.md", "data": "", "type": "text"}, { "path": "test/ensure_build_test.dart", "data": diff --git a/packages/rapid_cli/lib/src/project/bundles/root_package_bundle.dart b/packages/rapid_cli/lib/src/project/bundles/root_package_bundle.dart index c0a6ecd3e..24d74cddb 100644 --- a/packages/rapid_cli/lib/src/project/bundles/root_package_bundle.dart +++ b/packages/rapid_cli/lib/src/project/bundles/root_package_bundle.dart @@ -8,7 +8,7 @@ final rootPackageBundle = MasonBundle.fromJson({ { "path": ".gitignore", "data": - "IyBNaXNjZWxsYW5lb3VzCiouY2xhc3MKKi5sb2cKKi5weWMKKi5zd3AKLkRTX1N0b3JlCi5hdG9tLwouYnVpbGRsb2cvCi5oaXN0b3J5Ci5zdm4vCm1pZ3JhdGVfd29ya2luZ19kaXIvCgojIEludGVsbGlKIHJlbGF0ZWQKKi5pbWwKKi5pcHIKKi5pd3MKLmlkZWEvCgojIFRoZSAudnNjb2RlIGZvbGRlciBjb250YWlucyBsYXVuY2ggY29uZmlndXJhdGlvbiBhbmQgdGFza3MgeW91IGNvbmZpZ3VyZSBpbgojIFZTIENvZGUgd2hpY2ggeW91IG1heSB3aXNoIHRvIGJlIGluY2x1ZGVkIGluIHZlcnNpb24gY29udHJvbCwgc28gdGhpcyBsaW5lCiMgaXMgY29tbWVudGVkIG91dCBieSBkZWZhdWx0LgojLnZzY29kZS8KCiMgRmx1dHRlci9EYXJ0L1B1YiByZWxhdGVkCi5kYXJ0X3Rvb2wvCgojIE5vZGUKbm9kZV9tb2R1bGVzLwpwYWNrYWdlLWxvY2suanNvbgpwYWNrYWdlLmpzb24KCiMgQ29tbWl0bGludApjb21taXRsaW50LmNvbmZpZy5qcwoKIyBSYXBpZAoucmFwaWRfdG9vbC8K", + "IyBNaXNjZWxsYW5lb3VzCiouY2xhc3MKKi5sb2cKKi5weWMKKi5zd3AKLkRTX1N0b3JlCi5hdG9tLwouYnVpbGRsb2cvCi5oaXN0b3J5Ci5zdm4vCm1pZ3JhdGVfd29ya2luZ19kaXIvCgojIEludGVsbGlKIHJlbGF0ZWQKKi5pbWwKKi5pcHIKKi5pd3MKLmlkZWEvCgojIEZsdXR0ZXIvRGFydC9QdWIgcmVsYXRlZAouZGFydF90b29sLwoKIyBSYXBpZAoucmFwaWRfdG9vbC8K", "type": "text" }, { @@ -29,7 +29,7 @@ final rootPackageBundle = MasonBundle.fromJson({ "bmFtZToge3twcm9qZWN0X25hbWV9fQoKZW52aXJvbm1lbnQ6CiAgc2RrOiAiPj0zLjEuMCA8NC4wLjAiCgpkZXZfZGVwZW5kZW5jaWVzOgogIG1lbG9zOiBeMy4xLjEKICByYXBpZF9jbGk6CiAgICBnaXQ6CiAgICAgIHVybDogaHR0cHM6Ly9naXRodWIuY29tL2p0ZExhYi9yYXBpZC5naXQKICAgICAgcGF0aDogcGFja2FnZXMvcmFwaWRfY2xpCgpyYXBpZDoKICBuYW1lOiB7e3Byb2plY3RfbmFtZX19Cg==", "type": "text" }, - {"path": "README.md", "data": "VE9ETwo=", "type": "text"} + {"path": "README.md", "data": "", "type": "text"} ], "hooks": [], "name": "root_package", diff --git a/packages/rapid_cli/lib/src/project/bundles/ui_package_bundle.dart b/packages/rapid_cli/lib/src/project/bundles/ui_package_bundle.dart index 71df99155..1b096b900 100644 --- a/packages/rapid_cli/lib/src/project/bundles/ui_package_bundle.dart +++ b/packages/rapid_cli/lib/src/project/bundles/ui_package_bundle.dart @@ -8,18 +8,17 @@ final uiPackageBundle = MasonBundle.fromJson({ { "path": ".gitignore", "data": - "IyBNaXNjZWxsYW5lb3VzCiouY2xhc3MKKi5sb2cKKi5weWMKKi5zd3AKLkRTX1N0b3JlCi5hdG9tLwouYnVpbGRsb2cvCi5oaXN0b3J5Ci5zdm4vCm1pZ3JhdGVfd29ya2luZ19kaXIvCgojIEludGVsbGlKIHJlbGF0ZWQKKi5pbWwKKi5pcHIKKi5pd3MKLmlkZWEvCgojIFRoZSAudnNjb2RlIGZvbGRlciBjb250YWlucyBsYXVuY2ggY29uZmlndXJhdGlvbiBhbmQgdGFza3MgeW91IGNvbmZpZ3VyZSBpbgojIFZTIENvZGUgd2hpY2ggeW91IG1heSB3aXNoIHRvIGJlIGluY2x1ZGVkIGluIHZlcnNpb24gY29udHJvbCwgc28gdGhpcyBsaW5lCiMgaXMgY29tbWVudGVkIG91dCBieSBkZWZhdWx0LgojLnZzY29kZS8KCiMgRmx1dHRlci9EYXJ0L1B1YiByZWxhdGVkCioqL2RvYy9hcGkvCioqL2lvcy9GbHV0dGVyLy5sYXN0X2J1aWxkX2lkCi5kYXJ0X3Rvb2wvCi5mbHV0dGVyLXBsdWdpbnMKLmZsdXR0ZXItcGx1Z2lucy1kZXBlbmRlbmNpZXMKLnBhY2thZ2VzCi5wdWItY2FjaGUvCi5wdWIvCi9idWlsZC8KL2NvdmVyYWdlCg==", + "IyBNaXNjZWxsYW5lb3VzCiouY2xhc3MKKi5sb2cKKi5weWMKKi5zd3AKLkRTX1N0b3JlCi5hdG9tLwouYnVpbGRsb2cvCi5oaXN0b3J5Ci5zdm4vCm1pZ3JhdGVfd29ya2luZ19kaXIvCgojIEludGVsbGlKIHJlbGF0ZWQKKi5pbWwKKi5pcHIKKi5pd3MKLmlkZWEvCgojIEZsdXR0ZXIvRGFydC9QdWIgcmVsYXRlZAoqKi9kb2MvYXBpLwoqKi9pb3MvRmx1dHRlci8ubGFzdF9idWlsZF9pZAouZGFydF90b29sLwouZmx1dHRlci1wbHVnaW5zCi5mbHV0dGVyLXBsdWdpbnMtZGVwZW5kZW5jaWVzCi5wYWNrYWdlcwoucHViLWNhY2hlLwoucHViLwovYnVpbGQvCi9jb3ZlcmFnZQo=", "type": "text" }, { "path": "analysis_options.yaml", - "data": - "aW5jbHVkZTogLi4vLi4vLi4vYW5hbHlzaXNfb3B0aW9ucy55YW1sCiMgVW5jb21tZW50IHRoZSBmb2xsb3dpbmcgc2VjdGlvbiB0byBzcGVjaWZ5IGFkZGl0aW9uYWwgcnVsZXMuCgojIGxpbnRlcjoKIyAgIHJ1bGVzOgojICAgICAtIGNhbWVsX2Nhc2VfdHlwZXMK", + "data": "aW5jbHVkZTogLi4vLi4vLi4vYW5hbHlzaXNfb3B0aW9ucy55YW1sCg==", "type": "text" }, { "path": "CHANGELOG.md", - "data": "IyMgMC4wLjEKCiogVE9ETzogRGVzY3JpYmUgaW5pdGlhbCByZWxlYXNlLgo=", + "data": "IyMgMC4xLjAKCiogVE9ETzogRGVzY3JpYmUgaW5pdGlhbCByZWxlYXNlLgo=", "type": "text" }, { @@ -52,23 +51,13 @@ final uiPackageBundle = MasonBundle.fromJson({ "Ly8vIFdpZGdldHMgYW5kIHRoZW1lcyBpbXBsZW1lbnRpbmcgcGxhdGZvcm0gaW5kZXBlbmRlbnQKLy8vIHt7cHJvamVjdF9uYW1lLnRpdGxlQ2FzZSgpfX0gZGVzaWduIGxhbmd1YWdlLgovLy8KLy8vIFRvIHVzZSwgaW1wb3J0IGBwYWNrYWdlOnt7cHJvamVjdF9uYW1lfX1fdWkve3twcm9qZWN0X25hbWV9fV91aS5kYXJ0YC4KbGlicmFyeSB7e3Byb2plY3RfbmFtZX19X3VpOwoKZXhwb3J0ICdzcmMvY29sb3JfdGhlbWUuZGFydCc7CmV4cG9ydCAnc3JjL3RoZW1lX2V4dGVuc2lvbnMuZGFydCc7Cg==", "type": "text" }, - { - "path": "LICENSE", - "data": "VE9ETzogQWRkIHlvdXIgbGljZW5zZSBoZXJlLgo=", - "type": "text" - }, { "path": "pubspec.yaml", "data": - "bmFtZToge3twcm9qZWN0X25hbWV9fV91aQpkZXNjcmlwdGlvbjogV2lkZ2V0cyBhbmQgdGhlbWVzIGltcGxlbWVudGluZyBwbGF0Zm9ybSBpbmRlcGVuZGVudCB7e3Byb2plY3RfbmFtZS50aXRsZUNhc2UoKX19IGRlc2lnbiBsYW5ndWFnZS4KdmVyc2lvbjogMC4wLjEKcHVibGlzaF90bzogbm9uZQoKZW52aXJvbm1lbnQ6CiAgc2RrOiAiPj0zLjEuMCA8NC4wLjAiCiAgZmx1dHRlcjogIj49My4xMy4wIgoKZGVwZW5kZW5jaWVzOgogIGZsdXR0ZXI6CiAgICBzZGs6IGZsdXR0ZXIKICB0aGVtZV90YWlsb3JfYW5ub3RhdGlvbjogXjIuMC4wCgpkZXZfZGVwZW5kZW5jaWVzOgogIGZsdXR0ZXJfdGVzdDoKICAgIHNkazogZmx1dHRlcgogIGFsY2hlbWlzdDogXjAuNi4xCiAgYnVpbGRfcnVubmVyOiBeMi40LjYKICB0aGVtZV90YWlsb3I6IF4yLjAuMAogIGZsdXR0ZXJfZ2VuX3J1bm5lcjogXjUuMy4xCiAgYnVpbGRfdmVyaWZ5OiBeMy4xLjAKCiMgVGhlIGZvbGxvd2luZyBzZWN0aW9uIGlzIHNwZWNpZmljIHRvIHRoZSBGbHV0dGVyR2VuIHBhY2thZ2UuCiMgU2VlOiBodHRwczovL3B1Yi5kZXYvcGFja2FnZXMvZmx1dHRlcl9nZW4jY29uZmlndXJhdGlvbi1maWxlCmZsdXR0ZXJfZ2VuOgogIG91dHB1dDogbGliL3NyYy8KICAjIFRvIGFkZCBzdXBwb3J0IGZvciBzdmcgdmlhIGZsdXR0ZXJfc3ZnIHBhY2thZ2UKICAjIGludGVncmF0aW9uczoKICAjICAgZmx1dHRlcl9zdmc6IHRydWUKCiAgYXNzZXRzOgogICAgb3V0cHV0czoKICAgICAgcGFja2FnZV9wYXJhbWV0ZXJfZW5hYmxlZDogdHJ1ZQoKIyBUaGUgZm9sbG93aW5nIHNlY3Rpb24gaXMgc3BlY2lmaWMgdG8gRmx1dHRlciBwYWNrYWdlcy4KZmx1dHRlcjoKCiAgIyBUbyBhZGQgYXNzZXRzIHRvIHlvdXIgcGFja2FnZSwgYWRkIGFuIGFzc2V0cyBzZWN0aW9uLCBsaWtlIHRoaXM6CiAgIyBhc3NldHM6CiAgIyAgIC0gaW1hZ2VzL2FfZG90X2J1cnIuanBlZwogICMgICAtIGltYWdlcy9hX2RvdF9oYW0uanBlZwogICMKICAjIEZvciBkZXRhaWxzIHJlZ2FyZGluZyBhc3NldHMgaW4gcGFja2FnZXMsIHNlZQogICMgaHR0cHM6Ly9mbHV0dGVyLmRldi9hc3NldHMtYW5kLWltYWdlcy8jZnJvbS1wYWNrYWdlcwogICMKICAjIEFuIGltYWdlIGFzc2V0IGNhbiByZWZlciB0byBvbmUgb3IgbW9yZSByZXNvbHV0aW9uLXNwZWNpZmljICJ2YXJpYW50cyIsIHNlZQogICMgaHR0cHM6Ly9mbHV0dGVyLmRldi9hc3NldHMtYW5kLWltYWdlcy8jcmVzb2x1dGlvbi1hd2FyZQoKICAjIFRvIGFkZCBjdXN0b20gZm9udHMgdG8geW91ciBwYWNrYWdlLCBhZGQgYSBmb250cyBzZWN0aW9uIGhlcmUsCiAgIyBpbiB0aGlzICJmbHV0dGVyIiBzZWN0aW9uLiBFYWNoIGVudHJ5IGluIHRoaXMgbGlzdCBzaG91bGQgaGF2ZSBhCiAgIyAiZmFtaWx5IiBrZXkgd2l0aCB0aGUgZm9udCBmYW1pbHkgbmFtZSwgYW5kIGEgImZvbnRzIiBrZXkgd2l0aCBhCiAgIyBsaXN0IGdpdmluZyB0aGUgYXNzZXQgYW5kIG90aGVyIGRlc2NyaXB0b3JzIGZvciB0aGUgZm9udC4gRm9yCiAgIyBleGFtcGxlOgogICMgZm9udHM6CiAgIyAgIC0gZmFtaWx5OiBTY2h5bGVyCiAgIyAgICAgZm9udHM6CiAgIyAgICAgICAtIGFzc2V0OiBmb250cy9TY2h5bGVyLVJlZ3VsYXIudHRmCiAgIyAgICAgICAtIGFzc2V0OiBmb250cy9TY2h5bGVyLUl0YWxpYy50dGYKICAjICAgICAgICAgc3R5bGU6IGl0YWxpYwogICMgICAtIGZhbWlseTogVHJhamFuIFBybwogICMgICAgIGZvbnRzOgogICMgICAgICAgLSBhc3NldDogZm9udHMvVHJhamFuUHJvLnR0ZgogICMgICAgICAgLSBhc3NldDogZm9udHMvVHJhamFuUHJvX0JvbGQudHRmCiAgIyAgICAgICAgIHdlaWdodDogNzAwCiAgIwogICMgRm9yIGRldGFpbHMgcmVnYXJkaW5nIGZvbnRzIGluIHBhY2thZ2VzLCBzZWUKICAjIGh0dHBzOi8vZmx1dHRlci5kZXYvY3VzdG9tLWZvbnRzLyNmcm9tLXBhY2thZ2VzCg==", - "type": "text" - }, - { - "path": "README.md", - "data": - "PCEtLQpUaGlzIFJFQURNRSBkZXNjcmliZXMgdGhlIHBhY2thZ2UuIElmIHlvdSBwdWJsaXNoIHRoaXMgcGFja2FnZSB0byBwdWIuZGV2LAp0aGlzIFJFQURNRSdzIGNvbnRlbnRzIGFwcGVhciBvbiB0aGUgbGFuZGluZyBwYWdlIGZvciB5b3VyIHBhY2thZ2UuCgpGb3IgaW5mb3JtYXRpb24gYWJvdXQgaG93IHRvIHdyaXRlIGEgZ29vZCBwYWNrYWdlIFJFQURNRSwgc2VlIHRoZSBndWlkZSBmb3IKW3dyaXRpbmcgcGFja2FnZSBwYWdlc10oaHR0cHM6Ly9kYXJ0LmRldi9ndWlkZXMvbGlicmFyaWVzL3dyaXRpbmctcGFja2FnZS1wYWdlcykuCgpGb3IgZ2VuZXJhbCBpbmZvcm1hdGlvbiBhYm91dCBkZXZlbG9waW5nIHBhY2thZ2VzLCBzZWUgdGhlIERhcnQgZ3VpZGUgZm9yCltjcmVhdGluZyBwYWNrYWdlc10oaHR0cHM6Ly9kYXJ0LmRldi9ndWlkZXMvbGlicmFyaWVzL2NyZWF0ZS1saWJyYXJ5LXBhY2thZ2VzKQphbmQgdGhlIEZsdXR0ZXIgZ3VpZGUgZm9yCltkZXZlbG9waW5nIHBhY2thZ2VzIGFuZCBwbHVnaW5zXShodHRwczovL2ZsdXR0ZXIuZGV2L2RldmVsb3BpbmctcGFja2FnZXMpLgotLT4KClRPRE86IFB1dCBhIHNob3J0IGRlc2NyaXB0aW9uIG9mIHRoZSBwYWNrYWdlIGhlcmUgdGhhdCBoZWxwcyBwb3RlbnRpYWwgdXNlcnMKa25vdyB3aGV0aGVyIHRoaXMgcGFja2FnZSBtaWdodCBiZSB1c2VmdWwgZm9yIHRoZW0uCgojIyBGZWF0dXJlcwoKVE9ETzogTGlzdCB3aGF0IHlvdXIgcGFja2FnZSBjYW4gZG8uIE1heWJlIGluY2x1ZGUgaW1hZ2VzLCBnaWZzLCBvciB2aWRlb3MuCgojIyBHZXR0aW5nIHN0YXJ0ZWQKClRPRE86IExpc3QgcHJlcmVxdWlzaXRlcyBhbmQgcHJvdmlkZSBvciBwb2ludCB0byBpbmZvcm1hdGlvbiBvbiBob3cgdG8Kc3RhcnQgdXNpbmcgdGhlIHBhY2thZ2UuCgojIyBVc2FnZQoKVE9ETzogSW5jbHVkZSBzaG9ydCBhbmQgdXNlZnVsIGV4YW1wbGVzIGZvciBwYWNrYWdlIHVzZXJzLiBBZGQgbG9uZ2VyIGV4YW1wbGVzCnRvIGAvZXhhbXBsZWAgZm9sZGVyLgoKYGBgZGFydApjb25zdCBsaWtlID0gJ3NhbXBsZSc7CmBgYAoKIyMgQWRkaXRpb25hbCBpbmZvcm1hdGlvbgoKVE9ETzogVGVsbCB1c2VycyBtb3JlIGFib3V0IHRoZSBwYWNrYWdlOiB3aGVyZSB0byBmaW5kIG1vcmUgaW5mb3JtYXRpb24sIGhvdyB0bwpjb250cmlidXRlIHRvIHRoZSBwYWNrYWdlLCBob3cgdG8gZmlsZSBpc3N1ZXMsIHdoYXQgcmVzcG9uc2UgdGhleSBjYW4gZXhwZWN0CmZyb20gdGhlIHBhY2thZ2UgYXV0aG9ycywgYW5kIG1vcmUuCg==", + "bmFtZToge3twcm9qZWN0X25hbWV9fV91aQpkZXNjcmlwdGlvbjogV2lkZ2V0cyBhbmQgdGhlbWVzIGltcGxlbWVudGluZyBwbGF0Zm9ybSBpbmRlcGVuZGVudAogIHt7cHJvamVjdF9uYW1lLnRpdGxlQ2FzZSgpfX0gZGVzaWduIGxhbmd1YWdlLgp2ZXJzaW9uOiAwLjEuMApwdWJsaXNoX3RvOiBub25lCgplbnZpcm9ubWVudDoKICBzZGs6ICI+PTMuMS4wIDw0LjAuMCIKICBmbHV0dGVyOiAiPj0zLjEzLjAiCgpkZXBlbmRlbmNpZXM6CiAgZmx1dHRlcjoKICAgIHNkazogZmx1dHRlcgogIHRoZW1lX3RhaWxvcl9hbm5vdGF0aW9uOiBeMi4wLjAKCmRldl9kZXBlbmRlbmNpZXM6CiAgYWxjaGVtaXN0OiBeMC42LjEKICBidWlsZF9ydW5uZXI6IF4yLjQuNgogIGJ1aWxkX3ZlcmlmeTogXjMuMS4wCiAgZmx1dHRlcl9nZW5fcnVubmVyOiBeNS4zLjEKICBmbHV0dGVyX3Rlc3Q6CiAgICBzZGs6IGZsdXR0ZXIKICB0aGVtZV90YWlsb3I6IF4yLjAuMAoKIyBUaGUgZm9sbG93aW5nIHNlY3Rpb24gaXMgc3BlY2lmaWMgdG8gdGhlIEZsdXR0ZXJHZW4gcGFja2FnZS4KIyBTZWU6IGh0dHBzOi8vcHViLmRldi9wYWNrYWdlcy9mbHV0dGVyX2dlbiNjb25maWd1cmF0aW9uLWZpbGUKZmx1dHRlcl9nZW46CiAgb3V0cHV0OiBsaWIvc3JjLwogICMgVG8gYWRkIHN1cHBvcnQgZm9yIHN2ZyB2aWEgZmx1dHRlcl9zdmcgcGFja2FnZQogICMgaW50ZWdyYXRpb25zOgogICMgICBmbHV0dGVyX3N2ZzogdHJ1ZQogIGFzc2V0czoKICAgIG91dHB1dHM6CiAgICAgIHBhY2thZ2VfcGFyYW1ldGVyX2VuYWJsZWQ6IHRydWUKCiMgVGhlIGZvbGxvd2luZyBzZWN0aW9uIGlzIHNwZWNpZmljIHRvIEZsdXR0ZXIgcGFja2FnZXMuCmZsdXR0ZXI6CiAgIyBUbyBhZGQgYXNzZXRzIHRvIHlvdXIgcGFja2FnZSwgYWRkIGFuIGFzc2V0cyBzZWN0aW9uLCBsaWtlIHRoaXM6CiAgIyBhc3NldHM6CiAgIyAgIC0gaW1hZ2VzL2FfZG90X2J1cnIuanBlZwogICMgICAtIGltYWdlcy9hX2RvdF9oYW0uanBlZwogICMKICAjIEZvciBkZXRhaWxzIHJlZ2FyZGluZyBhc3NldHMgaW4gcGFja2FnZXMsIHNlZQogICMgaHR0cHM6Ly9mbHV0dGVyLmRldi9hc3NldHMtYW5kLWltYWdlcy8jZnJvbS1wYWNrYWdlcwogICMKICAjIEFuIGltYWdlIGFzc2V0IGNhbiByZWZlciB0byBvbmUgb3IgbW9yZSByZXNvbHV0aW9uLXNwZWNpZmljICJ2YXJpYW50cyIsIHNlZQogICMgaHR0cHM6Ly9mbHV0dGVyLmRldi9hc3NldHMtYW5kLWltYWdlcy8jcmVzb2x1dGlvbi1hd2FyZQoKICAjIFRvIGFkZCBjdXN0b20gZm9udHMgdG8geW91ciBwYWNrYWdlLCBhZGQgYSBmb250cyBzZWN0aW9uIGhlcmUsCiAgIyBpbiB0aGlzICJmbHV0dGVyIiBzZWN0aW9uLiBFYWNoIGVudHJ5IGluIHRoaXMgbGlzdCBzaG91bGQgaGF2ZSBhCiAgIyAiZmFtaWx5IiBrZXkgd2l0aCB0aGUgZm9udCBmYW1pbHkgbmFtZSwgYW5kIGEgImZvbnRzIiBrZXkgd2l0aCBhCiAgIyBsaXN0IGdpdmluZyB0aGUgYXNzZXQgYW5kIG90aGVyIGRlc2NyaXB0b3JzIGZvciB0aGUgZm9udC4gRm9yCiAgIyBleGFtcGxlOgogICMgZm9udHM6CiAgIyAgIC0gZmFtaWx5OiBTY2h5bGVyCiAgIyAgICAgZm9udHM6CiAgIyAgICAgICAtIGFzc2V0OiBmb250cy9TY2h5bGVyLVJlZ3VsYXIudHRmCiAgIyAgICAgICAtIGFzc2V0OiBmb250cy9TY2h5bGVyLUl0YWxpYy50dGYKICAjICAgICAgICAgc3R5bGU6IGl0YWxpYwogICMgICAtIGZhbWlseTogVHJhamFuIFBybwogICMgICAgIGZvbnRzOgogICMgICAgICAgLSBhc3NldDogZm9udHMvVHJhamFuUHJvLnR0ZgogICMgICAgICAgLSBhc3NldDogZm9udHMvVHJhamFuUHJvX0JvbGQudHRmCiAgIyAgICAgICAgIHdlaWdodDogNzAwCiAgIwogICMgRm9yIGRldGFpbHMgcmVnYXJkaW5nIGZvbnRzIGluIHBhY2thZ2VzLCBzZWUKICAjIGh0dHBzOi8vZmx1dHRlci5kZXYvY3VzdG9tLWZvbnRzLyNmcm9tLXBhY2thZ2VzCg==", "type": "text" }, + {"path": "README.md", "data": "", "type": "text"}, { "path": "test/ensure_build_test.dart", "data": @@ -105,7 +94,7 @@ final uiPackageBundle = MasonBundle.fromJson({ "environment": {"mason": ">=0.1.0-dev <0.1.0"}, "readme": { "path": "README.md", - "data": "IyB1aV9wYWNrYWdlCgpUT0RPCg==", + "data": "IyB1aV9wYWNrYWdlCg==", "type": "text" }, "changelog": { diff --git a/packages/rapid_cli/test/e2e/common.dart b/packages/rapid_cli/test/e2e/common.dart index 18c089686..d7e0089aa 100644 --- a/packages/rapid_cli/test/e2e/common.dart +++ b/packages/rapid_cli/test/e2e/common.dart @@ -811,6 +811,7 @@ Future _runFlutterOrDartTest({ double? totalCoverage; if (coverage) { + // TODO(jtdLab): can remove remove_from_coverage?. await Process.run( 'remove_from_coverage', [